summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/auto.tcl535
-rw-r--r--library/clock.tcl1204
-rw-r--r--library/cookiejar/cookiejar.tcl746
-rw-r--r--library/cookiejar/idna.tcl292
-rw-r--r--library/cookiejar/pkgIndex.tcl3
-rw-r--r--library/cookiejar/public_suffix_list.dat.gzbin70835 -> 0 bytes
-rw-r--r--library/dde/pkgIndex.tcl13
-rw-r--r--library/encoding/ascii.enc2
-rw-r--r--library/encoding/big5.enc4
-rw-r--r--library/encoding/cns11643.enc1584
-rw-r--r--library/encoding/cp1250.enc4
-rw-r--r--library/encoding/cp1251.enc2
-rw-r--r--library/encoding/cp1252.enc4
-rw-r--r--library/encoding/cp1253.enc4
-rw-r--r--library/encoding/cp1254.enc4
-rw-r--r--library/encoding/cp1255.enc4
-rw-r--r--library/encoding/cp1257.enc4
-rw-r--r--library/encoding/cp1258.enc4
-rw-r--r--library/encoding/cp864.enc2
-rw-r--r--library/encoding/cp869.enc4
-rw-r--r--library/encoding/cp874.enc4
-rw-r--r--library/encoding/cp932.enc2
-rw-r--r--library/encoding/cp949.enc2
-rw-r--r--library/encoding/cp950.enc4
-rw-r--r--library/encoding/dingbats.enc4
-rw-r--r--library/encoding/ebcdic.enc1
-rw-r--r--library/encoding/euc-cn.enc4
-rw-r--r--library/encoding/euc-jp.enc4
-rw-r--r--library/encoding/euc-kr.enc4
-rw-r--r--library/encoding/gb1988.enc4
-rw-r--r--library/encoding/iso8859-11.enc20
-rw-r--r--library/encoding/iso8859-7.enc2
-rw-r--r--library/encoding/jis0201.enc4
-rw-r--r--library/encoding/koi8-u.enc2
-rw-r--r--library/encoding/macDingbats.enc4
-rw-r--r--library/encoding/macJapan.enc2
-rw-r--r--library/encoding/shiftjis.enc2
-rw-r--r--library/encoding/symbol.enc4
-rw-r--r--library/encoding/tis-620.enc4
-rw-r--r--library/foreachline.tcl25
-rw-r--r--library/history.tcl328
-rw-r--r--library/http/http.tcl4963
-rw-r--r--library/http/pkgIndex.tcl6
-rw-r--r--library/http1.0/http.tcl377
-rw-r--r--library/http1.0/pkgIndex.tcl11
-rw-r--r--library/init.tcl313
-rw-r--r--library/install.tcl247
-rw-r--r--library/manifest.txt19
-rw-r--r--library/msgcat/msgcat.tcl939
-rw-r--r--library/msgcat/pkgIndex.tcl4
-rw-r--r--library/msgs/ar.msg84
-rw-r--r--library/msgs/ar_jo.msg62
-rw-r--r--library/msgs/ar_lb.msg62
-rw-r--r--library/msgs/ar_sy.msg62
-rw-r--r--library/msgs/be.msg80
-rw-r--r--library/msgs/bg.msg56
-rw-r--r--library/msgs/bn.msg80
-rw-r--r--library/msgs/ca.msg4
-rw-r--r--library/msgs/cs.msg34
-rw-r--r--library/msgs/da.msg8
-rw-r--r--library/msgs/de.msg2
-rw-r--r--library/msgs/de_at.msg8
-rw-r--r--library/msgs/de_be.msg4
-rw-r--r--library/msgs/el.msg80
-rw-r--r--library/msgs/eo.msg10
-rw-r--r--library/msgs/es.msg8
-rw-r--r--library/msgs/et.msg16
-rw-r--r--library/msgs/fa.msg76
-rw-r--r--library/msgs/fa_in.msg80
-rw-r--r--library/msgs/fa_ir.msg8
-rw-r--r--library/msgs/fi.msg8
-rw-r--r--library/msgs/fo.msg18
-rw-r--r--library/msgs/fr.msg12
-rw-r--r--library/msgs/ga.msg50
-rw-r--r--library/msgs/gl.msg12
-rw-r--r--library/msgs/he.msg80
-rw-r--r--library/msgs/hi.msg64
-rw-r--r--library/msgs/hr.msg12
-rw-r--r--library/msgs/hu.msg34
-rw-r--r--library/msgs/is.msg44
-rw-r--r--library/msgs/it.msg10
-rw-r--r--library/msgs/ja.msg68
-rw-r--r--library/msgs/ko.msg86
-rw-r--r--library/msgs/ko_kr.msg4
-rw-r--r--library/msgs/kok.msg66
-rw-r--r--library/msgs/lt.msg20
-rw-r--r--library/msgs/lv.msg22
-rw-r--r--library/msgs/mk.msg80
-rw-r--r--library/msgs/mr.msg62
-rw-r--r--library/msgs/mt.msg8
-rw-r--r--library/msgs/nb.msg8
-rw-r--r--library/msgs/nn.msg4
-rw-r--r--library/msgs/pl.msg22
-rw-r--r--library/msgs/pt.msg8
-rw-r--r--library/msgs/ro.msg8
-rw-r--r--library/msgs/ru.msg80
-rw-r--r--library/msgs/sh.msg4
-rw-r--r--library/msgs/sk.msg26
-rw-r--r--library/msgs/sl.msg6
-rw-r--r--library/msgs/sq.msg16
-rw-r--r--library/msgs/sr.msg80
-rw-r--r--library/msgs/sv.msg12
-rw-r--r--library/msgs/ta.msg66
-rw-r--r--library/msgs/te.msg76
-rw-r--r--library/msgs/te_in.msg4
-rw-r--r--library/msgs/th.msg84
-rw-r--r--library/msgs/tr.msg24
-rw-r--r--library/msgs/uk.msg80
-rw-r--r--library/msgs/vi.msg38
-rw-r--r--library/msgs/zh.msg92
-rw-r--r--library/msgs/zh_cn.msg2
-rw-r--r--library/msgs/zh_hk.msg42
-rw-r--r--library/msgs/zh_sg.msg4
-rw-r--r--library/msgs/zh_tw.msg4
-rw-r--r--library/opt/optparse.tcl504
-rw-r--r--library/opt/pkgIndex.tcl4
-rw-r--r--library/package.tcl309
-rw-r--r--library/parray.tcl4
-rw-r--r--library/platform/pkgIndex.tcl2
-rw-r--r--library/platform/platform.tcl73
-rw-r--r--library/platform/shell.tcl8
-rw-r--r--library/readfile.tcl23
-rwxr-xr-xlibrary/reg/pkgIndex.tcl9
-rw-r--r--library/registry/pkgIndex.tcl9
-rw-r--r--library/safe.tcl969
-rw-r--r--library/tclIndex159
-rw-r--r--library/tcltest/pkgIndex.tcl4
-rw-r--r--library/tcltest/tcltest.tcl406
-rw-r--r--library/tm.tcl251
-rw-r--r--library/tzdata/Africa/Accra53
-rw-r--r--library/tzdata/Africa/Algiers2
-rw-r--r--library/tzdata/Africa/Bissau2
-rw-r--r--library/tzdata/Africa/Cairo154
-rw-r--r--library/tzdata/Africa/Casablanca422
-rw-r--r--library/tzdata/Africa/Ceuta13
-rw-r--r--library/tzdata/Africa/El_Aaiun400
-rw-r--r--library/tzdata/Africa/Juba41
-rw-r--r--library/tzdata/Africa/Khartoum1
-rw-r--r--library/tzdata/Africa/Lagos7
-rw-r--r--library/tzdata/Africa/Monrovia4
-rw-r--r--library/tzdata/Africa/Nairobi9
-rw-r--r--library/tzdata/Africa/Sao_Tome10
-rw-r--r--library/tzdata/Africa/Windhoek262
-rw-r--r--library/tzdata/America/Adak4
-rw-r--r--library/tzdata/America/Anchorage13
-rw-r--r--library/tzdata/America/Anguilla6
-rw-r--r--library/tzdata/America/Antigua6
-rw-r--r--library/tzdata/America/Araguaina110
-rw-r--r--library/tzdata/America/Argentina/Buenos_Aires122
-rw-r--r--library/tzdata/America/Argentina/Catamarca124
-rw-r--r--library/tzdata/America/Argentina/Cordoba122
-rw-r--r--library/tzdata/America/Argentina/Jujuy122
-rw-r--r--library/tzdata/America/Argentina/La_Rioja126
-rw-r--r--library/tzdata/America/Argentina/Mendoza124
-rw-r--r--library/tzdata/America/Argentina/Rio_Gallegos124
-rw-r--r--library/tzdata/America/Argentina/Salta120
-rw-r--r--library/tzdata/America/Argentina/San_Juan126
-rw-r--r--library/tzdata/America/Argentina/San_Luis124
-rw-r--r--library/tzdata/America/Argentina/Tucuman126
-rw-r--r--library/tzdata/America/Argentina/Ushuaia124
-rw-r--r--library/tzdata/America/Aruba6
-rw-r--r--library/tzdata/America/Asuncion506
-rw-r--r--library/tzdata/America/Atikokan13
-rw-r--r--library/tzdata/America/Bahia126
-rw-r--r--library/tzdata/America/Bahia_Banderas156
-rw-r--r--library/tzdata/America/Barbados11
-rw-r--r--library/tzdata/America/Belem60
-rw-r--r--library/tzdata/America/Belize95
-rw-r--r--library/tzdata/America/Blanc-Sablon13
-rw-r--r--library/tzdata/America/Boa_Vista70
-rw-r--r--library/tzdata/America/Bogota6
-rw-r--r--library/tzdata/America/Cambridge_Bay20
-rw-r--r--library/tzdata/America/Campo_Grande343
-rw-r--r--library/tzdata/America/Caracas7
-rw-r--r--library/tzdata/America/Cayenne4
-rw-r--r--library/tzdata/America/Cayman177
-rw-r--r--library/tzdata/America/Chihuahua158
-rw-r--r--library/tzdata/America/Ciudad_Juarez223
-rw-r--r--library/tzdata/America/Coral_Harbour6
-rw-r--r--library/tzdata/America/Creston9
-rw-r--r--library/tzdata/America/Cuiaba343
-rw-r--r--library/tzdata/America/Curacao8
-rw-r--r--library/tzdata/America/Danmarkshavn66
-rw-r--r--library/tzdata/America/Dawson162
-rw-r--r--library/tzdata/America/Detroit5
-rw-r--r--library/tzdata/America/Dominica6
-rw-r--r--library/tzdata/America/Edmonton4
-rw-r--r--library/tzdata/America/Eirunepe72
-rw-r--r--library/tzdata/America/Fortaleza86
-rw-r--r--library/tzdata/America/Godthab247
-rw-r--r--library/tzdata/America/Grand_Turk171
-rw-r--r--library/tzdata/America/Grenada6
-rw-r--r--library/tzdata/America/Guadeloupe6
-rw-r--r--library/tzdata/America/Guayaquil4
-rw-r--r--library/tzdata/America/Guyana10
-rw-r--r--library/tzdata/America/Hermosillo2
-rw-r--r--library/tzdata/America/Indiana/Tell_City16
-rw-r--r--library/tzdata/America/Inuvik20
-rw-r--r--library/tzdata/America/Iqaluit20
-rw-r--r--library/tzdata/America/Jamaica6
-rw-r--r--library/tzdata/America/Juneau2
-rw-r--r--library/tzdata/America/Kentucky/Louisville9
-rw-r--r--library/tzdata/America/Kralendijk6
-rw-r--r--library/tzdata/America/La_Paz4
-rw-r--r--library/tzdata/America/Lima20
-rw-r--r--library/tzdata/America/Los_Angeles36
-rw-r--r--library/tzdata/America/Lower_Princes6
-rw-r--r--library/tzdata/America/Maceio94
-rw-r--r--library/tzdata/America/Manaus68
-rw-r--r--library/tzdata/America/Marigot6
-rw-r--r--library/tzdata/America/Matamoros2
-rw-r--r--library/tzdata/America/Mazatlan156
-rw-r--r--library/tzdata/America/Merida154
-rw-r--r--library/tzdata/America/Metlakatla172
-rw-r--r--library/tzdata/America/Mexico_City156
-rw-r--r--library/tzdata/America/Miquelon458
-rw-r--r--library/tzdata/America/Monterrey154
-rw-r--r--library/tzdata/America/Montevideo180
-rw-r--r--library/tzdata/America/Montserrat6
-rw-r--r--library/tzdata/America/Nassau280
-rw-r--r--library/tzdata/America/Nipigon265
-rw-r--r--library/tzdata/America/Nome4
-rw-r--r--library/tzdata/America/Noronha86
-rw-r--r--library/tzdata/America/Nuuk246
-rw-r--r--library/tzdata/America/Ojinaga313
-rw-r--r--library/tzdata/America/Pangnirtung253
-rw-r--r--library/tzdata/America/Paramaribo5
-rw-r--r--library/tzdata/America/Port-au-Prince2
-rw-r--r--library/tzdata/America/Port_of_Spain7
-rw-r--r--library/tzdata/America/Porto_Velho60
-rw-r--r--library/tzdata/America/Punta_Arenas123
-rw-r--r--library/tzdata/America/Rainy_River265
-rw-r--r--library/tzdata/America/Rankin_Inlet20
-rw-r--r--library/tzdata/America/Recife86
-rw-r--r--library/tzdata/America/Resolute20
-rw-r--r--library/tzdata/America/Rio_Branco64
-rw-r--r--library/tzdata/America/Santa_Isabel285
-rw-r--r--library/tzdata/America/Santarem62
-rw-r--r--library/tzdata/America/Santiago403
-rw-r--r--library/tzdata/America/Santo_Domingo10
-rw-r--r--library/tzdata/America/Sao_Paulo345
-rw-r--r--library/tzdata/America/Scoresbysund482
-rw-r--r--library/tzdata/America/Sitka2
-rw-r--r--library/tzdata/America/St_Barthelemy6
-rw-r--r--library/tzdata/America/St_Kitts6
-rw-r--r--library/tzdata/America/St_Lucia6
-rw-r--r--library/tzdata/America/St_Thomas6
-rw-r--r--library/tzdata/America/St_Vincent6
-rw-r--r--library/tzdata/America/Thunder_Bay273
-rw-r--r--library/tzdata/America/Tijuana16
-rw-r--r--library/tzdata/America/Toronto12
-rw-r--r--library/tzdata/America/Tortola6
-rw-r--r--library/tzdata/America/Vancouver2
-rw-r--r--library/tzdata/America/Virgin6
-rw-r--r--library/tzdata/America/Whitehorse162
-rw-r--r--library/tzdata/America/Yakutat2
-rw-r--r--library/tzdata/America/Yellowknife253
-rw-r--r--library/tzdata/Antarctica/Casey24
-rw-r--r--library/tzdata/Antarctica/Davis16
-rw-r--r--library/tzdata/Antarctica/DumontDUrville9
-rw-r--r--library/tzdata/Antarctica/Macquarie187
-rw-r--r--library/tzdata/Antarctica/Mawson6
-rw-r--r--library/tzdata/Antarctica/Palmer164
-rw-r--r--library/tzdata/Antarctica/Rothera4
-rw-r--r--library/tzdata/Antarctica/Syowa7
-rw-r--r--library/tzdata/Antarctica/Troll384
-rw-r--r--library/tzdata/Antarctica/Vostok7
-rw-r--r--library/tzdata/Arctic/Longyearbyen6
-rw-r--r--library/tzdata/Asia/Almaty104
-rw-r--r--library/tzdata/Asia/Amman158
-rw-r--r--library/tzdata/Asia/Anadyr134
-rw-r--r--library/tzdata/Asia/Aqtau106
-rw-r--r--library/tzdata/Asia/Aqtobe105
-rw-r--r--library/tzdata/Asia/Ashgabat52
-rw-r--r--library/tzdata/Asia/Atyrau58
-rw-r--r--library/tzdata/Asia/Baghdad106
-rw-r--r--library/tzdata/Asia/Baku306
-rw-r--r--library/tzdata/Asia/Bangkok2
-rw-r--r--library/tzdata/Asia/Barnaul73
-rw-r--r--library/tzdata/Asia/Bishkek105
-rw-r--r--library/tzdata/Asia/Brunei8
-rw-r--r--library/tzdata/Asia/Chita133
-rw-r--r--library/tzdata/Asia/Choibalsan268
-rw-r--r--library/tzdata/Asia/Colombo14
-rw-r--r--library/tzdata/Asia/Damascus156
-rw-r--r--library/tzdata/Asia/Dhaka15
-rw-r--r--library/tzdata/Asia/Dili9
-rw-r--r--library/tzdata/Asia/Dubai2
-rw-r--r--library/tzdata/Asia/Dushanbe48
-rw-r--r--library/tzdata/Asia/Famagusta256
-rw-r--r--library/tzdata/Asia/Gaza424
-rw-r--r--library/tzdata/Asia/Hebron424
-rw-r--r--library/tzdata/Asia/Ho_Chi_Minh20
-rw-r--r--library/tzdata/Asia/Hong_Kong26
-rw-r--r--library/tzdata/Asia/Hovd266
-rw-r--r--library/tzdata/Asia/Irkutsk132
-rw-r--r--library/tzdata/Asia/Jakarta12
-rw-r--r--library/tzdata/Asia/Jayapura4
-rw-r--r--library/tzdata/Asia/Jerusalem52
-rw-r--r--library/tzdata/Asia/Kabul4
-rw-r--r--library/tzdata/Asia/Kamchatka132
-rw-r--r--library/tzdata/Asia/Karachi12
-rw-r--r--library/tzdata/Asia/Kathmandu4
-rw-r--r--library/tzdata/Asia/Khandyga136
-rw-r--r--library/tzdata/Asia/Kolkata8
-rw-r--r--library/tzdata/Asia/Krasnoyarsk132
-rw-r--r--library/tzdata/Asia/Kuala_Lumpur14
-rw-r--r--library/tzdata/Asia/Kuching37
-rw-r--r--library/tzdata/Asia/Macau114
-rw-r--r--library/tzdata/Asia/Magadan133
-rw-r--r--library/tzdata/Asia/Makassar4
-rw-r--r--library/tzdata/Asia/Manila16
-rw-r--r--library/tzdata/Asia/Novokuznetsk133
-rw-r--r--library/tzdata/Asia/Novosibirsk135
-rw-r--r--library/tzdata/Asia/Omsk132
-rw-r--r--library/tzdata/Asia/Oral106
-rw-r--r--library/tzdata/Asia/Pontianak10
-rw-r--r--library/tzdata/Asia/Pyongyang4
-rw-r--r--library/tzdata/Asia/Qatar4
-rw-r--r--library/tzdata/Asia/Qostanay59
-rw-r--r--library/tzdata/Asia/Qyzylorda106
-rw-r--r--library/tzdata/Asia/Rangoon10
-rw-r--r--library/tzdata/Asia/Riyadh2
-rw-r--r--library/tzdata/Asia/Sakhalin136
-rw-r--r--library/tzdata/Asia/Samarkand53
-rw-r--r--library/tzdata/Asia/Seoul11
-rw-r--r--library/tzdata/Asia/Shanghai45
-rw-r--r--library/tzdata/Asia/Singapore15
-rw-r--r--library/tzdata/Asia/Srednekolymsk132
-rw-r--r--library/tzdata/Asia/Taipei2
-rw-r--r--library/tzdata/Asia/Tashkent53
-rw-r--r--library/tzdata/Asia/Tbilisi108
-rw-r--r--library/tzdata/Asia/Tehran169
-rw-r--r--library/tzdata/Asia/Thimphu4
-rw-r--r--library/tzdata/Asia/Tokyo18
-rw-r--r--library/tzdata/Asia/Tomsk73
-rw-r--r--library/tzdata/Asia/Ulaanbaatar266
-rw-r--r--library/tzdata/Asia/Urumqi2
-rw-r--r--library/tzdata/Asia/Ust-Nera132
-rw-r--r--library/tzdata/Asia/Vladivostok132
-rw-r--r--library/tzdata/Asia/Yakutsk132
-rw-r--r--library/tzdata/Asia/Yangon9
-rw-r--r--library/tzdata/Asia/Yekaterinburg132
-rw-r--r--library/tzdata/Asia/Yerevan130
-rw-r--r--library/tzdata/Atlantic/Azores684
-rw-r--r--library/tzdata/Atlantic/Bermuda29
-rw-r--r--library/tzdata/Atlantic/Canary2
-rw-r--r--library/tzdata/Atlantic/Cape_Verde8
-rw-r--r--library/tzdata/Atlantic/Jan_Mayen6
-rw-r--r--library/tzdata/Atlantic/Madeira192
-rw-r--r--library/tzdata/Atlantic/Reykjavik74
-rw-r--r--library/tzdata/Atlantic/South_Georgia2
-rw-r--r--library/tzdata/Atlantic/Stanley138
-rw-r--r--library/tzdata/Australia/Adelaide10
-rw-r--r--library/tzdata/Australia/Brisbane10
-rw-r--r--library/tzdata/Australia/Broken_Hill10
-rw-r--r--library/tzdata/Australia/Currie274
-rw-r--r--library/tzdata/Australia/Darwin10
-rw-r--r--library/tzdata/Australia/Eucla40
-rw-r--r--library/tzdata/Australia/Hobart14
-rw-r--r--library/tzdata/Australia/Lindeman10
-rw-r--r--library/tzdata/Australia/Lord_Howe477
-rw-r--r--library/tzdata/Australia/Melbourne10
-rw-r--r--library/tzdata/Australia/Perth8
-rw-r--r--library/tzdata/Australia/Sydney10
-rw-r--r--library/tzdata/Canada/East-Saskatchewan5
-rw-r--r--library/tzdata/Etc/GMT+12
-rw-r--r--library/tzdata/Etc/GMT+102
-rw-r--r--library/tzdata/Etc/GMT+112
-rw-r--r--library/tzdata/Etc/GMT+122
-rw-r--r--library/tzdata/Etc/GMT+22
-rw-r--r--library/tzdata/Etc/GMT+32
-rw-r--r--library/tzdata/Etc/GMT+42
-rw-r--r--library/tzdata/Etc/GMT+52
-rw-r--r--library/tzdata/Etc/GMT+62
-rw-r--r--library/tzdata/Etc/GMT+72
-rw-r--r--library/tzdata/Etc/GMT+82
-rw-r--r--library/tzdata/Etc/GMT+92
-rw-r--r--library/tzdata/Etc/GMT-12
-rw-r--r--library/tzdata/Etc/GMT-102
-rw-r--r--library/tzdata/Etc/GMT-112
-rw-r--r--library/tzdata/Etc/GMT-122
-rw-r--r--library/tzdata/Etc/GMT-132
-rw-r--r--library/tzdata/Etc/GMT-142
-rw-r--r--library/tzdata/Etc/GMT-22
-rw-r--r--library/tzdata/Etc/GMT-32
-rw-r--r--library/tzdata/Etc/GMT-42
-rw-r--r--library/tzdata/Etc/GMT-52
-rw-r--r--library/tzdata/Etc/GMT-62
-rw-r--r--library/tzdata/Etc/GMT-72
-rw-r--r--library/tzdata/Etc/GMT-82
-rw-r--r--library/tzdata/Etc/GMT-92
-rw-r--r--library/tzdata/Etc/UCT6
-rw-r--r--library/tzdata/Europe/Amsterdam311
-rw-r--r--library/tzdata/Europe/Astrakhan71
-rw-r--r--library/tzdata/Europe/Brussels2
-rw-r--r--library/tzdata/Europe/Budapest45
-rw-r--r--library/tzdata/Europe/Chisinau6
-rw-r--r--library/tzdata/Europe/Copenhagen265
-rw-r--r--library/tzdata/Europe/Dublin525
-rw-r--r--library/tzdata/Europe/Istanbul247
-rw-r--r--library/tzdata/Europe/Kaliningrad25
-rw-r--r--library/tzdata/Europe/Kiev252
-rw-r--r--library/tzdata/Europe/Kirov70
-rw-r--r--library/tzdata/Europe/Kyiv251
-rw-r--r--library/tzdata/Europe/Lisbon4
-rw-r--r--library/tzdata/Europe/Luxembourg314
-rw-r--r--library/tzdata/Europe/Madrid64
-rw-r--r--library/tzdata/Europe/Malta28
-rw-r--r--library/tzdata/Europe/Minsk10
-rw-r--r--library/tzdata/Europe/Monaco316
-rw-r--r--library/tzdata/Europe/Moscow8
-rw-r--r--library/tzdata/Europe/Oslo272
-rw-r--r--library/tzdata/Europe/Paris4
-rw-r--r--library/tzdata/Europe/Prague9
-rw-r--r--library/tzdata/Europe/Rome35
-rw-r--r--library/tzdata/Europe/Samara136
-rw-r--r--library/tzdata/Europe/Saratov71
-rw-r--r--library/tzdata/Europe/Simferopol20
-rw-r--r--library/tzdata/Europe/Stockholm251
-rw-r--r--library/tzdata/Europe/Ulyanovsk73
-rw-r--r--library/tzdata/Europe/Uzhgorod255
-rw-r--r--library/tzdata/Europe/Vienna2
-rw-r--r--library/tzdata/Europe/Vilnius11
-rw-r--r--library/tzdata/Europe/Volgograd58
-rw-r--r--library/tzdata/Europe/Zaporozhye253
-rw-r--r--library/tzdata/Iceland6
-rw-r--r--library/tzdata/Indian/Chagos4
-rw-r--r--library/tzdata/Indian/Christmas7
-rw-r--r--library/tzdata/Indian/Cocos7
-rw-r--r--library/tzdata/Indian/Kerguelen7
-rw-r--r--library/tzdata/Indian/Mahe7
-rw-r--r--library/tzdata/Indian/Maldives2
-rw-r--r--library/tzdata/Indian/Mauritius10
-rw-r--r--library/tzdata/Indian/Reunion7
-rw-r--r--library/tzdata/Pacific/Apia209
-rw-r--r--library/tzdata/Pacific/Bougainville8
-rw-r--r--library/tzdata/Pacific/Chatham506
-rw-r--r--library/tzdata/Pacific/Chuuk7
-rw-r--r--library/tzdata/Pacific/Easter357
-rw-r--r--library/tzdata/Pacific/Efate44
-rw-r--r--library/tzdata/Pacific/Enderbury9
-rw-r--r--library/tzdata/Pacific/Fakaofo4
-rw-r--r--library/tzdata/Pacific/Fiji215
-rw-r--r--library/tzdata/Pacific/Funafuti7
-rw-r--r--library/tzdata/Pacific/Galapagos6
-rw-r--r--library/tzdata/Pacific/Gambier2
-rw-r--r--library/tzdata/Pacific/Guadalcanal2
-rw-r--r--library/tzdata/Pacific/Guam18
-rw-r--r--library/tzdata/Pacific/Honolulu5
-rw-r--r--library/tzdata/Pacific/Kanton8
-rw-r--r--library/tzdata/Pacific/Kiritimati6
-rw-r--r--library/tzdata/Pacific/Kosrae14
-rw-r--r--library/tzdata/Pacific/Kwajalein9
-rw-r--r--library/tzdata/Pacific/Majuro8
-rw-r--r--library/tzdata/Pacific/Marquesas2
-rw-r--r--library/tzdata/Pacific/Nauru8
-rw-r--r--library/tzdata/Pacific/Niue5
-rw-r--r--library/tzdata/Pacific/Norfolk172
-rw-r--r--library/tzdata/Pacific/Noumea14
-rw-r--r--library/tzdata/Pacific/Pago_Pago6
-rw-r--r--library/tzdata/Pacific/Palau5
-rw-r--r--library/tzdata/Pacific/Pitcairn4
-rw-r--r--library/tzdata/Pacific/Pohnpei7
-rw-r--r--library/tzdata/Pacific/Ponape6
-rw-r--r--library/tzdata/Pacific/Port_Moresby2
-rw-r--r--library/tzdata/Pacific/Rarotonga57
-rw-r--r--library/tzdata/Pacific/Tahiti2
-rw-r--r--library/tzdata/Pacific/Tarawa2
-rw-r--r--library/tzdata/Pacific/Tongatapu22
-rw-r--r--library/tzdata/Pacific/Truk6
-rw-r--r--library/tzdata/Pacific/Wake7
-rw-r--r--library/tzdata/Pacific/Wallis7
-rw-r--r--library/tzdata/Pacific/Yap6
-rw-r--r--library/tzdata/UCT6
-rw-r--r--library/tzdata/US/Pacific-New5
-rw-r--r--library/word.tcl37
-rw-r--r--library/writefile.tcl37
478 files changed, 21288 insertions, 23823 deletions
diff --git a/library/auto.tcl b/library/auto.tcl
index 9aa4da3..ec680de 100644
--- a/library/auto.tcl
+++ b/library/auto.tcl
@@ -1,20 +1,20 @@
# 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.
#
-# Copyright © 1991-1993 The Regents of the University of California.
-# Copyright © 1994-1998 Sun Microsystems, Inc.
+# 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.
@@ -24,25 +24,25 @@ proc auto_reset {} {
if {[array exists auto_index]} {
foreach cmdName [array names auto_index] {
set fqcn [namespace which $cmdName]
- if {$fqcn eq ""} {
- continue
- }
+ 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]]
- } elseif {[info library] ni $auto_path} {
- lappend auto_path [info library]
+ } else {
+ if {[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")
@@ -64,82 +64,24 @@ 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.
+ # Do the canonical search
- if {[info exists env($enVarName)]} {
- lappend dirs $env($enVarName)
- }
+ # 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.
- catch {
- set found 0
- set root [zipfs root]
- set mountpoint [file join $root lib $basename]
- lappend dirs [file join $root app ${basename}_library]
- lappend dirs [file join $root lib ${basename} ${basename}_library]
- lappend dirs [file join $root lib ${basename}]
- if {![zipfs exists [file join $root app ${basename}_library]] \
- && ![zipfs exists $mountpoint]} {
- set found 0
- foreach pkgdat [info loaded] {
- lassign $pkgdat dllfile dllpkg
- if {$dllpkg ne $basename} continue
- if {$dllfile eq {}} {
- # Loaded statically
- break
- }
- set found 1
- zipfs mount $dllfile $mountpoint
- break
- }
- if {!$found} {
- set paths {}
- if {![catch {::${basename}::pkgconfig get libdir,runtime} dir]} {
- lappend paths $dir
- } else {
- catch {lappend paths [::tcl::pkgconfig get libdir,runtime]}
- }
- if {![catch {::${basename}::pkgconfig get bindir,runtime} dir]} {
- lappend paths $dir
- } else {
- catch {lappend paths [::tcl::pkgconfig get bindir,runtime]}
- }
- if {[catch {::${basename}::pkgconfig get dllfile,runtime} dllfile]} {
- set dllfile "lib${basename}${version}[info sharedlibextension]"
- }
- set dir [file dirname [file join [pwd] [info nameofexecutable]]]
- lappend paths $dir
- lappend paths [file join [file dirname $dir] lib]
- foreach path $paths {
- set archive [file join $path $dllfile]
- if {![file exists $archive]} {
- continue
- }
- zipfs mount $archive $mountpoint
- if {[zipfs exists [file join $mountpoint ${basename}_library $initScript]]} {
- lappend dirs [file join $mountpoint ${basename}_library]
- set found 1
- break
- } elseif {[zipfs exists [file join $mountpoint $initScript]]} {
- lappend dirs [file join $mountpoint $initScript]
- set found 1
- break
- } else {
- catch {zipfs unmount $mountpoint}
- }
- }
- }
- }
- }
+ 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.
- catch {
- lappend dirs [::${basename}::pkgconfig get scriptdir,runtime]
+ if {[catch {
+ ::${basename}::pkgconfig get scriptdir,runtime
+ } value] == 0} {
+ lappend dirs $value
}
# 3. Relative to auto_path directories. This checks relative to the
@@ -159,8 +101,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
@@ -168,11 +110,11 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} {
# ../../../foo1.0.1/library
# (From unix/arch directory in parallel build hierarchy)
- set parentDir [file dirname [file dirname [info nameofexecutable]]]
- set grandParentDir [file dirname $parentDir]
- lappend dirs [file join $parentDir lib $basename$version]
- lappend dirs [file join $grandParentDir lib $basename$version]
- lappend dirs [file join $parentDir library]
+ set parentDir [file dirname [file dirname [info nameofexecutable]]]
+ set grandParentDir [file dirname $parentDir]
+ lappend dirs [file join $parentDir lib $basename$version]
+ lappend dirs [file join $grandParentDir lib $basename$version]
+ lappend dirs [file join $parentDir library]
if {0} {
lappend dirs [file join $grandParentDir library]
lappend dirs [file join $grandParentDir $basename$patch library]
@@ -180,34 +122,38 @@ proc tcl_findLibrary {basename version patch initScript enVarName varName} {
$basename$patch library]
}
}
- # make $dirs unique, preserving order
+ # uniquify $dirs in order
array set seen {}
foreach i $dirs {
- # Make sure $i is unique under normalization. Avoid repeated [source].
+ # 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]} {
- # Safe interps have no [file normalize].
set norm $i
} else {
set norm [file normalize $i]
}
- if {[info exists seen($norm)]} {
- continue
- }
- set seen($norm) {}
-
- 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
-
- if {[interp issafe] || [file exists $file]} {
- if {![catch {uplevel #0 [list source $file]} msg opts]} {
- return
- }
- append errors "$file: $msg\n"
- append errors [dict get $opts -errorinfo]\n
- }
+ if {[info exists seen($norm)]} { continue }
+ set seen($norm) ""
+ lappend uniqdirs $i
+ }
+ set dirs $uniqdirs
+ foreach i $dirs {
+ 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
+
+ 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
+ }
+ }
}
unset -nocomplain the_library
set msg "Can't find a usable $initScript in the following directories: \n"
@@ -221,36 +167,37 @@ 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]} {
- error "can't generate index within safe interpreter"
+ error "can't generate index within safe interpreter"
}
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"
@@ -259,30 +206,29 @@ proc auto_mkindex {dir args} {
append index "# sets an element in the auto_index array, where the\n"
append index "# element name is the name of a command and the value is\n"
append index "# a script that loads the command.\n\n"
- if {![llength $args]} {
+ if {[llength $args] == 0} {
set args *.tcl
}
auto_mkindex_parser::init
- foreach file [lsort [glob -- {*}$args]] {
- try {
- append index [auto_mkindex_parser::mkindex $file]
- } on error {msg opts} {
- cd $oldDir
+ foreach file [glob -- {*}$args] {
+ if {[catch {auto_mkindex_parser::mkindex $file} msg opts] == 0} {
+ append index $msg
+ } else {
+ cd $oldDir
return -options $opts $msg
- }
+ }
}
auto_mkindex_parser::cleanup
set fid [open "tclIndex" w]
- fconfigure $fid -encoding utf-8 -translation lf
puts -nonewline $fid $index
close $fid
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]
@@ -295,14 +241,13 @@ proc auto_mkindex_old {dir args} {
append index "# sets an element in the auto_index array, where the\n"
append index "# element name is the name of a command and the value is\n"
append index "# a script that loads the command.\n\n"
- if {![llength $args]} {
+ if {[llength $args] == 0} {
set args *.tcl
}
- foreach file [lsort [glob -- {*}$args]] {
+ foreach file [glob -- {*}$args] {
set f ""
set error [catch {
set f [open $file]
- fconfigure $f -encoding utf-8 -eofchar "\x1A {}"
while {[gets $f line] >= 0} {
if {[regexp {^proc[ ]+([^ ]*)} $line match procName]} {
set procName [lindex [auto_qualify $procName "::"] 0]
@@ -321,7 +266,6 @@ proc auto_mkindex_old {dir args} {
set f ""
set error [catch {
set f [open tclIndex w]
- fconfigure $f -encoding utf-8 -translation lf
puts -nonewline $f $index
close $f
cd $oldDir
@@ -335,9 +279,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
@@ -362,14 +306,7 @@ namespace eval auto_mkindex_parser {
$parser hide namespace
$parser hide eval
$parser hide puts
- foreach ns [$parser invokehidden namespace children ::] {
- # MUST NOT DELETE "::tcl" OR BAD THINGS HAPPEN!
- if {$ns eq "::tcl"} continue
- $parser invokehidden namespace delete $ns
- }
- foreach cmd [$parser invokehidden info commands ::*] {
- $parser invokehidden rename $cmd {}
- }
+ $parser invokehidden namespace delete ::
$parser invokehidden proc unknown {args} {}
# We'll need access to the "namespace" command within the
@@ -380,7 +317,7 @@ namespace eval auto_mkindex_parser {
$parser expose eval
$parser invokehidden rename eval _%@eval
- # Install all the registered pseudo-command implementations
+ # Install all the registered psuedo-command implementations
foreach cmd $initCommands {
eval $cmd
@@ -396,10 +333,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.
@@ -414,17 +351,17 @@ proc auto_mkindex_parser::mkindex {file} {
set scriptFile $file
set fid [open $file]
- fconfigure $fid -encoding utf-8 -eofchar "\x1A {}"
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 ""
@@ -434,17 +371,17 @@ proc auto_mkindex_parser::mkindex {file} {
$parser eval $contents
foreach name $imports {
- catch {$parser eval [list _%@namespace forget $name]}
+ catch {$parser eval [list _%@namespace forget $name]}
}
return $index
}
# auto_mkindex_parser::hook command
#
-# Registers a Tcl command to evaluate when initializing the child interpreter
-# used by the mkindex parser. The command is evaluated in the parent
-# interpreter, and can use the variable auto_mkindex_parser::parser to get to
-# the child
+# 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
@@ -452,32 +389,32 @@ proc auto_mkindex_parser::hook {cmd} {
lappend initCommands $cmd
}
-# auto_mkindex_parser::childhook command
+# auto_mkindex_parser::slavehook command
#
-# Registers a Tcl command to evaluate when initializing the child interpreter
-# used by the mkindex parser. The command is evaluated in the child
-# 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::childhook {cmd} {
+proc auto_mkindex_parser::slavehook {cmd} {
variable initCommands
- # The $parser variable is defined to be the name of the child 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.
@@ -490,8 +427,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.
@@ -504,48 +441,51 @@ proc auto_mkindex_parser::commandInit {name arglist body} {
set ns [namespace qualifiers $name]
set tail [namespace tail $name]
if {$ns eq ""} {
- set fakeName [namespace current]::_%@fake_$tail
+ set fakeName [namespace current]::_%@fake_$tail
} else {
- set fakeName [namespace current]::[string map {:: _} _%@fake_$name]
+ set fakeName [namespace current]::[string map {:: _} _%@fake_$name]
}
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]
+ 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"
- $parser alias $alias $fakeName
+ set alias [namespace tail $fakeName]
+ $parser invokehidden proc $name {args} "_%@eval {$alias} \$args"
+ $parser alias $alias $fakeName
} else {
- $parser alias $name $fakeName
+ $parser alias $name $fakeName
}
return
}
# 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.
@@ -554,158 +494,125 @@ proc auto_mkindex_parser::fullname {name} {
variable contextStack
if {![string match ::* $name]} {
- foreach ns $contextStack {
- set name "${ns}::$name"
- if {[string match ::* $name]} {
- break
- }
- }
+ foreach ns $contextStack {
+ set name "${ns}::$name"
+ if {[string match ::* $name]} {
+ break
+ }
+ }
}
if {[namespace qualifiers $name] eq ""} {
- set name [namespace tail $name]
+ set name [namespace tail $name]
} elseif {![string match ::* $name]} {
- set name "::$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]
}
-# auto_mkindex_parser::indexEntry --
-#
-# Used by commands like "proc" within the auto_mkindex parser to add a
-# correctly-quoted entry to the index. This is shared code so it is done
-# *right*, in one place.
-#
-# Arguments:
-# name - Name that is being added to index.
-
-proc auto_mkindex_parser::indexEntry {name} {
- variable index
- variable scriptFile
-
- # We convert all metacharacters to their backslashed form, and pre-split
- # the file name that we know about (which will be a proper list, and so
- # correctly quoted).
-
- set name [string range [list \}[fullname $name]] 2 end]
- set filenameParts [file split $scriptFile]
-
- append index [format \
- {set auto_index(%s) [list source [file join $dir %s]]%s} \
- $name $filenameParts \n]
- return
-}
-
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.
auto_mkindex_parser::command proc {name args} {
- indexEntry $name
+ variable index
+ variable scriptFile
+ # Do some fancy reformatting on the "source" call to handle platform
+ # differences with respect to pathnames. Use format just so that the
+ # command is a little easier to read (otherwise it'd be full of
+ # backslashed dollar signs, etc.
+ append index [list set auto_index([fullname $name])] \
+ [format { [list source [file join $dir %s]]} \
+ [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 child 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 {
- try {
- package require tbcload
- } on error {} {
- # OK, don't have it so do nothing
- } on ok {} {
+ if {![catch {package require tbcload}]} {
if {[namespace which -command tbcload::bcproc] eq ""} {
auto_load tbcload::bcproc
}
load {} tbcload $auto_mkindex_parser::parser
# AUTO MKINDEX: tbcload::bcproc name arglist body
- # Adds an entry to the auto index list for the given precompiled
+ # Adds an entry to the auto index list for the given pre-compiled
# procedure name.
auto_mkindex_parser::commandInit tbcload::bcproc {name args} {
- indexEntry $name
+ variable index
+ variable scriptFile
+ # Do some nice reformatting of the "source" call, to get around
+ # path differences on different platforms. We use the format
+ # command just so that the code is a little easier to read.
+ append index [list set auto_index([fullname $name])] \
+ [format { [list source [file join $dir %s]]} \
+ [file split $scriptFile]] "\n"
}
}
}
# 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 {
- eval {
- variable parser
- variable contextStack
+ eval {
+ variable parser
+ variable contextStack
- set name [lindex $args 0]
- set args [lrange $args 1 end]
+ set name [lindex $args 0]
+ set args [lrange $args 1 end]
- set contextStack [linsert $contextStack 0 $name]
+ set contextStack [linsert $contextStack 0 $name]
$parser eval [list _%@namespace eval $name] $args
- set contextStack [lrange $contextStack 1 end]
- }
- import {
- variable parser
- variable imports
- foreach pattern $args {
- if {$pattern ne "-force"} {
- lappend imports $pattern
- }
- }
- catch {$parser eval "_%@namespace import $args"}
- }
+ set contextStack [lrange $contextStack 1 end]
+ }
+ import {
+ variable parser
+ variable imports
+ foreach pattern $args {
+ if {$pattern ne "-force"} {
+ lappend imports $pattern
+ }
+ }
+ catch {$parser eval "_%@namespace import $args"}
+ }
ensemble {
variable parser
variable contextStack
if {[lindex $args 0] eq "create"} {
set name ::[join [lreverse $contextStack] ::]
- catch {
- set name [dict get [lrange $args 1 end] -command]
- if {![string match ::* $name]} {
- set name ::[join [lreverse $contextStack] ::]$name
- }
- regsub -all ::+ $name :: name
- }
- # create artificial proc to force an entry in the tclIndex
+ # create artifical proc to force an entry in the tclIndex
$parser eval [list ::proc $name {} {}]
}
}
}
}
-# AUTO MKINDEX: oo::class create name ?definition?
-# Adds an entry to the auto index list for the given class name.
-auto_mkindex_parser::command oo::class {op name {body ""}} {
- if {$op eq "create"} {
- indexEntry $name
- }
-}
-auto_mkindex_parser::command class {op name {body ""}} {
- if {$op eq "create"} {
- indexEntry $name
- }
-}
-
return
diff --git a/library/clock.tcl b/library/clock.tcl
index b468fea..eb87251 100644
--- a/library/clock.tcl
+++ b/library/clock.tcl
@@ -2,24 +2,24 @@
#
# 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.
#
#
#----------------------------------------------------------------------
#
-# Copyright © 2004-2007 Kevin B. Kenny
+# Copyright (c) 2004,2005,2006,2007 by Kevin B. Kenny
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
#----------------------------------------------------------------------
-# msgcat 1.7 features are used. 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.7
+ package require msgcat 1.4
if { $::tcl_platform(platform) eq {windows} } {
if { [catch { package require registry 1.1 }] } {
namespace eval ::tcl::clock [list variable NoRegistry {}]
@@ -27,11 +27,12 @@ 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 [info library]]
+ [list variable LibDir [file dirname [info script]]]
#----------------------------------------------------------------------
#
@@ -39,8 +40,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.
#
#----------------------------------------------------------------------
@@ -60,8 +61,6 @@ namespace eval ::tcl::clock {
namespace import ::msgcat::mcload
namespace import ::msgcat::mclocale
- proc mc {args} { tailcall ::msgcat::mcn [namespace current] {*}$args }
- namespace import ::msgcat::mcpackagelocale
}
@@ -77,11 +76,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.
#
#----------------------------------------------------------------------
@@ -108,11 +107,6 @@ proc ::tcl::clock::Initialize {} {
}
InitTZData
- mcpackagelocale set {}
- ::msgcat::mcpackageconfig set mcfolder [file join $LibDir msgs]
- ::msgcat::mcpackageconfig set unknowncmd ""
- ::msgcat::mcpackageconfig set changecmd ChangeCurrentLocale
-
# Define the message catalog for the root locale.
::msgcat::mcmset {} {
@@ -178,8 +172,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
@@ -200,8 +194,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
@@ -223,8 +217,8 @@ proc ::tcl::clock::Initialize {} {
::msgcat::mcset ru GREGORIAN_CHANGE_DATE 2421639
- # Romania (Transylvania changed earlier - 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
@@ -238,8 +232,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 {
@@ -256,6 +250,7 @@ proc ::tcl::clock::Initialize {} {
# Define the directories for time zone data and message catalogs.
variable DataDir [file join $LibDir tzdata]
+ variable MsgDir [file join $LibDir msgs]
# Number of days in the months, in common years and leap years.
@@ -287,10 +282,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:
@@ -301,37 +296,37 @@ 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
{-39600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Midway
{-36000 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Pacific/Honolulu
- {-32400 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Anchorage
- {-28800 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Los_Angeles
- {-28800 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Tijuana
- {-25200 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Denver
- {-25200 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Chihuahua
+ {-32400 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Anchorage
+ {-28800 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Los_Angeles
+ {-28800 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Tijuana
+ {-25200 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Denver
+ {-25200 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Chihuahua
{-25200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Phoenix
{-21600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Regina
{-21600 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Chicago
- {-21600 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Mexico_City
+ {-21600 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/Mexico_City
{-18000 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/New_York
{-18000 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Indianapolis
{-14400 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :America/Caracas
- {-14400 0 3600 0 3 6 2 23 59 59 999 0 10 6 2 23 59 59 999}
+ {-14400 0 3600 0 3 6 2 23 59 59 999 0 10 6 2 23 59 59 999}
:America/Santiago
- {-14400 0 3600 0 2 0 5 2 0 0 0 0 11 0 1 2 0 0 0} :America/Manaus
- {-14400 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Halifax
+ {-14400 0 3600 0 2 0 5 2 0 0 0 0 11 0 1 2 0 0 0} :America/Manaus
+ {-14400 0 3600 0 11 0 1 2 0 0 0 0 3 0 2 2 0 0 0} :America/Halifax
{-12600 0 3600 0 10 0 5 2 0 0 0 0 4 0 1 2 0 0 0} :America/St_Johns
{-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 3 0 2 2 0 0 0 0 10 0 1 2 0 0 0} :America/Montevideo
+ {-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 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
{-3600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Atlantic/Cape_Verde
@@ -339,22 +334,22 @@ proc ::tcl::clock::Initialize {} {
{0 0 3600 0 10 0 5 2 0 0 0 0 3 0 5 1 0 0 0} :Europe/London
{3600 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Africa/Kinshasa
{3600 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :CET
- {7200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Africa/Harare
- {7200 0 3600 0 9 4 5 23 59 59 0 0 4 4 5 23 59 59 0}
+ {7200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Africa/Harare
+ {7200 0 3600 0 9 4 5 23 59 59 0 0 4 4 5 23 59 59 0}
:Africa/Cairo
{7200 0 3600 0 10 0 5 4 0 0 0 0 3 0 5 3 0 0 0} :Europe/Helsinki
- {7200 0 3600 0 9 0 3 2 0 0 0 0 3 5 5 2 0 0 0} :Asia/Jerusalem
+ {7200 0 3600 0 9 0 3 2 0 0 0 0 3 5 5 2 0 0 0} :Asia/Jerusalem
{7200 0 3600 0 9 0 5 1 0 0 0 0 3 0 5 0 0 0 0} :Europe/Bucharest
{7200 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Europe/Athens
- {7200 0 3600 0 9 5 5 1 0 0 0 0 3 4 5 0 0 0 0} :Asia/Amman
- {7200 0 3600 0 10 6 5 23 59 59 999 0 3 0 5 0 0 0 0}
+ {7200 0 3600 0 9 5 5 1 0 0 0 0 3 4 5 0 0 0 0} :Asia/Amman
+ {7200 0 3600 0 10 6 5 23 59 59 999 0 3 0 5 0 0 0 0}
:Asia/Beirut
- {7200 0 -3600 0 4 0 1 2 0 0 0 0 9 0 1 2 0 0 0} :Africa/Windhoek
+ {7200 0 -3600 0 4 0 1 2 0 0 0 0 9 0 1 2 0 0 0} :Africa/Windhoek
{10800 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Riyadh
{10800 0 3600 0 10 0 1 4 0 0 0 0 4 0 1 3 0 0 0} :Asia/Baghdad
{10800 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Europe/Moscow
{12600 0 3600 0 9 2 4 2 0 0 0 0 3 0 1 2 0 0 0} :Asia/Tehran
- {14400 0 3600 0 10 0 5 5 0 0 0 0 3 0 5 4 0 0 0} :Asia/Baku
+ {14400 0 3600 0 10 0 5 5 0 0 0 0 3 0 5 4 0 0 0} :Asia/Baku
{14400 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Muscat
{14400 0 3600 0 10 0 5 3 0 0 0 0 3 0 5 2 0 0 0} :Asia/Tbilisi
{16200 0 3600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0} :Asia/Kabul
@@ -383,10 +378,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 {
@@ -490,8 +485,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 {
@@ -554,8 +549,6 @@ proc ::tcl::clock::Initialize {} {
pdt -0700 \
yst -0900 \
ydt -0800 \
- akst -0900 \
- akdt -0800 \
hst -1000 \
hdt -0900 \
cat -1000 \
@@ -586,8 +579,8 @@ proc ::tcl::clock::Initialize {} {
jst +0900 \
kst +0900 \
cast +0930 \
- jdt +1000 \
- kdt +1000 \
+ jdt +1000 \
+ kdt +1000 \
cadt +1030 \
east +1000 \
eadt +1030 \
@@ -631,6 +624,11 @@ proc ::tcl::clock::Initialize {} {
# in the given locales and dictionaries
# mapping the numerals to their numeric
# values.
+ variable McLoaded {}; # Dictionary whose keys are locales
+ # in which [mcload] has been executed
+ # and whose values are second-level
+ # dictionaries indexed by message
+ # name and giving message text.
# variable CachedSystemTimeZone; # If 'CachedSystemTimeZone' exists,
# it contains the value of the
# system time zone, as determined from
@@ -654,10 +652,11 @@ 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.
#
#----------------------------------------------------------------------
@@ -682,9 +681,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]
@@ -722,19 +721,38 @@ proc ::tcl::clock::ParseClockFormatFormat {procName format locale} {
# Map away the locale-dependent composite format groups
- EnterLocale $locale
+ EnterLocale $locale oldLocale
# Change locale if a fresh locale has been given on the command line.
- try {
- return [ParseClockFormatFormat2 $format $locale $procName]
- } trap CLOCK {result opts} {
- dict unset opts -errorinfo
- return -options $opts $result
+ 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
+
+ if { $status == 1 } {
+ if { [lindex [dict get $opts -errorcode] 0] eq {clock} } {
+ return -code error $result
+ } else {
+ return -options $opts $result
+ }
+ } else {
+ return $result
}
+
}
proc ::tcl::clock::ParseClockFormatFormat2 {format locale procName} {
+
set didLocaleEra 0
set didLocaleNumerals 0
set preFormatCode \
@@ -1160,8 +1178,8 @@ proc ::tcl::clock::ParseClockFormatFormat2 {format locale procName} {
}
proc $procName {clockval timezone} "
- $preFormatCode
- return \[::format [list $formatString] $substituents\]
+ $preFormatCode
+ return \[::format [list $formatString] $substituents\]
"
# puts [list $procName [info args $procName] [info body $procName]]
@@ -1173,10 +1191,11 @@ 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 scan' 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.
#
#----------------------------------------------------------------------
@@ -1191,10 +1210,10 @@ proc ::tcl::clock::scan { args } {
return -code error \
-errorcode [list CLOCK wrongNumArgs] \
"wrong \# args: should be\
- \"$cmdName string\
- ?-base seconds?\
- ?-format string? ?-gmt boolean?\
- ?-locale LOCALE? ?-timezone ZONE?\""
+ \"$cmdName string\
+ ?-base seconds?\
+ ?-format string? ?-gmt boolean?\
+ ?-locale LOCALE? ?-timezone ZONE?\""
}
# Set defaults
@@ -1209,31 +1228,28 @@ proc ::tcl::clock::scan { args } {
# Pick up command line options.
foreach { flag value } [lreplace $args 0 0] {
+ set saw($flag) {}
switch -exact -- $flag {
-b - -ba - -bas - -base {
set base $value
}
-f - -fo - -for - -form - -forma - -format {
- set saw(-format) {}
set format $value
}
-g - -gm - -gmt {
- set saw(-gmt) {}
set gmt $value
}
-l - -lo - -loc - -loca - -local - -locale {
- set saw(-locale) {}
set locale [string tolower $value]
}
-t - -ti - -tim - -time - -timez - -timezo - -timezon - -timezone {
- set saw(-timezone) {}
set timezone $value
}
default {
return -code error \
- -errorcode [list CLOCK badOption $flag] \
- "bad option \"$flag\":\
- must be -base, -format, -gmt, -locale, or -timezone"
+ -errorcode [list CLOCK badSwitch $flag] \
+ "bad switch \"$flag\",\
+ must be -base, -format, -gmt, -locale or -timezone"
}
}
}
@@ -1246,17 +1262,21 @@ 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 -strict $gmt] } {
- return -code error "expected boolean value but got \"$gmt\""
- } elseif { $gmt } {
- set timezone :GMT
+ if { ![string is boolean $gmt] } {
+ return -code error \
+ "expected boolean value but got \"$gmt\""
+ } else {
+ if { $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] \
@@ -1268,18 +1288,33 @@ proc ::tcl::clock::scan { args } {
# Change locale if a fresh locale has been given on the command line.
- EnterLocale $locale
+ EnterLocale $locale oldLocale
+
+ set status [catch {
- try {
# Map away the locale-dependent composite format groups
set scanner [ParseClockScanFormat $format $locale]
- return [$scanner $string $base $timezone]
- } trap CLOCK {result opts} {
- # Conceal location of generation of expected errors
- dict unset opts -errorinfo
- return -options $opts $result
+ $scanner $string $base $timezone
+
+ } result opts]
+
+ # Restore the locale
+
+ if { [info exists oldLocale] } {
+ mclocale $oldLocale
}
+
+ if { $status == 1 } {
+ if { [lindex [dict get $opts -errorcode] 0] eq {clock} } {
+ return -code error $result
+ } else {
+ return -options $opts $result
+ }
+ } else {
+ return $result
+ }
+
}
#----------------------------------------------------------------------
@@ -1295,8 +1330,8 @@ 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
#
#----------------------------------------------------------------------
@@ -1306,40 +1341,41 @@ proc ::tcl::clock::FreeScan { string base timezone locale } {
# Get the data for time changes in the given zone
- try {
- SetupTimeZone $timezone
- } on error {retval opts} {
+ if {[catch {SetupTimeZone $timezone} 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
+ # 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
- }]
+ 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.
-
- 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"
+ # 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"
}
- # 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.
+ lassign $result parseDate parseTime parseZone parseRel \
+ parseWeekday parseOrdinalMonth
+
+ # 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
@@ -1359,11 +1395,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
@@ -1386,11 +1422,10 @@ 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]
@@ -1407,12 +1442,13 @@ 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
@@ -1420,11 +1456,10 @@ 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]
@@ -1435,6 +1470,7 @@ proc ::tcl::clock::FreeScan { string base timezone locale } {
# Do relative month
if { [llength $parseOrdinalMonth] > 0 } {
+
lassign $parseOrdinalMonth monthOrdinal monthNumber
if { $monthOrdinal > 0 } {
set monthDiff [expr { $monthNumber - [dict get $date month] }]
@@ -1451,6 +1487,7 @@ proc ::tcl::clock::FreeScan { string base timezone locale } {
}
set seconds [add $seconds $monthOrdinal years $monthDiff months \
-timezone $timezone -locale $locale]
+
}
return $seconds
@@ -1468,27 +1505,30 @@ 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]
@@ -1532,8 +1572,8 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
append re {[[:space:]]+}
} else {
if { ! [string is alnum $c] } {
- append re "\\"
- }
+ append re \\
+ }
append re $c
}
}
@@ -1650,7 +1690,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 \[" \
@@ -1693,9 +1733,10 @@ 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 } \[ \
@@ -1728,9 +1769,10 @@ 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
@@ -1952,11 +1994,10 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
append procBody $postcode
append procBody [list set changeover [mc GREGORIAN_CHANGE_DATE]] \n
- # Set up the time zone before doing anything with a default base date
- # that might need a timezone to interpret it.
+ # Get time zone if needed
if { ![dict exists $fieldSet seconds]
- && ![dict exists $fieldSet starDate] } {
+ && ![dict exists $fieldSet starDate] } {
if { [dict exists $fieldSet tzName] } {
append procBody {
set timeZone [dict get $date tzName]
@@ -1975,29 +2016,24 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
append procBody [MakeParseCodeFromFields $fieldSet $TimeParseActions]
- # Assemble seconds from the Julian day and second of the day.
- # Convert to local time unless epoch seconds or stardate are
- # being processed - they're always absolute
+ # Assemble seconds, and convert local nominal time to UTC.
if { ![dict exists $fieldSet seconds]
- && ![dict exists $fieldSet starDate] } {
+ && ![dict exists $fieldSet starDate] } {
append procBody {
if { [dict get $date julianDay] > 5373484 } {
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] }]
}
-
- # Finally, convert the date to local time
-
append procBody {
set date [::tcl::clock::ConvertLocalToUTC $date[set date {}] \
- $TZData($timeZone) $changeover]
+ $TZData($timeZone) \
+ $changeover]
}
}
@@ -2016,14 +2052,15 @@ 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.
@@ -2031,6 +2068,7 @@ proc ::tcl::clock::ParseClockScanFormat {formatString locale} {
#----------------------------------------------------------------------
proc ::tcl::clock::LocaleNumeralMatcher {l} {
+
variable LocaleNumeralCache
if { ![dict exists $LocaleNumeralCache $l] } {
@@ -2056,9 +2094,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.
@@ -2066,10 +2104,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.
@@ -2077,10 +2115,11 @@ 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 {} {}]
@@ -2088,6 +2127,7 @@ proc ::tcl::clock::UniquePrefixRegexp { data } {
# Walk the key-value pairs
foreach { key value } $data {
+
# Construct all prefixes of the key;
set prefix {}
@@ -2106,8 +2146,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 {
@@ -2130,8 +2170,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
@@ -2143,8 +2183,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.
@@ -2162,15 +2202,13 @@ 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
- } then {
+ if { [dict exists $uniquePrefixMapping $prefixString]
+ || [llength $schars] > 1 } {
append re "(?:"
}
@@ -2192,7 +2230,7 @@ proc ::tcl::clock::MakeUniquePrefixRegexp { successors
if { [dict exists $uniquePrefixMapping $prefixString] } {
append re ")?"
- } elseif { [llength $schars] > 1 } {
+ } elseif { [llength $schars] > 1 } {
append re ")"
}
@@ -2203,8 +2241,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,
@@ -2215,8 +2253,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.
@@ -2232,15 +2270,16 @@ 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
@@ -2263,11 +2302,9 @@ 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
- } then {
+ if { ![string is integer $newPos]
+ || ![string is integer $currPos]
+ || $newPos > $currPos } {
break
}
if { $newPos < $currPos } {
@@ -2285,9 +2322,11 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } {
set currPrio $prio
set currFieldPos $fPos
set currCodeBurst $parseAction
+
}
return $currCodeBurst
+
}
#----------------------------------------------------------------------
@@ -2298,52 +2337,78 @@ proc ::tcl::clock::MakeParseCodeFromFields { dateFields parseActions } {
#
# Parameters:
# locale -- Desired locale
+# oldLocaleVar -- Name of a variable in caller's scope that
+# tracks the previous locale name.
#
# Results:
# Returns the locale that was previously current.
#
# Side effects:
-# Does [mclocale]. If necessary, loads the designated locale's files.
+# 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 } {
+proc ::tcl::clock::EnterLocale { locale oldLocaleVar } {
+
+ upvar 1 $oldLocaleVar oldLocale
+
+ variable MsgDir
+ variable McLoaded
+
+ 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
- mcpackagelocale set [mclocale]
+ # 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
- # Make a new locale string for the system locale, and get the
- # Control Panel information
+ 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
- set locale [mclocale]_windows
- if { ! [mcpackagelocale present $locale] } {
+ set locale ${oldLocale}_windows
+ if { ![dict exists $McLoaded $locale] } {
LoadWindowsDateTimeFormats $locale
+ dict set McLoaded $locale {}
}
}
}
if { $locale eq {current}} {
- set locale [mclocale]
+ set locale $oldLocale
+ unset oldLocale
+ } elseif { $locale eq $oldLocale } {
+ unset oldLocale
+ } else {
+ mclocale $locale
}
- # Eventually load the locale
- mcpackagelocale set $locale
+ if { ![dict exists $McLoaded $locale] } {
+ 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
@@ -2355,12 +2420,14 @@ proc ::tcl::clock::EnterLocale { locale } {
# 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
@@ -2384,8 +2451,8 @@ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } {
M %N
yyyy %Y
yy %y
- y %y
- gg {}
+ y %y
+ gg {}
} $unquoted]
if { $quoted eq {} } {
set quote '
@@ -2414,8 +2481,8 @@ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } {
M %N
yyyy %Y
yy %y
- y %y
- gg {}
+ y %y
+ gg {}
} $unquoted]
if { $quoted eq {} } {
set quote '
@@ -2477,8 +2544,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.
@@ -2487,12 +2554,13 @@ proc ::tcl::clock::LoadWindowsDateTimeFormats { locale } {
proc ::tcl::clock::LocalizeFormat { locale format } {
- # message catalog key to cache this format
- set key FORMAT_$format
+ variable McLoaded
- if { [::msgcat::mcexists -exactlocale -exactnamespace $key] } {
- return [mc $key]
+ if { [dict exists $McLoaded $locale FORMAT $format] } {
+ return [dict get $McLoaded $locale FORMAT $format]
}
+ set inFormat $format
+
# Handle locale-dependent format groups by mapping them out of the format
# string. Note that the order of the [string map] operations is
# significant because later formats can refer to later ones; for example
@@ -2515,7 +2583,7 @@ proc ::tcl::clock::LocalizeFormat { locale format } {
lappend list %Ec [string map $list [mc LOCALE_DATE_TIME_FORMAT]]
set format [string map $list $format]
- ::msgcat::mcset $locale $key $format
+ dict set McLoaded $locale FORMAT $inFormat $format
return $format
}
@@ -2537,6 +2605,7 @@ proc ::tcl::clock::LocalizeFormat { locale format } {
#----------------------------------------------------------------------
proc ::tcl::clock::FormatNumericTimeZone { z } {
+
if { $z < 0 } {
set z [expr { - $z }]
set retval -
@@ -2551,6 +2620,7 @@ proc ::tcl::clock::FormatNumericTimeZone { z } {
append retval [::format %02d $z]
}
return $retval
+
}
#----------------------------------------------------------------------
@@ -2575,6 +2645,7 @@ proc ::tcl::clock::FormatNumericTimeZone { z } {
#----------------------------------------------------------------------
proc ::tcl::clock::FormatStarDate { date } {
+
variable Roddenberry
# Get day of year, zero based
@@ -2610,7 +2681,7 @@ proc ::tcl::clock::FormatStarDate { date } {
#
# Parameters:
# year - Year from the Roddenberry epoch
-# fractYear - Fraction of a year specifying the day of year.
+# fractYear - Fraction of a year specifiying the day of year.
# fractDay - Fraction of a day
#
# Results:
@@ -2625,6 +2696,7 @@ proc ::tcl::clock::FormatStarDate { date } {
#----------------------------------------------------------------------
proc ::tcl::clock::ParseStarDate { year fractYear fractDay } {
+
variable Roddenberry
# Build a tentative date from year and fraction.
@@ -2640,8 +2712,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 \
@@ -2654,11 +2726,10 @@ 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 }]
+
}
#----------------------------------------------------------------------
@@ -2671,8 +2742,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.
#
#----------------------------------------------------------------------
@@ -2693,8 +2764,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.
@@ -2711,17 +2782,18 @@ 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 }]
@@ -2729,6 +2801,7 @@ proc ::tcl::clock::InterpretTwoDigitYear { date baseTime
dict set date $fourDigitField [expr { $yr + 1900 }]
}
return $date
+
}
#----------------------------------------------------------------------
@@ -2754,6 +2827,7 @@ 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
@@ -2767,6 +2841,7 @@ proc ::tcl::clock::AssignBaseYear { date baseTime timezone changeover } {
dict set date year [dict get $date2 year]
return $date
+
}
#----------------------------------------------------------------------
@@ -2793,6 +2868,7 @@ 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
@@ -2829,6 +2905,7 @@ 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
@@ -2838,6 +2915,7 @@ 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
+
}
#----------------------------------------------------------------------
@@ -2863,6 +2941,7 @@ 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
@@ -2899,6 +2978,7 @@ 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
@@ -2928,6 +3008,7 @@ 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
@@ -2937,6 +3018,7 @@ proc ::tcl::clock::InterpretHMSP { date } {
}
dict set date hour $hr
return [InterpretHMS $date[set date {}]]
+
}
#----------------------------------------------------------------------
@@ -2959,11 +3041,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] }]
+
}
#----------------------------------------------------------------------
@@ -2980,12 +3062,13 @@ proc ::tcl::clock::InterpretHMS { date } {
# Returns the system time zone.
#
# Side effects:
-# Stores the system time zone in the 'CachedSystemTimeZone'
+# Stores the sustem time zone in the 'CachedSystemTimeZone'
# variable, since determining it may be an expensive process.
#
#----------------------------------------------------------------------
proc ::tcl::clock::GetSystemTimeZone {} {
+
variable CachedSystemTimeZone
variable TimeZoneBad
@@ -2993,20 +3076,21 @@ proc ::tcl::clock::GetSystemTimeZone {} {
set timezone $result
} elseif {[set result [getenv TZ]] ne {}} {
set timezone $result
- } else {
- # 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
- }
+ }
+ 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
}
if { ![dict exists $TimeZoneBad $timezone] } {
@@ -3017,69 +3101,76 @@ 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]
- } then {
+ } elseif { [regexp {^([-+])(\d\d)(?::?(\d\d)(?::?(\d\d))?)?} $timezone \
+ -> s hh mm ss] } {
+
# Make a fixed offset
::scan $hh %d hh
@@ -3100,20 +3191,24 @@ 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]
}]
- } then {
+ } {
return -code error \
-errorcode [list CLOCK badTimeZone $timezone] \
"time zone \"$timezone\" not found"
}
+
} elseif { ![catch {ParsePosixTimeZone $timezone} tzfields] } {
+
# This looks like a POSIX time zone - try to process it
if { [catch {ProcessPosixTimeZone $tzfields} data opts] } {
@@ -3126,8 +3221,9 @@ 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] } {
@@ -3151,22 +3247,25 @@ 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
@@ -3197,14 +3296,16 @@ 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]
@@ -3252,11 +3353,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] \
@@ -3265,11 +3366,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] \
@@ -3280,6 +3381,7 @@ proc ::tcl::clock::GuessWindowsTimeZone {} {
}
return [dict get $WinZoneInfo $data]
+
}
#----------------------------------------------------------------------
@@ -3308,18 +3410,18 @@ proc ::tcl::clock::LoadTimeZoneFile { fileName } {
return
}
- # Since an unsafe interp uses the [clock] command in the parent, 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"
}
- try {
- source [file join $DataDir $fileName]
- } on error {} {
+ if { [catch {
+ source -encoding utf-8 [file join $DataDir $fileName]
+ }] } {
return -code error \
-errorcode [list CLOCK badTimeZone :$fileName] \
"time zone \":$fileName\" not found"
@@ -3337,8 +3439,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
@@ -3346,11 +3448,12 @@ proc ::tcl::clock::LoadTimeZoneFile { fileName } {
#----------------------------------------------------------------------
proc ::tcl::clock::LoadZoneinfoFile { fileName } {
+
variable ZoneinfoPaths
- # Since an unsafe interp uses the [clock] command in the parent, 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 \
@@ -3379,14 +3482,15 @@ 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
@@ -3405,8 +3509,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 fields 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
@@ -3424,19 +3528,18 @@ 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}} {
@@ -3456,13 +3559,13 @@ proc ::tcl::clock::ReadZoneinfoFile {fileName fname} {
set times [linsert $times 0 $MINWIDE]
set codes {}
foreach c $tempCodes {
- lappend codes [expr { $c & 0xFF }]
+ lappend codes [expr { $c & 0xff }]
}
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
@@ -3470,10 +3573,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}
@@ -3503,8 +3606,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}} {
@@ -3537,8 +3640,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.
@@ -3595,12 +3698,13 @@ 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
@@ -3613,7 +3717,7 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
# 4 - Standard time zone offset, minutes
: ([[:digit:]]{1,2})
(?:
- # 5 - Standard time zone offset, seconds
+ # 5 - Standard time zone offset, seconds
: ([[:digit:]]{1,2} )
)?
)?
@@ -3621,7 +3725,7 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
# 6 - DST time zone name
([[:alpha:]]+ | <[-+[:alnum:]]+>)
(?:
- (?:
+ (?:
# 7 - DST time zone offset, signum
([-+]?)
# 8 - DST time zone offset, hours
@@ -3630,17 +3734,17 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
# 9 - DST time zone offset, minutes
: ([[:digit:]]{1,2})
(?:
- # 10 - DST time zone offset, seconds
+ # 10 - DST time zone offset, seconds
: ([[:digit:]]{1,2})
)?
)?
)?
- (?:
+ (?:
,
(?:
# 11 - Optional J in n and Jn form 12 - Day of year
- ( J ? ) ( [[:digit:]]+ )
- | M
+ ( J ? ) ( [[:digit:]]+ )
+ | M
# 13 - Month number 14 - Week of month 15 - Day of week
( [[:digit:]] + )
[.] ( [[:digit:]] + )
@@ -3649,7 +3753,7 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
(?:
# 16 - Start time of DST - hours
/ ( [[:digit:]]{1,2} )
- (?:
+ (?:
# 17 - Start time of DST - minutes
: ( [[:digit:]]{1,2} )
(?:
@@ -3661,8 +3765,8 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
,
(?:
# 19 - Optional J in n and Jn form 20 - Day of year
- ( J ? ) ( [[:digit:]]+ )
- | M
+ ( J ? ) ( [[:digit:]]+ )
+ | M
# 21 - Month number 22 - Week of month 23 - Day of week
( [[:digit:]] + )
[.] ( [[:digit:]] + )
@@ -3671,7 +3775,7 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
(?:
# 24 - End time of DST - hours
/ ( [[:digit:]]{1,2} )
- (?:
+ (?:
# 25 - End time of DST - minutes
: ( [[:digit:]]{1,2} )
(?:
@@ -3680,9 +3784,9 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
)?
)?
)?
- )?
+ )?
)?
- )?
+ )?
$
} $tz -> x(stdName) x(stdSignum) x(stdHours) x(stdMinutes) x(stdSeconds) \
x(dstName) x(dstSignum) x(dstHours) x(dstMinutes) x(dstSeconds) \
@@ -3692,21 +3796,27 @@ 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'
@@ -3720,6 +3830,7 @@ proc ::tcl::clock::ParsePosixTimeZone { tz } {
#----------------------------------------------------------------------
proc ::tcl::clock::ProcessPosixTimeZone { z } {
+
variable MINWIDE
variable TZData
@@ -3745,9 +3856,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
@@ -3781,9 +3892,9 @@ 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
@@ -3792,10 +3903,8 @@ proc ::tcl::clock::ProcessPosixTimeZone { z } {
# 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 {}
- } then {
+ if { [dict get $z startDayOfYear] eq {}
+ && [dict get $z startMonth] eq {} } {
if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} {
# EU
dict set z startWeekOfMonth 5
@@ -3814,10 +3923,8 @@ 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 {}
- } then {
+ if { [dict get $z endDayOfYear] eq {}
+ && [dict get $z endMonth] eq {} } {
if {($stdSignum * $stdHours>=0) && ($stdSignum * $stdHours<=12)} {
# EU
dict set z endMonth 10
@@ -3857,14 +3964,15 @@ 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.
@@ -3874,8 +3982,8 @@ 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.
#
#----------------------------------------------------------------------
@@ -3899,6 +4007,7 @@ 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]
@@ -3913,9 +4022,8 @@ 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 {} } {
@@ -3937,6 +4045,7 @@ proc ::tcl::clock::DeterminePosixDSTTime { z bound y } {
}
set tod [expr { ( $h * 60 + $m ) * 60 + $s }]
return [expr { $seconds + $tod }]
+
}
#----------------------------------------------------------------------
@@ -3954,26 +4063,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
+
}
#----------------------------------------------------------------------
@@ -3991,9 +4100,10 @@ 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.
@@ -4004,6 +4114,7 @@ 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] {
@@ -4019,25 +4130,21 @@ 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
@@ -4048,8 +4155,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'
@@ -4068,9 +4175,10 @@ 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]
@@ -4086,6 +4194,7 @@ proc ::tcl::clock::GetJulianDayFromEraYearMonthWeekDay {date changeover} {
[dict get $date2 julianDay]]
dict set date julianDay [expr { $wd0 + 7 * $week }]
return $date
+
}
#----------------------------------------------------------------------
@@ -4108,6 +4217,7 @@ 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]}]
@@ -4127,14 +4237,15 @@ 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
@@ -4149,16 +4260,18 @@ 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
@@ -4166,8 +4279,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.
@@ -4175,6 +4288,7 @@ proc ::tcl::clock::WeekdayOnOrBefore { weekday j } {
#----------------------------------------------------------------------
proc ::tcl::clock::BSearch { list key } {
+
if {[llength $list] == 0} {
return -1
}
@@ -4186,12 +4300,13 @@ 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] } {
@@ -4235,21 +4350,22 @@ 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 \
-errorcode [list CLOCK wrongNumArgs] \
"wrong \# args: should be\
- \"$cmdName clockval ?number units?...\
- ?-gmt boolean? ?-locale LOCALE? ?-timezone ZONE?\""
+ \"$cmdName clockval ?number units?...\
+ ?-gmt boolean? ?-locale LOCALE? ?-timezone ZONE?\""
}
if { [catch { expr {wide($clockval)} } result] } {
return -code error $result
@@ -4261,12 +4377,16 @@ 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 saw(-gmt) {}
set gmt $b
}
-l - -lo - -loc - -loca - -local - -locale {
@@ -4274,13 +4394,13 @@ proc ::tcl::clock::add { clockval args } {
}
-t - -ti - -tim - -time - -timez - -timezo - -timezon -
-timezone {
- set saw(-timezone) {}
set timezone $b
}
default {
- throw [list CLOCK badOption $a] \
- "bad option \"$a\":\
- must be -gmt, -locale or -timezone"
+ return -code error \
+ -errorcode [list CLOCK badSwitch $a] \
+ "bad switch \"$a\",\
+ must be -gmt, -locale or -timezone"
}
}
}
@@ -4294,15 +4414,19 @@ 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 -strict $gmt] } {
- return -code error "expected boolean value but got \"$gmt\""
- } elseif { $gmt } {
- set timezone :GMT
+ if { ![string is boolean $gmt] } {
+ return -code error \
+ "expected boolean value but got \"$gmt\""
+ } else {
+ if { $gmt } {
+ set timezone :GMT
+ }
}
- EnterLocale $locale
+ EnterLocale $locale oldLocale
set changeover [mc GREGORIAN_CHANGE_DATE]
@@ -4311,25 +4435,29 @@ proc ::tcl::clock::add { clockval args } {
return -options $opts $retval
}
- try {
+ set status [catch {
+
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 {
@@ -4343,18 +4471,31 @@ proc ::tcl::clock::add { clockval args } {
}
default {
- throw [list CLOCK badUnit $unit] \
- "unknown unit \"$unit\", must be \
- years, months, weeks, days, hours, minutes or seconds"
+ 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]
}
}
}
- return $clockval
- } trap CLOCK {result opts} {
- # Conceal the innards of [clock] when it's an expected error
- dict unset opts -errorinfo
+ } result opts]
+
+ # Restore the locale
+
+ if { [info exists oldLocale] } {
+ mclocale $oldLocale
+ }
+
+ if { $status == 1 } {
+ if { [lindex [dict get $opts -errorcode] 0] eq {CLOCK} } {
+ dict unset opts -errorinfo
+ }
return -options $opts $result
+ } else {
+ return $clockval
}
+
}
#----------------------------------------------------------------------
@@ -4379,6 +4520,7 @@ proc ::tcl::clock::add { clockval args } {
#----------------------------------------------------------------------
proc ::tcl::clock::AddMonths { months clockval timezone changeover } {
+
variable DaysInRomanMonthInCommonYear
variable DaysInRomanMonthInLeapYear
variable TZData
@@ -4386,9 +4528,8 @@ 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
@@ -4417,11 +4558,10 @@ 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]
@@ -4433,8 +4573,8 @@ proc ::tcl::clock::AddMonths { months clockval timezone changeover } {
#
# 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)
@@ -4444,7 +4584,8 @@ 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.
@@ -4452,14 +4593,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
@@ -4468,11 +4609,10 @@ 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]
@@ -4482,37 +4622,35 @@ proc ::tcl::clock::AddDays { days clockval timezone changeover } {
#----------------------------------------------------------------------
#
-# ChangeCurrentLocale --
+# mc --
#
-# The global locale was changed within msgcat.
-# Clears the buffered parse functions of the current locale.
+# Wrapper around ::msgcat::mc that caches the result according
+# to the locale.
#
# Parameters:
-# loclist (ignored)
+# Accepts the name of the message to retrieve.
#
# Results:
-# None.
+# Returns the message text.
#
# Side effects:
-# Buffered parse functions are cleared.
+# Caches the message text.
+#
+# Notes:
+# Only the single-argument version of [mc] is supported.
#
#----------------------------------------------------------------------
-proc ::tcl::clock::ChangeCurrentLocale {args} {
- variable FormatProc
- variable LocaleNumeralCache
- variable CachedSystemTimeZone
- variable TimeZoneBad
-
- foreach p [info procs [namespace current]::scanproc'*'current] {
- rename $p {}
- }
- foreach p [info procs [namespace current]::formatproc'*'current] {
- rename $p {}
+proc ::tcl::clock::mc { name } {
+ variable McLoaded
+ 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
}
-
- catch {array unset FormatProc *'current}
- set LocaleNumeralCache {}
}
#----------------------------------------------------------------------
@@ -4533,8 +4671,10 @@ proc ::tcl::clock::ChangeCurrentLocale {args} {
#----------------------------------------------------------------------
proc ::tcl::clock::ClearCaches {} {
+
variable FormatProc
variable LocaleNumeralCache
+ variable McLoaded
variable CachedSystemTimeZone
variable TimeZoneBad
@@ -4547,7 +4687,9 @@ proc ::tcl::clock::ClearCaches {} {
catch {unset FormatProc}
set LocaleNumeralCache {}
+ set McLoaded {}
catch {unset CachedSystemTimeZone}
set TimeZoneBad {}
InitTZData
+
}
diff --git a/library/cookiejar/cookiejar.tcl b/library/cookiejar/cookiejar.tcl
deleted file mode 100644
index 85f73b4..0000000
--- a/library/cookiejar/cookiejar.tcl
+++ /dev/null
@@ -1,746 +0,0 @@
-# cookiejar.tcl --
-#
-# Implementation of an HTTP cookie storage engine using SQLite. The
-# implementation is done as a TclOO class, and includes a punycode
-# encoder and decoder (though only the encoder is currently used).
-#
-# See the file "license.terms" for information on usage and redistribution of
-# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-
-# Dependencies
-package require Tcl 8.6
-package require http 2.8.4
-package require sqlite3
-package require tcl::idna 1.0
-
-#
-# Configuration for the cookiejar package, plus basic support procedures.
-#
-
-# This is the class that we are creating
-if {![llength [info commands ::http::cookiejar]]} {
- ::oo::class create ::http::cookiejar
-}
-
-namespace eval [info object namespace ::http::cookiejar] {
- proc setInt {*var val} {
- upvar 1 ${*var} var
- if {[catch {incr dummy $val} msg]} {
- return -code error $msg
- }
- set var $val
- }
- proc setInterval {trigger *var val} {
- upvar 1 ${*var} var
- if {![string is integer -strict $val] || $val < 1} {
- return -code error "expected positive integer but got \"$val\""
- }
- set var $val
- {*}$trigger
- }
- proc setBool {*var val} {
- upvar 1 ${*var} var
- if {[catch {if {$val} {}} msg]} {
- return -code error $msg
- }
- set var [expr {!!$val}]
- }
-
- proc setLog {*var val} {
- upvar 1 ${*var} var
- set var [::tcl::prefix match -message "log level" \
- {debug info warn error} $val]
- }
-
- # Keep this in sync with pkgIndex.tcl and with the install directories in
- # Makefiles
- variable version 0.2.0
-
- variable domainlist \
- https://publicsuffix.org/list/public_suffix_list.dat
- variable domainfile \
- [file join [file dirname [info script]] public_suffix_list.dat.gz]
- # The list is directed to from http://publicsuffix.org/list/
- variable loglevel info
- variable vacuumtrigger 200
- variable retainlimit 100
- variable offline false
- variable purgeinterval 60000
- variable refreshinterval 10000000
- variable domaincache {}
-
- # Some support procedures, none particularly useful in general
- namespace eval support {
- # Set up a logger if the http package isn't actually loaded yet.
- if {![llength [info commands ::http::Log]]} {
- proc ::http::Log args {
- # Do nothing by default...
- }
- }
-
- namespace export *
- proc locn {secure domain path {key ""}} {
- if {$key eq ""} {
- format "%s://%s%s" [expr {$secure?"https":"http"}] \
- [::tcl::idna encode $domain] $path
- } else {
- format "%s://%s%s?%s" \
- [expr {$secure?"https":"http"}] [::tcl::idna encode $domain] \
- $path $key
- }
- }
- proc splitDomain domain {
- set pieces [split $domain "."]
- for {set i [llength $pieces]} {[incr i -1] >= 0} {} {
- lappend result [join [lrange $pieces $i end] "."]
- }
- return $result
- }
- proc splitPath path {
- set pieces [split [string trimleft $path "/"] "/"]
- set result /
- for {set j 0} {$j < [llength $pieces]} {incr j} {
- lappend result /[join [lrange $pieces 0 $j] "/"]
- }
- return $result
- }
- proc isoNow {} {
- set ms [clock milliseconds]
- set ts [expr {$ms / 1000}]
- set ms [format %03d [expr {$ms % 1000}]]
- clock format $ts -format "%Y%m%dT%H%M%S.${ms}Z" -gmt 1
- }
- proc log {level msg args} {
- namespace upvar [info object namespace ::http::cookiejar] \
- loglevel loglevel
- set who [uplevel 1 self class]
- set mth [uplevel 1 self method]
- set map {debug 0 info 1 warn 2 error 3}
- if {[string map $map $level] >= [string map $map $loglevel]} {
- set msg [format $msg {*}$args]
- set LVL [string toupper $level]
- ::http::Log "[isoNow] $LVL $who $mth - $msg"
- }
- }
- }
-}
-
-# Now we have enough information to provide the package.
-package provide cookiejar \
- [set [info object namespace ::http::cookiejar]::version]
-
-# The implementation of the cookiejar package
-::oo::define ::http::cookiejar {
- self {
- method configure {{optionName "\x00\x00"} {optionValue "\x00\x00"}} {
- set tbl {
- -domainfile {domainfile set}
- -domainlist {domainlist set}
- -domainrefresh {refreshinterval setInterval}
- -loglevel {loglevel setLog}
- -offline {offline setBool}
- -purgeold {purgeinterval setInterval}
- -retain {retainlimit setInt}
- -vacuumtrigger {vacuumtrigger setInt}
- }
- dict lappend tbl -domainrefresh [namespace code {
- my IntervalTrigger PostponeRefresh
- }]
- dict lappend tbl -purgeold [namespace code {
- my IntervalTrigger PostponePurge
- }]
- if {$optionName eq "\x00\x00"} {
- return [dict keys $tbl]
- }
- set opt [::tcl::prefix match -message "option" \
- [dict keys $tbl] $optionName]
- set setter [lassign [dict get $tbl $opt] varname]
- namespace upvar [namespace current] $varname var
- if {$optionValue ne "\x00\x00"} {
- {*}$setter var $optionValue
- }
- return $var
- }
-
- method IntervalTrigger {method} {
- # TODO: handle subclassing
- foreach obj [info class instances [self]] {
- [info object namespace $obj]::my $method
- }
- }
- }
-
- variable purgeTimer deletions refreshTimer
- constructor {{path ""}} {
- namespace import [info object namespace [self class]]::support::*
-
- if {$path eq ""} {
- sqlite3 [namespace current]::db :memory:
- set storeorigin "constructed cookie store in memory"
- } else {
- sqlite3 [namespace current]::db $path
- db timeout 500
- set storeorigin "loaded cookie store from $path"
- }
-
- set deletions 0
- db transaction {
- db eval {
- --;# Store the persistent cookies in this table.
- --;# Deletion policy: once they expire, or if explicitly
- --;# killed.
- CREATE TABLE IF NOT EXISTS persistentCookies (
- id INTEGER PRIMARY KEY,
- secure INTEGER NOT NULL,
- domain TEXT NOT NULL COLLATE NOCASE,
- path TEXT NOT NULL,
- key TEXT NOT NULL,
- value TEXT NOT NULL,
- originonly INTEGER NOT NULL,
- expiry INTEGER NOT NULL,
- lastuse INTEGER NOT NULL,
- creation INTEGER NOT NULL);
- CREATE UNIQUE INDEX IF NOT EXISTS persistentUnique
- ON persistentCookies (domain, path, key);
- CREATE INDEX IF NOT EXISTS persistentLookup
- ON persistentCookies (domain, path);
-
- --;# Store the session cookies in this table.
- --;# Deletion policy: at cookiejar instance deletion, if
- --;# explicitly killed, or if the number of session cookies is
- --;# too large and the cookie has not been used recently.
- CREATE TEMP TABLE sessionCookies (
- id INTEGER PRIMARY KEY,
- secure INTEGER NOT NULL,
- domain TEXT NOT NULL COLLATE NOCASE,
- path TEXT NOT NULL,
- key TEXT NOT NULL,
- originonly INTEGER NOT NULL,
- value TEXT NOT NULL,
- lastuse INTEGER NOT NULL,
- creation INTEGER NOT NULL);
- CREATE UNIQUE INDEX sessionUnique
- ON sessionCookies (domain, path, key);
- CREATE INDEX sessionLookup ON sessionCookies (domain, path);
-
- --;# View to allow for simple looking up of a cookie.
- --;# Deletion policy: NOT SUPPORTED via this view.
- CREATE TEMP VIEW cookies AS
- SELECT id, domain, (
- CASE originonly WHEN 1 THEN path ELSE '.' || path END
- ) AS path, key, value, secure, 1 AS persistent
- FROM persistentCookies
- UNION
- SELECT id, domain, (
- CASE originonly WHEN 1 THEN path ELSE '.' || path END
- ) AS path, key, value, secure, 0 AS persistent
- FROM sessionCookies;
-
- --;# Encoded domain permission policy; if forbidden is 1, no
- --;# cookie may be ever set for the domain, and if forbidden
- --;# is 0, cookies *may* be created for the domain (overriding
- --;# the forbiddenSuper table).
- --;# Deletion policy: normally not modified.
- CREATE TABLE IF NOT EXISTS domains (
- domain TEXT PRIMARY KEY NOT NULL,
- forbidden INTEGER NOT NULL);
-
- --;# Domains that may not have a cookie defined for direct
- --;# child domains of them.
- --;# Deletion policy: normally not modified.
- CREATE TABLE IF NOT EXISTS forbiddenSuper (
- domain TEXT PRIMARY KEY);
-
- --;# When we last retrieved the domain list.
- CREATE TABLE IF NOT EXISTS domainCacheMetadata (
- id INTEGER PRIMARY KEY,
- retrievalDate INTEGER,
- installDate INTEGER);
- }
-
- set cookieCount "no"
- db eval {
- SELECT COUNT(*) AS cookieCount FROM persistentCookies
- }
- log info "%s with %s entries" $storeorigin $cookieCount
-
- my PostponePurge
-
- if {$path ne ""} {
- if {[db exists {SELECT 1 FROM domains}]} {
- my RefreshDomains
- } else {
- my InitDomainList
- my PostponeRefresh
- }
- } else {
- set data [my GetDomainListOffline metadata]
- my InstallDomainData $data $metadata
- my PostponeRefresh
- }
- }
- }
-
- method PostponePurge {} {
- namespace upvar [info object namespace [self class]] \
- purgeinterval interval
- catch {after cancel $purgeTimer}
- set purgeTimer [after $interval [namespace code {my PurgeCookies}]]
- }
-
- method PostponeRefresh {} {
- namespace upvar [info object namespace [self class]] \
- refreshinterval interval
- catch {after cancel $refreshTimer}
- set refreshTimer [after $interval [namespace code {my RefreshDomains}]]
- }
-
- method RefreshDomains {} {
- # TODO: domain list refresh policy
- my PostponeRefresh
- }
-
- method HttpGet {url {timeout 0} {maxRedirects 5}} {
- for {set r 0} {$r < $maxRedirects} {incr r} {
- set tok [::http::geturl $url -timeout $timeout]
- try {
- if {[::http::status $tok] eq "timeout"} {
- return -code error "connection timed out"
- } elseif {[::http::ncode $tok] == 200} {
- return [::http::data $tok]
- } elseif {[::http::ncode $tok] >= 400} {
- return -code error [::http::error $tok]
- } elseif {[dict exists [::http::meta $tok] Location]} {
- set url [dict get [::http::meta $tok] Location]
- continue
- }
- return -code error \
- "unexpected state: [::http::code $tok]"
- } finally {
- ::http::cleanup $tok
- }
- }
- return -code error "too many redirects"
- }
- method GetDomainListOnline {metaVar} {
- upvar 1 $metaVar meta
- namespace upvar [info object namespace [self class]] \
- domainlist url domaincache cache
- lassign $cache when data
- if {$when > [clock seconds] - 3600} {
- log debug "using cached value created at %s" \
- [clock format $when -format {%Y%m%dT%H%M%SZ} -gmt 1]
- dict set meta retrievalDate $when
- return $data
- }
- log debug "loading domain list from %s" $url
- try {
- set when [clock seconds]
- set data [my HttpGet $url]
- set cache [list $when $data]
- # TODO: Should we use the Last-Modified header instead?
- dict set meta retrievalDate $when
- return $data
- } on error msg {
- log error "failed to fetch list of forbidden cookie domains from %s: %s" \
- $url $msg
- return {}
- }
- }
- method GetDomainListOffline {metaVar} {
- upvar 1 $metaVar meta
- namespace upvar [info object namespace [self class]] \
- domainfile filename
- log debug "loading domain list from %s" $filename
- try {
- set f [open $filename]
- try {
- if {[string match *.gz $filename]} {
- zlib push gunzip $f
- }
- fconfigure $f -encoding utf-8
- dict set meta retrievalDate [file mtime $filename]
- return [read $f]
- } finally {
- close $f
- }
- } on error {msg opt} {
- log error "failed to read list of forbidden cookie domains from %s: %s" \
- $filename $msg
- return -options $opt $msg
- }
- }
- method InitDomainList {} {
- namespace upvar [info object namespace [self class]] \
- offline offline
- if {!$offline} {
- try {
- set data [my GetDomainListOnline metadata]
- if {[string length $data]} {
- my InstallDomainData $data $metadata
- return
- }
- } on error {} {
- log warn "attempting to fall back to built in version"
- }
- }
- set data [my GetDomainListOffline metadata]
- my InstallDomainData $data $metadata
- }
-
- method InstallDomainData {data meta} {
- set n [db total_changes]
- db transaction {
- foreach line [split $data "\n"] {
- if {[string trim $line] eq ""} {
- continue
- } elseif {[string match //* $line]} {
- continue
- } elseif {[string match !* $line]} {
- set line [string range $line 1 end]
- set idna [string tolower [::tcl::idna encode $line]]
- set utf [::tcl::idna decode [string tolower $line]]
- db eval {
- INSERT OR REPLACE INTO domains (domain, forbidden)
- VALUES ($utf, 0);
- }
- if {$idna ne $utf} {
- db eval {
- INSERT OR REPLACE INTO domains (domain, forbidden)
- VALUES ($idna, 0);
- }
- }
- } else {
- if {[string match {\*.*} $line]} {
- set line [string range $line 2 end]
- set idna [string tolower [::tcl::idna encode $line]]
- set utf [::tcl::idna decode [string tolower $line]]
- db eval {
- INSERT OR REPLACE INTO forbiddenSuper (domain)
- VALUES ($utf);
- }
- if {$idna ne $utf} {
- db eval {
- INSERT OR REPLACE INTO forbiddenSuper (domain)
- VALUES ($idna);
- }
- }
- } else {
- set idna [string tolower [::tcl::idna encode $line]]
- set utf [::tcl::idna decode [string tolower $line]]
- }
- db eval {
- INSERT OR REPLACE INTO domains (domain, forbidden)
- VALUES ($utf, 1);
- }
- if {$idna ne $utf} {
- db eval {
- INSERT OR REPLACE INTO domains (domain, forbidden)
- VALUES ($idna, 1);
- }
- }
- }
- if {$utf ne [::tcl::idna decode [string tolower $idna]]} {
- log warn "mismatch in IDNA handling for %s (%d, %s, %s)" \
- $idna $line $utf [::tcl::idna decode $idna]
- }
- }
-
- dict with meta {
- set installDate [clock seconds]
- db eval {
- INSERT OR REPLACE INTO domainCacheMetadata
- (id, retrievalDate, installDate)
- VALUES (1, $retrievalDate, $installDate);
- }
- }
- }
- set n [expr {[db total_changes] - $n}]
- log info "constructed domain info with %d entries" $n
- }
-
- # This forces the rebuild of the domain data, loading it from
- method forceLoadDomainData {} {
- db transaction {
- db eval {
- DELETE FROM domains;
- DELETE FROM forbiddenSuper;
- INSERT OR REPLACE INTO domainCacheMetadata
- (id, retrievalDate, installDate)
- VALUES (1, -1, -1);
- }
- my InitDomainList
- }
- }
-
- destructor {
- catch {
- after cancel $purgeTimer
- }
- catch {
- after cancel $refreshTimer
- }
- catch {
- db close
- }
- return
- }
-
- method GetCookiesForHostAndPath {listVar secure host path fullhost} {
- upvar 1 $listVar result
- log debug "check for cookies for %s" [locn $secure $host $path]
- set exact [expr {$host eq $fullhost}]
- db eval {
- SELECT key, value FROM persistentCookies
- WHERE domain = $host AND path = $path AND secure <= $secure
- AND (NOT originonly OR domain = $fullhost)
- AND originonly = $exact
- } {
- lappend result $key $value
- db eval {
- UPDATE persistentCookies SET lastuse = $now WHERE id = $id
- }
- }
- set now [clock seconds]
- db eval {
- SELECT id, key, value FROM sessionCookies
- WHERE domain = $host AND path = $path AND secure <= $secure
- AND (NOT originonly OR domain = $fullhost)
- AND originonly = $exact
- } {
- lappend result $key $value
- db eval {
- UPDATE sessionCookies SET lastuse = $now WHERE id = $id
- }
- }
- }
-
- method getCookies {proto host path} {
- set result {}
- set paths [splitPath $path]
- if {[regexp {[^0-9.]} $host]} {
- set domains [splitDomain [string tolower [::tcl::idna encode $host]]]
- } else {
- # Ugh, it's a numeric domain! Restrict it to just itself...
- set domains [list $host]
- }
- set secure [string equal -nocase $proto "https"]
- # Open question: how to move these manipulations into the database
- # engine (if that's where they *should* be).
- #
- # Suggestion from kbk:
- #LENGTH(theColumn) <= LENGTH($queryStr) AND
- #SUBSTR(theColumn, LENGTH($queryStr) LENGTH(theColumn)+1) = $queryStr
- #
- # However, we instead do most of the work in Tcl because that lets us
- # do the splitting exactly right, and it's far easier to work with
- # strings in Tcl than in SQL.
- db transaction {
- foreach domain $domains {
- foreach p $paths {
- my GetCookiesForHostAndPath result $secure $domain $p $host
- }
- }
- return $result
- }
- }
-
- method BadDomain options {
- if {![dict exists $options domain]} {
- log error "no domain present in options"
- return 0
- }
- dict with options {}
- if {$domain ne $origin} {
- log debug "cookie domain varies from origin (%s, %s)" \
- $domain $origin
- if {[string match .* $domain]} {
- set dotd $domain
- } else {
- set dotd .$domain
- }
- if {![string equal -length [string length $dotd] \
- [string reverse $dotd] [string reverse $origin]]} {
- log warn "bad cookie: domain not suffix of origin"
- return 1
- }
- }
- if {![regexp {[^0-9.]} $domain]} {
- if {$domain eq $origin} {
- # May set for itself
- return 0
- }
- log warn "bad cookie: for a numeric address"
- return 1
- }
- db eval {
- SELECT forbidden FROM domains WHERE domain = $domain
- } {
- if {$forbidden} {
- log warn "bad cookie: for a forbidden address"
- }
- return $forbidden
- }
- if {[regexp {^[^.]+\.(.+)$} $domain -> super] && [db exists {
- SELECT 1 FROM forbiddenSuper WHERE domain = $super
- }]} then {
- log warn "bad cookie: for a forbidden address"
- return 1
- }
- return 0
- }
-
- # A defined extension point to allow users to easily impose extra policies
- # on whether to accept cookies from a particular domain and path.
- method policyAllow {operation domain path} {
- return true
- }
-
- method storeCookie {options} {
- db transaction {
- if {[my BadDomain $options]} {
- return
- }
- set now [clock seconds]
- set persistent [dict exists $options expires]
- dict with options {}
- if {!$persistent} {
- if {![my policyAllow session $domain $path]} {
- log warn "bad cookie: $domain prohibited by user policy"
- return
- }
- db eval {
- INSERT OR REPLACE INTO sessionCookies (
- secure, domain, path, key, value, originonly, creation,
- lastuse)
- VALUES ($secure, $domain, $path, $key, $value, $hostonly,
- $now, $now);
- DELETE FROM persistentCookies
- WHERE domain = $domain AND path = $path AND key = $key
- AND secure <= $secure AND originonly = $hostonly
- }
- incr deletions [db changes]
- log debug "defined session cookie for %s" \
- [locn $secure $domain $path $key]
- } elseif {$expires < $now} {
- if {![my policyAllow delete $domain $path]} {
- log warn "bad cookie: $domain prohibited by user policy"
- return
- }
- db eval {
- DELETE FROM persistentCookies
- WHERE domain = $domain AND path = $path AND key = $key
- AND secure <= $secure AND originonly = $hostonly
- }
- set del [db changes]
- db eval {
- DELETE FROM sessionCookies
- WHERE domain = $domain AND path = $path AND key = $key
- AND secure <= $secure AND originonly = $hostonly
- }
- incr deletions [incr del [db changes]]
- log debug "deleted %d cookies for %s" \
- $del [locn $secure $domain $path $key]
- } else {
- if {![my policyAllow set $domain $path]} {
- log warn "bad cookie: $domain prohibited by user policy"
- return
- }
- db eval {
- INSERT OR REPLACE INTO persistentCookies (
- secure, domain, path, key, value, originonly, expiry,
- creation, lastuse)
- VALUES ($secure, $domain, $path, $key, $value, $hostonly,
- $expires, $now, $now);
- DELETE FROM sessionCookies
- WHERE domain = $domain AND path = $path AND key = $key
- AND secure <= $secure AND originonly = $hostonly
- }
- incr deletions [db changes]
- log debug "defined persistent cookie for %s, expires at %s" \
- [locn $secure $domain $path $key] \
- [clock format $expires]
- }
- }
- }
-
- method PurgeCookies {} {
- namespace upvar [info object namespace [self class]] \
- vacuumtrigger trigger retainlimit retain
- my PostponePurge
- set now [clock seconds]
- log debug "purging cookies that expired before %s" [clock format $now]
- db transaction {
- db eval {
- DELETE FROM persistentCookies WHERE expiry < $now
- }
- incr deletions [db changes]
- db eval {
- DELETE FROM persistentCookies WHERE id IN (
- SELECT id FROM persistentCookies ORDER BY lastuse ASC
- LIMIT -1 OFFSET $retain)
- }
- incr deletions [db changes]
- db eval {
- DELETE FROM sessionCookies WHERE id IN (
- SELECT id FROM sessionCookies ORDER BY lastuse
- LIMIT -1 OFFSET $retain)
- }
- incr deletions [db changes]
- }
-
- # Once we've deleted a fair bit, vacuum the database. Must be done
- # outside a transaction.
- if {$deletions > $trigger} {
- set deletions 0
- log debug "vacuuming cookie database"
- catch {
- db eval {
- VACUUM
- }
- }
- }
- }
-
- forward Database db
-
- method lookup {{host ""} {key ""}} {
- set host [string tolower [::tcl::idna encode $host]]
- db transaction {
- if {$host eq ""} {
- set result {}
- db eval {
- SELECT DISTINCT domain FROM cookies
- ORDER BY domain
- } {
- lappend result [::tcl::idna decode [string tolower $domain]]
- }
- return $result
- } elseif {$key eq ""} {
- set result {}
- db eval {
- SELECT DISTINCT key FROM cookies
- WHERE domain = $host
- ORDER BY key
- } {
- lappend result $key
- }
- return $result
- } else {
- db eval {
- SELECT value FROM cookies
- WHERE domain = $host AND key = $key
- LIMIT 1
- } {
- return $value
- }
- return -code error "no such key for that host"
- }
- }
- }
-}
-
-# Local variables:
-# mode: tcl
-# fill-column: 78
-# End:
diff --git a/library/cookiejar/idna.tcl b/library/cookiejar/idna.tcl
deleted file mode 100644
index dc25cd8..0000000
--- a/library/cookiejar/idna.tcl
+++ /dev/null
@@ -1,292 +0,0 @@
-# idna.tcl --
-#
-# Implementation of IDNA (Internationalized Domain Names for
-# Applications) encoding/decoding system, built on a punycode engine
-# developed directly from the code in RFC 3492, Appendix C (with
-# substantial modifications).
-#
-# This implementation includes code from that RFC, translated to Tcl; the
-# other parts are:
-# Copyright © 2014 Donal K. Fellows
-#
-# See the file "license.terms" for information on usage and redistribution of
-# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-
-namespace eval ::tcl::idna {
- namespace ensemble create -command puny -map {
- encode punyencode
- decode punydecode
- }
- namespace ensemble create -command ::tcl::idna -map {
- encode IDNAencode
- decode IDNAdecode
- puny puny
- version {::apply {{} {package present tcl::idna} ::}}
- }
-
- proc IDNAencode hostname {
- set parts {}
- # Split term from RFC 3490, Sec 3.1
- foreach part [split $hostname "\x2E\u3002\uFF0E\uFF61"] {
- if {[regexp {[^-A-Za-z0-9]} $part]} {
- if {[regexp {[^-A-Za-z0-9\xA1-\uFFFF]} $part ch]} {
- scan $ch %c c
- if {$ch < "!" || $ch > "~"} {
- set ch [format "\\u%04x" $c]
- }
- throw [list IDNA INVALID_NAME_CHARACTER $ch] \
- "bad character \"$ch\" in DNS name"
- }
- set part xn--[punyencode $part]
- # Length restriction from RFC 5890, Sec 2.3.1
- if {[string length $part] > 63} {
- throw [list IDNA OVERLONG_PART $part] \
- "hostname part too long"
- }
- }
- lappend parts $part
- }
- return [join $parts .]
- }
- proc IDNAdecode hostname {
- set parts {}
- # Split term from RFC 3490, Sec 3.1
- foreach part [split $hostname "\x2E\u3002\uFF0E\uFF61"] {
- if {[string match -nocase "xn--*" $part]} {
- set part [punydecode [string range $part 4 end]]
- }
- lappend parts $part
- }
- return [join $parts .]
- }
-
- variable digits [split "abcdefghijklmnopqrstuvwxyz0123456789" ""]
- # Bootstring parameters for Punycode
- variable base 36
- variable tmin 1
- variable tmax 26
- variable skew 38
- variable damp 700
- variable initial_bias 72
- variable initial_n 0x80
-
- variable max_codepoint 0x10FFFF
-
- proc adapt {delta first numchars} {
- variable base
- variable tmin
- variable tmax
- variable damp
- variable skew
-
- set delta [expr {$delta / ($first ? $damp : 2)}]
- incr delta [expr {$delta / $numchars}]
- set k 0
- while {$delta > ($base - $tmin) * $tmax / 2} {
- set delta [expr {$delta / ($base-$tmin)}]
- incr k $base
- }
- return [expr {$k + ($base-$tmin+1) * $delta / ($delta+$skew)}]
- }
-
- # Main punycode encoding function
- proc punyencode {string {case ""}} {
- variable digits
- variable tmin
- variable tmax
- variable base
- variable initial_n
- variable initial_bias
-
- if {![string is boolean $case]} {
- return -code error "\"$case\" must be boolean"
- }
-
- set in {}
- foreach char [set string [split $string ""]] {
- scan $char "%c" ch
- lappend in $ch
- }
- set output {}
-
- # Initialize the state:
- set n $initial_n
- set delta 0
- set bias $initial_bias
-
- # Handle the basic code points:
- foreach ch $string {
- if {$ch < "\x80"} {
- if {$case eq ""} {
- append output $ch
- } elseif {[string is true $case]} {
- append output [string toupper $ch]
- } elseif {[string is false $case]} {
- append output [string tolower $ch]
- }
- }
- }
-
- set b [string length $output]
-
- # h is the number of code points that have been handled, b is the
- # number of basic code points.
-
- if {$b > 0} {
- append output "-"
- }
-
- # Main encoding loop:
-
- for {set h $b} {$h < [llength $in]} {incr delta; incr n} {
- # All non-basic code points < n have been handled already. Find
- # the next larger one:
-
- set m inf
- foreach ch $in {
- if {$ch >= $n && $ch < $m} {
- set m $ch
- }
- }
-
- # Increase delta enough to advance the decoder's <n,i> state to
- # <m,0>, but guard against overflow:
-
- if {$m-$n > (0xFFFFFFFF-$delta)/($h+1)} {
- throw {PUNYCODE OVERFLOW} "overflow in delta computation"
- }
- incr delta [expr {($m-$n) * ($h+1)}]
- set n $m
-
- foreach ch $in {
- if {$ch < $n && ([incr delta] & 0xFFFFFFFF) == 0} {
- throw {PUNYCODE OVERFLOW} "overflow in delta computation"
- }
-
- if {$ch != $n} {
- continue
- }
-
- # Represent delta as a generalized variable-length integer:
-
- for {set q $delta; set k $base} true {incr k $base} {
- set t [expr {min(max($k-$bias, $tmin), $tmax)}]
- if {$q < $t} {
- break
- }
- append output \
- [lindex $digits [expr {$t + ($q-$t)%($base-$t)}]]
- set q [expr {($q-$t) / ($base-$t)}]
- }
-
- append output [lindex $digits $q]
- set bias [adapt $delta [expr {$h==$b}] [expr {$h+1}]]
- set delta 0
- incr h
- }
- }
-
- return $output
- }
-
- # Main punycode decode function
- proc punydecode {string {case ""}} {
- variable tmin
- variable tmax
- variable base
- variable initial_n
- variable initial_bias
- variable max_codepoint
-
- if {![string is boolean $case]} {
- return -code error "\"$case\" must be boolean"
- }
-
- # Initialize the state:
-
- set n $initial_n
- set i 0
- set first 1
- set bias $initial_bias
-
- # Split the string into the "real" ASCII characters and the ones to
- # feed into the main decoder. Note that we don't need to check the
- # result of [regexp] because that RE will technically match any string
- # at all.
-
- regexp {^(?:(.*)-)?([^-]*)$} $string -> pre post
- if {[string is true -strict $case]} {
- set pre [string toupper $pre]
- } elseif {[string is false -strict $case]} {
- set pre [string tolower $pre]
- }
- set output [split $pre ""]
- set out [llength $output]
-
- # Main decoding loop:
-
- for {set in 0} {$in < [string length $post]} {incr in} {
- # Decode a generalized variable-length integer into delta, which
- # gets added to i. The overflow checking is easier if we increase
- # i as we go, then subtract off its starting value at the end to
- # obtain delta.
-
- for {set oldi $i; set w 1; set k $base} 1 {incr in} {
- if {[set ch [string index $post $in]] eq ""} {
- throw {PUNYCODE BAD_INPUT LENGTH} "exceeded input data"
- }
- if {[string match -nocase {[a-z]} $ch]} {
- scan [string toupper $ch] %c digit
- incr digit -65
- } elseif {[string match {[0-9]} $ch]} {
- set digit [expr {$ch + 26}]
- } else {
- throw {PUNYCODE BAD_INPUT CHAR} \
- "bad decode character \"$ch\""
- }
- incr i [expr {$digit * $w}]
- set t [expr {min(max($tmin, $k-$bias), $tmax)}]
- if {$digit < $t} {
- set bias [adapt [expr {$i-$oldi}] $first [incr out]]
- set first 0
- break
- }
- if {[set w [expr {$w * ($base - $t)}]] > 0x7FFFFFFF} {
- throw {PUNYCODE OVERFLOW} \
- "excessively large integer computed in digit decode"
- }
- incr k $base
- }
-
- # i was supposed to wrap around from out+1 to 0, incrementing n
- # each time, so we'll fix that now:
-
- if {[incr n [expr {$i / $out}]] > 0x7FFFFFFF} {
- throw {PUNYCODE OVERFLOW} \
- "excessively large integer computed in character choice"
- } elseif {$n > $max_codepoint} {
- if {$n >= 0x00D800 && $n < 0x00E000} {
- # Bare surrogate?!
- throw {PUNYCODE NON_BMP} \
- [format "unsupported character U+%06x" $n]
- }
- throw {PUNYCODE NON_UNICODE} "bad codepoint $n"
- }
- set i [expr {$i % $out}]
-
- # Insert n at position i of the output:
-
- set output [linsert $output $i [format "%c" $n]]
- incr i
- }
-
- return [join $output ""]
- }
-}
-
-package provide tcl::idna 1.0.1
-
-# Local variables:
-# mode: tcl
-# fill-column: 78
-# End:
diff --git a/library/cookiejar/pkgIndex.tcl b/library/cookiejar/pkgIndex.tcl
deleted file mode 100644
index b1853aa..0000000
--- a/library/cookiejar/pkgIndex.tcl
+++ /dev/null
@@ -1,3 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.6-]} {return}
-package ifneeded cookiejar 0.2.0 [list source [file join $dir cookiejar.tcl]]
-package ifneeded tcl::idna 1.0.1 [list source [file join $dir idna.tcl]]
diff --git a/library/cookiejar/public_suffix_list.dat.gz b/library/cookiejar/public_suffix_list.dat.gz
deleted file mode 100644
index 65bf75a..0000000
--- a/library/cookiejar/public_suffix_list.dat.gz
+++ /dev/null
Binary files differ
diff --git a/library/dde/pkgIndex.tcl b/library/dde/pkgIndex.tcl
index ace1681..114dee6 100644
--- a/library/dde/pkgIndex.tcl
+++ b/library/dde/pkgIndex.tcl
@@ -1,12 +1,7 @@
+if {![package vsatisfies [package provide Tcl] 8]} return
if {[info sharedlibextension] != ".dll"} return
-if {[package vsatisfies [package provide Tcl] 9.0-]} {
- package ifneeded dde 1.4.5 \
- [list load [file join $dir tcl9dde14.dll] Dde]
-} elseif {![package vsatisfies [package provide Tcl] 8.7]
- && [::tcl::pkgconfig get debug]} {
- package ifneeded dde 1.4.5 \
- [list load [file join $dir tcldde14g.dll] Dde]
+if {[info exists ::tcl_platform(debug)]} {
+ package ifneeded dde 1.3.3 [list load [file join $dir tcldde13g.dll] dde]
} else {
- package ifneeded dde 1.4.5 \
- [list load [file join $dir tcldde14.dll] Dde]
+ package ifneeded dde 1.3.3 [list load [file join $dir tcldde13.dll] dde]
}
diff --git a/library/encoding/ascii.enc b/library/encoding/ascii.enc
index 284a9f5..e0320b8 100644
--- a/library/encoding/ascii.enc
+++ b/library/encoding/ascii.enc
@@ -9,7 +9,7 @@ S
0040004100420043004400450046004700480049004A004B004C004D004E004F
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
-0070007100720073007400750076007700780079007A007B007C007D007E007F
+0070007100720073007400750076007700780079007A007B007C007D007E0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
diff --git a/library/encoding/big5.enc b/library/encoding/big5.enc
index d6ff760..26179f4 100644
--- a/library/encoding/big5.enc
+++ b/library/encoding/big5.enc
@@ -10,8 +10,8 @@ M
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
+0080008100820083008400850086008700880089008A008B008C008D008E008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
diff --git a/library/encoding/cns11643.enc b/library/encoding/cns11643.enc
deleted file mode 100644
index 44dd9b7..0000000
--- a/library/encoding/cns11643.enc
+++ /dev/null
@@ -1,1584 +0,0 @@
-# Encoding file: cns11643, double-byte
-D
-2134 0 93
-21
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00004E284E364E3F4E854E054E04518251965338536953B64E2A4E874E4951E2
-4E464E8F4EBC4EBE516651E35204529C53B95902590A5B805DDB5E7A5E7F5EF4
-5F505F515F61961D4E3C4E634E624EA351854EC54ECF4ECE4ECC518451865722
-572351E45205529E529D52FD5300533A5C735346535D538653B7620953CC6C15
-53CE57216C3F5E005F0C623762386534653565E04F0E738D4E974EE04F144EF1
-4EE74EF74EE64F1D4F024F054F2256D8518B518C519951E55213520B52A60000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-22
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000053225304530353075407531E535F536D538953BA53D0598053F653F753F9
-597E53F4597F5B565724590459185932593059345DDF59755E845B825BF95C14
-5FD55FD45FCF625C625E626462615E815E835F0D5F52625A5FCA5FC7623965EE
-624F65E7672F6B7A6C39673F673C6C376C446C45738C75927676909390926C4B
-6C4C4E214E204E224E684E894E984EF94EEF7F5182784EF84F064F034EFC4EEE
-4F1690994F284F1C4F074F1A4EFA4F17514A962351724F3B51B451B351B20000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-23
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00004F6451E84F675214520F5215521852A84F33534B534F518F5350521C538B
-522153BE52AE53D2541653FF538E540054305405541354155445541956E35735
-57365731573258EE59054E545447593656E756E55741597A574C5986574B5752
-5B865F535C1859985C3D5C78598E59A25990598F5C8059A15E085B925C285C2A
-5C8D5EF55F0E5C8B5C895C925FD35FDA5C935FDB5DE0620F625D625F62676257
-9F505E8D65EB65EA5F7867375FD2673267366B226BCE5FEE6C586C516C770000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-24
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006C3C5FFA6C5A5FF76C53706F7072706E6283628C707372B172B26287738F
-627B627A6270793C6288808D808E6272827B65F08D718FB99096909A67454E24
-4E7167554E9C4F454F4A4F394F37674B4F324F426C1A4F444F4B6C6B4F404F35
-4F3151516C6F5150514E6C6D6C87519D6C9C51B551B851EC522352275226521F
-522B522052B452B372C65325533B537473957397739373947392544D75397594
-543A7681793D5444544C5423541A5432544B5421828F54345449545054220000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-25
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000543F5451545A542F8FC956E956F256F356EF56ED56EC56E6574896285744
-573F573C575357564F85575F5743575857574F744F894F8457464F4C573D4F6A
-57425754575558F158F258F0590B9EA656F1593D4F955994598C519E599C51BE
-5235599F5233599B52315989599A530B658853925B8D54875BFE5BFF5BFD5C2B
-54885C845C8E5C9C5465546C5C855DF55E09546F54615E0B54985E925E905F03
-56F75F1E5F6357725FE75FFE5FE65FDC5FCE57805FFC5FDF5FEC5FF657620000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-26
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00005FF25FF05FF95945621359BA59CF623B623C628259C159B659BC6278628B
-59B1629E62A5629B629C6299628D6285629D62755C445C475CAE65F65CA05CB5
-5CAF66F5675B5C9F675467525CA267586744674A67615CB66C7F6C916C9E5E14
-6C6E6C7C6C9F6C755F246C566CA26C795F7D6CA15FE56CAA6CA0601970797077
-707E600A7075707B7264601E72BB72BC72C772B972BE72B66011600C7398601C
-6214623D62AD7593768062BE768376C076C162AE62B377F477F562A97ACC0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-27
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00007ACD7CFA809F80918097809466048286828C65FB8295660B866C66058FB5
-8FBE8FC766F68FC190A990A4678E6792677690A896279626962B963396349629
-4E3D679F4E9D4F934F8A677D67814F6D4F8E4FA04FA24FA14F9F4FA36C1D4F72
-6CEC4F8C51566CD96CB651906CAD6CE76CB751ED51FE522F6CC3523C52345239
-52B952B552BF53556C9D5376537A53936D3053C153C253D554856CCF545F5493
-548954799EFE548F5469546D70915494546A548A708356FD56FB56F872D80000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-28
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000056FC56F6576557815763576772D1576E5778577F73A673A258F3594B594C
-74DD74E8753F59AD753E59C4759859C259B076F176F076F577F859BF77F959C9
-59B859AC7942793F79C559B759D77AFB5B607CFD5B965B9E5B945B9F5B9D80B5
-5C005C1982A082C05C495C4A82985CBB5CC182A782AE82BC5CB95C9E5CB45CBA
-5DF65E135E125E7782C35E9882A25E995E9D5EF8866E5EF98FD25F065F218FCD
-5F255F558FD790B290B45F845F8360306007963D6036963A96434FCD5FE90000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-29
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000603D60084FC94FCB62BA62B24FDC62B762E462A74FDB4FC74FD662D562E1
-62DD62A662C162C562C062DF62E062DE53976589539965A665BA54A165FF54A5
-66176618660165FE54AE670C54B6676B67966782678A54BC67A354BE67A2678F
-54B067F967806B266B276B686B69579D6B816BB46BD1578F57996C1C579A5795
-58F4590D59536C976C6C6CDF5A006CEA59DD6CE46CD86CB26CCE6CC859F2708B
-70887090708F59F570877089708D70815BA8708C5CD05CD872405CD75CCB0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-2A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00007265726672685CC95CC772CD72D372DB5CD472CF73A773A3739E5CDF73AF
-5DF95E2173AA739C5E2075427544753B75415E9B759B759E5F0779C479C379C6
-6037603979C7607279CA604560537ACF7C767C747CFF7CFC6042605F7F5980A8
-6058606680B0624280B362CF80A480B680A780AC630380A65367820E82C4833E
-829C63006313631462FA631582AA62F082C9654365AA82A682B2662166326635
-8FCC8FD98FCA8FD88FCF90B7661D90AD90B99637670F9641963E96B697510000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-2B
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000097634E574E794EB24EB04EAF4EB14FD24FD567E44FBE4FB84FB04FB14FC8
-67F667EE4FC64FCC4FE54FE34FB4516A67B2519F67C651C167CC51C251C35245
-524867C967CA524F67EA67CB52C552CA52C453275358537D6BE053DD53DC53DA
-53D954B96D1F54D054B454CA6D0A54A354DA54A46D1954B2549E549F54B56D1D
-6D4254CD6D1854CC6D03570057AC5791578E578D579257A1579057A657A8709F
-579C579657A770A170B470B570A958F572495909590872705952726E72CA0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-2C
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000059DF72E859EB59EF59F059D55A0D5A0459F95A0259F859E259D959E75B6A
-73B473EB5BAB73C75C1B5C2F73C6663C73CB74EC74EE5CD15CDC5CE65CE15CCD
-76795CE25CDD5CE55DFB5DFA5E1E76F75EA176FA77E75EFC5EFB5F2F78127805
-5F66780F780E7809605C7813604E6051794B794560236031607C605279D66060
-604A60617AD162187B017C7A7C787C797C7F7C807C81631F631762EA63216304
-63057FBE6531654465408014654265BE80C76629661B80C86623662C661A0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-2D
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006630663B661E6637663880C9670E80D780E667E867D6822167C767BC6852
-67BF67D567FE836367FB833A67B168016805680067D782F26B2A6B6B82FB82F6
-82F082EA6BE182E082FA6D236CFF6D146D056D136D066D21884E6D156CAF6CF4
-6D026D458A076D268FE36D448FEE6D2470A590BD70A390D570A270BB70A070AA
-90C891D470A870B670B270A79653964A70B9722E5005723C5013726D5030501B
-72E772ED503372EC72E572E24FF773C473BD73CF73C973C173D0503173CE0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-2E
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000074ED74EB519374EF754975507546754A5261754D75A6525E525F525575A8
-52CD530E76C776FF54E276FD77E6780A54F37804780B78075504781578085511
-79D379D479D079D77A7C54F854E07A7D7A837A8257017AD47AD57AD37AD07AD2
-7AFE7AFC7C777C7C7C7B57B657BF57C757D057B957C1590E594A7F8F80D35A2D
-80CB80D25A0F810980E280DF80C65B6C822482F782D882DD5C565C5482F882FC
-5CEE5CF182E95D0082EE5E2982D0830E82E2830B82FD517986765F6786780000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-2F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000605A60678675867D6088884288666081898C8A0560958A0660978C9F609C
-8FF18FE78FE98FEF90C290BC632C90C690C06336634390CD90C9634B90C4633C
-958163419CEC50324FF9501D4FFF50044FF05003635150024FFC4FF250245008
-5036502E65C35010503850394FFD50564FFB51A351A651A1681A684951C751C9
-5260526452595265526752575263682B5253682F52CF684452CE52D052D152CC
-68266828682E550D54F46825551354EF54F554F9550255006B6D808255180000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-30
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000054F054F66BE86BE355196BE7570557C96D6357B757CD6D0D6D616D9257BE
-57BB6D6D57DB57C857C457C557D157CA57C06D676D605A215A2A6D7C5A1D6D82
-5A0B6D2F6D686D8B6D7E5A226D846D165A246D7B5A145A316D905A2F5A1A5A12
-70DD70CB5A2670E270D75BBC5BBB5BB75C055C065C525C5370C770DA5CFA5CEB
-72425CF35CF55CE95CEF72FA5E2A5E305E2E5E2C5E2F5EAF5EA973D95EFD5F32
-5F8E5F935F8F604F609973D2607E73D46074604B6073607573E874DE60560000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-31
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000060A9608B60A6755B609360AE609E60A7624575C075BF632E75BA63526330
-635B771B6319631B77126331635D6337633563537722635C633F654B78227835
-658B7828659A66506646664E6640782A664B6648795B66606644664D79526837
-682479EC79E0681B683679EA682C681968566847683E681E7A8B681568226827
-685968586855683068236B2E6B2B6B306B6C7B096B8B7C846BE96BEA6BE56D6B
-7C8D7C856D736D577D117D0E6D5D6D566D8F6D5B6D1C6D9A6D9B6D997F610000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-32
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006D816D717F5D7F5B6D726D5C6D9670C470DB70CC70D070E370DF80F270D6
-70EE70D580FB81008201822F727A833372F573028319835173E273EC73D573F9
-73DF73E683228342834E831B73E473E174F3834D831683248320755675557558
-7557755E75C38353831E75B4834B75B18348865376CB76CC772A86967716770F
-869E8687773F772B770E772486857721771877DD86A7869578247836869D7958
-79598843796279DA79D9887679E179E579E879DB886F79E279F08874887C0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-33
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00008A128C477ADA7ADD8CA47ADB7ADC8D788DB57B0D7B0B7B147C8E7C868FF5
-7C877C837C8B90048FFC8FF690D67D2490D990DA90E37D257F627F937F997F97
-90DC90E47FC47FC6800A91D591E28040803C803B80F680FF80EE810481038107
-506A506180F750605053822D505D82278229831F8357505B504A506250158321
-505F506983188358506450465040506E50738684869F869B868986A68692868F
-86A0884F8878887A886E887B88848873555055348A0D8A0B8A19553655350000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-34
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000553055525545550C8FF990099008553990DE9151553B554091DB91DF91DE
-91D691E095859660965957F4965657ED57FD96BD57F8580B5042505958075044
-50665052505450715050507B507C505857E758015079506C507851A851D151CF
-5268527652D45A5553A053C45A385558554C55685A5F55495A6C5A53555D5529
-5A43555455535A44555A5A48553A553F552B57EA5A4C57EF5A695A4757DD57FE
-5A4257DE57E65B6E57E857FF580358F768A6591F5D1A595B595D595E5D0D0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-35
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00005D265A2B5D0F5A3B5D125D235A615A3A5A6E5A4B5A6B5EB45EB95A455A4E
-5A685A3D5A715A3F5A6F5A7560905A735A2C5A595A545A4F5A6360CF60E45BC8
-60DD5BC360B15C5B5C6160CA5D215D0A5D0960C05D2C5D08638A63825D2A5D15
-639E5D105D1363975D2F5D18636F5DE35E395E355E3A5E32639C636D63AE637C
-5EBB5EBA5F345F39638563816391638D6098655360D066656661665B60D760AA
-666260A160A4688760EE689C60E7686E68AE60DE6956686F637E638B68A90000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-36
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000687563796386639368776373636A686B636C68AA637F687163B263BA6896
-688B6366637468A4655A687B654E654D658D658E65AD6B3365C765CA6B9165C9
-6B8D65E366576C2A66636667671A671967166DAC6DE9689E68B6689868736E00
-689A688E68B768DB68A5686C68C168846DDB6DF46895687A68996DF068B868B9
-68706DCF6B356DD06B906BBB6BED6DD76DCD6DE36DC16DC36DCE70F771176DAD
-6E0470F06DB970F36DE770FC6E086E0671136E0A6DB070F66DF86E0C710E0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-37
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006DB1727B6E026E076E096E016E176DFF6E12730A730871037107710170F5
-70F1710870F2710F740170FE7407740073FA731A7310730E740273F374087564
-73FB75CE75D275CF751B752375617568768F756775D37739772F769077317732
-76D576D776D67730773B7726784877407849771E784A784C782678477850784B
-7851784F78427846796B796E796C79F279F879F179F579F379F97A907B357B3B
-7A9A7A937A917AE17B247B337B217B1C7B167B177B367B1F7B2F7C937C990000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-38
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00007C9A7C9C7C947D497C967D347D377D3D7D2D7D367D4C7D457D2C7D487D41
-7D477F3B7D3F7D4A7D3B7D288008801A7F9C801D7F9B8049804580447C9B7FD1
-7FC7812A812E801F801E81318047811A8134811781258119811B831D83718384
-8380837283A18127837983918211839F83AD823A8234832382748385839C83B7
-8658865A8373865786B2838F86AE8395839983758845889C889488A3888F88A5
-88A988A6888A88A0889089928991899483B08A268A328A2883AE83768A1C0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-39
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000086568A2B8A2086C28A2986C586BA86B08A218C3A86B38C5B8C588C7C86BB
-8CA68CAE8CAD8D6588528D7E88958D7C8D7F8D7A8DBD889188A18DC08DBB8EAD
-8EAF8ED6889788A488AC888C88938ED9898289D69012900E90258A27901390EE
-8C3990AB90F78C5D9159915491F291F091E591F68DC28DB995878DC1965A8EDE
-8EDD966E8ED78EE08EE19679900B98E198E6900C9EC49ED24E8090F04E81508F
-50975088508990EC90E950815160915A91535E4251D391F491F151D251D60000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-3A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000527391F9527091EB91F791E853A853A653C5559755DE966D966B559655B4
-96BF55859804559B55A0509B555950945586508B50A355AF557A508E509D5068
-559E509255A9570F570E581A5312581F53A4583C5818583E582655AD583A5645
-5822559358FB5963596455815AA85AA35A825A885AA15A855A9855955A99558E
-5A895A815A965A80581E58275A91582857F5584858255ACF581B5833583F5836
-582E58395A875AA0582C5A7959615A865AAB5AAA5AA45A8D5A7E5A785BD50000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-3B
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00005A7C5AA55AAC5C1E5C5F5C5E5D445D3E5A975D485D1C5AA95D5B5D4D5A8C
-5A9C5D575A935D535D4F5BCD5D3B5D465BD15BCA5E465E475C305E485EC05EBD
-5EBF5D4B5F115D355F3E5F3B5D555F3A5D3A5D525D3D5FA75D5960EA5D396107
-6122610C5D325D3660B360D660D25E4160E360E560E95FAB60C9611160FD60E2
-60CE611E61206121621E611663E263DE63E660F860FC60FE60C163F8611863FE
-63C163BF63F763D1655F6560656163B063CE65D163E863EF667D666B667F0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-3C
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000063CA63E066736681666D6669646163DF671E68ED63DC63C463D863D36903
-63C768FE68E5691E690263D763D9690968CA690065646901691868E268CF659D
-692E68C568FF65D2691C68C3667B6B6F66716B6E666A6BBE67016BF46C2D6904
-6DB66E756E1E68EA6E18690F6E4868F76E4F68E46E426E6A6E706DFE68E16907
-6E6D69086E7B6E7E6E5968EF6E5769146E806E5068FD6E296E766E2A6E4C712A
-68CE7135712C7137711D68F468D1713868D47134712B7133712771246B3B0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-3D
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000712D7232728372827287730673247338732A732C732B6DFC732F73287417
-6E496E88741974386E45741F7414743C73F7741C74157418743974F975246E51
-6E3B6E03756E756D7571758E6E6175E56E286E606E716E6B769476B36E3076D9
-6E657748774977436E776E55774277DF6E66786378766E5A785F786679667971
-712E713179767984797579FF7A0771287A0E7A09724B725A7288728972867285
-7AE77AE27B55733073227B437B577B6C7B427B5373267B417335730C7CA70000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-3E
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00007CA07CA67CA47D74741A7D59742D7D607D577D6C7D7E7D6474207D5A7D5D
-752F756F756C7D767D4D7D7575E67FD37FD675E475D78060804E8145813B7747
-814881428149814081148141774C81EF81F68203786483ED785C83DA841883D2
-8408787084007868785E786284178346841483D38405841F8402841683CD83E6
-7AE6865D86D586E17B447B487B4C7B4E86EE884788467CA27C9E88BB7CA188BF
-88B47D6388B57D56899A8A437D4F7D6D8A5A7D6B7D527D548A358A388A420000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-3F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00008A498A5D8A4B8A3D7F667FA27FA07FA18C608C5E8C7F8C7E8C8380D48CB1
-8D878152814F8D888D83814D813A8D868D8B8D828DCA8DD28204823C8DD48DC9
-8EB0833B83CF83F98EF28EE48EF38EEA83E78EFD83FC8F9D902B902A83C89028
-9029902C840183DD903A90309037903B83CB910A83D683F583C991FE922083DE
-920B84069218922283D5921B920883D1920E9213839A83C3959583EE83C483FB
-968C967B967F968183FE968286E286E686D386E386DA96EE96ED86EB96EC0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-40
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000975F976F86D7976D86D188488856885588BA88D798F088B888C088BE9AA9
-88BC88B79AE04EB7890188C950CC50BC899750AA50B989DB50AB50C350CD517E
-527E52798A588A4452E152E052E7538053AB53AA53A953E055EA8C8055D78CBE
-8CB055C157158D84586C8D89585C58505861586A5869585658605866585F5923
-596659688EEF8EF75ACE8EF95AC55AC38EE58EF55AD08EE88EF68EEB8EF18EEC
-8EF45B745B765BDC5BD75BDA5BDB91045C205D6D5D6690F95D645D6E91000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-41
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00005D605F425F5A5F6E9164915F6130613A612A614361196131921A613D920F
-920C92006408643264389206643192276419921C6411921992176429641D957B
-958D958C643C96876446644796899683643A640796C8656B96F16570656D9770
-65E4669398A998EB9CE69EF9668F4E844EB6669250BF668E50AE694650CA50B4
-50C850C250B050C150BA693150CB50C9693E50B8697C694352786973527C6955
-55DB55CC6985694D69506947696769366964696155BF697D6B446B406B710000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-42
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006B736B9C55C855F255CD6BC155C26BFA6C316C325864584F6EB86EA8586F
-6E916EBB585D6E9A5865585B6EA9586358716EB56E6C6EE85ACB6EDD6EDA6EE6
-6EAC5AB05ABF5AC86ED96EE36EE96EDB5ACA716F5AB65ACD71485A90714A716B
-5BD9714F715771745D635D4A5D6571457151716D5D6872517250724E5E4F7341
-5E4A732E73465EC574275EC674487453743D5FAF745D74566149741E74477443
-74587449612E744C7445743E61297501751E91686223757A75EE760276970000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-43
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00007698641064126409775D77647753775878827890788A6439787A787D6423
-788B787864306428788D788878927881797E798364256427640B7980641B642E
-64217A0F656F65927A1D66867AA17AA466907AE97AEA66997B627B6B67207B5E
-695F7B79694E69627B6F7B686945696A7CAE6942695769597CB069487D906935
-7D8A69337D8B7D997D9569787D877D787D977D897D986976695869417FA3694C
-693B694B7FDD8057694F8163816A816C692F697B693C815D81756B43815F0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-44
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006B48817D816D6BFB6BFC8241844F84846E9B847F6EC88448842A847B8472
-8464842E845C84536EC6844184C86EC184628480843E848384716EA6844A8455
-84586EC36EDC6ED886FC86FD87156E8D871686FF6EBF6EB36ED0885888CF88E0
-6EA371477154715289E78A6A8A80715D8A6F8A6571788A788A7D8A8871587143
-8A648A7E715F8A678C638C88714D8CCD724F8CC9728C8DED7290728E733C7342
-733B733A73408EB1734974448F048F9E8FA090439046904890459040904C0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-45
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000074427446910C9113911574FF916B9167925D9255923569839259922F923C
-928F925C926A9262925F926B926E923B92449241959A7699959976DD7755775F
-968F77529696775A7769776796F496FC776D9755788797797894788F788497EE
-97F57886980B788398F37899788098F798FF98F5798298EC98F17A117A18999A
-7A129AE29B3D9B5D9CE87A1B9CEB9CEF9CEE9E819F1450D050D950DC50D87B69
-50E150EB7B737B7150F450E250DE7B767B637CB251F47CAF7D887D8652ED0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-46
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000052EA7D7F53327D7A53AE53B07D8355FB5603560B7D8456077D9255F87F6B
-5628561E7F6C5618561156515605571758928164588C817758785884587358AD
-58975895587758725896588D59108161596C82495AE782405AE4824584F15AEF
-5626847684795AF05D7B84655D83844084865D8B5D8C844D5D785E5284598474
-5ED05ECF85075FB35FB4843A8434847A617B8478616F6181613C614261386133
-844261606169617D6186622C62288452644C84C56457647C8447843664550000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-47
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000064626471646A6456643B6481846E644F647E646486F7870C86FA86D686F5
-657186F8870E66A5669A669C870D66A688D666A4698F69C569C8699269B288CC
-88D0898569E369C069D669D1699F69A269D289DC89E68A7669E169D5699D8A3F
-8A7769988A846B746BA18A816EF06EF38C3C8C4B6F1B6F0C6F1D6F346F286F17
-8C856F446F426F046F116EFA6F4A7191718E8D93718B718D717F718C717E717C
-71838DEE71888DE98DE372948DE773557353734F7354746C7465746674610000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-48
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000746B746874768F0B7460903F74747506760E91107607910F911176B99114
-76B776E2916E7774777777767775923A777877719265777A715B777B78A678AE
-78B8926C924F926078B178AF923679897987923192547A2992507A2A924E7A2D
-7A2C92567A32959F7AEC7AF07B817B9E7B8396917B9296CE7BA37B9F7B9396F5
-7B867CB87CB79772980F980D980E98AC7DC87DB699AF7DD199B07DA87DAB9AAB
-7DB37DCD9CED7DCF7DA49EFD50E67F417F6F7F7150F350DB50EA50DD50E40000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-49
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000050D38023805B50EF8061805F818152805281818482135330824A824C5615
-560C561284BD8495561C849284C35602849684A584B584B384A384E484D884D5
-589884B784AD84DA84938736587A58875891873D872B87478739587B8745871D
-58FE88FF88EA5AEE88F55AD5890088ED890388E95AF35AE289EA5ADB8A9B8A8E
-8AA25AD98A9C8A948A908AA98AAC5C638A9F5D805D7D8A9D5D7A8C675D775D8A
-8CD08CD68CD48D988D9A8D975D7F5E585E598E0B8E088E018EB48EB35EDC0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-4A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00008FA18FA25ED2905A5F449061905F5FB6612C9125917B9176917C61739289
-92F692B192AD929292819284617A92AE9290929E616A6161615695A295A7622B
-642B644D645B645D96A0969D969F96D0647D96D1646664A6975964829764645C
-644B64539819645098149815981A646B645964656477990665A098F89901669F
-99BE99BC99B799B699C069C999B869CE699669B099C469BC99BF69999ADA9AE4
-9AE99AE89AEA9AE569BF9B2669BD69A49B4069B969CA699A69CF69B369930000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-4B
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000069AA9EBD699E69D969976990510E69B550F769C650FC510D510151DA51D9
-51DB5286528E52EE533353B16EF15647562D56546F37564B5652563156445656
-5650562B6F18564D5637564F58A258B76F7358B26EEE58AA58B558B06F3C58B4
-58A458A76F0E59265AFE6EFD5B046F395AFC6EFC5B065B0A5AFA5B0D5B005B0E
-7187719071895D9171855D8F5D905D985DA45D9B5DA35D965DE45E5A72957293
-5E5E734D5FB86157615C61A661956188747261A3618F75006164750361590000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-4C
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006178761661856187619E7611760A6198619C7781777C622F6480649B648E
-648D649464C678B264A8648378AD64B9648664B464AF649178A064AA64A164A7
-66B666B3798B66BC66AC799466AD6A0E79886A1C6A1A7A2B7A4A6A0B7A2F69EF
-6A0C69F06A227AAC69D87B886A1269FA7B916A2A7B966A107B8C7B9B6A2969F9
-69EA6A2C6A247BA469E96B526B4F6B537CBA7DA76F106F656F757DAA7DC17DC0
-7DC56FD07DCE6F5C6F3D6F717DCC6F916F0B6F796F816F8F7DA66F596F740000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-4D
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00007DA171AE7F7371A371AD7FE57FDE71AB71A671A2818952F2725772557299
-734B747A8215849784A4748C748484BA84CE74827493747B84AB750984B484C1
-84CD84AA849A84B1778A849D779084BB78C678D378C078D278C778C284AF799F
-799D799E84B67A4184A07A387A3A7A4284DB84B07A3E7AB07BAE7BB38728876B
-7BBF872E871E7BCD87197BB28743872C8741873E8746872087327CC47CCD7CC2
-7CC67CC37CC97CC787427DF887277DED7DE2871A873087117DDC7E027E010000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-4E
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000088F27DD688FE7DE47DFE88F67E007DFC7DFD88EB7DF57DFF899F7DEB7DE5
-7F787FAE7FE78A998065806A80668068806B819481A18192819681938D968E09
-85018DFF84F88DFD84F58E0385048E068E058DFE8E00851B85038533853484ED
-9123911C853591228505911D911A91249121877D917A91729179877192A5885C
-88E6890F891B92A089A989A589EE8AB1929A8ACC8ACE92978AB792A38AB58AE9
-8AB492958AB38AC18AAF8ACA8AD09286928C92998C8E927E92878CE98CDB0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-4F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000928B8CEB8DA496A18DA28D9D977D977A977E97838E2A8E28977B97848EB8
-8EB68EB98EB78F228F2B8F278F198FA499078FB3999C9071906A99BB99BA9188
-918C92BF92B892BE92DC92E59B3F9B6092D492D69CF192DA92ED92F392DB5103
-92B992E292EB95AF50F695B295B3510C50FD510A96A396A552F152EF56485642
-970A563597879789978C97EF982A98225640981F563D9919563E99CA99DA563A
-571A58AB99DE99C899E058A39AB69AB558A59AF458FF9B6B9B699B729B630000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-50
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00005AF69D0D5AF89D019D0C5B019CF85B055B0F9CFE9D029E845D9F9EAB9EAA
-511D51165DA0512B511E511B5290529453145E605E5C56675EDB567B5EE1565F
-5661618B6183617961B161B061A2618958C358CA58BB58C058C459015B1F5B18
-5B115B1561B35B125B1C64705B225B795DA664975DB35DAB5EEA648A5F5B64A3
-649F61B761CE61B961BD61CF61C06199619765B361BB61D061C4623166B764D3
-64C06A006A066A1769E564DC64D164C869E464D566C369EC69E266BF66C50000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-51
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000069FE66CD66C167066A1467246A636A426A5269E66A436A3369FC6A6C6A57
-6A046A4C6A6E6A0F69F66A266A0769F46A376B516A716A4A6A366BA66A536C00
-6A456A706F416F266A5C6B586B576F926F8D6F896F8C6F626F4F6FBB6F5A6F96
-6FBE6F6C6F826F556FB56FD36F9F6F576FB76FF571B76F0071BB6F6B71D16F67
-71BA6F5371B671CC6F7F6F9571D3749B6F6A6F7B749674A2749D750A750E719A
-7581762C76377636763B71A476A171AA719C779871B37796729A735873520000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-52
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000078D678EB736078DC735B79A579A998347A537A4574897A4F74867ABD7ABB
-7AF17488747C7BEC7BED7507757E7CD3761E7CE1761D7E197623761A76287E27
-7E26769D769E806E81AF778F778981AD78CD81AA821878CC78D178CE78D4856F
-854C78C48542799A855C8570855F79A2855A854B853F878A7AB4878B87A1878E
-7BBE7BAC8799885E885F892489A78AEA8AFD8AF98AE38AE57DDB7DEA8AEC7DD7
-7DE17E037DFA8CF27DF68CEF7DF08DA67DDF7F767FAC8E3B8E437FED8E320000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-53
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00008F318F307FE68F2D8F3C8FA78FA5819F819E819591379195918E82169196
-82539345930A824E825192FD9317931C930793319332932C9330930393058527
-95C284FB95B884FA95C1850C84F4852A96AB96B784F784EB97159714851284EA
-970C971784FE9793851D97D2850284FD983698319833983C982E983A84F0983D
-84F998B5992299239920991C991D866299A0876399EF99E899EB877387588754
-99E199E68761875A9AF89AF5876D876A9B839B949B84875D9B8B9B8F877A0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-54
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009B8C875C9B89874F9B8E8775876287679D249D0F89059D139D0A890B8917
-891889199D2A9D1A89119D279D169D2189A49E859EAC9EC69EC59ED79F538AB8
-5128512751DF8AD5533553B38ABE568A567D56898AC358CD58D08AD95B2B5B33
-5B295B355B315B375C365DBE8CDD5DB98DA05DBB8DA161E261DB61DD61DC61DA
-8E2E61D98E1B8E1664DF8E198E2664E18E1464EE8E1865B566D466D58E1A66D0
-66D166CE66D78F208F236A7D6A8A90736AA7906F6A996A826A88912B91290000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-55
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006A8691326A986A9D918591866A8F91816AAA91846B5D92D06C0A92C46FD7
-6FD66FE592CF92F192DF6FD96FDA6FEA92DD6FF692EF92C271E392CA71E992CE
-71EB71EF71F371EA92E092DE92E792D192D3737192E174AE92C674B3957C74AC
-95AB95AE75837645764E764476A376A577A677A4978A77A977AF97D097CF981E
-78F078F878F198287A49981B982798B27AC27AF27AF37BFA99167BF67BFC7C18
-7C087C1299D399D47CDB7CDA99D699D899CB7E2C7E4D9AB39AEC7F467FF60000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-56
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000802B807481B881C89B679B749B71859285939B75857F85AB85979B6C9CFC
-85AC9CFD9CFF9CF787CE9D0087CD9CFB9D0887C187B187C79ED389409F10893F
-893951178943511151DE533489AB56708B1F8B098B0C566656638C4056728C96
-56778CF68CF758C88E468E4F58BF58BA58C28F3D8F4193669378935D93699374
-937D936E93729373936293489353935F93685DB1937F936B5DB595C45DAE96AF
-96AD96B25DAD5DAF971A971B5E685E665E6F5EE9979B979F5EE85EE55F4B0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-57
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00005FBC5FBB619D61A86196984061B4984761C198B761BA61BF61B8618C64D7
-99A264D064CF9A0099F3648964C399F564F364D99ABD9B009B0265A29B349B49
-9B9F66CA9BA39BCD9B999B9D66BA66CC9D396A349D446A496A679D356A686A3E
-9EAF6A6D512F6A5B6A519F8E6A5A569F569B569E5696569456A06A4F5B3B6A6F
-6A695B3A5DC15F4D5F5D61F36A4D6A4E6A466B5564F664E564EA64E765056BC8
-64F96C046C036C066AAB6AED6AB26AB06AB56ABE6AC16AC86FC46AC06ABC0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-58
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006AB16AC46ABF6FA56FAE700870036FFD7010700270136FA271FA720074B9
-74BC6FB2765B7651764F76EB77B871D677B977C177C077BE790B71C77907790A
-790871BC790D7906791579AF729E736973667AF5736C73657C2E736A7C1B749A
-7C1A7C24749274957CE67CE37580762F7E5D7E4F7E667E5B7F477FB476327630
-76BB7FFA802E779D77A181CE779B77A282197795779985CC85B278E985BB85C1
-78DE78E378DB87E987EE87F087D6880E87DA8948894A894E894D89B189B00000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-59
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000089B37AB78B388B327BE78B2D7BD58B347BDA8B298C747BD47BEA8D037BDC
-7BEB8DA98E587CD27CD48EBF8EC18F4A8FAC7E219089913D913C91A993A07E0E
-93907E159393938B93AD93BB93B87E0D7E14939C95D895D77F7B7F7C7F7A975D
-97A997DA8029806C81B181A6985481B99855984B81B0983F98B981B281B781A7
-81F29938993699408556993B993999A4855385619A089A0C85469A1085419B07
-85449BD285479BC29BBB9BCC9BCB854E856E9D4D9D639D4E85609D509D550000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-5A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000855D9D5E85659E909EB29EB186649ECA9F029F279F26879356AF58E058DC
-87965B39877987875B7C5BF3879087915C6B5DC4650B6508650A8789891E65DC
-8930892D66E166DF6ACE6AD46AE36AD76AE2892C891F89F18AE06AD86AD56AD2
-8AF58ADD701E702C70256FF37204720872158AE874C474C974C774C876A977C6
-77C57918791A79208CF37A667A647A6A8DA78E338E3E8E388E408E457C357C34
-8E3D8E417E6C8E3F7E6E7E718F2E81D481D6821A82628265827685DB85D60000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-5B
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000908685E79133913585F4919387FD87D58807918F880F87F89308931F8987
-930F89B589F5933C8B3F8B438B4C93018D0B8E6B8E688E708E758E7792FA8EC3
-92F993E993EA93CB93C593C6932993ED93D3932A93E5930C930B93DB93EB93E0
-93C1931695BC95DD95BE95B995BA95B695BF95B595BD96A996D497B297B497B1
-97B597F2979497F097F89856982F98329924994499279A269A1F9A189A219A17
-99E49B0999E399EA9BC59BDF9AB99BE39AB49BE99BEE9AFA9AF99D669D7A0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-5C
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009B809D6E9D919D839D769D7E9D6D9B939E959EE39B7A9B959F039F049D25
-9F179D2051369D1453369D1D5B429D229D105B445B465B7E5DCA5DC85DCC5EF0
-9ED5658566E566E79F3D512651256AF451246AE9512952F45693568C568D703D
-56847036567E7216567F7212720F72177211720B5B2D5B2574CD74D074CC74CE
-74D15B2F75895B7B7A6F7C4B7C445E6C5E6A5FBE61C361B57E7F8B7161E0802F
-807A807B807C64EF64E964E385FC861086026581658085EE860366D2860D0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-5D
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000086138608860F881888126A9B6AA18967896589BB8B698B626A838B6E6AA4
-8B616A7F8B648B4D8C516A8C6A928E838EC66C09941F6FA99404941794089405
-6FED93F3941E9402941A941B9427941C71E196B571E871F2973371F097349731
-97B897BA749797FC74AB749098C374AD994D74A59A2F7510751175129AC97584
-9AC89AC49B2A9B389B5076E99C0A9BFB9C049BFC9BFE77B477B177A89C029BF6
-9C1B9BF99C159C109BFF9C009C0C78F978FE9D959DA579A87A5C7A5B7A560000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-5E
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009E989EC17A5A9F5A516456BB7C0558E65B495BF77BFF7BFB5DD07BF45FC2
-7BF365117C096AFF6AFE6AFD7BFD6B017BF07BF1704B704D704774D376687667
-7E33984877D179307932792E7E479F9D7AC97AC87E3B7C567C517E3A7F457F7F
-7E857E897E8E7E84802C826A862B862F862881C586168615861D881A825A825C
-858389BC8B758B7C85958D118D128F5C91BB85A493F4859E8577942D858985A1
-96E497379736976797BE97BD97E29868986698C898CA98C798DC8585994F0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-5F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000099A99A3C85909A3B9ACE87BE9B149B5387C59C2E87AC9C1F87B587BC87AE
-87C99DB09DBD87CC87B79DAE9DC49E7B87B487B69E9E87B89F0587DE9F699FA1
-56C7571D5B4A5DD389525F72620289AD62356527651E651F8B1E8B186B076B06
-8B058B0B7054721C72207AF88B077C5D7C588B067E927F4E8B1A8C4F8C708827
-8C718B818B838C948C448D6F8E4E8E4D8E539442944D9454944E8F409443907E
-9138973C974097C09199919F91A1919D995A9A5193839ADD936493569C380000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-60
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000937C9C459C3A93769C359350935193609EF1938F9F93529A937993578641
-5DD7934F65289377937B936170537059936772219359766F793779B57C627C5E
-7CF596AE96B0863D9720882D89898B8D8B878B908D1A8E99979E979D97D5945F
-97F1984194569461945B945A945C9465992B9741992A9933986E986C986D9931
-99AA9A5C9A589ADE9A029C4F9C5199F79C5399F899F699FB9DFC9F3999FC513E
-9ABE56D29AFD5B4F6B149B487A727A739B9E9B9B9BA68B919BA59BA491BF0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-61
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009BA2946C9BAF9D3396E697459D3697C897E4995D9D389B219D459B2C9B57
-9D3E9D379C5D9C619C659E089E8A9E899E8D9EB09EC89F459EFB9EFF620566EF
-6B1B6B1D722572247C6D512E8642864956978978898A8B9759708C9B8D1C5C6A
-8EA25E6D5E6E61D861DF61ED61EE61F161EA9C6C61EB9C6F61E99E0E65049F08
-9F1D9FA3650364FC5F606B1C66DA66DB66D87CF36AB98B9B8EA791C46ABA947A
-6AB76AC79A619A639AD79C766C0B9FA5700C7067700172AB864A897D8B9D0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-62
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00008C538F65947B6FFC98CD98DD72019B309E16720371FD737674B874C096E7
-9E189EA274B69F7C74C27E9E9484765C9E1C76597C7197CA7657765A76A69EA3
-76EC9C7B9F97790C7913975079097910791257275C1379AC7A5F7C1C7C297C19
-7C205FC87C2D7C1D7C267C287C2267657C307E5C52BD7E565B667E5865F96788
-6CE66CCB7E574FBD5F8D7FB36018604880756B2970A681D07706825E85B485C6
-5A105CFC5CFE85B385B585BD85C785C485BF70C985CE85C885C585B185B60000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-63
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000085D28624957985B796BA866987E787E687E287DB87EB87EA7B29812887F3
-8A2E87D487DC87D39AD987D8582B584587D963FA87F487E887DD6E86894B894F
-894C89468950586789495BDD656E8B238B338B308C878B4750D250DF8B3E8B31
-8B258B3769BA8B366B9D8B2480598B3D8B3A8C428C758C998C988C978CFE8D04
-8D028D008E5C6F8A8E608E577BC37BC28E658E678E5B8E5A90F68E5D98238E54
-8F468F478F488F4B71CD7499913B913E91A891A591A7984291AA93B5938C0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-64
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000093927F84939B939D938993A7938E8D0E939E9861939593888B73939F9C27
-938D945877D69B2D93A493A893B493A395D295D395D196B396D796DA5DC296DF
-96D896DD97239722972597AC97AE97A84F664F684FE7503F97A550A6510F523E
-53245365539B517F54CB55735571556B55F456225620569256BA569156B05759
-578A580F581258135847589B5900594D5AD15AD35B675C575C775CD55D755D8E
-5DA55DB65DBF5E655ECD5EED5F945F9A5FBA6125615062A36360636463B60000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-65
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000640364B6651A7A255C2166E2670267A467AC68106806685E685A692C6929
-6A2D6A776A7A6ACA6AE66AF56B0D6B0E6BDC6BDD6BF66C1E6C636DA56E0F6E8A
-6E846E8B6E7C6F4C6F486F496F9D6F996FF8702E702D705C79CC70BF70EA70E5
-71117112713F7139713B713D71777175717671717196719371B471DD71DE720E
-591172187347734873EF7412743B74A4748D74B47673767776BC7819781B783D
-78537854785878B778D878EE7922794D7986799979A379BC7AA77B377B590000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-66
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00007BD07C2F7C327C427C4E7C687CA97CED7DD07E077DD37E647F40791E8041
-806380BB6711672582488310836283128421841E84E284DE84E1857385D485F5
-863786458672874A87A987A587F5883488508887895489848B038C528CD88D0C
-8D188DB08EBC8ED58FAA909C85E8915C922B9221927392F492F5933F93429386
-93BE93BC93BD93F193F293EF94229423942494679466959795CE95E7973B974D
-98E499429B1D9B9889629D4964495E715E8561D3990E8002781E898889B70000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-67
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00005528557255BA55F055EE56B856B956C4805392B08B558B518B428B528B57
-8C438C778C768C9A8D068D078D098DAC8DAA8DAD8DAB8E6D8E788E738E6A8E6F
-8E7B8EC28F528F518F4F8F508F538FB49140913F91B091AD93DE93C793CF93C2
-93DA93D093F993EC93CC93D993A993E693CA93D493EE93E393D593C493CE93C0
-93D293A593E7957D95DA95DB96E19729972B972C9728972697B397B797B697DD
-97DE97DF985C9859985D985798BF98BD98BB98BE99489947994399A699A70000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-68
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009A1A9A159A259A1D9A249A1B9A229A209A279A239A1E9A1C9A149AC29B0B
-9B0A9B0E9B0C9B379BEA9BEB9BE09BDE9BE49BE69BE29BF09BD49BD79BEC9BDC
-9BD99BE59BD59BE19BDA9D779D819D8A9D849D889D719D809D789D869D8B9D8C
-9D7D9D6B9D749D759D709D699D859D739D7B9D829D6F9D799D7F9D879D689E94
-9E919EC09EFC9F2D9F409F419F4D9F569F579F58533756B256B556B358E35B45
-5DC65DC75EEE5EEF5FC05FC161F9651765166515651365DF66E866E366E40000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-69
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006AF36AF06AEA6AE86AF96AF16AEE6AEF703C7035702F7037703470317042
-7038703F703A7039702A7040703B703370417213721472A8737D737C74BA76AB
-76AA76BE76ED77CC77CE77CF77CD77F279257923792779287924792979B27A6E
-7A6C7A6D7AF77C497C487C4A7C477C457CEE7E7B7E7E7E817E807FBA7FFF8079
-81DB81D982688269862285FF860185FE861B860085F6860486098605860C85FD
-8819881088118817881388168963896689B989F78B608B6A8B5D8B688B630000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-6A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00008B658B678B6D8DAE8E868E888E848F598F568F578F558F588F5A908D9143
-914191B791B591B291B3940B941393FB9420940F941493FE9415941094289419
-940D93F5940093F79407940E9416941293FA940993F8943C940A93FF93FC940C
-93F69411940695DE95E095DF972E972F97B997BB97FD97FE986098629863985F
-98C198C29950994E9959994C994B99539A329A349A319A2C9A2A9A369A299A2E
-9A389A2D9AC79ACA9AC69B109B129B119C0B9C089BF79C059C129BF89C400000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-6B
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009C079C0E9C069C179C149C099D9F9D999DA49D9D9D929D989D909D9B9DA0
-9D949D9C9DAA9D979DA19D9A9DA29DA89D9E9DA39DBF9DA99D969DA69DA79E99
-9E9B9E9A9EE59EE49EE79EE69F309F2E9F5B9F609F5E9F5D9F599F91513A5139
-5298529756C356BD56BE5B485B475DCB5DCF5EF161FD651B6B026AFC6B036AF8
-6B0070437044704A7048704970457046721D721A7219737E7517766A77D0792D
-7931792F7C547C537CF27E8A7E877E887E8B7E867E8D7F4D7FBB803081DD0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-6C
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00008618862A8626861F8623861C86198627862E862186208629861E86258829
-881D881B88208824881C882B884A896D8969896E896B89FA8B798B788B458B7A
-8B7B8D108D148DAF8E8E8E8C8F5E8F5B8F5D91469144914591B9943F943B9436
-9429943D94309439942A9437942C9440943195E595E495E39735973A97BF97E1
-986498C998C698C0995899569A399A3D9A469A449A429A419A3A9A3F9ACD9B15
-9B179B189B169B3A9B529C2B9C1D9C1C9C2C9C239C289C299C249C219DB70000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-6D
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009DB69DBC9DC19DC79DCA9DCF9DBE9DC59DC39DBB9DB59DCE9DB99DBA9DAC
-9DC89DB19DAD9DCC9DB39DCD9DB29E7A9E9C9EEB9EEE9EED9F1B9F189F1A9F31
-9F4E9F659F649F924EB956C656C556CB59715B4B5B4C5DD55DD15EF265216520
-652665226B0B6B086B096C0D7055705670577052721E721F72A9737F74D874D5
-74D974D7766D76AD793579B47A707A717C577C5C7C597C5B7C5A7CF47CF17E91
-7F4F7F8781DE826B863486358633862C86328636882C88288826882A88250000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-6E
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000897189BF89BE89FB8B7E8B848B828B868B858B7F8D158E958E948E9A8E92
-8E908E968E978F608F629147944C9450944A944B944F94479445944894499446
-973F97E3986A986998CB9954995B9A4E9A539A549A4C9A4F9A489A4A9A499A52
-9A509AD09B199B2B9B3B9B569B559C469C489C3F9C449C399C339C419C3C9C37
-9C349C329C3D9C369DDB9DD29DDE9DDA9DCB9DD09DDC9DD19DDF9DE99DD99DD8
-9DD69DF59DD59DDD9EB69EF09F359F339F329F429F6B9F959FA2513D52990000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-6F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000058E858E759725B4D5DD8882F5F4F62016203620465296525659666EB6B11
-6B126B0F6BCA705B705A7222738273817383767077D47C677C667E95826C863A
-86408639863C8631863B863E88308832882E883389768974897389FE8B8C8B8E
-8B8B8B888C458D198E988F648F6391BC94629455945D9457945E97C497C59800
-9A569A599B1E9B1F9B209C529C589C509C4A9C4D9C4B9C559C599C4C9C4E9DFB
-9DF79DEF9DE39DEB9DF89DE49DF69DE19DEE9DE69DF29DF09DE29DEC9DF40000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-70
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009DF39DE89DED9EC29ED09EF29EF39F069F1C9F389F379F369F439F4F9F71
-9F709F6E9F6F56D356CD5B4E5C6D652D66ED66EE6B13705F7061705D70607223
-74DB74E577D5793879B779B67C6A7E977F89826D8643883888378835884B8B94
-8B958E9E8E9F8EA08E9D91BE91BD91C2946B9468946996E597469743974797C7
-97E59A5E9AD59B599C639C679C669C629C5E9C609E029DFE9E079E039E069E05
-9E009E019E099DFF9DFD9E049EA09F1E9F469F749F759F7656D4652E65B80000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-71
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006B186B196B176B1A7062722672AA77D877D979397C697C6B7CF67E9A7E98
-7E9B7E9981E081E18646864786488979897A897C897B89FF8B988B998EA58EA4
-8EA3946E946D946F9471947397499872995F9C689C6E9C6D9E0B9E0D9E109E0F
-9E129E119EA19EF59F099F479F789F7B9F7A9F79571E70667C6F883C8DB28EA6
-91C394749478947694759A609B2E9C749C739C719C759E149E139EF69F0A9FA4
-706870657CF7866A883E883D883F8B9E8C9C8EA98EC9974B9873987498CC0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-72
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000996199AB9A649A669A679B249E159E179F4862076B1E7227864C8EA89482
-948094819A699A689E19864B8B9F94839C799EB776759A6B9C7A9E1D7069706A
-72299EA49F7E9F499F988AF68AFC8C6B8C6D8C938CF48E448E318E348E428E39
-8E358F3B8F2F8F388F338FA88FA69075907490789072907C907A913491929320
-933692F89333932F932292FC932B9304931A9310932693219315932E931995BB
-96A796A896AA96D5970E97119716970D9713970F975B975C9766979898300000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-73
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009838983B9837982D9839982499109928991E991B9921991A99ED99E299F1
-9AB89ABC9AFB9AED9B289B919D159D239D269D289D129D1B9ED89ED49F8D9F9C
-512A511F5121513252F5568E5680569056855687568F58D558D358D158CE5B30
-5B2A5B245B7A5C375C685DBC5DBA5DBD5DB85E6B5F4C5FBD61C961C261C761E6
-61CB6232623464CE64CA64D864E064F064E664EC64F164E264ED6582658366D9
-66D66A806A946A846AA26A9C6ADB6AA36A7E6A976A906AA06B5C6BAE6BDA0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-74
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00006C086FD86FF16FDF6FE06FDB6FE46FEB6FEF6F806FEC6FE16FE96FD56FEE
-6FF071E771DF71EE71E671E571ED71EC71F471E0723572467370737274A974B0
-74A674A876467642764C76EA77B377AA77B077AC77A777AD77EF78F778FA78F4
-78EF790179A779AA7A577ABF7C077C0D7BFE7BF77C0C7BE07CE07CDC7CDE7CE2
-7CDF7CD97CDD7E2E7E3E7E467E377E327E437E2B7E3D7E317E457E417E347E39
-7E487E357E3F7E2F7F447FF37FFC807180728070806F807381C681C381BA0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-75
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000081C281C081BF81BD81C981BE81E88209827185AA8584857E859C85918594
-85AF859B858785A8858A85A6866787C087D187B387D287C687AB87BB87BA87C8
-87CB893B893689448938893D89AC8B0E8B178B198B1B8B0A8B208B1D8B048B10
-8C418C3F8C738CFA8CFD8CFC8CF88CFB8DA88E498E4B8E488E4A8F448F3E8F42
-8F458F3F907F907D9084908190829080913991A3919E919C934D938293289375
-934A9365934B9318937E936C935B9370935A935495CA95CB95CC95C895C60000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-76
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-000096B196B896D6971C971E97A097D3984698B699359A0199FF9BAE9BAB9BAA
-9BAD9D3B9D3F9E8B9ECF9EDE9EDC9EDD9EDB9F3E9F4B53E2569556AE58D958D8
-5B385F5E61E3623364F464F264FE650664FA64FB64F765B766DC67266AB36AAC
-6AC36ABB6AB86AC26AAE6AAF6B5F6B786BAF7009700B6FFE70066FFA7011700F
-71FB71FC71FE71F87377737574A774BF751576567658765277BD77BF77BB77BC
-790E79AE7A617A627A607AC47AC57C2B7C277C2A7C1E7C237C217CE77E540000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-77
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00007E557E5E7E5A7E617E527E597F487FF97FFB8077807681CD81CF820A85CF
-85A985CD85D085C985B085BA85B987EF87EC87F287E0898689B289F48B288B39
-8B2C8B2B8C508D058E598E638E668E648E5F8E558EC08F498F4D908790839088
-91AB91AC91D09394938A939693A293B393AE93AC93B09398939A939795D495D6
-95D095D596E296DC96D996DB96DE972497A397A697AD97F9984D984F984C984E
-985398BA993E993F993D992E99A59A0E9AC19B039B069B4F9B4E9B4D9BCA0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-78
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009BC99BFD9BC89BC09D519D5D9D609EE09F159F2C513356A556A858DE58DF
-58E25BF59F905EEC61F261F761F661F56500650F66E066DD6AE56ADD6ADA6AD3
-701B701F7028701A701D701570187206720D725872A27378737A74BD74CA74E3
-75877586765F766177C7791979B17A6B7A697C3E7C3F7C387C3D7C377C407E6B
-7E6D7E797E697E6A7E737F857FB67FB97FB881D885E985DD85EA85D585E485E5
-85F787FB8805880D87F987FE8960895F8956895E8B418B5C8B588B498B5A0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-79
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00008B4E8B4F8B468B598D088D0A8E7C8E728E878E768E6C8E7A8E748F548F4E
-8FAD908A908B91B191AE93E193D193DF93C393C893DC93DD93D693E293CD93D8
-93E493D793E895DC96B496E3972A9727976197DC97FB985E9858985B98BC9945
-99499A169A199B0D9BE89BE79BD69BDB9D899D619D729D6A9D6C9E929E979E93
-9EB452F856B756B656B456BC58E45B405B435B7D5BF65DC961F861FA65186514
-651966E667276AEC703E703070327210737B74CF766276657926792A792C0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-7A
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000792B7AC77AF67C4C7C437C4D7CEF7CF08FAE7E7D7E7C7E827F4C800081DA
-826685FB85F9861185FA8606860B8607860A88148815896489BA89F88B708B6C
-8B668B6F8B5F8B6B8D0F8D0D8E898E818E858E8291B491CB9418940393FD95E1
-973098C49952995199A89A2B9A309A379A359C139C0D9E799EB59EE89F2F9F5F
-9F639F615137513856C156C056C259145C6C5DCD61FC61FE651D651C659566E9
-6AFB6B046AFA6BB2704C721B72A774D674D4766977D37C507E8F7E8C7FBC0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-7B
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00008617862D861A882388228821881F896A896C89BD8B748B778B7D8D138E8A
-8E8D8E8B8F5F8FAF91BA942E94339435943A94389432942B95E2973897399732
-97FF9867986599579A459A439A409A3E9ACF9B549B519C2D9C259DAF9DB49DC2
-9DB89E9D9EEF9F199F5C9F669F67513C513B56C856CA56C95B7F5DD45DD25F4E
-61FF65246B0A6B6170517058738074E4758A766E766C79B37C607C5F807E807D
-81DF8972896F89FC8B808D168D178E918E938F619148944494519452973D0000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-7C
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000973E97C397C1986B99559A559A4D9AD29B1A9C499C319C3E9C3B9DD39DD7
-9F349F6C9F6A9F9456CC5DD662006523652B652A66EC6B1074DA7ACA7C647C63
-7C657E937E967E9481E28638863F88318B8A9090908F9463946094649768986F
-995C9A5A9A5B9A579AD39AD49AD19C549C579C569DE59E9F9EF456D158E9652C
-705E7671767277D77F507F888836883988628B938B928B9682778D1B91C0946A
-97429748974497C698709A5F9B229B589C5F9DF99DFA9E7C9E7D9F079F770000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-7D
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-00009F725EF36B1670637C6C7C6E883B89C08EA191C1947294709871995E9AD6
-9B239ECC706477DA8B9A947797C99A629A657E9C8B9C8EAA91C5947D947E947C
-9C779C789EF78C54947F9E1A72289A6A9B319E1B9E1E7C720000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
diff --git a/library/encoding/cp1250.enc b/library/encoding/cp1250.enc
index f40b485..070ad90 100644
--- a/library/encoding/cp1250.enc
+++ b/library/encoding/cp1250.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-20AC0000201A0000201E2026202020210000203001602039015A0164017D0179
-000020182019201C201D202220132014000021220161203A015B0165017E017A
+20AC0081201A0083201E2026202020210088203001602039015A0164017D0179
+009020182019201C201D202220132014009821220161203A015B0165017E017A
00A002C702D8014100A4010400A600A700A800A9015E00AB00AC00AD00AE017B
00B000B102DB014200B400B500B600B700B80105015F00BB013D02DD013E017C
015400C100C2010200C40139010600C7010C00C9011800CB011A00CD00CE010E
diff --git a/library/encoding/cp1251.enc b/library/encoding/cp1251.enc
index f9513c2..376b1b4 100644
--- a/library/encoding/cp1251.enc
+++ b/library/encoding/cp1251.enc
@@ -11,7 +11,7 @@ S
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
04020403201A0453201E20262020202120AC203004092039040A040C040B040F
-045220182019201C201D202220132014000021220459203A045A045C045B045F
+045220182019201C201D202220132014009821220459203A045A045C045B045F
00A0040E045E040800A4049000A600A7040100A9040400AB00AC00AD00AE0407
00B000B104060456049100B500B600B704512116045400BB0458040504550457
0410041104120413041404150416041704180419041A041B041C041D041E041F
diff --git a/library/encoding/cp1252.enc b/library/encoding/cp1252.enc
index b45a7f8..dd525ea 100644
--- a/library/encoding/cp1252.enc
+++ b/library/encoding/cp1252.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-20AC0000201A0192201E20262020202102C620300160203901520000017D0000
-000020182019201C201D20222013201402DC21220161203A01530000017E0178
+20AC0081201A0192201E20262020202102C62030016020390152008D017D008F
+009020182019201C201D20222013201402DC21220161203A0153009D017E0178
00A000A100A200A300A400A500A600A700A800A900AA00AB00AC00AD00AE00AF
00B000B100B200B300B400B500B600B700B800B900BA00BB00BC00BD00BE00BF
00C000C100C200C300C400C500C600C700C800C900CA00CB00CC00CD00CE00CF
diff --git a/library/encoding/cp1253.enc b/library/encoding/cp1253.enc
index dcc8084..a8754c3 100644
--- a/library/encoding/cp1253.enc
+++ b/library/encoding/cp1253.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-20AC0000201A0192201E20262020202100002030000020390000000000000000
-000020182019201C201D202220132014000021220000203A0000000000000000
+20AC0081201A0192201E20262020202100882030008A2039008C008D008E008F
+009020182019201C201D20222013201400982122009A203A009C009D009E009F
00A00385038600A300A400A500A600A700A800A9000000AB00AC00AD00AE2015
00B000B100B200B3038400B500B600B703880389038A00BB038C00BD038E038F
0390039103920393039403950396039703980399039A039B039C039D039E039F
diff --git a/library/encoding/cp1254.enc b/library/encoding/cp1254.enc
index 4922f3c..b9e3b3c 100644
--- a/library/encoding/cp1254.enc
+++ b/library/encoding/cp1254.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-20AC0000201A0192201E20262020202102C62030016020390152000000000000
-000020182019201C201D20222013201402DC21220161203A0153000000000178
+20AC0081201A0192201E20262020202102C62030016020390152008D008E008F
+009020182019201C201D20222013201402DC21220161203A0153009D009E0178
00A000A100A200A300A400A500A600A700A800A900AA00AB00AC00AD00AE00AF
00B000B100B200B300B400B500B600B700B800B900BA00BB00BC00BD00BE00BF
00C000C100C200C300C400C500C600C700C800C900CA00CB00CC00CD00CE00CF
diff --git a/library/encoding/cp1255.enc b/library/encoding/cp1255.enc
index 74ef0c1..6e78b95 100644
--- a/library/encoding/cp1255.enc
+++ b/library/encoding/cp1255.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-20AC0000201A0192201E20262020202102C62030000020390000000000000000
-000020182019201C201D20222013201402DC21220000203A0000000000000000
+20AC0081201A0192201E20262020202102C62030008A2039008C008D008E008F
+009020182019201C201D20222013201402DC2122009A203A009C009D009E009F
00A000A100A200A320AA00A500A600A700A800A900D700AB00AC00AD00AE00AF
00B000B100B200B300B400B500B600B700B800B900F700BB00BC00BD00BE00BF
05B005B105B205B305B405B505B605B705B805B9000005BB05BC05BD05BE05BF
diff --git a/library/encoding/cp1257.enc b/library/encoding/cp1257.enc
index 42c6905..4aa135d 100644
--- a/library/encoding/cp1257.enc
+++ b/library/encoding/cp1257.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-20AC0000201A0000201E2026202020210000203000002039000000A802C700B8
-000020182019201C201D202220132014000021220000203A000000AF02DB0000
+20AC0081201A0083201E20262020202100882030008A2039008C00A802C700B8
+009020182019201C201D20222013201400982122009A203A009C00AF02DB009F
00A0000000A200A300A4000000A600A700D800A9015600AB00AC00AD00AE00C6
00B000B100B200B300B400B500B600B700F800B9015700BB00BC00BD00BE00E6
0104012E0100010600C400C501180112010C00C90179011601220136012A013B
diff --git a/library/encoding/cp1258.enc b/library/encoding/cp1258.enc
index bbe2b12..95fdef8 100644
--- a/library/encoding/cp1258.enc
+++ b/library/encoding/cp1258.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-20AC0000201A0192201E20262020202102C62030000020390152000000000000
-000020182019201C201D20222013201402DC21220000203A0153000000000178
+20AC0081201A0192201E20262020202102C62030008A20390152008D008E008F
+009020182019201C201D20222013201402DC2122009A203A0153009D009E0178
00A000A100A200A300A400A500A600A700A800A900AA00AB00AC00AD00AE00AF
00B000B100B200B300B400B500B600B700B800B900BA00BB00BC00BD00BE00BF
00C000C100C2010200C400C500C600C700C800C900CA00CB030000CD00CE00CF
diff --git a/library/encoding/cp864.enc b/library/encoding/cp864.enc
index dad7c20..71f9e62 100644
--- a/library/encoding/cp864.enc
+++ b/library/encoding/cp864.enc
@@ -11,7 +11,7 @@ S
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
00B000B72219221A259225002502253C2524252C251C25342510250C25142518
-03B2221E03C600B100BD00BC224800AB00BBFEF7FEF800000000FEFBFEFC0000
+03B2221E03C600B100BD00BC224800AB00BBFEF7FEF8009B009CFEFBFEFC009F
00A000ADFE8200A300A4FE8400000000FE8EFE8FFE95FE99060CFE9DFEA1FEA5
0660066106620663066406650666066706680669FED1061BFEB1FEB5FEB9061F
00A2FE80FE81FE83FE85FECAFE8BFE8DFE91FE93FE97FE9BFE9FFEA3FEA7FEA9
diff --git a/library/encoding/cp869.enc b/library/encoding/cp869.enc
index 4670826..9fd2929 100644
--- a/library/encoding/cp869.enc
+++ b/library/encoding/cp869.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000386000000B700AC00A620182019038820150389
-038A03AA038C00000000038E03AB00A9038F00B200B303AC00A303AD03AE03AF
+0080008100820083008400850386008700B700AC00A620182019038820150389
+038A03AA038C00930094038E03AB00A9038F00B200B303AC00A303AD03AE03AF
03CA039003CC03CD039103920393039403950396039700BD0398039900AB00BB
25912592259325022524039A039B039C039D256325512557255D039E039F2510
25142534252C251C2500253C03A003A1255A25542569256625602550256C03A3
diff --git a/library/encoding/cp874.enc b/library/encoding/cp874.enc
index e2e8433..0487b97 100644
--- a/library/encoding/cp874.enc
+++ b/library/encoding/cp874.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-20AC000000000000000020260000000000000000000000000000000000000000
-000020182019201C201D20222013201400000000000000000000000000000000
+20AC008100820083008420260086008700880089008A008B008C008D008E008F
+009020182019201C201D20222013201400980099009A009B009C009D009E009F
00A00E010E020E030E040E050E060E070E080E090E0A0E0B0E0C0E0D0E0E0E0F
0E100E110E120E130E140E150E160E170E180E190E1A0E1B0E1C0E1D0E1E0E1F
0E200E210E220E230E240E250E260E270E280E290E2A0E2B0E2C0E2D0E2E0E2F
diff --git a/library/encoding/cp932.enc b/library/encoding/cp932.enc
index 0699000..8da8cd6 100644
--- a/library/encoding/cp932.enc
+++ b/library/encoding/cp932.enc
@@ -10,7 +10,7 @@ M
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000000000000000000000000000000000000000000
+0080000000000000000000850086000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000FF61FF62FF63FF64FF65FF66FF67FF68FF69FF6AFF6BFF6CFF6DFF6EFF6F
FF70FF71FF72FF73FF74FF75FF76FF77FF78FF79FF7AFF7BFF7CFF7DFF7EFF7F
diff --git a/library/encoding/cp949.enc b/library/encoding/cp949.enc
index 459dbd9..2f3ec39 100644
--- a/library/encoding/cp949.enc
+++ b/library/encoding/cp949.enc
@@ -10,7 +10,7 @@ M
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000000000000000000000000000000000000000000
+0080000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
diff --git a/library/encoding/cp950.enc b/library/encoding/cp950.enc
index f582bd9..f33d785 100644
--- a/library/encoding/cp950.enc
+++ b/library/encoding/cp950.enc
@@ -10,8 +10,8 @@ M
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
+0080008100820083008400850086008700880089008A008B008C008D008E008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
diff --git a/library/encoding/dingbats.enc b/library/encoding/dingbats.enc
index bd466b2..9729487 100644
--- a/library/encoding/dingbats.enc
+++ b/library/encoding/dingbats.enc
@@ -10,8 +10,8 @@ S
2730273127322733273427352736273727382739273A273B273C273D273E273F
2740274127422743274427452746274727482749274A274B25CF274D25A0274F
27502751275225B225BC25C6275625D727582759275A275B275C275D275E007F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
+0080008100820083008400850086008700880089008A008B008C008D008E008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
0000276127622763276427652766276726632666266526602460246124622463
2464246524662467246824692776277727782779277A277B277C277D277E277F
2780278127822783278427852786278727882789278A278B278C278D278E278F
diff --git a/library/encoding/ebcdic.enc b/library/encoding/ebcdic.enc
index f83ce7d..f451de5 100644
--- a/library/encoding/ebcdic.enc
+++ b/library/encoding/ebcdic.enc
@@ -1,4 +1,3 @@
-# Encoding file: ebcdic, single-byte
S
006F 0 1
00
diff --git a/library/encoding/euc-cn.enc b/library/encoding/euc-cn.enc
index ff0f984..4b2f8c7 100644
--- a/library/encoding/euc-cn.enc
+++ b/library/encoding/euc-cn.enc
@@ -10,8 +10,8 @@ M
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
+0080008100820083008400850086008700880089008A008B008C008D008E008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
diff --git a/library/encoding/euc-jp.enc b/library/encoding/euc-jp.enc
index d4337d9..db56c88 100644
--- a/library/encoding/euc-jp.enc
+++ b/library/encoding/euc-jp.enc
@@ -10,8 +10,8 @@ M
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
+0080008100820083008400850086008700880089008A008B008C008D0000008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
diff --git a/library/encoding/euc-kr.enc b/library/encoding/euc-kr.enc
index 0433260..5e9bb93 100644
--- a/library/encoding/euc-kr.enc
+++ b/library/encoding/euc-kr.enc
@@ -10,8 +10,8 @@ M
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
+0080008100820083008400850086008700880089008A008B008C008D008E008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
diff --git a/library/encoding/gb1988.enc b/library/encoding/gb1988.enc
index 8254684..298732c 100644
--- a/library/encoding/gb1988.enc
+++ b/library/encoding/gb1988.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D203E007F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
+0080008100820083008400850086008700880089008A008B008C008D008E008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
0000FF61FF62FF63FF64FF65FF66FF67FF68FF69FF6AFF6BFF6CFF6DFF6EFF6F
FF70FF71FF72FF73FF74FF75FF76FF77FF78FF79FF7AFF7BFF7CFF7DFF7EFF7F
FF80FF81FF82FF83FF84FF85FF86FF87FF88FF89FF8AFF8BFF8CFF8DFF8EFF8F
diff --git a/library/encoding/iso8859-11.enc b/library/encoding/iso8859-11.enc
deleted file mode 100644
index d683453..0000000
--- a/library/encoding/iso8859-11.enc
+++ /dev/null
@@ -1,20 +0,0 @@
-# Encoding file: iso8859-11, single-byte
-S
-003F 0 1
-00
-0000000100020003000400050006000700080009000A000B000C000D000E000F
-0010001100120013001400150016001700180019001A001B001C001D001E001F
-0020002100220023002400250026002700280029002A002B002C002D002E002F
-0030003100320033003400350036003700380039003A003B003C003D003E003F
-0040004100420043004400450046004700480049004A004B004C004D004E004F
-0050005100520053005400550056005700580059005A005B005C005D005E005F
-0060006100620063006400650066006700680069006A006B006C006D006E006F
-0070007100720073007400750076007700780079007A007B007C007D007E007F
-0080008100820083008400850086008700880089008A008B008C008D008E008F
-0090009100920093009400950096009700980099009A009B009C009D009E009F
-00A00E010E020E030E040E050E060E070E080E090E0A0E0B0E0C0E0D0E0E0E0F
-0E100E110E120E130E140E150E160E170E180E190E1A0E1B0E1C0E1D0E1E0E1F
-0E200E210E220E230E240E250E260E270E280E290E2A0E2B0E2C0E2D0E2E0E2F
-0E300E310E320E330E340E350E360E370E380E390E3A00000000000000000E3F
-0E400E410E420E430E440E450E460E470E480E490E4A0E4B0E4C0E4D0E4E0E4F
-0E500E510E520E530E540E550E560E570E580E590E5A0E5B0000000000000000
diff --git a/library/encoding/iso8859-7.enc b/library/encoding/iso8859-7.enc
index a46112f..0f93ac8 100644
--- a/library/encoding/iso8859-7.enc
+++ b/library/encoding/iso8859-7.enc
@@ -12,7 +12,7 @@ S
0070007100720073007400750076007700780079007A007B007C007D007E007F
0080008100820083008400850086008700880089008A008B008C008D008E008F
0090009100920093009400950096009700980099009A009B009C009D009E009F
-00A02018201900A320AC20AF00A600A700A800A9037A00AB00AC00AD00002015
+00A02018201900A30000000000A600A700A800A9000000AB00AC00AD00002015
00B000B100B200B303840385038600B703880389038A00BB038C00BD038E038F
0390039103920393039403950396039703980399039A039B039C039D039E039F
03A003A1000003A303A403A503A603A703A803A903AA03AB03AC03AD03AE03AF
diff --git a/library/encoding/jis0201.enc b/library/encoding/jis0201.enc
index 70e099d..64f423f 100644
--- a/library/encoding/jis0201.enc
+++ b/library/encoding/jis0201.enc
@@ -10,8 +10,8 @@ S
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D203E007F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
+0080008100820083008400850086008700880089008A008B008C008D008E008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
0000FF61FF62FF63FF64FF65FF66FF67FF68FF69FF6AFF6BFF6CFF6DFF6EFF6F
FF70FF71FF72FF73FF74FF75FF76FF77FF78FF79FF7AFF7BFF7CFF7DFF7EFF7F
FF80FF81FF82FF83FF84FF85FF86FF87FF88FF89FF8AFF8BFF8CFF8DFF8EFF8F
diff --git a/library/encoding/koi8-u.enc b/library/encoding/koi8-u.enc
index 332f924..e4eeb84 100644
--- a/library/encoding/koi8-u.enc
+++ b/library/encoding/koi8-u.enc
@@ -13,7 +13,7 @@ S
25002502250C251025142518251C2524252C2534253C258025842588258C2590
259125922593232025A02219221A22482264226500A0232100B000B200B700F7
25502551255204510454255404560457255725582559255A255B0491255D255E
-255F25602561040104042563040604072566256725682569256A0490256C00A9
+255F25602561040104032563040604072566256725682569256A0490256C00A9
044E0430043104460434043504440433044504380439043A043B043C043D043E
043F044F044004410442044304360432044C044B04370448044D04490447044A
042E0410041104260414041504240413042504180419041A041B041C041D041E
diff --git a/library/encoding/macDingbats.enc b/library/encoding/macDingbats.enc
index 9fa47b5..28449cd 100644
--- a/library/encoding/macDingbats.enc
+++ b/library/encoding/macDingbats.enc
@@ -10,8 +10,8 @@ S
2730273127322733273427352736273727382739273A273B273C273D273E273F
2740274127422743274427452746274727482749274A274B25CF274D25A0274F
27502751275225B225BC25C6275625D727582759275A275B275C275D275E007F
-F8D7F8D8F8D9F8DAF8DBF8DCF8DDF8DEF8DFF8E0F8E1F8E2F8E3F8E400000000
-0000000000000000000000000000000000000000000000000000000000000000
+F8D7F8D8F8D9F8DAF8DBF8DCF8DDF8DEF8DFF8E0F8E1F8E2F8E3F8E4008E008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
0000276127622763276427652766276726632666266526602460246124622463
2464246524662467246824692776277727782779277A277B277C277D277E277F
2780278127822783278427852786278727882789278A278B278C278D278E278F
diff --git a/library/encoding/macJapan.enc b/library/encoding/macJapan.enc
index 9f3f03b..dba24bd 100644
--- a/library/encoding/macJapan.enc
+++ b/library/encoding/macJapan.enc
@@ -10,7 +10,7 @@ M
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000000000000000000000000000000000000000000
+0080000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00A0FF61FF62FF63FF64FF65FF66FF67FF68FF69FF6AFF6BFF6CFF6DFF6EFF6F
FF70FF71FF72FF73FF74FF75FF76FF77FF78FF79FF7AFF7BFF7CFF7DFF7EFF7F
diff --git a/library/encoding/shiftjis.enc b/library/encoding/shiftjis.enc
index 3ba972e..140aec4 100644
--- a/library/encoding/shiftjis.enc
+++ b/library/encoding/shiftjis.enc
@@ -10,7 +10,7 @@ M
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
0070007100720073007400750076007700780079007A007B007C007D007E007F
-0000000000000000000000000000000000000000000000000000000000000000
+0080000000000000000000850086008700000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000FF61FF62FF63FF64FF65FF66FF67FF68FF69FF6AFF6BFF6CFF6DFF6EFF6F
FF70FF71FF72FF73FF74FF75FF76FF77FF78FF79FF7AFF7BFF7CFF7DFF7EFF7F
diff --git a/library/encoding/symbol.enc b/library/encoding/symbol.enc
index ebd2f49..ffda9e3 100644
--- a/library/encoding/symbol.enc
+++ b/library/encoding/symbol.enc
@@ -10,8 +10,8 @@ S
03A0039803A103A303A403A503C203A9039E03A80396005B2234005D22A5005F
F8E503B103B203C703B403B503C603B303B703B903D503BA03BB03BC03BD03BF
03C003B803C103C303C403C503D603C903BE03C803B6007B007C007D223C007F
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
+0080008100820083008400850086008700880089008A008B008C008D008E008F
+0090009100920093009400950096009700980099009A009B009C009D009E009F
000003D2203222642044221E0192266326662665266021942190219121922193
00B000B12033226500D7221D2202202200F72260226122482026F8E6F8E721B5
21352111211C21182297229522052229222A2283228722842282228622082209
diff --git a/library/encoding/tis-620.enc b/library/encoding/tis-620.enc
index af77326..c233be5 100644
--- a/library/encoding/tis-620.enc
+++ b/library/encoding/tis-620.enc
@@ -9,7 +9,7 @@ S
0040004100420043004400450046004700480049004A004B004C004D004E004F
0050005100520053005400550056005700580059005A005B005C005D005E005F
0060006100620063006400650066006700680069006A006B006C006D006E006F
-0070007100720073007400750076007700780079007A007B007C007D007E007F
+0070007100720073007400750076007700780079007A007B007C007D007E0000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000E010E020E030E040E050E060E070E080E090E0A0E0B0E0C0E0D0E0E0E0F
@@ -17,4 +17,4 @@ S
0E200E210E220E230E240E250E260E270E280E290E2A0E2B0E2C0E2D0E2E0E2F
0E300E310E320E330E340E350E360E370E380E390E3A00000000000000000E3F
0E400E410E420E430E440E450E460E470E480E490E4A0E4B0E4C0E4D0E4E0E4F
-0E500E510E520E530E540E550E560E570E580E590E5A0E5B0000000000000000
+0E500E510E520E530E540E550E560E570E580E590E5A0E5B0000000000000000 \ No newline at end of file
diff --git a/library/foreachline.tcl b/library/foreachline.tcl
deleted file mode 100644
index aacbd5b..0000000
--- a/library/foreachline.tcl
+++ /dev/null
@@ -1,25 +0,0 @@
-# foreachLine:
-# Iterate over the contents of a file, a line at a time.
-# The body script is run for each, with variable varName set to the line
-# contents.
-#
-# Copyright © 2023 Donal K Fellows.
-#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-#
-
-proc foreachLine {varName filename body} {
- upvar 1 $varName line
- set f [open $filename "r"]
- try {
- while {[gets $f line] >= 0} {
- uplevel 1 $body
- }
- } on return {msg opt} {
- dict incr opt -level
- return -options $opt $msg
- } finally {
- close $f
- }
-}
diff --git a/library/history.tcl b/library/history.tcl
index e3d3fe4..888d144 100644
--- a/library/history.tcl
+++ b/library/history.tcl
@@ -2,20 +2,20 @@
#
# Implementation of the history command.
#
-# Copyright © 1997 Sun Microsystems, Inc.
+# 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,102 +24,163 @@ 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 some argument checking and calls the helper ensemble in the
-# tcl namespace.
-
-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.
+# This does argument checking and calls helper procedures in the
+# history namespace.
- if {![llength $args]} {
- set args info
+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
- # Tricky stuff needed to make stack and errors come out right!
- tailcall apply {arglist {tailcall ::tcl::history {*}$arglist} ::tcl} $args
-}
-
-# (unnamed) --
-#
-# Callback when [::history] is destroyed. Destroys the implementation.
-#
-# Parameters:
-# oldName what the command was called.
-# newName what the command is now called (an empty string).
-# op the operation (= delete).
-#
-# Results:
-# none
-#
-# Side Effects:
-# The implementation of the [::history] command ceases to exist.
+ 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
-trace add command ::history delete [list apply {{oldName newName op} {
- variable history
- unset -nocomplain history
- foreach c [info procs ::tcl::Hist*] {
- rename $c {}
+ 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"
+ }
}
- rename ::tcl::history {}
-} ::tcl}]
-
+}
+
# tcl::HistAdd --
#
# Add an item to the history, and optionally eval it at the global scope
#
# Parameters:
-# event the command to add
-# exec (optional) a substring of "exec" causes the command to
-# be evaled.
+# command 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 {event {exec {}}} {
+ proc tcl::HistAdd {command {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 $event] eq ""} {
+ if {[string trim $command] eq ""} {
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 ""
+ 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 {}
}
- tailcall eval $event
}
-
+
# tcl::HistKeep --
#
# Set or query the limit on the length of the history list
@@ -133,22 +194,20 @@ proc ::tcl::HistAdd {event {exec {}}} {
# Side Effects:
# Updates history(keep) if a limit is specified
-proc ::tcl::HistKeep {{count {}}} {
+ proc tcl::HistKeep {{limit {}}} {
variable history
- if {[llength [info level 0]] == 1} {
+ if {$limit eq ""} {
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
@@ -162,7 +221,7 @@ proc ::tcl::HistKeep {{count {}}} {
# 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
@@ -172,7 +231,7 @@ proc ::tcl::HistClear {} {
oldest -$keep \
]
}
-
+
# tcl::HistInfo --
#
# Return a pretty-printed version of the history list
@@ -183,16 +242,14 @@ proc ::tcl::HistClear {} {
# Results:
# A formatted history list
-proc ::tcl::HistInfo {{count {}}} {
+ proc tcl::HistInfo {{num {}}} {
variable history
- if {[llength [info level 0]] == 1} {
- set count [expr {$history(keep) + 1}]
- } elseif {![string is integer -strict $count]} {
- return -code error "bad integer \"$count\""
+ if {$num eq ""} {
+ set num [expr {$history(keep) + 1}]
}
set result {}
set newline ""
- for {set i [expr {$history(nextid) - $count + 1}]} \
+ for {set i [expr {$history(nextid) - $num + 1}]} \
{$i <= $history(nextid)} {incr i} {
if {![info exists history($i)]} {
continue
@@ -203,11 +260,11 @@ proc ::tcl::HistInfo {{count {}}} {
}
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,
@@ -219,18 +276,20 @@ proc ::tcl::HistInfo {{count {}}} {
# 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
- tailcall eval $cmd
+ uplevel #0 $cmd
}
-
+
# tcl::HistIndex --
#
# Map from an event specifier to an index in the history list.
@@ -240,22 +299,22 @@ proc ::tcl::HistRedo {{event -1}} {
# 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 {![string is integer -strict $event]} {
+ if {[catch {expr {~$event}}]} {
for {set i [expr {$history(nextid)-1}]} {[info exists history($i)]} \
{incr i -1} {
if {[string match $event* $history($i)]} {
- return $i
+ return $i;
}
if {[string match $event $history($i)]} {
- return $i
+ return $i;
}
}
return -code error "no event matches \"$event\""
@@ -268,68 +327,47 @@ proc ::tcl::HistIndex {event} {
return -code error "event \"$event\" is too far in the past"
}
if {$i > $history(nextid)} {
- return -code error "event \"$event\" hasn't occurred yet"
+ return -code error "event \"$event\" hasn't occured yet"
}
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 -1}} {
+ proc tcl::HistEvent {event} {
variable history
set i [HistIndex $event]
- if {![info exists history($i)]} {
- return ""
+ if {[info exists history($i)]} {
+ return [string trimright $history($i) \ \n]
+ } else {
+ return "";
}
- return [string trimright $history($i) \ \n]
}
-
+
# tcl::HistChange --
#
# Replace a value in the history list.
#
# Parameters:
-# 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.
+# 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.
#
# Side Effects:
# Changes the history list.
-proc ::tcl::HistChange {newValue {event 0}} {
+ proc tcl::HistChange {cmd {event 0}} {
variable history
set i [HistIndex $event]
- 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}]
+ set history($i) $cmd
}
-
-return
-
-# Local Variables:
-# mode: tcl
-# fill-column: 78
-# End:
diff --git a/library/http/http.tcl b/library/http/http.tcl
index 7b21196..4c99f62 100644
--- a/library/http/http.tcl
+++ b/library/http/http.tcl
@@ -8,10 +8,10 @@
# See the file "license.terms" for information on usage and redistribution of
# this file, and for a DISCLAIMER OF ALL WARRANTIES.
-package require Tcl 8.6-
+package require Tcl 8.4
# Keep this in sync with pkgIndex.tcl and with the install directories in
# Makefiles
-package provide http 2.10b2
+package provide http 2.7.13
namespace eval http {
# Allow resourcing to not clobber existing data
@@ -20,35 +20,12 @@ namespace eval http {
if {![info exists http]} {
array set http {
-accept */*
- -cookiejar {}
- -pipeline 1
- -postfresh 0
-proxyhost {}
-proxyport {}
-proxyfilter http::ProxyRequired
- -proxynot {}
- -proxyauth {}
- -repost 0
- -threadlevel 0
-urlencoding utf-8
- -zip 1
- }
- # 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.
- # Safe interpreters do not have ::tcl_platform(os) or
- # ::tcl_platform(osVersion).
- if {[interp issafe]} {
- set http(-useragent) "Mozilla/5.0\
- (Windows; U;\
- Windows NT 10.0)\
- http/[package provide http] Tcl/[package provide Tcl]"
- } else {
- 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]"
}
+ set http(-useragent) "Tcl http client package [package provide http]"
}
proc init {} {
@@ -68,58 +45,20 @@ namespace eval http {
variable formMap [array get map]
# Create a map for HTTP/1.1 open sockets
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
- if {[info exists socketMapping]} {
- # Close open sockets on re-init. Do not permit retries.
- foreach {url sock} [array get socketMapping] {
- unset -nocomplain socketClosing($url)
- unset -nocomplain socketPlayCmd($url)
- CloseSocket $sock
+ variable socketmap
+ if {[info exists socketmap]} {
+ # Close but don't remove open sockets on re-init
+ foreach {url sock} [array get socketmap] {
+ catch {close $sock}
}
}
-
- # CloseSocket should have unset the socket* arrays, one element at
- # a time. Now unset anything that was overlooked.
- # Traces on "unset socketRdState(*)" will call CancelReadPipeline and
- # cancel any queued responses.
- # Traces on "unset socketWrState(*)" will call CancelWritePipeline and
- # cancel any queued requests.
- array unset socketMapping
- array unset socketRdState
- array unset socketWrState
- array unset socketRdQueue
- array unset socketWrQueue
- array unset socketPhQueue
- array unset socketClosing
- array unset socketPlayCmd
- array unset socketCoEvent
- array unset socketProxyId
- array set socketMapping {}
- array set socketRdState {}
- array set socketWrState {}
- array set socketRdQueue {}
- array set socketWrQueue {}
- array set socketPhQueue {}
- array set socketClosing {}
- array set socketPlayCmd {}
- array set socketCoEvent {}
- array set socketProxyId {}
- return
+ array set socketmap {}
}
init
variable urlTypes
if {![info exists urlTypes]} {
- set urlTypes(http) [list 80 ::http::AltSocket {} 1 0]
+ set urlTypes(http) [list 80 ::socket]
}
variable encodings [string tolower [encoding names]]
@@ -141,130 +80,8 @@ namespace eval http {
set defaultKeepalive 0
}
- # Regular expression used to parse cookies
- variable CookieRE {(?x) # EXPANDED SYNTAX
- \s* # Ignore leading spaces
- ([^][\u0000- ()<>@,;:\\""/?={}\u007f-\uffff]+) # Match the name
- = # LITERAL: Equal sign
- ([!\u0023-+\u002D-:<-\u005B\u005D-~]*) # Match the value
- (?:
- \s* ; \s* # LITERAL: semicolon
- ([^\u0000]+) # Match the options
- )?
- }
-
- variable TmpSockCounter 0
- variable ThreadCounter 0
-
- variable reasonDict [dict create {*}{
- 100 Continue
- 101 {Switching Protocols}
- 102 Processing
- 103 {Early Hints}
- 200 OK
- 201 Created
- 202 Accepted
- 203 {Non-Authoritative Information}
- 204 {No Content}
- 205 {Reset Content}
- 206 {Partial Content}
- 207 Multi-Status
- 208 {Already Reported}
- 226 {IM Used}
- 300 {Multiple Choices}
- 301 {Moved Permanently}
- 302 Found
- 303 {See Other}
- 304 {Not Modified}
- 305 {Use Proxy}
- 306 (Unused)
- 307 {Temporary Redirect}
- 308 {Permanent Redirect}
- 400 {Bad Request}
- 401 Unauthorized
- 402 {Payment Required}
- 403 Forbidden
- 404 {Not Found}
- 405 {Method Not Allowed}
- 406 {Not Acceptable}
- 407 {Proxy Authentication Required}
- 408 {Request Timeout}
- 409 Conflict
- 410 Gone
- 411 {Length Required}
- 412 {Precondition Failed}
- 413 {Content Too Large}
- 414 {URI Too Long}
- 415 {Unsupported Media Type}
- 416 {Range Not Satisfiable}
- 417 {Expectation Failed}
- 418 (Unused)
- 421 {Misdirected Request}
- 422 {Unprocessable Content}
- 423 Locked
- 424 {Failed Dependency}
- 425 {Too Early}
- 426 {Upgrade Required}
- 428 {Precondition Required}
- 429 {Too Many Requests}
- 431 {Request Header Fields Too Large}
- 451 {Unavailable For Legal Reasons}
- 500 {Internal Server Error}
- 501 {Not Implemented}
- 502 {Bad Gateway}
- 503 {Service Unavailable}
- 504 {Gateway Timeout}
- 505 {HTTP Version Not Supported}
- 506 {Variant Also Negotiates}
- 507 {Insufficient Storage}
- 508 {Loop Detected}
- 510 {Not Extended (OBSOLETED)}
- 511 {Network Authentication Required}
- }]
-
- variable failedProxyValues {
- binary
- body
- charset
- coding
- connection
- connectionRespFlag
- currentsize
- host
- http
- httpResponse
- meta
- method
- querylength
- queryoffset
- reasonPhrase
- requestHeaders
- requestLine
- responseCode
- state
- status
- tid
- totalsize
- transfer
- type
- }
-
- namespace export geturl config reset wait formatQuery postError quoteString
- namespace export register unregister registerError
- namespace export requestLine requestHeaders requestHeaderValue
- namespace export responseLine responseHeaders responseHeaderValue
- namespace export responseCode responseBody responseInfo reasonPhrase
- # - Legacy aliases, were never exported:
- # data, code, mapReply, meta, ncode
- # - Callable from outside (e.g. from TLS) by fully-qualified name, but
- # not exported:
- # socket
- # - Useful, but never exported (and likely to have naming collisions):
- # size, status, cleanup, error, init
- # Comments suggest that "init" can be used for re-initialisation,
- # although the command is undocumented.
- # - Never exported, renamed from lower-case names:
- # GetTextLine, MakeTransformationChunked.
+ namespace export geturl config reset wait formatQuery register unregister
+ # Useful, but not exported: data size status code
}
# http::Log --
@@ -275,41 +92,22 @@ namespace eval http {
# Arguments:
# msg Message to output
#
-if {[info command http::Log] eq {}} {proc http::Log {args} {}}
+proc http::Log {args} {}
# http::register --
#
# See documentation for details.
#
# Arguments:
-# proto URL protocol prefix, e.g. https
-# port Default port for protocol
-# command Command to use to create socket
-# socketCmdVarName (optional) name of variable provided by the protocol
-# handler whose value is the callback used by argument
-# "command" to open a socket. The default value "::socket"
-# will be overwritten by http.
-# useSockThread (optional, boolean)
-# endToEndProxy (optional, boolean)
+# proto URL protocol prefix, e.g. https
+# port Default port for protocol
+# command Command to use to create socket
# Results:
-# list of port, command, variable name, (boolean) threadability,
-# and (boolean) endToEndProxy that was registered.
+# list of port and command that was registered.
-proc http::register {proto port command {socketCmdVarName {}} {useSockThread 0} {endToEndProxy 0}} {
+proc http::register {proto port command} {
variable urlTypes
- set lower [string tolower $proto]
- if {[info exists urlTypes($lower)]} {
- unregister $lower
- }
- set urlTypes($lower) [list $port $command $socketCmdVarName $useSockThread $endToEndProxy]
-
- # If the external handler for protocol $proto has given $socketCmdVarName the expected
- # value "::socket", overwrite it with the new value.
- if {($socketCmdVarName ne {}) && ([set $socketCmdVarName] eq {::socket})} {
- set $socketCmdVarName ::http::socketAsCallback
- }
-
- return $urlTypes($lower)
+ set urlTypes([string tolower $proto]) [list $port $command]
}
# http::unregister --
@@ -319,8 +117,7 @@ proc http::register {proto port command {socketCmdVarName {}} {useSockThread 0}
# Arguments:
# proto URL protocol prefix, e.g. https
# Results:
-# list of port, command, variable name, (boolean) useSockThread,
-# and (boolean) endToEndProxy that was unregistered.
+# list of port and command that was unregistered.
proc http::unregister {proto} {
variable urlTypes
@@ -329,13 +126,6 @@ proc http::unregister {proto} {
return -code error "unsupported url type \"$proto\""
}
set old $urlTypes($lower)
-
- # Restore the external handler's original value for $socketCmdVarName.
- lassign $old defport defcmd socketCmdVarName useSockThread endToEndProxy
- if {($socketCmdVarName ne {}) && ([set $socketCmdVarName] eq {::http::socketAsCallback})} {
- set $socketCmdVarName ::socket
- }
-
unset urlTypes($lower)
return $old
}
@@ -368,50 +158,16 @@ proc http::config {args} {
return -code error "Unknown option $flag, must be: $usage"
}
return $http($flag)
- } elseif {[llength $args] % 2} {
- return -code error "If more than one argument is supplied, the\
- number of arguments must be even"
} else {
foreach {flag value} $args {
if {![regexp -- $pat $flag]} {
return -code error "Unknown option $flag, must be: $usage"
}
- if {($flag eq {-threadlevel}) && ($value ni {0 1 2})} {
- return -code error {Option -threadlevel must be 0, 1 or 2}
- }
set http($flag) $value
}
- return
}
}
-# ------------------------------------------------------------------------------
-# Proc http::reasonPhrase
-# ------------------------------------------------------------------------------
-# Command to return the IANA-recommended "reason phrase" for a HTTP Status Code.
-# Information obtained from:
-# https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
-#
-# Arguments:
-# code - A valid HTTP Status Code (integer from 100 to 599)
-#
-# Return Value: the reason phrase
-# ------------------------------------------------------------------------------
-
-proc http::reasonPhrase {code} {
- variable reasonDict
- if {![regexp -- {^[1-5][0-9][0-9]$} $code]} {
- set msg {argument must be a three-digit integer from 100 to 599}
- return -code error $msg
- }
- if {[dict exists $reasonDict $code]} {
- set reason [dict get $reasonDict $code]
- } else {
- set reason Unassigned
- }
- return $reason
-}
-
# http::Finish --
#
# Clean up the socket and eval close time callbacks
@@ -419,342 +175,39 @@ proc http::reasonPhrase {code} {
# Arguments:
# token Connection token.
# errormsg (optional) If set, forces status to error.
-# skipCB (optional) If set, don't call the -command callback. This
+# skipCB (optional) If set, don't call the -command callback. This
# is useful when geturl wants to throw an exception instead
# of calling the callback. That way, the same error isn't
# reported to two places.
#
# Side Effects:
-# May close the socket.
+# Closes the socket
proc http::Finish {token {errormsg ""} {skipCB 0}} {
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
variable $token
upvar 0 $token state
global errorInfo errorCode
- set closeQueue 0
if {$errormsg ne ""} {
set state(error) [list $errormsg $errorInfo $errorCode]
set state(status) "error"
}
- if {[info commands ${token}--EventCoroutine] ne {}} {
- rename ${token}--EventCoroutine {}
- }
- if {[info commands ${token}--SocketCoroutine] ne {}} {
- rename ${token}--SocketCoroutine {}
- }
- if {[info exists state(socketcoro)]} {
- Log $token Cancel socket after-idle event (Finish)
- after cancel $state(socketcoro)
- unset state(socketcoro)
- }
-
- # Is this an upgrade request/response?
- set upgradeResponse \
- [expr { [info exists state(upgradeRequest)]
- && $state(upgradeRequest)
- && [info exists state(http)]
- && ([ncode $token] eq {101})
- && [info exists state(connection)]
- && ("upgrade" in $state(connection))
- && [info exists state(upgrade)]
- && ("" ne $state(upgrade))
- }]
-
- if { ($state(status) eq "timeout")
- || ($state(status) eq "error")
- || ($state(status) eq "eof")
- } {
- set closeQueue 1
- set connId $state(socketinfo)
- if {[info exists state(sock)]} {
- set sock $state(sock)
- CloseSocket $state(sock) $token
- } else {
- # When opening the socket and calling http::reset
- # immediately, the socket may not yet exist.
- # Test http-4.11 may come here.
- }
- if {$state(tid) ne {}} {
- # When opening the socket in a thread, and calling http::reset
- # immediately, the thread may still exist.
- # Test http-4.11 may come here.
- thread::release $state(tid)
- set state(tid) {}
- } else {
- }
- } elseif {$upgradeResponse} {
- # Special handling for an upgrade request/response.
- # - geturl ensures that this is not a "persistent" socket used for
- # multiple HTTP requests, so a call to KeepSocket is not needed.
- # - Leave socket open, so a call to CloseSocket is not needed either.
- # - Remove fileevent bindings. The caller will set its own bindings.
- # - THE CALLER MUST PROCESS THE UPGRADED SOCKET IN THE CALLBACK COMMAND
- # PASSED TO http::geturl AS -command callback.
- catch {fileevent $state(sock) readable {}}
- catch {fileevent $state(sock) writable {}}
- } elseif {
- ([info exists state(-keepalive)] && !$state(-keepalive))
- || ([info exists state(connection)] && ("close" in $state(connection)))
- } {
- set closeQueue 1
- set connId $state(socketinfo)
- if {[info exists state(sock)]} {
- set sock $state(sock)
- CloseSocket $state(sock) $token
- } else {
- # When opening the socket and calling http::reset
- # immediately, the socket may not yet exist.
- # Test http-4.11 may come here.
- }
- } elseif {
- ([info exists state(-keepalive)] && $state(-keepalive))
- && ([info exists state(connection)] && ("close" ni $state(connection)))
- } {
- KeepSocket $token
+ if {
+ ($state(status) eq "timeout") || ($state(status) eq "error") ||
+ ([info exists state(connection)] && ($state(connection) eq "close"))
+ } then {
+ CloseSocket $state(sock) $token
}
if {[info exists state(after)]} {
after cancel $state(after)
- unset state(after)
}
- if {[info exists state(-command)] && (!$skipCB)
- && (![info exists state(done-command-cb)])} {
+ if {[info exists state(-command)] && !$skipCB
+ && ![info exists state(done-command-cb)]} {
set state(done-command-cb) yes
- if { [catch {namespace eval :: $state(-command) $token} err]
- && ($errormsg eq "")
- } {
+ if {[catch {eval $state(-command) {$token}} err] && $errormsg eq ""} {
set state(error) [list $err $errorInfo $errorCode]
set state(status) error
}
}
-
- if { $closeQueue
- && [info exists socketMapping($connId)]
- && ($socketMapping($connId) eq $sock)
- } {
- http::CloseQueuedQueries $connId $token
- # This calls Unset. Other cases do not need the call.
- }
- return
-}
-
-# http::KeepSocket -
-#
-# Keep a socket in the persistent sockets table and connect it to its next
-# queued task if possible. Otherwise leave it idle and ready for its next
-# use.
-#
-# If $socketClosing(*), then ("close" in $state(connection)) and therefore
-# this command will not be called by Finish.
-#
-# Arguments:
-# token Connection token.
-
-proc http::KeepSocket {token} {
- variable http
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- variable $token
- upvar 0 $token state
- set tk [namespace tail $token]
-
- # Keep this socket open for another request ("Keep-Alive").
- # React if the server half-closes the socket.
- # Discussion is in http::geturl.
- catch {fileevent $state(sock) readable [list http::CheckEof $state(sock)]}
-
- # The line below should not be changed in production code.
- # It is edited by the test suite.
- set TEST_EOF 0
- if {$TEST_EOF} {
- # ONLY for testing reaction to server eof.
- # No server timeouts will be caught.
- catch {fileevent $state(sock) readable {}}
- }
-
- if { [info exists state(socketinfo)]
- && [info exists socketMapping($state(socketinfo))]
- } {
- set connId $state(socketinfo)
- # The value "Rready" is set only here.
- set socketRdState($connId) Rready
-
- if { $state(-pipeline)
- && [info exists socketRdQueue($connId)]
- && [llength $socketRdQueue($connId)]
- } {
- # The usual case for pipelined responses - if another response is
- # queued, arrange to read it.
- set token3 [lindex $socketRdQueue($connId) 0]
- set socketRdQueue($connId) [lrange $socketRdQueue($connId) 1 end]
-
- #Log pipelined, GRANT read access to $token3 in KeepSocket
- set socketRdState($connId) $token3
- ReceiveResponse $token3
-
- # Other pipelined cases.
- # - The test above ensures that, for the pipelined cases in the two
- # tests below, the read queue is empty.
- # - In those two tests, check whether the next write will be
- # nonpipeline.
- } elseif {
- $state(-pipeline)
- && [info exists socketWrState($connId)]
- && ($socketWrState($connId) eq "peNding")
-
- && [info exists socketWrQueue($connId)]
- && [llength $socketWrQueue($connId)]
- && (![set token3 [lindex $socketWrQueue($connId) 0]
- set ${token3}(-pipeline)
- ]
- )
- } {
- # This case:
- # - Now it the time to run the "pending" request.
- # - The next token in the write queue is nonpipeline, and
- # socketWrState has been marked "pending" (in
- # http::NextPipelinedWrite or http::geturl) so a new pipelined
- # request cannot jump the queue.
- #
- # Tests:
- # - In this case the read queue (tested above) is empty and this
- # "pending" write token is in front of the rest of the write
- # queue.
- # - The write state is not Wready and therefore appears to be busy,
- # but because it is "pending" we know that it is reserved for the
- # first item in the write queue, a non-pipelined request that is
- # waiting for the read queue to empty. That has now happened: so
- # give that request read and write access.
- set conn [set ${token3}(connArgs)]
- #Log nonpipeline, GRANT r/w access to $token3 in KeepSocket
- set socketRdState($connId) $token3
- set socketWrState($connId) $token3
- set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end]
- # Connect does its own fconfigure.
- fileevent $state(sock) writable [list http::Connect $token3 {*}$conn]
- #Log ---- $state(sock) << conn to $token3 for HTTP request (c)
-
- } elseif {
- $state(-pipeline)
- && [info exists socketWrState($connId)]
- && ($socketWrState($connId) eq "peNding")
-
- } {
- # Should not come here. The second block in the previous "elseif"
- # test should be tautologous (but was needed in an earlier
- # implementation) and will be removed after testing.
- # If we get here, the value "pending" was assigned in error.
- # This error would block the queue for ever.
- Log ^X$tk <<<<< Error in queueing of requests >>>>> - token $token
-
- } elseif {
- $state(-pipeline)
- && [info exists socketWrState($connId)]
- && ($socketWrState($connId) eq "Wready")
-
- && [info exists socketWrQueue($connId)]
- && [llength $socketWrQueue($connId)]
- && (![set token3 [lindex $socketWrQueue($connId) 0]
- set ${token3}(-pipeline)
- ]
- )
- } {
- # This case:
- # - The next token in the write queue is nonpipeline, and
- # socketWrState is Wready. Get the next event from socketWrQueue.
- # Tests:
- # - In this case the read state (tested above) is Rready and the
- # write state (tested here) is Wready - there is no "pending"
- # request.
- # Code:
- # - The code is the same as the code below for the nonpipelined
- # case with a queued request.
- set conn [set ${token3}(connArgs)]
- #Log nonpipeline, GRANT r/w access to $token3 in KeepSocket
- set socketRdState($connId) $token3
- set socketWrState($connId) $token3
- set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end]
- # Connect does its own fconfigure.
- fileevent $state(sock) writable [list http::Connect $token3 {*}$conn]
- #Log ---- $state(sock) << conn to $token3 for HTTP request (c)
-
- } elseif {
- (!$state(-pipeline))
- && [info exists socketWrQueue($connId)]
- && [llength $socketWrQueue($connId)]
- && ("close" ni $state(connection))
- } {
- # If not pipelined, (socketRdState eq Rready) tells us that we are
- # ready for the next write - there is no need to check
- # socketWrState. Write the next request, if one is waiting.
- # If the next request is pipelined, it receives premature read
- # access to the socket. This is not a problem.
- set token3 [lindex $socketWrQueue($connId) 0]
- set conn [set ${token3}(connArgs)]
- #Log nonpipeline, GRANT r/w access to $token3 in KeepSocket
- set socketRdState($connId) $token3
- set socketWrState($connId) $token3
- set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end]
- # Connect does its own fconfigure.
- fileevent $state(sock) writable [list http::Connect $token3 {*}$conn]
- #Log ---- $state(sock) << conn to $token3 for HTTP request (d)
-
- } elseif {(!$state(-pipeline))} {
- set socketWrState($connId) Wready
- # Rready and Wready and idle: nothing to do.
- }
-
- } else {
- CloseSocket $state(sock) $token
- # There is no socketMapping($state(socketinfo)), so it does not matter
- # that CloseQueuedQueries is not called.
- }
- return
-}
-
-# http::CheckEof -
-#
-# Read from a socket and close it if eof.
-# The command is bound to "fileevent readable" on an idle socket, and
-# "eof" is the only event that should trigger the binding, occurring when
-# the server times out and half-closes the socket.
-#
-# A read is necessary so that [eof] gives a meaningful result.
-# Any bytes sent are junk (or a bug).
-
-proc http::CheckEof {sock} {
- set junk [read $sock]
- set n [string length $junk]
- if {$n} {
- Log "WARNING: $n bytes received but no HTTP request sent"
- }
-
- if {[catch {eof $sock} res] || $res} {
- # The server has half-closed the socket.
- # If a new write has started, its transaction will fail and
- # will then be error-handled.
- CloseSocket $sock
- }
- return
}
# http::CloseSocket -
@@ -762,154 +215,42 @@ proc http::CheckEof {sock} {
# Close a socket and remove it from the persistent sockets table. If
# possible an http token is included here but when we are called from a
# fileevent on remote closure we need to find the correct entry - hence
-# the "else" block of the first "if" command.
-
-proc http::CloseSocket {s {token {}}} {
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- set tk [namespace tail $token]
+# the second section.
+proc ::http::CloseSocket {s {token {}}} {
+ variable socketmap
catch {fileevent $s readable {}}
- set connId {}
+ set conn_id {}
if {$token ne ""} {
- variable $token
- upvar 0 $token state
- if {[info exists state(socketinfo)]} {
- set connId $state(socketinfo)
- }
+ variable $token
+ upvar 0 $token state
+ if {[info exists state(socketinfo)]} {
+ set conn_id $state(socketinfo)
+ }
} else {
- set map [array get socketMapping]
- set ndx [lsearch -exact $map $s]
- if {$ndx >= 0} {
+ set map [array get socketmap]
+ set ndx [lsearch -exact $map $s]
+ if {$ndx != -1} {
incr ndx -1
- set connId [lindex $map $ndx]
- }
+ set conn_id [lindex $map $ndx]
+ }
}
- if { ($connId ne {})
- && [info exists socketMapping($connId)]
- && ($socketMapping($connId) eq $s)
- } {
- Log "Closing connection $connId (sock $socketMapping($connId))"
- if {[catch {close $socketMapping($connId)} err]} {
- Log "Error closing connection: $err"
- } else {
- }
- if {$token eq {}} {
- # Cases with a non-empty token are handled by Finish, so the tokens
- # are finished in connection order.
- http::CloseQueuedQueries $connId
- } else {
+ if {$conn_id eq {} || ![info exists socketmap($conn_id)]} {
+ Log "Closing socket $s (no connection info)"
+ if {[catch {close $s} err]} {
+ Log "Error: $err"
}
} else {
- Log "Closing socket $s (no connection info)"
- if {[catch {close $s} err]} {
- Log "Error closing socket: $err"
+ if {[info exists socketmap($conn_id)]} {
+ Log "Closing connection $conn_id (sock $socketmap($conn_id))"
+ if {[catch {close $socketmap($conn_id)} err]} {
+ Log "Error: $err"
+ }
+ unset socketmap($conn_id)
} else {
+ Log "Cannot close connection $conn_id - no socket in socket map"
}
}
- return
-}
-
-# http::CloseQueuedQueries
-#
-# connId - identifier "domain:port" for the connection
-# token - (optional) used only for logging
-#
-# Called from http::CloseSocket and http::Finish, after a connection is closed,
-# to clear the read and write queues if this has not already been done.
-
-proc http::CloseQueuedQueries {connId {token {}}} {
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- ##Log CloseQueuedQueries $connId $token
- if {![info exists socketMapping($connId)]} {
- # Command has already been called.
- # Don't come here again - especially recursively.
- return
- }
-
- # Used only for logging.
- if {$token eq {}} {
- set tk {}
- } else {
- set tk [namespace tail $token]
- }
-
- if { [info exists socketPlayCmd($connId)]
- && ($socketPlayCmd($connId) ne {ReplayIfClose Wready {} {}})
- } {
- # Before unsetting, there is some unfinished business.
- # - If the server sent "Connection: close", we have stored the command
- # for retrying any queued requests in socketPlayCmd, so copy that
- # value for execution below. socketClosing(*) was also set.
- # - Also clear the queues to prevent calls to Finish that would set the
- # state for the requests that will be retried to "finished with error
- # status".
- # - At this stage socketPhQueue is empty.
- set unfinished $socketPlayCmd($connId)
- set socketRdQueue($connId) {}
- set socketWrQueue($connId) {}
- } else {
- set unfinished {}
- }
-
- Unset $connId
-
- if {$unfinished ne {}} {
- Log ^R$tk Any unfinished transactions (excluding $token) failed \
- - token $token - unfinished $unfinished
- {*}$unfinished
- # Calls ReplayIfClose.
- }
- return
-}
-
-# http::Unset
-#
-# The trace on "unset socketRdState(*)" will call CancelReadPipeline
-# and cancel any queued responses.
-# The trace on "unset socketWrState(*)" will call CancelWritePipeline
-# and cancel any queued requests.
-
-proc http::Unset {connId} {
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- unset socketMapping($connId)
- unset socketRdState($connId)
- unset socketWrState($connId)
- unset -nocomplain socketRdQueue($connId)
- unset -nocomplain socketWrQueue($connId)
- unset -nocomplain socketClosing($connId)
- unset -nocomplain socketPlayCmd($connId)
- unset -nocomplain socketProxyId($connId)
- return
}
# http::reset --
@@ -921,7 +262,7 @@ proc http::Unset {connId} {
# why Status info.
#
# Side Effects:
-# See Finish
+# See Finish
proc http::reset {token {why reset}} {
variable $token
@@ -934,9 +275,7 @@ proc http::reset {token {why reset}} {
set errorlist $state(error)
unset state
eval ::error $errorlist
- # i.e. error msg errorInfo errorCode
}
- return
}
# http::geturl --
@@ -944,117 +283,30 @@ proc http::reset {token {why reset}} {
# Establishes a connection to a remote url via http.
#
# Arguments:
-# url The http URL to goget.
-# args Option value pairs. Valid options include:
+# url The http URL to goget.
+# args Option value pairs. Valid options include:
# -blocksize, -validate, -headers, -timeout
# Results:
# Returns a token for this connection. This token is the name of an
# array that the caller should unset to garbage collect the state.
proc http::geturl {url args} {
- variable urlTypes
-
- # - If ::tls::socketCmd has its default value "::socket", change it to the
- # new value ::http::socketAsCallback.
- # - If the old value is different, then it has been modified either by the
- # script or by the Tcl installation, and replaced by a new command. The
- # script or installation that modified ::tls::socketCmd is also
- # responsible for integrating ::http::socketAsCallback into its own "new"
- # command, if it wishes to do so.
- # - Commands that open a socket:
- # - ::socket - basic
- # - ::http::AltSocket - can use a thread to avoid blockage by slow
- # DNS lookup. See http::config option
- # -threadlevel.
- # - ::http::socketAsCallback - as ::http::AltSocket, but can also open a
- # socket for HTTPS/TLS through a proxy.
-
- set token [CreateToken $url {*}$args]
- variable $token
- upvar 0 $token state
-
- AsyncTransaction $token
-
- # --------------------------------------------------------------------------
- # Synchronous Call to http::geturl
- # --------------------------------------------------------------------------
- # - If the call to http::geturl is asynchronous, it is now complete (apart
- # from delivering the return value).
- # - If the call to http::geturl is synchronous, the command must now wait
- # for the HTTP transaction to be completed. The call to http::wait uses
- # vwait, which may be inappropriate if the caller makes other HTTP
- # requests in the background.
- # --------------------------------------------------------------------------
-
- if {![info exists state(-command)]} {
- # geturl does EVERYTHING asynchronously, so if the user
- # calls it synchronously, we just do a wait here.
- http::wait $token
-
- if {![info exists state]} {
- # If we timed out then Finish has been called and the users
- # command callback may have cleaned up the token. If so we end up
- # here with nothing left to do.
- return $token
- } elseif {$state(status) eq "error"} {
- # Something went wrong while trying to establish the connection.
- # 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.
- set err [lindex $state(error) 0]
- cleanup $token
- return -code error $err
- }
- }
-
- return $token
-}
-
-# ------------------------------------------------------------------------------
-# Proc http::CreateToken
-# ------------------------------------------------------------------------------
-# Command to convert arguments into an initialised request token.
-# The return value is the variable name of the token.
-#
-# Other effects:
-# - Sets ::http::http(usingThread) if not already done
-# - Sets ::http::http(uid) if not already done
-# - Increments ::http::http(uid)
-# - May increment ::http::TmpSockCounter
-# - Alters ::http::socketPlayCmd, ::http::socketWrQueue if a -keepalive 1
-# request is appended to the queue of a persistent socket that is already
-# scheduled to close.
-# This also sets state(alreadyQueued) to 1.
-# - Alters ::http::socketPhQueue if a -keepalive 1 request is appended to the
-# queue of a persistent socket that has not yet been created (and is therefore
-# represented by a placeholder).
-# This also sets state(ReusingPlaceholder) to 1.
-# ------------------------------------------------------------------------------
-
-proc http::CreateToken {url args} {
variable http
variable urlTypes
variable defaultCharset
variable defaultKeepalive
variable strict
- variable TmpSockCounter
# Initialize the state variable, an array. We'll return the name of this
# array as the token for the transaction.
- if {![info exists http(usingThread)]} {
- set http(usingThread) 0
- }
if {![info exists http(uid)]} {
set http(uid) 0
}
set token [namespace current]::[incr http(uid)]
- ##Log Starting http::geturl - token $token
variable $token
upvar 0 $token state
- set tk [namespace tail $token]
reset $token
- Log ^A$tk URL $url - token $token
# Process command options.
@@ -1068,31 +320,19 @@ proc http::CreateToken {url args} {
-type application/x-www-form-urlencoded
-queryprogress {}
-protocol 1.1
- -guesstype 0
binary 0
- state created
+ state connecting
meta {}
- method {}
coding {}
currentsize 0
totalsize 0
querylength 0
queryoffset 0
- type application/octet-stream
+ type text/html
body {}
status ""
http ""
- httpResponse {}
- responseCode {}
- reasonPhrase {}
- connection keep-alive
- tid {}
- requestHeaders {}
- requestLine {}
- transfer {}
- proxyUsed none
- protoSockThread 0
- protoProxyConn 0
+ connection close
}
set state(-keepalive) $defaultKeepalive
set state(-strict) $strict
@@ -1100,16 +340,14 @@ proc http::CreateToken {url args} {
array set type {
-binary boolean
-blocksize integer
- -guesstype boolean
-queryblocksize integer
-strict boolean
-timeout integer
-validate boolean
- -headers list
}
set state(charset) $defaultCharset
set options {
- -binary -blocksize -channel -command -guesstype -handler -headers -keepalive
+ -binary -blocksize -channel -command -handler -headers -keepalive
-method -myaddr -progress -protocol -query -queryblocksize
-querychannel -queryprogress -strict -timeout -type -validate
}
@@ -1119,18 +357,14 @@ proc http::CreateToken {url args} {
foreach {flag value} $args {
if {[regexp -- $pat $flag]} {
# Validate numbers
- if { [info exists type($flag)]
- && (![string is $type($flag) -strict $value])
- } {
+ if {
+ [info exists type($flag)] &&
+ ![string is $type($flag) -strict $value]
+ } then {
unset $token
return -code error \
"Bad value for $flag ($value), must be $type($flag)"
}
- if {($flag eq "-headers") && ([llength $value] % 2 != 0)} {
- unset $token
- return -code error "Bad value for $flag ($value), number\
- of list elements must be even"
- }
set state($flag) $value
} else {
unset $token
@@ -1181,9 +415,7 @@ proc http::CreateToken {url args} {
# Note that the RE actually combines the user and password parts, as
# recommended in RFC 3986. Indeed, that RFC states that putting passwords
# in URLs is a Really Bad Idea, something with which I would agree utterly.
- # RFC 9110 Sec 4.2.4 goes further than this, and deprecates the format
- # "user:password@". It is retained here for backward compatibility,
- # but its use is not recommended.
+ # Also note that we do not currently support IPv6 addresses.
#
# From a validation perspective, we need to ensure that the parts of the
# URL that are going to the server are correctly encoded. This is only
@@ -1198,10 +430,7 @@ proc http::CreateToken {url args} {
[^@/\#?]+ # <userinfo part of authority>
) @
)?
- ( # <host part of authority>
- [^/:\#?]+ | # host name or IPv4 address
- \[ [^/\#?]+ \] # IPv6 address in square brackets
- )
+ ( [^/:\#?]+ ) # <host part of authority>
(?: : (\d+) )? # <port part of authority>
)?
( [/\?] [^\#]*)? # <path> (including query)
@@ -1215,7 +444,6 @@ proc http::CreateToken {url args} {
return -code error "Unsupported URL: $url"
}
# Phase two: validate
- set host [string trim $host {[]}]; # strip square brackets from IPv6 address
if {$host eq ""} {
# Caller has to provide a host name; we do not have a "default host"
# that would enable us to handle relative URLs.
@@ -1272,12 +500,8 @@ proc http::CreateToken {url args} {
}
return -code error "Illegal characters in URL path"
}
- if {![regexp {^[^?#]+} $srvurl state(path)]} {
- set state(path) /
- }
} else {
set srvurl /
- set state(path) /
}
if {$proto eq ""} {
set proto http
@@ -1287,16 +511,8 @@ proc http::CreateToken {url args} {
unset $token
return -code error "Unsupported URL type \"$proto\""
}
- lassign $urlTypes($lower) defport defcmd socketCmdVarName useSockThread end2EndProxy
-
- # If the external handler for protocol $proto has given $socketCmdVarName the expected
- # value "::socket", overwrite it with the new value.
- if {($socketCmdVarName ne {}) && ([set $socketCmdVarName] eq {::socket})} {
- set $socketCmdVarName ::http::socketAsCallback
- }
-
- set state(protoSockThread) $useSockThread
- set state(protoProxyConn) $end2EndProxy
+ set defport [lindex $urlTypes($lower) 0]
+ set defcmd [lindex $urlTypes($lower) 1]
if {$port eq ""} {
set port $defport
@@ -1304,9 +520,6 @@ proc http::CreateToken {url args} {
if {![catch {$http(-proxyfilter) $host} proxy]} {
set phost [lindex $proxy 0]
set pport [lindex $proxy 1]
- } else {
- set phost {}
- set pport {}
}
# OK, now reassemble into a full URL
@@ -1320,895 +533,122 @@ proc http::CreateToken {url args} {
append url : $port
}
append url $srvurl
- # Don't append the fragment! RFC 7230 Sec 5.1
+ # Don't append the fragment!
set state(url) $url
- # Proxy connections aren't shared among different hosts.
- set state(socketinfo) $host:$port
-
- # Save the accept types at this point to prevent a race condition. [Bug
- # c11a51c482]
- set state(accept-types) $http(-accept)
-
- # Check whether this is an Upgrade request.
- set connectionValues [SplitCommaSeparatedFieldValue \
- [GetFieldValue $state(-headers) Connection]]
- set connectionValues [string tolower $connectionValues]
- set upgradeValues [SplitCommaSeparatedFieldValue \
- [GetFieldValue $state(-headers) Upgrade]]
- set state(upgradeRequest) [expr { "upgrade" in $connectionValues
- && [llength $upgradeValues] >= 1}]
- set state(connectionValues) $connectionValues
-
- if {$isQuery || $isQueryChannel} {
- # It's a POST.
- # A client wishing to send a non-idempotent request SHOULD wait to send
- # that request until it has received the response status for the
- # previous request.
- if {$http(-postfresh)} {
- # Override -keepalive for a POST. Use a new connection, and thus
- # avoid the small risk of a race against server timeout.
- set state(-keepalive) 0
- } else {
- # Allow -keepalive but do not -pipeline - wait for the previous
- # transaction to finish.
- # There is a small risk of a race against server timeout.
- set state(-pipeline) 0
- }
- } elseif {$state(upgradeRequest)} {
- # It's an upgrade request. Method must be GET (untested).
- # Force -keepalive to 0 so the connection is not made over a persistent
- # socket, i.e. one used for multiple HTTP requests.
- set state(-keepalive) 0
- } else {
- # It's a non-upgrade GET or HEAD.
- set state(-pipeline) $http(-pipeline)
- }
+ # If a timeout is specified we set up the after event and arrange for an
+ # asynchronous socket connection.
- # 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
+ set sockopts [list -async]
+ if {$state(-timeout) > 0} {
+ set state(after) [after $state(-timeout) \
+ [list http::reset $token timeout]]
}
- # RFC 7320 A.1 - HTTP/1.0 Keep-Alive is problematic. We do not support it.
- if {$state(-protocol) eq "1.0"} {
- set state(connection) close
- set state(-keepalive) 0
- }
+ # If we are using the proxy, we must pass in the full URL that includes
+ # the server name.
- # Handle proxy requests here for http:// but not for https://
- # The proxying for https is done in the ::http::socketAsCallback command.
- # A proxy request for http:// needs the full URL in the HTTP request line,
- # including the server name.
- # The *tls* test below attempts to describe protocols in addition to
- # "https on port 443" that use HTTP over TLS.
- if {($phost ne "") && (!$end2EndProxy)} {
+ if {[info exists phost] && ($phost ne "")} {
set srvurl $url
set targetAddr [list $phost $pport]
- set state(proxyUsed) HttpProxy
- # The value of state(proxyUsed) none|HttpProxy depends only on the
- # all-transactions http::config settings and on the target URL.
- # Even if this is a persistent socket there is no need to change the
- # value of state(proxyUsed) for other transactions that use the socket:
- # they have the same value already.
} else {
set targetAddr [list $host $port]
}
-
- set sockopts [list -async]
-
- # Pass -myaddr directly to the socket command
- if {[info exists state(-myaddr)]} {
- lappend sockopts -myaddr $state(-myaddr)
- }
-
- if {$useSockThread} {
- set targs [list -type $token]
- } else {
- set targs {}
- }
- set state(connArgs) [list $proto $phost $srvurl]
- set state(openCmd) [list {*}$defcmd {*}$sockopts {*}$targs {*}$targetAddr]
+ # Proxy connections aren't shared among different hosts.
+ set state(socketinfo) $host:$port
# See if we are supposed to use a previously opened channel.
- # - In principle, ANY call to http::geturl could use a previously opened
- # channel if it is available - the "Connection: keep-alive" header is a
- # request to leave the channel open AFTER completion of this call.
- # - In fact, we try to use an existing channel only if -keepalive 1 -- this
- # means that at most one channel is left open for each value of
- # $state(socketinfo). This property simplifies the mapping of open
- # channels.
- set reusing 0
- set state(alreadyQueued) 0
- set state(ReusingPlaceholder) 0
if {$state(-keepalive)} {
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- if {[info exists socketMapping($state(socketinfo))]} {
- # - If the connection is idle, it has a "fileevent readable" binding
- # to http::CheckEof, in case the server times out and half-closes
- # the socket (http::CheckEof closes the other half).
- # - We leave this binding in place until just before the last
- # puts+flush in http::Connected (GET/HEAD) or http::Write (POST),
- # after which the HTTP response might be generated.
-
- if { [info exists socketClosing($state(socketinfo))]
- && $socketClosing($state(socketinfo))
- } {
- # socketClosing(*) is set because the server has sent a
- # "Connection: close" header.
- # Do not use the persistent socket again.
- # Since we have only one persistent socket per server, and the
- # old socket is not yet dead, add the request to the write queue
- # of the dying socket, which will be replayed by ReplayIfClose.
- # Also add it to socketWrQueue(*) which is used only if an error
- # causes a call to Finish.
- set reusing 1
- set sock $socketMapping($state(socketinfo))
- set state(proxyUsed) $socketProxyId($state(socketinfo))
- Log "reusing closing socket $sock for $state(socketinfo) - token $token"
-
- set state(alreadyQueued) 1
- lassign $socketPlayCmd($state(socketinfo)) com0 com1 com2 com3
- lappend com3 $token
- set socketPlayCmd($state(socketinfo)) [list $com0 $com1 $com2 $com3]
- lappend socketWrQueue($state(socketinfo)) $token
- ##Log socketPlayCmd($state(socketinfo)) is $socketPlayCmd($state(socketinfo))
- ##Log socketWrQueue($state(socketinfo)) is $socketWrQueue($state(socketinfo))
- } elseif {
- [catch {fconfigure $socketMapping($state(socketinfo))}]
- && (![SockIsPlaceHolder $socketMapping($state(socketinfo))])
- } {
- ###Log "Socket $socketMapping($state(socketinfo)) for $state(socketinfo)"
- # FIXME Is it still possible for this code to be executed? If
- # so, this could be another place to call TestForReplay,
- # rather than discarding the queued transactions.
- Log "WARNING: socket for $state(socketinfo) was closed\
- - token $token"
- Log "WARNING - if testing, pay special attention to this\
- case (GH) which is seldom executed - token $token"
-
- # This will call CancelReadPipeline, CancelWritePipeline, and
- # cancel any queued requests, responses.
- Unset $state(socketinfo)
+ variable socketmap
+ if {[info exists socketmap($state(socketinfo))]} {
+ if {[catch {fconfigure $socketmap($state(socketinfo))}]} {
+ Log "WARNING: socket for $state(socketinfo) was closed"
+ unset socketmap($state(socketinfo))
} else {
- # Use the persistent socket.
- # - The socket may not be ready to write: an earlier request might
- # still be still writing (in the pipelined case) or
- # writing/reading (in the nonpipeline case). This possibility
- # is handled by socketWrQueue later in this command.
- # - The socket may not yet exist, and be defined with a placeholder.
- set reusing 1
- set sock $socketMapping($state(socketinfo))
- set state(proxyUsed) $socketProxyId($state(socketinfo))
- if {[SockIsPlaceHolder $sock]} {
- set state(ReusingPlaceholder) 1
- lappend socketPhQueue($sock) $token
- } else {
- }
- Log "reusing open socket $sock for $state(socketinfo) - token $token"
+ set sock $socketmap($state(socketinfo))
+ Log "reusing socket $sock for $state(socketinfo)"
+ catch {fileevent $sock writable {}}
+ catch {fileevent $sock readable {}}
}
- # Do not automatically close the connection socket.
- set state(connection) keep-alive
}
+ # don't automatically close this connection socket
+ set state(connection) {}
}
-
- set state(reusing) $reusing
- unset reusing
-
if {![info exists sock]} {
- # N.B. At this point ([info exists sock] == $state(reusing)).
- # This will no longer be true after we set a value of sock here.
- # Give the socket a placeholder name.
- set sock HTTP_PLACEHOLDER_[incr TmpSockCounter]
- }
- set state(sock) $sock
-
- if {$state(reusing)} {
- # Define these for use (only) by http::ReplayIfDead if the persistent
- # connection has died.
- set state(tmpConnArgs) $state(connArgs)
- set state(tmpState) [array get state]
- set state(tmpOpenCmd) $state(openCmd)
- }
- return $token
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc ::http::SockIsPlaceHolder
-# ------------------------------------------------------------------------------
-# Command to return 0 if the argument is a genuine socket handle, or 1 if is a
-# placeholder value generated by geturl or ReplayCore before the real socket is
-# created.
-#
-# Arguments:
-# sock - either a valid socket handle or a placeholder value
-#
-# Return Value: 0 or 1
-# ------------------------------------------------------------------------------
-
-proc http::SockIsPlaceHolder {sock} {
- expr {[string range $sock 0 16] eq {HTTP_PLACEHOLDER_}}
-}
-
-
-# ------------------------------------------------------------------------------
-# state(reusing)
-# ------------------------------------------------------------------------------
-# - state(reusing) is set by geturl, ReplayCore
-# - state(reusing) is used by geturl, AsyncTransaction, OpenSocket,
-# ConfigureNewSocket, and ScheduleRequest when creating and configuring the
-# connection.
-# - state(reusing) is used by Connect, Connected, Event x 2 when deciding
-# whether to call TestForReplay.
-# - Other places where state(reusing) is used:
-# - Connected - if reusing and not pipelined, start the state(-timeout)
-# timeout (when writing).
-# - DoneRequest - if reusing and pipelined, send the next pipelined write
-# - Event - if reusing and pipelined, start the state(-timeout)
-# timeout (when reading).
-# - Event - if (not reusing) and pipelined, send the next pipelined
-# write.
-# ------------------------------------------------------------------------------
-
-
-# ------------------------------------------------------------------------------
-# Proc http::AsyncTransaction
-# ------------------------------------------------------------------------------
-# This command is called by geturl and ReplayCore to prepare the HTTP
-# transaction prescribed by a suitably prepared token.
-#
-# Arguments:
-# token - connection token (name of an array)
-#
-# Return Value: none
-# ------------------------------------------------------------------------------
-
-proc http::AsyncTransaction {token} {
- variable $token
- upvar 0 $token state
- set tk [namespace tail $token]
-
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- set sock $state(sock)
-
- # See comments above re the start of this timeout in other cases.
- if {(!$state(reusing)) && ($state(-timeout) > 0)} {
- set state(after) [after $state(-timeout) \
- [list http::reset $token timeout]]
- }
-
- if { $state(-keepalive)
- && (![info exists socketMapping($state(socketinfo))])
- } {
- # This code is executed only for the first -keepalive request on a
- # socket. It makes the socket persistent.
- ##Log " PreparePersistentConnection" $token -- $sock -- DO
- set DoLater [PreparePersistentConnection $token]
- } else {
- ##Log " PreparePersistentConnection" $token -- $sock -- SKIP
- set DoLater {-traceread 0 -tracewrite 0}
- }
-
- if {$state(ReusingPlaceholder)} {
- # - This request was added to the socketPhQueue of a persistent
- # connection.
- # - But the connection has not yet been created and is a placeholder;
- # - And the placeholder was created by an earlier request.
- # - When that earlier request calls OpenSocket, its placeholder is
- # replaced with a true socket, and it then executes the equivalent of
- # OpenSocket for any subsequent requests that have
- # $state(ReusingPlaceholder).
- Log >J$tk after idle coro NO - ReusingPlaceholder
- } elseif {$state(alreadyQueued)} {
- # - This request was added to the socketWrQueue and socketPlayCmd
- # of a persistent connection that will close at the end of its current
- # read operation.
- Log >J$tk after idle coro NO - alreadyQueued
- } else {
- Log >J$tk after idle coro YES
- set CoroName ${token}--SocketCoroutine
- set cancel [after idle [list coroutine $CoroName ::http::OpenSocket \
- $token $DoLater]]
- dict set socketCoEvent($state(socketinfo)) $token $cancel
- set state(socketcoro) $cancel
- }
-
- return
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::PreparePersistentConnection
-# ------------------------------------------------------------------------------
-# This command is called by AsyncTransaction to initialise a "persistent
-# connection" based upon a socket placeholder. It is called the first time the
-# socket is associated with a "-keepalive" request.
-#
-# Arguments:
-# token - connection token (name of an array)
-#
-# Return Value: - DoLater, a dictionary of boolean values listing unfinished
-# tasks; to be passed to ConfigureNewSocket via OpenSocket.
-# ------------------------------------------------------------------------------
-
-proc http::PreparePersistentConnection {token} {
- variable $token
- upvar 0 $token state
-
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- set DoLater {-traceread 0 -tracewrite 0}
- set socketMapping($state(socketinfo)) $state(sock)
- set socketProxyId($state(socketinfo)) $state(proxyUsed)
- # - The value of state(proxyUsed) was set in http::CreateToken to either
- # "none" or "HttpProxy".
- # - $token is the first transaction to use this placeholder, so there are
- # no other tokens whose (proxyUsed) must be modified.
-
- if {![info exists socketRdState($state(socketinfo))]} {
- set socketRdState($state(socketinfo)) {}
- # set varName ::http::socketRdState($state(socketinfo))
- # trace add variable $varName unset ::http::CancelReadPipeline
- dict set DoLater -traceread 1
- }
- if {![info exists socketWrState($state(socketinfo))]} {
- set socketWrState($state(socketinfo)) {}
- # set varName ::http::socketWrState($state(socketinfo))
- # trace add variable $varName unset ::http::CancelWritePipeline
- dict set DoLater -tracewrite 1
- }
-
- if {$state(-pipeline)} {
- #Log new, init for pipelined, GRANT write access to $token in geturl
- # Also grant premature read access to the socket. This is OK.
- set socketRdState($state(socketinfo)) $token
- set socketWrState($state(socketinfo)) $token
- } else {
- # socketWrState is not used by this non-pipelined transaction.
- # We cannot leave it as "Wready" because the next call to
- # http::geturl with a pipelined transaction would conclude that the
- # socket is available for writing.
- #Log new, init for nonpipeline, GRANT r/w access to $token in geturl
- set socketRdState($state(socketinfo)) $token
- set socketWrState($state(socketinfo)) $token
- }
-
- # Value of socketPhQueue() may have already been set by ReplayCore.
- if {![info exists socketPhQueue($state(sock))]} {
- set socketPhQueue($state(sock)) {}
- }
- set socketRdQueue($state(socketinfo)) {}
- set socketWrQueue($state(socketinfo)) {}
- set socketClosing($state(socketinfo)) 0
- set socketPlayCmd($state(socketinfo)) {ReplayIfClose Wready {} {}}
- set socketCoEvent($state(socketinfo)) {}
- set socketProxyId($state(socketinfo)) {}
-
- return $DoLater
-}
-
-# ------------------------------------------------------------------------------
-# Proc ::http::OpenSocket
-# ------------------------------------------------------------------------------
-# This command is called as a coroutine idletask to start the asynchronous HTTP
-# transaction in most cases. For the exceptions, see the calling code in
-# command AsyncTransaction.
-#
-# Arguments:
-# token - connection token (name of an array)
-# DoLater - dictionary of boolean values listing unfinished tasks
-#
-# Return Value: none
-# ------------------------------------------------------------------------------
-
-proc http::OpenSocket {token DoLater} {
- variable $token
- upvar 0 $token state
- set tk [namespace tail $token]
-
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- Log >K$tk Start OpenSocket coroutine
-
- if {![info exists state(-keepalive)]} {
- # The request has already been cancelled by the calling script.
- return
- }
-
- set sockOld $state(sock)
-
- dict unset socketCoEvent($state(socketinfo)) $token
- unset -nocomplain state(socketcoro)
+ # Pass -myaddr directly to the socket command
+ if {[info exists state(-myaddr)]} {
+ lappend sockopts -myaddr $state(-myaddr)
+ }
+ if {[catch {eval $defcmd $sockopts $targetAddr} sock]} {
+ # something went wrong while trying to establish the connection.
+ # 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 {[catch {
- if {$state(reusing)} {
- # If ($state(reusing)) is true, then we do not need to create a new
- # socket, even if $sockOld is only a placeholder for a socket.
- set sock $sockOld
- } else {
- # set sock in the [catch] below.
- set pre [clock milliseconds]
- ##Log pre socket opened, - token $token
- ##Log $state(openCmd) - token $token
- set sock [namespace eval :: $state(openCmd)]
set state(sock) $sock
- # Normal return from $state(openCmd) always returns a valid socket.
- # A TLS proxy connection with 407 or other failure from the
- # proxy server raises an error.
-
- # Initialisation of a new socket.
- ##Log post socket opened, - token $token
- ##Log socket opened, now fconfigure - token $token
- set delay [expr {[clock milliseconds] - $pre}]
- if {$delay > 3000} {
- Log socket delay $delay - token $token
- }
- fconfigure $sock -translation {auto crlf} \
- -buffersize $state(-blocksize)
- if {[package vsatisfies [package provide Tcl] 9.0-]} {
- fconfigure $sock -profile tcl8
- }
- ##Log socket opened, DONE fconfigure - token $token
+ Finish $token "" 1
+ cleanup $token
+ return -code error $sock
}
-
- Log "Using $sock for $state(socketinfo) - token $token" \
- [expr {$state(-keepalive)?"keepalive":""}]
-
- # Code above has set state(sock) $sock
- ConfigureNewSocket $token $sockOld $DoLater
- ##Log OpenSocket success $sock - token $token
- } result errdict]} {
- ##Log OpenSocket failed $result - token $token
- # There may be other requests in the socketPhQueue.
- # Prepare socketPlayCmd so that Finish will replay them.
- if { ($state(-keepalive)) && (!$state(reusing))
- && [info exists socketPhQueue($sockOld)]
- && ($socketPhQueue($sockOld) ne {})
- } {
- if {$socketMapping($state(socketinfo)) ne $sockOld} {
- Log "WARNING: this code should not be reached.\
- {$socketMapping($state(socketinfo)) ne $sockOld}"
- }
- set socketPlayCmd($state(socketinfo)) [list ReplayIfClose Wready {} $socketPhQueue($sockOld)]
- set socketPhQueue($sockOld) {}
- }
- if {[string range $result 0 20] eq {proxy connect failed:}} {
- # - The HTTPS proxy did not create a socket. The pre-existing value
- # (a "placeholder socket") is unchanged.
- # - The proxy returned a valid HTTP response to the failed CONNECT
- # request, and http::SecureProxyConnect copied this to $token,
- # and also set ${token}(connection) set to "close".
- # - Remove the error message $result so that Finish delivers this
- # HTTP response to the caller.
- set result {}
- }
- Finish $token $result
- # Because socket creation failed, the placeholder "socket" must be
- # "closed" and (if persistent) removed from the persistent sockets
- # table. In the {proxy connect failed:} case Finish does this because
- # the value of ${token}(connection) is "close". In the other cases here,
- # it does so because $result is non-empty.
}
- ##Log Leaving http::OpenSocket coroutine [info coroutine] - token $token
- return
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc ::http::ConfigureNewSocket
-# ------------------------------------------------------------------------------
-# Command to initialise a newly-created socket. Called only from OpenSocket.
-#
-# This command is called by OpenSocket whenever a genuine socket (sockNew) has
-# been opened for for use by HTTP. It does two things:
-# (1) If $token uses a placeholder socket, this command replaces the placeholder
-# socket with the real socket, not only in $token but in all other requests
-# that use the same placeholder.
-# (2) It calls ScheduleRequest to schedule each request that uses the socket.
-#
-#
-# Value of sockOld/sockNew can be "sock" (genuine socket) or "ph" (placeholder).
-# sockNew is ${token}(sock)
-# sockOld sockNew CASES
-# sock sock (if $reusing, and sockOld is sock)
-# ph sock (if (not $reusing), and sockOld is ph)
-# ph ph (if $reusing, and sockOld is ph) - not called in this case
-# sock ph (cannot occur unless a bug) - not called in this case
-# (if (not $reusing), and sockOld is sock) - illogical
-#
-# Arguments:
-# token - connection token (name of an array)
-# sockOld - handle or placeholder used for a socket before the call to
-# OpenSocket
-# DoLater - dictionary of boolean values listing unfinished tasks
-#
-# Return Value: none
-# ------------------------------------------------------------------------------
-
-proc http::ConfigureNewSocket {token sockOld DoLater} {
- variable $token
- upvar 0 $token state
- set tk [namespace tail $token]
-
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- set reusing $state(reusing)
- set sock $state(sock)
- set proxyUsed $state(proxyUsed)
- ##Log " ConfigureNewSocket" $token $sockOld ... -- $reusing $sock $proxyUsed
-
- if {(!$reusing) && ($sock ne $sockOld)} {
- # Replace the placeholder value sockOld with sock.
-
- if { [info exists socketMapping($state(socketinfo))]
- && ($socketMapping($state(socketinfo)) eq $sockOld)
- } {
- set socketMapping($state(socketinfo)) $sock
- set socketProxyId($state(socketinfo)) $proxyUsed
- # tokens that use the placeholder $sockOld are updated below.
- ##Log set socketMapping($state(socketinfo)) $sock
- }
-
- # Now finish any tasks left over from PreparePersistentConnection on
- # the connection.
- #
- # The "unset" traces are fired by init (clears entire arrays), and
- # by http::Unset.
- # Unset is called by CloseQueuedQueries and (possibly never) by geturl.
- #
- # CancelReadPipeline, CancelWritePipeline call http::Finish for each
- # token.
- #
- # FIXME If Finish is placeholder-aware, these traces can be set earlier,
- # in PreparePersistentConnection.
-
- if {[dict get $DoLater -traceread]} {
- set varName ::http::socketRdState($state(socketinfo))
- trace add variable $varName unset ::http::CancelReadPipeline
- }
- if {[dict get $DoLater -tracewrite]} {
- set varName ::http::socketWrState($state(socketinfo))
- trace add variable $varName unset ::http::CancelWritePipeline
- }
+ set state(sock) $sock
+ Log "Using $sock for $state(socketinfo)" \
+ [expr {$state(-keepalive)?"keepalive":""}]
+ if {$state(-keepalive)} {
+ set socketmap($state(socketinfo)) $sock
}
- # Do this in all cases.
- ScheduleRequest $token
-
- # Now look at all other tokens that use the placeholder $sockOld.
- if { (!$reusing)
- && ($sock ne $sockOld)
- && [info exists socketPhQueue($sockOld)]
- } {
- ##Log " ConfigureNewSocket" $token scheduled, now do $socketPhQueue($sockOld)
- foreach tok $socketPhQueue($sockOld) {
- # 1. Amend the token's (sock).
- ##Log set ${tok}(sock) $sock
- set ${tok}(sock) $sock
- set ${tok}(proxyUsed) $proxyUsed
-
- # 2. Schedule the token's HTTP request.
- # Every token in socketPhQueue(*) has reusing 1 alreadyQueued 0.
- set ${tok}(reusing) 1
- set ${tok}(alreadyQueued) 0
- ScheduleRequest $tok
- }
- set socketPhQueue($sockOld) {}
+ if {![info exists phost]} {
+ set phost ""
}
- ##Log " ConfigureNewSocket" $token DONE
-
- return
-}
-
-
-# ------------------------------------------------------------------------------
-# The values of array variables socketMapping etc.
-# ------------------------------------------------------------------------------
-# connId "$host:$port"
-# socketMapping($connId) the handle or placeholder for the socket that is used
-# for "-keepalive 1" requests to $connId.
-# socketRdState($connId) the token that is currently reading from the socket.
-# Other values: Rready (ready for next token to read).
-# socketWrState($connId) the token that is currently writing to the socket.
-# Other values: Wready (ready for next token to write),
-# peNding (would be ready for next write, except that
-# the integrity of a non-pipelined transaction requires
-# waiting until the read(s) in progress are finished).
-# socketRdQueue($connId) List of tokens that are queued for reading later.
-# socketWrQueue($connId) List of tokens that are queued for writing later.
-# socketPhQueue($sock) List of tokens that are queued to use a placeholder
-# socket, when the real socket has not yet been created.
-# socketClosing($connId) (boolean) true iff a server response header indicates
-# that the server will close the connection at the end of
-# the current response.
-# socketPlayCmd($connId) The command to execute to replay pending and
-# part-completed transactions if the socket closes early.
-# socketCoEvent($connId) Identifier for the "after idle" event that will launch
-# an OpenSocket coroutine to open or re-use a socket.
-# socketProxyId($connId) The type of proxy that this socket uses: values are
-# those of state(proxyUsed) i.e. none, HttpProxy,
-# SecureProxy, and SecureProxyFailed.
-# The value is not used for anything by http, its purpose
-# is to set the value of state() for caller information.
-# ------------------------------------------------------------------------------
-
-
-# ------------------------------------------------------------------------------
-# Using socketWrState(*), socketWrQueue(*), socketRdState(*), socketRdQueue(*)
-# ------------------------------------------------------------------------------
-# The element socketWrState($connId) has a value which is either the name of
-# the token that is permitted to write to the socket, or "Wready" if no
-# token is permitted to write.
-#
-# The code that sets the value to Wready immediately calls
-# http::NextPipelinedWrite, which examines socketWrQueue($connId) and
-# processes the next request in the queue, if there is one. The value
-# Wready is not found when the interpreter is in the event loop unless the
-# socket is idle.
-#
-# The element socketRdState($connId) has a value which is either the name of
-# the token that is permitted to read from the socket, or "Rready" if no
-# token is permitted to read.
-#
-# The code that sets the value to Rready then examines
-# socketRdQueue($connId) and processes the next request in the queue, if
-# there is one. The value Rready is not found when the interpreter is in
-# the event loop unless the socket is idle.
-# ------------------------------------------------------------------------------
-
-
-# ------------------------------------------------------------------------------
-# Proc http::ScheduleRequest
-# ------------------------------------------------------------------------------
-# Command to either begin the HTTP request, or add it to the appropriate queue.
-# Called from two places in ConfigureNewSocket.
-#
-# Arguments:
-# token - connection token (name of an array)
-#
-# Return Value: none
-# ------------------------------------------------------------------------------
-
-proc http::ScheduleRequest {token} {
- variable $token
- upvar 0 $token state
- set tk [namespace tail $token]
-
- Log >L$tk ScheduleRequest
+ fileevent $sock writable [list http::Connect $token $proto $phost $srvurl]
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- set Unfinished 0
-
- set reusing $state(reusing)
- set sockNew $state(sock)
-
- # The "if" tests below: must test against the current values of
- # socketWrState, socketRdState, and so the tests must be done here,
- # not earlier in PreparePersistentConnection.
-
- if {$state(alreadyQueued)} {
- # The request has been appended to the queue of a persistent socket
- # (that is scheduled to close and have its queue replayed).
- #
- # A write may or may not be in progress. There is no need to set
- # socketWrState to prevent another call stealing write access - all
- # subsequent calls on this socket will come here because the socket
- # will close after the current read, and its
- # socketClosing($connId) is 1.
- ##Log "HTTP request for token $token is queued"
-
- } elseif { $reusing
- && $state(-pipeline)
- && ($socketWrState($state(socketinfo)) ne "Wready")
- } {
- ##Log "HTTP request for token $token is queued for pipelined use"
- lappend socketWrQueue($state(socketinfo)) $token
-
- } elseif { $reusing
- && (!$state(-pipeline))
- && ($socketWrState($state(socketinfo)) ne "Wready")
- } {
- # A write is queued or in progress. Lappend to the write queue.
- ##Log "HTTP request for token $token is queued for nonpipeline use"
- lappend socketWrQueue($state(socketinfo)) $token
-
- } elseif { $reusing
- && (!$state(-pipeline))
- && ($socketWrState($state(socketinfo)) eq "Wready")
- && ($socketRdState($state(socketinfo)) ne "Rready")
- } {
- # A read is queued or in progress, but not a write. Cannot start the
- # nonpipeline transaction, but must set socketWrState to prevent a
- # pipelined request jumping the queue.
- ##Log "HTTP request for token $token is queued for nonpipeline use"
- #Log re-use nonpipeline, GRANT delayed write access to $token in geturl
- set socketWrState($state(socketinfo)) peNding
- lappend socketWrQueue($state(socketinfo)) $token
-
- } else {
- if {$reusing && $state(-pipeline)} {
- #Log new, init for pipelined, GRANT write access to $token in geturl
- # DO NOT grant premature read access to the socket.
- # set socketRdState($state(socketinfo)) $token
- set socketWrState($state(socketinfo)) $token
- } elseif {$reusing} {
- # socketWrState is not used by this non-pipelined transaction.
- # We cannot leave it as "Wready" because the next call to
- # http::geturl with a pipelined transaction would conclude that the
- # socket is available for writing.
- #Log new, init for nonpipeline, GRANT r/w access to $token in geturl
- set socketRdState($state(socketinfo)) $token
- set socketWrState($state(socketinfo)) $token
- } else {
- }
-
- # Process the request now.
- # - Command is not called unless $state(sock) is a real socket handle
- # and not a placeholder.
- # - All (!$reusing) cases come here.
- # - Some $reusing cases come here too if the connection is
- # marked as ready. Those $reusing cases are:
- # $reusing && ($socketWrState($state(socketinfo)) eq "Wready") &&
- # EITHER !$pipeline && ($socketRdState($state(socketinfo)) eq "Rready")
- # OR $pipeline
- #
- #Log ---- $state(socketinfo) << conn to $token for HTTP request (a)
- ##Log " ScheduleRequest" $token -- fileevent $state(sock) writable for $token
- # Connect does its own fconfigure.
-
- lassign $state(connArgs) 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.
+ http::wait $token
- if {[catch {
- fileevent $state(sock) writable \
- [list http::Connect $token $proto $phost $srvurl]
- } res opts]} {
- # The socket no longer exists.
- ##Log bug -- socket gone -- $res -- $opts
+ if {![info exists state]} {
+ # If we timed out then Finish has been called and the users
+ # command callback may have cleaned up the token. If so we end up
+ # here with nothing left to do.
+ return $token
+ } elseif {$state(status) eq "error"} {
+ # Something went wrong while trying to establish the connection.
+ # 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.
+ set err [lindex $state(error) 0]
+ cleanup $token
+ return -code error $err
}
-
}
- return
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::SendHeader
-# ------------------------------------------------------------------------------
-# Command to send a request header, and keep a copy in state(requestHeaders)
-# for debugging purposes.
-#
-# Arguments:
-# token - connection token (name of an array)
-# key - header name
-# value - header value
-#
-# Return Value: none
-# ------------------------------------------------------------------------------
-
-proc http::SendHeader {token key value} {
- variable $token
- upvar 0 $token state
- set tk [namespace tail $token]
- set sock $state(sock)
- lappend state(requestHeaders) [string tolower $key] $value
- puts $sock "$key: $value"
- return
+ return $token
}
-# http::Connected --
-#
-# Callback used when the connection to the HTTP server is actually
-# established.
-#
-# Arguments:
-# token State token.
-# proto What protocol (http, https, etc.) was used to connect.
-# phost Are we using keep-alive? Non-empty if yes.
-# srvurl Service-local URL that we're requesting
-# Results:
-# None.
-proc http::Connected {token proto phost srvurl} {
+proc http::Connected { token proto phost srvurl} {
variable http
variable urlTypes
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
variable $token
upvar 0 $token state
- set tk [namespace tail $token]
- if {$state(reusing) && (!$state(-pipeline)) && ($state(-timeout) > 0)} {
- set state(after) [after $state(-timeout) \
- [list http::reset $token timeout]]
- }
-
- # Set back the variables needed here.
+ # Set back the variables needed here
set sock $state(sock)
set isQueryChannel [info exists state(-querychannel)]
set isQuery [info exists state(-query)]
- regexp {^(.+):([^:]+)$} $state(socketinfo) {} host port
+ set host [lindex [split $state(socketinfo) :] 0]
+ set port [lindex [split $state(socketinfo) :] 1]
set lower [string tolower $proto]
set defport [lindex $urlTypes($lower) 0]
- # Send data in cr-lf format, but accept any line terminators.
- # Initialisation to {auto *} now done in geturl, KeepSocket and DoneRequest.
- # We are concerned here with the request (write) not the response (read).
- lassign [fconfigure $sock -translation] trRead trWrite
- fconfigure $sock -translation [list $trRead crlf] \
- -buffersize $state(-blocksize)
- if {[package vsatisfies [package provide Tcl] 9.0-]} {
- fconfigure $sock -profile tcl8
- }
+ # Send data in cr-lf format, but accept any line terminators
+
+ fconfigure $sock -translation {auto crlf} -buffersize $state(-blocksize)
# The following is disallowed in safe interpreters, but the socket is
# already in non-blocking mode in that case.
@@ -2234,130 +674,67 @@ proc http::Connected {token proto phost srvurl} {
fconfigure $state(-querychannel) -blocking 1 -translation binary
set contDone 0
}
- if {[info exists state(-method)] && ($state(-method) ne "")} {
+ if {[info exists state(-method)] && $state(-method) ne ""} {
set how $state(-method)
}
- set accept_types_seen 0
-
- Log ^B$tk begin sending request - token $token
if {[catch {
- if {[info exists state(bypass)]} {
- set state(method) [lindex [split $state(bypass) { }] 0]
- set state(requestHeaders) {}
- set state(requestLine) $state(bypass)
- } else {
- set state(method) $how
- set state(requestHeaders) {}
- set state(requestLine) "$how $srvurl HTTP/$state(-protocol)"
- }
- puts $sock $state(requestLine)
- set hostValue [GetFieldValue $state(-headers) Host]
- if {$hostValue ne {}} {
+ puts $sock "$how $srvurl HTTP/$state(-protocol)"
+ puts $sock "Accept: $http(-accept)"
+ array set hdrs $state(-headers)
+ if {[info exists hdrs(Host)]} {
# Allow Host spoofing. [Bug 928154]
- regexp {^[^:]+} $hostValue state(host)
- SendHeader $token Host $hostValue
+ puts $sock "Host: $hdrs(Host)"
} elseif {$port == $defport} {
# Don't add port in this case, to handle broken servers. [Bug
# #504508]
- set state(host) $host
- SendHeader $token Host $host
- } else {
- set state(host) $host
- SendHeader $token Host "$host:$port"
- }
- SendHeader $token User-Agent $http(-useragent)
- if {($state(-protocol) > 1.0) && $state(-keepalive)} {
- # Send this header, because a 1.1 server is not compelled to treat
- # this as the default.
- set ConnVal keep-alive
- } elseif {($state(-protocol) > 1.0)} {
- # RFC2616 sec 8.1.2.1
- set ConnVal close
+ puts $sock "Host: $host"
} else {
- # ($state(-protocol) <= 1.0)
- # RFC7230 A.1
- # Some server implementations of HTTP/1.0 have a faulty
- # implementation of RFC 2068 Keep-Alive.
- # Don't leave this to chance.
- # For HTTP/1.0 we have already "set state(connection) close"
- # and "state(-keepalive) 0".
- set ConnVal close
+ puts $sock "Host: $host:$port"
}
- # Proxy authorisation (cf. mod by Anders Ramdahl to autoproxy by
- # Pat Thoyts).
- if {($http(-proxyauth) ne {}) && ($state(proxyUsed) eq {HttpProxy})} {
- SendHeader $token Proxy-Authorization $http(-proxyauth)
+ unset hdrs
+ puts $sock "User-Agent: $http(-useragent)"
+ if {$state(-protocol) == 1.0 && $state(-keepalive)} {
+ puts $sock "Connection: keep-alive"
}
- # RFC7230 A.1 - "clients are encouraged not to send the
- # Proxy-Connection header field in any requests"
- set accept_encoding_seen 0
+ if {$state(-protocol) > 1.0 && !$state(-keepalive)} {
+ puts $sock "Connection: close" ;# RFC2616 sec 8.1.2.1
+ }
+ if {[info exists phost] && ($phost ne "") && $state(-keepalive)} {
+ puts $sock "Proxy-Connection: Keep-Alive"
+ }
+ set accept_encoding_seen 0
set content_type_seen 0
- set connection_seen 0
foreach {key value} $state(-headers) {
- set value [string map [list \n "" \r ""] $value]
- set key [string map {" " -} [string trim $key]]
if {[string equal -nocase $key "host"]} {
continue
}
if {[string equal -nocase $key "accept-encoding"]} {
set accept_encoding_seen 1
}
- if {[string equal -nocase $key "accept"]} {
- set accept_types_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"]} {
set contDone 1
set state(querylength) $value
}
- if { [string equal -nocase $key "connection"]
- && [info exists state(bypass)]
- } {
- # Value supplied in -headers overrides $ConnVal.
- set connection_seen 1
- } elseif {[string equal -nocase $key "connection"]} {
- # Remove "close" or "keep-alive" and use our own value.
- # In an upgrade request, the upgrade is not guaranteed.
- # Value "close" or "keep-alive" tells the server what to do
- # if it refuses the upgrade. We send a single "Connection"
- # header because some websocket servers, e.g. civetweb, reject
- # multiple headers. Bug [d01de3281f] of tcllib/websocket.
- set connection_seen 1
- set listVal $state(connectionValues)
- if {[set pos [lsearch $listVal close]] != -1} {
- set listVal [lreplace $listVal $pos $pos]
- }
- if {[set pos [lsearch $listVal keep-alive]] != -1} {
- set listVal [lreplace $listVal $pos $pos]
- }
- lappend listVal $ConnVal
- set value [join $listVal {, }]
- }
if {[string length $key]} {
- SendHeader $token $key $value
+ puts $sock "$key: $value"
}
}
- # Allow overriding the Accept header on a per-connection basis. Useful
- # for working with REST services. [Bug c11a51c482]
- if {!$accept_types_seen} {
- SendHeader $token Accept $state(accept-types)
- }
- if { (!$accept_encoding_seen)
- && (![info exists state(-handler)])
- && $http(-zip)
- } {
- SendHeader $token Accept-Encoding gzip,deflate
- } elseif {!$accept_encoding_seen} {
- SendHeader $token Accept-Encoding identity
- } else {
- }
- if {!$connection_seen} {
- SendHeader $token Connection $ConnVal
- }
- if {$isQueryChannel && ($state(querylength) == 0)} {
+ # 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 {$isQueryChannel && $state(querylength) == 0} {
# Try to determine size of data in channel. If we cannot seek, the
# surrounding catch will trap us
@@ -2368,22 +745,6 @@ proc http::Connected {token proto phost srvurl} {
seek $state(-querychannel) $start
}
- # Note that we don't do Cookie2; that's much nastier and not normally
- # observed in practice either. It also doesn't fix the multitude of
- # bugs in the basic cookie spec.
- if {$http(-cookiejar) ne ""} {
- set cookies ""
- set separator ""
- foreach {key value} [{*}$http(-cookiejar) \
- getCookies $proto $host $state(path)] {
- append cookies $separator $key = $value
- set separator "; "
- }
- if {$cookies ne ""} {
- SendHeader $token Cookie $cookies
- }
- }
-
# Flush the request header and set up the fileevent that will either
# push the POST data or read the response.
#
@@ -2395,782 +756,48 @@ proc http::Connected {token proto phost srvurl} {
# versions TclHttpd in various error cases). Depending on the
# platform, the client may or may not be able to get the response from
# the server because of the error it will get trying to write the post
- # data. Having both fileevents active changes the timing and the
+ # data. Having both fileevents active changes the timing and the
# behavior, but no two platforms (among Solaris, Linux, and NT) behave
# the same, and none behave all that well in any case. Servers should
# always read their POST data if they expect the client to read their
# response.
if {$isQuery || $isQueryChannel} {
- # POST method.
if {!$content_type_seen} {
- SendHeader $token Content-Type $state(-type)
+ puts $sock "Content-Type: $state(-type)"
}
if {!$contDone} {
- SendHeader $token Content-Length $state(querylength)
+ puts $sock "Content-Length: $state(querylength)"
}
puts $sock ""
- flush $sock
- # Flush flushes the error in the https case with a bad handshake:
- # else the socket never becomes writable again, and hangs until
- # timeout (if any).
-
- lassign [fconfigure $sock -translation] trRead trWrite
- fconfigure $sock -translation [list $trRead binary]
+ fconfigure $sock -translation {auto binary}
fileevent $sock writable [list http::Write $token]
- # The http::Write command decides when to make the socket readable,
- # using the same test as the GET/HEAD case below.
} else {
- # GET or HEAD method.
- if { (![catch {fileevent $sock readable} binding])
- && ($binding eq [list http::CheckEof $sock])
- } {
- # Remove the "fileevent readable" binding of an idle persistent
- # socket to http::CheckEof. We can no longer treat bytes
- # received as junk. The server might still time out and
- # half-close the socket if it has not yet received the first
- # "puts".
- fileevent $sock readable {}
- }
puts $sock ""
flush $sock
- Log ^C$tk end sending request - token $token
- # End of writing (GET/HEAD methods). The request has been sent.
-
- DoneRequest $token
+ fileevent $sock readable [list http::Event $sock $token]
}
- } err]} {
- # The socket probably was never connected, OR the connection dropped
- # later, OR https handshake error, which may be discovered as late as
- # the "flush" command above...
- Log "WARNING - if testing, pay special attention to this\
- case (GI) which is seldom executed - token $token"
- if {[info exists state(reusing)] && $state(reusing)} {
- # The socket was closed at the server end, and closed at
- # this end by http::CheckEof.
- if {[TestForReplay $token write $err a]} {
- return
- } else {
- Finish $token {failed to re-use socket}
- }
+ } err]} then {
+ # The socket probably was never connected, or the connection dropped
+ # later.
- # else:
- # This is NOT a persistent socket that has been closed since its
- # last use.
- # If any other requests are in flight or pipelined/queued, they will
- # be discarded.
- } elseif {$state(status) eq ""} {
- # https handshake errors come here, for
- # Tcl 8.7 without http::SecureProxyConnect, and for Tcl 8.6.
- set msg [registerError $sock]
- registerError $sock {}
- if {$msg eq {}} {
- set msg {failed to use socket}
- }
- Finish $token $msg
- } elseif {$state(status) ne "error"} {
+ # 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
}
}
- return
-}
-
-# http::registerError
-#
-# Called (for example when processing TclTLS activity) to register
-# an error for a connection on a specific socket. This helps
-# http::Connected to deliver meaningful error messages, e.g. when a TLS
-# certificate fails verification.
-#
-# Usage: http::registerError socket ?newValue?
-#
-# "set" semantics, except that a "get" (a call without a new value) for a
-# non-existent socket returns {}, not an error.
-
-proc http::registerError {sock args} {
- variable registeredErrors
-
- if { ([llength $args] == 0)
- && (![info exists registeredErrors($sock)])
- } {
- return
- } elseif { ([llength $args] == 1)
- && ([lindex $args 0] eq {})
- } {
- unset -nocomplain registeredErrors($sock)
- return
- }
- set registeredErrors($sock) {*}$args
-}
-
-# http::DoneRequest --
-#
-# Command called when a request has been sent. It will arrange the
-# next request and/or response as appropriate.
-#
-# If this command is called when $socketClosing(*), the request $token
-# that calls it must be pipelined and destined to fail.
-
-proc http::DoneRequest {token} {
- variable http
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- variable $token
- upvar 0 $token state
- set tk [namespace tail $token]
- set sock $state(sock)
-
- # If pipelined, connect the next HTTP request to the socket.
- if {$state(reusing) && $state(-pipeline)} {
- # Enable next token (if any) to write.
- # The value "Wready" is set only here, and
- # in http::Event after reading the response-headers of a
- # non-reusing transaction.
- # Previous value is $token. It cannot be pending.
- set socketWrState($state(socketinfo)) Wready
-
- # Now ready to write the next pipelined request (if any).
- http::NextPipelinedWrite $token
- } else {
- # If pipelined, this is the first transaction on this socket. We wait
- # for the response headers to discover whether the connection is
- # persistent. (If this is not done and the connection is not
- # persistent, we SHOULD retry and then MUST NOT pipeline before knowing
- # that we have a persistent connection
- # (rfc2616 8.1.2.2)).
- }
-
- # Connect to receive the response, unless the socket is pipelined
- # and another response is being sent.
- # This code block is separate from the code below because there are
- # cases where socketRdState already has the value $token.
- if { $state(-keepalive)
- && $state(-pipeline)
- && [info exists socketRdState($state(socketinfo))]
- && ($socketRdState($state(socketinfo)) eq "Rready")
- } {
- #Log pipelined, GRANT read access to $token in Connected
- set socketRdState($state(socketinfo)) $token
- }
-
- if { $state(-keepalive)
- && $state(-pipeline)
- && [info exists socketRdState($state(socketinfo))]
- && ($socketRdState($state(socketinfo)) ne $token)
- } {
- # Do not read from the socket until it is ready.
- ##Log "HTTP response for token $token is queued for pipelined use"
- # If $socketClosing(*), then the caller will be a pipelined write and
- # execution will come here.
- # This token has already been recorded as "in flight" for writing.
- # When the socket is closed, the read queue will be cleared in
- # CloseQueuedQueries and so the "lappend" here has no effect.
- lappend socketRdQueue($state(socketinfo)) $token
- } else {
- # In the pipelined case, connection for reading depends on the
- # value of socketRdState.
- # In the nonpipeline case, connection for reading always occurs.
- ReceiveResponse $token
- }
- return
-}
-
-# http::ReceiveResponse
-#
-# Connects token to its socket for reading.
-
-proc http::ReceiveResponse {token} {
- variable $token
- upvar 0 $token state
- set tk [namespace tail $token]
- set sock $state(sock)
-
- #Log ---- $state(socketinfo) >> conn to $token for HTTP response
- lassign [fconfigure $sock -translation] trRead trWrite
- fconfigure $sock -translation [list auto $trWrite] \
- -buffersize $state(-blocksize)
- if {[package vsatisfies [package provide Tcl] 9.0-]} {
- fconfigure $sock -profile tcl8
- }
- Log ^D$tk begin receiving response - token $token
-
- coroutine ${token}--EventCoroutine http::Event $sock $token
- if {[info exists state(-handler)] || [info exists state(-progress)]} {
- fileevent $sock readable [list http::EventGateway $sock $token]
- } else {
- fileevent $sock readable ${token}--EventCoroutine
- }
- return
-}
-
-
-# http::EventGateway
-#
-# Bug [c2dc1da315].
-# - Recursive launch of the coroutine can occur if a -handler or -progress
-# callback is used, and the callback command enters the event loop.
-# - To prevent this, the fileevent "binding" is disabled while the
-# coroutine is in flight.
-# - If a recursive call occurs despite these precautions, it is not
-# trapped and discarded here, because it is better to report it as a
-# bug.
-# - Although this solution is believed to be sufficiently general, it is
-# used only if -handler or -progress is specified. In other cases,
-# the coroutine is called directly.
-
-proc http::EventGateway {sock token} {
- variable $token
- upvar 0 $token state
- fileevent $sock readable {}
- catch {${token}--EventCoroutine} res opts
- if {[info commands ${token}--EventCoroutine] ne {}} {
- # The coroutine can be deleted by completion (a non-yield return), by
- # http::Finish (when there is a premature end to the transaction), by
- # http::reset or http::cleanup, or if the caller set option -channel
- # but not option -handler: in the last case reading from the socket is
- # now managed by commands ::http::Copy*, http::ReceiveChunked, and
- # http::MakeTransformationChunked.
- #
- # Catch in case the coroutine has closed the socket.
- catch {fileevent $sock readable [list http::EventGateway $sock $token]}
- }
-
- # If there was an error, re-throw it.
- return -options $opts $res
-}
-
-
-# http::NextPipelinedWrite
-#
-# - Connecting a socket to a token for writing is done by this command and by
-# command KeepSocket.
-# - If another request has a pipelined write scheduled for $token's socket,
-# and if the socket is ready to accept it, connect the write and update
-# the queue accordingly.
-# - This command is called from http::DoneRequest and http::Event,
-# IF $state(-pipeline) AND (the current transfer has reached the point at
-# which the socket is ready for the next request to be written).
-# - This command is called when a token has write access and is pipelined and
-# keep-alive, and sets socketWrState to Wready.
-# - The command need not consider the case where socketWrState is set to a token
-# that does not yet have write access. Such a token is waiting for Rready,
-# and the assignment of the connection to the token will be done elsewhere (in
-# http::KeepSocket).
-# - This command cannot be called after socketWrState has been set to a
-# "pending" token value (that is then overwritten by the caller), because that
-# value is set by this command when it is called by an earlier token when it
-# relinquishes its write access, and the pending token is always the next in
-# line to write.
-
-proc http::NextPipelinedWrite {token} {
- variable http
- variable socketRdState
- variable socketWrState
- variable socketWrQueue
- variable socketClosing
- variable $token
- upvar 0 $token state
- set connId $state(socketinfo)
-
- if { [info exists socketClosing($connId)]
- && $socketClosing($connId)
- } {
- # socketClosing(*) is set because the server has sent a
- # "Connection: close" header.
- # Behave as if the queues are empty - so do nothing.
- } elseif { $state(-pipeline)
- && [info exists socketWrState($connId)]
- && ($socketWrState($connId) eq "Wready")
-
- && [info exists socketWrQueue($connId)]
- && [llength $socketWrQueue($connId)]
- && ([set token2 [lindex $socketWrQueue($connId) 0]
- set ${token2}(-pipeline)
- ]
- )
- } {
- # - The usual case for a pipelined connection, ready for a new request.
- #Log pipelined, GRANT write access to $token2 in NextPipelinedWrite
- set conn [set ${token2}(connArgs)]
- set socketWrState($connId) $token2
- set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end]
- # Connect does its own fconfigure.
- fileevent $state(sock) writable [list http::Connect $token2 {*}$conn]
- #Log ---- $connId << conn to $token2 for HTTP request (b)
-
- # In the tests below, the next request will be nonpipeline.
- } elseif { $state(-pipeline)
- && [info exists socketWrState($connId)]
- && ($socketWrState($connId) eq "Wready")
-
- && [info exists socketWrQueue($connId)]
- && [llength $socketWrQueue($connId)]
- && (![ set token3 [lindex $socketWrQueue($connId) 0]
- set ${token3}(-pipeline)
- ]
- )
-
- && [info exists socketRdState($connId)]
- && ($socketRdState($connId) eq "Rready")
- } {
- # The case in which the next request will be non-pipelined, and the read
- # and write queues is ready: which is the condition for a non-pipelined
- # write.
- set conn [set ${token3}(connArgs)]
- #Log nonpipeline, GRANT r/w access to $token3 in NextPipelinedWrite
- set socketRdState($connId) $token3
- set socketWrState($connId) $token3
- set socketWrQueue($connId) [lrange $socketWrQueue($connId) 1 end]
- # Connect does its own fconfigure.
- fileevent $state(sock) writable [list http::Connect $token3 {*}$conn]
- #Log ---- $state(sock) << conn to $token3 for HTTP request (c)
-
- } elseif { $state(-pipeline)
- && [info exists socketWrState($connId)]
- && ($socketWrState($connId) eq "Wready")
-
- && [info exists socketWrQueue($connId)]
- && [llength $socketWrQueue($connId)]
- && (![set token2 [lindex $socketWrQueue($connId) 0]
- set ${token2}(-pipeline)
- ]
- )
- } {
- # - The case in which the next request will be non-pipelined, but the
- # read queue is NOT ready.
- # - A read is queued or in progress, but not a write. Cannot start the
- # nonpipeline transaction, but must set socketWrState to prevent a new
- # pipelined request (in http::geturl) jumping the queue.
- # - Because socketWrState($connId) is not set to Wready, the assignment
- # of the connection to $token2 will be done elsewhere - by command
- # http::KeepSocket when $socketRdState($connId) is set to "Rready".
-
- #Log re-use nonpipeline, GRANT delayed write access to $token in NextP..
- set socketWrState($connId) peNding
- }
- return
-}
-
-# http::CancelReadPipeline
-#
-# Cancel pipelined responses on a closing "Keep-Alive" socket.
-#
-# - Called by a variable trace on "unset socketRdState($connId)".
-# - The variable relates to a Keep-Alive socket, which has been closed.
-# - Cancels all pipelined responses. The requests have been sent,
-# the responses have not yet been received.
-# - This is a hard cancel that ends each transaction with error status,
-# and closes the connection. Do not use it if you want to replay failed
-# transactions.
-# - N.B. Always delete ::http::socketRdState($connId) before deleting
-# ::http::socketRdQueue($connId), or this command will do nothing.
-#
-# Arguments
-# As for a trace command on a variable.
-
-proc http::CancelReadPipeline {name1 connId op} {
- variable socketRdQueue
- ##Log CancelReadPipeline $name1 $connId $op
- if {[info exists socketRdQueue($connId)]} {
- set msg {the connection was closed by CancelReadPipeline}
- foreach token $socketRdQueue($connId) {
- set tk [namespace tail $token]
- Log ^X$tk end of response "($msg)" - token $token
- set ${token}(status) eof
- Finish $token ;#$msg
- }
- set socketRdQueue($connId) {}
- }
- return
-}
-# http::CancelWritePipeline
-#
-# Cancel queued events on a closing "Keep-Alive" socket.
-#
-# - Called by a variable trace on "unset socketWrState($connId)".
-# - The variable relates to a Keep-Alive socket, which has been closed.
-# - In pipelined or nonpipeline case: cancels all queued requests. The
-# requests have not yet been sent, the responses are not due.
-# - This is a hard cancel that ends each transaction with error status,
-# and closes the connection. Do not use it if you want to replay failed
-# transactions.
-# - N.B. Always delete ::http::socketWrState($connId) before deleting
-# ::http::socketWrQueue($connId), or this command will do nothing.
-#
-# Arguments
-# As for a trace command on a variable.
-
-proc http::CancelWritePipeline {name1 connId op} {
- variable socketWrQueue
-
- ##Log CancelWritePipeline $name1 $connId $op
- if {[info exists socketWrQueue($connId)]} {
- set msg {the connection was closed by CancelWritePipeline}
- foreach token $socketWrQueue($connId) {
- set tk [namespace tail $token]
- Log ^X$tk end of response "($msg)" - token $token
- set ${token}(status) eof
- Finish $token ;#$msg
- }
- set socketWrQueue($connId) {}
- }
- return
-}
-
-# http::ReplayIfDead --
-#
-# - A query on a re-used persistent socket failed at the earliest opportunity,
-# because the socket had been closed by the server. Keep the token, tidy up,
-# and try to connect on a fresh socket.
-# - The connection is monitored for eof by the command http::CheckEof. Thus
-# http::ReplayIfDead is needed only when a server event (half-closing an
-# apparently idle connection), and a client event (sending a request) occur at
-# almost the same time, and neither client nor server detects the other's
-# action before performing its own (an "asynchronous close event").
-# - To simplify testing of http::ReplayIfDead, set TEST_EOF 1 in
-# http::KeepSocket, and then http::ReplayIfDead will be called if http::geturl
-# is called at any time after the server timeout.
-#
-# Arguments:
-# token Connection token.
-#
-# Side Effects:
-# Use the same token, but try to open a new socket.
-
-proc http::ReplayIfDead {token doing} {
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- variable $token
- upvar 0 $token state
-
- Log running http::ReplayIfDead for $token $doing
-
- # 1. Merge the tokens for transactions in flight, the read (response) queue,
- # and the write (request) queue.
-
- set InFlightR {}
- set InFlightW {}
-
- # Obtain the tokens for transactions in flight.
- if {$state(-pipeline)} {
- # Two transactions may be in flight. The "read" transaction was first.
- # It is unlikely that the server would close the socket if a response
- # was pending; however, an earlier request (as well as the present
- # request) may have been sent and ignored if the socket was half-closed
- # by the server.
-
- if { [info exists socketRdState($state(socketinfo))]
- && ($socketRdState($state(socketinfo)) ne "Rready")
- } {
- lappend InFlightR $socketRdState($state(socketinfo))
- } elseif {($doing eq "read")} {
- lappend InFlightR $token
- }
-
- if { [info exists socketWrState($state(socketinfo))]
- && $socketWrState($state(socketinfo)) ni {Wready peNding}
- } {
- lappend InFlightW $socketWrState($state(socketinfo))
- } elseif {($doing eq "write")} {
- lappend InFlightW $token
- }
-
- # Report any inconsistency of $token with socket*state.
- if { ($doing eq "read")
- && [info exists socketRdState($state(socketinfo))]
- && ($token ne $socketRdState($state(socketinfo)))
- } {
- Log WARNING - ReplayIfDead pipelined token $token $doing \
- ne socketRdState($state(socketinfo)) \
- $socketRdState($state(socketinfo))
-
- } elseif {
- ($doing eq "write")
- && [info exists socketWrState($state(socketinfo))]
- && ($token ne $socketWrState($state(socketinfo)))
- } {
- Log WARNING - ReplayIfDead pipelined token $token $doing \
- ne socketWrState($state(socketinfo)) \
- $socketWrState($state(socketinfo))
- }
- } else {
- # One transaction should be in flight.
- # socketRdState, socketWrQueue are used.
- # socketRdQueue should be empty.
-
- # Report any inconsistency of $token with socket*state.
- if {$token ne $socketRdState($state(socketinfo))} {
- Log WARNING - ReplayIfDead nonpipeline token $token $doing \
- ne socketRdState($state(socketinfo)) \
- $socketRdState($state(socketinfo))
- }
-
- # Report the inconsistency that socketRdQueue is non-empty.
- if { [info exists socketRdQueue($state(socketinfo))]
- && ($socketRdQueue($state(socketinfo)) ne {})
- } {
- Log WARNING - ReplayIfDead nonpipeline token $token $doing \
- has read queue socketRdQueue($state(socketinfo)) \
- $socketRdQueue($state(socketinfo)) ne {}
- }
-
- lappend InFlightW $socketRdState($state(socketinfo))
- set socketRdQueue($state(socketinfo)) {}
- }
-
- set newQueue {}
- lappend newQueue {*}$InFlightR
- lappend newQueue {*}$socketRdQueue($state(socketinfo))
- lappend newQueue {*}$InFlightW
- lappend newQueue {*}$socketWrQueue($state(socketinfo))
-
-
- # 2. Tidy up token. This is a cut-down form of Finish/CloseSocket.
- # Do not change state(status).
- # No need to after cancel state(after) - either this is done in
- # ReplayCore/ReInit, or Finish is called.
-
- catch {close $state(sock)}
- Unset $state(socketinfo)
-
- # 2a. Tidy the tokens in the queues - this is done in ReplayCore/ReInit.
- # - Transactions, if any, that are awaiting responses cannot be completed.
- # They are listed for re-sending in newQueue.
- # - All tokens are preserved for re-use by ReplayCore, and their variables
- # will be re-initialised by calls to ReInit.
- # - The relevant element of socketMapping, socketRdState, socketWrState,
- # socketRdQueue, socketWrQueue, socketClosing, socketPlayCmd will be set
- # to new values in ReplayCore.
-
- ReplayCore $newQueue
- return
-}
-
-# http::ReplayIfClose --
-#
-# A request on a socket that was previously "Connection: keep-alive" has
-# received a "Connection: close" response header. The server supplies
-# that response correctly, but any later requests already queued on this
-# connection will be lost when the socket closes.
-#
-# This command takes arguments that represent the socketWrState,
-# socketRdQueue and socketWrQueue for this connection. The socketRdState
-# is not needed because the server responds in full to the request that
-# received the "Connection: close" response header.
-#
-# Existing request tokens $token (::http::$n) are preserved. The caller
-# will be unaware that the request was processed this way.
-
-proc http::ReplayIfClose {Wstate Rqueue Wqueue} {
- Log running http::ReplayIfClose for $Wstate $Rqueue $Wqueue
-
- if {$Wstate in $Rqueue || $Wstate in $Wqueue} {
- Log WARNING duplicate token in http::ReplayIfClose - token $Wstate
- set Wstate Wready
- }
-
- # 1. Create newQueue
- set InFlightW {}
- if {$Wstate ni {Wready peNding}} {
- lappend InFlightW $Wstate
- }
- ##Log $Rqueue -- $InFlightW -- $Wqueue
- set newQueue {}
- lappend newQueue {*}$Rqueue
- lappend newQueue {*}$InFlightW
- lappend newQueue {*}$Wqueue
-
- # 2. Cleanup - none needed, done by the caller.
-
- ReplayCore $newQueue
- return
-}
-
-# http::ReInit --
-#
-# Command to restore a token's state to a condition that
-# makes it ready to replay a request.
-#
-# Command http::geturl stores extra state in state(tmp*) so
-# we don't need to do the argument processing again.
-#
-# The caller must:
-# - Set state(reusing) and state(sock) to their new values after calling
-# this command.
-# - Unset state(tmpState), state(tmpOpenCmd) if future calls to ReplayCore
-# or ReInit are inappropriate for this token. Typically only one retry
-# is allowed.
-# The caller may also unset state(tmpConnArgs) if this value (and the
-# token) will be used immediately. The value is needed by tokens that
-# will be stored in a queue.
-#
-# Arguments:
-# token Connection token.
-#
-# Return Value: (boolean) true iff the re-initialisation was successful.
-
-proc http::ReInit {token} {
- variable $token
- upvar 0 $token state
-
- if {!(
- [info exists state(tmpState)]
- && [info exists state(tmpOpenCmd)]
- && [info exists state(tmpConnArgs)]
- )
- } {
- Log FAILED in http::ReInit via ReplayCore - NO tmp vars for $token
- return 0
- }
-
- if {[info exists state(after)]} {
- after cancel $state(after)
- unset state(after)
- }
- if {[info exists state(socketcoro)]} {
- Log $token Cancel socket after-idle event (ReInit)
- after cancel $state(socketcoro)
- unset state(socketcoro)
- }
-
- # Don't alter state(status) - this would trigger http::wait if it is in use.
- set tmpState $state(tmpState)
- set tmpOpenCmd $state(tmpOpenCmd)
- set tmpConnArgs $state(tmpConnArgs)
- foreach name [array names state] {
- if {$name ne "status"} {
- unset state($name)
- }
- }
-
- # Don't alter state(status).
- # Restore state(tmp*) - the caller may decide to unset them.
- # Restore state(tmpConnArgs) which is needed for connection.
- # state(tmpState), state(tmpOpenCmd) are needed only for retries.
-
- dict unset tmpState status
- array set state $tmpState
- set state(tmpState) $tmpState
- set state(tmpOpenCmd) $tmpOpenCmd
- set state(tmpConnArgs) $tmpConnArgs
-
- return 1
-}
-
-# http::ReplayCore --
-#
-# Command to replay a list of requests, using existing connection tokens.
-#
-# Abstracted from http::geturl which stores extra state in state(tmp*) so
-# we don't need to do the argument processing again.
-#
-# Arguments:
-# newQueue List of connection tokens.
-#
-# Side Effects:
-# Use existing tokens, but try to open a new socket.
-
-proc http::ReplayCore {newQueue} {
- variable TmpSockCounter
-
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
- if {[llength $newQueue] == 0} {
- # Nothing to do.
- return
- }
-
- ##Log running ReplayCore for {*}$newQueue
- set newToken [lindex $newQueue 0]
- set newQueue [lrange $newQueue 1 end]
-
- # 3. Use newToken, and restore its values of state(*). Do not restore
- # elements tmp* - we try again only once.
-
- set token $newToken
- variable $token
- upvar 0 $token state
-
- if {![ReInit $token]} {
- Log FAILED in http::ReplayCore - NO tmp vars
- Log ReplayCore reject $token
- Finish $token {cannot send this request again}
- return
- }
-
- set tmpState $state(tmpState)
- set tmpOpenCmd $state(tmpOpenCmd)
- set tmpConnArgs $state(tmpConnArgs)
- unset state(tmpState)
- unset state(tmpOpenCmd)
- unset state(tmpConnArgs)
-
- set state(reusing) 0
- set state(ReusingPlaceholder) 0
- set state(alreadyQueued) 0
- Log ReplayCore replay $token
-
- # Give the socket a placeholder name before it is created.
- set sock HTTP_PLACEHOLDER_[incr TmpSockCounter]
- set state(sock) $sock
-
- # Move the $newQueue into the placeholder socket's socketPhQueue.
- set socketPhQueue($sock) {}
- foreach tok $newQueue {
- if {[ReInit $tok]} {
- set ${tok}(reusing) 1
- set ${tok}(sock) $sock
- lappend socketPhQueue($sock) $tok
- Log ReplayCore replay $tok
- } else {
- Log ReplayCore reject $tok
- set ${tok}(reusing) 1
- set ${tok}(sock) NONE
- Finish $tok {cannot send this request again}
- }
- }
-
- AsyncTransaction $token
-
- return
}
# Data access functions:
# Data - the URL data
-# Status - the transaction status: ok, reset, eof, timeout, error
+# Status - the transaction status: ok, reset, eof, timeout
# Code - the HTTP transaction code, e.g., 200
# Size - the size of the URL data
-proc http::responseBody {token} {
+proc http::data {token} {
variable $token
upvar 0 $token state
return $state(body)
@@ -3183,17 +810,12 @@ proc http::status {token} {
upvar 0 $token state
return $state(status)
}
-proc http::responseLine {token} {
+proc http::code {token} {
variable $token
upvar 0 $token state
return $state(http)
}
-proc http::requestLine {token} {
- variable $token
- upvar 0 $token state
- return $state(requestLine)
-}
-proc http::responseCode {token} {
+proc http::ncode {token} {
variable $token
upvar 0 $token state
if {[regexp {[0-9]{3}} $state(http) numeric_code]} {
@@ -3207,134 +829,10 @@ proc http::size {token} {
upvar 0 $token state
return $state(currentsize)
}
-proc http::requestHeaders {token args} {
- set lenny [llength $args]
- if {$lenny > 1} {
- return -code error {usage: ::http::requestHeaders token ?headerName?}
- } else {
- return [Meta $token request {*}$args]
- }
-}
-proc http::responseHeaders {token args} {
- set lenny [llength $args]
- if {$lenny > 1} {
- return -code error {usage: ::http::responseHeaders token ?headerName?}
- } else {
- return [Meta $token response {*}$args]
- }
-}
-proc http::requestHeaderValue {token header} {
- Meta $token request $header VALUE
-}
-proc http::responseHeaderValue {token header} {
- Meta $token response $header VALUE
-}
-proc http::Meta {token who args} {
+proc http::meta {token} {
variable $token
upvar 0 $token state
-
- if {$who eq {request}} {
- set whom requestHeaders
- } elseif {$who eq {response}} {
- set whom meta
- } else {
- return -code error {usage: ::http::Meta token request|response ?headerName ?VALUE??}
- }
-
- set header [string tolower [lindex $args 0]]
- set how [string tolower [lindex $args 1]]
- set lenny [llength $args]
- if {$lenny == 0} {
- return $state($whom)
- } elseif {($lenny > 2) || (($lenny == 2) && ($how ne {value}))} {
- return -code error {usage: ::http::Meta token request|response ?headerName ?VALUE??}
- } else {
- set result {}
- set combined {}
- foreach {key value} $state($whom) {
- if {$key eq $header} {
- lappend result $key $value
- append combined $value {, }
- }
- }
- if {$lenny == 1} {
- return $result
- } else {
- return [string range $combined 0 end-2]
- }
- }
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::responseInfo
-# ------------------------------------------------------------------------------
-# Command to return a dictionary of the most useful metadata of a HTTP
-# response.
-#
-# Arguments:
-# token - connection token (name of an array)
-#
-# Return Value: a dict. See man page http(n) for a description of each item.
-# ------------------------------------------------------------------------------
-
-proc http::responseInfo {token} {
- variable $token
- upvar 0 $token state
- set result {}
- foreach {key origin name} {
- stage STATE state
- status STATE status
- responseCode STATE responseCode
- reasonPhrase STATE reasonPhrase
- contentType STATE type
- binary STATE binary
- redirection RESP location
- upgrade STATE upgrade
- error ERROR -
- postError STATE posterror
- method STATE method
- charset STATE charset
- compression STATE coding
- httpRequest STATE -protocol
- httpResponse STATE httpResponse
- url STATE url
- connectionRequest REQ connection
- connectionResponse RESP connection
- connectionActual STATE connection
- transferEncoding STATE transfer
- totalPost STATE querylength
- currentPost STATE queryoffset
- totalSize STATE totalsize
- currentSize STATE currentsize
- proxyUsed STATE proxyUsed
- } {
- if {$origin eq {STATE}} {
- if {[info exists state($name)]} {
- dict set result $key $state($name)
- } else {
- # Should never come here
- dict set result $key {}
- }
- } elseif {$origin eq {REQ}} {
- dict set result $key [requestHeaderValue $token $name]
- } elseif {$origin eq {RESP}} {
- dict set result $key [responseHeaderValue $token $name]
- } elseif {$origin eq {ERROR}} {
- # Don't flood the dict with data. The command ::http::error is
- # available.
- if {[info exists state(error)]} {
- set msg [lindex $state(error) 0]
- } else {
- set msg {}
- }
- dict set result $key $msg
- } else {
- # Should never come here
- dict set result $key {}
- }
- }
- return $result
+ return $state(meta)
}
proc http::error {token} {
variable $token
@@ -3342,15 +840,7 @@ proc http::error {token} {
if {[info exists state(error)]} {
return $state(error)
}
- return
-}
-proc http::postError {token} {
- variable $token
- upvar 0 $token state
- if {[info exists state(postErrorFull)]} {
- return $state(postErrorFull)
- }
- return
+ return ""
}
# http::cleanup
@@ -3361,35 +851,19 @@ proc http::postError {token} {
# token The token returned from http::geturl
#
# Side Effects
-# Unsets the state array.
+# unsets the state array
proc http::cleanup {token} {
variable $token
upvar 0 $token state
- if {[info commands ${token}--EventCoroutine] ne {}} {
- rename ${token}--EventCoroutine {}
- }
- if {[info commands ${token}--SocketCoroutine] ne {}} {
- rename ${token}--SocketCoroutine {}
- }
- if {[info exists state(after)]} {
- after cancel $state(after)
- unset state(after)
- }
- if {[info exists state(socketcoro)]} {
- Log $token Cancel socket after-idle event (cleanup)
- after cancel $state(socketcoro)
- unset state(socketcoro)
- }
if {[info exists state]} {
unset state
}
- return
}
# http::Connect
#
-# This callback is made when an asynchronous connection completes.
+# This callback is made when an asyncronous connection completes.
#
# Arguments
# token The token returned from http::geturl
@@ -3401,37 +875,16 @@ proc http::cleanup {token} {
proc http::Connect {token proto phost srvurl} {
variable $token
upvar 0 $token state
- set tk [namespace tail $token]
-
- if {[catch {eof $state(sock)} tmp] || $tmp} {
- set err "due to unexpected EOF"
- } elseif {[set err [fconfigure $state(sock) -error]] ne ""} {
- # set err is done in test
+ set err "due to unexpected EOF"
+ if {
+ [eof $state(sock)] ||
+ [set err [fconfigure $state(sock) -error]] ne ""
+ } then {
+ Finish $token "connect failed $err"
} else {
- # All OK
- set state(state) connecting
fileevent $state(sock) writable {}
::http::Connected $token $proto $phost $srvurl
- return
}
-
- # Error cases.
- Log "WARNING - if testing, pay special attention to this\
- case (GJ) which is seldom executed - token $token"
- if {[info exists state(reusing)] && $state(reusing)} {
- # The socket was closed at the server end, and closed at
- # this end by http::CheckEof.
- if {[TestForReplay $token write $err b]} {
- return
- }
-
- # else:
- # This is NOT a persistent socket that has been closed since its
- # last use.
- # If any other requests are in flight or pipelined/queued, they will
- # be discarded.
- }
- Finish $token "connect failed: $err"
return
}
@@ -3446,21 +899,8 @@ proc http::Connect {token proto phost srvurl} {
# Write the socket and handle callbacks.
proc http::Write {token} {
- variable http
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
variable $token
upvar 0 $token state
- set tk [namespace tail $token]
set sock $state(sock)
# Output a block. Tcl will buffer this if the socket blocks
@@ -3471,21 +911,7 @@ proc http::Write {token} {
if {[info exists state(-query)]} {
# Chop up large query strings so queryprogress callback can give
# smooth feedback.
- if { $state(queryoffset) + $state(-queryblocksize)
- >= $state(querylength)
- } {
- # This will be the last puts for the request-body.
- if { (![catch {fileevent $sock readable} binding])
- && ($binding eq [list http::CheckEof $sock])
- } {
- # Remove the "fileevent readable" binding of an idle
- # persistent socket to http::CheckEof. We can no longer
- # treat bytes received as junk. The server might still time
- # out and half-close the socket if it has not yet received
- # the first "puts".
- fileevent $sock readable {}
- }
- }
+
puts -nonewline $sock \
[string range $state(-query) $state(queryoffset) \
[expr {$state(queryoffset) + $state(-queryblocksize) - 1}]]
@@ -3498,58 +924,36 @@ proc http::Write {token} {
# Copy blocks from the query channel
set outStr [read $state(-querychannel) $state(-queryblocksize)]
- if {[eof $state(-querychannel)]} {
- # This will be the last puts for the request-body.
- if { (![catch {fileevent $sock readable} binding])
- && ($binding eq [list http::CheckEof $sock])
- } {
- # Remove the "fileevent readable" binding of an idle
- # persistent socket to http::CheckEof. We can no longer
- # treat bytes received as junk. The server might still time
- # out and half-close the socket if it has not yet received
- # the first "puts".
- fileevent $sock readable {}
- }
- }
puts -nonewline $sock $outStr
incr state(queryoffset) [string length $outStr]
if {[eof $state(-querychannel)]} {
set done 1
}
}
- } err opts]} {
+ } err]} then {
# Do not call Finish here, but instead let the read half of the socket
# process whatever server reply there is to get.
+
set state(posterror) $err
- set info [dict get $opts -errorinfo]
- set code [dict get $opts -code]
- set state(postErrorFull) [list $err $info $code]
set done 1
}
-
if {$done} {
catch {flush $sock}
fileevent $sock writable {}
- Log ^C$tk end sending request - token $token
- # End of writing (POST method). The request has been sent.
-
- DoneRequest $token
+ fileevent $sock readable [list http::Event $sock $token]
}
# Callback to the client after we've completely handled everything.
if {[string length $state(-queryprogress)]} {
- namespace eval :: $state(-queryprogress) \
+ eval $state(-queryprogress) \
[list $token $state(querylength) $state(queryoffset)]
}
- return
}
# http::Event
#
-# Handle input on the socket. This command is the core of
-# the coroutine commands ${token}--EventCoroutine that are
-# bound to "fileevent $sock readable" and process input.
+# Handle input on the socket
#
# Arguments
# sock The socket receiving input.
@@ -3559,792 +963,207 @@ proc http::Write {token} {
# Read the socket and handle callbacks.
proc http::Event {sock token} {
- variable http
- variable socketMapping
- variable socketRdState
- variable socketWrState
- variable socketRdQueue
- variable socketWrQueue
- variable socketPhQueue
- variable socketClosing
- variable socketPlayCmd
- variable socketCoEvent
- variable socketProxyId
-
variable $token
upvar 0 $token state
- set tk [namespace tail $token]
- while 1 {
- yield
- ##Log Event call - token $token
- if {![info exists state]} {
- Log "Event $sock with invalid token '$token' - remote close?"
- if {!([catch {eof $sock} tmp] || $tmp)} {
- if {[set d [read $sock]] ne ""} {
- Log "WARNING: additional data left on closed socket\
- - token $token"
- } else {
- }
- } else {
+ if {![info exists state]} {
+ Log "Event $sock with invalid token '$token' - remote close?"
+ if {![eof $sock]} {
+ if {[set d [read $sock]] ne ""} {
+ Log "WARNING: additional data left on closed socket"
}
- Log ^X$tk end of response (token error) - token $token
- CloseSocket $sock
- return
- } else {
}
- if {$state(state) eq "connecting"} {
- ##Log - connecting - token $token
- if { $state(reusing)
- && $state(-pipeline)
- && ($state(-timeout) > 0)
- && (![info exists state(after)])
- } {
- set state(after) [after $state(-timeout) \
- [list http::reset $token timeout]]
- } else {
+ CloseSocket $sock
+ return
+ }
+ if {$state(state) eq "connecting"} {
+ if {[catch {gets $sock state(http)} n]} {
+ return [Finish $token $n]
+ } elseif {$n >= 0} {
+ set state(state) "header"
+ }
+ } elseif {$state(state) eq "header"} {
+ if {[catch {gets $sock line} n]} {
+ return [Finish $token $n]
+ } 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)} {
+ return
}
- if {[catch {gets $sock state(http)} nsl]} {
- Log "WARNING - if testing, pay special attention to this\
- case (GK) which is seldom executed - token $token"
- if {[info exists state(reusing)] && $state(reusing)} {
- # The socket was closed at the server end, and closed at
- # this end by http::CheckEof.
+ set state(state) body
- if {[TestForReplay $token read $nsl c]} {
- return
- } else {
- }
- # else:
- # This is NOT a persistent socket that has been closed since
- # its last use.
- # If any other requests are in flight or pipelined/queued,
- # they will be discarded.
- } else {
- # https handshake errors come here, for
- # Tcl 8.7 with http::SecureProxyConnect.
- set msg [registerError $sock]
- registerError $sock {}
- if {$msg eq {}} {
- set msg $nsl
- }
- Log ^X$tk end of response (error) - token $token
- Finish $token $msg
- return
- }
- } elseif {$nsl >= 0} {
- ##Log - connecting 1 - token $token
- set state(state) "header"
- } elseif { ([catch {eof $sock} tmp] || $tmp)
- && [info exists state(reusing)]
- && $state(reusing)
- } {
- # The socket was closed at the server end, and we didn't notice.
- # This is the first read - where the closure is usually first
- # detected.
-
- if {[TestForReplay $token read {} d]} {
- return
- } else {
- }
-
- # else:
- # This is NOT a persistent socket that has been closed since its
- # last use.
- # If any other requests are in flight or pipelined/queued, they
- # will be discarded.
- } else {
+ # If doing a HEAD, then we won't get any body
+ if {$state(-validate)} {
+ Eof $token
+ return
}
- } elseif {$state(state) eq "header"} {
- if {[catch {gets $sock line} nhl]} {
- ##Log header failed - token $token
- Log ^X$tk end of response (error) - token $token
- Finish $token $nhl
+
+ # For non-chunked transfer we may have no body - in this case we
+ # may get no further file event if the connection doesn't close
+ # and no more data is sent. We can tell and must finish up now -
+ # not later.
+ if {
+ !(([info exists state(connection)]
+ && ($state(connection) eq "close"))
+ || [info exists state(transfer)])
+ && ($state(totalsize) == 0)
+ } then {
+ Log "body size is 0 and no events likely - complete."
+ Eof $token
return
- } elseif {$nhl == 0} {
- ##Log header done - token $token
- Log ^E$tk end of response headers - token $token
- # 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)
- } {
- set state(state) "connecting"
- continue
- # This was a "return" in the pre-coroutine code.
- } else {
- }
+ }
- # We have $state(http) so let's split it into its components.
- if {[regexp {^HTTP/(\S+) ([0-9]{3}) (.*)$} $state(http) \
- -> httpResponse responseCode reasonPhrase]
- } {
- set state(httpResponse) $httpResponse
- set state(responseCode) $responseCode
- set state(reasonPhrase) $reasonPhrase
- } else {
- set state(httpResponse) $state(http)
- set state(responseCode) $state(http)
- set state(reasonPhrase) $state(http)
- }
+ # We have to use binary translation to count bytes properly.
+ fconfigure $sock -translation binary
- if { ([info exists state(connection)])
- && ([info exists socketMapping($state(socketinfo))])
- && ("keep-alive" in $state(connection))
- && ($state(-keepalive))
- && (!$state(reusing))
- && ($state(-pipeline))
- } {
- # Response headers received for first request on a
- # persistent socket. Now ready for pipelined writes (if
- # any).
- # Previous value is $token. It cannot be "pending".
- set socketWrState($state(socketinfo)) Wready
- http::NextPipelinedWrite $token
- } else {
+ if {
+ $state(-binary) || ![string match -nocase text* $state(type)]
+ } then {
+ # 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)]} {
+ fconfigure $state(-channel) -translation binary
}
-
- # Once a "close" has been signaled, the client MUST NOT send any
- # more requests on that connection.
- #
- # If either the client or the server sends the "close" token in
- # the Connection header, that request becomes the last one for
- # the connection.
-
- if { ([info exists state(connection)])
- && ([info exists socketMapping($state(socketinfo))])
- && ("close" in $state(connection))
- && ($state(-keepalive))
- } {
- # The server warns that it will close the socket after this
- # response.
- ##Log WARNING - socket will close after response for $token
- # Prepare data for a call to ReplayIfClose.
- Log $token socket will close after this transaction
- # 1. Cancel socket-assignment coro events that have not yet
- # launched, and add the tokens to the write queue.
- if {[info exists socketCoEvent($state(socketinfo))]} {
- foreach {tok can} $socketCoEvent($state(socketinfo)) {
- lappend socketWrQueue($state(socketinfo)) $tok
- unset -nocomplain ${tok}(socketcoro)
- after cancel $can
- Log $tok Cancel socket after-idle event (Event)
- Log Move $tok from socketCoEvent to socketWrQueue and cancel its after idle coro
- }
- set socketCoEvent($state(socketinfo)) {}
- } else {
- }
-
- if { ($socketRdQueue($state(socketinfo)) ne {})
- || ($socketWrQueue($state(socketinfo)) ne {})
- || ($socketWrState($state(socketinfo)) ni
- [list Wready peNding $token])
- } {
- set InFlightW $socketWrState($state(socketinfo))
- if {$InFlightW in [list Wready peNding $token]} {
- set InFlightW Wready
+ }
+ if {
+ [info exists state(-channel)] &&
+ ![info exists state(-handler)]
+ } then {
+ # Initiate a sequence of background fcopies
+ fileevent $sock readable {}
+ CopyStart $sock $token
+ return
+ }
+ } elseif {$n > 0} {
+ # Process header lines
+ if {[regexp -nocase {^([^:]+):(.+)$} $line x key value]} {
+ switch -- [string tolower $key] {
+ 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 {
- set msg "token ${InFlightW} is InFlightW"
- ##Log $msg - token $token
- }
- set socketPlayCmd($state(socketinfo)) \
- [list ReplayIfClose $InFlightW \
- $socketRdQueue($state(socketinfo)) \
- $socketWrQueue($state(socketinfo))]
-
- # - All tokens are preserved for re-use by ReplayCore.
- # - Queues are preserved in case of Finish with error,
- # but are not used for anything else because
- # socketClosing(*) is set below.
- # - Cancel the state(after) timeout events.
- foreach tokenVal $socketRdQueue($state(socketinfo)) {
- if {[info exists ${tokenVal}(after)]} {
- after cancel [set ${tokenVal}(after)]
- unset ${tokenVal}(after)
- } else {
- }
- # Tokens in the read queue have no (socketcoro) to
- # cancel.
+ regexp -nocase {charset\s*=\s*(\S+?);?} \
+ $state(type) -> state(charset)
}
- } else {
- set socketPlayCmd($state(socketinfo)) \
- {ReplayIfClose Wready {} {}}
}
-
- # Do not allow further connections on this socket (but
- # geturl can add new requests to the replay).
- set socketClosing($state(socketinfo)) 1
- } else {
- }
-
- set state(state) body
-
- # According to
- # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection
- # any comma-separated "Connection:" list implies keep-alive, but I
- # don't see this in the RFC so we'll play safe and
- # scan any list for "close".
- # Done here to support combining duplicate header field's values.
- if { [info exists state(connection)]
- && ("close" ni $state(connection))
- && ("keep-alive" ni $state(connection))
- } {
- lappend state(connection) "keep-alive"
- } else {
- }
-
- # If doing a HEAD, then we won't get any body
- if {$state(-validate)} {
- Log ^F$tk end of response for HEAD request - token $token
- set state(state) complete
- Eot $token
- return
- } elseif {
- ($state(method) eq {CONNECT})
- && [string is integer -strict $state(responseCode)]
- && ($state(responseCode) >= 200)
- && ($state(responseCode) < 300)
- } {
- # A successful CONNECT response has no body.
- # (An unsuccessful CONNECT has headers and body.)
- # The code below is abstracted from Eot/Finish, but
- # keeps the socket open.
- catch {fileevent $state(sock) readable {}}
- catch {fileevent $state(sock) writable {}}
- set state(state) complete
- set state(status) ok
- if {[info commands ${token}--EventCoroutine] ne {}} {
- rename ${token}--EventCoroutine {}
- }
- if {[info commands ${token}--SocketCoroutine] ne {}} {
- rename ${token}--SocketCoroutine {}
+ content-length {
+ set state(totalsize) [string trim $value]
}
- if {[info exists state(socketcoro)]} {
- Log $token Cancel socket after-idle event (Finish)
- after cancel $state(socketcoro)
- unset state(socketcoro)
+ content-encoding {
+ set state(coding) [string trim $value]
}
- if {[info exists state(after)]} {
- after cancel $state(after)
- unset state(after)
- }
- if { [info exists state(-command)]
- && (![info exists state(done-command-cb)])
- } {
- set state(done-command-cb) yes
- if {[catch {namespace eval :: $state(-command) $token} err]} {
- set state(error) [list $err $errorInfo $errorCode]
- set state(status) error
- }
- }
- return
- } else {
- }
-
- # - For non-chunked transfer we may have no body - in this case
- # we may get no further file event if the connection doesn't
- # close and no more data is sent. We can tell and must finish
- # up now - not later - the alternative would be to wait until
- # the server times out.
- # - In this case, the server has NOT told the client it will
- # close the connection, AND it has NOT indicated the resource
- # length EITHER by setting the Content-Length (totalsize) OR
- # by using chunked Transfer-Encoding.
- # - Do not worry here about the case (Connection: close) because
- # the server should close the connection.
- # - IF (NOT Connection: close) AND (NOT chunked encoding) AND
- # (totalsize == 0).
-
- if { (!( [info exists state(connection)]
- && ("close" in $state(connection))
- )
- )
- && ($state(transfer) eq {})
- && ($state(totalsize) == 0)
- } {
- set msg {body size is 0 and no events likely - complete}
- Log "$msg - token $token"
- set msg {(length unknown, set to 0)}
- Log ^F$tk end of response body {*}$msg - token $token
- set state(state) complete
- Eot $token
- return
- } else {
- }
-
- # We have to use binary translation to count bytes properly.
- lassign [fconfigure $sock -translation] trRead trWrite
- fconfigure $sock -translation [list binary $trWrite]
-
- if {
- $state(-binary) || [IsBinaryContentType $state(type)]
- } {
- # Turn off conversions for non-text data.
- set state(binary) 1
- } else {
- }
- if {[info exists state(-channel)]} {
- if {$state(binary) || [llength [ContentEncoding $token]]} {
- fconfigure $state(-channel) -translation binary
- } else {
+ transfer-encoding {
+ set state(transfer) \
+ [string trim [string tolower $value]]
}
- if {![info exists state(-handler)]} {
- # Initiate a sequence of background fcopies.
- fileevent $sock readable {}
- rename ${token}--EventCoroutine {}
- CopyStart $sock $token
- return
- } else {
+ proxy-connection -
+ connection {
+ set state(connection) \
+ [string trim [string tolower $value]]
}
- } else {
}
- } elseif {$nhl > 0} {
- # Process header lines.
- ##Log header - token $token - $line
- if {[regexp -nocase {^([^:]+):(.+)$} $line x key value]} {
- set key [string tolower $key]
- switch -- $key {
- 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)
- }
- }
- content-length {
- set state(totalsize) [string trim $value]
- }
- content-encoding {
- set state(coding) [string trim $value]
- }
- transfer-encoding {
- set state(transfer) \
- [string trim [string tolower $value]]
- }
- proxy-connection -
- connection {
- # RFC 7230 Section 6.1 states that a comma-separated
- # list is an acceptable value.
- if {![info exists state(connectionRespFlag)]} {
- # This is the first "Connection" response header.
- # Scrub the earlier value set by iniitialisation.
- set state(connectionRespFlag) {}
- set state(connection) {}
- }
- foreach el [SplitCommaSeparatedFieldValue $value] {
- lappend state(connection) [string tolower $el]
- }
- }
- upgrade {
- set state(upgrade) [string trim $value]
- }
- set-cookie {
- if {$http(-cookiejar) ne ""} {
- ParseCookie $token [string trim $value]
- } else {
- }
- }
- }
- lappend state(meta) $key [string trim $value]
+ lappend state(meta) $key [string trim $value]
+ }
+ }
+ } else {
+ # Now reading body
+ if {[catch {
+ if {[info exists state(-handler)]} {
+ set n [eval $state(-handler) [list $sock $token]]
+ } elseif {[info exists state(transfer_final)]} {
+ set line [getTextLine $sock]
+ set n [string length $line]
+ if {$n > 0} {
+ Log "found $n bytes following final chunk"
+ append state(transfer_final) $line
} else {
+ Log "final chunk part"
+ Eof $token
}
- } else {
- }
- } else {
- # Now reading body
- ##Log body - token $token
- if {[catch {
- if {[info exists state(-handler)]} {
- set n [namespace eval :: $state(-handler) [list $sock $token]]
- ##Log handler $n - token $token
- # N.B. the protocol has been set to 1.0 because the -handler
- # logic is not expected to handle chunked encoding.
- # FIXME Allow -handler with 1.1 on dechunked stacked chan.
- if {$state(totalsize) == 0} {
- # We know the transfer is complete only when the server
- # closes the connection - i.e. eof is not an error.
- set state(state) complete
- } else {
- }
- if {![string is integer -strict $n]} {
- if 1 {
- # Do not tolerate bad -handler - fail with error
- # status.
- set msg {the -handler command for http::geturl must\
- return an integer (the number of bytes\
- read)}
- Log ^X$tk end of response (handler error) -\
- token $token
- Eot $token $msg
- } else {
- # Tolerate the bad -handler, and continue. The
- # penalty:
- # (a) Because the handler returns nonsense, we know
- # the transfer is complete only when the server
- # closes the connection - i.e. eof is not an
- # error.
- # (b) http::size will not be accurate.
- # (c) The transaction is already downgraded to 1.0
- # to avoid chunked transfer encoding. It MUST
- # also be forced to "Connection: close" or the
- # HTTP/1.0 equivalent; or it MUST fail (as
- # above) if the server sends
- # "Connection: keep-alive" or the HTTP/1.0
- # equivalent.
- set n 0
- set state(state) complete
+ } elseif {
+ [info exists state(transfer)]
+ && $state(transfer) eq "chunked"
+ } then {
+ set size 0
+ set chunk [getTextLine $sock]
+ set n [string length $chunk]
+ if {[string trim $chunk] ne ""} {
+ scan $chunk %x size
+ if {$size != 0} {
+ set bl [fconfigure $sock -blocking]
+ fconfigure $sock -blocking 1
+ set chunk [read $sock $size]
+ fconfigure $sock -blocking $bl
+ set n [string length $chunk]
+ if {$n >= 0} {
+ append state(body) $chunk
}
- } else {
- }
- } elseif {[info exists state(transfer_final)]} {
- # This code forgives EOF in place of the final CRLF.
- set line [GetTextLine $sock]
- set n [string length $line]
- set state(state) complete
- if {$n > 0} {
- # - HTTP trailers (late response headers) are permitted
- # by Chunked Transfer-Encoding, and can be safely
- # ignored.
- # - Do not count these bytes in the total received for
- # the response body.
- Log "trailer of $n bytes after final chunk -\
- token $token"
- append state(transfer_final) $line
- set n 0
- } else {
- Log ^F$tk end of response body (chunked) - token $token
- Log "final chunk part - token $token"
- Eot $token
- }
- } elseif { [info exists state(transfer)]
- && ($state(transfer) eq "chunked")
- } {
- ##Log chunked - token $token
- set size 0
- set hexLenChunk [GetTextLine $sock]
- #set ntl [string length $hexLenChunk]
- if {[string trim $hexLenChunk] ne ""} {
- scan $hexLenChunk %x size
- if {$size != 0} {
- ##Log chunk-measure $size - token $token
- set chunk [BlockingRead $sock $size]
- set n [string length $chunk]
- if {$n >= 0} {
- append state(body) $chunk
- incr state(log_size) [string length $chunk]
- ##Log chunk $n cumul $state(log_size) -\
- token $token
- } else {
- }
- if {$size != [string length $chunk]} {
- Log "WARNING: mis-sized chunk:\
- was [string length $chunk], should be\
- $size - token $token"
- set n 0
- set state(connection) close
- Log ^X$tk end of response (chunk error) \
- - token $token
- set msg {error in chunked encoding - fetch\
- terminated}
- Eot $token $msg
- } else {
- }
- # CRLF that follows chunk.
- # If eof, this is handled at the end of this proc.
- GetTextLine $sock
- } else {
- set n 0
- set state(transfer_final) {}
+ if {$size != [string length $chunk]} {
+ Log "WARNING: mis-sized chunk:\
+ was [string length $chunk], should be $size"
}
+ getTextLine $sock
} else {
- # Line expected to hold chunk length is empty, or eof.
- ##Log bad-chunk-measure - token $token
- set n 0
- set state(connection) close
- Log ^X$tk end of response (chunk error) - token $token
- Eot $token {error in chunked encoding -\
- fetch terminated}
- }
- } else {
- ##Log unchunked - token $token
- if {$state(totalsize) == 0} {
- # We know the transfer is complete only when the server
- # closes the connection.
- set state(state) complete
- set reqSize $state(-blocksize)
- } else {
- # Ask for the whole of the unserved response-body.
- # This works around a problem with a tls::socket - for
- # https in keep-alive mode, and a request for
- # $state(-blocksize) bytes, the last part of the
- # resource does not get read until the server times out.
- set reqSize [expr { $state(totalsize)
- - $state(currentsize)}]
-
- # The workaround fails if reqSize is
- # capped at $state(-blocksize).
- # set reqSize [expr {min($reqSize, $state(-blocksize))}]
- }
- set c $state(currentsize)
- set t $state(totalsize)
- ##Log non-chunk currentsize $c of totalsize $t -\
- token $token
- set block [read $sock $reqSize]
- set n [string length $block]
- if {$n >= 0} {
- append state(body) $block
- ##Log non-chunk [string length $state(body)] -\
- token $token
- } else {
+ set state(transfer_final) {}
}
}
- # This calculation uses n from the -handler, chunked, or
- # unchunked case as appropriate.
- if {[info exists state]} {
- if {$n >= 0} {
- incr state(currentsize) $n
- set c $state(currentsize)
- set t $state(totalsize)
- ##Log another $n currentsize $c totalsize $t -\
- token $token
- } else {
- }
- # If Content-Length - check for end of data.
- if {
- ($state(totalsize) > 0)
- && ($state(currentsize) >= $state(totalsize))
- } {
- Log ^F$tk end of response body (unchunked) -\
- token $token
- set state(state) complete
- Eot $token
- } else {
- }
- } else {
- }
- } err]} {
- Log ^X$tk end of response (error ${err}) - token $token
- Finish $token $err
- return
} else {
- if {[info exists state(-progress)]} {
- namespace eval :: $state(-progress) \
- [list $token $state(totalsize) $state(currentsize)]
- } else {
+ #Log "read non-chunk $state(currentsize) of $state(totalsize)"
+ set block [read $sock $state(-blocksize)]
+ set n [string length $block]
+ if {$n >= 0} {
+ append state(body) $block
}
}
- }
-
- # catch as an Eot above may have closed the socket already
- # $state(state) may be connecting, header, body, or complete
- if {(![catch {eof $sock} eof]) && $eof} {
- # [eof sock] succeeded and the result was 1
- ##Log eof - token $token
- if {[info exists $token]} {
- set state(connection) close
- if {$state(state) eq "complete"} {
- # This includes all cases in which the transaction
- # can be completed by eof.
- # The value "complete" is set only in http::Event, and it is
- # used only in the test above.
- Log ^F$tk end of response body (unchunked, eof) -\
- token $token
- Eot $token
- } else {
- # Premature eof.
- Log ^X$tk end of response (unexpected eof) - token $token
- Eot $token eof
+ if {[info exists state]} {
+ if {$n >= 0} {
+ incr state(currentsize) $n
+ }
+ # If Content-Length - check for end of data.
+ if {
+ ($state(totalsize) > 0)
+ && ($state(currentsize) >= $state(totalsize))
+ } then {
+ Eof $token
}
- } else {
- # open connection closed on a token that has been cleaned up.
- Log ^X$tk end of response (token error) - token $token
- CloseSocket $sock
}
+ } err]} then {
+ return [Finish $token $err]
} else {
- # EITHER [eof sock] failed - presumed done by Eot
- # OR [eof sock] succeeded and the result was 0
+ if {[info exists state(-progress)]} {
+ eval $state(-progress) \
+ [list $token $state(totalsize) $state(currentsize)]
+ }
}
}
- return
-}
-
-# http::TestForReplay
-#
-# Command called if eof is discovered when a socket is first used for a
-# new transaction. Typically this occurs if a persistent socket is used
-# after a period of idleness and the server has half-closed the socket.
-#
-# token - the connection token returned by http::geturl
-# doing - "read" or "write"
-# err - error message, if any
-# caller - code to identify the caller - used only in logging
-#
-# Return Value: boolean, true iff the command calls http::ReplayIfDead.
-
-proc http::TestForReplay {token doing err caller} {
- variable http
- variable $token
- upvar 0 $token state
- set tk [namespace tail $token]
- if {$doing eq "read"} {
- set code Q
- set action response
- set ing reading
- } else {
- set code P
- set action request
- set ing writing
- }
-
- if {$err eq {}} {
- set err "detect eof when $ing (server timed out?)"
- }
-
- if {$state(method) eq "POST" && !$http(-repost)} {
- # No Replay.
- # The present transaction will end when Finish is called.
- # That call to Finish will abort any other transactions
- # currently in the write queue.
- # For calls from http::Event this occurs when execution
- # reaches the code block at the end of that proc.
- set msg {no retry for POST with http::config -repost 0}
- Log reusing socket failed "($caller)" - $msg - token $token
- Log error - $err - token $token
- Log ^X$tk end of $action (error) - token $token
- return 0
- } else {
- # Replay.
- set msg {try a new socket}
- Log reusing socket failed "($caller)" - $msg - token $token
- Log error - $err - token $token
- Log ^$code$tk Any unfinished (incl this one) failed - token $token
- ReplayIfDead $token $doing
- return 1
- }
-}
-# http::IsBinaryContentType --
-#
-# Determine if the content-type means that we should definitely transfer
-# the data as binary. [Bug 838e99a76d]
-#
-# Arguments
-# type The content-type of the data.
-#
-# Results:
-# Boolean, true if we definitely should be binary.
-
-proc http::IsBinaryContentType {type} {
- lassign [split [string tolower $type] "/;"] major minor
- if {$major eq "text"} {
- return false
- }
- # There's a bunch of XML-as-application-format things about. See RFC 3023
- # and so on.
- if {$major eq "application"} {
- set minor [string trimright $minor]
- if {$minor in {"json" "xml" "xml-external-parsed-entity" "xml-dtd"}} {
- return false
+ # catch as an Eof above may have closed the socket already
+ if {![catch {eof $sock} eof] && $eof} {
+ if {[info exists $token]} {
+ set state(connection) close
+ Eof $token
+ } else {
+ # open connection closed on a token that has been cleaned up.
+ CloseSocket $sock
}
- }
- # Not just application/foobar+xml but also image/svg+xml, so let us not
- # restrict things for now...
- if {[string match "*+xml" $minor]} {
- return false
- }
- return true
-}
-
-proc http::ParseCookie {token value} {
- variable http
- variable CookieRE
- variable $token
- upvar 0 $token state
-
- if {![regexp $CookieRE $value -> cookiename cookieval opts]} {
- # Bad cookie! No biscuit!
return
}
-
- # Convert the options into a list before feeding into the cookie store;
- # ugly, but quite easy.
- set realopts {hostonly 1 path / secure 0 httponly 0}
- dict set realopts origin $state(host)
- dict set realopts domain $state(host)
- foreach option [split [regsub -all {;\s+} $opts \u0000] \u0000] {
- regexp {^(.*?)(?:=(.*))?$} $option -> optname optval
- switch -exact -- [string tolower $optname] {
- expires {
- if {[catch {
- #Sun, 06 Nov 1994 08:49:37 GMT
- dict set realopts expires \
- [clock scan $optval -format "%a, %d %b %Y %T %Z"]
- }] && [catch {
- # Google does this one
- #Mon, 01-Jan-1990 00:00:00 GMT
- dict set realopts expires \
- [clock scan $optval -format "%a, %d-%b-%Y %T %Z"]
- }] && [catch {
- # This is in the RFC, but it is also in the original
- # Netscape cookie spec, now online at:
- # <URL:http://curl.haxx.se/rfc/cookie_spec.html>
- #Sunday, 06-Nov-94 08:49:37 GMT
- dict set realopts expires \
- [clock scan $optval -format "%A, %d-%b-%y %T %Z"]
- }]} {catch {
- #Sun Nov 6 08:49:37 1994
- dict set realopts expires \
- [clock scan $optval -gmt 1 -format "%a %b %d %T %Y"]
- }}
- }
- max-age {
- # Normalize
- if {[string is integer -strict $optval]} {
- dict set realopts expires [expr {[clock seconds] + $optval}]
- }
- }
- domain {
- # From the domain-matches definition [RFC 2109, section 2]:
- # Host A's name domain-matches host B's if [...]
- # A is a FQDN string and has the form NB, where N is a
- # non-empty name string, B has the form .B', and B' is a
- # FQDN string. (So, x.y.com domain-matches .y.com but
- # not y.com.)
- if {$optval ne "" && ![string match *. $optval]} {
- dict set realopts domain [string trimleft $optval "."]
- dict set realopts hostonly [expr {
- ! [string match .* $optval]
- }]
- }
- }
- path {
- if {[string match /* $optval]} {
- dict set realopts path $optval
- }
- }
- secure - httponly {
- dict set realopts [string tolower $optname] 1
- }
- }
- }
- dict set realopts key $cookiename
- dict set realopts value $cookieval
- {*}$http(-cookiejar) storeCookie $realopts
}
-# http::GetTextLine --
+# http::getTextLine --
#
-# Get one line with the stream in crlf mode.
-# Used if Transfer-Encoding is chunked, to read the line that
-# reports the size of the following chunk.
-# Empty line is not distinguished from eof. The caller must
-# be able to handle this.
+# Get one line with the stream in blocking crlf mode
#
# Arguments
# sock The socket receiving input.
@@ -4352,59 +1171,15 @@ proc http::ParseCookie {token value} {
# Results:
# The line of text, without trailing newline
-proc http::GetTextLine {sock} {
+proc http::getTextLine {sock} {
set tr [fconfigure $sock -translation]
- lassign $tr trRead trWrite
- fconfigure $sock -translation [list crlf $trWrite]
- set r [BlockingGets $sock]
- fconfigure $sock -translation $tr
+ set bl [fconfigure $sock -blocking]
+ fconfigure $sock -translation crlf -blocking 1
+ set r [gets $sock]
+ fconfigure $sock -translation $tr -blocking $bl
return $r
}
-# http::BlockingRead
-#
-# Replacement for a blocking read.
-# The caller must be a coroutine.
-# Used when we expect to read a chunked-encoding
-# chunk of known size.
-
-proc http::BlockingRead {sock size} {
- if {$size < 1} {
- return
- }
- set result {}
- while 1 {
- set need [expr {$size - [string length $result]}]
- set block [read $sock $need]
- set eof [expr {[catch {eof $sock} tmp] || $tmp}]
- append result $block
- if {[string length $result] >= $size || $eof} {
- return $result
- } else {
- yield
- }
- }
-}
-
-# http::BlockingGets
-#
-# Replacement for a blocking gets.
-# The caller must be a coroutine.
-# Empty line is not distinguished from eof. The caller must
-# be able to handle this.
-
-proc http::BlockingGets {sock} {
- while 1 {
- set count [gets $sock line]
- set eof [expr {[catch {eof $sock} tmp] || $tmp}]
- if {$count >= 0 || $eof} {
- return $line
- } else {
- yield
- }
- }
-}
-
# http::CopyStart
#
# Error handling wrapper around fcopy
@@ -4416,78 +1191,15 @@ proc http::BlockingGets {sock} {
# Side Effects
# This closes the connection upon error
-proc http::CopyStart {sock token {initial 1}} {
- upvar 0 $token state
- if {[info exists state(transfer)] && $state(transfer) eq "chunked"} {
- foreach coding [ContentEncoding $token] {
- if {$coding eq {deflateX}} {
- # Use the standards-compliant choice.
- set coding2 decompress
- } else {
- set coding2 $coding
- }
- lappend state(zlib) [zlib stream $coding2]
- }
- MakeTransformationChunked $sock [namespace code [list CopyChunk $token]]
- } else {
- if {$initial} {
- foreach coding [ContentEncoding $token] {
- if {$coding eq {deflateX}} {
- # Use the standards-compliant choice.
- set coding2 decompress
- } else {
- set coding2 $coding
- }
- zlib push $coding2 $sock
- }
- }
- if {[catch {
- # FIXME Keep-Alive on https tls::socket with unchunked transfer
- # hangs until the server times out. A workaround is possible, as for
- # the case without -channel, but it does not use the neat "fcopy"
- # solution.
- fcopy $sock $state(-channel) -size $state(-blocksize) -command \
- [list http::CopyDone $token]
- } err]} {
- Finish $token $err
- }
- }
- return
-}
-
-proc http::CopyChunk {token chunk} {
+proc http::CopyStart {sock token} {
+ variable $token
upvar 0 $token state
- 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)]} {
- namespace eval :: [linsert $state(-progress) end \
- $token $state(totalsize) $state(currentsize)]
- }
- } else {
- Log "CopyChunk Finish - token $token"
- if {[info exists state(zlib)]} {
- set excess ""
- foreach stream $state(zlib) {
- catch {
- $stream put -finalize $excess
- set excess ""
- set overflood ""
- while {[set overflood [$stream get]] ne ""} { append excess $overflood }
- }
- }
- puts -nonewline $state(-channel) $excess
- foreach stream $state(zlib) { $stream close }
- unset state(zlib)
- }
- Eot $token ;# FIX ME: pipelining.
+ if {[catch {
+ fcopy $sock $state(-channel) -size $state(-blocksize) -command \
+ [list http::CopyDone $token]
+ } err]} then {
+ Finish $token $err
}
- return
}
# http::CopyDone
@@ -4496,7 +1208,7 @@ proc http::CopyChunk {token chunk} {
#
# Arguments
# token The token returned from http::geturl
-# count The amount transferred
+# count The amount transfered
#
# Side Effects
# Invokes callbacks
@@ -4507,192 +1219,70 @@ proc http::CopyDone {token count {error {}}} {
set sock $state(sock)
incr state(currentsize) $count
if {[info exists state(-progress)]} {
- namespace eval :: $state(-progress) \
+ eval $state(-progress) \
[list $token $state(totalsize) $state(currentsize)]
}
- # At this point the token may have been reset.
+ # At this point the token may have been reset
if {[string length $error]} {
Finish $token $error
} elseif {[catch {eof $sock} iseof] || $iseof} {
- Eot $token
+ Eof $token
} else {
- CopyStart $sock $token 0
+ CopyStart $sock $token
}
- return
}
-# http::Eot
-#
-# Called when either:
-# a. An eof condition is detected on the socket.
-# b. The client decides that the response is complete.
-# c. The client detects an inconsistency and aborts the transaction.
+# http::Eof
#
-# Does:
-# 1. Set state(status)
-# 2. Reverse any Content-Encoding
-# 3. Convert charset encoding and line ends if necessary
-# 4. Call http::Finish
+# Handle eof on the socket
#
# Arguments
# token The token returned from http::geturl
-# force (previously) optional, has no effect
-# reason - "eof" means premature EOF (not EOF as the natural end of
-# the response)
-# - "" means completion of response, with or without EOF
-# - anything else describes an error condition other than
-# premature EOF.
#
# Side Effects
# Clean up the socket
-proc http::Eot {token {reason {}}} {
+proc http::Eof {token {force 0}} {
variable $token
upvar 0 $token state
- if {$reason eq "eof"} {
- # Premature eof.
+ if {$state(state) eq "header"} {
+ # Premature eof
set state(status) eof
- set reason {}
- } elseif {$reason ne ""} {
- # Abort the transaction.
- set state(status) $reason
} else {
- # The response is complete.
set state(status) ok
}
- if {[string length $state(body)] > 0} {
- if {[catch {
- foreach coding [ContentEncoding $token] {
- if {$coding eq {deflateX}} {
- # First try the standards-compliant choice.
- set coding2 decompress
- if {[catch {zlib $coding2 $state(body)} result]} {
- # If that fails, try the MS non-compliant choice.
- set coding2 inflate
- set state(body) [zlib $coding2 $state(body)]
- } else {
- # error {failed at standards-compliant deflate}
- set state(body) $result
- }
- } else {
- set state(body) [zlib $coding $state(body)]
- }
- }
- } err]} {
- Log "error doing decompression for token $token: $err"
- Finish $token $err
- return
- }
-
- 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"} {
- if {[package vsatisfies [package provide Tcl] 9.0-]} {
- set state(body) [encoding convertfrom -profile tcl8 $enc $state(body)]
- } else {
- set state(body) [encoding convertfrom $enc $state(body)]
- }
+ 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)]
}
-
- # Translate text line endings.
- set state(body) [string map {\r\n \n \r \n} $state(body)]
- }
- if {[info exists state(-guesstype)] && $state(-guesstype)} {
- GuessType $token
- }
- }
- Finish $token $reason
- return
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::GuessType
-# ------------------------------------------------------------------------------
-# Command to attempt limited analysis of a resource with undetermined
-# Content-Type, i.e. "application/octet-stream". This value can be set for two
-# reasons:
-# (a) by the server, in a Content-Type header
-# (b) by http::geturl, as the default value if the server does not supply a
-# Content-Type header.
-#
-# This command converts a resource if:
-# (1) it has type application/octet-stream
-# (2) it begins with an XML declaration "<?xml name="value" ... >?"
-# (3) one tag is named "encoding" and has a recognised value; or no "encoding"
-# tag exists (defaulting to utf-8)
-#
-# RFC 9110 Sec. 8.3 states:
-# "If a Content-Type header field is not present, the recipient MAY either
-# assume a media type of "application/octet-stream" ([RFC2046], Section 4.5.1)
-# or examine the data to determine its type."
-#
-# The RFC goes on to describe the pitfalls of "MIME sniffing", including
-# possible security risks.
-#
-# Arguments:
-# token - connection token
-#
-# Return Value: (boolean) true iff a change has been made
-# ------------------------------------------------------------------------------
-
-proc http::GuessType {token} {
- variable $token
- upvar 0 $token state
-
- if {$state(type) ne {application/octet-stream}} {
- return 0
+ } err]} then {
+ return [Finish $token $err]
+ }
}
- set body $state(body)
- # e.g. {<?xml version="1.0" encoding="utf-8"?> ...}
+ 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.
- if {![regexp -nocase -- {^<[?]xml[[:space:]][^>?]*[?]>} $body match]} {
- return 0
- }
- # e.g. {<?xml version="1.0" encoding="utf-8"?>}
-
- set contents [regsub -- {[[:space:]]+} $match { }]
- set contents [string range [string tolower $contents] 6 end-2]
- # e.g. {version="1.0" encoding="utf-8"}
- # without excess whitespace or upper-case letters
+ set enc [CharsetToEncoding $state(charset)]
+ if {$enc ne "binary"} {
+ set state(body) [encoding convertfrom $enc $state(body)]
+ }
- if {![regexp -- {^([^=" ]+="[^"]+" )+$} "$contents "]} {
- return 0
+ # Translate text line endings.
+ set state(body) [string map {\r\n \n \r \n} $state(body)]
}
- # The application/xml default encoding:
- set res utf-8
- set tagList [regexp -all -inline -- {[^=" ]+="[^"]+"} $contents]
- foreach tag $tagList {
- regexp -- {([^=" ]+)="([^"]+)"} $tag -> name value
- if {$name eq {encoding}} {
- set res $value
- }
- }
- set enc [CharsetToEncoding $res]
- if {$enc eq "binary"} {
- return 0
- }
- if {[package vsatisfies [package provide Tcl] 9.0-]} {
- set state(body) [encoding convertfrom -profile tcl8 $enc $state(body)]
- } else {
- set state(body) [encoding convertfrom $enc $state(body)]
- }
- set state(body) [string map {\r\n \n \r \n} $state(body)]
- set state(type) application/xml
- set state(binary) 0
- set state(charset) $res
- return 1
+ Finish $token
}
-
# http::wait --
#
# See documentation for details.
@@ -4701,7 +1291,7 @@ proc http::GuessType {token} {
# token Connection token.
#
# Results:
-# The status after the wait.
+# The status after the wait.
proc http::wait {token} {
variable $token
@@ -4728,16 +1318,10 @@ proc http::wait {token} {
# TODO
proc http::formatQuery {args} {
- if {[llength $args] % 2} {
- return \
- -code error \
- -errorcode [list HTTP BADARGCNT $args] \
- {Incorrect number of arguments, must be an even number.}
- }
set result ""
set sep ""
foreach i $args {
- append result $sep [quoteString $i]
+ append result $sep [mapReply $i]
if {$sep eq "="} {
set sep &
} else {
@@ -4747,7 +1331,7 @@ proc http::formatQuery {args} {
return $result
}
-# http::quoteString --
+# http::mapReply --
#
# Do x-www-urlencoded character mapping
#
@@ -4757,7 +1341,7 @@ proc http::formatQuery {args} {
# Results:
# The encoded string
-proc http::quoteString {string} {
+proc http::mapReply {string} {
variable http
variable formMap
@@ -4765,12 +1349,18 @@ proc http::quoteString {string} {
# a pre-computed map and [string map] to do the conversion (much faster
# than [regsub]/[subst]). [Bug 1020491]
- if {[package vsatisfies [package provide Tcl] 9.0-]} {
- set string [encoding convertto -profile tcl8 $http(-urlencoding) $string]
- } else {
+ if {$http(-urlencoding) ne ""} {
set string [encoding convertto $http(-urlencoding) $string]
+ return [string map $formMap $string]
}
- return [string map $formMap $string]
+ set converted [string map $formMap $string]
+ if {[string match "*\[\u0100-\uffff\]*" $converted]} {
+ regexp {[\u0100-\uffff]} $converted badChar
+ # Return this error message for maximum compatability... :^/
+ return -code error \
+ "can't read \"formMap($badChar)\": no such element in array"
+ }
+ return $converted
}
# http::ProxyRequired --
@@ -4784,23 +1374,15 @@ proc http::quoteString {string} {
proc http::ProxyRequired {host} {
variable http
- if {(![info exists http(-proxyhost)]) || ($http(-proxyhost) eq {})} {
- return
- }
- if {![info exists http(-proxyport)] || ($http(-proxyport) eq {})} {
- set port 8080
- } else {
- set port $http(-proxyport)
- }
-
- # Simple test (cf. autoproxy) for hosts that must be accessed directly,
- # not through the proxy server.
- foreach domain $http(-proxynot) {
- if {[string match -nocase $domain $host]} {
- return {}
- }
+ if {[info exists http(-proxyhost)] && [string length $http(-proxyhost)]} {
+ if {
+ ![info exists http(-proxyport)] ||
+ ![string length $http(-proxyport)]
+ } then {
+ set http(-proxyport) 8080
+ }
+ return [list $http(-proxyhost) $http(-proxyport)]
}
- return [list $http(-proxyhost) $port]
}
# http::CharsetToEncoding --
@@ -4817,7 +1399,7 @@ proc http::CharsetToEncoding {charset} {
set encoding "iso8859-$num"
} elseif {[regexp {iso-?2022-(jp|kr)} $charset -> ext]} {
set encoding "iso2022-$ext"
- } elseif {[regexp {shift[-_]?jis} $charset]} {
+ } elseif {[regexp {shift[-_]?js} $charset]} {
set encoding "shiftjis"
} elseif {[regexp {(?:windows|cp)-?([0-9]+)} $charset -> num]} {
set encoding "cp$num"
@@ -4829,9 +1411,6 @@ proc http::CharsetToEncoding {charset} {
1 - 2 - 3 {
set encoding "iso8859-$num"
}
- default {
- set encoding "binary"
- }
}
} else {
# other charset, like euc-xx, utf-8,... may directly map to encoding
@@ -4845,669 +1424,59 @@ proc http::CharsetToEncoding {charset} {
}
}
-
-# ------------------------------------------------------------------------------
-# Proc http::ContentEncoding
-# ------------------------------------------------------------------------------
-# Return the list of content-encoding transformations we need to do in order.
+# http::Gunzip --
#
- # --------------------------------------------------------------------------
- # Options for Accept-Encoding, Content-Encoding: the switch command
- # --------------------------------------------------------------------------
- # The symbol deflateX allows http to attempt both versions of "deflate",
- # unless there is a -channel - for a -channel, only "decompress" is tried.
- # Alternative/extra lines for switch:
- # The standards-compliant version of "deflate" can be chosen with:
- # deflate { lappend r decompress }
- # The Microsoft non-compliant version of "deflate" can be chosen with:
- # deflate { lappend r inflate }
- # The previously used implementation of "compress", which appears to be
- # incorrect and is rarely used by web servers, can be chosen with:
- # compress - x-compress { lappend r decompress }
- # --------------------------------------------------------------------------
-#
-# Arguments:
-# token - Connection token.
+# Decompress data transmitted using the gzip transfer coding.
#
-# Return Value: list
-# ------------------------------------------------------------------------------
-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 deflateX }
- gzip - x-gzip { lappend r gunzip }
- identity {}
- br {
- return -code error\
- "content-encoding \"br\" not implemented"
- }
- default {
- Log "unknown content-encoding \"$coding\" ignored"
- }
- }
- }
+# 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"
}
- return $r
-}
-
-proc http::ReceiveChunked {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]
- }]} {
- 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
- }
+ if {$method != 8} {
+ return -code error "invalid compression method"
}
-}
-# http::SplitCommaSeparatedFieldValue --
-# Return the individual values of a comma-separated field value.
-#
-# Arguments:
-# fieldValue Comma-separated header field value.
-#
-# Results:
-# List of values.
-proc http::SplitCommaSeparatedFieldValue {fieldValue} {
- set r {}
- foreach el [split $fieldValue ,] {
- lappend r [string trim $el]
+ # 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]
}
- return $r
-}
-
-# http::GetFieldValue --
-# Return the value of a header field.
-#
-# Arguments:
-# headers Headers key-value list
-# fieldName Name of header field whose value to return.
-#
-# Results:
-# The value of the fieldName header field
-#
-# Field names are matched case-insensitively (RFC 7230 Section 3.2).
-#
-# If the field is present multiple times, it is assumed that the field is
-# defined as a comma-separated list and the values are combined (by separating
-# them with commas, see RFC 7230 Section 3.2.2) and returned at once.
-proc http::GetFieldValue {headers fieldName} {
- set r {}
- foreach {field value} $headers {
- if {[string equal -nocase $fieldName $field]} {
- if {$r eq {}} {
- set r $value
- } else {
- append r ", $value"
- }
- }
- }
- return $r
-}
-
-proc http::MakeTransformationChunked {chan command} {
- coroutine [namespace current]::dechunk$chan ::http::ReceiveChunked $chan $command
- chan event $chan readable [namespace current]::dechunk$chan
- return
-}
-
-interp alias {} http::data {} http::responseBody
-interp alias {} http::code {} http::responseLine
-interp alias {} http::mapReply {} http::quoteString
-interp alias {} http::meta {} http::responseHeaders
-interp alias {} http::metaValue {} http::responseHeaderValue
-interp alias {} http::ncode {} http::responseCode
-
-
-# ------------------------------------------------------------------------------
-# Proc http::socketAsCallback
-# ------------------------------------------------------------------------------
-# Command to use in place of ::socket as the value of ::tls::socketCmd.
-# This command does the same as http::AltSocket, and also handles https
-# connections through a proxy server.
-#
-# Notes.
-# - The proxy server works differently for https and http. This implementation
-# is for https. The proxy for http is implemented in http::CreateToken (in
-# code that was previously part of http::geturl).
-# - This code implicitly uses the tls options set for https in a call to
-# http::register, and does not need to call commands tls::*. This simple
-# implementation is possible because tls uses a callback to ::socket that can
-# be redirected by changing the value of ::tls::socketCmd.
-#
-# Arguments:
-# args - as for ::socket
-#
-# Return Value: a socket identifier
-# ------------------------------------------------------------------------------
-
-proc http::socketAsCallback {args} {
- variable http
-
- set targ [lsearch -exact $args -type]
- if {$targ != -1} {
- set token [lindex $args $targ+1]
- upvar 0 ${token} state
- set protoProxyConn $state(protoProxyConn)
- } else {
- set protoProxyConn 0
- }
-
- set host [lindex $args end-1]
- set port [lindex $args end]
- if { ($http(-proxyfilter) ne {})
- && (![catch {$http(-proxyfilter) $host} proxy])
- && $protoProxyConn
- } {
- set phost [lindex $proxy 0]
- set pport [lindex $proxy 1]
- } else {
- set phost {}
- set pport {}
- }
- if {$phost eq ""} {
- set sock [::http::AltSocket {*}$args]
- } else {
- set sock [::http::SecureProxyConnect {*}$args $phost $pport]
- }
- return $sock
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::SecureProxyConnect
-# ------------------------------------------------------------------------------
-# Command to open a socket through a proxy server to a remote server for use by
-# tls. The caller must perform the tls handshake.
-#
-# Notes
-# - Based on patch supplied by Melissa Chawla in ticket 1173760, and
-# Proxy-Authorization header cf. autoproxy by Pat Thoyts.
-# - Rewritten as a call to http::geturl, because response headers and body are
-# needed if the CONNECT request fails. CONNECT is implemented for this case
-# only, by state(bypass).
-# - FUTURE WORK: give http::geturl a -connect option for a general CONNECT.
-# - The request header Proxy-Connection is discouraged in RFC 7230 (June 2014),
-# RFC 9112 (June 2022).
-#
-# Arguments:
-# args - as for ::socket, ending in host, port; with proxy host, proxy
-# port appended.
-#
-# Return Value: a socket identifier
-# ------------------------------------------------------------------------------
-
-proc http::SecureProxyConnect {args} {
- variable http
- variable ConnectVar
- variable ConnectCounter
- variable failedProxyValues
- set varName ::http::ConnectVar([incr ConnectCounter])
-
- # Extract (non-proxy) target from args.
- set host [lindex $args end-3]
- set port [lindex $args end-2]
- set args [lreplace $args end-3 end-2]
-
- # Proxy server URL for connection.
- # This determines where the socket is opened.
- set phost [lindex $args end-1]
- set pport [lindex $args end]
- if {[string first : $phost] != -1} {
- # IPv6 address, wrap it in [] so we can append :pport
- set phost "\[${phost}\]"
- }
- set url http://${phost}:${pport}
- # Elements of args other than host and port are not used when
- # AsyncTransaction opens a socket. Those elements are -async and the
- # -type $tokenName for the https transaction. Option -async is used by
- # AsyncTransaction anyway, and -type $tokenName should not be
- # propagated: the proxy request adds its own -type value.
-
- set targ [lsearch -exact $args -type]
- if {$targ != -1} {
- # Record in the token that this is a proxy call.
- set token [lindex $args $targ+1]
- upvar 0 ${token} state
- set tim $state(-timeout)
- set state(proxyUsed) SecureProxyFailed
- # This value is overwritten with "SecureProxy" below if the CONNECT is
- # successful. If it is unsuccessful, the socket will be closed
- # below, and so in this unsuccessful case there are no other transactions
- # whose (proxyUsed) must be updated.
- } else {
- set tim 0
- }
- if {$tim == 0} {
- # Do not use infinite timeout for the proxy.
- set tim 30000
- }
-
- # Prepare and send a CONNECT request to the proxy, using
- # code similar to http::geturl.
- set requestHeaders [list Host $host]
- lappend requestHeaders Connection keep-alive
- if {$http(-proxyauth) != {}} {
- lappend requestHeaders Proxy-Authorization $http(-proxyauth)
- }
-
- set token2 [CreateToken $url -keepalive 0 -timeout $tim \
- -headers $requestHeaders -command [list http::AllDone $varName]]
- variable $token2
- upvar 0 $token2 state2
-
- # Kludges:
- # Setting this variable overrides the HTTP request line and also allows
- # -headers to override the Connection: header set by -keepalive.
- # The arguments "-keepalive 0" ensure that when Finish is called for an
- # unsuccessful request, the socket is always closed.
- set state2(bypass) "CONNECT $host:$port HTTP/1.1"
-
- AsyncTransaction $token2
-
- if {[info coroutine] ne {}} {
- # All callers in the http package are coroutines launched by
- # the event loop.
- # The cwait command requires a coroutine because it yields
- # to the caller; $varName is traced and the coroutine resumes
- # when the variable is written.
- cwait $varName
- } else {
- return -code error {code must run in a coroutine}
- # For testing with a non-coroutine caller outside the http package.
- # vwait $varName
- }
- unset $varName
-
- if { ($state2(state) ne "complete")
- || ($state2(status) ne "ok")
- || (![string is integer -strict $state2(responseCode)])
- } {
- set msg {the HTTP request to the proxy server did not return a valid\
- and complete response}
- if {[info exists state2(error)]} {
- append msg ": " [lindex $state2(error) 0]
- }
- cleanup $token2
- return -code error $msg
- }
-
- set code $state2(responseCode)
-
- if {($code >= 200) && ($code < 300)} {
- # All OK. The caller in package tls will now call "tls::import $sock".
- # The cleanup command does not close $sock.
- # Other tidying was done in http::Event.
-
- # If this is a persistent socket, any other transactions that are
- # already marked to use the socket will have their (proxyUsed) updated
- # when http::OpenSocket calls http::ConfigureNewSocket.
- set state(proxyUsed) SecureProxy
- set sock $state2(sock)
- cleanup $token2
- return $sock
- }
-
- if {$targ != -1} {
- # Non-OK HTTP status code; token is known because option -type
- # (cf. targ) was passed through tcltls, and so the useful
- # parts of the proxy's response can be copied to state(*).
- # Do not copy state2(sock).
- # Return the proxy response to the caller of geturl.
- foreach name $failedProxyValues {
- if {[info exists state2($name)]} {
- set state($name) $state2($name)
- }
- }
- set state(connection) close
- set msg "proxy connect failed: $code"
- # - This error message will be detected by http::OpenSocket and will
- # cause it to present the proxy's HTTP response as that of the
- # original $token transaction, identified only by state(proxyUsed)
- # as the response of the proxy.
- # - The cases where this would mislead the caller of http::geturl are
- # given a different value of msg (below) so that http::OpenSocket will
- # treat them as errors, but will preserve the $token array for
- # inspection by the caller.
- # - Status code 305 (Proxy Required) was deprecated for security reasons
- # in RFC 2616 (June 1999) and in any case should never be served by a
- # proxy.
- # - Other 3xx responses from the proxy are inappropriate, and should not
- # occur.
- # - A 401 response from the proxy is inappropriate, and should not
- # occur. It would be confusing if returned to the caller.
-
- if {($code >= 300) && ($code < 400)} {
- set msg "the proxy server responded to the HTTP request with an\
- inappropriate $code redirect"
- set loc [responseHeaderValue $token2 location]
- if {$loc ne {}} {
- append msg "to " $loc
- }
- } elseif {($code == 401)} {
- set msg "the proxy server responded to the HTTP request with an\
- inappropriate 401 request for target-host credentials"
- } else {
- }
- } else {
- set msg "connection to proxy failed with status code $code"
- }
-
- # - ${token2}(sock) has already been closed because -keepalive 0.
- # - Error return does not pass the socket ID to the
- # $token transaction, which retains its socket placeholder.
- cleanup $token2
- return -code error $msg
-}
-
-proc http::AllDone {varName args} {
- set $varName done
- return
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::AltSocket
-# ------------------------------------------------------------------------------
-# This command is a drop-in replacement for ::socket.
-# Arguments and return value as for ::socket.
-#
-# Notes.
-# - http::AltSocket is specified in place of ::socket by the definition of
-# urlTypes in the namespace header of this file (http.tcl).
-# - The command makes a simple call to ::socket unless the user has called
-# http::config to change the value of -threadlevel from the default value 0.
-# - For -threadlevel 1 or 2, if the Thread package is available, the command
-# waits in the event loop while the socket is opened in another thread. This
-# is a workaround for bug [824251] - it prevents http::geturl from blocking
-# the event loop if the DNS lookup or server connection is slow.
-# - FIXME Use a thread pool if connections are very frequent.
-# - FIXME The peer thread can transfer the socket only to the main interpreter
-# in the present thread. Therefore this code works only if this script runs
-# in the main interpreter. In a child interpreter, the parent must alias a
-# command to ::http::AltSocket in the child, run http::AltSocket in the
-# parent, and then transfer the socket to the child.
-# - The http::AltSocket command is simple, and can easily be replaced with an
-# alternative command that uses a different technique to open a socket while
-# entering the event loop.
-# - Unexpected behaviour by thread::send -async (Thread 2.8.6).
-# An error in thread::send -async causes return of just the error message
-# (not the expected 3 elements), and raises a bgerror in the main thread.
-# Hence wrap the command with catch as a precaution.
-# - Bug in Thread 2.8.8 - on Windows, read/write operations fail on a socket
-# moved from another thread by thread::transfer.
-# ------------------------------------------------------------------------------
-
-proc http::AltSocket {args} {
- variable ThreadVar
- variable ThreadCounter
- variable http
-
- LoadThreadIfNeeded
-
- set targ [lsearch -exact $args -type]
- if {$targ != -1} {
- set token [lindex $args $targ+1]
- set args [lreplace $args $targ $targ+1]
- upvar 0 $token state
+ set name ""
+ if {$f_name} {
+ set ndx [string first \0 $data $pos]
+ set name [string range $data $pos $ndx]
+ set pos [incr ndx]
}
- if {$http(usingThread) && [info exists state] && $state(protoSockThread)} {
- } else {
- # Use plain "::socket". This is the default.
- return [eval ::socket $args]
+ set comment ""
+ if {$f_comment} {
+ set ndx [string first \0 $data $pos]
+ set comment [string range $data $pos $ndx]
+ set pos [incr ndx]
}
- set defcmd ::socket
- set sockargs $args
- set script "
- set code \[catch {
- [list proc ::SockInThread {caller defcmd sockargs} [info body ::http::SockInThread]]
- [list ::SockInThread [thread::id] $defcmd $sockargs]
- } result opts\]
- list \$code \$opts \$result
- "
-
- set state(tid) [thread::create]
- set varName ::http::ThreadVar([incr ThreadCounter])
- thread::send -async $state(tid) $script $varName
- Log >T Thread Start Wait $args -- coro [info coroutine] $varName
- if {[info coroutine] ne {}} {
- # All callers in the http package are coroutines launched by
- # the event loop.
- # The cwait command requires a coroutine because it yields
- # to the caller; $varName is traced and the coroutine resumes
- # when the variable is written.
- cwait $varName
- } else {
- return -code error {code must run in a coroutine}
- # For testing with a non-coroutine caller outside the http package.
- # vwait $varName
- }
- Log >U Thread End Wait $args -- coro [info coroutine] $varName [set $varName]
- thread::release $state(tid)
- set state(tid) {}
- set result [set $varName]
- unset $varName
- if {(![string is list $result]) || ([llength $result] != 3)} {
- return -code error "result from peer thread is not a list of\
- length 3: it is \n$result"
- }
- lassign $result threadCode threadDict threadResult
- if {($threadCode != 0)} {
- # This is an error in thread::send. Return the lot.
- return -options $threadDict -code error $threadResult
+ set fcrc ""
+ if {$f_crc} {
+ set fcrc [string range $data $pos [incr pos]]
+ incr pos
}
- # Now the results of the catch in the peer thread.
- lassign $threadResult catchCode errdict sock
-
- if {($catchCode == 0) && ($sock ni [chan names])} {
- return -code error {Transfer of socket from peer thread failed.\
- Check that this script is not running in a child interpreter.}
+ 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 -options $errdict -code $catchCode $sock
-}
-
-# The commands below are dependencies of http::AltSocket and
-# http::SecureProxyConnect and are not used elsewhere.
-
-# ------------------------------------------------------------------------------
-# Proc http::LoadThreadIfNeeded
-# ------------------------------------------------------------------------------
-# Command to load the Thread package if it is needed. If it is needed and not
-# loadable, the outcome depends on $http(-threadlevel):
-# value 0 => Thread package not required, no problem
-# value 1 => operate as if -threadlevel 0
-# value 2 => error return
-#
-# The command assigns a value to http(usingThread), which records whether
-# command http::AltSocket can use a separate thread.
-#
-# Arguments: none
-# Return Value: none
-# ------------------------------------------------------------------------------
-
-proc http::LoadThreadIfNeeded {} {
- variable http
- if {$http(-threadlevel) == 0} {
- set http(usingThread) 0
- return
- }
- if {[catch {package require Thread}]} {
- if {$http(-threadlevel) == 2} {
- set msg {[http::config -threadlevel] has value 2,\
- but the Thread package is not available}
- return -code error $msg
- }
- set http(usingThread) 0
- return
- }
- set http(usingThread) 1
- return
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::SockInThread
-# ------------------------------------------------------------------------------
-# Command http::AltSocket is a ::socket replacement. It defines and runs this
-# command, http::SockInThread, in a peer thread.
-#
-# Arguments:
-# caller
-# defcmd
-# sockargs
-#
-# Return value: list of values that describe the outcome. The return is
-# intended to be a normal (non-error) return in all cases.
-# ------------------------------------------------------------------------------
-
-proc http::SockInThread {caller defcmd sockargs} {
- package require Thread
-
- set catchCode [catch {eval $defcmd $sockargs} sock errdict]
- if {$catchCode == 0} {
- set catchCode [catch {thread::transfer $caller $sock; set sock} sock errdict]
- }
- return [list $catchCode $errdict $sock]
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::cwaiter::cwait
-# ------------------------------------------------------------------------------
-# Command to substitute for vwait, without the ordering issues.
-# A command that uses cwait must be a coroutine that is launched by an event,
-# e.g. fileevent or after idle, and has no calling code to be resumed upon
-# "yield". It cannot return a value.
-#
-# Arguments:
-# varName - fully-qualified name of the variable that the calling script
-# will write to resume the coroutine. Any scalar variable or
-# array element is permitted.
-# coroName - (optional) name of the coroutine to be called when varName is
-# written - defaults to this coroutine
-# timeout - (optional) timeout value in ms
-# timeoutValue - (optional) value to assign to varName if there is a timeout
-#
-# Return Value: none
-# ------------------------------------------------------------------------------
-
-namespace eval http::cwaiter {
- namespace export cwait
- variable log {}
- variable logOn 0
-}
-
-proc http::cwaiter::cwait {
- varName {coroName {}} {timeout {}} {timeoutValue {}}
-} {
- set thisCoro [info coroutine]
- if {$thisCoro eq {}} {
- return -code error {cwait cannot be called outside a coroutine}
- }
- if {$coroName eq {}} {
- set coroName $thisCoro
- }
- if {[string range $varName 0 1] ne {::}} {
- return -code error {argument varName must be fully qualified}
- }
- if {$timeout eq {}} {
- set toe {}
- } elseif {[string is integer -strict $timeout] && ($timeout > 0)} {
- set toe [after $timeout [list set $varName $timeoutValue]]
- } else {
- return -code error {if timeout is supplied it must be a positive integer}
- }
-
- set cmd [list ::http::cwaiter::CwaitHelper $varName $coroName $toe]
- trace add variable $varName write $cmd
- CoLog "Yield $varName $coroName"
- yield
- CoLog "Resume $varName $coroName"
- return
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::cwaiter::CwaitHelper
-# ------------------------------------------------------------------------------
-# Helper command called by the trace set by cwait.
-# - Ignores the arguments added by trace.
-# - A simple call to $coroName works, and in error cases gives a suitable stack
-# trace, but because it is inside a trace the headline error message is
-# something like {can't set "::Result(6)": error}, not the actual
-# error. So let the trace command return.
-# - Remove the trace immediately. We don't want multiple calls.
-# ------------------------------------------------------------------------------
-
-proc http::cwaiter::CwaitHelper {varName coroName toe args} {
- CoLog "got $varName for $coroName"
- set cmd [list ::http::cwaiter::CwaitHelper $varName $coroName $toe]
- trace remove variable $varName write $cmd
- after cancel $toe
-
- after 0 $coroName
- return
-}
-
-
-# ------------------------------------------------------------------------------
-# Proc http::cwaiter::LogInit
-# ------------------------------------------------------------------------------
-# Call this command to initiate debug logging and clear the log.
-# ------------------------------------------------------------------------------
-
-proc http::cwaiter::LogInit {} {
- variable log
- variable logOn
- set log {}
- set logOn 1
- return
-}
-
-proc http::cwaiter::LogRead {} {
- variable log
- return $log
-}
-
-proc http::cwaiter::CoLog {msg} {
- variable log
- variable logOn
- if {$logOn} {
- append log $msg \n
- }
- return
-}
-
-namespace eval http {
- namespace import ::http::cwaiter::*
+ return $inflated
}
# Local variables:
diff --git a/library/http/pkgIndex.tcl b/library/http/pkgIndex.tcl
index 2428d53..be8b883 100644
--- a/library/http/pkgIndex.tcl
+++ b/library/http/pkgIndex.tcl
@@ -1,2 +1,4 @@
-if {![package vsatisfies [package provide Tcl] 8.6-]} {return}
-package ifneeded http 2.10b2 [list tclPkgSetup $dir http 2.10b2 {{http.tcl source {::http::config ::http::formatQuery ::http::geturl ::http::reset ::http::wait ::http::register ::http::unregister ::http::mapReply}}}]
+# Tcl package index file, version 1.1
+
+if {![package vsatisfies [package provide Tcl] 8.4]} {return}
+package ifneeded http 2.7.13 [list tclPkgSetup $dir http 2.7.13 {{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
new file mode 100644
index 0000000..8041ee4
--- /dev/null
+++ b/library/http1.0/http.tcl
@@ -0,0 +1,377 @@
+# http.tcl
+# Client-side HTTP for GET, POST, and HEAD commands.
+# These routines can be used in untrusted code that uses the Safesock
+# security policy.
+# These procedures use a callback interface to avoid using vwait,
+# which is not defined in the safe base.
+#
+# See the http.n man page for documentation
+
+package provide http 1.0
+
+array set http {
+ -accept */*
+ -proxyhost {}
+ -proxyport {}
+ -useragent {Tcl http client package 1.0}
+ -proxyfilter httpProxyRequired
+}
+proc http_config {args} {
+ global http
+ set options [lsort [array names http -*]]
+ set usage [join $options ", "]
+ if {[llength $args] == 0} {
+ set result {}
+ foreach name $options {
+ lappend result $name $http($name)
+ }
+ return $result
+ }
+ regsub -all -- - $options {} options
+ set pat ^-([join $options |])$
+ if {[llength $args] == 1} {
+ set flag [lindex $args 0]
+ if {[regexp -- $pat $flag]} {
+ return $http($flag)
+ } else {
+ return -code error "Unknown option $flag, must be: $usage"
+ }
+ } else {
+ foreach {flag value} $args {
+ if {[regexp -- $pat $flag]} {
+ set http($flag) $value
+ } else {
+ return -code error "Unknown option $flag, must be: $usage"
+ }
+ }
+ }
+}
+
+ proc httpFinish { token {errormsg ""} } {
+ upvar #0 $token state
+ global errorInfo errorCode
+ if {[string length $errormsg] != 0} {
+ set state(error) [list $errormsg $errorInfo $errorCode]
+ set state(status) error
+ }
+ catch {close $state(sock)}
+ catch {after cancel $state(after)}
+ if {[info exists state(-command)]} {
+ if {[catch {eval $state(-command) {$token}} err]} {
+ if {[string length $errormsg] == 0} {
+ set state(error) [list $err $errorInfo $errorCode]
+ set state(status) error
+ }
+ }
+ unset state(-command)
+ }
+}
+proc http_reset { token {why reset} } {
+ upvar #0 $token state
+ set state(status) $why
+ catch {fileevent $state(sock) readable {}}
+ httpFinish $token
+ if {[info exists state(error)]} {
+ set errorlist $state(error)
+ unset state(error)
+ eval error $errorlist
+ }
+}
+proc http_get { url args } {
+ global http
+ if {![info exists http(uid)]} {
+ set http(uid) 0
+ }
+ set token http#[incr http(uid)]
+ upvar #0 $token state
+ http_reset $token
+ array set state {
+ -blocksize 8192
+ -validate 0
+ -headers {}
+ -timeout 0
+ state header
+ meta {}
+ currentsize 0
+ totalsize 0
+ type text/html
+ body {}
+ status ""
+ }
+ set options {-blocksize -channel -command -handler -headers \
+ -progress -query -validate -timeout}
+ set usage [join $options ", "]
+ regsub -all -- - $options {} options
+ set pat ^-([join $options |])$
+ foreach {flag value} $args {
+ if {[regexp $pat $flag]} {
+ # Validate numbers
+ if {[info exists state($flag)] && \
+ [regexp {^[0-9]+$} $state($flag)] && \
+ ![regexp {^[0-9]+$} $value]} {
+ return -code error "Bad value for $flag ($value), must be integer"
+ }
+ set state($flag) $value
+ } else {
+ return -code error "Unknown option $flag, can be: $usage"
+ }
+ }
+ if {! [regexp -nocase {^(http://)?([^/:]+)(:([0-9]+))?(/.*)?$} $url \
+ x proto host y port srvurl]} {
+ error "Unsupported URL: $url"
+ }
+ if {[string length $port] == 0} {
+ set port 80
+ }
+ if {[string length $srvurl] == 0} {
+ set srvurl /
+ }
+ if {[string length $proto] == 0} {
+ set url http://$url
+ }
+ set state(url) $url
+ if {![catch {$http(-proxyfilter) $host} proxy]} {
+ set phost [lindex $proxy 0]
+ set pport [lindex $proxy 1]
+ }
+ if {$state(-timeout) > 0} {
+ set state(after) [after $state(-timeout) [list http_reset $token timeout]]
+ }
+ if {[info exists phost] && [string length $phost]} {
+ set srvurl $url
+ set s [socket $phost $pport]
+ } else {
+ set s [socket $host $port]
+ }
+ set state(sock) $s
+
+ # Send data in cr-lf format, but accept any line terminators
+
+ fconfigure $s -translation {auto crlf} -buffersize $state(-blocksize)
+
+ # The following is disallowed in safe interpreters, but the socket
+ # is already in non-blocking mode in that case.
+
+ catch {fconfigure $s -blocking off}
+ set len 0
+ set how GET
+ if {[info exists state(-query)]} {
+ set len [string length $state(-query)]
+ if {$len > 0} {
+ set how POST
+ }
+ } elseif {$state(-validate)} {
+ set how HEAD
+ }
+ puts $s "$how $srvurl HTTP/1.0"
+ puts $s "Accept: $http(-accept)"
+ puts $s "Host: $host"
+ puts $s "User-Agent: $http(-useragent)"
+ foreach {key value} $state(-headers) {
+ regsub -all \[\n\r\] $value {} value
+ set key [string trim $key]
+ if {[string length $key]} {
+ puts $s "$key: $value"
+ }
+ }
+ if {$len > 0} {
+ puts $s "Content-Length: $len"
+ puts $s "Content-Type: application/x-www-form-urlencoded"
+ puts $s ""
+ fconfigure $s -translation {auto binary}
+ puts -nonewline $s $state(-query)
+ } else {
+ puts $s ""
+ }
+ flush $s
+ fileevent $s readable [list httpEvent $token]
+ if {! [info exists state(-command)]} {
+ http_wait $token
+ }
+ return $token
+}
+proc http_data {token} {
+ upvar #0 $token state
+ return $state(body)
+}
+proc http_status {token} {
+ upvar #0 $token state
+ return $state(status)
+}
+proc http_code {token} {
+ upvar #0 $token state
+ return $state(http)
+}
+proc http_size {token} {
+ upvar #0 $token state
+ return $state(currentsize)
+}
+
+ proc httpEvent {token} {
+ upvar #0 $token state
+ set s $state(sock)
+
+ if {[eof $s]} {
+ httpEof $token
+ return
+ }
+ if {$state(state) == "header"} {
+ set n [gets $s line]
+ if {$n == 0} {
+ set state(state) body
+ if {![regexp -nocase ^text $state(type)]} {
+ # Turn off conversions for non-text data
+ fconfigure $s -translation binary
+ if {[info exists state(-channel)]} {
+ fconfigure $state(-channel) -translation binary
+ }
+ }
+ if {[info exists state(-channel)] &&
+ ![info exists state(-handler)]} {
+ # Initiate a sequence of background fcopies
+ fileevent $s readable {}
+ httpCopyStart $s $token
+ }
+ } elseif {$n > 0} {
+ if {[regexp -nocase {^content-type:(.+)$} $line x type]} {
+ set state(type) [string trim $type]
+ }
+ if {[regexp -nocase {^content-length:(.+)$} $line x length]} {
+ set state(totalsize) [string trim $length]
+ }
+ if {[regexp -nocase {^([^:]+):(.+)$} $line x key value]} {
+ lappend state(meta) $key $value
+ } elseif {[regexp ^HTTP $line]} {
+ set state(http) $line
+ }
+ }
+ } else {
+ if {[catch {
+ if {[info exists state(-handler)]} {
+ set n [eval $state(-handler) {$s $token}]
+ } else {
+ set block [read $s $state(-blocksize)]
+ set n [string length $block]
+ if {$n >= 0} {
+ append state(body) $block
+ }
+ }
+ if {$n >= 0} {
+ incr state(currentsize) $n
+ }
+ } err]} {
+ httpFinish $token $err
+ } else {
+ if {[info exists state(-progress)]} {
+ eval $state(-progress) {$token $state(totalsize) $state(currentsize)}
+ }
+ }
+ }
+}
+ proc httpCopyStart {s token} {
+ upvar #0 $token state
+ if {[catch {
+ fcopy $s $state(-channel) -size $state(-blocksize) -command \
+ [list httpCopyDone $token]
+ } err]} {
+ httpFinish $token $err
+ }
+}
+ proc httpCopyDone {token count {error {}}} {
+ upvar #0 $token state
+ set s $state(sock)
+ incr state(currentsize) $count
+ if {[info exists state(-progress)]} {
+ eval $state(-progress) {$token $state(totalsize) $state(currentsize)}
+ }
+ if {([string length $error] != 0)} {
+ httpFinish $token $error
+ } elseif {[eof $s]} {
+ httpEof $token
+ } else {
+ httpCopyStart $s $token
+ }
+}
+ proc httpEof {token} {
+ upvar #0 $token state
+ if {$state(state) == "header"} {
+ # Premature eof
+ set state(status) eof
+ } else {
+ set state(status) ok
+ }
+ set state(state) eof
+ httpFinish $token
+}
+proc http_wait {token} {
+ upvar #0 $token state
+ if {![info exists state(status)] || [string length $state(status)] == 0} {
+ vwait $token\(status)
+ }
+ if {[info exists state(error)]} {
+ set errorlist $state(error)
+ unset state(error)
+ eval error $errorlist
+ }
+ return $state(status)
+}
+
+# Call http_formatQuery with an even number of arguments, where the first is
+# a name, the second is a value, the third is another name, and so on.
+
+proc http_formatQuery {args} {
+ set result ""
+ set sep ""
+ foreach i $args {
+ append result $sep [httpMapReply $i]
+ if {$sep != "="} {
+ set sep =
+ } else {
+ set sep &
+ }
+ }
+ return $result
+}
+
+# do x-www-urlencoded character mapping
+# The spec says: "non-alphanumeric characters are replaced by '%HH'"
+# 1 leave alphanumerics characters alone
+# 2 Convert every other character to an array lookup
+# 3 Escape constructs that are "special" to the tcl parser
+# 4 "subst" the result, doing all the array substitutions
+
+ proc httpMapReply {string} {
+ global httpFormMap
+ set alphanumeric a-zA-Z0-9
+ if {![info exists httpFormMap]} {
+
+ for {set i 1} {$i <= 256} {incr i} {
+ set c [format %c $i]
+ if {![string match \[$alphanumeric\] $c]} {
+ set httpFormMap($c) %[format %.2x $i]
+ }
+ }
+ # These are handled specially
+ array set httpFormMap {
+ " " + \n %0d%0a
+ }
+ }
+ regsub -all \[^$alphanumeric\] $string {$httpFormMap(&)} string
+ regsub -all \n $string {\\n} string
+ regsub -all \t $string {\\t} string
+ regsub -all {[][{})\\]\)} $string {\\&} string
+ return [subst $string]
+}
+
+# Default proxy filter.
+ proc httpProxyRequired {host} {
+ global http
+ if {[info exists http(-proxyhost)] && [string length $http(-proxyhost)]} {
+ if {![info exists http(-proxyport)] || ![string length $http(-proxyport)]} {
+ set http(-proxyport) 8080
+ }
+ return [list $http(-proxyhost) $http(-proxyport)]
+ } else {
+ return {}
+ }
+}
diff --git a/library/http1.0/pkgIndex.tcl b/library/http1.0/pkgIndex.tcl
new file mode 100644
index 0000000..ab6170f
--- /dev/null
+++ b/library/http1.0/pkgIndex.tcl
@@ -0,0 +1,11 @@
+# Tcl package index file, version 1.0
+# This file is generated by the "pkg_mkIndex" command
+# and sourced either when an application starts up or
+# by a "package unknown" script. It invokes the
+# "package ifneeded" command to set up package-related
+# information so that packages will be loaded automatically
+# in response to "package require" commands. When this
+# script is sourced, the variable $dir must contain the
+# full path name of this file's directory.
+
+package ifneeded http 1.0 [list tclPkgSetup $dir http 1.0 {{http.tcl source {httpCopyDone httpCopyStart httpEof httpEvent httpFinish httpMapReply httpProxyRequired http_code http_config http_data http_formatQuery http_get http_reset http_size http_status http_wait}}}]
diff --git a/library/init.tcl b/library/init.tcl
index 09c3418..62729e6 100644
--- a/library/init.tcl
+++ b/library/init.tcl
@@ -3,19 +3,20 @@
# Default system startup file for Tcl-based applications. Defines
# "unknown" procedure and auto-load facilities.
#
-# Copyright © 1991-1993 The Regents of the University of California.
-# Copyright © 1994-1996 Sun Microsystems, Inc.
-# Copyright © 1998-1999 Scriptics Corporation.
-# Copyright © 2004 Kevin B. Kenny.
-# Copyright © 2018 Sean Woods
-#
-# All rights reserved.
+# Copyright (c) 1991-1993 The Regents of the University of California.
+# Copyright (c) 1994-1996 Sun Microsystems, Inc.
+# Copyright (c) 1998-1999 Scriptics Corporation.
+# Copyright (c) 2004 by Kevin B. Kenny. All rights reserved.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-package require -exact tcl 8.7b1
+# 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.18
# Compute the auto path to use in this interpreter.
# The values on the path come from several locations:
@@ -36,52 +37,121 @@ package require -exact tcl 8.7b1
# tcl_pkgPath, which is set by the platform-specific initialization routines
# On UNIX it is compiled in
# On Windows, it is not used
-#
-# (Ticket 41c9857bdd) In a safe interpreter, this file does not set
-# ::auto_path (other than to {} if it is undefined). The caller, typically
-# a Safe Base command, is responsible for setting ::auto_path.
if {![info exists auto_path]} {
- if {[info exists env(TCLLIBPATH)] && (![interp issafe])} {
+ if {[info exists env(TCLLIBPATH)]} {
set auto_path $env(TCLLIBPATH)
} else {
set auto_path ""
}
}
-
namespace eval tcl {
- if {![interp issafe]} {
- variable Dir
- foreach Dir [list $::tcl_library [file dirname $::tcl_library]] {
- if {$Dir ni $::auto_path} {
- lappend ::auto_path $Dir
- }
- }
- set Dir [file join [file dirname [file dirname \
- [info nameofexecutable]]] lib]
+ variable Dir
+ foreach Dir [list $::tcl_library [file dirname $::tcl_library]] {
if {$Dir ni $::auto_path} {
lappend ::auto_path $Dir
}
- if {[info exists ::tcl_pkgPath]} { catch {
- foreach Dir $::tcl_pkgPath {
- if {$Dir ni $::auto_path} {
- lappend ::auto_path $Dir
- }
+ }
+ set Dir [file join [file dirname [file dirname \
+ [info nameofexecutable]]] lib]
+ if {$Dir ni $::auto_path} {
+ lappend ::auto_path $Dir
+ }
+ catch {
+ foreach Dir $::tcl_pkgPath {
+ if {$Dir ni $::auto_path} {
+ lappend ::auto_path $Dir
}
- }}
+ }
+ }
- variable Path [encoding dirs]
- set Dir [file join $::tcl_library encoding]
- if {$Dir ni $Path} {
+ if {![interp issafe]} {
+ variable Path [encoding dirs]
+ set Dir [file join $::tcl_library encoding]
+ if {$Dir ni $Path} {
lappend Path $Dir
encoding dirs $Path
+ }
+ }
+
+ # TIP #255 min and max functions
+ namespace eval mathfunc {
+ proc min {args} {
+ if {![llength $args]} {
+ return -code error \
+ "too few arguments to math function \"min\""
+ }
+ set val Inf
+ foreach arg $args {
+ # This will handle forcing the numeric value without
+ # ruining the internal type of a numeric object
+ if {[catch {expr {double($arg)}} err]} {
+ return -code error $err
+ }
+ if {$arg < $val} {set val $arg}
+ }
+ return $val
+ }
+ proc max {args} {
+ if {![llength $args]} {
+ return -code error \
+ "too few arguments to math function \"max\""
+ }
+ set val -Inf
+ foreach arg $args {
+ # This will handle forcing the numeric value without
+ # ruining the internal type of a numeric object
+ if {[catch {expr {double($arg)}} err]} {
+ return -code error $err
+ }
+ if {$arg > $val} {set val $arg}
+ }
+ return $val
}
- unset Dir Path
+ namespace export min max
}
}
-namespace eval tcl::Pkg {}
-
+# Windows specific end of initialization
+
+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
+ }
+ proc InitWinEnv {} {
+ global env tcl_platform
+ foreach p [array names env] {
+ set u [string toupper $p]
+ if {$u ne $p} {
+ switch -- $u {
+ COMSPEC -
+ PATH {
+ set temp $env($p)
+ unset env($p)
+ set env($u) $temp
+ trace add variable env($p) write \
+ [namespace code [list EnvTraceProc $p]]
+ trace add variable env($u) write \
+ [namespace code [list EnvTraceProc $p]]
+ }
+ }
+ }
+ }
+ if {![info exists env(COMSPEC)]} {
+ if {$tcl_platform(os) eq "Windows NT"} {
+ set env(COMSPEC) cmd.exe
+ } else {
+ set env(COMSPEC) command.com
+ }
+ }
+ }
+ InitWinEnv
+ }
+}
# Setup the unknown package handler
@@ -103,20 +173,25 @@ if {[interp issafe]} {
namespace eval ::tcl::clock [list variable TclLibDir $::tcl_library]
- proc ::tcl::initClock {} {
+ proc clock args {
+ namespace eval ::tcl::clock [list namespace ensemble create -command \
+ [uplevel 1 [list namespace origin [lindex [info level 0] 0]]] \
+ -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
- source [file join $TclLibDir clock.tcl]
+ source -encoding utf-8 [file join $TclLibDir clock.tcl]
return [uplevel 1 [info level 0]]
}
}
- rename ::tcl::initClock {}
+ return [uplevel 1 [info level 0]]
}
- ::tcl::initClock
}
# Conditionalize for presence of exec.
@@ -129,7 +204,7 @@ if {[namespace which -command exec] eq ""} {
set auto_noexec 1
}
-# Define a log command (which can be overwritten to log errors
+# Define a log command (which can be overwitten to log errors
# differently, specially when stderr is not available)
if {[namespace which -command tclLog] eq ""} {
@@ -143,9 +218,11 @@ if {[namespace which -command tclLog] eq ""} {
# exist in the interpreter. It takes the following steps to make the
# command available:
#
-# 1. See if the autoload facility can locate the command in a
+# 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
# Tcl script file. If so, load it and execute it.
-# 2. If the command was invoked interactively at top-level:
+# 3. 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
@@ -162,14 +239,22 @@ proc unknown args {
variable ::tcl::UnknownPending
global auto_noexec auto_noload env tcl_interactive errorInfo errorCode
- if {[info exists errorInfo]} {
- set savedErrorInfo $errorInfo
- }
- if {[info exists errorCode]} {
- set savedErrorCode $errorCode
+ # If the command word has the form "namespace inscope ns cmd"
+ # then concatenate its arguments onto the end and evaluate it.
+
+ 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
}
- set name [lindex $args 0]
+ catch {set savedErrorInfo $errorInfo}
+ catch {set savedErrorCode $errorCode}
+ set name $cmd
if {![info exists auto_noload]} {
#
# Make sure we're not trying to load the same proc twice.
@@ -211,16 +296,21 @@ proc unknown args {
set errInfo [dict get $opts -errorinfo]
set errCode [dict get $opts -errorcode]
set cinfo $args
- if {[string length [encoding convertto utf-8 $cinfo]] > 150} {
+ if {[string bytelength $cinfo] > 150} {
set cinfo [string range $cinfo 0 150]
- while {[string length [encoding convertto utf-8 $cinfo]] > 150} {
+ while {[string bytelength $cinfo] > 150} {
set cinfo [string range $cinfo 0 end-1]
}
append cinfo ...
}
- set tail "\n (\"uplevel\" body line 1)\n invoked\
- from within\n\"uplevel 1 \$args\""
- set expect "$msg\n while executing\n\"$cinfo\"$tail"
+ append cinfo "\"\n (\"uplevel\" body line 1)"
+ append cinfo "\n invoked from within"
+ append cinfo "\n\"uplevel 1 \$args\""
+ #
+ # Try each possible form of the stack trace
+ # and trim the extra contribution from the matching case
+ #
+ set expect "$msg\n while executing\n\"$cinfo"
if {$errInfo eq $expect} {
#
# The stack has only the eval from the expanded command
@@ -234,32 +324,21 @@ proc unknown args {
# Stack trace is nested, trim off just the contribution
# from the extra "eval" of $args due to the "catch" above.
#
- set last [string last $tail $errInfo]
- if {$last + [string length $tail] != [string length $errInfo]} {
- # Very likely cannot happen
- return -options $opts $msg
- }
- set errInfo [string range $errInfo 0 $last-1]
- set tail "\"$cinfo\""
- set last [string last $tail $errInfo]
- if {$last < 0 || $last + [string length $tail] != [string length $errInfo]} {
- return -code error -errorcode $errCode \
- -errorinfo $errInfo $msg
- }
- set errInfo [string range $errInfo 0 $last-1]
- set tail "\n invoked from within\n"
- set last [string last $tail $errInfo]
- if {$last + [string length $tail] == [string length $errInfo]} {
- return -code error -errorcode $errCode \
- -errorinfo [string range $errInfo 0 $last-1] $msg
- }
- set tail "\n while executing\n"
- set last [string last $tail $errInfo]
- if {$last + [string length $tail] == [string length $errInfo]} {
- return -code error -errorcode $errCode \
- -errorinfo [string range $errInfo 0 $last-1] $msg
+ set expect "\n invoked from within\n\"$cinfo"
+ set exlen [string length $expect]
+ set eilen [string length $errInfo]
+ set i [expr {$eilen - $exlen - 1}]
+ set einfo [string range $errInfo 0 $i]
+ #
+ # For now verify that $errInfo consists of what we are about
+ # to return plus what we expected to trim off.
+ #
+ if {$errInfo ne "$einfo$expect"} {
+ error "Tcl bug: unexpected stack trace in \"unknown\"" {} \
+ [list CORE UNKNOWN BADTRACE $einfo $expect $errInfo]
}
- return -options $opts $msg
+ return -code error -errorcode $errCode \
+ -errorinfo $einfo $msg
} else {
dict incr opts -level
return -options $opts $msg
@@ -300,14 +379,14 @@ proc unknown args {
return -options $::tcl::UnknownOptions $::tcl::UnknownResult
}
- set ret [catch [list uplevel 1 [list info commands $name*]] candidates]
+ set ret [catch {set candidates [info commands $name*]} msg]
if {$name eq "::"} {
set name ""
}
if {$ret != 0} {
dict append opts -errorinfo \
"\n (expanding command prefix \"$name\" in unknown)"
- return -options $opts $candidates
+ return -options $opts $msg
}
# Filter out bogus matches when $name contained
# a glob-special char [Bug 946952]
@@ -333,8 +412,7 @@ proc unknown args {
return -code error "ambiguous command name \"$name\": [lsort $cmds]"
}
}
- return -code error -errorcode [list TCL LOOKUP COMMAND $name] \
- "invalid command name \"$name\""
+ return -code error "invalid command name \"$name\""
}
# auto_load --
@@ -352,20 +430,16 @@ proc unknown args {
proc auto_load {cmd {namespace {}}} {
global auto_index auto_path
- # qualify names:
if {$namespace eq ""} {
set namespace [uplevel 1 [list ::namespace current]]
}
set nameList [auto_qualify $cmd $namespace]
# workaround non canonical auto_index entries that might be around
# from older auto_mkindex versions
- if {$cmd ni $nameList} {lappend nameList $cmd}
-
- # try to load (and create sub-cmd handler "_sub_load_cmd" for further usage):
- foreach name $nameList [set _sub_load_cmd {
- # via auto_index:
+ lappend nameList $cmd
+ foreach name $nameList {
if {[info exists auto_index($name)]} {
- namespace inscope :: $auto_index($name)
+ namespace eval :: $auto_index($name)
# There's a couple of ways to look for a command of a given
# name. One is to use
# info commands $name
@@ -377,36 +451,23 @@ proc auto_load {cmd {namespace {}}} {
return 1
}
}
- }]
-
- # load auto_index if possible:
+ }
if {![info exists auto_path]} {
return 0
}
+
if {![auto_load_index]} {
return 0
}
-
- # try again (something new could be loaded):
- foreach name $nameList $_sub_load_cmd
-
- return 0
-}
-
-# ::tcl::Pkg::source --
-# This procedure provides an alternative "source" command, which doesn't
-# register the file for the "package files" command. Safe interpreters
-# don't have to do anything special.
-#
-# Arguments:
-# filename
-
-proc ::tcl::Pkg::source {filename} {
- if {[interp issafe]} {
- uplevel 1 [list ::source $filename]
- } else {
- uplevel 1 [list ::source -nopkg $filename]
+ foreach name $nameList {
+ if {[info exists auto_index($name)]} {
+ namespace eval :: $auto_index($name)
+ if {[namespace which -command $name] ne ""} {
+ return 1
+ }
+ }
}
+ return 0
}
# auto_load_index --
@@ -440,7 +501,6 @@ proc auto_load_index {} {
continue
} else {
set error [catch {
- fconfigure $f -encoding utf-8 -eofchar "\x1A {}"
set id [gets $f]
if {$id eq "# Tcl autoload index file, version 2.0"} {
eval [read $f]
@@ -452,7 +512,7 @@ proc auto_load_index {} {
}
set name [lindex $line 0]
set auto_index($name) \
- "::tcl::Pkg::source [file join $dir [lindex $line 1]]"
+ "source [file join $dir [lindex $line 1]]"
}
} else {
error "[file join $dir tclIndex] isn't a proper Tcl index file"
@@ -556,7 +616,7 @@ proc auto_import {pattern} {
foreach name [array names auto_index $pattern] {
if {([namespace which -command $name] eq "")
&& ([namespace qualifiers $pattern] eq [namespace qualifiers $name])} {
- namespace inscope :: $auto_index($name)
+ namespace eval :: $auto_index($name)
}
}
}
@@ -576,7 +636,7 @@ proc auto_import {pattern} {
if {$tcl_platform(platform) eq "windows"} {
# Windows version.
#
-# Note that file executable doesn't work under Windows, so we have to
+# Note that info executable doesn't work under Windows, so we have to
# look for files with .exe, .com, or .bat extensions. Also, the path
# may be in the Path or PATH environment variables, and path
# components are separated with semicolons, not colons as under Unix.
@@ -589,8 +649,8 @@ proc auto_execok name {
}
set auto_execs($name) ""
- set shellBuiltins [list assoc cls copy date del dir echo erase exit ftype \
- md mkdir mklink move rd ren rename rmdir start time type ver vol]
+ set shellBuiltins [list cls copy date del dir echo erase md mkdir \
+ mklink rd ren rename rmdir start time type ver vol]
if {[info exists env(PATHEXT)]} {
# Add an initial ; to have the {} extension check first.
set execExtensions [split ";$env(PATHEXT)" ";"]
@@ -619,14 +679,15 @@ proc auto_execok name {
return ""
}
- set path "[file dirname [info nameofexecutable]];.;"
- if {[info exists env(SystemRoot)]} {
- set windir $env(SystemRoot)
- } elseif {[info exists env(WINDIR)]} {
+ set path "[file dirname [info nameof]];.;"
+ if {[info exists env(WINDIR)]} {
set windir $env(WINDIR)
}
if {[info exists windir]} {
- append path "$windir/system32;$windir/system;$windir;"
+ if {$tcl_platform(os) eq "Windows NT"} {
+ append path "$windir/system32;"
+ }
+ append path "$windir/system;$windir;"
}
foreach var {PATH Path path} {
@@ -724,7 +785,7 @@ proc tcl::CopyDirectory {action src dest} {
# the following code is now commented out.
#
# return -code error "error $action \"$src\" to\
- # \"$dest\": file exists"
+ # \"$dest\": file already exists"
} else {
# Depending on the platform, and on the current
# working directory, the directories '.', '..'
@@ -736,12 +797,12 @@ proc tcl::CopyDirectory {action src dest} {
foreach s $existing {
if {[file tail $s] ni {. ..}} {
return -code error "error $action \"$src\" to\
- \"$dest\": file exists"
+ \"$dest\": file already exists"
}
}
}
} else {
- if {[string first $nsrc $ndest] >= 0} {
+ if {[string first $nsrc $ndest] != -1} {
set srclen [expr {[llength [file split $nsrc]] - 1}]
set ndest [lindex [file split $ndest] $srclen]
if {$ndest eq [file tail $nsrc]} {
diff --git a/library/install.tcl b/library/install.tcl
deleted file mode 100644
index 50e40df..0000000
--- a/library/install.tcl
+++ /dev/null
@@ -1,247 +0,0 @@
-###
-# Installer actions built into tclsh and invoked
-# if the first command line argument is "install"
-###
-if {[llength $argv] < 2} {
- exit 0
-}
-namespace eval ::practcl {}
-###
-# Installer tools
-###
-proc ::practcl::_isdirectory name {
- return [file isdirectory $name]
-}
-###
-# Return true if the pkgindex file contains
-# any statement other than "package ifneeded"
-# and/or if any package ifneeded loads a DLL
-###
-proc ::practcl::_pkgindex_directory {path} {
- set buffer {}
- set pkgidxfile [file join $path pkgIndex.tcl]
- if {![file exists $pkgidxfile]} {
- # No pkgIndex file, read the source
- foreach file [glob -nocomplain $path/*.tm] {
- set file [file normalize $file]
- set fname [file rootname [file tail $file]]
- ###
- # We used to be able to ... Assume the package is correct in the filename
- # No hunt for a "package provides"
- ###
- set package [lindex [split $fname -] 0]
- set version [lindex [split $fname -] 1]
- ###
- # Read the file, and override assumptions as needed
- ###
- set fin [open $file r]
- fconfigure $fin -encoding utf-8 -eofchar "\x1A {}"
- set dat [read $fin]
- close $fin
- # Look for a teapot style Package statement
- foreach line [split $dat \n] {
- set line [string trim $line]
- if { [string range $line 0 9] != "# Package " } continue
- set package [lindex $line 2]
- set version [lindex $line 3]
- break
- }
- # Look for a package provide statement
- foreach line [split $dat \n] {
- set line [string trim $line]
- if { [string range $line 0 14] != "package provide" } continue
- set package [lindex $line 2]
- set version [lindex $line 3]
- break
- }
- append buffer "package ifneeded $package $version \[list source \[file join \$dir [file tail $file]\]\]" \n
- }
- foreach file [glob -nocomplain $path/*.tcl] {
- if { [file tail $file] == "version_info.tcl" } continue
- set fin [open $file r]
- fconfigure $fin -encoding utf-8 -eofchar "\x1A {}"
- set dat [read $fin]
- close $fin
- if {![regexp "package provide" $dat]} continue
- set fname [file rootname [file tail $file]]
- # Look for a package provide statement
- foreach line [split $dat \n] {
- set line [string trim $line]
- if { [string range $line 0 14] != "package provide" } continue
- set package [lindex $line 2]
- set version [lindex $line 3]
- if {[string index $package 0] in "\$ \[ @"} continue
- if {[string index $version 0] in "\$ \[ @"} continue
- append buffer "package ifneeded $package $version \[list source \[file join \$dir [file tail $file]\]\]" \n
- break
- }
- }
- return $buffer
- }
- set fin [open $pkgidxfile r]
- fconfigure $fin -encoding utf-8 -eofchar "\x1A {}"
- set dat [read $fin]
- close $fin
- set trace 0
- #if {[file tail $path] eq "tool"} {
- # set trace 1
- #}
- set thisline {}
- foreach line [split $dat \n] {
- append thisline $line \n
- if {![info complete $thisline]} continue
- set line [string trim $line]
- if {[string length $line]==0} {
- set thisline {} ; continue
- }
- if {[string index $line 0] eq "#"} {
- set thisline {} ; continue
- }
- if {[regexp "if.*catch.*package.*Tcl.*return" $thisline]} {
- if {$trace} {puts "[file dirname $pkgidxfile] Ignoring $thisline"}
- set thisline {} ; continue
- }
- if {[regexp "if.*package.*vsatisfies.*package.*provide.*return" $thisline]} {
- if {$trace} { puts "[file dirname $pkgidxfile] Ignoring $thisline" }
- set thisline {} ; continue
- }
- if {![regexp "package.*ifneeded" $thisline]} {
- # This package index contains arbitrary code
- # source instead of trying to add it to the main
- # package index
- if {$trace} { puts "[file dirname $pkgidxfile] Arbitrary code $thisline" }
- return {source [file join $dir pkgIndex.tcl]}
- }
- append buffer $thisline \n
- set thisline {}
- }
- if {$trace} {puts [list [file dirname $pkgidxfile] $buffer]}
- return $buffer
-}
-
-
-proc ::practcl::_pkgindex_path_subdir {path} {
- set result {}
- foreach subpath [glob -nocomplain [file join $path *]] {
- if {[file isdirectory $subpath]} {
- lappend result $subpath {*}[_pkgindex_path_subdir $subpath]
- }
- }
- return $result
-}
-###
-# Index all paths given as though they will end up in the same
-# virtual file system
-###
-proc ::practcl::pkgindex_path args {
- set stack {}
- set buffer {
-lappend ::PATHSTACK $dir
- }
- foreach base $args {
- set base [file normalize $base]
- set paths {}
- foreach dir [glob -nocomplain [file join $base *]] {
- if {[file tail $dir] eq "teapot"} continue
- lappend paths $dir {*}[::practcl::_pkgindex_path_subdir $dir]
- }
- set i [string length $base]
- # Build a list of all of the paths
- if {[llength $paths]} {
- foreach path $paths {
- if {$path eq $base} continue
- set path_indexed($path) 0
- }
- } else {
- puts [list WARNING: NO PATHS FOUND IN $base]
- }
- set path_indexed($base) 1
- set path_indexed([file join $base boot tcl]) 1
- foreach teapath [glob -nocomplain [file join $base teapot *]] {
- set pkg [file tail $teapath]
- append buffer [list set pkg $pkg]
- append buffer {
-set pkginstall [file join $::g(HOME) teapot $pkg]
-if {![file exists $pkginstall]} {
- installDir [file join $dir teapot $pkg] $pkginstall
-}
-}
- }
- foreach path $paths {
- if {$path_indexed($path)} continue
- set thisdir [file_relative $base $path]
- set idxbuf [::practcl::_pkgindex_directory $path]
- if {[string length $idxbuf]} {
- incr path_indexed($path)
- append buffer "set dir \[set PKGDIR \[file join \[lindex \$::PATHSTACK end\] $thisdir\]\]" \n
- append buffer [string map {$dir $PKGDIR} [string trimright $idxbuf]] \n
- }
- }
- }
- append buffer {
-set dir [lindex $::PATHSTACK end]
-set ::PATHSTACK [lrange $::PATHSTACK 0 end-1]
-}
- return $buffer
-}
-
-###
-# topic: 64319f4600fb63c82b2258d908f9d066
-# description: Script to build the VFS file system
-###
-proc ::practcl::installDir {d1 d2} {
-
- puts [format {%*sCreating %s} [expr {4 * [info level]}] {} [file tail $d2]]
- file delete -force -- $d2
- file mkdir $d2
-
- foreach ftail [glob -directory $d1 -nocomplain -tails *] {
- set f [file join $d1 $ftail]
- if {[file isdirectory $f] && [string compare CVS $ftail]} {
- installDir $f [file join $d2 $ftail]
- } elseif {[file isfile $f]} {
- file copy -force $f [file join $d2 $ftail]
- if {$::tcl_platform(platform) eq {unix}} {
- file attributes [file join $d2 $ftail] -permissions 0o644
- } else {
- file attributes [file join $d2 $ftail] -readonly 1
- }
- }
- }
-
- if {$::tcl_platform(platform) eq {unix}} {
- file attributes $d2 -permissions 0o755
- } else {
- file attributes $d2 -readonly 1
- }
-}
-
-proc ::practcl::copyDir {d1 d2 {toplevel 1}} {
- #if {$toplevel} {
- # puts [list ::practcl::copyDir $d1 -> $d2]
- #}
- #file delete -force -- $d2
- file mkdir $d2
-
- foreach ftail [glob -directory $d1 -nocomplain -tails *] {
- set f [file join $d1 $ftail]
- if {[file isdirectory $f] && [string compare CVS $ftail]} {
- copyDir $f [file join $d2 $ftail] 0
- } elseif {[file isfile $f]} {
- file copy -force $f [file join $d2 $ftail]
- }
- }
-}
-
-switch [lindex $argv 1] {
- mkzip {
- zipfs mkzip {*}[lrange $argv 2 end]
- }
- mkzip {
- zipfs mkimg {*}[lrange $argv 2 end]
- }
- default {
- ::practcl::[lindex $argv 1] {*}[lrange $argv 2 end]
- }
-}
-exit 0
diff --git a/library/manifest.txt b/library/manifest.txt
deleted file mode 100644
index ab8bb15..0000000
--- a/library/manifest.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-###
-# Package manifest for all Tcl packages included in the /library file system
-###
-apply {{dir} {
- set isafe [interp issafe]
- foreach {safe package version file} {
- 0 http 2.10b2 {http http.tcl}
- 1 msgcat 1.7.1 {msgcat msgcat.tcl}
- 1 opt 0.4.9 {opt optparse.tcl}
- 0 cookiejar 0.2.0 {cookiejar cookiejar.tcl}
- 0 tcl::idna 1.0.1 {cookiejar idna.tcl}
- 0 platform 1.0.19 {platform platform.tcl}
- 0 platform::shell 1.1.4 {platform shell.tcl}
- 1 tcltest 2.5.8 {tcltest tcltest.tcl}
- } {
- if {$isafe && !$safe} continue
- package ifneeded $package $version [list source [file join $dir {*}$file]]
- }
-}} $dir
diff --git a/library/msgcat/msgcat.tcl b/library/msgcat/msgcat.tcl
index f6e5224..cf3b9d7 100644
--- a/library/msgcat/msgcat.tcl
+++ b/library/msgcat/msgcat.tcl
@@ -4,51 +4,35 @@
# message catalog facility for Tcl programs. It should be
# loaded with the command "package require msgcat".
#
-# Copyright © 2010-2018 Harald Oehlmann.
-# Copyright © 1998-2000 Ajuba Solutions.
-# Copyright © 1998 Mark Harrison.
+# Copyright (c) 1998-2000 by Ajuba Solutions.
+# Copyright (c) 1998 by Mark Harrison.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-# We use oo::define::self, which is new in Tcl 8.7
-package require Tcl 8.7-
+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.7.1
+package provide msgcat 1.5.2
namespace eval msgcat {
- namespace export mc mcn mcexists mcload mclocale mcmax\
- mcmset mcpreferences mcset\
- mcunknown mcflset mcflmset mcloadedlocales mcforgetpackage\
- mcpackagenamespaceget mcpackageconfig mcpackagelocale mcutil
+ namespace export mc mcload mclocale mcmax mcmset mcpreferences mcset \
+ mcunknown mcflset mcflmset
+
+ # Records the current locale as passed to mclocale
+ variable Locale ""
# Records the list of locales to search
variable Loclist {}
- # List of currently loaded locales
- variable LoadedLocales {}
-
# Records the locale of the currently sourced message catalogue file
variable FileLocale
- # Configuration values per Package (e.g. client namespace).
- # The dict key is of the form "<option> <namespace>" and the value is the
- # configuration option. A non-existing key is an unset option.
- variable PackageConfig [dict create mcfolder {} loadcmd {} changecmd {}\
- unknowncmd {} loadedlocales {} loclist {}]
-
# Records the mapping between source strings and translated strings. The
- # dict key is of the form "<namespace> <locale> <src>", where locale and
+ # dict key is of the form "<locale> <namespace> <src>", where locale and
# namespace should be themselves dict values and the value is
# the translated string.
variable Msgs [dict create]
-}
-
-# create ensemble namespace for mcutil command
-namespace eval msgcat::mcutil {
- namespace export getsystemlocale getpreferences
- namespace ensemble create -prefix 0
# Map of language codes used in Windows registry to those of ISO-639
if {[info sharedlibextension] eq ".dll"} {
@@ -187,10 +171,8 @@ namespace eval msgcat::mcutil {
# Find the translation for the given string based on the current
# locale setting. Check the local namespace first, then look in each
# parent namespace until the source is found. If additional args are
-# specified, use the format command to work them into the translated
+# specified, use the format command to work them into the traslated
# string.
-# If no catalog item is found, mcunknown is called in the caller frame
-# and its result is returned.
#
# Arguments:
# src The string to translate.
@@ -200,115 +182,31 @@ namespace eval msgcat::mcutil {
# Returns the translated string. Propagates errors thrown by the
# format command.
-proc msgcat::mc {args} {
- tailcall mcn [PackageNamespaceGet] {*}$args
-}
-
-# msgcat::mcn --
-#
-# Find the translation for the given string based on the current
-# locale setting. Check the passed namespace first, then look in each
-# parent namespace until the source is found. If additional args are
-# specified, use the format command to work them into the translated
-# string.
-#
-# If no catalog item is found, mcunknown is called in the caller frame
-# and its result is returned.
-#
-# Arguments:
-# ns Package namespace of the translation
-# src The string to translate.
-# args Args to pass to the format command
-#
-# Results:
-# Returns the translated string. Propagates errors thrown by the
-# format command.
-
-proc msgcat::mcn {ns src args} {
-
+proc msgcat::mc {src args} {
# Check for the src in each namespace starting from the local and
# ending in the global.
variable Msgs
variable Loclist
+ variable Locale
- set loclist [PackagePreferences $ns]
-
- set nscur $ns
- while {$nscur != ""} {
- foreach loc $loclist {
- if {[dict exists $Msgs $nscur $loc $src]} {
- return [DefaultUnknown "" [dict get $Msgs $nscur $loc $src]\
- {*}$args]
- }
- }
- set nscur [namespace parent $nscur]
- }
- # call package local or default unknown command
- set args [linsert $args 0 [lindex $loclist 0] $src]
- switch -exact -- [Invoke unknowncmd $args $ns result 1] {
- 0 { tailcall mcunknown {*}$args }
- 1 { return [DefaultUnknown {*}$args] }
- default { return $result }
- }
-}
-
-# msgcat::mcexists --
-#
-# Check if a catalog item is set or if mc would invoke mcunknown.
-#
-# Arguments:
-# -exactnamespace Only check the exact namespace and no
-# parent namespaces
-# -exactlocale Only check the exact locale and not all members
-# of the preferences list
-# src Message catalog key
-#
-# Results:
-# true if an adequate catalog key was found
-
-proc msgcat::mcexists {args} {
-
- variable Msgs
- variable Loclist
- variable PackageConfig
+ set ns [uplevel 1 [list ::namespace current]]
- while {[llength $args] != 1} {
- set args [lassign $args option]
- switch -glob -- $option {
- -exactnamespace - -exactlocale { set $option 1 }
- -namespace {
- if {[llength $args] < 2} {
- return -code error\
- "Argument missing for switch \"-namespace\""
+ while {$ns != ""} {
+ foreach loc $Loclist {
+ if {[dict exists $Msgs $loc $ns $src]} {
+ if {[llength $args] == 0} {
+ return [dict get $Msgs $loc $ns $src]
+ } else {
+ return [format [dict get $Msgs $loc $ns $src] {*}$args]
}
- set args [lassign $args ns]
- }
- -* { return -code error "unknown option \"$option\"" }
- default {
- return -code error "wrong # args: should be\
- \"[lindex [info level 0] 0] ?-exactnamespace?\
- ?-exactlocale? ?-namespace ns? src\""
- }
- }
- }
- set src [lindex $args 0]
-
- if {![info exists ns]} { set ns [PackageNamespaceGet] }
-
- set loclist [PackagePreferences $ns]
- if {[info exists -exactlocale]} { set loclist [lrange $loclist 0 0] }
-
- while {$ns ne ""} {
- foreach loc $loclist {
- if {[dict exists $Msgs $ns $loc $src]} {
- return 1
}
}
- if {[info exists -exactnamespace]} {return 0}
set ns [namespace parent $ns]
}
- return 0
+ # we have not found the translation
+ return [uplevel 1 [list [namespace origin mcunknown] \
+ $Locale $src {*}$args]]
}
# msgcat::mclocale --
@@ -321,11 +219,11 @@ proc msgcat::mcexists {args} {
# separated by underscores (e.g. en_US).
#
# Results:
-# Returns the normalized set locale.
+# Returns the current locale.
proc msgcat::mclocale {args} {
variable Loclist
- variable LoadedLocales
+ variable Locale
set len [llength $args]
if {$len > 1} {
@@ -334,46 +232,24 @@ proc msgcat::mclocale {args} {
}
if {$len == 1} {
- set newLocale [string tolower [lindex $args 0]]
+ set newLocale [lindex $args 0]
if {$newLocale ne [file tail $newLocale]} {
return -code error "invalid newLocale value \"$newLocale\":\
could be path to unsafe code."
}
- mcpreferences {*}[mcutil getpreferences $newLocale]
- }
- return [lindex $Loclist 0]
-}
-
-# msgcat::mcutil::getpreferences --
-#
-# Get list of locales from a locale.
-# The first element is always the lowercase locale.
-# Other elements have one component separated by "_" less.
-# Multiple "_" are seen as one separator: de__ch_spec de__ch de {}
-#
-# This method is part of the ensemble mcutil
-#
-# Arguments:
-# Locale.
-#
-# Results:
-# Locale list
-
-proc msgcat::mcutil::getpreferences {locale} {
- set locale [string tolower $locale]
- set result [list {}]
- set el {}
- foreach e [split $locale _] {
- if {$el eq {}} {
- set el ${e}
- } else {
- set el ${el}_${e}
- }
- if {[string index $el end] != {_}} {
- set result [linsert $result 0 $el]
+ set Locale [string tolower $newLocale]
+ set Loclist {}
+ set word ""
+ foreach part [split $Locale _] {
+ set word [string trim "${word}_${part}" _]
+ if {$word ne [lindex $Loclist 0]} {
+ set Loclist [linsert $Loclist 0 $word]
+ }
}
+ lappend Loclist {}
+ set Locale [lindex $Loclist 0]
}
- return $result
+ return $Locale
}
# msgcat::mcpreferences --
@@ -382,475 +258,16 @@ proc msgcat::mcutil::getpreferences {locale} {
# most preferred to least preferred.
#
# Arguments:
-# New location list
+# None.
#
# Results:
# Returns an ordered list of the locales preferred by the user.
-proc msgcat::mcpreferences {args} {
+proc msgcat::mcpreferences {} {
variable Loclist
-
- if {[llength $args] > 0} {
- # args is the new loclist
- if {![ListEqualString $args $Loclist]} {
- set Loclist $args
-
- # locale not loaded jet
- LoadAll $Loclist
- # Invoke callback
- Invoke changecmd $Loclist
- }
- }
return $Loclist
}
-# msgcat::ListStringEqual --
-#
-# Compare two strings for equal string contents
-#
-# Arguments:
-# list1 first list
-# list2 second list
-#
-# Results:
-# 1 if lists of strings are identical, 0 otherwise
-
-proc msgcat::ListEqualString {list1 list2} {
- if {[llength $list1] != [llength $list2]} {
- return 0
- }
- foreach item1 $list1 item2 $list2 {
- if {$item1 ne $item2} {
- return 0
- }
- }
- return 1
-}
-
-# msgcat::mcloadedlocales --
-#
-# Get or change the list of currently loaded default locales
-#
-# The following subcommands are available:
-# loaded
-# Get the current list of loaded locales
-# clear
-# Remove all loaded locales not present in mcpreferences.
-#
-# Arguments:
-# subcommand One of loaded or clear
-#
-# Results:
-# Empty string, if not stated differently for the subcommand
-
-proc msgcat::mcloadedlocales {subcommand} {
- variable Loclist
- variable LoadedLocales
- variable Msgs
- variable PackageConfig
- switch -exact -- $subcommand {
- clear {
- # Remove all locales not contained in Loclist
- # skip any packages with package locale
- set LoadedLocales $Loclist
- foreach ns [dict keys $Msgs] {
- if {![dict exists $PackageConfig loclist $ns]} {
- foreach locale [dict keys [dict get $Msgs $ns]] {
- if {$locale ni $Loclist} {
- dict unset Msgs $ns $locale
- }
- }
- }
- }
- }
- loaded { return $LoadedLocales }
- default {
- return -code error "unknown subcommand \"$subcommand\": must be\
- clear, or loaded"
- }
- }
- return
-}
-
-# msgcat::mcpackagelocale --
-#
-# Get or change the package locale of the calling package.
-#
-# The following subcommands are available:
-# set
-# Set a package locale.
-# This may load message catalog files and may clear message catalog
-# items, if the former locale was the default locale.
-# Returns the normalized set locale.
-# The default locale is taken, if locale is not given.
-# get
-# Get the locale valid for this package.
-# isset
-# Returns true, if a package locale is set
-# unset
-# Unset the package locale and activate the default locale.
-# This loads message catalog file which where missing in the package
-# locale.
-# preferences
-# Return locale preference list valid for the package.
-# loaded
-# Return loaded locale list valid for the current package.
-# clear
-# If the current package has a package locale, remove all package
-# locales not containes in package mcpreferences.
-# It is an error to call this without a package locale set.
-#
-# The subcommands get, preferences and loaded return the corresponding
-# default data, if no package locale is set.
-#
-# Arguments:
-# subcommand see list above
-# locale package locale (only set subcommand)
-#
-# Results:
-# Empty string, if not stated differently for the subcommand
-
-proc msgcat::mcpackagelocale {subcommand args} {
- # todo: implement using an ensemble
- variable Loclist
- variable LoadedLocales
- variable Msgs
- variable PackageConfig
- # Check option
- # check if required item is exactly provided
- if { [llength $args] > 0
- && $subcommand in {"get" "isset" "unset" "loaded" "clear"} } {
- return -code error "wrong # args: should be\
- \"[lrange [info level 0] 0 1]\""
- }
- set ns [PackageNamespaceGet]
-
- switch -exact -- $subcommand {
- get { return [lindex [PackagePreferences $ns] 0] }
- loaded { return [PackageLocales $ns] }
- present {
- if {[llength $args] != 1} {
- return -code error "wrong # args: should be\
- \"[lrange [info level 0] 0 1] locale\""
- }
- return [expr {[string tolower [lindex $args 0]]
- in [PackageLocales $ns]} ]
- }
- isset { return [dict exists $PackageConfig loclist $ns] }
- set - preferences {
- # set a package locale or add a package locale
- set fSet [expr {$subcommand eq "set"}]
-
- # Check parameter
- if {$fSet && 1 < [llength $args] } {
- return -code error "wrong # args: should be\
- \"[lrange [info level 0] 0 1] ?locale?\""
- }
-
- # > Return preferences if no parameter
- if {!$fSet && 0 == [llength $args] } {
- return [PackagePreferences $ns]
- }
-
- # Copy the default locale if no package locale set so far
- if {![dict exists $PackageConfig loclist $ns]} {
- dict set PackageConfig loclist $ns $Loclist
- dict set PackageConfig loadedlocales $ns $LoadedLocales
- }
-
- # No argument for set: return current package locale
- # The difference to no argument and subcommand "preferences" is,
- # that "preferences" does not set the package locale property.
- # This case is processed above, so no check for fSet here
- if { 0 == [llength $args] } {
- return [lindex [dict get $PackageConfig loclist $ns] 0]
- }
-
- # Get new loclist
- if {$fSet} {
- set loclist [mcutil getpreferences [lindex $args 0]]
- } else {
- set loclist $args
- }
-
- # Check if not changed to return imediately
- if { [ListEqualString $loclist\
- [dict get $PackageConfig loclist $ns]] } {
- if {$fSet} {
- return [lindex $loclist 0]
- }
- return $loclist
- }
-
- # Change loclist
- dict set PackageConfig loclist $ns $loclist
-
- # load eventual missing locales
- set loadedLocales [dict get $PackageConfig loadedlocales $ns]
- set loadLocales [ListComplement $loadedLocales $loclist]
- dict set PackageConfig loadedlocales $ns\
- [concat $loadedLocales $loadLocales]
- Load $ns $loadLocales
- if {$fSet} {
- return [lindex $loclist 0]
- }
- return $loclist
- }
- clear { # Remove all locales not contained in Loclist
- if {![dict exists $PackageConfig loclist $ns]} {
- return -code error "clear only when package locale set"
- }
- set loclist [dict get $PackageConfig loclist $ns]
- dict set PackageConfig loadedlocales $ns $loclist
- if {[dict exists $Msgs $ns]} {
- foreach locale [dict keys [dict get $Msgs $ns]] {
- if {$locale ni $loclist} {
- dict unset Msgs $ns $locale
- }
- }
- }
- }
- unset { # unset package locale and restore default locales
-
- if { ![dict exists $PackageConfig loclist $ns] } { return }
-
- # unset package locale
- set loadLocales [ListComplement\
- [dict get $PackageConfig loadedlocales $ns] $LoadedLocales]
- dict unset PackageConfig loadedlocales $ns
- dict unset PackageConfig loclist $ns
-
- # unset keys not in global loaded locales
- if {[dict exists $Msgs $ns]} {
- foreach locale [dict keys [dict get $Msgs $ns]] {
- if {$locale ni $LoadedLocales} {
- dict unset Msgs $ns $locale
- }
- }
- }
-
- # Add missing locales
- Load $ns $loadLocales
- }
- default {
- return -code error "unknown subcommand \"$subcommand\": must be\
- clear, get, isset, loaded, present, set, or unset"
- }
- }
- return
-}
-
-# msgcat::mcforgetpackage --
-#
-# Remove any data of the calling package from msgcat
-#
-
-proc msgcat::mcforgetpackage {} {
- # todo: this may be implemented using an ensemble
- variable PackageConfig
- variable Msgs
- set ns [PackageNamespaceGet]
- # Remove MC items
- dict unset Msgs $ns
- # Remove config items
- foreach key [dict keys $PackageConfig] {
- dict unset PackageConfig $key $ns
- }
- return
-}
-
-# msgcat::mcgetmynamespace --
-#
-# Return the package namespace of the caller
-# This consideres to be called from a class or object.
-
-proc msgcat::mcpackagenamespaceget {} {
- return [PackageNamespaceGet]
-}
-
-# msgcat::mcpackageconfig --
-#
-# Get or modify the per caller namespace (e.g. packages) config options.
-#
-# Available subcommands are:
-#
-# get get the current value or an error if not set.
-# isset return true, if the option is set
-# set set the value (see also distinct option).
-# Returns the number of loaded message files.
-# unset Clear option. return "".
-#
-# Available options are:
-#
-# mcfolder
-# The message catalog folder of the package.
-# This is automatically set by mcload.
-# If the value is changed using the set subcommand, an eventual
-# loadcmd is invoked and all message files of the package locale are
-# loaded.
-#
-# loadcmd
-# The command gets executed before a message file would be
-# sourced for this module.
-# The command is invoked with the expanded locale list to load.
-# The command is not invoked if the registering package namespace
-# is not present.
-# This callback might also be used as an alternative to message
-# files.
-# If the value is changed using the set subcommand, the callback is
-# directly invoked with the current file locale list. No file load is
-# executed.
-#
-# changecmd
-# The command is invoked, after an executed locale change.
-# Appended argument is expanded mcpreferences.
-#
-# unknowncmd
-# Use a package locale mcunknown procedure instead the global one.
-# The appended arguments are identical to mcunknown.
-# A default unknown handler is used if set to the empty string.
-# This consists in returning the key if no arguments are given.
-# With given arguments, format is used to process the arguments.
-#
-# Arguments:
-# subcommand Operation on the package
-# option The package option to get or set.
-# ?value? Eventual value for the subcommand
-#
-# Results:
-# Depends on the subcommand and option and is described there
-
-proc msgcat::mcpackageconfig {subcommand option {value ""}} {
- variable PackageConfig
- # get namespace
- set ns [PackageNamespaceGet]
-
- if {$option ni {"mcfolder" "loadcmd" "changecmd" "unknowncmd"}} {
- return -code error "bad option \"$option\": must be mcfolder, loadcmd,\
- changecmd, or unknowncmd"
- }
-
- # check if value argument is exactly provided
- if {[llength [info level 0]] == 4 } {
- # value provided
- if {$subcommand in {"get" "isset" "unset"}} {
- return -code error "wrong # args: should be\
- \"[lrange [info level 0] 0 2] value\""
- }
- } elseif {$subcommand eq "set"} {
- return -code error\
- "wrong # args: should be \"[lrange [info level 0] 0 2]\""
- }
-
- # Execute subcommands
- switch -exact -- $subcommand {
- get { # Operation get return current value
- if {![dict exists $PackageConfig $option $ns]} {
- return -code error "package option \"$option\" not set"
- }
- return [dict get $PackageConfig $option $ns]
- }
- isset { return [dict exists $PackageConfig $option $ns] }
- unset { dict unset PackageConfig $option $ns }
- set { # Set option
-
- if {$option eq "mcfolder"} {
- set value [file normalize $value]
- }
- # Check if changed
- if { [dict exists $PackageConfig $option $ns]
- && $value eq [dict get $PackageConfig $option $ns] } {
- return 0
- }
-
- # set new value
- dict set PackageConfig $option $ns $value
-
- # Reload pending message catalogs
- switch -exact -- $option {
- mcfolder { return [Load $ns [PackageLocales $ns]] }
- loadcmd { return [Load $ns [PackageLocales $ns] 1] }
- }
- return 0
- }
- default {
- return -code error "unknown subcommand \"$subcommand\":\
- must be get, isset, set, or unset"
- }
- }
- return
-}
-
-# msgcat::PackagePreferences --
-#
-# Return eventual present package preferences or the default list if not
-# present.
-#
-# Arguments:
-# ns Package namespace
-#
-# Results:
-# locale list
-
-proc msgcat::PackagePreferences {ns} {
- variable PackageConfig
- if {[dict exists $PackageConfig loclist $ns]} {
- return [dict get $PackageConfig loclist $ns]
- }
- variable Loclist
- return $Loclist
-}
-
-# msgcat::PackageLocales --
-#
-# Return eventual present package locales or the default list if not
-# present.
-#
-# Arguments:
-# ns Package namespace
-#
-# Results:
-# locale list
-
-proc msgcat::PackageLocales {ns} {
- variable PackageConfig
- if {[dict exists $PackageConfig loadedlocales $ns]} {
- return [dict get $PackageConfig loadedlocales $ns]
- }
- variable LoadedLocales
- return $LoadedLocales
-}
-
-# msgcat::ListComplement --
-#
-# Build the complement of two lists.
-# Return a list with all elements in list2 but not in list1.
-# Optionally return the intersection.
-#
-# Arguments:
-# list1 excluded list
-# list2 included list
-# inlistname If not "", write in this variable the intersection list
-#
-# Results:
-# list with all elements in list2 but not in list1
-
-proc msgcat::ListComplement {list1 list2 {inlistname ""}} {
- if {"" ne $inlistname} {
- upvar 1 $inlistname inlist
- }
- set inlist {}
- set outlist {}
- foreach item $list2 {
- if {$item in $list1} {
- lappend inlist $item
- } else {
- lappend outlist $item
- }
- }
- return $outlist
-}
-
# msgcat::mcload --
#
# Attempt to load message catalogs for each locale in the
@@ -863,87 +280,24 @@ proc msgcat::ListComplement {list1 list2 {inlistname ""}} {
# Returns the number of message catalogs that were loaded.
proc msgcat::mcload {langdir} {
- tailcall mcpackageconfig set mcfolder $langdir
-}
-
-# msgcat::LoadAll --
-#
-# Load a list of locales for all packages not having a package locale
-# list.
-#
-# Arguments:
-# langdir The directory to search.
-#
-# Results:
-# Returns the number of message catalogs that were loaded.
-
-proc msgcat::LoadAll {locales} {
- variable PackageConfig
- variable LoadedLocales
- if {0 == [llength $locales]} { return {} }
- # filter jet unloaded locales
- set locales [ListComplement $LoadedLocales $locales]
- if {0 == [llength $locales]} { return {} }
- lappend LoadedLocales {*}$locales
-
- set packages [lsort -unique [concat\
- [dict keys [dict get $PackageConfig loadcmd]]\
- [dict keys [dict get $PackageConfig mcfolder]]]]
- foreach ns $packages {
- if {! [dict exists $PackageConfig loclist $ns] } {
- Load $ns $locales
- }
- }
- return $locales
-}
-
-# msgcat::Load --
-#
-# Invoke message load callback and load message catalog files.
-#
-# Arguments:
-# ns Namespace (equal package) to load the message catalog.
-# locales List of locales to load.
-# callbackonly true if only callback should be invoked
-#
-# Results:
-# Returns the number of message catalogs that were loaded.
-
-proc msgcat::Load {ns locales {callbackonly 0}} {
variable FileLocale
- variable PackageConfig
- variable LoadedLocals
-
- if {0 == [llength $locales]} { return 0 }
-
- # Invoke callback
- Invoke loadcmd $locales $ns
-
- if {$callbackonly || ![dict exists $PackageConfig mcfolder $ns]} {
- return 0
- }
-
- # Invoke file load
- set langdir [dict get $PackageConfig mcfolder $ns]
-
# Save the file locale if we are recursively called
if {[info exists FileLocale]} {
set nestedFileLocale $FileLocale
}
set x 0
- foreach p $locales {
+ foreach p [mcpreferences] {
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]]]
+ set FileLocale [string tolower [file tail [file rootname $langfile]]]
if {"root" eq $FileLocale} {
set FileLocale ""
}
- namespace inscope $ns [list ::source -encoding utf-8 $langfile]
+ uplevel 1 [list ::source -encoding utf-8 $langfile]
unset FileLocale
}
}
@@ -953,63 +307,6 @@ proc msgcat::Load {ns locales {callbackonly 0}} {
return $x
}
-# msgcat::Invoke --
-#
-# Invoke a set of registered callbacks.
-# The callback is only invoked, if its registered namespace exists.
-#
-# Arguments:
-# index Index into PackageConfig to get callback command
-# arglist parameters to the callback invocation
-# ns (Optional) package to call.
-# If not given or empty, check all registered packages.
-# resultname Variable to save the callback result of the last called
-# callback to. May be set to "" to discard the result.
-# failerror (0) Fail on error if true. Otherwise call bgerror.
-#
-# Results:
-# Possible values:
-# - 0: no valid command registered
-# - 1: registered command was the empty string
-# - 2: registered command called, resultname is set
-# - 3: registered command failed
-# If multiple commands are called, the maximum of all results is returned.
-
-proc msgcat::Invoke {index arglist {ns ""} {resultname ""} {failerror 0}} {
- variable PackageConfig
- variable Config
- if {"" ne $resultname} {
- upvar 1 $resultname result
- }
- if {"" eq $ns} {
- set packageList [dict keys [dict get $PackageConfig $index]]
- } else {
- set packageList [list $ns]
- }
- set ret 0
- foreach ns $packageList {
- if {[dict exists $PackageConfig $index $ns] && [namespace exists $ns]} {
- set cmd [dict get $PackageConfig $index $ns]
- if {"" eq $cmd} {
- if {$ret == 0} {set ret 1}
- } else {
- if {$failerror} {
- set result [namespace inscope $ns $cmd {*}$arglist]
- set ret 2
- } elseif {1 == [catch {
- set result [namespace inscope $ns $cmd {*}$arglist]
- if {$ret < 2} {set ret 2}
- } err derr]} {
- after idle [concat [::interp bgerror ""]\
- [list $err $derr]]
- set ret 3
- }
- }
- }
- }
- return $ret
-}
-
# msgcat::mcset --
#
# Set the translation for a given string in a specified locale.
@@ -1029,11 +326,11 @@ proc msgcat::mcset {locale src {dest ""}} {
set dest $src
}
- set ns [PackageNamespaceGet]
+ set ns [uplevel 1 [list ::namespace current]]
set locale [string tolower $locale]
- dict set Msgs $ns $locale $src $dest
+ dict set Msgs $locale $ns $src $dest
return $dest
}
@@ -1054,10 +351,16 @@ proc msgcat::mcflset {src {dest ""}} {
variable Msgs
if {![info exists FileLocale]} {
- return -code error "must only be used inside a message catalog loaded\
- with ::msgcat::mcload"
+ return -code error \
+ "must only be used inside a message catalog loaded with ::msgcat::mcload"
+ }
+ if {[llength [info level 0]] == 2} { ;# dest not specified
+ set dest $src
}
- tailcall mcset $FileLocale $src $dest
+
+ set ns [uplevel 1 [list ::namespace current]]
+ dict set Msgs $FileLocale $ns $src $dest
+ return $dest
}
# msgcat::mcmset --
@@ -1077,14 +380,14 @@ proc msgcat::mcmset {locale pairs} {
set length [llength $pairs]
if {$length % 2} {
return -code error "bad translation list:\
- should be \"[lindex [info level 0] 0] locale {src dest ...}\""
+ should be \"[lindex [info level 0] 0] locale {src dest ...}\""
}
set locale [string tolower $locale]
- set ns [PackageNamespaceGet]
+ set ns [uplevel 1 [list ::namespace current]]
foreach {src dest} $pairs {
- dict set Msgs $ns $locale $src $dest
+ dict set Msgs $locale $ns $src $dest
}
return [expr {$length / 2}]
@@ -1105,21 +408,30 @@ proc msgcat::mcflmset {pairs} {
variable Msgs
if {![info exists FileLocale]} {
- return -code error "must only be used inside a message catalog loaded\
- with ::msgcat::mcload"
+ 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]]
+ foreach {src dest} $pairs {
+ dict set Msgs $FileLocale $ns $src $dest
}
- tailcall mcmset $FileLocale $pairs
+ return [expr {$length / 2}]
}
# msgcat::mcunknown --
#
# This routine is called by msgcat::mc if a translation cannot
-# be found for a string and no unknowncmd is set for the current
-# package. This routine is intended to be replaced
+# 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.
# If additional args are specified, the format command will be used
-# to work them into the translated string.
+# to work them into the traslated string.
#
# Arguments:
# locale The current locale.
@@ -1129,30 +441,7 @@ proc msgcat::mcflmset {pairs} {
# Results:
# Returns the translated value.
-proc msgcat::mcunknown {args} {
- tailcall DefaultUnknown {*}$args
-}
-
-# msgcat::DefaultUnknown --
-#
-# This routine is called by msgcat::mc if a translation cannot
-# be found for a string in the following circumstances:
-# - Default global handler, if mcunknown is not redefined.
-# - Per package handler, if the package sets unknowncmd to the empty
-# string.
-# It returns the source string if the argument list is empty.
-# If additional args are specified, the format command will be used
-# to work them into the translated string.
-#
-# Arguments:
-# locale (unused) The current locale.
-# src The string to be translated.
-# args Args to pass to the format command
-#
-# Results:
-# Returns the translated value.
-
-proc msgcat::DefaultUnknown {locale src args} {
+proc msgcat::mcunknown {locale src args} {
if {[llength $args]} {
return [format $src {*}$args]
} else {
@@ -1173,9 +462,8 @@ proc msgcat::DefaultUnknown {locale src args} {
proc msgcat::mcmax {args} {
set max 0
- set ns [PackageNamespaceGet]
foreach string $args {
- set translated [uplevel 1 [list [namespace origin mcn] $ns $string]]
+ set translated [uplevel 1 [list [namespace origin mc] $string]]
set len [string length $translated]
if {$len>$max} {
set max $len
@@ -1186,7 +474,7 @@ proc msgcat::mcmax {args} {
# Convert the locale values stored in environment variables to a form
# suitable for passing to [mclocale]
-proc msgcat::mcutil::ConvertLocale {value} {
+proc msgcat::ConvertLocale {value} {
# Assume $value is of form: $language[_$territory][.$codeset][@modifier]
# Convert to form: $language[_$territory][_$modifier]
#
@@ -1213,45 +501,8 @@ proc msgcat::mcutil::ConvertLocale {value} {
return $ret
}
-# helper function to find package namespace of stack-frame -2
-# There are 4 possibilities:
-# - called from a proc
-# - called within a class definition script
-# - called from an class defined oo object
-# - called from a classless oo object
-proc ::msgcat::PackageNamespaceGet {} {
- set ns [uplevel 2 { namespace current }]
-
- if {![string match {::oo::*} $ns]} {
- # Not in object environment
- return $ns
- }
-
- # Check self namespace to determine environment
- switch -exact -- [uplevel 2 { namespace which -command self }] {
- {::oo::define::self} {
- # We are within a class definition
- return [namespace qualifiers [uplevel 2 { self }]]
- }
- {::oo::Helpers::self} {
- # We are within an object
- set Class [info object class [uplevel 2 { self }]]
- # Check for classless defined object
- if {$Class eq {::oo::object}} {
- return [namespace qualifiers [uplevel 2 { self }]]
- }
- # Class defined object
- return [namespace qualifiers $Class]
- }
- default {
- # Not in object environment
- return $ns
- }
- }
-}
-
# Initialize the default locale
-proc msgcat::mcutil::getsystemlocale {} {
+proc msgcat::Init {} {
global env
#
@@ -1259,8 +510,10 @@ proc msgcat::mcutil::getsystemlocale {} {
#
foreach varName {LC_ALL LC_MESSAGES LANG} {
if {[info exists env($varName)] && ("" ne $env($varName))} {
- if {![catch { ConvertLocale $env($varName) } locale]} {
- return $locale
+ if {![catch {
+ mclocale [ConvertLocale $env($varName)]
+ }]} {
+ return
}
}
}
@@ -1268,8 +521,10 @@ proc msgcat::mcutil::getsystemlocale {} {
# On Darwin, fallback to current CFLocale identifier if available.
#
if {[info exists ::tcl::mac::locale] && $::tcl::mac::locale ne ""} {
- if {![catch { ConvertLocale $::tcl::mac::locale } locale]} {
- return $locale
+ if {![catch {
+ mclocale [ConvertLocale $::tcl::mac::locale]
+ }]} {
+ return
}
}
#
@@ -1278,7 +533,8 @@ proc msgcat::mcutil::getsystemlocale {} {
#
if {([info sharedlibextension] ne ".dll")
|| [catch {package require registry}]} {
- return C
+ mclocale C
+ return
}
#
# On Windows or Cygwin, try to set locale depending on registry
@@ -1287,7 +543,7 @@ proc msgcat::mcutil::getsystemlocale {} {
# On Vista and later:
# HCU/Control Panel/Desktop : PreferredUILanguages is for language packs,
- # HCU/Control Panel/International : localName is the default locale.
+ # HCU/Control Pannel/International : localName is the default locale.
#
# They contain the local string as RFC5646, composed of:
# [a-z]{2,3} : language
@@ -1309,8 +565,8 @@ proc msgcat::mcutil::getsystemlocale {} {
if {[dict exists $modifierDict $script]} {
append locale @ [dict get $modifierDict $script]
}
- if {![catch {ConvertLocale $locale} locale]} {
- return $locale
+ if {![catch {mclocale [ConvertLocale $locale]}]} {
+ return
}
}
}
@@ -1319,12 +575,13 @@ proc msgcat::mcutil::getsystemlocale {} {
if {[catch {
set locale [registry get $key "locale"]
}]} {
- return C
+ mclocale C
+ return
}
#
# Keep trying to match against smaller and smaller suffixes
- # of the registry value, since the latter hexdigits appear
- # to determine general language and earlier hexdigits determine
+ # of the registry value, since the latter hexadigits appear
+ # to determine general language and earlier hexadigits determine
# more precise information, such as territory. For example,
# 0409 - English - United States
# 0809 - English - United Kingdom
@@ -1334,15 +591,15 @@ proc msgcat::mcutil::getsystemlocale {} {
set locale [string tolower $locale]
while {[string length $locale]} {
if {![catch {
- ConvertLocale [dict get $WinRegToISO639 $locale]
- } localeOut]} {
- return $localeOut
+ mclocale [ConvertLocale [dict get $WinRegToISO639 $locale]]
+ }]} {
+ return
}
set locale [string range $locale 1 end]
}
#
# No translation known. Fall back on "C" locale
#
- return C
+ mclocale C
}
-msgcat::mclocale [msgcat::mcutil getsystemlocale]
+msgcat::Init
diff --git a/library/msgcat/pkgIndex.tcl b/library/msgcat/pkgIndex.tcl
index 18bd71b..5fabfe3 100644
--- a/library/msgcat/pkgIndex.tcl
+++ b/library/msgcat/pkgIndex.tcl
@@ -1,2 +1,2 @@
-if {![package vsatisfies [package provide Tcl] 8.7-]} {return}
-package ifneeded msgcat 1.7.1 [list source [file join $dir msgcat.tcl]]
+if {![package vsatisfies [package provide Tcl] 8.5]} {return}
+package ifneeded msgcat 1.5.2 [list source [file join $dir msgcat.tcl]]
diff --git a/library/msgs/ar.msg b/library/msgs/ar.msg
index 2d403ec..257157f 100644
--- a/library/msgs/ar.msg
+++ b/library/msgs/ar.msg
@@ -1,53 +1,53 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset ar DAYS_OF_WEEK_ABBREV [list \
- "ح"\
- "ن"\
- "ث"\
- "ر"\
- "خ"\
- "ج"\
- "س"]
+ "\u062d"\
+ "\u0646"\
+ "\u062b"\
+ "\u0631"\
+ "\u062e"\
+ "\u062c"\
+ "\u0633"]
::msgcat::mcset ar DAYS_OF_WEEK_FULL [list \
- "الأحد"\
- "الاثنين"\
- "الثلاثاء"\
- "الأربعاء"\
- "الخميس"\
- "الجمعة"\
- "السبت"]
+ "\u0627\u0644\u0623\u062d\u062f"\
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646"\
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621"\
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621"\
+ "\u0627\u0644\u062e\u0645\u064a\u0633"\
+ "\u0627\u0644\u062c\u0645\u0639\u0629"\
+ "\u0627\u0644\u0633\u0628\u062a"]
::msgcat::mcset ar MONTHS_ABBREV [list \
- "ينا"\
- "فبر"\
- "مار"\
- "أبر"\
- "ماي"\
- "يون"\
- "يول"\
- "أغس"\
- "سبت"\
- "أكت"\
- "نوف"\
- "ديس"\
+ "\u064a\u0646\u0627"\
+ "\u0641\u0628\u0631"\
+ "\u0645\u0627\u0631"\
+ "\u0623\u0628\u0631"\
+ "\u0645\u0627\u064a"\
+ "\u064a\u0648\u0646"\
+ "\u064a\u0648\u0644"\
+ "\u0623\u063a\u0633"\
+ "\u0633\u0628\u062a"\
+ "\u0623\u0643\u062a"\
+ "\u0646\u0648\u0641"\
+ "\u062f\u064a\u0633"\
""]
::msgcat::mcset ar MONTHS_FULL [list \
- "يناير"\
- "فبراير"\
- "مارس"\
- "أبريل"\
- "مايو"\
- "يونيو"\
- "يوليو"\
- "أغسطس"\
- "سبتمبر"\
- "أكتوبر"\
- "نوفمبر"\
- "ديسمبر"\
+ "\u064a\u0646\u0627\u064a\u0631"\
+ "\u0641\u0628\u0631\u0627\u064a\u0631"\
+ "\u0645\u0627\u0631\u0633"\
+ "\u0623\u0628\u0631\u064a\u0644"\
+ "\u0645\u0627\u064a\u0648"\
+ "\u064a\u0648\u0646\u064a\u0648"\
+ "\u064a\u0648\u0644\u064a\u0648"\
+ "\u0623\u063a\u0633\u0637\u0633"\
+ "\u0633\u0628\u062a\u0645\u0628\u0631"\
+ "\u0623\u0643\u062a\u0648\u0628\u0631"\
+ "\u0646\u0648\u0641\u0645\u0628\u0631"\
+ "\u062f\u064a\u0633\u0645\u0628\u0631"\
""]
- ::msgcat::mcset ar BCE "ق.م"
- ::msgcat::mcset ar CE "م"
- ::msgcat::mcset ar AM "ص"
- ::msgcat::mcset ar PM "م"
+ ::msgcat::mcset ar BCE "\u0642.\u0645"
+ ::msgcat::mcset ar CE "\u0645"
+ ::msgcat::mcset ar AM "\u0635"
+ ::msgcat::mcset ar PM "\u0645"
::msgcat::mcset ar DATE_FORMAT "%d/%m/%Y"
::msgcat::mcset ar TIME_FORMAT_12 "%I:%M:%S %P"
::msgcat::mcset ar DATE_TIME_FORMAT "%d/%m/%Y %I:%M:%S %P %z"
diff --git a/library/msgs/ar_jo.msg b/library/msgs/ar_jo.msg
index 9a9dda0..0f5e269 100644
--- a/library/msgs/ar_jo.msg
+++ b/library/msgs/ar_jo.msg
@@ -1,39 +1,39 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset ar_JO DAYS_OF_WEEK_ABBREV [list \
- "الأحد"\
- "الاثنين"\
- "الثلاثاء"\
- "الأربعاء"\
- "الخميس"\
- "الجمعة"\
- "السبت"]
+ "\u0627\u0644\u0623\u062d\u062f"\
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646"\
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621"\
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621"\
+ "\u0627\u0644\u062e\u0645\u064a\u0633"\
+ "\u0627\u0644\u062c\u0645\u0639\u0629"\
+ "\u0627\u0644\u0633\u0628\u062a"]
::msgcat::mcset ar_JO MONTHS_ABBREV [list \
- "كانون الثاني"\
- "شباط"\
- "آذار"\
- "نيسان"\
- "نوار"\
- "حزيران"\
- "تموز"\
- "آب"\
- "أيلول"\
- "تشرين الأول"\
- "تشرين الثاني"\
- "كانون الأول"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0634\u0628\u0627\u0637"\
+ "\u0622\u0630\u0627\u0631"\
+ "\u0646\u064a\u0633\u0627\u0646"\
+ "\u0646\u0648\u0627\u0631"\
+ "\u062d\u0632\u064a\u0631\u0627\u0646"\
+ "\u062a\u0645\u0648\u0632"\
+ "\u0622\u0628"\
+ "\u0623\u064a\u0644\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"\
""]
::msgcat::mcset ar_JO MONTHS_FULL [list \
- "كانون الثاني"\
- "شباط"\
- "آذار"\
- "نيسان"\
- "نوار"\
- "حزيران"\
- "تموز"\
- "آب"\
- "أيلول"\
- "تشرين الأول"\
- "تشرين الثاني"\
- "كانون الأول"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0634\u0628\u0627\u0637"\
+ "\u0622\u0630\u0627\u0631"\
+ "\u0646\u064a\u0633\u0627\u0646"\
+ "\u0646\u0648\u0627\u0631"\
+ "\u062d\u0632\u064a\u0631\u0627\u0646"\
+ "\u062a\u0645\u0648\u0632"\
+ "\u0622\u0628"\
+ "\u0623\u064a\u0644\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"\
""]
}
diff --git a/library/msgs/ar_lb.msg b/library/msgs/ar_lb.msg
index c23aa2c..e62acd3 100644
--- a/library/msgs/ar_lb.msg
+++ b/library/msgs/ar_lb.msg
@@ -1,39 +1,39 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset ar_LB DAYS_OF_WEEK_ABBREV [list \
- "الأحد"\
- "الاثنين"\
- "الثلاثاء"\
- "الأربعاء"\
- "الخميس"\
- "الجمعة"\
- "السبت"]
+ "\u0627\u0644\u0623\u062d\u062f"\
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646"\
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621"\
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621"\
+ "\u0627\u0644\u062e\u0645\u064a\u0633"\
+ "\u0627\u0644\u062c\u0645\u0639\u0629"\
+ "\u0627\u0644\u0633\u0628\u062a"]
::msgcat::mcset ar_LB MONTHS_ABBREV [list \
- "كانون الثاني"\
- "شباط"\
- "آذار"\
- "نيسان"\
- "نوار"\
- "حزيران"\
- "تموز"\
- "آب"\
- "أيلول"\
- "تشرين الأول"\
- "تشرين الثاني"\
- "كانون الأول"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0634\u0628\u0627\u0637"\
+ "\u0622\u0630\u0627\u0631"\
+ "\u0646\u064a\u0633\u0627\u0646"\
+ "\u0646\u0648\u0627\u0631"\
+ "\u062d\u0632\u064a\u0631\u0627\u0646"\
+ "\u062a\u0645\u0648\u0632"\
+ "\u0622\u0628"\
+ "\u0623\u064a\u0644\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"\
""]
::msgcat::mcset ar_LB MONTHS_FULL [list \
- "كانون الثاني"\
- "شباط"\
- "آذار"\
- "نيسان"\
- "نوار"\
- "حزيران"\
- "تموز"\
- "آب"\
- "أيلول"\
- "تشرين الأول"\
- "تشرين الثاني"\
- "كانون الأول"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0634\u0628\u0627\u0637"\
+ "\u0622\u0630\u0627\u0631"\
+ "\u0646\u064a\u0633\u0627\u0646"\
+ "\u0646\u0648\u0627\u0631"\
+ "\u062d\u0632\u064a\u0631\u0627\u0646"\
+ "\u062a\u0645\u0648\u0632"\
+ "\u0622\u0628"\
+ "\u0623\u064a\u0644\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"\
""]
}
diff --git a/library/msgs/ar_sy.msg b/library/msgs/ar_sy.msg
index f0daec0..d5e1c87 100644
--- a/library/msgs/ar_sy.msg
+++ b/library/msgs/ar_sy.msg
@@ -1,39 +1,39 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset ar_SY DAYS_OF_WEEK_ABBREV [list \
- "الأحد"\
- "الاثنين"\
- "الثلاثاء"\
- "الأربعاء"\
- "الخميس"\
- "الجمعة"\
- "السبت"]
+ "\u0627\u0644\u0623\u062d\u062f"\
+ "\u0627\u0644\u0627\u062b\u0646\u064a\u0646"\
+ "\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621"\
+ "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621"\
+ "\u0627\u0644\u062e\u0645\u064a\u0633"\
+ "\u0627\u0644\u062c\u0645\u0639\u0629"\
+ "\u0627\u0644\u0633\u0628\u062a"]
::msgcat::mcset ar_SY MONTHS_ABBREV [list \
- "كانون الثاني"\
- "شباط"\
- "آذار"\
- "نيسان"\
- "نوار"\
- "حزيران"\
- "تموز"\
- "آب"\
- "أيلول"\
- "تشرين الأول"\
- "تشرين الثاني"\
- "كانون الأول"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0634\u0628\u0627\u0637"\
+ "\u0622\u0630\u0627\u0631"\
+ "\u0646\u064a\u0633\u0627\u0646"\
+ "\u0646\u0648\u0627\u0631"\
+ "\u062d\u0632\u064a\u0631\u0627\u0646"\
+ "\u062a\u0645\u0648\u0632"\
+ "\u0622\u0628"\
+ "\u0623\u064a\u0644\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"\
""]
::msgcat::mcset ar_SY MONTHS_FULL [list \
- "كانون الثاني"\
- "شباط"\
- "آذار"\
- "نيسان"\
- "نواران"\
- "حزير"\
- "تموز"\
- "آب"\
- "أيلول"\
- "تشرين الأول"\
- "تشرين الثاني"\
- "كانون الأول"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0634\u0628\u0627\u0637"\
+ "\u0622\u0630\u0627\u0631"\
+ "\u0646\u064a\u0633\u0627\u0646"\
+ "\u0646\u0648\u0627\u0631\u0627\u0646"\
+ "\u062d\u0632\u064a\u0631"\
+ "\u062a\u0645\u0648\u0632"\
+ "\u0622\u0628"\
+ "\u0623\u064a\u0644\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u0623\u0648\u0644"\
+ "\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a"\
+ "\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0644"\
""]
}
diff --git a/library/msgs/be.msg b/library/msgs/be.msg
index a0aceed..379a1d7 100644
--- a/library/msgs/be.msg
+++ b/library/msgs/be.msg
@@ -1,51 +1,51 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset be DAYS_OF_WEEK_ABBREV [list \
- "нд"\
- "пн"\
- "ат"\
- "ср"\
- "чц"\
- "пт"\
- "сб"]
+ "\u043d\u0434"\
+ "\u043f\u043d"\
+ "\u0430\u0442"\
+ "\u0441\u0440"\
+ "\u0447\u0446"\
+ "\u043f\u0442"\
+ "\u0441\u0431"]
::msgcat::mcset be DAYS_OF_WEEK_FULL [list \
- "нядзеля"\
- "панядзелак"\
- "аўторак"\
- "серада"\
- "чацвер"\
- "пятніца"\
- "субота"]
+ "\u043d\u044f\u0434\u0437\u0435\u043b\u044f"\
+ "\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a"\
+ "\u0430\u045e\u0442\u043e\u0440\u0430\u043a"\
+ "\u0441\u0435\u0440\u0430\u0434\u0430"\
+ "\u0447\u0430\u0446\u0432\u0435\u0440"\
+ "\u043f\u044f\u0442\u043d\u0456\u0446\u0430"\
+ "\u0441\u0443\u0431\u043e\u0442\u0430"]
::msgcat::mcset be MONTHS_ABBREV [list \
- "стд"\
- "лют"\
- "скв"\
- "крс"\
- "май"\
- "чрв"\
- "лпн"\
- "жнв"\
- "врс"\
- "кст"\
- "лст"\
- "снж"\
+ "\u0441\u0442\u0434"\
+ "\u043b\u044e\u0442"\
+ "\u0441\u043a\u0432"\
+ "\u043a\u0440\u0441"\
+ "\u043c\u0430\u0439"\
+ "\u0447\u0440\u0432"\
+ "\u043b\u043f\u043d"\
+ "\u0436\u043d\u0432"\
+ "\u0432\u0440\u0441"\
+ "\u043a\u0441\u0442"\
+ "\u043b\u0441\u0442"\
+ "\u0441\u043d\u0436"\
""]
::msgcat::mcset be MONTHS_FULL [list \
- "студзеня"\
- "лютага"\
- "сакавіка"\
- "красавіка"\
- "мая"\
- "чрвеня"\
- "ліпеня"\
- "жніўня"\
- "верасня"\
- "кастрычніка"\
- "листапада"\
- "снежня"\
+ "\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f"\
+ "\u043b\u044e\u0442\u0430\u0433\u0430"\
+ "\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430"\
+ "\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430"\
+ "\u043c\u0430\u044f"\
+ "\u0447\u0440\u0432\u0435\u043d\u044f"\
+ "\u043b\u0456\u043f\u0435\u043d\u044f"\
+ "\u0436\u043d\u0456\u045e\u043d\u044f"\
+ "\u0432\u0435\u0440\u0430\u0441\u043d\u044f"\
+ "\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430"\
+ "\u043b\u0438\u0441\u0442\u0430\u043f\u0430\u0434\u0430"\
+ "\u0441\u043d\u0435\u0436\u043d\u044f"\
""]
- ::msgcat::mcset be BCE "да н.е."
- ::msgcat::mcset be CE "н.е."
+ ::msgcat::mcset be BCE "\u0434\u0430 \u043d.\u0435."
+ ::msgcat::mcset be CE "\u043d.\u0435."
::msgcat::mcset be DATE_FORMAT "%e.%m.%Y"
::msgcat::mcset be TIME_FORMAT "%k.%M.%S"
::msgcat::mcset be DATE_TIME_FORMAT "%e.%m.%Y %k.%M.%S %z"
diff --git a/library/msgs/bg.msg b/library/msgs/bg.msg
index 2e7730d..ff17759 100644
--- a/library/msgs/bg.msg
+++ b/library/msgs/bg.msg
@@ -1,21 +1,21 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset bg DAYS_OF_WEEK_ABBREV [list \
- "Нд"\
- "Пн"\
- "Вт"\
- "Ср"\
- "Чт"\
- "Пт"\
- "Сб"]
+ "\u041d\u0434"\
+ "\u041f\u043d"\
+ "\u0412\u0442"\
+ "\u0421\u0440"\
+ "\u0427\u0442"\
+ "\u041f\u0442"\
+ "\u0421\u0431"]
::msgcat::mcset bg DAYS_OF_WEEK_FULL [list \
- "Неделя"\
- "Понеделник"\
- "Вторник"\
- "Сряда"\
- "Четвъртък"\
- "Петък"\
- "Събота"]
+ "\u041d\u0435\u0434\u0435\u043b\u044f"\
+ "\u041f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a"\
+ "\u0412\u0442\u043e\u0440\u043d\u0438\u043a"\
+ "\u0421\u0440\u044f\u0434\u0430"\
+ "\u0427\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a"\
+ "\u041f\u0435\u0442\u044a\u043a"\
+ "\u0421\u044a\u0431\u043e\u0442\u0430"]
::msgcat::mcset bg MONTHS_ABBREV [list \
"I"\
"II"\
@@ -31,21 +31,21 @@ namespace eval ::tcl::clock {
"XII"\
""]
::msgcat::mcset bg MONTHS_FULL [list \
- "Януари"\
- "Февруари"\
- "Март"\
- "Април"\
- "Май"\
- "Юни"\
- "Юли"\
- "Август"\
- "Септември"\
- "Октомври"\
- "Ноември"\
- "Декември"\
+ "\u042f\u043d\u0443\u0430\u0440\u0438"\
+ "\u0424\u0435\u0432\u0440\u0443\u0430\u0440\u0438"\
+ "\u041c\u0430\u0440\u0442"\
+ "\u0410\u043f\u0440\u0438\u043b"\
+ "\u041c\u0430\u0439"\
+ "\u042e\u043d\u0438"\
+ "\u042e\u043b\u0438"\
+ "\u0410\u0432\u0433\u0443\u0441\u0442"\
+ "\u0421\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438"\
+ "\u041e\u043a\u0442\u043e\u043c\u0432\u0440\u0438"\
+ "\u041d\u043e\u0435\u043c\u0432\u0440\u0438"\
+ "\u0414\u0435\u043a\u0435\u043c\u0432\u0440\u0438"\
""]
- ::msgcat::mcset bg BCE "пр.н.е."
- ::msgcat::mcset bg CE "н.е."
+ ::msgcat::mcset bg BCE "\u043f\u0440.\u043d.\u0435."
+ ::msgcat::mcset bg CE "\u043d.\u0435."
::msgcat::mcset bg DATE_FORMAT "%Y-%m-%e"
::msgcat::mcset bg TIME_FORMAT "%k:%M:%S"
::msgcat::mcset bg DATE_TIME_FORMAT "%Y-%m-%e %k:%M:%S %z"
diff --git a/library/msgs/bn.msg b/library/msgs/bn.msg
index a0aef13..664b9d8 100644
--- a/library/msgs/bn.msg
+++ b/library/msgs/bn.msg
@@ -1,49 +1,49 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset bn DAYS_OF_WEEK_ABBREV [list \
- "রবি"\
- "সোম"\
- "মঙগল"\
- "বুধ"\
- "বৃহস্পতি"\
- "শুক্র"\
- "শনি"]
+ "\u09b0\u09ac\u09bf"\
+ "\u09b8\u09cb\u09ae"\
+ "\u09ae\u0999\u0997\u09b2"\
+ "\u09ac\u09c1\u09a7"\
+ "\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf"\
+ "\u09b6\u09c1\u0995\u09cd\u09b0"\
+ "\u09b6\u09a8\u09bf"]
::msgcat::mcset bn DAYS_OF_WEEK_FULL [list \
- "রবিবার"\
- "সোমবার"\
- "মঙগলবার"\
- "বুধবার"\
- "বৃহস্পতিবার"\
- "শুক্রবার"\
- "শনিবার"]
+ "\u09b0\u09ac\u09bf\u09ac\u09be\u09b0"\
+ "\u09b8\u09cb\u09ae\u09ac\u09be\u09b0"\
+ "\u09ae\u0999\u0997\u09b2\u09ac\u09be\u09b0"\
+ "\u09ac\u09c1\u09a7\u09ac\u09be\u09b0"\
+ "\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0"\
+ "\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0"\
+ "\u09b6\u09a8\u09bf\u09ac\u09be\u09b0"]
::msgcat::mcset bn MONTHS_ABBREV [list \
- "জানুয়ারী"\
- "ফেব্রুয়ারী"\
- "মার্চ"\
- "এপ্রিল"\
- "মে"\
- "জুন"\
- "জুলাই"\
- "আগস্ট"\
- "সেপ্টেম্বর"\
- "অক্টোবর"\
- "নভেম্বর"\
- "ডিসেম্বর"\
+ "\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0"\
+ "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09c0"\
+ "\u09ae\u09be\u09b0\u09cd\u099a"\
+ "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2"\
+ "\u09ae\u09c7"\
+ "\u099c\u09c1\u09a8"\
+ "\u099c\u09c1\u09b2\u09be\u0987"\
+ "\u0986\u0997\u09b8\u09cd\u099f"\
+ "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0"\
+ "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0"\
+ "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0"\
+ "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"\
""]
::msgcat::mcset bn MONTHS_FULL [list \
- "জানুয়ারী"\
- "ফেব্রুয়ারী"\
- "মার্চ"\
- "এপ্রিল"\
- "মে"\
- "জুন"\
- "জুলাই"\
- "আগস্ট"\
- "সেপ্টেম্বর"\
- "অক্টোবর"\
- "নভেম্বর"\
- "ডিসেম্বর"\
+ "\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0"\
+ "\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09c0"\
+ "\u09ae\u09be\u09b0\u09cd\u099a"\
+ "\u098f\u09aa\u09cd\u09b0\u09bf\u09b2"\
+ "\u09ae\u09c7"\
+ "\u099c\u09c1\u09a8"\
+ "\u099c\u09c1\u09b2\u09be\u0987"\
+ "\u0986\u0997\u09b8\u09cd\u099f"\
+ "\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0"\
+ "\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0"\
+ "\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0"\
+ "\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0"\
""]
- ::msgcat::mcset bn AM "পূর্বাহ্ণ"
- ::msgcat::mcset bn PM "অপরাহ্ণ"
+ ::msgcat::mcset bn AM "\u09aa\u09c2\u09b0\u09cd\u09ac\u09be\u09b9\u09cd\u09a3"
+ ::msgcat::mcset bn PM "\u0985\u09aa\u09b0\u09be\u09b9\u09cd\u09a3"
}
diff --git a/library/msgs/ca.msg b/library/msgs/ca.msg
index 272f682..36c9772 100644
--- a/library/msgs/ca.msg
+++ b/library/msgs/ca.msg
@@ -19,7 +19,7 @@ namespace eval ::tcl::clock {
::msgcat::mcset ca MONTHS_ABBREV [list \
"gen."\
"feb."\
- "març"\
+ "mar\u00e7"\
"abr."\
"maig"\
"juny"\
@@ -33,7 +33,7 @@ namespace eval ::tcl::clock {
::msgcat::mcset ca MONTHS_FULL [list \
"gener"\
"febrer"\
- "març"\
+ "mar\u00e7"\
"abril"\
"maig"\
"juny"\
diff --git a/library/msgs/cs.msg b/library/msgs/cs.msg
index 4673cd4..8db8bdd 100644
--- a/library/msgs/cs.msg
+++ b/library/msgs/cs.msg
@@ -3,18 +3,18 @@ namespace eval ::tcl::clock {
::msgcat::mcset cs DAYS_OF_WEEK_ABBREV [list \
"Ne"\
"Po"\
- "Út"\
+ "\u00dat"\
"St"\
- "Čt"\
- "Pá"\
+ "\u010ct"\
+ "P\u00e1"\
"So"]
::msgcat::mcset cs DAYS_OF_WEEK_FULL [list \
- "Neděle"\
- "Pondělí"\
- "Úterý"\
- "Středa"\
- "Čtvrtek"\
- "Pátek"\
+ "Ned\u011ble"\
+ "Pond\u011bl\u00ed"\
+ "\u00dater\u00fd"\
+ "St\u0159eda"\
+ "\u010ctvrtek"\
+ "P\u00e1tek"\
"Sobota"]
::msgcat::mcset cs MONTHS_ABBREV [list \
"I"\
@@ -32,19 +32,19 @@ namespace eval ::tcl::clock {
""]
::msgcat::mcset cs MONTHS_FULL [list \
"leden"\
- "únor"\
- "březen"\
+ "\u00fanor"\
+ "b\u0159ezen"\
"duben"\
- "květen"\
- "červen"\
- "červenec"\
+ "kv\u011bten"\
+ "\u010derven"\
+ "\u010dervenec"\
"srpen"\
- "září"\
- "říjen"\
+ "z\u00e1\u0159\u00ed"\
+ "\u0159\u00edjen"\
"listopad"\
"prosinec"\
""]
- ::msgcat::mcset cs BCE "př.Kr."
+ ::msgcat::mcset cs BCE "p\u0159.Kr."
::msgcat::mcset cs CE "po Kr."
::msgcat::mcset cs AM "dop."
::msgcat::mcset cs PM "odp."
diff --git a/library/msgs/da.msg b/library/msgs/da.msg
index abed3c5..e4fec7f 100644
--- a/library/msgs/da.msg
+++ b/library/msgs/da.msg
@@ -1,21 +1,21 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset da DAYS_OF_WEEK_ABBREV [list \
- "sø"\
+ "s\u00f8"\
"ma"\
"ti"\
"on"\
"to"\
"fr"\
- "lø"]
+ "l\u00f8"]
::msgcat::mcset da DAYS_OF_WEEK_FULL [list \
- "søndag"\
+ "s\u00f8ndag"\
"mandag"\
"tirsdag"\
"onsdag"\
"torsdag"\
"fredag"\
- "lørdag"]
+ "l\u00f8rdag"]
::msgcat::mcset da MONTHS_ABBREV [list \
"jan"\
"feb"\
diff --git a/library/msgs/de.msg b/library/msgs/de.msg
index 0bb7399..9eb3145 100644
--- a/library/msgs/de.msg
+++ b/library/msgs/de.msg
@@ -33,7 +33,7 @@ namespace eval ::tcl::clock {
::msgcat::mcset de MONTHS_FULL [list \
"Januar"\
"Februar"\
- "März"\
+ "M\u00e4rz"\
"April"\
"Mai"\
"Juni"\
diff --git a/library/msgs/de_at.msg b/library/msgs/de_at.msg
index 1a0a0f5..61bc266 100644
--- a/library/msgs/de_at.msg
+++ b/library/msgs/de_at.msg
@@ -1,9 +1,9 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset de_AT MONTHS_ABBREV [list \
- "Jän"\
+ "J\u00e4n"\
"Feb"\
- "Mär"\
+ "M\u00e4r"\
"Apr"\
"Mai"\
"Jun"\
@@ -15,9 +15,9 @@ namespace eval ::tcl::clock {
"Dez"\
""]
::msgcat::mcset de_AT MONTHS_FULL [list \
- "Jänner"\
+ "J\u00e4nner"\
"Februar"\
- "März"\
+ "M\u00e4rz"\
"April"\
"Mai"\
"Juni"\
diff --git a/library/msgs/de_be.msg b/library/msgs/de_be.msg
index 04cf88c..3614763 100644
--- a/library/msgs/de_be.msg
+++ b/library/msgs/de_be.msg
@@ -19,7 +19,7 @@ namespace eval ::tcl::clock {
::msgcat::mcset de_BE MONTHS_ABBREV [list \
"Jan"\
"Feb"\
- "Mär"\
+ "M\u00e4r"\
"Apr"\
"Mai"\
"Jun"\
@@ -33,7 +33,7 @@ namespace eval ::tcl::clock {
::msgcat::mcset de_BE MONTHS_FULL [list \
"Januar"\
"Februar"\
- "März"\
+ "M\u00e4rz"\
"April"\
"Mai"\
"Juni"\
diff --git a/library/msgs/el.msg b/library/msgs/el.msg
index 26bdfe9..ac19f62 100644
--- a/library/msgs/el.msg
+++ b/library/msgs/el.msg
@@ -1,51 +1,51 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset el DAYS_OF_WEEK_ABBREV [list \
- "Κυρ"\
- "Δευ"\
- "Τρι"\
- "Τετ"\
- "Πεμ"\
- "Παρ"\
- "Σαβ"]
+ "\u039a\u03c5\u03c1"\
+ "\u0394\u03b5\u03c5"\
+ "\u03a4\u03c1\u03b9"\
+ "\u03a4\u03b5\u03c4"\
+ "\u03a0\u03b5\u03bc"\
+ "\u03a0\u03b1\u03c1"\
+ "\u03a3\u03b1\u03b2"]
::msgcat::mcset el DAYS_OF_WEEK_FULL [list \
- "Κυριακή"\
- "Δευτέρα"\
- "Τρίτη"\
- "Τετάρτη"\
- "Πέμπτη"\
- "Παρασκευή"\
- "Σάββατο"]
+ "\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae"\
+ "\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1"\
+ "\u03a4\u03c1\u03af\u03c4\u03b7"\
+ "\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7"\
+ "\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7"\
+ "\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae"\
+ "\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf"]
::msgcat::mcset el MONTHS_ABBREV [list \
- "Ιαν"\
- "Φεβ"\
- "Μαρ"\
- "Απρ"\
- "Μαϊ"\
- "Ιουν"\
- "Ιουλ"\
- "Αυγ"\
- "Σεπ"\
- "Οκτ"\
- "Νοε"\
- "Δεκ"\
+ "\u0399\u03b1\u03bd"\
+ "\u03a6\u03b5\u03b2"\
+ "\u039c\u03b1\u03c1"\
+ "\u0391\u03c0\u03c1"\
+ "\u039c\u03b1\u03ca"\
+ "\u0399\u03bf\u03c5\u03bd"\
+ "\u0399\u03bf\u03c5\u03bb"\
+ "\u0391\u03c5\u03b3"\
+ "\u03a3\u03b5\u03c0"\
+ "\u039f\u03ba\u03c4"\
+ "\u039d\u03bf\u03b5"\
+ "\u0394\u03b5\u03ba"\
""]
::msgcat::mcset el MONTHS_FULL [list \
- "Ιανουάριος"\
- "Φεβρουάριος"\
- "Μάρτιος"\
- "Απρίλιος"\
- "Μάϊος"\
- "Ιούνιος"\
- "Ιούλιος"\
- "Αύγουστος"\
- "Σεπτέμβριος"\
- "Οκτώβριος"\
- "Νοέμβριος"\
- "Δεκέμβριος"\
+ "\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2"\
+ "\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2"\
+ "\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2"\
+ "\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2"\
+ "\u039c\u03ac\u03ca\u03bf\u03c2"\
+ "\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2"\
+ "\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2"\
+ "\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2"\
+ "\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2"\
+ "\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2"\
+ "\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2"\
+ "\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2"\
""]
- ::msgcat::mcset el AM "πμ"
- ::msgcat::mcset el PM "μμ"
+ ::msgcat::mcset el AM "\u03c0\u03bc"
+ ::msgcat::mcset el PM "\u03bc\u03bc"
::msgcat::mcset el DATE_FORMAT "%e/%m/%Y"
::msgcat::mcset el TIME_FORMAT_12 "%l:%M:%S %P"
::msgcat::mcset el DATE_TIME_FORMAT "%e/%m/%Y %l:%M:%S %P %z"
diff --git a/library/msgs/eo.msg b/library/msgs/eo.msg
index b9b1500..1d2a24f 100644
--- a/library/msgs/eo.msg
+++ b/library/msgs/eo.msg
@@ -5,15 +5,15 @@ namespace eval ::tcl::clock {
"lu"\
"ma"\
"me"\
- "ĵa"\
+ "\u0135a"\
"ve"\
"sa"]
::msgcat::mcset eo DAYS_OF_WEEK_FULL [list \
- "dimanĉo"\
+ "diman\u0109o"\
"lundo"\
"mardo"\
"merkredo"\
- "ĵaŭdo"\
+ "\u0135a\u016ddo"\
"vendredo"\
"sabato"]
::msgcat::mcset eo MONTHS_ABBREV [list \
@@ -24,7 +24,7 @@ namespace eval ::tcl::clock {
"maj"\
"jun"\
"jul"\
- "aŭg"\
+ "a\u016dg"\
"sep"\
"okt"\
"nov"\
@@ -38,7 +38,7 @@ namespace eval ::tcl::clock {
"majo"\
"junio"\
"julio"\
- "aŭgusto"\
+ "a\u016dgusto"\
"septembro"\
"oktobro"\
"novembro"\
diff --git a/library/msgs/es.msg b/library/msgs/es.msg
index 6090eab..a24f0a1 100644
--- a/library/msgs/es.msg
+++ b/library/msgs/es.msg
@@ -4,18 +4,18 @@ namespace eval ::tcl::clock {
"dom"\
"lun"\
"mar"\
- "mié"\
+ "mi\u00e9"\
"jue"\
"vie"\
- "sáb"]
+ "s\u00e1b"]
::msgcat::mcset es DAYS_OF_WEEK_FULL [list \
"domingo"\
"lunes"\
"martes"\
- "miércoles"\
+ "mi\u00e9rcoles"\
"jueves"\
"viernes"\
- "sábado"]
+ "s\u00e1bado"]
::msgcat::mcset es MONTHS_ABBREV [list \
"ene"\
"feb"\
diff --git a/library/msgs/et.msg b/library/msgs/et.msg
index a782f9b..8d32e9e 100644
--- a/library/msgs/et.msg
+++ b/library/msgs/et.msg
@@ -9,17 +9,17 @@ namespace eval ::tcl::clock {
"R"\
"L"]
::msgcat::mcset et DAYS_OF_WEEK_FULL [list \
- "pühapäev"\
- "esmaspäev"\
- "teisipäev"\
- "kolmapäev"\
- "neljapäev"\
+ "p\u00fchap\u00e4ev"\
+ "esmasp\u00e4ev"\
+ "teisip\u00e4ev"\
+ "kolmap\u00e4ev"\
+ "neljap\u00e4ev"\
"reede"\
- "laupäev"]
+ "laup\u00e4ev"]
::msgcat::mcset et MONTHS_ABBREV [list \
"Jaan"\
"Veebr"\
- "Märts"\
+ "M\u00e4rts"\
"Apr"\
"Mai"\
"Juuni"\
@@ -33,7 +33,7 @@ namespace eval ::tcl::clock {
::msgcat::mcset et MONTHS_FULL [list \
"Jaanuar"\
"Veebruar"\
- "Märts"\
+ "M\u00e4rts"\
"Aprill"\
"Mai"\
"Juuni"\
diff --git a/library/msgs/fa.msg b/library/msgs/fa.msg
index 6166e28..89b2f90 100644
--- a/library/msgs/fa.msg
+++ b/library/msgs/fa.msg
@@ -1,47 +1,47 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset fa DAYS_OF_WEEK_ABBREV [list \
- "ی∔"\
- "د∔"\
- "س∔"\
- "چ∔"\
- "پ∔"\
- "ج∔"\
- "ش∔"]
+ "\u06cc\u2214"\
+ "\u062f\u2214"\
+ "\u0633\u2214"\
+ "\u0686\u2214"\
+ "\u067e\u2214"\
+ "\u062c\u2214"\
+ "\u0634\u2214"]
::msgcat::mcset fa DAYS_OF_WEEK_FULL [list \
- "یی‌شنبه"\
- "دوشنبه"\
- "سه‌شنبه"\
- "چهارشنبه"\
- "پنج‌شنبه"\
- "جمعه"\
- "شنبه"]
+ "\u06cc\u06cc\u200c\u0634\u0646\u0628\u0647"\
+ "\u062f\u0648\u0634\u0646\u0628\u0647"\
+ "\u0633\u0647\u200c\u0634\u0646\u0628\u0647"\
+ "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647"\
+ "\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647"\
+ "\u062c\u0645\u0639\u0647"\
+ "\u0634\u0646\u0628\u0647"]
::msgcat::mcset fa MONTHS_ABBREV [list \
- "ژان"\
- "فور"\
- "مار"\
- "آور"\
- "مـه"\
- "ژون"\
- "ژوی"\
- "اوت"\
- "سپت"\
- "اكت"\
- "نوا"\
- "دسا"\
+ "\u0698\u0627\u0646"\
+ "\u0641\u0648\u0631"\
+ "\u0645\u0627\u0631"\
+ "\u0622\u0648\u0631"\
+ "\u0645\u0640\u0647"\
+ "\u0698\u0648\u0646"\
+ "\u0698\u0648\u06cc"\
+ "\u0627\u0648\u062a"\
+ "\u0633\u067e\u062a"\
+ "\u0627\u0643\u062a"\
+ "\u0646\u0648\u0627"\
+ "\u062f\u0633\u0627"\
""]
::msgcat::mcset fa MONTHS_FULL [list \
- "ژانویه"\
- "فورویه"\
- "مارس"\
- "آوریل"\
- "مه"\
- "ژوئن"\
- "ژوئیه"\
- "اوت"\
- "سپتامبر"\
- "اكتبر"\
- "نوامبر"\
- "دسامبر"\
+ "\u0698\u0627\u0646\u0648\u06cc\u0647"\
+ "\u0641\u0648\u0631\u0648\u06cc\u0647"\
+ "\u0645\u0627\u0631\u0633"\
+ "\u0622\u0648\u0631\u06cc\u0644"\
+ "\u0645\u0647"\
+ "\u0698\u0648\u0626\u0646"\
+ "\u0698\u0648\u0626\u06cc\u0647"\
+ "\u0627\u0648\u062a"\
+ "\u0633\u067e\u062a\u0627\u0645\u0628\u0631"\
+ "\u0627\u0643\u062a\u0628\u0631"\
+ "\u0646\u0648\u0627\u0645\u0628\u0631"\
+ "\u062f\u0633\u0627\u0645\u0628\u0631"\
""]
}
diff --git a/library/msgs/fa_in.msg b/library/msgs/fa_in.msg
index ce32f99..adc9e91 100644
--- a/library/msgs/fa_in.msg
+++ b/library/msgs/fa_in.msg
@@ -1,51 +1,51 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset fa_IN DAYS_OF_WEEK_ABBREV [list \
- "ی∔"\
- "د∔"\
- "س∔"\
- "چ∔"\
- "پ∔"\
- "ج∔"\
- "ش∔"]
+ "\u06cc\u2214"\
+ "\u062f\u2214"\
+ "\u0633\u2214"\
+ "\u0686\u2214"\
+ "\u067e\u2214"\
+ "\u062c\u2214"\
+ "\u0634\u2214"]
::msgcat::mcset fa_IN DAYS_OF_WEEK_FULL [list \
- "یی‌شنبه"\
- "دوشنبه"\
- "سه‌شنبه"\
- "چهارشنبه"\
- "پنج‌شنبه"\
- "جمعه"\
- "شنبه"]
+ "\u06cc\u06cc\u200c\u0634\u0646\u0628\u0647"\
+ "\u062f\u0648\u0634\u0646\u0628\u0647"\
+ "\u0633\u0647\u200c\u0634\u0646\u0628\u0647"\
+ "\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647"\
+ "\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647"\
+ "\u062c\u0645\u0639\u0647"\
+ "\u0634\u0646\u0628\u0647"]
::msgcat::mcset fa_IN MONTHS_ABBREV [list \
- "ژان"\
- "فور"\
- "مار"\
- "آور"\
- "مـه"\
- "ژون"\
- "ژوی"\
- "اوت"\
- "سپت"\
- "اكت"\
- "نوا"\
- "دسا"\
+ "\u0698\u0627\u0646"\
+ "\u0641\u0648\u0631"\
+ "\u0645\u0627\u0631"\
+ "\u0622\u0648\u0631"\
+ "\u0645\u0640\u0647"\
+ "\u0698\u0648\u0646"\
+ "\u0698\u0648\u06cc"\
+ "\u0627\u0648\u062a"\
+ "\u0633\u067e\u062a"\
+ "\u0627\u0643\u062a"\
+ "\u0646\u0648\u0627"\
+ "\u062f\u0633\u0627"\
""]
::msgcat::mcset fa_IN MONTHS_FULL [list \
- "ژانویه"\
- "فورویه"\
- "مارس"\
- "آوریل"\
- "مه"\
- "ژوئن"\
- "ژوئیه"\
- "اوت"\
- "سپتامبر"\
- "اكتبر"\
- "نوامبر"\
- "دسامبر"\
+ "\u0698\u0627\u0646\u0648\u06cc\u0647"\
+ "\u0641\u0648\u0631\u0648\u06cc\u0647"\
+ "\u0645\u0627\u0631\u0633"\
+ "\u0622\u0648\u0631\u06cc\u0644"\
+ "\u0645\u0647"\
+ "\u0698\u0648\u0626\u0646"\
+ "\u0698\u0648\u0626\u06cc\u0647"\
+ "\u0627\u0648\u062a"\
+ "\u0633\u067e\u062a\u0627\u0645\u0628\u0631"\
+ "\u0627\u0643\u062a\u0628\u0631"\
+ "\u0646\u0648\u0627\u0645\u0628\u0631"\
+ "\u062f\u0633\u0627\u0645\u0628\u0631"\
""]
- ::msgcat::mcset fa_IN AM "صبح"
- ::msgcat::mcset fa_IN PM "عصر"
+ ::msgcat::mcset fa_IN AM "\u0635\u0628\u062d"
+ ::msgcat::mcset fa_IN PM "\u0639\u0635\u0631"
::msgcat::mcset fa_IN DATE_FORMAT "%A %d %B %Y"
::msgcat::mcset fa_IN TIME_FORMAT_12 "%I:%M:%S %z"
::msgcat::mcset fa_IN DATE_TIME_FORMAT "%A %d %B %Y %I:%M:%S %z %z"
diff --git a/library/msgs/fa_ir.msg b/library/msgs/fa_ir.msg
index 9ce9284..597ce9d 100644
--- a/library/msgs/fa_ir.msg
+++ b/library/msgs/fa_ir.msg
@@ -1,9 +1,9 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
- ::msgcat::mcset fa_IR AM "صبح"
- ::msgcat::mcset fa_IR PM "عصر"
- ::msgcat::mcset fa_IR DATE_FORMAT "%d⁄%m⁄%Y"
+ ::msgcat::mcset fa_IR AM "\u0635\u0628\u062d"
+ ::msgcat::mcset fa_IR PM "\u0639\u0635\u0631"
+ ::msgcat::mcset fa_IR DATE_FORMAT "%d\u2044%m\u2044%Y"
::msgcat::mcset fa_IR TIME_FORMAT "%S:%M:%H"
::msgcat::mcset fa_IR TIME_FORMAT_12 "%S:%M:%l %P"
- ::msgcat::mcset fa_IR DATE_TIME_FORMAT "%d⁄%m⁄%Y %S:%M:%H %z"
+ ::msgcat::mcset fa_IR DATE_TIME_FORMAT "%d\u2044%m\u2044%Y %S:%M:%H %z"
}
diff --git a/library/msgs/fi.msg b/library/msgs/fi.msg
index 69be367..acabba0 100644
--- a/library/msgs/fi.msg
+++ b/library/msgs/fi.msg
@@ -22,8 +22,8 @@ namespace eval ::tcl::clock {
"maalis"\
"huhti"\
"touko"\
- "kesä"\
- "heinä"\
+ "kes\u00e4"\
+ "hein\u00e4"\
"elo"\
"syys"\
"loka"\
@@ -36,8 +36,8 @@ namespace eval ::tcl::clock {
"maaliskuu"\
"huhtikuu"\
"toukokuu"\
- "kesäkuu"\
- "heinäkuu"\
+ "kes\u00e4kuu"\
+ "hein\u00e4kuu"\
"elokuu"\
"syyskuu"\
"lokakuu"\
diff --git a/library/msgs/fo.msg b/library/msgs/fo.msg
index 1f1794d..4696e62 100644
--- a/library/msgs/fo.msg
+++ b/library/msgs/fo.msg
@@ -2,19 +2,19 @@
namespace eval ::tcl::clock {
::msgcat::mcset fo DAYS_OF_WEEK_ABBREV [list \
"sun"\
- "mán"\
- "týs"\
+ "m\u00e1n"\
+ "t\u00fds"\
"mik"\
- "hós"\
- "frí"\
+ "h\u00f3s"\
+ "fr\u00ed"\
"ley"]
::msgcat::mcset fo DAYS_OF_WEEK_FULL [list \
"sunnudagur"\
- "mánadagur"\
- "týsdagur"\
+ "m\u00e1nadagur"\
+ "t\u00fdsdagur"\
"mikudagur"\
- "hósdagur"\
- "fríggjadagur"\
+ "h\u00f3sdagur"\
+ "fr\u00edggjadagur"\
"leygardagur"]
::msgcat::mcset fo MONTHS_ABBREV [list \
"jan"\
@@ -34,7 +34,7 @@ namespace eval ::tcl::clock {
"januar"\
"februar"\
"mars"\
- "apríl"\
+ "apr\u00edl"\
"mai"\
"juni"\
"juli"\
diff --git a/library/msgs/fr.msg b/library/msgs/fr.msg
index a274468..55b19bf 100644
--- a/library/msgs/fr.msg
+++ b/library/msgs/fr.msg
@@ -18,31 +18,31 @@ namespace eval ::tcl::clock {
"samedi"]
::msgcat::mcset fr MONTHS_ABBREV [list \
"janv."\
- "févr."\
+ "f\u00e9vr."\
"mars"\
"avr."\
"mai"\
"juin"\
"juil."\
- "août"\
+ "ao\u00fbt"\
"sept."\
"oct."\
"nov."\
- "déc."\
+ "d\u00e9c."\
""]
::msgcat::mcset fr MONTHS_FULL [list \
"janvier"\
- "février"\
+ "f\u00e9vrier"\
"mars"\
"avril"\
"mai"\
"juin"\
"juillet"\
- "août"\
+ "ao\u00fbt"\
"septembre"\
"octobre"\
"novembre"\
- "décembre"\
+ "d\u00e9cembre"\
""]
::msgcat::mcset fr BCE "av. J.-C."
::msgcat::mcset fr CE "ap. J.-C."
diff --git a/library/msgs/ga.msg b/library/msgs/ga.msg
index 056c9a0..6edf13a 100644
--- a/library/msgs/ga.msg
+++ b/library/msgs/ga.msg
@@ -3,45 +3,45 @@ namespace eval ::tcl::clock {
::msgcat::mcset ga DAYS_OF_WEEK_ABBREV [list \
"Domh"\
"Luan"\
- "Máirt"\
- "Céad"\
- "Déar"\
+ "M\u00e1irt"\
+ "C\u00e9ad"\
+ "D\u00e9ar"\
"Aoine"\
"Sath"]
::msgcat::mcset ga DAYS_OF_WEEK_FULL [list \
- "Dé Domhnaigh"\
- "Dé Luain"\
- "Dé Máirt"\
- "Dé Céadaoin"\
- "Déardaoin"\
- "Dé hAoine"\
- "Dé Sathairn"]
+ "D\u00e9 Domhnaigh"\
+ "D\u00e9 Luain"\
+ "D\u00e9 M\u00e1irt"\
+ "D\u00e9 C\u00e9adaoin"\
+ "D\u00e9ardaoin"\
+ "D\u00e9 hAoine"\
+ "D\u00e9 Sathairn"]
::msgcat::mcset ga MONTHS_ABBREV [list \
"Ean"\
"Feabh"\
- "Márta"\
+ "M\u00e1rta"\
"Aib"\
"Beal"\
"Meith"\
- "Iúil"\
- "Lún"\
- "MFómh"\
- "DFómh"\
+ "I\u00fail"\
+ "L\u00fan"\
+ "MF\u00f3mh"\
+ "DF\u00f3mh"\
"Samh"\
"Noll"\
""]
::msgcat::mcset ga MONTHS_FULL [list \
- "Eanáir"\
+ "Ean\u00e1ir"\
"Feabhra"\
- "Márta"\
- "Aibreán"\
- "Mí na Bealtaine"\
+ "M\u00e1rta"\
+ "Aibre\u00e1n"\
+ "M\u00ed na Bealtaine"\
"Meith"\
- "Iúil"\
- "Lúnasa"\
- "Meán Fómhair"\
- "Deireadh Fómhair"\
- "Mí na Samhna"\
- "Mí na Nollag"\
+ "I\u00fail"\
+ "L\u00fanasa"\
+ "Me\u00e1n F\u00f3mhair"\
+ "Deireadh F\u00f3mhair"\
+ "M\u00ed na Samhna"\
+ "M\u00ed na Nollag"\
""]
}
diff --git a/library/msgs/gl.msg b/library/msgs/gl.msg
index c2fefc9..4b869e8 100644
--- a/library/msgs/gl.msg
+++ b/library/msgs/gl.msg
@@ -4,25 +4,25 @@ namespace eval ::tcl::clock {
"Dom"\
"Lun"\
"Mar"\
- "Mér"\
+ "M\u00e9r"\
"Xov"\
"Ven"\
- "Sáb"]
+ "S\u00e1b"]
::msgcat::mcset gl DAYS_OF_WEEK_FULL [list \
"Domingo"\
"Luns"\
"Martes"\
- "Mércores"\
+ "M\u00e9rcores"\
"Xoves"\
"Venres"\
- "Sábado"]
+ "S\u00e1bado"]
::msgcat::mcset gl MONTHS_ABBREV [list \
"Xan"\
"Feb"\
"Mar"\
"Abr"\
"Mai"\
- "Xuñ"\
+ "Xu\u00f1"\
"Xul"\
"Ago"\
"Set"\
@@ -36,7 +36,7 @@ namespace eval ::tcl::clock {
"Marzo"\
"Abril"\
"Maio"\
- "Xuño"\
+ "Xu\u00f1o"\
"Xullo"\
"Agosto"\
"Setembro"\
diff --git a/library/msgs/he.msg b/library/msgs/he.msg
index 13a81b7..4fd921d 100644
--- a/library/msgs/he.msg
+++ b/library/msgs/he.msg
@@ -1,51 +1,51 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset he DAYS_OF_WEEK_ABBREV [list \
- "א"\
- "ב"\
- "ג"\
- "ד"\
- "ה"\
- "ו"\
- "ש"]
+ "\u05d0"\
+ "\u05d1"\
+ "\u05d2"\
+ "\u05d3"\
+ "\u05d4"\
+ "\u05d5"\
+ "\u05e9"]
::msgcat::mcset he DAYS_OF_WEEK_FULL [list \
- "יום ראשון"\
- "יום שני"\
- "יום שלישי"\
- "יום רביעי"\
- "יום חמישי"\
- "יום שישי"\
- "שבת"]
+ "\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df"\
+ "\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9"\
+ "\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9"\
+ "\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9"\
+ "\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9"\
+ "\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9"\
+ "\u05e9\u05d1\u05ea"]
::msgcat::mcset he MONTHS_ABBREV [list \
- "ינו"\
- "פבר"\
- "מרץ"\
- "אפר"\
- "מאי"\
- "יונ"\
- "יול"\
- "אוג"\
- "ספט"\
- "אוק"\
- "נוב"\
- "דצמ"\
+ "\u05d9\u05e0\u05d5"\
+ "\u05e4\u05d1\u05e8"\
+ "\u05de\u05e8\u05e5"\
+ "\u05d0\u05e4\u05e8"\
+ "\u05de\u05d0\u05d9"\
+ "\u05d9\u05d5\u05e0"\
+ "\u05d9\u05d5\u05dc"\
+ "\u05d0\u05d5\u05d2"\
+ "\u05e1\u05e4\u05d8"\
+ "\u05d0\u05d5\u05e7"\
+ "\u05e0\u05d5\u05d1"\
+ "\u05d3\u05e6\u05de"\
""]
::msgcat::mcset he MONTHS_FULL [list \
- "ינואר"\
- "פברואר"\
- "מרץ"\
- "אפריל"\
- "מאי"\
- "יוני"\
- "יולי"\
- "אוגוסט"\
- "ספטמבר"\
- "אוקטובר"\
- "נובמבר"\
- "דצמבר"\
+ "\u05d9\u05e0\u05d5\u05d0\u05e8"\
+ "\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8"\
+ "\u05de\u05e8\u05e5"\
+ "\u05d0\u05e4\u05e8\u05d9\u05dc"\
+ "\u05de\u05d0\u05d9"\
+ "\u05d9\u05d5\u05e0\u05d9"\
+ "\u05d9\u05d5\u05dc\u05d9"\
+ "\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8"\
+ "\u05e1\u05e4\u05d8\u05de\u05d1\u05e8"\
+ "\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8"\
+ "\u05e0\u05d5\u05d1\u05de\u05d1\u05e8"\
+ "\u05d3\u05e6\u05de\u05d1\u05e8"\
""]
- ::msgcat::mcset he BCE "לסה"נ"
- ::msgcat::mcset he CE "לפסה"נ"
+ ::msgcat::mcset he BCE "\u05dc\u05e1\u05d4\u0022\u05e0"
+ ::msgcat::mcset he CE "\u05dc\u05e4\u05e1\u05d4\u0022\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/hi.msg b/library/msgs/hi.msg
index 18c8bf0..50c9fb8 100644
--- a/library/msgs/hi.msg
+++ b/library/msgs/hi.msg
@@ -1,39 +1,39 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset hi DAYS_OF_WEEK_FULL [list \
- "रविवार"\
- "सोमवार"\
- "मंगलवार"\
- "बुधवार"\
- "गुरुवार"\
- "शुक्रवार"\
- "शनिवार"]
+ "\u0930\u0935\u093f\u0935\u093e\u0930"\
+ "\u0938\u094b\u092e\u0935\u093e\u0930"\
+ "\u092e\u0902\u0917\u0932\u0935\u093e\u0930"\
+ "\u092c\u0941\u0927\u0935\u093e\u0930"\
+ "\u0917\u0941\u0930\u0941\u0935\u093e\u0930"\
+ "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930"\
+ "\u0936\u0928\u093f\u0935\u093e\u0930"]
::msgcat::mcset hi MONTHS_ABBREV [list \
- "जनवरी"\
- "फ़रवरी"\
- "मार्च"\
- "अप्रेल"\
- "मई"\
- "जून"\
- "जुलाई"\
- "अगस्त"\
- "सितम्बर"\
- "अक्टूबर"\
- "नवम्बर"\
- "दिसम्बर"]
+ "\u091c\u0928\u0935\u0930\u0940"\
+ "\u092b\u093c\u0930\u0935\u0930\u0940"\
+ "\u092e\u093e\u0930\u094d\u091a"\
+ "\u0905\u092a\u094d\u0930\u0947\u0932"\
+ "\u092e\u0908"\
+ "\u091c\u0942\u0928"\
+ "\u091c\u0941\u0932\u093e\u0908"\
+ "\u0905\u0917\u0938\u094d\u0924"\
+ "\u0938\u093f\u0924\u092e\u094d\u092c\u0930"\
+ "\u0905\u0915\u094d\u091f\u0942\u092c\u0930"\
+ "\u0928\u0935\u092e\u094d\u092c\u0930"\
+ "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"]
::msgcat::mcset hi MONTHS_FULL [list \
- "जनवरी"\
- "फ़रवरी"\
- "मार्च"\
- "अप्रेल"\
- "मई"\
- "जून"\
- "जुलाई"\
- "अगस्त"\
- "सितम्बर"\
- "अक्टूबर"\
- "नवम्बर"\
- "दिसम्बर"]
- ::msgcat::mcset hi AM "ईसापूर्व"
+ "\u091c\u0928\u0935\u0930\u0940"\
+ "\u092b\u093c\u0930\u0935\u0930\u0940"\
+ "\u092e\u093e\u0930\u094d\u091a"\
+ "\u0905\u092a\u094d\u0930\u0947\u0932"\
+ "\u092e\u0908"\
+ "\u091c\u0942\u0928"\
+ "\u091c\u0941\u0932\u093e\u0908"\
+ "\u0905\u0917\u0938\u094d\u0924"\
+ "\u0938\u093f\u0924\u092e\u094d\u092c\u0930"\
+ "\u0905\u0915\u094d\u091f\u0942\u092c\u0930"\
+ "\u0928\u0935\u092e\u094d\u092c\u0930"\
+ "\u0926\u093f\u0938\u092e\u094d\u092c\u0930"]
+ ::msgcat::mcset hi AM "\u0908\u0938\u093e\u092a\u0942\u0930\u094d\u0935"
::msgcat::mcset hi PM "."
}
diff --git a/library/msgs/hr.msg b/library/msgs/hr.msg
index 30491e1..cec145b 100644
--- a/library/msgs/hr.msg
+++ b/library/msgs/hr.msg
@@ -5,7 +5,7 @@ namespace eval ::tcl::clock {
"pon"\
"uto"\
"sri"\
- "čet"\
+ "\u010det"\
"pet"\
"sub"]
::msgcat::mcset hr DAYS_OF_WEEK_FULL [list \
@@ -13,13 +13,13 @@ namespace eval ::tcl::clock {
"ponedjeljak"\
"utorak"\
"srijeda"\
- "četvrtak"\
+ "\u010detvrtak"\
"petak"\
"subota"]
::msgcat::mcset hr MONTHS_ABBREV [list \
"sij"\
"vel"\
- "ožu"\
+ "o\u017eu"\
"tra"\
"svi"\
"lip"\
@@ -31,9 +31,9 @@ namespace eval ::tcl::clock {
"pro"\
""]
::msgcat::mcset hr MONTHS_FULL [list \
- "siječanj"\
- "veljača"\
- "ožujak"\
+ "sije\u010danj"\
+ "velja\u010da"\
+ "o\u017eujak"\
"travanj"\
"svibanj"\
"lipanj"\
diff --git a/library/msgs/hu.msg b/library/msgs/hu.msg
index 46776dd..e5e68d9 100644
--- a/library/msgs/hu.msg
+++ b/library/msgs/hu.msg
@@ -9,21 +9,21 @@ namespace eval ::tcl::clock {
"P"\
"Szo"]
::msgcat::mcset hu DAYS_OF_WEEK_FULL [list \
- "vasárnap"\
- "hétfő"\
+ "vas\u00e1rnap"\
+ "h\u00e9tf\u0151"\
"kedd"\
"szerda"\
- "csütörtök"\
- "péntek"\
+ "cs\u00fct\u00f6rt\u00f6k"\
+ "p\u00e9ntek"\
"szombat"]
::msgcat::mcset hu MONTHS_ABBREV [list \
"jan."\
"febr."\
- "márc."\
- "ápr."\
- "máj."\
- "jún."\
- "júl."\
+ "m\u00e1rc."\
+ "\u00e1pr."\
+ "m\u00e1j."\
+ "j\u00fan."\
+ "j\u00fal."\
"aug."\
"szept."\
"okt."\
@@ -31,16 +31,16 @@ namespace eval ::tcl::clock {
"dec."\
""]
::msgcat::mcset hu MONTHS_FULL [list \
- "január"\
- "február"\
- "március"\
- "április"\
- "május"\
- "június"\
- "július"\
+ "janu\u00e1r"\
+ "febru\u00e1r"\
+ "m\u00e1rcius"\
+ "\u00e1prilis"\
+ "m\u00e1jus"\
+ "j\u00fanius"\
+ "j\u00falius"\
"augusztus"\
"szeptember"\
- "október"\
+ "okt\u00f3ber"\
"november"\
"december"\
""]
diff --git a/library/msgs/is.msg b/library/msgs/is.msg
index a369b89..adc2d2a 100644
--- a/library/msgs/is.msg
+++ b/library/msgs/is.msg
@@ -2,46 +2,46 @@
namespace eval ::tcl::clock {
::msgcat::mcset is DAYS_OF_WEEK_ABBREV [list \
"sun."\
- "mán."\
- "þri."\
- "mið."\
+ "m\u00e1n."\
+ "\u00feri."\
+ "mi\u00f0."\
"fim."\
- "fös."\
+ "f\u00f6s."\
"lau."]
::msgcat::mcset is DAYS_OF_WEEK_FULL [list \
"sunnudagur"\
- "mánudagur"\
- "þriðjudagur"\
- "miðvikudagur"\
+ "m\u00e1nudagur"\
+ "\u00feri\u00f0judagur"\
+ "mi\u00f0vikudagur"\
"fimmtudagur"\
- "föstudagur"\
+ "f\u00f6studagur"\
"laugardagur"]
::msgcat::mcset is MONTHS_ABBREV [list \
"jan."\
"feb."\
"mar."\
"apr."\
- "maí"\
- "jún."\
- "júl."\
- "ágú."\
+ "ma\u00ed"\
+ "j\u00fan."\
+ "j\u00fal."\
+ "\u00e1g\u00fa."\
"sep."\
"okt."\
- "nóv."\
+ "n\u00f3v."\
"des."\
""]
::msgcat::mcset is MONTHS_FULL [list \
- "janúar"\
- "febrúar"\
+ "jan\u00faar"\
+ "febr\u00faar"\
"mars"\
- "apríl"\
- "maí"\
- "júní"\
- "júlí"\
- "ágúst"\
+ "apr\u00edl"\
+ "ma\u00ed"\
+ "j\u00fan\u00ed"\
+ "j\u00fal\u00ed"\
+ "\u00e1g\u00fast"\
"september"\
- "október"\
- "nóvember"\
+ "okt\u00f3ber"\
+ "n\u00f3vember"\
"desember"\
""]
::msgcat::mcset is DATE_FORMAT "%e.%m.%Y"
diff --git a/library/msgs/it.msg b/library/msgs/it.msg
index e51aee2..b641cde 100644
--- a/library/msgs/it.msg
+++ b/library/msgs/it.msg
@@ -10,11 +10,11 @@ namespace eval ::tcl::clock {
"sab"]
::msgcat::mcset it DAYS_OF_WEEK_FULL [list \
"domenica"\
- "lunedì"\
- "martedì"\
- "mercoledì"\
- "giovedì"\
- "venerdì"\
+ "luned\u00ec"\
+ "marted\u00ec"\
+ "mercoled\u00ec"\
+ "gioved\u00ec"\
+ "venerd\u00ec"\
"sabato"]
::msgcat::mcset it MONTHS_ABBREV [list \
"gen"\
diff --git a/library/msgs/ja.msg b/library/msgs/ja.msg
index dac690b..2767665 100644
--- a/library/msgs/ja.msg
+++ b/library/msgs/ja.msg
@@ -1,44 +1,44 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset ja DAYS_OF_WEEK_ABBREV [list \
- "日"\
- "月"\
- "火"\
- "水"\
- "木"\
- "金"\
- "土"]
+ "\u65e5"\
+ "\u6708"\
+ "\u706b"\
+ "\u6c34"\
+ "\u6728"\
+ "\u91d1"\
+ "\u571f"]
::msgcat::mcset ja DAYS_OF_WEEK_FULL [list \
- "日曜日"\
- "月曜日"\
- "火曜日"\
- "水曜日"\
- "木曜日"\
- "金曜日"\
- "土曜日"]
+ "\u65e5\u66dc\u65e5"\
+ "\u6708\u66dc\u65e5"\
+ "\u706b\u66dc\u65e5"\
+ "\u6c34\u66dc\u65e5"\
+ "\u6728\u66dc\u65e5"\
+ "\u91d1\u66dc\u65e5"\
+ "\u571f\u66dc\u65e5"]
::msgcat::mcset ja MONTHS_FULL [list \
- "1月"\
- "2月"\
- "3月"\
- "4月"\
- "5月"\
- "6月"\
- "7月"\
- "8月"\
- "9月"\
- "10月"\
- "11月"\
- "12月"]
- ::msgcat::mcset ja BCE "紀元前"
- ::msgcat::mcset ja CE "西暦"
- ::msgcat::mcset ja AM "午前"
- ::msgcat::mcset ja PM "午後"
+ "1\u6708"\
+ "2\u6708"\
+ "3\u6708"\
+ "4\u6708"\
+ "5\u6708"\
+ "6\u6708"\
+ "7\u6708"\
+ "8\u6708"\
+ "9\u6708"\
+ "10\u6708"\
+ "11\u6708"\
+ "12\u6708"]
+ ::msgcat::mcset ja BCE "\u7d00\u5143\u524d"
+ ::msgcat::mcset ja CE "\u897f\u66a6"
+ ::msgcat::mcset ja AM "\u5348\u524d"
+ ::msgcat::mcset ja PM "\u5348\u5f8c"
::msgcat::mcset ja DATE_FORMAT "%Y/%m/%d"
::msgcat::mcset ja TIME_FORMAT "%k:%M:%S"
::msgcat::mcset ja TIME_FORMAT_12 "%P %I:%M:%S"
::msgcat::mcset ja DATE_TIME_FORMAT "%Y/%m/%d %k:%M:%S %z"
- ::msgcat::mcset ja LOCALE_DATE_FORMAT "%EY年%m月%d日"
- ::msgcat::mcset ja LOCALE_TIME_FORMAT "%H時%M分%S秒"
- ::msgcat::mcset ja LOCALE_DATE_TIME_FORMAT "%EY年%m月%d日 (%a) %H時%M分%S秒 %z"
- ::msgcat::mcset ja LOCALE_ERAS "{-9223372036854775808 西暦 0} {-3061011600 明治 1867} {-1812186000 大正 1911} {-1357635600 昭和 1925} {600220800 平成 1988} {1556668800 令和 2018}"
+ ::msgcat::mcset ja LOCALE_DATE_FORMAT "%EY\u5e74%m\u6708%d\u65e5"
+ ::msgcat::mcset ja LOCALE_TIME_FORMAT "%H\u6642%M\u5206%S\u79d2"
+ ::msgcat::mcset ja LOCALE_DATE_TIME_FORMAT "%EY\u5e74%m\u6708%d\u65e5 (%a) %H\u6642%M\u5206%S\u79d2 %z"
+ ::msgcat::mcset ja LOCALE_ERAS "\u007b-9223372036854775808 \u897f\u66a6 0\u007d \u007b-3061011600 \u660e\u6cbb 1867\u007d \u007b-1812186000 \u5927\u6b63 1911\u007d \u007b-1357635600 \u662d\u548c 1925\u007d \u007b600220800 \u5e73\u6210 1988\u007d"
}
diff --git a/library/msgs/ko.msg b/library/msgs/ko.msg
index 817c2e7..0cd17a1 100644
--- a/library/msgs/ko.msg
+++ b/library/msgs/ko.msg
@@ -1,55 +1,55 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset ko DAYS_OF_WEEK_ABBREV [list \
- "일"\
- "월"\
- "화"\
- "수"\
- "목"\
- "금"\
- "토"]
+ "\uc77c"\
+ "\uc6d4"\
+ "\ud654"\
+ "\uc218"\
+ "\ubaa9"\
+ "\uae08"\
+ "\ud1a0"]
::msgcat::mcset ko DAYS_OF_WEEK_FULL [list \
- "일요일"\
- "월요일"\
- "화요일"\
- "수요일"\
- "목요일"\
- "금요일"\
- "토요일"]
+ "\uc77c\uc694\uc77c"\
+ "\uc6d4\uc694\uc77c"\
+ "\ud654\uc694\uc77c"\
+ "\uc218\uc694\uc77c"\
+ "\ubaa9\uc694\uc77c"\
+ "\uae08\uc694\uc77c"\
+ "\ud1a0\uc694\uc77c"]
::msgcat::mcset ko MONTHS_ABBREV [list \
- "1월"\
- "2월"\
- "3월"\
- "4월"\
- "5월"\
- "6월"\
- "7월"\
- "8월"\
- "9월"\
- "10월"\
- "11월"\
- "12월"\
+ "1\uc6d4"\
+ "2\uc6d4"\
+ "3\uc6d4"\
+ "4\uc6d4"\
+ "5\uc6d4"\
+ "6\uc6d4"\
+ "7\uc6d4"\
+ "8\uc6d4"\
+ "9\uc6d4"\
+ "10\uc6d4"\
+ "11\uc6d4"\
+ "12\uc6d4"\
""]
::msgcat::mcset ko MONTHS_FULL [list \
- "1월"\
- "2월"\
- "3월"\
- "4월"\
- "5월"\
- "6월"\
- "7월"\
- "8월"\
- "9월"\
- "10월"\
- "11월"\
- "12월"\
+ "1\uc6d4"\
+ "2\uc6d4"\
+ "3\uc6d4"\
+ "4\uc6d4"\
+ "5\uc6d4"\
+ "6\uc6d4"\
+ "7\uc6d4"\
+ "8\uc6d4"\
+ "9\uc6d4"\
+ "10\uc6d4"\
+ "11\uc6d4"\
+ "12\uc6d4"\
""]
- ::msgcat::mcset ko AM "오전"
- ::msgcat::mcset ko PM "오후"
+ ::msgcat::mcset ko AM "\uc624\uc804"
+ ::msgcat::mcset ko PM "\uc624\ud6c4"
::msgcat::mcset ko DATE_FORMAT "%Y-%m-%d"
::msgcat::mcset ko TIME_FORMAT_12 "%P %l:%M:%S"
::msgcat::mcset ko DATE_TIME_FORMAT "%Y-%m-%d %P %l:%M:%S %z"
- ::msgcat::mcset ko LOCALE_DATE_FORMAT "%Y년%B%Od일"
- ::msgcat::mcset ko LOCALE_TIME_FORMAT "%H시%M분%S초"
- ::msgcat::mcset ko LOCALE_DATE_TIME_FORMAT "%A %Y년%B%Od일%H시%M분%S초 %z"
+ ::msgcat::mcset ko LOCALE_DATE_FORMAT "%Y\ub144%B%Od\uc77c"
+ ::msgcat::mcset ko LOCALE_TIME_FORMAT "%H\uc2dc%M\ubd84%S\ucd08"
+ ::msgcat::mcset ko LOCALE_DATE_TIME_FORMAT "%A %Y\ub144%B%Od\uc77c%H\uc2dc%M\ubd84%S\ucd08 %z"
}
diff --git a/library/msgs/ko_kr.msg b/library/msgs/ko_kr.msg
index f23bd6b..ea5bbd7 100644
--- a/library/msgs/ko_kr.msg
+++ b/library/msgs/ko_kr.msg
@@ -1,7 +1,7 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
- ::msgcat::mcset ko_KR BCE "기원전"
- ::msgcat::mcset ko_KR CE "서기"
+ ::msgcat::mcset ko_KR BCE "\uae30\uc6d0\uc804"
+ ::msgcat::mcset ko_KR CE "\uc11c\uae30"
::msgcat::mcset ko_KR DATE_FORMAT "%Y.%m.%d"
::msgcat::mcset ko_KR TIME_FORMAT_12 "%P %l:%M:%S"
::msgcat::mcset ko_KR DATE_TIME_FORMAT "%Y.%m.%d %P %l:%M:%S %z"
diff --git a/library/msgs/kok.msg b/library/msgs/kok.msg
index 231853b..0869f20 100644
--- a/library/msgs/kok.msg
+++ b/library/msgs/kok.msg
@@ -1,39 +1,39 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset kok DAYS_OF_WEEK_FULL [list \
- "आदित्यवार"\
- "सोमवार"\
- "मंगळार"\
- "बुधवार"\
- "गुरुवार"\
- "शुक्रवार"\
- "शनिवार"]
+ "\u0906\u0926\u093f\u0924\u094d\u092f\u0935\u093e\u0930"\
+ "\u0938\u094b\u092e\u0935\u093e\u0930"\
+ "\u092e\u0902\u0917\u0933\u093e\u0930"\
+ "\u092c\u0941\u0927\u0935\u093e\u0930"\
+ "\u0917\u0941\u0930\u0941\u0935\u093e\u0930"\
+ "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930"\
+ "\u0936\u0928\u093f\u0935\u093e\u0930"]
::msgcat::mcset kok MONTHS_ABBREV [list \
- "जानेवारी"\
- "फेबृवारी"\
- "मार्च"\
- "एप्रिल"\
- "मे"\
- "जून"\
- "जुलै"\
- "ओगस्ट"\
- "सेप्टेंबर"\
- "ओक्टोबर"\
- "नोव्हेंबर"\
- "डिसेंबर"]
+ "\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940"\
+ "\u092b\u0947\u092c\u0943\u0935\u093e\u0930\u0940"\
+ "\u092e\u093e\u0930\u094d\u091a"\
+ "\u090f\u092a\u094d\u0930\u093f\u0932"\
+ "\u092e\u0947"\
+ "\u091c\u0942\u0928"\
+ "\u091c\u0941\u0932\u0948"\
+ "\u0913\u0917\u0938\u094d\u091f"\
+ "\u0938\u0947\u092a\u094d\u091f\u0947\u0902\u092c\u0930"\
+ "\u0913\u0915\u094d\u091f\u094b\u092c\u0930"\
+ "\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930"\
+ "\u0921\u093f\u0938\u0947\u0902\u092c\u0930"]
::msgcat::mcset kok MONTHS_FULL [list \
- "जानेवारी"\
- "फेब्रुवारी"\
- "मार्च"\
- "एप्रिल"\
- "मे"\
- "जून"\
- "जुलै"\
- "ओगस्ट"\
- "सेप्टेंबर"\
- "ओक्टोबर"\
- "नोव्हेंबर"\
- "डिसेंबर"]
- ::msgcat::mcset kok AM "क्रिस्तपूर्व"
- ::msgcat::mcset kok PM "क्रिस्तशखा"
+ "\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940"\
+ "\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940"\
+ "\u092e\u093e\u0930\u094d\u091a"\
+ "\u090f\u092a\u094d\u0930\u093f\u0932"\
+ "\u092e\u0947"\
+ "\u091c\u0942\u0928"\
+ "\u091c\u0941\u0932\u0948"\
+ "\u0913\u0917\u0938\u094d\u091f"\
+ "\u0938\u0947\u092a\u094d\u091f\u0947\u0902\u092c\u0930"\
+ "\u0913\u0915\u094d\u091f\u094b\u092c\u0930"\
+ "\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930"\
+ "\u0921\u093f\u0938\u0947\u0902\u092c\u0930"]
+ ::msgcat::mcset kok AM "\u0915\u094d\u0930\u093f\u0938\u094d\u0924\u092a\u0942\u0930\u094d\u0935"
+ ::msgcat::mcset kok PM "\u0915\u094d\u0930\u093f\u0938\u094d\u0924\u0936\u0916\u093e"
}
diff --git a/library/msgs/lt.msg b/library/msgs/lt.msg
index 15829a9..27b0985 100644
--- a/library/msgs/lt.msg
+++ b/library/msgs/lt.msg
@@ -7,15 +7,15 @@ namespace eval ::tcl::clock {
"Tr"\
"Kt"\
"Pn"\
- "Št"]
+ "\u0160t"]
::msgcat::mcset lt DAYS_OF_WEEK_FULL [list \
"Sekmadienis"\
"Pirmadienis"\
"Antradienis"\
- "Trečiadienis"\
+ "Tre\u010diadienis"\
"Ketvirtadienis"\
"Penktadienis"\
- "Šeštadienis"]
+ "\u0160e\u0161tadienis"]
::msgcat::mcset lt MONTHS_ABBREV [list \
"Sau"\
"Vas"\
@@ -34,15 +34,15 @@ namespace eval ::tcl::clock {
"Sausio"\
"Vasario"\
"Kovo"\
- "Balandžio"\
- "Gegužės"\
- "Birželio"\
+ "Baland\u017eio"\
+ "Gegu\u017e\u0117s"\
+ "Bir\u017eelio"\
"Liepos"\
- "Rugpjūčio"\
- "Rugsėjo"\
+ "Rugpj\u016b\u010dio"\
+ "Rugs\u0117jo"\
"Spalio"\
- "Lapkričio"\
- "Gruodžio"\
+ "Lapkri\u010dio"\
+ "Gruod\u017eio"\
""]
::msgcat::mcset lt BCE "pr.Kr."
::msgcat::mcset lt CE "po.Kr."
diff --git a/library/msgs/lv.msg b/library/msgs/lv.msg
index 730fd33..a037b15 100644
--- a/library/msgs/lv.msg
+++ b/library/msgs/lv.msg
@@ -9,10 +9,10 @@ namespace eval ::tcl::clock {
"Pk"\
"S"]
::msgcat::mcset lv DAYS_OF_WEEK_FULL [list \
- "svētdiena"\
+ "sv\u0113tdiena"\
"pirmdiena"\
"otrdiena"\
- "trešdiena"\
+ "tre\u0161diena"\
"ceturdien"\
"piektdiena"\
"sestdiena"]
@@ -22,8 +22,8 @@ namespace eval ::tcl::clock {
"Mar"\
"Apr"\
"Maijs"\
- "Jūn"\
- "Jūl"\
+ "J\u016bn"\
+ "J\u016bl"\
"Aug"\
"Sep"\
"Okt"\
@@ -31,21 +31,21 @@ namespace eval ::tcl::clock {
"Dec"\
""]
::msgcat::mcset lv MONTHS_FULL [list \
- "janvāris"\
- "februāris"\
+ "janv\u0101ris"\
+ "febru\u0101ris"\
"marts"\
- "aprīlis"\
+ "apr\u012blis"\
"maijs"\
- "jūnijs"\
- "jūlijs"\
+ "j\u016bnijs"\
+ "j\u016blijs"\
"augusts"\
"septembris"\
"oktobris"\
"novembris"\
"decembris"\
""]
- ::msgcat::mcset lv BCE "pmē"
- ::msgcat::mcset lv CE "mē"
+ ::msgcat::mcset lv BCE "pm\u0113"
+ ::msgcat::mcset lv CE "m\u0113"
::msgcat::mcset lv DATE_FORMAT "%Y.%e.%m"
::msgcat::mcset lv TIME_FORMAT "%H:%M:%S"
::msgcat::mcset lv DATE_TIME_FORMAT "%Y.%e.%m %H:%M:%S %z"
diff --git a/library/msgs/mk.msg b/library/msgs/mk.msg
index 9b7bd9d..41cf60d 100644
--- a/library/msgs/mk.msg
+++ b/library/msgs/mk.msg
@@ -1,51 +1,51 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset mk DAYS_OF_WEEK_ABBREV [list \
- "нед."\
- "пон."\
- "вт."\
- "сре."\
- "чет."\
- "пет."\
- "саб."]
+ "\u043d\u0435\u0434."\
+ "\u043f\u043e\u043d."\
+ "\u0432\u0442."\
+ "\u0441\u0440\u0435."\
+ "\u0447\u0435\u0442."\
+ "\u043f\u0435\u0442."\
+ "\u0441\u0430\u0431."]
::msgcat::mcset mk DAYS_OF_WEEK_FULL [list \
- "недела"\
- "понеделник"\
- "вторник"\
- "среда"\
- "четврток"\
- "петок"\
- "сабота"]
+ "\u043d\u0435\u0434\u0435\u043b\u0430"\
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a"\
+ "\u0432\u0442\u043e\u0440\u043d\u0438\u043a"\
+ "\u0441\u0440\u0435\u0434\u0430"\
+ "\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a"\
+ "\u043f\u0435\u0442\u043e\u043a"\
+ "\u0441\u0430\u0431\u043e\u0442\u0430"]
::msgcat::mcset mk MONTHS_ABBREV [list \
- "јан."\
- "фев."\
- "мар."\
- "апр."\
- "мај."\
- "јун."\
- "јул."\
- "авг."\
- "септ."\
- "окт."\
- "ноем."\
- "декем."\
+ "\u0458\u0430\u043d."\
+ "\u0444\u0435\u0432."\
+ "\u043c\u0430\u0440."\
+ "\u0430\u043f\u0440."\
+ "\u043c\u0430\u0458."\
+ "\u0458\u0443\u043d."\
+ "\u0458\u0443\u043b."\
+ "\u0430\u0432\u0433."\
+ "\u0441\u0435\u043f\u0442."\
+ "\u043e\u043a\u0442."\
+ "\u043d\u043e\u0435\u043c."\
+ "\u0434\u0435\u043a\u0435\u043c."\
""]
::msgcat::mcset mk MONTHS_FULL [list \
- "јануари"\
- "февруари"\
- "март"\
- "април"\
- "мај"\
- "јуни"\
- "јули"\
- "август"\
- "септември"\
- "октомври"\
- "ноември"\
- "декември"\
+ "\u0458\u0430\u043d\u0443\u0430\u0440\u0438"\
+ "\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438"\
+ "\u043c\u0430\u0440\u0442"\
+ "\u0430\u043f\u0440\u0438\u043b"\
+ "\u043c\u0430\u0458"\
+ "\u0458\u0443\u043d\u0438"\
+ "\u0458\u0443\u043b\u0438"\
+ "\u0430\u0432\u0433\u0443\u0441\u0442"\
+ "\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438"\
+ "\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438"\
+ "\u043d\u043e\u0435\u043c\u0432\u0440\u0438"\
+ "\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438"\
""]
- ::msgcat::mcset mk BCE "пр.н.е."
- ::msgcat::mcset mk CE "ае."
+ ::msgcat::mcset mk BCE "\u043f\u0440.\u043d.\u0435."
+ ::msgcat::mcset mk CE "\u0430\u0435."
::msgcat::mcset mk DATE_FORMAT "%e.%m.%Y"
::msgcat::mcset mk TIME_FORMAT "%H:%M:%S %z"
::msgcat::mcset mk DATE_TIME_FORMAT "%e.%m.%Y %H:%M:%S %z %z"
diff --git a/library/msgs/mr.msg b/library/msgs/mr.msg
index e475615..cea427a 100644
--- a/library/msgs/mr.msg
+++ b/library/msgs/mr.msg
@@ -1,39 +1,39 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset mr DAYS_OF_WEEK_FULL [list \
- "रविवार"\
- "सोमवार"\
- "मंगळवार"\
- "मंगळवार"\
- "गुरुवार"\
- "शुक्रवार"\
- "शनिवार"]
+ "\u0930\u0935\u093f\u0935\u093e\u0930"\
+ "\u0938\u094b\u092e\u0935\u093e\u0930"\
+ "\u092e\u0902\u0917\u0933\u0935\u093e\u0930"\
+ "\u092e\u0902\u0917\u0933\u0935\u093e\u0930"\
+ "\u0917\u0941\u0930\u0941\u0935\u093e\u0930"\
+ "\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930"\
+ "\u0936\u0928\u093f\u0935\u093e\u0930"]
::msgcat::mcset mr MONTHS_ABBREV [list \
- "जानेवारी"\
- "फेबृवारी"\
- "मार्च"\
- "एप्रिल"\
- "मे"\
- "जून"\
- "जुलै"\
- "ओगस्ट"\
- "सेप्टेंबर"\
- "ओक्टोबर"\
- "नोव्हेंबर"\
- "डिसेंबर"]
+ "\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940"\
+ "\u092b\u0947\u092c\u0943\u0935\u093e\u0930\u0940"\
+ "\u092e\u093e\u0930\u094d\u091a"\
+ "\u090f\u092a\u094d\u0930\u093f\u0932"\
+ "\u092e\u0947"\
+ "\u091c\u0942\u0928"\
+ "\u091c\u0941\u0932\u0948"\
+ "\u0913\u0917\u0938\u094d\u091f"\
+ "\u0938\u0947\u092a\u094d\u091f\u0947\u0902\u092c\u0930"\
+ "\u0913\u0915\u094d\u091f\u094b\u092c\u0930"\
+ "\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930"\
+ "\u0921\u093f\u0938\u0947\u0902\u092c\u0930"]
::msgcat::mcset mr MONTHS_FULL [list \
- "जानेवारी"\
- "फेबृवारी"\
- "मार्च"\
- "एप्रिल"\
- "मे"\
- "जून"\
- "जुलै"\
- "ओगस्ट"\
- "सेप्टेंबर"\
- "ओक्टोबर"\
- "नोव्हेंबर"\
- "डिसेंबर"]
+ "\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940"\
+ "\u092b\u0947\u092c\u0943\u0935\u093e\u0930\u0940"\
+ "\u092e\u093e\u0930\u094d\u091a"\
+ "\u090f\u092a\u094d\u0930\u093f\u0932"\
+ "\u092e\u0947"\
+ "\u091c\u0942\u0928"\
+ "\u091c\u0941\u0932\u0948"\
+ "\u0913\u0917\u0938\u094d\u091f"\
+ "\u0938\u0947\u092a\u094d\u091f\u0947\u0902\u092c\u0930"\
+ "\u0913\u0915\u094d\u091f\u094b\u092c\u0930"\
+ "\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930"\
+ "\u0921\u093f\u0938\u0947\u0902\u092c\u0930"]
::msgcat::mcset mr AM "BC"
::msgcat::mcset mr PM "AD"
}
diff --git a/library/msgs/mt.msg b/library/msgs/mt.msg
index c479e47..ddd5446 100644
--- a/library/msgs/mt.msg
+++ b/library/msgs/mt.msg
@@ -1,19 +1,19 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset mt DAYS_OF_WEEK_ABBREV [list \
- "Ħad"\
+ "\u0126ad"\
"Tne"\
"Tli"\
"Erb"\
- "Ħam"\
- "Ġim"]
+ "\u0126am"\
+ "\u0120im"]
::msgcat::mcset mt MONTHS_ABBREV [list \
"Jan"\
"Fra"\
"Mar"\
"Apr"\
"Mej"\
- "Ġun"\
+ "\u0120un"\
"Lul"\
"Awi"\
"Set"\
diff --git a/library/msgs/nb.msg b/library/msgs/nb.msg
index 4dd76c7..90d49a3 100644
--- a/library/msgs/nb.msg
+++ b/library/msgs/nb.msg
@@ -1,21 +1,21 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset nb DAYS_OF_WEEK_ABBREV [list \
- "sø"\
+ "s\u00f8"\
"ma"\
"ti"\
"on"\
"to"\
"fr"\
- "lø"]
+ "l\u00f8"]
::msgcat::mcset nb DAYS_OF_WEEK_FULL [list \
- "søndag"\
+ "s\u00f8ndag"\
"mandag"\
"tirsdag"\
"onsdag"\
"torsdag"\
"fredag"\
- "lørdag"]
+ "l\u00f8rdag"]
::msgcat::mcset nb MONTHS_ABBREV [list \
"jan"\
"feb"\
diff --git a/library/msgs/nn.msg b/library/msgs/nn.msg
index b61a2dd..bd61ac9 100644
--- a/library/msgs/nn.msg
+++ b/library/msgs/nn.msg
@@ -2,7 +2,7 @@
namespace eval ::tcl::clock {
::msgcat::mcset nn DAYS_OF_WEEK_ABBREV [list \
"su"\
- "må"\
+ "m\u00e5"\
"ty"\
"on"\
"to"\
@@ -10,7 +10,7 @@ namespace eval ::tcl::clock {
"lau"]
::msgcat::mcset nn DAYS_OF_WEEK_FULL [list \
"sundag"\
- "måndag"\
+ "m\u00e5ndag"\
"tysdag"\
"onsdag"\
"torsdag"\
diff --git a/library/msgs/pl.msg b/library/msgs/pl.msg
index 821eea7..d206f4b 100644
--- a/library/msgs/pl.msg
+++ b/library/msgs/pl.msg
@@ -4,17 +4,17 @@ namespace eval ::tcl::clock {
"N"\
"Pn"\
"Wt"\
- "Śr"\
+ "\u015ar"\
"Cz"\
"Pt"\
"So"]
::msgcat::mcset pl DAYS_OF_WEEK_FULL [list \
"niedziela"\
- "poniedziałek"\
+ "poniedzia\u0142ek"\
"wtorek"\
- "środa"\
+ "\u015broda"\
"czwartek"\
- "piątek"\
+ "pi\u0105tek"\
"sobota"]
::msgcat::mcset pl MONTHS_ABBREV [list \
"sty"\
@@ -26,23 +26,23 @@ namespace eval ::tcl::clock {
"lip"\
"sie"\
"wrz"\
- "paź"\
+ "pa\u017a"\
"lis"\
"gru"\
""]
::msgcat::mcset pl MONTHS_FULL [list \
- "styczeń"\
+ "stycze\u0144"\
"luty"\
"marzec"\
- "kwiecień"\
+ "kwiecie\u0144"\
"maj"\
"czerwiec"\
"lipiec"\
- "sierpień"\
- "wrzesień"\
- "październik"\
+ "sierpie\u0144"\
+ "wrzesie\u0144"\
+ "pa\u017adziernik"\
"listopad"\
- "grudzień"\
+ "grudzie\u0144"\
""]
::msgcat::mcset pl BCE "p.n.e."
::msgcat::mcset pl CE "n.e."
diff --git a/library/msgs/pt.msg b/library/msgs/pt.msg
index 425c1f6..96fdb35 100644
--- a/library/msgs/pt.msg
+++ b/library/msgs/pt.msg
@@ -7,15 +7,15 @@ namespace eval ::tcl::clock {
"Qua"\
"Qui"\
"Sex"\
- "Sáb"]
+ "S\u00e1b"]
::msgcat::mcset pt DAYS_OF_WEEK_FULL [list \
"Domingo"\
"Segunda-feira"\
- "Terça-feira"\
+ "Ter\u00e7a-feira"\
"Quarta-feira"\
"Quinta-feira"\
"Sexta-feira"\
- "Sábado"]
+ "S\u00e1bado"]
::msgcat::mcset pt MONTHS_ABBREV [list \
"Jan"\
"Fev"\
@@ -33,7 +33,7 @@ namespace eval ::tcl::clock {
::msgcat::mcset pt MONTHS_FULL [list \
"Janeiro"\
"Fevereiro"\
- "Março"\
+ "Mar\u00e7o"\
"Abril"\
"Maio"\
"Junho"\
diff --git a/library/msgs/ro.msg b/library/msgs/ro.msg
index f4452ba..bdd7c61 100644
--- a/library/msgs/ro.msg
+++ b/library/msgs/ro.msg
@@ -9,13 +9,13 @@ namespace eval ::tcl::clock {
"V"\
"S"]
::msgcat::mcset ro DAYS_OF_WEEK_FULL [list \
- "duminică"\
+ "duminic\u0103"\
"luni"\
- "marţi"\
+ "mar\u0163i"\
"miercuri"\
"joi"\
"vineri"\
- "sîmbătă"]
+ "s\u00eemb\u0103t\u0103"]
::msgcat::mcset ro MONTHS_ABBREV [list \
"Ian"\
"Feb"\
@@ -45,7 +45,7 @@ namespace eval ::tcl::clock {
"decembrie"\
""]
::msgcat::mcset ro BCE "d.C."
- ::msgcat::mcset ro CE "î.d.C."
+ ::msgcat::mcset ro CE "\u00ee.d.C."
::msgcat::mcset ro DATE_FORMAT "%d.%m.%Y"
::msgcat::mcset ro TIME_FORMAT "%H:%M:%S"
::msgcat::mcset ro DATE_TIME_FORMAT "%d.%m.%Y %H:%M:%S %z"
diff --git a/library/msgs/ru.msg b/library/msgs/ru.msg
index 983a253..65b075d 100644
--- a/library/msgs/ru.msg
+++ b/library/msgs/ru.msg
@@ -1,51 +1,51 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset ru DAYS_OF_WEEK_ABBREV [list \
- "Вс"\
- "Пн"\
- "Вт"\
- "Ср"\
- "Чт"\
- "Пт"\
- "Сб"]
+ "\u0412\u0441"\
+ "\u041f\u043d"\
+ "\u0412\u0442"\
+ "\u0421\u0440"\
+ "\u0427\u0442"\
+ "\u041f\u0442"\
+ "\u0421\u0431"]
::msgcat::mcset ru DAYS_OF_WEEK_FULL [list \
- "воскресенье"\
- "понедельник"\
- "вторник"\
- "среда"\
- "четверг"\
- "пятница"\
- "суббота"]
+ "\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435"\
+ "\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a"\
+ "\u0432\u0442\u043e\u0440\u043d\u0438\u043a"\
+ "\u0441\u0440\u0435\u0434\u0430"\
+ "\u0447\u0435\u0442\u0432\u0435\u0440\u0433"\
+ "\u043f\u044f\u0442\u043d\u0438\u0446\u0430"\
+ "\u0441\u0443\u0431\u0431\u043e\u0442\u0430"]
::msgcat::mcset ru MONTHS_ABBREV [list \
- "янв"\
- "фев"\
- "мар"\
- "апр"\
- "май"\
- "июн"\
- "июл"\
- "авг"\
- "сен"\
- "окт"\
- "ноя"\
- "дек"\
+ "\u044f\u043d\u0432"\
+ "\u0444\u0435\u0432"\
+ "\u043c\u0430\u0440"\
+ "\u0430\u043f\u0440"\
+ "\u043c\u0430\u0439"\
+ "\u0438\u044e\u043d"\
+ "\u0438\u044e\u043b"\
+ "\u0430\u0432\u0433"\
+ "\u0441\u0435\u043d"\
+ "\u043e\u043a\u0442"\
+ "\u043d\u043e\u044f"\
+ "\u0434\u0435\u043a"\
""]
::msgcat::mcset ru MONTHS_FULL [list \
- "Январь"\
- "Февраль"\
- "Март"\
- "Апрель"\
- "Май"\
- "Июнь"\
- "Июль"\
- "Август"\
- "Сентябрь"\
- "Октябрь"\
- "Ноябрь"\
- "Декабрь"\
+ "\u042f\u043d\u0432\u0430\u0440\u044c"\
+ "\u0424\u0435\u0432\u0440\u0430\u043b\u044c"\
+ "\u041c\u0430\u0440\u0442"\
+ "\u0410\u043f\u0440\u0435\u043b\u044c"\
+ "\u041c\u0430\u0439"\
+ "\u0418\u044e\u043d\u044c"\
+ "\u0418\u044e\u043b\u044c"\
+ "\u0410\u0432\u0433\u0443\u0441\u0442"\
+ "\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c"\
+ "\u041e\u043a\u0442\u044f\u0431\u0440\u044c"\
+ "\u041d\u043e\u044f\u0431\u0440\u044c"\
+ "\u0414\u0435\u043a\u0430\u0431\u0440\u044c"\
""]
- ::msgcat::mcset ru BCE "до н.э."
- ::msgcat::mcset ru CE "н.э."
+ ::msgcat::mcset ru BCE "\u0434\u043e \u043d.\u044d."
+ ::msgcat::mcset ru CE "\u043d.\u044d."
::msgcat::mcset ru DATE_FORMAT "%d.%m.%Y"
::msgcat::mcset ru TIME_FORMAT "%k:%M:%S"
::msgcat::mcset ru DATE_TIME_FORMAT "%d.%m.%Y %k:%M:%S %z"
diff --git a/library/msgs/sh.msg b/library/msgs/sh.msg
index 2e4143d..6ee0fc7 100644
--- a/library/msgs/sh.msg
+++ b/library/msgs/sh.msg
@@ -5,7 +5,7 @@ namespace eval ::tcl::clock {
"Pon"\
"Uto"\
"Sre"\
- "Čet"\
+ "\u010cet"\
"Pet"\
"Sub"]
::msgcat::mcset sh DAYS_OF_WEEK_FULL [list \
@@ -13,7 +13,7 @@ namespace eval ::tcl::clock {
"Ponedeljak"\
"Utorak"\
"Sreda"\
- "Četvrtak"\
+ "\u010cetvrtak"\
"Petak"\
"Subota"]
::msgcat::mcset sh MONTHS_ABBREV [list \
diff --git a/library/msgs/sk.msg b/library/msgs/sk.msg
index dc6f6b6..9b2f0aa 100644
--- a/library/msgs/sk.msg
+++ b/library/msgs/sk.msg
@@ -5,15 +5,15 @@ namespace eval ::tcl::clock {
"Po"\
"Ut"\
"St"\
- "Št"\
+ "\u0160t"\
"Pa"\
"So"]
::msgcat::mcset sk DAYS_OF_WEEK_FULL [list \
- "Nedeľe"\
+ "Nede\u013ee"\
"Pondelok"\
"Utorok"\
"Streda"\
- "Štvrtok"\
+ "\u0160tvrtok"\
"Piatok"\
"Sobota"]
::msgcat::mcset sk MONTHS_ABBREV [list \
@@ -21,9 +21,9 @@ namespace eval ::tcl::clock {
"feb"\
"mar"\
"apr"\
- "máj"\
- "jún"\
- "júl"\
+ "m\u00e1j"\
+ "j\u00fan"\
+ "j\u00fal"\
"aug"\
"sep"\
"okt"\
@@ -31,16 +31,16 @@ namespace eval ::tcl::clock {
"dec"\
""]
::msgcat::mcset sk MONTHS_FULL [list \
- "január"\
- "február"\
+ "janu\u00e1r"\
+ "febru\u00e1r"\
"marec"\
- "apríl"\
- "máj"\
- "jún"\
- "júl"\
+ "apr\u00edl"\
+ "m\u00e1j"\
+ "j\u00fan"\
+ "j\u00fal"\
"august"\
"september"\
- "október"\
+ "okt\u00f3ber"\
"november"\
"december"\
""]
diff --git a/library/msgs/sl.msg b/library/msgs/sl.msg
index 2ee0a03..42bc509 100644
--- a/library/msgs/sl.msg
+++ b/library/msgs/sl.msg
@@ -5,7 +5,7 @@ namespace eval ::tcl::clock {
"Pon"\
"Tor"\
"Sre"\
- "Čet"\
+ "\u010cet"\
"Pet"\
"Sob"]
::msgcat::mcset sl DAYS_OF_WEEK_FULL [list \
@@ -13,7 +13,7 @@ namespace eval ::tcl::clock {
"Ponedeljek"\
"Torek"\
"Sreda"\
- "Četrtek"\
+ "\u010cetrtek"\
"Petek"\
"Sobota"]
::msgcat::mcset sl MONTHS_ABBREV [list \
@@ -44,7 +44,7 @@ namespace eval ::tcl::clock {
"november"\
"december"\
""]
- ::msgcat::mcset sl BCE "pr.n.š."
+ ::msgcat::mcset sl BCE "pr.n.\u0161."
::msgcat::mcset sl CE "po Kr."
::msgcat::mcset sl DATE_FORMAT "%Y.%m.%e"
::msgcat::mcset sl TIME_FORMAT "%k:%M:%S"
diff --git a/library/msgs/sq.msg b/library/msgs/sq.msg
index 65da407..8fb1fce 100644
--- a/library/msgs/sq.msg
+++ b/library/msgs/sq.msg
@@ -2,20 +2,20 @@
namespace eval ::tcl::clock {
::msgcat::mcset sq DAYS_OF_WEEK_ABBREV [list \
"Die"\
- "Hën"\
+ "H\u00ebn"\
"Mar"\
- "Mër"\
+ "M\u00ebr"\
"Enj"\
"Pre"\
"Sht"]
::msgcat::mcset sq DAYS_OF_WEEK_FULL [list \
"e diel"\
- "e hënë"\
- "e martë"\
- "e mërkurë"\
+ "e h\u00ebn\u00eb"\
+ "e mart\u00eb"\
+ "e m\u00ebrkur\u00eb"\
"e enjte"\
"e premte"\
- "e shtunë"]
+ "e shtun\u00eb"]
::msgcat::mcset sq MONTHS_ABBREV [list \
"Jan"\
"Shk"\
@@ -27,7 +27,7 @@ namespace eval ::tcl::clock {
"Gsh"\
"Sht"\
"Tet"\
- "Nën"\
+ "N\u00ebn"\
"Dhj"\
""]
::msgcat::mcset sq MONTHS_FULL [list \
@@ -41,7 +41,7 @@ namespace eval ::tcl::clock {
"gusht"\
"shtator"\
"tetor"\
- "nëntor"\
+ "n\u00ebntor"\
"dhjetor"\
""]
::msgcat::mcset sq BCE "p.e.r."
diff --git a/library/msgs/sr.msg b/library/msgs/sr.msg
index 3d84d6c..7576668 100644
--- a/library/msgs/sr.msg
+++ b/library/msgs/sr.msg
@@ -1,51 +1,51 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset sr DAYS_OF_WEEK_ABBREV [list \
- "Нед"\
- "Пон"\
- "Уто"\
- "Сре"\
- "Чет"\
- "Пет"\
- "Суб"]
+ "\u041d\u0435\u0434"\
+ "\u041f\u043e\u043d"\
+ "\u0423\u0442\u043e"\
+ "\u0421\u0440\u0435"\
+ "\u0427\u0435\u0442"\
+ "\u041f\u0435\u0442"\
+ "\u0421\u0443\u0431"]
::msgcat::mcset sr DAYS_OF_WEEK_FULL [list \
- "Недеља"\
- "Понедељак"\
- "Уторак"\
- "Среда"\
- "Четвртак"\
- "Петак"\
- "Субота"]
+ "\u041d\u0435\u0434\u0435\u0459\u0430"\
+ "\u041f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a"\
+ "\u0423\u0442\u043e\u0440\u0430\u043a"\
+ "\u0421\u0440\u0435\u0434\u0430"\
+ "\u0427\u0435\u0442\u0432\u0440\u0442\u0430\u043a"\
+ "\u041f\u0435\u0442\u0430\u043a"\
+ "\u0421\u0443\u0431\u043e\u0442\u0430"]
::msgcat::mcset sr MONTHS_ABBREV [list \
- "Јан"\
- "Феб"\
- "Мар"\
- "Апр"\
- "Мај"\
- "Јун"\
- "Јул"\
- "Авг"\
- "Сеп"\
- "Окт"\
- "Нов"\
- "Дец"\
+ "\u0408\u0430\u043d"\
+ "\u0424\u0435\u0431"\
+ "\u041c\u0430\u0440"\
+ "\u0410\u043f\u0440"\
+ "\u041c\u0430\u0458"\
+ "\u0408\u0443\u043d"\
+ "\u0408\u0443\u043b"\
+ "\u0410\u0432\u0433"\
+ "\u0421\u0435\u043f"\
+ "\u041e\u043a\u0442"\
+ "\u041d\u043e\u0432"\
+ "\u0414\u0435\u0446"\
""]
::msgcat::mcset sr MONTHS_FULL [list \
- "Јануар"\
- "Фебруар"\
- "Март"\
- "Април"\
- "Мај"\
- "Јуни"\
- "Јули"\
- "Август"\
- "Септембар"\
- "Октобар"\
- "Новембар"\
- "Децембар"\
+ "\u0408\u0430\u043d\u0443\u0430\u0440"\
+ "\u0424\u0435\u0431\u0440\u0443\u0430\u0440"\
+ "\u041c\u0430\u0440\u0442"\
+ "\u0410\u043f\u0440\u0438\u043b"\
+ "\u041c\u0430\u0458"\
+ "\u0408\u0443\u043d\u0438"\
+ "\u0408\u0443\u043b\u0438"\
+ "\u0410\u0432\u0433\u0443\u0441\u0442"\
+ "\u0421\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440"\
+ "\u041e\u043a\u0442\u043e\u0431\u0430\u0440"\
+ "\u041d\u043e\u0432\u0435\u043c\u0431\u0430\u0440"\
+ "\u0414\u0435\u0446\u0435\u043c\u0431\u0430\u0440"\
""]
- ::msgcat::mcset sr BCE "п. н. е."
- ::msgcat::mcset sr CE "н. е"
+ ::msgcat::mcset sr BCE "\u043f. \u043d. \u0435."
+ ::msgcat::mcset sr CE "\u043d. \u0435"
::msgcat::mcset sr DATE_FORMAT "%Y.%m.%e"
::msgcat::mcset sr TIME_FORMAT "%k.%M.%S"
::msgcat::mcset sr DATE_TIME_FORMAT "%Y.%m.%e %k.%M.%S %z"
diff --git a/library/msgs/sv.msg b/library/msgs/sv.msg
index 5716092..f7a67c6 100644
--- a/library/msgs/sv.msg
+++ b/library/msgs/sv.msg
@@ -1,21 +1,21 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset sv DAYS_OF_WEEK_ABBREV [list \
- "sö"\
- "må"\
+ "s\u00f6"\
+ "m\u00e5"\
"ti"\
"on"\
"to"\
"fr"\
- "lö"]
+ "l\u00f6"]
::msgcat::mcset sv DAYS_OF_WEEK_FULL [list \
- "söndag"\
- "måndag"\
+ "s\u00f6ndag"\
+ "m\u00e5ndag"\
"tisdag"\
"onsdag"\
"torsdag"\
"fredag"\
- "lördag"]
+ "l\u00f6rdag"]
::msgcat::mcset sv MONTHS_ABBREV [list \
"jan"\
"feb"\
diff --git a/library/msgs/ta.msg b/library/msgs/ta.msg
index ea62552..4abb90c 100644
--- a/library/msgs/ta.msg
+++ b/library/msgs/ta.msg
@@ -1,39 +1,39 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset ta DAYS_OF_WEEK_FULL [list \
- "ஞாயிறு"\
- "திங்கள்"\
- "செவ்வாய்"\
- "புதன்"\
- "வியாழன்"\
- "வெள்ளி"\
- "சனி"]
+ "\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1"\
+ "\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd"\
+ "\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd"\
+ "\u0baa\u0bc1\u0ba4\u0ba9\u0bcd"\
+ "\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd"\
+ "\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf"\
+ "\u0b9a\u0ba9\u0bbf"]
::msgcat::mcset ta MONTHS_ABBREV [list \
- "ஜனவரி"\
- "பெப்ரவரி"\
- "மார்ச்"\
- "ஏப்ரல்"\
- "மே"\
- "ஜூன்"\
- "ஜூலை"\
- "ஆகஸ்ட்"\
- "செப்டம்பர்"\
- "அக்டோபர்"\
- "நவம்பர்"\
- "டிசம்பர்r"]
+ "\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf"\
+ "\u0baa\u0bc6\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf"\
+ "\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd"\
+ "\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd"\
+ "\u0bae\u0bc7"\
+ "\u0b9c\u0bc2\u0ba9\u0bcd"\
+ "\u0b9c\u0bc2\u0bb2\u0bc8"\
+ "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd"\
+ "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd"\
+ "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd"\
+ "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd"\
+ "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcdr"]
::msgcat::mcset ta MONTHS_FULL [list \
- "ஜனவரி"\
- "பெப்ரவரி"\
- "மார்ச்"\
- "ஏப்ரல்"\
- "மே"\
- "ஜூன்"\
- "ஜூலை"\
- "ஆகஸ்ட்"\
- "செப்டம்பர்"\
- "அக்டோபர்"\
- "நவம்பர்"\
- "டிசம்பர்r"]
- ::msgcat::mcset ta AM "கிமு"
- ::msgcat::mcset ta PM "கிபி"
+ "\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf"\
+ "\u0baa\u0bc6\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf"\
+ "\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd"\
+ "\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd"\
+ "\u0bae\u0bc7"\
+ "\u0b9c\u0bc2\u0ba9\u0bcd"\
+ "\u0b9c\u0bc2\u0bb2\u0bc8"\
+ "\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd"\
+ "\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bae\u0bcd\u0baa\u0bb0\u0bcd"\
+ "\u0b85\u0b95\u0bcd\u0b9f\u0bcb\u0baa\u0bb0\u0bcd"\
+ "\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd"\
+ "\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcdr"]
+ ::msgcat::mcset ta AM "\u0b95\u0bbf\u0bae\u0bc1"
+ ::msgcat::mcset ta PM "\u0b95\u0bbf\u0baa\u0bbf"
}
diff --git a/library/msgs/te.msg b/library/msgs/te.msg
index f35ece4..6111473 100644
--- a/library/msgs/te.msg
+++ b/library/msgs/te.msg
@@ -1,47 +1,47 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset te DAYS_OF_WEEK_ABBREV [list \
- "ఆది"\
- "సోమ"\
- "మంగళ"\
- "బుధ"\
- "గురు"\
- "శుక్ర"\
- "శని"]
+ "\u0c06\u0c26\u0c3f"\
+ "\u0c38\u0c4b\u0c2e"\
+ "\u0c2e\u0c02\u0c17\u0c33"\
+ "\u0c2c\u0c41\u0c27"\
+ "\u0c17\u0c41\u0c30\u0c41"\
+ "\u0c36\u0c41\u0c15\u0c4d\u0c30"\
+ "\u0c36\u0c28\u0c3f"]
::msgcat::mcset te DAYS_OF_WEEK_FULL [list \
- "ఆదివారం"\
- "సోమవారం"\
- "మంగళవారం"\
- "బుధవారం"\
- "గురువారం"\
- "శుక్రవారం"\
- "శనివారం"]
+ "\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02"\
+ "\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02"\
+ "\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02"\
+ "\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02"\
+ "\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02"\
+ "\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02"\
+ "\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02"]
::msgcat::mcset te MONTHS_ABBREV [list \
- "జనవరి"\
- "ఫిబ్రవరి"\
- "మార్చి"\
- "ఏప్రిల్"\
- "మే"\
- "జూన్"\
- "జూలై"\
- "ఆగస్టు"\
- "సెప్టెంబర్"\
- "అక్టోబర్"\
- "నవంబర్"\
- "డిసెంబర్"\
+ "\u0c1c\u0c28\u0c35\u0c30\u0c3f"\
+ "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f"\
+ "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f"\
+ "\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d"\
+ "\u0c2e\u0c47"\
+ "\u0c1c\u0c42\u0c28\u0c4d"\
+ "\u0c1c\u0c42\u0c32\u0c48"\
+ "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41"\
+ "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d"\
+ "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d"\
+ "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d"\
+ "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"\
""]
::msgcat::mcset te MONTHS_FULL [list \
- "జనవరి"\
- "ఫిబ్రవరి"\
- "మార్చి"\
- "ఏప్రిల్"\
- "మే"\
- "జూన్"\
- "జూలై"\
- "ఆగస్టు"\
- "సెప్టెంబర్"\
- "అక్టోబర్"\
- "నవంబర్"\
- "డిసెంబర్"\
+ "\u0c1c\u0c28\u0c35\u0c30\u0c3f"\
+ "\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f"\
+ "\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f"\
+ "\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d"\
+ "\u0c2e\u0c47"\
+ "\u0c1c\u0c42\u0c28\u0c4d"\
+ "\u0c1c\u0c42\u0c32\u0c48"\
+ "\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41"\
+ "\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d"\
+ "\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d"\
+ "\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d"\
+ "\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d"\
""]
}
diff --git a/library/msgs/te_in.msg b/library/msgs/te_in.msg
index 84dd2b3..61638b5 100644
--- a/library/msgs/te_in.msg
+++ b/library/msgs/te_in.msg
@@ -1,7 +1,7 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
- ::msgcat::mcset te_IN AM "పూర్వాహ్న"
- ::msgcat::mcset te_IN PM "అపరాహ్న"
+ ::msgcat::mcset te_IN AM "\u0c2a\u0c42\u0c30\u0c4d\u0c35\u0c3e\u0c39\u0c4d\u0c28"
+ ::msgcat::mcset te_IN PM "\u0c05\u0c2a\u0c30\u0c3e\u0c39\u0c4d\u0c28"
::msgcat::mcset te_IN DATE_FORMAT "%d/%m/%Y"
::msgcat::mcset te_IN TIME_FORMAT_12 "%I:%M:%S %P"
::msgcat::mcset te_IN DATE_TIME_FORMAT "%d/%m/%Y %I:%M:%S %P %z"
diff --git a/library/msgs/th.msg b/library/msgs/th.msg
index edaa149..7486c35 100644
--- a/library/msgs/th.msg
+++ b/library/msgs/th.msg
@@ -1,53 +1,53 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset th DAYS_OF_WEEK_ABBREV [list \
- "อา."\
- "จ."\
- "อ."\
- "พ."\
- "พฤ."\
- "ศ."\
- "ส."]
+ "\u0e2d\u0e32."\
+ "\u0e08."\
+ "\u0e2d."\
+ "\u0e1e."\
+ "\u0e1e\u0e24."\
+ "\u0e28."\
+ "\u0e2a."]
::msgcat::mcset th DAYS_OF_WEEK_FULL [list \
- "วันอาทิตย์"\
- "วันจันทร์"\
- "วันอังคาร"\
- "วันพุธ"\
- "วันพฤหัสบดี"\
- "วันศุกร์"\
- "วันเสาร์"]
+ "\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c"\
+ "\u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c"\
+ "\u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23"\
+ "\u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18"\
+ "\u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35"\
+ "\u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c"\
+ "\u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c"]
::msgcat::mcset th MONTHS_ABBREV [list \
- "ม.ค."\
- "ก.พ."\
- "มี.ค."\
- "เม.ย."\
- "พ.ค."\
- "มิ.ย."\
- "ก.ค."\
- "ส.ค."\
- "ก.ย."\
- "ต.ค."\
- "พ.ย."\
- "ธ.ค."\
+ "\u0e21.\u0e04."\
+ "\u0e01.\u0e1e."\
+ "\u0e21\u0e35.\u0e04."\
+ "\u0e40\u0e21.\u0e22."\
+ "\u0e1e.\u0e04."\
+ "\u0e21\u0e34.\u0e22."\
+ "\u0e01.\u0e04."\
+ "\u0e2a.\u0e04."\
+ "\u0e01.\u0e22."\
+ "\u0e15.\u0e04."\
+ "\u0e1e.\u0e22."\
+ "\u0e18.\u0e04."\
""]
::msgcat::mcset th MONTHS_FULL [list \
- "มกราคม"\
- "กุมภาพันธ์"\
- "มีนาคม"\
- "เมษายน"\
- "พฤษภาคม"\
- "มิถุนายน"\
- "กรกฎาคม"\
- "สิงหาคม"\
- "กันยายน"\
- "ตุลาคม"\
- "พฤศจิกายน"\
- "ธันวาคม"\
+ "\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21"\
+ "\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c"\
+ "\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21"\
+ "\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19"\
+ "\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21"\
+ "\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19"\
+ "\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21"\
+ "\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21"\
+ "\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19"\
+ "\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21"\
+ "\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19"\
+ "\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21"\
""]
- ::msgcat::mcset th BCE "ลที่"
- ::msgcat::mcset th CE "ค.ศ."
- ::msgcat::mcset th AM "ก่อนเที่ยง"
- ::msgcat::mcset th PM "หลังเที่ยง"
+ ::msgcat::mcset th BCE "\u0e25\u0e17\u0e35\u0e48"
+ ::msgcat::mcset th CE "\u0e04.\u0e28."
+ ::msgcat::mcset th AM "\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"
+ ::msgcat::mcset th PM "\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"
::msgcat::mcset th DATE_FORMAT "%e/%m/%Y"
::msgcat::mcset th TIME_FORMAT "%k:%M:%S"
::msgcat::mcset th DATE_TIME_FORMAT "%e/%m/%Y %k:%M:%S %z"
diff --git a/library/msgs/tr.msg b/library/msgs/tr.msg
index 12869ee..7b2ecf9 100644
--- a/library/msgs/tr.msg
+++ b/library/msgs/tr.msg
@@ -4,27 +4,27 @@ namespace eval ::tcl::clock {
"Paz"\
"Pzt"\
"Sal"\
- "Çar"\
+ "\u00c7ar"\
"Per"\
"Cum"\
"Cmt"]
::msgcat::mcset tr DAYS_OF_WEEK_FULL [list \
"Pazar"\
"Pazartesi"\
- "Salı"\
- "Çarşamba"\
- "Perşembe"\
+ "Sal\u0131"\
+ "\u00c7ar\u015famba"\
+ "Per\u015fembe"\
"Cuma"\
"Cumartesi"]
::msgcat::mcset tr MONTHS_ABBREV [list \
"Oca"\
- "Şub"\
+ "\u015eub"\
"Mar"\
"Nis"\
"May"\
"Haz"\
"Tem"\
- "Ağu"\
+ "A\u011fu"\
"Eyl"\
"Eki"\
"Kas"\
@@ -32,17 +32,17 @@ namespace eval ::tcl::clock {
""]
::msgcat::mcset tr MONTHS_FULL [list \
"Ocak"\
- "Şubat"\
+ "\u015eubat"\
"Mart"\
"Nisan"\
- "Mayıs"\
+ "May\u0131s"\
"Haziran"\
"Temmuz"\
- "Ağustos"\
- "Eylül"\
+ "A\u011fustos"\
+ "Eyl\u00fcl"\
"Ekim"\
- "Kasım"\
- "Aralık"\
+ "Kas\u0131m"\
+ "Aral\u0131k"\
""]
::msgcat::mcset tr DATE_FORMAT "%d.%m.%Y"
::msgcat::mcset tr TIME_FORMAT "%H:%M:%S"
diff --git a/library/msgs/uk.msg b/library/msgs/uk.msg
index 42eb095..7d4c64a 100644
--- a/library/msgs/uk.msg
+++ b/library/msgs/uk.msg
@@ -1,51 +1,51 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset uk DAYS_OF_WEEK_ABBREV [list \
- "нд"\
- "пн"\
- "вт"\
- "ср"\
- "чт"\
- "пт"\
- "сб"]
+ "\u043d\u0434"\
+ "\u043f\u043d"\
+ "\u0432\u0442"\
+ "\u0441\u0440"\
+ "\u0447\u0442"\
+ "\u043f\u0442"\
+ "\u0441\u0431"]
::msgcat::mcset uk DAYS_OF_WEEK_FULL [list \
- "неділя"\
- "понеділок"\
- "вівторок"\
- "середа"\
- "четвер"\
- "п'ятниця"\
- "субота"]
+ "\u043d\u0435\u0434\u0456\u043b\u044f"\
+ "\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a"\
+ "\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a"\
+ "\u0441\u0435\u0440\u0435\u0434\u0430"\
+ "\u0447\u0435\u0442\u0432\u0435\u0440"\
+ "\u043f'\u044f\u0442\u043d\u0438\u0446\u044f"\
+ "\u0441\u0443\u0431\u043e\u0442\u0430"]
::msgcat::mcset uk MONTHS_ABBREV [list \
- "січ"\
- "лют"\
- "бер"\
- "квіт"\
- "трав"\
- "черв"\
- "лип"\
- "серп"\
- "вер"\
- "жовт"\
- "лист"\
- "груд"\
+ "\u0441\u0456\u0447"\
+ "\u043b\u044e\u0442"\
+ "\u0431\u0435\u0440"\
+ "\u043a\u0432\u0456\u0442"\
+ "\u0442\u0440\u0430\u0432"\
+ "\u0447\u0435\u0440\u0432"\
+ "\u043b\u0438\u043f"\
+ "\u0441\u0435\u0440\u043f"\
+ "\u0432\u0435\u0440"\
+ "\u0436\u043e\u0432\u0442"\
+ "\u043b\u0438\u0441\u0442"\
+ "\u0433\u0440\u0443\u0434"\
""]
::msgcat::mcset uk MONTHS_FULL [list \
- "січня"\
- "лютого"\
- "березня"\
- "квітня"\
- "травня"\
- "червня"\
- "липня"\
- "серпня"\
- "вересня"\
- "жовтня"\
- "листопада"\
- "грудня"\
+ "\u0441\u0456\u0447\u043d\u044f"\
+ "\u043b\u044e\u0442\u043e\u0433\u043e"\
+ "\u0431\u0435\u0440\u0435\u0437\u043d\u044f"\
+ "\u043a\u0432\u0456\u0442\u043d\u044f"\
+ "\u0442\u0440\u0430\u0432\u043d\u044f"\
+ "\u0447\u0435\u0440\u0432\u043d\u044f"\
+ "\u043b\u0438\u043f\u043d\u044f"\
+ "\u0441\u0435\u0440\u043f\u043d\u044f"\
+ "\u0432\u0435\u0440\u0435\u0441\u043d\u044f"\
+ "\u0436\u043e\u0432\u0442\u043d\u044f"\
+ "\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430"\
+ "\u0433\u0440\u0443\u0434\u043d\u044f"\
""]
- ::msgcat::mcset uk BCE "до н.е."
- ::msgcat::mcset uk CE "після н.е."
+ ::msgcat::mcset uk BCE "\u0434\u043e \u043d.\u0435."
+ ::msgcat::mcset uk CE "\u043f\u0456\u0441\u043b\u044f \u043d.\u0435."
::msgcat::mcset uk DATE_FORMAT "%e/%m/%Y"
::msgcat::mcset uk TIME_FORMAT "%k:%M:%S"
::msgcat::mcset uk DATE_TIME_FORMAT "%e/%m/%Y %k:%M:%S %z"
diff --git a/library/msgs/vi.msg b/library/msgs/vi.msg
index 3437ebf..c98b2a6 100644
--- a/library/msgs/vi.msg
+++ b/library/msgs/vi.msg
@@ -9,13 +9,13 @@ namespace eval ::tcl::clock {
"Th 7"\
"CN"]
::msgcat::mcset vi DAYS_OF_WEEK_FULL [list \
- "Thứ hai"\
- "Thứ ba"\
- "Thứ tư"\
- "Thứ năm"\
- "Thứ sáu"\
- "Thứ bảy"\
- "Chủ nhật"]
+ "Th\u01b0\u0301 hai"\
+ "Th\u01b0\u0301 ba"\
+ "Th\u01b0\u0301 t\u01b0"\
+ "Th\u01b0\u0301 n\u0103m"\
+ "Th\u01b0\u0301 s\u00e1u"\
+ "Th\u01b0\u0301 ba\u0309y"\
+ "Chu\u0309 nh\u00e2\u0323t"]
::msgcat::mcset vi MONTHS_ABBREV [list \
"Thg 1"\
"Thg 2"\
@@ -31,18 +31,18 @@ namespace eval ::tcl::clock {
"Thg 12"\
""]
::msgcat::mcset vi MONTHS_FULL [list \
- "Tháng một"\
- "Tháng hai"\
- "Tháng ba"\
- "Tháng tư"\
- "Tháng năm"\
- "Tháng sáu"\
- "Tháng bảy"\
- "Tháng tám"\
- "Tháng chín"\
- "Tháng mười"\
- "Tháng mười một"\
- "Tháng mười hai"\
+ "Th\u00e1ng m\u00f4\u0323t"\
+ "Th\u00e1ng hai"\
+ "Th\u00e1ng ba"\
+ "Th\u00e1ng t\u01b0"\
+ "Th\u00e1ng n\u0103m"\
+ "Th\u00e1ng s\u00e1u"\
+ "Th\u00e1ng ba\u0309y"\
+ "Th\u00e1ng t\u00e1m"\
+ "Th\u00e1ng ch\u00edn"\
+ "Th\u00e1ng m\u01b0\u01a1\u0300i"\
+ "Th\u00e1ng m\u01b0\u01a1\u0300i m\u00f4\u0323t"\
+ "Th\u00e1ng m\u01b0\u01a1\u0300i hai"\
""]
::msgcat::mcset vi DATE_FORMAT "%d %b %Y"
::msgcat::mcset vi TIME_FORMAT "%H:%M:%S"
diff --git a/library/msgs/zh.msg b/library/msgs/zh.msg
index 9c1d08b..b799a32 100644
--- a/library/msgs/zh.msg
+++ b/library/msgs/zh.msg
@@ -1,55 +1,55 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset zh DAYS_OF_WEEK_ABBREV [list \
- "星期日"\
- "星期一"\
- "星期二"\
- "星期三"\
- "星期四"\
- "星期五"\
- "星期六"]
+ "\u661f\u671f\u65e5"\
+ "\u661f\u671f\u4e00"\
+ "\u661f\u671f\u4e8c"\
+ "\u661f\u671f\u4e09"\
+ "\u661f\u671f\u56db"\
+ "\u661f\u671f\u4e94"\
+ "\u661f\u671f\u516d"]
::msgcat::mcset zh DAYS_OF_WEEK_FULL [list \
- "星期日"\
- "星期一"\
- "星期二"\
- "星期三"\
- "星期四"\
- "星期五"\
- "星期六"]
+ "\u661f\u671f\u65e5"\
+ "\u661f\u671f\u4e00"\
+ "\u661f\u671f\u4e8c"\
+ "\u661f\u671f\u4e09"\
+ "\u661f\u671f\u56db"\
+ "\u661f\u671f\u4e94"\
+ "\u661f\u671f\u516d"]
::msgcat::mcset zh MONTHS_ABBREV [list \
- "一月"\
- "二月"\
- "三月"\
- "四月"\
- "五月"\
- "六月"\
- "七月"\
- "八月"\
- "九月"\
- "十月"\
- "十一月"\
- "十二月"\
+ "\u4e00\u6708"\
+ "\u4e8c\u6708"\
+ "\u4e09\u6708"\
+ "\u56db\u6708"\
+ "\u4e94\u6708"\
+ "\u516d\u6708"\
+ "\u4e03\u6708"\
+ "\u516b\u6708"\
+ "\u4e5d\u6708"\
+ "\u5341\u6708"\
+ "\u5341\u4e00\u6708"\
+ "\u5341\u4e8c\u6708"\
""]
::msgcat::mcset zh MONTHS_FULL [list \
- "一月"\
- "二月"\
- "三月"\
- "四月"\
- "五月"\
- "六月"\
- "七月"\
- "八月"\
- "九月"\
- "十月"\
- "十一月"\
- "十二月"\
+ "\u4e00\u6708"\
+ "\u4e8c\u6708"\
+ "\u4e09\u6708"\
+ "\u56db\u6708"\
+ "\u4e94\u6708"\
+ "\u516d\u6708"\
+ "\u4e03\u6708"\
+ "\u516b\u6708"\
+ "\u4e5d\u6708"\
+ "\u5341\u6708"\
+ "\u5341\u4e00\u6708"\
+ "\u5341\u4e8c\u6708"\
""]
- ::msgcat::mcset zh BCE "公元前"
- ::msgcat::mcset zh CE "公元"
- ::msgcat::mcset zh AM "上午"
- ::msgcat::mcset zh PM "下午"
- ::msgcat::mcset zh LOCALE_NUMERALS "〇 一 二 三 四 五 六 七 八 九 十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十 卅一 卅二 卅三 卅四 卅五 卅六 卅七 卅八 卅九 四十 四十一 四十二 四十三 四十四 四十五 四十六 四十七 四十八 四十九 五十 五十一 五十二 五十三 五十四 五十五 五十六 五十七 五十八 五十九 六十 六十一 六十二 六十三 六十四 六十五 六十六 六十七 六十八 六十九 七十 七十一 七十二 七十三 七十四 七十五 七十六 七十七 七十八 七十九 八十 八十一 八十二 八十三 八十四 八十五 八十六 八十七 八十八 八十九 九十 九十一 九十二 九十三 九十四 九十五 九十六 九十七 九十八 九十九"
- ::msgcat::mcset zh LOCALE_DATE_FORMAT "公元%Y年%B%Od日"
- ::msgcat::mcset zh LOCALE_TIME_FORMAT "%OH时%OM分%OS秒"
- ::msgcat::mcset zh LOCALE_DATE_TIME_FORMAT "%A %Y年%B%Od日%OH时%OM分%OS秒 %z"
+ ::msgcat::mcset zh BCE "\u516c\u5143\u524d"
+ ::msgcat::mcset zh CE "\u516c\u5143"
+ ::msgcat::mcset zh AM "\u4e0a\u5348"
+ ::msgcat::mcset zh PM "\u4e0b\u5348"
+ ::msgcat::mcset zh LOCALE_NUMERALS "\u3007 \u4e00 \u4e8c \u4e09 \u56db \u4e94 \u516d \u4e03 \u516b \u4e5d \u5341 \u5341\u4e00 \u5341\u4e8c \u5341\u4e09 \u5341\u56db \u5341\u4e94 \u5341\u516d \u5341\u4e03 \u5341\u516b \u5341\u4e5d \u4e8c\u5341 \u5eff\u4e00 \u5eff\u4e8c \u5eff\u4e09 \u5eff\u56db \u5eff\u4e94 \u5eff\u516d \u5eff\u4e03 \u5eff\u516b \u5eff\u4e5d \u4e09\u5341 \u5345\u4e00 \u5345\u4e8c \u5345\u4e09 \u5345\u56db \u5345\u4e94 \u5345\u516d \u5345\u4e03 \u5345\u516b \u5345\u4e5d \u56db\u5341 \u56db\u5341\u4e00 \u56db\u5341\u4e8c \u56db\u5341\u4e09 \u56db\u5341\u56db \u56db\u5341\u4e94 \u56db\u5341\u516d \u56db\u5341\u4e03 \u56db\u5341\u516b \u56db\u5341\u4e5d \u4e94\u5341 \u4e94\u5341\u4e00 \u4e94\u5341\u4e8c \u4e94\u5341\u4e09 \u4e94\u5341\u56db \u4e94\u5341\u4e94 \u4e94\u5341\u516d \u4e94\u5341\u4e03 \u4e94\u5341\u516b \u4e94\u5341\u4e5d \u516d\u5341 \u516d\u5341\u4e00 \u516d\u5341\u4e8c \u516d\u5341\u4e09 \u516d\u5341\u56db \u516d\u5341\u4e94 \u516d\u5341\u516d \u516d\u5341\u4e03 \u516d\u5341\u516b \u516d\u5341\u4e5d \u4e03\u5341 \u4e03\u5341\u4e00 \u4e03\u5341\u4e8c \u4e03\u5341\u4e09 \u4e03\u5341\u56db \u4e03\u5341\u4e94 \u4e03\u5341\u516d \u4e03\u5341\u4e03 \u4e03\u5341\u516b \u4e03\u5341\u4e5d \u516b\u5341 \u516b\u5341\u4e00 \u516b\u5341\u4e8c \u516b\u5341\u4e09 \u516b\u5341\u56db \u516b\u5341\u4e94 \u516b\u5341\u516d \u516b\u5341\u4e03 \u516b\u5341\u516b \u516b\u5341\u4e5d \u4e5d\u5341 \u4e5d\u5341\u4e00 \u4e5d\u5341\u4e8c \u4e5d\u5341\u4e09 \u4e5d\u5341\u56db \u4e5d\u5341\u4e94 \u4e5d\u5341\u516d \u4e5d\u5341\u4e03 \u4e5d\u5341\u516b \u4e5d\u5341\u4e5d"
+ ::msgcat::mcset zh LOCALE_DATE_FORMAT "\u516c\u5143%Y\u5e74%B%Od\u65e5"
+ ::msgcat::mcset zh LOCALE_TIME_FORMAT "%OH\u65f6%OM\u5206%OS\u79d2"
+ ::msgcat::mcset zh LOCALE_DATE_TIME_FORMAT "%A %Y\u5e74%B%Od\u65e5%OH\u65f6%OM\u5206%OS\u79d2 %z"
}
diff --git a/library/msgs/zh_cn.msg b/library/msgs/zh_cn.msg
index da2869a..d62ce77 100644
--- a/library/msgs/zh_cn.msg
+++ b/library/msgs/zh_cn.msg
@@ -2,6 +2,6 @@
namespace eval ::tcl::clock {
::msgcat::mcset zh_CN DATE_FORMAT "%Y-%m-%e"
::msgcat::mcset zh_CN TIME_FORMAT "%k:%M:%S"
- ::msgcat::mcset zh_CN TIME_FORMAT_12 "%P%I时%M分%S秒"
+ ::msgcat::mcset zh_CN TIME_FORMAT_12 "%P%I\u65f6%M\u5206%S\u79d2"
::msgcat::mcset zh_CN DATE_TIME_FORMAT "%Y-%m-%e %k:%M:%S %z"
}
diff --git a/library/msgs/zh_hk.msg b/library/msgs/zh_hk.msg
index 7f1b181..badb1dd 100644
--- a/library/msgs/zh_hk.msg
+++ b/library/msgs/zh_hk.msg
@@ -1,28 +1,28 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
::msgcat::mcset zh_HK DAYS_OF_WEEK_ABBREV [list \
- "日"\
- "一"\
- "二"\
- "三"\
- "四"\
- "五"\
- "六"]
+ "\u65e5"\
+ "\u4e00"\
+ "\u4e8c"\
+ "\u4e09"\
+ "\u56db"\
+ "\u4e94"\
+ "\u516d"]
::msgcat::mcset zh_HK MONTHS_ABBREV [list \
- "1月"\
- "2月"\
- "3月"\
- "4月"\
- "5月"\
- "6月"\
- "7月"\
- "8月"\
- "9月"\
- "10月"\
- "11月"\
- "12月"\
+ "1\u6708"\
+ "2\u6708"\
+ "3\u6708"\
+ "4\u6708"\
+ "5\u6708"\
+ "6\u6708"\
+ "7\u6708"\
+ "8\u6708"\
+ "9\u6708"\
+ "10\u6708"\
+ "11\u6708"\
+ "12\u6708"\
""]
- ::msgcat::mcset zh_HK DATE_FORMAT "%Y年%m月%e日"
+ ::msgcat::mcset zh_HK DATE_FORMAT "%Y\u5e74%m\u6708%e\u65e5"
::msgcat::mcset zh_HK TIME_FORMAT_12 "%P%I:%M:%S"
- ::msgcat::mcset zh_HK DATE_TIME_FORMAT "%Y年%m月%e日 %P%I:%M:%S %z"
+ ::msgcat::mcset zh_HK DATE_TIME_FORMAT "%Y\u5e74%m\u6708%e\u65e5 %P%I:%M:%S %z"
}
diff --git a/library/msgs/zh_sg.msg b/library/msgs/zh_sg.msg
index 690edf7..a2f3e39 100644
--- a/library/msgs/zh_sg.msg
+++ b/library/msgs/zh_sg.msg
@@ -1,7 +1,7 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
- ::msgcat::mcset zh_SG AM "上午"
- ::msgcat::mcset zh_SG PM "中午"
+ ::msgcat::mcset zh_SG AM "\u4e0a\u5348"
+ ::msgcat::mcset zh_SG PM "\u4e2d\u5348"
::msgcat::mcset zh_SG DATE_FORMAT "%d %B %Y"
::msgcat::mcset zh_SG TIME_FORMAT_12 "%P %I:%M:%S"
::msgcat::mcset zh_SG DATE_TIME_FORMAT "%d %B %Y %P %I:%M:%S %z"
diff --git a/library/msgs/zh_tw.msg b/library/msgs/zh_tw.msg
index 17a6dd7..e0796b1 100644
--- a/library/msgs/zh_tw.msg
+++ b/library/msgs/zh_tw.msg
@@ -1,7 +1,7 @@
# created by tools/loadICU.tcl -- do not edit
namespace eval ::tcl::clock {
- ::msgcat::mcset zh_TW BCE "民國前"
- ::msgcat::mcset zh_TW CE "民國"
+ ::msgcat::mcset zh_TW BCE "\u6c11\u570b\u524d"
+ ::msgcat::mcset zh_TW CE "\u6c11\u570b"
::msgcat::mcset zh_TW DATE_FORMAT "%Y/%m/%e"
::msgcat::mcset zh_TW TIME_FORMAT_12 "%P %I:%M:%S"
::msgcat::mcset zh_TW DATE_TIME_FORMAT "%Y/%m/%e %P %I:%M:%S %z"
diff --git a/library/opt/optparse.tcl b/library/opt/optparse.tcl
index 0a6cdfa..c9438a0 100644
--- a/library/opt/optparse.tcl
+++ b/library/opt/optparse.tcl
@@ -8,10 +8,10 @@
# on it. If your code does rely on this package you
# may directly incorporate this code into your application.
-package require Tcl 8.5-
+package require Tcl 8.2
# When this version number changes, update the pkgIndex.tcl file
# and the install directory in the Makefiles.
-package provide opt 0.4.9
+package provide opt 0.4.5
namespace eval ::tcl {
@@ -33,7 +33,7 @@ namespace eval ::tcl {
# Every OptProc give usage information on "procname -help".
# Try "tcl::OptParseTest -help" and "tcl::OptParseTest -a" and
# then other arguments.
- #
+ #
# example of 'valid' call:
# ::tcl::OptParseTest save -4 -pr 23 -libsok SybTcl\
# -nostatics false ch1
@@ -44,8 +44,8 @@ namespace eval ::tcl {
{-intflag 7}
{-weirdflag "help string"}
{-noStatics "Not ok to load static packages"}
- {-nestedloading1 true "OK to load into nested children"}
- {-nestedloading2 -boolean true "OK to load into nested children"}
+ {-nestedloading1 true "OK to load into nested slaves"}
+ {-nestedloading2 -boolean true "OK to load into nested slaves"}
{-libsOK -choice {Tk SybTcl}
"List of packages that can be loaded"}
{-precision -int 12 "Number of digits of precision"}
@@ -69,13 +69,13 @@ namespace eval ::tcl {
################### No User serviceable part below ! ###############
# Array storing the parsed descriptions
- variable OptDesc
- array set OptDesc {}
+ variable OptDesc;
+ array set OptDesc {};
# Next potentially free key id (numeric)
- variable OptDescN 0
+ variable OptDescN 0;
# Inside algorithm/mechanism description:
-# (not for the faint-hearted ;-)
+# (not for the faint hearted ;-)
#
# The argument description is parsed into a "program tree"
# It is called a "program" because it is the program used by
@@ -84,8 +84,8 @@ namespace eval ::tcl {
#
# The general structure of a "program" is
# notation (pseudo bnf like)
-# name :== definition defines "name" as being "definition"
-# { x y z } means list of x, y, and z
+# name :== definition defines "name" as being "definition"
+# { x y z } means list of x, y, and z
# x* means x repeated 0 or more time
# x+ means "x x*"
# x? means optionally x
@@ -110,7 +110,7 @@ namespace eval ::tcl {
#
# And for this application:
#
-# singleStep :== { instruction varname {hasBeenSet currentValue} type
+# singleStep :== { instruction varname {hasBeenSet currentValue} type
# typeArgs help }
# instruction :== "flags" | "value"
# type :== knowType | anyword
@@ -134,63 +134,63 @@ namespace eval ::tcl {
# they should start to be much faster.
# But this code use a lot of helper procs (like Lvarset)
# which are quite slow and would be helpfully optimized
-# for instance by being written in C. Also our structure
+# for instance by being written in C. Also our struture
# is complex and there is maybe some places where the
-# string rep might be calculated at great expense. to be checked.
+# string rep might be calculated at great exense. to be checked.
#
# Parse a given description and saves it here under the given key
# generate a unused keyid if not given
#
proc ::tcl::OptKeyRegister {desc {key ""}} {
- variable OptDesc
- variable OptDescN
+ variable OptDesc;
+ variable OptDescN;
if {[string equal $key ""]} {
# in case a key given to us as a parameter was a number
while {[info exists OptDesc($OptDescN)]} {incr OptDescN}
- set key $OptDescN
- incr OptDescN
+ set key $OptDescN;
+ incr OptDescN;
}
# program counter
- set program [list [list "P" 1]]
+ set program [list [list "P" 1]];
# are we processing flags (which makes a single program step)
- set inflags 0
+ set inflags 0;
- set state {}
+ set state {};
# flag used to detect that we just have a single (flags set) subprogram.
- set empty 1
+ set empty 1;
foreach item $desc {
if {$state == "args"} {
# more items after 'args'...
- return -code error "'args' special argument must be the last one"
+ return -code error "'args' special argument must be the last one";
}
- set res [OptNormalizeOne $item]
- set state [lindex $res 0]
+ set res [OptNormalizeOne $item];
+ set state [lindex $res 0];
if {$inflags} {
if {$state == "flags"} {
# add to 'subprogram'
- lappend flagsprg $res
+ lappend flagsprg $res;
} else {
# put in the flags
# structure for flag programs items is a list of
# {subprgcounter {prg flag 1} {prg flag 2} {...}}
- lappend program $flagsprg
+ lappend program $flagsprg;
# put the other regular stuff
- lappend program $res
- set inflags 0
- set empty 0
+ lappend program $res;
+ set inflags 0;
+ set empty 0;
}
} else {
if {$state == "flags"} {
- set inflags 1
+ set inflags 1;
# sub program counter + first sub program
- set flagsprg [list [list "P" 1] $res]
+ set flagsprg [list [list "P" 1] $res];
} else {
- lappend program $res
- set empty 0
+ lappend program $res;
+ set empty 0;
}
}
}
@@ -198,44 +198,44 @@ proc ::tcl::OptKeyRegister {desc {key ""}} {
if {$empty} {
# We just have the subprogram, optimize and remove
# unneeded level:
- set program $flagsprg
+ set program $flagsprg;
} else {
- lappend program $flagsprg
+ lappend program $flagsprg;
}
}
- set OptDesc($key) $program
+ set OptDesc($key) $program;
- return $key
+ return $key;
}
#
# Free the storage for that given key
#
proc ::tcl::OptKeyDelete {key} {
- variable OptDesc
- unset OptDesc($key)
+ variable OptDesc;
+ unset OptDesc($key);
}
# Get the parsed description stored under the given key.
proc OptKeyGetDesc {descKey} {
- variable OptDesc
+ variable OptDesc;
if {![info exists OptDesc($descKey)]} {
- return -code error "Unknown option description key \"$descKey\""
+ return -code error "Unknown option description key \"$descKey\"";
}
- set OptDesc($descKey)
+ set OptDesc($descKey);
}
-# Parse entry point for people who don't want to register with a key,
+# Parse entry point for ppl who don't want to register with a key,
# for instance because the description changes dynamically.
# (otherwise one should really use OptKeyRegister once + OptKeyParse
# as it is way faster or simply OptProc which does it all)
# Assign a temporary key, call OptKeyParse and then free the storage
proc ::tcl::OptParse {desc arglist} {
- set tempkey [OptKeyRegister $desc]
- set ret [catch {uplevel 1 [list ::tcl::OptKeyParse $tempkey $arglist]} res]
- OptKeyDelete $tempkey
- return -code $ret $res
+ set tempkey [OptKeyRegister $desc];
+ set ret [catch {uplevel 1 [list ::tcl::OptKeyParse $tempkey $arglist]} res];
+ OptKeyDelete $tempkey;
+ return -code $ret $res;
}
# Helper function, replacement for proc that both
@@ -246,22 +246,22 @@ proc ::tcl::OptParse {desc arglist} {
# (the other will be sets to their default value)
# into local variable named "Args".
proc ::tcl::OptProc {name desc body} {
- set namespace [uplevel 1 [list ::namespace current]]
+ set namespace [uplevel 1 [list ::namespace current]];
if {[string match "::*" $name] || [string equal $namespace "::"]} {
# absolute name or global namespace, name is the key
- set key $name
+ set key $name;
} else {
# we are relative to some non top level namespace:
- set key "${namespace}::${name}"
+ set key "${namespace}::${name}";
}
- OptKeyRegister $desc $key
- uplevel 1 [list ::proc $name args "set Args \[::tcl::OptKeyParse $key \$args\]\n$body"]
- return $key
+ OptKeyRegister $desc $key;
+ uplevel 1 [list ::proc $name args "set Args \[::tcl::OptKeyParse $key \$args\]\n$body"];
+ return $key;
}
# Check that a argument has been given
# assumes that "OptProc" has been used as it will check in "Args" list
proc ::tcl::OptProcArgGiven {argname} {
- upvar Args alist
+ upvar Args alist;
expr {[lsearch $alist $argname] >=0}
}
@@ -270,7 +270,7 @@ proc ::tcl::OptProcArgGiven {argname} {
# Return the instruction word/list of a given step/(sub)program
proc OptInstr {lst} {
- lindex $lst 0
+ lindex $lst 0;
}
# Is a (sub) program or a plain instruction ?
proc OptIsPrg {lst} {
@@ -286,79 +286,79 @@ proc ::tcl::OptProcArgGiven {argname} {
}
# Current program counter (2nd word of first word)
proc OptSetPrgCounter {lstName newValue} {
- upvar $lstName lst
- set lst [lreplace $lst 0 0 [concat "P" $newValue]]
+ upvar $lstName lst;
+ set lst [lreplace $lst 0 0 [concat "P" $newValue]];
}
# returns a list of currently selected items.
proc OptSelection {lst} {
- set res {}
+ set res {};
foreach idx [lrange [lindex $lst 0] 1 end] {
- lappend res [Lget $lst $idx]
+ lappend res [Lget $lst $idx];
}
- return $res
+ return $res;
}
# Advance to next description
proc OptNextDesc {descName} {
- uplevel 1 [list Lvarincr $descName {0 1}]
+ uplevel 1 [list Lvarincr $descName {0 1}];
}
# Get the current description, eventually descend
proc OptCurDesc {descriptions} {
- lindex $descriptions [OptGetPrgCounter $descriptions]
+ lindex $descriptions [OptGetPrgCounter $descriptions];
}
# get the current description, eventually descend
# through sub programs as needed.
proc OptCurDescFinal {descriptions} {
- set item [OptCurDesc $descriptions]
+ set item [OptCurDesc $descriptions];
# Descend untill we get the actual item and not a sub program
while {[OptIsPrg $item]} {
- set item [OptCurDesc $item]
+ set item [OptCurDesc $item];
}
- return $item
+ return $item;
}
# Current final instruction adress
proc OptCurAddr {descriptions {start {}}} {
- set adress [OptGetPrgCounter $descriptions]
- lappend start $adress
- set item [lindex $descriptions $adress]
+ set adress [OptGetPrgCounter $descriptions];
+ lappend start $adress;
+ set item [lindex $descriptions $adress];
if {[OptIsPrg $item]} {
- return [OptCurAddr $item $start]
+ return [OptCurAddr $item $start];
} else {
- return $start
+ return $start;
}
}
- # Set the value field of the current instruction.
+ # Set the value field of the current instruction
proc OptCurSetValue {descriptionsName value} {
upvar $descriptionsName descriptions
- # Get the current item full address.
- set adress [OptCurAddr $descriptions]
- # Use the 3rd field of the item (see OptValue / OptNewInst).
+ # get the current item full adress
+ set adress [OptCurAddr $descriptions];
+ # use the 3th field of the item (see OptValue / OptNewInst)
lappend adress 2
- Lvarset descriptions $adress [list 1 $value]
+ Lvarset descriptions $adress [list 1 $value];
# ^hasBeenSet flag
}
- # Empty state means done/paste the end of the program.
+ # empty state means done/paste the end of the program
proc OptState {item} {
lindex $item 0
}
-
+
# current state
proc OptCurState {descriptions} {
- OptState [OptCurDesc $descriptions]
+ OptState [OptCurDesc $descriptions];
}
#######
# Arguments manipulation
- # Returns the argument that has to be processed now.
+ # Returns the argument that has to be processed now
proc OptCurrentArg {lst} {
- lindex $lst 0
+ lindex $lst 0;
}
- # Advance to next argument.
+ # Advance to next argument
proc OptNextArg {argsName} {
- uplevel 1 [list Lvarpop1 $argsName]
+ uplevel 1 [list Lvarpop1 $argsName];
}
#######
@@ -370,49 +370,49 @@ proc ::tcl::OptProcArgGiven {argname} {
# eventually eat all the arguments.
proc OptDoAll {descriptionsName argumentsName} {
upvar $descriptionsName descriptions
- upvar $argumentsName arguments
-# puts "entered DoAll"
+ upvar $argumentsName arguments;
+# puts "entered DoAll";
# Nb: the places where "state" can be set are tricky to figure
# because DoOne sets the state to flagsValue and return -continue
# when needed...
- set state [OptCurState $descriptions]
+ set state [OptCurState $descriptions];
# We'll exit the loop in "OptDoOne" or when state is empty.
while 1 {
- set curitem [OptCurDesc $descriptions]
+ set curitem [OptCurDesc $descriptions];
# Do subprograms if needed, call ourselves on the sub branch
while {[OptIsPrg $curitem]} {
OptDoAll curitem arguments
-# puts "done DoAll sub"
- # Insert back the results in current tree
+# puts "done DoAll sub";
+ # Insert back the results in current tree;
Lvarset1nc descriptions [OptGetPrgCounter $descriptions]\
- $curitem
- OptNextDesc descriptions
- set curitem [OptCurDesc $descriptions]
- set state [OptCurState $descriptions]
+ $curitem;
+ OptNextDesc descriptions;
+ set curitem [OptCurDesc $descriptions];
+ set state [OptCurState $descriptions];
}
-# puts "state = \"$state\" - arguments=($arguments)"
+# puts "state = \"$state\" - arguments=($arguments)";
if {[Lempty $state]} {
# Nothing left to do, we are done in this branch:
- break
+ break;
}
# The following statement can make us terminate/continue
# as it use return -code {break, continue, return and error}
# codes
- OptDoOne descriptions state arguments
+ OptDoOne descriptions state arguments;
# If we are here, no special return code where issued,
# we'll step to next instruction :
-# puts "new state = \"$state\""
- OptNextDesc descriptions
- set state [OptCurState $descriptions]
+# puts "new state = \"$state\"";
+ OptNextDesc descriptions;
+ set state [OptCurState $descriptions];
}
}
# Process one step for the state machine,
# eventually consuming the current argument.
proc OptDoOne {descriptionsName stateName argumentsName} {
- upvar $argumentsName arguments
- upvar $descriptionsName descriptions
- upvar $stateName state
+ upvar $argumentsName arguments;
+ upvar $descriptionsName descriptions;
+ upvar $stateName state;
# the special state/instruction "args" eats all
# the remaining args (if any)
@@ -420,27 +420,27 @@ proc ::tcl::OptProcArgGiven {argname} {
if {![Lempty $arguments]} {
# If there is no additional arguments, leave the default value
# in.
- OptCurSetValue descriptions $arguments
- set arguments {}
+ OptCurSetValue descriptions $arguments;
+ set arguments {};
}
# puts "breaking out ('args' state: consuming every reminding args)"
- return -code break
+ return -code break;
}
if {[Lempty $arguments]} {
if {$state == "flags"} {
# no argument and no flags : we're done
-# puts "returning to previous (sub)prg (no more args)"
- return -code return
+# puts "returning to previous (sub)prg (no more args)";
+ return -code return;
} elseif {$state == "optValue"} {
set state next; # not used, for debug only
# go to next state
- return
+ return ;
} else {
- return -code error [OptMissingValue $descriptions]
+ return -code error [OptMissingValue $descriptions];
}
} else {
- set arg [OptCurrentArg $arguments]
+ set arg [OptCurrentArg $arguments];
}
switch $state {
@@ -450,62 +450,62 @@ proc ::tcl::OptProcArgGiven {argname} {
# Still a flag ?
if {![OptIsFlag $arg]} {
# don't consume the argument, return to previous prg
- return -code return
+ return -code return;
}
# consume the flag
- OptNextArg arguments
+ OptNextArg arguments;
if {[string equal "--" $arg]} {
# return from 'flags' state
- return -code return
+ return -code return;
}
- set hits [OptHits descriptions $arg]
+ set hits [OptHits descriptions $arg];
if {$hits > 1} {
return -code error [OptAmbigous $descriptions $arg]
} elseif {$hits == 0} {
return -code error [OptFlagUsage $descriptions $arg]
}
- set item [OptCurDesc $descriptions]
+ set item [OptCurDesc $descriptions];
if {[OptNeedValue $item]} {
# we need a value, next state is
- set state flagValue
+ set state flagValue;
} else {
- OptCurSetValue descriptions 1
+ OptCurSetValue descriptions 1;
}
# continue
- return -code continue
+ return -code continue;
}
flagValue -
value {
- set item [OptCurDesc $descriptions]
+ set item [OptCurDesc $descriptions];
# Test the values against their required type
if {[catch {OptCheckType $arg\
[OptType $item] [OptTypeArgs $item]} val]} {
return -code error [OptBadValue $item $arg $val]
}
# consume the value
- OptNextArg arguments
+ OptNextArg arguments;
# set the value
- OptCurSetValue descriptions $val
+ OptCurSetValue descriptions $val;
# go to next state
if {$state == "flagValue"} {
set state flags
- return -code continue
+ return -code continue;
} else {
set state next; # not used, for debug only
return ; # will go on next step
}
}
optValue {
- set item [OptCurDesc $descriptions]
+ set item [OptCurDesc $descriptions];
# Test the values against their required type
if {![catch {OptCheckType $arg\
[OptType $item] [OptTypeArgs $item]} val]} {
# right type, so :
# consume the value
- OptNextArg arguments
+ OptNextArg arguments;
# set the value
- OptCurSetValue descriptions $val
+ OptCurSetValue descriptions $val;
}
# go to next state
set state next; # not used, for debug only
@@ -516,50 +516,50 @@ proc ::tcl::OptProcArgGiven {argname} {
# state as been entered !
return -code error "Bug! unknown state in DoOne \"$state\"\
(prg counter [OptGetPrgCounter $descriptions]:\
- [OptCurDesc $descriptions])"
+ [OptCurDesc $descriptions])";
}
# Parse the options given the key to previously registered description
# and arguments list
proc ::tcl::OptKeyParse {descKey arglist} {
- set desc [OptKeyGetDesc $descKey]
+ set desc [OptKeyGetDesc $descKey];
# make sure -help always give usage
if {[string equal -nocase "-help" $arglist]} {
- return -code error [OptError "Usage information:" $desc 1]
+ return -code error [OptError "Usage information:" $desc 1];
}
- OptDoAll desc arglist
+ OptDoAll desc arglist;
if {![Lempty $arglist]} {
- return -code error [OptTooManyArgs $desc $arglist]
+ return -code error [OptTooManyArgs $desc $arglist];
}
-
+
# Analyse the result
# Walk through the tree:
- OptTreeVars $desc "#[expr {[info level]-1}]"
+ OptTreeVars $desc "#[expr {[info level]-1}]" ;
}
# determine string length for nice tabulated output
proc OptTreeVars {desc level {vnamesLst {}}} {
foreach item $desc {
- if {[OptIsCounter $item]} continue
+ if {[OptIsCounter $item]} continue;
if {[OptIsPrg $item]} {
- set vnamesLst [OptTreeVars $item $level $vnamesLst]
+ set vnamesLst [OptTreeVars $item $level $vnamesLst];
} else {
- set vname [OptVarName $item]
+ set vname [OptVarName $item];
upvar $level $vname var
if {[OptHasBeenSet $item]} {
# puts "adding $vname"
# lets use the input name for the returned list
- # it is more useful, for instance you can check that
+ # it is more usefull, for instance you can check that
# no flags at all was given with expr
# {![string match "*-*" $Args]}
- lappend vnamesLst [OptName $item]
- set var [OptValue $item]
+ lappend vnamesLst [OptName $item];
+ set var [OptValue $item];
} else {
- set var [OptDefaultValue $item]
+ set var [OptDefaultValue $item];
}
}
}
@@ -571,7 +571,7 @@ proc ::tcl::OptKeyParse {descKey arglist} {
# and emit an error if arg is not of the correct type
# otherwise returns the canonical value of that arg (ie 0/1 for booleans)
proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
-# puts "checking '$arg' against '$type' ($typeArgs)"
+# puts "checking '$arg' against '$type' ($typeArgs)";
# only types "any", "choice", and numbers can have leading "-"
@@ -580,7 +580,7 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
if {![string is integer -strict $arg]} {
error "not an integer"
}
- return $arg
+ return $arg;
}
float {
return [expr {double($arg)}]
@@ -591,7 +591,7 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
if {[llength $arg]==0 && [OptIsFlag $arg]} {
error "no values with leading -"
}
- return $arg
+ return $arg;
}
boolean {
if {![string is boolean -strict $arg]} {
@@ -601,13 +601,13 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
return [expr {$arg ? 1 : 0}]
}
choice {
- if {$arg ni $typeArgs} {
+ if {[lsearch -exact $typeArgs $arg] < 0} {
error "invalid choice"
}
- return $arg
+ return $arg;
}
any {
- return $arg
+ return $arg;
}
string -
default {
@@ -617,7 +617,7 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
return $arg
}
}
- return neverReached
+ return neverReached;
}
# internal utilities
@@ -625,34 +625,34 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
# returns the number of flags matching the given arg
# sets the (local) prg counter to the list of matches
proc OptHits {descName arg} {
- upvar $descName desc
+ upvar $descName desc;
set hits 0
set hitems {}
- set i 1
+ set i 1;
- set larg [string tolower $arg]
- set len [string length $larg]
- set last [expr {$len-1}]
+ set larg [string tolower $arg];
+ set len [string length $larg];
+ set last [expr {$len-1}];
foreach item [lrange $desc 1 end] {
set flag [OptName $item]
# lets try to match case insensitively
# (string length ought to be cheap)
- set lflag [string tolower $flag]
+ set lflag [string tolower $flag];
if {$len == [string length $lflag]} {
if {[string equal $larg $lflag]} {
# Exact match case
- OptSetPrgCounter desc $i
- return 1
+ OptSetPrgCounter desc $i;
+ return 1;
}
} elseif {[string equal $larg [string range $lflag 0 $last]]} {
- lappend hitems $i
- incr hits
+ lappend hitems $i;
+ incr hits;
}
- incr i
+ incr i;
}
if {$hits} {
- OptSetPrgCounter desc $hitems
+ OptSetPrgCounter desc $hitems;
}
return $hits
}
@@ -660,29 +660,29 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
# Extract fields from the list structure:
proc OptName {item} {
- lindex $item 1
+ lindex $item 1;
}
proc OptHasBeenSet {item} {
- Lget $item {2 0}
+ Lget $item {2 0};
}
proc OptValue {item} {
- Lget $item {2 1}
+ Lget $item {2 1};
}
proc OptIsFlag {name} {
- string match "-*" $name
+ string match "-*" $name;
}
proc OptIsOpt {name} {
- string match {\?*} $name
+ string match {\?*} $name;
}
proc OptVarName {item} {
- set name [OptName $item]
+ set name [OptName $item];
if {[OptIsFlag $name]} {
- return [string range $name 1 end]
+ return [string range $name 1 end];
} elseif {[OptIsOpt $name]} {
- return [string trim $name "?"]
+ return [string trim $name "?"];
} else {
- return $name
+ return $name;
}
}
proc OptType {item} {
@@ -719,13 +719,13 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
proc OptOptUsage {item {what ""}} {
return -code error "invalid description format$what: $item\n\
should be a list of {varname|-flagname ?-type? ?defaultvalue?\
- ?helpstring?}"
+ ?helpstring?}";
}
# Generate a canonical form single instruction
proc OptNewInst {state varname type typeArgs help} {
- list $state $varname [list 0 {}] $type $typeArgs $help
+ list $state $varname [list 0 {}] $type $typeArgs $help;
# ^ ^
# | |
# hasBeenSet=+ +=currentValue
@@ -733,18 +733,18 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
# Translate one item to canonical form
proc OptNormalizeOne {item} {
- set lg [Lassign $item varname arg1 arg2 arg3]
-# puts "called optnormalizeone '$item' v=($varname), lg=$lg"
- set isflag [OptIsFlag $varname]
- set isopt [OptIsOpt $varname]
+ set lg [Lassign $item varname arg1 arg2 arg3];
+# puts "called optnormalizeone '$item' v=($varname), lg=$lg";
+ set isflag [OptIsFlag $varname];
+ set isopt [OptIsOpt $varname];
if {$isflag} {
- set state "flags"
+ set state "flags";
} elseif {$isopt} {
- set state "optValue"
+ set state "optValue";
} elseif {![string equal $varname "args"]} {
- set state "value"
+ set state "value";
} else {
- set state "args"
+ set state "args";
}
# apply 'smart' 'fuzzy' logic to try to make
@@ -754,9 +754,9 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
switch $lg {
1 {
if {$isflag} {
- return [OptNewInst $state $varname boolflag false ""]
+ return [OptNewInst $state $varname boolflag false ""];
} else {
- return [OptNewInst $state $varname any "" ""]
+ return [OptNewInst $state $varname any "" ""];
}
}
2 {
@@ -776,20 +776,20 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
set help ""
set def $arg1
}
- return [OptNewInst $state $varname $type $def $help]
+ return [OptNewInst $state $varname $type $def $help];
}
3 {
# varname type value
# varname value comment
-
+
if {[regexp {^-(.+)$} $arg1 x type]} {
# flags/optValue as they are optional, need a "value",
# on the contrary, for a variable (non optional),
# default value is pointless, 'cept for choices :
if {$isflag || $isopt || ($type == "choice")} {
- return [OptNewInst $state $varname $type $arg2 ""]
+ return [OptNewInst $state $varname $type $arg2 ""];
} else {
- return [OptNewInst $state $varname $type "" $arg2]
+ return [OptNewInst $state $varname $type "" $arg2];
}
} else {
return [OptNewInst $state $varname\
@@ -798,13 +798,13 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
}
4 {
if {[regexp {^-(.+)$} $arg1 x type]} {
- return [OptNewInst $state $varname $type $arg2 $arg3]
+ return [OptNewInst $state $varname $type $arg2 $arg3];
} else {
- return -code error [OptOptUsage $item]
+ return -code error [OptOptUsage $item];
}
}
default {
- return -code error [OptOptUsage $item]
+ return -code error [OptOptUsage $item];
}
}
}
@@ -829,7 +829,7 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
OptError "ambigous option \"$arg\", choose from:" [OptSelection $desc]
}
proc OptFlagUsage {desc arg} {
- OptError "bad flag \"$arg\", must be one of" $desc
+ OptError "bad flag \"$arg\", must be one of" $desc;
}
proc OptTooManyArgs {desc arguments} {
OptError "too many arguments (unexpected argument(s): $arguments),\
@@ -838,45 +838,45 @@ proc ::tcl::OptCheckType {arg type {typeArgs ""}} {
}
proc OptParamType {item} {
if {[OptIsFlag $item]} {
- return "flag"
+ return "flag";
} else {
- return "parameter"
+ return "parameter";
}
}
proc OptBadValue {item arg {err {}}} {
-# puts "bad val err = \"$err\""
+# puts "bad val err = \"$err\"";
OptError "bad value \"$arg\" for [OptParamType $item]"\
[list $item]
}
proc OptMissingValue {descriptions} {
-# set item [OptCurDescFinal $descriptions]
- set item [OptCurDesc $descriptions]
+# set item [OptCurDescFinal $descriptions];
+ set item [OptCurDesc $descriptions];
OptError "no value given for [OptParamType $item] \"[OptName $item]\"\
(use -help for full usage) :"\
[list $item]
}
proc ::tcl::OptKeyError {prefix descKey {header 0}} {
- OptError $prefix [OptKeyGetDesc $descKey] $header
+ OptError $prefix [OptKeyGetDesc $descKey] $header;
}
# determine string length for nice tabulated output
proc OptLengths {desc nlName tlName dlName} {
- upvar $nlName nl
- upvar $tlName tl
- upvar $dlName dl
+ upvar $nlName nl;
+ upvar $tlName tl;
+ upvar $dlName dl;
foreach item $desc {
- if {[OptIsCounter $item]} continue
+ if {[OptIsCounter $item]} continue;
if {[OptIsPrg $item]} {
OptLengths $item nl tl dl
} else {
SetMax nl [string length [OptName $item]]
SetMax tl [string length [OptType $item]]
- set dv [OptTypeArgs $item]
+ set dv [OptTypeArgs $item];
if {[OptState $item] != "header"} {
- set dv "($dv)"
+ set dv "($dv)";
}
- set l [string length $dv]
+ set l [string length $dv];
# limit the space allocated to potentially big "choices"
if {([OptType $item] != "choice") || ($l<=12)} {
SetMax dl $l
@@ -890,22 +890,22 @@ proc ::tcl::OptKeyError {prefix descKey {header 0}} {
}
# output the tree
proc OptTree {desc nl tl dl} {
- set res ""
+ set res "";
foreach item $desc {
- if {[OptIsCounter $item]} continue
+ if {[OptIsCounter $item]} continue;
if {[OptIsPrg $item]} {
- append res [OptTree $item $nl $tl $dl]
+ append res [OptTree $item $nl $tl $dl];
} else {
- set dv [OptTypeArgs $item]
+ set dv [OptTypeArgs $item];
if {[OptState $item] != "header"} {
- set dv "($dv)"
+ set dv "($dv)";
}
- append res [string trimright [format "\n %-*s %-*s %-*s %s" \
+ append res [format "\n %-*s %-*s %-*s %s" \
$nl [OptName $item] $tl [OptType $item] \
- $dl $dv [OptHelp $item]]]
+ $dl $dv [OptHelp $item]]
}
}
- return $res
+ return $res;
}
# Give nice usage string
@@ -913,13 +913,13 @@ proc ::tcl::OptError {prefix desc {header 0}} {
# determine length
if {$header} {
# add faked instruction
- set h [list [OptNewInst header Var/FlagName Type Value Help]]
- lappend h [OptNewInst header ------------ ---- ----- ----]
- lappend h [OptNewInst header {(-help} "" "" {gives this help)}]
+ set h [list [OptNewInst header Var/FlagName Type Value Help]];
+ lappend h [OptNewInst header ------------ ---- ----- ----];
+ lappend h [OptNewInst header {( -help} "" "" {gives this help )}]
set desc [concat $h $desc]
}
OptLengths $desc nl tl dl
- # actually output
+ # actually output
return "$prefix[OptTree $desc $nl $tl $dl]"
}
@@ -943,105 +943,105 @@ proc ::tcl::Lempty {list} {
# Gets the value of one leaf of a lists tree
proc ::tcl::Lget {list indexLst} {
if {[llength $indexLst] <= 1} {
- return [lindex $list $indexLst]
+ return [lindex $list $indexLst];
}
- Lget [lindex $list [lindex $indexLst 0]] [lrange $indexLst 1 end]
+ Lget [lindex $list [lindex $indexLst 0]] [lrange $indexLst 1 end];
}
# Sets the value of one leaf of a lists tree
# (we use the version that does not create the elements because
# it would be even slower... needs to be written in C !)
# (nb: there is a non trivial recursive problem with indexes 0,
# which appear because there is no difference between a list
-# of 1 element and 1 element alone : [list "a"] == "a" while
+# of 1 element and 1 element alone : [list "a"] == "a" while
# it should be {a} and [listp a] should be 0 while [listp {a b}] would be 1
# and [listp "a b"] maybe 0. listp does not exist either...)
proc ::tcl::Lvarset {listName indexLst newValue} {
- upvar $listName list
+ upvar $listName list;
if {[llength $indexLst] <= 1} {
- Lvarset1nc list $indexLst $newValue
+ Lvarset1nc list $indexLst $newValue;
} else {
- set idx [lindex $indexLst 0]
- set targetList [lindex $list $idx]
+ set idx [lindex $indexLst 0];
+ set targetList [lindex $list $idx];
# reduce refcount on targetList (not really usefull now,
# could be with optimizing compiler)
-# Lvarset1 list $idx {}
+# Lvarset1 list $idx {};
# recursively replace in targetList
- Lvarset targetList [lrange $indexLst 1 end] $newValue
+ Lvarset targetList [lrange $indexLst 1 end] $newValue;
# put updated sub list back in the tree
- Lvarset1nc list $idx $targetList
+ Lvarset1nc list $idx $targetList;
}
}
# Set one cell to a value, eventually create all the needed elements
# (on level-1 of lists)
variable emptyList {}
proc ::tcl::Lvarset1 {listName index newValue} {
- upvar $listName list
+ upvar $listName list;
if {$index < 0} {return -code error "invalid negative index"}
- set lg [llength $list]
+ set lg [llength $list];
if {$index >= $lg} {
- variable emptyList
+ variable emptyList;
for {set i $lg} {$i<$index} {incr i} {
- lappend list $emptyList
+ lappend list $emptyList;
}
- lappend list $newValue
+ lappend list $newValue;
} else {
- set list [lreplace $list $index $index $newValue]
+ set list [lreplace $list $index $index $newValue];
}
}
# same as Lvarset1 but no bound checking / creation
proc ::tcl::Lvarset1nc {listName index newValue} {
- upvar $listName list
- set list [lreplace $list $index $index $newValue]
+ upvar $listName list;
+ set list [lreplace $list $index $index $newValue];
}
# Increments the value of one leaf of a lists tree
# (which must exists)
proc ::tcl::Lvarincr {listName indexLst {howMuch 1}} {
- upvar $listName list
+ upvar $listName list;
if {[llength $indexLst] <= 1} {
- Lvarincr1 list $indexLst $howMuch
+ Lvarincr1 list $indexLst $howMuch;
} else {
- set idx [lindex $indexLst 0]
- set targetList [lindex $list $idx]
+ set idx [lindex $indexLst 0];
+ set targetList [lindex $list $idx];
# reduce refcount on targetList
- Lvarset1nc list $idx {}
+ Lvarset1nc list $idx {};
# recursively replace in targetList
- Lvarincr targetList [lrange $indexLst 1 end] $howMuch
+ Lvarincr targetList [lrange $indexLst 1 end] $howMuch;
# put updated sub list back in the tree
- Lvarset1nc list $idx $targetList
+ Lvarset1nc list $idx $targetList;
}
}
# Increments the value of one cell of a list
proc ::tcl::Lvarincr1 {listName index {howMuch 1}} {
- upvar $listName list
- set newValue [expr {[lindex $list $index]+$howMuch}]
- set list [lreplace $list $index $index $newValue]
- return $newValue
+ upvar $listName list;
+ set newValue [expr {[lindex $list $index]+$howMuch}];
+ set list [lreplace $list $index $index $newValue];
+ return $newValue;
}
# Removes the first element of a list
# and returns the new list value
proc ::tcl::Lvarpop1 {listName} {
- upvar $listName list
- set list [lrange $list 1 end]
+ upvar $listName list;
+ set list [lrange $list 1 end];
}
# Same but returns the removed element
# (Like the tclX version)
proc ::tcl::Lvarpop {listName} {
- upvar $listName list
- set el [lindex $list 0]
- set list [lrange $list 1 end]
- return $el
+ upvar $listName list;
+ set el [lindex $list 0];
+ set list [lrange $list 1 end];
+ return $el;
}
# Assign list elements to variables and return the length of the list
proc ::tcl::Lassign {list args} {
# faster than direct blown foreach (which does not byte compile)
- set i 0
- set lg [llength $list]
+ set i 0;
+ set lg [llength $list];
foreach vname $args {
if {$i>=$lg} break
- uplevel 1 [list ::set $vname [lindex $list $i]]
- incr i
+ uplevel 1 [list ::set $vname [lindex $list $i]];
+ incr i;
}
- return $lg
+ return $lg;
}
# Misc utilities
diff --git a/library/opt/pkgIndex.tcl b/library/opt/pkgIndex.tcl
index c763a3d..c5d3635 100644
--- a/library/opt/pkgIndex.tcl
+++ b/library/opt/pkgIndex.tcl
@@ -8,5 +8,5 @@
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.
-if {![package vsatisfies [package provide Tcl] 8.5-]} {return}
-package ifneeded opt 0.4.9 [list source [file join $dir optparse.tcl]]
+if {![package vsatisfies [package provide Tcl] 8.2]} {return}
+package ifneeded opt 0.4.5 [list source [file join $dir optparse.tcl]]
diff --git a/library/package.tcl b/library/package.tcl
index 2d72a7c..3783722 100644
--- a/library/package.tcl
+++ b/library/package.tcl
@@ -3,8 +3,8 @@
# utility procs formerly in init.tcl which can be loaded on demand
# for package management.
#
-# Copyright © 1991-1993 The Regents of the University of California.
-# Copyright © 1994-1998 Sun Microsystems, Inc.
+# 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.
@@ -14,9 +14,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
@@ -27,7 +27,7 @@ namespace eval tcl::Pkg {}
# Results:
# Returns 1 if the extension matches, 0 otherwise
-proc tcl::Pkg::CompareExtension {fileName {ext {}}} {
+proc tcl::Pkg::CompareExtension { fileName {ext {}} } {
global tcl_platform
if {$ext eq ""} {set ext [info sharedlibextension]}
if {$tcl_platform(platform) eq "windows"} {
@@ -48,7 +48,7 @@ proc tcl::Pkg::CompareExtension {fileName {ext {}}} {
# tcl::Pkg::CompareExtension foo.so.bar .so
# which should not match.
- if {![string is integer -strict [string range $currExt 1 end]]} {
+ if { ![string is integer -strict [string range $currExt 1 end]] } {
return 0
}
set root [file rootname $root]
@@ -57,10 +57,11 @@ 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
@@ -69,7 +70,7 @@ proc tcl::Pkg::CompareExtension {fileName {ext {}}} {
# than lazily when the first reference to an exported
# procedure in the package is made.
# -verbose (optional) Verbose output; the name of each file that
-# was successfully processed is printed out. Additionally,
+# was successfully rocessed is printed out. Additionally,
# if processing of a file failed a message is printed.
# -load pat (optional) Preload any packages whose names match
# the pattern. Used to handle DLLs that depend on
@@ -81,7 +82,7 @@ proc tcl::Pkg::CompareExtension {fileName {ext {}}} {
# dir.
proc pkg_mkIndex {args} {
- set usage {"pkg_mkIndex ?-direct? ?-lazy? ?-load pattern? ?-verbose? ?--? dir ?pattern ...?"}
+ set usage {"pkg_mkIndex ?-direct? ?-lazy? ?-load pattern? ?-verbose? ?--? dir ?pattern ...?"};
set argCount [llength $args]
if {$argCount < 1} {
@@ -127,21 +128,20 @@ proc pkg_mkIndex {args} {
set dir [lindex $args $idx]
set patternList [lrange $args [expr {$idx + 1}] end]
- if {![llength $patternList]} {
+ if {[llength $patternList] == 0} {
set patternList [list "*.tcl" "*[info sharedlibextension]"]
}
- try {
- set fileList [glob -directory $dir -tails -types {r f} -- \
- {*}$patternList]
- } on error {msg opt} {
- return -options $opt $msg
+ if {[catch {
+ glob -directory $dir -tails -types {r f} -- {*}$patternList
+ } fileList o]} {
+ return -options $o $fileList
}
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
@@ -163,23 +163,20 @@ proc pkg_mkIndex {args} {
}
}
foreach pkg [info loaded] {
- if {![string match -nocase $loadPat [lindex $pkg 1]]} {
+ if {! [string match -nocase $loadPat [lindex $pkg 1]]} {
continue
}
if {$doVerbose} {
tclLog "package [lindex $pkg 1] matches '$loadPat'"
}
- try {
+ if {[catch {
load [lindex $pkg 0] [lindex $pkg 1] $c
- } on error err {
+ } err]} {
if {$doVerbose} {
- tclLog "warning: load [lindex $pkg 0]\
- [lindex $pkg 1]\nfailed with: $err"
- }
- } on ok {} {
- if {$doVerbose} {
- tclLog "loaded [lindex $pkg 0] [lindex $pkg 1]"
+ tclLog "warning: load [lindex $pkg 0] [lindex $pkg 1]\nfailed with: $err"
}
+ } 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.
@@ -188,25 +185,21 @@ 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 initialization.
+ # Stub out the unknown command so package can call
+ # into each other during their initialilzation.
proc unknown {args} {}
@@ -214,9 +207,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
@@ -237,22 +230,22 @@ proc pkg_mkIndex {args} {
$c eval [list set ::tcl::file $file]
$c eval [list set ::tcl::direct $direct]
- # Download needed procedures into the child 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]]
}
- try {
+ if {[catch {
$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
@@ -274,17 +267,18 @@ 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]
@@ -295,16 +289,17 @@ 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.
- if {!$::tcl::direct} {
+ # 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.
foreach ::tcl::x [::tcl::GetAllNamespaces] {
- if {![info exists ::tcl::namespaces($::tcl::x)]} {
+ if {! [info exists ::tcl::namespaces($::tcl::x)]} {
namespace import -force ${::tcl::x}::*
}
@@ -321,9 +316,8 @@ 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]
@@ -338,8 +332,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 ""
@@ -349,12 +343,12 @@ proc pkg_mkIndex {args} {
}
}
}
- } on error msg {
+ } msg] == 1} {
set what [$c eval set ::tcl::debug]
if {$doVerbose} {
tclLog "warning: error while $what $file: $msg"
}
- } on ok {} {
+ } else {
set what [$c eval set ::tcl::debug]
if {$doVerbose} {
tclLog "successful $what of $file"
@@ -363,7 +357,7 @@ proc pkg_mkIndex {args} {
set cmds [lsort [$c eval array names ::tcl::newCmds]]
set pkgs [$c eval set ::tcl::newPkgs]
if {$doVerbose} {
- if {!$direct} {
+ if { !$direct } {
tclLog "commands provided were $cmds"
}
tclLog "packages provided were $pkgs"
@@ -399,7 +393,7 @@ proc pkg_mkIndex {args} {
lappend cmd ::tcl::Pkg::Create -name $name -version $version
foreach spec [lsort -index 0 $files($pkg)] {
foreach {file type procs} $spec {
- if {$direct} {
+ if { $direct } {
set procs {}
}
lappend cmd "-$type" [list $file $procs]
@@ -409,16 +403,16 @@ proc pkg_mkIndex {args} {
}
set f [open [file join $dir pkgIndex.tcl] w]
- fconfigure $f -encoding utf-8 -translation lf
puts $f $index
close $f
}
# 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.
@@ -449,12 +443,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.
@@ -467,8 +461,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]
@@ -480,29 +474,24 @@ proc tclPkgUnknown {name args} {
}
set tclSeenPath($dir) 1
- # Get the pkgIndex.tcl files in subdirectories of auto_path directories.
- # - Safe Base interpreters have a restricted "glob" command that
- # works in this case.
- # - The "catch" was essential when there was no safe glob and every
- # call in a safe interp failed; it is retained only for corner
- # cases in which the eventual call to glob returns an error.
+ # 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)]} {
- try {
- ::tcl::Pkg::source $file
- } trap {POSIX EACCES} {} {
+ 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"} {
# $file was not readable; silently ignore
continue
- } on error msg {
- if {[regexp {version conflict for package} $msg]} {
- # In case of version conflict, silently ignore
- continue
- }
- tclLog "error reading package index file $file: $msg"
- } on ok {} {
+ }
+ if {$code} {
+ tclLog "error reading package index file $file: $msg"
+ } else {
set procdDirs($dir) 1
}
}
@@ -513,18 +502,16 @@ 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])} {
- try {
- ::tcl::Pkg::source $file
- } trap {POSIX EACCES} {} {
+ 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"} {
# $file was not readable; silently ignore
continue
- } on error msg {
- if {[regexp {version conflict for package} $msg]} {
- # In case of version conflict, silently ignore
- continue
- }
+ }
+ if {$code} {
tclLog "error reading package index file $file: $msg"
- } on ok {} {
+ } else {
set procdDirs($dir) 1
}
}
@@ -532,11 +519,12 @@ 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 {
@@ -548,11 +536,11 @@ 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)} {
lappend use_path $dir
@@ -563,9 +551,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
@@ -574,6 +562,7 @@ 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]
@@ -583,8 +572,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]
@@ -597,34 +586,32 @@ proc tcl::MacOSXPkgUnknown {original name args} {
set tclSeenPath($dir) 1
# get the pkgIndex files out of the subdirectories
- # Safe interpreters do not use tcl::MacOSXPkgUnknown - see init.tcl.
foreach file [glob -directory $dir -join -nocomplain \
* Resources Scripts pkgIndex.tcl] {
set dir [file dirname $file]
if {![info exists procdDirs($dir)]} {
- try {
- ::tcl::Pkg::source $file
- } trap {POSIX EACCES} {} {
+ 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"} {
# $file was not readable; silently ignore
continue
- } on error msg {
- if {[regexp {version conflict for package} $msg]} {
- # In case of version conflict, silently ignore
- continue
- }
+ }
+ if {$code} {
tclLog "error reading package index file $file: $msg"
- } on ok {} {
+ } else {
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 {
@@ -636,11 +623,11 @@ 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)} {
lappend use_path $dir
@@ -666,12 +653,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.
@@ -689,7 +676,7 @@ proc ::tcl::Pkg::Create {args} {
# process arguments
set len [llength $args]
- if {$len < 6} {
+ if { $len < 6 } {
error $err(wrongNumArgs)
}
@@ -703,14 +690,14 @@ proc ::tcl::Pkg::Create {args} {
switch -glob -- $flag {
"-name" -
"-version" {
- if {$i >= $len} {
+ if { $i >= $len } {
error [format $err(valueMissing) $flag]
}
set opts($flag) [lindex $args $i]
}
"-source" -
"-load" {
- if {$i >= $len} {
+ if { $i >= $len } {
error [format $err(valueMissing) $flag]
}
lappend opts($flag) [lindex $args $i]
@@ -722,18 +709,18 @@ proc ::tcl::Pkg::Create {args} {
}
# Validate the parameters
- if {![llength $opts(-name)]} {
+ if { [llength $opts(-name)] == 0 } {
error [format $err(valueMissing) "-name"]
}
- if {![llength $opts(-version)]} {
+ if { [llength $opts(-version)] == 0 } {
error [format $err(valueMissing) "-version"]
}
- if {!([llength $opts(-source)] || [llength $opts(-load)])} {
+ if { [llength $opts(-source)] == 0 && [llength $opts(-load)] == 0 } {
error $err(noLoadOrSource)
}
- # OK, now everything is good. Generate the package ifneeded statement.
+ # OK, now everything is good. Generate the package ifneeded statment.
set cmdline "package ifneeded $opts(-name) $opts(-version) "
set cmdList {}
@@ -753,7 +740,7 @@ proc ::tcl::Pkg::Create {args} {
}
}
- if {[llength $lazyFileList]} {
+ if { [llength $lazyFileList] > 0 } {
lappend cmdList "\[list tclPkgSetup \$dir $opts(-name)\
$opts(-version) [list $lazyFileList]\]"
}
diff --git a/library/parray.tcl b/library/parray.tcl
index 984bf47..a9c2cb1 100644
--- a/library/parray.tcl
+++ b/library/parray.tcl
@@ -1,8 +1,8 @@
# parray:
# Print the contents of a global array on stdout.
#
-# Copyright © 1991-1993 The Regents of the University of California.
-# Copyright © 1994 Sun Microsystems, Inc.
+# Copyright (c) 1991-1993 The Regents of the University of California.
+# Copyright (c) 1994 Sun Microsystems, Inc.
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
diff --git a/library/platform/pkgIndex.tcl b/library/platform/pkgIndex.tcl
index e7029d0..5970a3f 100644
--- a/library/platform/pkgIndex.tcl
+++ b/library/platform/pkgIndex.tcl
@@ -1,3 +1,3 @@
-package ifneeded platform 1.0.19 [list source [file join $dir platform.tcl]]
+package ifneeded platform 1.0.14 [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 63d4d76..35a22a3 100644
--- a/library/platform/platform.tcl
+++ b/library/platform/platform.tcl
@@ -29,10 +29,8 @@
# are on "Windows NT" or "Windows XP" or whatever.
#
# Machine specific
-# % amd64 -> x86_64
# % arm* -> arm
# % sun4* -> sparc
-# % ia32* -> ix86
# % intel -> ix86
# % i*86* -> ix86
# % Power* -> powerpc
@@ -73,7 +71,6 @@ proc ::platform::generic {} {
set cpu sparc
}
intel -
- ia32* -
i*86* {
set cpu ix86
}
@@ -83,7 +80,6 @@ proc ::platform::generic {} {
set cpu ix86
}
}
- ppc -
"Power*" {
set cpu powerpc
}
@@ -98,6 +94,9 @@ proc ::platform::generic {} {
}
switch -glob -- $plat {
+ cygwin* {
+ set plat cygwin
+ }
windows {
if {$tcl_platform(platform) == "unix"} {
set plat cygwin
@@ -150,9 +149,6 @@ proc ::platform::generic {} {
osf1 {
set plat tru64
}
- default {
- set plat [lindex [split $plat _-] 0]
- }
}
return "${plat}-${cpu}"
@@ -179,16 +175,11 @@ proc ::platform::identify {} {
}
macosx {
set major [lindex [split $tcl_platform(osVersion) .] 0]
- if {$major > 19} {
- set minor [lindex [split $tcl_platform(osVersion) .] 1]
- incr major -9
- append plat $major.[expr {$minor - 1}]
- } else {
+ if {$major > 8} {
incr major -4
append plat 10.$major
return "${plat}-${cpu}"
}
- return "${plat}-${cpu}"
}
linux {
# Look for the libc*.so and determine its version
@@ -265,7 +256,7 @@ proc ::platform::LibcVersion {base _->_ vv} {
set libc [lindex $libclist 0]
- # Try executing the library first. This should succeed
+ # Try executing the library first. This should suceed
# for a glibc library, and return the version
# information.
@@ -339,7 +330,7 @@ proc ::platform::patterns {id} {
lappend res macosx-universal macosx-i386-x86_64
}
macosx*-* {
- # 10.5+,11.0+
+ # 10.5+
if {[regexp {macosx([^-]*)-(.*)} $id -> v cpu]} {
switch -exact -- $cpu {
@@ -347,61 +338,17 @@ proc ::platform::patterns {id} {
lappend alt i386-x86_64
lappend alt universal
}
- x86_64 {
- if {[lindex [split $::tcl_platform(osVersion) .] 0] < 19} {
- set alt i386-x86_64
- } else {
- set alt {}
- }
- }
- arm {
- lappend alt x86_64
- }
+ x86_64 { lappend alt i386-x86_64 }
default { set alt {} }
}
if {$v ne ""} {
foreach {major minor} [split $v .] break
- set res {}
- if {$major eq 13} {
- # Add 13.0 to 13.minor to patterns.
- for {set j $minor} {$j >= 0} {incr j -1} {
- lappend res macosx${major}.${j}-${cpu}
- foreach a $alt {
- lappend res macosx${major}.${j}-$a
- }
- }
- set major 12
- set minor 5
- }
- if {$major eq 12} {
- # Add 12.0 to 12.minor to patterns.
- for {set j $minor} {$j >= 0} {incr j -1} {
- lappend res macosx${major}.${j}-${cpu}
- foreach a $alt {
- lappend res macosx${major}.${j}-$a
- }
- }
- set major 11
- set minor 5
- }
- if {$major eq 11} {
- # Add 11.0 to 11.minor to patterns.
- for {set j $minor} {$j >= 0} {incr j -1} {
- lappend res macosx${major}.${j}-${cpu}
- foreach a $alt {
- lappend res macosx${major}.${j}-$a
- }
- }
- set major 10
- set minor 15
- }
# Add 10.5 to 10.minor to patterns.
+ set res {}
for {set j $minor} {$j >= 5} {incr j -1} {
- if {$cpu ne "arm"} {
- lappend res macosx${major}.${j}-${cpu}
- }
+ lappend res macosx${major}.${j}-${cpu}
foreach a $alt {
lappend res macosx${major}.${j}-$a
}
@@ -431,7 +378,7 @@ proc ::platform::patterns {id} {
# ### ### ### ######### ######### #########
## Ready
-package provide platform 1.0.19
+package provide platform 1.0.14
# ### ### ### ######### ######### #########
## Demo application
diff --git a/library/platform/shell.tcl b/library/platform/shell.tcl
index 1e43409..6eb9691 100644
--- a/library/platform/shell.tcl
+++ b/library/platform/shell.tcl
@@ -27,7 +27,7 @@ proc ::platform::shell::generic {shell} {
LOCATE base out
set code {}
- # Forget any preexisting platform package, it might be in
+ # Forget any pre-existing platform package, it might be in
# conflict with this one.
lappend code {package forget platform}
# Inject our platform package
@@ -52,7 +52,7 @@ proc ::platform::shell::identify {shell} {
LOCATE base out
set code {}
- # Forget any preexisting platform package, it might be in
+ # Forget any pre-existing platform package, it might be in
# conflict with this one.
lappend code {package forget platform}
# Inject our platform package
@@ -99,14 +99,14 @@ proc ::platform::shell::LOCATE {bv ov} {
upvar 1 $bv base $ov out
# Locate the platform package for injection into the specified
- # shell. We are using package management to find it, wherever it
+ # shell. We are using package management to find it, whereever it
# is, instead of using hardwired relative paths. This allows us to
# install the two packages as TMs without breaking the code
# 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
+ # are made to the TM code, i.e. the provide statement generated by
# tm.tcl
set pl [package ifneeded platform [package require platform]]
diff --git a/library/readfile.tcl b/library/readfile.tcl
deleted file mode 100644
index c1d5b84..0000000
--- a/library/readfile.tcl
+++ /dev/null
@@ -1,23 +0,0 @@
-# readFile:
-# Read the contents of a file.
-#
-# Copyright © 2023 Donal K Fellows.
-#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-#
-
-proc readFile {filename {mode text}} {
- # Parse the arguments
- set MODES {binary text}
- set ERR [list -level 1 -errorcode [list TCL LOOKUP MODE $mode]]
- set mode [tcl::prefix match -message "mode" -error $ERR $MODES $mode]
-
- # Read the file
- set f [open $filename [dict get {text r binary rb} $mode]]
- try {
- return [read $f]
- } finally {
- close $f
- }
-}
diff --git a/library/reg/pkgIndex.tcl b/library/reg/pkgIndex.tcl
new file mode 100755
index 0000000..1241f2a
--- /dev/null
+++ b/library/reg/pkgIndex.tcl
@@ -0,0 +1,9 @@
+if {![package vsatisfies [package provide Tcl] 8]} return
+if {[info sharedlibextension] != ".dll"} return
+if {[info exists ::tcl_platform(debug)]} {
+ package ifneeded registry 1.2.2 \
+ [list load [file join $dir tclreg12g.dll] registry]
+} else {
+ package ifneeded registry 1.2.2 \
+ [list load [file join $dir tclreg12.dll] registry]
+}
diff --git a/library/registry/pkgIndex.tcl b/library/registry/pkgIndex.tcl
deleted file mode 100644
index edb4729..0000000
--- a/library/registry/pkgIndex.tcl
+++ /dev/null
@@ -1,9 +0,0 @@
-if {![package vsatisfies [package provide Tcl] 8.5-]} return
-if {[info sharedlibextension] != ".dll"} return
-if {[package vsatisfies [package provide Tcl] 9.0-]} {
- package ifneeded registry 1.3.7 \
- [list load [file join $dir tcl9registry13.dll] Registry]
-} else {
- package ifneeded registry 1.3.7 \
- [list load [file join $dir tclregistry13.dll] Registry]
-}
diff --git a/library/safe.tcl b/library/safe.tcl
index 7b85371..2dd4aed 100644
--- a/library/safe.tcl
+++ b/library/safe.tcl
@@ -2,12 +2,12 @@
#
# This file provide a safe loading/sourcing mechanism for safe interpreters.
# It implements a virtual path mecanism to hide the real pathnames from the
-# child. It runs in a parent interpreter and sets up data structure and
-# aliases that will be invoked when used from a child interpreter.
+# slave. It runs in a master interpreter and sets up data structure and
+# aliases that will be invoked when used from a slave interpreter.
#
# See the safe.n man page for details.
#
-# Copyright © 1996-1997 Sun Microsystems, Inc.
+# Copyright (c) 1996-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.
@@ -20,7 +20,7 @@
#
# Needed utilities package
-package require opt 0.4.9
+package require opt 0.4.1
# Create the safe namespace
namespace eval ::safe {
@@ -78,40 +78,26 @@ proc ::safe::InterpNested {} {
# Interface/entry point function and front end for "Create"
proc ::safe::interpCreate {args} {
- variable AutoPathSync
- if {$AutoPathSync} {
- set autoPath {}
- }
set Args [::tcl::OptKeyParse ::safe::interpCreate $args]
- RejectExcessColons $child
-
- set withAutoPath [::tcl::OptProcArgGiven -autoPath]
- InterpCreate $child $accessPath \
- [InterpStatics] [InterpNested] $deleteHook $autoPath $withAutoPath
+ InterpCreate $slave $accessPath \
+ [InterpStatics] [InterpNested] $deleteHook
}
proc ::safe::interpInit {args} {
- variable AutoPathSync
- if {$AutoPathSync} {
- set autoPath {}
- }
set Args [::tcl::OptKeyParse ::safe::interpIC $args]
- if {![::interp exists $child]} {
- return -code error "\"$child\" is not an interpreter"
+ if {![::interp exists $slave]} {
+ return -code error "\"$slave\" is not an interpreter"
}
- RejectExcessColons $child
-
- set withAutoPath [::tcl::OptProcArgGiven -autoPath]
- InterpInit $child $accessPath \
- [InterpStatics] [InterpNested] $deleteHook $autoPath $withAutoPath
+ InterpInit $slave $accessPath \
+ [InterpStatics] [InterpNested] $deleteHook
}
-# Check that the given child is "one of us"
-proc ::safe::CheckInterp {child} {
- namespace upvar ::safe [VarName $child] state
- if {![info exists state] || ![::interp exists $child]} {
+# 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 \
- "\"$child\" is not an interpreter managed by ::safe::"
+ "\"$slave\" is not an interpreter managed by ::safe::"
}
}
@@ -129,32 +115,26 @@ proc ::safe::CheckInterp {child} {
# So this will be hopefully written and some integrated with opt1.0
# (hopefully for tcl8.1 ?)
proc ::safe::interpConfigure {args} {
- variable AutoPathSync
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 "child" is our given argument because it also
+ # we know that "slave" is our given argument because it also
# checks for the "-help" option.
set Args [::tcl::OptKeyParse ::safe::interpIC $args]
- CheckInterp $child
- namespace upvar ::safe [VarName $child] state
+ CheckInterp $slave
+ namespace upvar ::safe S$slave state
- set TMP [list \
+ return [join [list \
[list -accessPath $state(access_path)] \
[list -statics $state(staticsok)] \
[list -nested $state(nestedok)] \
- [list -deleteHook $state(cleanupHook)] \
- ]
- if {!$AutoPathSync} {
- lappend TMP [list -autoPath $state(auto_path)]
- }
- return [join $TMP]
+ [list -deleteHook $state(cleanupHook)]]]
}
2 {
# If we have exactly 2 arguments the semantic is a "configure
# get"
- lassign $args child arg
+ lassign $args slave arg
# get the flag sub program (we 'know' about Opt's internal
# representation of data)
@@ -165,36 +145,21 @@ proc ::safe::interpConfigure {args} {
} elseif {$hits == 0} {
return -code error [::tcl::OptFlagUsage $desc $arg]
}
- CheckInterp $child
- namespace upvar ::safe [VarName $child] state
+ 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)]
- }
- -autoPath {
- if {$AutoPathSync} {
- return -code error "unknown flag $name (bug)"
- } else {
- return [list -autoPath $state(auto_path)]
- }
- }
- -statics {
- return [list -statics $state(staticsok)]
- }
- -nested {
- return [list -nested $state(nestedok)]
- }
- -deleteHook {
- return [list -deleteHook $state(cleanupHook)]
- }
+ -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 unambiguous -statics ?value? instead:
+ # it to use the unambigous -statics ?value? instead:
return -code error\
"ambigous query (get or set -noStatics ?)\
use -statics instead"
@@ -213,27 +178,21 @@ proc ::safe::interpConfigure {args} {
# Otherwise we want to parse the arguments like init and
# create did
set Args [::tcl::OptKeyParse ::safe::interpIC $args]
- CheckInterp $child
- namespace upvar ::safe [VarName $child] state
+ 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 0
- set accessPath $state(access_path)
- } else {
set doreset 1
- }
- if {(!$AutoPathSync) && (![::tcl::OptProcArgGiven -autoPath])} {
- set autoPath $state(auto_path)
- } elseif {$AutoPathSync} {
- set autoPath {}
+ set accessPath $state(access_path)
} else {
+ set doreset 0
}
if {
![::tcl::OptProcArgGiven -statics]
&& ![::tcl::OptProcArgGiven -noStatics]
- } then {
+ } {
set statics $state(staticsok)
} else {
set statics [InterpStatics]
@@ -241,7 +200,7 @@ proc ::safe::interpConfigure {args} {
if {
[::tcl::OptProcArgGiven -nested] ||
[::tcl::OptProcArgGiven -nestedLoadOk]
- } then {
+ } {
set nested [InterpNested]
} else {
set nested $state(nestedok)
@@ -249,37 +208,16 @@ proc ::safe::interpConfigure {args} {
if {![::tcl::OptProcArgGiven -deleteHook]} {
set deleteHook $state(cleanupHook)
}
- # Now reconfigure
- set withAutoPath [::tcl::OptProcArgGiven -autoPath]
- InterpSetConfig $child $accessPath $statics $nested $deleteHook $autoPath $withAutoPath
-
- # auto_reset the child (to completely sync the new access_path) tests safe-9.8 safe-9.9
+ # 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 $child {auto_reset}} msg]} {
- Log $child "auto_reset failed: $msg"
+ if {[catch {::interp eval $slave {auto_reset}} msg]} {
+ Log $slave "auto_reset failed: $msg"
} else {
- Log $child "successful auto_reset" NOTICE
- }
-
- # Sync the paths used to search for Tcl modules.
- ::interp eval $child {tcl::tm::path remove {*}[tcl::tm::list]}
- if {[llength $state(tm_path_child)] > 0} {
- ::interp eval $child [list \
- ::tcl::tm::add {*}[lreverse $state(tm_path_child)]]
- }
-
- # Remove stale "package ifneeded" data for non-loaded packages.
- # - Not for loaded packages, because "package forget" erases
- # data from "package provide" as well as "package ifneeded".
- # - This is OK because the script cannot reload any version of
- # the package unless it first does "package forget".
- foreach pkg [::interp eval $child {package names}] {
- if {[::interp eval $child [list package provide $pkg]] eq ""} {
- ::interp eval $child [list package forget $pkg]
- }
+ Log $slave "successful auto_reset" NOTICE
}
}
- return
}
}
}
@@ -293,64 +231,54 @@ proc ::safe::interpConfigure {args} {
#
# safe::InterpCreate : doing the real job
#
-# This procedure creates a safe interpreter and initializes it with the safe
+# This procedure creates a safe slave and initializes it with the safe
# base aliases.
-# NB: child name must be simple alphanumeric string, no spaces, no (), no
+# 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 child name.
+# Returns the slave name.
#
# Optional Arguments :
-# + child name : if empty, generated name will be used
+# + slave name : if empty, generated name will be used
# + access_path: path list controlling where load/source can occur,
-# if empty: the parent auto_path and its subdirectories will be
-# used.
+# 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)
+# + 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 {
- child
+ slave
access_path
staticsok
nestedok
deletehook
- autoPath
- withAutoPath
} {
- # Create the child.
- # If evaluated in ::safe, the interpreter command for foo is ::foo;
- # but for foo::bar is safe::foo::bar. So evaluate in :: instead.
- if {$child ne ""} {
- namespace eval :: [list ::interp create -safe $child]
+ # Create the slave.
+ if {$slave ne ""} {
+ ::interp create -safe $slave
} else {
- # empty argument: generate child name
- set child [::interp create -safe]
+ # empty argument: generate slave name
+ set slave [::interp create -safe]
}
- Log $child "Created" NOTICE
+ Log $slave "Created" NOTICE
- # Initialize it. (returns child name)
- InterpInit $child $access_path $staticsok $nestedok $deletehook $autoPath $withAutoPath
+ # Initialize it. (returns slave name)
+ InterpInit $slave $access_path $staticsok $nestedok $deletehook
}
#
# InterpSetConfig (was setAccessPath) :
-# Sets up child virtual access path and corresponding structure within
-# the parent. Also sets the tcl_library in the child to be the first
+# 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 child has been initialized you
-# probably need to call "auto_reset" in the child in order that it gets
+# 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.
-#
-# It is the caller's responsibility, if it supplies a non-empty value for
-# access_path, to make the first directory in the path suitable for use as
-# tcl_library, and (if ![setSyncMode]), to set the child's ::auto_path.
-proc ::safe::InterpSetConfig {child access_path staticsok nestedok deletehook autoPath withAutoPath} {
+proc ::safe::InterpSetConfig {slave access_path staticsok nestedok deletehook} {
global auto_path
- variable AutoPathSync
# determine and store the access path if empty
if {$access_path eq ""} {
@@ -359,80 +287,55 @@ proc ::safe::InterpSetConfig {child access_path staticsok nestedok deletehook au
# 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 < 0} {
+ if {$where == -1} {
# not found, add it.
set access_path [linsert $access_path 0 [info library]]
- Log $child "tcl_library was not in auto_path,\
- added it to child's access_path" NOTICE
+ 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 $child "tcl_libray was not in first in auto_path,\
- moved it to front of child's access_path" NOTICE
+ Log $slave "tcl_libray was not in first in auto_path,\
+ moved it to front of slave's access_path" NOTICE
}
- set raw_auto_path $access_path
-
- # Add 1st level subdirs (will searched by auto loading from tcl
- # code in the child using glob and thus fail, so we add them here
+ # 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]
- } else {
- set raw_auto_path $autoPath
- }
-
- if {$withAutoPath} {
- set raw_auto_path $autoPath
}
- Log $child "Setting accessPath=($access_path) staticsok=$staticsok\
+ Log $slave "Setting accessPath=($access_path) staticsok=$staticsok\
nestedok=$nestedok deletehook=($deletehook)" NOTICE
- if {!$AutoPathSync} {
- Log $child "Setting auto_path=($raw_auto_path)" NOTICE
- }
- namespace upvar ::safe [VarName $child] state
+ 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
- # child has to be defered until the necessary commands are present for
+ # slave has to be defered until the necessary commands are present for
# setup.
+
set norm_access_path {}
- set child_access_path {}
+ set slave_access_path {}
set map_access_path {}
set remap_access_path {}
- set child_tm_path {}
+ set slave_tm_path {}
set i 0
foreach dir $access_path {
set token [PathToken $i]
- lappend child_access_path $token
+ 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 the child auto_path to a tokenized raw_auto_path.
- # Silently ignore any directories that are not in the access path.
- # If [setSyncMode], SyncAccessPath will overwrite this value with the
- # full access path.
- # If ![setSyncMode], Safe Base code will not change this value.
- set tokens_auto_path {}
- foreach dir $raw_auto_path {
- if {[dict exists $remap_access_path $dir]} {
- lappend tokens_auto_path [dict get $remap_access_path $dir]
- }
- }
- ::interp eval $child [list set auto_path $tokens_auto_path]
-
- # Add the tcl::tm directories to the access path.
set morepaths [::tcl::tm::list]
- set firstpass 1
while {[llength $morepaths]} {
set addpaths $morepaths
set morepaths {}
@@ -441,27 +344,16 @@ proc ::safe::InterpSetConfig {child access_path staticsok nestedok deletehook au
# Prevent the addition of dirs on the tm list to the
# result if they are already known.
if {[dict exists $remap_access_path $dir]} {
- if {$firstpass} {
- # $dir is in [::tcl::tm::list] and belongs in the child_tm_path.
- # Later passes handle subdirectories, which belong in the
- # access path but not in the module path.
- lappend child_tm_path [dict get $remap_access_path $dir]
- }
continue
}
set token [PathToken $i]
lappend access_path $dir
- lappend child_access_path $token
+ lappend slave_access_path $token
lappend map_access_path $token $dir
lappend remap_access_path $dir $token
lappend norm_access_path [file normalize $dir]
- if {$firstpass} {
- # $dir is in [::tcl::tm::list] and belongs in the child_tm_path.
- # Later passes handle subdirectories, which belong in the
- # access path but not in the module path.
- lappend child_tm_path $token
- }
+ lappend slave_tm_path $token
incr i
# [Bug 2854929]
@@ -472,76 +364,44 @@ proc ::safe::InterpSetConfig {child access_path staticsok nestedok deletehook au
# subdirectories.
lappend morepaths {*}[glob -nocomplain -directory $dir -type d *]
}
- set firstpass 0
}
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,child) $child_access_path
- set state(tm_path_child) $child_tm_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
- if {!$AutoPathSync} {
- set state(auto_path) $raw_auto_path
- }
-
- SyncAccessPath $child
- return
+ SyncAccessPath $slave
}
-
#
-# DetokPath:
-# Convert tokens to directories where possible.
-# Leave undefined tokens unconverted. They are
-# nonsense in both the child and the parent.
#
-proc ::safe::DetokPath {child tokenPath} {
- namespace upvar ::safe [VarName $child] state
-
- set childPath {}
- foreach token $tokenPath {
- if {[dict exists $state(access_path,map) $token]} {
- lappend childPath [dict get $state(access_path,map) $token]
- } else {
- lappend childPath $token
- }
- }
- return $childPath
-}
-
-#
-#
-# interpFindInAccessPath:
+# FindInAccessPath:
# Search for a real directory and returns its virtual Id (including the
# "$")
-#
-# When debugging, use TranslatePath for the inverse operation.
-proc ::safe::interpFindInAccessPath {child path} {
- CheckInterp $child
- namespace upvar ::safe [VarName $child] state
+proc ::safe::interpFindInAccessPath {slave path} {
+ namespace upvar ::safe S$slave state
if {![dict exists $state(access_path,remap) $path]} {
- return -code error "$path not found in access path"
+ return -code error "$path not found in access path $access_path"
}
return [dict get $state(access_path,remap) $path]
}
-
#
# addToAccessPath:
# add (if needed) a real directory to access path and return its
# virtual token (including the "$").
-proc ::safe::interpAddToAccessPath {child path} {
+proc ::safe::interpAddToAccessPath {slave path} {
# first check if the directory is already in there
# (inlined interpFindInAccessPath).
- CheckInterp $child
- namespace upvar ::safe [VarName $child] state
+ namespace upvar ::safe S$slave state
if {[dict exists $state(access_path,remap) $path]} {
return [dict get $state(access_path,remap) $path]
@@ -551,12 +411,12 @@ proc ::safe::interpAddToAccessPath {child path} {
set token [PathToken [llength $state(access_path)]]
lappend state(access_path) $path
- lappend state(access_path,child) $token
+ 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]
- SyncAccessPath $child
+ SyncAccessPath $slave
return $token
}
@@ -564,88 +424,77 @@ proc ::safe::interpAddToAccessPath {child path} {
# interpreter. It is useful when you want to install the safe base aliases
# into a preexisting safe interpreter.
proc ::safe::InterpInit {
- child
+ slave
access_path
staticsok
nestedok
deletehook
- autoPath
- withAutoPath
} {
# Configure will generate an access_path when access_path is empty.
- InterpSetConfig $child $access_path $staticsok $nestedok $deletehook $autoPath $withAutoPath
+ InterpSetConfig $slave $access_path $staticsok $nestedok $deletehook
# NB we need to add [namespace current], aliases are always absolute
# paths.
- # These aliases let the child load files to define new commands
- # This alias lets the child use the encoding names, convertfrom,
+ # 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 child.
+ # the slave.
foreach {command alias} {
source AliasSource
load AliasLoad
+ encoding AliasEncoding
exit interpDelete
glob AliasGlob
} {
- ::interp alias $child $command {} [namespace current]::$alias $child
+ ::interp alias $slave $command {} [namespace current]::$alias $slave
}
- # UGLY POINT! These commands are safe (they're ensembles with unsafe
- # subcommands), but is assumed to not be by existing policies so it is
- # hidden by default. Hack it...
- foreach command {encoding file} {
- ::interp alias $child $command {} interp invokehidden $child $command
- }
-
- # This alias lets the child have access to a subset of the 'file'
+ # This alias lets the slave have access to a subset of the 'file'
# command functionality.
- foreach subcommand {dirname extension rootname tail} {
- ::interp alias $child ::tcl::file::$subcommand {} \
- ::safe::AliasFileSubcommand $child $subcommand
- }
-
- # Subcommand of 'encoding' that has special handling; [encoding system] is
- # OK provided it has no other arguments passed to it.
- ::interp alias $child ::tcl::encoding::system {} \
- ::safe::AliasEncodingSystem $child
+ AliasSubset $slave file \
+ file dir.* join root.* ext.* tail path.* split
# Subcommands of info
- ::interp alias $child ::tcl::info::nameofexecutable {} \
- ::safe::AliasExeName $child
+ foreach {subcommand alias} {
+ nameofexecutable AliasExeName
+ } {
+ ::interp alias $slave ::tcl::info::$subcommand \
+ {} [namespace current]::$alias $slave
+ }
- # The allowed child 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 child, to get auto_load and
+ # Source init.tcl and tm.tcl into the slave, to get auto_load and
# other procedures defined:
- if {[catch {::interp eval $child {
+ if {[catch {::interp eval $slave {
source [file join $tcl_library init.tcl]
- }} msg opt]} {
- Log $child "can't source init.tcl ($msg)"
- return -options $opt "can't source init.tcl into child $child ($msg)"
+ }} 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 $child {
+ if {[catch {::interp eval $slave {
source [file join $tcl_library tm.tcl]
- }} msg opt]} {
- Log $child "can't source tm.tcl ($msg)"
- return -options $opt "can't source tm.tcl into child $child ($msg)"
+ }} msg]} {
+ Log $slave "can't source tm.tcl ($msg)"
+ return -code 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 [VarName $child] state
- if {[llength $state(tm_path_child)] > 0} {
- ::interp eval $child [list \
- ::tcl::tm::add {*}[lreverse $state(tm_path_child)]]
+ namespace upvar ::safe S$slave state
+ if {[llength $state(tm_path_slave)] > 0} {
+ ::interp eval $slave [list \
+ ::tcl::tm::add {*}[lreverse $state(tm_path_slave)]]
}
- return $child
+ return $slave
}
# Add (only if needed, avoid duplicates) 1 level of sub directories to an
@@ -671,31 +520,16 @@ proc ::safe::AddSubDirs {pathList} {
return $res
}
-# This procedure deletes a safe interpreter managed by Safe Tcl and cleans up
-# associated state.
-# - The command will also delete non-Safe-Base interpreters.
-# - This is regrettable, but to avoid breaking existing code this should be
-# amended at the next major revision by uncommenting "CheckInterp".
-
-proc ::safe::interpDelete {child} {
- Log $child "About to delete" NOTICE
-
- # CheckInterp $child
- namespace upvar ::safe [VarName $child] state
-
- # When an interpreter is deleted with [interp delete], any sub-interpreters
- # are deleted automatically, but this leaves behind their data in the Safe
- # Base. To clean up properly, we call safe::interpDelete recursively on each
- # Safe Base sub-interpreter, so each one is deleted cleanly and not by
- # the automatic mechanism built into [interp delete].
- foreach sub [interp children $child] {
- if {[info exists ::safe::[VarName [list $child $sub]]]} {
- ::safe::interpDelete [list $child $sub]
- }
- }
+# This procedure deletes a safe slave managed by Safe Tcl and cleans up
+# associated state:
- # If the child has a cleanup hook registered, call it. Check the
- # existence because we might be called to delete an interp which has
+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)]} {
@@ -704,15 +538,15 @@ proc ::safe::interpDelete {child} {
# remove the hook now, otherwise if the hook calls us somehow,
# we'll loop
unset state(cleanupHook)
- try {
- {*}$hook $child
- } on error err {
- Log $child "Delete hook error ($err)"
+ if {[catch {
+ {*}$hook $slave
+ } err]} {
+ Log $slave "Delete hook error ($err)"
}
}
}
- # Discard the global array of state associated with the child, and
+ # Discard the global array of state associated with the slave, and
# delete the interpreter.
if {[info exists state]} {
@@ -721,15 +555,15 @@ proc ::safe::interpDelete {child} {
# if we have been called twice, the interp might have been deleted
# already
- if {[::interp exists $child]} {
- ::interp delete $child
- Log $child "Deleted" NOTICE
+ if {[::interp exists $slave]} {
+ ::interp delete $slave
+ Log $slave "Deleted" NOTICE
}
return
}
-# Set (or get) the logging mechanism
+# Set (or get) the logging mecanism
proc ::safe::setLogCmd {args} {
variable Log
@@ -749,9 +583,9 @@ proc ::safe::setLogCmd {args} {
} else {
# Activate logging, define proper command.
- proc ::safe::Log {child msg {type ERROR}} {
+ proc ::safe::Log {slave msg {type ERROR}} {
variable Log
- {*}$Log "$type for child $child : $msg"
+ {*}$Log "$type for slave $slave : $msg"
return
}
}
@@ -760,28 +594,24 @@ proc ::safe::setLogCmd {args} {
# ------------------- END OF PUBLIC METHODS ------------
#
-# Sets the child auto_path to its recorded access path. Also sets
-# tcl_library to the first token of the access path.
+# 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 {child} {
- variable AutoPathSync
- namespace upvar ::safe [VarName $child] state
+proc ::safe::SyncAccessPath {slave} {
+ namespace upvar ::safe S$slave state
- set child_access_path $state(access_path,child)
- if {$AutoPathSync} {
- ::interp eval $child [list set auto_path $child_access_path]
+ set slave_access_path $state(access_path,slave)
+ ::interp eval $slave [list set auto_path $slave_access_path]
- Log $child "auto_path in $child has been set to $child_access_path"\
- NOTICE
- }
+ 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 access path's. See -> InterpSetConfig for the code which
+ # list of auto_path's. See -> InterpSetConfig for the code which
# ensures this condition.
- ::interp eval $child [list \
- set tcl_library [lindex $child_access_path 0]]
- return
+ ::interp eval $slave [list \
+ set tcl_library [lindex $slave_access_path 0]]
}
# Returns the virtual token for directory number N.
@@ -794,8 +624,8 @@ proc ::safe::PathToken {n} {
#
# translate virtual path into real path
#
-proc ::safe::TranslatePath {child path} {
- namespace upvar ::safe [VarName $child] state
+proc ::safe::TranslatePath {slave path} {
+ namespace upvar ::safe S$slave state
# somehow strip the namespaces 'functionality' out (the danger is that
# we would strip valid macintosh "../" queries... :
@@ -810,7 +640,7 @@ proc ::safe::TranslatePath {child path} {
# file name control (limit access to files/resources that should be a
# valid tcl source file)
-proc ::safe::CheckFileName {child 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
@@ -827,22 +657,9 @@ proc ::safe::CheckFileName {child file} {
}
}
-# AliasFileSubcommand handles selected subcommands of [file] in safe
-# interpreters that are *almost* safe. In particular, it just acts to
-# prevent discovery of what home directories exist.
-
-proc ::safe::AliasFileSubcommand {child subcommand name} {
- if {[string match ~* $name]} {
- set name ./$name
- }
- tailcall ::interp invokehidden $child tcl:file:$subcommand $name
-}
-
# AliasGlob is the target of the "glob" alias in safe interpreters.
-
-proc ::safe::AliasGlob {child args} {
- variable AutoPathSync
- Log $child "GLOB ! $args" NOTICE
+proc ::safe::AliasGlob {slave args} {
+ Log $slave "GLOB ! $args" NOTICE
set cmd {}
set at 0
array set got {
@@ -864,15 +681,11 @@ proc ::safe::AliasGlob {child args} {
while {$at < [llength $args]} {
switch -glob -- [set opt [lindex $args $at]] {
- -nocomplain - -- - -tails {
+ -nocomplain - -- - -join - -tails {
lappend cmd $opt
set got($opt) 1
incr at
}
- -join {
- set got($opt) 1
- incr at
- }
-types - -type {
lappend cmd -types [lindex $args [incr at]]
incr at
@@ -886,10 +699,16 @@ proc ::safe::AliasGlob {child args} {
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 $child "Safe base rejecting glob option '$opt'"
+ Log $slave "Safe base rejecting glob option '$opt'"
return -code error "Safe base rejecting glob option '$opt'"
- # unsafe/unnecessary options rejected: -path
}
default {
break
@@ -899,132 +718,90 @@ proc ::safe::AliasGlob {child args} {
}
# Get the real path from the virtual one and check that the path is in the
- # access path of that child. Done after basic argument processing so that
+ # access path of that slave. Done after basic argument processing so that
# we know if -nocomplain is set.
if {$got(-directory)} {
- try {
- set dir [TranslatePath $child $virtualdir]
- DirInAccessPath $child $dir
- } on error msg {
- Log $child $msg
- if {$got(-nocomplain)} return
+ if {[catch {
+ set dir [TranslatePath $slave $virtualdir]
+ DirInAccessPath $slave $dir
+ } msg]} {
+ Log $slave $msg
+ if {$got(-nocomplain)} {
+ return
+ }
return -code error "permission denied"
}
- if {$got(--)} {
- set cmd [linsert $cmd end-1 -directory $dir]
- } else {
- lappend cmd -directory $dir
- }
- } else {
- # The code after this "if ... else" block would conspire to return with
- # no results in this case, if it were allowed to proceed. Instead,
- # return now and reduce the number of cases to be considered later.
- Log $child {option -directory must be supplied}
- if {$got(-nocomplain)} return
- return -code error "permission denied"
+ lappend cmd -directory $dir
}
- # Apply the -join semantics ourselves (hence -join not copied to $cmd)
+ # Apply the -join semantics ourselves
if {$got(-join)} {
set args [lreplace $args $at end [join [lrange $args $at end] "/"]]
}
- # Process the pattern arguments. If we've done a join there is only one
- # pattern argument.
-
+ # Process remaining pattern arguments
set firstPattern [llength $cmd]
foreach opt [lrange $args $at end] {
if {![regexp $dirPartRE $opt -> thedir thefile]} {
set thedir .
- # The *.tm search comes here.
}
- # "Special" treatment for (joined) argument {*/pkgIndex.tcl}.
- # Do the expansion of "*" here, and filter out any directories that are
- # not in the access path. The outcome is to lappend to cmd a path of
- # the form $virtualdir/subdir/pkgIndex.tcl for each subdirectory subdir,
- # after removing any subdir that are not in the access path.
- if {($thedir eq "*") && ($thefile eq "pkgIndex.tcl")} {
+ if {$thedir eq "*"} {
set mapped 0
- foreach d [glob -directory [TranslatePath $child $virtualdir] \
+ foreach d [glob -directory [TranslatePath $slave $virtualdir] \
-types d -tails *] {
catch {
- DirInAccessPath $child \
- [TranslatePath $child [file join $virtualdir $d]]
- lappend cmd [file join $d $thefile]
- set mapped 1
+ 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
- # Don't [continue] if */pkgIndex.tcl has no matches in the access
- # path. The pattern will now receive the same treatment as a
- # "non-special" pattern (and will fail because it includes a "*" in
- # the directory name).
}
- # Any directory pattern that is not an exact (i.e. non-glob) match to a
- # directory in the access path will be rejected here.
- # - Rejections include any directory pattern that has glob matching
- # patterns "*", "?", backslashes, braces or square brackets, (UNLESS
- # it corresponds to a genuine directory name AND that directory is in
- # the access path).
- # - The only "special matching characters" that remain in patterns for
- # processing by glob are in the filename tail.
- # - [file join $anything ~${foo}] is ~${foo}, which is not an exact
- # match to any directory in the access path. Hence directory patterns
- # that begin with "~" are rejected here. Tests safe-16.[5-8] check
- # that "file join" remains as required and does not expand ~${foo}.
- # - Bug [3529949] relates to unwanted expansion of ~${foo} and this is
- # how the present code avoids the bug. All tests safe-16.* relate.
- try {
- DirInAccessPath $child [TranslatePath $child \
- [file join $virtualdir $thedir]]
- } on error msg {
- Log $child $msg
+ 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"
}
lappend cmd $opt
}
- Log $child "GLOB = $cmd" NOTICE
+ Log $slave "GLOB = $cmd" NOTICE
if {$got(-nocomplain) && [llength $cmd] eq $firstPattern} {
return
}
- try {
- # >>>>>>>>>> HERE'S THE CALL TO SAFE INTERP GLOB <<<<<<<<<<
- # - Pattern arguments added to cmd have NOT been translated from tokens.
- # Only the virtualdir is translated (to dir).
- # - In the pkgIndex.tcl case, there is no "*" in the pattern arguments,
- # which are a list of names each with tail pkgIndex.tcl. The purpose
- # of the call to glob is to remove the names for which the file does
- # not exist.
- set entries [::interp invokehidden $child glob {*}$cmd]
- } on error msg {
- # This is the only place that a call with -nocomplain and no invalid
- # "dash-options" can return an error.
- Log $child $msg
+ if {[catch {
+ ::interp invokehidden $slave glob {*}$cmd
+ } msg]} {
+ Log $slave $msg
return -code error "script error"
}
- Log $child "GLOB < $entries" NOTICE
+ Log $slave "GLOB < $msg" NOTICE
- # Translate path back to what the child should see.
+ # Translate path back to what the slave should see.
set res {}
set l [string length $dir]
- foreach p $entries {
+ foreach p $msg {
if {[string equal -length $l $dir $p]} {
set p [string replace $p 0 [expr {$l-1}] $virtualdir]
}
lappend res $p
}
- Log $child "GLOB > $res" NOTICE
+ Log $slave "GLOB > $res" NOTICE
return $res
}
# AliasSource is the target of the "source" alias in safe interpreters.
-proc ::safe::AliasSource {child args} {
+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.
@@ -1033,87 +810,83 @@ proc ::safe::AliasSource {child args} {
set encoding [lindex $args 1]
set at 2
if {$encoding eq "identity"} {
- Log $child "attempt to use the identity encoding"
+ Log $slave "attempt to use the identity encoding"
return -code error "permission denied"
}
} else {
set at 0
- set encoding utf-8
+ set encoding {}
}
if {$argc != 1} {
set msg "wrong # args: should be \"source ?-encoding E? fileName\""
- Log $child "$msg ($args)"
+ 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 $child $file]
+ set realfile [TranslatePath $slave $file]
} msg]} {
- Log $child $msg
+ Log $slave $msg
return -code error "permission denied"
}
- # check that the path is in the access path of that child
+ # check that the path is in the access path of that slave
if {[catch {
- FileInAccessPath $child $realfile
+ FileInAccessPath $slave $realfile
} msg]} {
- Log $child $msg
+ Log $slave $msg
return -code error "permission denied"
}
- # Check that the filename exists and is readable. If it is not, deliver
- # this -errorcode so that caller in tclPkgUnknown does not write a message
- # to tclLog. Has no effect on other callers of ::source, which are in
- # "package ifneeded" scripts.
+ # do the checks on the filename :
if {[catch {
- CheckFileName $child $realfile
+ CheckFileName $slave $realfile
} msg]} {
- Log $child "$realfile:$msg"
- return -code error -errorcode {POSIX EACCES} $msg
+ Log $slave "$realfile:$msg"
+ return -code error $msg
}
# Passed all the tests, lets source it. Note that we do this all manually
- # because we want to control [info script] in the child so information
+ # because we want to control [info script] in the slave so information
# doesn't leak so much. [Bug 2913625]
- set old [::interp eval $child {info script}]
- set replacementMsg "script error"
+ set old [::interp eval $slave {info script}]
set code [catch {
set f [open $realfile]
- fconfigure $f -encoding $encoding -eofchar "\x1A {}"
+ fconfigure $f -eofchar \032
+ if {$encoding ne ""} {
+ fconfigure $f -encoding $encoding
+ }
set contents [read $f]
close $f
- ::interp eval $child [list info script $file]
+ ::interp eval $slave [list info script $file]
+ ::interp eval $slave $contents
} msg opt]
- if {$code == 0} {
- set code [catch {::interp eval $child $contents} msg opt]
- set replacementMsg $msg
- }
- catch {interp eval $child [list info script $old]}
+ 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 $child $msg
- return -code error $replacementMsg
+ 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.
-proc ::safe::AliasLoad {child file args} {
+proc ::safe::AliasLoad {slave file args} {
set argc [llength $args]
if {$argc > 2} {
set msg "load error: too many arguments"
- Log $child "$msg ($argc) {$file $args}"
+ Log $slave "$msg ($argc) {$file $args}"
return -code error $msg
}
- # prefix (can be empty if file is not).
- set prefix [lindex $args 0]
+ # package name (can be empty if file is not).
+ set package [lindex $args 0]
- namespace upvar ::safe [VarName $child] state
+ namespace upvar ::safe S$slave state
# Determine where to load. load use a relative interp path and {}
# means self, so we can directly and safely use passed arg.
@@ -1122,67 +895,62 @@ proc ::safe::AliasLoad {child file args} {
# we will try to load into a sub sub interp; check that we want to
# authorize that.
if {!$state(nestedok)} {
- Log $child "loading to a sub interp (nestedok)\
- disabled (trying to load $prefix to $target)"
+ Log $slave "loading to a sub interp (nestedok)\
+ disabled (trying to load $package to $target)"
return -code error "permission denied (nested load)"
}
}
# Determine what kind of load is requested
if {$file eq ""} {
- # static loading
- if {$prefix eq ""} {
- set msg "load error: empty filename and no prefix"
- Log $child $msg
+ # static package loading
+ if {$package eq ""} {
+ set msg "load error: empty filename and no package name"
+ Log $slave $msg
return -code error $msg
}
if {!$state(staticsok)} {
- Log $child "static loading disabled\
- (trying to load $prefix to $target)"
- return -code error "permission denied (static library)"
+ Log $slave "static packages loading disabled\
+ (trying to load $package to $target)"
+ return -code error "permission denied (static package)"
}
} else {
# file loading
# get the real path from the virtual one.
- try {
- set file [TranslatePath $child $file]
- } on error msg {
- Log $child $msg
+ if {[catch {
+ set file [TranslatePath $slave $file]
+ } msg]} {
+ Log $slave $msg
return -code error "permission denied"
}
# check the translated path
- try {
- FileInAccessPath $child $file
- } on error msg {
- Log $child $msg
+ if {[catch {
+ FileInAccessPath $slave $file
+ } msg]} {
+ Log $slave $msg
return -code error "permission denied (path)"
}
}
- try {
- return [::interp invokehidden $child load $file $prefix $target]
- } on error msg {
- # Some libraries return no error message.
- set msg0 "load of library for prefix $prefix failed"
- if {$msg eq {}} {
- set msg $msg0
- } else {
- set msg "$msg0: $msg"
- }
- Log $child $msg
+ 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 (parent side recorded) child's access path.
+# 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 {child file} {
- namespace upvar ::safe [VarName $child] state
+proc ::safe::FileInAccessPath {slave file} {
+ namespace upvar ::safe S$slave state
set access_path $state(access_path)
if {[file isdirectory $file]} {
@@ -1194,14 +962,14 @@ proc ::safe::FileInAccessPath {child file} {
# potential pathname anomalies.
set norm_parent [file normalize $parent]
- namespace upvar ::safe [VarName $child] state
+ namespace upvar ::safe S$slave state
if {$norm_parent ni $state(access_path,norm)} {
return -code error "\"$file\": not in access_path"
}
}
-proc ::safe::DirInAccessPath {child dir} {
- namespace upvar ::safe [VarName $child] state
+proc ::safe::DirInAccessPath {slave dir} {
+ namespace upvar ::safe S$slave state
set access_path $state(access_path)
if {[file isfile $dir]} {
@@ -1212,94 +980,71 @@ proc ::safe::DirInAccessPath {child dir} {
# potential pathname anomalies.
set norm_dir [file normalize $dir]
- namespace upvar ::safe [VarName $child] state
+ namespace upvar ::safe S$slave state
if {$norm_dir ni $state(access_path,norm)} {
return -code error "\"$dir\": not in access_path"
}
}
-# This procedure is used to report an attempt to use an unsafe member of an
-# ensemble command.
-
-proc ::safe::BadSubcommand {child command subcommand args} {
- set msg "not allowed to invoke subcommand $subcommand of $command"
- Log $child $msg
- return -code error -errorcode {TCL SAFE SUBCOMMAND} $msg
-}
+# This procedure enables access from a safe interpreter to only a subset
+# of the subcommands of a command:
-# AliasEncodingSystem is the target of the "encoding system" alias in safe
-# interpreters.
-proc ::safe::AliasEncodingSystem {child args} {
- try {
- # Must not pass extra arguments; safe interpreters may not set the
- # system encoding but they may read it.
- if {[llength $args]} {
- return -code error -errorcode {TCL WRONGARGS} \
- "wrong # args: should be \"encoding system\""
- }
- } on error {msg options} {
- Log $child $msg
- return -options $options $msg
+proc ::safe::Subset {slave command okpat args} {
+ set subcommand [lindex $args 0]
+ if {[regexp $okpat $subcommand]} {
+ return [$command {*}$args]
}
- tailcall ::interp invokehidden $child tcl:encoding:system
+ set msg "not allowed to invoke subcommand $subcommand of $command"
+ Log $slave $msg
+ return -code error $msg
}
-# Various minor hiding of platform features. [Bug 2913625]
+# 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 ::safe::AliasExeName {child} {
- return ""
+proc ::safe::AliasSubset {slave alias target args} {
+ set pat "^([join $args |])\$"
+ ::interp alias $slave $alias {}\
+ [namespace current]::Subset $slave $target $pat
}
-# ------------------------------------------------------------------------------
-# Using Interpreter Names with Namespace Qualifiers
-# ------------------------------------------------------------------------------
-# (1) We wish to preserve compatibility with existing code, in which Safe Base
-# interpreter names have no namespace qualifiers.
-# (2) safe::interpCreate and the rest of the Safe Base previously could not
-# accept namespace qualifiers in an interpreter name.
-# (3) The interp command will accept namespace qualifiers in an interpreter
-# name, but accepts distinct interpreters that will have the same command
-# name (e.g. foo, ::foo, and :::foo) (bug 66c2e8c974).
-# (4) To satisfy these constraints, Safe Base interpreter names will be fully
-# qualified namespace names with no excess colons and with the leading "::"
-# omitted.
-# (5) Trailing "::" implies a namespace tail {}, which interp reads as {{}}.
-# Reject such names.
-# (6) We could:
-# (a) EITHER reject usable but non-compliant names (e.g. excess colons) in
-# interpCreate, interpInit;
-# (b) OR accept such names and then translate to a compliant name in every
-# command.
-# The problem with (b) is that the user will expect to use the name with the
-# interp command and will find that it is not recognised.
-# E.g "interpCreate ::foo" creates interpreter "foo", and the user's name
-# "::foo" works with all the Safe Base commands, but "interp eval ::foo"
-# fails.
-# So we choose (a).
-# (7) The command
-# namespace upvar ::safe S$child state
-# becomes
-# namespace upvar ::safe [VarName $child] state
-# ------------------------------------------------------------------------------
-
-proc ::safe::RejectExcessColons {child} {
- set stripped [regsub -all -- {:::*} $child ::]
- if {[string range $stripped end-1 end] eq {::}} {
- return -code error {interpreter name must not end in "::"}
- }
- if {$stripped ne $child} {
- set msg {interpreter name has excess colons in namespace separators}
- return -code error $msg
+# AliasEncoding is the target of the "encoding" alias in safe interpreters.
+
+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]
}
- if {[string range $stripped 0 1] eq {::}} {
- return -code error {interpreter name must not begin "::"}
+
+ 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
+ }
+ 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]
}
- return
+ Log $slave $msg
+ return -code error -errorcode $code $msg
}
-proc ::safe::VarName {child} {
- # return S$child
- return S[string map {:: @N @ @A} $child]
+# Various minor hiding of platform features. [Bug 2913625]
+
+proc ::safe::AliasExeName {slave} {
+ return ""
}
proc ::safe::Setup {} {
@@ -1308,34 +1053,29 @@ proc ::safe::Setup {} {
# Setup the arguments parsing
#
####
- variable AutoPathSync
# Share the descriptions
- set OptList {
- {-accessPath -list {} "access path for the child"}
+ 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"}
- }
- if {!$AutoPathSync} {
- lappend OptList {-autoPath -list {} "::auto_path for the child"}
- }
- set temp [::tcl::OptKeyRegister $OptList]
+ }]
- # create case (child is optional)
+ # create case (slave is optional)
::tcl::OptKeyRegister {
- {?child? -name {} "name of the child (optional)"}
+ {?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 (child is needed)
+ # init and configure (slave is needed)
::tcl::OptKeyRegister {
- {child -name {} "name of the child"}
+ {slave -name {} "name of the slave"}
} ::safe::interpIC
# adding the flags sub programs to the command program (relying on Opt's
@@ -1359,104 +1099,29 @@ proc ::safe::Setup {} {
return
}
-# Accessor method for ::safe::AutoPathSync
-# Usage: ::safe::setSyncMode ?newValue?
-# Respond to changes by calling Setup again, preserving any
-# caller-defined logging. This allows complete equivalence with
-# prior Safe Base behavior if AutoPathSync is true.
-#
-# >>> WARNING <<<
-#
-# DO NOT CHANGE AutoPathSync EXCEPT BY THIS COMMAND - IT IS VITAL THAT WHENEVER
-# THE VALUE CHANGES, THE EXISTING PARSE TOKENS ARE DELETED AND Setup IS CALLED
-# AGAIN.
-# (The initialization of AutoPathSync at the end of this file is acceptable
-# because Setup has not yet been called.)
-
-proc ::safe::setSyncMode {args} {
- variable AutoPathSync
-
- if {[llength $args] == 0} {
- } elseif {[llength $args] == 1} {
- set newValue [lindex $args 0]
- if {![string is boolean -strict $newValue]} {
- return -code error "new value must be a valid boolean"
- }
- set args [expr {$newValue && $newValue}]
- if {([info vars ::safe::S*] ne {}) && ($args != $AutoPathSync)} {
- return -code error \
- "cannot set new value while Safe Base child interpreters exist"
- }
- if {($args != $AutoPathSync)} {
- set AutoPathSync {*}$args
- ::tcl::OptKeyDelete ::safe::interpCreate
- ::tcl::OptKeyDelete ::safe::interpIC
- set TmpLog [setLogCmd]
- Setup
- setLogCmd $TmpLog
- }
- } else {
- set msg {wrong # args: should be "safe::setSyncMode ?newValue?"}
- return -code error $msg
- }
-
- return $AutoPathSync
-}
-
namespace eval ::safe {
- # internal variables (must not begin with "S")
-
- # AutoPathSync
- #
- # Set AutoPathSync to 0 to give a child's ::auto_path the same meaning as
- # for an unsafe interpreter: the package command will search its directories
- # and first-level subdirectories for pkgIndex.tcl files; the auto-loader
- # will search its directories for tclIndex files. The access path and
- # module path will be maintained as separate values, and ::auto_path will
- # not be updated when the user calls ::safe::interpAddToAccessPath to add to
- # the access path. If the user specifies an access path when calling
- # interpCreate, interpInit or interpConfigure, it is the user's
- # responsibility to define the child's auto_path. If these commands are
- # called with no (or empty) access path, the child's auto_path will be set
- # to a tokenized form of the parent's auto_path, and these directories and
- # their first-level subdirectories will be added to the access path.
- #
- # Set to 1 for "traditional" behavior: a child's entire access path and
- # module path are copied to its ::auto_path, which is updated whenever
- # the user calls ::safe::interpAddToAccessPath to add to the access path.
- variable AutoPathSync 1
+ # internal variables
# Log command, set via 'setLogCmd'. Logging is disabled when empty.
variable Log {}
- # The package maintains a state array per child interp under its
+ # 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 child interp called "Log" smashes
+ # 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 child.
+ # access_path : List of paths accessible to the slave.
# access_path,norm : Ditto, in normalized form.
- # access_path,child : Ditto, as the path tokens as seen by the child.
+ # 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 )
- # auto_path : List of paths requested by the caller as child's ::auto_path.
- # tm_path_child : List of TM root directories, as tokens seen by the child.
+ # 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
- #
- # In principle, the child can change its value of ::auto_path -
- # - a package might add a path (that is already in the access path) for
- # access to tclIndex files;
- # - the script might remove some elements of the auto_path.
- # However, this is really the business of the parent, and the auto_path will
- # be reset whenever the token mapping changes (i.e. when option -accessPath is
- # used to change the access path).
- # -autoPath is now stored in the array and is no longer obtained from
- # the child.
}
::safe::Setup
diff --git a/library/tclIndex b/library/tclIndex
index 04f6d41..010616f 100644
--- a/library/tclIndex
+++ b/library/tclIndex
@@ -6,83 +6,82 @@
# element name is the name of a command and the value is
# a script that loads the command.
-set auto_index(auto_reset) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(tcl_findLibrary) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(auto_mkindex) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(auto_mkindex_old) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(::auto_mkindex_parser::init) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(::auto_mkindex_parser::cleanup) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(::auto_mkindex_parser::mkindex) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(::auto_mkindex_parser::hook) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(::auto_mkindex_parser::childhook) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(::auto_mkindex_parser::command) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(::auto_mkindex_parser::commandInit) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(::auto_mkindex_parser::fullname) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(::auto_mkindex_parser::indexEntry) [list ::tcl::Pkg::source [file join $dir auto.tcl]]
-set auto_index(foreachLine) [list ::tcl::Pkg::source [file join $dir foreachline.tcl]]
-set auto_index(::tcl::history) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(history) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::HistAdd) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::HistKeep) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::HistClear) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::HistInfo) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::HistRedo) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::HistIndex) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::HistEvent) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::HistChange) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::HistNextID) [list ::tcl::Pkg::source [file join $dir history.tcl]]
-set auto_index(::tcl::Pkg::CompareExtension) [list ::tcl::Pkg::source [file join $dir package.tcl]]
-set auto_index(pkg_mkIndex) [list ::tcl::Pkg::source [file join $dir package.tcl]]
-set auto_index(tclPkgSetup) [list ::tcl::Pkg::source [file join $dir package.tcl]]
-set auto_index(tclPkgUnknown) [list ::tcl::Pkg::source [file join $dir package.tcl]]
-set auto_index(::tcl::MacOSXPkgUnknown) [list ::tcl::Pkg::source [file join $dir package.tcl]]
-set auto_index(::pkg::create) [list ::tcl::Pkg::source [file join $dir package.tcl]]
-set auto_index(parray) [list ::tcl::Pkg::source [file join $dir parray.tcl]]
-set auto_index(readFile) [list ::tcl::Pkg::source [file join $dir readfile.tcl]]
-set auto_index(::safe::InterpStatics) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::InterpNested) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::interpCreate) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::interpInit) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::CheckInterp) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::interpConfigure) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::InterpCreate) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::InterpSetConfig) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::DetokPath) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::interpFindInAccessPath) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::interpAddToAccessPath) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::InterpInit) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::AddSubDirs) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::interpDelete) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::setLogCmd) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::SyncAccessPath) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::PathToken) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::TranslatePath) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::Log) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::CheckFileName) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::AliasFileSubcommand) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::AliasGlob) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::AliasSource) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::AliasLoad) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::FileInAccessPath) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::DirInAccessPath) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::BadSubcommand) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::AliasEncodingSystem) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::AliasExeName) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::RejectExcessColons) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::VarName) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::Setup) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::safe::setSyncMode) [list ::tcl::Pkg::source [file join $dir safe.tcl]]
-set auto_index(::tcl::tmpath) [list ::tcl::Pkg::source [file join $dir tm.tcl]]
-set auto_index(::tcl::tm::add) [list ::tcl::Pkg::source [file join $dir tm.tcl]]
-set auto_index(::tcl::tm::remove) [list ::tcl::Pkg::source [file join $dir tm.tcl]]
-set auto_index(::tcl::tm::list) [list ::tcl::Pkg::source [file join $dir tm.tcl]]
-set auto_index(::tcl::tm::UnknownHandler) [list ::tcl::Pkg::source [file join $dir tm.tcl]]
-set auto_index(::tcl::tm::Defaults) [list ::tcl::Pkg::source [file join $dir tm.tcl]]
-set auto_index(::tcl::tm::roots) [list ::tcl::Pkg::source [file join $dir tm.tcl]]
-set auto_index(::tcl::UpdateWordBreakREs) [list ::tcl::Pkg::source [file join $dir word.tcl]]
-set auto_index(tcl_wordBreakAfter) [list ::tcl::Pkg::source [file join $dir word.tcl]]
-set auto_index(tcl_wordBreakBefore) [list ::tcl::Pkg::source [file join $dir word.tcl]]
-set auto_index(tcl_endOfWord) [list ::tcl::Pkg::source [file join $dir word.tcl]]
-set auto_index(tcl_startOfNextWord) [list ::tcl::Pkg::source [file join $dir word.tcl]]
-set auto_index(tcl_startOfPreviousWord) [list ::tcl::Pkg::source [file join $dir word.tcl]]
-set auto_index(writeFile) [list ::tcl::Pkg::source [file join $dir writefile.tcl]]
+set auto_index(auto_reset) [list source [file join $dir auto.tcl]]
+set auto_index(tcl_findLibrary) [list source [file join $dir auto.tcl]]
+set auto_index(auto_mkindex) [list source [file join $dir auto.tcl]]
+set auto_index(auto_mkindex_old) [list source [file join $dir auto.tcl]]
+set auto_index(::auto_mkindex_parser::init) [list source [file join $dir auto.tcl]]
+set auto_index(::auto_mkindex_parser::cleanup) [list source [file join $dir auto.tcl]]
+set auto_index(::auto_mkindex_parser::mkindex) [list source [file join $dir auto.tcl]]
+set auto_index(::auto_mkindex_parser::hook) [list source [file join $dir auto.tcl]]
+set auto_index(::auto_mkindex_parser::slavehook) [list source [file join $dir auto.tcl]]
+set auto_index(::auto_mkindex_parser::command) [list source [file join $dir auto.tcl]]
+set auto_index(::auto_mkindex_parser::commandInit) [list source [file join $dir auto.tcl]]
+set auto_index(::auto_mkindex_parser::fullname) [list source [file join $dir auto.tcl]]
+set auto_index(history) [list source [file join $dir history.tcl]]
+set auto_index(::tcl::HistAdd) [list source [file join $dir history.tcl]]
+set auto_index(::tcl::HistKeep) [list source [file join $dir history.tcl]]
+set auto_index(::tcl::HistClear) [list source [file join $dir history.tcl]]
+set auto_index(::tcl::HistInfo) [list source [file join $dir history.tcl]]
+set auto_index(::tcl::HistRedo) [list source [file join $dir history.tcl]]
+set auto_index(::tcl::HistIndex) [list source [file join $dir history.tcl]]
+set auto_index(::tcl::HistEvent) [list source [file join $dir history.tcl]]
+set auto_index(::tcl::HistChange) [list source [file join $dir history.tcl]]
+set auto_index(pkg_mkIndex) [list source [file join $dir package.tcl]]
+set auto_index(tclPkgSetup) [list source [file join $dir package.tcl]]
+set auto_index(tclPkgUnknown) [list source [file join $dir package.tcl]]
+set auto_index(::tcl::MacOSXPkgUnknown) [list source [file join $dir package.tcl]]
+set auto_index(::pkg::create) [list source [file join $dir package.tcl]]
+set auto_index(parray) [list source [file join $dir parray.tcl]]
+set auto_index(::safe::InterpStatics) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::InterpNested) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::interpCreate) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::interpInit) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::CheckInterp) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::interpConfigure) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::InterpCreate) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::InterpSetConfig) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::interpFindInAccessPath) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::interpAddToAccessPath) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::InterpInit) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::AddSubDirs) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::interpDelete) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::setLogCmd) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::SyncAccessPath) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::InterpStateName) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::IsInterp) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::PathToken) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::PathListName) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::VirtualPathListName) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::PathNumberName) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::StaticsOkName) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::NestedOkName) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::Toplevel) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::Set) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::Lappend) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::Unset) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::Exists) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::GetAccessPath) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::StaticsOk) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::NestedOk) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::DeleteHookName) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::TranslatePath) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::Log) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::CheckFileName) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::AliasSource) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::AliasLoad) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::FileInAccessPath) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::Subset) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::AliasSubset) [list source [file join $dir safe.tcl]]
+set auto_index(::safe::AliasEncoding) [list source [file join $dir safe.tcl]]
+set auto_index(tcl_wordBreakAfter) [list source [file join $dir word.tcl]]
+set auto_index(tcl_wordBreakBefore) [list source [file join $dir word.tcl]]
+set auto_index(tcl_endOfWord) [list source [file join $dir word.tcl]]
+set auto_index(tcl_startOfNextWord) [list source [file join $dir word.tcl]]
+set auto_index(tcl_startOfPreviousWord) [list source [file join $dir word.tcl]]
+set auto_index(::tcl::tm::add) [list source [file join $dir tm.tcl]]
+set auto_index(::tcl::tm::remove) [list source [file join $dir tm.tcl]]
+set auto_index(::tcl::tm::list) [list source [file join $dir tm.tcl]]
+set auto_index(::tcl::tm::UnknownHandler) [list source [file join $dir tm.tcl]]
+set auto_index(::tcl::tm::roots) [list source [file join $dir tm.tcl]]
+set auto_index(::tcl::tm::path) [list source [file join $dir tm.tcl]]
diff --git a/library/tcltest/pkgIndex.tcl b/library/tcltest/pkgIndex.tcl
index 2fff5f4..987725f 100644
--- a/library/tcltest/pkgIndex.tcl
+++ b/library/tcltest/pkgIndex.tcl
@@ -8,5 +8,5 @@
# script is sourced, the variable $dir must contain the
# full path name of this file's directory.
-if {![package vsatisfies [package provide Tcl] 8.5-]} {return}
-package ifneeded tcltest 2.5.8 [list source [file join $dir tcltest.tcl]]
+if {![package vsatisfies [package provide Tcl] 8.5]} {return}
+package ifneeded tcltest 2.3.8 [list source [file join $dir tcltest.tcl]]
diff --git a/library/tcltest/tcltest.tcl b/library/tcltest/tcltest.tcl
index 12b0976..8e43859 100644
--- a/library/tcltest/tcltest.tcl
+++ b/library/tcltest/tcltest.tcl
@@ -10,28 +10,26 @@
# initially implemented by Mary Ann May-Pumphrey of Sun
# Microsystems.
#
-# Copyright © 1994-1997 Sun Microsystems, Inc.
-# Copyright © 1998-1999 Scriptics Corporation.
-# Copyright © 2000 Ajuba Solutions
+# Copyright (c) 1994-1997 Sun Microsystems, Inc.
+# Copyright (c) 1998-1999 by Scriptics Corporation.
+# Copyright (c) 2000 by Ajuba Solutions
# Contributions from Don Porter, NIST, 2002. (not subject to US copyright)
# All rights reserved.
+package require Tcl 8.5 ;# -verbose line uses [info frame]
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.5.8
+ variable Version 2.3.8
# Compatibility support for dumb variables defined in tcltest 1
- # Do not use these. Call [package require] and [info patchlevel]
+ # Do not use these. Call [package provide Tcl] and [info patchlevel]
# yourself. You don't need tcltest to wrap it for you.
- variable version [package require Tcl 8.5-]
+ variable version [package provide Tcl]
variable patchLevel [info patchlevel]
- # Detect if we can use code points >= \U10000
- variable fullutf [package vsatisfies $version 8.7-]
-
##### Export the public tcltest procs; several categories
#
# Export the main functional commands that do useful things
@@ -43,9 +41,7 @@ namespace eval tcltest {
outputChannel testConstraint
# Export commands that are duplication (candidates for deprecation)
- if {!$fullutf} {
- namespace export bytestring ;# dups [encoding convertfrom identity]
- }
+ namespace export bytestring ;# dups [encoding convertfrom identity]
namespace export debug ;# [configure -debug]
namespace export errorFile ;# [configure -errfile]
namespace export limitConstraints ;# [configure -limitconstraints]
@@ -155,7 +151,7 @@ namespace eval tcltest {
}
##### Initialize internal arrays of tcltest, but only if the caller
- # has not already preinitialized them. This is done to support
+ # has not already pre-initialized them. This is done to support
# compatibility with older tests that directly access internals
# rather than go through command interfaces.
#
@@ -165,7 +161,7 @@ namespace eval tcltest {
return
}
if {[info exists $varName]} {
- # Preinitialized value is a scalar: Destroy it!
+ # Pre-initialized value is a scalar: destroy it!
unset $varName
}
array set $varName $value
@@ -198,7 +194,7 @@ namespace eval tcltest {
ArrayDefault testConstraints {}
##### Initialize internal variables of tcltest, but only if the caller
- # has not already preinitialized them. This is done to support
+ # has not already pre-initialized them. This is done to support
# compatibility with older tests that directly access internals
# rather than go through command interfaces.
#
@@ -231,7 +227,7 @@ namespace eval tcltest {
# check the current working dir for files created by the tests.
# filesMade keeps track of such files created using the makeFile and
# makeDirectory procedures. filesExisted stores the names of
- # preexisting files.
+ # pre-existing files.
#
# Note that $filesExisted lists only those files that exist in
# the original [temporaryDirectory].
@@ -300,7 +296,7 @@ namespace eval tcltest {
# keep track of test level for nested test commands
variable testLevel 0
- # the variables and procedures that existed when saveState was called are
+ # the variables and procs that existed when saveState was called are
# stored in a variable of the same name
Default saveState {}
@@ -347,32 +343,31 @@ namespace eval tcltest {
proc outputChannel { {filename ""} } {
variable outputChannel
variable ChannelsWeOpened
- variable fullutf
# This is very subtle and tricky, so let me try to explain.
# (Hopefully this longer comment will be clear when I come
# back in a few months, unlike its predecessor :) )
- #
+ #
# The [outputChannel] command (and underlying variable) have to
# be kept in sync with the [configure -outfile] configuration
# option ( and underlying variable Option(-outfile) ). This is
# accomplished with a write trace on Option(-outfile) that will
- # update [outputChannel] whenever a new value is written. That
+ # update [outputChannel] whenver a new value is written. That
# much is easy.
#
# The trick is that in order to maintain compatibility with
# version 1 of tcltest, we must allow every configuration option
- # to get its initial value from command line arguments. This is
+ # to get its inital value from command line arguments. This is
# accomplished by setting initial read traces on all the
# configuration options to parse the command line option the first
# time they are read. These traces are cancelled whenever the
# program itself calls [configure].
- #
+ #
# OK, then so to support tcltest 1 compatibility, it seems we want
# to get the return from [outputFile] to trigger the read traces,
# just in case.
#
- # BUT! A little known feature of Tcl variable traces is that
+ # BUT! A little known feature of Tcl variable traces is that
# traces are disabled during the handling of other traces. So,
# if we trigger read traces on Option(-outfile) and that triggers
# command line parsing which turns around and sets an initial
@@ -402,9 +397,6 @@ namespace eval tcltest {
}
default {
set outputChannel [open $filename a]
- if {$fullutf} {
- fconfigure $outputChannel -profile tcl8 -encoding utf-8
- }
set ChannelsWeOpened($outputChannel) 1
# If we created the file in [temporaryDirectory], then
@@ -430,7 +422,6 @@ namespace eval tcltest {
proc errorChannel { {filename ""} } {
variable errorChannel
variable ChannelsWeOpened
- variable fullutf
# This is subtle and tricky. See the comment above in
# [outputChannel] for a detailed explanation.
@@ -450,9 +441,6 @@ namespace eval tcltest {
}
default {
set errorChannel [open $filename a]
- if {$fullutf} {
- fconfigure $errorChannel -profile tcl8 -encoding utf-8
- }
set ChannelsWeOpened($errorChannel) 1
# If we created the file in [temporaryDirectory], then
@@ -486,7 +474,7 @@ namespace eval tcltest {
# Initialize the default values of the configurable options that are
# historically associated with an exported variable. If that variable
- # is already set, support compatibility by accepting its preset value.
+ # is already set, support compatibility by accepting its pre-set value.
# Use [trace] to establish ongoing connection between the deprecated
# exported variable and the modern option kept as a true internal var.
# Also set up usage string and value testing for the option.
@@ -620,30 +608,19 @@ namespace eval tcltest {
set code [catch {Configure {*}$args} msg]
return -code $code $msg
}
-
+
proc AcceptVerbose { level } {
set level [AcceptList $level]
- set levelMap {
- l list
- p pass
- b body
- s skip
- t start
- e error
- l line
- m msec
- u usec
- }
- set levelRegexp "^([join [dict values $levelMap] |])\$"
if {[llength $level] == 1} {
- if {![regexp $levelRegexp $level]} {
+ if {![regexp {^(pass|body|skip|start|error|line)$} $level]} {
# translate single characters abbreviations to expanded list
- set level [string map $levelMap [split $level {}]]
+ set level [string map {p pass b body s skip t start e error l line} \
+ [split $level {}]]
}
}
set valid [list]
foreach v $level {
- if {[regexp $levelRegexp $v]} {
+ if {[regexp {^(pass|body|skip|start|error|line)$} $v]} {
lappend valid $v
}
}
@@ -652,7 +629,7 @@ namespace eval tcltest {
proc IsVerbose {level} {
variable Option
- return [expr {$level in $Option(-verbose)}]
+ return [expr {[lsearch -exact $Option(-verbose) $level] != -1}]
}
# Default verbosity is to show bodies of failed tests
@@ -662,7 +639,7 @@ namespace eval tcltest {
skipped tests if 's' is specified, the bodies of failed tests if
'b' is specified, and when tests start if 't' is specified.
ErrorInfo is displayed if 'e' is specified. Source file line
- information of failed tests is displayed if 'l' is specified.
+ information of failed tests is displayed if 'l' is specified.
} AcceptVerbose verbose
# Match and skip patterns default to the empty list, except for
@@ -710,7 +687,7 @@ namespace eval tcltest {
# some additional output regarding operations of the test harness.
# The tcltest package currently implements only up to debug level 3.
Option -debug 0 {
- Internal debug level
+ Internal debug level
} AcceptInteger debug
proc SetSelectedConstraints args {
@@ -738,7 +715,7 @@ namespace eval tcltest {
}
Option -limitconstraints 0 {
whether to run only tests with the constraints
- } AcceptBoolean limitConstraints
+ } AcceptBoolean limitConstraints
trace add variable Option(-limitconstraints) write \
[namespace code {ClearUnselectedConstraints ;#}]
@@ -751,7 +728,7 @@ namespace eval tcltest {
# Default is to run each test file in a separate process
Option -singleproc 0 {
whether to run all tests in one process
- } AcceptBoolean singleProcess
+ } AcceptBoolean singleProcess
proc AcceptTemporaryDirectory { directory } {
set directory [AcceptAbsolutePath $directory]
@@ -765,7 +742,7 @@ namespace eval tcltest {
# even if the directory is not writable
return $directory
}
- return -code error "\"$directory\" is not writable"
+ return -code error "\"$directory\" is not writeable"
}
return $directory
}
@@ -793,13 +770,8 @@ namespace eval tcltest {
}
proc ReadLoadScript {args} {
variable Option
- variable fullutf
-
if {$Option(-loadfile) eq {}} {return}
set tmp [open $Option(-loadfile) r]
- if {$fullutf} {
- fconfigure $tmp -profile tcl8 -encoding utf-8
- }
loadScript [read $tmp]
close $tmp
}
@@ -828,14 +800,14 @@ namespace eval tcltest {
trace add variable Option(-errfile) write \
[namespace code {errorChannel $Option(-errfile) ;#}]
- proc loadIntoChildInterpreter {child args} {
+ proc loadIntoSlaveInterpreter {slave args} {
variable Version
- interp eval $child [package ifneeded tcltest $Version]
- interp eval $child "tcltest::configure {*}{$args}"
- interp alias $child ::tcltest::ReportToParent \
- {} ::tcltest::ReportedFromChild
+ interp eval $slave [package ifneeded tcltest $Version]
+ interp eval $slave "tcltest::configure {*}{$args}"
+ interp alias $slave ::tcltest::ReportToMaster \
+ {} ::tcltest::ReportedFromSlave
}
- proc ReportedFromChild {total passed skipped failed because newfiles} {
+ proc ReportedFromSlave {total passed skipped failed because newfiles} {
variable numTests
variable skippedBecause
variable createdNewFiles
@@ -858,7 +830,7 @@ namespace eval tcltest {
# tcltest::Debug* --
#
# Internal helper procedures to write out debug information
-# dependent on the chosen level. A test shell may override
+# dependent on the chosen level. A test shell may overide
# them, f.e. to redirect the output into a different
# channel, or even into a GUI.
@@ -987,7 +959,7 @@ proc tcltest::testConstraint {constraint {value ""}} {
return $testConstraints($constraint)
}
# Check for boolean values
- if {[catch {expr {$value && 1}} msg]} {
+ if {[catch {expr {$value && $value}} msg]} {
return -code error $msg
}
if {[limitConstraints] && ($constraint ni $Option(-constraints))} {
@@ -1140,37 +1112,6 @@ proc tcltest::SafeFetch {n1 n2 op} {
}
}
-# tcltest::Asciify --
-#
-# Transforms the passed string to contain only printable ascii characters.
-# Useful for printing to terminals. Non-printables are mapped to
-# \x, \u or \U sequences, except \n.
-#
-# Arguments:
-# s - string to transform
-#
-# Results:
-# The transformed strings
-#
-# Side effects:
-# None.
-
-proc tcltest::Asciify {s} {
- set print ""
- foreach c [split $s ""] {
- if {(($c < "\x7F") && [string is print $c]) || ($c eq "\n")} {
- append print $c
- } elseif {$c < "\u0100"} {
- append print \\x[format %02X [scan $c %c]]
- } elseif {$c > "\uFFFF"} {
- append print \\U[format %08X [scan $c %c]]
- } else {
- append print \\u[format %04X [scan $c %c]]
- }
- }
- return $print
-}
-
# tcltest::ConstraintInitializer --
#
# Get or set a script that when evaluated in the tcltest namespace
@@ -1282,23 +1223,19 @@ proc tcltest::DefineConstraintInitializers {} {
# Skip empty tests
- ConstraintInitializer emptyTest {expr 0}
+ ConstraintInitializer emptyTest {format 0}
# By default, tests that expose known bugs are skipped.
- ConstraintInitializer knownBug {expr 0}
+ ConstraintInitializer knownBug {format 0}
# By default, non-portable tests are skipped.
- ConstraintInitializer nonPortable {expr 0}
-
- # By default, extremely slow, extensive or IO-aggressive tests are skipped.
-
- ConstraintInitializer extensive {expr 0}
+ ConstraintInitializer nonPortable {format 0}
# Some tests require user interaction.
- ConstraintInitializer userInteraction {expr 0}
+ ConstraintInitializer userInteraction {format 0}
# Some tests must be skipped if the interpreter is not in
# interactive mode
@@ -1320,8 +1257,8 @@ proc tcltest::DefineConstraintInitializers {} {
# setting files into nonblocking mode.
ConstraintInitializer nonBlockFiles {
- set code [expr {[catch {set f [open defs r]}]
- || [catch {fconfigure $f -blocking off}]}]
+ set code [expr {[catch {set f [open defs r]}]
+ || [catch {chan configure $f -blocking off}]}]
catch {close $f}
set code
}
@@ -1334,7 +1271,7 @@ proc tcltest::DefineConstraintInitializers {} {
# (Mark Diekhans).
ConstraintInitializer asyncPipeClose {expr {
- !([string equal unix $::tcl_platform(platform)]
+ !([string equal unix $::tcl_platform(platform)]
&& ([catch {exec uname -X | fgrep {Release = 3.2v}}] == 0))}}
# Test to see if we have a broken version of sprintf with respect
@@ -1378,13 +1315,8 @@ proc tcltest::DefineConstraintInitializers {} {
}
ConstraintInitializer stdio {
- variable fullutf
-
set code 0
if {![catch {set f [open "|[list [interpreter]]" w]}]} {
- if {$fullutf} {
- fconfigure $f -profile tcl8 -encoding utf-8
- }
if {![catch {puts $f exit}]} {
if {![catch {close $f}]} {
set code 1
@@ -1801,7 +1733,7 @@ proc tcltest::SubstArguments {argList} {
# We need to split the argList up into tokens but cannot use list
# operations as they throw away some significant quoting, and
# [split] ignores braces as it should. Therefore what we do is
- # gradually build up a string out of whitespace-separated strings.
+ # gradually build up a string out of whitespace seperated strings.
# We cannot use [split] to split the argList into whitespace
# separated strings as it throws away the whitespace which maybe
# important so we have to do it all by hand.
@@ -1898,9 +1830,6 @@ proc tcltest::SubstArguments {argList} {
# is optional; default is {}.
# returnCodes - Expected return codes. This attribute is
# optional; default is {0 2}.
-# errorCode - Expected error code. This attribute is
-# optional; default is {*}. It is a glob pattern.
-# If given, returnCodes defaults to {1}.
# setup - Code to run before $script (above). This
# attribute is optional; default is {}.
# cleanup - Code to run after $script (above). This
@@ -1908,7 +1837,7 @@ proc tcltest::SubstArguments {argList} {
# match - specifies type of matching to do on result,
# output, errorOutput; this must be a string
# previously registered by a call to [customMatch].
-# The strings exact, glob, and regexp are preregistered
+# The strings exact, glob, and regexp are pre-registered
# by the tcltest package. Default value is exact.
#
# Arguments:
@@ -1927,8 +1856,6 @@ proc tcltest::test {name description args} {
global tcl_platform
variable testLevel
variable coreModTime
- variable fullutf
-
DebugPuts 3 "test $name $args"
DebugDo 1 {
variable TestNames
@@ -1941,10 +1868,10 @@ proc tcltest::test {name description args} {
FillFilesExisted
incr testLevel
- # Predefine everything to null except output and errorOutput. We
+ # 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 errorCode match
+ lassign {} constraints setup cleanup body result returnCodes match
# Set the default match mode
set match exact
@@ -1954,9 +1881,6 @@ proc tcltest::test {name description args} {
# 'return' being used in the test script).
set returnCodes [list 0 2]
- # Set the default error code pattern
- set errorCode "*"
-
# 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)} {
@@ -1966,7 +1890,7 @@ proc tcltest::test {name description args} {
set testAttributes($element) $value
}
foreach item {constraints match setup body cleanup \
- result returnCodes errorCode output errorOutput} {
+ result returnCodes output errorOutput} {
if {[info exists testAttributes(-$item)]} {
set testAttributes(-$item) [uplevel 1 \
::concat $testAttributes(-$item)]
@@ -1977,7 +1901,7 @@ proc tcltest::test {name description args} {
}
set validFlags {-setup -cleanup -body -result -returnCodes \
- -errorCode -match -output -errorOutput -constraints}
+ -match -output -errorOutput -constraints}
foreach flag [array names testAttributes] {
if {$flag ni $validFlags} {
@@ -2009,10 +1933,6 @@ proc tcltest::test {name description args} {
foreach {strcode numcode} {ok 0 normal 0 error 1 return 2 break 3 continue 4} {
set returnCodes [string map -nocase [list $strcode $numcode] $returnCodes]
}
- # errorCode without returnCode 1 is meaningless
- if {$errorCode ne "*" && 1 ni $returnCodes} {
- set returnCodes 1
- }
} else {
# This is parsing for the old test command format; it is here
# for backward compatibility.
@@ -2034,36 +1954,23 @@ proc tcltest::test {name description args} {
return
}
- # Save information about the core file.
+ # Save information about the core file.
if {[preserveCore]} {
if {[file exists [file join [workingDirectory] core]]} {
set coreModTime [file mtime [file join [workingDirectory] core]]
}
}
- # First, run the setup script (or a hook if it presents):
- if {[set cmd [namespace which -command [namespace current]::SetupTest]] ne ""} {
- set setup [list $cmd $setup]
- }
- set processTest 1
+ # First, run the setup script
set code [catch {uplevel 1 $setup} setupMsg]
if {$code == 1} {
set errorInfo(setup) $::errorInfo
- set errorCodeRes(setup) $::errorCode
- if {$errorCodeRes(setup) eq "BYPASS-SKIPPED-TEST"} {
- _noticeSkipped $name $setupMsg
- set processTest [set code 0]
- }
+ set errorCode(setup) $::errorCode
}
set setupFailure [expr {$code != 0}]
# Only run the test body if the setup was successful
- if {$processTest && !$setupFailure} {
-
- # Register startup time
- if {[IsVerbose msec] || [IsVerbose usec]} {
- set timeStart [clock microseconds]
- }
+ if {!$setupFailure} {
# Verbose notification of $body start
if {[IsVerbose start]} {
@@ -2080,30 +1987,21 @@ proc tcltest::test {name description args} {
lassign $testResult actualAnswer returnCode
if {$returnCode == 1} {
set errorInfo(body) $::errorInfo
- set errorCodeRes(body) $::errorCode
- if {$errorCodeRes(body) eq "BYPASS-SKIPPED-TEST"} {
- _noticeSkipped $name $actualAnswer
- set processTest [set returnCode 0]
- }
+ set errorCode(body) $::errorCode
}
}
# check if the return code matched the expected return code
set codeFailure 0
- if {$processTest && !$setupFailure && ($returnCode ni $returnCodes)} {
+ if {!$setupFailure && ($returnCode ni $returnCodes)} {
set codeFailure 1
}
- set errorCodeFailure 0
- if {$processTest && !$setupFailure && !$codeFailure && $returnCode == 1 && \
- ![string match $errorCode $errorCodeRes(body)]} {
- set errorCodeFailure 1
- }
# If expected output/error strings exist, we have to compare
# them. If the comparison fails, then so did the test.
set outputFailure 0
variable outData
- if {$processTest && [info exists output] && !$codeFailure} {
+ if {[info exists output] && !$codeFailure} {
if {[set outputCompare [catch {
CompareStrings $outData $output $match
} outputMatch]] == 0} {
@@ -2115,7 +2013,7 @@ proc tcltest::test {name description args} {
set errorFailure 0
variable errData
- if {$processTest && [info exists errorOutput] && !$codeFailure} {
+ if {[info exists errorOutput] && !$codeFailure} {
if {[set errorCompare [catch {
CompareStrings $errData $errorOutput $match
} errorMatch]] == 0} {
@@ -2127,9 +2025,7 @@ proc tcltest::test {name description args} {
# check if the answer matched the expected answer
# Only check if we ran the body of the test (no setup failure)
- if {!$processTest} {
- set scriptFailure 0
- } elseif {$setupFailure || $codeFailure} {
+ if {$setupFailure || $codeFailure} {
set scriptFailure 0
} elseif {[set scriptCompare [catch {
CompareStrings $actualAnswer $result $match
@@ -2139,14 +2035,11 @@ proc tcltest::test {name description args} {
set scriptFailure 1
}
- # Always run the cleanup script (or a hook if it presents):
- if {[set cmd [namespace which -command [namespace current]::CleanupTest]] ne ""} {
- set cleanup [list $cmd $cleanup]
- }
+ # Always run the cleanup script
set code [catch {uplevel 1 $cleanup} cleanupMsg]
if {$code == 1} {
set errorInfo(cleanup) $::errorInfo
- set errorCodeRes(cleanup) $::errorCode
+ set errorCode(cleanup) $::errorCode
}
set cleanupFailure [expr {$code != 0}]
@@ -2167,7 +2060,7 @@ proc tcltest::test {name description args} {
} else {
set coreFailure 1
}
-
+
if {([preserveCore] > 1) && ($coreFailure)} {
append coreMsg "\nMoving file to:\
[file join [temporaryDirectory] core-$name]"
@@ -2183,27 +2076,11 @@ proc tcltest::test {name description args} {
}
}
- if {[IsVerbose msec] || [IsVerbose usec]} {
- set t [expr {[clock microseconds] - $timeStart}]
- if {[IsVerbose usec]} {
- puts [outputChannel] "++++ $name took $t \xB5s"
- }
- if {[IsVerbose msec]} {
- puts [outputChannel] "++++ $name took [expr {round($t/1000.)}] ms"
- }
- }
-
- # if skipped, it is safe to return here
- if {!$processTest} {
- incr testLevel -1
- return
- }
-
# if we didn't experience any failures, then we passed
variable numTests
if {!($setupFailure || $cleanupFailure || $coreFailure
|| $outputFailure || $errorFailure || $codeFailure
- || $errorCodeFailure || $scriptFailure)} {
+ || $scriptFailure)} {
if {$testLevel == 1} {
incr numTests(Passed)
if {[IsVerbose pass]} {
@@ -2223,7 +2100,7 @@ proc tcltest::test {name description args} {
variable currentFailure true
if {![IsVerbose body]} {
set body ""
- }
+ }
puts [outputChannel] "\n"
if {[IsVerbose line]} {
if {![catch {set testFrame [info frame -1]}] &&
@@ -2234,9 +2111,6 @@ proc tcltest::test {name description args} {
set testFile [file normalize [uplevel 1 {info script}]]
if {[file readable $testFile]} {
set testFd [open $testFile r]
- if {$fullutf} {
- fconfigure $testFd -profile tcl8 -encoding utf-8
- }
set testLine [expr {[lsearch -regexp \
[split [read $testFd] "\n"] \
"^\[ \t\]*test [string map {. \\.} $name] "] + 1}]
@@ -2247,7 +2121,7 @@ proc tcltest::test {name description args} {
puts [outputChannel] "$testFile:$testLine: error: test failed:\
$name [string trim $description]"
}
- }
+ }
puts [outputChannel] "==== $name\
[string trim $description] FAILED"
if {[string length $body]} {
@@ -2259,26 +2133,18 @@ proc tcltest::test {name description args} {
failed:\n$setupMsg"
if {[info exists errorInfo(setup)]} {
puts [outputChannel] "---- errorInfo(setup): $errorInfo(setup)"
- puts [outputChannel] "---- errorCode(setup): $errorCodeRes(setup)"
+ puts [outputChannel] "---- errorCode(setup): $errorCode(setup)"
}
}
- if {$processTest && $scriptFailure} {
+ if {$scriptFailure} {
if {$scriptCompare} {
puts [outputChannel] "---- Error testing result: $scriptMatch"
} else {
- if {[catch {
- puts [outputChannel] "---- Result was:\n[Asciify $actualAnswer]"
- } errMsg]} {
- puts [outputChannel] "\n---- Result was:\n<error printing result: $errMsg>"
- }
+ puts [outputChannel] "---- Result was:\n$actualAnswer"
puts [outputChannel] "---- Result should have been\
- ($match matching):\n[Asciify $result]"
+ ($match matching):\n$result"
}
}
- if {$errorCodeFailure} {
- puts [outputChannel] "---- Error code was: '$errorCodeRes(body)'"
- puts [outputChannel] "---- Error code should have been: '$errorCode'"
- }
if {$codeFailure} {
switch -- $returnCode {
0 { set msg "Test completed normally" }
@@ -2294,7 +2160,7 @@ proc tcltest::test {name description args} {
if {[IsVerbose error]} {
if {[info exists errorInfo(body)] && (1 ni $returnCodes)} {
puts [outputChannel] "---- errorInfo: $errorInfo(body)"
- puts [outputChannel] "---- errorCode: $errorCodeRes(body)"
+ puts [outputChannel] "---- errorCode: $errorCode(body)"
}
}
}
@@ -2320,7 +2186,7 @@ proc tcltest::test {name description args} {
puts [outputChannel] "---- Test cleanup failed:\n$cleanupMsg"
if {[info exists errorInfo(cleanup)]} {
puts [outputChannel] "---- errorInfo(cleanup): $errorInfo(cleanup)"
- puts [outputChannel] "---- errorCode(cleanup): $errorCodeRes(cleanup)"
+ puts [outputChannel] "---- errorCode(cleanup): $errorCode(cleanup)"
}
}
if {$coreFailure} {
@@ -2333,32 +2199,6 @@ proc tcltest::test {name description args} {
return
}
-# Skip --
-#
-# Skips a running test and add a reason to skipped "constraints". Can be used
-# to conditional intended abort of the test.
-#
-# Side Effects: Maintains tally of total tests seen and tests skipped.
-#
-proc tcltest::Skip {reason} {
- return -code error -errorcode BYPASS-SKIPPED-TEST $reason
-}
-
-proc tcltest::_noticeSkipped {name reason} {
- variable testLevel
- variable numTests
-
- if {[IsVerbose skip]} {
- puts [outputChannel] "++++ $name SKIPPED: $reason"
- }
-
- if {$testLevel == 1} {
- incr numTests(Skipped)
- AddToSkippedBecause $reason
- }
-}
-
-
# Skipped --
#
# Given a test name and it constraints, returns a boolean indicating
@@ -2414,7 +2254,6 @@ proc tcltest::Skipped {name constraints} {
# make sure that the constraints are satisfied.
set doTest 0
- set constraints [string trim $constraints]
if {[string match {*[$\[]*} $constraints] != 0} {
# full expression, e.g. {$foo > [info tclversion]}
catch {set doTest [uplevel #0 [list expr $constraints]]}
@@ -2438,9 +2277,16 @@ proc tcltest::Skipped {name constraints} {
}
}
}
-
+
if {!$doTest} {
- _noticeSkipped $name $constraints
+ if {[IsVerbose skip]} {
+ puts [outputChannel] "++++ $name SKIPPED: $constraints"
+ }
+
+ if {$testLevel == 1} {
+ incr numTests(Skipped)
+ AddToSkippedBecause $constraints
+ }
return 1
}
}
@@ -2463,10 +2309,6 @@ proc tcltest::RunTest {name script} {
memory tag $name
}
- # run the test script (or a hook if it presents):
- if {[set cmd [namespace which -command [namespace current]::EvalTest]] ne ""} {
- set script [list $cmd $script]
- }
set code [catch {uplevel 1 $script} actualAnswer]
return [list $actualAnswer $code]
@@ -2529,8 +2371,8 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} {
set testFileName [file tail [info script]]
# Hook to handle reporting to a parent interpreter
- if {[llength [info commands [namespace current]::ReportToParent]]} {
- ReportToParent $numTests(Total) $numTests(Passed) $numTests(Skipped) \
+ 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
@@ -2541,7 +2383,7 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} {
# Remove files and directories created by the makeFile and
# makeDirectory procedures. Record the names of files in
- # workingDirectory that were not preexisting, and associate them
+ # workingDirectory that were not pre-existing, and associate them
# with the test file that created them.
if {!$calledFromAllFile} {
@@ -2632,7 +2474,7 @@ proc tcltest::cleanupTests {{calledFromAllFile 0}} {
# loop is running, which is the real issue.
# Actually, this doesn't belong here at all. A package
# really has no business [exit]-ing an application.
- if {[info exists ::tk_version] && ![testConstraint interactive]} {
+ if {![catch {package present Tk}] && ![testConstraint interactive]} {
exit
}
} else {
@@ -2841,7 +2683,7 @@ proc tcltest::GetMatchingDirectories {rootdir} {
DebugPuts 1 "No test directories remain after applying match\
and skip patterns!"
}
- return [lsort $matchDirs]
+ return $matchDirs
}
# tcltest::runAllTests --
@@ -2854,7 +2696,7 @@ proc tcltest::GetMatchingDirectories {rootdir} {
# shell being tested
#
# Results:
-# Whether there were any failures.
+# None.
#
# Side effects:
# None.
@@ -2865,7 +2707,6 @@ proc tcltest::runAllTests { {shell ""} } {
variable numTests
variable failFiles
variable DefaultValue
- variable fullutf
FillFilesExisted
if {[llength [info level 0]] == 1} {
@@ -2921,18 +2762,8 @@ proc tcltest::runAllTests { {shell ""} } {
flush [outputChannel]
if {[singleProcess]} {
- if {[catch {
- incr numTestFiles
- uplevel 1 [list ::source $file]
- } msg]} {
- puts [outputChannel] "Test file error: $msg"
- # append the name of the test to a list to be reported
- # later
- lappend testFileFailures $file
- }
- if {$numTests(Failed) > 0} {
- set failFilesSet 1
- }
+ incr numTestFiles
+ uplevel 1 [list ::source $file]
} else {
# Pass along our configuration to the child processes.
# EXCEPT for the -outfile, because the parent process
@@ -2951,9 +2782,6 @@ proc tcltest::runAllTests { {shell ""} } {
if {[catch {
incr numTestFiles
set pipeFd [open $cmd "r"]
- if {$fullutf} {
- fconfigure $pipeFd -profile tcl8 -encoding utf-8
- }
while {[gets $pipeFd line] >= 0} {
if {[regexp [join {
{^([^:]+):\t}
@@ -2968,7 +2796,6 @@ proc tcltest::runAllTests { {shell ""} } {
}
if {$Failed > 0} {
lappend failFiles $testFile
- set failFilesSet 1
}
} elseif {[regexp [join {
{^Number of tests skipped }
@@ -3007,15 +2834,15 @@ proc tcltest::runAllTests { {shell ""} } {
set dir [file tail $directory]
puts [outputChannel] [string repeat ~ 44]
puts [outputChannel] "$dir test began at [eval $timeCmd]\n"
-
+
uplevel 1 [list ::source [file join $directory all.tcl]]
-
+
set endTime [eval $timeCmd]
puts [outputChannel] "\n$dir test ended at $endTime"
puts [outputChannel] ""
puts [outputChannel] [string repeat ~ 44]
}
- return [expr {[info exists testFileFailures] || [info exists failFilesSet]}]
+ return
}
#####################################################################
@@ -3138,8 +2965,6 @@ proc tcltest::normalizeMsg {msg} {
proc tcltest::makeFile {contents name {directory ""}} {
variable filesMade
- variable fullutf
-
FillFilesExisted
if {[llength [info level 0]] == 3} {
@@ -3152,10 +2977,7 @@ proc tcltest::makeFile {contents name {directory ""}} {
putting ``$contents'' into $fullName"
set fd [open $fullName w]
- fconfigure $fd -translation lf
- if {$fullutf} {
- fconfigure $fd -profile tcl8 -encoding utf-8
- }
+ chan configure $fd -translation lf
if {[string index $contents end] eq "\n"} {
puts -nonewline $fd $contents
} else {
@@ -3192,24 +3014,18 @@ proc tcltest::removeFile {name {directory ""}} {
set fullName [file join $directory $name]
DebugPuts 3 "[lindex [info level 0] 0]: removing $fullName"
set idx [lsearch -exact $filesMade $fullName]
- if {$idx < 0} {
+ set filesMade [lreplace $filesMade $idx $idx]
+ if {$idx == -1} {
DebugDo 1 {
Warn "removeFile removing \"$fullName\":\n not created by makeFile"
}
- } else {
- set filesMade [lreplace $filesMade $idx $idx]
- }
+ }
if {![file isfile $fullName]} {
DebugDo 1 {
Warn "removeFile removing \"$fullName\":\n not a file"
}
}
- if {[catch {file delete -- $fullName} msg ]} {
- DebugDo 1 {
- Warn "removeFile removing \"$fullName\":\n failed: $msg"
- }
- }
- return
+ return [file delete -- $fullName]
}
# tcltest::makeDirectory --
@@ -3269,12 +3085,12 @@ proc tcltest::removeDirectory {name {directory ""}} {
DebugPuts 3 "[lindex [info level 0] 0]: deleting $fullName"
set idx [lsearch -exact $filesMade $fullName]
set filesMade [lreplace $filesMade $idx $idx]
- if {$idx < 0} {
+ if {$idx == -1} {
DebugDo 1 {
Warn "removeDirectory removing \"$fullName\":\n not created\
by makeDirectory"
}
- }
+ }
if {![file isdirectory $fullName]} {
DebugDo 1 {
Warn "removeDirectory removing \"$fullName\":\n not a directory"
@@ -3298,17 +3114,12 @@ proc tcltest::removeDirectory {name {directory ""}} {
# None.
proc tcltest::viewFile {name {directory ""}} {
- variable fullutf
-
FillFilesExisted
if {[llength [info level 0]] == 2} {
set directory [temporaryDirectory]
}
set fullName [file join $directory $name]
set f [open $fullName]
- if {$fullutf} {
- fconfigure $f -profile tcl8 -encoding utf-8
- }
set data [read -nonewline $f]
close $f
return $data
@@ -3323,16 +3134,13 @@ proc tcltest::viewFile {name {directory ""}} {
# procedures that are supposed to accept strings with embedded NULL
# bytes.
# 2. Confirm that a string result has a certain pattern of bytes, for
-# instance to confirm that "\xE0\0" in a Tcl script is stored
-# internally in UTF-8 as the sequence of bytes "\xC3\xA0\xC0\x80".
+# instance to confirm that "\xe0\0" in a Tcl script is stored
+# internally in UTF-8 as the sequence of bytes "\xc3\xa0\xc0\x80".
#
# Generally, it's a bad idea to examine the bytes in a Tcl string or to
# construct improperly formed strings in this manner, because it involves
# exposing that Tcl uses UTF-8 internally.
#
-# This function doesn't work any more in Tcl 8.7, since the 'identity'
-# is gone (TIP #345)
-#
# Arguments:
# string being converted
#
@@ -3342,10 +3150,8 @@ proc tcltest::viewFile {name {directory ""}} {
# Side effects:
# None
-if {!$::tcltest::fullutf} {
- proc tcltest::bytestring {string} {
- return [encoding convertfrom identity $string]
- }
+proc tcltest::bytestring {string} {
+ return [encoding convertfrom identity $string]
}
# tcltest::OpenFiles --
@@ -3479,7 +3285,7 @@ proc tcltest::threadReap {} {
testthread errorproc ThreadError
return [llength [testthread names]]
} elseif {[info commands thread::id] ne {}} {
-
+
# Thread extension
thread::errorproc ThreadNullError
@@ -3504,7 +3310,7 @@ proc tcltest::threadReap {} {
# Initialize the constraints and set up command line arguments
namespace eval tcltest {
- # Define initializers for all the built-in constraint definitions
+ # Define initializers for all the built-in contraint definitions
DefineConstraintInitializers
# Set up the constraints in the testConstraints array to be lazily
@@ -3513,7 +3319,7 @@ namespace eval tcltest {
trace add variable testConstraints read [namespace code SafeFetch]
# Only initialize constraints at package load time if an
- # [initConstraintsHook] has been predefined. This is only
+ # [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.
diff --git a/library/tm.tcl b/library/tm.tcl
index 75abfb0..87db0df 100644
--- a/library/tm.tcl
+++ b/library/tm.tcl
@@ -1,44 +1,48 @@
# -*- 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 should 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 don'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.
@@ -67,43 +71,46 @@ 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'.
#
-# Side effects
-# The subcommands 'add' and 'remove' manipulate the list of paths to
-# search for Tcl Modules. The subcommand 'list' has no side effects.
+# 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 {args} {
+proc ::tcl::tm::add {path 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 will 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 $args {
+ foreach p [linsert $args 0 $path] {
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.
@@ -112,9 +119,10 @@ proc ::tcl::tm::add {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]} {
@@ -126,23 +134,24 @@ proc ::tcl::tm::add {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 {args} {
+proc ::tcl::tm::remove {path 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 $args {
+ foreach p [linsert $args 0 $path] {
set pos [lsearch -exact $paths $p]
if {$pos >= 0} {
set paths [lreplace $paths $pos $pos]
@@ -166,18 +175,19 @@ proc ::tcl::tm::list {} {
# name - Name of desired package.
# version - Version of desired package. Can be the
# empty string.
-# exact - Either -exact or omitted.
+# 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.
#
-# Side effects
-# May populate the package ifneeded database with additional provide
-# scripts.
+# Sideeffects
+# 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.
@@ -186,8 +196,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]
@@ -196,10 +206,11 @@ 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 {
@@ -212,12 +223,12 @@ proc ::tcl::tm::UnknownHandler {original name args} {
}
set strip [llength [file split $path]]
- # Get the module files out of the subdirectories.
- # - Safe Base interpreters have a restricted "glob" command that
- # works in this case.
- # - The "catch" was essential when there was no safe glob and every
- # call in a safe interp failed; it is retained only for corner
- # cases in which the eventual call to glob returns an error.
+ # 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
@@ -227,61 +238,57 @@ 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
}
- try {
- package vcompare $pkgversion 0
- } on error {} {
- # Ignore everything where the version part is not
- # acceptable to "package vcompare".
+ if {[catch {package vcompare $pkgversion 0}]} {
+ # Ignore everything where the version part is
+ # not acceptable to "package vcompare".
continue
}
- if {([package ifneeded $pkgname $pkgversion] ne {})
- && (![interp issafe])
- } {
+ 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.
- # This does not apply to Safe Base interpreters because
- # the token-to-directory mapping may have changed.
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.
-
- # 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.
+ # 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.
#
- # 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 $file]"
+ "[::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]} {
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.
}
}
}
@@ -292,8 +299,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]
@@ -310,13 +317,13 @@ proc ::tcl::tm::UnknownHandler {original name args} {
# Results
# None.
#
-# Side effects
+# Sideeffects
# May add paths to the list of defaults.
proc ::tcl::tm::Defaults {} {
global env tcl_platform
- regexp {^(\d+)\.(\d+)} [package provide tcl] - major minor
+ lassign [split [info tclversion] .] major minor
set exe [file normalize [info nameofexecutable]]
# Note that we're using [::list], not [list] because [list] means
@@ -355,26 +362,26 @@ proc ::tcl::tm::Defaults {} {
# Results
# No result.
#
-# Side effects
+# Sideeffects
# Calls 'path add' to paths to the list of module search paths.
proc ::tcl::tm::roots {paths} {
- regexp {^(\d+)\.(\d+)} [package provide tcl] - major minor
+ lassign [split [package present Tcl] .] major minor
foreach pa $paths {
set p [file join $pa tcl$major]
for {set n $minor} {$n >= 0} {incr n -1} {
set px [file join $p ${major}.${n}]
- if {![interp issafe]} {set px [file normalize $px]}
+ if {![interp issafe]} { set px [file normalize $px] }
path add $px
}
set px [file join $p site-tcl]
- if {![interp issafe]} {set px [file normalize $px]}
+ if {![interp issafe]} { set px [file normalize $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}
+if {![interp issafe]} { ::tcl::tm::Defaults }
diff --git a/library/tzdata/Africa/Accra b/library/tzdata/Africa/Accra
index 2c94214..39db976 100644
--- a/library/tzdata/Africa/Accra
+++ b/library/tzdata/Africa/Accra
@@ -1,5 +1,52 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Africa/Abidjan)]} {
- LoadTimeZoneFile Africa/Abidjan
+
+set TZData(:Africa/Accra) {
+ {-9223372036854775808 -52 0 LMT}
+ {-1640995148 0 0 GMT}
+ {-1556841600 1200 1 GHST}
+ {-1546388400 0 0 GMT}
+ {-1525305600 1200 1 GHST}
+ {-1514852400 0 0 GMT}
+ {-1493769600 1200 1 GHST}
+ {-1483316400 0 0 GMT}
+ {-1462233600 1200 1 GHST}
+ {-1451780400 0 0 GMT}
+ {-1430611200 1200 1 GHST}
+ {-1420158000 0 0 GMT}
+ {-1399075200 1200 1 GHST}
+ {-1388622000 0 0 GMT}
+ {-1367539200 1200 1 GHST}
+ {-1357086000 0 0 GMT}
+ {-1336003200 1200 1 GHST}
+ {-1325550000 0 0 GMT}
+ {-1304380800 1200 1 GHST}
+ {-1293927600 0 0 GMT}
+ {-1272844800 1200 1 GHST}
+ {-1262391600 0 0 GMT}
+ {-1241308800 1200 1 GHST}
+ {-1230855600 0 0 GMT}
+ {-1209772800 1200 1 GHST}
+ {-1199319600 0 0 GMT}
+ {-1178150400 1200 1 GHST}
+ {-1167697200 0 0 GMT}
+ {-1146614400 1200 1 GHST}
+ {-1136161200 0 0 GMT}
+ {-1115078400 1200 1 GHST}
+ {-1104625200 0 0 GMT}
+ {-1083542400 1200 1 GHST}
+ {-1073089200 0 0 GMT}
+ {-1051920000 1200 1 GHST}
+ {-1041466800 0 0 GMT}
+ {-1020384000 1200 1 GHST}
+ {-1009930800 0 0 GMT}
+ {-988848000 1200 1 GHST}
+ {-978394800 0 0 GMT}
+ {-957312000 1200 1 GHST}
+ {-946858800 0 0 GMT}
+ {-925689600 1200 1 GHST}
+ {-915236400 0 0 GMT}
+ {-894153600 1200 1 GHST}
+ {-883700400 0 0 GMT}
+ {-862617600 1200 1 GHST}
+ {-852164400 0 0 GMT}
}
-set TZData(:Africa/Accra) $TZData(:Africa/Abidjan)
diff --git a/library/tzdata/Africa/Algiers b/library/tzdata/Africa/Algiers
index b26d31c..fe4de22 100644
--- a/library/tzdata/Africa/Algiers
+++ b/library/tzdata/Africa/Algiers
@@ -2,7 +2,7 @@
set TZData(:Africa/Algiers) {
{-9223372036854775808 732 0 LMT}
- {-2486592732 561 0 PMT}
+ {-2486679072 561 0 PMT}
{-1855958961 0 0 WET}
{-1689814800 3600 1 WEST}
{-1680397200 0 0 WET}
diff --git a/library/tzdata/Africa/Bissau b/library/tzdata/Africa/Bissau
index e0568fb..5693228 100644
--- a/library/tzdata/Africa/Bissau
+++ b/library/tzdata/Africa/Bissau
@@ -2,6 +2,6 @@
set TZData(:Africa/Bissau) {
{-9223372036854775808 -3740 0 LMT}
- {-1830380400 -3600 0 -01}
+ {-1830380260 -3600 0 WAT}
{157770000 0 0 GMT}
}
diff --git a/library/tzdata/Africa/Cairo b/library/tzdata/Africa/Cairo
index 3acbd5e..aaeec54 100644
--- a/library/tzdata/Africa/Cairo
+++ b/library/tzdata/Africa/Cairo
@@ -129,158 +129,4 @@ set TZData(:Africa/Cairo) {
{1403816400 7200 0 EET}
{1406844000 10800 1 EEST}
{1411678800 7200 0 EET}
- {1682632800 10800 1 EEST}
- {1698354000 7200 0 EET}
- {1714082400 10800 1 EEST}
- {1730408400 7200 0 EET}
- {1745532000 10800 1 EEST}
- {1761858000 7200 0 EET}
- {1776981600 10800 1 EEST}
- {1793307600 7200 0 EET}
- {1809036000 10800 1 EEST}
- {1824757200 7200 0 EET}
- {1840485600 10800 1 EEST}
- {1856206800 7200 0 EET}
- {1871935200 10800 1 EEST}
- {1887656400 7200 0 EET}
- {1903384800 10800 1 EEST}
- {1919710800 7200 0 EET}
- {1934834400 10800 1 EEST}
- {1951160400 7200 0 EET}
- {1966888800 10800 1 EEST}
- {1982610000 7200 0 EET}
- {1998338400 10800 1 EEST}
- {2014059600 7200 0 EET}
- {2029788000 10800 1 EEST}
- {2045509200 7200 0 EET}
- {2061237600 10800 1 EEST}
- {2076958800 7200 0 EET}
- {2092687200 10800 1 EEST}
- {2109013200 7200 0 EET}
- {2124136800 10800 1 EEST}
- {2140462800 7200 0 EET}
- {2156191200 10800 1 EEST}
- {2171912400 7200 0 EET}
- {2187640800 10800 1 EEST}
- {2203362000 7200 0 EET}
- {2219090400 10800 1 EEST}
- {2234811600 7200 0 EET}
- {2250540000 10800 1 EEST}
- {2266866000 7200 0 EET}
- {2281989600 10800 1 EEST}
- {2298315600 7200 0 EET}
- {2313439200 10800 1 EEST}
- {2329765200 7200 0 EET}
- {2345493600 10800 1 EEST}
- {2361214800 7200 0 EET}
- {2376943200 10800 1 EEST}
- {2392664400 7200 0 EET}
- {2408392800 10800 1 EEST}
- {2424114000 7200 0 EET}
- {2439842400 10800 1 EEST}
- {2456168400 7200 0 EET}
- {2471292000 10800 1 EEST}
- {2487618000 7200 0 EET}
- {2503346400 10800 1 EEST}
- {2519067600 7200 0 EET}
- {2534796000 10800 1 EEST}
- {2550517200 7200 0 EET}
- {2566245600 10800 1 EEST}
- {2581966800 7200 0 EET}
- {2597695200 10800 1 EEST}
- {2614021200 7200 0 EET}
- {2629144800 10800 1 EEST}
- {2645470800 7200 0 EET}
- {2660594400 10800 1 EEST}
- {2676920400 7200 0 EET}
- {2692648800 10800 1 EEST}
- {2708370000 7200 0 EET}
- {2724098400 10800 1 EEST}
- {2739819600 7200 0 EET}
- {2755548000 10800 1 EEST}
- {2771269200 7200 0 EET}
- {2786997600 10800 1 EEST}
- {2803323600 7200 0 EET}
- {2818447200 10800 1 EEST}
- {2834773200 7200 0 EET}
- {2850501600 10800 1 EEST}
- {2866222800 7200 0 EET}
- {2881951200 10800 1 EEST}
- {2897672400 7200 0 EET}
- {2913400800 10800 1 EEST}
- {2929122000 7200 0 EET}
- {2944850400 10800 1 EEST}
- {2960571600 7200 0 EET}
- {2976300000 10800 1 EEST}
- {2992626000 7200 0 EET}
- {3007749600 10800 1 EEST}
- {3024075600 7200 0 EET}
- {3039804000 10800 1 EEST}
- {3055525200 7200 0 EET}
- {3071253600 10800 1 EEST}
- {3086974800 7200 0 EET}
- {3102703200 10800 1 EEST}
- {3118424400 7200 0 EET}
- {3134152800 10800 1 EEST}
- {3150478800 7200 0 EET}
- {3165602400 10800 1 EEST}
- {3181928400 7200 0 EET}
- {3197052000 10800 1 EEST}
- {3213378000 7200 0 EET}
- {3229106400 10800 1 EEST}
- {3244827600 7200 0 EET}
- {3260556000 10800 1 EEST}
- {3276277200 7200 0 EET}
- {3292005600 10800 1 EEST}
- {3307726800 7200 0 EET}
- {3323455200 10800 1 EEST}
- {3339781200 7200 0 EET}
- {3354904800 10800 1 EEST}
- {3371230800 7200 0 EET}
- {3386959200 10800 1 EEST}
- {3402680400 7200 0 EET}
- {3418408800 10800 1 EEST}
- {3434130000 7200 0 EET}
- {3449858400 10800 1 EEST}
- {3465579600 7200 0 EET}
- {3481308000 10800 1 EEST}
- {3497634000 7200 0 EET}
- {3512757600 10800 1 EEST}
- {3529083600 7200 0 EET}
- {3544207200 10800 1 EEST}
- {3560533200 7200 0 EET}
- {3576261600 10800 1 EEST}
- {3591982800 7200 0 EET}
- {3607711200 10800 1 EEST}
- {3623432400 7200 0 EET}
- {3639160800 10800 1 EEST}
- {3654882000 7200 0 EET}
- {3670610400 10800 1 EEST}
- {3686936400 7200 0 EET}
- {3702060000 10800 1 EEST}
- {3718386000 7200 0 EET}
- {3734114400 10800 1 EEST}
- {3749835600 7200 0 EET}
- {3765564000 10800 1 EEST}
- {3781285200 7200 0 EET}
- {3797013600 10800 1 EEST}
- {3812734800 7200 0 EET}
- {3828463200 10800 1 EEST}
- {3844184400 7200 0 EET}
- {3859912800 10800 1 EEST}
- {3876238800 7200 0 EET}
- {3891362400 10800 1 EEST}
- {3907688400 7200 0 EET}
- {3923416800 10800 1 EEST}
- {3939138000 7200 0 EET}
- {3954866400 10800 1 EEST}
- {3970587600 7200 0 EET}
- {3986316000 10800 1 EEST}
- {4002037200 7200 0 EET}
- {4017765600 10800 1 EEST}
- {4034091600 7200 0 EET}
- {4049215200 10800 1 EEST}
- {4065541200 7200 0 EET}
- {4080664800 10800 1 EEST}
- {4096990800 7200 0 EET}
}
diff --git a/library/tzdata/Africa/Casablanca b/library/tzdata/Africa/Casablanca
index 05ae49f..33ad99b 100644
--- a/library/tzdata/Africa/Casablanca
+++ b/library/tzdata/Africa/Casablanca
@@ -2,201 +2,229 @@
set TZData(:Africa/Casablanca) {
{-9223372036854775808 -1820 0 LMT}
- {-1773012580 0 0 +00}
- {-956361600 3600 1 +00}
- {-950490000 0 0 +00}
- {-942019200 3600 1 +00}
- {-761187600 0 0 +00}
- {-617241600 3600 1 +00}
- {-605149200 0 0 +00}
- {-81432000 3600 1 +00}
- {-71110800 0 0 +00}
- {141264000 3600 1 +00}
- {147222000 0 0 +00}
- {199756800 3600 1 +00}
- {207702000 0 0 +00}
- {231292800 3600 1 +00}
- {244249200 0 0 +00}
- {265507200 3600 1 +00}
- {271033200 0 0 +00}
- {448243200 3600 0 +01}
- {504918000 0 0 +00}
- {1212278400 3600 1 +00}
- {1220223600 0 0 +00}
- {1243814400 3600 1 +00}
- {1250809200 0 0 +00}
- {1272758400 3600 1 +00}
- {1281222000 0 0 +00}
- {1301788800 3600 1 +00}
- {1312066800 0 0 +00}
- {1335664800 3600 1 +00}
- {1342749600 0 0 +00}
- {1345428000 3600 1 +00}
- {1348970400 0 0 +00}
- {1367114400 3600 1 +00}
- {1373162400 0 0 +00}
- {1376100000 3600 1 +00}
- {1382839200 0 0 +00}
- {1396144800 3600 1 +00}
- {1403920800 0 0 +00}
- {1406944800 3600 1 +00}
- {1414288800 0 0 +00}
- {1427594400 3600 1 +00}
- {1434247200 0 0 +00}
- {1437271200 3600 1 +00}
- {1445738400 0 0 +00}
- {1459044000 3600 1 +00}
- {1465092000 0 0 +00}
- {1468116000 3600 1 +00}
- {1477792800 0 0 +00}
- {1490493600 3600 1 +00}
- {1495332000 0 0 +00}
- {1498960800 3600 1 +00}
- {1509242400 0 0 +00}
- {1521943200 3600 1 +00}
- {1526176800 0 0 +00}
- {1529200800 3600 1 +00}
- {1540695600 3600 0 +01}
- {1557021600 0 1 +01}
- {1560045600 3600 0 +01}
- {1587261600 0 1 +01}
- {1590890400 3600 0 +01}
- {1618106400 0 1 +01}
- {1621130400 3600 0 +01}
- {1648346400 0 1 +01}
- {1651975200 3600 0 +01}
- {1679191200 0 1 +01}
- {1682215200 3600 0 +01}
- {1710036000 0 1 +01}
- {1713060000 3600 0 +01}
- {1740276000 0 1 +01}
- {1743904800 3600 0 +01}
- {1771120800 0 1 +01}
- {1774144800 3600 0 +01}
- {1801965600 0 1 +01}
- {1804989600 3600 0 +01}
- {1832205600 0 1 +01}
- {1835834400 3600 0 +01}
- {1863050400 0 1 +01}
- {1866074400 3600 0 +01}
- {1893290400 0 1 +01}
- {1896919200 3600 0 +01}
- {1924135200 0 1 +01}
- {1927159200 3600 0 +01}
- {1954980000 0 1 +01}
- {1958004000 3600 0 +01}
- {1985220000 0 1 +01}
- {1988848800 3600 0 +01}
- {2016064800 0 1 +01}
- {2019088800 3600 0 +01}
- {2046304800 0 1 +01}
- {2049933600 3600 0 +01}
- {2077149600 0 1 +01}
- {2080778400 3600 0 +01}
- {2107994400 0 1 +01}
- {2111018400 3600 0 +01}
- {2138234400 0 1 +01}
- {2141863200 3600 0 +01}
- {2169079200 0 1 +01}
- {2172103200 3600 0 +01}
- {2199924000 0 1 +01}
- {2202948000 3600 0 +01}
- {2230164000 0 1 +01}
- {2233792800 3600 0 +01}
- {2261008800 0 1 +01}
- {2264032800 3600 0 +01}
- {2291248800 0 1 +01}
- {2294877600 3600 0 +01}
- {2322093600 0 1 +01}
- {2325722400 3600 0 +01}
- {2352938400 0 1 +01}
- {2355962400 3600 0 +01}
- {2383178400 0 1 +01}
- {2386807200 3600 0 +01}
- {2414023200 0 1 +01}
- {2417047200 3600 0 +01}
- {2444868000 0 1 +01}
- {2447892000 3600 0 +01}
- {2475108000 0 1 +01}
- {2478736800 3600 0 +01}
- {2505952800 0 1 +01}
- {2508976800 3600 0 +01}
- {2536192800 0 1 +01}
- {2539821600 3600 0 +01}
- {2567037600 0 1 +01}
- {2570666400 3600 0 +01}
- {2597882400 0 1 +01}
- {2600906400 3600 0 +01}
- {2628122400 0 1 +01}
- {2631751200 3600 0 +01}
- {2658967200 0 1 +01}
- {2661991200 3600 0 +01}
- {2689812000 0 1 +01}
- {2692836000 3600 0 +01}
- {2720052000 0 1 +01}
- {2723680800 3600 0 +01}
- {2750896800 0 1 +01}
- {2753920800 3600 0 +01}
- {2781136800 0 1 +01}
- {2784765600 3600 0 +01}
- {2811981600 0 1 +01}
- {2815610400 3600 0 +01}
- {2842826400 0 1 +01}
- {2845850400 3600 0 +01}
- {2873066400 0 1 +01}
- {2876695200 3600 0 +01}
- {2903911200 0 1 +01}
- {2906935200 3600 0 +01}
- {2934756000 0 1 +01}
- {2937780000 3600 0 +01}
- {2964996000 0 1 +01}
- {2968624800 3600 0 +01}
- {2995840800 0 1 +01}
- {2998864800 3600 0 +01}
- {3026080800 0 1 +01}
- {3029709600 3600 0 +01}
- {3056925600 0 1 +01}
- {3060554400 3600 0 +01}
- {3087770400 0 1 +01}
- {3090794400 3600 0 +01}
- {3118010400 0 1 +01}
- {3121639200 3600 0 +01}
- {3148855200 0 1 +01}
- {3151879200 3600 0 +01}
- {3179700000 0 1 +01}
- {3182724000 3600 0 +01}
- {3209940000 0 1 +01}
- {3213568800 3600 0 +01}
- {3240784800 0 1 +01}
- {3243808800 3600 0 +01}
- {3271024800 0 1 +01}
- {3274653600 3600 0 +01}
- {3301869600 0 1 +01}
- {3305498400 3600 0 +01}
- {3332714400 0 1 +01}
- {3335738400 3600 0 +01}
- {3362954400 0 1 +01}
- {3366583200 3600 0 +01}
- {3393799200 0 1 +01}
- {3396823200 3600 0 +01}
- {3424644000 0 1 +01}
- {3427668000 3600 0 +01}
- {3454884000 0 1 +01}
- {3458512800 3600 0 +01}
- {3485728800 0 1 +01}
- {3488752800 3600 0 +01}
- {3515968800 0 1 +01}
- {3519597600 3600 0 +01}
- {3546813600 0 1 +01}
- {3549837600 3600 0 +01}
- {3577658400 0 1 +01}
- {3580682400 3600 0 +01}
- {3607898400 0 1 +01}
- {3611527200 3600 0 +01}
- {3638743200 0 1 +01}
- {3641767200 3600 0 +01}
- {3669588000 0 1 +01}
- {3672612000 3600 0 +01}
- {3699828000 0 1 +01}
- {3703456800 3600 0 +01}
+ {-1773012580 0 0 WET}
+ {-956361600 3600 1 WEST}
+ {-950490000 0 0 WET}
+ {-942019200 3600 1 WEST}
+ {-761187600 0 0 WET}
+ {-617241600 3600 1 WEST}
+ {-605149200 0 0 WET}
+ {-81432000 3600 1 WEST}
+ {-71110800 0 0 WET}
+ {141264000 3600 1 WEST}
+ {147222000 0 0 WET}
+ {199756800 3600 1 WEST}
+ {207702000 0 0 WET}
+ {231292800 3600 1 WEST}
+ {244249200 0 0 WET}
+ {265507200 3600 1 WEST}
+ {271033200 0 0 WET}
+ {448243200 3600 0 CET}
+ {504918000 0 0 WET}
+ {1212278400 3600 1 WEST}
+ {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}
+ {1382839200 0 0 WET}
+ {1396144800 3600 1 WEST}
+ {1403920800 0 0 WET}
+ {1406944800 3600 1 WEST}
+ {1414288800 0 0 WET}
+ {1427594400 3600 1 WEST}
+ {1434247200 0 0 WET}
+ {1437271200 3600 1 WEST}
+ {1445738400 0 0 WET}
+ {1459044000 3600 1 WEST}
+ {1465092000 0 0 WET}
+ {1468116000 3600 1 WEST}
+ {1477792800 0 0 WET}
+ {1490493600 3600 1 WEST}
+ {1495332000 0 0 WET}
+ {1498960800 3600 1 WEST}
+ {1509242400 0 0 WET}
+ {1521943200 3600 1 WEST}
+ {1526176800 0 0 WET}
+ {1529200800 3600 1 WEST}
+ {1540692000 0 0 WET}
+ {1553997600 3600 1 WEST}
+ {1557021600 0 0 WET}
+ {1560045600 3600 1 WEST}
+ {1572141600 0 0 WET}
+ {1585447200 3600 1 WEST}
+ {1587261600 0 0 WET}
+ {1590285600 3600 1 WEST}
+ {1603591200 0 0 WET}
+ {1616896800 3600 1 WEST}
+ {1618106400 0 0 WET}
+ {1621130400 3600 1 WEST}
+ {1635645600 0 0 WET}
+ {1651975200 3600 1 WEST}
+ {1667095200 0 0 WET}
+ {1682215200 3600 1 WEST}
+ {1698544800 0 0 WET}
+ {1713060000 3600 1 WEST}
+ {1729994400 0 0 WET}
+ {1743904800 3600 1 WEST}
+ {1761444000 0 0 WET}
+ {1774749600 3600 1 WEST}
+ {1792893600 0 0 WET}
+ {1806199200 3600 1 WEST}
+ {1824948000 0 0 WET}
+ {1837648800 3600 1 WEST}
+ {1856397600 0 0 WET}
+ {1869098400 3600 1 WEST}
+ {1887847200 0 0 WET}
+ {1901152800 3600 1 WEST}
+ {1919296800 0 0 WET}
+ {1932602400 3600 1 WEST}
+ {1950746400 0 0 WET}
+ {1964052000 3600 1 WEST}
+ {1982800800 0 0 WET}
+ {1995501600 3600 1 WEST}
+ {2014250400 0 0 WET}
+ {2026951200 3600 1 WEST}
+ {2045700000 0 0 WET}
+ {2058400800 3600 1 WEST}
+ {2077149600 0 0 WET}
+ {2090455200 3600 1 WEST}
+ {2107994400 0 0 WET}
+ {2108602800 0 0 WET}
+ {2121904800 3600 1 WEST}
+ {2138234400 0 0 WET}
+ {2140052400 0 0 WET}
+ {2153354400 3600 1 WEST}
+ {2172103200 0 0 WET}
+ {2184804000 3600 1 WEST}
+ {2203552800 0 0 WET}
+ {2216253600 3600 1 WEST}
+ {2235002400 0 0 WET}
+ {2248308000 3600 1 WEST}
+ {2266452000 0 0 WET}
+ {2279757600 3600 1 WEST}
+ {2297901600 0 0 WET}
+ {2311207200 3600 1 WEST}
+ {2329351200 0 0 WET}
+ {2342656800 3600 1 WEST}
+ {2361405600 0 0 WET}
+ {2374106400 3600 1 WEST}
+ {2392855200 0 0 WET}
+ {2405556000 3600 1 WEST}
+ {2424304800 0 0 WET}
+ {2437610400 3600 1 WEST}
+ {2455754400 0 0 WET}
+ {2469060000 3600 1 WEST}
+ {2487204000 0 0 WET}
+ {2500509600 3600 1 WEST}
+ {2519258400 0 0 WET}
+ {2531959200 3600 1 WEST}
+ {2550708000 0 0 WET}
+ {2563408800 3600 1 WEST}
+ {2582157600 0 0 WET}
+ {2595463200 3600 1 WEST}
+ {2613607200 0 0 WET}
+ {2626912800 3600 1 WEST}
+ {2645056800 0 0 WET}
+ {2658362400 3600 1 WEST}
+ {2676506400 0 0 WET}
+ {2689812000 3600 1 WEST}
+ {2708560800 0 0 WET}
+ {2721261600 3600 1 WEST}
+ {2740010400 0 0 WET}
+ {2752711200 3600 1 WEST}
+ {2771460000 0 0 WET}
+ {2784765600 3600 1 WEST}
+ {2802909600 0 0 WET}
+ {2816215200 3600 1 WEST}
+ {2834359200 0 0 WET}
+ {2847664800 3600 1 WEST}
+ {2866413600 0 0 WET}
+ {2879114400 3600 1 WEST}
+ {2897863200 0 0 WET}
+ {2910564000 3600 1 WEST}
+ {2929312800 0 0 WET}
+ {2942013600 3600 1 WEST}
+ {2960762400 0 0 WET}
+ {2974068000 3600 1 WEST}
+ {2992212000 0 0 WET}
+ {3005517600 3600 1 WEST}
+ {3023661600 0 0 WET}
+ {3036967200 3600 1 WEST}
+ {3055716000 0 0 WET}
+ {3068416800 3600 1 WEST}
+ {3087165600 0 0 WET}
+ {3099866400 3600 1 WEST}
+ {3118615200 0 0 WET}
+ {3131920800 3600 1 WEST}
+ {3150064800 0 0 WET}
+ {3163370400 3600 1 WEST}
+ {3181514400 0 0 WET}
+ {3194820000 3600 1 WEST}
+ {3212964000 0 0 WET}
+ {3226269600 3600 1 WEST}
+ {3245018400 0 0 WET}
+ {3257719200 3600 1 WEST}
+ {3276468000 0 0 WET}
+ {3289168800 3600 1 WEST}
+ {3307917600 0 0 WET}
+ {3321223200 3600 1 WEST}
+ {3339367200 0 0 WET}
+ {3352672800 3600 1 WEST}
+ {3370816800 0 0 WET}
+ {3384122400 3600 1 WEST}
+ {3402871200 0 0 WET}
+ {3415572000 3600 1 WEST}
+ {3434320800 0 0 WET}
+ {3447021600 3600 1 WEST}
+ {3465770400 0 0 WET}
+ {3479076000 3600 1 WEST}
+ {3497220000 0 0 WET}
+ {3510525600 3600 1 WEST}
+ {3528669600 0 0 WET}
+ {3541975200 3600 1 WEST}
+ {3560119200 0 0 WET}
+ {3573424800 3600 1 WEST}
+ {3592173600 0 0 WET}
+ {3604874400 3600 1 WEST}
+ {3623623200 0 0 WET}
+ {3636324000 3600 1 WEST}
+ {3655072800 0 0 WET}
+ {3668378400 3600 1 WEST}
+ {3686522400 0 0 WET}
+ {3699828000 3600 1 WEST}
+ {3717972000 0 0 WET}
+ {3731277600 3600 1 WEST}
+ {3750026400 0 0 WET}
+ {3762727200 3600 1 WEST}
+ {3781476000 0 0 WET}
+ {3794176800 3600 1 WEST}
+ {3812925600 0 0 WET}
+ {3825626400 3600 1 WEST}
+ {3844375200 0 0 WET}
+ {3857680800 3600 1 WEST}
+ {3875824800 0 0 WET}
+ {3889130400 3600 1 WEST}
+ {3907274400 0 0 WET}
+ {3920580000 3600 1 WEST}
+ {3939328800 0 0 WET}
+ {3952029600 3600 1 WEST}
+ {3970778400 0 0 WET}
+ {3983479200 3600 1 WEST}
+ {4002228000 0 0 WET}
+ {4015533600 3600 1 WEST}
+ {4033677600 0 0 WET}
+ {4046983200 3600 1 WEST}
+ {4065127200 0 0 WET}
+ {4078432800 3600 1 WEST}
+ {4096576800 0 0 WET}
}
diff --git a/library/tzdata/Africa/Ceuta b/library/tzdata/Africa/Ceuta
index 18af8c1..882c13d 100644
--- a/library/tzdata/Africa/Ceuta
+++ b/library/tzdata/Africa/Ceuta
@@ -2,20 +2,19 @@
set TZData(:Africa/Ceuta) {
{-9223372036854775808 -1276 0 LMT}
- {-2177452800 0 0 WET}
+ {-2177451524 0 0 WET}
{-1630112400 3600 1 WEST}
{-1616810400 0 0 WET}
{-1451692800 0 0 WET}
{-1442451600 3600 1 WEST}
- {-1427673600 0 0 WET}
+ {-1427677200 0 0 WET}
{-1379293200 3600 1 WEST}
- {-1364774400 0 0 WET}
+ {-1364778000 0 0 WET}
{-1348448400 3600 1 WEST}
- {-1333324800 0 0 WET}
- {-1316390400 3600 1 WEST}
- {-1301270400 0 0 WET}
+ {-1333328400 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301274000 0 0 WET}
{-1293840000 0 0 WET}
- {-94694400 0 0 WET}
{-81432000 3600 1 WEST}
{-71110800 0 0 WET}
{141264000 3600 1 WEST}
diff --git a/library/tzdata/Africa/El_Aaiun b/library/tzdata/Africa/El_Aaiun
index 8dbbdea..77e149e 100644
--- a/library/tzdata/Africa/El_Aaiun
+++ b/library/tzdata/Africa/El_Aaiun
@@ -2,190 +2,218 @@
set TZData(:Africa/El_Aaiun) {
{-9223372036854775808 -3168 0 LMT}
- {-1136070432 -3600 0 -01}
- {198291600 0 0 +00}
- {199756800 3600 1 +00}
- {207702000 0 0 +00}
- {231292800 3600 1 +00}
- {244249200 0 0 +00}
- {265507200 3600 1 +00}
- {271033200 0 0 +00}
- {1212278400 3600 1 +00}
- {1220223600 0 0 +00}
- {1243814400 3600 1 +00}
- {1250809200 0 0 +00}
- {1272758400 3600 1 +00}
- {1281222000 0 0 +00}
- {1301788800 3600 1 +00}
- {1312066800 0 0 +00}
- {1335664800 3600 1 +00}
- {1342749600 0 0 +00}
- {1345428000 3600 1 +00}
- {1348970400 0 0 +00}
- {1367114400 3600 1 +00}
- {1373162400 0 0 +00}
- {1376100000 3600 1 +00}
- {1382839200 0 0 +00}
- {1396144800 3600 1 +00}
- {1403920800 0 0 +00}
- {1406944800 3600 1 +00}
- {1414288800 0 0 +00}
- {1427594400 3600 1 +00}
- {1434247200 0 0 +00}
- {1437271200 3600 1 +00}
- {1445738400 0 0 +00}
- {1459044000 3600 1 +00}
- {1465092000 0 0 +00}
- {1468116000 3600 1 +00}
- {1477792800 0 0 +00}
- {1490493600 3600 1 +00}
- {1495332000 0 0 +00}
- {1498960800 3600 1 +00}
- {1509242400 0 0 +00}
- {1521943200 3600 1 +00}
- {1526176800 0 0 +00}
- {1529200800 3600 1 +00}
- {1540695600 3600 0 +01}
- {1557021600 0 1 +01}
- {1560045600 3600 0 +01}
- {1587261600 0 1 +01}
- {1590890400 3600 0 +01}
- {1618106400 0 1 +01}
- {1621130400 3600 0 +01}
- {1648346400 0 1 +01}
- {1651975200 3600 0 +01}
- {1679191200 0 1 +01}
- {1682215200 3600 0 +01}
- {1710036000 0 1 +01}
- {1713060000 3600 0 +01}
- {1740276000 0 1 +01}
- {1743904800 3600 0 +01}
- {1771120800 0 1 +01}
- {1774144800 3600 0 +01}
- {1801965600 0 1 +01}
- {1804989600 3600 0 +01}
- {1832205600 0 1 +01}
- {1835834400 3600 0 +01}
- {1863050400 0 1 +01}
- {1866074400 3600 0 +01}
- {1893290400 0 1 +01}
- {1896919200 3600 0 +01}
- {1924135200 0 1 +01}
- {1927159200 3600 0 +01}
- {1954980000 0 1 +01}
- {1958004000 3600 0 +01}
- {1985220000 0 1 +01}
- {1988848800 3600 0 +01}
- {2016064800 0 1 +01}
- {2019088800 3600 0 +01}
- {2046304800 0 1 +01}
- {2049933600 3600 0 +01}
- {2077149600 0 1 +01}
- {2080778400 3600 0 +01}
- {2107994400 0 1 +01}
- {2111018400 3600 0 +01}
- {2138234400 0 1 +01}
- {2141863200 3600 0 +01}
- {2169079200 0 1 +01}
- {2172103200 3600 0 +01}
- {2199924000 0 1 +01}
- {2202948000 3600 0 +01}
- {2230164000 0 1 +01}
- {2233792800 3600 0 +01}
- {2261008800 0 1 +01}
- {2264032800 3600 0 +01}
- {2291248800 0 1 +01}
- {2294877600 3600 0 +01}
- {2322093600 0 1 +01}
- {2325722400 3600 0 +01}
- {2352938400 0 1 +01}
- {2355962400 3600 0 +01}
- {2383178400 0 1 +01}
- {2386807200 3600 0 +01}
- {2414023200 0 1 +01}
- {2417047200 3600 0 +01}
- {2444868000 0 1 +01}
- {2447892000 3600 0 +01}
- {2475108000 0 1 +01}
- {2478736800 3600 0 +01}
- {2505952800 0 1 +01}
- {2508976800 3600 0 +01}
- {2536192800 0 1 +01}
- {2539821600 3600 0 +01}
- {2567037600 0 1 +01}
- {2570666400 3600 0 +01}
- {2597882400 0 1 +01}
- {2600906400 3600 0 +01}
- {2628122400 0 1 +01}
- {2631751200 3600 0 +01}
- {2658967200 0 1 +01}
- {2661991200 3600 0 +01}
- {2689812000 0 1 +01}
- {2692836000 3600 0 +01}
- {2720052000 0 1 +01}
- {2723680800 3600 0 +01}
- {2750896800 0 1 +01}
- {2753920800 3600 0 +01}
- {2781136800 0 1 +01}
- {2784765600 3600 0 +01}
- {2811981600 0 1 +01}
- {2815610400 3600 0 +01}
- {2842826400 0 1 +01}
- {2845850400 3600 0 +01}
- {2873066400 0 1 +01}
- {2876695200 3600 0 +01}
- {2903911200 0 1 +01}
- {2906935200 3600 0 +01}
- {2934756000 0 1 +01}
- {2937780000 3600 0 +01}
- {2964996000 0 1 +01}
- {2968624800 3600 0 +01}
- {2995840800 0 1 +01}
- {2998864800 3600 0 +01}
- {3026080800 0 1 +01}
- {3029709600 3600 0 +01}
- {3056925600 0 1 +01}
- {3060554400 3600 0 +01}
- {3087770400 0 1 +01}
- {3090794400 3600 0 +01}
- {3118010400 0 1 +01}
- {3121639200 3600 0 +01}
- {3148855200 0 1 +01}
- {3151879200 3600 0 +01}
- {3179700000 0 1 +01}
- {3182724000 3600 0 +01}
- {3209940000 0 1 +01}
- {3213568800 3600 0 +01}
- {3240784800 0 1 +01}
- {3243808800 3600 0 +01}
- {3271024800 0 1 +01}
- {3274653600 3600 0 +01}
- {3301869600 0 1 +01}
- {3305498400 3600 0 +01}
- {3332714400 0 1 +01}
- {3335738400 3600 0 +01}
- {3362954400 0 1 +01}
- {3366583200 3600 0 +01}
- {3393799200 0 1 +01}
- {3396823200 3600 0 +01}
- {3424644000 0 1 +01}
- {3427668000 3600 0 +01}
- {3454884000 0 1 +01}
- {3458512800 3600 0 +01}
- {3485728800 0 1 +01}
- {3488752800 3600 0 +01}
- {3515968800 0 1 +01}
- {3519597600 3600 0 +01}
- {3546813600 0 1 +01}
- {3549837600 3600 0 +01}
- {3577658400 0 1 +01}
- {3580682400 3600 0 +01}
- {3607898400 0 1 +01}
- {3611527200 3600 0 +01}
- {3638743200 0 1 +01}
- {3641767200 3600 0 +01}
- {3669588000 0 1 +01}
- {3672612000 3600 0 +01}
- {3699828000 0 1 +01}
- {3703456800 3600 0 +01}
+ {-1136070432 -3600 0 WAT}
+ {198291600 0 0 WET}
+ {199756800 3600 1 WEST}
+ {207702000 0 0 WET}
+ {231292800 3600 1 WEST}
+ {244249200 0 0 WET}
+ {265507200 3600 1 WEST}
+ {271033200 0 0 WET}
+ {1212278400 3600 1 WEST}
+ {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}
+ {1382839200 0 0 WET}
+ {1396144800 3600 1 WEST}
+ {1403920800 0 0 WET}
+ {1406944800 3600 1 WEST}
+ {1414288800 0 0 WET}
+ {1427594400 3600 1 WEST}
+ {1434247200 0 0 WET}
+ {1437271200 3600 1 WEST}
+ {1445738400 0 0 WET}
+ {1459044000 3600 1 WEST}
+ {1465092000 0 0 WET}
+ {1468116000 3600 1 WEST}
+ {1477792800 0 0 WET}
+ {1490493600 3600 1 WEST}
+ {1495332000 0 0 WET}
+ {1498960800 3600 1 WEST}
+ {1509242400 0 0 WET}
+ {1521943200 3600 1 WEST}
+ {1526176800 0 0 WET}
+ {1529200800 3600 1 WEST}
+ {1540692000 0 0 WET}
+ {1553997600 3600 1 WEST}
+ {1557021600 0 0 WET}
+ {1560045600 3600 1 WEST}
+ {1572141600 0 0 WET}
+ {1585447200 3600 1 WEST}
+ {1587261600 0 0 WET}
+ {1590285600 3600 1 WEST}
+ {1603591200 0 0 WET}
+ {1616896800 3600 1 WEST}
+ {1618106400 0 0 WET}
+ {1621130400 3600 1 WEST}
+ {1635645600 0 0 WET}
+ {1651975200 3600 1 WEST}
+ {1667095200 0 0 WET}
+ {1682215200 3600 1 WEST}
+ {1698544800 0 0 WET}
+ {1713060000 3600 1 WEST}
+ {1729994400 0 0 WET}
+ {1743904800 3600 1 WEST}
+ {1761444000 0 0 WET}
+ {1774749600 3600 1 WEST}
+ {1792893600 0 0 WET}
+ {1806199200 3600 1 WEST}
+ {1824948000 0 0 WET}
+ {1837648800 3600 1 WEST}
+ {1856397600 0 0 WET}
+ {1869098400 3600 1 WEST}
+ {1887847200 0 0 WET}
+ {1901152800 3600 1 WEST}
+ {1919296800 0 0 WET}
+ {1932602400 3600 1 WEST}
+ {1950746400 0 0 WET}
+ {1964052000 3600 1 WEST}
+ {1982800800 0 0 WET}
+ {1995501600 3600 1 WEST}
+ {2014250400 0 0 WET}
+ {2026951200 3600 1 WEST}
+ {2045700000 0 0 WET}
+ {2058400800 3600 1 WEST}
+ {2077149600 0 0 WET}
+ {2090455200 3600 1 WEST}
+ {2107994400 0 0 WET}
+ {2108602800 0 0 WET}
+ {2121904800 3600 1 WEST}
+ {2138234400 0 0 WET}
+ {2140052400 0 0 WET}
+ {2153354400 3600 1 WEST}
+ {2172103200 0 0 WET}
+ {2184804000 3600 1 WEST}
+ {2203552800 0 0 WET}
+ {2216253600 3600 1 WEST}
+ {2235002400 0 0 WET}
+ {2248308000 3600 1 WEST}
+ {2266452000 0 0 WET}
+ {2279757600 3600 1 WEST}
+ {2297901600 0 0 WET}
+ {2311207200 3600 1 WEST}
+ {2329351200 0 0 WET}
+ {2342656800 3600 1 WEST}
+ {2361405600 0 0 WET}
+ {2374106400 3600 1 WEST}
+ {2392855200 0 0 WET}
+ {2405556000 3600 1 WEST}
+ {2424304800 0 0 WET}
+ {2437610400 3600 1 WEST}
+ {2455754400 0 0 WET}
+ {2469060000 3600 1 WEST}
+ {2487204000 0 0 WET}
+ {2500509600 3600 1 WEST}
+ {2519258400 0 0 WET}
+ {2531959200 3600 1 WEST}
+ {2550708000 0 0 WET}
+ {2563408800 3600 1 WEST}
+ {2582157600 0 0 WET}
+ {2595463200 3600 1 WEST}
+ {2613607200 0 0 WET}
+ {2626912800 3600 1 WEST}
+ {2645056800 0 0 WET}
+ {2658362400 3600 1 WEST}
+ {2676506400 0 0 WET}
+ {2689812000 3600 1 WEST}
+ {2708560800 0 0 WET}
+ {2721261600 3600 1 WEST}
+ {2740010400 0 0 WET}
+ {2752711200 3600 1 WEST}
+ {2771460000 0 0 WET}
+ {2784765600 3600 1 WEST}
+ {2802909600 0 0 WET}
+ {2816215200 3600 1 WEST}
+ {2834359200 0 0 WET}
+ {2847664800 3600 1 WEST}
+ {2866413600 0 0 WET}
+ {2879114400 3600 1 WEST}
+ {2897863200 0 0 WET}
+ {2910564000 3600 1 WEST}
+ {2929312800 0 0 WET}
+ {2942013600 3600 1 WEST}
+ {2960762400 0 0 WET}
+ {2974068000 3600 1 WEST}
+ {2992212000 0 0 WET}
+ {3005517600 3600 1 WEST}
+ {3023661600 0 0 WET}
+ {3036967200 3600 1 WEST}
+ {3055716000 0 0 WET}
+ {3068416800 3600 1 WEST}
+ {3087165600 0 0 WET}
+ {3099866400 3600 1 WEST}
+ {3118615200 0 0 WET}
+ {3131920800 3600 1 WEST}
+ {3150064800 0 0 WET}
+ {3163370400 3600 1 WEST}
+ {3181514400 0 0 WET}
+ {3194820000 3600 1 WEST}
+ {3212964000 0 0 WET}
+ {3226269600 3600 1 WEST}
+ {3245018400 0 0 WET}
+ {3257719200 3600 1 WEST}
+ {3276468000 0 0 WET}
+ {3289168800 3600 1 WEST}
+ {3307917600 0 0 WET}
+ {3321223200 3600 1 WEST}
+ {3339367200 0 0 WET}
+ {3352672800 3600 1 WEST}
+ {3370816800 0 0 WET}
+ {3384122400 3600 1 WEST}
+ {3402871200 0 0 WET}
+ {3415572000 3600 1 WEST}
+ {3434320800 0 0 WET}
+ {3447021600 3600 1 WEST}
+ {3465770400 0 0 WET}
+ {3479076000 3600 1 WEST}
+ {3497220000 0 0 WET}
+ {3510525600 3600 1 WEST}
+ {3528669600 0 0 WET}
+ {3541975200 3600 1 WEST}
+ {3560119200 0 0 WET}
+ {3573424800 3600 1 WEST}
+ {3592173600 0 0 WET}
+ {3604874400 3600 1 WEST}
+ {3623623200 0 0 WET}
+ {3636324000 3600 1 WEST}
+ {3655072800 0 0 WET}
+ {3668378400 3600 1 WEST}
+ {3686522400 0 0 WET}
+ {3699828000 3600 1 WEST}
+ {3717972000 0 0 WET}
+ {3731277600 3600 1 WEST}
+ {3750026400 0 0 WET}
+ {3762727200 3600 1 WEST}
+ {3781476000 0 0 WET}
+ {3794176800 3600 1 WEST}
+ {3812925600 0 0 WET}
+ {3825626400 3600 1 WEST}
+ {3844375200 0 0 WET}
+ {3857680800 3600 1 WEST}
+ {3875824800 0 0 WET}
+ {3889130400 3600 1 WEST}
+ {3907274400 0 0 WET}
+ {3920580000 3600 1 WEST}
+ {3939328800 0 0 WET}
+ {3952029600 3600 1 WEST}
+ {3970778400 0 0 WET}
+ {3983479200 3600 1 WEST}
+ {4002228000 0 0 WET}
+ {4015533600 3600 1 WEST}
+ {4033677600 0 0 WET}
+ {4046983200 3600 1 WEST}
+ {4065127200 0 0 WET}
+ {4078432800 3600 1 WEST}
+ {4096576800 0 0 WET}
}
diff --git a/library/tzdata/Africa/Juba b/library/tzdata/Africa/Juba
index 043d95f..40551f2 100644
--- a/library/tzdata/Africa/Juba
+++ b/library/tzdata/Africa/Juba
@@ -1,40 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Africa/Juba) {
- {-9223372036854775808 7588 0 LMT}
- {-1230775588 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}
- {1612126800 7200 0 CAT}
+if {![info exists TZData(Africa/Khartoum)]} {
+ LoadTimeZoneFile Africa/Khartoum
}
+set TZData(:Africa/Juba) $TZData(:Africa/Khartoum)
diff --git a/library/tzdata/Africa/Khartoum b/library/tzdata/Africa/Khartoum
index dc441f6..dfcac82 100644
--- a/library/tzdata/Africa/Khartoum
+++ b/library/tzdata/Africa/Khartoum
@@ -36,5 +36,4 @@ set TZData(:Africa/Khartoum) {
{483487200 10800 1 CAST}
{498171600 7200 0 CAT}
{947930400 10800 0 EAT}
- {1509483600 7200 0 CAT}
}
diff --git a/library/tzdata/Africa/Lagos b/library/tzdata/Africa/Lagos
index 8750661..079572f 100644
--- a/library/tzdata/Africa/Lagos
+++ b/library/tzdata/Africa/Lagos
@@ -1,9 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Africa/Lagos) {
- {-9223372036854775808 815 0 LMT}
- {-2035584815 0 0 GMT}
- {-1940889600 815 0 LMT}
- {-1767226415 1800 0 +0030}
- {-1588465800 3600 0 WAT}
+ {-9223372036854775808 816 0 LMT}
+ {-1588464816 3600 0 WAT}
}
diff --git a/library/tzdata/Africa/Monrovia b/library/tzdata/Africa/Monrovia
index 2b311bb..1cfff58 100644
--- a/library/tzdata/Africa/Monrovia
+++ b/library/tzdata/Africa/Monrovia
@@ -3,6 +3,6 @@
set TZData(:Africa/Monrovia) {
{-9223372036854775808 -2588 0 LMT}
{-2776979812 -2588 0 MMT}
- {-1604359012 -2670 0 MMT}
- {63593070 0 0 GMT}
+ {-1604359012 -2670 0 LRT}
+ {73529070 0 0 GMT}
}
diff --git a/library/tzdata/Africa/Nairobi b/library/tzdata/Africa/Nairobi
index b4c3b97..6846069 100644
--- a/library/tzdata/Africa/Nairobi
+++ b/library/tzdata/Africa/Nairobi
@@ -2,9 +2,8 @@
set TZData(:Africa/Nairobi) {
{-9223372036854775808 8836 0 LMT}
- {-1946168836 9000 0 +0230}
- {-1309746600 10800 0 EAT}
- {-1261969200 9000 0 +0230}
- {-1041388200 9900 0 +0245}
- {-865305900 10800 0 EAT}
+ {-1309746436 10800 0 EAT}
+ {-1262314800 9000 0 BEAT}
+ {-946780200 9900 0 BEAUT}
+ {-315629100 10800 0 EAT}
}
diff --git a/library/tzdata/Africa/Sao_Tome b/library/tzdata/Africa/Sao_Tome
index f2e3f0f..078591d 100644
--- a/library/tzdata/Africa/Sao_Tome
+++ b/library/tzdata/Africa/Sao_Tome
@@ -1,9 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Africa/Sao_Tome) {
- {-9223372036854775808 1616 0 LMT}
- {-2713912016 -2205 0 LMT}
- {-1830384000 0 0 GMT}
- {1514768400 3600 0 WAT}
- {1546304400 0 0 GMT}
+if {![info exists TZData(Africa/Abidjan)]} {
+ LoadTimeZoneFile Africa/Abidjan
}
+set TZData(:Africa/Sao_Tome) $TZData(:Africa/Abidjan)
diff --git a/library/tzdata/Africa/Windhoek b/library/tzdata/Africa/Windhoek
index d03c8b8..a655f2e 100644
--- a/library/tzdata/Africa/Windhoek
+++ b/library/tzdata/Africa/Windhoek
@@ -2,57 +2,221 @@
set TZData(:Africa/Windhoek) {
{-9223372036854775808 4104 0 LMT}
- {-2458170504 5400 0 +0130}
+ {-2458170504 5400 0 SWAT}
{-2109288600 7200 0 SAST}
{-860976000 10800 1 SAST}
{-845254800 7200 0 SAST}
{637970400 7200 0 CAT}
- {764200800 3600 1 WAT}
- {778640400 7200 0 CAT}
- {796780800 3600 1 WAT}
- {810090000 7200 0 CAT}
- {828835200 3600 1 WAT}
- {841539600 7200 0 CAT}
- {860284800 3600 1 WAT}
- {873594000 7200 0 CAT}
- {891734400 3600 1 WAT}
- {905043600 7200 0 CAT}
- {923184000 3600 1 WAT}
- {936493200 7200 0 CAT}
- {954633600 3600 1 WAT}
- {967942800 7200 0 CAT}
- {986083200 3600 1 WAT}
- {999392400 7200 0 CAT}
- {1018137600 3600 1 WAT}
- {1030842000 7200 0 CAT}
- {1049587200 3600 1 WAT}
- {1062896400 7200 0 CAT}
- {1081036800 3600 1 WAT}
- {1094346000 7200 0 CAT}
- {1112486400 3600 1 WAT}
- {1125795600 7200 0 CAT}
- {1143936000 3600 1 WAT}
- {1157245200 7200 0 CAT}
- {1175385600 3600 1 WAT}
- {1188694800 7200 0 CAT}
- {1207440000 3600 1 WAT}
- {1220749200 7200 0 CAT}
- {1238889600 3600 1 WAT}
- {1252198800 7200 0 CAT}
- {1270339200 3600 1 WAT}
- {1283648400 7200 0 CAT}
- {1301788800 3600 1 WAT}
- {1315098000 7200 0 CAT}
- {1333238400 3600 1 WAT}
- {1346547600 7200 0 CAT}
- {1365292800 3600 1 WAT}
- {1377997200 7200 0 CAT}
- {1396742400 3600 1 WAT}
- {1410051600 7200 0 CAT}
- {1428192000 3600 1 WAT}
- {1441501200 7200 0 CAT}
- {1459641600 3600 1 WAT}
- {1472950800 7200 0 CAT}
- {1491091200 3600 1 WAT}
- {1504400400 7200 0 CAT}
+ {765324000 3600 0 WAT}
+ {778640400 7200 1 WAST}
+ {796780800 3600 0 WAT}
+ {810090000 7200 1 WAST}
+ {828835200 3600 0 WAT}
+ {841539600 7200 1 WAST}
+ {860284800 3600 0 WAT}
+ {873594000 7200 1 WAST}
+ {891734400 3600 0 WAT}
+ {905043600 7200 1 WAST}
+ {923184000 3600 0 WAT}
+ {936493200 7200 1 WAST}
+ {954633600 3600 0 WAT}
+ {967942800 7200 1 WAST}
+ {986083200 3600 0 WAT}
+ {999392400 7200 1 WAST}
+ {1018137600 3600 0 WAT}
+ {1030842000 7200 1 WAST}
+ {1049587200 3600 0 WAT}
+ {1062896400 7200 1 WAST}
+ {1081036800 3600 0 WAT}
+ {1094346000 7200 1 WAST}
+ {1112486400 3600 0 WAT}
+ {1125795600 7200 1 WAST}
+ {1143936000 3600 0 WAT}
+ {1157245200 7200 1 WAST}
+ {1175385600 3600 0 WAT}
+ {1188694800 7200 1 WAST}
+ {1207440000 3600 0 WAT}
+ {1220749200 7200 1 WAST}
+ {1238889600 3600 0 WAT}
+ {1252198800 7200 1 WAST}
+ {1270339200 3600 0 WAT}
+ {1283648400 7200 1 WAST}
+ {1301788800 3600 0 WAT}
+ {1315098000 7200 1 WAST}
+ {1333238400 3600 0 WAT}
+ {1346547600 7200 1 WAST}
+ {1365292800 3600 0 WAT}
+ {1377997200 7200 1 WAST}
+ {1396742400 3600 0 WAT}
+ {1410051600 7200 1 WAST}
+ {1428192000 3600 0 WAT}
+ {1441501200 7200 1 WAST}
+ {1459641600 3600 0 WAT}
+ {1472950800 7200 1 WAST}
+ {1491091200 3600 0 WAT}
+ {1504400400 7200 1 WAST}
+ {1522540800 3600 0 WAT}
+ {1535850000 7200 1 WAST}
+ {1554595200 3600 0 WAT}
+ {1567299600 7200 1 WAST}
+ {1586044800 3600 0 WAT}
+ {1599354000 7200 1 WAST}
+ {1617494400 3600 0 WAT}
+ {1630803600 7200 1 WAST}
+ {1648944000 3600 0 WAT}
+ {1662253200 7200 1 WAST}
+ {1680393600 3600 0 WAT}
+ {1693702800 7200 1 WAST}
+ {1712448000 3600 0 WAT}
+ {1725152400 7200 1 WAST}
+ {1743897600 3600 0 WAT}
+ {1757206800 7200 1 WAST}
+ {1775347200 3600 0 WAT}
+ {1788656400 7200 1 WAST}
+ {1806796800 3600 0 WAT}
+ {1820106000 7200 1 WAST}
+ {1838246400 3600 0 WAT}
+ {1851555600 7200 1 WAST}
+ {1869696000 3600 0 WAT}
+ {1883005200 7200 1 WAST}
+ {1901750400 3600 0 WAT}
+ {1914454800 7200 1 WAST}
+ {1933200000 3600 0 WAT}
+ {1946509200 7200 1 WAST}
+ {1964649600 3600 0 WAT}
+ {1977958800 7200 1 WAST}
+ {1996099200 3600 0 WAT}
+ {2009408400 7200 1 WAST}
+ {2027548800 3600 0 WAT}
+ {2040858000 7200 1 WAST}
+ {2058998400 3600 0 WAT}
+ {2072307600 7200 1 WAST}
+ {2091052800 3600 0 WAT}
+ {2104362000 7200 1 WAST}
+ {2122502400 3600 0 WAT}
+ {2135811600 7200 1 WAST}
+ {2153952000 3600 0 WAT}
+ {2167261200 7200 1 WAST}
+ {2185401600 3600 0 WAT}
+ {2198710800 7200 1 WAST}
+ {2216851200 3600 0 WAT}
+ {2230160400 7200 1 WAST}
+ {2248905600 3600 0 WAT}
+ {2261610000 7200 1 WAST}
+ {2280355200 3600 0 WAT}
+ {2293664400 7200 1 WAST}
+ {2311804800 3600 0 WAT}
+ {2325114000 7200 1 WAST}
+ {2343254400 3600 0 WAT}
+ {2356563600 7200 1 WAST}
+ {2374704000 3600 0 WAT}
+ {2388013200 7200 1 WAST}
+ {2406153600 3600 0 WAT}
+ {2419462800 7200 1 WAST}
+ {2438208000 3600 0 WAT}
+ {2450912400 7200 1 WAST}
+ {2469657600 3600 0 WAT}
+ {2482966800 7200 1 WAST}
+ {2501107200 3600 0 WAT}
+ {2514416400 7200 1 WAST}
+ {2532556800 3600 0 WAT}
+ {2545866000 7200 1 WAST}
+ {2564006400 3600 0 WAT}
+ {2577315600 7200 1 WAST}
+ {2596060800 3600 0 WAT}
+ {2608765200 7200 1 WAST}
+ {2627510400 3600 0 WAT}
+ {2640819600 7200 1 WAST}
+ {2658960000 3600 0 WAT}
+ {2672269200 7200 1 WAST}
+ {2690409600 3600 0 WAT}
+ {2703718800 7200 1 WAST}
+ {2721859200 3600 0 WAT}
+ {2735168400 7200 1 WAST}
+ {2753308800 3600 0 WAT}
+ {2766618000 7200 1 WAST}
+ {2785363200 3600 0 WAT}
+ {2798067600 7200 1 WAST}
+ {2816812800 3600 0 WAT}
+ {2830122000 7200 1 WAST}
+ {2848262400 3600 0 WAT}
+ {2861571600 7200 1 WAST}
+ {2879712000 3600 0 WAT}
+ {2893021200 7200 1 WAST}
+ {2911161600 3600 0 WAT}
+ {2924470800 7200 1 WAST}
+ {2942611200 3600 0 WAT}
+ {2955920400 7200 1 WAST}
+ {2974665600 3600 0 WAT}
+ {2987974800 7200 1 WAST}
+ {3006115200 3600 0 WAT}
+ {3019424400 7200 1 WAST}
+ {3037564800 3600 0 WAT}
+ {3050874000 7200 1 WAST}
+ {3069014400 3600 0 WAT}
+ {3082323600 7200 1 WAST}
+ {3100464000 3600 0 WAT}
+ {3113773200 7200 1 WAST}
+ {3132518400 3600 0 WAT}
+ {3145222800 7200 1 WAST}
+ {3163968000 3600 0 WAT}
+ {3177277200 7200 1 WAST}
+ {3195417600 3600 0 WAT}
+ {3208726800 7200 1 WAST}
+ {3226867200 3600 0 WAT}
+ {3240176400 7200 1 WAST}
+ {3258316800 3600 0 WAT}
+ {3271626000 7200 1 WAST}
+ {3289766400 3600 0 WAT}
+ {3303075600 7200 1 WAST}
+ {3321820800 3600 0 WAT}
+ {3334525200 7200 1 WAST}
+ {3353270400 3600 0 WAT}
+ {3366579600 7200 1 WAST}
+ {3384720000 3600 0 WAT}
+ {3398029200 7200 1 WAST}
+ {3416169600 3600 0 WAT}
+ {3429478800 7200 1 WAST}
+ {3447619200 3600 0 WAT}
+ {3460928400 7200 1 WAST}
+ {3479673600 3600 0 WAT}
+ {3492378000 7200 1 WAST}
+ {3511123200 3600 0 WAT}
+ {3524432400 7200 1 WAST}
+ {3542572800 3600 0 WAT}
+ {3555882000 7200 1 WAST}
+ {3574022400 3600 0 WAT}
+ {3587331600 7200 1 WAST}
+ {3605472000 3600 0 WAT}
+ {3618781200 7200 1 WAST}
+ {3636921600 3600 0 WAT}
+ {3650230800 7200 1 WAST}
+ {3668976000 3600 0 WAT}
+ {3681680400 7200 1 WAST}
+ {3700425600 3600 0 WAT}
+ {3713734800 7200 1 WAST}
+ {3731875200 3600 0 WAT}
+ {3745184400 7200 1 WAST}
+ {3763324800 3600 0 WAT}
+ {3776634000 7200 1 WAST}
+ {3794774400 3600 0 WAT}
+ {3808083600 7200 1 WAST}
+ {3826224000 3600 0 WAT}
+ {3839533200 7200 1 WAST}
+ {3858278400 3600 0 WAT}
+ {3871587600 7200 1 WAST}
+ {3889728000 3600 0 WAT}
+ {3903037200 7200 1 WAST}
+ {3921177600 3600 0 WAT}
+ {3934486800 7200 1 WAST}
+ {3952627200 3600 0 WAT}
+ {3965936400 7200 1 WAST}
+ {3984076800 3600 0 WAT}
+ {3997386000 7200 1 WAST}
+ {4016131200 3600 0 WAT}
+ {4028835600 7200 1 WAST}
+ {4047580800 3600 0 WAT}
+ {4060890000 7200 1 WAST}
+ {4079030400 3600 0 WAT}
+ {4092339600 7200 1 WAST}
}
diff --git a/library/tzdata/America/Adak b/library/tzdata/America/Adak
index 04c4628..bd5d5ab 100644
--- a/library/tzdata/America/Adak
+++ b/library/tzdata/America/Adak
@@ -1,8 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Adak) {
- {-9223372036854775808 44002 0 LMT}
- {-3225223727 -42398 0 LMT}
+ {-9223372036854775808 44001 0 LMT}
+ {-3225356001 -42398 0 LMT}
{-2188944802 -39600 0 NST}
{-883573200 -39600 0 NST}
{-880196400 -36000 1 NWT}
diff --git a/library/tzdata/America/Anchorage b/library/tzdata/America/Anchorage
index c0ff8de..e02dd01 100644
--- a/library/tzdata/America/Anchorage
+++ b/library/tzdata/America/Anchorage
@@ -2,12 +2,13 @@
set TZData(:America/Anchorage) {
{-9223372036854775808 50424 0 LMT}
- {-3225223727 -35976 0 LMT}
- {-2188951224 -36000 0 AST}
- {-883576800 -36000 0 AST}
- {-880200000 -32400 1 AWT}
- {-769395600 -32400 1 APT}
- {-765378000 -36000 0 AST}
+ {-3225362424 -35976 0 LMT}
+ {-2188951224 -36000 0 CAT}
+ {-883576800 -36000 0 CAWT}
+ {-880200000 -32400 1 CAWT}
+ {-769395600 -32400 0 CAPT}
+ {-765378000 -36000 0 CAPT}
+ {-757346400 -36000 0 CAT}
{-86882400 -36000 0 AHST}
{-31500000 -36000 0 AHST}
{-21470400 -32400 1 AHDT}
diff --git a/library/tzdata/America/Anguilla b/library/tzdata/America/Anguilla
index 7d9c3a4..39a0d18 100644
--- a/library/tzdata/America/Anguilla
+++ b/library/tzdata/America/Anguilla
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/Anguilla) $TZData(:America/Puerto_Rico)
+set TZData(:America/Anguilla) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Antigua b/library/tzdata/America/Antigua
index ec55c4c..be0c88e 100644
--- a/library/tzdata/America/Antigua
+++ b/library/tzdata/America/Antigua
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/Antigua) $TZData(:America/Puerto_Rico)
+set TZData(:America/Antigua) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Araguaina b/library/tzdata/America/Araguaina
index ca64292..e4a0d52 100644
--- a/library/tzdata/America/Araguaina
+++ b/library/tzdata/America/Araguaina
@@ -2,59 +2,59 @@
set TZData(:America/Araguaina) {
{-9223372036854775808 -11568 0 LMT}
- {-1767214032 -10800 0 -03}
- {-1206957600 -7200 1 -03}
- {-1191362400 -10800 0 -03}
- {-1175374800 -7200 1 -03}
- {-1159826400 -10800 0 -03}
- {-633819600 -7200 1 -03}
- {-622069200 -10800 0 -03}
- {-602283600 -7200 1 -03}
- {-591832800 -10800 0 -03}
- {-570747600 -7200 1 -03}
- {-560210400 -10800 0 -03}
- {-539125200 -7200 1 -03}
- {-531352800 -10800 0 -03}
- {-191365200 -7200 1 -03}
- {-184197600 -10800 0 -03}
- {-155163600 -7200 1 -03}
- {-150069600 -10800 0 -03}
- {-128898000 -7200 1 -03}
- {-121125600 -10800 0 -03}
- {-99954000 -7200 1 -03}
- {-89589600 -10800 0 -03}
- {-68418000 -7200 1 -03}
- {-57967200 -10800 0 -03}
- {499748400 -7200 1 -03}
- {511236000 -10800 0 -03}
- {530593200 -7200 1 -03}
- {540266400 -10800 0 -03}
- {562129200 -7200 1 -03}
- {571197600 -10800 0 -03}
- {592974000 -7200 1 -03}
- {602042400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {634701600 -10800 0 -03}
- {653536800 -10800 0 -03}
- {811047600 -10800 0 -03}
- {813726000 -7200 1 -03}
- {824004000 -10800 0 -03}
- {844570800 -7200 1 -03}
- {856058400 -10800 0 -03}
- {876106800 -7200 1 -03}
- {888717600 -10800 0 -03}
- {908074800 -7200 1 -03}
- {919562400 -10800 0 -03}
- {938919600 -7200 1 -03}
- {951616800 -10800 0 -03}
- {970974000 -7200 1 -03}
- {982461600 -10800 0 -03}
- {1003028400 -7200 1 -03}
- {1013911200 -10800 0 -03}
- {1036292400 -7200 1 -03}
- {1045360800 -10800 0 -03}
- {1064368800 -10800 0 -03}
- {1350788400 -7200 0 -03}
- {1361066400 -10800 0 -03}
- {1378000800 -10800 0 -03}
+ {-1767214032 -10800 0 BRT}
+ {-1206957600 -7200 1 BRST}
+ {-1191362400 -10800 0 BRT}
+ {-1175374800 -7200 1 BRST}
+ {-1159826400 -10800 0 BRT}
+ {-633819600 -7200 1 BRST}
+ {-622069200 -10800 0 BRT}
+ {-602283600 -7200 1 BRST}
+ {-591832800 -10800 0 BRT}
+ {-570747600 -7200 1 BRST}
+ {-560210400 -10800 0 BRT}
+ {-539125200 -7200 1 BRST}
+ {-531352800 -10800 0 BRT}
+ {-191365200 -7200 1 BRST}
+ {-184197600 -10800 0 BRT}
+ {-155163600 -7200 1 BRST}
+ {-150069600 -10800 0 BRT}
+ {-128898000 -7200 1 BRST}
+ {-121125600 -10800 0 BRT}
+ {-99954000 -7200 1 BRST}
+ {-89589600 -10800 0 BRT}
+ {-68418000 -7200 1 BRST}
+ {-57967200 -10800 0 BRT}
+ {499748400 -7200 1 BRST}
+ {511236000 -10800 0 BRT}
+ {530593200 -7200 1 BRST}
+ {540266400 -10800 0 BRT}
+ {562129200 -7200 1 BRST}
+ {571197600 -10800 0 BRT}
+ {592974000 -7200 1 BRST}
+ {602042400 -10800 0 BRT}
+ {624423600 -7200 1 BRST}
+ {634701600 -10800 0 BRT}
+ {653536800 -10800 0 BRT}
+ {811047600 -10800 0 BRT}
+ {813726000 -7200 1 BRST}
+ {824004000 -10800 0 BRT}
+ {844570800 -7200 1 BRST}
+ {856058400 -10800 0 BRT}
+ {876106800 -7200 1 BRST}
+ {888717600 -10800 0 BRT}
+ {908074800 -7200 1 BRST}
+ {919562400 -10800 0 BRT}
+ {938919600 -7200 1 BRST}
+ {951616800 -10800 0 BRT}
+ {970974000 -7200 1 BRST}
+ {982461600 -10800 0 BRT}
+ {1003028400 -7200 1 BRST}
+ {1013911200 -10800 0 BRT}
+ {1036292400 -7200 1 BRST}
+ {1045360800 -10800 0 BRT}
+ {1064368800 -10800 0 BRT}
+ {1350788400 -7200 0 BRST}
+ {1361066400 -10800 0 BRT}
+ {1378000800 -10800 0 BRT}
}
diff --git a/library/tzdata/America/Argentina/Buenos_Aires b/library/tzdata/America/Argentina/Buenos_Aires
index 40f1912..73cc8e9 100644
--- a/library/tzdata/America/Argentina/Buenos_Aires
+++ b/library/tzdata/America/Argentina/Buenos_Aires
@@ -3,65 +3,65 @@
set TZData(:America/Argentina/Buenos_Aires) {
{-9223372036854775808 -14028 0 LMT}
{-2372097972 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667965600 -10800 0 -03}
- {687927600 -7200 1 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224385200 -7200 1 -03}
- {1237082400 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -10800 0 ART}
+ {656478000 -7200 1 ARST}
+ {667965600 -10800 0 ART}
+ {687927600 -7200 1 ARST}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224385200 -7200 1 ARST}
+ {1237082400 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/Catamarca b/library/tzdata/America/Argentina/Catamarca
index da5b42a..7739203 100644
--- a/library/tzdata/America/Argentina/Catamarca
+++ b/library/tzdata/America/Argentina/Catamarca
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/Catamarca) {
{-9223372036854775808 -15788 0 LMT}
{-2372096212 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667965600 -14400 0 -04}
- {687931200 -7200 0 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1086058800 -14400 0 -04}
- {1087704000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224295200 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -10800 0 ART}
+ {656478000 -7200 1 ARST}
+ {667965600 -14400 0 WART}
+ {687931200 -7200 0 ARST}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1086058800 -14400 0 WART}
+ {1087704000 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224295200 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/Cordoba b/library/tzdata/America/Argentina/Cordoba
index 6a1426e..b08539e 100644
--- a/library/tzdata/America/Argentina/Cordoba
+++ b/library/tzdata/America/Argentina/Cordoba
@@ -3,65 +3,65 @@
set TZData(:America/Argentina/Cordoba) {
{-9223372036854775808 -15408 0 LMT}
{-2372096592 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667965600 -14400 0 -04}
- {687931200 -7200 0 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224385200 -7200 1 -03}
- {1237082400 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -10800 0 ART}
+ {656478000 -7200 1 ARST}
+ {667965600 -14400 0 WART}
+ {687931200 -7200 0 ARST}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224385200 -7200 1 ARST}
+ {1237082400 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/Jujuy b/library/tzdata/America/Argentina/Jujuy
index 72080f5..4f95f8a 100644
--- a/library/tzdata/America/Argentina/Jujuy
+++ b/library/tzdata/America/Argentina/Jujuy
@@ -3,65 +3,65 @@
set TZData(:America/Argentina/Jujuy) {
{-9223372036854775808 -15672 0 LMT}
{-2372096328 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -14400 0 -04}
- {657086400 -10800 1 -03}
- {669178800 -14400 0 -04}
- {686721600 -7200 1 -02}
- {694231200 -7200 0 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224295200 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -14400 0 WART}
+ {657086400 -10800 1 WARST}
+ {669178800 -14400 0 WART}
+ {686721600 -7200 1 ARST}
+ {694231200 -7200 0 ART}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224295200 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/La_Rioja b/library/tzdata/America/Argentina/La_Rioja
index fb7b237..835e29d 100644
--- a/library/tzdata/America/Argentina/La_Rioja
+++ b/library/tzdata/America/Argentina/La_Rioja
@@ -3,67 +3,67 @@
set TZData(:America/Argentina/La_Rioja) {
{-9223372036854775808 -16044 0 LMT}
{-2372095956 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667792800 -14400 0 -04}
- {673588800 -10800 0 -03}
- {687927600 -7200 1 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1086058800 -14400 0 -04}
- {1087704000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224295200 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -10800 0 ART}
+ {656478000 -7200 1 ARST}
+ {667792800 -14400 0 WART}
+ {673588800 -10800 0 ART}
+ {687927600 -7200 1 ARST}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1086058800 -14400 0 WART}
+ {1087704000 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224295200 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/Mendoza b/library/tzdata/America/Argentina/Mendoza
index af7342e..2c6fb58 100644
--- a/library/tzdata/America/Argentina/Mendoza
+++ b/library/tzdata/America/Argentina/Mendoza
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/Mendoza) {
{-9223372036854775808 -16516 0 LMT}
{-2372095484 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -14400 0 -04}
- {655963200 -10800 1 -03}
- {667796400 -14400 0 -04}
- {687499200 -10800 1 -03}
- {699418800 -14400 0 -04}
- {719380800 -7200 0 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1085281200 -14400 0 -04}
- {1096171200 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224295200 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -14400 0 WART}
+ {655963200 -10800 1 WARST}
+ {667796400 -14400 0 WART}
+ {687499200 -10800 1 WARST}
+ {699418800 -14400 0 WART}
+ {719380800 -7200 0 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1085281200 -14400 0 WART}
+ {1096171200 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224295200 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/Rio_Gallegos b/library/tzdata/America/Argentina/Rio_Gallegos
index 2a197a4..91d37dd 100644
--- a/library/tzdata/America/Argentina/Rio_Gallegos
+++ b/library/tzdata/America/Argentina/Rio_Gallegos
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/Rio_Gallegos) {
{-9223372036854775808 -16612 0 LMT}
{-2372095388 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667965600 -10800 0 -03}
- {687927600 -7200 1 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1086058800 -14400 0 -04}
- {1087704000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224295200 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -10800 0 ART}
+ {656478000 -7200 1 ARST}
+ {667965600 -10800 0 ART}
+ {687927600 -7200 1 ARST}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1086058800 -14400 0 WART}
+ {1087704000 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224295200 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/Salta b/library/tzdata/America/Argentina/Salta
index d49e82f..a5a7010 100644
--- a/library/tzdata/America/Argentina/Salta
+++ b/library/tzdata/America/Argentina/Salta
@@ -3,64 +3,64 @@
set TZData(:America/Argentina/Salta) {
{-9223372036854775808 -15700 0 LMT}
{-2372096300 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667965600 -14400 0 -04}
- {687931200 -7200 0 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224295200 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -10800 0 ART}
+ {656478000 -7200 1 ARST}
+ {667965600 -14400 0 WART}
+ {687931200 -7200 0 ARST}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224295200 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/San_Juan b/library/tzdata/America/Argentina/San_Juan
index d67f688..417e234 100644
--- a/library/tzdata/America/Argentina/San_Juan
+++ b/library/tzdata/America/Argentina/San_Juan
@@ -3,67 +3,67 @@
set TZData(:America/Argentina/San_Juan) {
{-9223372036854775808 -16444 0 LMT}
{-2372095556 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667792800 -14400 0 -04}
- {673588800 -10800 0 -03}
- {687927600 -7200 1 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1085972400 -14400 0 -04}
- {1090728000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224295200 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -10800 0 ART}
+ {656478000 -7200 1 ARST}
+ {667792800 -14400 0 WART}
+ {673588800 -10800 0 ART}
+ {687927600 -7200 1 ARST}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1085972400 -14400 0 WART}
+ {1090728000 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224295200 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/San_Luis b/library/tzdata/America/Argentina/San_Luis
index 4d27c32..8ca55d7 100644
--- a/library/tzdata/America/Argentina/San_Luis
+++ b/library/tzdata/America/Argentina/San_Luis
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/San_Luis) {
{-9223372036854775808 -15924 0 LMT}
{-2372096076 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {631159200 -7200 1 -02}
- {637380000 -14400 0 -04}
- {655963200 -10800 1 -03}
- {667796400 -14400 0 -04}
- {675748800 -10800 0 -03}
- {938919600 -10800 1 -03}
- {952052400 -10800 0 -03}
- {1085972400 -14400 0 -04}
- {1090728000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1200880800 -10800 0 -04}
- {1205031600 -14400 0 -04}
- {1223784000 -10800 1 -04}
- {1236481200 -14400 0 -04}
- {1255233600 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {631159200 -7200 1 ARST}
+ {637380000 -14400 0 WART}
+ {655963200 -10800 1 WARST}
+ {667796400 -14400 0 WART}
+ {675748800 -10800 0 ART}
+ {938919600 -10800 1 WARST}
+ {952052400 -10800 0 ART}
+ {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 0 ART}
}
diff --git a/library/tzdata/America/Argentina/Tucuman b/library/tzdata/America/Argentina/Tucuman
index 6809800..3500986 100644
--- a/library/tzdata/America/Argentina/Tucuman
+++ b/library/tzdata/America/Argentina/Tucuman
@@ -3,67 +3,67 @@
set TZData(:America/Argentina/Tucuman) {
{-9223372036854775808 -15652 0 LMT}
{-2372096348 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667965600 -14400 0 -04}
- {687931200 -7200 0 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1086058800 -14400 0 -04}
- {1087099200 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224385200 -7200 1 -03}
- {1237082400 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -10800 0 ART}
+ {656478000 -7200 1 ARST}
+ {667965600 -14400 0 WART}
+ {687931200 -7200 0 ARST}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1086058800 -14400 0 WART}
+ {1087099200 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224385200 -7200 1 ARST}
+ {1237082400 -10800 0 ART}
}
diff --git a/library/tzdata/America/Argentina/Ushuaia b/library/tzdata/America/Argentina/Ushuaia
index c62ca0d..4fcf92d 100644
--- a/library/tzdata/America/Argentina/Ushuaia
+++ b/library/tzdata/America/Argentina/Ushuaia
@@ -3,66 +3,66 @@
set TZData(:America/Argentina/Ushuaia) {
{-9223372036854775808 -16392 0 LMT}
{-2372095608 -15408 0 CMT}
- {-1567453392 -14400 0 -04}
- {-1233432000 -10800 0 -04}
- {-1222981200 -14400 0 -04}
- {-1205956800 -10800 1 -04}
- {-1194037200 -14400 0 -04}
- {-1172865600 -10800 1 -04}
- {-1162501200 -14400 0 -04}
- {-1141329600 -10800 1 -04}
- {-1130965200 -14400 0 -04}
- {-1109793600 -10800 1 -04}
- {-1099429200 -14400 0 -04}
- {-1078257600 -10800 1 -04}
- {-1067806800 -14400 0 -04}
- {-1046635200 -10800 1 -04}
- {-1036270800 -14400 0 -04}
- {-1015099200 -10800 1 -04}
- {-1004734800 -14400 0 -04}
- {-983563200 -10800 1 -04}
- {-973198800 -14400 0 -04}
- {-952027200 -10800 1 -04}
- {-941576400 -14400 0 -04}
- {-931032000 -10800 1 -04}
- {-900882000 -14400 0 -04}
- {-890337600 -10800 1 -04}
- {-833749200 -14400 0 -04}
- {-827265600 -10800 1 -04}
- {-752274000 -14400 0 -04}
- {-733780800 -10800 1 -04}
- {-197326800 -14400 0 -04}
- {-190843200 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-164491200 -10800 1 -04}
- {-152658000 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {596948400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {636516000 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667965600 -10800 0 -03}
- {687927600 -7200 1 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {731469600 -10800 0 -03}
- {938916000 -10800 0 -04}
- {938919600 -10800 1 -04}
- {952056000 -10800 0 -03}
- {1085886000 -14400 0 -04}
- {1087704000 -10800 0 -03}
- {1198983600 -7200 1 -03}
- {1205632800 -10800 0 -03}
- {1224295200 -10800 0 -03}
+ {-1567453392 -14400 0 ART}
+ {-1233432000 -10800 0 ARST}
+ {-1222981200 -14400 0 ART}
+ {-1205956800 -10800 1 ARST}
+ {-1194037200 -14400 0 ART}
+ {-1172865600 -10800 1 ARST}
+ {-1162501200 -14400 0 ART}
+ {-1141329600 -10800 1 ARST}
+ {-1130965200 -14400 0 ART}
+ {-1109793600 -10800 1 ARST}
+ {-1099429200 -14400 0 ART}
+ {-1078257600 -10800 1 ARST}
+ {-1067806800 -14400 0 ART}
+ {-1046635200 -10800 1 ARST}
+ {-1036270800 -14400 0 ART}
+ {-1015099200 -10800 1 ARST}
+ {-1004734800 -14400 0 ART}
+ {-983563200 -10800 1 ARST}
+ {-973198800 -14400 0 ART}
+ {-952027200 -10800 1 ARST}
+ {-941576400 -14400 0 ART}
+ {-931032000 -10800 1 ARST}
+ {-900882000 -14400 0 ART}
+ {-890337600 -10800 1 ARST}
+ {-833749200 -14400 0 ART}
+ {-827265600 -10800 1 ARST}
+ {-752274000 -14400 0 ART}
+ {-733780800 -10800 1 ARST}
+ {-197326800 -14400 0 ART}
+ {-190843200 -10800 1 ARST}
+ {-184194000 -14400 0 ART}
+ {-164491200 -10800 1 ARST}
+ {-152658000 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {596948400 -7200 1 ARST}
+ {605066400 -10800 0 ART}
+ {624423600 -7200 1 ARST}
+ {636516000 -10800 0 ART}
+ {656478000 -7200 1 ARST}
+ {667965600 -10800 0 ART}
+ {687927600 -7200 1 ARST}
+ {699415200 -10800 0 ART}
+ {719377200 -7200 1 ARST}
+ {731469600 -10800 0 ART}
+ {938916000 -10800 0 ART}
+ {938919600 -10800 1 ARST}
+ {952056000 -10800 0 ART}
+ {1085886000 -14400 0 WART}
+ {1087704000 -10800 0 ART}
+ {1198983600 -7200 1 ARST}
+ {1205632800 -10800 0 ART}
+ {1224295200 -10800 0 ART}
}
diff --git a/library/tzdata/America/Aruba b/library/tzdata/America/Aruba
index 800032f..e02d5fc 100644
--- a/library/tzdata/America/Aruba
+++ b/library/tzdata/America/Aruba
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Curacao)]} {
+ LoadTimeZoneFile America/Curacao
}
-set TZData(:America/Aruba) $TZData(:America/Puerto_Rico)
+set TZData(:America/Aruba) $TZData(:America/Curacao)
diff --git a/library/tzdata/America/Asuncion b/library/tzdata/America/Asuncion
index 8e6c1b0..9ea30da 100644
--- a/library/tzdata/America/Asuncion
+++ b/library/tzdata/America/Asuncion
@@ -3,257 +3,257 @@
set TZData(:America/Asuncion) {
{-9223372036854775808 -13840 0 LMT}
{-2524507760 -13840 0 AMT}
- {-1206389360 -14400 0 -04}
- {86760000 -10800 0 -03}
- {134017200 -14400 0 -04}
- {162878400 -14400 0 -04}
- {181368000 -10800 1 -04}
- {194497200 -14400 0 -04}
- {212990400 -10800 1 -04}
- {226033200 -14400 0 -04}
- {244526400 -10800 1 -04}
- {257569200 -14400 0 -04}
- {276062400 -10800 1 -04}
- {291783600 -14400 0 -04}
- {307598400 -10800 1 -04}
- {323406000 -14400 0 -04}
- {339220800 -10800 1 -04}
- {354942000 -14400 0 -04}
- {370756800 -10800 1 -04}
- {386478000 -14400 0 -04}
- {402292800 -10800 1 -04}
- {418014000 -14400 0 -04}
- {433828800 -10800 1 -04}
- {449636400 -14400 0 -04}
- {465451200 -10800 1 -04}
- {481172400 -14400 0 -04}
- {496987200 -10800 1 -04}
- {512708400 -14400 0 -04}
- {528523200 -10800 1 -04}
- {544244400 -14400 0 -04}
- {560059200 -10800 1 -04}
- {575866800 -14400 0 -04}
- {591681600 -10800 1 -04}
- {607402800 -14400 0 -04}
- {625032000 -10800 1 -04}
- {638938800 -14400 0 -04}
- {654753600 -10800 1 -04}
- {670474800 -14400 0 -04}
- {686721600 -10800 1 -04}
- {699418800 -14400 0 -04}
- {718257600 -10800 1 -04}
- {733546800 -14400 0 -04}
- {749448000 -10800 1 -04}
- {762318000 -14400 0 -04}
- {780984000 -10800 1 -04}
- {793767600 -14400 0 -04}
- {812520000 -10800 1 -04}
- {825649200 -14400 0 -04}
- {844574400 -10800 1 -04}
- {856666800 -14400 0 -04}
- {876024000 -10800 1 -04}
- {888721200 -14400 0 -04}
- {907473600 -10800 1 -04}
- {920775600 -14400 0 -04}
- {938923200 -10800 1 -04}
- {952225200 -14400 0 -04}
- {970372800 -10800 1 -04}
- {983674800 -14400 0 -04}
- {1002427200 -10800 1 -04}
- {1018148400 -14400 0 -04}
- {1030852800 -10800 1 -04}
- {1049598000 -14400 0 -04}
- {1062907200 -10800 1 -04}
- {1081047600 -14400 0 -04}
- {1097985600 -10800 1 -04}
- {1110682800 -14400 0 -04}
- {1129435200 -10800 1 -04}
- {1142132400 -14400 0 -04}
- {1160884800 -10800 1 -04}
- {1173582000 -14400 0 -04}
- {1192939200 -10800 1 -04}
- {1205031600 -14400 0 -04}
- {1224388800 -10800 1 -04}
- {1236481200 -14400 0 -04}
- {1255838400 -10800 1 -04}
- {1270954800 -14400 0 -04}
- {1286078400 -10800 1 -04}
- {1302404400 -14400 0 -04}
- {1317528000 -10800 1 -04}
- {1333854000 -14400 0 -04}
- {1349582400 -10800 1 -04}
- {1364094000 -14400 0 -04}
- {1381032000 -10800 1 -04}
- {1395543600 -14400 0 -04}
- {1412481600 -10800 1 -04}
- {1426993200 -14400 0 -04}
- {1443931200 -10800 1 -04}
- {1459047600 -14400 0 -04}
- {1475380800 -10800 1 -04}
- {1490497200 -14400 0 -04}
- {1506830400 -10800 1 -04}
- {1521946800 -14400 0 -04}
- {1538884800 -10800 1 -04}
- {1553396400 -14400 0 -04}
- {1570334400 -10800 1 -04}
- {1584846000 -14400 0 -04}
- {1601784000 -10800 1 -04}
- {1616900400 -14400 0 -04}
- {1633233600 -10800 1 -04}
- {1648350000 -14400 0 -04}
- {1664683200 -10800 1 -04}
- {1679799600 -14400 0 -04}
- {1696132800 -10800 1 -04}
- {1711249200 -14400 0 -04}
- {1728187200 -10800 1 -04}
- {1742698800 -14400 0 -04}
- {1759636800 -10800 1 -04}
- {1774148400 -14400 0 -04}
- {1791086400 -10800 1 -04}
- {1806202800 -14400 0 -04}
- {1822536000 -10800 1 -04}
- {1837652400 -14400 0 -04}
- {1853985600 -10800 1 -04}
- {1869102000 -14400 0 -04}
- {1886040000 -10800 1 -04}
- {1900551600 -14400 0 -04}
- {1917489600 -10800 1 -04}
- {1932001200 -14400 0 -04}
- {1948939200 -10800 1 -04}
- {1964055600 -14400 0 -04}
- {1980388800 -10800 1 -04}
- {1995505200 -14400 0 -04}
- {2011838400 -10800 1 -04}
- {2026954800 -14400 0 -04}
- {2043288000 -10800 1 -04}
- {2058404400 -14400 0 -04}
- {2075342400 -10800 1 -04}
- {2089854000 -14400 0 -04}
- {2106792000 -10800 1 -04}
- {2121303600 -14400 0 -04}
- {2138241600 -10800 1 -04}
- {2153358000 -14400 0 -04}
- {2169691200 -10800 1 -04}
- {2184807600 -14400 0 -04}
- {2201140800 -10800 1 -04}
- {2216257200 -14400 0 -04}
- {2233195200 -10800 1 -04}
- {2247706800 -14400 0 -04}
- {2264644800 -10800 1 -04}
- {2279156400 -14400 0 -04}
- {2296094400 -10800 1 -04}
- {2310606000 -14400 0 -04}
- {2327544000 -10800 1 -04}
- {2342660400 -14400 0 -04}
- {2358993600 -10800 1 -04}
- {2374110000 -14400 0 -04}
- {2390443200 -10800 1 -04}
- {2405559600 -14400 0 -04}
- {2422497600 -10800 1 -04}
- {2437009200 -14400 0 -04}
- {2453947200 -10800 1 -04}
- {2468458800 -14400 0 -04}
- {2485396800 -10800 1 -04}
- {2500513200 -14400 0 -04}
- {2516846400 -10800 1 -04}
- {2531962800 -14400 0 -04}
- {2548296000 -10800 1 -04}
- {2563412400 -14400 0 -04}
- {2579745600 -10800 1 -04}
- {2594862000 -14400 0 -04}
- {2611800000 -10800 1 -04}
- {2626311600 -14400 0 -04}
- {2643249600 -10800 1 -04}
- {2657761200 -14400 0 -04}
- {2674699200 -10800 1 -04}
- {2689815600 -14400 0 -04}
- {2706148800 -10800 1 -04}
- {2721265200 -14400 0 -04}
- {2737598400 -10800 1 -04}
- {2752714800 -14400 0 -04}
- {2769652800 -10800 1 -04}
- {2784164400 -14400 0 -04}
- {2801102400 -10800 1 -04}
- {2815614000 -14400 0 -04}
- {2832552000 -10800 1 -04}
- {2847668400 -14400 0 -04}
- {2864001600 -10800 1 -04}
- {2879118000 -14400 0 -04}
- {2895451200 -10800 1 -04}
- {2910567600 -14400 0 -04}
- {2926900800 -10800 1 -04}
- {2942017200 -14400 0 -04}
- {2958955200 -10800 1 -04}
- {2973466800 -14400 0 -04}
- {2990404800 -10800 1 -04}
- {3004916400 -14400 0 -04}
- {3021854400 -10800 1 -04}
- {3036970800 -14400 0 -04}
- {3053304000 -10800 1 -04}
- {3068420400 -14400 0 -04}
- {3084753600 -10800 1 -04}
- {3099870000 -14400 0 -04}
- {3116808000 -10800 1 -04}
- {3131319600 -14400 0 -04}
- {3148257600 -10800 1 -04}
- {3162769200 -14400 0 -04}
- {3179707200 -10800 1 -04}
- {3194218800 -14400 0 -04}
- {3211156800 -10800 1 -04}
- {3226273200 -14400 0 -04}
- {3242606400 -10800 1 -04}
- {3257722800 -14400 0 -04}
- {3274056000 -10800 1 -04}
- {3289172400 -14400 0 -04}
- {3306110400 -10800 1 -04}
- {3320622000 -14400 0 -04}
- {3337560000 -10800 1 -04}
- {3352071600 -14400 0 -04}
- {3369009600 -10800 1 -04}
- {3384126000 -14400 0 -04}
- {3400459200 -10800 1 -04}
- {3415575600 -14400 0 -04}
- {3431908800 -10800 1 -04}
- {3447025200 -14400 0 -04}
- {3463358400 -10800 1 -04}
- {3478474800 -14400 0 -04}
- {3495412800 -10800 1 -04}
- {3509924400 -14400 0 -04}
- {3526862400 -10800 1 -04}
- {3541374000 -14400 0 -04}
- {3558312000 -10800 1 -04}
- {3573428400 -14400 0 -04}
- {3589761600 -10800 1 -04}
- {3604878000 -14400 0 -04}
- {3621211200 -10800 1 -04}
- {3636327600 -14400 0 -04}
- {3653265600 -10800 1 -04}
- {3667777200 -14400 0 -04}
- {3684715200 -10800 1 -04}
- {3699226800 -14400 0 -04}
- {3716164800 -10800 1 -04}
- {3731281200 -14400 0 -04}
- {3747614400 -10800 1 -04}
- {3762730800 -14400 0 -04}
- {3779064000 -10800 1 -04}
- {3794180400 -14400 0 -04}
- {3810513600 -10800 1 -04}
- {3825630000 -14400 0 -04}
- {3842568000 -10800 1 -04}
- {3857079600 -14400 0 -04}
- {3874017600 -10800 1 -04}
- {3888529200 -14400 0 -04}
- {3905467200 -10800 1 -04}
- {3920583600 -14400 0 -04}
- {3936916800 -10800 1 -04}
- {3952033200 -14400 0 -04}
- {3968366400 -10800 1 -04}
- {3983482800 -14400 0 -04}
- {4000420800 -10800 1 -04}
- {4014932400 -14400 0 -04}
- {4031870400 -10800 1 -04}
- {4046382000 -14400 0 -04}
- {4063320000 -10800 1 -04}
- {4077831600 -14400 0 -04}
- {4094769600 -10800 1 -04}
+ {-1206389360 -14400 0 PYT}
+ {86760000 -10800 0 PYT}
+ {134017200 -14400 0 PYT}
+ {162878400 -14400 0 PYT}
+ {181368000 -10800 1 PYST}
+ {194497200 -14400 0 PYT}
+ {212990400 -10800 1 PYST}
+ {226033200 -14400 0 PYT}
+ {244526400 -10800 1 PYST}
+ {257569200 -14400 0 PYT}
+ {276062400 -10800 1 PYST}
+ {291783600 -14400 0 PYT}
+ {307598400 -10800 1 PYST}
+ {323406000 -14400 0 PYT}
+ {339220800 -10800 1 PYST}
+ {354942000 -14400 0 PYT}
+ {370756800 -10800 1 PYST}
+ {386478000 -14400 0 PYT}
+ {402292800 -10800 1 PYST}
+ {418014000 -14400 0 PYT}
+ {433828800 -10800 1 PYST}
+ {449636400 -14400 0 PYT}
+ {465451200 -10800 1 PYST}
+ {481172400 -14400 0 PYT}
+ {496987200 -10800 1 PYST}
+ {512708400 -14400 0 PYT}
+ {528523200 -10800 1 PYST}
+ {544244400 -14400 0 PYT}
+ {560059200 -10800 1 PYST}
+ {575866800 -14400 0 PYT}
+ {591681600 -10800 1 PYST}
+ {607402800 -14400 0 PYT}
+ {625032000 -10800 1 PYST}
+ {638938800 -14400 0 PYT}
+ {654753600 -10800 1 PYST}
+ {670474800 -14400 0 PYT}
+ {686721600 -10800 1 PYST}
+ {699418800 -14400 0 PYT}
+ {718257600 -10800 1 PYST}
+ {733546800 -14400 0 PYT}
+ {749448000 -10800 1 PYST}
+ {762318000 -14400 0 PYT}
+ {780984000 -10800 1 PYST}
+ {793767600 -14400 0 PYT}
+ {812520000 -10800 1 PYST}
+ {825649200 -14400 0 PYT}
+ {844574400 -10800 1 PYST}
+ {856666800 -14400 0 PYT}
+ {876024000 -10800 1 PYST}
+ {888721200 -14400 0 PYT}
+ {907473600 -10800 1 PYST}
+ {920775600 -14400 0 PYT}
+ {938923200 -10800 1 PYST}
+ {952225200 -14400 0 PYT}
+ {970372800 -10800 1 PYST}
+ {983674800 -14400 0 PYT}
+ {1002427200 -10800 1 PYST}
+ {1018148400 -14400 0 PYT}
+ {1030852800 -10800 1 PYST}
+ {1049598000 -14400 0 PYT}
+ {1062907200 -10800 1 PYST}
+ {1081047600 -14400 0 PYT}
+ {1097985600 -10800 1 PYST}
+ {1110682800 -14400 0 PYT}
+ {1129435200 -10800 1 PYST}
+ {1142132400 -14400 0 PYT}
+ {1160884800 -10800 1 PYST}
+ {1173582000 -14400 0 PYT}
+ {1192939200 -10800 1 PYST}
+ {1205031600 -14400 0 PYT}
+ {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}
}
diff --git a/library/tzdata/America/Atikokan b/library/tzdata/America/Atikokan
index 0f7e4dd..e72b04f 100644
--- a/library/tzdata/America/Atikokan
+++ b/library/tzdata/America/Atikokan
@@ -1,5 +1,12 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Panama)]} {
- LoadTimeZoneFile America/Panama
+
+set TZData(:America/Atikokan) {
+ {-9223372036854775808 -21988 0 LMT}
+ {-2366733212 -21600 0 CST}
+ {-1632067200 -18000 1 CDT}
+ {-1615136400 -21600 0 CST}
+ {-923248800 -18000 1 CDT}
+ {-880214400 -18000 0 CWT}
+ {-769395600 -18000 1 CPT}
+ {-765388800 -18000 0 EST}
}
-set TZData(:America/Atikokan) $TZData(:America/Panama)
diff --git a/library/tzdata/America/Bahia b/library/tzdata/America/Bahia
index 7aaf834..ac67b71 100644
--- a/library/tzdata/America/Bahia
+++ b/library/tzdata/America/Bahia
@@ -2,67 +2,67 @@
set TZData(:America/Bahia) {
{-9223372036854775808 -9244 0 LMT}
- {-1767216356 -10800 0 -03}
- {-1206957600 -7200 1 -03}
- {-1191362400 -10800 0 -03}
- {-1175374800 -7200 1 -03}
- {-1159826400 -10800 0 -03}
- {-633819600 -7200 1 -03}
- {-622069200 -10800 0 -03}
- {-602283600 -7200 1 -03}
- {-591832800 -10800 0 -03}
- {-570747600 -7200 1 -03}
- {-560210400 -10800 0 -03}
- {-539125200 -7200 1 -03}
- {-531352800 -10800 0 -03}
- {-191365200 -7200 1 -03}
- {-184197600 -10800 0 -03}
- {-155163600 -7200 1 -03}
- {-150069600 -10800 0 -03}
- {-128898000 -7200 1 -03}
- {-121125600 -10800 0 -03}
- {-99954000 -7200 1 -03}
- {-89589600 -10800 0 -03}
- {-68418000 -7200 1 -03}
- {-57967200 -10800 0 -03}
- {499748400 -7200 1 -03}
- {511236000 -10800 0 -03}
- {530593200 -7200 1 -03}
- {540266400 -10800 0 -03}
- {562129200 -7200 1 -03}
- {571197600 -10800 0 -03}
- {592974000 -7200 1 -03}
- {602042400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {634701600 -10800 0 -03}
- {656478000 -7200 1 -03}
- {666756000 -10800 0 -03}
- {687927600 -7200 1 -03}
- {697600800 -10800 0 -03}
- {719982000 -7200 1 -03}
- {728445600 -10800 0 -03}
- {750826800 -7200 1 -03}
- {761709600 -10800 0 -03}
- {782276400 -7200 1 -03}
- {793159200 -10800 0 -03}
- {813726000 -7200 1 -03}
- {824004000 -10800 0 -03}
- {844570800 -7200 1 -03}
- {856058400 -10800 0 -03}
- {876106800 -7200 1 -03}
- {888717600 -10800 0 -03}
- {908074800 -7200 1 -03}
- {919562400 -10800 0 -03}
- {938919600 -7200 1 -03}
- {951616800 -10800 0 -03}
- {970974000 -7200 1 -03}
- {982461600 -10800 0 -03}
- {1003028400 -7200 1 -03}
- {1013911200 -10800 0 -03}
- {1036292400 -7200 1 -03}
- {1045360800 -10800 0 -03}
- {1064368800 -10800 0 -03}
- {1318734000 -7200 0 -03}
- {1330221600 -10800 0 -03}
- {1350784800 -10800 0 -03}
+ {-1767216356 -10800 0 BRT}
+ {-1206957600 -7200 1 BRST}
+ {-1191362400 -10800 0 BRT}
+ {-1175374800 -7200 1 BRST}
+ {-1159826400 -10800 0 BRT}
+ {-633819600 -7200 1 BRST}
+ {-622069200 -10800 0 BRT}
+ {-602283600 -7200 1 BRST}
+ {-591832800 -10800 0 BRT}
+ {-570747600 -7200 1 BRST}
+ {-560210400 -10800 0 BRT}
+ {-539125200 -7200 1 BRST}
+ {-531352800 -10800 0 BRT}
+ {-191365200 -7200 1 BRST}
+ {-184197600 -10800 0 BRT}
+ {-155163600 -7200 1 BRST}
+ {-150069600 -10800 0 BRT}
+ {-128898000 -7200 1 BRST}
+ {-121125600 -10800 0 BRT}
+ {-99954000 -7200 1 BRST}
+ {-89589600 -10800 0 BRT}
+ {-68418000 -7200 1 BRST}
+ {-57967200 -10800 0 BRT}
+ {499748400 -7200 1 BRST}
+ {511236000 -10800 0 BRT}
+ {530593200 -7200 1 BRST}
+ {540266400 -10800 0 BRT}
+ {562129200 -7200 1 BRST}
+ {571197600 -10800 0 BRT}
+ {592974000 -7200 1 BRST}
+ {602042400 -10800 0 BRT}
+ {624423600 -7200 1 BRST}
+ {634701600 -10800 0 BRT}
+ {656478000 -7200 1 BRST}
+ {666756000 -10800 0 BRT}
+ {687927600 -7200 1 BRST}
+ {697600800 -10800 0 BRT}
+ {719982000 -7200 1 BRST}
+ {728445600 -10800 0 BRT}
+ {750826800 -7200 1 BRST}
+ {761709600 -10800 0 BRT}
+ {782276400 -7200 1 BRST}
+ {793159200 -10800 0 BRT}
+ {813726000 -7200 1 BRST}
+ {824004000 -10800 0 BRT}
+ {844570800 -7200 1 BRST}
+ {856058400 -10800 0 BRT}
+ {876106800 -7200 1 BRST}
+ {888717600 -10800 0 BRT}
+ {908074800 -7200 1 BRST}
+ {919562400 -10800 0 BRT}
+ {938919600 -7200 1 BRST}
+ {951616800 -10800 0 BRT}
+ {970974000 -7200 1 BRST}
+ {982461600 -10800 0 BRT}
+ {1003028400 -7200 1 BRST}
+ {1013911200 -10800 0 BRT}
+ {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
index cdcc4b3..8c40a0e 100644
--- a/library/tzdata/America/Bahia_Banderas
+++ b/library/tzdata/America/Bahia_Banderas
@@ -5,7 +5,7 @@ set TZData(:America/Bahia_Banderas) {
{-1514739600 -25200 0 MST}
{-1343066400 -21600 0 CST}
{-1234807200 -25200 0 MST}
- {-1220292000 -21600 1 MDT}
+ {-1220292000 -21600 0 CST}
{-1207159200 -25200 0 MST}
{-1191344400 -21600 0 CST}
{-873828000 -25200 0 MST}
@@ -65,4 +65,158 @@ set TZData(:America/Bahia_Banderas) {
{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 f074683..ea17073 100644
--- a/library/tzdata/America/Barbados
+++ b/library/tzdata/America/Barbados
@@ -2,15 +2,8 @@
set TZData(:America/Barbados) {
{-9223372036854775808 -14309 0 LMT}
- {-1841256091 -14400 0 AST}
- {-874263600 -10800 1 ADT}
- {-862682400 -14400 0 AST}
- {-841604400 -10800 1 ADT}
- {-830714400 -14400 0 AST}
- {-820526400 -14400 0 -0330}
- {-811882800 -12600 1 AST}
- {-798660000 -14400 0 -0330}
- {-788904000 -14400 0 AST}
+ {-1451678491 -14309 0 BMT}
+ {-1199217691 -14400 0 AST}
{234943200 -10800 1 ADT}
{244616400 -14400 0 AST}
{261554400 -10800 1 ADT}
diff --git a/library/tzdata/America/Belem b/library/tzdata/America/Belem
index 42a3ec5..ed92fd1 100644
--- a/library/tzdata/America/Belem
+++ b/library/tzdata/America/Belem
@@ -2,34 +2,34 @@
set TZData(:America/Belem) {
{-9223372036854775808 -11636 0 LMT}
- {-1767213964 -10800 0 -03}
- {-1206957600 -7200 1 -03}
- {-1191362400 -10800 0 -03}
- {-1175374800 -7200 1 -03}
- {-1159826400 -10800 0 -03}
- {-633819600 -7200 1 -03}
- {-622069200 -10800 0 -03}
- {-602283600 -7200 1 -03}
- {-591832800 -10800 0 -03}
- {-570747600 -7200 1 -03}
- {-560210400 -10800 0 -03}
- {-539125200 -7200 1 -03}
- {-531352800 -10800 0 -03}
- {-191365200 -7200 1 -03}
- {-184197600 -10800 0 -03}
- {-155163600 -7200 1 -03}
- {-150069600 -10800 0 -03}
- {-128898000 -7200 1 -03}
- {-121125600 -10800 0 -03}
- {-99954000 -7200 1 -03}
- {-89589600 -10800 0 -03}
- {-68418000 -7200 1 -03}
- {-57967200 -10800 0 -03}
- {499748400 -7200 1 -03}
- {511236000 -10800 0 -03}
- {530593200 -7200 1 -03}
- {540266400 -10800 0 -03}
- {562129200 -7200 1 -03}
- {571197600 -10800 0 -03}
- {590032800 -10800 0 -03}
+ {-1767213964 -10800 0 BRT}
+ {-1206957600 -7200 1 BRST}
+ {-1191362400 -10800 0 BRT}
+ {-1175374800 -7200 1 BRST}
+ {-1159826400 -10800 0 BRT}
+ {-633819600 -7200 1 BRST}
+ {-622069200 -10800 0 BRT}
+ {-602283600 -7200 1 BRST}
+ {-591832800 -10800 0 BRT}
+ {-570747600 -7200 1 BRST}
+ {-560210400 -10800 0 BRT}
+ {-539125200 -7200 1 BRST}
+ {-531352800 -10800 0 BRT}
+ {-191365200 -7200 1 BRST}
+ {-184197600 -10800 0 BRT}
+ {-155163600 -7200 1 BRST}
+ {-150069600 -10800 0 BRT}
+ {-128898000 -7200 1 BRST}
+ {-121125600 -10800 0 BRT}
+ {-99954000 -7200 1 BRST}
+ {-89589600 -10800 0 BRT}
+ {-68418000 -7200 1 BRST}
+ {-57967200 -10800 0 BRT}
+ {499748400 -7200 1 BRST}
+ {511236000 -10800 0 BRT}
+ {530593200 -7200 1 BRST}
+ {540266400 -10800 0 BRT}
+ {562129200 -7200 1 BRST}
+ {571197600 -10800 0 BRT}
+ {590032800 -10800 0 BRT}
}
diff --git a/library/tzdata/America/Belize b/library/tzdata/America/Belize
index 3b3f9e4..547fd72 100644
--- a/library/tzdata/America/Belize
+++ b/library/tzdata/America/Belize
@@ -3,99 +3,56 @@
set TZData(:America/Belize) {
{-9223372036854775808 -21168 0 LMT}
{-1822500432 -21600 0 CST}
- {-1616954400 -19800 1 -0530}
+ {-1616954400 -19800 1 CHDT}
{-1606069800 -21600 0 CST}
- {-1585504800 -19800 1 -0530}
+ {-1585504800 -19800 1 CHDT}
{-1574015400 -21600 0 CST}
- {-1554055200 -19800 1 -0530}
+ {-1554055200 -19800 1 CHDT}
{-1542565800 -21600 0 CST}
- {-1522605600 -19800 1 -0530}
+ {-1522605600 -19800 1 CHDT}
{-1511116200 -21600 0 CST}
- {-1490551200 -19800 1 -0530}
+ {-1490551200 -19800 1 CHDT}
{-1479666600 -21600 0 CST}
- {-1459101600 -19800 1 -0530}
+ {-1459101600 -19800 1 CHDT}
{-1448217000 -21600 0 CST}
- {-1427652000 -19800 1 -0530}
+ {-1427652000 -19800 1 CHDT}
{-1416162600 -21600 0 CST}
- {-1396202400 -19800 1 -0530}
+ {-1396202400 -19800 1 CHDT}
{-1384713000 -21600 0 CST}
- {-1364752800 -19800 1 -0530}
+ {-1364752800 -19800 1 CHDT}
{-1353263400 -21600 0 CST}
- {-1333303200 -19800 1 -0530}
+ {-1333303200 -19800 1 CHDT}
{-1321813800 -21600 0 CST}
- {-1301248800 -19800 1 -0530}
+ {-1301248800 -19800 1 CHDT}
{-1290364200 -21600 0 CST}
- {-1269799200 -19800 1 -0530}
+ {-1269799200 -19800 1 CHDT}
{-1258914600 -21600 0 CST}
- {-1238349600 -19800 1 -0530}
+ {-1238349600 -19800 1 CHDT}
{-1226860200 -21600 0 CST}
- {-1206900000 -19800 1 -0530}
+ {-1206900000 -19800 1 CHDT}
{-1195410600 -21600 0 CST}
- {-1175450400 -19800 1 -0530}
+ {-1175450400 -19800 1 CHDT}
{-1163961000 -21600 0 CST}
- {-1143396000 -19800 1 -0530}
+ {-1143396000 -19800 1 CHDT}
{-1132511400 -21600 0 CST}
- {-1111946400 -19800 1 -0530}
+ {-1111946400 -19800 1 CHDT}
{-1101061800 -21600 0 CST}
- {-1080496800 -19800 1 -0530}
+ {-1080496800 -19800 1 CHDT}
{-1069612200 -21600 0 CST}
- {-1049047200 -19800 1 -0530}
+ {-1049047200 -19800 1 CHDT}
{-1037557800 -21600 0 CST}
- {-1017597600 -19800 1 -0530}
+ {-1017597600 -19800 1 CHDT}
{-1006108200 -21600 0 CST}
- {-986148000 -19800 1 -0530}
+ {-986148000 -19800 1 CHDT}
{-974658600 -21600 0 CST}
- {-954093600 -19800 1 -0530}
+ {-954093600 -19800 1 CHDT}
{-943209000 -21600 0 CST}
- {-922644000 -19800 1 -0530}
+ {-922644000 -19800 1 CHDT}
{-911759400 -21600 0 CST}
- {-891194400 -19800 1 -0530}
+ {-891194400 -19800 1 CHDT}
{-879705000 -21600 0 CST}
- {-868212000 -18000 1 CWT}
- {-769395600 -18000 1 CPT}
- {-758746800 -21600 0 CST}
- {-701892000 -19800 1 -0530}
- {-690402600 -21600 0 CST}
- {-670442400 -19800 1 -0530}
- {-658953000 -21600 0 CST}
- {-638992800 -19800 1 -0530}
- {-627503400 -21600 0 CST}
- {-606938400 -19800 1 -0530}
- {-596053800 -21600 0 CST}
- {-575488800 -19800 1 -0530}
- {-564604200 -21600 0 CST}
- {-544039200 -19800 1 -0530}
- {-532549800 -21600 0 CST}
- {-512589600 -19800 1 -0530}
- {-501100200 -21600 0 CST}
- {-481140000 -19800 1 -0530}
- {-469650600 -21600 0 CST}
- {-449690400 -19800 1 -0530}
- {-438201000 -21600 0 CST}
- {-417636000 -19800 1 -0530}
- {-406751400 -21600 0 CST}
- {-386186400 -19800 1 -0530}
- {-375301800 -21600 0 CST}
- {-354736800 -19800 1 -0530}
- {-343247400 -21600 0 CST}
- {-323287200 -19800 1 -0530}
- {-311797800 -21600 0 CST}
- {-291837600 -19800 1 -0530}
- {-280348200 -21600 0 CST}
- {-259783200 -19800 1 -0530}
- {-248898600 -21600 0 CST}
- {-228333600 -19800 1 -0530}
- {-217449000 -21600 0 CST}
- {-196884000 -19800 1 -0530}
- {-185999400 -21600 0 CST}
- {-165434400 -19800 1 -0530}
- {-153945000 -21600 0 CST}
- {-133984800 -19800 1 -0530}
- {-122495400 -21600 0 CST}
- {-102535200 -19800 1 -0530}
- {-91045800 -21600 0 CST}
- {-70480800 -19800 1 -0530}
- {-59596200 -21600 0 CST}
+ {-859744800 -19800 1 CHDT}
+ {-848255400 -21600 0 CST}
{123919200 -18000 1 CDT}
{129618000 -21600 0 CST}
{409039200 -18000 1 CDT}
diff --git a/library/tzdata/America/Blanc-Sablon b/library/tzdata/America/Blanc-Sablon
index 55db591..d5485e8 100644
--- a/library/tzdata/America/Blanc-Sablon
+++ b/library/tzdata/America/Blanc-Sablon
@@ -1,5 +1,12 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+
+set TZData(:America/Blanc-Sablon) {
+ {-9223372036854775808 -13708 0 LMT}
+ {-2713896692 -14400 0 AST}
+ {-1632074400 -10800 1 ADT}
+ {-1615143600 -14400 0 AST}
+ {-880221600 -10800 1 AWT}
+ {-769395600 -10800 1 APT}
+ {-765399600 -14400 0 AST}
+ {14400 -14400 0 AST}
}
-set TZData(:America/Blanc-Sablon) $TZData(:America/Puerto_Rico)
diff --git a/library/tzdata/America/Boa_Vista b/library/tzdata/America/Boa_Vista
index 0af989e..c85bc27 100644
--- a/library/tzdata/America/Boa_Vista
+++ b/library/tzdata/America/Boa_Vista
@@ -2,39 +2,39 @@
set TZData(:America/Boa_Vista) {
{-9223372036854775808 -14560 0 LMT}
- {-1767211040 -14400 0 -04}
- {-1206954000 -10800 1 -04}
- {-1191358800 -14400 0 -04}
- {-1175371200 -10800 1 -04}
- {-1159822800 -14400 0 -04}
- {-633816000 -10800 1 -04}
- {-622065600 -14400 0 -04}
- {-602280000 -10800 1 -04}
- {-591829200 -14400 0 -04}
- {-570744000 -10800 1 -04}
- {-560206800 -14400 0 -04}
- {-539121600 -10800 1 -04}
- {-531349200 -14400 0 -04}
- {-191361600 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-155160000 -10800 1 -04}
- {-150066000 -14400 0 -04}
- {-128894400 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-99950400 -10800 1 -04}
- {-89586000 -14400 0 -04}
- {-68414400 -10800 1 -04}
- {-57963600 -14400 0 -04}
- {499752000 -10800 1 -04}
- {511239600 -14400 0 -04}
- {530596800 -10800 1 -04}
- {540270000 -14400 0 -04}
- {562132800 -10800 1 -04}
- {571201200 -14400 0 -04}
- {590036400 -14400 0 -04}
- {938664000 -14400 0 -04}
- {938923200 -10800 1 -04}
- {951620400 -14400 0 -04}
- {970977600 -10800 1 -04}
- {971578800 -14400 0 -04}
+ {-1767211040 -14400 0 AMT}
+ {-1206954000 -10800 1 AMST}
+ {-1191358800 -14400 0 AMT}
+ {-1175371200 -10800 1 AMST}
+ {-1159822800 -14400 0 AMT}
+ {-633816000 -10800 1 AMST}
+ {-622065600 -14400 0 AMT}
+ {-602280000 -10800 1 AMST}
+ {-591829200 -14400 0 AMT}
+ {-570744000 -10800 1 AMST}
+ {-560206800 -14400 0 AMT}
+ {-539121600 -10800 1 AMST}
+ {-531349200 -14400 0 AMT}
+ {-191361600 -10800 1 AMST}
+ {-184194000 -14400 0 AMT}
+ {-155160000 -10800 1 AMST}
+ {-150066000 -14400 0 AMT}
+ {-128894400 -10800 1 AMST}
+ {-121122000 -14400 0 AMT}
+ {-99950400 -10800 1 AMST}
+ {-89586000 -14400 0 AMT}
+ {-68414400 -10800 1 AMST}
+ {-57963600 -14400 0 AMT}
+ {499752000 -10800 1 AMST}
+ {511239600 -14400 0 AMT}
+ {530596800 -10800 1 AMST}
+ {540270000 -14400 0 AMT}
+ {562132800 -10800 1 AMST}
+ {571201200 -14400 0 AMT}
+ {590036400 -14400 0 AMT}
+ {938664000 -14400 0 AMT}
+ {938923200 -10800 1 AMST}
+ {951620400 -14400 0 AMT}
+ {970977600 -10800 1 AMST}
+ {971578800 -14400 0 AMT}
}
diff --git a/library/tzdata/America/Bogota b/library/tzdata/America/Bogota
index ae7b53e..b28abc1 100644
--- a/library/tzdata/America/Bogota
+++ b/library/tzdata/America/Bogota
@@ -3,7 +3,7 @@
set TZData(:America/Bogota) {
{-9223372036854775808 -17776 0 LMT}
{-2707671824 -17776 0 BMT}
- {-1739041424 -18000 0 -05}
- {704869200 -14400 1 -05}
- {729057600 -18000 0 -05}
+ {-1739041424 -18000 0 COT}
+ {704869200 -14400 1 COST}
+ {733896000 -18000 0 COT}
}
diff --git a/library/tzdata/America/Cambridge_Bay b/library/tzdata/America/Cambridge_Bay
index 584ed83..23004bb 100644
--- a/library/tzdata/America/Cambridge_Bay
+++ b/library/tzdata/America/Cambridge_Bay
@@ -1,27 +1,13 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Cambridge_Bay) {
- {-9223372036854775808 0 0 -00}
+ {-9223372036854775808 0 0 zzz}
{-1577923200 -25200 0 MST}
{-880210800 -21600 1 MWT}
{-769395600 -21600 1 MPT}
{-765388800 -25200 0 MST}
- {73472400 -21600 1 MDT}
- {89193600 -25200 0 MST}
- {104922000 -21600 1 MDT}
- {120643200 -25200 0 MST}
- {136371600 -21600 1 MDT}
- {152092800 -25200 0 MST}
- {167821200 -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}
+ {-147891600 -18000 1 MDDT}
+ {-131562000 -25200 0 MST}
{325674000 -21600 1 MDT}
{341395200 -25200 0 MST}
{357123600 -21600 1 MDT}
diff --git a/library/tzdata/America/Campo_Grande b/library/tzdata/America/Campo_Grande
index 904c27d..2cafe14 100644
--- a/library/tzdata/America/Campo_Grande
+++ b/library/tzdata/America/Campo_Grande
@@ -2,95 +2,256 @@
set TZData(:America/Campo_Grande) {
{-9223372036854775808 -13108 0 LMT}
- {-1767212492 -14400 0 -04}
- {-1206954000 -10800 1 -04}
- {-1191358800 -14400 0 -04}
- {-1175371200 -10800 1 -04}
- {-1159822800 -14400 0 -04}
- {-633816000 -10800 1 -04}
- {-622065600 -14400 0 -04}
- {-602280000 -10800 1 -04}
- {-591829200 -14400 0 -04}
- {-570744000 -10800 1 -04}
- {-560206800 -14400 0 -04}
- {-539121600 -10800 1 -04}
- {-531349200 -14400 0 -04}
- {-191361600 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-155160000 -10800 1 -04}
- {-150066000 -14400 0 -04}
- {-128894400 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-99950400 -10800 1 -04}
- {-89586000 -14400 0 -04}
- {-68414400 -10800 1 -04}
- {-57963600 -14400 0 -04}
- {499752000 -10800 1 -04}
- {511239600 -14400 0 -04}
- {530596800 -10800 1 -04}
- {540270000 -14400 0 -04}
- {562132800 -10800 1 -04}
- {571201200 -14400 0 -04}
- {592977600 -10800 1 -04}
- {602046000 -14400 0 -04}
- {624427200 -10800 1 -04}
- {634705200 -14400 0 -04}
- {656481600 -10800 1 -04}
- {666759600 -14400 0 -04}
- {687931200 -10800 1 -04}
- {697604400 -14400 0 -04}
- {719985600 -10800 1 -04}
- {728449200 -14400 0 -04}
- {750830400 -10800 1 -04}
- {761713200 -14400 0 -04}
- {782280000 -10800 1 -04}
- {793162800 -14400 0 -04}
- {813729600 -10800 1 -04}
- {824007600 -14400 0 -04}
- {844574400 -10800 1 -04}
- {856062000 -14400 0 -04}
- {876110400 -10800 1 -04}
- {888721200 -14400 0 -04}
- {908078400 -10800 1 -04}
- {919566000 -14400 0 -04}
- {938923200 -10800 1 -04}
- {951620400 -14400 0 -04}
- {970977600 -10800 1 -04}
- {982465200 -14400 0 -04}
- {1003032000 -10800 1 -04}
- {1013914800 -14400 0 -04}
- {1036296000 -10800 1 -04}
- {1045364400 -14400 0 -04}
- {1066536000 -10800 1 -04}
- {1076814000 -14400 0 -04}
- {1099368000 -10800 1 -04}
- {1108868400 -14400 0 -04}
- {1129435200 -10800 1 -04}
- {1140318000 -14400 0 -04}
- {1162699200 -10800 1 -04}
- {1172372400 -14400 0 -04}
- {1192334400 -10800 1 -04}
- {1203217200 -14400 0 -04}
- {1224388800 -10800 1 -04}
- {1234666800 -14400 0 -04}
- {1255838400 -10800 1 -04}
- {1266721200 -14400 0 -04}
- {1287288000 -10800 1 -04}
- {1298170800 -14400 0 -04}
- {1318737600 -10800 1 -04}
- {1330225200 -14400 0 -04}
- {1350792000 -10800 1 -04}
- {1361070000 -14400 0 -04}
- {1382241600 -10800 1 -04}
- {1392519600 -14400 0 -04}
- {1413691200 -10800 1 -04}
- {1424574000 -14400 0 -04}
- {1445140800 -10800 1 -04}
- {1456023600 -14400 0 -04}
- {1476590400 -10800 1 -04}
- {1487473200 -14400 0 -04}
- {1508040000 -10800 1 -04}
- {1518922800 -14400 0 -04}
- {1541304000 -10800 1 -04}
- {1550372400 -14400 0 -04}
+ {-1767212492 -14400 0 AMT}
+ {-1206954000 -10800 1 AMST}
+ {-1191358800 -14400 0 AMT}
+ {-1175371200 -10800 1 AMST}
+ {-1159822800 -14400 0 AMT}
+ {-633816000 -10800 1 AMST}
+ {-622065600 -14400 0 AMT}
+ {-602280000 -10800 1 AMST}
+ {-591829200 -14400 0 AMT}
+ {-570744000 -10800 1 AMST}
+ {-560206800 -14400 0 AMT}
+ {-539121600 -10800 1 AMST}
+ {-531349200 -14400 0 AMT}
+ {-191361600 -10800 1 AMST}
+ {-184194000 -14400 0 AMT}
+ {-155160000 -10800 1 AMST}
+ {-150066000 -14400 0 AMT}
+ {-128894400 -10800 1 AMST}
+ {-121122000 -14400 0 AMT}
+ {-99950400 -10800 1 AMST}
+ {-89586000 -14400 0 AMT}
+ {-68414400 -10800 1 AMST}
+ {-57963600 -14400 0 AMT}
+ {499752000 -10800 1 AMST}
+ {511239600 -14400 0 AMT}
+ {530596800 -10800 1 AMST}
+ {540270000 -14400 0 AMT}
+ {562132800 -10800 1 AMST}
+ {571201200 -14400 0 AMT}
+ {592977600 -10800 1 AMST}
+ {602046000 -14400 0 AMT}
+ {624427200 -10800 1 AMST}
+ {634705200 -14400 0 AMT}
+ {656481600 -10800 1 AMST}
+ {666759600 -14400 0 AMT}
+ {687931200 -10800 1 AMST}
+ {697604400 -14400 0 AMT}
+ {719985600 -10800 1 AMST}
+ {728449200 -14400 0 AMT}
+ {750830400 -10800 1 AMST}
+ {761713200 -14400 0 AMT}
+ {782280000 -10800 1 AMST}
+ {793162800 -14400 0 AMT}
+ {813729600 -10800 1 AMST}
+ {824007600 -14400 0 AMT}
+ {844574400 -10800 1 AMST}
+ {856062000 -14400 0 AMT}
+ {876110400 -10800 1 AMST}
+ {888721200 -14400 0 AMT}
+ {908078400 -10800 1 AMST}
+ {919566000 -14400 0 AMT}
+ {938923200 -10800 1 AMST}
+ {951620400 -14400 0 AMT}
+ {970977600 -10800 1 AMST}
+ {982465200 -14400 0 AMT}
+ {1003032000 -10800 1 AMST}
+ {1013914800 -14400 0 AMT}
+ {1036296000 -10800 1 AMST}
+ {1045364400 -14400 0 AMT}
+ {1066536000 -10800 1 AMST}
+ {1076814000 -14400 0 AMT}
+ {1099368000 -10800 1 AMST}
+ {1108868400 -14400 0 AMT}
+ {1129435200 -10800 1 AMST}
+ {1140318000 -14400 0 AMT}
+ {1162699200 -10800 1 AMST}
+ {1172372400 -14400 0 AMT}
+ {1192334400 -10800 1 AMST}
+ {1203217200 -14400 0 AMT}
+ {1224388800 -10800 1 AMST}
+ {1234666800 -14400 0 AMT}
+ {1255838400 -10800 1 AMST}
+ {1266721200 -14400 0 AMT}
+ {1287288000 -10800 1 AMST}
+ {1298170800 -14400 0 AMT}
+ {1318737600 -10800 1 AMST}
+ {1330225200 -14400 0 AMT}
+ {1350792000 -10800 1 AMST}
+ {1361070000 -14400 0 AMT}
+ {1382241600 -10800 1 AMST}
+ {1392519600 -14400 0 AMT}
+ {1413691200 -10800 1 AMST}
+ {1424574000 -14400 0 AMT}
+ {1445140800 -10800 1 AMST}
+ {1456023600 -14400 0 AMT}
+ {1476590400 -10800 1 AMST}
+ {1487473200 -14400 0 AMT}
+ {1508040000 -10800 1 AMST}
+ {1518922800 -14400 0 AMT}
+ {1540094400 -10800 1 AMST}
+ {1550372400 -14400 0 AMT}
+ {1571544000 -10800 1 AMST}
+ {1581822000 -14400 0 AMT}
+ {1602993600 -10800 1 AMST}
+ {1613876400 -14400 0 AMT}
+ {1634443200 -10800 1 AMST}
+ {1645326000 -14400 0 AMT}
+ {1665892800 -10800 1 AMST}
+ {1677380400 -14400 0 AMT}
+ {1697342400 -10800 1 AMST}
+ {1708225200 -14400 0 AMT}
+ {1729396800 -10800 1 AMST}
+ {1739674800 -14400 0 AMT}
+ {1760846400 -10800 1 AMST}
+ {1771729200 -14400 0 AMT}
+ {1792296000 -10800 1 AMST}
+ {1803178800 -14400 0 AMT}
+ {1823745600 -10800 1 AMST}
+ {1834628400 -14400 0 AMT}
+ {1855195200 -10800 1 AMST}
+ {1866078000 -14400 0 AMT}
+ {1887249600 -10800 1 AMST}
+ {1897527600 -14400 0 AMT}
+ {1918699200 -10800 1 AMST}
+ {1928977200 -14400 0 AMT}
+ {1950148800 -10800 1 AMST}
+ {1960426800 -14400 0 AMT}
+ {1981598400 -10800 1 AMST}
+ {1992481200 -14400 0 AMT}
+ {2013048000 -10800 1 AMST}
+ {2024535600 -14400 0 AMT}
+ {2044497600 -10800 1 AMST}
+ {2055380400 -14400 0 AMT}
+ {2076552000 -10800 1 AMST}
+ {2086830000 -14400 0 AMT}
+ {2108001600 -10800 1 AMST}
+ {2118884400 -14400 0 AMT}
+ {2139451200 -10800 1 AMST}
+ {2150334000 -14400 0 AMT}
+ {2170900800 -10800 1 AMST}
+ {2181783600 -14400 0 AMT}
+ {2202350400 -10800 1 AMST}
+ {2213233200 -14400 0 AMT}
+ {2234404800 -10800 1 AMST}
+ {2244682800 -14400 0 AMT}
+ {2265854400 -10800 1 AMST}
+ {2276132400 -14400 0 AMT}
+ {2297304000 -10800 1 AMST}
+ {2307582000 -14400 0 AMT}
+ {2328753600 -10800 1 AMST}
+ {2339636400 -14400 0 AMT}
+ {2360203200 -10800 1 AMST}
+ {2371086000 -14400 0 AMT}
+ {2391652800 -10800 1 AMST}
+ {2402535600 -14400 0 AMT}
+ {2423707200 -10800 1 AMST}
+ {2433985200 -14400 0 AMT}
+ {2455156800 -10800 1 AMST}
+ {2465434800 -14400 0 AMT}
+ {2486606400 -10800 1 AMST}
+ {2497489200 -14400 0 AMT}
+ {2518056000 -10800 1 AMST}
+ {2528938800 -14400 0 AMT}
+ {2549505600 -10800 1 AMST}
+ {2560388400 -14400 0 AMT}
+ {2580955200 -10800 1 AMST}
+ {2591838000 -14400 0 AMT}
+ {2613009600 -10800 1 AMST}
+ {2623287600 -14400 0 AMT}
+ {2644459200 -10800 1 AMST}
+ {2654737200 -14400 0 AMT}
+ {2675908800 -10800 1 AMST}
+ {2686791600 -14400 0 AMT}
+ {2707358400 -10800 1 AMST}
+ {2718241200 -14400 0 AMT}
+ {2738808000 -10800 1 AMST}
+ {2749690800 -14400 0 AMT}
+ {2770862400 -10800 1 AMST}
+ {2781140400 -14400 0 AMT}
+ {2802312000 -10800 1 AMST}
+ {2812590000 -14400 0 AMT}
+ {2833761600 -10800 1 AMST}
+ {2844039600 -14400 0 AMT}
+ {2865211200 -10800 1 AMST}
+ {2876094000 -14400 0 AMT}
+ {2896660800 -10800 1 AMST}
+ {2907543600 -14400 0 AMT}
+ {2928110400 -10800 1 AMST}
+ {2938993200 -14400 0 AMT}
+ {2960164800 -10800 1 AMST}
+ {2970442800 -14400 0 AMT}
+ {2991614400 -10800 1 AMST}
+ {3001892400 -14400 0 AMT}
+ {3023064000 -10800 1 AMST}
+ {3033946800 -14400 0 AMT}
+ {3054513600 -10800 1 AMST}
+ {3065396400 -14400 0 AMT}
+ {3085963200 -10800 1 AMST}
+ {3096846000 -14400 0 AMT}
+ {3118017600 -10800 1 AMST}
+ {3128295600 -14400 0 AMT}
+ {3149467200 -10800 1 AMST}
+ {3159745200 -14400 0 AMT}
+ {3180916800 -10800 1 AMST}
+ {3191194800 -14400 0 AMT}
+ {3212366400 -10800 1 AMST}
+ {3223249200 -14400 0 AMT}
+ {3243816000 -10800 1 AMST}
+ {3254698800 -14400 0 AMT}
+ {3275265600 -10800 1 AMST}
+ {3286148400 -14400 0 AMT}
+ {3307320000 -10800 1 AMST}
+ {3317598000 -14400 0 AMT}
+ {3338769600 -10800 1 AMST}
+ {3349047600 -14400 0 AMT}
+ {3370219200 -10800 1 AMST}
+ {3381102000 -14400 0 AMT}
+ {3401668800 -10800 1 AMST}
+ {3412551600 -14400 0 AMT}
+ {3433118400 -10800 1 AMST}
+ {3444001200 -14400 0 AMT}
+ {3464568000 -10800 1 AMST}
+ {3475450800 -14400 0 AMT}
+ {3496622400 -10800 1 AMST}
+ {3506900400 -14400 0 AMT}
+ {3528072000 -10800 1 AMST}
+ {3538350000 -14400 0 AMT}
+ {3559521600 -10800 1 AMST}
+ {3570404400 -14400 0 AMT}
+ {3590971200 -10800 1 AMST}
+ {3601854000 -14400 0 AMT}
+ {3622420800 -10800 1 AMST}
+ {3633303600 -14400 0 AMT}
+ {3654475200 -10800 1 AMST}
+ {3664753200 -14400 0 AMT}
+ {3685924800 -10800 1 AMST}
+ {3696202800 -14400 0 AMT}
+ {3717374400 -10800 1 AMST}
+ {3727652400 -14400 0 AMT}
+ {3748824000 -10800 1 AMST}
+ {3759706800 -14400 0 AMT}
+ {3780273600 -10800 1 AMST}
+ {3791156400 -14400 0 AMT}
+ {3811723200 -10800 1 AMST}
+ {3822606000 -14400 0 AMT}
+ {3843777600 -10800 1 AMST}
+ {3854055600 -14400 0 AMT}
+ {3875227200 -10800 1 AMST}
+ {3885505200 -14400 0 AMT}
+ {3906676800 -10800 1 AMST}
+ {3917559600 -14400 0 AMT}
+ {3938126400 -10800 1 AMST}
+ {3949009200 -14400 0 AMT}
+ {3969576000 -10800 1 AMST}
+ {3980458800 -14400 0 AMT}
+ {4001630400 -10800 1 AMST}
+ {4011908400 -14400 0 AMT}
+ {4033080000 -10800 1 AMST}
+ {4043358000 -14400 0 AMT}
+ {4064529600 -10800 1 AMST}
+ {4074807600 -14400 0 AMT}
+ {4095979200 -10800 1 AMST}
}
diff --git a/library/tzdata/America/Caracas b/library/tzdata/America/Caracas
index f0dbffe..2ba87ae 100644
--- a/library/tzdata/America/Caracas
+++ b/library/tzdata/America/Caracas
@@ -3,8 +3,7 @@
set TZData(:America/Caracas) {
{-9223372036854775808 -16064 0 LMT}
{-2524505536 -16060 0 CMT}
- {-1826739140 -16200 0 -0430}
- {-157750200 -14400 0 -04}
- {1197183600 -16200 0 -0430}
- {1462086000 -14400 0 -04}
+ {-1826739140 -16200 0 VET}
+ {-157750200 -14400 0 VET}
+ {1197183600 -16200 0 VET}
}
diff --git a/library/tzdata/America/Cayenne b/library/tzdata/America/Cayenne
index 6b1a3e9..de3d65b 100644
--- a/library/tzdata/America/Cayenne
+++ b/library/tzdata/America/Cayenne
@@ -2,6 +2,6 @@
set TZData(:America/Cayenne) {
{-9223372036854775808 -12560 0 LMT}
- {-1846269040 -14400 0 -04}
- {-71092800 -10800 0 -03}
+ {-1846269040 -14400 0 GFT}
+ {-71092800 -10800 0 GFT}
}
diff --git a/library/tzdata/America/Cayman b/library/tzdata/America/Cayman
index 92ce5e2..5231ca9 100644
--- a/library/tzdata/America/Cayman
+++ b/library/tzdata/America/Cayman
@@ -1,5 +1,176 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Panama)]} {
- LoadTimeZoneFile America/Panama
+
+set TZData(:America/Cayman) {
+ {-9223372036854775808 -19532 0 LMT}
+ {-2524502068 -18431 0 KMT}
+ {-1827687169 -18000 0 EST}
+ {1451624400 -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}
}
-set TZData(:America/Cayman) $TZData(:America/Panama)
diff --git a/library/tzdata/America/Chihuahua b/library/tzdata/America/Chihuahua
index 50cb9de..5444930 100644
--- a/library/tzdata/America/Chihuahua
+++ b/library/tzdata/America/Chihuahua
@@ -5,7 +5,7 @@ set TZData(:America/Chihuahua) {
{-1514739600 -25200 0 MST}
{-1343066400 -21600 0 CST}
{-1234807200 -25200 0 MST}
- {-1220292000 -21600 1 MDT}
+ {-1220292000 -21600 0 CST}
{-1207159200 -25200 0 MST}
{-1191344400 -21600 0 CST}
{820476000 -21600 0 CST}
@@ -63,5 +63,159 @@ set TZData(:America/Chihuahua) {
{1617526800 -21600 1 MDT}
{1635667200 -25200 0 MST}
{1648976400 -21600 1 MDT}
- {1667120400 -21600 0 CST}
+ {1667116800 -25200 0 MST}
+ {1680426000 -21600 1 MDT}
+ {1698566400 -25200 0 MST}
+ {1712480400 -21600 1 MDT}
+ {1730016000 -25200 0 MST}
+ {1743930000 -21600 1 MDT}
+ {1761465600 -25200 0 MST}
+ {1775379600 -21600 1 MDT}
+ {1792915200 -25200 0 MST}
+ {1806829200 -21600 1 MDT}
+ {1824969600 -25200 0 MST}
+ {1838278800 -21600 1 MDT}
+ {1856419200 -25200 0 MST}
+ {1869728400 -21600 1 MDT}
+ {1887868800 -25200 0 MST}
+ {1901782800 -21600 1 MDT}
+ {1919318400 -25200 0 MST}
+ {1933232400 -21600 1 MDT}
+ {1950768000 -25200 0 MST}
+ {1964682000 -21600 1 MDT}
+ {1982822400 -25200 0 MST}
+ {1996131600 -21600 1 MDT}
+ {2014272000 -25200 0 MST}
+ {2027581200 -21600 1 MDT}
+ {2045721600 -25200 0 MST}
+ {2059030800 -21600 1 MDT}
+ {2077171200 -25200 0 MST}
+ {2091085200 -21600 1 MDT}
+ {2108620800 -25200 0 MST}
+ {2122534800 -21600 1 MDT}
+ {2140070400 -25200 0 MST}
+ {2153984400 -21600 1 MDT}
+ {2172124800 -25200 0 MST}
+ {2185434000 -21600 1 MDT}
+ {2203574400 -25200 0 MST}
+ {2216883600 -21600 1 MDT}
+ {2235024000 -25200 0 MST}
+ {2248938000 -21600 1 MDT}
+ {2266473600 -25200 0 MST}
+ {2280387600 -21600 1 MDT}
+ {2297923200 -25200 0 MST}
+ {2311837200 -21600 1 MDT}
+ {2329372800 -25200 0 MST}
+ {2343286800 -21600 1 MDT}
+ {2361427200 -25200 0 MST}
+ {2374736400 -21600 1 MDT}
+ {2392876800 -25200 0 MST}
+ {2406186000 -21600 1 MDT}
+ {2424326400 -25200 0 MST}
+ {2438240400 -21600 1 MDT}
+ {2455776000 -25200 0 MST}
+ {2469690000 -21600 1 MDT}
+ {2487225600 -25200 0 MST}
+ {2501139600 -21600 1 MDT}
+ {2519280000 -25200 0 MST}
+ {2532589200 -21600 1 MDT}
+ {2550729600 -25200 0 MST}
+ {2564038800 -21600 1 MDT}
+ {2582179200 -25200 0 MST}
+ {2596093200 -21600 1 MDT}
+ {2613628800 -25200 0 MST}
+ {2627542800 -21600 1 MDT}
+ {2645078400 -25200 0 MST}
+ {2658992400 -21600 1 MDT}
+ {2676528000 -25200 0 MST}
+ {2690442000 -21600 1 MDT}
+ {2708582400 -25200 0 MST}
+ {2721891600 -21600 1 MDT}
+ {2740032000 -25200 0 MST}
+ {2753341200 -21600 1 MDT}
+ {2771481600 -25200 0 MST}
+ {2785395600 -21600 1 MDT}
+ {2802931200 -25200 0 MST}
+ {2816845200 -21600 1 MDT}
+ {2834380800 -25200 0 MST}
+ {2848294800 -21600 1 MDT}
+ {2866435200 -25200 0 MST}
+ {2879744400 -21600 1 MDT}
+ {2897884800 -25200 0 MST}
+ {2911194000 -21600 1 MDT}
+ {2929334400 -25200 0 MST}
+ {2942643600 -21600 1 MDT}
+ {2960784000 -25200 0 MST}
+ {2974698000 -21600 1 MDT}
+ {2992233600 -25200 0 MST}
+ {3006147600 -21600 1 MDT}
+ {3023683200 -25200 0 MST}
+ {3037597200 -21600 1 MDT}
+ {3055737600 -25200 0 MST}
+ {3069046800 -21600 1 MDT}
+ {3087187200 -25200 0 MST}
+ {3100496400 -21600 1 MDT}
+ {3118636800 -25200 0 MST}
+ {3132550800 -21600 1 MDT}
+ {3150086400 -25200 0 MST}
+ {3164000400 -21600 1 MDT}
+ {3181536000 -25200 0 MST}
+ {3195450000 -21600 1 MDT}
+ {3212985600 -25200 0 MST}
+ {3226899600 -21600 1 MDT}
+ {3245040000 -25200 0 MST}
+ {3258349200 -21600 1 MDT}
+ {3276489600 -25200 0 MST}
+ {3289798800 -21600 1 MDT}
+ {3307939200 -25200 0 MST}
+ {3321853200 -21600 1 MDT}
+ {3339388800 -25200 0 MST}
+ {3353302800 -21600 1 MDT}
+ {3370838400 -25200 0 MST}
+ {3384752400 -21600 1 MDT}
+ {3402892800 -25200 0 MST}
+ {3416202000 -21600 1 MDT}
+ {3434342400 -25200 0 MST}
+ {3447651600 -21600 1 MDT}
+ {3465792000 -25200 0 MST}
+ {3479706000 -21600 1 MDT}
+ {3497241600 -25200 0 MST}
+ {3511155600 -21600 1 MDT}
+ {3528691200 -25200 0 MST}
+ {3542605200 -21600 1 MDT}
+ {3560140800 -25200 0 MST}
+ {3574054800 -21600 1 MDT}
+ {3592195200 -25200 0 MST}
+ {3605504400 -21600 1 MDT}
+ {3623644800 -25200 0 MST}
+ {3636954000 -21600 1 MDT}
+ {3655094400 -25200 0 MST}
+ {3669008400 -21600 1 MDT}
+ {3686544000 -25200 0 MST}
+ {3700458000 -21600 1 MDT}
+ {3717993600 -25200 0 MST}
+ {3731907600 -21600 1 MDT}
+ {3750048000 -25200 0 MST}
+ {3763357200 -21600 1 MDT}
+ {3781497600 -25200 0 MST}
+ {3794806800 -21600 1 MDT}
+ {3812947200 -25200 0 MST}
+ {3826256400 -21600 1 MDT}
+ {3844396800 -25200 0 MST}
+ {3858310800 -21600 1 MDT}
+ {3875846400 -25200 0 MST}
+ {3889760400 -21600 1 MDT}
+ {3907296000 -25200 0 MST}
+ {3921210000 -21600 1 MDT}
+ {3939350400 -25200 0 MST}
+ {3952659600 -21600 1 MDT}
+ {3970800000 -25200 0 MST}
+ {3984109200 -21600 1 MDT}
+ {4002249600 -25200 0 MST}
+ {4016163600 -21600 1 MDT}
+ {4033699200 -25200 0 MST}
+ {4047613200 -21600 1 MDT}
+ {4065148800 -25200 0 MST}
+ {4079062800 -21600 1 MDT}
+ {4096598400 -25200 0 MST}
}
diff --git a/library/tzdata/America/Ciudad_Juarez b/library/tzdata/America/Ciudad_Juarez
deleted file mode 100644
index 5a27e80..0000000
--- a/library/tzdata/America/Ciudad_Juarez
+++ /dev/null
@@ -1,223 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Ciudad_Juarez) {
- {-9223372036854775808 -25556 0 LMT}
- {-1514739600 -25200 0 MST}
- {-1343066400 -21600 0 CST}
- {-1234807200 -25200 0 MST}
- {-1220292000 -21600 1 MDT}
- {-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}
- {1667120400 -21600 0 CST}
- {1669788000 -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/Coral_Harbour b/library/tzdata/America/Coral_Harbour
index c2406a7..a27dc03 100644
--- a/library/tzdata/America/Coral_Harbour
+++ b/library/tzdata/America/Coral_Harbour
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Panama)]} {
- LoadTimeZoneFile America/Panama
+if {![info exists TZData(America/Atikokan)]} {
+ LoadTimeZoneFile America/Atikokan
}
-set TZData(:America/Coral_Harbour) $TZData(:America/Panama)
+set TZData(:America/Coral_Harbour) $TZData(:America/Atikokan)
diff --git a/library/tzdata/America/Creston b/library/tzdata/America/Creston
index 14db678..30369a9 100644
--- a/library/tzdata/America/Creston
+++ b/library/tzdata/America/Creston
@@ -1,5 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Phoenix)]} {
- LoadTimeZoneFile America/Phoenix
+
+set TZData(:America/Creston) {
+ {-9223372036854775808 -27964 0 LMT}
+ {-2713882436 -25200 0 MST}
+ {-1680454800 -28800 0 PST}
+ {-1627833600 -25200 0 MST}
}
-set TZData(:America/Creston) $TZData(:America/Phoenix)
diff --git a/library/tzdata/America/Cuiaba b/library/tzdata/America/Cuiaba
index fd97289..0301862 100644
--- a/library/tzdata/America/Cuiaba
+++ b/library/tzdata/America/Cuiaba
@@ -2,95 +2,256 @@
set TZData(:America/Cuiaba) {
{-9223372036854775808 -13460 0 LMT}
- {-1767212140 -14400 0 -04}
- {-1206954000 -10800 1 -04}
- {-1191358800 -14400 0 -04}
- {-1175371200 -10800 1 -04}
- {-1159822800 -14400 0 -04}
- {-633816000 -10800 1 -04}
- {-622065600 -14400 0 -04}
- {-602280000 -10800 1 -04}
- {-591829200 -14400 0 -04}
- {-570744000 -10800 1 -04}
- {-560206800 -14400 0 -04}
- {-539121600 -10800 1 -04}
- {-531349200 -14400 0 -04}
- {-191361600 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-155160000 -10800 1 -04}
- {-150066000 -14400 0 -04}
- {-128894400 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-99950400 -10800 1 -04}
- {-89586000 -14400 0 -04}
- {-68414400 -10800 1 -04}
- {-57963600 -14400 0 -04}
- {499752000 -10800 1 -04}
- {511239600 -14400 0 -04}
- {530596800 -10800 1 -04}
- {540270000 -14400 0 -04}
- {562132800 -10800 1 -04}
- {571201200 -14400 0 -04}
- {592977600 -10800 1 -04}
- {602046000 -14400 0 -04}
- {624427200 -10800 1 -04}
- {634705200 -14400 0 -04}
- {656481600 -10800 1 -04}
- {666759600 -14400 0 -04}
- {687931200 -10800 1 -04}
- {697604400 -14400 0 -04}
- {719985600 -10800 1 -04}
- {728449200 -14400 0 -04}
- {750830400 -10800 1 -04}
- {761713200 -14400 0 -04}
- {782280000 -10800 1 -04}
- {793162800 -14400 0 -04}
- {813729600 -10800 1 -04}
- {824007600 -14400 0 -04}
- {844574400 -10800 1 -04}
- {856062000 -14400 0 -04}
- {876110400 -10800 1 -04}
- {888721200 -14400 0 -04}
- {908078400 -10800 1 -04}
- {919566000 -14400 0 -04}
- {938923200 -10800 1 -04}
- {951620400 -14400 0 -04}
- {970977600 -10800 1 -04}
- {982465200 -14400 0 -04}
- {1003032000 -10800 1 -04}
- {1013914800 -14400 0 -04}
- {1036296000 -10800 1 -04}
- {1045364400 -14400 0 -04}
- {1064372400 -14400 0 -04}
- {1096603200 -14400 0 -04}
- {1099368000 -10800 1 -04}
- {1108868400 -14400 0 -04}
- {1129435200 -10800 1 -04}
- {1140318000 -14400 0 -04}
- {1162699200 -10800 1 -04}
- {1172372400 -14400 0 -04}
- {1192334400 -10800 1 -04}
- {1203217200 -14400 0 -04}
- {1224388800 -10800 1 -04}
- {1234666800 -14400 0 -04}
- {1255838400 -10800 1 -04}
- {1266721200 -14400 0 -04}
- {1287288000 -10800 1 -04}
- {1298170800 -14400 0 -04}
- {1318737600 -10800 1 -04}
- {1330225200 -14400 0 -04}
- {1350792000 -10800 1 -04}
- {1361070000 -14400 0 -04}
- {1382241600 -10800 1 -04}
- {1392519600 -14400 0 -04}
- {1413691200 -10800 1 -04}
- {1424574000 -14400 0 -04}
- {1445140800 -10800 1 -04}
- {1456023600 -14400 0 -04}
- {1476590400 -10800 1 -04}
- {1487473200 -14400 0 -04}
- {1508040000 -10800 1 -04}
- {1518922800 -14400 0 -04}
- {1541304000 -10800 1 -04}
- {1550372400 -14400 0 -04}
+ {-1767212140 -14400 0 AMT}
+ {-1206954000 -10800 1 AMST}
+ {-1191358800 -14400 0 AMT}
+ {-1175371200 -10800 1 AMST}
+ {-1159822800 -14400 0 AMT}
+ {-633816000 -10800 1 AMST}
+ {-622065600 -14400 0 AMT}
+ {-602280000 -10800 1 AMST}
+ {-591829200 -14400 0 AMT}
+ {-570744000 -10800 1 AMST}
+ {-560206800 -14400 0 AMT}
+ {-539121600 -10800 1 AMST}
+ {-531349200 -14400 0 AMT}
+ {-191361600 -10800 1 AMST}
+ {-184194000 -14400 0 AMT}
+ {-155160000 -10800 1 AMST}
+ {-150066000 -14400 0 AMT}
+ {-128894400 -10800 1 AMST}
+ {-121122000 -14400 0 AMT}
+ {-99950400 -10800 1 AMST}
+ {-89586000 -14400 0 AMT}
+ {-68414400 -10800 1 AMST}
+ {-57963600 -14400 0 AMT}
+ {499752000 -10800 1 AMST}
+ {511239600 -14400 0 AMT}
+ {530596800 -10800 1 AMST}
+ {540270000 -14400 0 AMT}
+ {562132800 -10800 1 AMST}
+ {571201200 -14400 0 AMT}
+ {592977600 -10800 1 AMST}
+ {602046000 -14400 0 AMT}
+ {624427200 -10800 1 AMST}
+ {634705200 -14400 0 AMT}
+ {656481600 -10800 1 AMST}
+ {666759600 -14400 0 AMT}
+ {687931200 -10800 1 AMST}
+ {697604400 -14400 0 AMT}
+ {719985600 -10800 1 AMST}
+ {728449200 -14400 0 AMT}
+ {750830400 -10800 1 AMST}
+ {761713200 -14400 0 AMT}
+ {782280000 -10800 1 AMST}
+ {793162800 -14400 0 AMT}
+ {813729600 -10800 1 AMST}
+ {824007600 -14400 0 AMT}
+ {844574400 -10800 1 AMST}
+ {856062000 -14400 0 AMT}
+ {876110400 -10800 1 AMST}
+ {888721200 -14400 0 AMT}
+ {908078400 -10800 1 AMST}
+ {919566000 -14400 0 AMT}
+ {938923200 -10800 1 AMST}
+ {951620400 -14400 0 AMT}
+ {970977600 -10800 1 AMST}
+ {982465200 -14400 0 AMT}
+ {1003032000 -10800 1 AMST}
+ {1013914800 -14400 0 AMT}
+ {1036296000 -10800 1 AMST}
+ {1045364400 -14400 0 AMT}
+ {1064372400 -14400 0 AMT}
+ {1096603200 -14400 0 AMT}
+ {1099368000 -10800 1 AMST}
+ {1108868400 -14400 0 AMT}
+ {1129435200 -10800 1 AMST}
+ {1140318000 -14400 0 AMT}
+ {1162699200 -10800 1 AMST}
+ {1172372400 -14400 0 AMT}
+ {1192334400 -10800 1 AMST}
+ {1203217200 -14400 0 AMT}
+ {1224388800 -10800 1 AMST}
+ {1234666800 -14400 0 AMT}
+ {1255838400 -10800 1 AMST}
+ {1266721200 -14400 0 AMT}
+ {1287288000 -10800 1 AMST}
+ {1298170800 -14400 0 AMT}
+ {1318737600 -10800 1 AMST}
+ {1330225200 -14400 0 AMT}
+ {1350792000 -10800 1 AMST}
+ {1361070000 -14400 0 AMT}
+ {1382241600 -10800 1 AMST}
+ {1392519600 -14400 0 AMT}
+ {1413691200 -10800 1 AMST}
+ {1424574000 -14400 0 AMT}
+ {1445140800 -10800 1 AMST}
+ {1456023600 -14400 0 AMT}
+ {1476590400 -10800 1 AMST}
+ {1487473200 -14400 0 AMT}
+ {1508040000 -10800 1 AMST}
+ {1518922800 -14400 0 AMT}
+ {1540094400 -10800 1 AMST}
+ {1550372400 -14400 0 AMT}
+ {1571544000 -10800 1 AMST}
+ {1581822000 -14400 0 AMT}
+ {1602993600 -10800 1 AMST}
+ {1613876400 -14400 0 AMT}
+ {1634443200 -10800 1 AMST}
+ {1645326000 -14400 0 AMT}
+ {1665892800 -10800 1 AMST}
+ {1677380400 -14400 0 AMT}
+ {1697342400 -10800 1 AMST}
+ {1708225200 -14400 0 AMT}
+ {1729396800 -10800 1 AMST}
+ {1739674800 -14400 0 AMT}
+ {1760846400 -10800 1 AMST}
+ {1771729200 -14400 0 AMT}
+ {1792296000 -10800 1 AMST}
+ {1803178800 -14400 0 AMT}
+ {1823745600 -10800 1 AMST}
+ {1834628400 -14400 0 AMT}
+ {1855195200 -10800 1 AMST}
+ {1866078000 -14400 0 AMT}
+ {1887249600 -10800 1 AMST}
+ {1897527600 -14400 0 AMT}
+ {1918699200 -10800 1 AMST}
+ {1928977200 -14400 0 AMT}
+ {1950148800 -10800 1 AMST}
+ {1960426800 -14400 0 AMT}
+ {1981598400 -10800 1 AMST}
+ {1992481200 -14400 0 AMT}
+ {2013048000 -10800 1 AMST}
+ {2024535600 -14400 0 AMT}
+ {2044497600 -10800 1 AMST}
+ {2055380400 -14400 0 AMT}
+ {2076552000 -10800 1 AMST}
+ {2086830000 -14400 0 AMT}
+ {2108001600 -10800 1 AMST}
+ {2118884400 -14400 0 AMT}
+ {2139451200 -10800 1 AMST}
+ {2150334000 -14400 0 AMT}
+ {2170900800 -10800 1 AMST}
+ {2181783600 -14400 0 AMT}
+ {2202350400 -10800 1 AMST}
+ {2213233200 -14400 0 AMT}
+ {2234404800 -10800 1 AMST}
+ {2244682800 -14400 0 AMT}
+ {2265854400 -10800 1 AMST}
+ {2276132400 -14400 0 AMT}
+ {2297304000 -10800 1 AMST}
+ {2307582000 -14400 0 AMT}
+ {2328753600 -10800 1 AMST}
+ {2339636400 -14400 0 AMT}
+ {2360203200 -10800 1 AMST}
+ {2371086000 -14400 0 AMT}
+ {2391652800 -10800 1 AMST}
+ {2402535600 -14400 0 AMT}
+ {2423707200 -10800 1 AMST}
+ {2433985200 -14400 0 AMT}
+ {2455156800 -10800 1 AMST}
+ {2465434800 -14400 0 AMT}
+ {2486606400 -10800 1 AMST}
+ {2497489200 -14400 0 AMT}
+ {2518056000 -10800 1 AMST}
+ {2528938800 -14400 0 AMT}
+ {2549505600 -10800 1 AMST}
+ {2560388400 -14400 0 AMT}
+ {2580955200 -10800 1 AMST}
+ {2591838000 -14400 0 AMT}
+ {2613009600 -10800 1 AMST}
+ {2623287600 -14400 0 AMT}
+ {2644459200 -10800 1 AMST}
+ {2654737200 -14400 0 AMT}
+ {2675908800 -10800 1 AMST}
+ {2686791600 -14400 0 AMT}
+ {2707358400 -10800 1 AMST}
+ {2718241200 -14400 0 AMT}
+ {2738808000 -10800 1 AMST}
+ {2749690800 -14400 0 AMT}
+ {2770862400 -10800 1 AMST}
+ {2781140400 -14400 0 AMT}
+ {2802312000 -10800 1 AMST}
+ {2812590000 -14400 0 AMT}
+ {2833761600 -10800 1 AMST}
+ {2844039600 -14400 0 AMT}
+ {2865211200 -10800 1 AMST}
+ {2876094000 -14400 0 AMT}
+ {2896660800 -10800 1 AMST}
+ {2907543600 -14400 0 AMT}
+ {2928110400 -10800 1 AMST}
+ {2938993200 -14400 0 AMT}
+ {2960164800 -10800 1 AMST}
+ {2970442800 -14400 0 AMT}
+ {2991614400 -10800 1 AMST}
+ {3001892400 -14400 0 AMT}
+ {3023064000 -10800 1 AMST}
+ {3033946800 -14400 0 AMT}
+ {3054513600 -10800 1 AMST}
+ {3065396400 -14400 0 AMT}
+ {3085963200 -10800 1 AMST}
+ {3096846000 -14400 0 AMT}
+ {3118017600 -10800 1 AMST}
+ {3128295600 -14400 0 AMT}
+ {3149467200 -10800 1 AMST}
+ {3159745200 -14400 0 AMT}
+ {3180916800 -10800 1 AMST}
+ {3191194800 -14400 0 AMT}
+ {3212366400 -10800 1 AMST}
+ {3223249200 -14400 0 AMT}
+ {3243816000 -10800 1 AMST}
+ {3254698800 -14400 0 AMT}
+ {3275265600 -10800 1 AMST}
+ {3286148400 -14400 0 AMT}
+ {3307320000 -10800 1 AMST}
+ {3317598000 -14400 0 AMT}
+ {3338769600 -10800 1 AMST}
+ {3349047600 -14400 0 AMT}
+ {3370219200 -10800 1 AMST}
+ {3381102000 -14400 0 AMT}
+ {3401668800 -10800 1 AMST}
+ {3412551600 -14400 0 AMT}
+ {3433118400 -10800 1 AMST}
+ {3444001200 -14400 0 AMT}
+ {3464568000 -10800 1 AMST}
+ {3475450800 -14400 0 AMT}
+ {3496622400 -10800 1 AMST}
+ {3506900400 -14400 0 AMT}
+ {3528072000 -10800 1 AMST}
+ {3538350000 -14400 0 AMT}
+ {3559521600 -10800 1 AMST}
+ {3570404400 -14400 0 AMT}
+ {3590971200 -10800 1 AMST}
+ {3601854000 -14400 0 AMT}
+ {3622420800 -10800 1 AMST}
+ {3633303600 -14400 0 AMT}
+ {3654475200 -10800 1 AMST}
+ {3664753200 -14400 0 AMT}
+ {3685924800 -10800 1 AMST}
+ {3696202800 -14400 0 AMT}
+ {3717374400 -10800 1 AMST}
+ {3727652400 -14400 0 AMT}
+ {3748824000 -10800 1 AMST}
+ {3759706800 -14400 0 AMT}
+ {3780273600 -10800 1 AMST}
+ {3791156400 -14400 0 AMT}
+ {3811723200 -10800 1 AMST}
+ {3822606000 -14400 0 AMT}
+ {3843777600 -10800 1 AMST}
+ {3854055600 -14400 0 AMT}
+ {3875227200 -10800 1 AMST}
+ {3885505200 -14400 0 AMT}
+ {3906676800 -10800 1 AMST}
+ {3917559600 -14400 0 AMT}
+ {3938126400 -10800 1 AMST}
+ {3949009200 -14400 0 AMT}
+ {3969576000 -10800 1 AMST}
+ {3980458800 -14400 0 AMT}
+ {4001630400 -10800 1 AMST}
+ {4011908400 -14400 0 AMT}
+ {4033080000 -10800 1 AMST}
+ {4043358000 -14400 0 AMT}
+ {4064529600 -10800 1 AMST}
+ {4074807600 -14400 0 AMT}
+ {4095979200 -10800 1 AMST}
}
diff --git a/library/tzdata/America/Curacao b/library/tzdata/America/Curacao
index ae31d2f..5189e9c 100644
--- a/library/tzdata/America/Curacao
+++ b/library/tzdata/America/Curacao
@@ -1,5 +1,7 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+
+set TZData(:America/Curacao) {
+ {-9223372036854775808 -16547 0 LMT}
+ {-1826738653 -16200 0 ANT}
+ {-157750200 -14400 0 AST}
}
-set TZData(:America/Curacao) $TZData(:America/Puerto_Rico)
diff --git a/library/tzdata/America/Danmarkshavn b/library/tzdata/America/Danmarkshavn
index 4d9d7bb..8d66d3a 100644
--- a/library/tzdata/America/Danmarkshavn
+++ b/library/tzdata/America/Danmarkshavn
@@ -2,38 +2,38 @@
set TZData(:America/Danmarkshavn) {
{-9223372036854775808 -4480 0 LMT}
- {-1686091520 -10800 0 -03}
- {323845200 -7200 0 -02}
- {338950800 -10800 0 -03}
- {354675600 -7200 1 -02}
- {370400400 -10800 0 -03}
- {386125200 -7200 1 -02}
- {401850000 -10800 0 -03}
- {417574800 -7200 1 -02}
- {433299600 -10800 0 -03}
- {449024400 -7200 1 -02}
- {465354000 -10800 0 -03}
- {481078800 -7200 1 -02}
- {496803600 -10800 0 -03}
- {512528400 -7200 1 -02}
- {528253200 -10800 0 -03}
- {543978000 -7200 1 -02}
- {559702800 -10800 0 -03}
- {575427600 -7200 1 -02}
- {591152400 -10800 0 -03}
- {606877200 -7200 1 -02}
- {622602000 -10800 0 -03}
- {638326800 -7200 1 -02}
- {654656400 -10800 0 -03}
- {670381200 -7200 1 -02}
- {686106000 -10800 0 -03}
- {701830800 -7200 1 -02}
- {717555600 -10800 0 -03}
- {733280400 -7200 1 -02}
- {749005200 -10800 0 -03}
- {764730000 -7200 1 -02}
- {780454800 -10800 0 -03}
- {796179600 -7200 1 -02}
- {811904400 -10800 0 -03}
+ {-1686091520 -10800 0 WGT}
+ {323845200 -7200 0 WGST}
+ {338950800 -10800 0 WGT}
+ {354675600 -7200 1 WGST}
+ {370400400 -10800 0 WGT}
+ {386125200 -7200 1 WGST}
+ {401850000 -10800 0 WGT}
+ {417574800 -7200 1 WGST}
+ {433299600 -10800 0 WGT}
+ {449024400 -7200 1 WGST}
+ {465354000 -10800 0 WGT}
+ {481078800 -7200 1 WGST}
+ {496803600 -10800 0 WGT}
+ {512528400 -7200 1 WGST}
+ {528253200 -10800 0 WGT}
+ {543978000 -7200 1 WGST}
+ {559702800 -10800 0 WGT}
+ {575427600 -7200 1 WGST}
+ {591152400 -10800 0 WGT}
+ {606877200 -7200 1 WGST}
+ {622602000 -10800 0 WGT}
+ {638326800 -7200 1 WGST}
+ {654656400 -10800 0 WGT}
+ {670381200 -7200 1 WGST}
+ {686106000 -10800 0 WGT}
+ {701830800 -7200 1 WGST}
+ {717555600 -10800 0 WGT}
+ {733280400 -7200 1 WGST}
+ {749005200 -10800 0 WGT}
+ {764730000 -7200 1 WGST}
+ {780454800 -10800 0 WGT}
+ {796179600 -7200 1 WGST}
+ {811904400 -10800 0 WGT}
{820465200 0 0 GMT}
}
diff --git a/library/tzdata/America/Dawson b/library/tzdata/America/Dawson
index 62b0654..8d2b641 100644
--- a/library/tzdata/America/Dawson
+++ b/library/tzdata/America/Dawson
@@ -10,10 +10,8 @@ set TZData(:America/Dawson) {
{-880203600 -28800 1 YWT}
{-769395600 -28800 1 YPT}
{-765381600 -32400 0 YST}
- {-157734000 -32400 0 YST}
{-147884400 -25200 1 YDDT}
{-131554800 -32400 0 YST}
- {120646800 -28800 0 PST}
{315561600 -28800 0 PST}
{325677600 -25200 1 PDT}
{341398800 -28800 0 PST}
@@ -96,5 +94,163 @@ set TZData(:America/Dawson) {
{1552212000 -25200 1 PDT}
{1572771600 -28800 0 PST}
{1583661600 -25200 1 PDT}
- {1604217600 -25200 0 MST}
+ {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}
}
diff --git a/library/tzdata/America/Detroit b/library/tzdata/America/Detroit
index 2139aa8..696a663 100644
--- a/library/tzdata/America/Detroit
+++ b/library/tzdata/America/Detroit
@@ -11,11 +11,8 @@ set TZData(:America/Detroit) {
{-757364400 -18000 0 EST}
{-684349200 -14400 1 EDT}
{-671047200 -18000 0 EST}
- {-80506740 -14400 0 EDT}
+ {-80499600 -14400 1 EDT}
{-68666400 -18000 0 EST}
- {-52938000 -14400 1 EDT}
- {-37216800 -18000 0 EST}
- {-31518000 -18000 0 EST}
{94712400 -18000 0 EST}
{104914800 -14400 1 EDT}
{120636000 -18000 0 EST}
diff --git a/library/tzdata/America/Dominica b/library/tzdata/America/Dominica
index 4589180..b97cb0e 100644
--- a/library/tzdata/America/Dominica
+++ b/library/tzdata/America/Dominica
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/Dominica) $TZData(:America/Puerto_Rico)
+set TZData(:America/Dominica) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Edmonton b/library/tzdata/America/Edmonton
index 234b3af..1ed38be 100644
--- a/library/tzdata/America/Edmonton
+++ b/library/tzdata/America/Edmonton
@@ -20,6 +20,10 @@ set TZData(:America/Edmonton) {
{-765388800 -25200 0 MST}
{-715791600 -21600 1 MDT}
{-702489600 -25200 0 MST}
+ {-84380400 -21600 1 MDT}
+ {-68659200 -25200 0 MST}
+ {-21481200 -21600 1 MDT}
+ {-5760000 -25200 0 MST}
{73472400 -21600 1 MDT}
{89193600 -25200 0 MST}
{104922000 -21600 1 MDT}
diff --git a/library/tzdata/America/Eirunepe b/library/tzdata/America/Eirunepe
index a81b09e..a05631f 100644
--- a/library/tzdata/America/Eirunepe
+++ b/library/tzdata/America/Eirunepe
@@ -2,40 +2,40 @@
set TZData(:America/Eirunepe) {
{-9223372036854775808 -16768 0 LMT}
- {-1767208832 -18000 0 -05}
- {-1206950400 -14400 1 -05}
- {-1191355200 -18000 0 -05}
- {-1175367600 -14400 1 -05}
- {-1159819200 -18000 0 -05}
- {-633812400 -14400 1 -05}
- {-622062000 -18000 0 -05}
- {-602276400 -14400 1 -05}
- {-591825600 -18000 0 -05}
- {-570740400 -14400 1 -05}
- {-560203200 -18000 0 -05}
- {-539118000 -14400 1 -05}
- {-531345600 -18000 0 -05}
- {-191358000 -14400 1 -05}
- {-184190400 -18000 0 -05}
- {-155156400 -14400 1 -05}
- {-150062400 -18000 0 -05}
- {-128890800 -14400 1 -05}
- {-121118400 -18000 0 -05}
- {-99946800 -14400 1 -05}
- {-89582400 -18000 0 -05}
- {-68410800 -14400 1 -05}
- {-57960000 -18000 0 -05}
- {499755600 -14400 1 -05}
- {511243200 -18000 0 -05}
- {530600400 -14400 1 -05}
- {540273600 -18000 0 -05}
- {562136400 -14400 1 -05}
- {571204800 -18000 0 -05}
- {590040000 -18000 0 -05}
- {749192400 -18000 0 -05}
- {750834000 -14400 1 -05}
- {761716800 -18000 0 -05}
- {780206400 -18000 0 -05}
- {1214283600 -14400 0 -04}
- {1384056000 -18000 0 -05}
+ {-1767208832 -18000 0 ACT}
+ {-1206950400 -14400 1 ACST}
+ {-1191355200 -18000 0 ACT}
+ {-1175367600 -14400 1 ACST}
+ {-1159819200 -18000 0 ACT}
+ {-633812400 -14400 1 ACST}
+ {-622062000 -18000 0 ACT}
+ {-602276400 -14400 1 ACST}
+ {-591825600 -18000 0 ACT}
+ {-570740400 -14400 1 ACST}
+ {-560203200 -18000 0 ACT}
+ {-539118000 -14400 1 ACST}
+ {-531345600 -18000 0 ACT}
+ {-191358000 -14400 1 ACST}
+ {-184190400 -18000 0 ACT}
+ {-155156400 -14400 1 ACST}
+ {-150062400 -18000 0 ACT}
+ {-128890800 -14400 1 ACST}
+ {-121118400 -18000 0 ACT}
+ {-99946800 -14400 1 ACST}
+ {-89582400 -18000 0 ACT}
+ {-68410800 -14400 1 ACST}
+ {-57960000 -18000 0 ACT}
+ {499755600 -14400 1 ACST}
+ {511243200 -18000 0 ACT}
+ {530600400 -14400 1 ACST}
+ {540273600 -18000 0 ACT}
+ {562136400 -14400 1 ACST}
+ {571204800 -18000 0 ACT}
+ {590040000 -18000 0 ACT}
+ {749192400 -18000 0 ACT}
+ {750834000 -14400 1 ACST}
+ {761716800 -18000 0 ACT}
+ {780206400 -18000 0 ACT}
+ {1214283600 -14400 0 AMT}
+ {1384056000 -18000 0 ACT}
}
diff --git a/library/tzdata/America/Fortaleza b/library/tzdata/America/Fortaleza
index bd806f1..581faa5 100644
--- a/library/tzdata/America/Fortaleza
+++ b/library/tzdata/America/Fortaleza
@@ -2,47 +2,47 @@
set TZData(:America/Fortaleza) {
{-9223372036854775808 -9240 0 LMT}
- {-1767216360 -10800 0 -03}
- {-1206957600 -7200 1 -03}
- {-1191362400 -10800 0 -03}
- {-1175374800 -7200 1 -03}
- {-1159826400 -10800 0 -03}
- {-633819600 -7200 1 -03}
- {-622069200 -10800 0 -03}
- {-602283600 -7200 1 -03}
- {-591832800 -10800 0 -03}
- {-570747600 -7200 1 -03}
- {-560210400 -10800 0 -03}
- {-539125200 -7200 1 -03}
- {-531352800 -10800 0 -03}
- {-191365200 -7200 1 -03}
- {-184197600 -10800 0 -03}
- {-155163600 -7200 1 -03}
- {-150069600 -10800 0 -03}
- {-128898000 -7200 1 -03}
- {-121125600 -10800 0 -03}
- {-99954000 -7200 1 -03}
- {-89589600 -10800 0 -03}
- {-68418000 -7200 1 -03}
- {-57967200 -10800 0 -03}
- {499748400 -7200 1 -03}
- {511236000 -10800 0 -03}
- {530593200 -7200 1 -03}
- {540266400 -10800 0 -03}
- {562129200 -7200 1 -03}
- {571197600 -10800 0 -03}
- {592974000 -7200 1 -03}
- {602042400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {634701600 -10800 0 -03}
- {653536800 -10800 0 -03}
- {938660400 -10800 0 -03}
- {938919600 -7200 1 -03}
- {951616800 -10800 0 -03}
- {970974000 -7200 1 -03}
- {972180000 -10800 0 -03}
- {1000350000 -10800 0 -03}
- {1003028400 -7200 1 -03}
- {1013911200 -10800 0 -03}
- {1033437600 -10800 0 -03}
+ {-1767216360 -10800 0 BRT}
+ {-1206957600 -7200 1 BRST}
+ {-1191362400 -10800 0 BRT}
+ {-1175374800 -7200 1 BRST}
+ {-1159826400 -10800 0 BRT}
+ {-633819600 -7200 1 BRST}
+ {-622069200 -10800 0 BRT}
+ {-602283600 -7200 1 BRST}
+ {-591832800 -10800 0 BRT}
+ {-570747600 -7200 1 BRST}
+ {-560210400 -10800 0 BRT}
+ {-539125200 -7200 1 BRST}
+ {-531352800 -10800 0 BRT}
+ {-191365200 -7200 1 BRST}
+ {-184197600 -10800 0 BRT}
+ {-155163600 -7200 1 BRST}
+ {-150069600 -10800 0 BRT}
+ {-128898000 -7200 1 BRST}
+ {-121125600 -10800 0 BRT}
+ {-99954000 -7200 1 BRST}
+ {-89589600 -10800 0 BRT}
+ {-68418000 -7200 1 BRST}
+ {-57967200 -10800 0 BRT}
+ {499748400 -7200 1 BRST}
+ {511236000 -10800 0 BRT}
+ {530593200 -7200 1 BRST}
+ {540266400 -10800 0 BRT}
+ {562129200 -7200 1 BRST}
+ {571197600 -10800 0 BRT}
+ {592974000 -7200 1 BRST}
+ {602042400 -10800 0 BRT}
+ {624423600 -7200 1 BRST}
+ {634701600 -10800 0 BRT}
+ {653536800 -10800 0 BRT}
+ {938660400 -10800 0 BRT}
+ {938919600 -7200 1 BRST}
+ {951616800 -10800 0 BRT}
+ {970974000 -7200 1 BRST}
+ {972180000 -10800 0 BRT}
+ {1000350000 -10800 0 BRT}
+ {1003028400 -7200 1 BRST}
+ {1013911200 -10800 0 BRT}
+ {1033437600 -10800 0 BRT}
}
diff --git a/library/tzdata/America/Godthab b/library/tzdata/America/Godthab
index 8bb7b73..3c003cc 100644
--- a/library/tzdata/America/Godthab
+++ b/library/tzdata/America/Godthab
@@ -1,5 +1,246 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Nuuk)]} {
- LoadTimeZoneFile America/Nuuk
+
+set TZData(:America/Godthab) {
+ {-9223372036854775808 -12416 0 LMT}
+ {-1686083584 -10800 0 WGT}
+ {323845200 -7200 0 WGST}
+ {338950800 -10800 0 WGT}
+ {354675600 -7200 1 WGST}
+ {370400400 -10800 0 WGT}
+ {386125200 -7200 1 WGST}
+ {401850000 -10800 0 WGT}
+ {417574800 -7200 1 WGST}
+ {433299600 -10800 0 WGT}
+ {449024400 -7200 1 WGST}
+ {465354000 -10800 0 WGT}
+ {481078800 -7200 1 WGST}
+ {496803600 -10800 0 WGT}
+ {512528400 -7200 1 WGST}
+ {528253200 -10800 0 WGT}
+ {543978000 -7200 1 WGST}
+ {559702800 -10800 0 WGT}
+ {575427600 -7200 1 WGST}
+ {591152400 -10800 0 WGT}
+ {606877200 -7200 1 WGST}
+ {622602000 -10800 0 WGT}
+ {638326800 -7200 1 WGST}
+ {654656400 -10800 0 WGT}
+ {670381200 -7200 1 WGST}
+ {686106000 -10800 0 WGT}
+ {701830800 -7200 1 WGST}
+ {717555600 -10800 0 WGT}
+ {733280400 -7200 1 WGST}
+ {749005200 -10800 0 WGT}
+ {764730000 -7200 1 WGST}
+ {780454800 -10800 0 WGT}
+ {796179600 -7200 1 WGST}
+ {811904400 -10800 0 WGT}
+ {828234000 -7200 1 WGST}
+ {846378000 -10800 0 WGT}
+ {859683600 -7200 1 WGST}
+ {877827600 -10800 0 WGT}
+ {891133200 -7200 1 WGST}
+ {909277200 -10800 0 WGT}
+ {922582800 -7200 1 WGST}
+ {941331600 -10800 0 WGT}
+ {954032400 -7200 1 WGST}
+ {972781200 -10800 0 WGT}
+ {985482000 -7200 1 WGST}
+ {1004230800 -10800 0 WGT}
+ {1017536400 -7200 1 WGST}
+ {1035680400 -10800 0 WGT}
+ {1048986000 -7200 1 WGST}
+ {1067130000 -10800 0 WGT}
+ {1080435600 -7200 1 WGST}
+ {1099184400 -10800 0 WGT}
+ {1111885200 -7200 1 WGST}
+ {1130634000 -10800 0 WGT}
+ {1143334800 -7200 1 WGST}
+ {1162083600 -10800 0 WGT}
+ {1174784400 -7200 1 WGST}
+ {1193533200 -10800 0 WGT}
+ {1206838800 -7200 1 WGST}
+ {1224982800 -10800 0 WGT}
+ {1238288400 -7200 1 WGST}
+ {1256432400 -10800 0 WGT}
+ {1269738000 -7200 1 WGST}
+ {1288486800 -10800 0 WGT}
+ {1301187600 -7200 1 WGST}
+ {1319936400 -10800 0 WGT}
+ {1332637200 -7200 1 WGST}
+ {1351386000 -10800 0 WGT}
+ {1364691600 -7200 1 WGST}
+ {1382835600 -10800 0 WGT}
+ {1396141200 -7200 1 WGST}
+ {1414285200 -10800 0 WGT}
+ {1427590800 -7200 1 WGST}
+ {1445734800 -10800 0 WGT}
+ {1459040400 -7200 1 WGST}
+ {1477789200 -10800 0 WGT}
+ {1490490000 -7200 1 WGST}
+ {1509238800 -10800 0 WGT}
+ {1521939600 -7200 1 WGST}
+ {1540688400 -10800 0 WGT}
+ {1553994000 -7200 1 WGST}
+ {1572138000 -10800 0 WGT}
+ {1585443600 -7200 1 WGST}
+ {1603587600 -10800 0 WGT}
+ {1616893200 -7200 1 WGST}
+ {1635642000 -10800 0 WGT}
+ {1648342800 -7200 1 WGST}
+ {1667091600 -10800 0 WGT}
+ {1679792400 -7200 1 WGST}
+ {1698541200 -10800 0 WGT}
+ {1711846800 -7200 1 WGST}
+ {1729990800 -10800 0 WGT}
+ {1743296400 -7200 1 WGST}
+ {1761440400 -10800 0 WGT}
+ {1774746000 -7200 1 WGST}
+ {1792890000 -10800 0 WGT}
+ {1806195600 -7200 1 WGST}
+ {1824944400 -10800 0 WGT}
+ {1837645200 -7200 1 WGST}
+ {1856394000 -10800 0 WGT}
+ {1869094800 -7200 1 WGST}
+ {1887843600 -10800 0 WGT}
+ {1901149200 -7200 1 WGST}
+ {1919293200 -10800 0 WGT}
+ {1932598800 -7200 1 WGST}
+ {1950742800 -10800 0 WGT}
+ {1964048400 -7200 1 WGST}
+ {1982797200 -10800 0 WGT}
+ {1995498000 -7200 1 WGST}
+ {2014246800 -10800 0 WGT}
+ {2026947600 -7200 1 WGST}
+ {2045696400 -10800 0 WGT}
+ {2058397200 -7200 1 WGST}
+ {2077146000 -10800 0 WGT}
+ {2090451600 -7200 1 WGST}
+ {2108595600 -10800 0 WGT}
+ {2121901200 -7200 1 WGST}
+ {2140045200 -10800 0 WGT}
+ {2153350800 -7200 1 WGST}
+ {2172099600 -10800 0 WGT}
+ {2184800400 -7200 1 WGST}
+ {2203549200 -10800 0 WGT}
+ {2216250000 -7200 1 WGST}
+ {2234998800 -10800 0 WGT}
+ {2248304400 -7200 1 WGST}
+ {2266448400 -10800 0 WGT}
+ {2279754000 -7200 1 WGST}
+ {2297898000 -10800 0 WGT}
+ {2311203600 -7200 1 WGST}
+ {2329347600 -10800 0 WGT}
+ {2342653200 -7200 1 WGST}
+ {2361402000 -10800 0 WGT}
+ {2374102800 -7200 1 WGST}
+ {2392851600 -10800 0 WGT}
+ {2405552400 -7200 1 WGST}
+ {2424301200 -10800 0 WGT}
+ {2437606800 -7200 1 WGST}
+ {2455750800 -10800 0 WGT}
+ {2469056400 -7200 1 WGST}
+ {2487200400 -10800 0 WGT}
+ {2500506000 -7200 1 WGST}
+ {2519254800 -10800 0 WGT}
+ {2531955600 -7200 1 WGST}
+ {2550704400 -10800 0 WGT}
+ {2563405200 -7200 1 WGST}
+ {2582154000 -10800 0 WGT}
+ {2595459600 -7200 1 WGST}
+ {2613603600 -10800 0 WGT}
+ {2626909200 -7200 1 WGST}
+ {2645053200 -10800 0 WGT}
+ {2658358800 -7200 1 WGST}
+ {2676502800 -10800 0 WGT}
+ {2689808400 -7200 1 WGST}
+ {2708557200 -10800 0 WGT}
+ {2721258000 -7200 1 WGST}
+ {2740006800 -10800 0 WGT}
+ {2752707600 -7200 1 WGST}
+ {2771456400 -10800 0 WGT}
+ {2784762000 -7200 1 WGST}
+ {2802906000 -10800 0 WGT}
+ {2816211600 -7200 1 WGST}
+ {2834355600 -10800 0 WGT}
+ {2847661200 -7200 1 WGST}
+ {2866410000 -10800 0 WGT}
+ {2879110800 -7200 1 WGST}
+ {2897859600 -10800 0 WGT}
+ {2910560400 -7200 1 WGST}
+ {2929309200 -10800 0 WGT}
+ {2942010000 -7200 1 WGST}
+ {2960758800 -10800 0 WGT}
+ {2974064400 -7200 1 WGST}
+ {2992208400 -10800 0 WGT}
+ {3005514000 -7200 1 WGST}
+ {3023658000 -10800 0 WGT}
+ {3036963600 -7200 1 WGST}
+ {3055712400 -10800 0 WGT}
+ {3068413200 -7200 1 WGST}
+ {3087162000 -10800 0 WGT}
+ {3099862800 -7200 1 WGST}
+ {3118611600 -10800 0 WGT}
+ {3131917200 -7200 1 WGST}
+ {3150061200 -10800 0 WGT}
+ {3163366800 -7200 1 WGST}
+ {3181510800 -10800 0 WGT}
+ {3194816400 -7200 1 WGST}
+ {3212960400 -10800 0 WGT}
+ {3226266000 -7200 1 WGST}
+ {3245014800 -10800 0 WGT}
+ {3257715600 -7200 1 WGST}
+ {3276464400 -10800 0 WGT}
+ {3289165200 -7200 1 WGST}
+ {3307914000 -10800 0 WGT}
+ {3321219600 -7200 1 WGST}
+ {3339363600 -10800 0 WGT}
+ {3352669200 -7200 1 WGST}
+ {3370813200 -10800 0 WGT}
+ {3384118800 -7200 1 WGST}
+ {3402867600 -10800 0 WGT}
+ {3415568400 -7200 1 WGST}
+ {3434317200 -10800 0 WGT}
+ {3447018000 -7200 1 WGST}
+ {3465766800 -10800 0 WGT}
+ {3479072400 -7200 1 WGST}
+ {3497216400 -10800 0 WGT}
+ {3510522000 -7200 1 WGST}
+ {3528666000 -10800 0 WGT}
+ {3541971600 -7200 1 WGST}
+ {3560115600 -10800 0 WGT}
+ {3573421200 -7200 1 WGST}
+ {3592170000 -10800 0 WGT}
+ {3604870800 -7200 1 WGST}
+ {3623619600 -10800 0 WGT}
+ {3636320400 -7200 1 WGST}
+ {3655069200 -10800 0 WGT}
+ {3668374800 -7200 1 WGST}
+ {3686518800 -10800 0 WGT}
+ {3699824400 -7200 1 WGST}
+ {3717968400 -10800 0 WGT}
+ {3731274000 -7200 1 WGST}
+ {3750022800 -10800 0 WGT}
+ {3762723600 -7200 1 WGST}
+ {3781472400 -10800 0 WGT}
+ {3794173200 -7200 1 WGST}
+ {3812922000 -10800 0 WGT}
+ {3825622800 -7200 1 WGST}
+ {3844371600 -10800 0 WGT}
+ {3857677200 -7200 1 WGST}
+ {3875821200 -10800 0 WGT}
+ {3889126800 -7200 1 WGST}
+ {3907270800 -10800 0 WGT}
+ {3920576400 -7200 1 WGST}
+ {3939325200 -10800 0 WGT}
+ {3952026000 -7200 1 WGST}
+ {3970774800 -10800 0 WGT}
+ {3983475600 -7200 1 WGST}
+ {4002224400 -10800 0 WGT}
+ {4015530000 -7200 1 WGST}
+ {4033674000 -10800 0 WGT}
+ {4046979600 -7200 1 WGST}
+ {4065123600 -10800 0 WGT}
+ {4078429200 -7200 1 WGST}
+ {4096573200 -10800 0 WGT}
}
-set TZData(:America/Godthab) $TZData(:America/Nuuk)
diff --git a/library/tzdata/America/Grand_Turk b/library/tzdata/America/Grand_Turk
index 414b0f9..0edcf0b 100644
--- a/library/tzdata/America/Grand_Turk
+++ b/library/tzdata/America/Grand_Turk
@@ -2,8 +2,8 @@
set TZData(:America/Grand_Turk) {
{-9223372036854775808 -17072 0 LMT}
- {-2524504528 -18430 0 KMT}
- {-1827687170 -18000 0 EST}
+ {-2524504528 -18431 0 KMT}
+ {-1827687169 -18000 0 EST}
{284014800 -18000 0 EST}
{294217200 -14400 1 EDT}
{309938400 -18000 0 EST}
@@ -77,169 +77,6 @@ set TZData(:America/Grand_Turk) {
{1383458400 -18000 0 EST}
{1394348400 -14400 1 EDT}
{1414908000 -18000 0 EST}
- {1425798000 -14400 0 AST}
- {1520751600 -14400 0 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}
+ {1425798000 -14400 1 EDT}
+ {1446361200 -14400 0 AST}
}
diff --git a/library/tzdata/America/Grenada b/library/tzdata/America/Grenada
index 5aa98fd..92300c3 100644
--- a/library/tzdata/America/Grenada
+++ b/library/tzdata/America/Grenada
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/Grenada) $TZData(:America/Puerto_Rico)
+set TZData(:America/Grenada) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Guadeloupe b/library/tzdata/America/Guadeloupe
index ac85e5a..aba6bd7 100644
--- a/library/tzdata/America/Guadeloupe
+++ b/library/tzdata/America/Guadeloupe
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/Guadeloupe) $TZData(:America/Puerto_Rico)
+set TZData(:America/Guadeloupe) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Guayaquil b/library/tzdata/America/Guayaquil
index 6ba7b93..e940a5b 100644
--- a/library/tzdata/America/Guayaquil
+++ b/library/tzdata/America/Guayaquil
@@ -3,7 +3,5 @@
set TZData(:America/Guayaquil) {
{-9223372036854775808 -19160 0 LMT}
{-2524502440 -18840 0 QMT}
- {-1230749160 -18000 0 -05}
- {722926800 -14400 1 -05}
- {728884800 -18000 0 -05}
+ {-1230749160 -18000 0 ECT}
}
diff --git a/library/tzdata/America/Guyana b/library/tzdata/America/Guyana
index 4e2b5f4..c58a989 100644
--- a/library/tzdata/America/Guyana
+++ b/library/tzdata/America/Guyana
@@ -1,9 +1,9 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Guyana) {
- {-9223372036854775808 -13959 0 LMT}
- {-1843589241 -14400 0 -04}
- {-1730577600 -13500 0 -0345}
- {176096700 -10800 0 -03}
- {701841600 -14400 0 -04}
+ {-9223372036854775808 -13960 0 LMT}
+ {-1730578040 -13500 0 GBGT}
+ {-113688900 -13500 0 GYT}
+ {176010300 -10800 0 GYT}
+ {662698800 -14400 0 GYT}
}
diff --git a/library/tzdata/America/Hermosillo b/library/tzdata/America/Hermosillo
index 6576ad1..779020e 100644
--- a/library/tzdata/America/Hermosillo
+++ b/library/tzdata/America/Hermosillo
@@ -5,7 +5,7 @@ set TZData(:America/Hermosillo) {
{-1514739600 -25200 0 MST}
{-1343066400 -21600 0 CST}
{-1234807200 -25200 0 MST}
- {-1220292000 -21600 1 MDT}
+ {-1220292000 -21600 0 CST}
{-1207159200 -25200 0 MST}
{-1191344400 -21600 0 CST}
{-873828000 -25200 0 MST}
diff --git a/library/tzdata/America/Indiana/Tell_City b/library/tzdata/America/Indiana/Tell_City
index f8014bf..9eebcf7 100644
--- a/library/tzdata/America/Indiana/Tell_City
+++ b/library/tzdata/America/Indiana/Tell_City
@@ -11,6 +11,12 @@ set TZData(:America/Indiana/Tell_City) {
{-769395600 -18000 1 CPT}
{-765392400 -21600 0 CST}
{-757360800 -21600 0 CST}
+ {-747244800 -18000 1 CDT}
+ {-733942800 -21600 0 CST}
+ {-526492800 -18000 1 CDT}
+ {-513190800 -21600 0 CST}
+ {-495043200 -18000 1 CDT}
+ {-481741200 -21600 0 CST}
{-462996000 -18000 1 CDT}
{-450291600 -21600 0 CST}
{-431539200 -18000 1 CDT}
@@ -22,18 +28,16 @@ set TZData(:America/Indiana/Tell_City) {
{-337190400 -18000 1 CDT}
{-323888400 -21600 0 CST}
{-305740800 -18000 1 CDT}
- {-292438800 -21600 0 CST}
+ {-289414800 -21600 0 CST}
{-273686400 -18000 1 CDT}
- {-257965200 -21600 0 CST}
+ {-260989200 -21600 0 CST}
{-242236800 -18000 1 CDT}
{-226515600 -21600 0 CST}
{-210787200 -18000 1 CDT}
{-195066000 -21600 0 CST}
{-179337600 -18000 0 EST}
- {-68662800 -21600 0 CST}
- {-52934400 -18000 1 CDT}
- {-37213200 -21600 0 CST}
- {-21484800 -14400 0 EDT}
+ {-31518000 -18000 0 EST}
+ {-21488400 -14400 1 EDT}
{-5767200 -18000 0 EST}
{9961200 -14400 1 EDT}
{25682400 -18000 0 EST}
diff --git a/library/tzdata/America/Inuvik b/library/tzdata/America/Inuvik
index 84231f8..dd0d151 100644
--- a/library/tzdata/America/Inuvik
+++ b/library/tzdata/America/Inuvik
@@ -1,24 +1,10 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Inuvik) {
- {-9223372036854775808 0 0 -00}
+ {-9223372036854775808 0 0 zzz}
{-536457600 -28800 0 PST}
- {73476000 -25200 1 PDT}
- {89197200 -28800 0 PST}
- {104925600 -25200 1 PDT}
- {120646800 -28800 0 PST}
- {136375200 -25200 1 PDT}
- {152096400 -28800 0 PST}
- {167824800 -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 -21600 0 MDT}
- {309945600 -25200 0 MST}
+ {-147888000 -21600 1 PDDT}
+ {-131558400 -28800 0 PST}
{315558000 -25200 0 MST}
{325674000 -21600 1 MDT}
{341395200 -25200 0 MST}
diff --git a/library/tzdata/America/Iqaluit b/library/tzdata/America/Iqaluit
index 413a548..2a2e9fe 100644
--- a/library/tzdata/America/Iqaluit
+++ b/library/tzdata/America/Iqaluit
@@ -1,26 +1,12 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Iqaluit) {
- {-9223372036854775808 0 0 -00}
+ {-9223372036854775808 0 0 zzz}
{-865296000 -14400 0 EWT}
{-769395600 -14400 1 EPT}
{-765396000 -18000 0 EST}
- {73465200 -14400 1 EDT}
- {89186400 -18000 0 EST}
- {104914800 -14400 1 EDT}
- {120636000 -18000 0 EST}
- {136364400 -14400 1 EDT}
- {152085600 -18000 0 EST}
- {167814000 -14400 1 EDT}
- {183535200 -18000 0 EST}
- {199263600 -14400 1 EDT}
- {215589600 -18000 0 EST}
- {230713200 -14400 1 EDT}
- {247039200 -18000 0 EST}
- {262767600 -14400 1 EDT}
- {278488800 -18000 0 EST}
- {294217200 -14400 1 EDT}
- {309938400 -18000 0 EST}
+ {-147898800 -10800 1 EDDT}
+ {-131569200 -18000 0 EST}
{325666800 -14400 1 EDT}
{341388000 -18000 0 EST}
{357116400 -14400 1 EDT}
diff --git a/library/tzdata/America/Jamaica b/library/tzdata/America/Jamaica
index 0f758bd..f752842 100644
--- a/library/tzdata/America/Jamaica
+++ b/library/tzdata/America/Jamaica
@@ -1,9 +1,9 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Jamaica) {
- {-9223372036854775808 -18430 0 LMT}
- {-2524503170 -18430 0 KMT}
- {-1827687170 -18000 0 EST}
+ {-9223372036854775808 -18431 0 LMT}
+ {-2524503169 -18431 0 KMT}
+ {-1827687169 -18000 0 EST}
{126248400 -18000 0 EST}
{126687600 -14400 1 EDT}
{152085600 -18000 0 EST}
diff --git a/library/tzdata/America/Juneau b/library/tzdata/America/Juneau
index 070a27a..fead810 100644
--- a/library/tzdata/America/Juneau
+++ b/library/tzdata/America/Juneau
@@ -2,7 +2,7 @@
set TZData(:America/Juneau) {
{-9223372036854775808 54139 0 LMT}
- {-3225223727 -32261 0 LMT}
+ {-3225366139 -32261 0 LMT}
{-2188954939 -28800 0 PST}
{-883584000 -28800 0 PST}
{-880207200 -25200 1 PWT}
diff --git a/library/tzdata/America/Kentucky/Louisville b/library/tzdata/America/Kentucky/Louisville
index 7efbec9..c2aa10c 100644
--- a/library/tzdata/America/Kentucky/Louisville
+++ b/library/tzdata/America/Kentucky/Louisville
@@ -17,9 +17,12 @@ set TZData(:America/Kentucky/Louisville) {
{-769395600 -18000 1 CPT}
{-765392400 -21600 0 CST}
{-757360800 -21600 0 CST}
- {-747251940 -18000 1 CDT}
+ {-747244800 -18000 1 CDT}
{-744224400 -21600 0 CST}
- {-620841600 -18000 1 CDT}
+ {-715795200 -18000 1 CDT}
+ {-684349200 -18000 1 CDT}
+ {-652899600 -18000 1 CDT}
+ {-620845200 -18000 1 CDT}
{-608144400 -21600 0 CST}
{-589392000 -18000 1 CDT}
{-576090000 -21600 0 CST}
@@ -42,7 +45,7 @@ set TZData(:America/Kentucky/Louisville) {
{-305740800 -18000 1 CDT}
{-289414800 -21600 0 CST}
{-273686400 -18000 1 CDT}
- {-266428800 -18000 0 EST}
+ {-266432400 -18000 0 EST}
{-63140400 -18000 0 EST}
{-52938000 -14400 1 EDT}
{-37216800 -18000 0 EST}
diff --git a/library/tzdata/America/Kralendijk b/library/tzdata/America/Kralendijk
index 548dbd5..8b6db86 100644
--- a/library/tzdata/America/Kralendijk
+++ b/library/tzdata/America/Kralendijk
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Curacao)]} {
+ LoadTimeZoneFile America/Curacao
}
-set TZData(:America/Kralendijk) $TZData(:America/Puerto_Rico)
+set TZData(:America/Kralendijk) $TZData(:America/Curacao)
diff --git a/library/tzdata/America/La_Paz b/library/tzdata/America/La_Paz
index ea2f711..38ffbb0 100644
--- a/library/tzdata/America/La_Paz
+++ b/library/tzdata/America/La_Paz
@@ -3,6 +3,6 @@
set TZData(:America/La_Paz) {
{-9223372036854775808 -16356 0 LMT}
{-2524505244 -16356 0 CMT}
- {-1205954844 -12756 1 BST}
- {-1192307244 -14400 0 -04}
+ {-1205954844 -12756 1 BOST}
+ {-1192307244 -14400 0 BOT}
}
diff --git a/library/tzdata/America/Lima b/library/tzdata/America/Lima
index e8b69d6..c6e6ac1 100644
--- a/library/tzdata/America/Lima
+++ b/library/tzdata/America/Lima
@@ -3,14 +3,14 @@
set TZData(:America/Lima) {
{-9223372036854775808 -18492 0 LMT}
{-2524503108 -18516 0 LMT}
- {-1938538284 -14400 0 -05}
- {-1002052800 -18000 0 -05}
- {-986756400 -14400 1 -05}
- {-971035200 -18000 0 -05}
- {-955306800 -14400 1 -05}
- {-939585600 -18000 0 -05}
- {512712000 -18000 0 -05}
- {544248000 -18000 0 -05}
- {638942400 -18000 0 -05}
- {765172800 -18000 0 -05}
+ {-1938538284 -14400 0 PEST}
+ {-1002052800 -18000 0 PET}
+ {-986756400 -14400 1 PEST}
+ {-971035200 -18000 0 PET}
+ {-955306800 -14400 1 PEST}
+ {-939585600 -18000 0 PET}
+ {512712000 -18000 0 PET}
+ {544248000 -18000 0 PET}
+ {638942400 -18000 0 PET}
+ {765172800 -18000 0 PET}
}
diff --git a/library/tzdata/America/Los_Angeles b/library/tzdata/America/Los_Angeles
index 8e26526..da6ca99 100644
--- a/library/tzdata/America/Los_Angeles
+++ b/library/tzdata/America/Los_Angeles
@@ -11,41 +11,41 @@ set TZData(:America/Los_Angeles) {
{-769395600 -25200 1 PPT}
{-765385200 -28800 0 PST}
{-757353600 -28800 0 PST}
- {-687967140 -25200 1 PDT}
+ {-687967200 -25200 1 PDT}
{-662655600 -28800 0 PST}
- {-620838000 -25200 1 PDT}
+ {-620834400 -25200 1 PDT}
{-608137200 -28800 0 PST}
- {-589388400 -25200 1 PDT}
+ {-589384800 -25200 1 PDT}
{-576082800 -28800 0 PST}
- {-557938800 -25200 1 PDT}
+ {-557935200 -25200 1 PDT}
{-544633200 -28800 0 PST}
- {-526489200 -25200 1 PDT}
+ {-526485600 -25200 1 PDT}
{-513183600 -28800 0 PST}
- {-495039600 -25200 1 PDT}
+ {-495036000 -25200 1 PDT}
{-481734000 -28800 0 PST}
- {-463590000 -25200 1 PDT}
+ {-463586400 -25200 1 PDT}
{-450284400 -28800 0 PST}
- {-431535600 -25200 1 PDT}
+ {-431532000 -25200 1 PDT}
{-418230000 -28800 0 PST}
- {-400086000 -25200 1 PDT}
+ {-400082400 -25200 1 PDT}
{-386780400 -28800 0 PST}
- {-368636400 -25200 1 PDT}
+ {-368632800 -25200 1 PDT}
{-355330800 -28800 0 PST}
- {-337186800 -25200 1 PDT}
+ {-337183200 -25200 1 PDT}
{-323881200 -28800 0 PST}
- {-305737200 -25200 1 PDT}
+ {-305733600 -25200 1 PDT}
{-292431600 -28800 0 PST}
- {-273682800 -25200 1 PDT}
+ {-273679200 -25200 1 PDT}
{-260982000 -28800 0 PST}
- {-242233200 -25200 1 PDT}
+ {-242229600 -25200 1 PDT}
{-226508400 -28800 0 PST}
- {-210783600 -25200 1 PDT}
+ {-210780000 -25200 1 PDT}
{-195058800 -28800 0 PST}
- {-179334000 -25200 1 PDT}
+ {-179330400 -25200 1 PDT}
{-163609200 -28800 0 PST}
- {-147884400 -25200 1 PDT}
+ {-147880800 -25200 1 PDT}
{-131554800 -28800 0 PST}
- {-116434800 -25200 1 PDT}
+ {-116431200 -25200 1 PDT}
{-100105200 -28800 0 PST}
{-94665600 -28800 0 PST}
{-84376800 -25200 1 PDT}
diff --git a/library/tzdata/America/Lower_Princes b/library/tzdata/America/Lower_Princes
index 655da0e..94c9197 100644
--- a/library/tzdata/America/Lower_Princes
+++ b/library/tzdata/America/Lower_Princes
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Curacao)]} {
+ LoadTimeZoneFile America/Curacao
}
-set TZData(:America/Lower_Princes) $TZData(:America/Puerto_Rico)
+set TZData(:America/Lower_Princes) $TZData(:America/Curacao)
diff --git a/library/tzdata/America/Maceio b/library/tzdata/America/Maceio
index eab534e..333b878 100644
--- a/library/tzdata/America/Maceio
+++ b/library/tzdata/America/Maceio
@@ -2,51 +2,51 @@
set TZData(:America/Maceio) {
{-9223372036854775808 -8572 0 LMT}
- {-1767217028 -10800 0 -03}
- {-1206957600 -7200 1 -03}
- {-1191362400 -10800 0 -03}
- {-1175374800 -7200 1 -03}
- {-1159826400 -10800 0 -03}
- {-633819600 -7200 1 -03}
- {-622069200 -10800 0 -03}
- {-602283600 -7200 1 -03}
- {-591832800 -10800 0 -03}
- {-570747600 -7200 1 -03}
- {-560210400 -10800 0 -03}
- {-539125200 -7200 1 -03}
- {-531352800 -10800 0 -03}
- {-191365200 -7200 1 -03}
- {-184197600 -10800 0 -03}
- {-155163600 -7200 1 -03}
- {-150069600 -10800 0 -03}
- {-128898000 -7200 1 -03}
- {-121125600 -10800 0 -03}
- {-99954000 -7200 1 -03}
- {-89589600 -10800 0 -03}
- {-68418000 -7200 1 -03}
- {-57967200 -10800 0 -03}
- {499748400 -7200 1 -03}
- {511236000 -10800 0 -03}
- {530593200 -7200 1 -03}
- {540266400 -10800 0 -03}
- {562129200 -7200 1 -03}
- {571197600 -10800 0 -03}
- {592974000 -7200 1 -03}
- {602042400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {634701600 -10800 0 -03}
- {653536800 -10800 0 -03}
- {813553200 -10800 0 -03}
- {813726000 -7200 1 -03}
- {824004000 -10800 0 -03}
- {841802400 -10800 0 -03}
- {938660400 -10800 0 -03}
- {938919600 -7200 1 -03}
- {951616800 -10800 0 -03}
- {970974000 -7200 1 -03}
- {972180000 -10800 0 -03}
- {1000350000 -10800 0 -03}
- {1003028400 -7200 1 -03}
- {1013911200 -10800 0 -03}
- {1033437600 -10800 0 -03}
+ {-1767217028 -10800 0 BRT}
+ {-1206957600 -7200 1 BRST}
+ {-1191362400 -10800 0 BRT}
+ {-1175374800 -7200 1 BRST}
+ {-1159826400 -10800 0 BRT}
+ {-633819600 -7200 1 BRST}
+ {-622069200 -10800 0 BRT}
+ {-602283600 -7200 1 BRST}
+ {-591832800 -10800 0 BRT}
+ {-570747600 -7200 1 BRST}
+ {-560210400 -10800 0 BRT}
+ {-539125200 -7200 1 BRST}
+ {-531352800 -10800 0 BRT}
+ {-191365200 -7200 1 BRST}
+ {-184197600 -10800 0 BRT}
+ {-155163600 -7200 1 BRST}
+ {-150069600 -10800 0 BRT}
+ {-128898000 -7200 1 BRST}
+ {-121125600 -10800 0 BRT}
+ {-99954000 -7200 1 BRST}
+ {-89589600 -10800 0 BRT}
+ {-68418000 -7200 1 BRST}
+ {-57967200 -10800 0 BRT}
+ {499748400 -7200 1 BRST}
+ {511236000 -10800 0 BRT}
+ {530593200 -7200 1 BRST}
+ {540266400 -10800 0 BRT}
+ {562129200 -7200 1 BRST}
+ {571197600 -10800 0 BRT}
+ {592974000 -7200 1 BRST}
+ {602042400 -10800 0 BRT}
+ {624423600 -7200 1 BRST}
+ {634701600 -10800 0 BRT}
+ {653536800 -10800 0 BRT}
+ {813553200 -10800 0 BRT}
+ {813726000 -7200 1 BRST}
+ {824004000 -10800 0 BRT}
+ {841802400 -10800 0 BRT}
+ {938660400 -10800 0 BRT}
+ {938919600 -7200 1 BRST}
+ {951616800 -10800 0 BRT}
+ {970974000 -7200 1 BRST}
+ {972180000 -10800 0 BRT}
+ {1000350000 -10800 0 BRT}
+ {1003028400 -7200 1 BRST}
+ {1013911200 -10800 0 BRT}
+ {1033437600 -10800 0 BRT}
}
diff --git a/library/tzdata/America/Manaus b/library/tzdata/America/Manaus
index a855062..058e0f7 100644
--- a/library/tzdata/America/Manaus
+++ b/library/tzdata/America/Manaus
@@ -2,38 +2,38 @@
set TZData(:America/Manaus) {
{-9223372036854775808 -14404 0 LMT}
- {-1767211196 -14400 0 -04}
- {-1206954000 -10800 1 -04}
- {-1191358800 -14400 0 -04}
- {-1175371200 -10800 1 -04}
- {-1159822800 -14400 0 -04}
- {-633816000 -10800 1 -04}
- {-622065600 -14400 0 -04}
- {-602280000 -10800 1 -04}
- {-591829200 -14400 0 -04}
- {-570744000 -10800 1 -04}
- {-560206800 -14400 0 -04}
- {-539121600 -10800 1 -04}
- {-531349200 -14400 0 -04}
- {-191361600 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-155160000 -10800 1 -04}
- {-150066000 -14400 0 -04}
- {-128894400 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-99950400 -10800 1 -04}
- {-89586000 -14400 0 -04}
- {-68414400 -10800 1 -04}
- {-57963600 -14400 0 -04}
- {499752000 -10800 1 -04}
- {511239600 -14400 0 -04}
- {530596800 -10800 1 -04}
- {540270000 -14400 0 -04}
- {562132800 -10800 1 -04}
- {571201200 -14400 0 -04}
- {590036400 -14400 0 -04}
- {749188800 -14400 0 -04}
- {750830400 -10800 1 -04}
- {761713200 -14400 0 -04}
- {780202800 -14400 0 -04}
+ {-1767211196 -14400 0 AMT}
+ {-1206954000 -10800 1 AMST}
+ {-1191358800 -14400 0 AMT}
+ {-1175371200 -10800 1 AMST}
+ {-1159822800 -14400 0 AMT}
+ {-633816000 -10800 1 AMST}
+ {-622065600 -14400 0 AMT}
+ {-602280000 -10800 1 AMST}
+ {-591829200 -14400 0 AMT}
+ {-570744000 -10800 1 AMST}
+ {-560206800 -14400 0 AMT}
+ {-539121600 -10800 1 AMST}
+ {-531349200 -14400 0 AMT}
+ {-191361600 -10800 1 AMST}
+ {-184194000 -14400 0 AMT}
+ {-155160000 -10800 1 AMST}
+ {-150066000 -14400 0 AMT}
+ {-128894400 -10800 1 AMST}
+ {-121122000 -14400 0 AMT}
+ {-99950400 -10800 1 AMST}
+ {-89586000 -14400 0 AMT}
+ {-68414400 -10800 1 AMST}
+ {-57963600 -14400 0 AMT}
+ {499752000 -10800 1 AMST}
+ {511239600 -14400 0 AMT}
+ {530596800 -10800 1 AMST}
+ {540270000 -14400 0 AMT}
+ {562132800 -10800 1 AMST}
+ {571201200 -14400 0 AMT}
+ {590036400 -14400 0 AMT}
+ {749188800 -14400 0 AMT}
+ {750830400 -10800 1 AMST}
+ {761713200 -14400 0 AMT}
+ {780202800 -14400 0 AMT}
}
diff --git a/library/tzdata/America/Marigot b/library/tzdata/America/Marigot
index 9c77522..c2b3873 100644
--- a/library/tzdata/America/Marigot
+++ b/library/tzdata/America/Marigot
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/Marigot) $TZData(:America/Puerto_Rico)
+set TZData(:America/Marigot) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Matamoros b/library/tzdata/America/Matamoros
index 6ae2fb9..2b98652 100644
--- a/library/tzdata/America/Matamoros
+++ b/library/tzdata/America/Matamoros
@@ -1,7 +1,7 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Matamoros) {
- {-9223372036854775808 -23400 0 LMT}
+ {-9223372036854775808 -24000 0 LMT}
{-1514743200 -21600 0 CST}
{568015200 -21600 0 CST}
{576057600 -18000 1 CDT}
diff --git a/library/tzdata/America/Mazatlan b/library/tzdata/America/Mazatlan
index d9da09f..e56d7d0 100644
--- a/library/tzdata/America/Mazatlan
+++ b/library/tzdata/America/Mazatlan
@@ -5,7 +5,7 @@ set TZData(:America/Mazatlan) {
{-1514739600 -25200 0 MST}
{-1343066400 -21600 0 CST}
{-1234807200 -25200 0 MST}
- {-1220292000 -21600 1 MDT}
+ {-1220292000 -21600 0 CST}
{-1207159200 -25200 0 MST}
{-1191344400 -21600 0 CST}
{-873828000 -25200 0 MST}
@@ -65,4 +65,158 @@ set TZData(:America/Mazatlan) {
{1635667200 -25200 0 MST}
{1648976400 -21600 1 MDT}
{1667116800 -25200 0 MST}
+ {1680426000 -21600 1 MDT}
+ {1698566400 -25200 0 MST}
+ {1712480400 -21600 1 MDT}
+ {1730016000 -25200 0 MST}
+ {1743930000 -21600 1 MDT}
+ {1761465600 -25200 0 MST}
+ {1775379600 -21600 1 MDT}
+ {1792915200 -25200 0 MST}
+ {1806829200 -21600 1 MDT}
+ {1824969600 -25200 0 MST}
+ {1838278800 -21600 1 MDT}
+ {1856419200 -25200 0 MST}
+ {1869728400 -21600 1 MDT}
+ {1887868800 -25200 0 MST}
+ {1901782800 -21600 1 MDT}
+ {1919318400 -25200 0 MST}
+ {1933232400 -21600 1 MDT}
+ {1950768000 -25200 0 MST}
+ {1964682000 -21600 1 MDT}
+ {1982822400 -25200 0 MST}
+ {1996131600 -21600 1 MDT}
+ {2014272000 -25200 0 MST}
+ {2027581200 -21600 1 MDT}
+ {2045721600 -25200 0 MST}
+ {2059030800 -21600 1 MDT}
+ {2077171200 -25200 0 MST}
+ {2091085200 -21600 1 MDT}
+ {2108620800 -25200 0 MST}
+ {2122534800 -21600 1 MDT}
+ {2140070400 -25200 0 MST}
+ {2153984400 -21600 1 MDT}
+ {2172124800 -25200 0 MST}
+ {2185434000 -21600 1 MDT}
+ {2203574400 -25200 0 MST}
+ {2216883600 -21600 1 MDT}
+ {2235024000 -25200 0 MST}
+ {2248938000 -21600 1 MDT}
+ {2266473600 -25200 0 MST}
+ {2280387600 -21600 1 MDT}
+ {2297923200 -25200 0 MST}
+ {2311837200 -21600 1 MDT}
+ {2329372800 -25200 0 MST}
+ {2343286800 -21600 1 MDT}
+ {2361427200 -25200 0 MST}
+ {2374736400 -21600 1 MDT}
+ {2392876800 -25200 0 MST}
+ {2406186000 -21600 1 MDT}
+ {2424326400 -25200 0 MST}
+ {2438240400 -21600 1 MDT}
+ {2455776000 -25200 0 MST}
+ {2469690000 -21600 1 MDT}
+ {2487225600 -25200 0 MST}
+ {2501139600 -21600 1 MDT}
+ {2519280000 -25200 0 MST}
+ {2532589200 -21600 1 MDT}
+ {2550729600 -25200 0 MST}
+ {2564038800 -21600 1 MDT}
+ {2582179200 -25200 0 MST}
+ {2596093200 -21600 1 MDT}
+ {2613628800 -25200 0 MST}
+ {2627542800 -21600 1 MDT}
+ {2645078400 -25200 0 MST}
+ {2658992400 -21600 1 MDT}
+ {2676528000 -25200 0 MST}
+ {2690442000 -21600 1 MDT}
+ {2708582400 -25200 0 MST}
+ {2721891600 -21600 1 MDT}
+ {2740032000 -25200 0 MST}
+ {2753341200 -21600 1 MDT}
+ {2771481600 -25200 0 MST}
+ {2785395600 -21600 1 MDT}
+ {2802931200 -25200 0 MST}
+ {2816845200 -21600 1 MDT}
+ {2834380800 -25200 0 MST}
+ {2848294800 -21600 1 MDT}
+ {2866435200 -25200 0 MST}
+ {2879744400 -21600 1 MDT}
+ {2897884800 -25200 0 MST}
+ {2911194000 -21600 1 MDT}
+ {2929334400 -25200 0 MST}
+ {2942643600 -21600 1 MDT}
+ {2960784000 -25200 0 MST}
+ {2974698000 -21600 1 MDT}
+ {2992233600 -25200 0 MST}
+ {3006147600 -21600 1 MDT}
+ {3023683200 -25200 0 MST}
+ {3037597200 -21600 1 MDT}
+ {3055737600 -25200 0 MST}
+ {3069046800 -21600 1 MDT}
+ {3087187200 -25200 0 MST}
+ {3100496400 -21600 1 MDT}
+ {3118636800 -25200 0 MST}
+ {3132550800 -21600 1 MDT}
+ {3150086400 -25200 0 MST}
+ {3164000400 -21600 1 MDT}
+ {3181536000 -25200 0 MST}
+ {3195450000 -21600 1 MDT}
+ {3212985600 -25200 0 MST}
+ {3226899600 -21600 1 MDT}
+ {3245040000 -25200 0 MST}
+ {3258349200 -21600 1 MDT}
+ {3276489600 -25200 0 MST}
+ {3289798800 -21600 1 MDT}
+ {3307939200 -25200 0 MST}
+ {3321853200 -21600 1 MDT}
+ {3339388800 -25200 0 MST}
+ {3353302800 -21600 1 MDT}
+ {3370838400 -25200 0 MST}
+ {3384752400 -21600 1 MDT}
+ {3402892800 -25200 0 MST}
+ {3416202000 -21600 1 MDT}
+ {3434342400 -25200 0 MST}
+ {3447651600 -21600 1 MDT}
+ {3465792000 -25200 0 MST}
+ {3479706000 -21600 1 MDT}
+ {3497241600 -25200 0 MST}
+ {3511155600 -21600 1 MDT}
+ {3528691200 -25200 0 MST}
+ {3542605200 -21600 1 MDT}
+ {3560140800 -25200 0 MST}
+ {3574054800 -21600 1 MDT}
+ {3592195200 -25200 0 MST}
+ {3605504400 -21600 1 MDT}
+ {3623644800 -25200 0 MST}
+ {3636954000 -21600 1 MDT}
+ {3655094400 -25200 0 MST}
+ {3669008400 -21600 1 MDT}
+ {3686544000 -25200 0 MST}
+ {3700458000 -21600 1 MDT}
+ {3717993600 -25200 0 MST}
+ {3731907600 -21600 1 MDT}
+ {3750048000 -25200 0 MST}
+ {3763357200 -21600 1 MDT}
+ {3781497600 -25200 0 MST}
+ {3794806800 -21600 1 MDT}
+ {3812947200 -25200 0 MST}
+ {3826256400 -21600 1 MDT}
+ {3844396800 -25200 0 MST}
+ {3858310800 -21600 1 MDT}
+ {3875846400 -25200 0 MST}
+ {3889760400 -21600 1 MDT}
+ {3907296000 -25200 0 MST}
+ {3921210000 -21600 1 MDT}
+ {3939350400 -25200 0 MST}
+ {3952659600 -21600 1 MDT}
+ {3970800000 -25200 0 MST}
+ {3984109200 -21600 1 MDT}
+ {4002249600 -25200 0 MST}
+ {4016163600 -21600 1 MDT}
+ {4033699200 -25200 0 MST}
+ {4047613200 -21600 1 MDT}
+ {4065148800 -25200 0 MST}
+ {4079062800 -21600 1 MDT}
+ {4096598400 -25200 0 MST}
}
diff --git a/library/tzdata/America/Merida b/library/tzdata/America/Merida
index d17431d..ebf5927 100644
--- a/library/tzdata/America/Merida
+++ b/library/tzdata/America/Merida
@@ -59,4 +59,158 @@ set TZData(:America/Merida) {
{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/Metlakatla b/library/tzdata/America/Metlakatla
index a0385d0..8ea80fa 100644
--- a/library/tzdata/America/Metlakatla
+++ b/library/tzdata/America/Metlakatla
@@ -2,7 +2,7 @@
set TZData(:America/Metlakatla) {
{-9223372036854775808 54822 0 LMT}
- {-3225223727 -31578 0 LMT}
+ {-3225366822 -31578 0 LMT}
{-2188955622 -28800 0 PST}
{-883584000 -28800 0 PST}
{-880207200 -25200 1 PWT}
@@ -40,174 +40,4 @@ set TZData(:America/Metlakatla) {
{404902800 -28800 0 PST}
{420026400 -25200 1 PDT}
{436356000 -28800 0 PST}
- {1446372000 -32400 0 AKST}
- {1457866800 -28800 1 AKDT}
- {1478426400 -32400 0 AKST}
- {1489316400 -28800 1 AKDT}
- {1509876000 -32400 0 AKST}
- {1520766000 -28800 1 AKDT}
- {1541329200 -28800 0 PST}
- {1547978400 -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/Mexico_City b/library/tzdata/America/Mexico_City
index 2a0a5a8..48462e4 100644
--- a/library/tzdata/America/Mexico_City
+++ b/library/tzdata/America/Mexico_City
@@ -5,7 +5,7 @@ set TZData(:America/Mexico_City) {
{-1514739600 -25200 0 MST}
{-1343066400 -21600 0 CST}
{-1234807200 -25200 0 MST}
- {-1220292000 -21600 1 MDT}
+ {-1220292000 -21600 0 CST}
{-1207159200 -25200 0 MST}
{-1191344400 -21600 0 CST}
{-975261600 -18000 1 CDT}
@@ -71,4 +71,158 @@ set TZData(:America/Mexico_City) {
{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/Miquelon b/library/tzdata/America/Miquelon
index e124ead..a7410f1 100644
--- a/library/tzdata/America/Miquelon
+++ b/library/tzdata/America/Miquelon
@@ -2,233 +2,233 @@
set TZData(:America/Miquelon) {
{-9223372036854775808 -13480 0 LMT}
- {-1847650520 -14400 0 AST}
- {326001600 -10800 0 -03}
- {536468400 -10800 0 -02}
- {544597200 -7200 1 -02}
- {562132800 -10800 0 -02}
- {576046800 -7200 1 -02}
- {594187200 -10800 0 -02}
- {607496400 -7200 1 -02}
- {625636800 -10800 0 -02}
- {638946000 -7200 1 -02}
- {657086400 -10800 0 -02}
- {671000400 -7200 1 -02}
- {688536000 -10800 0 -02}
- {702450000 -7200 1 -02}
- {719985600 -10800 0 -02}
- {733899600 -7200 1 -02}
- {752040000 -10800 0 -02}
- {765349200 -7200 1 -02}
- {783489600 -10800 0 -02}
- {796798800 -7200 1 -02}
- {814939200 -10800 0 -02}
- {828853200 -7200 1 -02}
- {846388800 -10800 0 -02}
- {860302800 -7200 1 -02}
- {877838400 -10800 0 -02}
- {891752400 -7200 1 -02}
- {909288000 -10800 0 -02}
- {923202000 -7200 1 -02}
- {941342400 -10800 0 -02}
- {954651600 -7200 1 -02}
- {972792000 -10800 0 -02}
- {986101200 -7200 1 -02}
- {1004241600 -10800 0 -02}
- {1018155600 -7200 1 -02}
- {1035691200 -10800 0 -02}
- {1049605200 -7200 1 -02}
- {1067140800 -10800 0 -02}
- {1081054800 -7200 1 -02}
- {1099195200 -10800 0 -02}
- {1112504400 -7200 1 -02}
- {1130644800 -10800 0 -02}
- {1143954000 -7200 1 -02}
- {1162094400 -10800 0 -02}
- {1173589200 -7200 1 -02}
- {1194148800 -10800 0 -02}
- {1205038800 -7200 1 -02}
- {1225598400 -10800 0 -02}
- {1236488400 -7200 1 -02}
- {1257048000 -10800 0 -02}
- {1268542800 -7200 1 -02}
- {1289102400 -10800 0 -02}
- {1299992400 -7200 1 -02}
- {1320552000 -10800 0 -02}
- {1331442000 -7200 1 -02}
- {1352001600 -10800 0 -02}
- {1362891600 -7200 1 -02}
- {1383451200 -10800 0 -02}
- {1394341200 -7200 1 -02}
- {1414900800 -10800 0 -02}
- {1425790800 -7200 1 -02}
- {1446350400 -10800 0 -02}
- {1457845200 -7200 1 -02}
- {1478404800 -10800 0 -02}
- {1489294800 -7200 1 -02}
- {1509854400 -10800 0 -02}
- {1520744400 -7200 1 -02}
- {1541304000 -10800 0 -02}
- {1552194000 -7200 1 -02}
- {1572753600 -10800 0 -02}
- {1583643600 -7200 1 -02}
- {1604203200 -10800 0 -02}
- {1615698000 -7200 1 -02}
- {1636257600 -10800 0 -02}
- {1647147600 -7200 1 -02}
- {1667707200 -10800 0 -02}
- {1678597200 -7200 1 -02}
- {1699156800 -10800 0 -02}
- {1710046800 -7200 1 -02}
- {1730606400 -10800 0 -02}
- {1741496400 -7200 1 -02}
- {1762056000 -10800 0 -02}
- {1772946000 -7200 1 -02}
- {1793505600 -10800 0 -02}
- {1805000400 -7200 1 -02}
- {1825560000 -10800 0 -02}
- {1836450000 -7200 1 -02}
- {1857009600 -10800 0 -02}
- {1867899600 -7200 1 -02}
- {1888459200 -10800 0 -02}
- {1899349200 -7200 1 -02}
- {1919908800 -10800 0 -02}
- {1930798800 -7200 1 -02}
- {1951358400 -10800 0 -02}
- {1962853200 -7200 1 -02}
- {1983412800 -10800 0 -02}
- {1994302800 -7200 1 -02}
- {2014862400 -10800 0 -02}
- {2025752400 -7200 1 -02}
- {2046312000 -10800 0 -02}
- {2057202000 -7200 1 -02}
- {2077761600 -10800 0 -02}
- {2088651600 -7200 1 -02}
- {2109211200 -10800 0 -02}
- {2120101200 -7200 1 -02}
- {2140660800 -10800 0 -02}
- {2152155600 -7200 1 -02}
- {2172715200 -10800 0 -02}
- {2183605200 -7200 1 -02}
- {2204164800 -10800 0 -02}
- {2215054800 -7200 1 -02}
- {2235614400 -10800 0 -02}
- {2246504400 -7200 1 -02}
- {2267064000 -10800 0 -02}
- {2277954000 -7200 1 -02}
- {2298513600 -10800 0 -02}
- {2309403600 -7200 1 -02}
- {2329963200 -10800 0 -02}
- {2341458000 -7200 1 -02}
- {2362017600 -10800 0 -02}
- {2372907600 -7200 1 -02}
- {2393467200 -10800 0 -02}
- {2404357200 -7200 1 -02}
- {2424916800 -10800 0 -02}
- {2435806800 -7200 1 -02}
- {2456366400 -10800 0 -02}
- {2467256400 -7200 1 -02}
- {2487816000 -10800 0 -02}
- {2499310800 -7200 1 -02}
- {2519870400 -10800 0 -02}
- {2530760400 -7200 1 -02}
- {2551320000 -10800 0 -02}
- {2562210000 -7200 1 -02}
- {2582769600 -10800 0 -02}
- {2593659600 -7200 1 -02}
- {2614219200 -10800 0 -02}
- {2625109200 -7200 1 -02}
- {2645668800 -10800 0 -02}
- {2656558800 -7200 1 -02}
- {2677118400 -10800 0 -02}
- {2688613200 -7200 1 -02}
- {2709172800 -10800 0 -02}
- {2720062800 -7200 1 -02}
- {2740622400 -10800 0 -02}
- {2751512400 -7200 1 -02}
- {2772072000 -10800 0 -02}
- {2782962000 -7200 1 -02}
- {2803521600 -10800 0 -02}
- {2814411600 -7200 1 -02}
- {2834971200 -10800 0 -02}
- {2846466000 -7200 1 -02}
- {2867025600 -10800 0 -02}
- {2877915600 -7200 1 -02}
- {2898475200 -10800 0 -02}
- {2909365200 -7200 1 -02}
- {2929924800 -10800 0 -02}
- {2940814800 -7200 1 -02}
- {2961374400 -10800 0 -02}
- {2972264400 -7200 1 -02}
- {2992824000 -10800 0 -02}
- {3003714000 -7200 1 -02}
- {3024273600 -10800 0 -02}
- {3035768400 -7200 1 -02}
- {3056328000 -10800 0 -02}
- {3067218000 -7200 1 -02}
- {3087777600 -10800 0 -02}
- {3098667600 -7200 1 -02}
- {3119227200 -10800 0 -02}
- {3130117200 -7200 1 -02}
- {3150676800 -10800 0 -02}
- {3161566800 -7200 1 -02}
- {3182126400 -10800 0 -02}
- {3193016400 -7200 1 -02}
- {3213576000 -10800 0 -02}
- {3225070800 -7200 1 -02}
- {3245630400 -10800 0 -02}
- {3256520400 -7200 1 -02}
- {3277080000 -10800 0 -02}
- {3287970000 -7200 1 -02}
- {3308529600 -10800 0 -02}
- {3319419600 -7200 1 -02}
- {3339979200 -10800 0 -02}
- {3350869200 -7200 1 -02}
- {3371428800 -10800 0 -02}
- {3382923600 -7200 1 -02}
- {3403483200 -10800 0 -02}
- {3414373200 -7200 1 -02}
- {3434932800 -10800 0 -02}
- {3445822800 -7200 1 -02}
- {3466382400 -10800 0 -02}
- {3477272400 -7200 1 -02}
- {3497832000 -10800 0 -02}
- {3508722000 -7200 1 -02}
- {3529281600 -10800 0 -02}
- {3540171600 -7200 1 -02}
- {3560731200 -10800 0 -02}
- {3572226000 -7200 1 -02}
- {3592785600 -10800 0 -02}
- {3603675600 -7200 1 -02}
- {3624235200 -10800 0 -02}
- {3635125200 -7200 1 -02}
- {3655684800 -10800 0 -02}
- {3666574800 -7200 1 -02}
- {3687134400 -10800 0 -02}
- {3698024400 -7200 1 -02}
- {3718584000 -10800 0 -02}
- {3730078800 -7200 1 -02}
- {3750638400 -10800 0 -02}
- {3761528400 -7200 1 -02}
- {3782088000 -10800 0 -02}
- {3792978000 -7200 1 -02}
- {3813537600 -10800 0 -02}
- {3824427600 -7200 1 -02}
- {3844987200 -10800 0 -02}
- {3855877200 -7200 1 -02}
- {3876436800 -10800 0 -02}
- {3887326800 -7200 1 -02}
- {3907886400 -10800 0 -02}
- {3919381200 -7200 1 -02}
- {3939940800 -10800 0 -02}
- {3950830800 -7200 1 -02}
- {3971390400 -10800 0 -02}
- {3982280400 -7200 1 -02}
- {4002840000 -10800 0 -02}
- {4013730000 -7200 1 -02}
- {4034289600 -10800 0 -02}
- {4045179600 -7200 1 -02}
- {4065739200 -10800 0 -02}
- {4076629200 -7200 1 -02}
- {4097188800 -10800 0 -02}
+ {-1850328920 -14400 0 AST}
+ {326001600 -10800 0 PMST}
+ {536468400 -10800 0 PMST}
+ {544597200 -7200 1 PMDT}
+ {562132800 -10800 0 PMST}
+ {576046800 -7200 1 PMDT}
+ {594187200 -10800 0 PMST}
+ {607496400 -7200 1 PMDT}
+ {625636800 -10800 0 PMST}
+ {638946000 -7200 1 PMDT}
+ {657086400 -10800 0 PMST}
+ {671000400 -7200 1 PMDT}
+ {688536000 -10800 0 PMST}
+ {702450000 -7200 1 PMDT}
+ {719985600 -10800 0 PMST}
+ {733899600 -7200 1 PMDT}
+ {752040000 -10800 0 PMST}
+ {765349200 -7200 1 PMDT}
+ {783489600 -10800 0 PMST}
+ {796798800 -7200 1 PMDT}
+ {814939200 -10800 0 PMST}
+ {828853200 -7200 1 PMDT}
+ {846388800 -10800 0 PMST}
+ {860302800 -7200 1 PMDT}
+ {877838400 -10800 0 PMST}
+ {891752400 -7200 1 PMDT}
+ {909288000 -10800 0 PMST}
+ {923202000 -7200 1 PMDT}
+ {941342400 -10800 0 PMST}
+ {954651600 -7200 1 PMDT}
+ {972792000 -10800 0 PMST}
+ {986101200 -7200 1 PMDT}
+ {1004241600 -10800 0 PMST}
+ {1018155600 -7200 1 PMDT}
+ {1035691200 -10800 0 PMST}
+ {1049605200 -7200 1 PMDT}
+ {1067140800 -10800 0 PMST}
+ {1081054800 -7200 1 PMDT}
+ {1099195200 -10800 0 PMST}
+ {1112504400 -7200 1 PMDT}
+ {1130644800 -10800 0 PMST}
+ {1143954000 -7200 1 PMDT}
+ {1162094400 -10800 0 PMST}
+ {1173589200 -7200 1 PMDT}
+ {1194148800 -10800 0 PMST}
+ {1205038800 -7200 1 PMDT}
+ {1225598400 -10800 0 PMST}
+ {1236488400 -7200 1 PMDT}
+ {1257048000 -10800 0 PMST}
+ {1268542800 -7200 1 PMDT}
+ {1289102400 -10800 0 PMST}
+ {1299992400 -7200 1 PMDT}
+ {1320552000 -10800 0 PMST}
+ {1331442000 -7200 1 PMDT}
+ {1352001600 -10800 0 PMST}
+ {1362891600 -7200 1 PMDT}
+ {1383451200 -10800 0 PMST}
+ {1394341200 -7200 1 PMDT}
+ {1414900800 -10800 0 PMST}
+ {1425790800 -7200 1 PMDT}
+ {1446350400 -10800 0 PMST}
+ {1457845200 -7200 1 PMDT}
+ {1478404800 -10800 0 PMST}
+ {1489294800 -7200 1 PMDT}
+ {1509854400 -10800 0 PMST}
+ {1520744400 -7200 1 PMDT}
+ {1541304000 -10800 0 PMST}
+ {1552194000 -7200 1 PMDT}
+ {1572753600 -10800 0 PMST}
+ {1583643600 -7200 1 PMDT}
+ {1604203200 -10800 0 PMST}
+ {1615698000 -7200 1 PMDT}
+ {1636257600 -10800 0 PMST}
+ {1647147600 -7200 1 PMDT}
+ {1667707200 -10800 0 PMST}
+ {1678597200 -7200 1 PMDT}
+ {1699156800 -10800 0 PMST}
+ {1710046800 -7200 1 PMDT}
+ {1730606400 -10800 0 PMST}
+ {1741496400 -7200 1 PMDT}
+ {1762056000 -10800 0 PMST}
+ {1772946000 -7200 1 PMDT}
+ {1793505600 -10800 0 PMST}
+ {1805000400 -7200 1 PMDT}
+ {1825560000 -10800 0 PMST}
+ {1836450000 -7200 1 PMDT}
+ {1857009600 -10800 0 PMST}
+ {1867899600 -7200 1 PMDT}
+ {1888459200 -10800 0 PMST}
+ {1899349200 -7200 1 PMDT}
+ {1919908800 -10800 0 PMST}
+ {1930798800 -7200 1 PMDT}
+ {1951358400 -10800 0 PMST}
+ {1962853200 -7200 1 PMDT}
+ {1983412800 -10800 0 PMST}
+ {1994302800 -7200 1 PMDT}
+ {2014862400 -10800 0 PMST}
+ {2025752400 -7200 1 PMDT}
+ {2046312000 -10800 0 PMST}
+ {2057202000 -7200 1 PMDT}
+ {2077761600 -10800 0 PMST}
+ {2088651600 -7200 1 PMDT}
+ {2109211200 -10800 0 PMST}
+ {2120101200 -7200 1 PMDT}
+ {2140660800 -10800 0 PMST}
+ {2152155600 -7200 1 PMDT}
+ {2172715200 -10800 0 PMST}
+ {2183605200 -7200 1 PMDT}
+ {2204164800 -10800 0 PMST}
+ {2215054800 -7200 1 PMDT}
+ {2235614400 -10800 0 PMST}
+ {2246504400 -7200 1 PMDT}
+ {2267064000 -10800 0 PMST}
+ {2277954000 -7200 1 PMDT}
+ {2298513600 -10800 0 PMST}
+ {2309403600 -7200 1 PMDT}
+ {2329963200 -10800 0 PMST}
+ {2341458000 -7200 1 PMDT}
+ {2362017600 -10800 0 PMST}
+ {2372907600 -7200 1 PMDT}
+ {2393467200 -10800 0 PMST}
+ {2404357200 -7200 1 PMDT}
+ {2424916800 -10800 0 PMST}
+ {2435806800 -7200 1 PMDT}
+ {2456366400 -10800 0 PMST}
+ {2467256400 -7200 1 PMDT}
+ {2487816000 -10800 0 PMST}
+ {2499310800 -7200 1 PMDT}
+ {2519870400 -10800 0 PMST}
+ {2530760400 -7200 1 PMDT}
+ {2551320000 -10800 0 PMST}
+ {2562210000 -7200 1 PMDT}
+ {2582769600 -10800 0 PMST}
+ {2593659600 -7200 1 PMDT}
+ {2614219200 -10800 0 PMST}
+ {2625109200 -7200 1 PMDT}
+ {2645668800 -10800 0 PMST}
+ {2656558800 -7200 1 PMDT}
+ {2677118400 -10800 0 PMST}
+ {2688613200 -7200 1 PMDT}
+ {2709172800 -10800 0 PMST}
+ {2720062800 -7200 1 PMDT}
+ {2740622400 -10800 0 PMST}
+ {2751512400 -7200 1 PMDT}
+ {2772072000 -10800 0 PMST}
+ {2782962000 -7200 1 PMDT}
+ {2803521600 -10800 0 PMST}
+ {2814411600 -7200 1 PMDT}
+ {2834971200 -10800 0 PMST}
+ {2846466000 -7200 1 PMDT}
+ {2867025600 -10800 0 PMST}
+ {2877915600 -7200 1 PMDT}
+ {2898475200 -10800 0 PMST}
+ {2909365200 -7200 1 PMDT}
+ {2929924800 -10800 0 PMST}
+ {2940814800 -7200 1 PMDT}
+ {2961374400 -10800 0 PMST}
+ {2972264400 -7200 1 PMDT}
+ {2992824000 -10800 0 PMST}
+ {3003714000 -7200 1 PMDT}
+ {3024273600 -10800 0 PMST}
+ {3035768400 -7200 1 PMDT}
+ {3056328000 -10800 0 PMST}
+ {3067218000 -7200 1 PMDT}
+ {3087777600 -10800 0 PMST}
+ {3098667600 -7200 1 PMDT}
+ {3119227200 -10800 0 PMST}
+ {3130117200 -7200 1 PMDT}
+ {3150676800 -10800 0 PMST}
+ {3161566800 -7200 1 PMDT}
+ {3182126400 -10800 0 PMST}
+ {3193016400 -7200 1 PMDT}
+ {3213576000 -10800 0 PMST}
+ {3225070800 -7200 1 PMDT}
+ {3245630400 -10800 0 PMST}
+ {3256520400 -7200 1 PMDT}
+ {3277080000 -10800 0 PMST}
+ {3287970000 -7200 1 PMDT}
+ {3308529600 -10800 0 PMST}
+ {3319419600 -7200 1 PMDT}
+ {3339979200 -10800 0 PMST}
+ {3350869200 -7200 1 PMDT}
+ {3371428800 -10800 0 PMST}
+ {3382923600 -7200 1 PMDT}
+ {3403483200 -10800 0 PMST}
+ {3414373200 -7200 1 PMDT}
+ {3434932800 -10800 0 PMST}
+ {3445822800 -7200 1 PMDT}
+ {3466382400 -10800 0 PMST}
+ {3477272400 -7200 1 PMDT}
+ {3497832000 -10800 0 PMST}
+ {3508722000 -7200 1 PMDT}
+ {3529281600 -10800 0 PMST}
+ {3540171600 -7200 1 PMDT}
+ {3560731200 -10800 0 PMST}
+ {3572226000 -7200 1 PMDT}
+ {3592785600 -10800 0 PMST}
+ {3603675600 -7200 1 PMDT}
+ {3624235200 -10800 0 PMST}
+ {3635125200 -7200 1 PMDT}
+ {3655684800 -10800 0 PMST}
+ {3666574800 -7200 1 PMDT}
+ {3687134400 -10800 0 PMST}
+ {3698024400 -7200 1 PMDT}
+ {3718584000 -10800 0 PMST}
+ {3730078800 -7200 1 PMDT}
+ {3750638400 -10800 0 PMST}
+ {3761528400 -7200 1 PMDT}
+ {3782088000 -10800 0 PMST}
+ {3792978000 -7200 1 PMDT}
+ {3813537600 -10800 0 PMST}
+ {3824427600 -7200 1 PMDT}
+ {3844987200 -10800 0 PMST}
+ {3855877200 -7200 1 PMDT}
+ {3876436800 -10800 0 PMST}
+ {3887326800 -7200 1 PMDT}
+ {3907886400 -10800 0 PMST}
+ {3919381200 -7200 1 PMDT}
+ {3939940800 -10800 0 PMST}
+ {3950830800 -7200 1 PMDT}
+ {3971390400 -10800 0 PMST}
+ {3982280400 -7200 1 PMDT}
+ {4002840000 -10800 0 PMST}
+ {4013730000 -7200 1 PMDT}
+ {4034289600 -10800 0 PMST}
+ {4045179600 -7200 1 PMDT}
+ {4065739200 -10800 0 PMST}
+ {4076629200 -7200 1 PMDT}
+ {4097188800 -10800 0 PMST}
}
diff --git a/library/tzdata/America/Monterrey b/library/tzdata/America/Monterrey
index 7471c6a..4135884 100644
--- a/library/tzdata/America/Monterrey
+++ b/library/tzdata/America/Monterrey
@@ -61,4 +61,158 @@ set TZData(:America/Monterrey) {
{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/Montevideo b/library/tzdata/America/Montevideo
index 27fb76e..91a5117 100644
--- a/library/tzdata/America/Montevideo
+++ b/library/tzdata/America/Montevideo
@@ -1,96 +1,92 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Montevideo) {
- {-9223372036854775808 -13491 0 LMT}
- {-1942690509 -13491 0 MMT}
- {-1567455309 -14400 0 -04}
- {-1459627200 -10800 0 -0330}
- {-1443819600 -12600 0 -0330}
- {-1428006600 -10800 1 -0330}
- {-1412283600 -12600 0 -0330}
- {-1396470600 -10800 1 -0330}
- {-1380747600 -12600 0 -0330}
- {-1141590600 -10800 1 -0330}
- {-1128286800 -12600 0 -0330}
- {-1110141000 -10800 1 -0330}
- {-1096837200 -12600 0 -0330}
- {-1078691400 -10800 1 -0330}
- {-1065387600 -12600 0 -0330}
- {-1047241800 -10800 1 -0330}
- {-1033938000 -12600 0 -0330}
- {-1015187400 -10800 1 -0330}
- {-1002488400 -12600 0 -0330}
- {-983737800 -10800 1 -0330}
- {-971038800 -12600 0 -0330}
- {-954707400 -10800 1 -0330}
- {-938984400 -12600 0 -0330}
- {-920838600 -10800 1 -0330}
- {-907534800 -12600 0 -0330}
- {-896819400 -10800 1 -0330}
- {-853621200 -9000 0 -03}
- {-845847000 -10800 0 -03}
- {-334789200 -9000 1 -03}
- {-319671000 -10800 0 -03}
- {-315608400 -10800 0 -03}
- {-314226000 -7200 1 -03}
- {-309996000 -10800 0 -03}
- {-149720400 -7200 1 -03}
- {-134604000 -10800 0 -03}
- {-63147600 -10800 0 -03}
- {-50446800 -9000 1 -03}
- {-34205400 -10800 0 -03}
- {10800 -10800 0 -03}
- {9860400 -7200 1 -03}
- {14176800 -10800 0 -03}
- {72846000 -7200 1 -03}
- {80100000 -10800 0 -03}
- {126241200 -10800 0 -03}
- {127278000 -5400 1 -03}
- {132112800 -9000 0 -03}
- {147234600 -10800 0 -03}
- {156909600 -10800 0 -03}
- {156913200 -7200 1 -03}
- {165376800 -10800 0 -03}
- {219812400 -7200 1 -03}
- {226461600 -10800 0 -03}
- {250052400 -7200 1 -03}
- {257911200 -10800 0 -03}
- {282711600 -7200 1 -03}
- {289360800 -10800 0 -03}
- {294202800 -7200 1 -03}
- {322020000 -10800 0 -03}
- {566449200 -7200 1 -03}
- {573012000 -10800 0 -03}
- {597812400 -7200 1 -03}
- {605066400 -10800 0 -03}
- {625633200 -7200 1 -03}
- {635911200 -10800 0 -03}
- {656478000 -7200 1 -03}
- {667965600 -10800 0 -03}
- {688532400 -7200 1 -03}
- {699415200 -10800 0 -03}
- {719377200 -7200 1 -03}
- {730864800 -10800 0 -03}
- {1095562800 -7200 1 -03}
- {1111896000 -10800 0 -03}
- {1128834000 -7200 1 -03}
- {1142136000 -10800 0 -03}
- {1159678800 -7200 1 -03}
- {1173585600 -10800 0 -03}
- {1191733200 -7200 1 -03}
- {1205035200 -10800 0 -03}
- {1223182800 -7200 1 -03}
- {1236484800 -10800 0 -03}
- {1254632400 -7200 1 -03}
- {1268539200 -10800 0 -03}
- {1286082000 -7200 1 -03}
- {1299988800 -10800 0 -03}
- {1317531600 -7200 1 -03}
- {1331438400 -10800 0 -03}
- {1349586000 -7200 1 -03}
- {1362888000 -10800 0 -03}
- {1381035600 -7200 1 -03}
- {1394337600 -10800 0 -03}
- {1412485200 -7200 1 -03}
- {1425787200 -10800 0 -03}
+ {-9223372036854775808 -13484 0 LMT}
+ {-2256668116 -13484 0 MMT}
+ {-1567455316 -12600 0 UYT}
+ {-1459542600 -10800 1 UYHST}
+ {-1443819600 -12600 0 UYT}
+ {-1428006600 -10800 1 UYHST}
+ {-1412283600 -12600 0 UYT}
+ {-1396470600 -10800 1 UYHST}
+ {-1380747600 -12600 0 UYT}
+ {-1141590600 -10800 1 UYHST}
+ {-1128286800 -12600 0 UYT}
+ {-1110141000 -10800 1 UYHST}
+ {-1096837200 -12600 0 UYT}
+ {-1078691400 -10800 1 UYHST}
+ {-1065387600 -12600 0 UYT}
+ {-1046637000 -10800 1 UYHST}
+ {-1033938000 -12600 0 UYT}
+ {-1015187400 -10800 1 UYHST}
+ {-1002488400 -12600 0 UYT}
+ {-983737800 -10800 1 UYHST}
+ {-971038800 -12600 0 UYT}
+ {-952288200 -10800 1 UYHST}
+ {-938984400 -12600 0 UYT}
+ {-920838600 -10800 1 UYHST}
+ {-907534800 -12600 0 UYT}
+ {-896819400 -10800 1 UYHST}
+ {-853623000 -10800 0 UYT}
+ {-853621200 -7200 1 UYST}
+ {-845848800 -10800 0 UYT}
+ {-334789200 -7200 1 UYST}
+ {-319672800 -10800 0 UYT}
+ {-314226000 -7200 1 UYST}
+ {-309996000 -10800 0 UYT}
+ {-149720400 -7200 1 UYST}
+ {-134604000 -10800 0 UYT}
+ {-118270800 -7200 1 UYST}
+ {-100044000 -10800 0 UYT}
+ {-86821200 -7200 1 UYST}
+ {-68508000 -10800 0 UYT}
+ {-50446800 -9000 1 UYHST}
+ {-34119000 -10800 0 UYT}
+ {-18910800 -9000 1 UYHST}
+ {-2583000 -10800 0 UYT}
+ {12625200 -9000 1 UYHST}
+ {28953000 -10800 0 UYT}
+ {72932400 -7200 1 UYST}
+ {82692000 -10800 0 UYT}
+ {132116400 -9000 1 UYHST}
+ {156911400 -7200 1 UYST}
+ {212983200 -10800 0 UYT}
+ {250052400 -7200 1 UYST}
+ {260244000 -10800 0 UYT}
+ {307594800 -7200 1 UYST}
+ {325994400 -10800 0 UYT}
+ {566449200 -7200 1 UYST}
+ {574308000 -10800 0 UYT}
+ {597812400 -7200 1 UYST}
+ {605671200 -10800 0 UYT}
+ {625633200 -7200 1 UYST}
+ {636516000 -10800 0 UYT}
+ {656478000 -7200 1 UYST}
+ {667965600 -10800 0 UYT}
+ {688532400 -7200 1 UYST}
+ {699415200 -10800 0 UYT}
+ {719377200 -7200 1 UYST}
+ {730864800 -10800 0 UYT}
+ {1095562800 -7200 1 UYST}
+ {1111896000 -10800 0 UYT}
+ {1128834000 -7200 1 UYST}
+ {1142136000 -10800 0 UYT}
+ {1159678800 -7200 1 UYST}
+ {1173585600 -10800 0 UYT}
+ {1191733200 -7200 1 UYST}
+ {1205035200 -10800 0 UYT}
+ {1223182800 -7200 1 UYST}
+ {1236484800 -10800 0 UYT}
+ {1254632400 -7200 1 UYST}
+ {1268539200 -10800 0 UYT}
+ {1286082000 -7200 1 UYST}
+ {1299988800 -10800 0 UYT}
+ {1317531600 -7200 1 UYST}
+ {1331438400 -10800 0 UYT}
+ {1349586000 -7200 1 UYST}
+ {1362888000 -10800 0 UYT}
+ {1381035600 -7200 1 UYST}
+ {1394337600 -10800 0 UYT}
+ {1412485200 -7200 1 UYST}
+ {1425787200 -10800 0 UYT}
}
diff --git a/library/tzdata/America/Montserrat b/library/tzdata/America/Montserrat
index 9b76b44..0a656d3 100644
--- a/library/tzdata/America/Montserrat
+++ b/library/tzdata/America/Montserrat
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/Montserrat) $TZData(:America/Puerto_Rico)
+set TZData(:America/Montserrat) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Nassau b/library/tzdata/America/Nassau
index ba49bd1..1c35e93 100644
--- a/library/tzdata/America/Nassau
+++ b/library/tzdata/America/Nassau
@@ -1,5 +1,279 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Toronto)]} {
- LoadTimeZoneFile America/Toronto
+
+set TZData(:America/Nassau) {
+ {-9223372036854775808 -18570 0 LMT}
+ {-1825095030 -18000 0 EST}
+ {-179341200 -14400 1 EDT}
+ {-163620000 -18000 0 EST}
+ {-147891600 -14400 1 EDT}
+ {-131565600 -18000 0 EST}
+ {-116442000 -14400 1 EDT}
+ {-100116000 -18000 0 EST}
+ {-84387600 -14400 1 EDT}
+ {-68666400 -18000 0 EST}
+ {-52938000 -14400 1 EDT}
+ {-37216800 -18000 0 EST}
+ {-21488400 -14400 1 EDT}
+ {-5767200 -18000 0 EST}
+ {9961200 -14400 1 EDT}
+ {25682400 -18000 0 EST}
+ {41410800 -14400 1 EDT}
+ {57736800 -18000 0 EST}
+ {73465200 -14400 1 EDT}
+ {89186400 -18000 0 EST}
+ {104914800 -14400 1 EDT}
+ {120636000 -18000 0 EST}
+ {136364400 -14400 1 EDT}
+ {152085600 -18000 0 EST}
+ {167814000 -14400 1 EDT}
+ {183535200 -18000 0 EST}
+ {189320400 -18000 0 EST}
+ {199263600 -14400 1 EDT}
+ {215589600 -18000 0 EST}
+ {230713200 -14400 1 EDT}
+ {247039200 -18000 0 EST}
+ {262767600 -14400 1 EDT}
+ {278488800 -18000 0 EST}
+ {294217200 -14400 1 EDT}
+ {309938400 -18000 0 EST}
+ {325666800 -14400 1 EDT}
+ {341388000 -18000 0 EST}
+ {357116400 -14400 1 EDT}
+ {372837600 -18000 0 EST}
+ {388566000 -14400 1 EDT}
+ {404892000 -18000 0 EST}
+ {420015600 -14400 1 EDT}
+ {436341600 -18000 0 EST}
+ {452070000 -14400 1 EDT}
+ {467791200 -18000 0 EST}
+ {483519600 -14400 1 EDT}
+ {499240800 -18000 0 EST}
+ {514969200 -14400 1 EDT}
+ {530690400 -18000 0 EST}
+ {544604400 -14400 1 EDT}
+ {562140000 -18000 0 EST}
+ {576054000 -14400 1 EDT}
+ {594194400 -18000 0 EST}
+ {607503600 -14400 1 EDT}
+ {625644000 -18000 0 EST}
+ {638953200 -14400 1 EDT}
+ {657093600 -18000 0 EST}
+ {671007600 -14400 1 EDT}
+ {688543200 -18000 0 EST}
+ {702457200 -14400 1 EDT}
+ {719992800 -18000 0 EST}
+ {733906800 -14400 1 EDT}
+ {752047200 -18000 0 EST}
+ {765356400 -14400 1 EDT}
+ {783496800 -18000 0 EST}
+ {796806000 -14400 1 EDT}
+ {814946400 -18000 0 EST}
+ {828860400 -14400 1 EDT}
+ {846396000 -18000 0 EST}
+ {860310000 -14400 1 EDT}
+ {877845600 -18000 0 EST}
+ {891759600 -14400 1 EDT}
+ {909295200 -18000 0 EST}
+ {923209200 -14400 1 EDT}
+ {941349600 -18000 0 EST}
+ {954658800 -14400 1 EDT}
+ {972799200 -18000 0 EST}
+ {986108400 -14400 1 EDT}
+ {1004248800 -18000 0 EST}
+ {1018162800 -14400 1 EDT}
+ {1035698400 -18000 0 EST}
+ {1049612400 -14400 1 EDT}
+ {1067148000 -18000 0 EST}
+ {1081062000 -14400 1 EDT}
+ {1099202400 -18000 0 EST}
+ {1112511600 -14400 1 EDT}
+ {1130652000 -18000 0 EST}
+ {1143961200 -14400 1 EDT}
+ {1162101600 -18000 0 EST}
+ {1173596400 -14400 1 EDT}
+ {1194156000 -18000 0 EST}
+ {1205046000 -14400 1 EDT}
+ {1225605600 -18000 0 EST}
+ {1236495600 -14400 1 EDT}
+ {1257055200 -18000 0 EST}
+ {1268550000 -14400 1 EDT}
+ {1289109600 -18000 0 EST}
+ {1299999600 -14400 1 EDT}
+ {1320559200 -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}
}
-set TZData(:America/Nassau) $TZData(:America/Toronto)
diff --git a/library/tzdata/America/Nipigon b/library/tzdata/America/Nipigon
index 785a3a3..30690aa 100644
--- a/library/tzdata/America/Nipigon
+++ b/library/tzdata/America/Nipigon
@@ -1,5 +1,264 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Toronto)]} {
- LoadTimeZoneFile America/Toronto
+
+set TZData(:America/Nipigon) {
+ {-9223372036854775808 -21184 0 LMT}
+ {-2366734016 -18000 0 EST}
+ {-1632070800 -14400 1 EDT}
+ {-1615140000 -18000 0 EST}
+ {-923252400 -14400 1 EDT}
+ {-880218000 -14400 0 EWT}
+ {-769395600 -14400 1 EPT}
+ {-765396000 -18000 0 EST}
+ {136364400 -14400 1 EDT}
+ {152085600 -18000 0 EST}
+ {167814000 -14400 1 EDT}
+ {183535200 -18000 0 EST}
+ {199263600 -14400 1 EDT}
+ {215589600 -18000 0 EST}
+ {230713200 -14400 1 EDT}
+ {247039200 -18000 0 EST}
+ {262767600 -14400 1 EDT}
+ {278488800 -18000 0 EST}
+ {294217200 -14400 1 EDT}
+ {309938400 -18000 0 EST}
+ {325666800 -14400 1 EDT}
+ {341388000 -18000 0 EST}
+ {357116400 -14400 1 EDT}
+ {372837600 -18000 0 EST}
+ {388566000 -14400 1 EDT}
+ {404892000 -18000 0 EST}
+ {420015600 -14400 1 EDT}
+ {436341600 -18000 0 EST}
+ {452070000 -14400 1 EDT}
+ {467791200 -18000 0 EST}
+ {483519600 -14400 1 EDT}
+ {499240800 -18000 0 EST}
+ {514969200 -14400 1 EDT}
+ {530690400 -18000 0 EST}
+ {544604400 -14400 1 EDT}
+ {562140000 -18000 0 EST}
+ {576054000 -14400 1 EDT}
+ {594194400 -18000 0 EST}
+ {607503600 -14400 1 EDT}
+ {625644000 -18000 0 EST}
+ {638953200 -14400 1 EDT}
+ {657093600 -18000 0 EST}
+ {671007600 -14400 1 EDT}
+ {688543200 -18000 0 EST}
+ {702457200 -14400 1 EDT}
+ {719992800 -18000 0 EST}
+ {733906800 -14400 1 EDT}
+ {752047200 -18000 0 EST}
+ {765356400 -14400 1 EDT}
+ {783496800 -18000 0 EST}
+ {796806000 -14400 1 EDT}
+ {814946400 -18000 0 EST}
+ {828860400 -14400 1 EDT}
+ {846396000 -18000 0 EST}
+ {860310000 -14400 1 EDT}
+ {877845600 -18000 0 EST}
+ {891759600 -14400 1 EDT}
+ {909295200 -18000 0 EST}
+ {923209200 -14400 1 EDT}
+ {941349600 -18000 0 EST}
+ {954658800 -14400 1 EDT}
+ {972799200 -18000 0 EST}
+ {986108400 -14400 1 EDT}
+ {1004248800 -18000 0 EST}
+ {1018162800 -14400 1 EDT}
+ {1035698400 -18000 0 EST}
+ {1049612400 -14400 1 EDT}
+ {1067148000 -18000 0 EST}
+ {1081062000 -14400 1 EDT}
+ {1099202400 -18000 0 EST}
+ {1112511600 -14400 1 EDT}
+ {1130652000 -18000 0 EST}
+ {1143961200 -14400 1 EDT}
+ {1162101600 -18000 0 EST}
+ {1173596400 -14400 1 EDT}
+ {1194156000 -18000 0 EST}
+ {1205046000 -14400 1 EDT}
+ {1225605600 -18000 0 EST}
+ {1236495600 -14400 1 EDT}
+ {1257055200 -18000 0 EST}
+ {1268550000 -14400 1 EDT}
+ {1289109600 -18000 0 EST}
+ {1299999600 -14400 1 EDT}
+ {1320559200 -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}
}
-set TZData(:America/Nipigon) $TZData(:America/Toronto)
diff --git a/library/tzdata/America/Nome b/library/tzdata/America/Nome
index d7a9186..c095b79 100644
--- a/library/tzdata/America/Nome
+++ b/library/tzdata/America/Nome
@@ -1,8 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Nome) {
- {-9223372036854775808 46702 0 LMT}
- {-3225223727 -39698 0 LMT}
+ {-9223372036854775808 46701 0 LMT}
+ {-3225358701 -39698 0 LMT}
{-2188947502 -39600 0 NST}
{-883573200 -39600 0 NST}
{-880196400 -36000 1 NWT}
diff --git a/library/tzdata/America/Noronha b/library/tzdata/America/Noronha
index 01fb745..94d6f42 100644
--- a/library/tzdata/America/Noronha
+++ b/library/tzdata/America/Noronha
@@ -2,47 +2,47 @@
set TZData(:America/Noronha) {
{-9223372036854775808 -7780 0 LMT}
- {-1767217820 -7200 0 -02}
- {-1206961200 -3600 1 -02}
- {-1191366000 -7200 0 -02}
- {-1175378400 -3600 1 -02}
- {-1159830000 -7200 0 -02}
- {-633823200 -3600 1 -02}
- {-622072800 -7200 0 -02}
- {-602287200 -3600 1 -02}
- {-591836400 -7200 0 -02}
- {-570751200 -3600 1 -02}
- {-560214000 -7200 0 -02}
- {-539128800 -3600 1 -02}
- {-531356400 -7200 0 -02}
- {-191368800 -3600 1 -02}
- {-184201200 -7200 0 -02}
- {-155167200 -3600 1 -02}
- {-150073200 -7200 0 -02}
- {-128901600 -3600 1 -02}
- {-121129200 -7200 0 -02}
- {-99957600 -3600 1 -02}
- {-89593200 -7200 0 -02}
- {-68421600 -3600 1 -02}
- {-57970800 -7200 0 -02}
- {499744800 -3600 1 -02}
- {511232400 -7200 0 -02}
- {530589600 -3600 1 -02}
- {540262800 -7200 0 -02}
- {562125600 -3600 1 -02}
- {571194000 -7200 0 -02}
- {592970400 -3600 1 -02}
- {602038800 -7200 0 -02}
- {624420000 -3600 1 -02}
- {634698000 -7200 0 -02}
- {653533200 -7200 0 -02}
- {938656800 -7200 0 -02}
- {938916000 -3600 1 -02}
- {951613200 -7200 0 -02}
- {970970400 -3600 1 -02}
- {971571600 -7200 0 -02}
- {1000346400 -7200 0 -02}
- {1003024800 -3600 1 -02}
- {1013907600 -7200 0 -02}
- {1033434000 -7200 0 -02}
+ {-1767217820 -7200 0 FNT}
+ {-1206961200 -3600 1 FNST}
+ {-1191366000 -7200 0 FNT}
+ {-1175378400 -3600 1 FNST}
+ {-1159830000 -7200 0 FNT}
+ {-633823200 -3600 1 FNST}
+ {-622072800 -7200 0 FNT}
+ {-602287200 -3600 1 FNST}
+ {-591836400 -7200 0 FNT}
+ {-570751200 -3600 1 FNST}
+ {-560214000 -7200 0 FNT}
+ {-539128800 -3600 1 FNST}
+ {-531356400 -7200 0 FNT}
+ {-191368800 -3600 1 FNST}
+ {-184201200 -7200 0 FNT}
+ {-155167200 -3600 1 FNST}
+ {-150073200 -7200 0 FNT}
+ {-128901600 -3600 1 FNST}
+ {-121129200 -7200 0 FNT}
+ {-99957600 -3600 1 FNST}
+ {-89593200 -7200 0 FNT}
+ {-68421600 -3600 1 FNST}
+ {-57970800 -7200 0 FNT}
+ {499744800 -3600 1 FNST}
+ {511232400 -7200 0 FNT}
+ {530589600 -3600 1 FNST}
+ {540262800 -7200 0 FNT}
+ {562125600 -3600 1 FNST}
+ {571194000 -7200 0 FNT}
+ {592970400 -3600 1 FNST}
+ {602038800 -7200 0 FNT}
+ {624420000 -3600 1 FNST}
+ {634698000 -7200 0 FNT}
+ {653533200 -7200 0 FNT}
+ {938656800 -7200 0 FNT}
+ {938916000 -3600 1 FNST}
+ {951613200 -7200 0 FNT}
+ {970970400 -3600 1 FNST}
+ {971571600 -7200 0 FNT}
+ {1000346400 -7200 0 FNT}
+ {1003024800 -3600 1 FNST}
+ {1013907600 -7200 0 FNT}
+ {1033434000 -7200 0 FNT}
}
diff --git a/library/tzdata/America/Nuuk b/library/tzdata/America/Nuuk
deleted file mode 100644
index cb136da..0000000
--- a/library/tzdata/America/Nuuk
+++ /dev/null
@@ -1,246 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Nuuk) {
- {-9223372036854775808 -12416 0 LMT}
- {-1686083584 -10800 0 -03}
- {323845200 -7200 0 -02}
- {338950800 -10800 0 -03}
- {354675600 -7200 1 -02}
- {370400400 -10800 0 -03}
- {386125200 -7200 1 -02}
- {401850000 -10800 0 -03}
- {417574800 -7200 1 -02}
- {433299600 -10800 0 -03}
- {449024400 -7200 1 -02}
- {465354000 -10800 0 -03}
- {481078800 -7200 1 -02}
- {496803600 -10800 0 -03}
- {512528400 -7200 1 -02}
- {528253200 -10800 0 -03}
- {543978000 -7200 1 -02}
- {559702800 -10800 0 -03}
- {575427600 -7200 1 -02}
- {591152400 -10800 0 -03}
- {606877200 -7200 1 -02}
- {622602000 -10800 0 -03}
- {638326800 -7200 1 -02}
- {654656400 -10800 0 -03}
- {670381200 -7200 1 -02}
- {686106000 -10800 0 -03}
- {701830800 -7200 1 -02}
- {717555600 -10800 0 -03}
- {733280400 -7200 1 -02}
- {749005200 -10800 0 -03}
- {764730000 -7200 1 -02}
- {780454800 -10800 0 -03}
- {796179600 -7200 1 -02}
- {811904400 -10800 0 -03}
- {828234000 -7200 1 -02}
- {846378000 -10800 0 -03}
- {859683600 -7200 1 -02}
- {877827600 -10800 0 -03}
- {891133200 -7200 1 -02}
- {909277200 -10800 0 -03}
- {922582800 -7200 1 -02}
- {941331600 -10800 0 -03}
- {954032400 -7200 1 -02}
- {972781200 -10800 0 -03}
- {985482000 -7200 1 -02}
- {1004230800 -10800 0 -03}
- {1017536400 -7200 1 -02}
- {1035680400 -10800 0 -03}
- {1048986000 -7200 1 -02}
- {1067130000 -10800 0 -03}
- {1080435600 -7200 1 -02}
- {1099184400 -10800 0 -03}
- {1111885200 -7200 1 -02}
- {1130634000 -10800 0 -03}
- {1143334800 -7200 1 -02}
- {1162083600 -10800 0 -03}
- {1174784400 -7200 1 -02}
- {1193533200 -10800 0 -03}
- {1206838800 -7200 1 -02}
- {1224982800 -10800 0 -03}
- {1238288400 -7200 1 -02}
- {1256432400 -10800 0 -03}
- {1269738000 -7200 1 -02}
- {1288486800 -10800 0 -03}
- {1301187600 -7200 1 -02}
- {1319936400 -10800 0 -03}
- {1332637200 -7200 1 -02}
- {1351386000 -10800 0 -03}
- {1364691600 -7200 1 -02}
- {1382835600 -10800 0 -03}
- {1396141200 -7200 1 -02}
- {1414285200 -10800 0 -03}
- {1427590800 -7200 1 -02}
- {1445734800 -10800 0 -03}
- {1459040400 -7200 1 -02}
- {1477789200 -10800 0 -03}
- {1490490000 -7200 1 -02}
- {1509238800 -10800 0 -03}
- {1521939600 -7200 1 -02}
- {1540688400 -10800 0 -03}
- {1553994000 -7200 1 -02}
- {1572138000 -10800 0 -03}
- {1585443600 -7200 1 -02}
- {1603587600 -10800 0 -03}
- {1616893200 -7200 1 -02}
- {1635642000 -10800 0 -03}
- {1648342800 -7200 1 -02}
- {1667091600 -10800 0 -03}
- {1679792400 -7200 0 -02}
- {1698541200 -7200 0 -02}
- {1711846800 -3600 1 -01}
- {1729990800 -7200 0 -02}
- {1743296400 -3600 1 -01}
- {1761440400 -7200 0 -02}
- {1774746000 -3600 1 -01}
- {1792890000 -7200 0 -02}
- {1806195600 -3600 1 -01}
- {1824944400 -7200 0 -02}
- {1837645200 -3600 1 -01}
- {1856394000 -7200 0 -02}
- {1869094800 -3600 1 -01}
- {1887843600 -7200 0 -02}
- {1901149200 -3600 1 -01}
- {1919293200 -7200 0 -02}
- {1932598800 -3600 1 -01}
- {1950742800 -7200 0 -02}
- {1964048400 -3600 1 -01}
- {1982797200 -7200 0 -02}
- {1995498000 -3600 1 -01}
- {2014246800 -7200 0 -02}
- {2026947600 -3600 1 -01}
- {2045696400 -7200 0 -02}
- {2058397200 -3600 1 -01}
- {2077146000 -7200 0 -02}
- {2090451600 -3600 1 -01}
- {2108595600 -7200 0 -02}
- {2121901200 -3600 1 -01}
- {2140045200 -7200 0 -02}
- {2153350800 -3600 1 -01}
- {2172099600 -7200 0 -02}
- {2184800400 -3600 1 -01}
- {2203549200 -7200 0 -02}
- {2216250000 -3600 1 -01}
- {2234998800 -7200 0 -02}
- {2248304400 -3600 1 -01}
- {2266448400 -7200 0 -02}
- {2279754000 -3600 1 -01}
- {2297898000 -7200 0 -02}
- {2311203600 -3600 1 -01}
- {2329347600 -7200 0 -02}
- {2342653200 -3600 1 -01}
- {2361402000 -7200 0 -02}
- {2374102800 -3600 1 -01}
- {2392851600 -7200 0 -02}
- {2405552400 -3600 1 -01}
- {2424301200 -7200 0 -02}
- {2437606800 -3600 1 -01}
- {2455750800 -7200 0 -02}
- {2469056400 -3600 1 -01}
- {2487200400 -7200 0 -02}
- {2500506000 -3600 1 -01}
- {2519254800 -7200 0 -02}
- {2531955600 -3600 1 -01}
- {2550704400 -7200 0 -02}
- {2563405200 -3600 1 -01}
- {2582154000 -7200 0 -02}
- {2595459600 -3600 1 -01}
- {2613603600 -7200 0 -02}
- {2626909200 -3600 1 -01}
- {2645053200 -7200 0 -02}
- {2658358800 -3600 1 -01}
- {2676502800 -7200 0 -02}
- {2689808400 -3600 1 -01}
- {2708557200 -7200 0 -02}
- {2721258000 -3600 1 -01}
- {2740006800 -7200 0 -02}
- {2752707600 -3600 1 -01}
- {2771456400 -7200 0 -02}
- {2784762000 -3600 1 -01}
- {2802906000 -7200 0 -02}
- {2816211600 -3600 1 -01}
- {2834355600 -7200 0 -02}
- {2847661200 -3600 1 -01}
- {2866410000 -7200 0 -02}
- {2879110800 -3600 1 -01}
- {2897859600 -7200 0 -02}
- {2910560400 -3600 1 -01}
- {2929309200 -7200 0 -02}
- {2942010000 -3600 1 -01}
- {2960758800 -7200 0 -02}
- {2974064400 -3600 1 -01}
- {2992208400 -7200 0 -02}
- {3005514000 -3600 1 -01}
- {3023658000 -7200 0 -02}
- {3036963600 -3600 1 -01}
- {3055712400 -7200 0 -02}
- {3068413200 -3600 1 -01}
- {3087162000 -7200 0 -02}
- {3099862800 -3600 1 -01}
- {3118611600 -7200 0 -02}
- {3131917200 -3600 1 -01}
- {3150061200 -7200 0 -02}
- {3163366800 -3600 1 -01}
- {3181510800 -7200 0 -02}
- {3194816400 -3600 1 -01}
- {3212960400 -7200 0 -02}
- {3226266000 -3600 1 -01}
- {3245014800 -7200 0 -02}
- {3257715600 -3600 1 -01}
- {3276464400 -7200 0 -02}
- {3289165200 -3600 1 -01}
- {3307914000 -7200 0 -02}
- {3321219600 -3600 1 -01}
- {3339363600 -7200 0 -02}
- {3352669200 -3600 1 -01}
- {3370813200 -7200 0 -02}
- {3384118800 -3600 1 -01}
- {3402867600 -7200 0 -02}
- {3415568400 -3600 1 -01}
- {3434317200 -7200 0 -02}
- {3447018000 -3600 1 -01}
- {3465766800 -7200 0 -02}
- {3479072400 -3600 1 -01}
- {3497216400 -7200 0 -02}
- {3510522000 -3600 1 -01}
- {3528666000 -7200 0 -02}
- {3541971600 -3600 1 -01}
- {3560115600 -7200 0 -02}
- {3573421200 -3600 1 -01}
- {3592170000 -7200 0 -02}
- {3604870800 -3600 1 -01}
- {3623619600 -7200 0 -02}
- {3636320400 -3600 1 -01}
- {3655069200 -7200 0 -02}
- {3668374800 -3600 1 -01}
- {3686518800 -7200 0 -02}
- {3699824400 -3600 1 -01}
- {3717968400 -7200 0 -02}
- {3731274000 -3600 1 -01}
- {3750022800 -7200 0 -02}
- {3762723600 -3600 1 -01}
- {3781472400 -7200 0 -02}
- {3794173200 -3600 1 -01}
- {3812922000 -7200 0 -02}
- {3825622800 -3600 1 -01}
- {3844371600 -7200 0 -02}
- {3857677200 -3600 1 -01}
- {3875821200 -7200 0 -02}
- {3889126800 -3600 1 -01}
- {3907270800 -7200 0 -02}
- {3920576400 -3600 1 -01}
- {3939325200 -7200 0 -02}
- {3952026000 -3600 1 -01}
- {3970774800 -7200 0 -02}
- {3983475600 -3600 1 -01}
- {4002224400 -7200 0 -02}
- {4015530000 -3600 1 -01}
- {4033674000 -7200 0 -02}
- {4046979600 -3600 1 -01}
- {4065123600 -7200 0 -02}
- {4078429200 -3600 1 -01}
- {4096573200 -7200 0 -02}
-}
diff --git a/library/tzdata/America/Ojinaga b/library/tzdata/America/Ojinaga
index e189f72..1172708 100644
--- a/library/tzdata/America/Ojinaga
+++ b/library/tzdata/America/Ojinaga
@@ -5,7 +5,7 @@ set TZData(:America/Ojinaga) {
{-1514739600 -25200 0 MST}
{-1343066400 -21600 0 CST}
{-1234807200 -25200 0 MST}
- {-1220292000 -21600 1 MDT}
+ {-1220292000 -21600 0 CST}
{-1207159200 -25200 0 MST}
{-1191344400 -21600 0 CST}
{820476000 -21600 0 CST}
@@ -64,160 +64,159 @@ set TZData(:America/Ojinaga) {
{1615712400 -21600 1 MDT}
{1636272000 -25200 0 MST}
{1647162000 -21600 1 MDT}
- {1667120400 -21600 0 CST}
- {1669788000 -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}
+ {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/Pangnirtung b/library/tzdata/America/Pangnirtung
index b7db25d..640808e 100644
--- a/library/tzdata/America/Pangnirtung
+++ b/library/tzdata/America/Pangnirtung
@@ -1,5 +1,252 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Iqaluit)]} {
- LoadTimeZoneFile America/Iqaluit
+
+set TZData(:America/Pangnirtung) {
+ {-9223372036854775808 0 0 zzz}
+ {-1546300800 -14400 0 AST}
+ {-880221600 -10800 1 AWT}
+ {-769395600 -10800 1 APT}
+ {-765399600 -14400 0 AST}
+ {-147902400 -7200 1 ADDT}
+ {-131572800 -14400 0 AST}
+ {325663200 -10800 1 ADT}
+ {341384400 -14400 0 AST}
+ {357112800 -10800 1 ADT}
+ {372834000 -14400 0 AST}
+ {388562400 -10800 1 ADT}
+ {404888400 -14400 0 AST}
+ {420012000 -10800 1 ADT}
+ {436338000 -14400 0 AST}
+ {452066400 -10800 1 ADT}
+ {467787600 -14400 0 AST}
+ {483516000 -10800 1 ADT}
+ {499237200 -14400 0 AST}
+ {514965600 -10800 1 ADT}
+ {530686800 -14400 0 AST}
+ {544600800 -10800 1 ADT}
+ {562136400 -14400 0 AST}
+ {576050400 -10800 1 ADT}
+ {594190800 -14400 0 AST}
+ {607500000 -10800 1 ADT}
+ {625640400 -14400 0 AST}
+ {638949600 -10800 1 ADT}
+ {657090000 -14400 0 AST}
+ {671004000 -10800 1 ADT}
+ {688539600 -14400 0 AST}
+ {702453600 -10800 1 ADT}
+ {719989200 -14400 0 AST}
+ {733903200 -10800 1 ADT}
+ {752043600 -14400 0 AST}
+ {765352800 -10800 1 ADT}
+ {783493200 -14400 0 AST}
+ {796802400 -18000 0 EST}
+ {796806000 -14400 1 EDT}
+ {814946400 -18000 0 EST}
+ {828860400 -14400 1 EDT}
+ {846396000 -18000 0 EST}
+ {860310000 -14400 1 EDT}
+ {877845600 -18000 0 EST}
+ {891759600 -14400 1 EDT}
+ {909295200 -18000 0 EST}
+ {923209200 -14400 1 EDT}
+ {941353200 -21600 0 CST}
+ {954662400 -18000 1 CDT}
+ {972806400 -18000 0 EST}
+ {986108400 -14400 1 EDT}
+ {1004248800 -18000 0 EST}
+ {1018162800 -14400 1 EDT}
+ {1035698400 -18000 0 EST}
+ {1049612400 -14400 1 EDT}
+ {1067148000 -18000 0 EST}
+ {1081062000 -14400 1 EDT}
+ {1099202400 -18000 0 EST}
+ {1112511600 -14400 1 EDT}
+ {1130652000 -18000 0 EST}
+ {1143961200 -14400 1 EDT}
+ {1162101600 -18000 0 EST}
+ {1173596400 -14400 1 EDT}
+ {1194156000 -18000 0 EST}
+ {1205046000 -14400 1 EDT}
+ {1225605600 -18000 0 EST}
+ {1236495600 -14400 1 EDT}
+ {1257055200 -18000 0 EST}
+ {1268550000 -14400 1 EDT}
+ {1289109600 -18000 0 EST}
+ {1299999600 -14400 1 EDT}
+ {1320559200 -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}
}
-set TZData(:America/Pangnirtung) $TZData(:America/Iqaluit)
diff --git a/library/tzdata/America/Paramaribo b/library/tzdata/America/Paramaribo
index 7a80f1d..d15f5c7 100644
--- a/library/tzdata/America/Paramaribo
+++ b/library/tzdata/America/Paramaribo
@@ -4,6 +4,7 @@ set TZData(:America/Paramaribo) {
{-9223372036854775808 -13240 0 LMT}
{-1861906760 -13252 0 PMT}
{-1104524348 -13236 0 PMT}
- {-765317964 -12600 0 -0330}
- {465449400 -10800 0 -03}
+ {-765317964 -12600 0 NEGT}
+ {185686200 -12600 0 SRT}
+ {465449400 -10800 0 SRT}
}
diff --git a/library/tzdata/America/Port-au-Prince b/library/tzdata/America/Port-au-Prince
index 23e7de4..f1d7fc4 100644
--- a/library/tzdata/America/Port-au-Prince
+++ b/library/tzdata/America/Port-au-Prince
@@ -46,6 +46,8 @@ set TZData(:America/Port-au-Prince) {
{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}
diff --git a/library/tzdata/America/Port_of_Spain b/library/tzdata/America/Port_of_Spain
index 5b41296..c360c87 100644
--- a/library/tzdata/America/Port_of_Spain
+++ b/library/tzdata/America/Port_of_Spain
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+
+set TZData(:America/Port_of_Spain) {
+ {-9223372036854775808 -14764 0 LMT}
+ {-1825098836 -14400 0 AST}
}
-set TZData(:America/Port_of_Spain) $TZData(:America/Puerto_Rico)
diff --git a/library/tzdata/America/Porto_Velho b/library/tzdata/America/Porto_Velho
index 8d7c8fd..ce611d2 100644
--- a/library/tzdata/America/Porto_Velho
+++ b/library/tzdata/America/Porto_Velho
@@ -2,34 +2,34 @@
set TZData(:America/Porto_Velho) {
{-9223372036854775808 -15336 0 LMT}
- {-1767210264 -14400 0 -04}
- {-1206954000 -10800 1 -04}
- {-1191358800 -14400 0 -04}
- {-1175371200 -10800 1 -04}
- {-1159822800 -14400 0 -04}
- {-633816000 -10800 1 -04}
- {-622065600 -14400 0 -04}
- {-602280000 -10800 1 -04}
- {-591829200 -14400 0 -04}
- {-570744000 -10800 1 -04}
- {-560206800 -14400 0 -04}
- {-539121600 -10800 1 -04}
- {-531349200 -14400 0 -04}
- {-191361600 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-155160000 -10800 1 -04}
- {-150066000 -14400 0 -04}
- {-128894400 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-99950400 -10800 1 -04}
- {-89586000 -14400 0 -04}
- {-68414400 -10800 1 -04}
- {-57963600 -14400 0 -04}
- {499752000 -10800 1 -04}
- {511239600 -14400 0 -04}
- {530596800 -10800 1 -04}
- {540270000 -14400 0 -04}
- {562132800 -10800 1 -04}
- {571201200 -14400 0 -04}
- {590036400 -14400 0 -04}
+ {-1767210264 -14400 0 AMT}
+ {-1206954000 -10800 1 AMST}
+ {-1191358800 -14400 0 AMT}
+ {-1175371200 -10800 1 AMST}
+ {-1159822800 -14400 0 AMT}
+ {-633816000 -10800 1 AMST}
+ {-622065600 -14400 0 AMT}
+ {-602280000 -10800 1 AMST}
+ {-591829200 -14400 0 AMT}
+ {-570744000 -10800 1 AMST}
+ {-560206800 -14400 0 AMT}
+ {-539121600 -10800 1 AMST}
+ {-531349200 -14400 0 AMT}
+ {-191361600 -10800 1 AMST}
+ {-184194000 -14400 0 AMT}
+ {-155160000 -10800 1 AMST}
+ {-150066000 -14400 0 AMT}
+ {-128894400 -10800 1 AMST}
+ {-121122000 -14400 0 AMT}
+ {-99950400 -10800 1 AMST}
+ {-89586000 -14400 0 AMT}
+ {-68414400 -10800 1 AMST}
+ {-57963600 -14400 0 AMT}
+ {499752000 -10800 1 AMST}
+ {511239600 -14400 0 AMT}
+ {530596800 -10800 1 AMST}
+ {540270000 -14400 0 AMT}
+ {562132800 -10800 1 AMST}
+ {571201200 -14400 0 AMT}
+ {590036400 -14400 0 AMT}
}
diff --git a/library/tzdata/America/Punta_Arenas b/library/tzdata/America/Punta_Arenas
deleted file mode 100644
index 8b06e6a..0000000
--- a/library/tzdata/America/Punta_Arenas
+++ /dev/null
@@ -1,123 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:America/Punta_Arenas) {
- {-9223372036854775808 -17020 0 LMT}
- {-2524504580 -16965 0 SMT}
- {-1892661435 -18000 0 -05}
- {-1688410800 -16965 0 SMT}
- {-1619205435 -14400 0 -04}
- {-1593806400 -16965 0 SMT}
- {-1335986235 -18000 0 -05}
- {-1335985200 -14400 1 -05}
- {-1317585600 -18000 0 -05}
- {-1304362800 -14400 1 -05}
- {-1286049600 -18000 0 -05}
- {-1272826800 -14400 1 -05}
- {-1254513600 -18000 0 -05}
- {-1241290800 -14400 1 -05}
- {-1222977600 -18000 0 -05}
- {-1209754800 -14400 1 -05}
- {-1191355200 -18000 0 -05}
- {-1178132400 -14400 0 -04}
- {-870552000 -18000 0 -05}
- {-865278000 -14400 0 -04}
- {-736632000 -14400 1 -04}
- {-718056000 -18000 0 -05}
- {-713649600 -14400 0 -04}
- {-36619200 -10800 1 -04}
- {-23922000 -14400 0 -04}
- {-3355200 -10800 1 -04}
- {7527600 -14400 0 -04}
- {24465600 -10800 1 -04}
- {37767600 -14400 0 -04}
- {55915200 -10800 1 -04}
- {69217200 -14400 0 -04}
- {87969600 -10800 1 -04}
- {100666800 -14400 0 -04}
- {118209600 -10800 1 -04}
- {132116400 -14400 0 -04}
- {150868800 -10800 1 -04}
- {163566000 -14400 0 -04}
- {182318400 -10800 1 -04}
- {195620400 -14400 0 -04}
- {213768000 -10800 1 -04}
- {227070000 -14400 0 -04}
- {245217600 -10800 1 -04}
- {258519600 -14400 0 -04}
- {277272000 -10800 1 -04}
- {289969200 -14400 0 -04}
- {308721600 -10800 1 -04}
- {321418800 -14400 0 -04}
- {340171200 -10800 1 -04}
- {353473200 -14400 0 -04}
- {371620800 -10800 1 -04}
- {384922800 -14400 0 -04}
- {403070400 -10800 1 -04}
- {416372400 -14400 0 -04}
- {434520000 -10800 1 -04}
- {447822000 -14400 0 -04}
- {466574400 -10800 1 -04}
- {479271600 -14400 0 -04}
- {498024000 -10800 1 -04}
- {510721200 -14400 0 -04}
- {529473600 -10800 1 -04}
- {545194800 -14400 0 -04}
- {560923200 -10800 1 -04}
- {574225200 -14400 0 -04}
- {592372800 -10800 1 -04}
- {605674800 -14400 0 -04}
- {624427200 -10800 1 -04}
- {637124400 -14400 0 -04}
- {653457600 -10800 1 -04}
- {668574000 -14400 0 -04}
- {687326400 -10800 1 -04}
- {700628400 -14400 0 -04}
- {718776000 -10800 1 -04}
- {732078000 -14400 0 -04}
- {750225600 -10800 1 -04}
- {763527600 -14400 0 -04}
- {781675200 -10800 1 -04}
- {794977200 -14400 0 -04}
- {813729600 -10800 1 -04}
- {826426800 -14400 0 -04}
- {845179200 -10800 1 -04}
- {859690800 -14400 0 -04}
- {876628800 -10800 1 -04}
- {889930800 -14400 0 -04}
- {906868800 -10800 1 -04}
- {923194800 -14400 0 -04}
- {939528000 -10800 1 -04}
- {952830000 -14400 0 -04}
- {971582400 -10800 1 -04}
- {984279600 -14400 0 -04}
- {1003032000 -10800 1 -04}
- {1015729200 -14400 0 -04}
- {1034481600 -10800 1 -04}
- {1047178800 -14400 0 -04}
- {1065931200 -10800 1 -04}
- {1079233200 -14400 0 -04}
- {1097380800 -10800 1 -04}
- {1110682800 -14400 0 -04}
- {1128830400 -10800 1 -04}
- {1142132400 -14400 0 -04}
- {1160884800 -10800 1 -04}
- {1173582000 -14400 0 -04}
- {1192334400 -10800 1 -04}
- {1206846000 -14400 0 -04}
- {1223784000 -10800 1 -04}
- {1237086000 -14400 0 -04}
- {1255233600 -10800 1 -04}
- {1270350000 -14400 0 -04}
- {1286683200 -10800 1 -04}
- {1304823600 -14400 0 -04}
- {1313899200 -10800 1 -04}
- {1335668400 -14400 0 -04}
- {1346558400 -10800 1 -04}
- {1367118000 -14400 0 -04}
- {1378612800 -10800 1 -04}
- {1398567600 -14400 0 -04}
- {1410062400 -10800 1 -04}
- {1463281200 -14400 0 -04}
- {1471147200 -10800 1 -04}
- {1480820400 -10800 0 -03}
-}
diff --git a/library/tzdata/America/Rainy_River b/library/tzdata/America/Rainy_River
index 17fccb4..a2b11aa 100644
--- a/library/tzdata/America/Rainy_River
+++ b/library/tzdata/America/Rainy_River
@@ -1,5 +1,264 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Winnipeg)]} {
- LoadTimeZoneFile America/Winnipeg
+
+set TZData(:America/Rainy_River) {
+ {-9223372036854775808 -22696 0 LMT}
+ {-2366732504 -21600 0 CST}
+ {-1632067200 -18000 1 CDT}
+ {-1615136400 -21600 0 CST}
+ {-923248800 -18000 1 CDT}
+ {-880214400 -18000 0 CWT}
+ {-769395600 -18000 1 CPT}
+ {-765392400 -21600 0 CST}
+ {136368000 -18000 1 CDT}
+ {152089200 -21600 0 CST}
+ {167817600 -18000 1 CDT}
+ {183538800 -21600 0 CST}
+ {199267200 -18000 1 CDT}
+ {215593200 -21600 0 CST}
+ {230716800 -18000 1 CDT}
+ {247042800 -21600 0 CST}
+ {262771200 -18000 1 CDT}
+ {278492400 -21600 0 CST}
+ {294220800 -18000 1 CDT}
+ {309942000 -21600 0 CST}
+ {325670400 -18000 1 CDT}
+ {341391600 -21600 0 CST}
+ {357120000 -18000 1 CDT}
+ {372841200 -21600 0 CST}
+ {388569600 -18000 1 CDT}
+ {404895600 -21600 0 CST}
+ {420019200 -18000 1 CDT}
+ {436345200 -21600 0 CST}
+ {452073600 -18000 1 CDT}
+ {467794800 -21600 0 CST}
+ {483523200 -18000 1 CDT}
+ {499244400 -21600 0 CST}
+ {514972800 -18000 1 CDT}
+ {530694000 -21600 0 CST}
+ {544608000 -18000 1 CDT}
+ {562143600 -21600 0 CST}
+ {576057600 -18000 1 CDT}
+ {594198000 -21600 0 CST}
+ {607507200 -18000 1 CDT}
+ {625647600 -21600 0 CST}
+ {638956800 -18000 1 CDT}
+ {657097200 -21600 0 CST}
+ {671011200 -18000 1 CDT}
+ {688546800 -21600 0 CST}
+ {702460800 -18000 1 CDT}
+ {719996400 -21600 0 CST}
+ {733910400 -18000 1 CDT}
+ {752050800 -21600 0 CST}
+ {765360000 -18000 1 CDT}
+ {783500400 -21600 0 CST}
+ {796809600 -18000 1 CDT}
+ {814950000 -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}
+ {986112000 -18000 1 CDT}
+ {1004252400 -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}
+ {1173600000 -18000 1 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}
}
-set TZData(:America/Rainy_River) $TZData(:America/Winnipeg)
diff --git a/library/tzdata/America/Rankin_Inlet b/library/tzdata/America/Rankin_Inlet
index 0f6db70..770ec5d 100644
--- a/library/tzdata/America/Rankin_Inlet
+++ b/library/tzdata/America/Rankin_Inlet
@@ -1,24 +1,10 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Rankin_Inlet) {
- {-9223372036854775808 0 0 -00}
+ {-9223372036854775808 0 0 zzz}
{-410227200 -21600 0 CST}
- {73468800 -18000 1 CDT}
- {89190000 -21600 0 CST}
- {104918400 -18000 1 CDT}
- {120639600 -21600 0 CST}
- {136368000 -18000 1 CDT}
- {152089200 -21600 0 CST}
- {167817600 -18000 1 CDT}
- {183538800 -21600 0 CST}
- {199267200 -18000 1 CDT}
- {215593200 -21600 0 CST}
- {230716800 -18000 1 CDT}
- {247042800 -21600 0 CST}
- {262771200 -18000 1 CDT}
- {278492400 -21600 0 CST}
- {294220800 -18000 1 CDT}
- {309942000 -21600 0 CST}
+ {-147895200 -14400 1 CDDT}
+ {-131565600 -21600 0 CST}
{325670400 -18000 1 CDT}
{341391600 -21600 0 CST}
{357120000 -18000 1 CDT}
diff --git a/library/tzdata/America/Recife b/library/tzdata/America/Recife
index db0a445..f6ae00e 100644
--- a/library/tzdata/America/Recife
+++ b/library/tzdata/America/Recife
@@ -2,47 +2,47 @@
set TZData(:America/Recife) {
{-9223372036854775808 -8376 0 LMT}
- {-1767217224 -10800 0 -03}
- {-1206957600 -7200 1 -03}
- {-1191362400 -10800 0 -03}
- {-1175374800 -7200 1 -03}
- {-1159826400 -10800 0 -03}
- {-633819600 -7200 1 -03}
- {-622069200 -10800 0 -03}
- {-602283600 -7200 1 -03}
- {-591832800 -10800 0 -03}
- {-570747600 -7200 1 -03}
- {-560210400 -10800 0 -03}
- {-539125200 -7200 1 -03}
- {-531352800 -10800 0 -03}
- {-191365200 -7200 1 -03}
- {-184197600 -10800 0 -03}
- {-155163600 -7200 1 -03}
- {-150069600 -10800 0 -03}
- {-128898000 -7200 1 -03}
- {-121125600 -10800 0 -03}
- {-99954000 -7200 1 -03}
- {-89589600 -10800 0 -03}
- {-68418000 -7200 1 -03}
- {-57967200 -10800 0 -03}
- {499748400 -7200 1 -03}
- {511236000 -10800 0 -03}
- {530593200 -7200 1 -03}
- {540266400 -10800 0 -03}
- {562129200 -7200 1 -03}
- {571197600 -10800 0 -03}
- {592974000 -7200 1 -03}
- {602042400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {634701600 -10800 0 -03}
- {653536800 -10800 0 -03}
- {938660400 -10800 0 -03}
- {938919600 -7200 1 -03}
- {951616800 -10800 0 -03}
- {970974000 -7200 1 -03}
- {971575200 -10800 0 -03}
- {1000350000 -10800 0 -03}
- {1003028400 -7200 1 -03}
- {1013911200 -10800 0 -03}
- {1033437600 -10800 0 -03}
+ {-1767217224 -10800 0 BRT}
+ {-1206957600 -7200 1 BRST}
+ {-1191362400 -10800 0 BRT}
+ {-1175374800 -7200 1 BRST}
+ {-1159826400 -10800 0 BRT}
+ {-633819600 -7200 1 BRST}
+ {-622069200 -10800 0 BRT}
+ {-602283600 -7200 1 BRST}
+ {-591832800 -10800 0 BRT}
+ {-570747600 -7200 1 BRST}
+ {-560210400 -10800 0 BRT}
+ {-539125200 -7200 1 BRST}
+ {-531352800 -10800 0 BRT}
+ {-191365200 -7200 1 BRST}
+ {-184197600 -10800 0 BRT}
+ {-155163600 -7200 1 BRST}
+ {-150069600 -10800 0 BRT}
+ {-128898000 -7200 1 BRST}
+ {-121125600 -10800 0 BRT}
+ {-99954000 -7200 1 BRST}
+ {-89589600 -10800 0 BRT}
+ {-68418000 -7200 1 BRST}
+ {-57967200 -10800 0 BRT}
+ {499748400 -7200 1 BRST}
+ {511236000 -10800 0 BRT}
+ {530593200 -7200 1 BRST}
+ {540266400 -10800 0 BRT}
+ {562129200 -7200 1 BRST}
+ {571197600 -10800 0 BRT}
+ {592974000 -7200 1 BRST}
+ {602042400 -10800 0 BRT}
+ {624423600 -7200 1 BRST}
+ {634701600 -10800 0 BRT}
+ {653536800 -10800 0 BRT}
+ {938660400 -10800 0 BRT}
+ {938919600 -7200 1 BRST}
+ {951616800 -10800 0 BRT}
+ {970974000 -7200 1 BRST}
+ {971575200 -10800 0 BRT}
+ {1000350000 -10800 0 BRT}
+ {1003028400 -7200 1 BRST}
+ {1013911200 -10800 0 BRT}
+ {1033437600 -10800 0 BRT}
}
diff --git a/library/tzdata/America/Resolute b/library/tzdata/America/Resolute
index 27e7300..b4c0bab 100644
--- a/library/tzdata/America/Resolute
+++ b/library/tzdata/America/Resolute
@@ -1,24 +1,10 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Resolute) {
- {-9223372036854775808 0 0 -00}
+ {-9223372036854775808 0 0 zzz}
{-704937600 -21600 0 CST}
- {73468800 -18000 1 CDT}
- {89190000 -21600 0 CST}
- {104918400 -18000 1 CDT}
- {120639600 -21600 0 CST}
- {136368000 -18000 1 CDT}
- {152089200 -21600 0 CST}
- {167817600 -18000 1 CDT}
- {183538800 -21600 0 CST}
- {199267200 -18000 1 CDT}
- {215593200 -21600 0 CST}
- {230716800 -18000 1 CDT}
- {247042800 -21600 0 CST}
- {262771200 -18000 1 CDT}
- {278492400 -21600 0 CST}
- {294220800 -18000 1 CDT}
- {309942000 -21600 0 CST}
+ {-147895200 -14400 1 CDDT}
+ {-131565600 -21600 0 CST}
{325670400 -18000 1 CDT}
{341391600 -21600 0 CST}
{357120000 -18000 1 CDT}
diff --git a/library/tzdata/America/Rio_Branco b/library/tzdata/America/Rio_Branco
index 088800b..f0ff7fa 100644
--- a/library/tzdata/America/Rio_Branco
+++ b/library/tzdata/America/Rio_Branco
@@ -2,36 +2,36 @@
set TZData(:America/Rio_Branco) {
{-9223372036854775808 -16272 0 LMT}
- {-1767209328 -18000 0 -05}
- {-1206950400 -14400 1 -05}
- {-1191355200 -18000 0 -05}
- {-1175367600 -14400 1 -05}
- {-1159819200 -18000 0 -05}
- {-633812400 -14400 1 -05}
- {-622062000 -18000 0 -05}
- {-602276400 -14400 1 -05}
- {-591825600 -18000 0 -05}
- {-570740400 -14400 1 -05}
- {-560203200 -18000 0 -05}
- {-539118000 -14400 1 -05}
- {-531345600 -18000 0 -05}
- {-191358000 -14400 1 -05}
- {-184190400 -18000 0 -05}
- {-155156400 -14400 1 -05}
- {-150062400 -18000 0 -05}
- {-128890800 -14400 1 -05}
- {-121118400 -18000 0 -05}
- {-99946800 -14400 1 -05}
- {-89582400 -18000 0 -05}
- {-68410800 -14400 1 -05}
- {-57960000 -18000 0 -05}
- {499755600 -14400 1 -05}
- {511243200 -18000 0 -05}
- {530600400 -14400 1 -05}
- {540273600 -18000 0 -05}
- {562136400 -14400 1 -05}
- {571204800 -18000 0 -05}
- {590040000 -18000 0 -05}
- {1214283600 -14400 0 -04}
- {1384056000 -18000 0 -05}
+ {-1767209328 -18000 0 ACT}
+ {-1206950400 -14400 1 ACST}
+ {-1191355200 -18000 0 ACT}
+ {-1175367600 -14400 1 ACST}
+ {-1159819200 -18000 0 ACT}
+ {-633812400 -14400 1 ACST}
+ {-622062000 -18000 0 ACT}
+ {-602276400 -14400 1 ACST}
+ {-591825600 -18000 0 ACT}
+ {-570740400 -14400 1 ACST}
+ {-560203200 -18000 0 ACT}
+ {-539118000 -14400 1 ACST}
+ {-531345600 -18000 0 ACT}
+ {-191358000 -14400 1 ACST}
+ {-184190400 -18000 0 ACT}
+ {-155156400 -14400 1 ACST}
+ {-150062400 -18000 0 ACT}
+ {-128890800 -14400 1 ACST}
+ {-121118400 -18000 0 ACT}
+ {-99946800 -14400 1 ACST}
+ {-89582400 -18000 0 ACT}
+ {-68410800 -14400 1 ACST}
+ {-57960000 -18000 0 ACT}
+ {499755600 -14400 1 ACST}
+ {511243200 -18000 0 ACT}
+ {530600400 -14400 1 ACST}
+ {540273600 -18000 0 ACT}
+ {562136400 -14400 1 ACST}
+ {571204800 -18000 0 ACT}
+ {590040000 -18000 0 ACT}
+ {1214283600 -14400 0 AMT}
+ {1384056000 -18000 0 ACT}
}
diff --git a/library/tzdata/America/Santa_Isabel b/library/tzdata/America/Santa_Isabel
index a3a3b4f..87cb5a8 100644
--- a/library/tzdata/America/Santa_Isabel
+++ b/library/tzdata/America/Santa_Isabel
@@ -1,5 +1,284 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Tijuana)]} {
- LoadTimeZoneFile America/Tijuana
+
+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}
}
-set TZData(:America/Santa_Isabel) $TZData(:America/Tijuana)
diff --git a/library/tzdata/America/Santarem b/library/tzdata/America/Santarem
index 5fa3551..b6e9264 100644
--- a/library/tzdata/America/Santarem
+++ b/library/tzdata/America/Santarem
@@ -2,35 +2,35 @@
set TZData(:America/Santarem) {
{-9223372036854775808 -13128 0 LMT}
- {-1767212472 -14400 0 -04}
- {-1206954000 -10800 1 -04}
- {-1191358800 -14400 0 -04}
- {-1175371200 -10800 1 -04}
- {-1159822800 -14400 0 -04}
- {-633816000 -10800 1 -04}
- {-622065600 -14400 0 -04}
- {-602280000 -10800 1 -04}
- {-591829200 -14400 0 -04}
- {-570744000 -10800 1 -04}
- {-560206800 -14400 0 -04}
- {-539121600 -10800 1 -04}
- {-531349200 -14400 0 -04}
- {-191361600 -10800 1 -04}
- {-184194000 -14400 0 -04}
- {-155160000 -10800 1 -04}
- {-150066000 -14400 0 -04}
- {-128894400 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-99950400 -10800 1 -04}
- {-89586000 -14400 0 -04}
- {-68414400 -10800 1 -04}
- {-57963600 -14400 0 -04}
- {499752000 -10800 1 -04}
- {511239600 -14400 0 -04}
- {530596800 -10800 1 -04}
- {540270000 -14400 0 -04}
- {562132800 -10800 1 -04}
- {571201200 -14400 0 -04}
- {590036400 -14400 0 -04}
- {1214280000 -10800 0 -03}
+ {-1767212472 -14400 0 AMT}
+ {-1206954000 -10800 1 AMST}
+ {-1191358800 -14400 0 AMT}
+ {-1175371200 -10800 1 AMST}
+ {-1159822800 -14400 0 AMT}
+ {-633816000 -10800 1 AMST}
+ {-622065600 -14400 0 AMT}
+ {-602280000 -10800 1 AMST}
+ {-591829200 -14400 0 AMT}
+ {-570744000 -10800 1 AMST}
+ {-560206800 -14400 0 AMT}
+ {-539121600 -10800 1 AMST}
+ {-531349200 -14400 0 AMT}
+ {-191361600 -10800 1 AMST}
+ {-184194000 -14400 0 AMT}
+ {-155160000 -10800 1 AMST}
+ {-150066000 -14400 0 AMT}
+ {-128894400 -10800 1 AMST}
+ {-121122000 -14400 0 AMT}
+ {-99950400 -10800 1 AMST}
+ {-89586000 -14400 0 AMT}
+ {-68414400 -10800 1 AMST}
+ {-57963600 -14400 0 AMT}
+ {499752000 -10800 1 AMST}
+ {511239600 -14400 0 AMT}
+ {530596800 -10800 1 AMST}
+ {540270000 -14400 0 AMT}
+ {562132800 -10800 1 AMST}
+ {571201200 -14400 0 AMT}
+ {590036400 -14400 0 AMT}
+ {1214280000 -10800 0 BRT}
}
diff --git a/library/tzdata/America/Santiago b/library/tzdata/America/Santiago
index 13b8b99..b6d9b38 100644
--- a/library/tzdata/America/Santiago
+++ b/library/tzdata/America/Santiago
@@ -1,289 +1,122 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:America/Santiago) {
- {-9223372036854775808 -16965 0 LMT}
- {-2524504635 -16965 0 SMT}
- {-1892661435 -18000 0 -05}
- {-1688410800 -16965 0 SMT}
- {-1619205435 -14400 0 -04}
- {-1593806400 -16965 0 SMT}
- {-1335986235 -18000 0 -05}
- {-1335985200 -14400 1 -05}
- {-1317585600 -18000 0 -05}
- {-1304362800 -14400 1 -05}
- {-1286049600 -18000 0 -05}
- {-1272826800 -14400 1 -05}
- {-1254513600 -18000 0 -05}
- {-1241290800 -14400 1 -05}
- {-1222977600 -18000 0 -05}
- {-1209754800 -14400 1 -05}
- {-1191355200 -18000 0 -05}
- {-1178132400 -14400 0 -04}
- {-870552000 -18000 0 -05}
- {-865278000 -14400 0 -04}
- {-740520000 -10800 1 -03}
- {-736635600 -14400 1 -04}
- {-718056000 -18000 0 -05}
- {-713649600 -14400 0 -04}
- {-36619200 -10800 1 -04}
- {-23922000 -14400 0 -04}
- {-3355200 -10800 1 -04}
- {7527600 -14400 0 -04}
- {24465600 -10800 1 -04}
- {37767600 -14400 0 -04}
- {55915200 -10800 1 -04}
- {69217200 -14400 0 -04}
- {87969600 -10800 1 -04}
- {100666800 -14400 0 -04}
- {118209600 -10800 1 -04}
- {132116400 -14400 0 -04}
- {150868800 -10800 1 -04}
- {163566000 -14400 0 -04}
- {182318400 -10800 1 -04}
- {195620400 -14400 0 -04}
- {213768000 -10800 1 -04}
- {227070000 -14400 0 -04}
- {245217600 -10800 1 -04}
- {258519600 -14400 0 -04}
- {277272000 -10800 1 -04}
- {289969200 -14400 0 -04}
- {308721600 -10800 1 -04}
- {321418800 -14400 0 -04}
- {340171200 -10800 1 -04}
- {353473200 -14400 0 -04}
- {371620800 -10800 1 -04}
- {384922800 -14400 0 -04}
- {403070400 -10800 1 -04}
- {416372400 -14400 0 -04}
- {434520000 -10800 1 -04}
- {447822000 -14400 0 -04}
- {466574400 -10800 1 -04}
- {479271600 -14400 0 -04}
- {498024000 -10800 1 -04}
- {510721200 -14400 0 -04}
- {529473600 -10800 1 -04}
- {545194800 -14400 0 -04}
- {560923200 -10800 1 -04}
- {574225200 -14400 0 -04}
- {592372800 -10800 1 -04}
- {605674800 -14400 0 -04}
- {624427200 -10800 1 -04}
- {637124400 -14400 0 -04}
- {653457600 -10800 1 -04}
- {668574000 -14400 0 -04}
- {687326400 -10800 1 -04}
- {700628400 -14400 0 -04}
- {718776000 -10800 1 -04}
- {732078000 -14400 0 -04}
- {750225600 -10800 1 -04}
- {763527600 -14400 0 -04}
- {781675200 -10800 1 -04}
- {794977200 -14400 0 -04}
- {813729600 -10800 1 -04}
- {826426800 -14400 0 -04}
- {845179200 -10800 1 -04}
- {859690800 -14400 0 -04}
- {876628800 -10800 1 -04}
- {889930800 -14400 0 -04}
- {906868800 -10800 1 -04}
- {923194800 -14400 0 -04}
- {939528000 -10800 1 -04}
- {952830000 -14400 0 -04}
- {971582400 -10800 1 -04}
- {984279600 -14400 0 -04}
- {1003032000 -10800 1 -04}
- {1015729200 -14400 0 -04}
- {1034481600 -10800 1 -04}
- {1047178800 -14400 0 -04}
- {1065931200 -10800 1 -04}
- {1079233200 -14400 0 -04}
- {1097380800 -10800 1 -04}
- {1110682800 -14400 0 -04}
- {1128830400 -10800 1 -04}
- {1142132400 -14400 0 -04}
- {1160884800 -10800 1 -04}
- {1173582000 -14400 0 -04}
- {1192334400 -10800 1 -04}
- {1206846000 -14400 0 -04}
- {1223784000 -10800 1 -04}
- {1237086000 -14400 0 -04}
- {1255233600 -10800 1 -04}
- {1270350000 -14400 0 -04}
- {1286683200 -10800 1 -04}
- {1304823600 -14400 0 -04}
- {1313899200 -10800 1 -04}
- {1335668400 -14400 0 -04}
- {1346558400 -10800 1 -04}
- {1367118000 -14400 0 -04}
- {1378612800 -10800 1 -04}
- {1398567600 -14400 0 -04}
- {1410062400 -10800 1 -04}
- {1463281200 -14400 0 -04}
- {1471147200 -10800 1 -04}
- {1494730800 -14400 0 -04}
- {1502596800 -10800 1 -04}
- {1526180400 -14400 0 -04}
- {1534046400 -10800 1 -04}
- {1554606000 -14400 0 -04}
- {1567915200 -10800 1 -04}
- {1586055600 -14400 0 -04}
- {1599364800 -10800 1 -04}
- {1617505200 -14400 0 -04}
- {1630814400 -10800 1 -04}
- {1648954800 -14400 0 -04}
- {1662868800 -10800 1 -04}
- {1680404400 -14400 0 -04}
- {1693713600 -10800 1 -04}
- {1712458800 -14400 0 -04}
- {1725768000 -10800 1 -04}
- {1743908400 -14400 0 -04}
- {1757217600 -10800 1 -04}
- {1775358000 -14400 0 -04}
- {1788667200 -10800 1 -04}
- {1806807600 -14400 0 -04}
- {1820116800 -10800 1 -04}
- {1838257200 -14400 0 -04}
- {1851566400 -10800 1 -04}
- {1870311600 -14400 0 -04}
- {1883016000 -10800 1 -04}
- {1901761200 -14400 0 -04}
- {1915070400 -10800 1 -04}
- {1933210800 -14400 0 -04}
- {1946520000 -10800 1 -04}
- {1964660400 -14400 0 -04}
- {1977969600 -10800 1 -04}
- {1996110000 -14400 0 -04}
- {2009419200 -10800 1 -04}
- {2027559600 -14400 0 -04}
- {2040868800 -10800 1 -04}
- {2059614000 -14400 0 -04}
- {2072318400 -10800 1 -04}
- {2091063600 -14400 0 -04}
- {2104372800 -10800 1 -04}
- {2122513200 -14400 0 -04}
- {2135822400 -10800 1 -04}
- {2153962800 -14400 0 -04}
- {2167272000 -10800 1 -04}
- {2185412400 -14400 0 -04}
- {2198721600 -10800 1 -04}
- {2217466800 -14400 0 -04}
- {2230171200 -10800 1 -04}
- {2248916400 -14400 0 -04}
- {2262225600 -10800 1 -04}
- {2280366000 -14400 0 -04}
- {2293675200 -10800 1 -04}
- {2311815600 -14400 0 -04}
- {2325124800 -10800 1 -04}
- {2343265200 -14400 0 -04}
- {2356574400 -10800 1 -04}
- {2374714800 -14400 0 -04}
- {2388024000 -10800 1 -04}
- {2406769200 -14400 0 -04}
- {2419473600 -10800 1 -04}
- {2438218800 -14400 0 -04}
- {2451528000 -10800 1 -04}
- {2469668400 -14400 0 -04}
- {2482977600 -10800 1 -04}
- {2501118000 -14400 0 -04}
- {2514427200 -10800 1 -04}
- {2532567600 -14400 0 -04}
- {2545876800 -10800 1 -04}
- {2564017200 -14400 0 -04}
- {2577326400 -10800 1 -04}
- {2596071600 -14400 0 -04}
- {2609380800 -10800 1 -04}
- {2627521200 -14400 0 -04}
- {2640830400 -10800 1 -04}
- {2658970800 -14400 0 -04}
- {2672280000 -10800 1 -04}
- {2690420400 -14400 0 -04}
- {2703729600 -10800 1 -04}
- {2721870000 -14400 0 -04}
- {2735179200 -10800 1 -04}
- {2753924400 -14400 0 -04}
- {2766628800 -10800 1 -04}
- {2785374000 -14400 0 -04}
- {2798683200 -10800 1 -04}
- {2816823600 -14400 0 -04}
- {2830132800 -10800 1 -04}
- {2848273200 -14400 0 -04}
- {2861582400 -10800 1 -04}
- {2879722800 -14400 0 -04}
- {2893032000 -10800 1 -04}
- {2911172400 -14400 0 -04}
- {2924481600 -10800 1 -04}
- {2943226800 -14400 0 -04}
- {2955931200 -10800 1 -04}
- {2974676400 -14400 0 -04}
- {2987985600 -10800 1 -04}
- {3006126000 -14400 0 -04}
- {3019435200 -10800 1 -04}
- {3037575600 -14400 0 -04}
- {3050884800 -10800 1 -04}
- {3069025200 -14400 0 -04}
- {3082334400 -10800 1 -04}
- {3101079600 -14400 0 -04}
- {3113784000 -10800 1 -04}
- {3132529200 -14400 0 -04}
- {3145838400 -10800 1 -04}
- {3163978800 -14400 0 -04}
- {3177288000 -10800 1 -04}
- {3195428400 -14400 0 -04}
- {3208737600 -10800 1 -04}
- {3226878000 -14400 0 -04}
- {3240187200 -10800 1 -04}
- {3258327600 -14400 0 -04}
- {3271636800 -10800 1 -04}
- {3290382000 -14400 0 -04}
- {3303086400 -10800 1 -04}
- {3321831600 -14400 0 -04}
- {3335140800 -10800 1 -04}
- {3353281200 -14400 0 -04}
- {3366590400 -10800 1 -04}
- {3384730800 -14400 0 -04}
- {3398040000 -10800 1 -04}
- {3416180400 -14400 0 -04}
- {3429489600 -10800 1 -04}
- {3447630000 -14400 0 -04}
- {3460939200 -10800 1 -04}
- {3479684400 -14400 0 -04}
- {3492993600 -10800 1 -04}
- {3511134000 -14400 0 -04}
- {3524443200 -10800 1 -04}
- {3542583600 -14400 0 -04}
- {3555892800 -10800 1 -04}
- {3574033200 -14400 0 -04}
- {3587342400 -10800 1 -04}
- {3605482800 -14400 0 -04}
- {3618792000 -10800 1 -04}
- {3637537200 -14400 0 -04}
- {3650241600 -10800 1 -04}
- {3668986800 -14400 0 -04}
- {3682296000 -10800 1 -04}
- {3700436400 -14400 0 -04}
- {3713745600 -10800 1 -04}
- {3731886000 -14400 0 -04}
- {3745195200 -10800 1 -04}
- {3763335600 -14400 0 -04}
- {3776644800 -10800 1 -04}
- {3794785200 -14400 0 -04}
- {3808094400 -10800 1 -04}
- {3826839600 -14400 0 -04}
- {3839544000 -10800 1 -04}
- {3858289200 -14400 0 -04}
- {3871598400 -10800 1 -04}
- {3889738800 -14400 0 -04}
- {3903048000 -10800 1 -04}
- {3921188400 -14400 0 -04}
- {3934497600 -10800 1 -04}
- {3952638000 -14400 0 -04}
- {3965947200 -10800 1 -04}
- {3984692400 -14400 0 -04}
- {3997396800 -10800 1 -04}
- {4016142000 -14400 0 -04}
- {4029451200 -10800 1 -04}
- {4047591600 -14400 0 -04}
- {4060900800 -10800 1 -04}
- {4079041200 -14400 0 -04}
- {4092350400 -10800 1 -04}
+ {-9223372036854775808 -16966 0 LMT}
+ {-2524504634 -16966 0 SMT}
+ {-1892661434 -18000 0 CLT}
+ {-1688410800 -16966 0 SMT}
+ {-1619205434 -14400 0 CLT}
+ {-1593806400 -16966 0 SMT}
+ {-1335986234 -18000 0 CLT}
+ {-1335985200 -14400 1 CLST}
+ {-1317585600 -18000 0 CLT}
+ {-1304362800 -14400 1 CLST}
+ {-1286049600 -18000 0 CLT}
+ {-1272826800 -14400 1 CLST}
+ {-1254513600 -18000 0 CLT}
+ {-1241290800 -14400 1 CLST}
+ {-1222977600 -18000 0 CLT}
+ {-1209754800 -14400 1 CLST}
+ {-1191355200 -18000 0 CLT}
+ {-1178132400 -14400 0 CLT}
+ {-870552000 -18000 0 CLT}
+ {-865278000 -14400 0 CLT}
+ {-740520000 -10800 1 CLST}
+ {-736376400 -14400 0 CLT}
+ {-718056000 -18000 0 CLT}
+ {-713649600 -14400 0 CLT}
+ {-36619200 -10800 1 CLST}
+ {-23922000 -14400 0 CLT}
+ {-3355200 -10800 1 CLST}
+ {7527600 -14400 0 CLT}
+ {24465600 -10800 1 CLST}
+ {37767600 -14400 0 CLT}
+ {55915200 -10800 1 CLST}
+ {69217200 -14400 0 CLT}
+ {87969600 -10800 1 CLST}
+ {100666800 -14400 0 CLT}
+ {118209600 -10800 1 CLST}
+ {132116400 -14400 0 CLT}
+ {150868800 -10800 1 CLST}
+ {163566000 -14400 0 CLT}
+ {182318400 -10800 1 CLST}
+ {195620400 -14400 0 CLT}
+ {213768000 -10800 1 CLST}
+ {227070000 -14400 0 CLT}
+ {245217600 -10800 1 CLST}
+ {258519600 -14400 0 CLT}
+ {277272000 -10800 1 CLST}
+ {289969200 -14400 0 CLT}
+ {308721600 -10800 1 CLST}
+ {321418800 -14400 0 CLT}
+ {340171200 -10800 1 CLST}
+ {353473200 -14400 0 CLT}
+ {371620800 -10800 1 CLST}
+ {384922800 -14400 0 CLT}
+ {403070400 -10800 1 CLST}
+ {416372400 -14400 0 CLT}
+ {434520000 -10800 1 CLST}
+ {447822000 -14400 0 CLT}
+ {466574400 -10800 1 CLST}
+ {479271600 -14400 0 CLT}
+ {498024000 -10800 1 CLST}
+ {510721200 -14400 0 CLT}
+ {529473600 -10800 1 CLST}
+ {545194800 -14400 0 CLT}
+ {560923200 -10800 1 CLST}
+ {574225200 -14400 0 CLT}
+ {592372800 -10800 1 CLST}
+ {605674800 -14400 0 CLT}
+ {624427200 -10800 1 CLST}
+ {637124400 -14400 0 CLT}
+ {653457600 -10800 1 CLST}
+ {668574000 -14400 0 CLT}
+ {687326400 -10800 1 CLST}
+ {700628400 -14400 0 CLT}
+ {718776000 -10800 1 CLST}
+ {732078000 -14400 0 CLT}
+ {750225600 -10800 1 CLST}
+ {763527600 -14400 0 CLT}
+ {781675200 -10800 1 CLST}
+ {794977200 -14400 0 CLT}
+ {813729600 -10800 1 CLST}
+ {826426800 -14400 0 CLT}
+ {845179200 -10800 1 CLST}
+ {859690800 -14400 0 CLT}
+ {876628800 -10800 1 CLST}
+ {889930800 -14400 0 CLT}
+ {906868800 -10800 1 CLST}
+ {923194800 -14400 0 CLT}
+ {939528000 -10800 1 CLST}
+ {952830000 -14400 0 CLT}
+ {971582400 -10800 1 CLST}
+ {984279600 -14400 0 CLT}
+ {1003032000 -10800 1 CLST}
+ {1015729200 -14400 0 CLT}
+ {1034481600 -10800 1 CLST}
+ {1047178800 -14400 0 CLT}
+ {1065931200 -10800 1 CLST}
+ {1079233200 -14400 0 CLT}
+ {1097380800 -10800 1 CLST}
+ {1110682800 -14400 0 CLT}
+ {1128830400 -10800 1 CLST}
+ {1142132400 -14400 0 CLT}
+ {1160884800 -10800 1 CLST}
+ {1173582000 -14400 0 CLT}
+ {1192334400 -10800 1 CLST}
+ {1206846000 -14400 0 CLT}
+ {1223784000 -10800 1 CLST}
+ {1237086000 -14400 0 CLT}
+ {1255233600 -10800 1 CLST}
+ {1270350000 -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 -10800 0 CLT}
}
diff --git a/library/tzdata/America/Santo_Domingo b/library/tzdata/America/Santo_Domingo
index 28d3a9c..7706918 100644
--- a/library/tzdata/America/Santo_Domingo
+++ b/library/tzdata/America/Santo_Domingo
@@ -6,15 +6,15 @@ set TZData(:America/Santo_Domingo) {
{-1159773600 -18000 0 EST}
{-100119600 -14400 1 EDT}
{-89668800 -18000 0 EST}
- {-5770800 -16200 1 -0430}
+ {-5770800 -16200 1 EHDT}
{4422600 -18000 0 EST}
- {25678800 -16200 1 -0430}
+ {25678800 -16200 1 EHDT}
{33193800 -18000 0 EST}
- {57733200 -16200 1 -0430}
+ {57733200 -16200 1 EHDT}
{64816200 -18000 0 EST}
- {89182800 -16200 1 -0430}
+ {89182800 -16200 1 EHDT}
{96438600 -18000 0 EST}
- {120632400 -16200 1 -0430}
+ {120632400 -16200 1 EHDT}
{127974600 -18000 0 EST}
{152082000 -14400 0 AST}
{975823200 -14400 0 AST}
diff --git a/library/tzdata/America/Sao_Paulo b/library/tzdata/America/Sao_Paulo
index 77d5d8c..8d70063 100644
--- a/library/tzdata/America/Sao_Paulo
+++ b/library/tzdata/America/Sao_Paulo
@@ -2,96 +2,257 @@
set TZData(:America/Sao_Paulo) {
{-9223372036854775808 -11188 0 LMT}
- {-1767214412 -10800 0 -03}
- {-1206957600 -7200 1 -03}
- {-1191362400 -10800 0 -03}
- {-1175374800 -7200 1 -03}
- {-1159826400 -10800 0 -03}
- {-633819600 -7200 1 -03}
- {-622069200 -10800 0 -03}
- {-602283600 -7200 1 -03}
- {-591832800 -10800 0 -03}
- {-570747600 -7200 1 -03}
- {-560210400 -10800 0 -03}
- {-539125200 -7200 1 -03}
- {-531352800 -10800 0 -03}
- {-195429600 -7200 1 -02}
- {-189381600 -7200 0 -03}
- {-184197600 -10800 0 -03}
- {-155163600 -7200 1 -03}
- {-150069600 -10800 0 -03}
- {-128898000 -7200 1 -03}
- {-121125600 -10800 0 -03}
- {-99954000 -7200 1 -03}
- {-89589600 -10800 0 -03}
- {-68418000 -7200 1 -03}
- {-57967200 -10800 0 -03}
- {499748400 -7200 1 -03}
- {511236000 -10800 0 -03}
- {530593200 -7200 1 -03}
- {540266400 -10800 0 -03}
- {562129200 -7200 1 -03}
- {571197600 -10800 0 -03}
- {592974000 -7200 1 -03}
- {602042400 -10800 0 -03}
- {624423600 -7200 1 -03}
- {634701600 -10800 0 -03}
- {656478000 -7200 1 -03}
- {666756000 -10800 0 -03}
- {687927600 -7200 1 -03}
- {697600800 -10800 0 -03}
- {719982000 -7200 1 -03}
- {728445600 -10800 0 -03}
- {750826800 -7200 1 -03}
- {761709600 -10800 0 -03}
- {782276400 -7200 1 -03}
- {793159200 -10800 0 -03}
- {813726000 -7200 1 -03}
- {824004000 -10800 0 -03}
- {844570800 -7200 1 -03}
- {856058400 -10800 0 -03}
- {876106800 -7200 1 -03}
- {888717600 -10800 0 -03}
- {908074800 -7200 1 -03}
- {919562400 -10800 0 -03}
- {938919600 -7200 1 -03}
- {951616800 -10800 0 -03}
- {970974000 -7200 1 -03}
- {982461600 -10800 0 -03}
- {1003028400 -7200 1 -03}
- {1013911200 -10800 0 -03}
- {1036292400 -7200 1 -03}
- {1045360800 -10800 0 -03}
- {1066532400 -7200 1 -03}
- {1076810400 -10800 0 -03}
- {1099364400 -7200 1 -03}
- {1108864800 -10800 0 -03}
- {1129431600 -7200 1 -03}
- {1140314400 -10800 0 -03}
- {1162695600 -7200 1 -03}
- {1172368800 -10800 0 -03}
- {1192330800 -7200 1 -03}
- {1203213600 -10800 0 -03}
- {1224385200 -7200 1 -03}
- {1234663200 -10800 0 -03}
- {1255834800 -7200 1 -03}
- {1266717600 -10800 0 -03}
- {1287284400 -7200 1 -03}
- {1298167200 -10800 0 -03}
- {1318734000 -7200 1 -03}
- {1330221600 -10800 0 -03}
- {1350788400 -7200 1 -03}
- {1361066400 -10800 0 -03}
- {1382238000 -7200 1 -03}
- {1392516000 -10800 0 -03}
- {1413687600 -7200 1 -03}
- {1424570400 -10800 0 -03}
- {1445137200 -7200 1 -03}
- {1456020000 -10800 0 -03}
- {1476586800 -7200 1 -03}
- {1487469600 -10800 0 -03}
- {1508036400 -7200 1 -03}
- {1518919200 -10800 0 -03}
- {1541300400 -7200 1 -03}
- {1550368800 -10800 0 -03}
+ {-1767214412 -10800 0 BRT}
+ {-1206957600 -7200 1 BRST}
+ {-1191362400 -10800 0 BRT}
+ {-1175374800 -7200 1 BRST}
+ {-1159826400 -10800 0 BRT}
+ {-633819600 -7200 1 BRST}
+ {-622069200 -10800 0 BRT}
+ {-602283600 -7200 1 BRST}
+ {-591832800 -10800 0 BRT}
+ {-570747600 -7200 1 BRST}
+ {-560210400 -10800 0 BRT}
+ {-539125200 -7200 1 BRST}
+ {-531352800 -10800 0 BRT}
+ {-195429600 -7200 1 BRST}
+ {-189381600 -7200 0 BRT}
+ {-184197600 -10800 0 BRT}
+ {-155163600 -7200 1 BRST}
+ {-150069600 -10800 0 BRT}
+ {-128898000 -7200 1 BRST}
+ {-121125600 -10800 0 BRT}
+ {-99954000 -7200 1 BRST}
+ {-89589600 -10800 0 BRT}
+ {-68418000 -7200 1 BRST}
+ {-57967200 -10800 0 BRT}
+ {499748400 -7200 1 BRST}
+ {511236000 -10800 0 BRT}
+ {530593200 -7200 1 BRST}
+ {540266400 -10800 0 BRT}
+ {562129200 -7200 1 BRST}
+ {571197600 -10800 0 BRT}
+ {592974000 -7200 1 BRST}
+ {602042400 -10800 0 BRT}
+ {624423600 -7200 1 BRST}
+ {634701600 -10800 0 BRT}
+ {656478000 -7200 1 BRST}
+ {666756000 -10800 0 BRT}
+ {687927600 -7200 1 BRST}
+ {697600800 -10800 0 BRT}
+ {719982000 -7200 1 BRST}
+ {728445600 -10800 0 BRT}
+ {750826800 -7200 1 BRST}
+ {761709600 -10800 0 BRT}
+ {782276400 -7200 1 BRST}
+ {793159200 -10800 0 BRT}
+ {813726000 -7200 1 BRST}
+ {824004000 -10800 0 BRT}
+ {844570800 -7200 1 BRST}
+ {856058400 -10800 0 BRT}
+ {876106800 -7200 1 BRST}
+ {888717600 -10800 0 BRT}
+ {908074800 -7200 1 BRST}
+ {919562400 -10800 0 BRT}
+ {938919600 -7200 1 BRST}
+ {951616800 -10800 0 BRT}
+ {970974000 -7200 1 BRST}
+ {982461600 -10800 0 BRT}
+ {1003028400 -7200 1 BRST}
+ {1013911200 -10800 0 BRT}
+ {1036292400 -7200 1 BRST}
+ {1045360800 -10800 0 BRT}
+ {1066532400 -7200 1 BRST}
+ {1076810400 -10800 0 BRT}
+ {1099364400 -7200 1 BRST}
+ {1108864800 -10800 0 BRT}
+ {1129431600 -7200 1 BRST}
+ {1140314400 -10800 0 BRT}
+ {1162695600 -7200 1 BRST}
+ {1172368800 -10800 0 BRT}
+ {1192330800 -7200 1 BRST}
+ {1203213600 -10800 0 BRT}
+ {1224385200 -7200 1 BRST}
+ {1234663200 -10800 0 BRT}
+ {1255834800 -7200 1 BRST}
+ {1266717600 -10800 0 BRT}
+ {1287284400 -7200 1 BRST}
+ {1298167200 -10800 0 BRT}
+ {1318734000 -7200 1 BRST}
+ {1330221600 -10800 0 BRT}
+ {1350788400 -7200 1 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/Scoresbysund b/library/tzdata/America/Scoresbysund
index 77dbe49..74a332c 100644
--- a/library/tzdata/America/Scoresbysund
+++ b/library/tzdata/America/Scoresbysund
@@ -2,245 +2,245 @@
set TZData(:America/Scoresbysund) {
{-9223372036854775808 -5272 0 LMT}
- {-1686090728 -7200 0 -02}
- {323841600 -3600 0 -01}
- {338961600 -7200 0 -02}
- {354679200 0 0 +00}
- {370400400 -3600 0 -01}
- {386125200 0 1 +00}
- {401850000 -3600 0 -01}
- {417574800 0 1 +00}
- {433299600 -3600 0 -01}
- {449024400 0 1 +00}
- {465354000 -3600 0 -01}
- {481078800 0 1 +00}
- {496803600 -3600 0 -01}
- {512528400 0 1 +00}
- {528253200 -3600 0 -01}
- {543978000 0 1 +00}
- {559702800 -3600 0 -01}
- {575427600 0 1 +00}
- {591152400 -3600 0 -01}
- {606877200 0 1 +00}
- {622602000 -3600 0 -01}
- {638326800 0 1 +00}
- {654656400 -3600 0 -01}
- {670381200 0 1 +00}
- {686106000 -3600 0 -01}
- {701830800 0 1 +00}
- {717555600 -3600 0 -01}
- {733280400 0 1 +00}
- {749005200 -3600 0 -01}
- {764730000 0 1 +00}
- {780454800 -3600 0 -01}
- {796179600 0 1 +00}
- {811904400 -3600 0 -01}
- {828234000 0 1 +00}
- {846378000 -3600 0 -01}
- {859683600 0 1 +00}
- {877827600 -3600 0 -01}
- {891133200 0 1 +00}
- {909277200 -3600 0 -01}
- {922582800 0 1 +00}
- {941331600 -3600 0 -01}
- {954032400 0 1 +00}
- {972781200 -3600 0 -01}
- {985482000 0 1 +00}
- {1004230800 -3600 0 -01}
- {1017536400 0 1 +00}
- {1035680400 -3600 0 -01}
- {1048986000 0 1 +00}
- {1067130000 -3600 0 -01}
- {1080435600 0 1 +00}
- {1099184400 -3600 0 -01}
- {1111885200 0 1 +00}
- {1130634000 -3600 0 -01}
- {1143334800 0 1 +00}
- {1162083600 -3600 0 -01}
- {1174784400 0 1 +00}
- {1193533200 -3600 0 -01}
- {1206838800 0 1 +00}
- {1224982800 -3600 0 -01}
- {1238288400 0 1 +00}
- {1256432400 -3600 0 -01}
- {1269738000 0 1 +00}
- {1288486800 -3600 0 -01}
- {1301187600 0 1 +00}
- {1319936400 -3600 0 -01}
- {1332637200 0 1 +00}
- {1351386000 -3600 0 -01}
- {1364691600 0 1 +00}
- {1382835600 -3600 0 -01}
- {1396141200 0 1 +00}
- {1414285200 -3600 0 -01}
- {1427590800 0 1 +00}
- {1445734800 -3600 0 -01}
- {1459040400 0 1 +00}
- {1477789200 -3600 0 -01}
- {1490490000 0 1 +00}
- {1509238800 -3600 0 -01}
- {1521939600 0 1 +00}
- {1540688400 -3600 0 -01}
- {1553994000 0 1 +00}
- {1572138000 -3600 0 -01}
- {1585443600 0 1 +00}
- {1603587600 -3600 0 -01}
- {1616893200 0 1 +00}
- {1635642000 -3600 0 -01}
- {1648342800 0 1 +00}
- {1667091600 -3600 0 -01}
- {1679792400 0 1 +00}
- {1698541200 -3600 0 -01}
- {1711846800 -3600 0 -01}
- {1729990800 -7200 0 -02}
- {1743296400 -3600 1 -01}
- {1761440400 -7200 0 -02}
- {1774746000 -3600 1 -01}
- {1792890000 -7200 0 -02}
- {1806195600 -3600 1 -01}
- {1824944400 -7200 0 -02}
- {1837645200 -3600 1 -01}
- {1856394000 -7200 0 -02}
- {1869094800 -3600 1 -01}
- {1887843600 -7200 0 -02}
- {1901149200 -3600 1 -01}
- {1919293200 -7200 0 -02}
- {1932598800 -3600 1 -01}
- {1950742800 -7200 0 -02}
- {1964048400 -3600 1 -01}
- {1982797200 -7200 0 -02}
- {1995498000 -3600 1 -01}
- {2014246800 -7200 0 -02}
- {2026947600 -3600 1 -01}
- {2045696400 -7200 0 -02}
- {2058397200 -3600 1 -01}
- {2077146000 -7200 0 -02}
- {2090451600 -3600 1 -01}
- {2108595600 -7200 0 -02}
- {2121901200 -3600 1 -01}
- {2140045200 -7200 0 -02}
- {2153350800 -3600 1 -01}
- {2172099600 -7200 0 -02}
- {2184800400 -3600 1 -01}
- {2203549200 -7200 0 -02}
- {2216250000 -3600 1 -01}
- {2234998800 -7200 0 -02}
- {2248304400 -3600 1 -01}
- {2266448400 -7200 0 -02}
- {2279754000 -3600 1 -01}
- {2297898000 -7200 0 -02}
- {2311203600 -3600 1 -01}
- {2329347600 -7200 0 -02}
- {2342653200 -3600 1 -01}
- {2361402000 -7200 0 -02}
- {2374102800 -3600 1 -01}
- {2392851600 -7200 0 -02}
- {2405552400 -3600 1 -01}
- {2424301200 -7200 0 -02}
- {2437606800 -3600 1 -01}
- {2455750800 -7200 0 -02}
- {2469056400 -3600 1 -01}
- {2487200400 -7200 0 -02}
- {2500506000 -3600 1 -01}
- {2519254800 -7200 0 -02}
- {2531955600 -3600 1 -01}
- {2550704400 -7200 0 -02}
- {2563405200 -3600 1 -01}
- {2582154000 -7200 0 -02}
- {2595459600 -3600 1 -01}
- {2613603600 -7200 0 -02}
- {2626909200 -3600 1 -01}
- {2645053200 -7200 0 -02}
- {2658358800 -3600 1 -01}
- {2676502800 -7200 0 -02}
- {2689808400 -3600 1 -01}
- {2708557200 -7200 0 -02}
- {2721258000 -3600 1 -01}
- {2740006800 -7200 0 -02}
- {2752707600 -3600 1 -01}
- {2771456400 -7200 0 -02}
- {2784762000 -3600 1 -01}
- {2802906000 -7200 0 -02}
- {2816211600 -3600 1 -01}
- {2834355600 -7200 0 -02}
- {2847661200 -3600 1 -01}
- {2866410000 -7200 0 -02}
- {2879110800 -3600 1 -01}
- {2897859600 -7200 0 -02}
- {2910560400 -3600 1 -01}
- {2929309200 -7200 0 -02}
- {2942010000 -3600 1 -01}
- {2960758800 -7200 0 -02}
- {2974064400 -3600 1 -01}
- {2992208400 -7200 0 -02}
- {3005514000 -3600 1 -01}
- {3023658000 -7200 0 -02}
- {3036963600 -3600 1 -01}
- {3055712400 -7200 0 -02}
- {3068413200 -3600 1 -01}
- {3087162000 -7200 0 -02}
- {3099862800 -3600 1 -01}
- {3118611600 -7200 0 -02}
- {3131917200 -3600 1 -01}
- {3150061200 -7200 0 -02}
- {3163366800 -3600 1 -01}
- {3181510800 -7200 0 -02}
- {3194816400 -3600 1 -01}
- {3212960400 -7200 0 -02}
- {3226266000 -3600 1 -01}
- {3245014800 -7200 0 -02}
- {3257715600 -3600 1 -01}
- {3276464400 -7200 0 -02}
- {3289165200 -3600 1 -01}
- {3307914000 -7200 0 -02}
- {3321219600 -3600 1 -01}
- {3339363600 -7200 0 -02}
- {3352669200 -3600 1 -01}
- {3370813200 -7200 0 -02}
- {3384118800 -3600 1 -01}
- {3402867600 -7200 0 -02}
- {3415568400 -3600 1 -01}
- {3434317200 -7200 0 -02}
- {3447018000 -3600 1 -01}
- {3465766800 -7200 0 -02}
- {3479072400 -3600 1 -01}
- {3497216400 -7200 0 -02}
- {3510522000 -3600 1 -01}
- {3528666000 -7200 0 -02}
- {3541971600 -3600 1 -01}
- {3560115600 -7200 0 -02}
- {3573421200 -3600 1 -01}
- {3592170000 -7200 0 -02}
- {3604870800 -3600 1 -01}
- {3623619600 -7200 0 -02}
- {3636320400 -3600 1 -01}
- {3655069200 -7200 0 -02}
- {3668374800 -3600 1 -01}
- {3686518800 -7200 0 -02}
- {3699824400 -3600 1 -01}
- {3717968400 -7200 0 -02}
- {3731274000 -3600 1 -01}
- {3750022800 -7200 0 -02}
- {3762723600 -3600 1 -01}
- {3781472400 -7200 0 -02}
- {3794173200 -3600 1 -01}
- {3812922000 -7200 0 -02}
- {3825622800 -3600 1 -01}
- {3844371600 -7200 0 -02}
- {3857677200 -3600 1 -01}
- {3875821200 -7200 0 -02}
- {3889126800 -3600 1 -01}
- {3907270800 -7200 0 -02}
- {3920576400 -3600 1 -01}
- {3939325200 -7200 0 -02}
- {3952026000 -3600 1 -01}
- {3970774800 -7200 0 -02}
- {3983475600 -3600 1 -01}
- {4002224400 -7200 0 -02}
- {4015530000 -3600 1 -01}
- {4033674000 -7200 0 -02}
- {4046979600 -3600 1 -01}
- {4065123600 -7200 0 -02}
- {4078429200 -3600 1 -01}
- {4096573200 -7200 0 -02}
+ {-1686090728 -7200 0 CGT}
+ {323841600 -3600 0 CGST}
+ {338961600 -7200 0 CGT}
+ {354679200 0 0 EGST}
+ {370400400 -3600 0 EGT}
+ {386125200 0 1 EGST}
+ {401850000 -3600 0 EGT}
+ {417574800 0 1 EGST}
+ {433299600 -3600 0 EGT}
+ {449024400 0 1 EGST}
+ {465354000 -3600 0 EGT}
+ {481078800 0 1 EGST}
+ {496803600 -3600 0 EGT}
+ {512528400 0 1 EGST}
+ {528253200 -3600 0 EGT}
+ {543978000 0 1 EGST}
+ {559702800 -3600 0 EGT}
+ {575427600 0 1 EGST}
+ {591152400 -3600 0 EGT}
+ {606877200 0 1 EGST}
+ {622602000 -3600 0 EGT}
+ {638326800 0 1 EGST}
+ {654656400 -3600 0 EGT}
+ {670381200 0 1 EGST}
+ {686106000 -3600 0 EGT}
+ {701830800 0 1 EGST}
+ {717555600 -3600 0 EGT}
+ {733280400 0 1 EGST}
+ {749005200 -3600 0 EGT}
+ {764730000 0 1 EGST}
+ {780454800 -3600 0 EGT}
+ {796179600 0 1 EGST}
+ {811904400 -3600 0 EGT}
+ {828234000 0 1 EGST}
+ {846378000 -3600 0 EGT}
+ {859683600 0 1 EGST}
+ {877827600 -3600 0 EGT}
+ {891133200 0 1 EGST}
+ {909277200 -3600 0 EGT}
+ {922582800 0 1 EGST}
+ {941331600 -3600 0 EGT}
+ {954032400 0 1 EGST}
+ {972781200 -3600 0 EGT}
+ {985482000 0 1 EGST}
+ {1004230800 -3600 0 EGT}
+ {1017536400 0 1 EGST}
+ {1035680400 -3600 0 EGT}
+ {1048986000 0 1 EGST}
+ {1067130000 -3600 0 EGT}
+ {1080435600 0 1 EGST}
+ {1099184400 -3600 0 EGT}
+ {1111885200 0 1 EGST}
+ {1130634000 -3600 0 EGT}
+ {1143334800 0 1 EGST}
+ {1162083600 -3600 0 EGT}
+ {1174784400 0 1 EGST}
+ {1193533200 -3600 0 EGT}
+ {1206838800 0 1 EGST}
+ {1224982800 -3600 0 EGT}
+ {1238288400 0 1 EGST}
+ {1256432400 -3600 0 EGT}
+ {1269738000 0 1 EGST}
+ {1288486800 -3600 0 EGT}
+ {1301187600 0 1 EGST}
+ {1319936400 -3600 0 EGT}
+ {1332637200 0 1 EGST}
+ {1351386000 -3600 0 EGT}
+ {1364691600 0 1 EGST}
+ {1382835600 -3600 0 EGT}
+ {1396141200 0 1 EGST}
+ {1414285200 -3600 0 EGT}
+ {1427590800 0 1 EGST}
+ {1445734800 -3600 0 EGT}
+ {1459040400 0 1 EGST}
+ {1477789200 -3600 0 EGT}
+ {1490490000 0 1 EGST}
+ {1509238800 -3600 0 EGT}
+ {1521939600 0 1 EGST}
+ {1540688400 -3600 0 EGT}
+ {1553994000 0 1 EGST}
+ {1572138000 -3600 0 EGT}
+ {1585443600 0 1 EGST}
+ {1603587600 -3600 0 EGT}
+ {1616893200 0 1 EGST}
+ {1635642000 -3600 0 EGT}
+ {1648342800 0 1 EGST}
+ {1667091600 -3600 0 EGT}
+ {1679792400 0 1 EGST}
+ {1698541200 -3600 0 EGT}
+ {1711846800 0 1 EGST}
+ {1729990800 -3600 0 EGT}
+ {1743296400 0 1 EGST}
+ {1761440400 -3600 0 EGT}
+ {1774746000 0 1 EGST}
+ {1792890000 -3600 0 EGT}
+ {1806195600 0 1 EGST}
+ {1824944400 -3600 0 EGT}
+ {1837645200 0 1 EGST}
+ {1856394000 -3600 0 EGT}
+ {1869094800 0 1 EGST}
+ {1887843600 -3600 0 EGT}
+ {1901149200 0 1 EGST}
+ {1919293200 -3600 0 EGT}
+ {1932598800 0 1 EGST}
+ {1950742800 -3600 0 EGT}
+ {1964048400 0 1 EGST}
+ {1982797200 -3600 0 EGT}
+ {1995498000 0 1 EGST}
+ {2014246800 -3600 0 EGT}
+ {2026947600 0 1 EGST}
+ {2045696400 -3600 0 EGT}
+ {2058397200 0 1 EGST}
+ {2077146000 -3600 0 EGT}
+ {2090451600 0 1 EGST}
+ {2108595600 -3600 0 EGT}
+ {2121901200 0 1 EGST}
+ {2140045200 -3600 0 EGT}
+ {2153350800 0 1 EGST}
+ {2172099600 -3600 0 EGT}
+ {2184800400 0 1 EGST}
+ {2203549200 -3600 0 EGT}
+ {2216250000 0 1 EGST}
+ {2234998800 -3600 0 EGT}
+ {2248304400 0 1 EGST}
+ {2266448400 -3600 0 EGT}
+ {2279754000 0 1 EGST}
+ {2297898000 -3600 0 EGT}
+ {2311203600 0 1 EGST}
+ {2329347600 -3600 0 EGT}
+ {2342653200 0 1 EGST}
+ {2361402000 -3600 0 EGT}
+ {2374102800 0 1 EGST}
+ {2392851600 -3600 0 EGT}
+ {2405552400 0 1 EGST}
+ {2424301200 -3600 0 EGT}
+ {2437606800 0 1 EGST}
+ {2455750800 -3600 0 EGT}
+ {2469056400 0 1 EGST}
+ {2487200400 -3600 0 EGT}
+ {2500506000 0 1 EGST}
+ {2519254800 -3600 0 EGT}
+ {2531955600 0 1 EGST}
+ {2550704400 -3600 0 EGT}
+ {2563405200 0 1 EGST}
+ {2582154000 -3600 0 EGT}
+ {2595459600 0 1 EGST}
+ {2613603600 -3600 0 EGT}
+ {2626909200 0 1 EGST}
+ {2645053200 -3600 0 EGT}
+ {2658358800 0 1 EGST}
+ {2676502800 -3600 0 EGT}
+ {2689808400 0 1 EGST}
+ {2708557200 -3600 0 EGT}
+ {2721258000 0 1 EGST}
+ {2740006800 -3600 0 EGT}
+ {2752707600 0 1 EGST}
+ {2771456400 -3600 0 EGT}
+ {2784762000 0 1 EGST}
+ {2802906000 -3600 0 EGT}
+ {2816211600 0 1 EGST}
+ {2834355600 -3600 0 EGT}
+ {2847661200 0 1 EGST}
+ {2866410000 -3600 0 EGT}
+ {2879110800 0 1 EGST}
+ {2897859600 -3600 0 EGT}
+ {2910560400 0 1 EGST}
+ {2929309200 -3600 0 EGT}
+ {2942010000 0 1 EGST}
+ {2960758800 -3600 0 EGT}
+ {2974064400 0 1 EGST}
+ {2992208400 -3600 0 EGT}
+ {3005514000 0 1 EGST}
+ {3023658000 -3600 0 EGT}
+ {3036963600 0 1 EGST}
+ {3055712400 -3600 0 EGT}
+ {3068413200 0 1 EGST}
+ {3087162000 -3600 0 EGT}
+ {3099862800 0 1 EGST}
+ {3118611600 -3600 0 EGT}
+ {3131917200 0 1 EGST}
+ {3150061200 -3600 0 EGT}
+ {3163366800 0 1 EGST}
+ {3181510800 -3600 0 EGT}
+ {3194816400 0 1 EGST}
+ {3212960400 -3600 0 EGT}
+ {3226266000 0 1 EGST}
+ {3245014800 -3600 0 EGT}
+ {3257715600 0 1 EGST}
+ {3276464400 -3600 0 EGT}
+ {3289165200 0 1 EGST}
+ {3307914000 -3600 0 EGT}
+ {3321219600 0 1 EGST}
+ {3339363600 -3600 0 EGT}
+ {3352669200 0 1 EGST}
+ {3370813200 -3600 0 EGT}
+ {3384118800 0 1 EGST}
+ {3402867600 -3600 0 EGT}
+ {3415568400 0 1 EGST}
+ {3434317200 -3600 0 EGT}
+ {3447018000 0 1 EGST}
+ {3465766800 -3600 0 EGT}
+ {3479072400 0 1 EGST}
+ {3497216400 -3600 0 EGT}
+ {3510522000 0 1 EGST}
+ {3528666000 -3600 0 EGT}
+ {3541971600 0 1 EGST}
+ {3560115600 -3600 0 EGT}
+ {3573421200 0 1 EGST}
+ {3592170000 -3600 0 EGT}
+ {3604870800 0 1 EGST}
+ {3623619600 -3600 0 EGT}
+ {3636320400 0 1 EGST}
+ {3655069200 -3600 0 EGT}
+ {3668374800 0 1 EGST}
+ {3686518800 -3600 0 EGT}
+ {3699824400 0 1 EGST}
+ {3717968400 -3600 0 EGT}
+ {3731274000 0 1 EGST}
+ {3750022800 -3600 0 EGT}
+ {3762723600 0 1 EGST}
+ {3781472400 -3600 0 EGT}
+ {3794173200 0 1 EGST}
+ {3812922000 -3600 0 EGT}
+ {3825622800 0 1 EGST}
+ {3844371600 -3600 0 EGT}
+ {3857677200 0 1 EGST}
+ {3875821200 -3600 0 EGT}
+ {3889126800 0 1 EGST}
+ {3907270800 -3600 0 EGT}
+ {3920576400 0 1 EGST}
+ {3939325200 -3600 0 EGT}
+ {3952026000 0 1 EGST}
+ {3970774800 -3600 0 EGT}
+ {3983475600 0 1 EGST}
+ {4002224400 -3600 0 EGT}
+ {4015530000 0 1 EGST}
+ {4033674000 -3600 0 EGT}
+ {4046979600 0 1 EGST}
+ {4065123600 -3600 0 EGT}
+ {4078429200 0 1 EGST}
+ {4096573200 -3600 0 EGT}
}
diff --git a/library/tzdata/America/Sitka b/library/tzdata/America/Sitka
index 7cef02a..8c53d93 100644
--- a/library/tzdata/America/Sitka
+++ b/library/tzdata/America/Sitka
@@ -2,7 +2,7 @@
set TZData(:America/Sitka) {
{-9223372036854775808 53927 0 LMT}
- {-3225223727 -32473 0 LMT}
+ {-3225365927 -32473 0 LMT}
{-2188954727 -28800 0 PST}
{-883584000 -28800 0 PST}
{-880207200 -25200 1 PWT}
diff --git a/library/tzdata/America/St_Barthelemy b/library/tzdata/America/St_Barthelemy
index 1640d82..46bc287 100644
--- a/library/tzdata/America/St_Barthelemy
+++ b/library/tzdata/America/St_Barthelemy
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/St_Barthelemy) $TZData(:America/Puerto_Rico)
+set TZData(:America/St_Barthelemy) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/St_Kitts b/library/tzdata/America/St_Kitts
index be7f15a..6ad7f04 100644
--- a/library/tzdata/America/St_Kitts
+++ b/library/tzdata/America/St_Kitts
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/St_Kitts) $TZData(:America/Puerto_Rico)
+set TZData(:America/St_Kitts) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/St_Lucia b/library/tzdata/America/St_Lucia
index ef43772..e479b31 100644
--- a/library/tzdata/America/St_Lucia
+++ b/library/tzdata/America/St_Lucia
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/St_Lucia) $TZData(:America/Puerto_Rico)
+set TZData(:America/St_Lucia) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/St_Thomas b/library/tzdata/America/St_Thomas
index f705397..24698b8 100644
--- a/library/tzdata/America/St_Thomas
+++ b/library/tzdata/America/St_Thomas
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/St_Thomas) $TZData(:America/Puerto_Rico)
+set TZData(:America/St_Thomas) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/St_Vincent b/library/tzdata/America/St_Vincent
index 289e483..e3b32fb 100644
--- a/library/tzdata/America/St_Vincent
+++ b/library/tzdata/America/St_Vincent
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/St_Vincent) $TZData(:America/Puerto_Rico)
+set TZData(:America/St_Vincent) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Thunder_Bay b/library/tzdata/America/Thunder_Bay
index 4761beb..8a454be 100644
--- a/library/tzdata/America/Thunder_Bay
+++ b/library/tzdata/America/Thunder_Bay
@@ -1,5 +1,272 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Toronto)]} {
- LoadTimeZoneFile America/Toronto
+
+set TZData(:America/Thunder_Bay) {
+ {-9223372036854775808 -21420 0 LMT}
+ {-2366733780 -21600 0 CST}
+ {-1893434400 -18000 0 EST}
+ {-883594800 -18000 0 EST}
+ {-880218000 -14400 1 EWT}
+ {-769395600 -14400 1 EPT}
+ {-765396000 -18000 0 EST}
+ {18000 -18000 0 EST}
+ {9961200 -14400 1 EDT}
+ {25682400 -18000 0 EST}
+ {41410800 -14400 1 EDT}
+ {57736800 -18000 0 EST}
+ {73465200 -14400 1 EDT}
+ {89186400 -18000 0 EST}
+ {94712400 -18000 0 EST}
+ {126248400 -18000 0 EST}
+ {136364400 -14400 1 EDT}
+ {152085600 -18000 0 EST}
+ {167814000 -14400 1 EDT}
+ {183535200 -18000 0 EST}
+ {199263600 -14400 1 EDT}
+ {215589600 -18000 0 EST}
+ {230713200 -14400 1 EDT}
+ {247039200 -18000 0 EST}
+ {262767600 -14400 1 EDT}
+ {278488800 -18000 0 EST}
+ {294217200 -14400 1 EDT}
+ {309938400 -18000 0 EST}
+ {325666800 -14400 1 EDT}
+ {341388000 -18000 0 EST}
+ {357116400 -14400 1 EDT}
+ {372837600 -18000 0 EST}
+ {388566000 -14400 1 EDT}
+ {404892000 -18000 0 EST}
+ {420015600 -14400 1 EDT}
+ {436341600 -18000 0 EST}
+ {452070000 -14400 1 EDT}
+ {467791200 -18000 0 EST}
+ {483519600 -14400 1 EDT}
+ {499240800 -18000 0 EST}
+ {514969200 -14400 1 EDT}
+ {530690400 -18000 0 EST}
+ {544604400 -14400 1 EDT}
+ {562140000 -18000 0 EST}
+ {576054000 -14400 1 EDT}
+ {594194400 -18000 0 EST}
+ {607503600 -14400 1 EDT}
+ {625644000 -18000 0 EST}
+ {638953200 -14400 1 EDT}
+ {657093600 -18000 0 EST}
+ {671007600 -14400 1 EDT}
+ {688543200 -18000 0 EST}
+ {702457200 -14400 1 EDT}
+ {719992800 -18000 0 EST}
+ {733906800 -14400 1 EDT}
+ {752047200 -18000 0 EST}
+ {765356400 -14400 1 EDT}
+ {783496800 -18000 0 EST}
+ {796806000 -14400 1 EDT}
+ {814946400 -18000 0 EST}
+ {828860400 -14400 1 EDT}
+ {846396000 -18000 0 EST}
+ {860310000 -14400 1 EDT}
+ {877845600 -18000 0 EST}
+ {891759600 -14400 1 EDT}
+ {909295200 -18000 0 EST}
+ {923209200 -14400 1 EDT}
+ {941349600 -18000 0 EST}
+ {954658800 -14400 1 EDT}
+ {972799200 -18000 0 EST}
+ {986108400 -14400 1 EDT}
+ {1004248800 -18000 0 EST}
+ {1018162800 -14400 1 EDT}
+ {1035698400 -18000 0 EST}
+ {1049612400 -14400 1 EDT}
+ {1067148000 -18000 0 EST}
+ {1081062000 -14400 1 EDT}
+ {1099202400 -18000 0 EST}
+ {1112511600 -14400 1 EDT}
+ {1130652000 -18000 0 EST}
+ {1143961200 -14400 1 EDT}
+ {1162101600 -18000 0 EST}
+ {1173596400 -14400 1 EDT}
+ {1194156000 -18000 0 EST}
+ {1205046000 -14400 1 EDT}
+ {1225605600 -18000 0 EST}
+ {1236495600 -14400 1 EDT}
+ {1257055200 -18000 0 EST}
+ {1268550000 -14400 1 EDT}
+ {1289109600 -18000 0 EST}
+ {1299999600 -14400 1 EDT}
+ {1320559200 -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}
}
-set TZData(:America/Thunder_Bay) $TZData(:America/Toronto)
diff --git a/library/tzdata/America/Tijuana b/library/tzdata/America/Tijuana
index 186fe7d..6118cde 100644
--- a/library/tzdata/America/Tijuana
+++ b/library/tzdata/America/Tijuana
@@ -2,7 +2,7 @@
set TZData(:America/Tijuana) {
{-9223372036854775808 -28084 0 LMT}
- {-1514739600 -25200 0 MST}
+ {-1514736000 -25200 0 MST}
{-1451667600 -28800 0 PST}
{-1343062800 -25200 0 MST}
{-1234803600 -28800 0 PST}
@@ -14,19 +14,19 @@ set TZData(:America/Tijuana) {
{-686073600 -25200 1 PDT}
{-661539600 -28800 0 PST}
{-504892800 -28800 0 PST}
- {-495039600 -25200 1 PDT}
+ {-495036000 -25200 1 PDT}
{-481734000 -28800 0 PST}
- {-463590000 -25200 1 PDT}
+ {-463586400 -25200 1 PDT}
{-450284400 -28800 0 PST}
- {-431535600 -25200 1 PDT}
+ {-431532000 -25200 1 PDT}
{-418230000 -28800 0 PST}
- {-400086000 -25200 1 PDT}
+ {-400082400 -25200 1 PDT}
{-386780400 -28800 0 PST}
- {-368636400 -25200 1 PDT}
+ {-368632800 -25200 1 PDT}
{-355330800 -28800 0 PST}
- {-337186800 -25200 1 PDT}
+ {-337183200 -25200 1 PDT}
{-323881200 -28800 0 PST}
- {-305737200 -25200 1 PDT}
+ {-305733600 -25200 1 PDT}
{-292431600 -28800 0 PST}
{-283968000 -28800 0 PST}
{189331200 -28800 0 PST}
diff --git a/library/tzdata/America/Toronto b/library/tzdata/America/Toronto
index 63b7a82..09bf786 100644
--- a/library/tzdata/America/Toronto
+++ b/library/tzdata/America/Toronto
@@ -55,12 +55,12 @@ set TZData(:America/Toronto) {
{-757364400 -18000 0 EST}
{-747248400 -14400 1 EDT}
{-733946400 -18000 0 EST}
- {-715798800 -14400 1 EDT}
- {-702496800 -18000 0 EST}
- {-684349200 -14400 1 EDT}
- {-671047200 -18000 0 EST}
- {-652899600 -14400 1 EDT}
- {-634154400 -18000 0 EST}
+ {-715806000 -14400 1 EDT}
+ {-702504000 -18000 0 EST}
+ {-684356400 -14400 1 EDT}
+ {-671054400 -18000 0 EST}
+ {-652906800 -14400 1 EDT}
+ {-634161600 -18000 0 EST}
{-620845200 -14400 1 EDT}
{-602704800 -18000 0 EST}
{-589395600 -14400 1 EDT}
diff --git a/library/tzdata/America/Tortola b/library/tzdata/America/Tortola
index 71f75e2..aa6f655 100644
--- a/library/tzdata/America/Tortola
+++ b/library/tzdata/America/Tortola
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/Tortola) $TZData(:America/Puerto_Rico)
+set TZData(:America/Tortola) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Vancouver b/library/tzdata/America/Vancouver
index 795e9e0..aef639a 100644
--- a/library/tzdata/America/Vancouver
+++ b/library/tzdata/America/Vancouver
@@ -9,7 +9,7 @@ set TZData(:America/Vancouver) {
{-769395600 -25200 1 PPT}
{-765385200 -28800 0 PST}
{-747237600 -25200 1 PDT}
- {-733935600 -28800 0 PST}
+ {-732726000 -28800 0 PST}
{-715788000 -25200 1 PDT}
{-702486000 -28800 0 PST}
{-684338400 -25200 1 PDT}
diff --git a/library/tzdata/America/Virgin b/library/tzdata/America/Virgin
index a34eb12..c267e5b 100644
--- a/library/tzdata/America/Virgin
+++ b/library/tzdata/America/Virgin
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Puerto_Rico)]} {
- LoadTimeZoneFile America/Puerto_Rico
+if {![info exists TZData(America/Port_of_Spain)]} {
+ LoadTimeZoneFile America/Port_of_Spain
}
-set TZData(:America/Virgin) $TZData(:America/Puerto_Rico)
+set TZData(:America/Virgin) $TZData(:America/Port_of_Spain)
diff --git a/library/tzdata/America/Whitehorse b/library/tzdata/America/Whitehorse
index 602ecd1..1d61093 100644
--- a/library/tzdata/America/Whitehorse
+++ b/library/tzdata/America/Whitehorse
@@ -10,10 +10,8 @@ set TZData(:America/Whitehorse) {
{-880203600 -28800 1 YWT}
{-769395600 -28800 1 YPT}
{-765381600 -32400 0 YST}
- {-157734000 -32400 0 YST}
{-147884400 -25200 1 YDDT}
{-131554800 -32400 0 YST}
- {-121273200 -28800 0 PST}
{315561600 -28800 0 PST}
{325677600 -25200 1 PDT}
{341398800 -28800 0 PST}
@@ -96,5 +94,163 @@ set TZData(:America/Whitehorse) {
{1552212000 -25200 1 PDT}
{1572771600 -28800 0 PST}
{1583661600 -25200 1 PDT}
- {1604217600 -25200 0 MST}
+ {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}
}
diff --git a/library/tzdata/America/Yakutat b/library/tzdata/America/Yakutat
index b1d66ff..a0420c5 100644
--- a/library/tzdata/America/Yakutat
+++ b/library/tzdata/America/Yakutat
@@ -2,7 +2,7 @@
set TZData(:America/Yakutat) {
{-9223372036854775808 52865 0 LMT}
- {-3225223727 -33535 0 LMT}
+ {-3225364865 -33535 0 LMT}
{-2188953665 -32400 0 YST}
{-883580400 -32400 0 YST}
{-880203600 -28800 1 YWT}
diff --git a/library/tzdata/America/Yellowknife b/library/tzdata/America/Yellowknife
index 69e171d..44ca658 100644
--- a/library/tzdata/America/Yellowknife
+++ b/library/tzdata/America/Yellowknife
@@ -1,5 +1,252 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(America/Edmonton)]} {
- LoadTimeZoneFile America/Edmonton
+
+set TZData(:America/Yellowknife) {
+ {-9223372036854775808 0 0 zzz}
+ {-1104537600 -25200 0 MST}
+ {-880210800 -21600 1 MWT}
+ {-769395600 -21600 1 MPT}
+ {-765388800 -25200 0 MST}
+ {-147891600 -18000 1 MDDT}
+ {-131562000 -25200 0 MST}
+ {315558000 -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}
+ {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}
}
-set TZData(:America/Yellowknife) $TZData(:America/Edmonton)
diff --git a/library/tzdata/Antarctica/Casey b/library/tzdata/Antarctica/Casey
index 644a6a1..56d5df7 100644
--- a/library/tzdata/Antarctica/Casey
+++ b/library/tzdata/Antarctica/Casey
@@ -1,22 +1,10 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Antarctica/Casey) {
- {-9223372036854775808 0 0 -00}
- {-31536000 28800 0 +08}
- {1255802400 39600 0 +11}
- {1267714800 28800 0 +08}
- {1319738400 39600 0 +11}
- {1329843600 28800 0 +08}
- {1477065600 39600 0 +11}
- {1520701200 28800 0 +08}
- {1538856000 39600 0 +11}
- {1552752000 28800 0 +08}
- {1570129200 39600 0 +11}
- {1583596800 28800 0 +08}
- {1601740860 39600 0 +11}
- {1615640400 28800 0 +08}
- {1633190460 39600 0 +11}
- {1647090000 28800 0 +08}
- {1664640060 39600 0 +11}
- {1678291200 28800 0 +08}
+ {-9223372036854775808 0 0 zzz}
+ {-31536000 28800 0 AWST}
+ {1255802400 39600 0 CAST}
+ {1267714800 28800 0 AWST}
+ {1319738400 39600 0 CAST}
+ {1329843600 28800 0 AWST}
}
diff --git a/library/tzdata/Antarctica/Davis b/library/tzdata/Antarctica/Davis
index 9bb178b..2762d2f 100644
--- a/library/tzdata/Antarctica/Davis
+++ b/library/tzdata/Antarctica/Davis
@@ -1,12 +1,12 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Antarctica/Davis) {
- {-9223372036854775808 0 0 -00}
- {-409190400 25200 0 +07}
- {-163062000 0 0 -00}
- {-28857600 25200 0 +07}
- {1255806000 18000 0 +05}
- {1268251200 25200 0 +07}
- {1319742000 18000 0 +05}
- {1329854400 25200 0 +07}
+ {-9223372036854775808 0 0 zzz}
+ {-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/DumontDUrville b/library/tzdata/Antarctica/DumontDUrville
index 43c1263..41dc1e3 100644
--- a/library/tzdata/Antarctica/DumontDUrville
+++ b/library/tzdata/Antarctica/DumontDUrville
@@ -1,5 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Port_Moresby)]} {
- LoadTimeZoneFile Pacific/Port_Moresby
+
+set TZData(:Antarctica/DumontDUrville) {
+ {-9223372036854775808 0 0 zzz}
+ {-725846400 36000 0 PMT}
+ {-566992800 0 0 zzz}
+ {-415497600 36000 0 DDUT}
}
-set TZData(:Antarctica/DumontDUrville) $TZData(:Pacific/Port_Moresby)
diff --git a/library/tzdata/Antarctica/Macquarie b/library/tzdata/Antarctica/Macquarie
index 82b2b9f..07ddff6 100644
--- a/library/tzdata/Antarctica/Macquarie
+++ b/library/tzdata/Antarctica/Macquarie
@@ -1,12 +1,12 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Antarctica/Macquarie) {
- {-9223372036854775808 0 0 -00}
+ {-9223372036854775808 0 0 zzz}
{-2214259200 36000 0 AEST}
{-1680508800 39600 1 AEDT}
{-1669892400 39600 0 AEDT}
- {-1665388800 36000 0 AEST}
- {-1601719200 0 0 -00}
+ {-1665392400 36000 0 AEST}
+ {-1601719200 0 0 zzz}
{-94730400 36000 0 AEST}
{-71136000 39600 1 AEDT}
{-55411200 36000 0 AEST}
@@ -93,184 +93,5 @@ set TZData(:Antarctica/Macquarie) {
{1223136000 39600 1 AEDT}
{1238860800 36000 0 AEST}
{1254585600 39600 1 AEDT}
- {1262264400 39600 1 AEDT}
- {1293800400 39600 0 AEST}
- {1301760000 36000 0 AEST}
- {1317484800 39600 1 AEDT}
- {1333209600 36000 0 AEST}
- {1349539200 39600 1 AEDT}
- {1365264000 36000 0 AEST}
- {1380988800 39600 1 AEDT}
- {1396713600 36000 0 AEST}
- {1412438400 39600 1 AEDT}
- {1428163200 36000 0 AEST}
- {1443888000 39600 1 AEDT}
- {1459612800 36000 0 AEST}
- {1475337600 39600 1 AEDT}
- {1491062400 36000 0 AEST}
- {1506787200 39600 1 AEDT}
- {1522512000 36000 0 AEST}
- {1538841600 39600 1 AEDT}
- {1554566400 36000 0 AEST}
- {1570291200 39600 1 AEDT}
- {1586016000 36000 0 AEST}
- {1601740800 39600 1 AEDT}
- {1617465600 36000 0 AEST}
- {1633190400 39600 1 AEDT}
- {1648915200 36000 0 AEST}
- {1664640000 39600 1 AEDT}
- {1680364800 36000 0 AEST}
- {1696089600 39600 1 AEDT}
- {1712419200 36000 0 AEST}
- {1728144000 39600 1 AEDT}
- {1743868800 36000 0 AEST}
- {1759593600 39600 1 AEDT}
- {1775318400 36000 0 AEST}
- {1791043200 39600 1 AEDT}
- {1806768000 36000 0 AEST}
- {1822492800 39600 1 AEDT}
- {1838217600 36000 0 AEST}
- {1853942400 39600 1 AEDT}
- {1869667200 36000 0 AEST}
- {1885996800 39600 1 AEDT}
- {1901721600 36000 0 AEST}
- {1917446400 39600 1 AEDT}
- {1933171200 36000 0 AEST}
- {1948896000 39600 1 AEDT}
- {1964620800 36000 0 AEST}
- {1980345600 39600 1 AEDT}
- {1996070400 36000 0 AEST}
- {2011795200 39600 1 AEDT}
- {2027520000 36000 0 AEST}
- {2043244800 39600 1 AEDT}
- {2058969600 36000 0 AEST}
- {2075299200 39600 1 AEDT}
- {2091024000 36000 0 AEST}
- {2106748800 39600 1 AEDT}
- {2122473600 36000 0 AEST}
- {2138198400 39600 1 AEDT}
- {2153923200 36000 0 AEST}
- {2169648000 39600 1 AEDT}
- {2185372800 36000 0 AEST}
- {2201097600 39600 1 AEDT}
- {2216822400 36000 0 AEST}
- {2233152000 39600 1 AEDT}
- {2248876800 36000 0 AEST}
- {2264601600 39600 1 AEDT}
- {2280326400 36000 0 AEST}
- {2296051200 39600 1 AEDT}
- {2311776000 36000 0 AEST}
- {2327500800 39600 1 AEDT}
- {2343225600 36000 0 AEST}
- {2358950400 39600 1 AEDT}
- {2374675200 36000 0 AEST}
- {2390400000 39600 1 AEDT}
- {2406124800 36000 0 AEST}
- {2422454400 39600 1 AEDT}
- {2438179200 36000 0 AEST}
- {2453904000 39600 1 AEDT}
- {2469628800 36000 0 AEST}
- {2485353600 39600 1 AEDT}
- {2501078400 36000 0 AEST}
- {2516803200 39600 1 AEDT}
- {2532528000 36000 0 AEST}
- {2548252800 39600 1 AEDT}
- {2563977600 36000 0 AEST}
- {2579702400 39600 1 AEDT}
- {2596032000 36000 0 AEST}
- {2611756800 39600 1 AEDT}
- {2627481600 36000 0 AEST}
- {2643206400 39600 1 AEDT}
- {2658931200 36000 0 AEST}
- {2674656000 39600 1 AEDT}
- {2690380800 36000 0 AEST}
- {2706105600 39600 1 AEDT}
- {2721830400 36000 0 AEST}
- {2737555200 39600 1 AEDT}
- {2753280000 36000 0 AEST}
- {2769609600 39600 1 AEDT}
- {2785334400 36000 0 AEST}
- {2801059200 39600 1 AEDT}
- {2816784000 36000 0 AEST}
- {2832508800 39600 1 AEDT}
- {2848233600 36000 0 AEST}
- {2863958400 39600 1 AEDT}
- {2879683200 36000 0 AEST}
- {2895408000 39600 1 AEDT}
- {2911132800 36000 0 AEST}
- {2926857600 39600 1 AEDT}
- {2942582400 36000 0 AEST}
- {2958912000 39600 1 AEDT}
- {2974636800 36000 0 AEST}
- {2990361600 39600 1 AEDT}
- {3006086400 36000 0 AEST}
- {3021811200 39600 1 AEDT}
- {3037536000 36000 0 AEST}
- {3053260800 39600 1 AEDT}
- {3068985600 36000 0 AEST}
- {3084710400 39600 1 AEDT}
- {3100435200 36000 0 AEST}
- {3116764800 39600 1 AEDT}
- {3132489600 36000 0 AEST}
- {3148214400 39600 1 AEDT}
- {3163939200 36000 0 AEST}
- {3179664000 39600 1 AEDT}
- {3195388800 36000 0 AEST}
- {3211113600 39600 1 AEDT}
- {3226838400 36000 0 AEST}
- {3242563200 39600 1 AEDT}
- {3258288000 36000 0 AEST}
- {3274012800 39600 1 AEDT}
- {3289737600 36000 0 AEST}
- {3306067200 39600 1 AEDT}
- {3321792000 36000 0 AEST}
- {3337516800 39600 1 AEDT}
- {3353241600 36000 0 AEST}
- {3368966400 39600 1 AEDT}
- {3384691200 36000 0 AEST}
- {3400416000 39600 1 AEDT}
- {3416140800 36000 0 AEST}
- {3431865600 39600 1 AEDT}
- {3447590400 36000 0 AEST}
- {3463315200 39600 1 AEDT}
- {3479644800 36000 0 AEST}
- {3495369600 39600 1 AEDT}
- {3511094400 36000 0 AEST}
- {3526819200 39600 1 AEDT}
- {3542544000 36000 0 AEST}
- {3558268800 39600 1 AEDT}
- {3573993600 36000 0 AEST}
- {3589718400 39600 1 AEDT}
- {3605443200 36000 0 AEST}
- {3621168000 39600 1 AEDT}
- {3636892800 36000 0 AEST}
- {3653222400 39600 1 AEDT}
- {3668947200 36000 0 AEST}
- {3684672000 39600 1 AEDT}
- {3700396800 36000 0 AEST}
- {3716121600 39600 1 AEDT}
- {3731846400 36000 0 AEST}
- {3747571200 39600 1 AEDT}
- {3763296000 36000 0 AEST}
- {3779020800 39600 1 AEDT}
- {3794745600 36000 0 AEST}
- {3810470400 39600 1 AEDT}
- {3826195200 36000 0 AEST}
- {3842524800 39600 1 AEDT}
- {3858249600 36000 0 AEST}
- {3873974400 39600 1 AEDT}
- {3889699200 36000 0 AEST}
- {3905424000 39600 1 AEDT}
- {3921148800 36000 0 AEST}
- {3936873600 39600 1 AEDT}
- {3952598400 36000 0 AEST}
- {3968323200 39600 1 AEDT}
- {3984048000 36000 0 AEST}
- {4000377600 39600 1 AEDT}
- {4016102400 36000 0 AEST}
- {4031827200 39600 1 AEDT}
- {4047552000 36000 0 AEST}
- {4063276800 39600 1 AEDT}
- {4079001600 36000 0 AEST}
- {4094726400 39600 1 AEDT}
+ {1270310400 39600 0 MIST}
}
diff --git a/library/tzdata/Antarctica/Mawson b/library/tzdata/Antarctica/Mawson
index 4828b1a..ba03ba1 100644
--- a/library/tzdata/Antarctica/Mawson
+++ b/library/tzdata/Antarctica/Mawson
@@ -1,7 +1,7 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Antarctica/Mawson) {
- {-9223372036854775808 0 0 -00}
- {-501206400 21600 0 +06}
- {1255809600 18000 0 +05}
+ {-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 f450e3b..2c43861 100644
--- a/library/tzdata/Antarctica/Palmer
+++ b/library/tzdata/Antarctica/Palmer
@@ -1,87 +1,85 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Antarctica/Palmer) {
- {-9223372036854775808 0 0 -00}
- {-157766400 -14400 0 -04}
- {-152654400 -14400 0 -04}
- {-132955200 -10800 1 -04}
- {-121122000 -14400 0 -04}
- {-101419200 -10800 1 -04}
- {-86821200 -14400 0 -04}
- {-71092800 -10800 1 -04}
- {-54766800 -14400 0 -04}
- {-39038400 -10800 1 -04}
- {-23317200 -14400 0 -04}
- {-7588800 -10800 0 -03}
- {128142000 -7200 1 -03}
- {136605600 -10800 0 -03}
- {389070000 -14400 0 -04}
- {403070400 -10800 1 -04}
- {416372400 -14400 0 -04}
- {434520000 -10800 1 -04}
- {447822000 -14400 0 -04}
- {466574400 -10800 1 -04}
- {479271600 -14400 0 -04}
- {498024000 -10800 1 -04}
- {510721200 -14400 0 -04}
- {529473600 -10800 1 -04}
- {545194800 -14400 0 -04}
- {560923200 -10800 1 -04}
- {574225200 -14400 0 -04}
- {592372800 -10800 1 -04}
- {605674800 -14400 0 -04}
- {624427200 -10800 1 -04}
- {637124400 -14400 0 -04}
- {653457600 -10800 1 -04}
- {668574000 -14400 0 -04}
- {687326400 -10800 1 -04}
- {700628400 -14400 0 -04}
- {718776000 -10800 1 -04}
- {732078000 -14400 0 -04}
- {750225600 -10800 1 -04}
- {763527600 -14400 0 -04}
- {781675200 -10800 1 -04}
- {794977200 -14400 0 -04}
- {813729600 -10800 1 -04}
- {826426800 -14400 0 -04}
- {845179200 -10800 1 -04}
- {859690800 -14400 0 -04}
- {876628800 -10800 1 -04}
- {889930800 -14400 0 -04}
- {906868800 -10800 1 -04}
- {923194800 -14400 0 -04}
- {939528000 -10800 1 -04}
- {952830000 -14400 0 -04}
- {971582400 -10800 1 -04}
- {984279600 -14400 0 -04}
- {1003032000 -10800 1 -04}
- {1015729200 -14400 0 -04}
- {1034481600 -10800 1 -04}
- {1047178800 -14400 0 -04}
- {1065931200 -10800 1 -04}
- {1079233200 -14400 0 -04}
- {1097380800 -10800 1 -04}
- {1110682800 -14400 0 -04}
- {1128830400 -10800 1 -04}
- {1142132400 -14400 0 -04}
- {1160884800 -10800 1 -04}
- {1173582000 -14400 0 -04}
- {1192334400 -10800 1 -04}
- {1206846000 -14400 0 -04}
- {1223784000 -10800 1 -04}
- {1237086000 -14400 0 -04}
- {1255233600 -10800 1 -04}
- {1270350000 -14400 0 -04}
- {1286683200 -10800 1 -04}
- {1304823600 -14400 0 -04}
- {1313899200 -10800 1 -04}
- {1335668400 -14400 0 -04}
- {1346558400 -10800 1 -04}
- {1367118000 -14400 0 -04}
- {1378612800 -10800 1 -04}
- {1398567600 -14400 0 -04}
- {1410062400 -10800 1 -04}
- {1463281200 -14400 0 -04}
- {1471147200 -10800 1 -04}
- {1480820400 -10800 0 -03}
+ {-9223372036854775808 0 0 zzz}
+ {-157766400 -14400 0 ART}
+ {-152654400 -14400 0 ART}
+ {-132955200 -10800 1 ARST}
+ {-121122000 -14400 0 ART}
+ {-101419200 -10800 1 ARST}
+ {-86821200 -14400 0 ART}
+ {-71092800 -10800 1 ARST}
+ {-54766800 -14400 0 ART}
+ {-39038400 -10800 1 ARST}
+ {-23317200 -14400 0 ART}
+ {-7588800 -10800 0 ART}
+ {128142000 -7200 1 ARST}
+ {136605600 -10800 0 ART}
+ {389070000 -14400 0 CLT}
+ {403070400 -10800 1 CLST}
+ {416372400 -14400 0 CLT}
+ {434520000 -10800 1 CLST}
+ {447822000 -14400 0 CLT}
+ {466574400 -10800 1 CLST}
+ {479271600 -14400 0 CLT}
+ {498024000 -10800 1 CLST}
+ {510721200 -14400 0 CLT}
+ {529473600 -10800 1 CLST}
+ {545194800 -14400 0 CLT}
+ {560923200 -10800 1 CLST}
+ {574225200 -14400 0 CLT}
+ {592372800 -10800 1 CLST}
+ {605674800 -14400 0 CLT}
+ {624427200 -10800 1 CLST}
+ {637124400 -14400 0 CLT}
+ {653457600 -10800 1 CLST}
+ {668574000 -14400 0 CLT}
+ {687326400 -10800 1 CLST}
+ {700628400 -14400 0 CLT}
+ {718776000 -10800 1 CLST}
+ {732078000 -14400 0 CLT}
+ {750225600 -10800 1 CLST}
+ {763527600 -14400 0 CLT}
+ {781675200 -10800 1 CLST}
+ {794977200 -14400 0 CLT}
+ {813729600 -10800 1 CLST}
+ {826426800 -14400 0 CLT}
+ {845179200 -10800 1 CLST}
+ {859690800 -14400 0 CLT}
+ {876628800 -10800 1 CLST}
+ {889930800 -14400 0 CLT}
+ {906868800 -10800 1 CLST}
+ {923194800 -14400 0 CLT}
+ {939528000 -10800 1 CLST}
+ {952830000 -14400 0 CLT}
+ {971582400 -10800 1 CLST}
+ {984279600 -14400 0 CLT}
+ {1003032000 -10800 1 CLST}
+ {1015729200 -14400 0 CLT}
+ {1034481600 -10800 1 CLST}
+ {1047178800 -14400 0 CLT}
+ {1065931200 -10800 1 CLST}
+ {1079233200 -14400 0 CLT}
+ {1097380800 -10800 1 CLST}
+ {1110682800 -14400 0 CLT}
+ {1128830400 -10800 1 CLST}
+ {1142132400 -14400 0 CLT}
+ {1160884800 -10800 1 CLST}
+ {1173582000 -14400 0 CLT}
+ {1192334400 -10800 1 CLST}
+ {1206846000 -14400 0 CLT}
+ {1223784000 -10800 1 CLST}
+ {1237086000 -14400 0 CLT}
+ {1255233600 -10800 1 CLST}
+ {1270350000 -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 -10800 0 CLT}
}
diff --git a/library/tzdata/Antarctica/Rothera b/library/tzdata/Antarctica/Rothera
index 7f0134f..24d7f3e 100644
--- a/library/tzdata/Antarctica/Rothera
+++ b/library/tzdata/Antarctica/Rothera
@@ -1,6 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Antarctica/Rothera) {
- {-9223372036854775808 0 0 -00}
- {218246400 -10800 0 -03}
+ {-9223372036854775808 0 0 zzz}
+ {218246400 -10800 0 ROTT}
}
diff --git a/library/tzdata/Antarctica/Syowa b/library/tzdata/Antarctica/Syowa
index 87ffb62..4d046b5 100644
--- a/library/tzdata/Antarctica/Syowa
+++ b/library/tzdata/Antarctica/Syowa
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Asia/Riyadh)]} {
- LoadTimeZoneFile Asia/Riyadh
+
+set TZData(:Antarctica/Syowa) {
+ {-9223372036854775808 0 0 zzz}
+ {-407808000 10800 0 SYOT}
}
-set TZData(:Antarctica/Syowa) $TZData(:Asia/Riyadh)
diff --git a/library/tzdata/Antarctica/Troll b/library/tzdata/Antarctica/Troll
index fe44578..7d2b042 100644
--- a/library/tzdata/Antarctica/Troll
+++ b/library/tzdata/Antarctica/Troll
@@ -1,196 +1,196 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Antarctica/Troll) {
- {-9223372036854775808 0 0 -00}
- {1108166400 0 0 +00}
- {1111885200 7200 1 +02}
- {1130634000 0 0 +00}
- {1143334800 7200 1 +02}
- {1162083600 0 0 +00}
- {1174784400 7200 1 +02}
- {1193533200 0 0 +00}
- {1206838800 7200 1 +02}
- {1224982800 0 0 +00}
- {1238288400 7200 1 +02}
- {1256432400 0 0 +00}
- {1269738000 7200 1 +02}
- {1288486800 0 0 +00}
- {1301187600 7200 1 +02}
- {1319936400 0 0 +00}
- {1332637200 7200 1 +02}
- {1351386000 0 0 +00}
- {1364691600 7200 1 +02}
- {1382835600 0 0 +00}
- {1396141200 7200 1 +02}
- {1414285200 0 0 +00}
- {1427590800 7200 1 +02}
- {1445734800 0 0 +00}
- {1459040400 7200 1 +02}
- {1477789200 0 0 +00}
- {1490490000 7200 1 +02}
- {1509238800 0 0 +00}
- {1521939600 7200 1 +02}
- {1540688400 0 0 +00}
- {1553994000 7200 1 +02}
- {1572138000 0 0 +00}
- {1585443600 7200 1 +02}
- {1603587600 0 0 +00}
- {1616893200 7200 1 +02}
- {1635642000 0 0 +00}
- {1648342800 7200 1 +02}
- {1667091600 0 0 +00}
- {1679792400 7200 1 +02}
- {1698541200 0 0 +00}
- {1711846800 7200 1 +02}
- {1729990800 0 0 +00}
- {1743296400 7200 1 +02}
- {1761440400 0 0 +00}
- {1774746000 7200 1 +02}
- {1792890000 0 0 +00}
- {1806195600 7200 1 +02}
- {1824944400 0 0 +00}
- {1837645200 7200 1 +02}
- {1856394000 0 0 +00}
- {1869094800 7200 1 +02}
- {1887843600 0 0 +00}
- {1901149200 7200 1 +02}
- {1919293200 0 0 +00}
- {1932598800 7200 1 +02}
- {1950742800 0 0 +00}
- {1964048400 7200 1 +02}
- {1982797200 0 0 +00}
- {1995498000 7200 1 +02}
- {2014246800 0 0 +00}
- {2026947600 7200 1 +02}
- {2045696400 0 0 +00}
- {2058397200 7200 1 +02}
- {2077146000 0 0 +00}
- {2090451600 7200 1 +02}
- {2108595600 0 0 +00}
- {2121901200 7200 1 +02}
- {2140045200 0 0 +00}
- {2153350800 7200 1 +02}
- {2172099600 0 0 +00}
- {2184800400 7200 1 +02}
- {2203549200 0 0 +00}
- {2216250000 7200 1 +02}
- {2234998800 0 0 +00}
- {2248304400 7200 1 +02}
- {2266448400 0 0 +00}
- {2279754000 7200 1 +02}
- {2297898000 0 0 +00}
- {2311203600 7200 1 +02}
- {2329347600 0 0 +00}
- {2342653200 7200 1 +02}
- {2361402000 0 0 +00}
- {2374102800 7200 1 +02}
- {2392851600 0 0 +00}
- {2405552400 7200 1 +02}
- {2424301200 0 0 +00}
- {2437606800 7200 1 +02}
- {2455750800 0 0 +00}
- {2469056400 7200 1 +02}
- {2487200400 0 0 +00}
- {2500506000 7200 1 +02}
- {2519254800 0 0 +00}
- {2531955600 7200 1 +02}
- {2550704400 0 0 +00}
- {2563405200 7200 1 +02}
- {2582154000 0 0 +00}
- {2595459600 7200 1 +02}
- {2613603600 0 0 +00}
- {2626909200 7200 1 +02}
- {2645053200 0 0 +00}
- {2658358800 7200 1 +02}
- {2676502800 0 0 +00}
- {2689808400 7200 1 +02}
- {2708557200 0 0 +00}
- {2721258000 7200 1 +02}
- {2740006800 0 0 +00}
- {2752707600 7200 1 +02}
- {2771456400 0 0 +00}
- {2784762000 7200 1 +02}
- {2802906000 0 0 +00}
- {2816211600 7200 1 +02}
- {2834355600 0 0 +00}
- {2847661200 7200 1 +02}
- {2866410000 0 0 +00}
- {2879110800 7200 1 +02}
- {2897859600 0 0 +00}
- {2910560400 7200 1 +02}
- {2929309200 0 0 +00}
- {2942010000 7200 1 +02}
- {2960758800 0 0 +00}
- {2974064400 7200 1 +02}
- {2992208400 0 0 +00}
- {3005514000 7200 1 +02}
- {3023658000 0 0 +00}
- {3036963600 7200 1 +02}
- {3055712400 0 0 +00}
- {3068413200 7200 1 +02}
- {3087162000 0 0 +00}
- {3099862800 7200 1 +02}
- {3118611600 0 0 +00}
- {3131917200 7200 1 +02}
- {3150061200 0 0 +00}
- {3163366800 7200 1 +02}
- {3181510800 0 0 +00}
- {3194816400 7200 1 +02}
- {3212960400 0 0 +00}
- {3226266000 7200 1 +02}
- {3245014800 0 0 +00}
- {3257715600 7200 1 +02}
- {3276464400 0 0 +00}
- {3289165200 7200 1 +02}
- {3307914000 0 0 +00}
- {3321219600 7200 1 +02}
- {3339363600 0 0 +00}
- {3352669200 7200 1 +02}
- {3370813200 0 0 +00}
- {3384118800 7200 1 +02}
- {3402867600 0 0 +00}
- {3415568400 7200 1 +02}
- {3434317200 0 0 +00}
- {3447018000 7200 1 +02}
- {3465766800 0 0 +00}
- {3479072400 7200 1 +02}
- {3497216400 0 0 +00}
- {3510522000 7200 1 +02}
- {3528666000 0 0 +00}
- {3541971600 7200 1 +02}
- {3560115600 0 0 +00}
- {3573421200 7200 1 +02}
- {3592170000 0 0 +00}
- {3604870800 7200 1 +02}
- {3623619600 0 0 +00}
- {3636320400 7200 1 +02}
- {3655069200 0 0 +00}
- {3668374800 7200 1 +02}
- {3686518800 0 0 +00}
- {3699824400 7200 1 +02}
- {3717968400 0 0 +00}
- {3731274000 7200 1 +02}
- {3750022800 0 0 +00}
- {3762723600 7200 1 +02}
- {3781472400 0 0 +00}
- {3794173200 7200 1 +02}
- {3812922000 0 0 +00}
- {3825622800 7200 1 +02}
- {3844371600 0 0 +00}
- {3857677200 7200 1 +02}
- {3875821200 0 0 +00}
- {3889126800 7200 1 +02}
- {3907270800 0 0 +00}
- {3920576400 7200 1 +02}
- {3939325200 0 0 +00}
- {3952026000 7200 1 +02}
- {3970774800 0 0 +00}
- {3983475600 7200 1 +02}
- {4002224400 0 0 +00}
- {4015530000 7200 1 +02}
- {4033674000 0 0 +00}
- {4046979600 7200 1 +02}
- {4065123600 0 0 +00}
- {4078429200 7200 1 +02}
- {4096573200 0 0 +00}
+ {-9223372036854775808 0 0 zzz}
+ {1108166400 0 0 UTC}
+ {1111885200 7200 1 CEST}
+ {1130634000 0 0 UTC}
+ {1143334800 7200 1 CEST}
+ {1162083600 0 0 UTC}
+ {1174784400 7200 1 CEST}
+ {1193533200 0 0 UTC}
+ {1206838800 7200 1 CEST}
+ {1224982800 0 0 UTC}
+ {1238288400 7200 1 CEST}
+ {1256432400 0 0 UTC}
+ {1269738000 7200 1 CEST}
+ {1288486800 0 0 UTC}
+ {1301187600 7200 1 CEST}
+ {1319936400 0 0 UTC}
+ {1332637200 7200 1 CEST}
+ {1351386000 0 0 UTC}
+ {1364691600 7200 1 CEST}
+ {1382835600 0 0 UTC}
+ {1396141200 7200 1 CEST}
+ {1414285200 0 0 UTC}
+ {1427590800 7200 1 CEST}
+ {1445734800 0 0 UTC}
+ {1459040400 7200 1 CEST}
+ {1477789200 0 0 UTC}
+ {1490490000 7200 1 CEST}
+ {1509238800 0 0 UTC}
+ {1521939600 7200 1 CEST}
+ {1540688400 0 0 UTC}
+ {1553994000 7200 1 CEST}
+ {1572138000 0 0 UTC}
+ {1585443600 7200 1 CEST}
+ {1603587600 0 0 UTC}
+ {1616893200 7200 1 CEST}
+ {1635642000 0 0 UTC}
+ {1648342800 7200 1 CEST}
+ {1667091600 0 0 UTC}
+ {1679792400 7200 1 CEST}
+ {1698541200 0 0 UTC}
+ {1711846800 7200 1 CEST}
+ {1729990800 0 0 UTC}
+ {1743296400 7200 1 CEST}
+ {1761440400 0 0 UTC}
+ {1774746000 7200 1 CEST}
+ {1792890000 0 0 UTC}
+ {1806195600 7200 1 CEST}
+ {1824944400 0 0 UTC}
+ {1837645200 7200 1 CEST}
+ {1856394000 0 0 UTC}
+ {1869094800 7200 1 CEST}
+ {1887843600 0 0 UTC}
+ {1901149200 7200 1 CEST}
+ {1919293200 0 0 UTC}
+ {1932598800 7200 1 CEST}
+ {1950742800 0 0 UTC}
+ {1964048400 7200 1 CEST}
+ {1982797200 0 0 UTC}
+ {1995498000 7200 1 CEST}
+ {2014246800 0 0 UTC}
+ {2026947600 7200 1 CEST}
+ {2045696400 0 0 UTC}
+ {2058397200 7200 1 CEST}
+ {2077146000 0 0 UTC}
+ {2090451600 7200 1 CEST}
+ {2108595600 0 0 UTC}
+ {2121901200 7200 1 CEST}
+ {2140045200 0 0 UTC}
+ {2153350800 7200 1 CEST}
+ {2172099600 0 0 UTC}
+ {2184800400 7200 1 CEST}
+ {2203549200 0 0 UTC}
+ {2216250000 7200 1 CEST}
+ {2234998800 0 0 UTC}
+ {2248304400 7200 1 CEST}
+ {2266448400 0 0 UTC}
+ {2279754000 7200 1 CEST}
+ {2297898000 0 0 UTC}
+ {2311203600 7200 1 CEST}
+ {2329347600 0 0 UTC}
+ {2342653200 7200 1 CEST}
+ {2361402000 0 0 UTC}
+ {2374102800 7200 1 CEST}
+ {2392851600 0 0 UTC}
+ {2405552400 7200 1 CEST}
+ {2424301200 0 0 UTC}
+ {2437606800 7200 1 CEST}
+ {2455750800 0 0 UTC}
+ {2469056400 7200 1 CEST}
+ {2487200400 0 0 UTC}
+ {2500506000 7200 1 CEST}
+ {2519254800 0 0 UTC}
+ {2531955600 7200 1 CEST}
+ {2550704400 0 0 UTC}
+ {2563405200 7200 1 CEST}
+ {2582154000 0 0 UTC}
+ {2595459600 7200 1 CEST}
+ {2613603600 0 0 UTC}
+ {2626909200 7200 1 CEST}
+ {2645053200 0 0 UTC}
+ {2658358800 7200 1 CEST}
+ {2676502800 0 0 UTC}
+ {2689808400 7200 1 CEST}
+ {2708557200 0 0 UTC}
+ {2721258000 7200 1 CEST}
+ {2740006800 0 0 UTC}
+ {2752707600 7200 1 CEST}
+ {2771456400 0 0 UTC}
+ {2784762000 7200 1 CEST}
+ {2802906000 0 0 UTC}
+ {2816211600 7200 1 CEST}
+ {2834355600 0 0 UTC}
+ {2847661200 7200 1 CEST}
+ {2866410000 0 0 UTC}
+ {2879110800 7200 1 CEST}
+ {2897859600 0 0 UTC}
+ {2910560400 7200 1 CEST}
+ {2929309200 0 0 UTC}
+ {2942010000 7200 1 CEST}
+ {2960758800 0 0 UTC}
+ {2974064400 7200 1 CEST}
+ {2992208400 0 0 UTC}
+ {3005514000 7200 1 CEST}
+ {3023658000 0 0 UTC}
+ {3036963600 7200 1 CEST}
+ {3055712400 0 0 UTC}
+ {3068413200 7200 1 CEST}
+ {3087162000 0 0 UTC}
+ {3099862800 7200 1 CEST}
+ {3118611600 0 0 UTC}
+ {3131917200 7200 1 CEST}
+ {3150061200 0 0 UTC}
+ {3163366800 7200 1 CEST}
+ {3181510800 0 0 UTC}
+ {3194816400 7200 1 CEST}
+ {3212960400 0 0 UTC}
+ {3226266000 7200 1 CEST}
+ {3245014800 0 0 UTC}
+ {3257715600 7200 1 CEST}
+ {3276464400 0 0 UTC}
+ {3289165200 7200 1 CEST}
+ {3307914000 0 0 UTC}
+ {3321219600 7200 1 CEST}
+ {3339363600 0 0 UTC}
+ {3352669200 7200 1 CEST}
+ {3370813200 0 0 UTC}
+ {3384118800 7200 1 CEST}
+ {3402867600 0 0 UTC}
+ {3415568400 7200 1 CEST}
+ {3434317200 0 0 UTC}
+ {3447018000 7200 1 CEST}
+ {3465766800 0 0 UTC}
+ {3479072400 7200 1 CEST}
+ {3497216400 0 0 UTC}
+ {3510522000 7200 1 CEST}
+ {3528666000 0 0 UTC}
+ {3541971600 7200 1 CEST}
+ {3560115600 0 0 UTC}
+ {3573421200 7200 1 CEST}
+ {3592170000 0 0 UTC}
+ {3604870800 7200 1 CEST}
+ {3623619600 0 0 UTC}
+ {3636320400 7200 1 CEST}
+ {3655069200 0 0 UTC}
+ {3668374800 7200 1 CEST}
+ {3686518800 0 0 UTC}
+ {3699824400 7200 1 CEST}
+ {3717968400 0 0 UTC}
+ {3731274000 7200 1 CEST}
+ {3750022800 0 0 UTC}
+ {3762723600 7200 1 CEST}
+ {3781472400 0 0 UTC}
+ {3794173200 7200 1 CEST}
+ {3812922000 0 0 UTC}
+ {3825622800 7200 1 CEST}
+ {3844371600 0 0 UTC}
+ {3857677200 7200 1 CEST}
+ {3875821200 0 0 UTC}
+ {3889126800 7200 1 CEST}
+ {3907270800 0 0 UTC}
+ {3920576400 7200 1 CEST}
+ {3939325200 0 0 UTC}
+ {3952026000 7200 1 CEST}
+ {3970774800 0 0 UTC}
+ {3983475600 7200 1 CEST}
+ {4002224400 0 0 UTC}
+ {4015530000 7200 1 CEST}
+ {4033674000 0 0 UTC}
+ {4046979600 7200 1 CEST}
+ {4065123600 0 0 UTC}
+ {4078429200 7200 1 CEST}
+ {4096573200 0 0 UTC}
}
diff --git a/library/tzdata/Antarctica/Vostok b/library/tzdata/Antarctica/Vostok
index bc1ea7b..f846f65 100644
--- a/library/tzdata/Antarctica/Vostok
+++ b/library/tzdata/Antarctica/Vostok
@@ -1,9 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Antarctica/Vostok) {
- {-9223372036854775808 0 0 -00}
- {-380073600 25200 0 +07}
- {760035600 0 0 -00}
- {783648000 25200 0 +07}
- {1702839600 18000 0 +05}
+ {-9223372036854775808 0 0 zzz}
+ {-380073600 21600 0 VOST}
}
diff --git a/library/tzdata/Arctic/Longyearbyen b/library/tzdata/Arctic/Longyearbyen
index 4b52387..51f83dc 100644
--- a/library/tzdata/Arctic/Longyearbyen
+++ b/library/tzdata/Arctic/Longyearbyen
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Berlin)]} {
- LoadTimeZoneFile Europe/Berlin
+if {![info exists TZData(Europe/Oslo)]} {
+ LoadTimeZoneFile Europe/Oslo
}
-set TZData(:Arctic/Longyearbyen) $TZData(:Europe/Berlin)
+set TZData(:Arctic/Longyearbyen) $TZData(:Europe/Oslo)
diff --git a/library/tzdata/Asia/Almaty b/library/tzdata/Asia/Almaty
index 0fcac74..68dee29 100644
--- a/library/tzdata/Asia/Almaty
+++ b/library/tzdata/Asia/Almaty
@@ -2,57 +2,55 @@
set TZData(:Asia/Almaty) {
{-9223372036854775808 18468 0 LMT}
- {-1441170468 18000 0 +05}
- {-1247547600 21600 0 +06}
- {354909600 25200 1 +06}
- {370717200 21600 0 +06}
- {386445600 25200 1 +06}
- {402253200 21600 0 +06}
- {417981600 25200 1 +06}
- {433789200 21600 0 +06}
- {449604000 25200 1 +06}
- {465336000 21600 0 +06}
- {481060800 25200 1 +06}
- {496785600 21600 0 +06}
- {512510400 25200 1 +06}
- {528235200 21600 0 +06}
- {543960000 25200 1 +06}
- {559684800 21600 0 +06}
- {575409600 25200 1 +06}
- {591134400 21600 0 +06}
- {606859200 25200 1 +06}
- {622584000 21600 0 +06}
- {638308800 25200 1 +06}
- {654638400 21600 0 +06}
- {670363200 18000 0 +05}
- {670366800 21600 1 +05}
- {686091600 18000 0 +05}
- {695768400 21600 0 +06}
- {701812800 25200 1 +06}
- {717537600 21600 0 +06}
- {733262400 25200 1 +06}
- {748987200 21600 0 +06}
- {764712000 25200 1 +06}
- {780436800 21600 0 +06}
- {796161600 25200 1 +06}
- {811886400 21600 0 +06}
- {828216000 25200 1 +06}
- {846360000 21600 0 +06}
- {859665600 25200 1 +06}
- {877809600 21600 0 +06}
- {891115200 25200 1 +06}
- {909259200 21600 0 +06}
- {922564800 25200 1 +06}
- {941313600 21600 0 +06}
- {954014400 25200 1 +06}
- {972763200 21600 0 +06}
- {985464000 25200 1 +06}
- {1004212800 21600 0 +06}
- {1017518400 25200 1 +06}
- {1035662400 21600 0 +06}
- {1048968000 25200 1 +06}
- {1067112000 21600 0 +06}
- {1080417600 25200 1 +06}
- {1099166400 21600 0 +06}
- {1709229600 18000 0 +05}
+ {-1441170468 18000 0 ALMT}
+ {-1247547600 21600 0 ALMT}
+ {354909600 25200 1 ALMST}
+ {370717200 21600 0 ALMT}
+ {386445600 25200 1 ALMST}
+ {402253200 21600 0 ALMT}
+ {417981600 25200 1 ALMST}
+ {433789200 21600 0 ALMT}
+ {449604000 25200 1 ALMST}
+ {465336000 21600 0 ALMT}
+ {481060800 25200 1 ALMST}
+ {496785600 21600 0 ALMT}
+ {512510400 25200 1 ALMST}
+ {528235200 21600 0 ALMT}
+ {543960000 25200 1 ALMST}
+ {559684800 21600 0 ALMT}
+ {575409600 25200 1 ALMST}
+ {591134400 21600 0 ALMT}
+ {606859200 25200 1 ALMST}
+ {622584000 21600 0 ALMT}
+ {638308800 25200 1 ALMST}
+ {654638400 21600 0 ALMT}
+ {662666400 21600 0 ALMT}
+ {694202400 21600 0 ALMT}
+ {701802000 25200 1 ALMST}
+ {717523200 21600 0 ALMT}
+ {733262400 25200 1 ALMST}
+ {748987200 21600 0 ALMT}
+ {764712000 25200 1 ALMST}
+ {780436800 21600 0 ALMT}
+ {796161600 25200 1 ALMST}
+ {811886400 21600 0 ALMT}
+ {828216000 25200 1 ALMST}
+ {846360000 21600 0 ALMT}
+ {859665600 25200 1 ALMST}
+ {877809600 21600 0 ALMT}
+ {891115200 25200 1 ALMST}
+ {909259200 21600 0 ALMT}
+ {922564800 25200 1 ALMST}
+ {941313600 21600 0 ALMT}
+ {954014400 25200 1 ALMST}
+ {972763200 21600 0 ALMT}
+ {985464000 25200 1 ALMST}
+ {1004212800 21600 0 ALMT}
+ {1017518400 25200 1 ALMST}
+ {1035662400 21600 0 ALMT}
+ {1048968000 25200 1 ALMST}
+ {1067112000 21600 0 ALMT}
+ {1080417600 25200 1 ALMST}
+ {1099166400 21600 0 ALMT}
+ {1110823200 21600 0 ALMT}
}
diff --git a/library/tzdata/Asia/Amman b/library/tzdata/Asia/Amman
index 05cba69..c2f6904 100644
--- a/library/tzdata/Asia/Amman
+++ b/library/tzdata/Asia/Amman
@@ -87,6 +87,160 @@ set TZData(:Asia/Amman) {
{1604008800 7200 0 EET}
{1616709600 10800 1 EEST}
{1635458400 7200 0 EET}
- {1645740000 10800 1 EEST}
- {1666908000 10800 0 +03}
+ {1648764000 10800 1 EEST}
+ {1666908000 7200 0 EET}
+ {1680213600 10800 1 EEST}
+ {1698357600 7200 0 EET}
+ {1711663200 10800 1 EEST}
+ {1729807200 7200 0 EET}
+ {1743112800 10800 1 EEST}
+ {1761861600 7200 0 EET}
+ {1774562400 10800 1 EEST}
+ {1793311200 7200 0 EET}
+ {1806012000 10800 1 EEST}
+ {1824760800 7200 0 EET}
+ {1838066400 10800 1 EEST}
+ {1856210400 7200 0 EET}
+ {1869516000 10800 1 EEST}
+ {1887660000 7200 0 EET}
+ {1900965600 10800 1 EEST}
+ {1919109600 7200 0 EET}
+ {1932415200 10800 1 EEST}
+ {1951164000 7200 0 EET}
+ {1963864800 10800 1 EEST}
+ {1982613600 7200 0 EET}
+ {1995919200 10800 1 EEST}
+ {2014063200 7200 0 EET}
+ {2027368800 10800 1 EEST}
+ {2045512800 7200 0 EET}
+ {2058818400 10800 1 EEST}
+ {2076962400 7200 0 EET}
+ {2090268000 10800 1 EEST}
+ {2109016800 7200 0 EET}
+ {2121717600 10800 1 EEST}
+ {2140466400 7200 0 EET}
+ {2153167200 10800 1 EEST}
+ {2171916000 7200 0 EET}
+ {2185221600 10800 1 EEST}
+ {2203365600 7200 0 EET}
+ {2216671200 10800 1 EEST}
+ {2234815200 7200 0 EET}
+ {2248120800 10800 1 EEST}
+ {2266264800 7200 0 EET}
+ {2279570400 10800 1 EEST}
+ {2298319200 7200 0 EET}
+ {2311020000 10800 1 EEST}
+ {2329768800 7200 0 EET}
+ {2343074400 10800 1 EEST}
+ {2361218400 7200 0 EET}
+ {2374524000 10800 1 EEST}
+ {2392668000 7200 0 EET}
+ {2405973600 10800 1 EEST}
+ {2424117600 7200 0 EET}
+ {2437423200 10800 1 EEST}
+ {2455567200 7200 0 EET}
+ {2468872800 10800 1 EEST}
+ {2487621600 7200 0 EET}
+ {2500322400 10800 1 EEST}
+ {2519071200 7200 0 EET}
+ {2532376800 10800 1 EEST}
+ {2550520800 7200 0 EET}
+ {2563826400 10800 1 EEST}
+ {2581970400 7200 0 EET}
+ {2595276000 10800 1 EEST}
+ {2613420000 7200 0 EET}
+ {2626725600 10800 1 EEST}
+ {2645474400 7200 0 EET}
+ {2658175200 10800 1 EEST}
+ {2676924000 7200 0 EET}
+ {2689624800 10800 1 EEST}
+ {2708373600 7200 0 EET}
+ {2721679200 10800 1 EEST}
+ {2739823200 7200 0 EET}
+ {2753128800 10800 1 EEST}
+ {2771272800 7200 0 EET}
+ {2784578400 10800 1 EEST}
+ {2802722400 7200 0 EET}
+ {2816028000 10800 1 EEST}
+ {2834776800 7200 0 EET}
+ {2847477600 10800 1 EEST}
+ {2866226400 7200 0 EET}
+ {2879532000 10800 1 EEST}
+ {2897676000 7200 0 EET}
+ {2910981600 10800 1 EEST}
+ {2929125600 7200 0 EET}
+ {2942431200 10800 1 EEST}
+ {2960575200 7200 0 EET}
+ {2973880800 10800 1 EEST}
+ {2992629600 7200 0 EET}
+ {3005330400 10800 1 EEST}
+ {3024079200 7200 0 EET}
+ {3036780000 10800 1 EEST}
+ {3055528800 7200 0 EET}
+ {3068834400 10800 1 EEST}
+ {3086978400 7200 0 EET}
+ {3100284000 10800 1 EEST}
+ {3118428000 7200 0 EET}
+ {3131733600 10800 1 EEST}
+ {3149877600 7200 0 EET}
+ {3163183200 10800 1 EEST}
+ {3181932000 7200 0 EET}
+ {3194632800 10800 1 EEST}
+ {3213381600 7200 0 EET}
+ {3226687200 10800 1 EEST}
+ {3244831200 7200 0 EET}
+ {3258136800 10800 1 EEST}
+ {3276280800 7200 0 EET}
+ {3289586400 10800 1 EEST}
+ {3307730400 7200 0 EET}
+ {3321036000 10800 1 EEST}
+ {3339180000 7200 0 EET}
+ {3352485600 10800 1 EEST}
+ {3371234400 7200 0 EET}
+ {3383935200 10800 1 EEST}
+ {3402684000 7200 0 EET}
+ {3415989600 10800 1 EEST}
+ {3434133600 7200 0 EET}
+ {3447439200 10800 1 EEST}
+ {3465583200 7200 0 EET}
+ {3478888800 10800 1 EEST}
+ {3497032800 7200 0 EET}
+ {3510338400 10800 1 EEST}
+ {3529087200 7200 0 EET}
+ {3541788000 10800 1 EEST}
+ {3560536800 7200 0 EET}
+ {3573237600 10800 1 EEST}
+ {3591986400 7200 0 EET}
+ {3605292000 10800 1 EEST}
+ {3623436000 7200 0 EET}
+ {3636741600 10800 1 EEST}
+ {3654885600 7200 0 EET}
+ {3668191200 10800 1 EEST}
+ {3686335200 7200 0 EET}
+ {3699640800 10800 1 EEST}
+ {3718389600 7200 0 EET}
+ {3731090400 10800 1 EEST}
+ {3749839200 7200 0 EET}
+ {3763144800 10800 1 EEST}
+ {3781288800 7200 0 EET}
+ {3794594400 10800 1 EEST}
+ {3812738400 7200 0 EET}
+ {3826044000 10800 1 EEST}
+ {3844188000 7200 0 EET}
+ {3857493600 10800 1 EEST}
+ {3876242400 7200 0 EET}
+ {3888943200 10800 1 EEST}
+ {3907692000 7200 0 EET}
+ {3920392800 10800 1 EEST}
+ {3939141600 7200 0 EET}
+ {3952447200 10800 1 EEST}
+ {3970591200 7200 0 EET}
+ {3983896800 10800 1 EEST}
+ {4002040800 7200 0 EET}
+ {4015346400 10800 1 EEST}
+ {4033490400 7200 0 EET}
+ {4046796000 10800 1 EEST}
+ {4065544800 7200 0 EET}
+ {4078245600 10800 1 EEST}
+ {4096994400 7200 0 EET}
}
diff --git a/library/tzdata/Asia/Anadyr b/library/tzdata/Asia/Anadyr
index d1314c6..50ace50 100644
--- a/library/tzdata/Asia/Anadyr
+++ b/library/tzdata/Asia/Anadyr
@@ -2,71 +2,71 @@
set TZData(:Asia/Anadyr) {
{-9223372036854775808 42596 0 LMT}
- {-1441194596 43200 0 +12}
- {-1247572800 46800 0 +14}
- {354884400 50400 1 +14}
- {370692000 46800 0 +13}
- {386420400 43200 0 +13}
- {386424000 46800 1 +13}
- {402231600 43200 0 +12}
- {417960000 46800 1 +13}
- {433767600 43200 0 +12}
- {449582400 46800 1 +13}
- {465314400 43200 0 +12}
- {481039200 46800 1 +13}
- {496764000 43200 0 +12}
- {512488800 46800 1 +13}
- {528213600 43200 0 +12}
- {543938400 46800 1 +13}
- {559663200 43200 0 +12}
- {575388000 46800 1 +13}
- {591112800 43200 0 +12}
- {606837600 46800 1 +13}
- {622562400 43200 0 +12}
- {638287200 46800 1 +13}
- {654616800 43200 0 +12}
- {670341600 39600 0 +12}
- {670345200 43200 1 +12}
- {686070000 39600 0 +11}
- {695746800 43200 0 +13}
- {701791200 46800 1 +13}
- {717516000 43200 0 +12}
- {733240800 46800 1 +13}
- {748965600 43200 0 +12}
- {764690400 46800 1 +13}
- {780415200 43200 0 +12}
- {796140000 46800 1 +13}
- {811864800 43200 0 +12}
- {828194400 46800 1 +13}
- {846338400 43200 0 +12}
- {859644000 46800 1 +13}
- {877788000 43200 0 +12}
- {891093600 46800 1 +13}
- {909237600 43200 0 +12}
- {922543200 46800 1 +13}
- {941292000 43200 0 +12}
- {953992800 46800 1 +13}
- {972741600 43200 0 +12}
- {985442400 46800 1 +13}
- {1004191200 43200 0 +12}
- {1017496800 46800 1 +13}
- {1035640800 43200 0 +12}
- {1048946400 46800 1 +13}
- {1067090400 43200 0 +12}
- {1080396000 46800 1 +13}
- {1099144800 43200 0 +12}
- {1111845600 46800 1 +13}
- {1130594400 43200 0 +12}
- {1143295200 46800 1 +13}
- {1162044000 43200 0 +12}
- {1174744800 46800 1 +13}
- {1193493600 43200 0 +12}
- {1206799200 46800 1 +13}
- {1224943200 43200 0 +12}
- {1238248800 46800 1 +13}
- {1256392800 43200 0 +12}
- {1269698400 39600 0 +12}
- {1269702000 43200 1 +12}
- {1288450800 39600 0 +11}
- {1301151600 43200 0 +12}
+ {-1441194596 43200 0 ANAT}
+ {-1247572800 46800 0 ANAMMTT}
+ {354884400 50400 1 ANAST}
+ {370692000 46800 0 ANAT}
+ {386420400 43200 0 ANAMMTT}
+ {386424000 46800 1 ANAST}
+ {402231600 43200 0 ANAT}
+ {417960000 46800 1 ANAST}
+ {433767600 43200 0 ANAT}
+ {449582400 46800 1 ANAST}
+ {465314400 43200 0 ANAT}
+ {481039200 46800 1 ANAST}
+ {496764000 43200 0 ANAT}
+ {512488800 46800 1 ANAST}
+ {528213600 43200 0 ANAT}
+ {543938400 46800 1 ANAST}
+ {559663200 43200 0 ANAT}
+ {575388000 46800 1 ANAST}
+ {591112800 43200 0 ANAT}
+ {606837600 46800 1 ANAST}
+ {622562400 43200 0 ANAT}
+ {638287200 46800 1 ANAST}
+ {654616800 43200 0 ANAT}
+ {670341600 39600 0 ANAMMTT}
+ {670345200 43200 1 ANAST}
+ {686070000 39600 0 ANAT}
+ {695746800 43200 0 ANAMMTT}
+ {701780400 46800 1 ANAST}
+ {717501600 43200 0 ANAT}
+ {733240800 46800 1 ANAST}
+ {748965600 43200 0 ANAT}
+ {764690400 46800 1 ANAST}
+ {780415200 43200 0 ANAT}
+ {796140000 46800 1 ANAST}
+ {811864800 43200 0 ANAT}
+ {828194400 46800 1 ANAST}
+ {846338400 43200 0 ANAT}
+ {859644000 46800 1 ANAST}
+ {877788000 43200 0 ANAT}
+ {891093600 46800 1 ANAST}
+ {909237600 43200 0 ANAT}
+ {922543200 46800 1 ANAST}
+ {941292000 43200 0 ANAT}
+ {953992800 46800 1 ANAST}
+ {972741600 43200 0 ANAT}
+ {985442400 46800 1 ANAST}
+ {1004191200 43200 0 ANAT}
+ {1017496800 46800 1 ANAST}
+ {1035640800 43200 0 ANAT}
+ {1048946400 46800 1 ANAST}
+ {1067090400 43200 0 ANAT}
+ {1080396000 46800 1 ANAST}
+ {1099144800 43200 0 ANAT}
+ {1111845600 46800 1 ANAST}
+ {1130594400 43200 0 ANAT}
+ {1143295200 46800 1 ANAST}
+ {1162044000 43200 0 ANAT}
+ {1174744800 46800 1 ANAST}
+ {1193493600 43200 0 ANAT}
+ {1206799200 46800 1 ANAST}
+ {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}
}
diff --git a/library/tzdata/Asia/Aqtau b/library/tzdata/Asia/Aqtau
index 41da2ca..11e89a2 100644
--- a/library/tzdata/Asia/Aqtau
+++ b/library/tzdata/Asia/Aqtau
@@ -2,57 +2,57 @@
set TZData(:Asia/Aqtau) {
{-9223372036854775808 12064 0 LMT}
- {-1441164064 14400 0 +04}
- {-1247544000 18000 0 +05}
- {370724400 21600 0 +06}
- {386445600 18000 0 +05}
- {386449200 21600 1 +05}
- {402256800 18000 0 +05}
- {417985200 21600 1 +05}
- {433792800 18000 0 +05}
- {449607600 21600 1 +05}
- {465339600 18000 0 +05}
- {481064400 21600 1 +05}
- {496789200 18000 0 +05}
- {512514000 21600 1 +05}
- {528238800 18000 0 +05}
- {543963600 21600 1 +05}
- {559688400 18000 0 +05}
- {575413200 21600 1 +05}
- {591138000 18000 0 +05}
- {606862800 21600 1 +05}
- {622587600 18000 0 +05}
- {638312400 21600 1 +05}
- {654642000 18000 0 +05}
- {670366800 14400 0 +04}
- {670370400 18000 1 +04}
- {686095200 14400 0 +04}
- {695772000 18000 0 +05}
- {701816400 21600 1 +05}
- {717541200 18000 0 +05}
- {733266000 21600 1 +05}
- {748990800 18000 0 +05}
- {764715600 21600 1 +05}
- {780440400 18000 0 +04}
- {780444000 14400 0 +04}
- {796168800 18000 1 +04}
- {811893600 14400 0 +04}
- {828223200 18000 1 +04}
- {846367200 14400 0 +04}
- {859672800 18000 1 +04}
- {877816800 14400 0 +04}
- {891122400 18000 1 +04}
- {909266400 14400 0 +04}
- {922572000 18000 1 +04}
- {941320800 14400 0 +04}
- {954021600 18000 1 +04}
- {972770400 14400 0 +04}
- {985471200 18000 1 +04}
- {1004220000 14400 0 +04}
- {1017525600 18000 1 +04}
- {1035669600 14400 0 +04}
- {1048975200 18000 1 +04}
- {1067119200 14400 0 +04}
- {1080424800 18000 1 +04}
- {1099173600 18000 0 +05}
+ {-1441164064 14400 0 FORT}
+ {-1247544000 18000 0 FORT}
+ {-220942800 18000 0 SHET}
+ {370724400 21600 0 SHET}
+ {386445600 18000 0 SHET}
+ {386449200 21600 1 SHEST}
+ {402256800 18000 0 SHET}
+ {417985200 21600 1 SHEST}
+ {433792800 18000 0 SHET}
+ {449607600 21600 1 SHEST}
+ {465339600 18000 0 SHET}
+ {481064400 21600 1 SHEST}
+ {496789200 18000 0 SHET}
+ {512514000 21600 1 SHEST}
+ {528238800 18000 0 SHET}
+ {543963600 21600 1 SHEST}
+ {559688400 18000 0 SHET}
+ {575413200 21600 1 SHEST}
+ {591138000 18000 0 SHET}
+ {606862800 21600 1 SHEST}
+ {622587600 18000 0 SHET}
+ {638312400 21600 1 SHEST}
+ {654642000 18000 0 SHET}
+ {662670000 18000 0 SHET}
+ {692823600 18000 0 AQTT}
+ {701805600 21600 1 AQTST}
+ {717526800 18000 0 AQTT}
+ {733266000 21600 1 AQTST}
+ {748990800 18000 0 AQTT}
+ {764715600 21600 1 AQTST}
+ {780440400 18000 0 AQTT}
+ {796165200 14400 0 AQTT}
+ {796168800 18000 1 AQTST}
+ {811893600 14400 0 AQTT}
+ {828223200 18000 1 AQTST}
+ {846367200 14400 0 AQTT}
+ {859672800 18000 1 AQTST}
+ {877816800 14400 0 AQTT}
+ {891122400 18000 1 AQTST}
+ {909266400 14400 0 AQTT}
+ {922572000 18000 1 AQTST}
+ {941320800 14400 0 AQTT}
+ {954021600 18000 1 AQTST}
+ {972770400 14400 0 AQTT}
+ {985471200 18000 1 AQTST}
+ {1004220000 14400 0 AQTT}
+ {1017525600 18000 1 AQTST}
+ {1035669600 14400 0 AQTT}
+ {1048975200 18000 1 AQTST}
+ {1067119200 14400 0 AQTT}
+ {1080424800 18000 1 AQTST}
+ {1099173600 14400 0 AQTT}
+ {1110830400 18000 0 AQTT}
}
diff --git a/library/tzdata/Asia/Aqtobe b/library/tzdata/Asia/Aqtobe
index 2316e68..c857491 100644
--- a/library/tzdata/Asia/Aqtobe
+++ b/library/tzdata/Asia/Aqtobe
@@ -2,57 +2,56 @@
set TZData(:Asia/Aqtobe) {
{-9223372036854775808 13720 0 LMT}
- {-1441165720 14400 0 +04}
- {-1247544000 18000 0 +05}
- {354913200 21600 1 +06}
- {370720800 21600 0 +06}
- {386445600 18000 0 +05}
- {386449200 21600 1 +05}
- {402256800 18000 0 +05}
- {417985200 21600 1 +05}
- {433792800 18000 0 +05}
- {449607600 21600 1 +05}
- {465339600 18000 0 +05}
- {481064400 21600 1 +05}
- {496789200 18000 0 +05}
- {512514000 21600 1 +05}
- {528238800 18000 0 +05}
- {543963600 21600 1 +05}
- {559688400 18000 0 +05}
- {575413200 21600 1 +05}
- {591138000 18000 0 +05}
- {606862800 21600 1 +05}
- {622587600 18000 0 +05}
- {638312400 21600 1 +05}
- {654642000 18000 0 +05}
- {670366800 14400 0 +04}
- {670370400 18000 1 +04}
- {686095200 14400 0 +04}
- {695772000 18000 0 +05}
- {701816400 21600 1 +05}
- {717541200 18000 0 +05}
- {733266000 21600 1 +05}
- {748990800 18000 0 +05}
- {764715600 21600 1 +05}
- {780440400 18000 0 +05}
- {796165200 21600 1 +05}
- {811890000 18000 0 +05}
- {828219600 21600 1 +05}
- {846363600 18000 0 +05}
- {859669200 21600 1 +05}
- {877813200 18000 0 +05}
- {891118800 21600 1 +05}
- {909262800 18000 0 +05}
- {922568400 21600 1 +05}
- {941317200 18000 0 +05}
- {954018000 21600 1 +05}
- {972766800 18000 0 +05}
- {985467600 21600 1 +05}
- {1004216400 18000 0 +05}
- {1017522000 21600 1 +05}
- {1035666000 18000 0 +05}
- {1048971600 21600 1 +05}
- {1067115600 18000 0 +05}
- {1080421200 21600 1 +05}
- {1099170000 18000 0 +05}
+ {-1441165720 14400 0 AKTT}
+ {-1247544000 18000 0 AKTT}
+ {354913200 21600 1 AKTST}
+ {370720800 21600 0 AKTT}
+ {386445600 18000 0 AKTT}
+ {386449200 21600 1 AKTST}
+ {402256800 18000 0 AKTT}
+ {417985200 21600 1 AKTST}
+ {433792800 18000 0 AKTT}
+ {449607600 21600 1 AKTST}
+ {465339600 18000 0 AKTT}
+ {481064400 21600 1 AKTST}
+ {496789200 18000 0 AKTT}
+ {512514000 21600 1 AKTST}
+ {528238800 18000 0 AKTT}
+ {543963600 21600 1 AKTST}
+ {559688400 18000 0 AKTT}
+ {575413200 21600 1 AKTST}
+ {591138000 18000 0 AKTT}
+ {606862800 21600 1 AKTST}
+ {622587600 18000 0 AKTT}
+ {638312400 21600 1 AKTST}
+ {654642000 18000 0 AKTT}
+ {662670000 18000 0 AKTT}
+ {692823600 18000 0 AQTT}
+ {701805600 21600 1 AQTST}
+ {717526800 18000 0 AQTT}
+ {733266000 21600 1 AQTST}
+ {748990800 18000 0 AQTT}
+ {764715600 21600 1 AQTST}
+ {780440400 18000 0 AQTT}
+ {796165200 21600 1 AQTST}
+ {811890000 18000 0 AQTT}
+ {828219600 21600 1 AQTST}
+ {846363600 18000 0 AQTT}
+ {859669200 21600 1 AQTST}
+ {877813200 18000 0 AQTT}
+ {891118800 21600 1 AQTST}
+ {909262800 18000 0 AQTT}
+ {922568400 21600 1 AQTST}
+ {941317200 18000 0 AQTT}
+ {954018000 21600 1 AQTST}
+ {972766800 18000 0 AQTT}
+ {985467600 21600 1 AQTST}
+ {1004216400 18000 0 AQTT}
+ {1017522000 21600 1 AQTST}
+ {1035666000 18000 0 AQTT}
+ {1048971600 21600 1 AQTST}
+ {1067115600 18000 0 AQTT}
+ {1080421200 21600 1 AQTST}
+ {1099170000 18000 0 AQTT}
+ {1110826800 18000 0 AQTT}
}
diff --git a/library/tzdata/Asia/Ashgabat b/library/tzdata/Asia/Ashgabat
index feb7725..64bdb3a 100644
--- a/library/tzdata/Asia/Ashgabat
+++ b/library/tzdata/Asia/Ashgabat
@@ -2,30 +2,30 @@
set TZData(:Asia/Ashgabat) {
{-9223372036854775808 14012 0 LMT}
- {-1441166012 14400 0 +04}
- {-1247544000 18000 0 +05}
- {354913200 21600 1 +05}
- {370720800 18000 0 +05}
- {386449200 21600 1 +05}
- {402256800 18000 0 +05}
- {417985200 21600 1 +05}
- {433792800 18000 0 +05}
- {449607600 21600 1 +05}
- {465339600 18000 0 +05}
- {481064400 21600 1 +05}
- {496789200 18000 0 +05}
- {512514000 21600 1 +05}
- {528238800 18000 0 +05}
- {543963600 21600 1 +05}
- {559688400 18000 0 +05}
- {575413200 21600 1 +05}
- {591138000 18000 0 +05}
- {606862800 21600 1 +05}
- {622587600 18000 0 +05}
- {638312400 21600 1 +05}
- {654642000 18000 0 +05}
- {670366800 14400 0 +04}
- {670370400 18000 1 +04}
- {686095200 14400 0 +04}
- {695772000 18000 0 +05}
+ {-1441166012 14400 0 ASHT}
+ {-1247544000 18000 0 ASHT}
+ {354913200 21600 1 ASHST}
+ {370720800 18000 0 ASHT}
+ {386449200 21600 1 ASHST}
+ {402256800 18000 0 ASHT}
+ {417985200 21600 1 ASHST}
+ {433792800 18000 0 ASHT}
+ {449607600 21600 1 ASHST}
+ {465339600 18000 0 ASHT}
+ {481064400 21600 1 ASHST}
+ {496789200 18000 0 ASHT}
+ {512514000 21600 1 ASHST}
+ {528238800 18000 0 ASHT}
+ {543963600 21600 1 ASHST}
+ {559688400 18000 0 ASHT}
+ {575413200 21600 1 ASHST}
+ {591138000 18000 0 ASHT}
+ {606862800 21600 1 ASHST}
+ {622587600 18000 0 ASHT}
+ {638312400 21600 1 ASHST}
+ {654642000 18000 0 ASHT}
+ {670366800 14400 0 ASHT}
+ {670370400 18000 1 ASHST}
+ {686095200 14400 0 ASHT}
+ {695772000 18000 0 TMT}
}
diff --git a/library/tzdata/Asia/Atyrau b/library/tzdata/Asia/Atyrau
deleted file mode 100644
index b6d8253..0000000
--- a/library/tzdata/Asia/Atyrau
+++ /dev/null
@@ -1,58 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Atyrau) {
- {-9223372036854775808 12464 0 LMT}
- {-1441164464 10800 0 +03}
- {-1247540400 18000 0 +05}
- {370724400 21600 0 +06}
- {386445600 18000 0 +05}
- {386449200 21600 1 +05}
- {402256800 18000 0 +05}
- {417985200 21600 1 +05}
- {433792800 18000 0 +05}
- {449607600 21600 1 +05}
- {465339600 18000 0 +05}
- {481064400 21600 1 +05}
- {496789200 18000 0 +05}
- {512514000 21600 1 +05}
- {528238800 18000 0 +05}
- {543963600 21600 1 +05}
- {559688400 18000 0 +05}
- {575413200 21600 1 +05}
- {591138000 18000 0 +05}
- {606862800 21600 1 +05}
- {622587600 18000 0 +05}
- {638312400 21600 1 +05}
- {654642000 18000 0 +05}
- {670366800 14400 0 +04}
- {670370400 18000 1 +04}
- {686095200 14400 0 +04}
- {695772000 18000 0 +05}
- {701816400 21600 1 +05}
- {717541200 18000 0 +05}
- {733266000 21600 1 +05}
- {748990800 18000 0 +05}
- {764715600 21600 1 +05}
- {780440400 18000 0 +05}
- {796165200 21600 1 +05}
- {811890000 18000 0 +05}
- {828219600 21600 1 +05}
- {846363600 18000 0 +05}
- {859669200 21600 1 +05}
- {877813200 18000 0 +05}
- {891118800 21600 1 +05}
- {909262800 18000 0 +05}
- {922568400 14400 0 +04}
- {922572000 18000 1 +04}
- {941320800 14400 0 +04}
- {954021600 18000 1 +04}
- {972770400 14400 0 +04}
- {985471200 18000 1 +04}
- {1004220000 14400 0 +04}
- {1017525600 18000 1 +04}
- {1035669600 14400 0 +04}
- {1048975200 18000 1 +04}
- {1067119200 14400 0 +04}
- {1080424800 18000 1 +04}
- {1099173600 18000 0 +05}
-}
diff --git a/library/tzdata/Asia/Baghdad b/library/tzdata/Asia/Baghdad
index c76a6a1..c1058cb 100644
--- a/library/tzdata/Asia/Baghdad
+++ b/library/tzdata/Asia/Baghdad
@@ -3,57 +3,57 @@
set TZData(:Asia/Baghdad) {
{-9223372036854775808 10660 0 LMT}
{-2524532260 10656 0 BMT}
- {-1641005856 10800 0 +03}
- {389048400 14400 0 +03}
- {402264000 10800 0 +03}
- {417906000 14400 1 +03}
- {433800000 10800 0 +03}
- {449614800 14400 1 +03}
- {465422400 10800 0 +03}
- {481150800 14400 1 +03}
- {496792800 10800 0 +03}
- {512517600 14400 1 +03}
- {528242400 10800 0 +03}
- {543967200 14400 1 +03}
- {559692000 10800 0 +03}
- {575416800 14400 1 +03}
- {591141600 10800 0 +03}
- {606866400 14400 1 +03}
- {622591200 10800 0 +03}
- {638316000 14400 1 +03}
- {654645600 10800 0 +03}
- {670464000 14400 1 +03}
- {686275200 10800 0 +03}
- {702086400 14400 1 +03}
- {717897600 10800 0 +03}
- {733622400 14400 1 +03}
- {749433600 10800 0 +03}
- {765158400 14400 1 +03}
- {780969600 10800 0 +03}
- {796694400 14400 1 +03}
- {812505600 10800 0 +03}
- {828316800 14400 1 +03}
- {844128000 10800 0 +03}
- {859852800 14400 1 +03}
- {875664000 10800 0 +03}
- {891388800 14400 1 +03}
- {907200000 10800 0 +03}
- {922924800 14400 1 +03}
- {938736000 10800 0 +03}
- {954547200 14400 1 +03}
- {970358400 10800 0 +03}
- {986083200 14400 1 +03}
- {1001894400 10800 0 +03}
- {1017619200 14400 1 +03}
- {1033430400 10800 0 +03}
- {1049155200 14400 1 +03}
- {1064966400 10800 0 +03}
- {1080777600 14400 1 +03}
- {1096588800 10800 0 +03}
- {1112313600 14400 1 +03}
- {1128124800 10800 0 +03}
- {1143849600 14400 1 +03}
- {1159660800 10800 0 +03}
- {1175385600 14400 1 +03}
- {1191196800 10800 0 +03}
+ {-1641005856 10800 0 AST}
+ {389048400 14400 0 ADT}
+ {402264000 10800 0 AST}
+ {417906000 14400 1 ADT}
+ {433800000 10800 0 AST}
+ {449614800 14400 1 ADT}
+ {465422400 10800 0 AST}
+ {481150800 14400 1 ADT}
+ {496792800 10800 0 AST}
+ {512517600 14400 1 ADT}
+ {528242400 10800 0 AST}
+ {543967200 14400 1 ADT}
+ {559692000 10800 0 AST}
+ {575416800 14400 1 ADT}
+ {591141600 10800 0 AST}
+ {606866400 14400 1 ADT}
+ {622591200 10800 0 AST}
+ {638316000 14400 1 ADT}
+ {654645600 10800 0 AST}
+ {670464000 14400 1 ADT}
+ {686275200 10800 0 AST}
+ {702086400 14400 1 ADT}
+ {717897600 10800 0 AST}
+ {733622400 14400 1 ADT}
+ {749433600 10800 0 AST}
+ {765158400 14400 1 ADT}
+ {780969600 10800 0 AST}
+ {796694400 14400 1 ADT}
+ {812505600 10800 0 AST}
+ {828316800 14400 1 ADT}
+ {844128000 10800 0 AST}
+ {859852800 14400 1 ADT}
+ {875664000 10800 0 AST}
+ {891388800 14400 1 ADT}
+ {907200000 10800 0 AST}
+ {922924800 14400 1 ADT}
+ {938736000 10800 0 AST}
+ {954547200 14400 1 ADT}
+ {970358400 10800 0 AST}
+ {986083200 14400 1 ADT}
+ {1001894400 10800 0 AST}
+ {1017619200 14400 1 ADT}
+ {1033430400 10800 0 AST}
+ {1049155200 14400 1 ADT}
+ {1064966400 10800 0 AST}
+ {1080777600 14400 1 ADT}
+ {1096588800 10800 0 AST}
+ {1112313600 14400 1 ADT}
+ {1128124800 10800 0 AST}
+ {1143849600 14400 1 ADT}
+ {1159660800 10800 0 AST}
+ {1175385600 14400 1 ADT}
+ {1191196800 10800 0 AST}
}
diff --git a/library/tzdata/Asia/Baku b/library/tzdata/Asia/Baku
index 03dee19..e50071b 100644
--- a/library/tzdata/Asia/Baku
+++ b/library/tzdata/Asia/Baku
@@ -2,73 +2,241 @@
set TZData(:Asia/Baku) {
{-9223372036854775808 11964 0 LMT}
- {-1441163964 10800 0 +03}
- {-405140400 14400 0 +04}
- {354916800 18000 1 +04}
- {370724400 14400 0 +04}
- {386452800 18000 1 +04}
- {402260400 14400 0 +04}
- {417988800 18000 1 +04}
- {433796400 14400 0 +04}
- {449611200 18000 1 +04}
- {465343200 14400 0 +04}
- {481068000 18000 1 +04}
- {496792800 14400 0 +04}
- {512517600 18000 1 +04}
- {528242400 14400 0 +04}
- {543967200 18000 1 +04}
- {559692000 14400 0 +04}
- {575416800 18000 1 +04}
- {591141600 14400 0 +04}
- {606866400 18000 1 +04}
- {622591200 14400 0 +04}
- {638316000 18000 1 +04}
- {654645600 14400 0 +04}
- {670370400 10800 0 +03}
- {670374000 14400 1 +03}
- {686098800 10800 0 +03}
- {701823600 14400 1 +03}
- {717548400 14400 0 +04}
- {820440000 14400 0 +04}
- {828234000 18000 1 +05}
- {846378000 14400 0 +04}
- {852062400 14400 0 +04}
- {859680000 18000 1 +04}
- {877824000 14400 0 +04}
- {891129600 18000 1 +04}
- {909273600 14400 0 +04}
- {922579200 18000 1 +04}
- {941328000 14400 0 +04}
- {954028800 18000 1 +04}
- {972777600 14400 0 +04}
- {985478400 18000 1 +04}
- {1004227200 14400 0 +04}
- {1017532800 18000 1 +04}
- {1035676800 14400 0 +04}
- {1048982400 18000 1 +04}
- {1067126400 14400 0 +04}
- {1080432000 18000 1 +04}
- {1099180800 14400 0 +04}
- {1111881600 18000 1 +04}
- {1130630400 14400 0 +04}
- {1143331200 18000 1 +04}
- {1162080000 14400 0 +04}
- {1174780800 18000 1 +04}
- {1193529600 14400 0 +04}
- {1206835200 18000 1 +04}
- {1224979200 14400 0 +04}
- {1238284800 18000 1 +04}
- {1256428800 14400 0 +04}
- {1269734400 18000 1 +04}
- {1288483200 14400 0 +04}
- {1301184000 18000 1 +04}
- {1319932800 14400 0 +04}
- {1332633600 18000 1 +04}
- {1351382400 14400 0 +04}
- {1364688000 18000 1 +04}
- {1382832000 14400 0 +04}
- {1396137600 18000 1 +04}
- {1414281600 14400 0 +04}
- {1427587200 18000 1 +04}
- {1445731200 14400 0 +04}
+ {-1441163964 10800 0 BAKT}
+ {-405140400 14400 0 BAKT}
+ {354916800 18000 1 BAKST}
+ {370724400 14400 0 BAKT}
+ {386452800 18000 1 BAKST}
+ {402260400 14400 0 BAKT}
+ {417988800 18000 1 BAKST}
+ {433796400 14400 0 BAKT}
+ {449611200 18000 1 BAKST}
+ {465343200 14400 0 BAKT}
+ {481068000 18000 1 BAKST}
+ {496792800 14400 0 BAKT}
+ {512517600 18000 1 BAKST}
+ {528242400 14400 0 BAKT}
+ {543967200 18000 1 BAKST}
+ {559692000 14400 0 BAKT}
+ {575416800 18000 1 BAKST}
+ {591141600 14400 0 BAKT}
+ {606866400 18000 1 BAKST}
+ {622591200 14400 0 BAKT}
+ {638316000 18000 1 BAKST}
+ {654645600 14400 0 BAKT}
+ {670370400 14400 1 BAKST}
+ {683496000 14400 0 AZST}
+ {686098800 10800 0 AZT}
+ {701812800 14400 1 AZST}
+ {717537600 14400 0 AZT}
+ {820440000 14400 0 AZT}
+ {828234000 18000 1 AZST}
+ {846378000 14400 0 AZT}
+ {852062400 14400 0 AZT}
+ {859680000 18000 1 AZST}
+ {877824000 14400 0 AZT}
+ {891129600 18000 1 AZST}
+ {909273600 14400 0 AZT}
+ {922579200 18000 1 AZST}
+ {941328000 14400 0 AZT}
+ {954028800 18000 1 AZST}
+ {972777600 14400 0 AZT}
+ {985478400 18000 1 AZST}
+ {1004227200 14400 0 AZT}
+ {1017532800 18000 1 AZST}
+ {1035676800 14400 0 AZT}
+ {1048982400 18000 1 AZST}
+ {1067126400 14400 0 AZT}
+ {1080432000 18000 1 AZST}
+ {1099180800 14400 0 AZT}
+ {1111881600 18000 1 AZST}
+ {1130630400 14400 0 AZT}
+ {1143331200 18000 1 AZST}
+ {1162080000 14400 0 AZT}
+ {1174780800 18000 1 AZST}
+ {1193529600 14400 0 AZT}
+ {1206835200 18000 1 AZST}
+ {1224979200 14400 0 AZT}
+ {1238284800 18000 1 AZST}
+ {1256428800 14400 0 AZT}
+ {1269734400 18000 1 AZST}
+ {1288483200 14400 0 AZT}
+ {1301184000 18000 1 AZST}
+ {1319932800 14400 0 AZT}
+ {1332633600 18000 1 AZST}
+ {1351382400 14400 0 AZT}
+ {1364688000 18000 1 AZST}
+ {1382832000 14400 0 AZT}
+ {1396137600 18000 1 AZST}
+ {1414281600 14400 0 AZT}
+ {1427587200 18000 1 AZST}
+ {1445731200 14400 0 AZT}
+ {1459036800 18000 1 AZST}
+ {1477785600 14400 0 AZT}
+ {1490486400 18000 1 AZST}
+ {1509235200 14400 0 AZT}
+ {1521936000 18000 1 AZST}
+ {1540684800 14400 0 AZT}
+ {1553990400 18000 1 AZST}
+ {1572134400 14400 0 AZT}
+ {1585440000 18000 1 AZST}
+ {1603584000 14400 0 AZT}
+ {1616889600 18000 1 AZST}
+ {1635638400 14400 0 AZT}
+ {1648339200 18000 1 AZST}
+ {1667088000 14400 0 AZT}
+ {1679788800 18000 1 AZST}
+ {1698537600 14400 0 AZT}
+ {1711843200 18000 1 AZST}
+ {1729987200 14400 0 AZT}
+ {1743292800 18000 1 AZST}
+ {1761436800 14400 0 AZT}
+ {1774742400 18000 1 AZST}
+ {1792886400 14400 0 AZT}
+ {1806192000 18000 1 AZST}
+ {1824940800 14400 0 AZT}
+ {1837641600 18000 1 AZST}
+ {1856390400 14400 0 AZT}
+ {1869091200 18000 1 AZST}
+ {1887840000 14400 0 AZT}
+ {1901145600 18000 1 AZST}
+ {1919289600 14400 0 AZT}
+ {1932595200 18000 1 AZST}
+ {1950739200 14400 0 AZT}
+ {1964044800 18000 1 AZST}
+ {1982793600 14400 0 AZT}
+ {1995494400 18000 1 AZST}
+ {2014243200 14400 0 AZT}
+ {2026944000 18000 1 AZST}
+ {2045692800 14400 0 AZT}
+ {2058393600 18000 1 AZST}
+ {2077142400 14400 0 AZT}
+ {2090448000 18000 1 AZST}
+ {2108592000 14400 0 AZT}
+ {2121897600 18000 1 AZST}
+ {2140041600 14400 0 AZT}
+ {2153347200 18000 1 AZST}
+ {2172096000 14400 0 AZT}
+ {2184796800 18000 1 AZST}
+ {2203545600 14400 0 AZT}
+ {2216246400 18000 1 AZST}
+ {2234995200 14400 0 AZT}
+ {2248300800 18000 1 AZST}
+ {2266444800 14400 0 AZT}
+ {2279750400 18000 1 AZST}
+ {2297894400 14400 0 AZT}
+ {2311200000 18000 1 AZST}
+ {2329344000 14400 0 AZT}
+ {2342649600 18000 1 AZST}
+ {2361398400 14400 0 AZT}
+ {2374099200 18000 1 AZST}
+ {2392848000 14400 0 AZT}
+ {2405548800 18000 1 AZST}
+ {2424297600 14400 0 AZT}
+ {2437603200 18000 1 AZST}
+ {2455747200 14400 0 AZT}
+ {2469052800 18000 1 AZST}
+ {2487196800 14400 0 AZT}
+ {2500502400 18000 1 AZST}
+ {2519251200 14400 0 AZT}
+ {2531952000 18000 1 AZST}
+ {2550700800 14400 0 AZT}
+ {2563401600 18000 1 AZST}
+ {2582150400 14400 0 AZT}
+ {2595456000 18000 1 AZST}
+ {2613600000 14400 0 AZT}
+ {2626905600 18000 1 AZST}
+ {2645049600 14400 0 AZT}
+ {2658355200 18000 1 AZST}
+ {2676499200 14400 0 AZT}
+ {2689804800 18000 1 AZST}
+ {2708553600 14400 0 AZT}
+ {2721254400 18000 1 AZST}
+ {2740003200 14400 0 AZT}
+ {2752704000 18000 1 AZST}
+ {2771452800 14400 0 AZT}
+ {2784758400 18000 1 AZST}
+ {2802902400 14400 0 AZT}
+ {2816208000 18000 1 AZST}
+ {2834352000 14400 0 AZT}
+ {2847657600 18000 1 AZST}
+ {2866406400 14400 0 AZT}
+ {2879107200 18000 1 AZST}
+ {2897856000 14400 0 AZT}
+ {2910556800 18000 1 AZST}
+ {2929305600 14400 0 AZT}
+ {2942006400 18000 1 AZST}
+ {2960755200 14400 0 AZT}
+ {2974060800 18000 1 AZST}
+ {2992204800 14400 0 AZT}
+ {3005510400 18000 1 AZST}
+ {3023654400 14400 0 AZT}
+ {3036960000 18000 1 AZST}
+ {3055708800 14400 0 AZT}
+ {3068409600 18000 1 AZST}
+ {3087158400 14400 0 AZT}
+ {3099859200 18000 1 AZST}
+ {3118608000 14400 0 AZT}
+ {3131913600 18000 1 AZST}
+ {3150057600 14400 0 AZT}
+ {3163363200 18000 1 AZST}
+ {3181507200 14400 0 AZT}
+ {3194812800 18000 1 AZST}
+ {3212956800 14400 0 AZT}
+ {3226262400 18000 1 AZST}
+ {3245011200 14400 0 AZT}
+ {3257712000 18000 1 AZST}
+ {3276460800 14400 0 AZT}
+ {3289161600 18000 1 AZST}
+ {3307910400 14400 0 AZT}
+ {3321216000 18000 1 AZST}
+ {3339360000 14400 0 AZT}
+ {3352665600 18000 1 AZST}
+ {3370809600 14400 0 AZT}
+ {3384115200 18000 1 AZST}
+ {3402864000 14400 0 AZT}
+ {3415564800 18000 1 AZST}
+ {3434313600 14400 0 AZT}
+ {3447014400 18000 1 AZST}
+ {3465763200 14400 0 AZT}
+ {3479068800 18000 1 AZST}
+ {3497212800 14400 0 AZT}
+ {3510518400 18000 1 AZST}
+ {3528662400 14400 0 AZT}
+ {3541968000 18000 1 AZST}
+ {3560112000 14400 0 AZT}
+ {3573417600 18000 1 AZST}
+ {3592166400 14400 0 AZT}
+ {3604867200 18000 1 AZST}
+ {3623616000 14400 0 AZT}
+ {3636316800 18000 1 AZST}
+ {3655065600 14400 0 AZT}
+ {3668371200 18000 1 AZST}
+ {3686515200 14400 0 AZT}
+ {3699820800 18000 1 AZST}
+ {3717964800 14400 0 AZT}
+ {3731270400 18000 1 AZST}
+ {3750019200 14400 0 AZT}
+ {3762720000 18000 1 AZST}
+ {3781468800 14400 0 AZT}
+ {3794169600 18000 1 AZST}
+ {3812918400 14400 0 AZT}
+ {3825619200 18000 1 AZST}
+ {3844368000 14400 0 AZT}
+ {3857673600 18000 1 AZST}
+ {3875817600 14400 0 AZT}
+ {3889123200 18000 1 AZST}
+ {3907267200 14400 0 AZT}
+ {3920572800 18000 1 AZST}
+ {3939321600 14400 0 AZT}
+ {3952022400 18000 1 AZST}
+ {3970771200 14400 0 AZT}
+ {3983472000 18000 1 AZST}
+ {4002220800 14400 0 AZT}
+ {4015526400 18000 1 AZST}
+ {4033670400 14400 0 AZT}
+ {4046976000 18000 1 AZST}
+ {4065120000 14400 0 AZT}
+ {4078425600 18000 1 AZST}
+ {4096569600 14400 0 AZT}
}
diff --git a/library/tzdata/Asia/Bangkok b/library/tzdata/Asia/Bangkok
index aeb5473..6df7680 100644
--- a/library/tzdata/Asia/Bangkok
+++ b/library/tzdata/Asia/Bangkok
@@ -3,5 +3,5 @@
set TZData(:Asia/Bangkok) {
{-9223372036854775808 24124 0 LMT}
{-2840164924 24124 0 BMT}
- {-1570084924 25200 0 +07}
+ {-1570084924 25200 0 ICT}
}
diff --git a/library/tzdata/Asia/Barnaul b/library/tzdata/Asia/Barnaul
deleted file mode 100644
index bf6abbf..0000000
--- a/library/tzdata/Asia/Barnaul
+++ /dev/null
@@ -1,73 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Barnaul) {
- {-9223372036854775808 20100 0 LMT}
- {-1579844100 21600 0 +06}
- {-1247551200 25200 0 +08}
- {354906000 28800 1 +08}
- {370713600 25200 0 +07}
- {386442000 28800 1 +08}
- {402249600 25200 0 +07}
- {417978000 28800 1 +08}
- {433785600 25200 0 +07}
- {449600400 28800 1 +08}
- {465332400 25200 0 +07}
- {481057200 28800 1 +08}
- {496782000 25200 0 +07}
- {512506800 28800 1 +08}
- {528231600 25200 0 +07}
- {543956400 28800 1 +08}
- {559681200 25200 0 +07}
- {575406000 28800 1 +08}
- {591130800 25200 0 +07}
- {606855600 28800 1 +08}
- {622580400 25200 0 +07}
- {638305200 28800 1 +08}
- {654634800 25200 0 +07}
- {670359600 21600 0 +07}
- {670363200 25200 1 +07}
- {686088000 21600 0 +06}
- {695764800 25200 0 +08}
- {701809200 28800 1 +08}
- {717534000 25200 0 +07}
- {733258800 28800 1 +08}
- {748983600 25200 0 +07}
- {764708400 28800 1 +08}
- {780433200 25200 0 +07}
- {796158000 28800 1 +08}
- {801594000 25200 0 +07}
- {811886400 21600 0 +06}
- {828216000 25200 1 +07}
- {846360000 21600 0 +06}
- {859665600 25200 1 +07}
- {877809600 21600 0 +06}
- {891115200 25200 1 +07}
- {909259200 21600 0 +06}
- {922564800 25200 1 +07}
- {941313600 21600 0 +06}
- {954014400 25200 1 +07}
- {972763200 21600 0 +06}
- {985464000 25200 1 +07}
- {1004212800 21600 0 +06}
- {1017518400 25200 1 +07}
- {1035662400 21600 0 +06}
- {1048968000 25200 1 +07}
- {1067112000 21600 0 +06}
- {1080417600 25200 1 +07}
- {1099166400 21600 0 +06}
- {1111867200 25200 1 +07}
- {1130616000 21600 0 +06}
- {1143316800 25200 1 +07}
- {1162065600 21600 0 +06}
- {1174766400 25200 1 +07}
- {1193515200 21600 0 +06}
- {1206820800 25200 1 +07}
- {1224964800 21600 0 +06}
- {1238270400 25200 1 +07}
- {1256414400 21600 0 +06}
- {1269720000 25200 1 +07}
- {1288468800 21600 0 +06}
- {1301169600 25200 0 +07}
- {1414263600 21600 0 +06}
- {1459022400 25200 0 +07}
-}
diff --git a/library/tzdata/Asia/Bishkek b/library/tzdata/Asia/Bishkek
index bc4cbdd..6ba3896 100644
--- a/library/tzdata/Asia/Bishkek
+++ b/library/tzdata/Asia/Bishkek
@@ -2,57 +2,56 @@
set TZData(:Asia/Bishkek) {
{-9223372036854775808 17904 0 LMT}
- {-1441169904 18000 0 +05}
- {-1247547600 21600 0 +06}
- {354909600 25200 1 +06}
- {370717200 21600 0 +06}
- {386445600 25200 1 +06}
- {402253200 21600 0 +06}
- {417981600 25200 1 +06}
- {433789200 21600 0 +06}
- {449604000 25200 1 +06}
- {465336000 21600 0 +06}
- {481060800 25200 1 +06}
- {496785600 21600 0 +06}
- {512510400 25200 1 +06}
- {528235200 21600 0 +06}
- {543960000 25200 1 +06}
- {559684800 21600 0 +06}
- {575409600 25200 1 +06}
- {591134400 21600 0 +06}
- {606859200 25200 1 +06}
- {622584000 21600 0 +06}
- {638308800 25200 1 +06}
- {654638400 21600 0 +06}
- {670363200 18000 0 +05}
- {670366800 21600 1 +05}
- {683586000 18000 0 +05}
- {703018800 21600 1 +05}
- {717530400 18000 0 +05}
- {734468400 21600 1 +05}
- {748980000 18000 0 +05}
- {765918000 21600 1 +05}
- {780429600 18000 0 +05}
- {797367600 21600 1 +05}
- {811879200 18000 0 +05}
- {828817200 21600 1 +05}
- {843933600 18000 0 +05}
- {859671000 21600 1 +05}
- {877811400 18000 0 +05}
- {891120600 21600 1 +05}
- {909261000 18000 0 +05}
- {922570200 21600 1 +05}
- {941315400 18000 0 +05}
- {954019800 21600 1 +05}
- {972765000 18000 0 +05}
- {985469400 21600 1 +05}
- {1004214600 18000 0 +05}
- {1017523800 21600 1 +05}
- {1035664200 18000 0 +05}
- {1048973400 21600 1 +05}
- {1067113800 18000 0 +05}
- {1080423000 21600 1 +05}
- {1099168200 18000 0 +05}
- {1111872600 21600 1 +05}
- {1123783200 21600 0 +06}
+ {-1441169904 18000 0 FRUT}
+ {-1247547600 21600 0 FRUT}
+ {354909600 25200 1 FRUST}
+ {370717200 21600 0 FRUT}
+ {386445600 25200 1 FRUST}
+ {402253200 21600 0 FRUT}
+ {417981600 25200 1 FRUST}
+ {433789200 21600 0 FRUT}
+ {449604000 25200 1 FRUST}
+ {465336000 21600 0 FRUT}
+ {481060800 25200 1 FRUST}
+ {496785600 21600 0 FRUT}
+ {512510400 25200 1 FRUST}
+ {528235200 21600 0 FRUT}
+ {543960000 25200 1 FRUST}
+ {559684800 21600 0 FRUT}
+ {575409600 25200 1 FRUST}
+ {591134400 21600 0 FRUT}
+ {606859200 25200 1 FRUST}
+ {622584000 21600 0 FRUT}
+ {638308800 25200 1 FRUST}
+ {654638400 21600 0 FRUT}
+ {670363200 21600 1 FRUST}
+ {683582400 21600 0 KGT}
+ {703018800 21600 1 KGST}
+ {717530400 18000 0 KGT}
+ {734468400 21600 1 KGST}
+ {748980000 18000 0 KGT}
+ {765918000 21600 1 KGST}
+ {780429600 18000 0 KGT}
+ {797367600 21600 1 KGST}
+ {811879200 18000 0 KGT}
+ {828817200 21600 1 KGST}
+ {843933600 18000 0 KGT}
+ {859671000 21600 1 KGST}
+ {877811400 18000 0 KGT}
+ {891120600 21600 1 KGST}
+ {909261000 18000 0 KGT}
+ {922570200 21600 1 KGST}
+ {941315400 18000 0 KGT}
+ {954019800 21600 1 KGST}
+ {972765000 18000 0 KGT}
+ {985469400 21600 1 KGST}
+ {1004214600 18000 0 KGT}
+ {1017523800 21600 1 KGST}
+ {1035664200 18000 0 KGT}
+ {1048973400 21600 1 KGST}
+ {1067113800 18000 0 KGT}
+ {1080423000 21600 1 KGST}
+ {1099168200 18000 0 KGT}
+ {1111872600 21600 1 KGST}
+ {1123783200 21600 0 KGT}
}
diff --git a/library/tzdata/Asia/Brunei b/library/tzdata/Asia/Brunei
index ec1a78d..63d380b 100644
--- a/library/tzdata/Asia/Brunei
+++ b/library/tzdata/Asia/Brunei
@@ -1,5 +1,7 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Asia/Kuching)]} {
- LoadTimeZoneFile Asia/Kuching
+
+set TZData(:Asia/Brunei) {
+ {-9223372036854775808 27580 0 LMT}
+ {-1383464380 27000 0 BNT}
+ {-1167636600 28800 0 BNT}
}
-set TZData(:Asia/Brunei) $TZData(:Asia/Kuching)
diff --git a/library/tzdata/Asia/Chita b/library/tzdata/Asia/Chita
index 279c016..eabce7f 100644
--- a/library/tzdata/Asia/Chita
+++ b/library/tzdata/Asia/Chita
@@ -2,71 +2,70 @@
set TZData(:Asia/Chita) {
{-9223372036854775808 27232 0 LMT}
- {-1579419232 28800 0 +08}
- {-1247558400 32400 0 +10}
- {354898800 36000 1 +10}
- {370706400 32400 0 +09}
- {386434800 36000 1 +10}
- {402242400 32400 0 +09}
- {417970800 36000 1 +10}
- {433778400 32400 0 +09}
- {449593200 36000 1 +10}
- {465325200 32400 0 +09}
- {481050000 36000 1 +10}
- {496774800 32400 0 +09}
- {512499600 36000 1 +10}
- {528224400 32400 0 +09}
- {543949200 36000 1 +10}
- {559674000 32400 0 +09}
- {575398800 36000 1 +10}
- {591123600 32400 0 +09}
- {606848400 36000 1 +10}
- {622573200 32400 0 +09}
- {638298000 36000 1 +10}
- {654627600 32400 0 +09}
- {670352400 28800 0 +09}
- {670356000 32400 1 +09}
- {686080800 28800 0 +08}
- {695757600 32400 0 +10}
- {701802000 36000 1 +10}
- {717526800 32400 0 +09}
- {733251600 36000 1 +10}
- {748976400 32400 0 +09}
- {764701200 36000 1 +10}
- {780426000 32400 0 +09}
- {796150800 36000 1 +10}
- {811875600 32400 0 +09}
- {828205200 36000 1 +10}
- {846349200 32400 0 +09}
- {859654800 36000 1 +10}
- {877798800 32400 0 +09}
- {891104400 36000 1 +10}
- {909248400 32400 0 +09}
- {922554000 36000 1 +10}
- {941302800 32400 0 +09}
- {954003600 36000 1 +10}
- {972752400 32400 0 +09}
- {985453200 36000 1 +10}
- {1004202000 32400 0 +09}
- {1017507600 36000 1 +10}
- {1035651600 32400 0 +09}
- {1048957200 36000 1 +10}
- {1067101200 32400 0 +09}
- {1080406800 36000 1 +10}
- {1099155600 32400 0 +09}
- {1111856400 36000 1 +10}
- {1130605200 32400 0 +09}
- {1143306000 36000 1 +10}
- {1162054800 32400 0 +09}
- {1174755600 36000 1 +10}
- {1193504400 32400 0 +09}
- {1206810000 36000 1 +10}
- {1224954000 32400 0 +09}
- {1238259600 36000 1 +10}
- {1256403600 32400 0 +09}
- {1269709200 36000 1 +10}
- {1288458000 32400 0 +09}
- {1301158800 36000 0 +10}
- {1414252800 28800 0 +08}
- {1459015200 32400 0 +09}
+ {-1579419232 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}
+ {1080406800 36000 1 YAKST}
+ {1099155600 32400 0 YAKT}
+ {1111856400 36000 1 YAKST}
+ {1130605200 32400 0 YAKT}
+ {1143306000 36000 1 YAKST}
+ {1162054800 32400 0 YAKT}
+ {1174755600 36000 1 YAKST}
+ {1193504400 32400 0 YAKT}
+ {1206810000 36000 1 YAKST}
+ {1224954000 32400 0 YAKT}
+ {1238259600 36000 1 YAKST}
+ {1256403600 32400 0 YAKT}
+ {1269709200 36000 1 YAKST}
+ {1288458000 32400 0 YAKT}
+ {1301158800 36000 0 YAKT}
+ {1414252800 28800 0 IRKT}
}
diff --git a/library/tzdata/Asia/Choibalsan b/library/tzdata/Asia/Choibalsan
index b072c76..2bcf7f7 100644
--- a/library/tzdata/Asia/Choibalsan
+++ b/library/tzdata/Asia/Choibalsan
@@ -2,55 +2,221 @@
set TZData(:Asia/Choibalsan) {
{-9223372036854775808 27480 0 LMT}
- {-2032933080 25200 0 +07}
- {252435600 28800 0 +08}
- {417974400 36000 0 +09}
- {433778400 32400 0 +09}
- {449593200 36000 1 +09}
- {465314400 32400 0 +09}
- {481042800 36000 1 +09}
- {496764000 32400 0 +09}
- {512492400 36000 1 +09}
- {528213600 32400 0 +09}
- {543942000 36000 1 +09}
- {559663200 32400 0 +09}
- {575391600 36000 1 +09}
- {591112800 32400 0 +09}
- {606841200 36000 1 +09}
- {622562400 32400 0 +09}
- {638290800 36000 1 +09}
- {654616800 32400 0 +09}
- {670345200 36000 1 +09}
- {686066400 32400 0 +09}
- {701794800 36000 1 +09}
- {717516000 32400 0 +09}
- {733244400 36000 1 +09}
- {748965600 32400 0 +09}
- {764694000 36000 1 +09}
- {780415200 32400 0 +09}
- {796143600 36000 1 +09}
- {811864800 32400 0 +09}
- {828198000 36000 1 +09}
- {843919200 32400 0 +09}
- {859647600 36000 1 +09}
- {875368800 32400 0 +09}
- {891097200 36000 1 +09}
- {906818400 32400 0 +09}
- {988390800 36000 1 +09}
- {1001692800 32400 0 +09}
- {1017421200 36000 1 +09}
- {1033142400 32400 0 +09}
- {1048870800 36000 1 +09}
- {1064592000 32400 0 +09}
- {1080320400 36000 1 +09}
- {1096041600 32400 0 +09}
- {1111770000 36000 1 +09}
- {1127491200 32400 0 +09}
- {1143219600 36000 1 +09}
- {1159545600 32400 0 +09}
- {1206889200 28800 0 +08}
- {1427479200 32400 1 +08}
- {1443193200 28800 0 +08}
- {1458928800 32400 1 +08}
- {1474642800 28800 0 +08}
+ {-2032933080 25200 0 ULAT}
+ {252435600 28800 0 ULAT}
+ {417974400 36000 0 CHOST}
+ {433778400 32400 0 CHOT}
+ {449593200 36000 1 CHOST}
+ {465314400 32400 0 CHOT}
+ {481042800 36000 1 CHOST}
+ {496764000 32400 0 CHOT}
+ {512492400 36000 1 CHOST}
+ {528213600 32400 0 CHOT}
+ {543942000 36000 1 CHOST}
+ {559663200 32400 0 CHOT}
+ {575391600 36000 1 CHOST}
+ {591112800 32400 0 CHOT}
+ {606841200 36000 1 CHOST}
+ {622562400 32400 0 CHOT}
+ {638290800 36000 1 CHOST}
+ {654616800 32400 0 CHOT}
+ {670345200 36000 1 CHOST}
+ {686066400 32400 0 CHOT}
+ {701794800 36000 1 CHOST}
+ {717516000 32400 0 CHOT}
+ {733244400 36000 1 CHOST}
+ {748965600 32400 0 CHOT}
+ {764694000 36000 1 CHOST}
+ {780415200 32400 0 CHOT}
+ {796143600 36000 1 CHOST}
+ {811864800 32400 0 CHOT}
+ {828198000 36000 1 CHOST}
+ {843919200 32400 0 CHOT}
+ {859647600 36000 1 CHOST}
+ {875368800 32400 0 CHOT}
+ {891097200 36000 1 CHOST}
+ {906818400 32400 0 CHOT}
+ {988390800 36000 1 CHOST}
+ {1001692800 32400 0 CHOT}
+ {1017421200 36000 1 CHOST}
+ {1033142400 32400 0 CHOT}
+ {1048870800 36000 1 CHOST}
+ {1064592000 32400 0 CHOT}
+ {1080320400 36000 1 CHOST}
+ {1096041600 32400 0 CHOT}
+ {1111770000 36000 1 CHOST}
+ {1127491200 32400 0 CHOT}
+ {1143219600 36000 1 CHOST}
+ {1159545600 32400 0 CHOT}
+ {1206889200 28800 0 CHOT}
+ {1427479200 32400 1 CHOST}
+ {1443193200 28800 0 CHOT}
+ {1458928800 32400 1 CHOST}
+ {1474642800 28800 0 CHOT}
+ {1490378400 32400 1 CHOST}
+ {1506697200 28800 0 CHOT}
+ {1522432800 32400 1 CHOST}
+ {1538146800 28800 0 CHOT}
+ {1553882400 32400 1 CHOST}
+ {1569596400 28800 0 CHOT}
+ {1585332000 32400 1 CHOST}
+ {1601046000 28800 0 CHOT}
+ {1616781600 32400 1 CHOST}
+ {1632495600 28800 0 CHOT}
+ {1648231200 32400 1 CHOST}
+ {1663945200 28800 0 CHOT}
+ {1679680800 32400 1 CHOST}
+ {1695999600 28800 0 CHOT}
+ {1711735200 32400 1 CHOST}
+ {1727449200 28800 0 CHOT}
+ {1743184800 32400 1 CHOST}
+ {1758898800 28800 0 CHOT}
+ {1774634400 32400 1 CHOST}
+ {1790348400 28800 0 CHOT}
+ {1806084000 32400 1 CHOST}
+ {1821798000 28800 0 CHOT}
+ {1837533600 32400 1 CHOST}
+ {1853852400 28800 0 CHOT}
+ {1869588000 32400 1 CHOST}
+ {1885302000 28800 0 CHOT}
+ {1901037600 32400 1 CHOST}
+ {1916751600 28800 0 CHOT}
+ {1932487200 32400 1 CHOST}
+ {1948201200 28800 0 CHOT}
+ {1963936800 32400 1 CHOST}
+ {1979650800 28800 0 CHOT}
+ {1995386400 32400 1 CHOST}
+ {2011100400 28800 0 CHOT}
+ {2026836000 32400 1 CHOST}
+ {2043154800 28800 0 CHOT}
+ {2058890400 32400 1 CHOST}
+ {2074604400 28800 0 CHOT}
+ {2090340000 32400 1 CHOST}
+ {2106054000 28800 0 CHOT}
+ {2121789600 32400 1 CHOST}
+ {2137503600 28800 0 CHOT}
+ {2153239200 32400 1 CHOST}
+ {2168953200 28800 0 CHOT}
+ {2184688800 32400 1 CHOST}
+ {2200402800 28800 0 CHOT}
+ {2216743200 32400 1 CHOST}
+ {2232457200 28800 0 CHOT}
+ {2248192800 32400 1 CHOST}
+ {2263906800 28800 0 CHOT}
+ {2279642400 32400 1 CHOST}
+ {2295356400 28800 0 CHOT}
+ {2311092000 32400 1 CHOST}
+ {2326806000 28800 0 CHOT}
+ {2342541600 32400 1 CHOST}
+ {2358255600 28800 0 CHOT}
+ {2373991200 32400 1 CHOST}
+ {2390310000 28800 0 CHOT}
+ {2406045600 32400 1 CHOST}
+ {2421759600 28800 0 CHOT}
+ {2437495200 32400 1 CHOST}
+ {2453209200 28800 0 CHOT}
+ {2468944800 32400 1 CHOST}
+ {2484658800 28800 0 CHOT}
+ {2500394400 32400 1 CHOST}
+ {2516108400 28800 0 CHOT}
+ {2531844000 32400 1 CHOST}
+ {2547558000 28800 0 CHOT}
+ {2563293600 32400 1 CHOST}
+ {2579612400 28800 0 CHOT}
+ {2595348000 32400 1 CHOST}
+ {2611062000 28800 0 CHOT}
+ {2626797600 32400 1 CHOST}
+ {2642511600 28800 0 CHOT}
+ {2658247200 32400 1 CHOST}
+ {2673961200 28800 0 CHOT}
+ {2689696800 32400 1 CHOST}
+ {2705410800 28800 0 CHOT}
+ {2721146400 32400 1 CHOST}
+ {2737465200 28800 0 CHOT}
+ {2753200800 32400 1 CHOST}
+ {2768914800 28800 0 CHOT}
+ {2784650400 32400 1 CHOST}
+ {2800364400 28800 0 CHOT}
+ {2816100000 32400 1 CHOST}
+ {2831814000 28800 0 CHOT}
+ {2847549600 32400 1 CHOST}
+ {2863263600 28800 0 CHOT}
+ {2878999200 32400 1 CHOST}
+ {2894713200 28800 0 CHOT}
+ {2910448800 32400 1 CHOST}
+ {2926767600 28800 0 CHOT}
+ {2942503200 32400 1 CHOST}
+ {2958217200 28800 0 CHOT}
+ {2973952800 32400 1 CHOST}
+ {2989666800 28800 0 CHOT}
+ {3005402400 32400 1 CHOST}
+ {3021116400 28800 0 CHOT}
+ {3036852000 32400 1 CHOST}
+ {3052566000 28800 0 CHOT}
+ {3068301600 32400 1 CHOST}
+ {3084015600 28800 0 CHOT}
+ {3100356000 32400 1 CHOST}
+ {3116070000 28800 0 CHOT}
+ {3131805600 32400 1 CHOST}
+ {3147519600 28800 0 CHOT}
+ {3163255200 32400 1 CHOST}
+ {3178969200 28800 0 CHOT}
+ {3194704800 32400 1 CHOST}
+ {3210418800 28800 0 CHOT}
+ {3226154400 32400 1 CHOST}
+ {3241868400 28800 0 CHOT}
+ {3257604000 32400 1 CHOST}
+ {3273922800 28800 0 CHOT}
+ {3289658400 32400 1 CHOST}
+ {3305372400 28800 0 CHOT}
+ {3321108000 32400 1 CHOST}
+ {3336822000 28800 0 CHOT}
+ {3352557600 32400 1 CHOST}
+ {3368271600 28800 0 CHOT}
+ {3384007200 32400 1 CHOST}
+ {3399721200 28800 0 CHOT}
+ {3415456800 32400 1 CHOST}
+ {3431170800 28800 0 CHOT}
+ {3446906400 32400 1 CHOST}
+ {3463225200 28800 0 CHOT}
+ {3478960800 32400 1 CHOST}
+ {3494674800 28800 0 CHOT}
+ {3510410400 32400 1 CHOST}
+ {3526124400 28800 0 CHOT}
+ {3541860000 32400 1 CHOST}
+ {3557574000 28800 0 CHOT}
+ {3573309600 32400 1 CHOST}
+ {3589023600 28800 0 CHOT}
+ {3604759200 32400 1 CHOST}
+ {3621078000 28800 0 CHOT}
+ {3636813600 32400 1 CHOST}
+ {3652527600 28800 0 CHOT}
+ {3668263200 32400 1 CHOST}
+ {3683977200 28800 0 CHOT}
+ {3699712800 32400 1 CHOST}
+ {3715426800 28800 0 CHOT}
+ {3731162400 32400 1 CHOST}
+ {3746876400 28800 0 CHOT}
+ {3762612000 32400 1 CHOST}
+ {3778326000 28800 0 CHOT}
+ {3794061600 32400 1 CHOST}
+ {3810380400 28800 0 CHOT}
+ {3826116000 32400 1 CHOST}
+ {3841830000 28800 0 CHOT}
+ {3857565600 32400 1 CHOST}
+ {3873279600 28800 0 CHOT}
+ {3889015200 32400 1 CHOST}
+ {3904729200 28800 0 CHOT}
+ {3920464800 32400 1 CHOST}
+ {3936178800 28800 0 CHOT}
+ {3951914400 32400 1 CHOST}
+ {3967628400 28800 0 CHOT}
+ {3983968800 32400 1 CHOST}
+ {3999682800 28800 0 CHOT}
+ {4015418400 32400 1 CHOST}
+ {4031132400 28800 0 CHOT}
+ {4046868000 32400 1 CHOST}
+ {4062582000 28800 0 CHOT}
+ {4078317600 32400 1 CHOST}
+ {4094031600 28800 0 CHOT}
}
diff --git a/library/tzdata/Asia/Colombo b/library/tzdata/Asia/Colombo
index 7a14a9b..ca7bffc 100644
--- a/library/tzdata/Asia/Colombo
+++ b/library/tzdata/Asia/Colombo
@@ -3,11 +3,11 @@
set TZData(:Asia/Colombo) {
{-9223372036854775808 19164 0 LMT}
{-2840159964 19172 0 MMT}
- {-2019705572 19800 0 +0530}
- {-883287000 21600 1 +06}
- {-862639200 23400 1 +0630}
- {-764051400 19800 0 +0530}
- {832962600 23400 0 +0630}
- {846266400 21600 0 +06}
- {1145039400 19800 0 +0530}
+ {-2019705572 19800 0 IST}
+ {-883287000 21600 1 IHST}
+ {-862639200 23400 1 IST}
+ {-764051400 19800 0 IST}
+ {832962600 23400 0 LKT}
+ {846266400 21600 0 LKT}
+ {1145039400 19800 0 IST}
}
diff --git a/library/tzdata/Asia/Damascus b/library/tzdata/Asia/Damascus
index 92ac4f5..fafef49 100644
--- a/library/tzdata/Asia/Damascus
+++ b/library/tzdata/Asia/Damascus
@@ -122,5 +122,159 @@ set TZData(:Asia/Damascus) {
{1616709600 10800 1 EEST}
{1635454800 7200 0 EET}
{1648159200 10800 1 EEST}
- {1666908000 10800 0 +03}
+ {1666904400 7200 0 EET}
+ {1680213600 10800 1 EEST}
+ {1698354000 7200 0 EET}
+ {1711663200 10800 1 EEST}
+ {1729803600 7200 0 EET}
+ {1743112800 10800 1 EEST}
+ {1761858000 7200 0 EET}
+ {1774562400 10800 1 EEST}
+ {1793307600 7200 0 EET}
+ {1806012000 10800 1 EEST}
+ {1824757200 7200 0 EET}
+ {1838066400 10800 1 EEST}
+ {1856206800 7200 0 EET}
+ {1869516000 10800 1 EEST}
+ {1887656400 7200 0 EET}
+ {1900965600 10800 1 EEST}
+ {1919106000 7200 0 EET}
+ {1932415200 10800 1 EEST}
+ {1951160400 7200 0 EET}
+ {1963864800 10800 1 EEST}
+ {1982610000 7200 0 EET}
+ {1995314400 10800 1 EEST}
+ {2014059600 7200 0 EET}
+ {2027368800 10800 1 EEST}
+ {2045509200 7200 0 EET}
+ {2058818400 10800 1 EEST}
+ {2076958800 7200 0 EET}
+ {2090268000 10800 1 EEST}
+ {2109013200 7200 0 EET}
+ {2121717600 10800 1 EEST}
+ {2140462800 7200 0 EET}
+ {2153167200 10800 1 EEST}
+ {2171912400 7200 0 EET}
+ {2184616800 10800 1 EEST}
+ {2203362000 7200 0 EET}
+ {2216671200 10800 1 EEST}
+ {2234811600 7200 0 EET}
+ {2248120800 10800 1 EEST}
+ {2266261200 7200 0 EET}
+ {2279570400 10800 1 EEST}
+ {2298315600 7200 0 EET}
+ {2311020000 10800 1 EEST}
+ {2329765200 7200 0 EET}
+ {2342469600 10800 1 EEST}
+ {2361214800 7200 0 EET}
+ {2374524000 10800 1 EEST}
+ {2392664400 7200 0 EET}
+ {2405973600 10800 1 EEST}
+ {2424114000 7200 0 EET}
+ {2437423200 10800 1 EEST}
+ {2455563600 7200 0 EET}
+ {2468872800 10800 1 EEST}
+ {2487618000 7200 0 EET}
+ {2500322400 10800 1 EEST}
+ {2519067600 7200 0 EET}
+ {2531772000 10800 1 EEST}
+ {2550517200 7200 0 EET}
+ {2563826400 10800 1 EEST}
+ {2581966800 7200 0 EET}
+ {2595276000 10800 1 EEST}
+ {2613416400 7200 0 EET}
+ {2626725600 10800 1 EEST}
+ {2645470800 7200 0 EET}
+ {2658175200 10800 1 EEST}
+ {2676920400 7200 0 EET}
+ {2689624800 10800 1 EEST}
+ {2708370000 7200 0 EET}
+ {2721679200 10800 1 EEST}
+ {2739819600 7200 0 EET}
+ {2753128800 10800 1 EEST}
+ {2771269200 7200 0 EET}
+ {2784578400 10800 1 EEST}
+ {2802718800 7200 0 EET}
+ {2816028000 10800 1 EEST}
+ {2834773200 7200 0 EET}
+ {2847477600 10800 1 EEST}
+ {2866222800 7200 0 EET}
+ {2878927200 10800 1 EEST}
+ {2897672400 7200 0 EET}
+ {2910981600 10800 1 EEST}
+ {2929122000 7200 0 EET}
+ {2942431200 10800 1 EEST}
+ {2960571600 7200 0 EET}
+ {2973880800 10800 1 EEST}
+ {2992626000 7200 0 EET}
+ {3005330400 10800 1 EEST}
+ {3024075600 7200 0 EET}
+ {3036780000 10800 1 EEST}
+ {3055525200 7200 0 EET}
+ {3068229600 10800 1 EEST}
+ {3086974800 7200 0 EET}
+ {3100284000 10800 1 EEST}
+ {3118424400 7200 0 EET}
+ {3131733600 10800 1 EEST}
+ {3149874000 7200 0 EET}
+ {3163183200 10800 1 EEST}
+ {3181928400 7200 0 EET}
+ {3194632800 10800 1 EEST}
+ {3213378000 7200 0 EET}
+ {3226082400 10800 1 EEST}
+ {3244827600 7200 0 EET}
+ {3258136800 10800 1 EEST}
+ {3276277200 7200 0 EET}
+ {3289586400 10800 1 EEST}
+ {3307726800 7200 0 EET}
+ {3321036000 10800 1 EEST}
+ {3339176400 7200 0 EET}
+ {3352485600 10800 1 EEST}
+ {3371230800 7200 0 EET}
+ {3383935200 10800 1 EEST}
+ {3402680400 7200 0 EET}
+ {3415384800 10800 1 EEST}
+ {3434130000 7200 0 EET}
+ {3447439200 10800 1 EEST}
+ {3465579600 7200 0 EET}
+ {3478888800 10800 1 EEST}
+ {3497029200 7200 0 EET}
+ {3510338400 10800 1 EEST}
+ {3529083600 7200 0 EET}
+ {3541788000 10800 1 EEST}
+ {3560533200 7200 0 EET}
+ {3573237600 10800 1 EEST}
+ {3591982800 7200 0 EET}
+ {3605292000 10800 1 EEST}
+ {3623432400 7200 0 EET}
+ {3636741600 10800 1 EEST}
+ {3654882000 7200 0 EET}
+ {3668191200 10800 1 EEST}
+ {3686331600 7200 0 EET}
+ {3699640800 10800 1 EEST}
+ {3718386000 7200 0 EET}
+ {3731090400 10800 1 EEST}
+ {3749835600 7200 0 EET}
+ {3762540000 10800 1 EEST}
+ {3781285200 7200 0 EET}
+ {3794594400 10800 1 EEST}
+ {3812734800 7200 0 EET}
+ {3826044000 10800 1 EEST}
+ {3844184400 7200 0 EET}
+ {3857493600 10800 1 EEST}
+ {3876238800 7200 0 EET}
+ {3888943200 10800 1 EEST}
+ {3907688400 7200 0 EET}
+ {3920392800 10800 1 EEST}
+ {3939138000 7200 0 EET}
+ {3951842400 10800 1 EEST}
+ {3970587600 7200 0 EET}
+ {3983896800 10800 1 EEST}
+ {4002037200 7200 0 EET}
+ {4015346400 10800 1 EEST}
+ {4033486800 7200 0 EET}
+ {4046796000 10800 1 EEST}
+ {4065541200 7200 0 EET}
+ {4078245600 10800 1 EEST}
+ {4096990800 7200 0 EET}
}
diff --git a/library/tzdata/Asia/Dhaka b/library/tzdata/Asia/Dhaka
index c044095..6e8a334 100644
--- a/library/tzdata/Asia/Dhaka
+++ b/library/tzdata/Asia/Dhaka
@@ -3,11 +3,12 @@
set TZData(:Asia/Dhaka) {
{-9223372036854775808 21700 0 LMT}
{-2524543300 21200 0 HMT}
- {-891582800 23400 0 +0630}
- {-872058600 19800 0 +0530}
- {-862637400 23400 0 +0630}
- {-576138600 21600 0 +06}
- {1230746400 21600 0 +06}
- {1245430800 25200 1 +06}
- {1262278800 21600 0 +06}
+ {-891582800 23400 0 BURT}
+ {-872058600 19800 0 IST}
+ {-862637400 23400 0 BURT}
+ {-576138600 21600 0 DACT}
+ {38772000 21600 0 BDT}
+ {1230746400 21600 0 BDT}
+ {1245430800 25200 1 BDST}
+ {1262278800 21600 0 BDT}
}
diff --git a/library/tzdata/Asia/Dili b/library/tzdata/Asia/Dili
index 89cf22f..f783557 100644
--- a/library/tzdata/Asia/Dili
+++ b/library/tzdata/Asia/Dili
@@ -2,8 +2,9 @@
set TZData(:Asia/Dili) {
{-9223372036854775808 30140 0 LMT}
- {-1830414140 28800 0 +08}
- {-879152400 32400 0 +09}
- {199897200 28800 0 +08}
- {969120000 32400 0 +09}
+ {-1830414140 28800 0 TLT}
+ {-879152400 32400 0 JST}
+ {-766054800 32400 0 TLT}
+ {199897200 28800 0 WITA}
+ {969120000 32400 0 TLT}
}
diff --git a/library/tzdata/Asia/Dubai b/library/tzdata/Asia/Dubai
index 6c18e79..b8730e5 100644
--- a/library/tzdata/Asia/Dubai
+++ b/library/tzdata/Asia/Dubai
@@ -2,5 +2,5 @@
set TZData(:Asia/Dubai) {
{-9223372036854775808 13272 0 LMT}
- {-1577936472 14400 0 +04}
+ {-1577936472 14400 0 GST}
}
diff --git a/library/tzdata/Asia/Dushanbe b/library/tzdata/Asia/Dushanbe
index fe82ce7..59f8cb6 100644
--- a/library/tzdata/Asia/Dushanbe
+++ b/library/tzdata/Asia/Dushanbe
@@ -2,28 +2,28 @@
set TZData(:Asia/Dushanbe) {
{-9223372036854775808 16512 0 LMT}
- {-1441168512 18000 0 +05}
- {-1247547600 21600 0 +06}
- {354909600 25200 1 +06}
- {370717200 21600 0 +06}
- {386445600 25200 1 +06}
- {402253200 21600 0 +06}
- {417981600 25200 1 +06}
- {433789200 21600 0 +06}
- {449604000 25200 1 +06}
- {465336000 21600 0 +06}
- {481060800 25200 1 +06}
- {496785600 21600 0 +06}
- {512510400 25200 1 +06}
- {528235200 21600 0 +06}
- {543960000 25200 1 +06}
- {559684800 21600 0 +06}
- {575409600 25200 1 +06}
- {591134400 21600 0 +06}
- {606859200 25200 1 +06}
- {622584000 21600 0 +06}
- {638308800 25200 1 +06}
- {654638400 21600 0 +06}
- {670363200 21600 1 +06}
- {684363600 18000 0 +05}
+ {-1441168512 18000 0 DUST}
+ {-1247547600 21600 0 DUST}
+ {354909600 25200 1 DUSST}
+ {370717200 21600 0 DUST}
+ {386445600 25200 1 DUSST}
+ {402253200 21600 0 DUST}
+ {417981600 25200 1 DUSST}
+ {433789200 21600 0 DUST}
+ {449604000 25200 1 DUSST}
+ {465336000 21600 0 DUST}
+ {481060800 25200 1 DUSST}
+ {496785600 21600 0 DUST}
+ {512510400 25200 1 DUSST}
+ {528235200 21600 0 DUST}
+ {543960000 25200 1 DUSST}
+ {559684800 21600 0 DUST}
+ {575409600 25200 1 DUSST}
+ {591134400 21600 0 DUST}
+ {606859200 25200 1 DUSST}
+ {622584000 21600 0 DUST}
+ {638308800 25200 1 DUSST}
+ {654638400 21600 0 DUST}
+ {670363200 21600 1 DUSST}
+ {684363600 18000 0 TJT}
}
diff --git a/library/tzdata/Asia/Famagusta b/library/tzdata/Asia/Famagusta
deleted file mode 100644
index 55eade6..0000000
--- a/library/tzdata/Asia/Famagusta
+++ /dev/null
@@ -1,256 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Famagusta) {
- {-9223372036854775808 8148 0 LMT}
- {-1518920148 7200 0 EET}
- {166572000 10800 1 EEST}
- {182293200 7200 0 EET}
- {200959200 10800 1 EEST}
- {213829200 7200 0 EET}
- {228866400 10800 1 EEST}
- {243982800 7200 0 EET}
- {260316000 10800 1 EEST}
- {276123600 7200 0 EET}
- {291765600 10800 1 EEST}
- {307486800 7200 0 EET}
- {323820000 10800 1 EEST}
- {338936400 7200 0 EET}
- {354664800 10800 1 EEST}
- {370386000 7200 0 EET}
- {386114400 10800 1 EEST}
- {401835600 7200 0 EET}
- {417564000 10800 1 EEST}
- {433285200 7200 0 EET}
- {449013600 10800 1 EEST}
- {465339600 7200 0 EET}
- {481068000 10800 1 EEST}
- {496789200 7200 0 EET}
- {512517600 10800 1 EEST}
- {528238800 7200 0 EET}
- {543967200 10800 1 EEST}
- {559688400 7200 0 EET}
- {575416800 10800 1 EEST}
- {591138000 7200 0 EET}
- {606866400 10800 1 EEST}
- {622587600 7200 0 EET}
- {638316000 10800 1 EEST}
- {654642000 7200 0 EET}
- {670370400 10800 1 EEST}
- {686091600 7200 0 EET}
- {701820000 10800 1 EEST}
- {717541200 7200 0 EET}
- {733269600 10800 1 EEST}
- {748990800 7200 0 EET}
- {764719200 10800 1 EEST}
- {780440400 7200 0 EET}
- {796168800 10800 1 EEST}
- {811890000 7200 0 EET}
- {828223200 10800 1 EEST}
- {843944400 7200 0 EET}
- {859672800 10800 1 EEST}
- {875394000 7200 0 EET}
- {891122400 10800 1 EEST}
- {904597200 10800 0 EEST}
- {909277200 7200 0 EET}
- {922582800 10800 1 EEST}
- {941331600 7200 0 EET}
- {954032400 10800 1 EEST}
- {972781200 7200 0 EET}
- {985482000 10800 1 EEST}
- {1004230800 7200 0 EET}
- {1017536400 10800 1 EEST}
- {1035680400 7200 0 EET}
- {1048986000 10800 1 EEST}
- {1067130000 7200 0 EET}
- {1080435600 10800 1 EEST}
- {1099184400 7200 0 EET}
- {1111885200 10800 1 EEST}
- {1130634000 7200 0 EET}
- {1143334800 10800 1 EEST}
- {1162083600 7200 0 EET}
- {1174784400 10800 1 EEST}
- {1193533200 7200 0 EET}
- {1206838800 10800 1 EEST}
- {1224982800 7200 0 EET}
- {1238288400 10800 1 EEST}
- {1256432400 7200 0 EET}
- {1269738000 10800 1 EEST}
- {1288486800 7200 0 EET}
- {1301187600 10800 1 EEST}
- {1319936400 7200 0 EET}
- {1332637200 10800 1 EEST}
- {1351386000 7200 0 EET}
- {1364691600 10800 1 EEST}
- {1382835600 7200 0 EET}
- {1396141200 10800 1 EEST}
- {1414285200 7200 0 EET}
- {1427590800 10800 1 EEST}
- {1445734800 7200 0 EET}
- {1459040400 10800 1 EEST}
- {1473285600 10800 0 +03}
- {1509238800 7200 0 EET}
- {1521939600 10800 1 EEST}
- {1540688400 7200 0 EET}
- {1553994000 10800 1 EEST}
- {1572138000 7200 0 EET}
- {1585443600 10800 1 EEST}
- {1603587600 7200 0 EET}
- {1616893200 10800 1 EEST}
- {1635642000 7200 0 EET}
- {1648342800 10800 1 EEST}
- {1667091600 7200 0 EET}
- {1679792400 10800 1 EEST}
- {1698541200 7200 0 EET}
- {1711846800 10800 1 EEST}
- {1729990800 7200 0 EET}
- {1743296400 10800 1 EEST}
- {1761440400 7200 0 EET}
- {1774746000 10800 1 EEST}
- {1792890000 7200 0 EET}
- {1806195600 10800 1 EEST}
- {1824944400 7200 0 EET}
- {1837645200 10800 1 EEST}
- {1856394000 7200 0 EET}
- {1869094800 10800 1 EEST}
- {1887843600 7200 0 EET}
- {1901149200 10800 1 EEST}
- {1919293200 7200 0 EET}
- {1932598800 10800 1 EEST}
- {1950742800 7200 0 EET}
- {1964048400 10800 1 EEST}
- {1982797200 7200 0 EET}
- {1995498000 10800 1 EEST}
- {2014246800 7200 0 EET}
- {2026947600 10800 1 EEST}
- {2045696400 7200 0 EET}
- {2058397200 10800 1 EEST}
- {2077146000 7200 0 EET}
- {2090451600 10800 1 EEST}
- {2108595600 7200 0 EET}
- {2121901200 10800 1 EEST}
- {2140045200 7200 0 EET}
- {2153350800 10800 1 EEST}
- {2172099600 7200 0 EET}
- {2184800400 10800 1 EEST}
- {2203549200 7200 0 EET}
- {2216250000 10800 1 EEST}
- {2234998800 7200 0 EET}
- {2248304400 10800 1 EEST}
- {2266448400 7200 0 EET}
- {2279754000 10800 1 EEST}
- {2297898000 7200 0 EET}
- {2311203600 10800 1 EEST}
- {2329347600 7200 0 EET}
- {2342653200 10800 1 EEST}
- {2361402000 7200 0 EET}
- {2374102800 10800 1 EEST}
- {2392851600 7200 0 EET}
- {2405552400 10800 1 EEST}
- {2424301200 7200 0 EET}
- {2437606800 10800 1 EEST}
- {2455750800 7200 0 EET}
- {2469056400 10800 1 EEST}
- {2487200400 7200 0 EET}
- {2500506000 10800 1 EEST}
- {2519254800 7200 0 EET}
- {2531955600 10800 1 EEST}
- {2550704400 7200 0 EET}
- {2563405200 10800 1 EEST}
- {2582154000 7200 0 EET}
- {2595459600 10800 1 EEST}
- {2613603600 7200 0 EET}
- {2626909200 10800 1 EEST}
- {2645053200 7200 0 EET}
- {2658358800 10800 1 EEST}
- {2676502800 7200 0 EET}
- {2689808400 10800 1 EEST}
- {2708557200 7200 0 EET}
- {2721258000 10800 1 EEST}
- {2740006800 7200 0 EET}
- {2752707600 10800 1 EEST}
- {2771456400 7200 0 EET}
- {2784762000 10800 1 EEST}
- {2802906000 7200 0 EET}
- {2816211600 10800 1 EEST}
- {2834355600 7200 0 EET}
- {2847661200 10800 1 EEST}
- {2866410000 7200 0 EET}
- {2879110800 10800 1 EEST}
- {2897859600 7200 0 EET}
- {2910560400 10800 1 EEST}
- {2929309200 7200 0 EET}
- {2942010000 10800 1 EEST}
- {2960758800 7200 0 EET}
- {2974064400 10800 1 EEST}
- {2992208400 7200 0 EET}
- {3005514000 10800 1 EEST}
- {3023658000 7200 0 EET}
- {3036963600 10800 1 EEST}
- {3055712400 7200 0 EET}
- {3068413200 10800 1 EEST}
- {3087162000 7200 0 EET}
- {3099862800 10800 1 EEST}
- {3118611600 7200 0 EET}
- {3131917200 10800 1 EEST}
- {3150061200 7200 0 EET}
- {3163366800 10800 1 EEST}
- {3181510800 7200 0 EET}
- {3194816400 10800 1 EEST}
- {3212960400 7200 0 EET}
- {3226266000 10800 1 EEST}
- {3245014800 7200 0 EET}
- {3257715600 10800 1 EEST}
- {3276464400 7200 0 EET}
- {3289165200 10800 1 EEST}
- {3307914000 7200 0 EET}
- {3321219600 10800 1 EEST}
- {3339363600 7200 0 EET}
- {3352669200 10800 1 EEST}
- {3370813200 7200 0 EET}
- {3384118800 10800 1 EEST}
- {3402867600 7200 0 EET}
- {3415568400 10800 1 EEST}
- {3434317200 7200 0 EET}
- {3447018000 10800 1 EEST}
- {3465766800 7200 0 EET}
- {3479072400 10800 1 EEST}
- {3497216400 7200 0 EET}
- {3510522000 10800 1 EEST}
- {3528666000 7200 0 EET}
- {3541971600 10800 1 EEST}
- {3560115600 7200 0 EET}
- {3573421200 10800 1 EEST}
- {3592170000 7200 0 EET}
- {3604870800 10800 1 EEST}
- {3623619600 7200 0 EET}
- {3636320400 10800 1 EEST}
- {3655069200 7200 0 EET}
- {3668374800 10800 1 EEST}
- {3686518800 7200 0 EET}
- {3699824400 10800 1 EEST}
- {3717968400 7200 0 EET}
- {3731274000 10800 1 EEST}
- {3750022800 7200 0 EET}
- {3762723600 10800 1 EEST}
- {3781472400 7200 0 EET}
- {3794173200 10800 1 EEST}
- {3812922000 7200 0 EET}
- {3825622800 10800 1 EEST}
- {3844371600 7200 0 EET}
- {3857677200 10800 1 EEST}
- {3875821200 7200 0 EET}
- {3889126800 10800 1 EEST}
- {3907270800 7200 0 EET}
- {3920576400 10800 1 EEST}
- {3939325200 7200 0 EET}
- {3952026000 10800 1 EEST}
- {3970774800 7200 0 EET}
- {3983475600 10800 1 EEST}
- {4002224400 7200 0 EET}
- {4015530000 10800 1 EEST}
- {4033674000 7200 0 EET}
- {4046979600 10800 1 EEST}
- {4065123600 7200 0 EET}
- {4078429200 10800 1 EEST}
- {4096573200 7200 0 EET}
-}
diff --git a/library/tzdata/Asia/Gaza b/library/tzdata/Asia/Gaza
index edc7e79..805b6b7 100644
--- a/library/tzdata/Asia/Gaza
+++ b/library/tzdata/Asia/Gaza
@@ -2,19 +2,17 @@
set TZData(:Asia/Gaza) {
{-9223372036854775808 8272 0 LMT}
- {-2185409872 7200 0 EEST}
- {-933638400 10800 1 EEST}
- {-923097600 7200 0 EEST}
- {-919036800 10800 1 EEST}
- {-857347200 7200 0 EEST}
- {-844300800 10800 1 EEST}
- {-825811200 7200 0 EEST}
- {-812678400 10800 1 EEST}
- {-794188800 7200 0 EEST}
- {-779846400 10800 1 EEST}
- {-762652800 7200 0 EEST}
- {-748310400 10800 1 EEST}
- {-731116800 7200 0 EEST}
+ {-2185409872 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}
@@ -42,12 +40,8 @@ set TZData(:Asia/Gaza) {
{150843600 7200 0 IST}
{167176800 10800 1 IDT}
{178664400 7200 0 IST}
- {334101600 10800 1 IDT}
- {337730400 7200 0 IST}
- {452642400 10800 1 IDT}
- {462319200 7200 0 IST}
{482277600 10800 1 IDT}
- {494370000 7200 0 IST}
+ {495579600 7200 0 IST}
{516751200 10800 1 IDT}
{526424400 7200 0 IST}
{545436000 10800 1 IDT}
@@ -112,233 +106,173 @@ set TZData(:Asia/Gaza) {
{1395957600 10800 1 EEST}
{1414098000 7200 0 EET}
{1427493600 10800 1 EEST}
- {1445551200 7200 0 EET}
- {1458946800 10800 1 EEST}
- {1477692000 7200 0 EET}
- {1490396400 10800 1 EEST}
- {1509141600 7200 0 EET}
- {1521846000 10800 1 EEST}
- {1540591200 7200 0 EET}
- {1553810400 10800 1 EEST}
- {1572037200 7200 0 EET}
+ {1445547600 7200 0 EET}
+ {1458943200 10800 1 EEST}
+ {1476997200 7200 0 EET}
+ {1490997600 10800 1 EEST}
+ {1509051600 7200 0 EET}
+ {1522447200 10800 1 EEST}
+ {1540501200 7200 0 EET}
+ {1553896800 10800 1 EEST}
+ {1571950800 7200 0 EET}
{1585346400 10800 1 EEST}
- {1603490400 7200 0 EET}
+ {1603400400 7200 0 EET}
{1616796000 10800 1 EEST}
- {1635458400 7200 0 EET}
- {1648332000 10800 1 EEST}
- {1666998000 7200 0 EET}
- {1682726400 10800 1 EEST}
- {1698447600 7200 0 EET}
- {1713571200 10800 1 EEST}
- {1729897200 7200 0 EET}
- {1744416000 10800 1 EEST}
- {1761346800 7200 0 EET}
- {1774656000 10800 1 EEST}
- {1792796400 7200 0 EET}
- {1806105600 10800 1 EEST}
- {1824850800 7200 0 EET}
- {1837555200 10800 1 EEST}
- {1856300400 7200 0 EET}
- {1869004800 10800 1 EEST}
- {1887750000 7200 0 EET}
- {1901059200 10800 1 EEST}
- {1919199600 7200 0 EET}
- {1932508800 10800 1 EEST}
- {1950649200 7200 0 EET}
- {1963958400 10800 1 EEST}
- {1982703600 7200 0 EET}
- {1995408000 10800 1 EEST}
- {2014153200 7200 0 EET}
- {2026857600 10800 1 EEST}
- {2045602800 7200 0 EET}
- {2058307200 10800 1 EEST}
- {2077052400 7200 0 EET}
- {2090361600 10800 1 EEST}
- {2107897200 7200 0 EET}
- {2121811200 10800 1 EEST}
- {2138742000 7200 0 EET}
- {2153260800 10800 1 EEST}
- {2168982000 7200 0 EET}
- {2184710400 10800 1 EEST}
- {2199826800 7200 0 EET}
- {2216160000 10800 1 EEST}
- {2230066800 7200 0 EET}
- {2234304000 10800 1 EEST}
- {2234905200 7200 0 EET}
- {2248214400 10800 1 EEST}
- {2260911600 7200 0 EET}
- {2264544000 10800 1 EEST}
- {2266354800 7200 0 EET}
- {2279664000 10800 1 EEST}
- {2291756400 7200 0 EET}
- {2295388800 10800 1 EEST}
- {2297804400 7200 0 EET}
- {2311113600 10800 1 EEST}
- {2321996400 7200 0 EET}
- {2326233600 10800 1 EEST}
- {2329254000 7200 0 EET}
- {2342563200 10800 1 EEST}
- {2352841200 7200 0 EET}
- {2356473600 10800 1 EEST}
- {2361308400 7200 0 EET}
- {2374012800 10800 1 EEST}
- {2383686000 7200 0 EET}
- {2387318400 10800 1 EEST}
- {2392758000 7200 0 EET}
- {2405462400 10800 1 EEST}
- {2413926000 7200 0 EET}
- {2418163200 10800 1 EEST}
- {2424207600 7200 0 EET}
- {2437516800 10800 1 EEST}
- {2444770800 7200 0 EET}
- {2448403200 10800 1 EEST}
- {2455657200 7200 0 EET}
- {2468966400 10800 1 EEST}
- {2475010800 7200 0 EET}
- {2479248000 10800 1 EEST}
- {2487106800 7200 0 EET}
- {2500416000 10800 1 EEST}
- {2505855600 7200 0 EET}
- {2509488000 10800 1 EEST}
- {2519161200 7200 0 EET}
- {2531865600 10800 1 EEST}
- {2536700400 7200 0 EET}
- {2540332800 10800 1 EEST}
- {2550610800 7200 0 EET}
- {2563315200 10800 1 EEST}
- {2566940400 7200 0 EET}
- {2571177600 10800 1 EEST}
- {2582060400 7200 0 EET}
- {2595369600 10800 1 EEST}
- {2597785200 7200 0 EET}
- {2601417600 10800 1 EEST}
- {2613510000 7200 0 EET}
- {2626819200 10800 1 EEST}
- {2628025200 7200 0 EET}
- {2632262400 10800 1 EEST}
- {2644959600 7200 0 EET}
- {2658268800 10800 1 EEST}
- {2658870000 7200 0 EET}
- {2663107200 10800 1 EEST}
- {2676409200 7200 0 EET}
- {2693347200 10800 1 EEST}
- {2708463600 7200 0 EET}
- {2724192000 10800 1 EEST}
- {2739913200 7200 0 EET}
- {2754432000 10800 1 EEST}
- {2771362800 7200 0 EET}
- {2785276800 10800 1 EEST}
- {2802812400 7200 0 EET}
- {2816121600 10800 1 EEST}
- {2834262000 7200 0 EET}
- {2847571200 10800 1 EEST}
- {2866316400 7200 0 EET}
- {2879020800 10800 1 EEST}
- {2897766000 7200 0 EET}
- {2910470400 10800 1 EEST}
- {2929215600 7200 0 EET}
- {2941920000 10800 1 EEST}
- {2960665200 7200 0 EET}
- {2973974400 10800 1 EEST}
- {2992114800 7200 0 EET}
- {3005424000 10800 1 EEST}
- {3023564400 7200 0 EET}
- {3036873600 10800 1 EEST}
- {3055618800 7200 0 EET}
- {3068323200 10800 1 EEST}
- {3087068400 7200 0 EET}
- {3099772800 10800 1 EEST}
- {3117913200 7200 0 EET}
- {3131827200 10800 1 EEST}
- {3148758000 7200 0 EET}
- {3163276800 10800 1 EEST}
- {3179602800 7200 0 EET}
- {3194726400 10800 1 EEST}
- {3209842800 7200 0 EET}
- {3226176000 10800 1 EEST}
- {3240687600 7200 0 EET}
- {3244320000 10800 1 EEST}
- {3244921200 7200 0 EET}
- {3257625600 10800 1 EEST}
- {3271532400 7200 0 EET}
- {3275164800 10800 1 EEST}
- {3276370800 7200 0 EET}
- {3289075200 10800 1 EEST}
- {3301772400 7200 0 EET}
- {3306009600 10800 1 EEST}
- {3307820400 7200 0 EET}
- {3321129600 10800 1 EEST}
- {3332617200 7200 0 EET}
- {3336249600 10800 1 EEST}
- {3339270000 7200 0 EET}
- {3352579200 10800 1 EEST}
- {3362857200 7200 0 EET}
- {3367094400 10800 1 EEST}
- {3370719600 7200 0 EET}
- {3384028800 10800 1 EEST}
- {3393702000 7200 0 EET}
- {3397939200 10800 1 EEST}
- {3402774000 7200 0 EET}
- {3415478400 10800 1 EEST}
- {3424546800 7200 0 EET}
- {3428179200 10800 1 EEST}
- {3434223600 7200 0 EET}
- {3446928000 10800 1 EEST}
- {3454786800 7200 0 EET}
- {3459024000 10800 1 EEST}
- {3465673200 7200 0 EET}
- {3478982400 10800 1 EEST}
- {3485631600 7200 0 EET}
- {3489264000 10800 1 EEST}
- {3497122800 7200 0 EET}
- {3510432000 10800 1 EEST}
- {3516476400 7200 0 EET}
- {3520108800 10800 1 EEST}
- {3528572400 7200 0 EET}
- {3541881600 10800 1 EEST}
- {3546716400 7200 0 EET}
- {3550953600 10800 1 EEST}
- {3560022000 7200 0 EET}
- {3573331200 10800 1 EEST}
- {3577561200 7200 0 EET}
- {3581193600 10800 1 EEST}
- {3592076400 7200 0 EET}
- {3604780800 10800 1 EEST}
- {3607801200 7200 0 EET}
- {3612038400 10800 1 EEST}
- {3623526000 7200 0 EET}
- {3636230400 10800 1 EEST}
- {3638646000 7200 0 EET}
- {3642883200 10800 1 EEST}
- {3654975600 7200 0 EET}
- {3668284800 10800 1 EEST}
- {3669490800 7200 0 EET}
- {3673123200 10800 1 EEST}
- {3686425200 7200 0 EET}
- {3699734400 10800 1 EEST}
- {3717874800 7200 0 EET}
- {3731184000 10800 1 EEST}
- {3749929200 7200 0 EET}
- {3762633600 10800 1 EEST}
- {3781378800 7200 0 EET}
- {3794083200 10800 1 EEST}
- {3812828400 7200 0 EET}
- {3825532800 10800 1 EEST}
- {3844278000 7200 0 EET}
- {3857587200 10800 1 EEST}
- {3875727600 7200 0 EET}
- {3889036800 10800 1 EEST}
- {3907177200 7200 0 EET}
- {3920486400 10800 1 EEST}
- {3939231600 7200 0 EET}
- {3951936000 10800 1 EEST}
- {3970681200 7200 0 EET}
- {3983385600 10800 1 EEST}
- {4002130800 7200 0 EET}
- {4015440000 10800 1 EEST}
- {4033580400 7200 0 EET}
- {4046889600 10800 1 EEST}
- {4065030000 7200 0 EET}
- {4078339200 10800 1 EEST}
- {4096479600 7200 0 EET}
+ {1634850000 7200 0 EET}
+ {1648245600 10800 1 EEST}
+ {1666299600 7200 0 EET}
+ {1680300000 10800 1 EEST}
+ {1698354000 7200 0 EET}
+ {1711749600 10800 1 EEST}
+ {1729803600 7200 0 EET}
+ {1743199200 10800 1 EEST}
+ {1761253200 7200 0 EET}
+ {1774648800 10800 1 EEST}
+ {1792702800 7200 0 EET}
+ {1806098400 10800 1 EEST}
+ {1824152400 7200 0 EET}
+ {1838152800 10800 1 EEST}
+ {1856206800 7200 0 EET}
+ {1869602400 10800 1 EEST}
+ {1887656400 7200 0 EET}
+ {1901052000 10800 1 EEST}
+ {1919106000 7200 0 EET}
+ {1932501600 10800 1 EEST}
+ {1950555600 7200 0 EET}
+ {1963951200 10800 1 EEST}
+ {1982005200 7200 0 EET}
+ {1995400800 10800 1 EEST}
+ {2013454800 7200 0 EET}
+ {2027455200 10800 1 EEST}
+ {2045509200 7200 0 EET}
+ {2058904800 10800 1 EEST}
+ {2076958800 7200 0 EET}
+ {2090354400 10800 1 EEST}
+ {2108408400 7200 0 EET}
+ {2121804000 10800 1 EEST}
+ {2139858000 7200 0 EET}
+ {2153253600 10800 1 EEST}
+ {2171307600 7200 0 EET}
+ {2184703200 10800 1 EEST}
+ {2202757200 7200 0 EET}
+ {2216757600 10800 1 EEST}
+ {2234811600 7200 0 EET}
+ {2248207200 10800 1 EEST}
+ {2266261200 7200 0 EET}
+ {2279656800 10800 1 EEST}
+ {2297710800 7200 0 EET}
+ {2311106400 10800 1 EEST}
+ {2329160400 7200 0 EET}
+ {2342556000 10800 1 EEST}
+ {2360610000 7200 0 EET}
+ {2374610400 10800 1 EEST}
+ {2392664400 7200 0 EET}
+ {2406060000 10800 1 EEST}
+ {2424114000 7200 0 EET}
+ {2437509600 10800 1 EEST}
+ {2455563600 7200 0 EET}
+ {2468959200 10800 1 EEST}
+ {2487013200 7200 0 EET}
+ {2500408800 10800 1 EEST}
+ {2518462800 7200 0 EET}
+ {2531858400 10800 1 EEST}
+ {2549912400 7200 0 EET}
+ {2563912800 10800 1 EEST}
+ {2581966800 7200 0 EET}
+ {2595362400 10800 1 EEST}
+ {2613416400 7200 0 EET}
+ {2626812000 10800 1 EEST}
+ {2644866000 7200 0 EET}
+ {2658261600 10800 1 EEST}
+ {2676315600 7200 0 EET}
+ {2689711200 10800 1 EEST}
+ {2707765200 7200 0 EET}
+ {2721765600 10800 1 EEST}
+ {2739819600 7200 0 EET}
+ {2753215200 10800 1 EEST}
+ {2771269200 7200 0 EET}
+ {2784664800 10800 1 EEST}
+ {2802718800 7200 0 EET}
+ {2816114400 10800 1 EEST}
+ {2834168400 7200 0 EET}
+ {2847564000 10800 1 EEST}
+ {2865618000 7200 0 EET}
+ {2879013600 10800 1 EEST}
+ {2897067600 7200 0 EET}
+ {2911068000 10800 1 EEST}
+ {2929122000 7200 0 EET}
+ {2942517600 10800 1 EEST}
+ {2960571600 7200 0 EET}
+ {2973967200 10800 1 EEST}
+ {2992021200 7200 0 EET}
+ {3005416800 10800 1 EEST}
+ {3023470800 7200 0 EET}
+ {3036866400 10800 1 EEST}
+ {3054920400 7200 0 EET}
+ {3068316000 10800 1 EEST}
+ {3086370000 7200 0 EET}
+ {3100370400 10800 1 EEST}
+ {3118424400 7200 0 EET}
+ {3131820000 10800 1 EEST}
+ {3149874000 7200 0 EET}
+ {3163269600 10800 1 EEST}
+ {3181323600 7200 0 EET}
+ {3194719200 10800 1 EEST}
+ {3212773200 7200 0 EET}
+ {3226168800 10800 1 EEST}
+ {3244222800 7200 0 EET}
+ {3258223200 10800 1 EEST}
+ {3276277200 7200 0 EET}
+ {3289672800 10800 1 EEST}
+ {3307726800 7200 0 EET}
+ {3321122400 10800 1 EEST}
+ {3339176400 7200 0 EET}
+ {3352572000 10800 1 EEST}
+ {3370626000 7200 0 EET}
+ {3384021600 10800 1 EEST}
+ {3402075600 7200 0 EET}
+ {3415471200 10800 1 EEST}
+ {3433525200 7200 0 EET}
+ {3447525600 10800 1 EEST}
+ {3465579600 7200 0 EET}
+ {3478975200 10800 1 EEST}
+ {3497029200 7200 0 EET}
+ {3510424800 10800 1 EEST}
+ {3528478800 7200 0 EET}
+ {3541874400 10800 1 EEST}
+ {3559928400 7200 0 EET}
+ {3573324000 10800 1 EEST}
+ {3591378000 7200 0 EET}
+ {3605378400 10800 1 EEST}
+ {3623432400 7200 0 EET}
+ {3636828000 10800 1 EEST}
+ {3654882000 7200 0 EET}
+ {3668277600 10800 1 EEST}
+ {3686331600 7200 0 EET}
+ {3699727200 10800 1 EEST}
+ {3717781200 7200 0 EET}
+ {3731176800 10800 1 EEST}
+ {3749230800 7200 0 EET}
+ {3762626400 10800 1 EEST}
+ {3780680400 7200 0 EET}
+ {3794680800 10800 1 EEST}
+ {3812734800 7200 0 EET}
+ {3826130400 10800 1 EEST}
+ {3844184400 7200 0 EET}
+ {3857580000 10800 1 EEST}
+ {3875634000 7200 0 EET}
+ {3889029600 10800 1 EEST}
+ {3907083600 7200 0 EET}
+ {3920479200 10800 1 EEST}
+ {3938533200 7200 0 EET}
+ {3951928800 10800 1 EEST}
+ {3969982800 7200 0 EET}
+ {3983983200 10800 1 EEST}
+ {4002037200 7200 0 EET}
+ {4015432800 10800 1 EEST}
+ {4033486800 7200 0 EET}
+ {4046882400 10800 1 EEST}
+ {4064936400 7200 0 EET}
+ {4078332000 10800 1 EEST}
+ {4096386000 7200 0 EET}
}
diff --git a/library/tzdata/Asia/Hebron b/library/tzdata/Asia/Hebron
index 8d512af..9049d93 100644
--- a/library/tzdata/Asia/Hebron
+++ b/library/tzdata/Asia/Hebron
@@ -2,19 +2,17 @@
set TZData(:Asia/Hebron) {
{-9223372036854775808 8423 0 LMT}
- {-2185410023 7200 0 EEST}
- {-933638400 10800 1 EEST}
- {-923097600 7200 0 EEST}
- {-919036800 10800 1 EEST}
- {-857347200 7200 0 EEST}
- {-844300800 10800 1 EEST}
- {-825811200 7200 0 EEST}
- {-812678400 10800 1 EEST}
- {-794188800 7200 0 EEST}
- {-779846400 10800 1 EEST}
- {-762652800 7200 0 EEST}
- {-748310400 10800 1 EEST}
- {-731116800 7200 0 EEST}
+ {-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}
@@ -42,12 +40,8 @@ set TZData(:Asia/Hebron) {
{150843600 7200 0 IST}
{167176800 10800 1 IDT}
{178664400 7200 0 IST}
- {334101600 10800 1 IDT}
- {337730400 7200 0 IST}
- {452642400 10800 1 IDT}
- {462319200 7200 0 IST}
{482277600 10800 1 IDT}
- {494370000 7200 0 IST}
+ {495579600 7200 0 IST}
{516751200 10800 1 IDT}
{526424400 7200 0 IST}
{545436000 10800 1 IDT}
@@ -111,233 +105,173 @@ set TZData(:Asia/Hebron) {
{1395957600 10800 1 EEST}
{1414098000 7200 0 EET}
{1427493600 10800 1 EEST}
- {1445551200 7200 0 EET}
- {1458946800 10800 1 EEST}
- {1477692000 7200 0 EET}
- {1490396400 10800 1 EEST}
- {1509141600 7200 0 EET}
- {1521846000 10800 1 EEST}
- {1540591200 7200 0 EET}
- {1553810400 10800 1 EEST}
- {1572037200 7200 0 EET}
+ {1445547600 7200 0 EET}
+ {1458943200 10800 1 EEST}
+ {1476997200 7200 0 EET}
+ {1490997600 10800 1 EEST}
+ {1509051600 7200 0 EET}
+ {1522447200 10800 1 EEST}
+ {1540501200 7200 0 EET}
+ {1553896800 10800 1 EEST}
+ {1571950800 7200 0 EET}
{1585346400 10800 1 EEST}
- {1603490400 7200 0 EET}
+ {1603400400 7200 0 EET}
{1616796000 10800 1 EEST}
- {1635458400 7200 0 EET}
- {1648332000 10800 1 EEST}
- {1666998000 7200 0 EET}
- {1682726400 10800 1 EEST}
- {1698447600 7200 0 EET}
- {1713571200 10800 1 EEST}
- {1729897200 7200 0 EET}
- {1744416000 10800 1 EEST}
- {1761346800 7200 0 EET}
- {1774656000 10800 1 EEST}
- {1792796400 7200 0 EET}
- {1806105600 10800 1 EEST}
- {1824850800 7200 0 EET}
- {1837555200 10800 1 EEST}
- {1856300400 7200 0 EET}
- {1869004800 10800 1 EEST}
- {1887750000 7200 0 EET}
- {1901059200 10800 1 EEST}
- {1919199600 7200 0 EET}
- {1932508800 10800 1 EEST}
- {1950649200 7200 0 EET}
- {1963958400 10800 1 EEST}
- {1982703600 7200 0 EET}
- {1995408000 10800 1 EEST}
- {2014153200 7200 0 EET}
- {2026857600 10800 1 EEST}
- {2045602800 7200 0 EET}
- {2058307200 10800 1 EEST}
- {2077052400 7200 0 EET}
- {2090361600 10800 1 EEST}
- {2107897200 7200 0 EET}
- {2121811200 10800 1 EEST}
- {2138742000 7200 0 EET}
- {2153260800 10800 1 EEST}
- {2168982000 7200 0 EET}
- {2184710400 10800 1 EEST}
- {2199826800 7200 0 EET}
- {2216160000 10800 1 EEST}
- {2230066800 7200 0 EET}
- {2234304000 10800 1 EEST}
- {2234905200 7200 0 EET}
- {2248214400 10800 1 EEST}
- {2260911600 7200 0 EET}
- {2264544000 10800 1 EEST}
- {2266354800 7200 0 EET}
- {2279664000 10800 1 EEST}
- {2291756400 7200 0 EET}
- {2295388800 10800 1 EEST}
- {2297804400 7200 0 EET}
- {2311113600 10800 1 EEST}
- {2321996400 7200 0 EET}
- {2326233600 10800 1 EEST}
- {2329254000 7200 0 EET}
- {2342563200 10800 1 EEST}
- {2352841200 7200 0 EET}
- {2356473600 10800 1 EEST}
- {2361308400 7200 0 EET}
- {2374012800 10800 1 EEST}
- {2383686000 7200 0 EET}
- {2387318400 10800 1 EEST}
- {2392758000 7200 0 EET}
- {2405462400 10800 1 EEST}
- {2413926000 7200 0 EET}
- {2418163200 10800 1 EEST}
- {2424207600 7200 0 EET}
- {2437516800 10800 1 EEST}
- {2444770800 7200 0 EET}
- {2448403200 10800 1 EEST}
- {2455657200 7200 0 EET}
- {2468966400 10800 1 EEST}
- {2475010800 7200 0 EET}
- {2479248000 10800 1 EEST}
- {2487106800 7200 0 EET}
- {2500416000 10800 1 EEST}
- {2505855600 7200 0 EET}
- {2509488000 10800 1 EEST}
- {2519161200 7200 0 EET}
- {2531865600 10800 1 EEST}
- {2536700400 7200 0 EET}
- {2540332800 10800 1 EEST}
- {2550610800 7200 0 EET}
- {2563315200 10800 1 EEST}
- {2566940400 7200 0 EET}
- {2571177600 10800 1 EEST}
- {2582060400 7200 0 EET}
- {2595369600 10800 1 EEST}
- {2597785200 7200 0 EET}
- {2601417600 10800 1 EEST}
- {2613510000 7200 0 EET}
- {2626819200 10800 1 EEST}
- {2628025200 7200 0 EET}
- {2632262400 10800 1 EEST}
- {2644959600 7200 0 EET}
- {2658268800 10800 1 EEST}
- {2658870000 7200 0 EET}
- {2663107200 10800 1 EEST}
- {2676409200 7200 0 EET}
- {2693347200 10800 1 EEST}
- {2708463600 7200 0 EET}
- {2724192000 10800 1 EEST}
- {2739913200 7200 0 EET}
- {2754432000 10800 1 EEST}
- {2771362800 7200 0 EET}
- {2785276800 10800 1 EEST}
- {2802812400 7200 0 EET}
- {2816121600 10800 1 EEST}
- {2834262000 7200 0 EET}
- {2847571200 10800 1 EEST}
- {2866316400 7200 0 EET}
- {2879020800 10800 1 EEST}
- {2897766000 7200 0 EET}
- {2910470400 10800 1 EEST}
- {2929215600 7200 0 EET}
- {2941920000 10800 1 EEST}
- {2960665200 7200 0 EET}
- {2973974400 10800 1 EEST}
- {2992114800 7200 0 EET}
- {3005424000 10800 1 EEST}
- {3023564400 7200 0 EET}
- {3036873600 10800 1 EEST}
- {3055618800 7200 0 EET}
- {3068323200 10800 1 EEST}
- {3087068400 7200 0 EET}
- {3099772800 10800 1 EEST}
- {3117913200 7200 0 EET}
- {3131827200 10800 1 EEST}
- {3148758000 7200 0 EET}
- {3163276800 10800 1 EEST}
- {3179602800 7200 0 EET}
- {3194726400 10800 1 EEST}
- {3209842800 7200 0 EET}
- {3226176000 10800 1 EEST}
- {3240687600 7200 0 EET}
- {3244320000 10800 1 EEST}
- {3244921200 7200 0 EET}
- {3257625600 10800 1 EEST}
- {3271532400 7200 0 EET}
- {3275164800 10800 1 EEST}
- {3276370800 7200 0 EET}
- {3289075200 10800 1 EEST}
- {3301772400 7200 0 EET}
- {3306009600 10800 1 EEST}
- {3307820400 7200 0 EET}
- {3321129600 10800 1 EEST}
- {3332617200 7200 0 EET}
- {3336249600 10800 1 EEST}
- {3339270000 7200 0 EET}
- {3352579200 10800 1 EEST}
- {3362857200 7200 0 EET}
- {3367094400 10800 1 EEST}
- {3370719600 7200 0 EET}
- {3384028800 10800 1 EEST}
- {3393702000 7200 0 EET}
- {3397939200 10800 1 EEST}
- {3402774000 7200 0 EET}
- {3415478400 10800 1 EEST}
- {3424546800 7200 0 EET}
- {3428179200 10800 1 EEST}
- {3434223600 7200 0 EET}
- {3446928000 10800 1 EEST}
- {3454786800 7200 0 EET}
- {3459024000 10800 1 EEST}
- {3465673200 7200 0 EET}
- {3478982400 10800 1 EEST}
- {3485631600 7200 0 EET}
- {3489264000 10800 1 EEST}
- {3497122800 7200 0 EET}
- {3510432000 10800 1 EEST}
- {3516476400 7200 0 EET}
- {3520108800 10800 1 EEST}
- {3528572400 7200 0 EET}
- {3541881600 10800 1 EEST}
- {3546716400 7200 0 EET}
- {3550953600 10800 1 EEST}
- {3560022000 7200 0 EET}
- {3573331200 10800 1 EEST}
- {3577561200 7200 0 EET}
- {3581193600 10800 1 EEST}
- {3592076400 7200 0 EET}
- {3604780800 10800 1 EEST}
- {3607801200 7200 0 EET}
- {3612038400 10800 1 EEST}
- {3623526000 7200 0 EET}
- {3636230400 10800 1 EEST}
- {3638646000 7200 0 EET}
- {3642883200 10800 1 EEST}
- {3654975600 7200 0 EET}
- {3668284800 10800 1 EEST}
- {3669490800 7200 0 EET}
- {3673123200 10800 1 EEST}
- {3686425200 7200 0 EET}
- {3699734400 10800 1 EEST}
- {3717874800 7200 0 EET}
- {3731184000 10800 1 EEST}
- {3749929200 7200 0 EET}
- {3762633600 10800 1 EEST}
- {3781378800 7200 0 EET}
- {3794083200 10800 1 EEST}
- {3812828400 7200 0 EET}
- {3825532800 10800 1 EEST}
- {3844278000 7200 0 EET}
- {3857587200 10800 1 EEST}
- {3875727600 7200 0 EET}
- {3889036800 10800 1 EEST}
- {3907177200 7200 0 EET}
- {3920486400 10800 1 EEST}
- {3939231600 7200 0 EET}
- {3951936000 10800 1 EEST}
- {3970681200 7200 0 EET}
- {3983385600 10800 1 EEST}
- {4002130800 7200 0 EET}
- {4015440000 10800 1 EEST}
- {4033580400 7200 0 EET}
- {4046889600 10800 1 EEST}
- {4065030000 7200 0 EET}
- {4078339200 10800 1 EEST}
- {4096479600 7200 0 EET}
+ {1634850000 7200 0 EET}
+ {1648245600 10800 1 EEST}
+ {1666299600 7200 0 EET}
+ {1680300000 10800 1 EEST}
+ {1698354000 7200 0 EET}
+ {1711749600 10800 1 EEST}
+ {1729803600 7200 0 EET}
+ {1743199200 10800 1 EEST}
+ {1761253200 7200 0 EET}
+ {1774648800 10800 1 EEST}
+ {1792702800 7200 0 EET}
+ {1806098400 10800 1 EEST}
+ {1824152400 7200 0 EET}
+ {1838152800 10800 1 EEST}
+ {1856206800 7200 0 EET}
+ {1869602400 10800 1 EEST}
+ {1887656400 7200 0 EET}
+ {1901052000 10800 1 EEST}
+ {1919106000 7200 0 EET}
+ {1932501600 10800 1 EEST}
+ {1950555600 7200 0 EET}
+ {1963951200 10800 1 EEST}
+ {1982005200 7200 0 EET}
+ {1995400800 10800 1 EEST}
+ {2013454800 7200 0 EET}
+ {2027455200 10800 1 EEST}
+ {2045509200 7200 0 EET}
+ {2058904800 10800 1 EEST}
+ {2076958800 7200 0 EET}
+ {2090354400 10800 1 EEST}
+ {2108408400 7200 0 EET}
+ {2121804000 10800 1 EEST}
+ {2139858000 7200 0 EET}
+ {2153253600 10800 1 EEST}
+ {2171307600 7200 0 EET}
+ {2184703200 10800 1 EEST}
+ {2202757200 7200 0 EET}
+ {2216757600 10800 1 EEST}
+ {2234811600 7200 0 EET}
+ {2248207200 10800 1 EEST}
+ {2266261200 7200 0 EET}
+ {2279656800 10800 1 EEST}
+ {2297710800 7200 0 EET}
+ {2311106400 10800 1 EEST}
+ {2329160400 7200 0 EET}
+ {2342556000 10800 1 EEST}
+ {2360610000 7200 0 EET}
+ {2374610400 10800 1 EEST}
+ {2392664400 7200 0 EET}
+ {2406060000 10800 1 EEST}
+ {2424114000 7200 0 EET}
+ {2437509600 10800 1 EEST}
+ {2455563600 7200 0 EET}
+ {2468959200 10800 1 EEST}
+ {2487013200 7200 0 EET}
+ {2500408800 10800 1 EEST}
+ {2518462800 7200 0 EET}
+ {2531858400 10800 1 EEST}
+ {2549912400 7200 0 EET}
+ {2563912800 10800 1 EEST}
+ {2581966800 7200 0 EET}
+ {2595362400 10800 1 EEST}
+ {2613416400 7200 0 EET}
+ {2626812000 10800 1 EEST}
+ {2644866000 7200 0 EET}
+ {2658261600 10800 1 EEST}
+ {2676315600 7200 0 EET}
+ {2689711200 10800 1 EEST}
+ {2707765200 7200 0 EET}
+ {2721765600 10800 1 EEST}
+ {2739819600 7200 0 EET}
+ {2753215200 10800 1 EEST}
+ {2771269200 7200 0 EET}
+ {2784664800 10800 1 EEST}
+ {2802718800 7200 0 EET}
+ {2816114400 10800 1 EEST}
+ {2834168400 7200 0 EET}
+ {2847564000 10800 1 EEST}
+ {2865618000 7200 0 EET}
+ {2879013600 10800 1 EEST}
+ {2897067600 7200 0 EET}
+ {2911068000 10800 1 EEST}
+ {2929122000 7200 0 EET}
+ {2942517600 10800 1 EEST}
+ {2960571600 7200 0 EET}
+ {2973967200 10800 1 EEST}
+ {2992021200 7200 0 EET}
+ {3005416800 10800 1 EEST}
+ {3023470800 7200 0 EET}
+ {3036866400 10800 1 EEST}
+ {3054920400 7200 0 EET}
+ {3068316000 10800 1 EEST}
+ {3086370000 7200 0 EET}
+ {3100370400 10800 1 EEST}
+ {3118424400 7200 0 EET}
+ {3131820000 10800 1 EEST}
+ {3149874000 7200 0 EET}
+ {3163269600 10800 1 EEST}
+ {3181323600 7200 0 EET}
+ {3194719200 10800 1 EEST}
+ {3212773200 7200 0 EET}
+ {3226168800 10800 1 EEST}
+ {3244222800 7200 0 EET}
+ {3258223200 10800 1 EEST}
+ {3276277200 7200 0 EET}
+ {3289672800 10800 1 EEST}
+ {3307726800 7200 0 EET}
+ {3321122400 10800 1 EEST}
+ {3339176400 7200 0 EET}
+ {3352572000 10800 1 EEST}
+ {3370626000 7200 0 EET}
+ {3384021600 10800 1 EEST}
+ {3402075600 7200 0 EET}
+ {3415471200 10800 1 EEST}
+ {3433525200 7200 0 EET}
+ {3447525600 10800 1 EEST}
+ {3465579600 7200 0 EET}
+ {3478975200 10800 1 EEST}
+ {3497029200 7200 0 EET}
+ {3510424800 10800 1 EEST}
+ {3528478800 7200 0 EET}
+ {3541874400 10800 1 EEST}
+ {3559928400 7200 0 EET}
+ {3573324000 10800 1 EEST}
+ {3591378000 7200 0 EET}
+ {3605378400 10800 1 EEST}
+ {3623432400 7200 0 EET}
+ {3636828000 10800 1 EEST}
+ {3654882000 7200 0 EET}
+ {3668277600 10800 1 EEST}
+ {3686331600 7200 0 EET}
+ {3699727200 10800 1 EEST}
+ {3717781200 7200 0 EET}
+ {3731176800 10800 1 EEST}
+ {3749230800 7200 0 EET}
+ {3762626400 10800 1 EEST}
+ {3780680400 7200 0 EET}
+ {3794680800 10800 1 EEST}
+ {3812734800 7200 0 EET}
+ {3826130400 10800 1 EEST}
+ {3844184400 7200 0 EET}
+ {3857580000 10800 1 EEST}
+ {3875634000 7200 0 EET}
+ {3889029600 10800 1 EEST}
+ {3907083600 7200 0 EET}
+ {3920479200 10800 1 EEST}
+ {3938533200 7200 0 EET}
+ {3951928800 10800 1 EEST}
+ {3969982800 7200 0 EET}
+ {3983983200 10800 1 EEST}
+ {4002037200 7200 0 EET}
+ {4015432800 10800 1 EEST}
+ {4033486800 7200 0 EET}
+ {4046882400 10800 1 EEST}
+ {4064936400 7200 0 EET}
+ {4078332000 10800 1 EEST}
+ {4096386000 7200 0 EET}
}
diff --git a/library/tzdata/Asia/Ho_Chi_Minh b/library/tzdata/Asia/Ho_Chi_Minh
index b42f28b..9da89f4 100644
--- a/library/tzdata/Asia/Ho_Chi_Minh
+++ b/library/tzdata/Asia/Ho_Chi_Minh
@@ -1,14 +1,14 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Ho_Chi_Minh) {
- {-9223372036854775808 25590 0 LMT}
- {-2004073590 25590 0 PLMT}
- {-1851577590 25200 0 +07}
- {-852105600 28800 0 +08}
- {-782643600 32400 0 +09}
- {-767869200 25200 0 +07}
- {-718095600 28800 0 +08}
- {-457772400 25200 0 +07}
- {-315648000 28800 0 +08}
- {171820800 25200 0 +07}
+ {-9223372036854775808 25600 0 LMT}
+ {-2004073600 25590 0 PLMT}
+ {-1851577590 25200 0 ICT}
+ {-852105600 28800 0 IDT}
+ {-782643600 32400 0 JST}
+ {-767869200 25200 0 ICT}
+ {-718095600 28800 0 IDT}
+ {-457776000 25200 0 ICT}
+ {-315648000 28800 0 IDT}
+ {171820800 25200 0 ICT}
}
diff --git a/library/tzdata/Asia/Hong_Kong b/library/tzdata/Asia/Hong_Kong
index 8f5ed2c..fcf98a6 100644
--- a/library/tzdata/Asia/Hong_Kong
+++ b/library/tzdata/Asia/Hong_Kong
@@ -2,25 +2,25 @@
set TZData(:Asia/Hong_Kong) {
{-9223372036854775808 27402 0 LMT}
- {-2056690800 28800 0 HKT}
- {-900910800 32400 1 HKST}
- {-891579600 30600 1 HKWT}
- {-884248200 32400 0 JST}
- {-761209200 28800 0 HKT}
- {-747907200 32400 1 HKST}
- {-728541000 28800 0 HKT}
+ {-2056693002 28800 0 HKT}
+ {-907389000 32400 1 HKST}
+ {-891667800 28800 0 HKT}
+ {-884246400 32400 0 JST}
+ {-766746000 28800 0 HKT}
+ {-747981000 32400 1 HKST}
+ {-728544600 28800 0 HKT}
{-717049800 32400 1 HKST}
- {-697091400 28800 0 HKT}
+ {-694503000 28800 0 HKT}
{-683785800 32400 1 HKST}
- {-668061000 28800 0 HKT}
+ {-668064600 28800 0 HKT}
{-654755400 32400 1 HKST}
- {-636611400 28800 0 HKT}
+ {-636615000 28800 0 HKT}
{-623305800 32400 1 HKST}
- {-605161800 28800 0 HKT}
+ {-605165400 28800 0 HKT}
{-591856200 32400 1 HKST}
- {-573712200 28800 0 HKT}
+ {-573715800 28800 0 HKT}
{-559801800 32400 1 HKST}
- {-541657800 28800 0 HKT}
+ {-542352600 28800 0 HKT}
{-528352200 32400 1 HKST}
{-510211800 28800 0 HKT}
{-498112200 32400 1 HKST}
diff --git a/library/tzdata/Asia/Hovd b/library/tzdata/Asia/Hovd
index 9b14d5b..3d200a6 100644
--- a/library/tzdata/Asia/Hovd
+++ b/library/tzdata/Asia/Hovd
@@ -2,54 +2,220 @@
set TZData(:Asia/Hovd) {
{-9223372036854775808 21996 0 LMT}
- {-2032927596 21600 0 +06}
- {252439200 25200 0 +07}
- {417978000 28800 1 +07}
- {433785600 25200 0 +07}
- {449600400 28800 1 +07}
- {465321600 25200 0 +07}
- {481050000 28800 1 +07}
- {496771200 25200 0 +07}
- {512499600 28800 1 +07}
- {528220800 25200 0 +07}
- {543949200 28800 1 +07}
- {559670400 25200 0 +07}
- {575398800 28800 1 +07}
- {591120000 25200 0 +07}
- {606848400 28800 1 +07}
- {622569600 25200 0 +07}
- {638298000 28800 1 +07}
- {654624000 25200 0 +07}
- {670352400 28800 1 +07}
- {686073600 25200 0 +07}
- {701802000 28800 1 +07}
- {717523200 25200 0 +07}
- {733251600 28800 1 +07}
- {748972800 25200 0 +07}
- {764701200 28800 1 +07}
- {780422400 25200 0 +07}
- {796150800 28800 1 +07}
- {811872000 25200 0 +07}
- {828205200 28800 1 +07}
- {843926400 25200 0 +07}
- {859654800 28800 1 +07}
- {875376000 25200 0 +07}
- {891104400 28800 1 +07}
- {906825600 25200 0 +07}
- {988398000 28800 1 +07}
- {1001700000 25200 0 +07}
- {1017428400 28800 1 +07}
- {1033149600 25200 0 +07}
- {1048878000 28800 1 +07}
- {1064599200 25200 0 +07}
- {1080327600 28800 1 +07}
- {1096048800 25200 0 +07}
- {1111777200 28800 1 +07}
- {1127498400 25200 0 +07}
- {1143226800 28800 1 +07}
- {1159552800 25200 0 +07}
- {1427482800 28800 1 +07}
- {1443196800 25200 0 +07}
- {1458932400 28800 1 +07}
- {1474646400 25200 0 +07}
+ {-2032927596 21600 0 HOVT}
+ {252439200 25200 0 HOVT}
+ {417978000 28800 1 HOVST}
+ {433785600 25200 0 HOVT}
+ {449600400 28800 1 HOVST}
+ {465321600 25200 0 HOVT}
+ {481050000 28800 1 HOVST}
+ {496771200 25200 0 HOVT}
+ {512499600 28800 1 HOVST}
+ {528220800 25200 0 HOVT}
+ {543949200 28800 1 HOVST}
+ {559670400 25200 0 HOVT}
+ {575398800 28800 1 HOVST}
+ {591120000 25200 0 HOVT}
+ {606848400 28800 1 HOVST}
+ {622569600 25200 0 HOVT}
+ {638298000 28800 1 HOVST}
+ {654624000 25200 0 HOVT}
+ {670352400 28800 1 HOVST}
+ {686073600 25200 0 HOVT}
+ {701802000 28800 1 HOVST}
+ {717523200 25200 0 HOVT}
+ {733251600 28800 1 HOVST}
+ {748972800 25200 0 HOVT}
+ {764701200 28800 1 HOVST}
+ {780422400 25200 0 HOVT}
+ {796150800 28800 1 HOVST}
+ {811872000 25200 0 HOVT}
+ {828205200 28800 1 HOVST}
+ {843926400 25200 0 HOVT}
+ {859654800 28800 1 HOVST}
+ {875376000 25200 0 HOVT}
+ {891104400 28800 1 HOVST}
+ {906825600 25200 0 HOVT}
+ {988398000 28800 1 HOVST}
+ {1001700000 25200 0 HOVT}
+ {1017428400 28800 1 HOVST}
+ {1033149600 25200 0 HOVT}
+ {1048878000 28800 1 HOVST}
+ {1064599200 25200 0 HOVT}
+ {1080327600 28800 1 HOVST}
+ {1096048800 25200 0 HOVT}
+ {1111777200 28800 1 HOVST}
+ {1127498400 25200 0 HOVT}
+ {1143226800 28800 1 HOVST}
+ {1159552800 25200 0 HOVT}
+ {1427482800 28800 1 HOVST}
+ {1443196800 25200 0 HOVT}
+ {1458932400 28800 1 HOVST}
+ {1474646400 25200 0 HOVT}
+ {1490382000 28800 1 HOVST}
+ {1506700800 25200 0 HOVT}
+ {1522436400 28800 1 HOVST}
+ {1538150400 25200 0 HOVT}
+ {1553886000 28800 1 HOVST}
+ {1569600000 25200 0 HOVT}
+ {1585335600 28800 1 HOVST}
+ {1601049600 25200 0 HOVT}
+ {1616785200 28800 1 HOVST}
+ {1632499200 25200 0 HOVT}
+ {1648234800 28800 1 HOVST}
+ {1663948800 25200 0 HOVT}
+ {1679684400 28800 1 HOVST}
+ {1696003200 25200 0 HOVT}
+ {1711738800 28800 1 HOVST}
+ {1727452800 25200 0 HOVT}
+ {1743188400 28800 1 HOVST}
+ {1758902400 25200 0 HOVT}
+ {1774638000 28800 1 HOVST}
+ {1790352000 25200 0 HOVT}
+ {1806087600 28800 1 HOVST}
+ {1821801600 25200 0 HOVT}
+ {1837537200 28800 1 HOVST}
+ {1853856000 25200 0 HOVT}
+ {1869591600 28800 1 HOVST}
+ {1885305600 25200 0 HOVT}
+ {1901041200 28800 1 HOVST}
+ {1916755200 25200 0 HOVT}
+ {1932490800 28800 1 HOVST}
+ {1948204800 25200 0 HOVT}
+ {1963940400 28800 1 HOVST}
+ {1979654400 25200 0 HOVT}
+ {1995390000 28800 1 HOVST}
+ {2011104000 25200 0 HOVT}
+ {2026839600 28800 1 HOVST}
+ {2043158400 25200 0 HOVT}
+ {2058894000 28800 1 HOVST}
+ {2074608000 25200 0 HOVT}
+ {2090343600 28800 1 HOVST}
+ {2106057600 25200 0 HOVT}
+ {2121793200 28800 1 HOVST}
+ {2137507200 25200 0 HOVT}
+ {2153242800 28800 1 HOVST}
+ {2168956800 25200 0 HOVT}
+ {2184692400 28800 1 HOVST}
+ {2200406400 25200 0 HOVT}
+ {2216746800 28800 1 HOVST}
+ {2232460800 25200 0 HOVT}
+ {2248196400 28800 1 HOVST}
+ {2263910400 25200 0 HOVT}
+ {2279646000 28800 1 HOVST}
+ {2295360000 25200 0 HOVT}
+ {2311095600 28800 1 HOVST}
+ {2326809600 25200 0 HOVT}
+ {2342545200 28800 1 HOVST}
+ {2358259200 25200 0 HOVT}
+ {2373994800 28800 1 HOVST}
+ {2390313600 25200 0 HOVT}
+ {2406049200 28800 1 HOVST}
+ {2421763200 25200 0 HOVT}
+ {2437498800 28800 1 HOVST}
+ {2453212800 25200 0 HOVT}
+ {2468948400 28800 1 HOVST}
+ {2484662400 25200 0 HOVT}
+ {2500398000 28800 1 HOVST}
+ {2516112000 25200 0 HOVT}
+ {2531847600 28800 1 HOVST}
+ {2547561600 25200 0 HOVT}
+ {2563297200 28800 1 HOVST}
+ {2579616000 25200 0 HOVT}
+ {2595351600 28800 1 HOVST}
+ {2611065600 25200 0 HOVT}
+ {2626801200 28800 1 HOVST}
+ {2642515200 25200 0 HOVT}
+ {2658250800 28800 1 HOVST}
+ {2673964800 25200 0 HOVT}
+ {2689700400 28800 1 HOVST}
+ {2705414400 25200 0 HOVT}
+ {2721150000 28800 1 HOVST}
+ {2737468800 25200 0 HOVT}
+ {2753204400 28800 1 HOVST}
+ {2768918400 25200 0 HOVT}
+ {2784654000 28800 1 HOVST}
+ {2800368000 25200 0 HOVT}
+ {2816103600 28800 1 HOVST}
+ {2831817600 25200 0 HOVT}
+ {2847553200 28800 1 HOVST}
+ {2863267200 25200 0 HOVT}
+ {2879002800 28800 1 HOVST}
+ {2894716800 25200 0 HOVT}
+ {2910452400 28800 1 HOVST}
+ {2926771200 25200 0 HOVT}
+ {2942506800 28800 1 HOVST}
+ {2958220800 25200 0 HOVT}
+ {2973956400 28800 1 HOVST}
+ {2989670400 25200 0 HOVT}
+ {3005406000 28800 1 HOVST}
+ {3021120000 25200 0 HOVT}
+ {3036855600 28800 1 HOVST}
+ {3052569600 25200 0 HOVT}
+ {3068305200 28800 1 HOVST}
+ {3084019200 25200 0 HOVT}
+ {3100359600 28800 1 HOVST}
+ {3116073600 25200 0 HOVT}
+ {3131809200 28800 1 HOVST}
+ {3147523200 25200 0 HOVT}
+ {3163258800 28800 1 HOVST}
+ {3178972800 25200 0 HOVT}
+ {3194708400 28800 1 HOVST}
+ {3210422400 25200 0 HOVT}
+ {3226158000 28800 1 HOVST}
+ {3241872000 25200 0 HOVT}
+ {3257607600 28800 1 HOVST}
+ {3273926400 25200 0 HOVT}
+ {3289662000 28800 1 HOVST}
+ {3305376000 25200 0 HOVT}
+ {3321111600 28800 1 HOVST}
+ {3336825600 25200 0 HOVT}
+ {3352561200 28800 1 HOVST}
+ {3368275200 25200 0 HOVT}
+ {3384010800 28800 1 HOVST}
+ {3399724800 25200 0 HOVT}
+ {3415460400 28800 1 HOVST}
+ {3431174400 25200 0 HOVT}
+ {3446910000 28800 1 HOVST}
+ {3463228800 25200 0 HOVT}
+ {3478964400 28800 1 HOVST}
+ {3494678400 25200 0 HOVT}
+ {3510414000 28800 1 HOVST}
+ {3526128000 25200 0 HOVT}
+ {3541863600 28800 1 HOVST}
+ {3557577600 25200 0 HOVT}
+ {3573313200 28800 1 HOVST}
+ {3589027200 25200 0 HOVT}
+ {3604762800 28800 1 HOVST}
+ {3621081600 25200 0 HOVT}
+ {3636817200 28800 1 HOVST}
+ {3652531200 25200 0 HOVT}
+ {3668266800 28800 1 HOVST}
+ {3683980800 25200 0 HOVT}
+ {3699716400 28800 1 HOVST}
+ {3715430400 25200 0 HOVT}
+ {3731166000 28800 1 HOVST}
+ {3746880000 25200 0 HOVT}
+ {3762615600 28800 1 HOVST}
+ {3778329600 25200 0 HOVT}
+ {3794065200 28800 1 HOVST}
+ {3810384000 25200 0 HOVT}
+ {3826119600 28800 1 HOVST}
+ {3841833600 25200 0 HOVT}
+ {3857569200 28800 1 HOVST}
+ {3873283200 25200 0 HOVT}
+ {3889018800 28800 1 HOVST}
+ {3904732800 25200 0 HOVT}
+ {3920468400 28800 1 HOVST}
+ {3936182400 25200 0 HOVT}
+ {3951918000 28800 1 HOVST}
+ {3967632000 25200 0 HOVT}
+ {3983972400 28800 1 HOVST}
+ {3999686400 25200 0 HOVT}
+ {4015422000 28800 1 HOVST}
+ {4031136000 25200 0 HOVT}
+ {4046871600 28800 1 HOVST}
+ {4062585600 25200 0 HOVT}
+ {4078321200 28800 1 HOVST}
+ {4094035200 25200 0 HOVT}
}
diff --git a/library/tzdata/Asia/Irkutsk b/library/tzdata/Asia/Irkutsk
index 9666969..08e5798 100644
--- a/library/tzdata/Asia/Irkutsk
+++ b/library/tzdata/Asia/Irkutsk
@@ -3,70 +3,70 @@
set TZData(:Asia/Irkutsk) {
{-9223372036854775808 25025 0 LMT}
{-2840165825 25025 0 IMT}
- {-1575874625 25200 0 +07}
- {-1247554800 28800 0 +09}
- {354902400 32400 1 +09}
- {370710000 28800 0 +08}
- {386438400 32400 1 +09}
- {402246000 28800 0 +08}
- {417974400 32400 1 +09}
- {433782000 28800 0 +08}
- {449596800 32400 1 +09}
- {465328800 28800 0 +08}
- {481053600 32400 1 +09}
- {496778400 28800 0 +08}
- {512503200 32400 1 +09}
- {528228000 28800 0 +08}
- {543952800 32400 1 +09}
- {559677600 28800 0 +08}
- {575402400 32400 1 +09}
- {591127200 28800 0 +08}
- {606852000 32400 1 +09}
- {622576800 28800 0 +08}
- {638301600 32400 1 +09}
- {654631200 28800 0 +08}
- {670356000 25200 0 +08}
- {670359600 28800 1 +08}
- {686084400 25200 0 +07}
- {695761200 28800 0 +09}
- {701805600 32400 1 +09}
- {717530400 28800 0 +08}
- {733255200 32400 1 +09}
- {748980000 28800 0 +08}
- {764704800 32400 1 +09}
- {780429600 28800 0 +08}
- {796154400 32400 1 +09}
- {811879200 28800 0 +08}
- {828208800 32400 1 +09}
- {846352800 28800 0 +08}
- {859658400 32400 1 +09}
- {877802400 28800 0 +08}
- {891108000 32400 1 +09}
- {909252000 28800 0 +08}
- {922557600 32400 1 +09}
- {941306400 28800 0 +08}
- {954007200 32400 1 +09}
- {972756000 28800 0 +08}
- {985456800 32400 1 +09}
- {1004205600 28800 0 +08}
- {1017511200 32400 1 +09}
- {1035655200 28800 0 +08}
- {1048960800 32400 1 +09}
- {1067104800 28800 0 +08}
- {1080410400 32400 1 +09}
- {1099159200 28800 0 +08}
- {1111860000 32400 1 +09}
- {1130608800 28800 0 +08}
- {1143309600 32400 1 +09}
- {1162058400 28800 0 +08}
- {1174759200 32400 1 +09}
- {1193508000 28800 0 +08}
- {1206813600 32400 1 +09}
- {1224957600 28800 0 +08}
- {1238263200 32400 1 +09}
- {1256407200 28800 0 +08}
- {1269712800 32400 1 +09}
- {1288461600 28800 0 +08}
- {1301162400 32400 0 +09}
- {1414256400 28800 0 +08}
+ {-1575874625 25200 0 IRKT}
+ {-1247554800 28800 0 IRKMMTT}
+ {354902400 32400 1 IRKST}
+ {370710000 28800 0 IRKT}
+ {386438400 32400 1 IRKST}
+ {402246000 28800 0 IRKT}
+ {417974400 32400 1 IRKST}
+ {433782000 28800 0 IRKT}
+ {449596800 32400 1 IRKST}
+ {465328800 28800 0 IRKT}
+ {481053600 32400 1 IRKST}
+ {496778400 28800 0 IRKT}
+ {512503200 32400 1 IRKST}
+ {528228000 28800 0 IRKT}
+ {543952800 32400 1 IRKST}
+ {559677600 28800 0 IRKT}
+ {575402400 32400 1 IRKST}
+ {591127200 28800 0 IRKT}
+ {606852000 32400 1 IRKST}
+ {622576800 28800 0 IRKT}
+ {638301600 32400 1 IRKST}
+ {654631200 28800 0 IRKT}
+ {670356000 25200 0 IRKMMTT}
+ {670359600 28800 1 IRKST}
+ {686084400 25200 0 IRKT}
+ {695761200 28800 0 IRKMMTT}
+ {701794800 32400 1 IRKST}
+ {717516000 28800 0 IRKT}
+ {733255200 32400 1 IRKST}
+ {748980000 28800 0 IRKT}
+ {764704800 32400 1 IRKST}
+ {780429600 28800 0 IRKT}
+ {796154400 32400 1 IRKST}
+ {811879200 28800 0 IRKT}
+ {828208800 32400 1 IRKST}
+ {846352800 28800 0 IRKT}
+ {859658400 32400 1 IRKST}
+ {877802400 28800 0 IRKT}
+ {891108000 32400 1 IRKST}
+ {909252000 28800 0 IRKT}
+ {922557600 32400 1 IRKST}
+ {941306400 28800 0 IRKT}
+ {954007200 32400 1 IRKST}
+ {972756000 28800 0 IRKT}
+ {985456800 32400 1 IRKST}
+ {1004205600 28800 0 IRKT}
+ {1017511200 32400 1 IRKST}
+ {1035655200 28800 0 IRKT}
+ {1048960800 32400 1 IRKST}
+ {1067104800 28800 0 IRKT}
+ {1080410400 32400 1 IRKST}
+ {1099159200 28800 0 IRKT}
+ {1111860000 32400 1 IRKST}
+ {1130608800 28800 0 IRKT}
+ {1143309600 32400 1 IRKST}
+ {1162058400 28800 0 IRKT}
+ {1174759200 32400 1 IRKST}
+ {1193508000 28800 0 IRKT}
+ {1206813600 32400 1 IRKST}
+ {1224957600 28800 0 IRKT}
+ {1238263200 32400 1 IRKST}
+ {1256407200 28800 0 IRKT}
+ {1269712800 32400 1 IRKST}
+ {1288461600 28800 0 IRKT}
+ {1301162400 32400 0 IRKT}
+ {1414256400 28800 0 IRKT}
}
diff --git a/library/tzdata/Asia/Jakarta b/library/tzdata/Asia/Jakarta
index 21da168..75cd659 100644
--- a/library/tzdata/Asia/Jakarta
+++ b/library/tzdata/Asia/Jakarta
@@ -3,11 +3,11 @@
set TZData(:Asia/Jakarta) {
{-9223372036854775808 25632 0 LMT}
{-3231299232 25632 0 BMT}
- {-1451719200 26400 0 +0720}
- {-1172906400 27000 0 +0730}
- {-876641400 32400 0 +09}
- {-766054800 27000 0 +0730}
- {-683883000 28800 0 +08}
- {-620812800 27000 0 +0730}
+ {-1451719200 26400 0 JAVT}
+ {-1172906400 27000 0 WIB}
+ {-876641400 32400 0 JST}
+ {-766054800 27000 0 WIB}
+ {-683883000 28800 0 WIB}
+ {-620812800 27000 0 WIB}
{-189415800 25200 0 WIB}
}
diff --git a/library/tzdata/Asia/Jayapura b/library/tzdata/Asia/Jayapura
index 1432488..f3a4c44 100644
--- a/library/tzdata/Asia/Jayapura
+++ b/library/tzdata/Asia/Jayapura
@@ -2,7 +2,7 @@
set TZData(:Asia/Jayapura) {
{-9223372036854775808 33768 0 LMT}
- {-1172913768 32400 0 +09}
- {-799491600 34200 0 +0930}
+ {-1172913768 32400 0 WIT}
+ {-799491600 34200 0 ACST}
{-189423000 32400 0 WIT}
}
diff --git a/library/tzdata/Asia/Jerusalem b/library/tzdata/Asia/Jerusalem
index 596deb3..2714963 100644
--- a/library/tzdata/Asia/Jerusalem
+++ b/library/tzdata/Asia/Jerusalem
@@ -4,49 +4,43 @@ set TZData(:Asia/Jerusalem) {
{-9223372036854775808 8454 0 LMT}
{-2840149254 8440 0 JMT}
{-1641003640 7200 0 IST}
- {-933638400 10800 1 IDT}
- {-923097600 7200 0 IST}
- {-919036800 10800 1 IDT}
- {-857347200 7200 0 IST}
+ {-933645600 10800 1 IDT}
+ {-857358000 7200 0 IST}
{-844300800 10800 1 IDT}
- {-825811200 7200 0 IST}
- {-812678400 10800 1 IDT}
- {-794188800 7200 0 IST}
- {-779846400 10800 1 IDT}
- {-762652800 7200 0 IST}
+ {-825822000 7200 0 IST}
+ {-812685600 10800 1 IDT}
+ {-794199600 7200 0 IST}
+ {-779853600 10800 1 IDT}
+ {-762656400 7200 0 IST}
{-748310400 10800 1 IDT}
- {-731116800 7200 0 IST}
- {-681955200 14400 1 IDDT}
- {-673228800 10800 1 IDT}
- {-667958400 7200 0 IST}
- {-652320000 10800 1 IDT}
- {-636422400 7200 0 IST}
- {-622080000 10800 1 IDT}
+ {-731127600 7200 0 IST}
+ {-681962400 14400 1 IDDT}
+ {-673243200 10800 1 IDT}
+ {-667962000 7200 0 IST}
+ {-652327200 10800 1 IDT}
+ {-636426000 7200 0 IST}
+ {-622087200 10800 1 IDT}
{-608947200 7200 0 IST}
- {-591840000 10800 1 IDT}
+ {-591847200 10800 1 IDT}
{-572486400 7200 0 IST}
{-558576000 10800 1 IDT}
{-542851200 7200 0 IST}
{-527731200 10800 1 IDT}
{-514425600 7200 0 IST}
- {-490838400 10800 1 IDT}
- {-482976000 7200 0 IST}
- {-459388800 10800 1 IDT}
- {-451526400 7200 0 IST}
- {-428544000 10800 1 IDT}
+ {-490845600 10800 1 IDT}
+ {-482986800 7200 0 IST}
+ {-459475200 10800 1 IDT}
+ {-451537200 7200 0 IST}
+ {-428551200 10800 1 IDT}
{-418262400 7200 0 IST}
- {-400118400 10800 1 IDT}
- {-387417600 7200 0 IST}
+ {-400032000 10800 1 IDT}
+ {-387428400 7200 0 IST}
{142380000 10800 1 IDT}
{150843600 7200 0 IST}
{167176800 10800 1 IDT}
{178664400 7200 0 IST}
- {334101600 10800 1 IDT}
- {337730400 7200 0 IST}
- {452642400 10800 1 IDT}
- {462319200 7200 0 IST}
{482277600 10800 1 IDT}
- {494370000 7200 0 IST}
+ {495579600 7200 0 IST}
{516751200 10800 1 IDT}
{526424400 7200 0 IST}
{545436000 10800 1 IDT}
diff --git a/library/tzdata/Asia/Kabul b/library/tzdata/Asia/Kabul
index 3613de4..33d7282 100644
--- a/library/tzdata/Asia/Kabul
+++ b/library/tzdata/Asia/Kabul
@@ -2,6 +2,6 @@
set TZData(:Asia/Kabul) {
{-9223372036854775808 16608 0 LMT}
- {-2524538208 14400 0 +04}
- {-788932800 16200 0 +0430}
+ {-2524538208 14400 0 AFT}
+ {-788932800 16200 0 AFT}
}
diff --git a/library/tzdata/Asia/Kamchatka b/library/tzdata/Asia/Kamchatka
index 818fc2d..82abcfa 100644
--- a/library/tzdata/Asia/Kamchatka
+++ b/library/tzdata/Asia/Kamchatka
@@ -2,70 +2,70 @@
set TZData(:Asia/Kamchatka) {
{-9223372036854775808 38076 0 LMT}
- {-1487759676 39600 0 +11}
- {-1247569200 43200 0 +13}
- {354888000 46800 1 +13}
- {370695600 43200 0 +12}
- {386424000 46800 1 +13}
- {402231600 43200 0 +12}
- {417960000 46800 1 +13}
- {433767600 43200 0 +12}
- {449582400 46800 1 +13}
- {465314400 43200 0 +12}
- {481039200 46800 1 +13}
- {496764000 43200 0 +12}
- {512488800 46800 1 +13}
- {528213600 43200 0 +12}
- {543938400 46800 1 +13}
- {559663200 43200 0 +12}
- {575388000 46800 1 +13}
- {591112800 43200 0 +12}
- {606837600 46800 1 +13}
- {622562400 43200 0 +12}
- {638287200 46800 1 +13}
- {654616800 43200 0 +12}
- {670341600 39600 0 +12}
- {670345200 43200 1 +12}
- {686070000 39600 0 +11}
- {695746800 43200 0 +13}
- {701791200 46800 1 +13}
- {717516000 43200 0 +12}
- {733240800 46800 1 +13}
- {748965600 43200 0 +12}
- {764690400 46800 1 +13}
- {780415200 43200 0 +12}
- {796140000 46800 1 +13}
- {811864800 43200 0 +12}
- {828194400 46800 1 +13}
- {846338400 43200 0 +12}
- {859644000 46800 1 +13}
- {877788000 43200 0 +12}
- {891093600 46800 1 +13}
- {909237600 43200 0 +12}
- {922543200 46800 1 +13}
- {941292000 43200 0 +12}
- {953992800 46800 1 +13}
- {972741600 43200 0 +12}
- {985442400 46800 1 +13}
- {1004191200 43200 0 +12}
- {1017496800 46800 1 +13}
- {1035640800 43200 0 +12}
- {1048946400 46800 1 +13}
- {1067090400 43200 0 +12}
- {1080396000 46800 1 +13}
- {1099144800 43200 0 +12}
- {1111845600 46800 1 +13}
- {1130594400 43200 0 +12}
- {1143295200 46800 1 +13}
- {1162044000 43200 0 +12}
- {1174744800 46800 1 +13}
- {1193493600 43200 0 +12}
- {1206799200 46800 1 +13}
- {1224943200 43200 0 +12}
- {1238248800 46800 1 +13}
- {1256392800 43200 0 +12}
- {1269698400 39600 0 +12}
- {1269702000 43200 1 +12}
- {1288450800 39600 0 +11}
- {1301151600 43200 0 +12}
+ {-1487759676 39600 0 PETT}
+ {-1247569200 43200 0 PETMMTT}
+ {354888000 46800 1 PETST}
+ {370695600 43200 0 PETT}
+ {386424000 46800 1 PETST}
+ {402231600 43200 0 PETT}
+ {417960000 46800 1 PETST}
+ {433767600 43200 0 PETT}
+ {449582400 46800 1 PETST}
+ {465314400 43200 0 PETT}
+ {481039200 46800 1 PETST}
+ {496764000 43200 0 PETT}
+ {512488800 46800 1 PETST}
+ {528213600 43200 0 PETT}
+ {543938400 46800 1 PETST}
+ {559663200 43200 0 PETT}
+ {575388000 46800 1 PETST}
+ {591112800 43200 0 PETT}
+ {606837600 46800 1 PETST}
+ {622562400 43200 0 PETT}
+ {638287200 46800 1 PETST}
+ {654616800 43200 0 PETT}
+ {670341600 39600 0 PETMMTT}
+ {670345200 43200 1 PETST}
+ {686070000 39600 0 PETT}
+ {695746800 43200 0 PETMMTT}
+ {701780400 46800 1 PETST}
+ {717501600 43200 0 PETT}
+ {733240800 46800 1 PETST}
+ {748965600 43200 0 PETT}
+ {764690400 46800 1 PETST}
+ {780415200 43200 0 PETT}
+ {796140000 46800 1 PETST}
+ {811864800 43200 0 PETT}
+ {828194400 46800 1 PETST}
+ {846338400 43200 0 PETT}
+ {859644000 46800 1 PETST}
+ {877788000 43200 0 PETT}
+ {891093600 46800 1 PETST}
+ {909237600 43200 0 PETT}
+ {922543200 46800 1 PETST}
+ {941292000 43200 0 PETT}
+ {953992800 46800 1 PETST}
+ {972741600 43200 0 PETT}
+ {985442400 46800 1 PETST}
+ {1004191200 43200 0 PETT}
+ {1017496800 46800 1 PETST}
+ {1035640800 43200 0 PETT}
+ {1048946400 46800 1 PETST}
+ {1067090400 43200 0 PETT}
+ {1080396000 46800 1 PETST}
+ {1099144800 43200 0 PETT}
+ {1111845600 46800 1 PETST}
+ {1130594400 43200 0 PETT}
+ {1143295200 46800 1 PETST}
+ {1162044000 43200 0 PETT}
+ {1174744800 46800 1 PETST}
+ {1193493600 43200 0 PETT}
+ {1206799200 46800 1 PETST}
+ {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}
}
diff --git a/library/tzdata/Asia/Karachi b/library/tzdata/Asia/Karachi
index 1d81926..3faa31e 100644
--- a/library/tzdata/Asia/Karachi
+++ b/library/tzdata/Asia/Karachi
@@ -2,13 +2,13 @@
set TZData(:Asia/Karachi) {
{-9223372036854775808 16092 0 LMT}
- {-1988166492 19800 0 +0530}
- {-862637400 23400 1 +0630}
- {-764145000 19800 0 +0530}
- {-576135000 18000 0 +05}
+ {-1988166492 19800 0 IST}
+ {-862637400 23400 1 IST}
+ {-764145000 19800 0 IST}
+ {-576135000 18000 0 KART}
{38775600 18000 0 PKT}
- {1018119600 21600 1 PKST}
- {1033840800 18000 0 PKT}
+ {1018119660 21600 1 PKST}
+ {1033840860 18000 0 PKT}
{1212260400 21600 1 PKST}
{1225476000 18000 0 PKT}
{1239735600 21600 1 PKST}
diff --git a/library/tzdata/Asia/Kathmandu b/library/tzdata/Asia/Kathmandu
index f88a5a2..dbec1f0 100644
--- a/library/tzdata/Asia/Kathmandu
+++ b/library/tzdata/Asia/Kathmandu
@@ -2,6 +2,6 @@
set TZData(:Asia/Kathmandu) {
{-9223372036854775808 20476 0 LMT}
- {-1577943676 19800 0 +0530}
- {504901800 20700 0 +0545}
+ {-1577943676 19800 0 IST}
+ {504901800 20700 0 NPT}
}
diff --git a/library/tzdata/Asia/Khandyga b/library/tzdata/Asia/Khandyga
index 07bffac..b2dc97a 100644
--- a/library/tzdata/Asia/Khandyga
+++ b/library/tzdata/Asia/Khandyga
@@ -2,72 +2,72 @@
set TZData(:Asia/Khandyga) {
{-9223372036854775808 32533 0 LMT}
- {-1579424533 28800 0 +08}
- {-1247558400 32400 0 +10}
- {354898800 36000 1 +10}
- {370706400 32400 0 +09}
- {386434800 36000 1 +10}
- {402242400 32400 0 +09}
- {417970800 36000 1 +10}
- {433778400 32400 0 +09}
- {449593200 36000 1 +10}
- {465325200 32400 0 +09}
- {481050000 36000 1 +10}
- {496774800 32400 0 +09}
- {512499600 36000 1 +10}
- {528224400 32400 0 +09}
- {543949200 36000 1 +10}
- {559674000 32400 0 +09}
- {575398800 36000 1 +10}
- {591123600 32400 0 +09}
- {606848400 36000 1 +10}
- {622573200 32400 0 +09}
- {638298000 36000 1 +10}
- {654627600 32400 0 +09}
- {670352400 28800 0 +09}
- {670356000 32400 1 +09}
- {686080800 28800 0 +08}
- {695757600 32400 0 +10}
- {701802000 36000 1 +10}
- {717526800 32400 0 +09}
- {733251600 36000 1 +10}
- {748976400 32400 0 +09}
- {764701200 36000 1 +10}
- {780426000 32400 0 +09}
- {796150800 36000 1 +10}
- {811875600 32400 0 +09}
- {828205200 36000 1 +10}
- {846349200 32400 0 +09}
- {859654800 36000 1 +10}
- {877798800 32400 0 +09}
- {891104400 36000 1 +10}
- {909248400 32400 0 +09}
- {922554000 36000 1 +10}
- {941302800 32400 0 +09}
- {954003600 36000 1 +10}
- {972752400 32400 0 +09}
- {985453200 36000 1 +10}
- {1004202000 32400 0 +09}
- {1017507600 36000 1 +10}
- {1035651600 32400 0 +09}
- {1048957200 36000 1 +10}
- {1067101200 32400 0 +09}
- {1072882800 36000 0 +11}
- {1080403200 39600 1 +11}
- {1099152000 36000 0 +10}
- {1111852800 39600 1 +11}
- {1130601600 36000 0 +10}
- {1143302400 39600 1 +11}
- {1162051200 36000 0 +10}
- {1174752000 39600 1 +11}
- {1193500800 36000 0 +10}
- {1206806400 39600 1 +11}
- {1224950400 36000 0 +10}
- {1238256000 39600 1 +11}
- {1256400000 36000 0 +10}
- {1269705600 39600 1 +11}
- {1288454400 36000 0 +10}
- {1301155200 39600 0 +11}
- {1315832400 36000 0 +10}
- {1414252800 32400 0 +09}
+ {-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}
+ {1414252800 32400 0 YAKT}
}
diff --git a/library/tzdata/Asia/Kolkata b/library/tzdata/Asia/Kolkata
index b78f8cd..a87bf31 100644
--- a/library/tzdata/Asia/Kolkata
+++ b/library/tzdata/Asia/Kolkata
@@ -2,11 +2,9 @@
set TZData(:Asia/Kolkata) {
{-9223372036854775808 21208 0 LMT}
- {-3645237208 21200 0 HMT}
- {-3155694800 19270 0 MMT}
- {-2019705670 19800 0 IST}
- {-891581400 23400 1 +0630}
+ {-2840162008 21200 0 HMT}
+ {-891582800 23400 0 BURT}
{-872058600 19800 0 IST}
- {-862637400 23400 1 +0630}
+ {-862637400 23400 1 IST}
{-764145000 19800 0 IST}
}
diff --git a/library/tzdata/Asia/Krasnoyarsk b/library/tzdata/Asia/Krasnoyarsk
index 0721425..17ea6c0 100644
--- a/library/tzdata/Asia/Krasnoyarsk
+++ b/library/tzdata/Asia/Krasnoyarsk
@@ -2,70 +2,70 @@
set TZData(:Asia/Krasnoyarsk) {
{-9223372036854775808 22286 0 LMT}
- {-1577513486 21600 0 +06}
- {-1247551200 25200 0 +08}
- {354906000 28800 1 +08}
- {370713600 25200 0 +07}
- {386442000 28800 1 +08}
- {402249600 25200 0 +07}
- {417978000 28800 1 +08}
- {433785600 25200 0 +07}
- {449600400 28800 1 +08}
- {465332400 25200 0 +07}
- {481057200 28800 1 +08}
- {496782000 25200 0 +07}
- {512506800 28800 1 +08}
- {528231600 25200 0 +07}
- {543956400 28800 1 +08}
- {559681200 25200 0 +07}
- {575406000 28800 1 +08}
- {591130800 25200 0 +07}
- {606855600 28800 1 +08}
- {622580400 25200 0 +07}
- {638305200 28800 1 +08}
- {654634800 25200 0 +07}
- {670359600 21600 0 +07}
- {670363200 25200 1 +07}
- {686088000 21600 0 +06}
- {695764800 25200 0 +08}
- {701809200 28800 1 +08}
- {717534000 25200 0 +07}
- {733258800 28800 1 +08}
- {748983600 25200 0 +07}
- {764708400 28800 1 +08}
- {780433200 25200 0 +07}
- {796158000 28800 1 +08}
- {811882800 25200 0 +07}
- {828212400 28800 1 +08}
- {846356400 25200 0 +07}
- {859662000 28800 1 +08}
- {877806000 25200 0 +07}
- {891111600 28800 1 +08}
- {909255600 25200 0 +07}
- {922561200 28800 1 +08}
- {941310000 25200 0 +07}
- {954010800 28800 1 +08}
- {972759600 25200 0 +07}
- {985460400 28800 1 +08}
- {1004209200 25200 0 +07}
- {1017514800 28800 1 +08}
- {1035658800 25200 0 +07}
- {1048964400 28800 1 +08}
- {1067108400 25200 0 +07}
- {1080414000 28800 1 +08}
- {1099162800 25200 0 +07}
- {1111863600 28800 1 +08}
- {1130612400 25200 0 +07}
- {1143313200 28800 1 +08}
- {1162062000 25200 0 +07}
- {1174762800 28800 1 +08}
- {1193511600 25200 0 +07}
- {1206817200 28800 1 +08}
- {1224961200 25200 0 +07}
- {1238266800 28800 1 +08}
- {1256410800 25200 0 +07}
- {1269716400 28800 1 +08}
- {1288465200 25200 0 +07}
- {1301166000 28800 0 +08}
- {1414260000 25200 0 +07}
+ {-1577513486 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 28800 1 KRAST}
+ {1288465200 25200 0 KRAT}
+ {1301166000 28800 0 KRAT}
+ {1414260000 25200 0 KRAT}
}
diff --git a/library/tzdata/Asia/Kuala_Lumpur b/library/tzdata/Asia/Kuala_Lumpur
index 177539a..7a54bd6 100644
--- a/library/tzdata/Asia/Kuala_Lumpur
+++ b/library/tzdata/Asia/Kuala_Lumpur
@@ -1,5 +1,13 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Asia/Singapore)]} {
- LoadTimeZoneFile Asia/Singapore
+
+set TZData(:Asia/Kuala_Lumpur) {
+ {-9223372036854775808 24406 0 LMT}
+ {-2177477206 24925 0 SMT}
+ {-2038200925 25200 0 MALT}
+ {-1167634800 26400 1 MALST}
+ {-1073028000 26400 0 MALT}
+ {-894180000 27000 0 MALT}
+ {-879665400 32400 0 JST}
+ {-767005200 27000 0 MALT}
+ {378664200 28800 0 MYT}
}
-set TZData(:Asia/Kuala_Lumpur) $TZData(:Asia/Singapore)
diff --git a/library/tzdata/Asia/Kuching b/library/tzdata/Asia/Kuching
index e5dc1b7..0f9110c 100644
--- a/library/tzdata/Asia/Kuching
+++ b/library/tzdata/Asia/Kuching
@@ -2,22 +2,23 @@
set TZData(:Asia/Kuching) {
{-9223372036854775808 26480 0 LMT}
- {-1383463280 27000 0 +0730}
- {-1167636600 28800 0 +08}
- {-1082448000 30000 1 +08}
- {-1074586800 28800 0 +08}
- {-1050825600 30000 1 +08}
- {-1042964400 28800 0 +08}
- {-1019289600 30000 1 +08}
- {-1011428400 28800 0 +08}
- {-987753600 30000 1 +08}
- {-979892400 28800 0 +08}
- {-956217600 30000 1 +08}
- {-948356400 28800 0 +08}
- {-924595200 30000 1 +08}
- {-916734000 28800 0 +08}
- {-893059200 30000 1 +08}
- {-885198000 28800 0 +08}
- {-879667200 32400 0 +09}
- {-767005200 28800 0 +08}
+ {-1383463280 27000 0 BORT}
+ {-1167636600 28800 0 BORT}
+ {-1082448000 30000 1 BORTST}
+ {-1074586800 28800 0 BORT}
+ {-1050825600 30000 1 BORTST}
+ {-1042964400 28800 0 BORT}
+ {-1019289600 30000 1 BORTST}
+ {-1011428400 28800 0 BORT}
+ {-987753600 30000 1 BORTST}
+ {-979892400 28800 0 BORT}
+ {-956217600 30000 1 BORTST}
+ {-948356400 28800 0 BORT}
+ {-924595200 30000 1 BORTST}
+ {-916734000 28800 0 BORT}
+ {-893059200 30000 1 BORTST}
+ {-885198000 28800 0 BORT}
+ {-879667200 32400 0 JST}
+ {-767005200 28800 0 BORT}
+ {378662400 28800 0 MYT}
}
diff --git a/library/tzdata/Asia/Macau b/library/tzdata/Asia/Macau
index cbafd0e..9d4abfe 100644
--- a/library/tzdata/Asia/Macau
+++ b/library/tzdata/Asia/Macau
@@ -1,76 +1,46 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Asia/Macau) {
- {-9223372036854775808 27250 0 LMT}
- {-2056692850 28800 0 CST}
- {-884509200 32400 0 +09}
- {-873280800 36000 1 +09}
- {-855918000 32400 0 +09}
- {-841744800 36000 1 +09}
- {-828529200 32400 0 +10}
- {-765363600 28800 0 CT}
- {-747046800 32400 1 CDT}
- {-733827600 28800 0 CST}
- {-716461200 32400 1 CDT}
- {-697021200 28800 0 CST}
- {-683715600 32400 1 CDT}
- {-667990800 28800 0 CST}
- {-654771600 32400 1 CDT}
- {-636627600 28800 0 CST}
- {-623322000 32400 1 CDT}
- {-605178000 28800 0 CST}
- {-591872400 32400 1 CDT}
- {-573642000 28800 0 CST}
- {-559818000 32400 1 CDT}
- {-541674000 28800 0 CST}
- {-528368400 32400 1 CDT}
- {-510224400 28800 0 CST}
- {-498128400 32400 1 CDT}
- {-478774800 28800 0 CST}
- {-466678800 32400 1 CDT}
- {-446720400 28800 0 CST}
- {-435229200 32400 1 CDT}
- {-415258200 28800 0 CST}
- {-403158600 32400 1 CDT}
- {-383808600 28800 0 CST}
- {-371709000 32400 1 CDT}
- {-352359000 28800 0 CST}
- {-340259400 32400 1 CDT}
- {-320909400 28800 0 CST}
- {-308809800 32400 1 CDT}
- {-288855000 28800 0 CST}
- {-277360200 32400 1 CDT}
- {-257405400 28800 0 CST}
- {-245910600 32400 1 CDT}
- {-225955800 28800 0 CST}
- {-213856200 32400 1 CDT}
- {-194506200 28800 0 CST}
- {-182406600 32400 1 CDT}
- {-163056600 28800 0 CST}
- {-148537800 32400 1 CDT}
- {-132820200 28800 0 CST}
- {-117088200 32400 1 CDT}
- {-101370600 28800 0 CST}
- {-85638600 32400 1 CDT}
- {-69312600 28800 0 CST}
- {-53584200 32400 1 CDT}
- {-37863000 28800 0 CST}
- {-22134600 32400 1 CDT}
- {-6413400 28800 0 CST}
- {9315000 32400 1 CDT}
- {25036200 28800 0 CST}
- {40764600 32400 1 CDT}
- {56485800 28800 0 CST}
- {72214200 32400 1 CDT}
- {88540200 28800 0 CST}
- {104268600 32400 1 CDT}
- {119989800 28800 0 CST}
- {126041400 32400 1 CDT}
- {151439400 28800 0 CST}
- {167167800 32400 1 CDT}
- {182889000 28800 0 CST}
- {198617400 32400 1 CDT}
- {214338600 28800 0 CST}
- {295385400 32400 1 CDT}
- {309292200 28800 0 CST}
+ {-9223372036854775808 27260 0 LMT}
+ {-1830411260 28800 0 MOT}
+ {-277360200 32400 1 MOST}
+ {-257405400 28800 0 MOT}
+ {-245910600 32400 1 MOST}
+ {-225955800 28800 0 MOT}
+ {-214473600 32400 1 MOST}
+ {-194506200 28800 0 MOT}
+ {-182406600 32400 1 MOST}
+ {-163056600 28800 0 MOT}
+ {-150969600 32400 1 MOST}
+ {-131619600 28800 0 MOT}
+ {-117088200 32400 1 MOST}
+ {-101367000 28800 0 MOT}
+ {-85638600 32400 1 MOST}
+ {-69312600 28800 0 MOT}
+ {-53584200 32400 1 MOST}
+ {-37863000 28800 0 MOT}
+ {-22134600 32400 1 MOST}
+ {-6413400 28800 0 MOT}
+ {9315000 32400 1 MOST}
+ {25036200 28800 0 MOT}
+ {40764600 32400 1 MOST}
+ {56485800 28800 0 MOT}
+ {72201600 32400 1 MOST}
+ {87922800 28800 0 MOT}
+ {103651200 32400 1 MOST}
+ {119977200 28800 0 MOT}
+ {135705600 32400 1 MOST}
+ {151439400 28800 0 MOT}
+ {167167800 32400 1 MOST}
+ {182889000 28800 0 MOT}
+ {198617400 32400 1 MOST}
+ {214338600 28800 0 MOT}
+ {230067000 32400 1 MOST}
+ {245788200 28800 0 MOT}
+ {261504000 32400 1 MOST}
+ {277225200 28800 0 MOT}
+ {292953600 32400 1 MOST}
+ {309279600 28800 0 MOT}
+ {325008000 32400 1 MOST}
+ {340729200 28800 0 MOT}
}
diff --git a/library/tzdata/Asia/Magadan b/library/tzdata/Asia/Magadan
index 0626899..bf796a7 100644
--- a/library/tzdata/Asia/Magadan
+++ b/library/tzdata/Asia/Magadan
@@ -2,71 +2,70 @@
set TZData(:Asia/Magadan) {
{-9223372036854775808 36192 0 LMT}
- {-1441188192 36000 0 +10}
- {-1247565600 39600 0 +12}
- {354891600 43200 1 +12}
- {370699200 39600 0 +11}
- {386427600 43200 1 +12}
- {402235200 39600 0 +11}
- {417963600 43200 1 +12}
- {433771200 39600 0 +11}
- {449586000 43200 1 +12}
- {465318000 39600 0 +11}
- {481042800 43200 1 +12}
- {496767600 39600 0 +11}
- {512492400 43200 1 +12}
- {528217200 39600 0 +11}
- {543942000 43200 1 +12}
- {559666800 39600 0 +11}
- {575391600 43200 1 +12}
- {591116400 39600 0 +11}
- {606841200 43200 1 +12}
- {622566000 39600 0 +11}
- {638290800 43200 1 +12}
- {654620400 39600 0 +11}
- {670345200 36000 0 +11}
- {670348800 39600 1 +11}
- {686073600 36000 0 +10}
- {695750400 39600 0 +12}
- {701794800 43200 1 +12}
- {717519600 39600 0 +11}
- {733244400 43200 1 +12}
- {748969200 39600 0 +11}
- {764694000 43200 1 +12}
- {780418800 39600 0 +11}
- {796143600 43200 1 +12}
- {811868400 39600 0 +11}
- {828198000 43200 1 +12}
- {846342000 39600 0 +11}
- {859647600 43200 1 +12}
- {877791600 39600 0 +11}
- {891097200 43200 1 +12}
- {909241200 39600 0 +11}
- {922546800 43200 1 +12}
- {941295600 39600 0 +11}
- {953996400 43200 1 +12}
- {972745200 39600 0 +11}
- {985446000 43200 1 +12}
- {1004194800 39600 0 +11}
- {1017500400 43200 1 +12}
- {1035644400 39600 0 +11}
- {1048950000 43200 1 +12}
- {1067094000 39600 0 +11}
- {1080399600 43200 1 +12}
- {1099148400 39600 0 +11}
- {1111849200 43200 1 +12}
- {1130598000 39600 0 +11}
- {1143298800 43200 1 +12}
- {1162047600 39600 0 +11}
- {1174748400 43200 1 +12}
- {1193497200 39600 0 +11}
- {1206802800 43200 1 +12}
- {1224946800 39600 0 +11}
- {1238252400 43200 1 +12}
- {1256396400 39600 0 +11}
- {1269702000 43200 1 +12}
- {1288450800 39600 0 +11}
- {1301151600 43200 0 +12}
- {1414245600 36000 0 +10}
- {1461427200 39600 0 +11}
+ {-1441188192 36000 0 MAGT}
+ {-1247565600 39600 0 MAGMMTT}
+ {354891600 43200 1 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}
+ {1414245600 36000 0 MAGT}
}
diff --git a/library/tzdata/Asia/Makassar b/library/tzdata/Asia/Makassar
index 1be5c59..be947f3 100644
--- a/library/tzdata/Asia/Makassar
+++ b/library/tzdata/Asia/Makassar
@@ -3,7 +3,7 @@
set TZData(:Asia/Makassar) {
{-9223372036854775808 28656 0 LMT}
{-1577951856 28656 0 MMT}
- {-1172908656 28800 0 +08}
- {-880272000 32400 0 +09}
+ {-1172908656 28800 0 WITA}
+ {-880272000 32400 0 JST}
{-766054800 28800 0 WITA}
}
diff --git a/library/tzdata/Asia/Manila b/library/tzdata/Asia/Manila
index 6eb1db3..9cc25e8 100644
--- a/library/tzdata/Asia/Manila
+++ b/library/tzdata/Asia/Manila
@@ -3,13 +3,13 @@
set TZData(:Asia/Manila) {
{-9223372036854775808 -57360 0 LMT}
{-3944621040 29040 0 LMT}
- {-2229321840 28800 0 PST}
- {-1046678400 32400 1 PDT}
- {-1038733200 28800 0 PST}
+ {-2229321840 28800 0 PHT}
+ {-1046678400 32400 1 PHST}
+ {-1038733200 28800 0 PHT}
{-873273600 32400 0 JST}
- {-794221200 28800 0 PST}
- {-496224000 32400 1 PDT}
- {-489315600 28800 0 PST}
- {259344000 32400 1 PDT}
- {275151600 28800 0 PST}
+ {-794221200 28800 0 PHT}
+ {-496224000 32400 1 PHST}
+ {-489315600 28800 0 PHT}
+ {259344000 32400 1 PHST}
+ {275151600 28800 0 PHT}
}
diff --git a/library/tzdata/Asia/Novokuznetsk b/library/tzdata/Asia/Novokuznetsk
index a43a984..ab3c2d5 100644
--- a/library/tzdata/Asia/Novokuznetsk
+++ b/library/tzdata/Asia/Novokuznetsk
@@ -2,70 +2,71 @@
set TZData(:Asia/Novokuznetsk) {
{-9223372036854775808 20928 0 LMT}
- {-1441259328 21600 0 +06}
- {-1247551200 25200 0 +08}
- {354906000 28800 1 +08}
- {370713600 25200 0 +07}
- {386442000 28800 1 +08}
- {402249600 25200 0 +07}
- {417978000 28800 1 +08}
- {433785600 25200 0 +07}
- {449600400 28800 1 +08}
- {465332400 25200 0 +07}
- {481057200 28800 1 +08}
- {496782000 25200 0 +07}
- {512506800 28800 1 +08}
- {528231600 25200 0 +07}
- {543956400 28800 1 +08}
- {559681200 25200 0 +07}
- {575406000 28800 1 +08}
- {591130800 25200 0 +07}
- {606855600 28800 1 +08}
- {622580400 25200 0 +07}
- {638305200 28800 1 +08}
- {654634800 25200 0 +07}
- {670359600 21600 0 +07}
- {670363200 25200 1 +07}
- {686088000 21600 0 +06}
- {695764800 25200 0 +08}
- {701809200 28800 1 +08}
- {717534000 25200 0 +07}
- {733258800 28800 1 +08}
- {748983600 25200 0 +07}
- {764708400 28800 1 +08}
- {780433200 25200 0 +07}
- {796158000 28800 1 +08}
- {811882800 25200 0 +07}
- {828212400 28800 1 +08}
- {846356400 25200 0 +07}
- {859662000 28800 1 +08}
- {877806000 25200 0 +07}
- {891111600 28800 1 +08}
- {909255600 25200 0 +07}
- {922561200 28800 1 +08}
- {941310000 25200 0 +07}
- {954010800 28800 1 +08}
- {972759600 25200 0 +07}
- {985460400 28800 1 +08}
- {1004209200 25200 0 +07}
- {1017514800 28800 1 +08}
- {1035658800 25200 0 +07}
- {1048964400 28800 1 +08}
- {1067108400 25200 0 +07}
- {1080414000 28800 1 +08}
- {1099162800 25200 0 +07}
- {1111863600 28800 1 +08}
- {1130612400 25200 0 +07}
- {1143313200 28800 1 +08}
- {1162062000 25200 0 +07}
- {1174762800 28800 1 +08}
- {1193511600 25200 0 +07}
- {1206817200 28800 1 +08}
- {1224961200 25200 0 +07}
- {1238266800 28800 1 +08}
- {1256410800 25200 0 +07}
- {1269716400 21600 0 +07}
- {1269720000 25200 1 +07}
- {1288468800 21600 0 +06}
- {1301169600 25200 0 +07}
+ {-1441259328 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}
+ {1414263600 25200 0 KRAT}
}
diff --git a/library/tzdata/Asia/Novosibirsk b/library/tzdata/Asia/Novosibirsk
index 21f5c00..7227780 100644
--- a/library/tzdata/Asia/Novosibirsk
+++ b/library/tzdata/Asia/Novosibirsk
@@ -2,72 +2,71 @@
set TZData(:Asia/Novosibirsk) {
{-9223372036854775808 19900 0 LMT}
- {-1579476700 21600 0 +06}
- {-1247551200 25200 0 +08}
- {354906000 28800 1 +08}
- {370713600 25200 0 +07}
- {386442000 28800 1 +08}
- {402249600 25200 0 +07}
- {417978000 28800 1 +08}
- {433785600 25200 0 +07}
- {449600400 28800 1 +08}
- {465332400 25200 0 +07}
- {481057200 28800 1 +08}
- {496782000 25200 0 +07}
- {512506800 28800 1 +08}
- {528231600 25200 0 +07}
- {543956400 28800 1 +08}
- {559681200 25200 0 +07}
- {575406000 28800 1 +08}
- {591130800 25200 0 +07}
- {606855600 28800 1 +08}
- {622580400 25200 0 +07}
- {638305200 28800 1 +08}
- {654634800 25200 0 +07}
- {670359600 21600 0 +07}
- {670363200 25200 1 +07}
- {686088000 21600 0 +06}
- {695764800 25200 0 +08}
- {701809200 28800 1 +08}
- {717534000 25200 0 +07}
- {733258800 28800 1 +08}
- {738090000 25200 0 +07}
- {748987200 21600 0 +06}
- {764712000 25200 1 +07}
- {780436800 21600 0 +06}
- {796161600 25200 1 +07}
- {811886400 21600 0 +06}
- {828216000 25200 1 +07}
- {846360000 21600 0 +06}
- {859665600 25200 1 +07}
- {877809600 21600 0 +06}
- {891115200 25200 1 +07}
- {909259200 21600 0 +06}
- {922564800 25200 1 +07}
- {941313600 21600 0 +06}
- {954014400 25200 1 +07}
- {972763200 21600 0 +06}
- {985464000 25200 1 +07}
- {1004212800 21600 0 +06}
- {1017518400 25200 1 +07}
- {1035662400 21600 0 +06}
- {1048968000 25200 1 +07}
- {1067112000 21600 0 +06}
- {1080417600 25200 1 +07}
- {1099166400 21600 0 +06}
- {1111867200 25200 1 +07}
- {1130616000 21600 0 +06}
- {1143316800 25200 1 +07}
- {1162065600 21600 0 +06}
- {1174766400 25200 1 +07}
- {1193515200 21600 0 +06}
- {1206820800 25200 1 +07}
- {1224964800 21600 0 +06}
- {1238270400 25200 1 +07}
- {1256414400 21600 0 +06}
- {1269720000 25200 1 +07}
- {1288468800 21600 0 +06}
- {1301169600 25200 0 +07}
- {1414263600 21600 0 +06}
- {1469304000 25200 0 +07}
+ {-1579476700 21600 0 NOVT}
+ {-1247551200 25200 0 NOVMMTT}
+ {354906000 28800 1 NOVST}
+ {370713600 25200 0 NOVT}
+ {386442000 28800 1 NOVST}
+ {402249600 25200 0 NOVT}
+ {417978000 28800 1 NOVST}
+ {433785600 25200 0 NOVT}
+ {449600400 28800 1 NOVST}
+ {465332400 25200 0 NOVT}
+ {481057200 28800 1 NOVST}
+ {496782000 25200 0 NOVT}
+ {512506800 28800 1 NOVST}
+ {528231600 25200 0 NOVT}
+ {543956400 28800 1 NOVST}
+ {559681200 25200 0 NOVT}
+ {575406000 28800 1 NOVST}
+ {591130800 25200 0 NOVT}
+ {606855600 28800 1 NOVST}
+ {622580400 25200 0 NOVT}
+ {638305200 28800 1 NOVST}
+ {654634800 25200 0 NOVT}
+ {670359600 21600 0 NOVMMTT}
+ {670363200 25200 1 NOVST}
+ {686088000 21600 0 NOVT}
+ {695764800 25200 0 NOVMMTT}
+ {701798400 28800 1 NOVST}
+ {717519600 25200 0 NOVT}
+ {733258800 28800 1 NOVST}
+ {738090000 25200 0 NOVST}
+ {748987200 21600 0 NOVT}
+ {764712000 25200 1 NOVST}
+ {780436800 21600 0 NOVT}
+ {796161600 25200 1 NOVST}
+ {811886400 21600 0 NOVT}
+ {828216000 25200 1 NOVST}
+ {846360000 21600 0 NOVT}
+ {859665600 25200 1 NOVST}
+ {877809600 21600 0 NOVT}
+ {891115200 25200 1 NOVST}
+ {909259200 21600 0 NOVT}
+ {922564800 25200 1 NOVST}
+ {941313600 21600 0 NOVT}
+ {954014400 25200 1 NOVST}
+ {972763200 21600 0 NOVT}
+ {985464000 25200 1 NOVST}
+ {1004212800 21600 0 NOVT}
+ {1017518400 25200 1 NOVST}
+ {1035662400 21600 0 NOVT}
+ {1048968000 25200 1 NOVST}
+ {1067112000 21600 0 NOVT}
+ {1080417600 25200 1 NOVST}
+ {1099166400 21600 0 NOVT}
+ {1111867200 25200 1 NOVST}
+ {1130616000 21600 0 NOVT}
+ {1143316800 25200 1 NOVST}
+ {1162065600 21600 0 NOVT}
+ {1174766400 25200 1 NOVST}
+ {1193515200 21600 0 NOVT}
+ {1206820800 25200 1 NOVST}
+ {1224964800 21600 0 NOVT}
+ {1238270400 25200 1 NOVST}
+ {1256414400 21600 0 NOVT}
+ {1269720000 25200 1 NOVST}
+ {1288468800 21600 0 NOVT}
+ {1301169600 25200 0 NOVT}
+ {1414263600 21600 0 NOVT}
}
diff --git a/library/tzdata/Asia/Omsk b/library/tzdata/Asia/Omsk
index 74163d5..f25b8d4 100644
--- a/library/tzdata/Asia/Omsk
+++ b/library/tzdata/Asia/Omsk
@@ -2,70 +2,70 @@
set TZData(:Asia/Omsk) {
{-9223372036854775808 17610 0 LMT}
- {-1582088010 18000 0 +05}
- {-1247547600 21600 0 +07}
- {354909600 25200 1 +07}
- {370717200 21600 0 +06}
- {386445600 25200 1 +07}
- {402253200 21600 0 +06}
- {417981600 25200 1 +07}
- {433789200 21600 0 +06}
- {449604000 25200 1 +07}
- {465336000 21600 0 +06}
- {481060800 25200 1 +07}
- {496785600 21600 0 +06}
- {512510400 25200 1 +07}
- {528235200 21600 0 +06}
- {543960000 25200 1 +07}
- {559684800 21600 0 +06}
- {575409600 25200 1 +07}
- {591134400 21600 0 +06}
- {606859200 25200 1 +07}
- {622584000 21600 0 +06}
- {638308800 25200 1 +07}
- {654638400 21600 0 +06}
- {670363200 18000 0 +06}
- {670366800 21600 1 +06}
- {686091600 18000 0 +05}
- {695768400 21600 0 +07}
- {701812800 25200 1 +07}
- {717537600 21600 0 +06}
- {733262400 25200 1 +07}
- {748987200 21600 0 +06}
- {764712000 25200 1 +07}
- {780436800 21600 0 +06}
- {796161600 25200 1 +07}
- {811886400 21600 0 +06}
- {828216000 25200 1 +07}
- {846360000 21600 0 +06}
- {859665600 25200 1 +07}
- {877809600 21600 0 +06}
- {891115200 25200 1 +07}
- {909259200 21600 0 +06}
- {922564800 25200 1 +07}
- {941313600 21600 0 +06}
- {954014400 25200 1 +07}
- {972763200 21600 0 +06}
- {985464000 25200 1 +07}
- {1004212800 21600 0 +06}
- {1017518400 25200 1 +07}
- {1035662400 21600 0 +06}
- {1048968000 25200 1 +07}
- {1067112000 21600 0 +06}
- {1080417600 25200 1 +07}
- {1099166400 21600 0 +06}
- {1111867200 25200 1 +07}
- {1130616000 21600 0 +06}
- {1143316800 25200 1 +07}
- {1162065600 21600 0 +06}
- {1174766400 25200 1 +07}
- {1193515200 21600 0 +06}
- {1206820800 25200 1 +07}
- {1224964800 21600 0 +06}
- {1238270400 25200 1 +07}
- {1256414400 21600 0 +06}
- {1269720000 25200 1 +07}
- {1288468800 21600 0 +06}
- {1301169600 25200 0 +07}
- {1414263600 21600 0 +06}
+ {-1582088010 18000 0 OMST}
+ {-1247547600 21600 0 OMSMMTT}
+ {354909600 25200 1 OMSST}
+ {370717200 21600 0 OMST}
+ {386445600 25200 1 OMSST}
+ {402253200 21600 0 OMST}
+ {417981600 25200 1 OMSST}
+ {433789200 21600 0 OMST}
+ {449604000 25200 1 OMSST}
+ {465336000 21600 0 OMST}
+ {481060800 25200 1 OMSST}
+ {496785600 21600 0 OMST}
+ {512510400 25200 1 OMSST}
+ {528235200 21600 0 OMST}
+ {543960000 25200 1 OMSST}
+ {559684800 21600 0 OMST}
+ {575409600 25200 1 OMSST}
+ {591134400 21600 0 OMST}
+ {606859200 25200 1 OMSST}
+ {622584000 21600 0 OMST}
+ {638308800 25200 1 OMSST}
+ {654638400 21600 0 OMST}
+ {670363200 18000 0 OMSMMTT}
+ {670366800 21600 1 OMSST}
+ {686091600 18000 0 OMST}
+ {695768400 21600 0 OMSMMTT}
+ {701802000 25200 1 OMSST}
+ {717523200 21600 0 OMST}
+ {733262400 25200 1 OMSST}
+ {748987200 21600 0 OMST}
+ {764712000 25200 1 OMSST}
+ {780436800 21600 0 OMST}
+ {796161600 25200 1 OMSST}
+ {811886400 21600 0 OMST}
+ {828216000 25200 1 OMSST}
+ {846360000 21600 0 OMST}
+ {859665600 25200 1 OMSST}
+ {877809600 21600 0 OMST}
+ {891115200 25200 1 OMSST}
+ {909259200 21600 0 OMST}
+ {922564800 25200 1 OMSST}
+ {941313600 21600 0 OMST}
+ {954014400 25200 1 OMSST}
+ {972763200 21600 0 OMST}
+ {985464000 25200 1 OMSST}
+ {1004212800 21600 0 OMST}
+ {1017518400 25200 1 OMSST}
+ {1035662400 21600 0 OMST}
+ {1048968000 25200 1 OMSST}
+ {1067112000 21600 0 OMST}
+ {1080417600 25200 1 OMSST}
+ {1099166400 21600 0 OMST}
+ {1111867200 25200 1 OMSST}
+ {1130616000 21600 0 OMST}
+ {1143316800 25200 1 OMSST}
+ {1162065600 21600 0 OMST}
+ {1174766400 25200 1 OMSST}
+ {1193515200 21600 0 OMST}
+ {1206820800 25200 1 OMSST}
+ {1224964800 21600 0 OMST}
+ {1238270400 25200 1 OMSST}
+ {1256414400 21600 0 OMST}
+ {1269720000 25200 1 OMSST}
+ {1288468800 21600 0 OMST}
+ {1301169600 25200 0 OMST}
+ {1414263600 21600 0 OMST}
}
diff --git a/library/tzdata/Asia/Oral b/library/tzdata/Asia/Oral
index e781b60..88b9a29 100644
--- a/library/tzdata/Asia/Oral
+++ b/library/tzdata/Asia/Oral
@@ -2,57 +2,57 @@
set TZData(:Asia/Oral) {
{-9223372036854775808 12324 0 LMT}
- {-1441164324 10800 0 +03}
- {-1247540400 18000 0 +05}
- {354913200 21600 1 +06}
- {370720800 21600 0 +06}
- {386445600 18000 0 +05}
- {386449200 21600 1 +05}
- {402256800 18000 0 +05}
- {417985200 21600 1 +05}
- {433792800 18000 0 +05}
- {449607600 21600 1 +05}
- {465339600 18000 0 +05}
- {481064400 21600 1 +05}
- {496789200 18000 0 +05}
- {512514000 21600 1 +05}
- {528238800 18000 0 +05}
- {543963600 21600 1 +05}
- {559688400 18000 0 +05}
- {575413200 21600 1 +05}
- {591138000 18000 0 +05}
- {606862800 14400 0 +04}
- {606866400 18000 1 +04}
- {622591200 14400 0 +04}
- {638316000 18000 1 +04}
- {654645600 14400 0 +04}
- {670370400 18000 1 +04}
- {686095200 14400 0 +04}
- {701816400 14400 0 +04}
- {701820000 18000 1 +04}
- {717544800 14400 0 +04}
- {733269600 18000 1 +04}
- {748994400 14400 0 +04}
- {764719200 18000 1 +04}
- {780444000 14400 0 +04}
- {796168800 18000 1 +04}
- {811893600 14400 0 +04}
- {828223200 18000 1 +04}
- {846367200 14400 0 +04}
- {859672800 18000 1 +04}
- {877816800 14400 0 +04}
- {891122400 18000 1 +04}
- {909266400 14400 0 +04}
- {922572000 18000 1 +04}
- {941320800 14400 0 +04}
- {954021600 18000 1 +04}
- {972770400 14400 0 +04}
- {985471200 18000 1 +04}
- {1004220000 14400 0 +04}
- {1017525600 18000 1 +04}
- {1035669600 14400 0 +04}
- {1048975200 18000 1 +04}
- {1067119200 14400 0 +04}
- {1080424800 18000 1 +04}
- {1099173600 18000 0 +05}
+ {-1441164324 14400 0 URAT}
+ {-1247544000 18000 0 URAT}
+ {354913200 21600 1 URAST}
+ {370720800 21600 0 URAT}
+ {386445600 18000 0 URAT}
+ {386449200 21600 1 URAST}
+ {402256800 18000 0 URAT}
+ {417985200 21600 1 URAST}
+ {433792800 18000 0 URAT}
+ {449607600 21600 1 URAST}
+ {465339600 18000 0 URAT}
+ {481064400 21600 1 URAST}
+ {496789200 18000 0 URAT}
+ {512514000 21600 1 URAST}
+ {528238800 18000 0 URAT}
+ {543963600 21600 1 URAST}
+ {559688400 18000 0 URAT}
+ {575413200 21600 1 URAST}
+ {591138000 18000 0 URAT}
+ {606862800 14400 0 URAT}
+ {606866400 18000 1 URAST}
+ {622591200 14400 0 URAT}
+ {638316000 18000 1 URAST}
+ {654645600 14400 0 URAT}
+ {662673600 14400 0 URAT}
+ {692827200 14400 0 ORAT}
+ {701809200 18000 1 ORAST}
+ {717530400 14400 0 ORAT}
+ {733269600 18000 1 ORAST}
+ {748994400 14400 0 ORAT}
+ {764719200 18000 1 ORAST}
+ {780444000 14400 0 ORAT}
+ {796168800 18000 1 ORAST}
+ {811893600 14400 0 ORAT}
+ {828223200 18000 1 ORAST}
+ {846367200 14400 0 ORAT}
+ {859672800 18000 1 ORAST}
+ {877816800 14400 0 ORAT}
+ {891122400 18000 1 ORAST}
+ {909266400 14400 0 ORAT}
+ {922572000 18000 1 ORAST}
+ {941320800 14400 0 ORAT}
+ {954021600 18000 1 ORAST}
+ {972770400 14400 0 ORAT}
+ {985471200 18000 1 ORAST}
+ {1004220000 14400 0 ORAT}
+ {1017525600 18000 1 ORAST}
+ {1035669600 14400 0 ORAT}
+ {1048975200 18000 1 ORAST}
+ {1067119200 14400 0 ORAT}
+ {1080424800 18000 1 ORAST}
+ {1099173600 14400 0 ORAT}
+ {1110830400 18000 0 ORAT}
}
diff --git a/library/tzdata/Asia/Pontianak b/library/tzdata/Asia/Pontianak
index ed59e9d..728b552 100644
--- a/library/tzdata/Asia/Pontianak
+++ b/library/tzdata/Asia/Pontianak
@@ -3,11 +3,11 @@
set TZData(:Asia/Pontianak) {
{-9223372036854775808 26240 0 LMT}
{-1946186240 26240 0 PMT}
- {-1172906240 27000 0 +0730}
- {-881220600 32400 0 +09}
- {-766054800 27000 0 +0730}
- {-683883000 28800 0 +08}
- {-620812800 27000 0 +0730}
+ {-1172906240 27000 0 WIB}
+ {-881220600 32400 0 JST}
+ {-766054800 27000 0 WIB}
+ {-683883000 28800 0 WIB}
+ {-620812800 27000 0 WIB}
{-189415800 28800 0 WITA}
{567964800 25200 0 WIB}
}
diff --git a/library/tzdata/Asia/Pyongyang b/library/tzdata/Asia/Pyongyang
index 5351736..4ade8e6 100644
--- a/library/tzdata/Asia/Pyongyang
+++ b/library/tzdata/Asia/Pyongyang
@@ -3,8 +3,8 @@
set TZData(:Asia/Pyongyang) {
{-9223372036854775808 30180 0 LMT}
{-1948782180 30600 0 KST}
- {-1830414600 32400 0 JST}
+ {-1830414600 32400 0 JCST}
+ {-1017824400 32400 0 JST}
{-768646800 32400 0 KST}
{1439564400 30600 0 KST}
- {1525446000 32400 0 KST}
}
diff --git a/library/tzdata/Asia/Qatar b/library/tzdata/Asia/Qatar
index 10b4f6d..bfb4eb4 100644
--- a/library/tzdata/Asia/Qatar
+++ b/library/tzdata/Asia/Qatar
@@ -2,6 +2,6 @@
set TZData(:Asia/Qatar) {
{-9223372036854775808 12368 0 LMT}
- {-1577935568 14400 0 +04}
- {76190400 10800 0 +03}
+ {-1577935568 14400 0 GST}
+ {76190400 10800 0 AST}
}
diff --git a/library/tzdata/Asia/Qostanay b/library/tzdata/Asia/Qostanay
deleted file mode 100644
index a19383a..0000000
--- a/library/tzdata/Asia/Qostanay
+++ /dev/null
@@ -1,59 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Qostanay) {
- {-9223372036854775808 15268 0 LMT}
- {-1441167268 14400 0 +04}
- {-1247544000 18000 0 +05}
- {354913200 21600 1 +06}
- {370720800 21600 0 +06}
- {386445600 18000 0 +05}
- {386449200 21600 1 +05}
- {402256800 18000 0 +05}
- {417985200 21600 1 +05}
- {433792800 18000 0 +05}
- {449607600 21600 1 +05}
- {465339600 18000 0 +05}
- {481064400 21600 1 +05}
- {496789200 18000 0 +05}
- {512514000 21600 1 +05}
- {528238800 18000 0 +05}
- {543963600 21600 1 +05}
- {559688400 18000 0 +05}
- {575413200 21600 1 +05}
- {591138000 18000 0 +05}
- {606862800 21600 1 +05}
- {622587600 18000 0 +05}
- {638312400 21600 1 +05}
- {654642000 18000 0 +05}
- {670366800 14400 0 +04}
- {670370400 18000 1 +04}
- {686095200 14400 0 +04}
- {695772000 18000 0 +05}
- {701816400 21600 1 +05}
- {717541200 18000 0 +05}
- {733266000 21600 1 +05}
- {748990800 18000 0 +05}
- {764715600 21600 1 +05}
- {780440400 18000 0 +05}
- {796165200 21600 1 +05}
- {811890000 18000 0 +05}
- {828219600 21600 1 +05}
- {846363600 18000 0 +05}
- {859669200 21600 1 +05}
- {877813200 18000 0 +05}
- {891118800 21600 1 +05}
- {909262800 18000 0 +05}
- {922568400 21600 1 +05}
- {941317200 18000 0 +05}
- {954018000 21600 1 +05}
- {972766800 18000 0 +05}
- {985467600 21600 1 +05}
- {1004216400 18000 0 +05}
- {1017522000 21600 1 +05}
- {1035666000 18000 0 +05}
- {1048971600 21600 1 +05}
- {1067115600 18000 0 +05}
- {1080421200 21600 1 +05}
- {1099170000 21600 0 +06}
- {1709229600 18000 0 +05}
-}
diff --git a/library/tzdata/Asia/Qyzylorda b/library/tzdata/Asia/Qyzylorda
index c54bdd0..16da574 100644
--- a/library/tzdata/Asia/Qyzylorda
+++ b/library/tzdata/Asia/Qyzylorda
@@ -2,57 +2,57 @@
set TZData(:Asia/Qyzylorda) {
{-9223372036854775808 15712 0 LMT}
- {-1441167712 14400 0 +04}
- {-1247544000 18000 0 +05}
- {354913200 21600 1 +06}
- {370720800 21600 0 +06}
- {386445600 18000 0 +05}
- {386449200 21600 1 +05}
- {402256800 18000 0 +05}
- {417985200 21600 1 +05}
- {433792800 18000 0 +05}
- {449607600 21600 1 +05}
- {465339600 18000 0 +05}
- {481064400 21600 1 +05}
- {496789200 18000 0 +05}
- {512514000 21600 1 +05}
- {528238800 18000 0 +05}
- {543963600 21600 1 +05}
- {559688400 18000 0 +05}
- {575413200 21600 1 +05}
- {591138000 18000 0 +05}
- {606862800 21600 1 +05}
- {622587600 18000 0 +05}
- {638312400 21600 1 +05}
- {654642000 18000 0 +05}
- {670366800 14400 0 +04}
- {670370400 18000 1 +04}
- {701812800 18000 0 +05}
- {701816400 21600 1 +05}
- {717541200 18000 0 +05}
- {733266000 21600 1 +05}
- {748990800 18000 0 +05}
- {764715600 21600 1 +05}
- {780440400 18000 0 +05}
- {796165200 21600 1 +05}
- {811890000 18000 0 +05}
- {828219600 21600 1 +05}
- {846363600 18000 0 +05}
- {859669200 21600 1 +05}
- {877813200 18000 0 +05}
- {891118800 21600 1 +05}
- {909262800 18000 0 +05}
- {922568400 21600 1 +05}
- {941317200 18000 0 +05}
- {954018000 21600 1 +05}
- {972766800 18000 0 +05}
- {985467600 21600 1 +05}
- {1004216400 18000 0 +05}
- {1017522000 21600 1 +05}
- {1035666000 18000 0 +05}
- {1048971600 21600 1 +05}
- {1067115600 18000 0 +05}
- {1080421200 21600 1 +05}
- {1099170000 21600 0 +06}
- {1545328800 18000 0 +05}
+ {-1441167712 14400 0 KIZT}
+ {-1247544000 18000 0 KIZT}
+ {354913200 21600 1 KIZST}
+ {370720800 21600 0 KIZT}
+ {386445600 18000 0 KIZT}
+ {386449200 21600 1 KIZST}
+ {402256800 18000 0 KIZT}
+ {417985200 21600 1 KIZST}
+ {433792800 18000 0 KIZT}
+ {449607600 21600 1 KIZST}
+ {465339600 18000 0 KIZT}
+ {481064400 21600 1 KIZST}
+ {496789200 18000 0 KIZT}
+ {512514000 21600 1 KIZST}
+ {528238800 18000 0 KIZT}
+ {543963600 21600 1 KIZST}
+ {559688400 18000 0 KIZT}
+ {575413200 21600 1 KIZST}
+ {591138000 18000 0 KIZT}
+ {606862800 21600 1 KIZST}
+ {622587600 18000 0 KIZT}
+ {638312400 21600 1 KIZST}
+ {654642000 18000 0 KIZT}
+ {662670000 18000 0 KIZT}
+ {692823600 18000 0 QYZT}
+ {695768400 21600 0 QYZT}
+ {701802000 25200 1 QYZST}
+ {717523200 21600 0 QYZT}
+ {733262400 25200 1 QYZST}
+ {748987200 21600 0 QYZT}
+ {764712000 25200 1 QYZST}
+ {780436800 21600 0 QYZT}
+ {796161600 25200 1 QYZST}
+ {811886400 21600 0 QYZT}
+ {828216000 25200 1 QYZST}
+ {846360000 21600 0 QYZT}
+ {859665600 25200 1 QYZST}
+ {877809600 21600 0 QYZT}
+ {891115200 25200 1 QYZST}
+ {909259200 21600 0 QYZT}
+ {922564800 25200 1 QYZST}
+ {941313600 21600 0 QYZT}
+ {954014400 25200 1 QYZST}
+ {972763200 21600 0 QYZT}
+ {985464000 25200 1 QYZST}
+ {1004212800 21600 0 QYZT}
+ {1017518400 25200 1 QYZST}
+ {1035662400 21600 0 QYZT}
+ {1048968000 25200 1 QYZST}
+ {1067112000 21600 0 QYZT}
+ {1080417600 25200 1 QYZST}
+ {1099166400 21600 0 QYZT}
+ {1110823200 21600 0 QYZT}
}
diff --git a/library/tzdata/Asia/Rangoon b/library/tzdata/Asia/Rangoon
index 8ea2748..4f3ac02 100644
--- a/library/tzdata/Asia/Rangoon
+++ b/library/tzdata/Asia/Rangoon
@@ -1,5 +1,9 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Asia/Yangon)]} {
- LoadTimeZoneFile Asia/Yangon
+
+set TZData(:Asia/Rangoon) {
+ {-9223372036854775808 23080 0 LMT}
+ {-2840163880 23080 0 RMT}
+ {-1577946280 23400 0 BURT}
+ {-873268200 32400 0 JST}
+ {-778410000 23400 0 MMT}
}
-set TZData(:Asia/Rangoon) $TZData(:Asia/Yangon)
diff --git a/library/tzdata/Asia/Riyadh b/library/tzdata/Asia/Riyadh
index af5efa8..12c9e24 100644
--- a/library/tzdata/Asia/Riyadh
+++ b/library/tzdata/Asia/Riyadh
@@ -2,5 +2,5 @@
set TZData(:Asia/Riyadh) {
{-9223372036854775808 11212 0 LMT}
- {-719636812 10800 0 +03}
+ {-719636812 10800 0 AST}
}
diff --git a/library/tzdata/Asia/Sakhalin b/library/tzdata/Asia/Sakhalin
index 4ba7c8c..eed20ba 100644
--- a/library/tzdata/Asia/Sakhalin
+++ b/library/tzdata/Asia/Sakhalin
@@ -2,72 +2,72 @@
set TZData(:Asia/Sakhalin) {
{-9223372036854775808 34248 0 LMT}
- {-2031039048 32400 0 +09}
- {-768560400 39600 0 +12}
- {354891600 43200 1 +12}
- {370699200 39600 0 +11}
- {386427600 43200 1 +12}
- {402235200 39600 0 +11}
- {417963600 43200 1 +12}
- {433771200 39600 0 +11}
- {449586000 43200 1 +12}
- {465318000 39600 0 +11}
- {481042800 43200 1 +12}
- {496767600 39600 0 +11}
- {512492400 43200 1 +12}
- {528217200 39600 0 +11}
- {543942000 43200 1 +12}
- {559666800 39600 0 +11}
- {575391600 43200 1 +12}
- {591116400 39600 0 +11}
- {606841200 43200 1 +12}
- {622566000 39600 0 +11}
- {638290800 43200 1 +12}
- {654620400 39600 0 +11}
- {670345200 36000 0 +11}
- {670348800 39600 1 +11}
- {686073600 36000 0 +10}
- {695750400 39600 0 +12}
- {701794800 43200 1 +12}
- {717519600 39600 0 +11}
- {733244400 43200 1 +12}
- {748969200 39600 0 +11}
- {764694000 43200 1 +12}
- {780418800 39600 0 +11}
- {796143600 43200 1 +12}
- {811868400 39600 0 +11}
- {828198000 43200 1 +12}
- {846342000 39600 0 +11}
- {859647600 36000 0 +11}
- {859651200 39600 1 +11}
- {877795200 36000 0 +10}
- {891100800 39600 1 +11}
- {909244800 36000 0 +10}
- {922550400 39600 1 +11}
- {941299200 36000 0 +10}
- {954000000 39600 1 +11}
- {972748800 36000 0 +10}
- {985449600 39600 1 +11}
- {1004198400 36000 0 +10}
- {1017504000 39600 1 +11}
- {1035648000 36000 0 +10}
- {1048953600 39600 1 +11}
- {1067097600 36000 0 +10}
- {1080403200 39600 1 +11}
- {1099152000 36000 0 +10}
- {1111852800 39600 1 +11}
- {1130601600 36000 0 +10}
- {1143302400 39600 1 +11}
- {1162051200 36000 0 +10}
- {1174752000 39600 1 +11}
- {1193500800 36000 0 +10}
- {1206806400 39600 1 +11}
- {1224950400 36000 0 +10}
- {1238256000 39600 1 +11}
- {1256400000 36000 0 +10}
- {1269705600 39600 1 +11}
- {1288454400 36000 0 +10}
- {1301155200 39600 0 +11}
- {1414249200 36000 0 +10}
- {1459008000 39600 0 +11}
+ {-2031039048 32400 0 JCST}
+ {-1017824400 32400 0 JST}
+ {-768560400 39600 0 SAKMMTT}
+ {354891600 43200 1 SAKST}
+ {370699200 39600 0 SAKT}
+ {386427600 43200 1 SAKST}
+ {402235200 39600 0 SAKT}
+ {417963600 43200 1 SAKST}
+ {433771200 39600 0 SAKT}
+ {449586000 43200 1 SAKST}
+ {465318000 39600 0 SAKT}
+ {481042800 43200 1 SAKST}
+ {496767600 39600 0 SAKT}
+ {512492400 43200 1 SAKST}
+ {528217200 39600 0 SAKT}
+ {543942000 43200 1 SAKST}
+ {559666800 39600 0 SAKT}
+ {575391600 43200 1 SAKST}
+ {591116400 39600 0 SAKT}
+ {606841200 43200 1 SAKST}
+ {622566000 39600 0 SAKT}
+ {638290800 43200 1 SAKST}
+ {654620400 39600 0 SAKT}
+ {670345200 36000 0 SAKMMTT}
+ {670348800 39600 1 SAKST}
+ {686073600 36000 0 SAKT}
+ {695750400 39600 0 SAKMMTT}
+ {701784000 43200 1 SAKST}
+ {717505200 39600 0 SAKT}
+ {733244400 43200 1 SAKST}
+ {748969200 39600 0 SAKT}
+ {764694000 43200 1 SAKST}
+ {780418800 39600 0 SAKT}
+ {796143600 43200 1 SAKST}
+ {811868400 39600 0 SAKT}
+ {828198000 43200 1 SAKST}
+ {846342000 39600 0 SAKT}
+ {859647600 36000 0 SAKMMTT}
+ {859651200 39600 1 SAKST}
+ {877795200 36000 0 SAKT}
+ {891100800 39600 1 SAKST}
+ {909244800 36000 0 SAKT}
+ {922550400 39600 1 SAKST}
+ {941299200 36000 0 SAKT}
+ {954000000 39600 1 SAKST}
+ {972748800 36000 0 SAKT}
+ {985449600 39600 1 SAKST}
+ {1004198400 36000 0 SAKT}
+ {1017504000 39600 1 SAKST}
+ {1035648000 36000 0 SAKT}
+ {1048953600 39600 1 SAKST}
+ {1067097600 36000 0 SAKT}
+ {1080403200 39600 1 SAKST}
+ {1099152000 36000 0 SAKT}
+ {1111852800 39600 1 SAKST}
+ {1130601600 36000 0 SAKT}
+ {1143302400 39600 1 SAKST}
+ {1162051200 36000 0 SAKT}
+ {1174752000 39600 1 SAKST}
+ {1193500800 36000 0 SAKT}
+ {1206806400 39600 1 SAKST}
+ {1224950400 36000 0 SAKT}
+ {1238256000 39600 1 SAKST}
+ {1256400000 36000 0 SAKT}
+ {1269705600 39600 1 SAKST}
+ {1288454400 36000 0 SAKT}
+ {1301155200 39600 0 SAKT}
+ {1414249200 36000 0 SAKT}
}
diff --git a/library/tzdata/Asia/Samarkand b/library/tzdata/Asia/Samarkand
index 805bab7..4b3b49f 100644
--- a/library/tzdata/Asia/Samarkand
+++ b/library/tzdata/Asia/Samarkand
@@ -2,30 +2,31 @@
set TZData(:Asia/Samarkand) {
{-9223372036854775808 16073 0 LMT}
- {-1441168073 14400 0 +04}
- {-1247544000 18000 0 +05}
- {354913200 21600 1 +06}
- {370720800 21600 0 +06}
- {386445600 18000 0 +05}
- {386449200 21600 1 +05}
- {402256800 18000 0 +05}
- {417985200 21600 1 +05}
- {433792800 18000 0 +05}
- {449607600 21600 1 +05}
- {465339600 18000 0 +05}
- {481064400 21600 1 +05}
- {496789200 18000 0 +05}
- {512514000 21600 1 +05}
- {528238800 18000 0 +05}
- {543963600 21600 1 +05}
- {559688400 18000 0 +05}
- {575413200 21600 1 +05}
- {591138000 18000 0 +05}
- {606862800 21600 1 +05}
- {622587600 18000 0 +05}
- {638312400 21600 1 +05}
- {654642000 18000 0 +05}
- {670366800 21600 1 +05}
- {686091600 18000 0 +05}
- {694206000 18000 0 +05}
+ {-1441168073 14400 0 SAMT}
+ {-1247544000 18000 0 SAMT}
+ {354913200 21600 1 SAMST}
+ {370720800 21600 0 TAST}
+ {386445600 18000 0 SAMT}
+ {386449200 21600 1 SAMST}
+ {402256800 18000 0 SAMT}
+ {417985200 21600 1 SAMST}
+ {433792800 18000 0 SAMT}
+ {449607600 21600 1 SAMST}
+ {465339600 18000 0 SAMT}
+ {481064400 21600 1 SAMST}
+ {496789200 18000 0 SAMT}
+ {512514000 21600 1 SAMST}
+ {528238800 18000 0 SAMT}
+ {543963600 21600 1 SAMST}
+ {559688400 18000 0 SAMT}
+ {575413200 21600 1 SAMST}
+ {591138000 18000 0 SAMT}
+ {606862800 21600 1 SAMST}
+ {622587600 18000 0 SAMT}
+ {638312400 21600 1 SAMST}
+ {654642000 18000 0 SAMT}
+ {670366800 21600 1 SAMST}
+ {683665200 21600 0 UZST}
+ {686091600 18000 0 UZT}
+ {694206000 18000 0 UZT}
}
diff --git a/library/tzdata/Asia/Seoul b/library/tzdata/Asia/Seoul
index 2df8adc..c24a1d8 100644
--- a/library/tzdata/Asia/Seoul
+++ b/library/tzdata/Asia/Seoul
@@ -3,16 +3,9 @@
set TZData(:Asia/Seoul) {
{-9223372036854775808 30472 0 LMT}
{-1948782472 30600 0 KST}
- {-1830414600 32400 0 JST}
+ {-1830414600 32400 0 JCST}
+ {-1017824400 32400 0 JST}
{-767350800 32400 0 KST}
- {-681210000 36000 1 KDT}
- {-672228000 32400 0 KST}
- {-654771600 36000 1 KDT}
- {-640864800 32400 0 KST}
- {-623408400 36000 1 KDT}
- {-609415200 32400 0 KST}
- {-588848400 36000 1 KDT}
- {-577965600 32400 0 KST}
{-498128400 30600 0 KST}
{-462702600 34200 1 KDT}
{-451733400 30600 0 KST}
diff --git a/library/tzdata/Asia/Shanghai b/library/tzdata/Asia/Shanghai
index 0fcf802..ff2d2b5 100644
--- a/library/tzdata/Asia/Shanghai
+++ b/library/tzdata/Asia/Shanghai
@@ -3,32 +3,21 @@
set TZData(:Asia/Shanghai) {
{-9223372036854775808 29143 0 LMT}
{-2177481943 28800 0 CST}
- {-1600675200 32400 1 CDT}
- {-1585904400 28800 0 CST}
- {-933667200 32400 1 CDT}
- {-922093200 28800 0 CST}
- {-908870400 32400 1 CDT}
- {-888829200 28800 0 CST}
- {-881049600 32400 1 CDT}
- {-767869200 28800 0 CST}
- {-745833600 32400 1 CDT}
- {-733827600 28800 0 CST}
- {-716889600 32400 1 CDT}
- {-699613200 28800 0 CST}
- {-683884800 32400 1 CDT}
- {-670669200 28800 0 CST}
- {-652348800 32400 1 CDT}
- {-650016000 28800 0 CST}
- {515527200 32400 1 CDT}
- {527014800 28800 0 CST}
- {545162400 32400 1 CDT}
- {558464400 28800 0 CST}
- {577216800 32400 1 CDT}
- {589914000 28800 0 CST}
- {608666400 32400 1 CDT}
- {621968400 28800 0 CST}
- {640116000 32400 1 CDT}
- {653418000 28800 0 CST}
- {671565600 32400 1 CDT}
- {684867600 28800 0 CST}
+ {-933494400 32400 1 CDT}
+ {-923130000 28800 0 CST}
+ {-908784000 32400 1 CDT}
+ {-891594000 28800 0 CST}
+ {-662716800 28800 0 CST}
+ {515520000 32400 1 CDT}
+ {527007600 28800 0 CST}
+ {545155200 32400 1 CDT}
+ {558457200 28800 0 CST}
+ {576604800 32400 1 CDT}
+ {589906800 28800 0 CST}
+ {608659200 32400 1 CDT}
+ {621961200 28800 0 CST}
+ {640108800 32400 1 CDT}
+ {653410800 28800 0 CST}
+ {671558400 32400 1 CDT}
+ {684860400 28800 0 CST}
}
diff --git a/library/tzdata/Asia/Singapore b/library/tzdata/Asia/Singapore
index 0fcd130..e2f226e 100644
--- a/library/tzdata/Asia/Singapore
+++ b/library/tzdata/Asia/Singapore
@@ -3,11 +3,12 @@
set TZData(:Asia/Singapore) {
{-9223372036854775808 24925 0 LMT}
{-2177477725 24925 0 SMT}
- {-2038200925 25200 0 +07}
- {-1167634800 26400 1 +0720}
- {-1073028000 26400 0 +0720}
- {-894180000 27000 0 +0730}
- {-879665400 32400 0 +09}
- {-767005200 27000 0 +0730}
- {378662400 28800 0 +08}
+ {-2038200925 25200 0 MALT}
+ {-1167634800 26400 1 MALST}
+ {-1073028000 26400 0 MALT}
+ {-894180000 27000 0 MALT}
+ {-879665400 32400 0 JST}
+ {-767005200 27000 0 MALT}
+ {-138785400 27000 0 SGT}
+ {378664200 28800 0 SGT}
}
diff --git a/library/tzdata/Asia/Srednekolymsk b/library/tzdata/Asia/Srednekolymsk
index 1099a4b..d1dd879 100644
--- a/library/tzdata/Asia/Srednekolymsk
+++ b/library/tzdata/Asia/Srednekolymsk
@@ -2,70 +2,70 @@
set TZData(:Asia/Srednekolymsk) {
{-9223372036854775808 36892 0 LMT}
- {-1441188892 36000 0 +10}
- {-1247565600 39600 0 +12}
- {354891600 43200 1 +12}
- {370699200 39600 0 +11}
- {386427600 43200 1 +12}
- {402235200 39600 0 +11}
- {417963600 43200 1 +12}
- {433771200 39600 0 +11}
- {449586000 43200 1 +12}
- {465318000 39600 0 +11}
- {481042800 43200 1 +12}
- {496767600 39600 0 +11}
- {512492400 43200 1 +12}
- {528217200 39600 0 +11}
- {543942000 43200 1 +12}
- {559666800 39600 0 +11}
- {575391600 43200 1 +12}
- {591116400 39600 0 +11}
- {606841200 43200 1 +12}
- {622566000 39600 0 +11}
- {638290800 43200 1 +12}
- {654620400 39600 0 +11}
- {670345200 36000 0 +11}
- {670348800 39600 1 +11}
- {686073600 36000 0 +10}
- {695750400 39600 0 +12}
- {701794800 43200 1 +12}
- {717519600 39600 0 +11}
- {733244400 43200 1 +12}
- {748969200 39600 0 +11}
- {764694000 43200 1 +12}
- {780418800 39600 0 +11}
- {796143600 43200 1 +12}
- {811868400 39600 0 +11}
- {828198000 43200 1 +12}
- {846342000 39600 0 +11}
- {859647600 43200 1 +12}
- {877791600 39600 0 +11}
- {891097200 43200 1 +12}
- {909241200 39600 0 +11}
- {922546800 43200 1 +12}
- {941295600 39600 0 +11}
- {953996400 43200 1 +12}
- {972745200 39600 0 +11}
- {985446000 43200 1 +12}
- {1004194800 39600 0 +11}
- {1017500400 43200 1 +12}
- {1035644400 39600 0 +11}
- {1048950000 43200 1 +12}
- {1067094000 39600 0 +11}
- {1080399600 43200 1 +12}
- {1099148400 39600 0 +11}
- {1111849200 43200 1 +12}
- {1130598000 39600 0 +11}
- {1143298800 43200 1 +12}
- {1162047600 39600 0 +11}
- {1174748400 43200 1 +12}
- {1193497200 39600 0 +11}
- {1206802800 43200 1 +12}
- {1224946800 39600 0 +11}
- {1238252400 43200 1 +12}
- {1256396400 39600 0 +11}
- {1269702000 43200 1 +12}
- {1288450800 39600 0 +11}
- {1301151600 43200 0 +12}
- {1414245600 39600 0 +11}
+ {-1441188892 36000 0 MAGT}
+ {-1247565600 39600 0 MAGMMTT}
+ {354891600 43200 1 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}
+ {1414245600 39600 0 SRET}
}
diff --git a/library/tzdata/Asia/Taipei b/library/tzdata/Asia/Taipei
index cb8fb89..61c77ef 100644
--- a/library/tzdata/Asia/Taipei
+++ b/library/tzdata/Asia/Taipei
@@ -2,7 +2,7 @@
set TZData(:Asia/Taipei) {
{-9223372036854775808 29160 0 LMT}
- {-2335248360 28800 0 CST}
+ {-2335248360 28800 0 JWST}
{-1017820800 32400 0 JST}
{-766224000 28800 0 CST}
{-745833600 32400 1 CDT}
diff --git a/library/tzdata/Asia/Tashkent b/library/tzdata/Asia/Tashkent
index bd16c91..1477376 100644
--- a/library/tzdata/Asia/Tashkent
+++ b/library/tzdata/Asia/Tashkent
@@ -2,30 +2,31 @@
set TZData(:Asia/Tashkent) {
{-9223372036854775808 16631 0 LMT}
- {-1441168631 18000 0 +05}
- {-1247547600 21600 0 +06}
- {354909600 25200 1 +06}
- {370717200 21600 0 +06}
- {386445600 25200 1 +06}
- {402253200 21600 0 +06}
- {417981600 25200 1 +06}
- {433789200 21600 0 +06}
- {449604000 25200 1 +06}
- {465336000 21600 0 +06}
- {481060800 25200 1 +06}
- {496785600 21600 0 +06}
- {512510400 25200 1 +06}
- {528235200 21600 0 +06}
- {543960000 25200 1 +06}
- {559684800 21600 0 +06}
- {575409600 25200 1 +06}
- {591134400 21600 0 +06}
- {606859200 25200 1 +06}
- {622584000 21600 0 +06}
- {638308800 25200 1 +06}
- {654638400 21600 0 +06}
- {670363200 18000 0 +05}
- {670366800 21600 1 +05}
- {686091600 18000 0 +05}
- {694206000 18000 0 +05}
+ {-1441168631 18000 0 TAST}
+ {-1247547600 21600 0 TAST}
+ {354909600 25200 1 TASST}
+ {370717200 21600 0 TAST}
+ {386445600 25200 1 TASST}
+ {402253200 21600 0 TAST}
+ {417981600 25200 1 TASST}
+ {433789200 21600 0 TAST}
+ {449604000 25200 1 TASST}
+ {465336000 21600 0 TAST}
+ {481060800 25200 1 TASST}
+ {496785600 21600 0 TAST}
+ {512510400 25200 1 TASST}
+ {528235200 21600 0 TAST}
+ {543960000 25200 1 TASST}
+ {559684800 21600 0 TAST}
+ {575409600 25200 1 TASST}
+ {591134400 21600 0 TAST}
+ {606859200 25200 1 TASST}
+ {622584000 21600 0 TAST}
+ {638308800 25200 1 TASST}
+ {654638400 21600 0 TAST}
+ {670363200 18000 0 TAST}
+ {670366800 21600 1 TASST}
+ {683665200 21600 0 UZST}
+ {686091600 18000 0 UZT}
+ {694206000 18000 0 UZT}
}
diff --git a/library/tzdata/Asia/Tbilisi b/library/tzdata/Asia/Tbilisi
index 71e7695..54b278a 100644
--- a/library/tzdata/Asia/Tbilisi
+++ b/library/tzdata/Asia/Tbilisi
@@ -3,58 +3,58 @@
set TZData(:Asia/Tbilisi) {
{-9223372036854775808 10751 0 LMT}
{-2840151551 10751 0 TBMT}
- {-1441162751 10800 0 +03}
- {-405140400 14400 0 +04}
- {354916800 18000 1 +04}
- {370724400 14400 0 +04}
- {386452800 18000 1 +04}
- {402260400 14400 0 +04}
- {417988800 18000 1 +04}
- {433796400 14400 0 +04}
- {449611200 18000 1 +04}
- {465343200 14400 0 +04}
- {481068000 18000 1 +04}
- {496792800 14400 0 +04}
- {512517600 18000 1 +04}
- {528242400 14400 0 +04}
- {543967200 18000 1 +04}
- {559692000 14400 0 +04}
- {575416800 18000 1 +04}
- {591141600 14400 0 +04}
- {606866400 18000 1 +04}
- {622591200 14400 0 +04}
- {638316000 18000 1 +04}
- {654645600 14400 0 +04}
- {670370400 10800 0 +03}
- {670374000 14400 1 +03}
- {686098800 10800 0 +03}
- {694213200 10800 0 +03}
- {701816400 14400 1 +03}
- {717537600 10800 0 +03}
- {733266000 14400 1 +03}
- {748987200 10800 0 +03}
- {764715600 14400 1 +03}
- {780440400 14400 0 +04}
- {796161600 18000 1 +04}
- {811882800 14400 0 +04}
- {828216000 18000 1 +04}
- {846360000 18000 1 +05}
- {859662000 18000 0 +04}
- {877806000 14400 0 +04}
- {891115200 18000 1 +04}
- {909255600 14400 0 +04}
- {922564800 18000 1 +04}
- {941310000 14400 0 +04}
- {954014400 18000 1 +04}
- {972759600 14400 0 +04}
- {985464000 18000 1 +04}
- {1004209200 14400 0 +04}
- {1017518400 18000 1 +04}
- {1035658800 14400 0 +04}
- {1048968000 18000 1 +04}
- {1067108400 14400 0 +04}
- {1080417600 18000 1 +04}
- {1088280000 14400 0 +03}
- {1099177200 10800 0 +03}
- {1111878000 14400 0 +04}
+ {-1441162751 10800 0 TBIT}
+ {-405140400 14400 0 TBIT}
+ {354916800 18000 1 TBIST}
+ {370724400 14400 0 TBIT}
+ {386452800 18000 1 TBIST}
+ {402260400 14400 0 TBIT}
+ {417988800 18000 1 TBIST}
+ {433796400 14400 0 TBIT}
+ {449611200 18000 1 TBIST}
+ {465343200 14400 0 TBIT}
+ {481068000 18000 1 TBIST}
+ {496792800 14400 0 TBIT}
+ {512517600 18000 1 TBIST}
+ {528242400 14400 0 TBIT}
+ {543967200 18000 1 TBIST}
+ {559692000 14400 0 TBIT}
+ {575416800 18000 1 TBIST}
+ {591141600 14400 0 TBIT}
+ {606866400 18000 1 TBIST}
+ {622591200 14400 0 TBIT}
+ {638316000 18000 1 TBIST}
+ {654645600 14400 0 TBIT}
+ {670370400 14400 1 TBIST}
+ {671140800 14400 0 GEST}
+ {686098800 10800 0 GET}
+ {694213200 10800 0 GET}
+ {701816400 14400 1 GEST}
+ {717537600 10800 0 GET}
+ {733266000 14400 1 GEST}
+ {748987200 10800 0 GET}
+ {764715600 14400 1 GEST}
+ {780440400 14400 0 GET}
+ {796161600 18000 1 GEST}
+ {811882800 14400 0 GET}
+ {828216000 18000 1 GEST}
+ {846360000 18000 1 GEST}
+ {859662000 18000 0 GEST}
+ {877806000 14400 0 GET}
+ {891115200 18000 1 GEST}
+ {909255600 14400 0 GET}
+ {922564800 18000 1 GEST}
+ {941310000 14400 0 GET}
+ {954014400 18000 1 GEST}
+ {972759600 14400 0 GET}
+ {985464000 18000 1 GEST}
+ {1004209200 14400 0 GET}
+ {1017518400 18000 1 GEST}
+ {1035658800 14400 0 GET}
+ {1048968000 18000 1 GEST}
+ {1067108400 14400 0 GET}
+ {1080417600 18000 1 GEST}
+ {1088280000 14400 0 GEST}
+ {1099177200 10800 0 GET}
+ {1111878000 14400 0 GET}
}
diff --git a/library/tzdata/Asia/Tehran b/library/tzdata/Asia/Tehran
index c453c48..7dca0ae 100644
--- a/library/tzdata/Asia/Tehran
+++ b/library/tzdata/Asia/Tehran
@@ -3,74 +3,103 @@
set TZData(:Asia/Tehran) {
{-9223372036854775808 12344 0 LMT}
{-1704165944 12344 0 TMT}
- {-1090466744 12600 0 +0330}
- {227820600 16200 1 +0330}
- {246227400 14400 0 +04}
- {259617600 18000 1 +04}
- {271108800 14400 0 +04}
- {283982400 12600 0 +0330}
- {296598600 16200 1 +0330}
- {306531000 12600 0 +0330}
- {322432200 16200 1 +0330}
- {338499000 12600 0 +0330}
- {673216200 16200 1 +0330}
- {685481400 12600 0 +0330}
- {701209800 16200 1 +0330}
- {717103800 12600 0 +0330}
- {732745800 16200 1 +0330}
- {748639800 12600 0 +0330}
- {764281800 16200 1 +0330}
- {780175800 12600 0 +0330}
- {795817800 16200 1 +0330}
- {811711800 12600 0 +0330}
- {827353800 16200 1 +0330}
- {843247800 12600 0 +0330}
- {858976200 16200 1 +0330}
- {874870200 12600 0 +0330}
- {890512200 16200 1 +0330}
- {906406200 12600 0 +0330}
- {922048200 16200 1 +0330}
- {937942200 12600 0 +0330}
- {953584200 16200 1 +0330}
- {969478200 12600 0 +0330}
- {985206600 16200 1 +0330}
- {1001100600 12600 0 +0330}
- {1016742600 16200 1 +0330}
- {1032636600 12600 0 +0330}
- {1048278600 16200 1 +0330}
- {1064172600 12600 0 +0330}
- {1079814600 16200 1 +0330}
- {1095708600 12600 0 +0330}
- {1111437000 16200 1 +0330}
- {1127331000 12600 0 +0330}
- {1206045000 16200 1 +0330}
- {1221939000 12600 0 +0330}
- {1237667400 16200 1 +0330}
- {1253561400 12600 0 +0330}
- {1269203400 16200 1 +0330}
- {1285097400 12600 0 +0330}
- {1300739400 16200 1 +0330}
- {1316633400 12600 0 +0330}
- {1332275400 16200 1 +0330}
- {1348169400 12600 0 +0330}
- {1363897800 16200 1 +0330}
- {1379791800 12600 0 +0330}
- {1395433800 16200 1 +0330}
- {1411327800 12600 0 +0330}
- {1426969800 16200 1 +0330}
- {1442863800 12600 0 +0330}
- {1458505800 16200 1 +0330}
- {1474399800 12600 0 +0330}
- {1490128200 16200 1 +0330}
- {1506022200 12600 0 +0330}
- {1521664200 16200 1 +0330}
- {1537558200 12600 0 +0330}
- {1553200200 16200 1 +0330}
- {1569094200 12600 0 +0330}
- {1584736200 16200 1 +0330}
- {1600630200 12600 0 +0330}
- {1616358600 16200 1 +0330}
- {1632252600 12600 0 +0330}
- {1647894600 16200 1 +0330}
- {1663788600 12600 0 +0330}
+ {-757394744 12600 0 IRST}
+ {247177800 14400 0 IRST}
+ {259272000 18000 1 IRDT}
+ {277758000 14400 0 IRST}
+ {283982400 12600 0 IRST}
+ {290809800 16200 1 IRDT}
+ {306531000 12600 0 IRST}
+ {322432200 16200 1 IRDT}
+ {338499000 12600 0 IRST}
+ {673216200 16200 1 IRDT}
+ {685481400 12600 0 IRST}
+ {701209800 16200 1 IRDT}
+ {717103800 12600 0 IRST}
+ {732745800 16200 1 IRDT}
+ {748639800 12600 0 IRST}
+ {764281800 16200 1 IRDT}
+ {780175800 12600 0 IRST}
+ {795817800 16200 1 IRDT}
+ {811711800 12600 0 IRST}
+ {827353800 16200 1 IRDT}
+ {843247800 12600 0 IRST}
+ {858976200 16200 1 IRDT}
+ {874870200 12600 0 IRST}
+ {890512200 16200 1 IRDT}
+ {906406200 12600 0 IRST}
+ {922048200 16200 1 IRDT}
+ {937942200 12600 0 IRST}
+ {953584200 16200 1 IRDT}
+ {969478200 12600 0 IRST}
+ {985206600 16200 1 IRDT}
+ {1001100600 12600 0 IRST}
+ {1016742600 16200 1 IRDT}
+ {1032636600 12600 0 IRST}
+ {1048278600 16200 1 IRDT}
+ {1064172600 12600 0 IRST}
+ {1079814600 16200 1 IRDT}
+ {1095708600 12600 0 IRST}
+ {1111437000 16200 1 IRDT}
+ {1127331000 12600 0 IRST}
+ {1206045000 16200 1 IRDT}
+ {1221939000 12600 0 IRST}
+ {1237667400 16200 1 IRDT}
+ {1253561400 12600 0 IRST}
+ {1269203400 16200 1 IRDT}
+ {1285097400 12600 0 IRST}
+ {1300739400 16200 1 IRDT}
+ {1316633400 12600 0 IRST}
+ {1332275400 16200 1 IRDT}
+ {1348169400 12600 0 IRST}
+ {1363897800 16200 1 IRDT}
+ {1379791800 12600 0 IRST}
+ {1395433800 16200 1 IRDT}
+ {1411327800 12600 0 IRST}
+ {1426969800 16200 1 IRDT}
+ {1442863800 12600 0 IRST}
+ {1458505800 16200 1 IRDT}
+ {1474399800 12600 0 IRST}
+ {1490128200 16200 1 IRDT}
+ {1506022200 12600 0 IRST}
+ {1521664200 16200 1 IRDT}
+ {1537558200 12600 0 IRST}
+ {1553200200 16200 1 IRDT}
+ {1569094200 12600 0 IRST}
+ {1584736200 16200 1 IRDT}
+ {1600630200 12600 0 IRST}
+ {1616358600 16200 1 IRDT}
+ {1632252600 12600 0 IRST}
+ {1647894600 16200 1 IRDT}
+ {1663788600 12600 0 IRST}
+ {1679430600 16200 1 IRDT}
+ {1695324600 12600 0 IRST}
+ {1710966600 16200 1 IRDT}
+ {1726860600 12600 0 IRST}
+ {1742589000 16200 1 IRDT}
+ {1758483000 12600 0 IRST}
+ {1774125000 16200 1 IRDT}
+ {1790019000 12600 0 IRST}
+ {1805661000 16200 1 IRDT}
+ {1821555000 12600 0 IRST}
+ {1837197000 16200 1 IRDT}
+ {1853091000 12600 0 IRST}
+ {1868733000 16200 1 IRDT}
+ {1884627000 12600 0 IRST}
+ {1900355400 16200 1 IRDT}
+ {1916249400 12600 0 IRST}
+ {1931891400 16200 1 IRDT}
+ {1947785400 12600 0 IRST}
+ {1963427400 16200 1 IRDT}
+ {1979321400 12600 0 IRST}
+ {1994963400 16200 1 IRDT}
+ {2010857400 12600 0 IRST}
+ {2026585800 16200 1 IRDT}
+ {2042479800 12600 0 IRST}
+ {2058121800 16200 1 IRDT}
+ {2074015800 12600 0 IRST}
+ {2089657800 16200 1 IRDT}
+ {2105551800 12600 0 IRST}
+ {2121193800 16200 1 IRDT}
+ {2137087800 12600 0 IRST}
}
diff --git a/library/tzdata/Asia/Thimphu b/library/tzdata/Asia/Thimphu
index 55c3d7f..8c981de 100644
--- a/library/tzdata/Asia/Thimphu
+++ b/library/tzdata/Asia/Thimphu
@@ -2,6 +2,6 @@
set TZData(:Asia/Thimphu) {
{-9223372036854775808 21516 0 LMT}
- {-706341516 19800 0 +0530}
- {560025000 21600 0 +06}
+ {-706341516 19800 0 IST}
+ {560025000 21600 0 BTT}
}
diff --git a/library/tzdata/Asia/Tokyo b/library/tzdata/Asia/Tokyo
index cc7a857..5bfc75c 100644
--- a/library/tzdata/Asia/Tokyo
+++ b/library/tzdata/Asia/Tokyo
@@ -3,12 +3,14 @@
set TZData(:Asia/Tokyo) {
{-9223372036854775808 33539 0 LMT}
{-2587712400 32400 0 JST}
- {-683802000 36000 1 JDT}
- {-672310800 32400 0 JST}
- {-654771600 36000 1 JDT}
- {-640861200 32400 0 JST}
- {-620298000 36000 1 JDT}
- {-609411600 32400 0 JST}
- {-588848400 36000 1 JDT}
- {-577962000 32400 0 JST}
+ {-2335251600 32400 0 JCST}
+ {-1017824400 32400 0 JST}
+ {-683794800 36000 1 JDT}
+ {-672393600 32400 0 JST}
+ {-654764400 36000 1 JDT}
+ {-640944000 32400 0 JST}
+ {-620290800 36000 1 JDT}
+ {-609494400 32400 0 JST}
+ {-588841200 36000 1 JDT}
+ {-578044800 32400 0 JST}
}
diff --git a/library/tzdata/Asia/Tomsk b/library/tzdata/Asia/Tomsk
deleted file mode 100644
index 0694d01..0000000
--- a/library/tzdata/Asia/Tomsk
+++ /dev/null
@@ -1,73 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Tomsk) {
- {-9223372036854775808 20391 0 LMT}
- {-1578807591 21600 0 +06}
- {-1247551200 25200 0 +08}
- {354906000 28800 1 +08}
- {370713600 25200 0 +07}
- {386442000 28800 1 +08}
- {402249600 25200 0 +07}
- {417978000 28800 1 +08}
- {433785600 25200 0 +07}
- {449600400 28800 1 +08}
- {465332400 25200 0 +07}
- {481057200 28800 1 +08}
- {496782000 25200 0 +07}
- {512506800 28800 1 +08}
- {528231600 25200 0 +07}
- {543956400 28800 1 +08}
- {559681200 25200 0 +07}
- {575406000 28800 1 +08}
- {591130800 25200 0 +07}
- {606855600 28800 1 +08}
- {622580400 25200 0 +07}
- {638305200 28800 1 +08}
- {654634800 25200 0 +07}
- {670359600 21600 0 +07}
- {670363200 25200 1 +07}
- {686088000 21600 0 +06}
- {695764800 25200 0 +08}
- {701809200 28800 1 +08}
- {717534000 25200 0 +07}
- {733258800 28800 1 +08}
- {748983600 25200 0 +07}
- {764708400 28800 1 +08}
- {780433200 25200 0 +07}
- {796158000 28800 1 +08}
- {811882800 25200 0 +07}
- {828212400 28800 1 +08}
- {846356400 25200 0 +07}
- {859662000 28800 1 +08}
- {877806000 25200 0 +07}
- {891111600 28800 1 +08}
- {909255600 25200 0 +07}
- {922561200 28800 1 +08}
- {941310000 25200 0 +07}
- {954010800 28800 1 +08}
- {972759600 25200 0 +07}
- {985460400 28800 1 +08}
- {1004209200 25200 0 +07}
- {1017514800 28800 1 +08}
- {1020196800 25200 0 +07}
- {1035662400 21600 0 +06}
- {1048968000 25200 1 +07}
- {1067112000 21600 0 +06}
- {1080417600 25200 1 +07}
- {1099166400 21600 0 +06}
- {1111867200 25200 1 +07}
- {1130616000 21600 0 +06}
- {1143316800 25200 1 +07}
- {1162065600 21600 0 +06}
- {1174766400 25200 1 +07}
- {1193515200 21600 0 +06}
- {1206820800 25200 1 +07}
- {1224964800 21600 0 +06}
- {1238270400 25200 1 +07}
- {1256414400 21600 0 +06}
- {1269720000 25200 1 +07}
- {1288468800 21600 0 +06}
- {1301169600 25200 0 +07}
- {1414263600 21600 0 +06}
- {1464465600 25200 0 +07}
-}
diff --git a/library/tzdata/Asia/Ulaanbaatar b/library/tzdata/Asia/Ulaanbaatar
index 3a33ef9..93e066c 100644
--- a/library/tzdata/Asia/Ulaanbaatar
+++ b/library/tzdata/Asia/Ulaanbaatar
@@ -2,54 +2,220 @@
set TZData(:Asia/Ulaanbaatar) {
{-9223372036854775808 25652 0 LMT}
- {-2032931252 25200 0 +07}
- {252435600 28800 0 +08}
- {417974400 32400 1 +08}
- {433782000 28800 0 +08}
- {449596800 32400 1 +08}
- {465318000 28800 0 +08}
- {481046400 32400 1 +08}
- {496767600 28800 0 +08}
- {512496000 32400 1 +08}
- {528217200 28800 0 +08}
- {543945600 32400 1 +08}
- {559666800 28800 0 +08}
- {575395200 32400 1 +08}
- {591116400 28800 0 +08}
- {606844800 32400 1 +08}
- {622566000 28800 0 +08}
- {638294400 32400 1 +08}
- {654620400 28800 0 +08}
- {670348800 32400 1 +08}
- {686070000 28800 0 +08}
- {701798400 32400 1 +08}
- {717519600 28800 0 +08}
- {733248000 32400 1 +08}
- {748969200 28800 0 +08}
- {764697600 32400 1 +08}
- {780418800 28800 0 +08}
- {796147200 32400 1 +08}
- {811868400 28800 0 +08}
- {828201600 32400 1 +08}
- {843922800 28800 0 +08}
- {859651200 32400 1 +08}
- {875372400 28800 0 +08}
- {891100800 32400 1 +08}
- {906822000 28800 0 +08}
- {988394400 32400 1 +08}
- {1001696400 28800 0 +08}
- {1017424800 32400 1 +08}
- {1033146000 28800 0 +08}
- {1048874400 32400 1 +08}
- {1064595600 28800 0 +08}
- {1080324000 32400 1 +08}
- {1096045200 28800 0 +08}
- {1111773600 32400 1 +08}
- {1127494800 28800 0 +08}
- {1143223200 32400 1 +08}
- {1159549200 28800 0 +08}
- {1427479200 32400 1 +08}
- {1443193200 28800 0 +08}
- {1458928800 32400 1 +08}
- {1474642800 28800 0 +08}
+ {-2032931252 25200 0 ULAT}
+ {252435600 28800 0 ULAT}
+ {417974400 32400 1 ULAST}
+ {433782000 28800 0 ULAT}
+ {449596800 32400 1 ULAST}
+ {465318000 28800 0 ULAT}
+ {481046400 32400 1 ULAST}
+ {496767600 28800 0 ULAT}
+ {512496000 32400 1 ULAST}
+ {528217200 28800 0 ULAT}
+ {543945600 32400 1 ULAST}
+ {559666800 28800 0 ULAT}
+ {575395200 32400 1 ULAST}
+ {591116400 28800 0 ULAT}
+ {606844800 32400 1 ULAST}
+ {622566000 28800 0 ULAT}
+ {638294400 32400 1 ULAST}
+ {654620400 28800 0 ULAT}
+ {670348800 32400 1 ULAST}
+ {686070000 28800 0 ULAT}
+ {701798400 32400 1 ULAST}
+ {717519600 28800 0 ULAT}
+ {733248000 32400 1 ULAST}
+ {748969200 28800 0 ULAT}
+ {764697600 32400 1 ULAST}
+ {780418800 28800 0 ULAT}
+ {796147200 32400 1 ULAST}
+ {811868400 28800 0 ULAT}
+ {828201600 32400 1 ULAST}
+ {843922800 28800 0 ULAT}
+ {859651200 32400 1 ULAST}
+ {875372400 28800 0 ULAT}
+ {891100800 32400 1 ULAST}
+ {906822000 28800 0 ULAT}
+ {988394400 32400 1 ULAST}
+ {1001696400 28800 0 ULAT}
+ {1017424800 32400 1 ULAST}
+ {1033146000 28800 0 ULAT}
+ {1048874400 32400 1 ULAST}
+ {1064595600 28800 0 ULAT}
+ {1080324000 32400 1 ULAST}
+ {1096045200 28800 0 ULAT}
+ {1111773600 32400 1 ULAST}
+ {1127494800 28800 0 ULAT}
+ {1143223200 32400 1 ULAST}
+ {1159549200 28800 0 ULAT}
+ {1427479200 32400 1 ULAST}
+ {1443193200 28800 0 ULAT}
+ {1458928800 32400 1 ULAST}
+ {1474642800 28800 0 ULAT}
+ {1490378400 32400 1 ULAST}
+ {1506697200 28800 0 ULAT}
+ {1522432800 32400 1 ULAST}
+ {1538146800 28800 0 ULAT}
+ {1553882400 32400 1 ULAST}
+ {1569596400 28800 0 ULAT}
+ {1585332000 32400 1 ULAST}
+ {1601046000 28800 0 ULAT}
+ {1616781600 32400 1 ULAST}
+ {1632495600 28800 0 ULAT}
+ {1648231200 32400 1 ULAST}
+ {1663945200 28800 0 ULAT}
+ {1679680800 32400 1 ULAST}
+ {1695999600 28800 0 ULAT}
+ {1711735200 32400 1 ULAST}
+ {1727449200 28800 0 ULAT}
+ {1743184800 32400 1 ULAST}
+ {1758898800 28800 0 ULAT}
+ {1774634400 32400 1 ULAST}
+ {1790348400 28800 0 ULAT}
+ {1806084000 32400 1 ULAST}
+ {1821798000 28800 0 ULAT}
+ {1837533600 32400 1 ULAST}
+ {1853852400 28800 0 ULAT}
+ {1869588000 32400 1 ULAST}
+ {1885302000 28800 0 ULAT}
+ {1901037600 32400 1 ULAST}
+ {1916751600 28800 0 ULAT}
+ {1932487200 32400 1 ULAST}
+ {1948201200 28800 0 ULAT}
+ {1963936800 32400 1 ULAST}
+ {1979650800 28800 0 ULAT}
+ {1995386400 32400 1 ULAST}
+ {2011100400 28800 0 ULAT}
+ {2026836000 32400 1 ULAST}
+ {2043154800 28800 0 ULAT}
+ {2058890400 32400 1 ULAST}
+ {2074604400 28800 0 ULAT}
+ {2090340000 32400 1 ULAST}
+ {2106054000 28800 0 ULAT}
+ {2121789600 32400 1 ULAST}
+ {2137503600 28800 0 ULAT}
+ {2153239200 32400 1 ULAST}
+ {2168953200 28800 0 ULAT}
+ {2184688800 32400 1 ULAST}
+ {2200402800 28800 0 ULAT}
+ {2216743200 32400 1 ULAST}
+ {2232457200 28800 0 ULAT}
+ {2248192800 32400 1 ULAST}
+ {2263906800 28800 0 ULAT}
+ {2279642400 32400 1 ULAST}
+ {2295356400 28800 0 ULAT}
+ {2311092000 32400 1 ULAST}
+ {2326806000 28800 0 ULAT}
+ {2342541600 32400 1 ULAST}
+ {2358255600 28800 0 ULAT}
+ {2373991200 32400 1 ULAST}
+ {2390310000 28800 0 ULAT}
+ {2406045600 32400 1 ULAST}
+ {2421759600 28800 0 ULAT}
+ {2437495200 32400 1 ULAST}
+ {2453209200 28800 0 ULAT}
+ {2468944800 32400 1 ULAST}
+ {2484658800 28800 0 ULAT}
+ {2500394400 32400 1 ULAST}
+ {2516108400 28800 0 ULAT}
+ {2531844000 32400 1 ULAST}
+ {2547558000 28800 0 ULAT}
+ {2563293600 32400 1 ULAST}
+ {2579612400 28800 0 ULAT}
+ {2595348000 32400 1 ULAST}
+ {2611062000 28800 0 ULAT}
+ {2626797600 32400 1 ULAST}
+ {2642511600 28800 0 ULAT}
+ {2658247200 32400 1 ULAST}
+ {2673961200 28800 0 ULAT}
+ {2689696800 32400 1 ULAST}
+ {2705410800 28800 0 ULAT}
+ {2721146400 32400 1 ULAST}
+ {2737465200 28800 0 ULAT}
+ {2753200800 32400 1 ULAST}
+ {2768914800 28800 0 ULAT}
+ {2784650400 32400 1 ULAST}
+ {2800364400 28800 0 ULAT}
+ {2816100000 32400 1 ULAST}
+ {2831814000 28800 0 ULAT}
+ {2847549600 32400 1 ULAST}
+ {2863263600 28800 0 ULAT}
+ {2878999200 32400 1 ULAST}
+ {2894713200 28800 0 ULAT}
+ {2910448800 32400 1 ULAST}
+ {2926767600 28800 0 ULAT}
+ {2942503200 32400 1 ULAST}
+ {2958217200 28800 0 ULAT}
+ {2973952800 32400 1 ULAST}
+ {2989666800 28800 0 ULAT}
+ {3005402400 32400 1 ULAST}
+ {3021116400 28800 0 ULAT}
+ {3036852000 32400 1 ULAST}
+ {3052566000 28800 0 ULAT}
+ {3068301600 32400 1 ULAST}
+ {3084015600 28800 0 ULAT}
+ {3100356000 32400 1 ULAST}
+ {3116070000 28800 0 ULAT}
+ {3131805600 32400 1 ULAST}
+ {3147519600 28800 0 ULAT}
+ {3163255200 32400 1 ULAST}
+ {3178969200 28800 0 ULAT}
+ {3194704800 32400 1 ULAST}
+ {3210418800 28800 0 ULAT}
+ {3226154400 32400 1 ULAST}
+ {3241868400 28800 0 ULAT}
+ {3257604000 32400 1 ULAST}
+ {3273922800 28800 0 ULAT}
+ {3289658400 32400 1 ULAST}
+ {3305372400 28800 0 ULAT}
+ {3321108000 32400 1 ULAST}
+ {3336822000 28800 0 ULAT}
+ {3352557600 32400 1 ULAST}
+ {3368271600 28800 0 ULAT}
+ {3384007200 32400 1 ULAST}
+ {3399721200 28800 0 ULAT}
+ {3415456800 32400 1 ULAST}
+ {3431170800 28800 0 ULAT}
+ {3446906400 32400 1 ULAST}
+ {3463225200 28800 0 ULAT}
+ {3478960800 32400 1 ULAST}
+ {3494674800 28800 0 ULAT}
+ {3510410400 32400 1 ULAST}
+ {3526124400 28800 0 ULAT}
+ {3541860000 32400 1 ULAST}
+ {3557574000 28800 0 ULAT}
+ {3573309600 32400 1 ULAST}
+ {3589023600 28800 0 ULAT}
+ {3604759200 32400 1 ULAST}
+ {3621078000 28800 0 ULAT}
+ {3636813600 32400 1 ULAST}
+ {3652527600 28800 0 ULAT}
+ {3668263200 32400 1 ULAST}
+ {3683977200 28800 0 ULAT}
+ {3699712800 32400 1 ULAST}
+ {3715426800 28800 0 ULAT}
+ {3731162400 32400 1 ULAST}
+ {3746876400 28800 0 ULAT}
+ {3762612000 32400 1 ULAST}
+ {3778326000 28800 0 ULAT}
+ {3794061600 32400 1 ULAST}
+ {3810380400 28800 0 ULAT}
+ {3826116000 32400 1 ULAST}
+ {3841830000 28800 0 ULAT}
+ {3857565600 32400 1 ULAST}
+ {3873279600 28800 0 ULAT}
+ {3889015200 32400 1 ULAST}
+ {3904729200 28800 0 ULAT}
+ {3920464800 32400 1 ULAST}
+ {3936178800 28800 0 ULAT}
+ {3951914400 32400 1 ULAST}
+ {3967628400 28800 0 ULAT}
+ {3983968800 32400 1 ULAST}
+ {3999682800 28800 0 ULAT}
+ {4015418400 32400 1 ULAST}
+ {4031132400 28800 0 ULAT}
+ {4046868000 32400 1 ULAST}
+ {4062582000 28800 0 ULAT}
+ {4078317600 32400 1 ULAST}
+ {4094031600 28800 0 ULAT}
}
diff --git a/library/tzdata/Asia/Urumqi b/library/tzdata/Asia/Urumqi
index 194e090..4f3cd67 100644
--- a/library/tzdata/Asia/Urumqi
+++ b/library/tzdata/Asia/Urumqi
@@ -2,5 +2,5 @@
set TZData(:Asia/Urumqi) {
{-9223372036854775808 21020 0 LMT}
- {-1325483420 21600 0 +06}
+ {-1325483420 21600 0 XJT}
}
diff --git a/library/tzdata/Asia/Ust-Nera b/library/tzdata/Asia/Ust-Nera
index 021fa62..90fa7d5 100644
--- a/library/tzdata/Asia/Ust-Nera
+++ b/library/tzdata/Asia/Ust-Nera
@@ -2,70 +2,70 @@
set TZData(:Asia/Ust-Nera) {
{-9223372036854775808 34374 0 LMT}
- {-1579426374 28800 0 +08}
- {354898800 43200 0 +12}
- {370699200 39600 0 +11}
- {386427600 43200 1 +12}
- {402235200 39600 0 +11}
- {417963600 43200 1 +12}
- {433771200 39600 0 +11}
- {449586000 43200 1 +12}
- {465318000 39600 0 +11}
- {481042800 43200 1 +12}
- {496767600 39600 0 +11}
- {512492400 43200 1 +12}
- {528217200 39600 0 +11}
- {543942000 43200 1 +12}
- {559666800 39600 0 +11}
- {575391600 43200 1 +12}
- {591116400 39600 0 +11}
- {606841200 43200 1 +12}
- {622566000 39600 0 +11}
- {638290800 43200 1 +12}
- {654620400 39600 0 +11}
- {670345200 36000 0 +11}
- {670348800 39600 1 +11}
- {686073600 36000 0 +10}
- {695750400 39600 0 +12}
- {701794800 43200 1 +12}
- {717519600 39600 0 +11}
- {733244400 43200 1 +12}
- {748969200 39600 0 +11}
- {764694000 43200 1 +12}
- {780418800 39600 0 +11}
- {796143600 43200 1 +12}
- {811868400 39600 0 +11}
- {828198000 43200 1 +12}
- {846342000 39600 0 +11}
- {859647600 43200 1 +12}
- {877791600 39600 0 +11}
- {891097200 43200 1 +12}
- {909241200 39600 0 +11}
- {922546800 43200 1 +12}
- {941295600 39600 0 +11}
- {953996400 43200 1 +12}
- {972745200 39600 0 +11}
- {985446000 43200 1 +12}
- {1004194800 39600 0 +11}
- {1017500400 43200 1 +12}
- {1035644400 39600 0 +11}
- {1048950000 43200 1 +12}
- {1067094000 39600 0 +11}
- {1080399600 43200 1 +12}
- {1099148400 39600 0 +11}
- {1111849200 43200 1 +12}
- {1130598000 39600 0 +11}
- {1143298800 43200 1 +12}
- {1162047600 39600 0 +11}
- {1174748400 43200 1 +12}
- {1193497200 39600 0 +11}
- {1206802800 43200 1 +12}
- {1224946800 39600 0 +11}
- {1238252400 43200 1 +12}
- {1256396400 39600 0 +11}
- {1269702000 43200 1 +12}
- {1288450800 39600 0 +11}
- {1301151600 43200 0 +12}
- {1315828800 39600 0 +11}
- {1414249200 36000 0 +10}
+ {-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}
+ {1414249200 36000 0 VLAT}
}
diff --git a/library/tzdata/Asia/Vladivostok b/library/tzdata/Asia/Vladivostok
index e8f651c..119ff57 100644
--- a/library/tzdata/Asia/Vladivostok
+++ b/library/tzdata/Asia/Vladivostok
@@ -2,70 +2,70 @@
set TZData(:Asia/Vladivostok) {
{-9223372036854775808 31651 0 LMT}
- {-1487321251 32400 0 +09}
- {-1247562000 36000 0 +11}
- {354895200 39600 1 +11}
- {370702800 36000 0 +10}
- {386431200 39600 1 +11}
- {402238800 36000 0 +10}
- {417967200 39600 1 +11}
- {433774800 36000 0 +10}
- {449589600 39600 1 +11}
- {465321600 36000 0 +10}
- {481046400 39600 1 +11}
- {496771200 36000 0 +10}
- {512496000 39600 1 +11}
- {528220800 36000 0 +10}
- {543945600 39600 1 +11}
- {559670400 36000 0 +10}
- {575395200 39600 1 +11}
- {591120000 36000 0 +10}
- {606844800 39600 1 +11}
- {622569600 36000 0 +10}
- {638294400 39600 1 +11}
- {654624000 36000 0 +10}
- {670348800 32400 0 +10}
- {670352400 36000 1 +10}
- {686077200 32400 0 +09}
- {695754000 36000 0 +11}
- {701798400 39600 1 +11}
- {717523200 36000 0 +10}
- {733248000 39600 1 +11}
- {748972800 36000 0 +10}
- {764697600 39600 1 +11}
- {780422400 36000 0 +10}
- {796147200 39600 1 +11}
- {811872000 36000 0 +10}
- {828201600 39600 1 +11}
- {846345600 36000 0 +10}
- {859651200 39600 1 +11}
- {877795200 36000 0 +10}
- {891100800 39600 1 +11}
- {909244800 36000 0 +10}
- {922550400 39600 1 +11}
- {941299200 36000 0 +10}
- {954000000 39600 1 +11}
- {972748800 36000 0 +10}
- {985449600 39600 1 +11}
- {1004198400 36000 0 +10}
- {1017504000 39600 1 +11}
- {1035648000 36000 0 +10}
- {1048953600 39600 1 +11}
- {1067097600 36000 0 +10}
- {1080403200 39600 1 +11}
- {1099152000 36000 0 +10}
- {1111852800 39600 1 +11}
- {1130601600 36000 0 +10}
- {1143302400 39600 1 +11}
- {1162051200 36000 0 +10}
- {1174752000 39600 1 +11}
- {1193500800 36000 0 +10}
- {1206806400 39600 1 +11}
- {1224950400 36000 0 +10}
- {1238256000 39600 1 +11}
- {1256400000 36000 0 +10}
- {1269705600 39600 1 +11}
- {1288454400 36000 0 +10}
- {1301155200 39600 0 +11}
- {1414249200 36000 0 +10}
+ {-1487321251 32400 0 VLAT}
+ {-1247562000 36000 0 VLAMMTT}
+ {354895200 39600 1 VLAST}
+ {370702800 36000 0 VLAT}
+ {386431200 39600 1 VLAST}
+ {402238800 36000 0 VLAT}
+ {417967200 39600 1 VLAST}
+ {433774800 36000 0 VLAT}
+ {449589600 39600 1 VLAST}
+ {465321600 36000 0 VLAT}
+ {481046400 39600 1 VLAST}
+ {496771200 36000 0 VLAT}
+ {512496000 39600 1 VLAST}
+ {528220800 36000 0 VLAT}
+ {543945600 39600 1 VLAST}
+ {559670400 36000 0 VLAT}
+ {575395200 39600 1 VLAST}
+ {591120000 36000 0 VLAT}
+ {606844800 39600 1 VLAST}
+ {622569600 36000 0 VLAT}
+ {638294400 39600 1 VLAST}
+ {654624000 36000 0 VLAT}
+ {670348800 32400 0 VLAMMTT}
+ {670352400 36000 1 VLAST}
+ {686077200 32400 0 VLAT}
+ {695754000 36000 0 VLAMMTT}
+ {701787600 39600 1 VLAST}
+ {717508800 36000 0 VLAT}
+ {733248000 39600 1 VLAST}
+ {748972800 36000 0 VLAT}
+ {764697600 39600 1 VLAST}
+ {780422400 36000 0 VLAT}
+ {796147200 39600 1 VLAST}
+ {811872000 36000 0 VLAT}
+ {828201600 39600 1 VLAST}
+ {846345600 36000 0 VLAT}
+ {859651200 39600 1 VLAST}
+ {877795200 36000 0 VLAT}
+ {891100800 39600 1 VLAST}
+ {909244800 36000 0 VLAT}
+ {922550400 39600 1 VLAST}
+ {941299200 36000 0 VLAT}
+ {954000000 39600 1 VLAST}
+ {972748800 36000 0 VLAT}
+ {985449600 39600 1 VLAST}
+ {1004198400 36000 0 VLAT}
+ {1017504000 39600 1 VLAST}
+ {1035648000 36000 0 VLAT}
+ {1048953600 39600 1 VLAST}
+ {1067097600 36000 0 VLAT}
+ {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}
+ {1414249200 36000 0 VLAT}
}
diff --git a/library/tzdata/Asia/Yakutsk b/library/tzdata/Asia/Yakutsk
index 8ee153a..17493a6 100644
--- a/library/tzdata/Asia/Yakutsk
+++ b/library/tzdata/Asia/Yakutsk
@@ -2,70 +2,70 @@
set TZData(:Asia/Yakutsk) {
{-9223372036854775808 31138 0 LMT}
- {-1579423138 28800 0 +08}
- {-1247558400 32400 0 +10}
- {354898800 36000 1 +10}
- {370706400 32400 0 +09}
- {386434800 36000 1 +10}
- {402242400 32400 0 +09}
- {417970800 36000 1 +10}
- {433778400 32400 0 +09}
- {449593200 36000 1 +10}
- {465325200 32400 0 +09}
- {481050000 36000 1 +10}
- {496774800 32400 0 +09}
- {512499600 36000 1 +10}
- {528224400 32400 0 +09}
- {543949200 36000 1 +10}
- {559674000 32400 0 +09}
- {575398800 36000 1 +10}
- {591123600 32400 0 +09}
- {606848400 36000 1 +10}
- {622573200 32400 0 +09}
- {638298000 36000 1 +10}
- {654627600 32400 0 +09}
- {670352400 28800 0 +09}
- {670356000 32400 1 +09}
- {686080800 28800 0 +08}
- {695757600 32400 0 +10}
- {701802000 36000 1 +10}
- {717526800 32400 0 +09}
- {733251600 36000 1 +10}
- {748976400 32400 0 +09}
- {764701200 36000 1 +10}
- {780426000 32400 0 +09}
- {796150800 36000 1 +10}
- {811875600 32400 0 +09}
- {828205200 36000 1 +10}
- {846349200 32400 0 +09}
- {859654800 36000 1 +10}
- {877798800 32400 0 +09}
- {891104400 36000 1 +10}
- {909248400 32400 0 +09}
- {922554000 36000 1 +10}
- {941302800 32400 0 +09}
- {954003600 36000 1 +10}
- {972752400 32400 0 +09}
- {985453200 36000 1 +10}
- {1004202000 32400 0 +09}
- {1017507600 36000 1 +10}
- {1035651600 32400 0 +09}
- {1048957200 36000 1 +10}
- {1067101200 32400 0 +09}
- {1080406800 36000 1 +10}
- {1099155600 32400 0 +09}
- {1111856400 36000 1 +10}
- {1130605200 32400 0 +09}
- {1143306000 36000 1 +10}
- {1162054800 32400 0 +09}
- {1174755600 36000 1 +10}
- {1193504400 32400 0 +09}
- {1206810000 36000 1 +10}
- {1224954000 32400 0 +09}
- {1238259600 36000 1 +10}
- {1256403600 32400 0 +09}
- {1269709200 36000 1 +10}
- {1288458000 32400 0 +09}
- {1301158800 36000 0 +10}
- {1414252800 32400 0 +09}
+ {-1579423138 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}
+ {1080406800 36000 1 YAKST}
+ {1099155600 32400 0 YAKT}
+ {1111856400 36000 1 YAKST}
+ {1130605200 32400 0 YAKT}
+ {1143306000 36000 1 YAKST}
+ {1162054800 32400 0 YAKT}
+ {1174755600 36000 1 YAKST}
+ {1193504400 32400 0 YAKT}
+ {1206810000 36000 1 YAKST}
+ {1224954000 32400 0 YAKT}
+ {1238259600 36000 1 YAKST}
+ {1256403600 32400 0 YAKT}
+ {1269709200 36000 1 YAKST}
+ {1288458000 32400 0 YAKT}
+ {1301158800 36000 0 YAKT}
+ {1414252800 32400 0 YAKT}
}
diff --git a/library/tzdata/Asia/Yangon b/library/tzdata/Asia/Yangon
deleted file mode 100644
index 82870c6..0000000
--- a/library/tzdata/Asia/Yangon
+++ /dev/null
@@ -1,9 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Asia/Yangon) {
- {-9223372036854775808 23087 0 LMT}
- {-2840163887 23087 0 RMT}
- {-1577946287 23400 0 +0630}
- {-873268200 32400 0 +09}
- {-778410000 23400 0 +0630}
-}
diff --git a/library/tzdata/Asia/Yekaterinburg b/library/tzdata/Asia/Yekaterinburg
index d2133b1..2678958 100644
--- a/library/tzdata/Asia/Yekaterinburg
+++ b/library/tzdata/Asia/Yekaterinburg
@@ -3,70 +3,70 @@
set TZData(:Asia/Yekaterinburg) {
{-9223372036854775808 14553 0 LMT}
{-1688270553 13505 0 PMT}
- {-1592610305 14400 0 +04}
- {-1247544000 18000 0 +06}
- {354913200 21600 1 +06}
- {370720800 18000 0 +05}
- {386449200 21600 1 +06}
- {402256800 18000 0 +05}
- {417985200 21600 1 +06}
- {433792800 18000 0 +05}
- {449607600 21600 1 +06}
- {465339600 18000 0 +05}
- {481064400 21600 1 +06}
- {496789200 18000 0 +05}
- {512514000 21600 1 +06}
- {528238800 18000 0 +05}
- {543963600 21600 1 +06}
- {559688400 18000 0 +05}
- {575413200 21600 1 +06}
- {591138000 18000 0 +05}
- {606862800 21600 1 +06}
- {622587600 18000 0 +05}
- {638312400 21600 1 +06}
- {654642000 18000 0 +05}
- {670366800 14400 0 +05}
- {670370400 18000 1 +05}
- {686095200 14400 0 +04}
- {695772000 18000 0 +06}
- {701816400 21600 1 +06}
- {717541200 18000 0 +05}
- {733266000 21600 1 +06}
- {748990800 18000 0 +05}
- {764715600 21600 1 +06}
- {780440400 18000 0 +05}
- {796165200 21600 1 +06}
- {811890000 18000 0 +05}
- {828219600 21600 1 +06}
- {846363600 18000 0 +05}
- {859669200 21600 1 +06}
- {877813200 18000 0 +05}
- {891118800 21600 1 +06}
- {909262800 18000 0 +05}
- {922568400 21600 1 +06}
- {941317200 18000 0 +05}
- {954018000 21600 1 +06}
- {972766800 18000 0 +05}
- {985467600 21600 1 +06}
- {1004216400 18000 0 +05}
- {1017522000 21600 1 +06}
- {1035666000 18000 0 +05}
- {1048971600 21600 1 +06}
- {1067115600 18000 0 +05}
- {1080421200 21600 1 +06}
- {1099170000 18000 0 +05}
- {1111870800 21600 1 +06}
- {1130619600 18000 0 +05}
- {1143320400 21600 1 +06}
- {1162069200 18000 0 +05}
- {1174770000 21600 1 +06}
- {1193518800 18000 0 +05}
- {1206824400 21600 1 +06}
- {1224968400 18000 0 +05}
- {1238274000 21600 1 +06}
- {1256418000 18000 0 +05}
- {1269723600 21600 1 +06}
- {1288472400 18000 0 +05}
- {1301173200 21600 0 +06}
- {1414267200 18000 0 +05}
+ {-1592610305 14400 0 SVET}
+ {-1247544000 18000 0 SVEMMTT}
+ {354913200 21600 1 SVEST}
+ {370720800 18000 0 SVET}
+ {386449200 21600 1 SVEST}
+ {402256800 18000 0 SVET}
+ {417985200 21600 1 SVEST}
+ {433792800 18000 0 SVET}
+ {449607600 21600 1 SVEST}
+ {465339600 18000 0 SVET}
+ {481064400 21600 1 SVEST}
+ {496789200 18000 0 SVET}
+ {512514000 21600 1 SVEST}
+ {528238800 18000 0 SVET}
+ {543963600 21600 1 SVEST}
+ {559688400 18000 0 SVET}
+ {575413200 21600 1 SVEST}
+ {591138000 18000 0 SVET}
+ {606862800 21600 1 SVEST}
+ {622587600 18000 0 SVET}
+ {638312400 21600 1 SVEST}
+ {654642000 18000 0 SVET}
+ {670366800 14400 0 SVEMMTT}
+ {670370400 18000 1 SVEST}
+ {686095200 14400 0 SVET}
+ {695772000 18000 0 YEKMMTT}
+ {701805600 21600 1 YEKST}
+ {717526800 18000 0 YEKT}
+ {733266000 21600 1 YEKST}
+ {748990800 18000 0 YEKT}
+ {764715600 21600 1 YEKST}
+ {780440400 18000 0 YEKT}
+ {796165200 21600 1 YEKST}
+ {811890000 18000 0 YEKT}
+ {828219600 21600 1 YEKST}
+ {846363600 18000 0 YEKT}
+ {859669200 21600 1 YEKST}
+ {877813200 18000 0 YEKT}
+ {891118800 21600 1 YEKST}
+ {909262800 18000 0 YEKT}
+ {922568400 21600 1 YEKST}
+ {941317200 18000 0 YEKT}
+ {954018000 21600 1 YEKST}
+ {972766800 18000 0 YEKT}
+ {985467600 21600 1 YEKST}
+ {1004216400 18000 0 YEKT}
+ {1017522000 21600 1 YEKST}
+ {1035666000 18000 0 YEKT}
+ {1048971600 21600 1 YEKST}
+ {1067115600 18000 0 YEKT}
+ {1080421200 21600 1 YEKST}
+ {1099170000 18000 0 YEKT}
+ {1111870800 21600 1 YEKST}
+ {1130619600 18000 0 YEKT}
+ {1143320400 21600 1 YEKST}
+ {1162069200 18000 0 YEKT}
+ {1174770000 21600 1 YEKST}
+ {1193518800 18000 0 YEKT}
+ {1206824400 21600 1 YEKST}
+ {1224968400 18000 0 YEKT}
+ {1238274000 21600 1 YEKST}
+ {1256418000 18000 0 YEKT}
+ {1269723600 21600 1 YEKST}
+ {1288472400 18000 0 YEKT}
+ {1301173200 21600 0 YEKT}
+ {1414267200 18000 0 YEKT}
}
diff --git a/library/tzdata/Asia/Yerevan b/library/tzdata/Asia/Yerevan
index 463bed0..22008ef 100644
--- a/library/tzdata/Asia/Yerevan
+++ b/library/tzdata/Asia/Yerevan
@@ -2,69 +2,69 @@
set TZData(:Asia/Yerevan) {
{-9223372036854775808 10680 0 LMT}
- {-1441162680 10800 0 +03}
- {-405140400 14400 0 +04}
- {354916800 18000 1 +04}
- {370724400 14400 0 +04}
- {386452800 18000 1 +04}
- {402260400 14400 0 +04}
- {417988800 18000 1 +04}
- {433796400 14400 0 +04}
- {449611200 18000 1 +04}
- {465343200 14400 0 +04}
- {481068000 18000 1 +04}
- {496792800 14400 0 +04}
- {512517600 18000 1 +04}
- {528242400 14400 0 +04}
- {543967200 18000 1 +04}
- {559692000 14400 0 +04}
- {575416800 18000 1 +04}
- {591141600 14400 0 +04}
- {606866400 18000 1 +04}
- {622591200 14400 0 +04}
- {638316000 18000 1 +04}
- {654645600 14400 0 +04}
- {670370400 10800 0 +03}
- {670374000 14400 1 +03}
- {686098800 10800 0 +03}
- {701823600 14400 1 +03}
- {717548400 10800 0 +03}
- {733273200 14400 1 +03}
- {748998000 10800 0 +03}
- {764722800 14400 1 +03}
- {780447600 10800 0 +03}
- {796172400 14400 1 +03}
- {811897200 14400 0 +04}
- {852062400 14400 0 +04}
- {859672800 18000 1 +04}
- {877816800 14400 0 +04}
- {891122400 18000 1 +04}
- {909266400 14400 0 +04}
- {922572000 18000 1 +04}
- {941320800 14400 0 +04}
- {954021600 18000 1 +04}
- {972770400 14400 0 +04}
- {985471200 18000 1 +04}
- {1004220000 14400 0 +04}
- {1017525600 18000 1 +04}
- {1035669600 14400 0 +04}
- {1048975200 18000 1 +04}
- {1067119200 14400 0 +04}
- {1080424800 18000 1 +04}
- {1099173600 14400 0 +04}
- {1111874400 18000 1 +04}
- {1130623200 14400 0 +04}
- {1143324000 18000 1 +04}
- {1162072800 14400 0 +04}
- {1174773600 18000 1 +04}
- {1193522400 14400 0 +04}
- {1206828000 18000 1 +04}
- {1224972000 14400 0 +04}
- {1238277600 18000 1 +04}
- {1256421600 14400 0 +04}
- {1269727200 18000 1 +04}
- {1288476000 14400 0 +04}
- {1293825600 14400 0 +04}
- {1301176800 18000 1 +04}
- {1319925600 14400 0 +04}
+ {-1441162680 10800 0 YERT}
+ {-405140400 14400 0 YERT}
+ {354916800 18000 1 YERST}
+ {370724400 14400 0 YERT}
+ {386452800 18000 1 YERST}
+ {402260400 14400 0 YERT}
+ {417988800 18000 1 YERST}
+ {433796400 14400 0 YERT}
+ {449611200 18000 1 YERST}
+ {465343200 14400 0 YERT}
+ {481068000 18000 1 YERST}
+ {496792800 14400 0 YERT}
+ {512517600 18000 1 YERST}
+ {528242400 14400 0 YERT}
+ {543967200 18000 1 YERST}
+ {559692000 14400 0 YERT}
+ {575416800 18000 1 YERST}
+ {591141600 14400 0 YERT}
+ {606866400 18000 1 YERST}
+ {622591200 14400 0 YERT}
+ {638316000 18000 1 YERST}
+ {654645600 14400 0 YERT}
+ {670370400 14400 1 YERST}
+ {685569600 14400 0 AMST}
+ {686098800 10800 0 AMT}
+ {701812800 14400 1 AMST}
+ {717534000 10800 0 AMT}
+ {733273200 14400 1 AMST}
+ {748998000 10800 0 AMT}
+ {764722800 14400 1 AMST}
+ {780447600 10800 0 AMT}
+ {796172400 14400 1 AMST}
+ {811897200 14400 0 AMT}
+ {852062400 14400 0 AMT}
+ {859672800 18000 1 AMST}
+ {877816800 14400 0 AMT}
+ {891122400 18000 1 AMST}
+ {909266400 14400 0 AMT}
+ {922572000 18000 1 AMST}
+ {941320800 14400 0 AMT}
+ {954021600 18000 1 AMST}
+ {972770400 14400 0 AMT}
+ {985471200 18000 1 AMST}
+ {1004220000 14400 0 AMT}
+ {1017525600 18000 1 AMST}
+ {1035669600 14400 0 AMT}
+ {1048975200 18000 1 AMST}
+ {1067119200 14400 0 AMT}
+ {1080424800 18000 1 AMST}
+ {1099173600 14400 0 AMT}
+ {1111874400 18000 1 AMST}
+ {1130623200 14400 0 AMT}
+ {1143324000 18000 1 AMST}
+ {1162072800 14400 0 AMT}
+ {1174773600 18000 1 AMST}
+ {1193522400 14400 0 AMT}
+ {1206828000 18000 1 AMST}
+ {1224972000 14400 0 AMT}
+ {1238277600 18000 1 AMST}
+ {1256421600 14400 0 AMT}
+ {1269727200 18000 1 AMST}
+ {1288476000 14400 0 AMT}
+ {1301176800 18000 1 AMST}
+ {1319925600 14400 0 AMT}
+ {1332626400 14400 0 AMT}
}
diff --git a/library/tzdata/Atlantic/Azores b/library/tzdata/Atlantic/Azores
index 0b7f615..fd47ba5 100644
--- a/library/tzdata/Atlantic/Azores
+++ b/library/tzdata/Atlantic/Azores
@@ -3,345 +3,347 @@
set TZData(:Atlantic/Azores) {
{-9223372036854775808 -6160 0 LMT}
{-2713904240 -6872 0 HMT}
- {-1830376800 -7200 0 -02}
- {-1689548400 -3600 1 -01}
- {-1677794400 -7200 0 -02}
- {-1667430000 -3600 1 -01}
- {-1647730800 -7200 0 -02}
- {-1635807600 -3600 1 -01}
- {-1616194800 -7200 0 -02}
- {-1604358000 -3600 1 -01}
- {-1584658800 -7200 0 -02}
- {-1572735600 -3600 1 -01}
- {-1553036400 -7200 0 -02}
- {-1541199600 -3600 1 -01}
- {-1521500400 -7200 0 -02}
- {-1442444400 -3600 1 -01}
- {-1426806000 -7200 0 -02}
- {-1379286000 -3600 1 -01}
- {-1364770800 -7200 0 -02}
- {-1348441200 -3600 1 -01}
- {-1333321200 -7200 0 -02}
- {-1316386800 -3600 1 -01}
- {-1301266800 -7200 0 -02}
- {-1284332400 -3600 1 -01}
- {-1269817200 -7200 0 -02}
- {-1221433200 -3600 1 -01}
- {-1206918000 -7200 0 -02}
- {-1191193200 -3600 1 -01}
- {-1175468400 -7200 0 -02}
- {-1127689200 -3600 1 -01}
- {-1111964400 -7200 0 -02}
- {-1096844400 -3600 1 -01}
- {-1080514800 -7200 0 -02}
- {-1063580400 -3600 1 -01}
- {-1049065200 -7200 0 -02}
- {-1033340400 -3600 1 -01}
- {-1017615600 -7200 0 -02}
- {-1002495600 -3600 1 -01}
- {-986166000 -7200 0 -02}
- {-969231600 -3600 1 -01}
- {-950482800 -7200 0 -02}
- {-942015600 -3600 1 -01}
- {-922662000 -7200 0 -02}
- {-906937200 -3600 1 -01}
- {-891126000 -7200 0 -02}
- {-877302000 -3600 1 -01}
- {-864000000 -3600 0 -01}
- {-857948400 -7200 0 -02}
- {-845852400 -3600 1 -01}
- {-831340800 -3600 0 -01}
- {-825894000 -7200 0 -02}
- {-814402800 -3600 1 -01}
- {-799891200 -3600 0 -01}
- {-794444400 -7200 0 -02}
- {-782953200 -3600 1 -01}
- {-768441600 -3600 0 -01}
- {-762994800 -7200 0 -02}
- {-749084400 -3600 1 -01}
- {-733359600 -7200 0 -02}
- {-717624000 -3600 1 -01}
- {-701899200 -7200 0 -02}
- {-686174400 -3600 1 -01}
- {-670449600 -7200 0 -02}
- {-654724800 -3600 1 -01}
- {-639000000 -7200 0 -02}
- {-623275200 -3600 1 -01}
- {-607550400 -7200 0 -02}
- {-591825600 -3600 1 -01}
- {-575496000 -7200 0 -02}
- {-559771200 -3600 1 -01}
- {-544046400 -7200 0 -02}
- {-528321600 -3600 1 -01}
- {-512596800 -7200 0 -02}
- {-496872000 -3600 1 -01}
- {-481147200 -7200 0 -02}
- {-465422400 -3600 1 -01}
- {-449697600 -7200 0 -02}
- {-433972800 -3600 1 -01}
- {-417643200 -7200 0 -02}
- {-401918400 -3600 1 -01}
- {-386193600 -7200 0 -02}
- {-370468800 -3600 1 -01}
- {-354744000 -7200 0 -02}
- {-339019200 -3600 1 -01}
- {-323294400 -7200 0 -02}
- {-307569600 -3600 1 -01}
- {-291844800 -7200 0 -02}
- {-276120000 -3600 1 -01}
- {-260395200 -7200 0 -02}
- {-244670400 -3600 1 -01}
- {-228340800 -7200 0 -02}
- {-212616000 -3600 1 -01}
- {-196891200 -7200 0 -02}
- {-181166400 -3600 1 -01}
- {-165441600 -7200 0 -02}
- {-149716800 -3600 1 -01}
- {-133992000 -7200 0 -02}
- {-118267200 -3600 0 -01}
- {228272400 0 1 +00}
- {243997200 -3600 0 -01}
- {260326800 0 1 +00}
- {276051600 -3600 0 -01}
- {291776400 0 1 +00}
- {307504800 -3600 0 -01}
- {323226000 0 1 +00}
- {338954400 -3600 0 -01}
- {354679200 0 1 +00}
- {370404000 -3600 0 -01}
- {386128800 0 1 +00}
- {401853600 -3600 0 -01}
- {417582000 0 1 +00}
- {433303200 -3600 0 -01}
- {449028000 0 1 +00}
- {465357600 -3600 0 -01}
- {481082400 0 1 +00}
- {496807200 -3600 0 -01}
- {512532000 0 1 +00}
- {528256800 -3600 0 -01}
- {543981600 0 1 +00}
- {559706400 -3600 0 -01}
- {575431200 0 1 +00}
- {591156000 -3600 0 -01}
- {606880800 0 1 +00}
- {622605600 -3600 0 -01}
- {638330400 0 1 +00}
- {654660000 -3600 0 -01}
- {670384800 0 1 +00}
- {686109600 -3600 0 -01}
- {701834400 0 1 +00}
- {733280400 0 0 +00}
- {749005200 -3600 0 -01}
- {764730000 0 1 +00}
- {780454800 -3600 0 -01}
- {796179600 0 1 +00}
- {811904400 -3600 0 -01}
- {828234000 0 1 +00}
- {846378000 -3600 0 -01}
- {859683600 0 1 +00}
- {877827600 -3600 0 -01}
- {891133200 0 1 +00}
- {909277200 -3600 0 -01}
- {922582800 0 1 +00}
- {941331600 -3600 0 -01}
- {954032400 0 1 +00}
- {972781200 -3600 0 -01}
- {985482000 0 1 +00}
- {1004230800 -3600 0 -01}
- {1017536400 0 1 +00}
- {1035680400 -3600 0 -01}
- {1048986000 0 1 +00}
- {1067130000 -3600 0 -01}
- {1080435600 0 1 +00}
- {1099184400 -3600 0 -01}
- {1111885200 0 1 +00}
- {1130634000 -3600 0 -01}
- {1143334800 0 1 +00}
- {1162083600 -3600 0 -01}
- {1174784400 0 1 +00}
- {1193533200 -3600 0 -01}
- {1206838800 0 1 +00}
- {1224982800 -3600 0 -01}
- {1238288400 0 1 +00}
- {1256432400 -3600 0 -01}
- {1269738000 0 1 +00}
- {1288486800 -3600 0 -01}
- {1301187600 0 1 +00}
- {1319936400 -3600 0 -01}
- {1332637200 0 1 +00}
- {1351386000 -3600 0 -01}
- {1364691600 0 1 +00}
- {1382835600 -3600 0 -01}
- {1396141200 0 1 +00}
- {1414285200 -3600 0 -01}
- {1427590800 0 1 +00}
- {1445734800 -3600 0 -01}
- {1459040400 0 1 +00}
- {1477789200 -3600 0 -01}
- {1490490000 0 1 +00}
- {1509238800 -3600 0 -01}
- {1521939600 0 1 +00}
- {1540688400 -3600 0 -01}
- {1553994000 0 1 +00}
- {1572138000 -3600 0 -01}
- {1585443600 0 1 +00}
- {1603587600 -3600 0 -01}
- {1616893200 0 1 +00}
- {1635642000 -3600 0 -01}
- {1648342800 0 1 +00}
- {1667091600 -3600 0 -01}
- {1679792400 0 1 +00}
- {1698541200 -3600 0 -01}
- {1711846800 0 1 +00}
- {1729990800 -3600 0 -01}
- {1743296400 0 1 +00}
- {1761440400 -3600 0 -01}
- {1774746000 0 1 +00}
- {1792890000 -3600 0 -01}
- {1806195600 0 1 +00}
- {1824944400 -3600 0 -01}
- {1837645200 0 1 +00}
- {1856394000 -3600 0 -01}
- {1869094800 0 1 +00}
- {1887843600 -3600 0 -01}
- {1901149200 0 1 +00}
- {1919293200 -3600 0 -01}
- {1932598800 0 1 +00}
- {1950742800 -3600 0 -01}
- {1964048400 0 1 +00}
- {1982797200 -3600 0 -01}
- {1995498000 0 1 +00}
- {2014246800 -3600 0 -01}
- {2026947600 0 1 +00}
- {2045696400 -3600 0 -01}
- {2058397200 0 1 +00}
- {2077146000 -3600 0 -01}
- {2090451600 0 1 +00}
- {2108595600 -3600 0 -01}
- {2121901200 0 1 +00}
- {2140045200 -3600 0 -01}
- {2153350800 0 1 +00}
- {2172099600 -3600 0 -01}
- {2184800400 0 1 +00}
- {2203549200 -3600 0 -01}
- {2216250000 0 1 +00}
- {2234998800 -3600 0 -01}
- {2248304400 0 1 +00}
- {2266448400 -3600 0 -01}
- {2279754000 0 1 +00}
- {2297898000 -3600 0 -01}
- {2311203600 0 1 +00}
- {2329347600 -3600 0 -01}
- {2342653200 0 1 +00}
- {2361402000 -3600 0 -01}
- {2374102800 0 1 +00}
- {2392851600 -3600 0 -01}
- {2405552400 0 1 +00}
- {2424301200 -3600 0 -01}
- {2437606800 0 1 +00}
- {2455750800 -3600 0 -01}
- {2469056400 0 1 +00}
- {2487200400 -3600 0 -01}
- {2500506000 0 1 +00}
- {2519254800 -3600 0 -01}
- {2531955600 0 1 +00}
- {2550704400 -3600 0 -01}
- {2563405200 0 1 +00}
- {2582154000 -3600 0 -01}
- {2595459600 0 1 +00}
- {2613603600 -3600 0 -01}
- {2626909200 0 1 +00}
- {2645053200 -3600 0 -01}
- {2658358800 0 1 +00}
- {2676502800 -3600 0 -01}
- {2689808400 0 1 +00}
- {2708557200 -3600 0 -01}
- {2721258000 0 1 +00}
- {2740006800 -3600 0 -01}
- {2752707600 0 1 +00}
- {2771456400 -3600 0 -01}
- {2784762000 0 1 +00}
- {2802906000 -3600 0 -01}
- {2816211600 0 1 +00}
- {2834355600 -3600 0 -01}
- {2847661200 0 1 +00}
- {2866410000 -3600 0 -01}
- {2879110800 0 1 +00}
- {2897859600 -3600 0 -01}
- {2910560400 0 1 +00}
- {2929309200 -3600 0 -01}
- {2942010000 0 1 +00}
- {2960758800 -3600 0 -01}
- {2974064400 0 1 +00}
- {2992208400 -3600 0 -01}
- {3005514000 0 1 +00}
- {3023658000 -3600 0 -01}
- {3036963600 0 1 +00}
- {3055712400 -3600 0 -01}
- {3068413200 0 1 +00}
- {3087162000 -3600 0 -01}
- {3099862800 0 1 +00}
- {3118611600 -3600 0 -01}
- {3131917200 0 1 +00}
- {3150061200 -3600 0 -01}
- {3163366800 0 1 +00}
- {3181510800 -3600 0 -01}
- {3194816400 0 1 +00}
- {3212960400 -3600 0 -01}
- {3226266000 0 1 +00}
- {3245014800 -3600 0 -01}
- {3257715600 0 1 +00}
- {3276464400 -3600 0 -01}
- {3289165200 0 1 +00}
- {3307914000 -3600 0 -01}
- {3321219600 0 1 +00}
- {3339363600 -3600 0 -01}
- {3352669200 0 1 +00}
- {3370813200 -3600 0 -01}
- {3384118800 0 1 +00}
- {3402867600 -3600 0 -01}
- {3415568400 0 1 +00}
- {3434317200 -3600 0 -01}
- {3447018000 0 1 +00}
- {3465766800 -3600 0 -01}
- {3479072400 0 1 +00}
- {3497216400 -3600 0 -01}
- {3510522000 0 1 +00}
- {3528666000 -3600 0 -01}
- {3541971600 0 1 +00}
- {3560115600 -3600 0 -01}
- {3573421200 0 1 +00}
- {3592170000 -3600 0 -01}
- {3604870800 0 1 +00}
- {3623619600 -3600 0 -01}
- {3636320400 0 1 +00}
- {3655069200 -3600 0 -01}
- {3668374800 0 1 +00}
- {3686518800 -3600 0 -01}
- {3699824400 0 1 +00}
- {3717968400 -3600 0 -01}
- {3731274000 0 1 +00}
- {3750022800 -3600 0 -01}
- {3762723600 0 1 +00}
- {3781472400 -3600 0 -01}
- {3794173200 0 1 +00}
- {3812922000 -3600 0 -01}
- {3825622800 0 1 +00}
- {3844371600 -3600 0 -01}
- {3857677200 0 1 +00}
- {3875821200 -3600 0 -01}
- {3889126800 0 1 +00}
- {3907270800 -3600 0 -01}
- {3920576400 0 1 +00}
- {3939325200 -3600 0 -01}
- {3952026000 0 1 +00}
- {3970774800 -3600 0 -01}
- {3983475600 0 1 +00}
- {4002224400 -3600 0 -01}
- {4015530000 0 1 +00}
- {4033674000 -3600 0 -01}
- {4046979600 0 1 +00}
- {4065123600 -3600 0 -01}
- {4078429200 0 1 +00}
- {4096573200 -3600 0 -01}
+ {-1830377128 -7200 0 AZOT}
+ {-1689548400 -3600 1 AZOST}
+ {-1677794400 -7200 0 AZOT}
+ {-1667430000 -3600 1 AZOST}
+ {-1647730800 -7200 0 AZOT}
+ {-1635807600 -3600 1 AZOST}
+ {-1616194800 -7200 0 AZOT}
+ {-1604358000 -3600 1 AZOST}
+ {-1584658800 -7200 0 AZOT}
+ {-1572735600 -3600 1 AZOST}
+ {-1553036400 -7200 0 AZOT}
+ {-1541199600 -3600 1 AZOST}
+ {-1521500400 -7200 0 AZOT}
+ {-1442444400 -3600 1 AZOST}
+ {-1426806000 -7200 0 AZOT}
+ {-1379286000 -3600 1 AZOST}
+ {-1364770800 -7200 0 AZOT}
+ {-1348441200 -3600 1 AZOST}
+ {-1333321200 -7200 0 AZOT}
+ {-1316386800 -3600 1 AZOST}
+ {-1301266800 -7200 0 AZOT}
+ {-1284332400 -3600 1 AZOST}
+ {-1269817200 -7200 0 AZOT}
+ {-1221433200 -3600 1 AZOST}
+ {-1206918000 -7200 0 AZOT}
+ {-1191193200 -3600 1 AZOST}
+ {-1175468400 -7200 0 AZOT}
+ {-1127689200 -3600 1 AZOST}
+ {-1111964400 -7200 0 AZOT}
+ {-1096844400 -3600 1 AZOST}
+ {-1080514800 -7200 0 AZOT}
+ {-1063580400 -3600 1 AZOST}
+ {-1049065200 -7200 0 AZOT}
+ {-1033340400 -3600 1 AZOST}
+ {-1017615600 -7200 0 AZOT}
+ {-1002495600 -3600 1 AZOST}
+ {-986166000 -7200 0 AZOT}
+ {-969231600 -3600 1 AZOST}
+ {-950482800 -7200 0 AZOT}
+ {-942015600 -3600 1 AZOST}
+ {-922662000 -7200 0 AZOT}
+ {-906937200 -3600 1 AZOST}
+ {-891126000 -7200 0 AZOT}
+ {-877302000 -3600 1 AZOST}
+ {-873676800 0 1 AZOMT}
+ {-864000000 -3600 1 AZOST}
+ {-857948400 -7200 0 AZOT}
+ {-845852400 -3600 1 AZOST}
+ {-842832000 0 1 AZOMT}
+ {-831340800 -3600 1 AZOST}
+ {-825894000 -7200 0 AZOT}
+ {-814402800 -3600 1 AZOST}
+ {-810777600 0 1 AZOMT}
+ {-799891200 -3600 1 AZOST}
+ {-794444400 -7200 0 AZOT}
+ {-782953200 -3600 1 AZOST}
+ {-779328000 0 1 AZOMT}
+ {-768441600 -3600 1 AZOST}
+ {-762994800 -7200 0 AZOT}
+ {-749084400 -3600 1 AZOST}
+ {-733359600 -7200 0 AZOT}
+ {-717624000 -3600 1 AZOST}
+ {-701899200 -7200 0 AZOT}
+ {-686174400 -3600 1 AZOST}
+ {-670449600 -7200 0 AZOT}
+ {-654724800 -3600 1 AZOST}
+ {-639000000 -7200 0 AZOT}
+ {-591825600 -3600 1 AZOST}
+ {-575496000 -7200 0 AZOT}
+ {-559771200 -3600 1 AZOST}
+ {-544046400 -7200 0 AZOT}
+ {-528321600 -3600 1 AZOST}
+ {-512596800 -7200 0 AZOT}
+ {-496872000 -3600 1 AZOST}
+ {-481147200 -7200 0 AZOT}
+ {-465422400 -3600 1 AZOST}
+ {-449697600 -7200 0 AZOT}
+ {-433972800 -3600 1 AZOST}
+ {-417643200 -7200 0 AZOT}
+ {-401918400 -3600 1 AZOST}
+ {-386193600 -7200 0 AZOT}
+ {-370468800 -3600 1 AZOST}
+ {-354744000 -7200 0 AZOT}
+ {-339019200 -3600 1 AZOST}
+ {-323294400 -7200 0 AZOT}
+ {-307569600 -3600 1 AZOST}
+ {-291844800 -7200 0 AZOT}
+ {-276120000 -3600 1 AZOST}
+ {-260395200 -7200 0 AZOT}
+ {-244670400 -3600 1 AZOST}
+ {-228340800 -7200 0 AZOT}
+ {-212616000 -3600 1 AZOST}
+ {-196891200 -7200 0 AZOT}
+ {-181166400 -3600 1 AZOST}
+ {-165441600 -7200 0 AZOT}
+ {-149716800 -3600 1 AZOST}
+ {-133992000 -7200 0 AZOT}
+ {-118267200 -3600 0 AZOT}
+ {228272400 0 1 AZOST}
+ {243997200 -3600 0 AZOT}
+ {260326800 0 1 AZOST}
+ {276051600 -3600 0 AZOT}
+ {291776400 0 1 AZOST}
+ {307504800 -3600 0 AZOT}
+ {323226000 0 1 AZOST}
+ {338954400 -3600 0 AZOT}
+ {354679200 0 1 AZOST}
+ {370404000 -3600 0 AZOT}
+ {386128800 0 1 AZOST}
+ {401853600 -3600 0 AZOT}
+ {417582000 0 1 AZOST}
+ {433303200 -3600 0 AZOT}
+ {449028000 0 1 AZOST}
+ {465357600 -3600 0 AZOT}
+ {481082400 0 1 AZOST}
+ {496807200 -3600 0 AZOT}
+ {512532000 0 1 AZOST}
+ {528256800 -3600 0 AZOT}
+ {543981600 0 1 AZOST}
+ {559706400 -3600 0 AZOT}
+ {575431200 0 1 AZOST}
+ {591156000 -3600 0 AZOT}
+ {606880800 0 1 AZOST}
+ {622605600 -3600 0 AZOT}
+ {638330400 0 1 AZOST}
+ {654660000 -3600 0 AZOT}
+ {670384800 0 1 AZOST}
+ {686109600 -3600 0 AZOT}
+ {701834400 0 1 AZOST}
+ {733280400 0 0 AZOST}
+ {749005200 -3600 0 AZOT}
+ {764730000 0 1 AZOST}
+ {780454800 -3600 0 AZOT}
+ {796179600 0 1 AZOST}
+ {811904400 -3600 0 AZOT}
+ {828234000 0 1 AZOST}
+ {846378000 -3600 0 AZOT}
+ {859683600 0 1 AZOST}
+ {877827600 -3600 0 AZOT}
+ {891133200 0 1 AZOST}
+ {909277200 -3600 0 AZOT}
+ {922582800 0 1 AZOST}
+ {941331600 -3600 0 AZOT}
+ {954032400 0 1 AZOST}
+ {972781200 -3600 0 AZOT}
+ {985482000 0 1 AZOST}
+ {1004230800 -3600 0 AZOT}
+ {1017536400 0 1 AZOST}
+ {1035680400 -3600 0 AZOT}
+ {1048986000 0 1 AZOST}
+ {1067130000 -3600 0 AZOT}
+ {1080435600 0 1 AZOST}
+ {1099184400 -3600 0 AZOT}
+ {1111885200 0 1 AZOST}
+ {1130634000 -3600 0 AZOT}
+ {1143334800 0 1 AZOST}
+ {1162083600 -3600 0 AZOT}
+ {1174784400 0 1 AZOST}
+ {1193533200 -3600 0 AZOT}
+ {1206838800 0 1 AZOST}
+ {1224982800 -3600 0 AZOT}
+ {1238288400 0 1 AZOST}
+ {1256432400 -3600 0 AZOT}
+ {1269738000 0 1 AZOST}
+ {1288486800 -3600 0 AZOT}
+ {1301187600 0 1 AZOST}
+ {1319936400 -3600 0 AZOT}
+ {1332637200 0 1 AZOST}
+ {1351386000 -3600 0 AZOT}
+ {1364691600 0 1 AZOST}
+ {1382835600 -3600 0 AZOT}
+ {1396141200 0 1 AZOST}
+ {1414285200 -3600 0 AZOT}
+ {1427590800 0 1 AZOST}
+ {1445734800 -3600 0 AZOT}
+ {1459040400 0 1 AZOST}
+ {1477789200 -3600 0 AZOT}
+ {1490490000 0 1 AZOST}
+ {1509238800 -3600 0 AZOT}
+ {1521939600 0 1 AZOST}
+ {1540688400 -3600 0 AZOT}
+ {1553994000 0 1 AZOST}
+ {1572138000 -3600 0 AZOT}
+ {1585443600 0 1 AZOST}
+ {1603587600 -3600 0 AZOT}
+ {1616893200 0 1 AZOST}
+ {1635642000 -3600 0 AZOT}
+ {1648342800 0 1 AZOST}
+ {1667091600 -3600 0 AZOT}
+ {1679792400 0 1 AZOST}
+ {1698541200 -3600 0 AZOT}
+ {1711846800 0 1 AZOST}
+ {1729990800 -3600 0 AZOT}
+ {1743296400 0 1 AZOST}
+ {1761440400 -3600 0 AZOT}
+ {1774746000 0 1 AZOST}
+ {1792890000 -3600 0 AZOT}
+ {1806195600 0 1 AZOST}
+ {1824944400 -3600 0 AZOT}
+ {1837645200 0 1 AZOST}
+ {1856394000 -3600 0 AZOT}
+ {1869094800 0 1 AZOST}
+ {1887843600 -3600 0 AZOT}
+ {1901149200 0 1 AZOST}
+ {1919293200 -3600 0 AZOT}
+ {1932598800 0 1 AZOST}
+ {1950742800 -3600 0 AZOT}
+ {1964048400 0 1 AZOST}
+ {1982797200 -3600 0 AZOT}
+ {1995498000 0 1 AZOST}
+ {2014246800 -3600 0 AZOT}
+ {2026947600 0 1 AZOST}
+ {2045696400 -3600 0 AZOT}
+ {2058397200 0 1 AZOST}
+ {2077146000 -3600 0 AZOT}
+ {2090451600 0 1 AZOST}
+ {2108595600 -3600 0 AZOT}
+ {2121901200 0 1 AZOST}
+ {2140045200 -3600 0 AZOT}
+ {2153350800 0 1 AZOST}
+ {2172099600 -3600 0 AZOT}
+ {2184800400 0 1 AZOST}
+ {2203549200 -3600 0 AZOT}
+ {2216250000 0 1 AZOST}
+ {2234998800 -3600 0 AZOT}
+ {2248304400 0 1 AZOST}
+ {2266448400 -3600 0 AZOT}
+ {2279754000 0 1 AZOST}
+ {2297898000 -3600 0 AZOT}
+ {2311203600 0 1 AZOST}
+ {2329347600 -3600 0 AZOT}
+ {2342653200 0 1 AZOST}
+ {2361402000 -3600 0 AZOT}
+ {2374102800 0 1 AZOST}
+ {2392851600 -3600 0 AZOT}
+ {2405552400 0 1 AZOST}
+ {2424301200 -3600 0 AZOT}
+ {2437606800 0 1 AZOST}
+ {2455750800 -3600 0 AZOT}
+ {2469056400 0 1 AZOST}
+ {2487200400 -3600 0 AZOT}
+ {2500506000 0 1 AZOST}
+ {2519254800 -3600 0 AZOT}
+ {2531955600 0 1 AZOST}
+ {2550704400 -3600 0 AZOT}
+ {2563405200 0 1 AZOST}
+ {2582154000 -3600 0 AZOT}
+ {2595459600 0 1 AZOST}
+ {2613603600 -3600 0 AZOT}
+ {2626909200 0 1 AZOST}
+ {2645053200 -3600 0 AZOT}
+ {2658358800 0 1 AZOST}
+ {2676502800 -3600 0 AZOT}
+ {2689808400 0 1 AZOST}
+ {2708557200 -3600 0 AZOT}
+ {2721258000 0 1 AZOST}
+ {2740006800 -3600 0 AZOT}
+ {2752707600 0 1 AZOST}
+ {2771456400 -3600 0 AZOT}
+ {2784762000 0 1 AZOST}
+ {2802906000 -3600 0 AZOT}
+ {2816211600 0 1 AZOST}
+ {2834355600 -3600 0 AZOT}
+ {2847661200 0 1 AZOST}
+ {2866410000 -3600 0 AZOT}
+ {2879110800 0 1 AZOST}
+ {2897859600 -3600 0 AZOT}
+ {2910560400 0 1 AZOST}
+ {2929309200 -3600 0 AZOT}
+ {2942010000 0 1 AZOST}
+ {2960758800 -3600 0 AZOT}
+ {2974064400 0 1 AZOST}
+ {2992208400 -3600 0 AZOT}
+ {3005514000 0 1 AZOST}
+ {3023658000 -3600 0 AZOT}
+ {3036963600 0 1 AZOST}
+ {3055712400 -3600 0 AZOT}
+ {3068413200 0 1 AZOST}
+ {3087162000 -3600 0 AZOT}
+ {3099862800 0 1 AZOST}
+ {3118611600 -3600 0 AZOT}
+ {3131917200 0 1 AZOST}
+ {3150061200 -3600 0 AZOT}
+ {3163366800 0 1 AZOST}
+ {3181510800 -3600 0 AZOT}
+ {3194816400 0 1 AZOST}
+ {3212960400 -3600 0 AZOT}
+ {3226266000 0 1 AZOST}
+ {3245014800 -3600 0 AZOT}
+ {3257715600 0 1 AZOST}
+ {3276464400 -3600 0 AZOT}
+ {3289165200 0 1 AZOST}
+ {3307914000 -3600 0 AZOT}
+ {3321219600 0 1 AZOST}
+ {3339363600 -3600 0 AZOT}
+ {3352669200 0 1 AZOST}
+ {3370813200 -3600 0 AZOT}
+ {3384118800 0 1 AZOST}
+ {3402867600 -3600 0 AZOT}
+ {3415568400 0 1 AZOST}
+ {3434317200 -3600 0 AZOT}
+ {3447018000 0 1 AZOST}
+ {3465766800 -3600 0 AZOT}
+ {3479072400 0 1 AZOST}
+ {3497216400 -3600 0 AZOT}
+ {3510522000 0 1 AZOST}
+ {3528666000 -3600 0 AZOT}
+ {3541971600 0 1 AZOST}
+ {3560115600 -3600 0 AZOT}
+ {3573421200 0 1 AZOST}
+ {3592170000 -3600 0 AZOT}
+ {3604870800 0 1 AZOST}
+ {3623619600 -3600 0 AZOT}
+ {3636320400 0 1 AZOST}
+ {3655069200 -3600 0 AZOT}
+ {3668374800 0 1 AZOST}
+ {3686518800 -3600 0 AZOT}
+ {3699824400 0 1 AZOST}
+ {3717968400 -3600 0 AZOT}
+ {3731274000 0 1 AZOST}
+ {3750022800 -3600 0 AZOT}
+ {3762723600 0 1 AZOST}
+ {3781472400 -3600 0 AZOT}
+ {3794173200 0 1 AZOST}
+ {3812922000 -3600 0 AZOT}
+ {3825622800 0 1 AZOST}
+ {3844371600 -3600 0 AZOT}
+ {3857677200 0 1 AZOST}
+ {3875821200 -3600 0 AZOT}
+ {3889126800 0 1 AZOST}
+ {3907270800 -3600 0 AZOT}
+ {3920576400 0 1 AZOST}
+ {3939325200 -3600 0 AZOT}
+ {3952026000 0 1 AZOST}
+ {3970774800 -3600 0 AZOT}
+ {3983475600 0 1 AZOST}
+ {4002224400 -3600 0 AZOT}
+ {4015530000 0 1 AZOST}
+ {4033674000 -3600 0 AZOT}
+ {4046979600 0 1 AZOST}
+ {4065123600 -3600 0 AZOT}
+ {4078429200 0 1 AZOST}
+ {4096573200 -3600 0 AZOT}
}
diff --git a/library/tzdata/Atlantic/Bermuda b/library/tzdata/Atlantic/Bermuda
index 40ab5d7..2d4d983 100644
--- a/library/tzdata/Atlantic/Bermuda
+++ b/library/tzdata/Atlantic/Bermuda
@@ -2,34 +2,7 @@
set TZData(:Atlantic/Bermuda) {
{-9223372036854775808 -15558 0 LMT}
- {-2524506042 -15558 0 BMT}
- {-1664307642 -11958 1 BMT}
- {-1648932042 -15558 0 BMT}
- {-1632080442 -11958 1 BMT}
- {-1618692042 -15558 0 BST}
- {-1262281242 -14400 0 AT}
- {-882727200 -10800 1 ADT}
- {-858538800 -14400 0 AST}
- {-845229600 -10800 1 ADT}
- {-825879600 -14400 0 AST}
- {-814384800 -10800 1 ADT}
- {-793825200 -14400 0 AST}
- {-782935200 -10800 1 ADT}
- {-762375600 -14400 0 AST}
- {-713988000 -10800 1 ADT}
- {-703710000 -14400 0 AST}
- {-681933600 -10800 1 ADT}
- {-672865200 -14400 0 AST}
- {-650484000 -10800 1 ADT}
- {-641415600 -14400 0 AST}
- {-618429600 -10800 1 ADT}
- {-609966000 -14400 0 AST}
- {-586980000 -10800 1 ADT}
- {-578516400 -14400 0 AST}
- {-555530400 -10800 1 ADT}
- {-546462000 -14400 0 AST}
- {-429127200 -10800 1 ADT}
- {-415825200 -14400 0 AST}
+ {-1262281242 -14400 0 AST}
{136360800 -10800 0 ADT}
{152082000 -14400 0 AST}
{167810400 -10800 1 ADT}
diff --git a/library/tzdata/Atlantic/Canary b/library/tzdata/Atlantic/Canary
index b5c2997..dcfba83 100644
--- a/library/tzdata/Atlantic/Canary
+++ b/library/tzdata/Atlantic/Canary
@@ -2,7 +2,7 @@
set TZData(:Atlantic/Canary) {
{-9223372036854775808 -3696 0 LMT}
- {-1509663504 -3600 0 -01}
+ {-1509663504 -3600 0 CANT}
{-733874400 0 0 WET}
{323827200 3600 1 WEST}
{338950800 0 0 WET}
diff --git a/library/tzdata/Atlantic/Cape_Verde b/library/tzdata/Atlantic/Cape_Verde
index 595db0b..f0bb79f 100644
--- a/library/tzdata/Atlantic/Cape_Verde
+++ b/library/tzdata/Atlantic/Cape_Verde
@@ -2,8 +2,8 @@
set TZData(:Atlantic/Cape_Verde) {
{-9223372036854775808 -5644 0 LMT}
- {-1830376800 -7200 0 -02}
- {-862610400 -3600 1 -01}
- {-764118000 -7200 0 -02}
- {186120000 -3600 0 -01}
+ {-1988144756 -7200 0 CVT}
+ {-862610400 -3600 1 CVST}
+ {-764118000 -7200 0 CVT}
+ {186120000 -3600 0 CVT}
}
diff --git a/library/tzdata/Atlantic/Jan_Mayen b/library/tzdata/Atlantic/Jan_Mayen
index 468d819..e592187 100644
--- a/library/tzdata/Atlantic/Jan_Mayen
+++ b/library/tzdata/Atlantic/Jan_Mayen
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Berlin)]} {
- LoadTimeZoneFile Europe/Berlin
+if {![info exists TZData(Europe/Oslo)]} {
+ LoadTimeZoneFile Europe/Oslo
}
-set TZData(:Atlantic/Jan_Mayen) $TZData(:Europe/Berlin)
+set TZData(:Atlantic/Jan_Mayen) $TZData(:Europe/Oslo)
diff --git a/library/tzdata/Atlantic/Madeira b/library/tzdata/Atlantic/Madeira
index 8a3b7e8..fac7f92 100644
--- a/library/tzdata/Atlantic/Madeira
+++ b/library/tzdata/Atlantic/Madeira
@@ -3,101 +3,103 @@
set TZData(:Atlantic/Madeira) {
{-9223372036854775808 -4056 0 LMT}
{-2713906344 -4056 0 FMT}
- {-1830380400 -3600 0 -01}
- {-1689552000 0 1 +00}
- {-1677798000 -3600 0 -01}
- {-1667433600 0 1 +00}
- {-1647734400 -3600 0 -01}
- {-1635811200 0 1 +00}
- {-1616198400 -3600 0 -01}
- {-1604361600 0 1 +00}
- {-1584662400 -3600 0 -01}
- {-1572739200 0 1 +00}
- {-1553040000 -3600 0 -01}
- {-1541203200 0 1 +00}
- {-1521504000 -3600 0 -01}
- {-1442448000 0 1 +00}
- {-1426809600 -3600 0 -01}
- {-1379289600 0 1 +00}
- {-1364774400 -3600 0 -01}
- {-1348444800 0 1 +00}
- {-1333324800 -3600 0 -01}
- {-1316390400 0 1 +00}
- {-1301270400 -3600 0 -01}
- {-1284336000 0 1 +00}
- {-1269820800 -3600 0 -01}
- {-1221436800 0 1 +00}
- {-1206921600 -3600 0 -01}
- {-1191196800 0 1 +00}
- {-1175472000 -3600 0 -01}
- {-1127692800 0 1 +00}
- {-1111968000 -3600 0 -01}
- {-1096848000 0 1 +00}
- {-1080518400 -3600 0 -01}
- {-1063584000 0 1 +00}
- {-1049068800 -3600 0 -01}
- {-1033344000 0 1 +00}
- {-1017619200 -3600 0 -01}
- {-1002499200 0 1 +00}
- {-986169600 -3600 0 -01}
- {-969235200 0 1 +00}
- {-950486400 -3600 0 -01}
- {-942019200 0 1 +00}
- {-922665600 -3600 0 -01}
- {-906940800 0 1 +00}
- {-891129600 -3600 0 -01}
- {-877305600 0 1 +00}
- {-864003600 0 0 +00}
- {-857952000 -3600 0 -01}
- {-845856000 0 1 +00}
- {-831344400 0 0 +00}
- {-825897600 -3600 0 -01}
- {-814406400 0 1 +00}
- {-799894800 0 0 +00}
- {-794448000 -3600 0 -01}
- {-782956800 0 1 +00}
- {-768445200 0 0 +00}
- {-762998400 -3600 0 -01}
- {-749088000 0 1 +00}
- {-733363200 -3600 0 -01}
- {-717627600 0 1 +00}
- {-701902800 -3600 0 -01}
- {-686178000 0 1 +00}
- {-670453200 -3600 0 -01}
- {-654728400 0 1 +00}
- {-639003600 -3600 0 -01}
- {-623278800 0 1 +00}
- {-607554000 -3600 0 -01}
- {-591829200 0 1 +00}
- {-575499600 -3600 0 -01}
- {-559774800 0 1 +00}
- {-544050000 -3600 0 -01}
- {-528325200 0 1 +00}
- {-512600400 -3600 0 -01}
- {-496875600 0 1 +00}
- {-481150800 -3600 0 -01}
- {-465426000 0 1 +00}
- {-449701200 -3600 0 -01}
- {-433976400 0 1 +00}
- {-417646800 -3600 0 -01}
- {-401922000 0 1 +00}
- {-386197200 -3600 0 -01}
- {-370472400 0 1 +00}
- {-354747600 -3600 0 -01}
- {-339022800 0 1 +00}
- {-323298000 -3600 0 -01}
- {-307573200 0 1 +00}
- {-291848400 -3600 0 -01}
- {-276123600 0 1 +00}
- {-260398800 -3600 0 -01}
- {-244674000 0 1 +00}
- {-228344400 -3600 0 -01}
- {-212619600 0 1 +00}
- {-196894800 -3600 0 -01}
- {-181170000 0 1 +00}
- {-165445200 -3600 0 -01}
- {-149720400 0 1 +00}
- {-133995600 -3600 0 -01}
+ {-1830379944 -3600 0 MADT}
+ {-1689552000 0 1 MADST}
+ {-1677798000 -3600 0 MADT}
+ {-1667433600 0 1 MADST}
+ {-1647734400 -3600 0 MADT}
+ {-1635811200 0 1 MADST}
+ {-1616198400 -3600 0 MADT}
+ {-1604361600 0 1 MADST}
+ {-1584662400 -3600 0 MADT}
+ {-1572739200 0 1 MADST}
+ {-1553040000 -3600 0 MADT}
+ {-1541203200 0 1 MADST}
+ {-1521504000 -3600 0 MADT}
+ {-1442448000 0 1 MADST}
+ {-1426809600 -3600 0 MADT}
+ {-1379289600 0 1 MADST}
+ {-1364774400 -3600 0 MADT}
+ {-1348444800 0 1 MADST}
+ {-1333324800 -3600 0 MADT}
+ {-1316390400 0 1 MADST}
+ {-1301270400 -3600 0 MADT}
+ {-1284336000 0 1 MADST}
+ {-1269820800 -3600 0 MADT}
+ {-1221436800 0 1 MADST}
+ {-1206921600 -3600 0 MADT}
+ {-1191196800 0 1 MADST}
+ {-1175472000 -3600 0 MADT}
+ {-1127692800 0 1 MADST}
+ {-1111968000 -3600 0 MADT}
+ {-1096848000 0 1 MADST}
+ {-1080518400 -3600 0 MADT}
+ {-1063584000 0 1 MADST}
+ {-1049068800 -3600 0 MADT}
+ {-1033344000 0 1 MADST}
+ {-1017619200 -3600 0 MADT}
+ {-1002499200 0 1 MADST}
+ {-986169600 -3600 0 MADT}
+ {-969235200 0 1 MADST}
+ {-950486400 -3600 0 MADT}
+ {-942019200 0 1 MADST}
+ {-922665600 -3600 0 MADT}
+ {-906940800 0 1 MADST}
+ {-891129600 -3600 0 MADT}
+ {-877305600 0 1 MADST}
+ {-873680400 3600 1 MADMT}
+ {-864003600 0 1 MADST}
+ {-857952000 -3600 0 MADT}
+ {-845856000 0 1 MADST}
+ {-842835600 3600 1 MADMT}
+ {-831344400 0 1 MADST}
+ {-825897600 -3600 0 MADT}
+ {-814406400 0 1 MADST}
+ {-810781200 3600 1 MADMT}
+ {-799894800 0 1 MADST}
+ {-794448000 -3600 0 MADT}
+ {-782956800 0 1 MADST}
+ {-779331600 3600 1 MADMT}
+ {-768445200 0 1 MADST}
+ {-762998400 -3600 0 MADT}
+ {-749088000 0 1 MADST}
+ {-733363200 -3600 0 MADT}
+ {-717627600 0 1 MADST}
+ {-701902800 -3600 0 MADT}
+ {-686178000 0 1 MADST}
+ {-670453200 -3600 0 MADT}
+ {-654728400 0 1 MADST}
+ {-639003600 -3600 0 MADT}
+ {-591829200 0 1 MADST}
+ {-575499600 -3600 0 MADT}
+ {-559774800 0 1 MADST}
+ {-544050000 -3600 0 MADT}
+ {-528325200 0 1 MADST}
+ {-512600400 -3600 0 MADT}
+ {-496875600 0 1 MADST}
+ {-481150800 -3600 0 MADT}
+ {-465426000 0 1 MADST}
+ {-449701200 -3600 0 MADT}
+ {-433976400 0 1 MADST}
+ {-417646800 -3600 0 MADT}
+ {-401922000 0 1 MADST}
+ {-386197200 -3600 0 MADT}
+ {-370472400 0 1 MADST}
+ {-354747600 -3600 0 MADT}
+ {-339022800 0 1 MADST}
+ {-323298000 -3600 0 MADT}
+ {-307573200 0 1 MADST}
+ {-291848400 -3600 0 MADT}
+ {-276123600 0 1 MADST}
+ {-260398800 -3600 0 MADT}
+ {-244674000 0 1 MADST}
+ {-228344400 -3600 0 MADT}
+ {-212619600 0 1 MADST}
+ {-196894800 -3600 0 MADT}
+ {-181170000 0 1 MADST}
+ {-165445200 -3600 0 MADT}
+ {-149720400 0 1 MADST}
+ {-133995600 -3600 0 MADT}
{-118270800 0 0 WET}
{228268800 3600 1 WEST}
{243993600 0 0 WET}
diff --git a/library/tzdata/Atlantic/Reykjavik b/library/tzdata/Atlantic/Reykjavik
index 3c4a133..ad7f0db 100644
--- a/library/tzdata/Atlantic/Reykjavik
+++ b/library/tzdata/Atlantic/Reykjavik
@@ -1,5 +1,73 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Africa/Abidjan)]} {
- LoadTimeZoneFile Africa/Abidjan
+
+set TZData(:Atlantic/Reykjavik) {
+ {-9223372036854775808 -5280 0 LMT}
+ {-1956609120 -3600 0 IST}
+ {-1668211200 0 1 ISST}
+ {-1647212400 -3600 0 IST}
+ {-1636675200 0 1 ISST}
+ {-1613430000 -3600 0 IST}
+ {-1605139200 0 1 ISST}
+ {-1581894000 -3600 0 IST}
+ {-1539561600 0 1 ISST}
+ {-1531350000 -3600 0 IST}
+ {-968025600 0 1 ISST}
+ {-952293600 -3600 0 IST}
+ {-942008400 0 1 ISST}
+ {-920239200 -3600 0 IST}
+ {-909957600 0 1 ISST}
+ {-888789600 -3600 0 IST}
+ {-877903200 0 1 ISST}
+ {-857944800 -3600 0 IST}
+ {-846453600 0 1 ISST}
+ {-826495200 -3600 0 IST}
+ {-815004000 0 1 ISST}
+ {-795045600 -3600 0 IST}
+ {-783554400 0 1 ISST}
+ {-762991200 -3600 0 IST}
+ {-752104800 0 1 ISST}
+ {-731541600 -3600 0 IST}
+ {-717631200 0 1 ISST}
+ {-700092000 -3600 0 IST}
+ {-686181600 0 1 ISST}
+ {-668642400 -3600 0 IST}
+ {-654732000 0 1 ISST}
+ {-636588000 -3600 0 IST}
+ {-623282400 0 1 ISST}
+ {-605743200 -3600 0 IST}
+ {-591832800 0 1 ISST}
+ {-573688800 -3600 0 IST}
+ {-559778400 0 1 ISST}
+ {-542239200 -3600 0 IST}
+ {-528328800 0 1 ISST}
+ {-510789600 -3600 0 IST}
+ {-496879200 0 1 ISST}
+ {-479340000 -3600 0 IST}
+ {-465429600 0 1 ISST}
+ {-447890400 -3600 0 IST}
+ {-433980000 0 1 ISST}
+ {-415836000 -3600 0 IST}
+ {-401925600 0 1 ISST}
+ {-384386400 -3600 0 IST}
+ {-370476000 0 1 ISST}
+ {-352936800 -3600 0 IST}
+ {-339026400 0 1 ISST}
+ {-321487200 -3600 0 IST}
+ {-307576800 0 1 ISST}
+ {-290037600 -3600 0 IST}
+ {-276127200 0 1 ISST}
+ {-258588000 -3600 0 IST}
+ {-244677600 0 1 ISST}
+ {-226533600 -3600 0 IST}
+ {-212623200 0 1 ISST}
+ {-195084000 -3600 0 IST}
+ {-181173600 0 1 ISST}
+ {-163634400 -3600 0 IST}
+ {-149724000 0 1 ISST}
+ {-132184800 -3600 0 IST}
+ {-118274400 0 1 ISST}
+ {-100735200 -3600 0 IST}
+ {-86824800 0 1 ISST}
+ {-68680800 -3600 0 IST}
+ {-54770400 0 0 GMT}
}
-set TZData(:Atlantic/Reykjavik) $TZData(:Africa/Abidjan)
diff --git a/library/tzdata/Atlantic/South_Georgia b/library/tzdata/Atlantic/South_Georgia
index eb7307c..cbfc826 100644
--- a/library/tzdata/Atlantic/South_Georgia
+++ b/library/tzdata/Atlantic/South_Georgia
@@ -2,5 +2,5 @@
set TZData(:Atlantic/South_Georgia) {
{-9223372036854775808 -8768 0 LMT}
- {-2524512832 -7200 0 -02}
+ {-2524512832 -7200 0 GST}
}
diff --git a/library/tzdata/Atlantic/Stanley b/library/tzdata/Atlantic/Stanley
index 48473ca..c287238 100644
--- a/library/tzdata/Atlantic/Stanley
+++ b/library/tzdata/Atlantic/Stanley
@@ -3,73 +3,73 @@
set TZData(:Atlantic/Stanley) {
{-9223372036854775808 -13884 0 LMT}
{-2524507716 -13884 0 SMT}
- {-1824235716 -14400 0 -04}
- {-1018209600 -10800 1 -04}
- {-1003093200 -14400 0 -04}
- {-986760000 -10800 1 -04}
- {-971643600 -14400 0 -04}
- {-954705600 -10800 1 -04}
- {-939589200 -14400 0 -04}
- {-923256000 -10800 1 -04}
- {-908139600 -14400 0 -04}
- {-891806400 -10800 1 -04}
- {-876690000 -14400 0 -04}
- {-860356800 -10800 1 -04}
- {420606000 -7200 0 -03}
- {433303200 -7200 1 -03}
- {452052000 -10800 0 -03}
- {464151600 -7200 1 -03}
- {483501600 -10800 0 -03}
- {495597600 -14400 0 -04}
- {495604800 -10800 1 -04}
- {514350000 -14400 0 -04}
- {527054400 -10800 1 -04}
- {545799600 -14400 0 -04}
- {558504000 -10800 1 -04}
- {577249200 -14400 0 -04}
- {589953600 -10800 1 -04}
- {608698800 -14400 0 -04}
- {621403200 -10800 1 -04}
- {640753200 -14400 0 -04}
- {652852800 -10800 1 -04}
- {672202800 -14400 0 -04}
- {684907200 -10800 1 -04}
- {703652400 -14400 0 -04}
- {716356800 -10800 1 -04}
- {735102000 -14400 0 -04}
- {747806400 -10800 1 -04}
- {766551600 -14400 0 -04}
- {779256000 -10800 1 -04}
- {798001200 -14400 0 -04}
- {810705600 -10800 1 -04}
- {830055600 -14400 0 -04}
- {842760000 -10800 1 -04}
- {861505200 -14400 0 -04}
- {874209600 -10800 1 -04}
- {892954800 -14400 0 -04}
- {905659200 -10800 1 -04}
- {924404400 -14400 0 -04}
- {937108800 -10800 1 -04}
- {955854000 -14400 0 -04}
- {968558400 -10800 1 -04}
- {987310800 -14400 0 -04}
- {999410400 -10800 1 -04}
- {1019365200 -14400 0 -04}
- {1030860000 -10800 1 -04}
- {1050814800 -14400 0 -04}
- {1062914400 -10800 1 -04}
- {1082264400 -14400 0 -04}
- {1094364000 -10800 1 -04}
- {1113714000 -14400 0 -04}
- {1125813600 -10800 1 -04}
- {1145163600 -14400 0 -04}
- {1157263200 -10800 1 -04}
- {1176613200 -14400 0 -04}
- {1188712800 -10800 1 -04}
- {1208667600 -14400 0 -04}
- {1220767200 -10800 1 -04}
- {1240117200 -14400 0 -04}
- {1252216800 -10800 1 -04}
- {1271566800 -14400 0 -04}
- {1283662800 -10800 0 -03}
+ {-1824235716 -14400 0 FKT}
+ {-1018209600 -10800 1 FKST}
+ {-1003093200 -14400 0 FKT}
+ {-986760000 -10800 1 FKST}
+ {-971643600 -14400 0 FKT}
+ {-954705600 -10800 1 FKST}
+ {-939589200 -14400 0 FKT}
+ {-923256000 -10800 1 FKST}
+ {-908139600 -14400 0 FKT}
+ {-891806400 -10800 1 FKST}
+ {-876690000 -14400 0 FKT}
+ {-860356800 -10800 1 FKST}
+ {420606000 -7200 0 FKT}
+ {433303200 -7200 1 FKST}
+ {452052000 -10800 0 FKT}
+ {464151600 -7200 1 FKST}
+ {483501600 -10800 0 FKT}
+ {495597600 -14400 0 FKT}
+ {495604800 -10800 1 FKST}
+ {514350000 -14400 0 FKT}
+ {527054400 -10800 1 FKST}
+ {545799600 -14400 0 FKT}
+ {558504000 -10800 1 FKST}
+ {577249200 -14400 0 FKT}
+ {589953600 -10800 1 FKST}
+ {608698800 -14400 0 FKT}
+ {621403200 -10800 1 FKST}
+ {640753200 -14400 0 FKT}
+ {652852800 -10800 1 FKST}
+ {672202800 -14400 0 FKT}
+ {684907200 -10800 1 FKST}
+ {703652400 -14400 0 FKT}
+ {716356800 -10800 1 FKST}
+ {735102000 -14400 0 FKT}
+ {747806400 -10800 1 FKST}
+ {766551600 -14400 0 FKT}
+ {779256000 -10800 1 FKST}
+ {798001200 -14400 0 FKT}
+ {810705600 -10800 1 FKST}
+ {830055600 -14400 0 FKT}
+ {842760000 -10800 1 FKST}
+ {861505200 -14400 0 FKT}
+ {874209600 -10800 1 FKST}
+ {892954800 -14400 0 FKT}
+ {905659200 -10800 1 FKST}
+ {924404400 -14400 0 FKT}
+ {937108800 -10800 1 FKST}
+ {955854000 -14400 0 FKT}
+ {968558400 -10800 1 FKST}
+ {987310800 -14400 0 FKT}
+ {999410400 -10800 1 FKST}
+ {1019365200 -14400 0 FKT}
+ {1030860000 -10800 1 FKST}
+ {1050814800 -14400 0 FKT}
+ {1062914400 -10800 1 FKST}
+ {1082264400 -14400 0 FKT}
+ {1094364000 -10800 1 FKST}
+ {1113714000 -14400 0 FKT}
+ {1125813600 -10800 1 FKST}
+ {1145163600 -14400 0 FKT}
+ {1157263200 -10800 1 FKST}
+ {1176613200 -14400 0 FKT}
+ {1188712800 -10800 1 FKST}
+ {1208667600 -14400 0 FKT}
+ {1220767200 -10800 1 FKST}
+ {1240117200 -14400 0 FKT}
+ {1252216800 -10800 1 FKST}
+ {1271566800 -14400 0 FKT}
+ {1283662800 -10800 0 FKST}
}
diff --git a/library/tzdata/Australia/Adelaide b/library/tzdata/Australia/Adelaide
index 5f7c1a4..7e1b04e 100644
--- a/library/tzdata/Australia/Adelaide
+++ b/library/tzdata/Australia/Adelaide
@@ -4,14 +4,14 @@ set TZData(:Australia/Adelaide) {
{-9223372036854775808 33260 0 LMT}
{-2364110060 32400 0 ACST}
{-2230189200 34200 0 ACST}
- {-1672558200 37800 1 ACDT}
- {-1665387000 34200 0 ACST}
+ {-1672565340 37800 1 ACDT}
+ {-1665390600 34200 0 ACST}
{-883639800 37800 1 ACDT}
- {-876123000 34200 0 ACST}
+ {-876126600 34200 0 ACST}
{-860398200 37800 1 ACDT}
- {-844673400 34200 0 ACST}
+ {-844677000 34200 0 ACST}
{-828343800 37800 1 ACDT}
- {-813223800 34200 0 ACST}
+ {-813227400 34200 0 ACST}
{31501800 34200 0 ACST}
{57688200 37800 1 ACDT}
{67969800 34200 0 ACST}
diff --git a/library/tzdata/Australia/Brisbane b/library/tzdata/Australia/Brisbane
index 325313a..8422ae6 100644
--- a/library/tzdata/Australia/Brisbane
+++ b/library/tzdata/Australia/Brisbane
@@ -3,14 +3,14 @@
set TZData(:Australia/Brisbane) {
{-9223372036854775808 36728 0 LMT}
{-2366791928 36000 0 AEST}
- {-1672560000 39600 1 AEDT}
- {-1665388800 36000 0 AEST}
+ {-1672567140 39600 1 AEDT}
+ {-1665392400 36000 0 AEST}
{-883641600 39600 1 AEDT}
- {-876124800 36000 0 AEST}
+ {-876128400 36000 0 AEST}
{-860400000 39600 1 AEDT}
- {-844675200 36000 0 AEST}
+ {-844678800 36000 0 AEST}
{-828345600 39600 1 AEDT}
- {-813225600 36000 0 AEST}
+ {-813229200 36000 0 AEST}
{31500000 36000 0 AEST}
{57686400 39600 1 AEDT}
{67968000 36000 0 AEST}
diff --git a/library/tzdata/Australia/Broken_Hill b/library/tzdata/Australia/Broken_Hill
index 2534b70..c428061 100644
--- a/library/tzdata/Australia/Broken_Hill
+++ b/library/tzdata/Australia/Broken_Hill
@@ -5,14 +5,14 @@ set TZData(:Australia/Broken_Hill) {
{-2364110748 36000 0 AEST}
{-2314951200 32400 0 ACST}
{-2230189200 34200 0 ACST}
- {-1672558200 37800 1 ACDT}
- {-1665387000 34200 0 ACST}
+ {-1672565340 37800 1 ACDT}
+ {-1665390600 34200 0 ACST}
{-883639800 37800 1 ACDT}
- {-876123000 34200 0 ACST}
+ {-876126600 34200 0 ACST}
{-860398200 37800 1 ACDT}
- {-844673400 34200 0 ACST}
+ {-844677000 34200 0 ACST}
{-828343800 37800 1 ACDT}
- {-813223800 34200 0 ACST}
+ {-813227400 34200 0 ACST}
{31501800 34200 0 ACST}
{57688200 37800 1 ACDT}
{67969800 34200 0 ACST}
diff --git a/library/tzdata/Australia/Currie b/library/tzdata/Australia/Currie
index 3315aa3..936327b 100644
--- a/library/tzdata/Australia/Currie
+++ b/library/tzdata/Australia/Currie
@@ -1,5 +1,273 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Australia/Hobart)]} {
- LoadTimeZoneFile Australia/Hobart
+
+set TZData(:Australia/Currie) {
+ {-9223372036854775808 34528 0 LMT}
+ {-2345794528 36000 0 AEST}
+ {-1680508800 39600 1 AEDT}
+ {-1669892400 39600 0 AEDT}
+ {-1665392400 36000 0 AEST}
+ {-883641600 39600 1 AEDT}
+ {-876128400 36000 0 AEST}
+ {-860400000 39600 1 AEDT}
+ {-844678800 36000 0 AEST}
+ {-828345600 39600 1 AEDT}
+ {-813229200 36000 0 AEST}
+ {47138400 36000 0 AEST}
+ {57686400 39600 1 AEDT}
+ {67968000 36000 0 AEST}
+ {89136000 39600 1 AEDT}
+ {100022400 36000 0 AEST}
+ {120585600 39600 1 AEDT}
+ {131472000 36000 0 AEST}
+ {152035200 39600 1 AEDT}
+ {162921600 36000 0 AEST}
+ {183484800 39600 1 AEDT}
+ {194976000 36000 0 AEST}
+ {215539200 39600 1 AEDT}
+ {226425600 36000 0 AEST}
+ {246988800 39600 1 AEDT}
+ {257875200 36000 0 AEST}
+ {278438400 39600 1 AEDT}
+ {289324800 36000 0 AEST}
+ {309888000 39600 1 AEDT}
+ {320774400 36000 0 AEST}
+ {341337600 39600 1 AEDT}
+ {352224000 36000 0 AEST}
+ {372787200 39600 1 AEDT}
+ {386092800 36000 0 AEST}
+ {404841600 39600 1 AEDT}
+ {417542400 36000 0 AEST}
+ {436291200 39600 1 AEDT}
+ {447177600 36000 0 AEST}
+ {467740800 39600 1 AEDT}
+ {478627200 36000 0 AEST}
+ {499190400 39600 1 AEDT}
+ {510076800 36000 0 AEST}
+ {530035200 39600 1 AEDT}
+ {542736000 36000 0 AEST}
+ {562089600 39600 1 AEDT}
+ {574790400 36000 0 AEST}
+ {594144000 39600 1 AEDT}
+ {606240000 36000 0 AEST}
+ {625593600 39600 1 AEDT}
+ {637689600 36000 0 AEST}
+ {657043200 39600 1 AEDT}
+ {670348800 36000 0 AEST}
+ {686678400 39600 1 AEDT}
+ {701798400 36000 0 AEST}
+ {718128000 39600 1 AEDT}
+ {733248000 36000 0 AEST}
+ {749577600 39600 1 AEDT}
+ {764697600 36000 0 AEST}
+ {781027200 39600 1 AEDT}
+ {796147200 36000 0 AEST}
+ {812476800 39600 1 AEDT}
+ {828201600 36000 0 AEST}
+ {844531200 39600 1 AEDT}
+ {859651200 36000 0 AEST}
+ {875980800 39600 1 AEDT}
+ {891100800 36000 0 AEST}
+ {907430400 39600 1 AEDT}
+ {922550400 36000 0 AEST}
+ {938880000 39600 1 AEDT}
+ {954000000 36000 0 AEST}
+ {967305600 39600 1 AEDT}
+ {985449600 36000 0 AEST}
+ {1002384000 39600 1 AEDT}
+ {1017504000 36000 0 AEST}
+ {1033833600 39600 1 AEDT}
+ {1048953600 36000 0 AEST}
+ {1065283200 39600 1 AEDT}
+ {1080403200 36000 0 AEST}
+ {1096732800 39600 1 AEDT}
+ {1111852800 36000 0 AEST}
+ {1128182400 39600 1 AEDT}
+ {1143907200 36000 0 AEST}
+ {1159632000 39600 1 AEDT}
+ {1174752000 36000 0 AEST}
+ {1191686400 39600 1 AEDT}
+ {1207411200 36000 0 AEST}
+ {1223136000 39600 1 AEDT}
+ {1238860800 36000 0 AEST}
+ {1254585600 39600 1 AEDT}
+ {1270310400 36000 0 AEST}
+ {1286035200 39600 1 AEDT}
+ {1301760000 36000 0 AEST}
+ {1317484800 39600 1 AEDT}
+ {1333209600 36000 0 AEST}
+ {1349539200 39600 1 AEDT}
+ {1365264000 36000 0 AEST}
+ {1380988800 39600 1 AEDT}
+ {1396713600 36000 0 AEST}
+ {1412438400 39600 1 AEDT}
+ {1428163200 36000 0 AEST}
+ {1443888000 39600 1 AEDT}
+ {1459612800 36000 0 AEST}
+ {1475337600 39600 1 AEDT}
+ {1491062400 36000 0 AEST}
+ {1506787200 39600 1 AEDT}
+ {1522512000 36000 0 AEST}
+ {1538841600 39600 1 AEDT}
+ {1554566400 36000 0 AEST}
+ {1570291200 39600 1 AEDT}
+ {1586016000 36000 0 AEST}
+ {1601740800 39600 1 AEDT}
+ {1617465600 36000 0 AEST}
+ {1633190400 39600 1 AEDT}
+ {1648915200 36000 0 AEST}
+ {1664640000 39600 1 AEDT}
+ {1680364800 36000 0 AEST}
+ {1696089600 39600 1 AEDT}
+ {1712419200 36000 0 AEST}
+ {1728144000 39600 1 AEDT}
+ {1743868800 36000 0 AEST}
+ {1759593600 39600 1 AEDT}
+ {1775318400 36000 0 AEST}
+ {1791043200 39600 1 AEDT}
+ {1806768000 36000 0 AEST}
+ {1822492800 39600 1 AEDT}
+ {1838217600 36000 0 AEST}
+ {1853942400 39600 1 AEDT}
+ {1869667200 36000 0 AEST}
+ {1885996800 39600 1 AEDT}
+ {1901721600 36000 0 AEST}
+ {1917446400 39600 1 AEDT}
+ {1933171200 36000 0 AEST}
+ {1948896000 39600 1 AEDT}
+ {1964620800 36000 0 AEST}
+ {1980345600 39600 1 AEDT}
+ {1996070400 36000 0 AEST}
+ {2011795200 39600 1 AEDT}
+ {2027520000 36000 0 AEST}
+ {2043244800 39600 1 AEDT}
+ {2058969600 36000 0 AEST}
+ {2075299200 39600 1 AEDT}
+ {2091024000 36000 0 AEST}
+ {2106748800 39600 1 AEDT}
+ {2122473600 36000 0 AEST}
+ {2138198400 39600 1 AEDT}
+ {2153923200 36000 0 AEST}
+ {2169648000 39600 1 AEDT}
+ {2185372800 36000 0 AEST}
+ {2201097600 39600 1 AEDT}
+ {2216822400 36000 0 AEST}
+ {2233152000 39600 1 AEDT}
+ {2248876800 36000 0 AEST}
+ {2264601600 39600 1 AEDT}
+ {2280326400 36000 0 AEST}
+ {2296051200 39600 1 AEDT}
+ {2311776000 36000 0 AEST}
+ {2327500800 39600 1 AEDT}
+ {2343225600 36000 0 AEST}
+ {2358950400 39600 1 AEDT}
+ {2374675200 36000 0 AEST}
+ {2390400000 39600 1 AEDT}
+ {2406124800 36000 0 AEST}
+ {2422454400 39600 1 AEDT}
+ {2438179200 36000 0 AEST}
+ {2453904000 39600 1 AEDT}
+ {2469628800 36000 0 AEST}
+ {2485353600 39600 1 AEDT}
+ {2501078400 36000 0 AEST}
+ {2516803200 39600 1 AEDT}
+ {2532528000 36000 0 AEST}
+ {2548252800 39600 1 AEDT}
+ {2563977600 36000 0 AEST}
+ {2579702400 39600 1 AEDT}
+ {2596032000 36000 0 AEST}
+ {2611756800 39600 1 AEDT}
+ {2627481600 36000 0 AEST}
+ {2643206400 39600 1 AEDT}
+ {2658931200 36000 0 AEST}
+ {2674656000 39600 1 AEDT}
+ {2690380800 36000 0 AEST}
+ {2706105600 39600 1 AEDT}
+ {2721830400 36000 0 AEST}
+ {2737555200 39600 1 AEDT}
+ {2753280000 36000 0 AEST}
+ {2769609600 39600 1 AEDT}
+ {2785334400 36000 0 AEST}
+ {2801059200 39600 1 AEDT}
+ {2816784000 36000 0 AEST}
+ {2832508800 39600 1 AEDT}
+ {2848233600 36000 0 AEST}
+ {2863958400 39600 1 AEDT}
+ {2879683200 36000 0 AEST}
+ {2895408000 39600 1 AEDT}
+ {2911132800 36000 0 AEST}
+ {2926857600 39600 1 AEDT}
+ {2942582400 36000 0 AEST}
+ {2958912000 39600 1 AEDT}
+ {2974636800 36000 0 AEST}
+ {2990361600 39600 1 AEDT}
+ {3006086400 36000 0 AEST}
+ {3021811200 39600 1 AEDT}
+ {3037536000 36000 0 AEST}
+ {3053260800 39600 1 AEDT}
+ {3068985600 36000 0 AEST}
+ {3084710400 39600 1 AEDT}
+ {3100435200 36000 0 AEST}
+ {3116764800 39600 1 AEDT}
+ {3132489600 36000 0 AEST}
+ {3148214400 39600 1 AEDT}
+ {3163939200 36000 0 AEST}
+ {3179664000 39600 1 AEDT}
+ {3195388800 36000 0 AEST}
+ {3211113600 39600 1 AEDT}
+ {3226838400 36000 0 AEST}
+ {3242563200 39600 1 AEDT}
+ {3258288000 36000 0 AEST}
+ {3274012800 39600 1 AEDT}
+ {3289737600 36000 0 AEST}
+ {3306067200 39600 1 AEDT}
+ {3321792000 36000 0 AEST}
+ {3337516800 39600 1 AEDT}
+ {3353241600 36000 0 AEST}
+ {3368966400 39600 1 AEDT}
+ {3384691200 36000 0 AEST}
+ {3400416000 39600 1 AEDT}
+ {3416140800 36000 0 AEST}
+ {3431865600 39600 1 AEDT}
+ {3447590400 36000 0 AEST}
+ {3463315200 39600 1 AEDT}
+ {3479644800 36000 0 AEST}
+ {3495369600 39600 1 AEDT}
+ {3511094400 36000 0 AEST}
+ {3526819200 39600 1 AEDT}
+ {3542544000 36000 0 AEST}
+ {3558268800 39600 1 AEDT}
+ {3573993600 36000 0 AEST}
+ {3589718400 39600 1 AEDT}
+ {3605443200 36000 0 AEST}
+ {3621168000 39600 1 AEDT}
+ {3636892800 36000 0 AEST}
+ {3653222400 39600 1 AEDT}
+ {3668947200 36000 0 AEST}
+ {3684672000 39600 1 AEDT}
+ {3700396800 36000 0 AEST}
+ {3716121600 39600 1 AEDT}
+ {3731846400 36000 0 AEST}
+ {3747571200 39600 1 AEDT}
+ {3763296000 36000 0 AEST}
+ {3779020800 39600 1 AEDT}
+ {3794745600 36000 0 AEST}
+ {3810470400 39600 1 AEDT}
+ {3826195200 36000 0 AEST}
+ {3842524800 39600 1 AEDT}
+ {3858249600 36000 0 AEST}
+ {3873974400 39600 1 AEDT}
+ {3889699200 36000 0 AEST}
+ {3905424000 39600 1 AEDT}
+ {3921148800 36000 0 AEST}
+ {3936873600 39600 1 AEDT}
+ {3952598400 36000 0 AEST}
+ {3968323200 39600 1 AEDT}
+ {3984048000 36000 0 AEST}
+ {4000377600 39600 1 AEDT}
+ {4016102400 36000 0 AEST}
+ {4031827200 39600 1 AEDT}
+ {4047552000 36000 0 AEST}
+ {4063276800 39600 1 AEDT}
+ {4079001600 36000 0 AEST}
+ {4094726400 39600 1 AEDT}
}
-set TZData(:Australia/Currie) $TZData(:Australia/Hobart)
diff --git a/library/tzdata/Australia/Darwin b/library/tzdata/Australia/Darwin
index 13f13ee..e77605d 100644
--- a/library/tzdata/Australia/Darwin
+++ b/library/tzdata/Australia/Darwin
@@ -4,12 +4,12 @@ set TZData(:Australia/Darwin) {
{-9223372036854775808 31400 0 LMT}
{-2364108200 32400 0 ACST}
{-2230189200 34200 0 ACST}
- {-1672558200 37800 1 ACDT}
- {-1665387000 34200 0 ACST}
+ {-1672565340 37800 1 ACDT}
+ {-1665390600 34200 0 ACST}
{-883639800 37800 1 ACDT}
- {-876123000 34200 0 ACST}
+ {-876126600 34200 0 ACST}
{-860398200 37800 1 ACDT}
- {-844673400 34200 0 ACST}
+ {-844677000 34200 0 ACST}
{-828343800 37800 1 ACDT}
- {-813223800 34200 0 ACST}
+ {-813227400 34200 0 ACST}
}
diff --git a/library/tzdata/Australia/Eucla b/library/tzdata/Australia/Eucla
index 1d81a3d..08a1948 100644
--- a/library/tzdata/Australia/Eucla
+++ b/library/tzdata/Australia/Eucla
@@ -2,24 +2,24 @@
set TZData(:Australia/Eucla) {
{-9223372036854775808 30928 0 LMT}
- {-2337928528 31500 0 +0945}
- {-1672555500 35100 1 +0945}
- {-1665384300 31500 0 +0945}
- {-883637100 35100 1 +0945}
- {-876120300 31500 0 +0945}
- {-860395500 35100 1 +0945}
- {-844670700 31500 0 +0945}
- {-836473500 35100 0 +0945}
- {152039700 35100 1 +0945}
- {162926100 31500 0 +0945}
- {436295700 35100 1 +0945}
- {447182100 31500 0 +0945}
- {690311700 35100 1 +0945}
- {699383700 31500 0 +0945}
- {1165079700 35100 1 +0945}
- {1174756500 31500 0 +0945}
- {1193505300 35100 1 +0945}
- {1206810900 31500 0 +0945}
- {1224954900 35100 1 +0945}
- {1238260500 31500 0 +0945}
+ {-2337928528 31500 0 ACWST}
+ {-1672562640 35100 1 ACWDT}
+ {-1665387900 31500 0 ACWST}
+ {-883637100 35100 1 ACWDT}
+ {-876123900 31500 0 ACWST}
+ {-860395500 35100 1 ACWDT}
+ {-844674300 31500 0 ACWST}
+ {-836473500 35100 0 ACWST}
+ {152039700 35100 1 ACWDT}
+ {162926100 31500 0 ACWST}
+ {436295700 35100 1 ACWDT}
+ {447182100 31500 0 ACWST}
+ {690311700 35100 1 ACWDT}
+ {699383700 31500 0 ACWST}
+ {1165079700 35100 1 ACWDT}
+ {1174756500 31500 0 ACWST}
+ {1193505300 35100 1 ACWDT}
+ {1206810900 31500 0 ACWST}
+ {1224954900 35100 1 ACWDT}
+ {1238260500 31500 0 ACWST}
}
diff --git a/library/tzdata/Australia/Hobart b/library/tzdata/Australia/Hobart
index 5ff675e..bf5adf0 100644
--- a/library/tzdata/Australia/Hobart
+++ b/library/tzdata/Australia/Hobart
@@ -4,18 +4,14 @@ set TZData(:Australia/Hobart) {
{-9223372036854775808 35356 0 LMT}
{-2345795356 36000 0 AEST}
{-1680508800 39600 1 AEDT}
- {-1665388800 36000 0 AEST}
- {-1646640000 39600 1 AEDT}
- {-1635753600 36000 0 AEST}
- {-1615190400 39600 1 AEDT}
- {-1604304000 36000 0 AEST}
- {-1583920800 36000 0 AEST}
+ {-1669892400 39600 0 AEDT}
+ {-1665392400 36000 0 AEST}
{-883641600 39600 1 AEDT}
- {-876124800 36000 0 AEST}
+ {-876128400 36000 0 AEST}
{-860400000 39600 1 AEDT}
- {-844675200 36000 0 AEST}
+ {-844678800 36000 0 AEST}
{-828345600 39600 1 AEDT}
- {-813225600 36000 0 AEST}
+ {-813229200 36000 0 AEST}
{-94730400 36000 0 AEST}
{-71136000 39600 1 AEDT}
{-55411200 36000 0 AEST}
diff --git a/library/tzdata/Australia/Lindeman b/library/tzdata/Australia/Lindeman
index 1be6962..91ad0a6 100644
--- a/library/tzdata/Australia/Lindeman
+++ b/library/tzdata/Australia/Lindeman
@@ -3,14 +3,14 @@
set TZData(:Australia/Lindeman) {
{-9223372036854775808 35756 0 LMT}
{-2366790956 36000 0 AEST}
- {-1672560000 39600 1 AEDT}
- {-1665388800 36000 0 AEST}
+ {-1672567140 39600 1 AEDT}
+ {-1665392400 36000 0 AEST}
{-883641600 39600 1 AEDT}
- {-876124800 36000 0 AEST}
+ {-876128400 36000 0 AEST}
{-860400000 39600 1 AEDT}
- {-844675200 36000 0 AEST}
+ {-844678800 36000 0 AEST}
{-828345600 39600 1 AEDT}
- {-813225600 36000 0 AEST}
+ {-813229200 36000 0 AEST}
{31500000 36000 0 AEST}
{57686400 39600 1 AEDT}
{67968000 36000 0 AEST}
diff --git a/library/tzdata/Australia/Lord_Howe b/library/tzdata/Australia/Lord_Howe
index c595967..a8ff80e 100644
--- a/library/tzdata/Australia/Lord_Howe
+++ b/library/tzdata/Australia/Lord_Howe
@@ -3,243 +3,242 @@
set TZData(:Australia/Lord_Howe) {
{-9223372036854775808 38180 0 LMT}
{-2364114980 36000 0 AEST}
- {352216800 37800 0 +1030}
- {372785400 41400 1 +1030}
- {384273000 37800 0 +1030}
- {404839800 41400 1 +1030}
- {415722600 37800 0 +1030}
- {436289400 41400 1 +1030}
- {447172200 37800 0 +1030}
- {467739000 41400 1 +1030}
- {478621800 37800 0 +1030}
- {488984400 37800 0 +1030}
- {499188600 39600 1 +1030}
- {511282800 37800 0 +1030}
- {530033400 39600 1 +1030}
- {542732400 37800 0 +1030}
- {562087800 39600 1 +1030}
- {574786800 37800 0 +1030}
- {594142200 39600 1 +1030}
- {606236400 37800 0 +1030}
- {625591800 39600 1 +1030}
- {636476400 37800 0 +1030}
- {657041400 39600 1 +1030}
- {667926000 37800 0 +1030}
- {688491000 39600 1 +1030}
- {699375600 37800 0 +1030}
- {719940600 39600 1 +1030}
- {731430000 37800 0 +1030}
- {751995000 39600 1 +1030}
- {762879600 37800 0 +1030}
- {783444600 39600 1 +1030}
- {794329200 37800 0 +1030}
- {814894200 39600 1 +1030}
- {828198000 37800 0 +1030}
- {846343800 39600 1 +1030}
- {859647600 37800 0 +1030}
- {877793400 39600 1 +1030}
- {891097200 37800 0 +1030}
- {909243000 39600 1 +1030}
- {922546800 37800 0 +1030}
- {941297400 39600 1 +1030}
- {953996400 37800 0 +1030}
- {967303800 39600 1 +1030}
- {985446000 37800 0 +1030}
- {1004196600 39600 1 +1030}
- {1017500400 37800 0 +1030}
- {1035646200 39600 1 +1030}
- {1048950000 37800 0 +1030}
- {1067095800 39600 1 +1030}
- {1080399600 37800 0 +1030}
- {1099150200 39600 1 +1030}
- {1111849200 37800 0 +1030}
- {1130599800 39600 1 +1030}
- {1143903600 37800 0 +1030}
- {1162049400 39600 1 +1030}
- {1174748400 37800 0 +1030}
- {1193499000 39600 1 +1030}
- {1207407600 37800 0 +1030}
- {1223134200 39600 1 +1030}
- {1238857200 37800 0 +1030}
- {1254583800 39600 1 +1030}
- {1270306800 37800 0 +1030}
- {1286033400 39600 1 +1030}
- {1301756400 37800 0 +1030}
- {1317483000 39600 1 +1030}
- {1333206000 37800 0 +1030}
- {1349537400 39600 1 +1030}
- {1365260400 37800 0 +1030}
- {1380987000 39600 1 +1030}
- {1396710000 37800 0 +1030}
- {1412436600 39600 1 +1030}
- {1428159600 37800 0 +1030}
- {1443886200 39600 1 +1030}
- {1459609200 37800 0 +1030}
- {1475335800 39600 1 +1030}
- {1491058800 37800 0 +1030}
- {1506785400 39600 1 +1030}
- {1522508400 37800 0 +1030}
- {1538839800 39600 1 +1030}
- {1554562800 37800 0 +1030}
- {1570289400 39600 1 +1030}
- {1586012400 37800 0 +1030}
- {1601739000 39600 1 +1030}
- {1617462000 37800 0 +1030}
- {1633188600 39600 1 +1030}
- {1648911600 37800 0 +1030}
- {1664638200 39600 1 +1030}
- {1680361200 37800 0 +1030}
- {1696087800 39600 1 +1030}
- {1712415600 37800 0 +1030}
- {1728142200 39600 1 +1030}
- {1743865200 37800 0 +1030}
- {1759591800 39600 1 +1030}
- {1775314800 37800 0 +1030}
- {1791041400 39600 1 +1030}
- {1806764400 37800 0 +1030}
- {1822491000 39600 1 +1030}
- {1838214000 37800 0 +1030}
- {1853940600 39600 1 +1030}
- {1869663600 37800 0 +1030}
- {1885995000 39600 1 +1030}
- {1901718000 37800 0 +1030}
- {1917444600 39600 1 +1030}
- {1933167600 37800 0 +1030}
- {1948894200 39600 1 +1030}
- {1964617200 37800 0 +1030}
- {1980343800 39600 1 +1030}
- {1996066800 37800 0 +1030}
- {2011793400 39600 1 +1030}
- {2027516400 37800 0 +1030}
- {2043243000 39600 1 +1030}
- {2058966000 37800 0 +1030}
- {2075297400 39600 1 +1030}
- {2091020400 37800 0 +1030}
- {2106747000 39600 1 +1030}
- {2122470000 37800 0 +1030}
- {2138196600 39600 1 +1030}
- {2153919600 37800 0 +1030}
- {2169646200 39600 1 +1030}
- {2185369200 37800 0 +1030}
- {2201095800 39600 1 +1030}
- {2216818800 37800 0 +1030}
- {2233150200 39600 1 +1030}
- {2248873200 37800 0 +1030}
- {2264599800 39600 1 +1030}
- {2280322800 37800 0 +1030}
- {2296049400 39600 1 +1030}
- {2311772400 37800 0 +1030}
- {2327499000 39600 1 +1030}
- {2343222000 37800 0 +1030}
- {2358948600 39600 1 +1030}
- {2374671600 37800 0 +1030}
- {2390398200 39600 1 +1030}
- {2406121200 37800 0 +1030}
- {2422452600 39600 1 +1030}
- {2438175600 37800 0 +1030}
- {2453902200 39600 1 +1030}
- {2469625200 37800 0 +1030}
- {2485351800 39600 1 +1030}
- {2501074800 37800 0 +1030}
- {2516801400 39600 1 +1030}
- {2532524400 37800 0 +1030}
- {2548251000 39600 1 +1030}
- {2563974000 37800 0 +1030}
- {2579700600 39600 1 +1030}
- {2596028400 37800 0 +1030}
- {2611755000 39600 1 +1030}
- {2627478000 37800 0 +1030}
- {2643204600 39600 1 +1030}
- {2658927600 37800 0 +1030}
- {2674654200 39600 1 +1030}
- {2690377200 37800 0 +1030}
- {2706103800 39600 1 +1030}
- {2721826800 37800 0 +1030}
- {2737553400 39600 1 +1030}
- {2753276400 37800 0 +1030}
- {2769607800 39600 1 +1030}
- {2785330800 37800 0 +1030}
- {2801057400 39600 1 +1030}
- {2816780400 37800 0 +1030}
- {2832507000 39600 1 +1030}
- {2848230000 37800 0 +1030}
- {2863956600 39600 1 +1030}
- {2879679600 37800 0 +1030}
- {2895406200 39600 1 +1030}
- {2911129200 37800 0 +1030}
- {2926855800 39600 1 +1030}
- {2942578800 37800 0 +1030}
- {2958910200 39600 1 +1030}
- {2974633200 37800 0 +1030}
- {2990359800 39600 1 +1030}
- {3006082800 37800 0 +1030}
- {3021809400 39600 1 +1030}
- {3037532400 37800 0 +1030}
- {3053259000 39600 1 +1030}
- {3068982000 37800 0 +1030}
- {3084708600 39600 1 +1030}
- {3100431600 37800 0 +1030}
- {3116763000 39600 1 +1030}
- {3132486000 37800 0 +1030}
- {3148212600 39600 1 +1030}
- {3163935600 37800 0 +1030}
- {3179662200 39600 1 +1030}
- {3195385200 37800 0 +1030}
- {3211111800 39600 1 +1030}
- {3226834800 37800 0 +1030}
- {3242561400 39600 1 +1030}
- {3258284400 37800 0 +1030}
- {3274011000 39600 1 +1030}
- {3289734000 37800 0 +1030}
- {3306065400 39600 1 +1030}
- {3321788400 37800 0 +1030}
- {3337515000 39600 1 +1030}
- {3353238000 37800 0 +1030}
- {3368964600 39600 1 +1030}
- {3384687600 37800 0 +1030}
- {3400414200 39600 1 +1030}
- {3416137200 37800 0 +1030}
- {3431863800 39600 1 +1030}
- {3447586800 37800 0 +1030}
- {3463313400 39600 1 +1030}
- {3479641200 37800 0 +1030}
- {3495367800 39600 1 +1030}
- {3511090800 37800 0 +1030}
- {3526817400 39600 1 +1030}
- {3542540400 37800 0 +1030}
- {3558267000 39600 1 +1030}
- {3573990000 37800 0 +1030}
- {3589716600 39600 1 +1030}
- {3605439600 37800 0 +1030}
- {3621166200 39600 1 +1030}
- {3636889200 37800 0 +1030}
- {3653220600 39600 1 +1030}
- {3668943600 37800 0 +1030}
- {3684670200 39600 1 +1030}
- {3700393200 37800 0 +1030}
- {3716119800 39600 1 +1030}
- {3731842800 37800 0 +1030}
- {3747569400 39600 1 +1030}
- {3763292400 37800 0 +1030}
- {3779019000 39600 1 +1030}
- {3794742000 37800 0 +1030}
- {3810468600 39600 1 +1030}
- {3826191600 37800 0 +1030}
- {3842523000 39600 1 +1030}
- {3858246000 37800 0 +1030}
- {3873972600 39600 1 +1030}
- {3889695600 37800 0 +1030}
- {3905422200 39600 1 +1030}
- {3921145200 37800 0 +1030}
- {3936871800 39600 1 +1030}
- {3952594800 37800 0 +1030}
- {3968321400 39600 1 +1030}
- {3984044400 37800 0 +1030}
- {4000375800 39600 1 +1030}
- {4016098800 37800 0 +1030}
- {4031825400 39600 1 +1030}
- {4047548400 37800 0 +1030}
- {4063275000 39600 1 +1030}
- {4078998000 37800 0 +1030}
- {4094724600 39600 1 +1030}
+ {352216800 37800 0 LHST}
+ {372785400 41400 1 LHDT}
+ {384273000 37800 0 LHST}
+ {404839800 41400 1 LHDT}
+ {415722600 37800 0 LHST}
+ {436289400 41400 1 LHDT}
+ {447172200 37800 0 LHST}
+ {467739000 41400 1 LHDT}
+ {478621800 37800 0 LHST}
+ {499188600 39600 1 LHDT}
+ {511282800 37800 0 LHST}
+ {530033400 39600 1 LHDT}
+ {542732400 37800 0 LHST}
+ {562087800 39600 1 LHDT}
+ {574786800 37800 0 LHST}
+ {594142200 39600 1 LHDT}
+ {606236400 37800 0 LHST}
+ {625591800 39600 1 LHDT}
+ {636476400 37800 0 LHST}
+ {657041400 39600 1 LHDT}
+ {667926000 37800 0 LHST}
+ {688491000 39600 1 LHDT}
+ {699375600 37800 0 LHST}
+ {719940600 39600 1 LHDT}
+ {731430000 37800 0 LHST}
+ {751995000 39600 1 LHDT}
+ {762879600 37800 0 LHST}
+ {783444600 39600 1 LHDT}
+ {794329200 37800 0 LHST}
+ {814894200 39600 1 LHDT}
+ {828198000 37800 0 LHST}
+ {846343800 39600 1 LHDT}
+ {859647600 37800 0 LHST}
+ {877793400 39600 1 LHDT}
+ {891097200 37800 0 LHST}
+ {909243000 39600 1 LHDT}
+ {922546800 37800 0 LHST}
+ {941297400 39600 1 LHDT}
+ {953996400 37800 0 LHST}
+ {967303800 39600 1 LHDT}
+ {985446000 37800 0 LHST}
+ {1004196600 39600 1 LHDT}
+ {1017500400 37800 0 LHST}
+ {1035646200 39600 1 LHDT}
+ {1048950000 37800 0 LHST}
+ {1067095800 39600 1 LHDT}
+ {1080399600 37800 0 LHST}
+ {1099150200 39600 1 LHDT}
+ {1111849200 37800 0 LHST}
+ {1130599800 39600 1 LHDT}
+ {1143903600 37800 0 LHST}
+ {1162049400 39600 1 LHDT}
+ {1174748400 37800 0 LHST}
+ {1193499000 39600 1 LHDT}
+ {1207407600 37800 0 LHST}
+ {1223134200 39600 1 LHDT}
+ {1238857200 37800 0 LHST}
+ {1254583800 39600 1 LHDT}
+ {1270306800 37800 0 LHST}
+ {1286033400 39600 1 LHDT}
+ {1301756400 37800 0 LHST}
+ {1317483000 39600 1 LHDT}
+ {1333206000 37800 0 LHST}
+ {1349537400 39600 1 LHDT}
+ {1365260400 37800 0 LHST}
+ {1380987000 39600 1 LHDT}
+ {1396710000 37800 0 LHST}
+ {1412436600 39600 1 LHDT}
+ {1428159600 37800 0 LHST}
+ {1443886200 39600 1 LHDT}
+ {1459609200 37800 0 LHST}
+ {1475335800 39600 1 LHDT}
+ {1491058800 37800 0 LHST}
+ {1506785400 39600 1 LHDT}
+ {1522508400 37800 0 LHST}
+ {1538839800 39600 1 LHDT}
+ {1554562800 37800 0 LHST}
+ {1570289400 39600 1 LHDT}
+ {1586012400 37800 0 LHST}
+ {1601739000 39600 1 LHDT}
+ {1617462000 37800 0 LHST}
+ {1633188600 39600 1 LHDT}
+ {1648911600 37800 0 LHST}
+ {1664638200 39600 1 LHDT}
+ {1680361200 37800 0 LHST}
+ {1696087800 39600 1 LHDT}
+ {1712415600 37800 0 LHST}
+ {1728142200 39600 1 LHDT}
+ {1743865200 37800 0 LHST}
+ {1759591800 39600 1 LHDT}
+ {1775314800 37800 0 LHST}
+ {1791041400 39600 1 LHDT}
+ {1806764400 37800 0 LHST}
+ {1822491000 39600 1 LHDT}
+ {1838214000 37800 0 LHST}
+ {1853940600 39600 1 LHDT}
+ {1869663600 37800 0 LHST}
+ {1885995000 39600 1 LHDT}
+ {1901718000 37800 0 LHST}
+ {1917444600 39600 1 LHDT}
+ {1933167600 37800 0 LHST}
+ {1948894200 39600 1 LHDT}
+ {1964617200 37800 0 LHST}
+ {1980343800 39600 1 LHDT}
+ {1996066800 37800 0 LHST}
+ {2011793400 39600 1 LHDT}
+ {2027516400 37800 0 LHST}
+ {2043243000 39600 1 LHDT}
+ {2058966000 37800 0 LHST}
+ {2075297400 39600 1 LHDT}
+ {2091020400 37800 0 LHST}
+ {2106747000 39600 1 LHDT}
+ {2122470000 37800 0 LHST}
+ {2138196600 39600 1 LHDT}
+ {2153919600 37800 0 LHST}
+ {2169646200 39600 1 LHDT}
+ {2185369200 37800 0 LHST}
+ {2201095800 39600 1 LHDT}
+ {2216818800 37800 0 LHST}
+ {2233150200 39600 1 LHDT}
+ {2248873200 37800 0 LHST}
+ {2264599800 39600 1 LHDT}
+ {2280322800 37800 0 LHST}
+ {2296049400 39600 1 LHDT}
+ {2311772400 37800 0 LHST}
+ {2327499000 39600 1 LHDT}
+ {2343222000 37800 0 LHST}
+ {2358948600 39600 1 LHDT}
+ {2374671600 37800 0 LHST}
+ {2390398200 39600 1 LHDT}
+ {2406121200 37800 0 LHST}
+ {2422452600 39600 1 LHDT}
+ {2438175600 37800 0 LHST}
+ {2453902200 39600 1 LHDT}
+ {2469625200 37800 0 LHST}
+ {2485351800 39600 1 LHDT}
+ {2501074800 37800 0 LHST}
+ {2516801400 39600 1 LHDT}
+ {2532524400 37800 0 LHST}
+ {2548251000 39600 1 LHDT}
+ {2563974000 37800 0 LHST}
+ {2579700600 39600 1 LHDT}
+ {2596028400 37800 0 LHST}
+ {2611755000 39600 1 LHDT}
+ {2627478000 37800 0 LHST}
+ {2643204600 39600 1 LHDT}
+ {2658927600 37800 0 LHST}
+ {2674654200 39600 1 LHDT}
+ {2690377200 37800 0 LHST}
+ {2706103800 39600 1 LHDT}
+ {2721826800 37800 0 LHST}
+ {2737553400 39600 1 LHDT}
+ {2753276400 37800 0 LHST}
+ {2769607800 39600 1 LHDT}
+ {2785330800 37800 0 LHST}
+ {2801057400 39600 1 LHDT}
+ {2816780400 37800 0 LHST}
+ {2832507000 39600 1 LHDT}
+ {2848230000 37800 0 LHST}
+ {2863956600 39600 1 LHDT}
+ {2879679600 37800 0 LHST}
+ {2895406200 39600 1 LHDT}
+ {2911129200 37800 0 LHST}
+ {2926855800 39600 1 LHDT}
+ {2942578800 37800 0 LHST}
+ {2958910200 39600 1 LHDT}
+ {2974633200 37800 0 LHST}
+ {2990359800 39600 1 LHDT}
+ {3006082800 37800 0 LHST}
+ {3021809400 39600 1 LHDT}
+ {3037532400 37800 0 LHST}
+ {3053259000 39600 1 LHDT}
+ {3068982000 37800 0 LHST}
+ {3084708600 39600 1 LHDT}
+ {3100431600 37800 0 LHST}
+ {3116763000 39600 1 LHDT}
+ {3132486000 37800 0 LHST}
+ {3148212600 39600 1 LHDT}
+ {3163935600 37800 0 LHST}
+ {3179662200 39600 1 LHDT}
+ {3195385200 37800 0 LHST}
+ {3211111800 39600 1 LHDT}
+ {3226834800 37800 0 LHST}
+ {3242561400 39600 1 LHDT}
+ {3258284400 37800 0 LHST}
+ {3274011000 39600 1 LHDT}
+ {3289734000 37800 0 LHST}
+ {3306065400 39600 1 LHDT}
+ {3321788400 37800 0 LHST}
+ {3337515000 39600 1 LHDT}
+ {3353238000 37800 0 LHST}
+ {3368964600 39600 1 LHDT}
+ {3384687600 37800 0 LHST}
+ {3400414200 39600 1 LHDT}
+ {3416137200 37800 0 LHST}
+ {3431863800 39600 1 LHDT}
+ {3447586800 37800 0 LHST}
+ {3463313400 39600 1 LHDT}
+ {3479641200 37800 0 LHST}
+ {3495367800 39600 1 LHDT}
+ {3511090800 37800 0 LHST}
+ {3526817400 39600 1 LHDT}
+ {3542540400 37800 0 LHST}
+ {3558267000 39600 1 LHDT}
+ {3573990000 37800 0 LHST}
+ {3589716600 39600 1 LHDT}
+ {3605439600 37800 0 LHST}
+ {3621166200 39600 1 LHDT}
+ {3636889200 37800 0 LHST}
+ {3653220600 39600 1 LHDT}
+ {3668943600 37800 0 LHST}
+ {3684670200 39600 1 LHDT}
+ {3700393200 37800 0 LHST}
+ {3716119800 39600 1 LHDT}
+ {3731842800 37800 0 LHST}
+ {3747569400 39600 1 LHDT}
+ {3763292400 37800 0 LHST}
+ {3779019000 39600 1 LHDT}
+ {3794742000 37800 0 LHST}
+ {3810468600 39600 1 LHDT}
+ {3826191600 37800 0 LHST}
+ {3842523000 39600 1 LHDT}
+ {3858246000 37800 0 LHST}
+ {3873972600 39600 1 LHDT}
+ {3889695600 37800 0 LHST}
+ {3905422200 39600 1 LHDT}
+ {3921145200 37800 0 LHST}
+ {3936871800 39600 1 LHDT}
+ {3952594800 37800 0 LHST}
+ {3968321400 39600 1 LHDT}
+ {3984044400 37800 0 LHST}
+ {4000375800 39600 1 LHDT}
+ {4016098800 37800 0 LHST}
+ {4031825400 39600 1 LHDT}
+ {4047548400 37800 0 LHST}
+ {4063275000 39600 1 LHDT}
+ {4078998000 37800 0 LHST}
+ {4094724600 39600 1 LHDT}
}
diff --git a/library/tzdata/Australia/Melbourne b/library/tzdata/Australia/Melbourne
index 77e9067..81777df 100644
--- a/library/tzdata/Australia/Melbourne
+++ b/library/tzdata/Australia/Melbourne
@@ -3,14 +3,14 @@
set TZData(:Australia/Melbourne) {
{-9223372036854775808 34792 0 LMT}
{-2364111592 36000 0 AEST}
- {-1672560000 39600 1 AEDT}
- {-1665388800 36000 0 AEST}
+ {-1672567140 39600 1 AEDT}
+ {-1665392400 36000 0 AEST}
{-883641600 39600 1 AEDT}
- {-876124800 36000 0 AEST}
+ {-876128400 36000 0 AEST}
{-860400000 39600 1 AEDT}
- {-844675200 36000 0 AEST}
+ {-844678800 36000 0 AEST}
{-828345600 39600 1 AEDT}
- {-813225600 36000 0 AEST}
+ {-813229200 36000 0 AEST}
{31500000 36000 0 AEST}
{57686400 39600 1 AEDT}
{67968000 36000 0 AEST}
diff --git a/library/tzdata/Australia/Perth b/library/tzdata/Australia/Perth
index 4ed3cba..6ccbca8 100644
--- a/library/tzdata/Australia/Perth
+++ b/library/tzdata/Australia/Perth
@@ -3,12 +3,12 @@
set TZData(:Australia/Perth) {
{-9223372036854775808 27804 0 LMT}
{-2337925404 28800 0 AWST}
- {-1672552800 32400 1 AWDT}
- {-1665381600 28800 0 AWST}
+ {-1672559940 32400 1 AWDT}
+ {-1665385200 28800 0 AWST}
{-883634400 32400 1 AWDT}
- {-876117600 28800 0 AWST}
+ {-876121200 28800 0 AWST}
{-860392800 32400 1 AWDT}
- {-844668000 28800 0 AWST}
+ {-844671600 28800 0 AWST}
{-836470800 32400 0 AWST}
{152042400 32400 1 AWDT}
{162928800 28800 0 AWST}
diff --git a/library/tzdata/Australia/Sydney b/library/tzdata/Australia/Sydney
index fd01af6..b1c4411 100644
--- a/library/tzdata/Australia/Sydney
+++ b/library/tzdata/Australia/Sydney
@@ -3,14 +3,14 @@
set TZData(:Australia/Sydney) {
{-9223372036854775808 36292 0 LMT}
{-2364113092 36000 0 AEST}
- {-1672560000 39600 1 AEDT}
- {-1665388800 36000 0 AEST}
+ {-1672567140 39600 1 AEDT}
+ {-1665392400 36000 0 AEST}
{-883641600 39600 1 AEDT}
- {-876124800 36000 0 AEST}
+ {-876128400 36000 0 AEST}
{-860400000 39600 1 AEDT}
- {-844675200 36000 0 AEST}
+ {-844678800 36000 0 AEST}
{-828345600 39600 1 AEDT}
- {-813225600 36000 0 AEST}
+ {-813229200 36000 0 AEST}
{31500000 36000 0 AEST}
{57686400 39600 1 AEDT}
{67968000 36000 0 AEST}
diff --git a/library/tzdata/Canada/East-Saskatchewan b/library/tzdata/Canada/East-Saskatchewan
new file mode 100644
index 0000000..f7e500c
--- /dev/null
+++ b/library/tzdata/Canada/East-Saskatchewan
@@ -0,0 +1,5 @@
+# created by tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Regina)]} {
+ LoadTimeZoneFile America/Regina
+}
+set TZData(:Canada/East-Saskatchewan) $TZData(:America/Regina)
diff --git a/library/tzdata/Etc/GMT+1 b/library/tzdata/Etc/GMT+1
index 70d39cf..12f97ba 100644
--- a/library/tzdata/Etc/GMT+1
+++ b/library/tzdata/Etc/GMT+1
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+1) {
- {-9223372036854775808 -3600 0 -01}
+ {-9223372036854775808 -3600 0 GMT+1}
}
diff --git a/library/tzdata/Etc/GMT+10 b/library/tzdata/Etc/GMT+10
index 9165a08..6ea50bb 100644
--- a/library/tzdata/Etc/GMT+10
+++ b/library/tzdata/Etc/GMT+10
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+10) {
- {-9223372036854775808 -36000 0 -10}
+ {-9223372036854775808 -36000 0 GMT+10}
}
diff --git a/library/tzdata/Etc/GMT+11 b/library/tzdata/Etc/GMT+11
index a1aaf74..c91b169 100644
--- a/library/tzdata/Etc/GMT+11
+++ b/library/tzdata/Etc/GMT+11
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+11) {
- {-9223372036854775808 -39600 0 -11}
+ {-9223372036854775808 -39600 0 GMT+11}
}
diff --git a/library/tzdata/Etc/GMT+12 b/library/tzdata/Etc/GMT+12
index d2c082a..29a4cee 100644
--- a/library/tzdata/Etc/GMT+12
+++ b/library/tzdata/Etc/GMT+12
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+12) {
- {-9223372036854775808 -43200 0 -12}
+ {-9223372036854775808 -43200 0 GMT+12}
}
diff --git a/library/tzdata/Etc/GMT+2 b/library/tzdata/Etc/GMT+2
index 46cca7d..8c6b526 100644
--- a/library/tzdata/Etc/GMT+2
+++ b/library/tzdata/Etc/GMT+2
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+2) {
- {-9223372036854775808 -7200 0 -02}
+ {-9223372036854775808 -7200 0 GMT+2}
}
diff --git a/library/tzdata/Etc/GMT+3 b/library/tzdata/Etc/GMT+3
index e1e3001..862571d 100644
--- a/library/tzdata/Etc/GMT+3
+++ b/library/tzdata/Etc/GMT+3
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+3) {
- {-9223372036854775808 -10800 0 -03}
+ {-9223372036854775808 -10800 0 GMT+3}
}
diff --git a/library/tzdata/Etc/GMT+4 b/library/tzdata/Etc/GMT+4
index 32afa24..a933bbc 100644
--- a/library/tzdata/Etc/GMT+4
+++ b/library/tzdata/Etc/GMT+4
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+4) {
- {-9223372036854775808 -14400 0 -04}
+ {-9223372036854775808 -14400 0 GMT+4}
}
diff --git a/library/tzdata/Etc/GMT+5 b/library/tzdata/Etc/GMT+5
index 747abf5..80cc25c 100644
--- a/library/tzdata/Etc/GMT+5
+++ b/library/tzdata/Etc/GMT+5
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+5) {
- {-9223372036854775808 -18000 0 -05}
+ {-9223372036854775808 -18000 0 GMT+5}
}
diff --git a/library/tzdata/Etc/GMT+6 b/library/tzdata/Etc/GMT+6
index 1096839..bc57bd6 100644
--- a/library/tzdata/Etc/GMT+6
+++ b/library/tzdata/Etc/GMT+6
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+6) {
- {-9223372036854775808 -21600 0 -06}
+ {-9223372036854775808 -21600 0 GMT+6}
}
diff --git a/library/tzdata/Etc/GMT+7 b/library/tzdata/Etc/GMT+7
index 6d47863..d419eb9 100644
--- a/library/tzdata/Etc/GMT+7
+++ b/library/tzdata/Etc/GMT+7
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+7) {
- {-9223372036854775808 -25200 0 -07}
+ {-9223372036854775808 -25200 0 GMT+7}
}
diff --git a/library/tzdata/Etc/GMT+8 b/library/tzdata/Etc/GMT+8
index 33c0f69..705ad40 100644
--- a/library/tzdata/Etc/GMT+8
+++ b/library/tzdata/Etc/GMT+8
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+8) {
- {-9223372036854775808 -28800 0 -08}
+ {-9223372036854775808 -28800 0 GMT+8}
}
diff --git a/library/tzdata/Etc/GMT+9 b/library/tzdata/Etc/GMT+9
index 4119bf4..4086639 100644
--- a/library/tzdata/Etc/GMT+9
+++ b/library/tzdata/Etc/GMT+9
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT+9) {
- {-9223372036854775808 -32400 0 -09}
+ {-9223372036854775808 -32400 0 GMT+9}
}
diff --git a/library/tzdata/Etc/GMT-1 b/library/tzdata/Etc/GMT-1
index e7ac44b..a44dd1f 100644
--- a/library/tzdata/Etc/GMT-1
+++ b/library/tzdata/Etc/GMT-1
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-1) {
- {-9223372036854775808 3600 0 +01}
+ {-9223372036854775808 3600 0 GMT-1}
}
diff --git a/library/tzdata/Etc/GMT-10 b/library/tzdata/Etc/GMT-10
index fdbd1e3..1c50d01 100644
--- a/library/tzdata/Etc/GMT-10
+++ b/library/tzdata/Etc/GMT-10
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-10) {
- {-9223372036854775808 36000 0 +10}
+ {-9223372036854775808 36000 0 GMT-10}
}
diff --git a/library/tzdata/Etc/GMT-11 b/library/tzdata/Etc/GMT-11
index 4b28ad0..d07710f 100644
--- a/library/tzdata/Etc/GMT-11
+++ b/library/tzdata/Etc/GMT-11
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-11) {
- {-9223372036854775808 39600 0 +11}
+ {-9223372036854775808 39600 0 GMT-11}
}
diff --git a/library/tzdata/Etc/GMT-12 b/library/tzdata/Etc/GMT-12
index 594bac3..a23b98d 100644
--- a/library/tzdata/Etc/GMT-12
+++ b/library/tzdata/Etc/GMT-12
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-12) {
- {-9223372036854775808 43200 0 +12}
+ {-9223372036854775808 43200 0 GMT-12}
}
diff --git a/library/tzdata/Etc/GMT-13 b/library/tzdata/Etc/GMT-13
index f61159e..1a6700a 100644
--- a/library/tzdata/Etc/GMT-13
+++ b/library/tzdata/Etc/GMT-13
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-13) {
- {-9223372036854775808 46800 0 +13}
+ {-9223372036854775808 46800 0 GMT-13}
}
diff --git a/library/tzdata/Etc/GMT-14 b/library/tzdata/Etc/GMT-14
index 493800f..3707e21 100644
--- a/library/tzdata/Etc/GMT-14
+++ b/library/tzdata/Etc/GMT-14
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-14) {
- {-9223372036854775808 50400 0 +14}
+ {-9223372036854775808 50400 0 GMT-14}
}
diff --git a/library/tzdata/Etc/GMT-2 b/library/tzdata/Etc/GMT-2
index 51fdbed..f9dea16 100644
--- a/library/tzdata/Etc/GMT-2
+++ b/library/tzdata/Etc/GMT-2
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-2) {
- {-9223372036854775808 7200 0 +02}
+ {-9223372036854775808 7200 0 GMT-2}
}
diff --git a/library/tzdata/Etc/GMT-3 b/library/tzdata/Etc/GMT-3
index 7aed39d..99145b8 100644
--- a/library/tzdata/Etc/GMT-3
+++ b/library/tzdata/Etc/GMT-3
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-3) {
- {-9223372036854775808 10800 0 +03}
+ {-9223372036854775808 10800 0 GMT-3}
}
diff --git a/library/tzdata/Etc/GMT-4 b/library/tzdata/Etc/GMT-4
index 6ca6372..27b4fec 100644
--- a/library/tzdata/Etc/GMT-4
+++ b/library/tzdata/Etc/GMT-4
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-4) {
- {-9223372036854775808 14400 0 +04}
+ {-9223372036854775808 14400 0 GMT-4}
}
diff --git a/library/tzdata/Etc/GMT-5 b/library/tzdata/Etc/GMT-5
index 6c47a31..dbe3df7 100644
--- a/library/tzdata/Etc/GMT-5
+++ b/library/tzdata/Etc/GMT-5
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-5) {
- {-9223372036854775808 18000 0 +05}
+ {-9223372036854775808 18000 0 GMT-5}
}
diff --git a/library/tzdata/Etc/GMT-6 b/library/tzdata/Etc/GMT-6
index 202e7f8..414dbfa 100644
--- a/library/tzdata/Etc/GMT-6
+++ b/library/tzdata/Etc/GMT-6
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-6) {
- {-9223372036854775808 21600 0 +06}
+ {-9223372036854775808 21600 0 GMT-6}
}
diff --git a/library/tzdata/Etc/GMT-7 b/library/tzdata/Etc/GMT-7
index c6deaf3..2bd59db 100644
--- a/library/tzdata/Etc/GMT-7
+++ b/library/tzdata/Etc/GMT-7
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-7) {
- {-9223372036854775808 25200 0 +07}
+ {-9223372036854775808 25200 0 GMT-7}
}
diff --git a/library/tzdata/Etc/GMT-8 b/library/tzdata/Etc/GMT-8
index 4bed42e..7303721 100644
--- a/library/tzdata/Etc/GMT-8
+++ b/library/tzdata/Etc/GMT-8
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-8) {
- {-9223372036854775808 28800 0 +08}
+ {-9223372036854775808 28800 0 GMT-8}
}
diff --git a/library/tzdata/Etc/GMT-9 b/library/tzdata/Etc/GMT-9
index 2a7625b..46e6878 100644
--- a/library/tzdata/Etc/GMT-9
+++ b/library/tzdata/Etc/GMT-9
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Etc/GMT-9) {
- {-9223372036854775808 32400 0 +09}
+ {-9223372036854775808 32400 0 GMT-9}
}
diff --git a/library/tzdata/Etc/UCT b/library/tzdata/Etc/UCT
index c843cdc..f7d795e 100644
--- a/library/tzdata/Etc/UCT
+++ b/library/tzdata/Etc/UCT
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Etc/UTC)]} {
- LoadTimeZoneFile Etc/UTC
+
+set TZData(:Etc/UCT) {
+ {-9223372036854775808 0 0 UCT}
}
-set TZData(:Etc/UCT) $TZData(:Etc/UTC)
diff --git a/library/tzdata/Europe/Amsterdam b/library/tzdata/Europe/Amsterdam
index 7fbe3aa..bd89127 100644
--- a/library/tzdata/Europe/Amsterdam
+++ b/library/tzdata/Europe/Amsterdam
@@ -1,5 +1,310 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Brussels)]} {
- LoadTimeZoneFile Europe/Brussels
+
+set TZData(:Europe/Amsterdam) {
+ {-9223372036854775808 1172 0 LMT}
+ {-4260212372 1172 0 AMT}
+ {-1693700372 4772 1 NST}
+ {-1680484772 1172 0 AMT}
+ {-1663453172 4772 1 NST}
+ {-1650147572 1172 0 AMT}
+ {-1633213172 4772 1 NST}
+ {-1617488372 1172 0 AMT}
+ {-1601158772 4772 1 NST}
+ {-1586038772 1172 0 AMT}
+ {-1569709172 4772 1 NST}
+ {-1554589172 1172 0 AMT}
+ {-1538259572 4772 1 NST}
+ {-1523139572 1172 0 AMT}
+ {-1507501172 4772 1 NST}
+ {-1490566772 1172 0 AMT}
+ {-1470176372 4772 1 NST}
+ {-1459117172 1172 0 AMT}
+ {-1443997172 4772 1 NST}
+ {-1427667572 1172 0 AMT}
+ {-1406672372 4772 1 NST}
+ {-1396217972 1172 0 AMT}
+ {-1376950772 4772 1 NST}
+ {-1364768372 1172 0 AMT}
+ {-1345414772 4772 1 NST}
+ {-1333318772 1172 0 AMT}
+ {-1313792372 4772 1 NST}
+ {-1301264372 1172 0 AMT}
+ {-1282256372 4772 1 NST}
+ {-1269814772 1172 0 AMT}
+ {-1250720372 4772 1 NST}
+ {-1238365172 1172 0 AMT}
+ {-1219184372 4772 1 NST}
+ {-1206915572 1172 0 AMT}
+ {-1186957172 4772 1 NST}
+ {-1175465972 1172 0 AMT}
+ {-1156025972 4772 1 NST}
+ {-1143411572 1172 0 AMT}
+ {-1124489972 4772 1 NST}
+ {-1111961972 1172 0 AMT}
+ {-1092953972 4772 1 NST}
+ {-1080512372 1172 0 AMT}
+ {-1061331572 4772 1 NST}
+ {-1049062772 1172 0 AMT}
+ {-1029190772 4772 1 NST}
+ {-1025741972 4800 0 NEST}
+ {-1017613200 1200 0 NET}
+ {-998259600 4800 1 NEST}
+ {-986163600 1200 0 NET}
+ {-966723600 4800 1 NEST}
+ {-954109200 1200 0 NET}
+ {-935022000 7200 0 CEST}
+ {-857257200 3600 0 CET}
+ {-844556400 7200 1 CEST}
+ {-828226800 3600 0 CET}
+ {-812502000 7200 1 CEST}
+ {-796777200 3600 0 CET}
+ {-781052400 7200 0 CEST}
+ {-766623600 3600 0 CET}
+ {220921200 3600 0 CET}
+ {228877200 7200 1 CEST}
+ {243997200 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 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}
}
-set TZData(:Europe/Amsterdam) $TZData(:Europe/Brussels)
diff --git a/library/tzdata/Europe/Astrakhan b/library/tzdata/Europe/Astrakhan
deleted file mode 100644
index 9881bb8..0000000
--- a/library/tzdata/Europe/Astrakhan
+++ /dev/null
@@ -1,71 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Europe/Astrakhan) {
- {-9223372036854775808 11532 0 LMT}
- {-1441249932 10800 0 +03}
- {-1247540400 14400 0 +05}
- {354916800 18000 1 +05}
- {370724400 14400 0 +04}
- {386452800 18000 1 +05}
- {402260400 14400 0 +04}
- {417988800 18000 1 +05}
- {433796400 14400 0 +04}
- {449611200 18000 1 +05}
- {465343200 14400 0 +04}
- {481068000 18000 1 +05}
- {496792800 14400 0 +04}
- {512517600 18000 1 +05}
- {528242400 14400 0 +04}
- {543967200 18000 1 +05}
- {559692000 14400 0 +04}
- {575416800 18000 1 +05}
- {591141600 14400 0 +04}
- {606866400 10800 0 +04}
- {606870000 14400 1 +04}
- {622594800 10800 0 +03}
- {638319600 14400 1 +04}
- {654649200 10800 0 +03}
- {670374000 14400 0 +04}
- {701820000 10800 0 +04}
- {701823600 14400 1 +04}
- {717548400 10800 0 +03}
- {733273200 14400 1 +04}
- {748998000 10800 0 +03}
- {764722800 14400 1 +04}
- {780447600 10800 0 +03}
- {796172400 14400 1 +04}
- {811897200 10800 0 +03}
- {828226800 14400 1 +04}
- {846370800 10800 0 +03}
- {859676400 14400 1 +04}
- {877820400 10800 0 +03}
- {891126000 14400 1 +04}
- {909270000 10800 0 +03}
- {922575600 14400 1 +04}
- {941324400 10800 0 +03}
- {954025200 14400 1 +04}
- {972774000 10800 0 +03}
- {985474800 14400 1 +04}
- {1004223600 10800 0 +03}
- {1017529200 14400 1 +04}
- {1035673200 10800 0 +03}
- {1048978800 14400 1 +04}
- {1067122800 10800 0 +03}
- {1080428400 14400 1 +04}
- {1099177200 10800 0 +03}
- {1111878000 14400 1 +04}
- {1130626800 10800 0 +03}
- {1143327600 14400 1 +04}
- {1162076400 10800 0 +03}
- {1174777200 14400 1 +04}
- {1193526000 10800 0 +03}
- {1206831600 14400 1 +04}
- {1224975600 10800 0 +03}
- {1238281200 14400 1 +04}
- {1256425200 10800 0 +03}
- {1269730800 14400 1 +04}
- {1288479600 10800 0 +03}
- {1301180400 14400 0 +04}
- {1414274400 10800 0 +03}
- {1459033200 14400 0 +04}
-}
diff --git a/library/tzdata/Europe/Brussels b/library/tzdata/Europe/Brussels
index 907fff8..3cb9b14 100644
--- a/library/tzdata/Europe/Brussels
+++ b/library/tzdata/Europe/Brussels
@@ -3,7 +3,7 @@
set TZData(:Europe/Brussels) {
{-9223372036854775808 1050 0 LMT}
{-2840141850 1050 0 BMT}
- {-2450995200 0 0 WET}
+ {-2450953050 0 0 WET}
{-1740355200 3600 0 CET}
{-1693702800 7200 0 CEST}
{-1680483600 3600 0 CET}
diff --git a/library/tzdata/Europe/Budapest b/library/tzdata/Europe/Budapest
index 4b92c5f..e660ad1 100644
--- a/library/tzdata/Europe/Budapest
+++ b/library/tzdata/Europe/Budapest
@@ -2,19 +2,17 @@
set TZData(:Europe/Budapest) {
{-9223372036854775808 4580 0 LMT}
- {-2498260580 3600 0 CET}
+ {-2500938980 3600 0 CET}
{-1693706400 7200 1 CEST}
{-1680483600 3600 0 CET}
{-1663455600 7200 1 CEST}
{-1650150000 3600 0 CET}
{-1640998800 3600 0 CET}
- {-1632006000 7200 1 CEST}
+ {-1633212000 7200 1 CEST}
{-1618700400 3600 0 CET}
- {-1600470000 7200 1 CEST}
- {-1587250800 3600 0 CET}
- {-1569711600 7200 1 CEST}
- {-1555196400 3600 0 CET}
- {-906775200 3600 0 CET}
+ {-1600466400 7200 1 CEST}
+ {-1581202800 3600 0 CET}
+ {-906771600 3600 0 CET}
{-857257200 3600 0 CET}
{-844556400 7200 1 CEST}
{-828226800 3600 0 CET}
@@ -22,32 +20,33 @@ set TZData(:Europe/Budapest) {
{-796777200 3600 0 CET}
{-788922000 3600 0 CET}
{-778471200 7200 1 CEST}
- {-762656400 3600 0 CET}
+ {-762660000 3600 0 CET}
{-749689200 7200 1 CEST}
- {-733276800 3600 0 CET}
+ {-733359600 3600 0 CET}
{-717634800 7200 1 CEST}
{-701910000 3600 0 CET}
{-686185200 7200 1 CEST}
{-670460400 3600 0 CET}
{-654130800 7200 1 CEST}
{-639010800 3600 0 CET}
+ {-621990000 7200 1 CEST}
+ {-605660400 3600 0 CET}
{-492656400 7200 1 CEST}
{-481168800 3600 0 CET}
- {-461199600 7200 1 CEST}
- {-449708400 3600 0 CET}
- {-428540400 7200 1 CEST}
- {-418258800 3600 0 CET}
- {-397090800 7200 1 CEST}
+ {-461120400 7200 1 CEST}
+ {-449632800 3600 0 CET}
+ {-428547600 7200 1 CEST}
+ {-418269600 3600 0 CET}
+ {-397094400 7200 1 CEST}
{-386809200 3600 0 CET}
- {323823600 7200 1 CEST}
- {338943600 3600 0 CET}
- {354668400 7200 1 CEST}
- {370393200 3600 0 CET}
- {386118000 7200 1 CEST}
- {401842800 3600 0 CET}
- {417567600 7200 1 CEST}
- {433292400 3600 0 CET}
- {441759600 3600 0 CET}
+ {323827200 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
{449024400 7200 1 CEST}
{465354000 3600 0 CET}
{481078800 7200 1 CEST}
diff --git a/library/tzdata/Europe/Chisinau b/library/tzdata/Europe/Chisinau
index db4c6db..5c240e7 100644
--- a/library/tzdata/Europe/Chisinau
+++ b/library/tzdata/Europe/Chisinau
@@ -46,9 +46,9 @@ set TZData(:Europe/Chisinau) {
{591145200 10800 0 MSK}
{606870000 14400 1 MSD}
{622594800 10800 0 MSK}
- {638319600 14400 1 MSD}
- {641948400 10800 0 EEST}
- {654652800 7200 0 EET}
+ {631141200 10800 0 MSK}
+ {641941200 7200 0 EET}
+ {662680800 7200 0 EEMMTT}
{670377600 10800 1 EEST}
{686102400 7200 0 EET}
{694216800 7200 0 EET}
diff --git a/library/tzdata/Europe/Copenhagen b/library/tzdata/Europe/Copenhagen
index 1b144d1..c747e58 100644
--- a/library/tzdata/Europe/Copenhagen
+++ b/library/tzdata/Europe/Copenhagen
@@ -1,5 +1,264 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Berlin)]} {
- LoadTimeZoneFile Europe/Berlin
+
+set TZData(:Europe/Copenhagen) {
+ {-9223372036854775808 3020 0 LMT}
+ {-2524524620 3020 0 CMT}
+ {-2398294220 3600 0 CET}
+ {-1692496800 7200 1 CEST}
+ {-1680490800 3600 0 CET}
+ {-935110800 7200 1 CEST}
+ {-857257200 3600 0 CET}
+ {-844556400 7200 1 CEST}
+ {-828226800 3600 0 CET}
+ {-812502000 7200 1 CEST}
+ {-796777200 3600 0 CET}
+ {-781052400 7200 0 CEST}
+ {-769388400 3600 0 CET}
+ {-747010800 7200 1 CEST}
+ {-736383600 3600 0 CET}
+ {-715215600 7200 1 CEST}
+ {-706748400 3600 0 CET}
+ {-683161200 7200 1 CEST}
+ {-675298800 3600 0 CET}
+ {315529200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 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}
}
-set TZData(:Europe/Copenhagen) $TZData(:Europe/Berlin)
diff --git a/library/tzdata/Europe/Dublin b/library/tzdata/Europe/Dublin
index eb0d182..4b43bc0 100644
--- a/library/tzdata/Europe/Dublin
+++ b/library/tzdata/Europe/Dublin
@@ -1,8 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Europe/Dublin) {
- {-9223372036854775808 -1521 0 LMT}
- {-2821649679 -1521 0 DMT}
+ {-9223372036854775808 -1500 0 LMT}
+ {-2821649700 -1521 0 DMT}
{-1691962479 2079 1 IST}
{-1680471279 0 0 GMT}
{-1664143200 3600 1 BST}
@@ -52,10 +52,10 @@ set TZData(:Europe/Dublin) {
{-986162400 0 0 IST}
{-969228000 3600 1 IST}
{-950479200 0 0 IST}
- {-942012000 3600 1 IST}
- {-733356000 0 0 GMT}
+ {-942015600 3600 1 IST}
+ {-733359600 0 0 GMT}
{-719445600 3600 1 IST}
- {-699487200 0 0 GMT}
+ {-699490800 0 0 GMT}
{-684972000 3600 0 IST}
{-668037600 0 0 IST}
{-654732000 3600 1 IST}
@@ -98,261 +98,262 @@ set TZData(:Europe/Dublin) {
{-68680800 0 0 IST}
{-59004000 3600 1 IST}
{-37238400 3600 0 IST}
- {57722400 0 1 IST}
- {69818400 3600 0 IST}
- {89172000 0 1 IST}
- {101268000 3600 0 IST}
- {120621600 0 1 IST}
- {132717600 3600 0 IST}
- {152071200 0 1 IST}
- {164167200 3600 0 IST}
- {183520800 0 1 IST}
- {196221600 3600 0 IST}
- {214970400 0 1 IST}
- {227671200 3600 0 IST}
- {246420000 0 1 IST}
- {259120800 3600 0 IST}
- {278474400 0 1 IST}
- {290570400 3600 0 IST}
- {309924000 0 1 IST}
- {322020000 3600 0 IST}
- {341373600 0 1 IST}
- {354675600 3600 0 IST}
- {372819600 0 1 IST}
- {386125200 3600 0 IST}
- {404269200 0 1 IST}
- {417574800 3600 0 IST}
- {435718800 0 1 IST}
- {449024400 3600 0 IST}
- {467773200 0 1 IST}
- {481078800 3600 0 IST}
- {499222800 0 1 IST}
- {512528400 3600 0 IST}
- {530672400 0 1 IST}
- {543978000 3600 0 IST}
- {562122000 0 1 IST}
- {575427600 3600 0 IST}
- {593571600 0 1 IST}
- {606877200 3600 0 IST}
- {625626000 0 1 IST}
- {638326800 3600 0 IST}
- {657075600 0 1 IST}
- {670381200 3600 0 IST}
- {688525200 0 1 IST}
- {701830800 3600 0 IST}
- {719974800 0 1 IST}
- {733280400 3600 0 IST}
- {751424400 0 1 IST}
- {764730000 3600 0 IST}
- {782874000 0 1 IST}
- {796179600 3600 0 IST}
- {814323600 0 1 IST}
- {828234000 3600 0 IST}
- {846378000 0 1 IST}
- {859683600 3600 0 IST}
- {877827600 0 1 IST}
- {891133200 3600 0 IST}
- {909277200 0 1 IST}
- {922582800 3600 0 IST}
- {941331600 0 1 IST}
- {954032400 3600 0 IST}
- {972781200 0 1 IST}
- {985482000 3600 0 IST}
- {1004230800 0 1 IST}
- {1017536400 3600 0 IST}
- {1035680400 0 1 IST}
- {1048986000 3600 0 IST}
- {1067130000 0 1 IST}
- {1080435600 3600 0 IST}
- {1099184400 0 1 IST}
- {1111885200 3600 0 IST}
- {1130634000 0 1 IST}
- {1143334800 3600 0 IST}
- {1162083600 0 1 IST}
- {1174784400 3600 0 IST}
- {1193533200 0 1 IST}
- {1206838800 3600 0 IST}
- {1224982800 0 1 IST}
- {1238288400 3600 0 IST}
- {1256432400 0 1 IST}
- {1269738000 3600 0 IST}
- {1288486800 0 1 IST}
- {1301187600 3600 0 IST}
- {1319936400 0 1 IST}
- {1332637200 3600 0 IST}
- {1351386000 0 1 IST}
- {1364691600 3600 0 IST}
- {1382835600 0 1 IST}
- {1396141200 3600 0 IST}
- {1414285200 0 1 IST}
- {1427590800 3600 0 IST}
- {1445734800 0 1 IST}
- {1459040400 3600 0 IST}
- {1477789200 0 1 IST}
- {1490490000 3600 0 IST}
- {1509238800 0 1 IST}
- {1521939600 3600 0 IST}
- {1540688400 0 1 IST}
- {1553994000 3600 0 IST}
- {1572138000 0 1 IST}
- {1585443600 3600 0 IST}
- {1603587600 0 1 IST}
- {1616893200 3600 0 IST}
- {1635642000 0 1 IST}
- {1648342800 3600 0 IST}
- {1667091600 0 1 IST}
- {1679792400 3600 0 IST}
- {1698541200 0 1 IST}
- {1711846800 3600 0 IST}
- {1729990800 0 1 IST}
- {1743296400 3600 0 IST}
- {1761440400 0 1 IST}
- {1774746000 3600 0 IST}
- {1792890000 0 1 IST}
- {1806195600 3600 0 IST}
- {1824944400 0 1 IST}
- {1837645200 3600 0 IST}
- {1856394000 0 1 IST}
- {1869094800 3600 0 IST}
- {1887843600 0 1 IST}
- {1901149200 3600 0 IST}
- {1919293200 0 1 IST}
- {1932598800 3600 0 IST}
- {1950742800 0 1 IST}
- {1964048400 3600 0 IST}
- {1982797200 0 1 IST}
- {1995498000 3600 0 IST}
- {2014246800 0 1 IST}
- {2026947600 3600 0 IST}
- {2045696400 0 1 IST}
- {2058397200 3600 0 IST}
- {2077146000 0 1 IST}
- {2090451600 3600 0 IST}
- {2108595600 0 1 IST}
- {2121901200 3600 0 IST}
- {2140045200 0 1 IST}
- {2153350800 3600 0 IST}
- {2172099600 0 1 IST}
- {2184800400 3600 0 IST}
- {2203549200 0 1 IST}
- {2216250000 3600 0 IST}
- {2234998800 0 1 IST}
- {2248304400 3600 0 IST}
- {2266448400 0 1 IST}
- {2279754000 3600 0 IST}
- {2297898000 0 1 IST}
- {2311203600 3600 0 IST}
- {2329347600 0 1 IST}
- {2342653200 3600 0 IST}
- {2361402000 0 1 IST}
- {2374102800 3600 0 IST}
- {2392851600 0 1 IST}
- {2405552400 3600 0 IST}
- {2424301200 0 1 IST}
- {2437606800 3600 0 IST}
- {2455750800 0 1 IST}
- {2469056400 3600 0 IST}
- {2487200400 0 1 IST}
- {2500506000 3600 0 IST}
- {2519254800 0 1 IST}
- {2531955600 3600 0 IST}
- {2550704400 0 1 IST}
- {2563405200 3600 0 IST}
- {2582154000 0 1 IST}
- {2595459600 3600 0 IST}
- {2613603600 0 1 IST}
- {2626909200 3600 0 IST}
- {2645053200 0 1 IST}
- {2658358800 3600 0 IST}
- {2676502800 0 1 IST}
- {2689808400 3600 0 IST}
- {2708557200 0 1 IST}
- {2721258000 3600 0 IST}
- {2740006800 0 1 IST}
- {2752707600 3600 0 IST}
- {2771456400 0 1 IST}
- {2784762000 3600 0 IST}
- {2802906000 0 1 IST}
- {2816211600 3600 0 IST}
- {2834355600 0 1 IST}
- {2847661200 3600 0 IST}
- {2866410000 0 1 IST}
- {2879110800 3600 0 IST}
- {2897859600 0 1 IST}
- {2910560400 3600 0 IST}
- {2929309200 0 1 IST}
- {2942010000 3600 0 IST}
- {2960758800 0 1 IST}
- {2974064400 3600 0 IST}
- {2992208400 0 1 IST}
- {3005514000 3600 0 IST}
- {3023658000 0 1 IST}
- {3036963600 3600 0 IST}
- {3055712400 0 1 IST}
- {3068413200 3600 0 IST}
- {3087162000 0 1 IST}
- {3099862800 3600 0 IST}
- {3118611600 0 1 IST}
- {3131917200 3600 0 IST}
- {3150061200 0 1 IST}
- {3163366800 3600 0 IST}
- {3181510800 0 1 IST}
- {3194816400 3600 0 IST}
- {3212960400 0 1 IST}
- {3226266000 3600 0 IST}
- {3245014800 0 1 IST}
- {3257715600 3600 0 IST}
- {3276464400 0 1 IST}
- {3289165200 3600 0 IST}
- {3307914000 0 1 IST}
- {3321219600 3600 0 IST}
- {3339363600 0 1 IST}
- {3352669200 3600 0 IST}
- {3370813200 0 1 IST}
- {3384118800 3600 0 IST}
- {3402867600 0 1 IST}
- {3415568400 3600 0 IST}
- {3434317200 0 1 IST}
- {3447018000 3600 0 IST}
- {3465766800 0 1 IST}
- {3479072400 3600 0 IST}
- {3497216400 0 1 IST}
- {3510522000 3600 0 IST}
- {3528666000 0 1 IST}
- {3541971600 3600 0 IST}
- {3560115600 0 1 IST}
- {3573421200 3600 0 IST}
- {3592170000 0 1 IST}
- {3604870800 3600 0 IST}
- {3623619600 0 1 IST}
- {3636320400 3600 0 IST}
- {3655069200 0 1 IST}
- {3668374800 3600 0 IST}
- {3686518800 0 1 IST}
- {3699824400 3600 0 IST}
- {3717968400 0 1 IST}
- {3731274000 3600 0 IST}
- {3750022800 0 1 IST}
- {3762723600 3600 0 IST}
- {3781472400 0 1 IST}
- {3794173200 3600 0 IST}
- {3812922000 0 1 IST}
- {3825622800 3600 0 IST}
- {3844371600 0 1 IST}
- {3857677200 3600 0 IST}
- {3875821200 0 1 IST}
- {3889126800 3600 0 IST}
- {3907270800 0 1 IST}
- {3920576400 3600 0 IST}
- {3939325200 0 1 IST}
- {3952026000 3600 0 IST}
- {3970774800 0 1 IST}
- {3983475600 3600 0 IST}
- {4002224400 0 1 IST}
- {4015530000 3600 0 IST}
- {4033674000 0 1 IST}
- {4046979600 3600 0 IST}
- {4065123600 0 1 IST}
- {4078429200 3600 0 IST}
- {4096573200 0 1 IST}
+ {57722400 0 0 IST}
+ {69818400 3600 1 IST}
+ {89172000 0 0 IST}
+ {101268000 3600 1 IST}
+ {120621600 0 0 IST}
+ {132717600 3600 1 IST}
+ {152071200 0 0 IST}
+ {164167200 3600 1 IST}
+ {183520800 0 0 IST}
+ {196221600 3600 1 IST}
+ {214970400 0 0 IST}
+ {227671200 3600 1 IST}
+ {246420000 0 0 IST}
+ {259120800 3600 1 IST}
+ {278474400 0 0 IST}
+ {290570400 3600 1 IST}
+ {309924000 0 0 IST}
+ {322020000 3600 1 IST}
+ {341373600 0 0 IST}
+ {354675600 3600 1 IST}
+ {372819600 0 0 IST}
+ {386125200 3600 1 IST}
+ {404269200 0 0 IST}
+ {417574800 3600 1 IST}
+ {435718800 0 0 IST}
+ {449024400 3600 1 IST}
+ {467773200 0 0 IST}
+ {481078800 3600 1 IST}
+ {499222800 0 0 IST}
+ {512528400 3600 1 IST}
+ {530672400 0 0 IST}
+ {543978000 3600 1 IST}
+ {562122000 0 0 IST}
+ {575427600 3600 1 IST}
+ {593571600 0 0 IST}
+ {606877200 3600 1 IST}
+ {625626000 0 0 IST}
+ {638326800 3600 1 IST}
+ {657075600 0 0 IST}
+ {670381200 3600 1 IST}
+ {688525200 0 0 IST}
+ {701830800 3600 1 IST}
+ {719974800 0 0 IST}
+ {733280400 3600 1 IST}
+ {751424400 0 0 IST}
+ {764730000 3600 1 IST}
+ {782874000 0 0 IST}
+ {796179600 3600 1 IST}
+ {814323600 0 0 IST}
+ {820454400 0 0 GMT}
+ {828234000 3600 1 IST}
+ {846378000 0 0 GMT}
+ {859683600 3600 1 IST}
+ {877827600 0 0 GMT}
+ {891133200 3600 1 IST}
+ {909277200 0 0 GMT}
+ {922582800 3600 1 IST}
+ {941331600 0 0 GMT}
+ {954032400 3600 1 IST}
+ {972781200 0 0 GMT}
+ {985482000 3600 1 IST}
+ {1004230800 0 0 GMT}
+ {1017536400 3600 1 IST}
+ {1035680400 0 0 GMT}
+ {1048986000 3600 1 IST}
+ {1067130000 0 0 GMT}
+ {1080435600 3600 1 IST}
+ {1099184400 0 0 GMT}
+ {1111885200 3600 1 IST}
+ {1130634000 0 0 GMT}
+ {1143334800 3600 1 IST}
+ {1162083600 0 0 GMT}
+ {1174784400 3600 1 IST}
+ {1193533200 0 0 GMT}
+ {1206838800 3600 1 IST}
+ {1224982800 0 0 GMT}
+ {1238288400 3600 1 IST}
+ {1256432400 0 0 GMT}
+ {1269738000 3600 1 IST}
+ {1288486800 0 0 GMT}
+ {1301187600 3600 1 IST}
+ {1319936400 0 0 GMT}
+ {1332637200 3600 1 IST}
+ {1351386000 0 0 GMT}
+ {1364691600 3600 1 IST}
+ {1382835600 0 0 GMT}
+ {1396141200 3600 1 IST}
+ {1414285200 0 0 GMT}
+ {1427590800 3600 1 IST}
+ {1445734800 0 0 GMT}
+ {1459040400 3600 1 IST}
+ {1477789200 0 0 GMT}
+ {1490490000 3600 1 IST}
+ {1509238800 0 0 GMT}
+ {1521939600 3600 1 IST}
+ {1540688400 0 0 GMT}
+ {1553994000 3600 1 IST}
+ {1572138000 0 0 GMT}
+ {1585443600 3600 1 IST}
+ {1603587600 0 0 GMT}
+ {1616893200 3600 1 IST}
+ {1635642000 0 0 GMT}
+ {1648342800 3600 1 IST}
+ {1667091600 0 0 GMT}
+ {1679792400 3600 1 IST}
+ {1698541200 0 0 GMT}
+ {1711846800 3600 1 IST}
+ {1729990800 0 0 GMT}
+ {1743296400 3600 1 IST}
+ {1761440400 0 0 GMT}
+ {1774746000 3600 1 IST}
+ {1792890000 0 0 GMT}
+ {1806195600 3600 1 IST}
+ {1824944400 0 0 GMT}
+ {1837645200 3600 1 IST}
+ {1856394000 0 0 GMT}
+ {1869094800 3600 1 IST}
+ {1887843600 0 0 GMT}
+ {1901149200 3600 1 IST}
+ {1919293200 0 0 GMT}
+ {1932598800 3600 1 IST}
+ {1950742800 0 0 GMT}
+ {1964048400 3600 1 IST}
+ {1982797200 0 0 GMT}
+ {1995498000 3600 1 IST}
+ {2014246800 0 0 GMT}
+ {2026947600 3600 1 IST}
+ {2045696400 0 0 GMT}
+ {2058397200 3600 1 IST}
+ {2077146000 0 0 GMT}
+ {2090451600 3600 1 IST}
+ {2108595600 0 0 GMT}
+ {2121901200 3600 1 IST}
+ {2140045200 0 0 GMT}
+ {2153350800 3600 1 IST}
+ {2172099600 0 0 GMT}
+ {2184800400 3600 1 IST}
+ {2203549200 0 0 GMT}
+ {2216250000 3600 1 IST}
+ {2234998800 0 0 GMT}
+ {2248304400 3600 1 IST}
+ {2266448400 0 0 GMT}
+ {2279754000 3600 1 IST}
+ {2297898000 0 0 GMT}
+ {2311203600 3600 1 IST}
+ {2329347600 0 0 GMT}
+ {2342653200 3600 1 IST}
+ {2361402000 0 0 GMT}
+ {2374102800 3600 1 IST}
+ {2392851600 0 0 GMT}
+ {2405552400 3600 1 IST}
+ {2424301200 0 0 GMT}
+ {2437606800 3600 1 IST}
+ {2455750800 0 0 GMT}
+ {2469056400 3600 1 IST}
+ {2487200400 0 0 GMT}
+ {2500506000 3600 1 IST}
+ {2519254800 0 0 GMT}
+ {2531955600 3600 1 IST}
+ {2550704400 0 0 GMT}
+ {2563405200 3600 1 IST}
+ {2582154000 0 0 GMT}
+ {2595459600 3600 1 IST}
+ {2613603600 0 0 GMT}
+ {2626909200 3600 1 IST}
+ {2645053200 0 0 GMT}
+ {2658358800 3600 1 IST}
+ {2676502800 0 0 GMT}
+ {2689808400 3600 1 IST}
+ {2708557200 0 0 GMT}
+ {2721258000 3600 1 IST}
+ {2740006800 0 0 GMT}
+ {2752707600 3600 1 IST}
+ {2771456400 0 0 GMT}
+ {2784762000 3600 1 IST}
+ {2802906000 0 0 GMT}
+ {2816211600 3600 1 IST}
+ {2834355600 0 0 GMT}
+ {2847661200 3600 1 IST}
+ {2866410000 0 0 GMT}
+ {2879110800 3600 1 IST}
+ {2897859600 0 0 GMT}
+ {2910560400 3600 1 IST}
+ {2929309200 0 0 GMT}
+ {2942010000 3600 1 IST}
+ {2960758800 0 0 GMT}
+ {2974064400 3600 1 IST}
+ {2992208400 0 0 GMT}
+ {3005514000 3600 1 IST}
+ {3023658000 0 0 GMT}
+ {3036963600 3600 1 IST}
+ {3055712400 0 0 GMT}
+ {3068413200 3600 1 IST}
+ {3087162000 0 0 GMT}
+ {3099862800 3600 1 IST}
+ {3118611600 0 0 GMT}
+ {3131917200 3600 1 IST}
+ {3150061200 0 0 GMT}
+ {3163366800 3600 1 IST}
+ {3181510800 0 0 GMT}
+ {3194816400 3600 1 IST}
+ {3212960400 0 0 GMT}
+ {3226266000 3600 1 IST}
+ {3245014800 0 0 GMT}
+ {3257715600 3600 1 IST}
+ {3276464400 0 0 GMT}
+ {3289165200 3600 1 IST}
+ {3307914000 0 0 GMT}
+ {3321219600 3600 1 IST}
+ {3339363600 0 0 GMT}
+ {3352669200 3600 1 IST}
+ {3370813200 0 0 GMT}
+ {3384118800 3600 1 IST}
+ {3402867600 0 0 GMT}
+ {3415568400 3600 1 IST}
+ {3434317200 0 0 GMT}
+ {3447018000 3600 1 IST}
+ {3465766800 0 0 GMT}
+ {3479072400 3600 1 IST}
+ {3497216400 0 0 GMT}
+ {3510522000 3600 1 IST}
+ {3528666000 0 0 GMT}
+ {3541971600 3600 1 IST}
+ {3560115600 0 0 GMT}
+ {3573421200 3600 1 IST}
+ {3592170000 0 0 GMT}
+ {3604870800 3600 1 IST}
+ {3623619600 0 0 GMT}
+ {3636320400 3600 1 IST}
+ {3655069200 0 0 GMT}
+ {3668374800 3600 1 IST}
+ {3686518800 0 0 GMT}
+ {3699824400 3600 1 IST}
+ {3717968400 0 0 GMT}
+ {3731274000 3600 1 IST}
+ {3750022800 0 0 GMT}
+ {3762723600 3600 1 IST}
+ {3781472400 0 0 GMT}
+ {3794173200 3600 1 IST}
+ {3812922000 0 0 GMT}
+ {3825622800 3600 1 IST}
+ {3844371600 0 0 GMT}
+ {3857677200 3600 1 IST}
+ {3875821200 0 0 GMT}
+ {3889126800 3600 1 IST}
+ {3907270800 0 0 GMT}
+ {3920576400 3600 1 IST}
+ {3939325200 0 0 GMT}
+ {3952026000 3600 1 IST}
+ {3970774800 0 0 GMT}
+ {3983475600 3600 1 IST}
+ {4002224400 0 0 GMT}
+ {4015530000 3600 1 IST}
+ {4033674000 0 0 GMT}
+ {4046979600 3600 1 IST}
+ {4065123600 0 0 GMT}
+ {4078429200 3600 1 IST}
+ {4096573200 0 0 GMT}
}
diff --git a/library/tzdata/Europe/Istanbul b/library/tzdata/Europe/Istanbul
index a4b9b89..8eadbc3 100644
--- a/library/tzdata/Europe/Istanbul
+++ b/library/tzdata/Europe/Istanbul
@@ -16,11 +16,13 @@ set TZData(:Europe/Istanbul) {
{-1428030000 7200 0 EET}
{-1409709600 10800 1 EEST}
{-1396494000 7200 0 EET}
- {-931053600 10800 1 EEST}
- {-922676400 7200 0 EET}
+ {-931140000 10800 1 EEST}
+ {-922762800 7200 0 EET}
{-917834400 10800 1 EEST}
{-892436400 7200 0 EET}
{-875844000 10800 1 EEST}
+ {-857358000 7200 0 EET}
+ {-781063200 10800 1 EEST}
{-764737200 7200 0 EET}
{-744343200 10800 1 EEST}
{-733806000 7200 0 EET}
@@ -30,49 +32,62 @@ set TZData(:Europe/Istanbul) {
{-670474800 7200 0 EET}
{-654141600 10800 1 EEST}
{-639025200 7200 0 EET}
- {-622087200 10800 1 EEST}
+ {-621828000 10800 1 EEST}
{-606970800 7200 0 EET}
{-590032800 10800 1 EEST}
- {-575521200 7200 0 EET}
+ {-575434800 7200 0 EET}
{-235620000 10800 1 EEST}
- {-194842800 7200 0 EET}
+ {-228279600 7200 0 EET}
{-177732000 10800 1 EEST}
{-165726000 7200 0 EET}
+ {10533600 10800 1 EEST}
+ {23835600 7200 0 EET}
+ {41983200 10800 1 EEST}
+ {55285200 7200 0 EET}
+ {74037600 10800 1 EEST}
+ {87339600 7200 0 EET}
{107910000 10800 1 EEST}
- {121215600 7200 0 EET}
+ {121219200 7200 0 EET}
{133920000 10800 1 EEST}
- {152665200 7200 0 EET}
- {164678400 10800 1 EEST}
- {184114800 7200 0 EET}
- {196214400 10800 1 EEST}
- {215564400 7200 0 EET}
- {228873600 10800 1 EEST}
- {245804400 7200 0 EET}
- {260323200 10800 1 EEST}
- {267919200 10800 0 +03}
- {277254000 10800 0 +03}
- {428454000 14400 1 +04}
- {433893600 10800 0 +03}
- {468111600 7200 0 EET}
- {482799600 10800 1 EEST}
- {496710000 7200 0 EET}
- {512521200 10800 1 EEST}
- {528246000 7200 0 EET}
- {543970800 10800 1 EEST}
- {559695600 7200 0 EET}
- {575420400 10800 1 EEST}
- {591145200 7200 0 EET}
- {606870000 10800 1 EEST}
- {622594800 7200 0 EET}
- {638319600 10800 1 EEST}
- {654649200 7200 0 EET}
+ {152676000 7200 0 EET}
+ {165362400 10800 1 EEST}
+ {183502800 7200 0 EET}
+ {202428000 10800 1 EEST}
+ {215557200 7200 0 EET}
+ {228866400 10800 1 EEST}
+ {245797200 7200 0 EET}
+ {260316000 10800 1 EEST}
+ {277246800 14400 0 TRST}
+ {291769200 14400 1 TRST}
+ {308779200 10800 0 TRT}
+ {323827200 14400 1 TRST}
+ {340228800 10800 0 TRT}
+ {354672000 14400 1 TRST}
+ {371678400 10800 0 TRT}
+ {386121600 14400 1 TRST}
+ {403128000 10800 0 TRT}
+ {428446800 14400 1 TRST}
+ {433886400 10800 0 TRT}
+ {482792400 7200 0 EET}
+ {482796000 10800 1 EEST}
+ {496702800 7200 0 EET}
+ {512524800 10800 1 EEST}
+ {528249600 7200 0 EET}
+ {543974400 10800 1 EEST}
+ {559699200 7200 0 EET}
+ {575424000 10800 1 EEST}
+ {591148800 7200 0 EET}
+ {606873600 10800 1 EEST}
+ {622598400 7200 0 EET}
+ {638323200 10800 1 EEST}
+ {654652800 7200 0 EET}
{670374000 10800 1 EEST}
{686098800 7200 0 EET}
{701823600 10800 1 EEST}
{717548400 7200 0 EET}
{733273200 10800 1 EEST}
{748998000 7200 0 EET}
- {764118000 10800 1 EEST}
+ {764722800 10800 1 EEST}
{780447600 7200 0 EET}
{796172400 10800 1 EEST}
{811897200 7200 0 EET}
@@ -121,5 +136,171 @@ set TZData(:Europe/Istanbul) {
{1445734800 10800 1 EEST}
{1446944400 7200 0 EET}
{1459040400 10800 1 EEST}
- {1473199200 10800 0 +03}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
}
diff --git a/library/tzdata/Europe/Kaliningrad b/library/tzdata/Europe/Kaliningrad
index 2ce7f35..d03f7d0 100644
--- a/library/tzdata/Europe/Kaliningrad
+++ b/library/tzdata/Europe/Kaliningrad
@@ -15,11 +15,10 @@ set TZData(:Europe/Kaliningrad) {
{-828226800 3600 0 CET}
{-812502000 7200 1 CEST}
{-796777200 3600 0 CET}
- {-781052400 7200 1 CEST}
- {-780368400 7200 0 EET}
- {-778730400 10800 1 EEST}
- {-762663600 7200 0 EET}
- {-749095200 10800 0 MSD}
+ {-788922000 7200 0 CET}
+ {-778730400 10800 1 CEST}
+ {-762663600 7200 0 CET}
+ {-757389600 10800 0 MSD}
{354920400 14400 1 MSD}
{370728000 10800 0 MSK}
{386456400 14400 1 MSD}
@@ -36,15 +35,15 @@ set TZData(:Europe/Kaliningrad) {
{559695600 10800 0 MSK}
{575420400 14400 1 MSD}
{591145200 10800 0 MSK}
- {606870000 7200 0 EEMMTT}
- {606873600 10800 1 EEST}
- {622598400 7200 0 EET}
- {638323200 10800 1 EEST}
- {654652800 7200 0 EET}
+ {606870000 14400 1 MSD}
+ {622594800 10800 0 MSK}
+ {638319600 14400 1 MSD}
+ {654649200 10800 0 MSK}
+ {670374000 7200 0 EEMMTT}
{670377600 10800 1 EEST}
{686102400 7200 0 EET}
- {701827200 10800 1 EEST}
- {717552000 7200 0 EET}
+ {701816400 10800 1 EEST}
+ {717537600 7200 0 EET}
{733276800 10800 1 EEST}
{749001600 7200 0 EET}
{764726400 10800 1 EEST}
@@ -81,6 +80,6 @@ set TZData(:Europe/Kaliningrad) {
{1256428800 7200 0 EET}
{1269734400 10800 1 EEST}
{1288483200 7200 0 EET}
- {1301184000 10800 0 +03}
+ {1301184000 10800 0 FET}
{1414278000 7200 0 EET}
}
diff --git a/library/tzdata/Europe/Kiev b/library/tzdata/Europe/Kiev
index ac5e50a..55015fa 100644
--- a/library/tzdata/Europe/Kiev
+++ b/library/tzdata/Europe/Kiev
@@ -1,5 +1,251 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Kyiv)]} {
- LoadTimeZoneFile Europe/Kyiv
+
+set TZData(:Europe/Kiev) {
+ {-9223372036854775808 7324 0 LMT}
+ {-2840148124 7324 0 KMT}
+ {-1441159324 7200 0 EET}
+ {-1247536800 10800 0 MSK}
+ {-892522800 3600 0 CET}
+ {-857257200 3600 0 CET}
+ {-844556400 7200 1 CEST}
+ {-828226800 3600 0 CET}
+ {-825382800 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465346800 10800 0 MSK}
+ {481071600 14400 1 MSD}
+ {496796400 10800 0 MSK}
+ {512521200 14400 1 MSD}
+ {528246000 10800 0 MSK}
+ {543970800 14400 1 MSD}
+ {559695600 10800 0 MSK}
+ {575420400 14400 1 MSD}
+ {591145200 10800 0 MSK}
+ {606870000 14400 1 MSD}
+ {622594800 10800 0 MSK}
+ {638319600 14400 1 MSD}
+ {646786800 10800 1 EEST}
+ {686102400 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {788911200 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
}
-set TZData(:Europe/Kiev) $TZData(:Europe/Kyiv)
diff --git a/library/tzdata/Europe/Kirov b/library/tzdata/Europe/Kirov
deleted file mode 100644
index 9d2afa5..0000000
--- a/library/tzdata/Europe/Kirov
+++ /dev/null
@@ -1,70 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Europe/Kirov) {
- {-9223372036854775808 11928 0 LMT}
- {-1593820800 10800 0 +03}
- {-1247540400 14400 0 +05}
- {354916800 18000 1 +05}
- {370724400 14400 0 +04}
- {386452800 18000 1 +05}
- {402260400 14400 0 +04}
- {417988800 18000 1 +05}
- {433796400 14400 0 +04}
- {449611200 18000 1 +05}
- {465343200 14400 0 +04}
- {481068000 18000 1 +05}
- {496792800 14400 0 +04}
- {512517600 18000 1 +05}
- {528242400 14400 0 +04}
- {543967200 18000 1 +05}
- {559692000 14400 0 +04}
- {575416800 18000 1 +05}
- {591141600 14400 0 +04}
- {606866400 10800 0 MSD}
- {606870000 14400 1 MSD}
- {622594800 10800 0 MSK}
- {638319600 14400 1 MSD}
- {654649200 10800 0 MSK}
- {670374000 14400 0 +04}
- {701820000 10800 0 MSD}
- {701823600 14400 1 MSD}
- {717548400 10800 0 MSK}
- {733273200 14400 1 MSD}
- {748998000 10800 0 MSK}
- {764722800 14400 1 MSD}
- {780447600 10800 0 MSK}
- {796172400 14400 1 MSD}
- {811897200 10800 0 MSK}
- {828226800 14400 1 MSD}
- {846370800 10800 0 MSK}
- {859676400 14400 1 MSD}
- {877820400 10800 0 MSK}
- {891126000 14400 1 MSD}
- {909270000 10800 0 MSK}
- {922575600 14400 1 MSD}
- {941324400 10800 0 MSK}
- {954025200 14400 1 MSD}
- {972774000 10800 0 MSK}
- {985474800 14400 1 MSD}
- {1004223600 10800 0 MSK}
- {1017529200 14400 1 MSD}
- {1035673200 10800 0 MSK}
- {1048978800 14400 1 MSD}
- {1067122800 10800 0 MSK}
- {1080428400 14400 1 MSD}
- {1099177200 10800 0 MSK}
- {1111878000 14400 1 MSD}
- {1130626800 10800 0 MSK}
- {1143327600 14400 1 MSD}
- {1162076400 10800 0 MSK}
- {1174777200 14400 1 MSD}
- {1193526000 10800 0 MSK}
- {1206831600 14400 1 MSD}
- {1224975600 10800 0 MSK}
- {1238281200 14400 1 MSD}
- {1256425200 10800 0 MSK}
- {1269730800 14400 1 MSD}
- {1288479600 10800 0 MSK}
- {1301180400 14400 0 MSK}
- {1414274400 10800 0 MSK}
-}
diff --git a/library/tzdata/Europe/Kyiv b/library/tzdata/Europe/Kyiv
deleted file mode 100644
index c7c0e2f..0000000
--- a/library/tzdata/Europe/Kyiv
+++ /dev/null
@@ -1,251 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Europe/Kyiv) {
- {-9223372036854775808 7324 0 LMT}
- {-2840148124 7324 0 KMT}
- {-1441159324 7200 0 EET}
- {-1247536800 10800 0 MSK}
- {-892522800 3600 0 CET}
- {-857257200 3600 0 CET}
- {-844556400 7200 1 CEST}
- {-828226800 3600 0 CET}
- {-825382800 10800 0 MSD}
- {354920400 14400 1 MSD}
- {370728000 10800 0 MSK}
- {386456400 14400 1 MSD}
- {402264000 10800 0 MSK}
- {417992400 14400 1 MSD}
- {433800000 10800 0 MSK}
- {449614800 14400 1 MSD}
- {465346800 10800 0 MSK}
- {481071600 14400 1 MSD}
- {496796400 10800 0 MSK}
- {512521200 14400 1 MSD}
- {528246000 10800 0 MSK}
- {543970800 14400 1 MSD}
- {559695600 10800 0 MSK}
- {575420400 14400 1 MSD}
- {591145200 10800 0 MSK}
- {606870000 14400 1 MSD}
- {622594800 10800 0 MSK}
- {638319600 14400 1 MSD}
- {646786800 10800 1 EEST}
- {686102400 7200 0 EET}
- {701827200 10800 1 EEST}
- {717552000 7200 0 EET}
- {733276800 10800 1 EEST}
- {749001600 7200 0 EET}
- {764726400 10800 1 EEST}
- {780451200 7200 0 EET}
- {796176000 10800 1 EEST}
- {811900800 7200 0 EET}
- {828230400 10800 1 EEST}
- {831938400 10800 0 EEST}
- {846378000 7200 0 EET}
- {859683600 10800 1 EEST}
- {877827600 7200 0 EET}
- {891133200 10800 1 EEST}
- {909277200 7200 0 EET}
- {922582800 10800 1 EEST}
- {941331600 7200 0 EET}
- {954032400 10800 1 EEST}
- {972781200 7200 0 EET}
- {985482000 10800 1 EEST}
- {1004230800 7200 0 EET}
- {1017536400 10800 1 EEST}
- {1035680400 7200 0 EET}
- {1048986000 10800 1 EEST}
- {1067130000 7200 0 EET}
- {1080435600 10800 1 EEST}
- {1099184400 7200 0 EET}
- {1111885200 10800 1 EEST}
- {1130634000 7200 0 EET}
- {1143334800 10800 1 EEST}
- {1162083600 7200 0 EET}
- {1174784400 10800 1 EEST}
- {1193533200 7200 0 EET}
- {1206838800 10800 1 EEST}
- {1224982800 7200 0 EET}
- {1238288400 10800 1 EEST}
- {1256432400 7200 0 EET}
- {1269738000 10800 1 EEST}
- {1288486800 7200 0 EET}
- {1301187600 10800 1 EEST}
- {1319936400 7200 0 EET}
- {1332637200 10800 1 EEST}
- {1351386000 7200 0 EET}
- {1364691600 10800 1 EEST}
- {1382835600 7200 0 EET}
- {1396141200 10800 1 EEST}
- {1414285200 7200 0 EET}
- {1427590800 10800 1 EEST}
- {1445734800 7200 0 EET}
- {1459040400 10800 1 EEST}
- {1477789200 7200 0 EET}
- {1490490000 10800 1 EEST}
- {1509238800 7200 0 EET}
- {1521939600 10800 1 EEST}
- {1540688400 7200 0 EET}
- {1553994000 10800 1 EEST}
- {1572138000 7200 0 EET}
- {1585443600 10800 1 EEST}
- {1603587600 7200 0 EET}
- {1616893200 10800 1 EEST}
- {1635642000 7200 0 EET}
- {1648342800 10800 1 EEST}
- {1667091600 7200 0 EET}
- {1679792400 10800 1 EEST}
- {1698541200 7200 0 EET}
- {1711846800 10800 1 EEST}
- {1729990800 7200 0 EET}
- {1743296400 10800 1 EEST}
- {1761440400 7200 0 EET}
- {1774746000 10800 1 EEST}
- {1792890000 7200 0 EET}
- {1806195600 10800 1 EEST}
- {1824944400 7200 0 EET}
- {1837645200 10800 1 EEST}
- {1856394000 7200 0 EET}
- {1869094800 10800 1 EEST}
- {1887843600 7200 0 EET}
- {1901149200 10800 1 EEST}
- {1919293200 7200 0 EET}
- {1932598800 10800 1 EEST}
- {1950742800 7200 0 EET}
- {1964048400 10800 1 EEST}
- {1982797200 7200 0 EET}
- {1995498000 10800 1 EEST}
- {2014246800 7200 0 EET}
- {2026947600 10800 1 EEST}
- {2045696400 7200 0 EET}
- {2058397200 10800 1 EEST}
- {2077146000 7200 0 EET}
- {2090451600 10800 1 EEST}
- {2108595600 7200 0 EET}
- {2121901200 10800 1 EEST}
- {2140045200 7200 0 EET}
- {2153350800 10800 1 EEST}
- {2172099600 7200 0 EET}
- {2184800400 10800 1 EEST}
- {2203549200 7200 0 EET}
- {2216250000 10800 1 EEST}
- {2234998800 7200 0 EET}
- {2248304400 10800 1 EEST}
- {2266448400 7200 0 EET}
- {2279754000 10800 1 EEST}
- {2297898000 7200 0 EET}
- {2311203600 10800 1 EEST}
- {2329347600 7200 0 EET}
- {2342653200 10800 1 EEST}
- {2361402000 7200 0 EET}
- {2374102800 10800 1 EEST}
- {2392851600 7200 0 EET}
- {2405552400 10800 1 EEST}
- {2424301200 7200 0 EET}
- {2437606800 10800 1 EEST}
- {2455750800 7200 0 EET}
- {2469056400 10800 1 EEST}
- {2487200400 7200 0 EET}
- {2500506000 10800 1 EEST}
- {2519254800 7200 0 EET}
- {2531955600 10800 1 EEST}
- {2550704400 7200 0 EET}
- {2563405200 10800 1 EEST}
- {2582154000 7200 0 EET}
- {2595459600 10800 1 EEST}
- {2613603600 7200 0 EET}
- {2626909200 10800 1 EEST}
- {2645053200 7200 0 EET}
- {2658358800 10800 1 EEST}
- {2676502800 7200 0 EET}
- {2689808400 10800 1 EEST}
- {2708557200 7200 0 EET}
- {2721258000 10800 1 EEST}
- {2740006800 7200 0 EET}
- {2752707600 10800 1 EEST}
- {2771456400 7200 0 EET}
- {2784762000 10800 1 EEST}
- {2802906000 7200 0 EET}
- {2816211600 10800 1 EEST}
- {2834355600 7200 0 EET}
- {2847661200 10800 1 EEST}
- {2866410000 7200 0 EET}
- {2879110800 10800 1 EEST}
- {2897859600 7200 0 EET}
- {2910560400 10800 1 EEST}
- {2929309200 7200 0 EET}
- {2942010000 10800 1 EEST}
- {2960758800 7200 0 EET}
- {2974064400 10800 1 EEST}
- {2992208400 7200 0 EET}
- {3005514000 10800 1 EEST}
- {3023658000 7200 0 EET}
- {3036963600 10800 1 EEST}
- {3055712400 7200 0 EET}
- {3068413200 10800 1 EEST}
- {3087162000 7200 0 EET}
- {3099862800 10800 1 EEST}
- {3118611600 7200 0 EET}
- {3131917200 10800 1 EEST}
- {3150061200 7200 0 EET}
- {3163366800 10800 1 EEST}
- {3181510800 7200 0 EET}
- {3194816400 10800 1 EEST}
- {3212960400 7200 0 EET}
- {3226266000 10800 1 EEST}
- {3245014800 7200 0 EET}
- {3257715600 10800 1 EEST}
- {3276464400 7200 0 EET}
- {3289165200 10800 1 EEST}
- {3307914000 7200 0 EET}
- {3321219600 10800 1 EEST}
- {3339363600 7200 0 EET}
- {3352669200 10800 1 EEST}
- {3370813200 7200 0 EET}
- {3384118800 10800 1 EEST}
- {3402867600 7200 0 EET}
- {3415568400 10800 1 EEST}
- {3434317200 7200 0 EET}
- {3447018000 10800 1 EEST}
- {3465766800 7200 0 EET}
- {3479072400 10800 1 EEST}
- {3497216400 7200 0 EET}
- {3510522000 10800 1 EEST}
- {3528666000 7200 0 EET}
- {3541971600 10800 1 EEST}
- {3560115600 7200 0 EET}
- {3573421200 10800 1 EEST}
- {3592170000 7200 0 EET}
- {3604870800 10800 1 EEST}
- {3623619600 7200 0 EET}
- {3636320400 10800 1 EEST}
- {3655069200 7200 0 EET}
- {3668374800 10800 1 EEST}
- {3686518800 7200 0 EET}
- {3699824400 10800 1 EEST}
- {3717968400 7200 0 EET}
- {3731274000 10800 1 EEST}
- {3750022800 7200 0 EET}
- {3762723600 10800 1 EEST}
- {3781472400 7200 0 EET}
- {3794173200 10800 1 EEST}
- {3812922000 7200 0 EET}
- {3825622800 10800 1 EEST}
- {3844371600 7200 0 EET}
- {3857677200 10800 1 EEST}
- {3875821200 7200 0 EET}
- {3889126800 10800 1 EEST}
- {3907270800 7200 0 EET}
- {3920576400 10800 1 EEST}
- {3939325200 7200 0 EET}
- {3952026000 10800 1 EEST}
- {3970774800 7200 0 EET}
- {3983475600 10800 1 EEST}
- {4002224400 7200 0 EET}
- {4015530000 10800 1 EEST}
- {4033674000 7200 0 EET}
- {4046979600 10800 1 EEST}
- {4065123600 7200 0 EET}
- {4078429200 10800 1 EEST}
- {4096573200 7200 0 EET}
-}
diff --git a/library/tzdata/Europe/Lisbon b/library/tzdata/Europe/Lisbon
index b6a069e..7168f96 100644
--- a/library/tzdata/Europe/Lisbon
+++ b/library/tzdata/Europe/Lisbon
@@ -3,7 +3,7 @@
set TZData(:Europe/Lisbon) {
{-9223372036854775808 -2205 0 LMT}
{-2713908195 -2205 0 LMT}
- {-1830384000 0 0 WET}
+ {-1830381795 0 0 WET}
{-1689555600 3600 1 WEST}
{-1677801600 0 0 WET}
{-1667437200 3600 1 WEST}
@@ -70,8 +70,6 @@ set TZData(:Europe/Lisbon) {
{-670456800 0 0 WET}
{-654732000 3600 1 WEST}
{-639007200 0 0 WET}
- {-623282400 3600 1 WEST}
- {-607557600 0 0 WET}
{-591832800 3600 1 WEST}
{-575503200 0 0 WET}
{-559778400 3600 1 WEST}
diff --git a/library/tzdata/Europe/Luxembourg b/library/tzdata/Europe/Luxembourg
index da3ebe2..2a88c4b 100644
--- a/library/tzdata/Europe/Luxembourg
+++ b/library/tzdata/Europe/Luxembourg
@@ -1,5 +1,313 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Brussels)]} {
- LoadTimeZoneFile Europe/Brussels
+
+set TZData(:Europe/Luxembourg) {
+ {-9223372036854775808 1476 0 LMT}
+ {-2069713476 3600 0 CET}
+ {-1692496800 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {-1662343200 7200 1 CEST}
+ {-1650157200 3600 0 CET}
+ {-1632006000 7200 1 CEST}
+ {-1618700400 3600 0 CET}
+ {-1612659600 0 0 WET}
+ {-1604278800 3600 1 WEST}
+ {-1585519200 0 0 WET}
+ {-1574038800 3600 1 WEST}
+ {-1552258800 0 0 WET}
+ {-1539997200 3600 1 WEST}
+ {-1520550000 0 0 WET}
+ {-1507510800 3600 1 WEST}
+ {-1490572800 0 0 WET}
+ {-1473642000 3600 1 WEST}
+ {-1459119600 0 0 WET}
+ {-1444006800 3600 1 WEST}
+ {-1427673600 0 0 WET}
+ {-1411866000 3600 1 WEST}
+ {-1396224000 0 0 WET}
+ {-1379293200 3600 1 WEST}
+ {-1364774400 0 0 WET}
+ {-1348448400 3600 1 WEST}
+ {-1333324800 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301270400 0 0 WET}
+ {-1284339600 3600 1 WEST}
+ {-1269813600 0 0 WET}
+ {-1253484000 3600 1 WEST}
+ {-1238364000 0 0 WET}
+ {-1221429600 3600 1 WEST}
+ {-1206914400 0 0 WET}
+ {-1191189600 3600 1 WEST}
+ {-1175464800 0 0 WET}
+ {-1160344800 3600 1 WEST}
+ {-1143410400 0 0 WET}
+ {-1127685600 3600 1 WEST}
+ {-1111960800 0 0 WET}
+ {-1096840800 3600 1 WEST}
+ {-1080511200 0 0 WET}
+ {-1063576800 3600 1 WEST}
+ {-1049061600 0 0 WET}
+ {-1033336800 3600 1 WEST}
+ {-1017612000 0 0 WET}
+ {-1002492000 3600 1 WEST}
+ {-986162400 0 0 WET}
+ {-969228000 3600 1 WEST}
+ {-950479200 0 0 WET}
+ {-942012000 3600 1 WEST}
+ {-935186400 7200 0 WEST}
+ {-857257200 3600 0 WET}
+ {-844556400 7200 1 WEST}
+ {-828226800 3600 0 WET}
+ {-812502000 7200 1 WEST}
+ {-797983200 3600 0 CET}
+ {-781052400 7200 1 CEST}
+ {-766623600 3600 0 CET}
+ {-745455600 7200 1 CEST}
+ {-733273200 3600 0 CET}
+ {220921200 3600 0 CET}
+ {228877200 7200 1 CEST}
+ {243997200 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 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}
}
-set TZData(:Europe/Luxembourg) $TZData(:Europe/Brussels)
diff --git a/library/tzdata/Europe/Madrid b/library/tzdata/Europe/Madrid
index f4dd484..50de14f 100644
--- a/library/tzdata/Europe/Madrid
+++ b/library/tzdata/Europe/Madrid
@@ -2,50 +2,52 @@
set TZData(:Europe/Madrid) {
{-9223372036854775808 -884 0 LMT}
- {-2177452800 0 0 WET}
+ {-2177451916 0 0 WET}
+ {-1661734800 3600 1 WEST}
+ {-1648429200 0 0 WET}
{-1631926800 3600 1 WEST}
- {-1616889600 0 0 WET}
- {-1601168400 3600 1 WEST}
- {-1585353600 0 0 WET}
+ {-1616893200 0 0 WET}
+ {-1601254800 3600 1 WEST}
+ {-1585357200 0 0 WET}
{-1442451600 3600 1 WEST}
- {-1427673600 0 0 WET}
+ {-1427677200 0 0 WET}
{-1379293200 3600 1 WEST}
- {-1364774400 0 0 WET}
+ {-1364778000 0 0 WET}
{-1348448400 3600 1 WEST}
- {-1333324800 0 0 WET}
- {-1316390400 3600 1 WEST}
- {-1301270400 0 0 WET}
+ {-1333328400 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301274000 0 0 WET}
{-1284339600 3600 1 WEST}
- {-1269820800 0 0 WET}
- {-1026954000 3600 1 WEST}
- {-1017619200 0 0 WET}
- {-1001898000 3600 1 WEST}
- {-999482400 7200 1 WEMT}
- {-986090400 3600 1 WEST}
- {-954115200 0 0 WET}
- {-940208400 3600 0 CET}
- {-873079200 7200 1 CEST}
- {-862621200 3600 0 CET}
- {-842839200 7200 1 CEST}
- {-828320400 3600 0 CET}
- {-811389600 7200 1 CEST}
- {-796870800 3600 0 CET}
- {-779940000 7200 1 CEST}
- {-765421200 3600 0 CET}
- {-748490400 7200 1 CEST}
- {-733971600 3600 0 CET}
+ {-1269824400 0 0 WET}
+ {-1029114000 3600 1 WEST}
+ {-1017622800 0 0 WET}
+ {-1002848400 3600 1 WEST}
+ {-986173200 0 0 WET}
+ {-969238800 3600 1 WEST}
+ {-954118800 0 0 WET}
+ {-940208400 3600 1 WEST}
+ {-873079200 7200 1 WEMT}
+ {-862538400 3600 1 WEST}
+ {-842839200 7200 1 WEMT}
+ {-828237600 3600 1 WEST}
+ {-811389600 7200 1 WEMT}
+ {-796010400 3600 1 WEST}
+ {-779940000 7200 1 WEMT}
+ {-765421200 3600 1 WEST}
+ {-748490400 7200 1 WEMT}
+ {-733881600 3600 0 CET}
{-652327200 7200 1 CEST}
- {-639018000 3600 0 CET}
+ {-639190800 3600 0 CET}
{135122400 7200 1 CEST}
{150246000 3600 0 CET}
- {166572000 7200 1 CEST}
+ {167176800 7200 1 CEST}
{181695600 3600 0 CET}
{196812000 7200 1 CEST}
{212540400 3600 0 CET}
{228866400 7200 1 CEST}
{243990000 3600 0 CET}
- {260326800 7200 1 CEST}
- {276051600 3600 0 CET}
+ {260402400 7200 1 CEST}
+ {276044400 3600 0 CET}
{283993200 3600 0 CET}
{291776400 7200 1 CEST}
{307501200 3600 0 CET}
diff --git a/library/tzdata/Europe/Malta b/library/tzdata/Europe/Malta
index 0ebe2f6..b84f68e 100644
--- a/library/tzdata/Europe/Malta
+++ b/library/tzdata/Europe/Malta
@@ -3,23 +3,23 @@
set TZData(:Europe/Malta) {
{-9223372036854775808 3484 0 LMT}
{-2403478684 3600 0 CET}
- {-1690765200 7200 1 CEST}
- {-1680487200 3600 0 CET}
+ {-1690851600 7200 1 CEST}
+ {-1680483600 3600 0 CET}
{-1664758800 7200 1 CEST}
- {-1648951200 3600 0 CET}
+ {-1649034000 3600 0 CET}
{-1635123600 7200 1 CEST}
- {-1616896800 3600 0 CET}
+ {-1616979600 3600 0 CET}
{-1604278800 7200 1 CEST}
- {-1585533600 3600 0 CET}
+ {-1585530000 3600 0 CET}
{-1571014800 7200 1 CEST}
- {-1555293600 3600 0 CET}
+ {-1555290000 3600 0 CET}
{-932432400 7200 1 CEST}
{-857257200 3600 0 CET}
{-844556400 7200 1 CEST}
{-828226800 3600 0 CET}
- {-812588400 7200 1 CEST}
- {-798073200 3600 0 CET}
- {-781052400 7200 1 CEST}
+ {-812502000 7200 1 CEST}
+ {-796777200 3600 0 CET}
+ {-781052400 7200 0 CEST}
{-766717200 3600 0 CET}
{-750898800 7200 1 CEST}
{-733359600 3600 0 CET}
@@ -30,17 +30,17 @@ set TZData(:Europe/Malta) {
{-114051600 7200 1 CEST}
{-103168800 3600 0 CET}
{-81997200 7200 1 CEST}
- {-71715600 3600 0 CET}
+ {-71719200 3600 0 CET}
{-50547600 7200 1 CEST}
- {-40266000 3600 0 CET}
+ {-40269600 3600 0 CET}
{-18493200 7200 1 CEST}
- {-8211600 3600 0 CET}
+ {-8215200 3600 0 CET}
{12956400 7200 1 CEST}
- {23238000 3600 0 CET}
+ {23234400 3600 0 CET}
{43801200 7200 1 CEST}
{54687600 3600 0 CET}
{75855600 7200 1 CEST}
- {86742000 3600 0 CET}
+ {86738400 3600 0 CET}
{102380400 7200 0 CEST}
{118105200 3600 0 CET}
{135730800 7200 1 CEST}
diff --git a/library/tzdata/Europe/Minsk b/library/tzdata/Europe/Minsk
index 7a6232e..0acb4aa 100644
--- a/library/tzdata/Europe/Minsk
+++ b/library/tzdata/Europe/Minsk
@@ -30,11 +30,10 @@ set TZData(:Europe/Minsk) {
{606870000 14400 1 MSD}
{622594800 10800 0 MSK}
{631141200 10800 0 MSK}
- {670374000 7200 0 EEMMTT}
- {670377600 10800 1 EEST}
+ {670374000 10800 1 EEST}
{686102400 7200 0 EET}
- {701827200 10800 1 EEST}
- {717552000 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717544800 7200 0 EET}
{733276800 10800 1 EEST}
{749001600 7200 0 EET}
{764726400 10800 1 EEST}
@@ -71,5 +70,6 @@ set TZData(:Europe/Minsk) {
{1256428800 7200 0 EET}
{1269734400 10800 1 EEST}
{1288483200 7200 0 EET}
- {1301184000 10800 0 +03}
+ {1301184000 10800 0 FET}
+ {1414274400 10800 0 MSK}
}
diff --git a/library/tzdata/Europe/Monaco b/library/tzdata/Europe/Monaco
index 54f9d27..f887b0b 100644
--- a/library/tzdata/Europe/Monaco
+++ b/library/tzdata/Europe/Monaco
@@ -1,5 +1,315 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Paris)]} {
- LoadTimeZoneFile Europe/Paris
+
+set TZData(:Europe/Monaco) {
+ {-9223372036854775808 1772 0 LMT}
+ {-2486680172 561 0 PMT}
+ {-1855958961 0 0 WET}
+ {-1689814800 3600 1 WEST}
+ {-1680397200 0 0 WET}
+ {-1665363600 3600 1 WEST}
+ {-1648342800 0 0 WET}
+ {-1635123600 3600 1 WEST}
+ {-1616893200 0 0 WET}
+ {-1604278800 3600 1 WEST}
+ {-1585443600 0 0 WET}
+ {-1574038800 3600 1 WEST}
+ {-1552266000 0 0 WET}
+ {-1539997200 3600 1 WEST}
+ {-1520557200 0 0 WET}
+ {-1507510800 3600 1 WEST}
+ {-1490576400 0 0 WET}
+ {-1470618000 3600 1 WEST}
+ {-1459126800 0 0 WET}
+ {-1444006800 3600 1 WEST}
+ {-1427677200 0 0 WET}
+ {-1411952400 3600 1 WEST}
+ {-1396227600 0 0 WET}
+ {-1379293200 3600 1 WEST}
+ {-1364778000 0 0 WET}
+ {-1348448400 3600 1 WEST}
+ {-1333328400 0 0 WET}
+ {-1316394000 3600 1 WEST}
+ {-1301274000 0 0 WET}
+ {-1284339600 3600 1 WEST}
+ {-1269824400 0 0 WET}
+ {-1253494800 3600 1 WEST}
+ {-1238374800 0 0 WET}
+ {-1221440400 3600 1 WEST}
+ {-1206925200 0 0 WET}
+ {-1191200400 3600 1 WEST}
+ {-1175475600 0 0 WET}
+ {-1160355600 3600 1 WEST}
+ {-1143421200 0 0 WET}
+ {-1127696400 3600 1 WEST}
+ {-1111971600 0 0 WET}
+ {-1096851600 3600 1 WEST}
+ {-1080522000 0 0 WET}
+ {-1063587600 3600 1 WEST}
+ {-1049072400 0 0 WET}
+ {-1033347600 3600 1 WEST}
+ {-1017622800 0 0 WET}
+ {-1002502800 3600 1 WEST}
+ {-986173200 0 0 WET}
+ {-969238800 3600 1 WEST}
+ {-950490000 0 0 WET}
+ {-942012000 3600 1 WEST}
+ {-904438800 7200 1 WEMT}
+ {-891136800 3600 1 WEST}
+ {-877827600 7200 1 WEMT}
+ {-857257200 3600 1 WEST}
+ {-844556400 7200 1 WEMT}
+ {-828226800 3600 1 WEST}
+ {-812502000 7200 1 WEMT}
+ {-796266000 3600 1 WEST}
+ {-781052400 7200 1 WEMT}
+ {-766616400 3600 0 CET}
+ {196819200 7200 1 CEST}
+ {212540400 3600 0 CET}
+ {220921200 3600 0 CET}
+ {228877200 7200 1 CEST}
+ {243997200 3600 0 CET}
+ {260326800 7200 1 CEST}
+ {276051600 3600 0 CET}
+ {291776400 7200 1 CEST}
+ {307501200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 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}
}
-set TZData(:Europe/Monaco) $TZData(:Europe/Paris)
diff --git a/library/tzdata/Europe/Moscow b/library/tzdata/Europe/Moscow
index 9b513b1..686b3d0 100644
--- a/library/tzdata/Europe/Moscow
+++ b/library/tzdata/Europe/Moscow
@@ -9,10 +9,10 @@ set TZData(:Europe/Moscow) {
{-1627965079 16279 1 MDST}
{-1618716679 12679 1 MST}
{-1596429079 16279 1 MDST}
- {-1593820800 14400 0 MSD}
+ {-1593822679 14400 0 MSD}
{-1589860800 10800 0 MSK}
{-1542427200 14400 1 MSD}
- {-1539493200 18000 1 +05}
+ {-1539493200 18000 1 MSM}
{-1525323600 14400 1 MSD}
{-1491188400 7200 0 EET}
{-1247536800 10800 0 MSD}
@@ -40,8 +40,8 @@ set TZData(:Europe/Moscow) {
{670377600 10800 1 EEST}
{686102400 7200 0 EET}
{695779200 10800 0 MSD}
- {701823600 14400 1 MSD}
- {717548400 10800 0 MSK}
+ {701812800 14400 1 MSD}
+ {717534000 10800 0 MSK}
{733273200 14400 1 MSD}
{748998000 10800 0 MSK}
{764722800 14400 1 MSD}
diff --git a/library/tzdata/Europe/Oslo b/library/tzdata/Europe/Oslo
index d6d564d..6787c1e 100644
--- a/library/tzdata/Europe/Oslo
+++ b/library/tzdata/Europe/Oslo
@@ -1,5 +1,271 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Berlin)]} {
- LoadTimeZoneFile Europe/Berlin
+
+set TZData(:Europe/Oslo) {
+ {-9223372036854775808 2580 0 LMT}
+ {-2366757780 3600 0 CET}
+ {-1691884800 7200 1 CEST}
+ {-1680573600 3600 0 CET}
+ {-927511200 7200 0 CEST}
+ {-857257200 3600 0 CET}
+ {-844556400 7200 1 CEST}
+ {-828226800 3600 0 CET}
+ {-812502000 7200 1 CEST}
+ {-796777200 3600 0 CET}
+ {-781052400 7200 0 CEST}
+ {-765327600 3600 0 CET}
+ {-340844400 7200 1 CEST}
+ {-324514800 3600 0 CET}
+ {-308790000 7200 1 CEST}
+ {-293065200 3600 0 CET}
+ {-277340400 7200 1 CEST}
+ {-261615600 3600 0 CET}
+ {-245890800 7200 1 CEST}
+ {-230166000 3600 0 CET}
+ {-214441200 7200 1 CEST}
+ {-198716400 3600 0 CET}
+ {-182991600 7200 1 CEST}
+ {-166662000 3600 0 CET}
+ {-147913200 7200 1 CEST}
+ {-135212400 3600 0 CET}
+ {315529200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 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}
}
-set TZData(:Europe/Oslo) $TZData(:Europe/Berlin)
diff --git a/library/tzdata/Europe/Paris b/library/tzdata/Europe/Paris
index 7208e55..4b22a09 100644
--- a/library/tzdata/Europe/Paris
+++ b/library/tzdata/Europe/Paris
@@ -2,8 +2,8 @@
set TZData(:Europe/Paris) {
{-9223372036854775808 561 0 LMT}
- {-2486592561 561 0 PMT}
- {-1855958961 0 0 WET}
+ {-2486678901 561 0 PMT}
+ {-1855958901 0 0 WET}
{-1689814800 3600 1 WEST}
{-1680397200 0 0 WET}
{-1665363600 3600 1 WEST}
diff --git a/library/tzdata/Europe/Prague b/library/tzdata/Europe/Prague
index 34df8ed..222b1ae 100644
--- a/library/tzdata/Europe/Prague
+++ b/library/tzdata/Europe/Prague
@@ -15,14 +15,11 @@ set TZData(:Europe/Prague) {
{-844556400 7200 1 CEST}
{-828226800 3600 0 CET}
{-812502000 7200 1 CEST}
- {-796777200 3600 0 CET}
- {-781052400 7200 1 CEST}
- {-777862800 7200 0 CEST}
- {-765327600 3600 0 CET}
+ {-798073200 3600 0 CET}
+ {-780534000 7200 1 CEST}
+ {-761180400 3600 0 CET}
{-746578800 7200 1 CEST}
{-733359600 3600 0 CET}
- {-728517600 0 1 GMT}
- {-721260000 0 0 CET}
{-716425200 7200 1 CEST}
{-701910000 3600 0 CET}
{-684975600 7200 1 CEST}
diff --git a/library/tzdata/Europe/Rome b/library/tzdata/Europe/Rome
index 932754f..64948b8 100644
--- a/library/tzdata/Europe/Rome
+++ b/library/tzdata/Europe/Rome
@@ -2,26 +2,25 @@
set TZData(:Europe/Rome) {
{-9223372036854775808 2996 0 LMT}
- {-3252098996 2996 0 RMT}
- {-2403565200 3600 0 CET}
- {-1690765200 7200 1 CEST}
- {-1680487200 3600 0 CET}
+ {-3259097396 2996 0 RMT}
+ {-2403564596 3600 0 CET}
+ {-1690851600 7200 1 CEST}
+ {-1680483600 3600 0 CET}
{-1664758800 7200 1 CEST}
- {-1648951200 3600 0 CET}
+ {-1649034000 3600 0 CET}
{-1635123600 7200 1 CEST}
- {-1616896800 3600 0 CET}
+ {-1616979600 3600 0 CET}
{-1604278800 7200 1 CEST}
- {-1585533600 3600 0 CET}
+ {-1585530000 3600 0 CET}
{-1571014800 7200 1 CEST}
- {-1555293600 3600 0 CET}
+ {-1555290000 3600 0 CET}
{-932432400 7200 1 CEST}
{-857257200 3600 0 CET}
{-844556400 7200 1 CEST}
- {-830307600 7200 0 CEST}
{-828226800 3600 0 CET}
{-812502000 7200 1 CEST}
- {-807152400 7200 0 CEST}
- {-798073200 3600 0 CET}
+ {-804819600 3600 0 CET}
+ {-798080400 3600 0 CET}
{-781052400 7200 1 CEST}
{-766717200 3600 0 CET}
{-750898800 7200 1 CEST}
@@ -33,21 +32,21 @@ set TZData(:Europe/Rome) {
{-114051600 7200 1 CEST}
{-103168800 3600 0 CET}
{-81997200 7200 1 CEST}
- {-71715600 3600 0 CET}
+ {-71719200 3600 0 CET}
{-50547600 7200 1 CEST}
- {-40266000 3600 0 CET}
+ {-40269600 3600 0 CET}
{-18493200 7200 1 CEST}
- {-8211600 3600 0 CET}
+ {-8215200 3600 0 CET}
{12956400 7200 1 CEST}
- {23238000 3600 0 CET}
+ {23234400 3600 0 CET}
{43801200 7200 1 CEST}
{54687600 3600 0 CET}
{75855600 7200 1 CEST}
- {86742000 3600 0 CET}
+ {86738400 3600 0 CET}
{107910000 7200 1 CEST}
- {118191600 3600 0 CET}
+ {118188000 3600 0 CET}
{138754800 7200 1 CEST}
- {149641200 3600 0 CET}
+ {149637600 3600 0 CET}
{170809200 7200 1 CEST}
{181090800 3600 0 CET}
{202258800 7200 1 CEST}
diff --git a/library/tzdata/Europe/Samara b/library/tzdata/Europe/Samara
index 8f21c57..ee9d989 100644
--- a/library/tzdata/Europe/Samara
+++ b/library/tzdata/Europe/Samara
@@ -2,72 +2,72 @@
set TZData(:Europe/Samara) {
{-9223372036854775808 12020 0 LMT}
- {-1593820800 10800 0 +03}
- {-1247540400 14400 0 +04}
- {-1102305600 14400 0 +05}
- {354916800 18000 1 +05}
- {370724400 14400 0 +04}
- {386452800 18000 1 +05}
- {402260400 14400 0 +04}
- {417988800 18000 1 +05}
- {433796400 14400 0 +04}
- {449611200 18000 1 +05}
- {465343200 14400 0 +04}
- {481068000 18000 1 +05}
- {496792800 14400 0 +04}
- {512517600 18000 1 +05}
- {528242400 14400 0 +04}
- {543967200 18000 1 +05}
- {559692000 14400 0 +04}
- {575416800 18000 1 +05}
- {591141600 14400 0 +04}
- {606866400 10800 0 +04}
- {606870000 14400 1 +04}
- {622594800 10800 0 +03}
- {638319600 14400 1 +04}
- {654649200 10800 0 +03}
- {670374000 7200 0 +03}
- {670377600 10800 1 +03}
- {686102400 10800 0 +03}
- {687916800 14400 0 +04}
- {701820000 18000 1 +05}
- {717544800 14400 0 +04}
- {733269600 18000 1 +05}
- {748994400 14400 0 +04}
- {764719200 18000 1 +05}
- {780444000 14400 0 +04}
- {796168800 18000 1 +05}
- {811893600 14400 0 +04}
- {828223200 18000 1 +05}
- {846367200 14400 0 +04}
- {859672800 18000 1 +05}
- {877816800 14400 0 +04}
- {891122400 18000 1 +05}
- {909266400 14400 0 +04}
- {922572000 18000 1 +05}
- {941320800 14400 0 +04}
- {954021600 18000 1 +05}
- {972770400 14400 0 +04}
- {985471200 18000 1 +05}
- {1004220000 14400 0 +04}
- {1017525600 18000 1 +05}
- {1035669600 14400 0 +04}
- {1048975200 18000 1 +05}
- {1067119200 14400 0 +04}
- {1080424800 18000 1 +05}
- {1099173600 14400 0 +04}
- {1111874400 18000 1 +05}
- {1130623200 14400 0 +04}
- {1143324000 18000 1 +05}
- {1162072800 14400 0 +04}
- {1174773600 18000 1 +05}
- {1193522400 14400 0 +04}
- {1206828000 18000 1 +05}
- {1224972000 14400 0 +04}
- {1238277600 18000 1 +05}
- {1256421600 14400 0 +04}
- {1269727200 10800 0 +04}
- {1269730800 14400 1 +04}
- {1288479600 10800 0 +03}
- {1301180400 14400 0 +04}
+ {-1593825620 10800 0 SAMT}
+ {-1247540400 14400 0 SAMT}
+ {-1102305600 14400 0 KUYMMTT}
+ {354916800 18000 1 KUYST}
+ {370724400 14400 0 KUYT}
+ {386452800 18000 1 KUYST}
+ {402260400 14400 0 KUYT}
+ {417988800 18000 1 KUYST}
+ {433796400 14400 0 KUYT}
+ {449611200 18000 1 KUYST}
+ {465343200 14400 0 KUYT}
+ {481068000 18000 1 KUYST}
+ {496792800 14400 0 KUYT}
+ {512517600 18000 1 KUYST}
+ {528242400 14400 0 KUYT}
+ {543967200 18000 1 KUYST}
+ {559692000 14400 0 KUYT}
+ {575416800 18000 1 KUYST}
+ {591141600 14400 0 KUYT}
+ {606866400 10800 0 MSD}
+ {606870000 14400 1 MSD}
+ {622594800 10800 0 MSK}
+ {638319600 14400 1 MSD}
+ {654649200 10800 0 MSK}
+ {670374000 7200 0 EEMMTT}
+ {670377600 10800 1 EEST}
+ {686102400 10800 0 KUYT}
+ {687916800 14400 0 SAMT}
+ {701809200 18000 1 SAMST}
+ {717530400 14400 0 SAMT}
+ {733269600 18000 1 SAMST}
+ {748994400 14400 0 SAMT}
+ {764719200 18000 1 SAMST}
+ {780444000 14400 0 SAMT}
+ {796168800 18000 1 SAMST}
+ {811893600 14400 0 SAMT}
+ {828223200 18000 1 SAMST}
+ {846367200 14400 0 SAMT}
+ {859672800 18000 1 SAMST}
+ {877816800 14400 0 SAMT}
+ {891122400 18000 1 SAMST}
+ {909266400 14400 0 SAMT}
+ {922572000 18000 1 SAMST}
+ {941320800 14400 0 SAMT}
+ {954021600 18000 1 SAMST}
+ {972770400 14400 0 SAMT}
+ {985471200 18000 1 SAMST}
+ {1004220000 14400 0 SAMT}
+ {1017525600 18000 1 SAMST}
+ {1035669600 14400 0 SAMT}
+ {1048975200 18000 1 SAMST}
+ {1067119200 14400 0 SAMT}
+ {1080424800 18000 1 SAMST}
+ {1099173600 14400 0 SAMT}
+ {1111874400 18000 1 SAMST}
+ {1130623200 14400 0 SAMT}
+ {1143324000 18000 1 SAMST}
+ {1162072800 14400 0 SAMT}
+ {1174773600 18000 1 SAMST}
+ {1193522400 14400 0 SAMT}
+ {1206828000 18000 1 SAMST}
+ {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}
}
diff --git a/library/tzdata/Europe/Saratov b/library/tzdata/Europe/Saratov
deleted file mode 100644
index d89a217..0000000
--- a/library/tzdata/Europe/Saratov
+++ /dev/null
@@ -1,71 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Europe/Saratov) {
- {-9223372036854775808 11058 0 LMT}
- {-1593820800 10800 0 +03}
- {-1247540400 14400 0 +05}
- {354916800 18000 1 +05}
- {370724400 14400 0 +04}
- {386452800 18000 1 +05}
- {402260400 14400 0 +04}
- {417988800 18000 1 +05}
- {433796400 14400 0 +04}
- {449611200 18000 1 +05}
- {465343200 14400 0 +04}
- {481068000 18000 1 +05}
- {496792800 14400 0 +04}
- {512517600 18000 1 +05}
- {528242400 14400 0 +04}
- {543967200 18000 1 +05}
- {559692000 14400 0 +04}
- {575416800 10800 0 +04}
- {575420400 14400 1 +04}
- {591145200 10800 0 +03}
- {606870000 14400 1 +04}
- {622594800 10800 0 +03}
- {638319600 14400 1 +04}
- {654649200 10800 0 +03}
- {670374000 14400 0 +04}
- {701820000 10800 0 +04}
- {701823600 14400 1 +04}
- {717548400 10800 0 +03}
- {733273200 14400 1 +04}
- {748998000 10800 0 +03}
- {764722800 14400 1 +04}
- {780447600 10800 0 +03}
- {796172400 14400 1 +04}
- {811897200 10800 0 +03}
- {828226800 14400 1 +04}
- {846370800 10800 0 +03}
- {859676400 14400 1 +04}
- {877820400 10800 0 +03}
- {891126000 14400 1 +04}
- {909270000 10800 0 +03}
- {922575600 14400 1 +04}
- {941324400 10800 0 +03}
- {954025200 14400 1 +04}
- {972774000 10800 0 +03}
- {985474800 14400 1 +04}
- {1004223600 10800 0 +03}
- {1017529200 14400 1 +04}
- {1035673200 10800 0 +03}
- {1048978800 14400 1 +04}
- {1067122800 10800 0 +03}
- {1080428400 14400 1 +04}
- {1099177200 10800 0 +03}
- {1111878000 14400 1 +04}
- {1130626800 10800 0 +03}
- {1143327600 14400 1 +04}
- {1162076400 10800 0 +03}
- {1174777200 14400 1 +04}
- {1193526000 10800 0 +03}
- {1206831600 14400 1 +04}
- {1224975600 10800 0 +03}
- {1238281200 14400 1 +04}
- {1256425200 10800 0 +03}
- {1269730800 14400 1 +04}
- {1288479600 10800 0 +03}
- {1301180400 14400 0 +04}
- {1414274400 10800 0 +03}
- {1480806000 14400 0 +04}
-}
diff --git a/library/tzdata/Europe/Simferopol b/library/tzdata/Europe/Simferopol
index 4a5a77f..3e4b60a 100644
--- a/library/tzdata/Europe/Simferopol
+++ b/library/tzdata/Europe/Simferopol
@@ -31,18 +31,18 @@ set TZData(:Europe/Simferopol) {
{622594800 10800 0 MSK}
{631141200 10800 0 MSK}
{646786800 7200 0 EET}
- {701042400 7200 0 EET}
- {701827200 10800 1 EEST}
- {717552000 7200 0 EET}
- {733276800 10800 1 EEST}
- {749001600 7200 0 EET}
- {764726400 10800 1 EEST}
+ {694216800 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
{767743200 14400 0 MSD}
- {780447600 10800 0 MSK}
- {796172400 14400 1 MSD}
- {811897200 10800 0 MSK}
+ {780436800 10800 0 MSK}
+ {796165200 14400 1 MSD}
+ {811886400 10800 0 MSK}
{828219600 14400 1 MSD}
- {846374400 10800 0 MSK}
+ {852066000 10800 0 MSK}
{859683600 10800 0 EEST}
{877827600 7200 0 EET}
{891133200 10800 1 EEST}
diff --git a/library/tzdata/Europe/Stockholm b/library/tzdata/Europe/Stockholm
index 6b5c55a..b74d327 100644
--- a/library/tzdata/Europe/Stockholm
+++ b/library/tzdata/Europe/Stockholm
@@ -1,5 +1,250 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Berlin)]} {
- LoadTimeZoneFile Europe/Berlin
+
+set TZData(:Europe/Stockholm) {
+ {-9223372036854775808 4332 0 LMT}
+ {-2871681132 3614 0 SET}
+ {-2208992414 3600 0 CET}
+ {-1692496800 7200 1 CEST}
+ {-1680483600 3600 0 CET}
+ {315529200 3600 0 CET}
+ {323830800 7200 1 CEST}
+ {338950800 3600 0 CET}
+ {354675600 7200 1 CEST}
+ {370400400 3600 0 CET}
+ {386125200 7200 1 CEST}
+ {401850000 3600 0 CET}
+ {417574800 7200 1 CEST}
+ {433299600 3600 0 CET}
+ {449024400 7200 1 CEST}
+ {465354000 3600 0 CET}
+ {481078800 7200 1 CEST}
+ {496803600 3600 0 CET}
+ {512528400 7200 1 CEST}
+ {528253200 3600 0 CET}
+ {543978000 7200 1 CEST}
+ {559702800 3600 0 CET}
+ {575427600 7200 1 CEST}
+ {591152400 3600 0 CET}
+ {606877200 7200 1 CEST}
+ {622602000 3600 0 CET}
+ {638326800 7200 1 CEST}
+ {654656400 3600 0 CET}
+ {670381200 7200 1 CEST}
+ {686106000 3600 0 CET}
+ {701830800 7200 1 CEST}
+ {717555600 3600 0 CET}
+ {733280400 7200 1 CEST}
+ {749005200 3600 0 CET}
+ {764730000 7200 1 CEST}
+ {780454800 3600 0 CET}
+ {796179600 7200 1 CEST}
+ {811904400 3600 0 CET}
+ {828234000 7200 1 CEST}
+ {846378000 3600 0 CET}
+ {859683600 7200 1 CEST}
+ {877827600 3600 0 CET}
+ {891133200 7200 1 CEST}
+ {909277200 3600 0 CET}
+ {922582800 7200 1 CEST}
+ {941331600 3600 0 CET}
+ {954032400 7200 1 CEST}
+ {972781200 3600 0 CET}
+ {985482000 7200 1 CEST}
+ {1004230800 3600 0 CET}
+ {1017536400 7200 1 CEST}
+ {1035680400 3600 0 CET}
+ {1048986000 7200 1 CEST}
+ {1067130000 3600 0 CET}
+ {1080435600 7200 1 CEST}
+ {1099184400 3600 0 CET}
+ {1111885200 7200 1 CEST}
+ {1130634000 3600 0 CET}
+ {1143334800 7200 1 CEST}
+ {1162083600 3600 0 CET}
+ {1174784400 7200 1 CEST}
+ {1193533200 3600 0 CET}
+ {1206838800 7200 1 CEST}
+ {1224982800 3600 0 CET}
+ {1238288400 7200 1 CEST}
+ {1256432400 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}
}
-set TZData(:Europe/Stockholm) $TZData(:Europe/Berlin)
diff --git a/library/tzdata/Europe/Ulyanovsk b/library/tzdata/Europe/Ulyanovsk
deleted file mode 100644
index 8fb3f9e..0000000
--- a/library/tzdata/Europe/Ulyanovsk
+++ /dev/null
@@ -1,73 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Europe/Ulyanovsk) {
- {-9223372036854775808 11616 0 LMT}
- {-1593820800 10800 0 +03}
- {-1247540400 14400 0 +05}
- {354916800 18000 1 +05}
- {370724400 14400 0 +04}
- {386452800 18000 1 +05}
- {402260400 14400 0 +04}
- {417988800 18000 1 +05}
- {433796400 14400 0 +04}
- {449611200 18000 1 +05}
- {465343200 14400 0 +04}
- {481068000 18000 1 +05}
- {496792800 14400 0 +04}
- {512517600 18000 1 +05}
- {528242400 14400 0 +04}
- {543967200 18000 1 +05}
- {559692000 14400 0 +04}
- {575416800 18000 1 +05}
- {591141600 14400 0 +04}
- {606866400 10800 0 +04}
- {606870000 14400 1 +04}
- {622594800 10800 0 +03}
- {638319600 14400 1 +04}
- {654649200 10800 0 +03}
- {670374000 7200 0 +03}
- {670377600 10800 1 +03}
- {686102400 7200 0 +02}
- {695779200 10800 0 +04}
- {701823600 14400 1 +04}
- {717548400 10800 0 +03}
- {733273200 14400 1 +04}
- {748998000 10800 0 +03}
- {764722800 14400 1 +04}
- {780447600 10800 0 +03}
- {796172400 14400 1 +04}
- {811897200 10800 0 +03}
- {828226800 14400 1 +04}
- {846370800 10800 0 +03}
- {859676400 14400 1 +04}
- {877820400 10800 0 +03}
- {891126000 14400 1 +04}
- {909270000 10800 0 +03}
- {922575600 14400 1 +04}
- {941324400 10800 0 +03}
- {954025200 14400 1 +04}
- {972774000 10800 0 +03}
- {985474800 14400 1 +04}
- {1004223600 10800 0 +03}
- {1017529200 14400 1 +04}
- {1035673200 10800 0 +03}
- {1048978800 14400 1 +04}
- {1067122800 10800 0 +03}
- {1080428400 14400 1 +04}
- {1099177200 10800 0 +03}
- {1111878000 14400 1 +04}
- {1130626800 10800 0 +03}
- {1143327600 14400 1 +04}
- {1162076400 10800 0 +03}
- {1174777200 14400 1 +04}
- {1193526000 10800 0 +03}
- {1206831600 14400 1 +04}
- {1224975600 10800 0 +03}
- {1238281200 14400 1 +04}
- {1256425200 10800 0 +03}
- {1269730800 14400 1 +04}
- {1288479600 10800 0 +03}
- {1301180400 14400 0 +04}
- {1414274400 10800 0 +03}
- {1459033200 14400 0 +04}
-}
diff --git a/library/tzdata/Europe/Uzhgorod b/library/tzdata/Europe/Uzhgorod
index 2a0f450..f6e580b 100644
--- a/library/tzdata/Europe/Uzhgorod
+++ b/library/tzdata/Europe/Uzhgorod
@@ -1,5 +1,254 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Kyiv)]} {
- LoadTimeZoneFile Europe/Kyiv
+
+set TZData(:Europe/Uzhgorod) {
+ {-9223372036854775808 5352 0 LMT}
+ {-2500939752 3600 0 CET}
+ {-946774800 3600 0 CET}
+ {-938905200 7200 1 CEST}
+ {-857257200 3600 0 CET}
+ {-844556400 7200 1 CEST}
+ {-828226800 3600 0 CET}
+ {-812502000 7200 1 CEST}
+ {-796870800 7200 1 CEST}
+ {-794714400 3600 0 CET}
+ {-773456400 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465346800 10800 0 MSK}
+ {481071600 14400 1 MSD}
+ {496796400 10800 0 MSK}
+ {512521200 14400 1 MSD}
+ {528246000 10800 0 MSK}
+ {543970800 14400 1 MSD}
+ {559695600 10800 0 MSK}
+ {575420400 14400 1 MSD}
+ {591145200 10800 0 MSK}
+ {606870000 14400 1 MSD}
+ {622594800 10800 0 MSK}
+ {631141200 10800 0 MSK}
+ {646786800 3600 0 CET}
+ {670384800 7200 0 EET}
+ {694216800 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {788911200 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
}
-set TZData(:Europe/Uzhgorod) $TZData(:Europe/Kyiv)
diff --git a/library/tzdata/Europe/Vienna b/library/tzdata/Europe/Vienna
index 3fdad03..95283eb 100644
--- a/library/tzdata/Europe/Vienna
+++ b/library/tzdata/Europe/Vienna
@@ -22,7 +22,7 @@ set TZData(:Europe/Vienna) {
{-780188400 3600 0 CET}
{-757386000 3600 0 CET}
{-748479600 7200 1 CEST}
- {-733273200 3600 0 CET}
+ {-733359600 3600 0 CET}
{-717634800 7200 1 CEST}
{-701910000 3600 0 CET}
{-684975600 7200 1 CEST}
diff --git a/library/tzdata/Europe/Vilnius b/library/tzdata/Europe/Vilnius
index 5e73150..62d5d87 100644
--- a/library/tzdata/Europe/Vilnius
+++ b/library/tzdata/Europe/Vilnius
@@ -30,12 +30,11 @@ set TZData(:Europe/Vilnius) {
{559695600 10800 0 MSK}
{575420400 14400 1 MSD}
{591145200 10800 0 MSK}
- {606870000 7200 0 EEMMTT}
- {606873600 10800 1 EEST}
- {622598400 7200 0 EET}
- {638323200 10800 1 EEST}
- {654652800 7200 0 EET}
- {670377600 10800 1 EEST}
+ {606870000 14400 1 MSD}
+ {622594800 10800 0 MSK}
+ {638319600 14400 1 MSD}
+ {654649200 10800 0 MSK}
+ {670374000 10800 1 EEST}
{686102400 7200 0 EET}
{701827200 10800 1 EEST}
{717552000 7200 0 EET}
diff --git a/library/tzdata/Europe/Volgograd b/library/tzdata/Europe/Volgograd
index 00c3cb3..d71fb0b 100644
--- a/library/tzdata/Europe/Volgograd
+++ b/library/tzdata/Europe/Volgograd
@@ -2,34 +2,34 @@
set TZData(:Europe/Volgograd) {
{-9223372036854775808 10660 0 LMT}
- {-1577761060 10800 0 +03}
- {-1247540400 14400 0 +04}
- {-256881600 14400 0 +05}
- {354916800 18000 1 +05}
- {370724400 14400 0 +04}
- {386452800 18000 1 +05}
- {402260400 14400 0 +04}
- {417988800 18000 1 +05}
- {433796400 14400 0 +04}
- {449611200 18000 1 +05}
- {465343200 14400 0 +04}
- {481068000 18000 1 +05}
- {496792800 14400 0 +04}
- {512517600 18000 1 +05}
- {528242400 14400 0 +04}
- {543967200 18000 1 +05}
- {559692000 14400 0 +04}
- {575416800 10800 0 MSD}
- {575420400 14400 1 MSD}
- {591145200 10800 0 MSK}
- {606870000 14400 1 MSD}
- {622594800 10800 0 MSK}
- {638319600 14400 1 MSD}
- {654649200 10800 0 MSK}
- {670374000 14400 0 +04}
- {701820000 10800 0 MSD}
- {701823600 14400 1 MSD}
- {717548400 10800 0 MSK}
+ {-1577761060 10800 0 TSAT}
+ {-1411873200 10800 0 STAT}
+ {-1247540400 14400 0 STAT}
+ {-256881600 14400 0 VOLMMTT}
+ {354916800 18000 1 VOLST}
+ {370724400 14400 0 VOLT}
+ {386452800 18000 1 VOLST}
+ {402260400 14400 0 VOLT}
+ {417988800 18000 1 VOLST}
+ {433796400 14400 0 VOLT}
+ {449611200 18000 1 VOLST}
+ {465343200 14400 0 VOLT}
+ {481068000 18000 1 VOLST}
+ {496792800 14400 0 VOLT}
+ {512517600 18000 1 VOLST}
+ {528242400 14400 0 VOLT}
+ {543967200 18000 1 VOLST}
+ {559692000 14400 0 VOLT}
+ {575416800 18000 1 VOLST}
+ {591141600 14400 0 VOLT}
+ {606866400 10800 0 VOLMMTT}
+ {606870000 14400 1 VOLST}
+ {622594800 10800 0 VOLT}
+ {638319600 14400 1 VOLST}
+ {654649200 10800 0 VOLT}
+ {670374000 14400 0 VOLT}
+ {701820000 14400 0 MSD}
+ {717534000 10800 0 MSK}
{733273200 14400 1 MSD}
{748998000 10800 0 MSK}
{764722800 14400 1 MSD}
@@ -68,6 +68,4 @@ set TZData(:Europe/Volgograd) {
{1288479600 10800 0 MSK}
{1301180400 14400 0 MSK}
{1414274400 10800 0 MSK}
- {1540681200 14400 0 +04}
- {1609020000 10800 0 MSK}
}
diff --git a/library/tzdata/Europe/Zaporozhye b/library/tzdata/Europe/Zaporozhye
index 385d862..01418cd 100644
--- a/library/tzdata/Europe/Zaporozhye
+++ b/library/tzdata/Europe/Zaporozhye
@@ -1,5 +1,252 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Europe/Kyiv)]} {
- LoadTimeZoneFile Europe/Kyiv
+
+set TZData(:Europe/Zaporozhye) {
+ {-9223372036854775808 8440 0 LMT}
+ {-2840149240 8400 0 CUT}
+ {-1441160400 7200 0 EET}
+ {-1247536800 10800 0 MSK}
+ {-894769200 3600 0 CET}
+ {-857257200 3600 0 CET}
+ {-844556400 7200 1 CEST}
+ {-828226800 3600 0 CET}
+ {-826419600 10800 0 MSD}
+ {354920400 14400 1 MSD}
+ {370728000 10800 0 MSK}
+ {386456400 14400 1 MSD}
+ {402264000 10800 0 MSK}
+ {417992400 14400 1 MSD}
+ {433800000 10800 0 MSK}
+ {449614800 14400 1 MSD}
+ {465346800 10800 0 MSK}
+ {481071600 14400 1 MSD}
+ {496796400 10800 0 MSK}
+ {512521200 14400 1 MSD}
+ {528246000 10800 0 MSK}
+ {543970800 14400 1 MSD}
+ {559695600 10800 0 MSK}
+ {575420400 14400 1 MSD}
+ {591145200 10800 0 MSK}
+ {606870000 14400 1 MSD}
+ {622594800 10800 0 MSK}
+ {638319600 14400 1 MSD}
+ {654649200 10800 0 MSK}
+ {670374000 10800 0 EEST}
+ {686091600 7200 0 EET}
+ {701820000 10800 1 EEST}
+ {717541200 7200 0 EET}
+ {733269600 10800 1 EEST}
+ {748990800 7200 0 EET}
+ {764719200 10800 1 EEST}
+ {780440400 7200 0 EET}
+ {788911200 7200 0 EET}
+ {796179600 10800 1 EEST}
+ {811904400 7200 0 EET}
+ {828234000 10800 1 EEST}
+ {846378000 7200 0 EET}
+ {859683600 10800 1 EEST}
+ {877827600 7200 0 EET}
+ {891133200 10800 1 EEST}
+ {909277200 7200 0 EET}
+ {922582800 10800 1 EEST}
+ {941331600 7200 0 EET}
+ {954032400 10800 1 EEST}
+ {972781200 7200 0 EET}
+ {985482000 10800 1 EEST}
+ {1004230800 7200 0 EET}
+ {1017536400 10800 1 EEST}
+ {1035680400 7200 0 EET}
+ {1048986000 10800 1 EEST}
+ {1067130000 7200 0 EET}
+ {1080435600 10800 1 EEST}
+ {1099184400 7200 0 EET}
+ {1111885200 10800 1 EEST}
+ {1130634000 7200 0 EET}
+ {1143334800 10800 1 EEST}
+ {1162083600 7200 0 EET}
+ {1174784400 10800 1 EEST}
+ {1193533200 7200 0 EET}
+ {1206838800 10800 1 EEST}
+ {1224982800 7200 0 EET}
+ {1238288400 10800 1 EEST}
+ {1256432400 7200 0 EET}
+ {1269738000 10800 1 EEST}
+ {1288486800 7200 0 EET}
+ {1301187600 10800 1 EEST}
+ {1319936400 7200 0 EET}
+ {1332637200 10800 1 EEST}
+ {1351386000 7200 0 EET}
+ {1364691600 10800 1 EEST}
+ {1382835600 7200 0 EET}
+ {1396141200 10800 1 EEST}
+ {1414285200 7200 0 EET}
+ {1427590800 10800 1 EEST}
+ {1445734800 7200 0 EET}
+ {1459040400 10800 1 EEST}
+ {1477789200 7200 0 EET}
+ {1490490000 10800 1 EEST}
+ {1509238800 7200 0 EET}
+ {1521939600 10800 1 EEST}
+ {1540688400 7200 0 EET}
+ {1553994000 10800 1 EEST}
+ {1572138000 7200 0 EET}
+ {1585443600 10800 1 EEST}
+ {1603587600 7200 0 EET}
+ {1616893200 10800 1 EEST}
+ {1635642000 7200 0 EET}
+ {1648342800 10800 1 EEST}
+ {1667091600 7200 0 EET}
+ {1679792400 10800 1 EEST}
+ {1698541200 7200 0 EET}
+ {1711846800 10800 1 EEST}
+ {1729990800 7200 0 EET}
+ {1743296400 10800 1 EEST}
+ {1761440400 7200 0 EET}
+ {1774746000 10800 1 EEST}
+ {1792890000 7200 0 EET}
+ {1806195600 10800 1 EEST}
+ {1824944400 7200 0 EET}
+ {1837645200 10800 1 EEST}
+ {1856394000 7200 0 EET}
+ {1869094800 10800 1 EEST}
+ {1887843600 7200 0 EET}
+ {1901149200 10800 1 EEST}
+ {1919293200 7200 0 EET}
+ {1932598800 10800 1 EEST}
+ {1950742800 7200 0 EET}
+ {1964048400 10800 1 EEST}
+ {1982797200 7200 0 EET}
+ {1995498000 10800 1 EEST}
+ {2014246800 7200 0 EET}
+ {2026947600 10800 1 EEST}
+ {2045696400 7200 0 EET}
+ {2058397200 10800 1 EEST}
+ {2077146000 7200 0 EET}
+ {2090451600 10800 1 EEST}
+ {2108595600 7200 0 EET}
+ {2121901200 10800 1 EEST}
+ {2140045200 7200 0 EET}
+ {2153350800 10800 1 EEST}
+ {2172099600 7200 0 EET}
+ {2184800400 10800 1 EEST}
+ {2203549200 7200 0 EET}
+ {2216250000 10800 1 EEST}
+ {2234998800 7200 0 EET}
+ {2248304400 10800 1 EEST}
+ {2266448400 7200 0 EET}
+ {2279754000 10800 1 EEST}
+ {2297898000 7200 0 EET}
+ {2311203600 10800 1 EEST}
+ {2329347600 7200 0 EET}
+ {2342653200 10800 1 EEST}
+ {2361402000 7200 0 EET}
+ {2374102800 10800 1 EEST}
+ {2392851600 7200 0 EET}
+ {2405552400 10800 1 EEST}
+ {2424301200 7200 0 EET}
+ {2437606800 10800 1 EEST}
+ {2455750800 7200 0 EET}
+ {2469056400 10800 1 EEST}
+ {2487200400 7200 0 EET}
+ {2500506000 10800 1 EEST}
+ {2519254800 7200 0 EET}
+ {2531955600 10800 1 EEST}
+ {2550704400 7200 0 EET}
+ {2563405200 10800 1 EEST}
+ {2582154000 7200 0 EET}
+ {2595459600 10800 1 EEST}
+ {2613603600 7200 0 EET}
+ {2626909200 10800 1 EEST}
+ {2645053200 7200 0 EET}
+ {2658358800 10800 1 EEST}
+ {2676502800 7200 0 EET}
+ {2689808400 10800 1 EEST}
+ {2708557200 7200 0 EET}
+ {2721258000 10800 1 EEST}
+ {2740006800 7200 0 EET}
+ {2752707600 10800 1 EEST}
+ {2771456400 7200 0 EET}
+ {2784762000 10800 1 EEST}
+ {2802906000 7200 0 EET}
+ {2816211600 10800 1 EEST}
+ {2834355600 7200 0 EET}
+ {2847661200 10800 1 EEST}
+ {2866410000 7200 0 EET}
+ {2879110800 10800 1 EEST}
+ {2897859600 7200 0 EET}
+ {2910560400 10800 1 EEST}
+ {2929309200 7200 0 EET}
+ {2942010000 10800 1 EEST}
+ {2960758800 7200 0 EET}
+ {2974064400 10800 1 EEST}
+ {2992208400 7200 0 EET}
+ {3005514000 10800 1 EEST}
+ {3023658000 7200 0 EET}
+ {3036963600 10800 1 EEST}
+ {3055712400 7200 0 EET}
+ {3068413200 10800 1 EEST}
+ {3087162000 7200 0 EET}
+ {3099862800 10800 1 EEST}
+ {3118611600 7200 0 EET}
+ {3131917200 10800 1 EEST}
+ {3150061200 7200 0 EET}
+ {3163366800 10800 1 EEST}
+ {3181510800 7200 0 EET}
+ {3194816400 10800 1 EEST}
+ {3212960400 7200 0 EET}
+ {3226266000 10800 1 EEST}
+ {3245014800 7200 0 EET}
+ {3257715600 10800 1 EEST}
+ {3276464400 7200 0 EET}
+ {3289165200 10800 1 EEST}
+ {3307914000 7200 0 EET}
+ {3321219600 10800 1 EEST}
+ {3339363600 7200 0 EET}
+ {3352669200 10800 1 EEST}
+ {3370813200 7200 0 EET}
+ {3384118800 10800 1 EEST}
+ {3402867600 7200 0 EET}
+ {3415568400 10800 1 EEST}
+ {3434317200 7200 0 EET}
+ {3447018000 10800 1 EEST}
+ {3465766800 7200 0 EET}
+ {3479072400 10800 1 EEST}
+ {3497216400 7200 0 EET}
+ {3510522000 10800 1 EEST}
+ {3528666000 7200 0 EET}
+ {3541971600 10800 1 EEST}
+ {3560115600 7200 0 EET}
+ {3573421200 10800 1 EEST}
+ {3592170000 7200 0 EET}
+ {3604870800 10800 1 EEST}
+ {3623619600 7200 0 EET}
+ {3636320400 10800 1 EEST}
+ {3655069200 7200 0 EET}
+ {3668374800 10800 1 EEST}
+ {3686518800 7200 0 EET}
+ {3699824400 10800 1 EEST}
+ {3717968400 7200 0 EET}
+ {3731274000 10800 1 EEST}
+ {3750022800 7200 0 EET}
+ {3762723600 10800 1 EEST}
+ {3781472400 7200 0 EET}
+ {3794173200 10800 1 EEST}
+ {3812922000 7200 0 EET}
+ {3825622800 10800 1 EEST}
+ {3844371600 7200 0 EET}
+ {3857677200 10800 1 EEST}
+ {3875821200 7200 0 EET}
+ {3889126800 10800 1 EEST}
+ {3907270800 7200 0 EET}
+ {3920576400 10800 1 EEST}
+ {3939325200 7200 0 EET}
+ {3952026000 10800 1 EEST}
+ {3970774800 7200 0 EET}
+ {3983475600 10800 1 EEST}
+ {4002224400 7200 0 EET}
+ {4015530000 10800 1 EEST}
+ {4033674000 7200 0 EET}
+ {4046979600 10800 1 EEST}
+ {4065123600 7200 0 EET}
+ {4078429200 10800 1 EEST}
+ {4096573200 7200 0 EET}
}
-set TZData(:Europe/Zaporozhye) $TZData(:Europe/Kyiv)
diff --git a/library/tzdata/Iceland b/library/tzdata/Iceland
index 3e7cd0c..eb3f3eb 100644
--- a/library/tzdata/Iceland
+++ b/library/tzdata/Iceland
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Africa/Abidjan)]} {
- LoadTimeZoneFile Africa/Abidjan
+if {![info exists TZData(Atlantic/Reykjavik)]} {
+ LoadTimeZoneFile Atlantic/Reykjavik
}
-set TZData(:Iceland) $TZData(:Africa/Abidjan)
+set TZData(:Iceland) $TZData(:Atlantic/Reykjavik)
diff --git a/library/tzdata/Indian/Chagos b/library/tzdata/Indian/Chagos
index 23ea790..a5cec61 100644
--- a/library/tzdata/Indian/Chagos
+++ b/library/tzdata/Indian/Chagos
@@ -2,6 +2,6 @@
set TZData(:Indian/Chagos) {
{-9223372036854775808 17380 0 LMT}
- {-1988167780 18000 0 +05}
- {820436400 21600 0 +06}
+ {-1988167780 18000 0 IOT}
+ {820436400 21600 0 IOT}
}
diff --git a/library/tzdata/Indian/Christmas b/library/tzdata/Indian/Christmas
index dea9f90..c36e973 100644
--- a/library/tzdata/Indian/Christmas
+++ b/library/tzdata/Indian/Christmas
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Asia/Bangkok)]} {
- LoadTimeZoneFile Asia/Bangkok
+
+set TZData(:Indian/Christmas) {
+ {-9223372036854775808 25372 0 LMT}
+ {-2364102172 25200 0 CXT}
}
-set TZData(:Indian/Christmas) $TZData(:Asia/Bangkok)
diff --git a/library/tzdata/Indian/Cocos b/library/tzdata/Indian/Cocos
index cb474c9..a63ae68 100644
--- a/library/tzdata/Indian/Cocos
+++ b/library/tzdata/Indian/Cocos
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Asia/Yangon)]} {
- LoadTimeZoneFile Asia/Yangon
+
+set TZData(:Indian/Cocos) {
+ {-9223372036854775808 23260 0 LMT}
+ {-2209012060 23400 0 CCT}
}
-set TZData(:Indian/Cocos) $TZData(:Asia/Yangon)
diff --git a/library/tzdata/Indian/Kerguelen b/library/tzdata/Indian/Kerguelen
index b3cbeee..b41b85a 100644
--- a/library/tzdata/Indian/Kerguelen
+++ b/library/tzdata/Indian/Kerguelen
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Indian/Maldives)]} {
- LoadTimeZoneFile Indian/Maldives
+
+set TZData(:Indian/Kerguelen) {
+ {-9223372036854775808 0 0 zzz}
+ {-631152000 18000 0 TFT}
}
-set TZData(:Indian/Kerguelen) $TZData(:Indian/Maldives)
diff --git a/library/tzdata/Indian/Mahe b/library/tzdata/Indian/Mahe
index 3c728d2..c88a24b 100644
--- a/library/tzdata/Indian/Mahe
+++ b/library/tzdata/Indian/Mahe
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Asia/Dubai)]} {
- LoadTimeZoneFile Asia/Dubai
+
+set TZData(:Indian/Mahe) {
+ {-9223372036854775808 13308 0 LMT}
+ {-2006653308 14400 0 SCT}
}
-set TZData(:Indian/Mahe) $TZData(:Asia/Dubai)
diff --git a/library/tzdata/Indian/Maldives b/library/tzdata/Indian/Maldives
index b23bf2b..2c2c739 100644
--- a/library/tzdata/Indian/Maldives
+++ b/library/tzdata/Indian/Maldives
@@ -3,5 +3,5 @@
set TZData(:Indian/Maldives) {
{-9223372036854775808 17640 0 LMT}
{-2840158440 17640 0 MMT}
- {-315636840 18000 0 +05}
+ {-315636840 18000 0 MVT}
}
diff --git a/library/tzdata/Indian/Mauritius b/library/tzdata/Indian/Mauritius
index 4c9a051..a9c07eb 100644
--- a/library/tzdata/Indian/Mauritius
+++ b/library/tzdata/Indian/Mauritius
@@ -2,9 +2,9 @@
set TZData(:Indian/Mauritius) {
{-9223372036854775808 13800 0 LMT}
- {-1988164200 14400 0 +04}
- {403041600 18000 1 +04}
- {417034800 14400 0 +04}
- {1224972000 18000 1 +04}
- {1238274000 14400 0 +04}
+ {-1988164200 14400 0 MUT}
+ {403041600 18000 1 MUST}
+ {417034800 14400 0 MUT}
+ {1224972000 18000 1 MUST}
+ {1238274000 14400 0 MUT}
}
diff --git a/library/tzdata/Indian/Reunion b/library/tzdata/Indian/Reunion
index 14f2320..de2dd60 100644
--- a/library/tzdata/Indian/Reunion
+++ b/library/tzdata/Indian/Reunion
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Asia/Dubai)]} {
- LoadTimeZoneFile Asia/Dubai
+
+set TZData(:Indian/Reunion) {
+ {-9223372036854775808 13312 0 LMT}
+ {-1848886912 14400 0 RET}
}
-set TZData(:Indian/Reunion) $TZData(:Asia/Dubai)
diff --git a/library/tzdata/Pacific/Apia b/library/tzdata/Pacific/Apia
index 783a71b..21d6669 100644
--- a/library/tzdata/Pacific/Apia
+++ b/library/tzdata/Pacific/Apia
@@ -2,30 +2,187 @@
set TZData(:Pacific/Apia) {
{-9223372036854775808 45184 0 LMT}
- {-2445424384 -41216 0 LMT}
- {-1861878784 -41400 0 -1130}
- {-631110600 -39600 0 -11}
- {1285498800 -36000 1 -11}
- {1301752800 -39600 0 -11}
- {1316872800 -36000 1 -11}
- {1325239200 50400 0 +13}
- {1333202400 46800 0 +13}
- {1348927200 50400 1 +13}
- {1365256800 46800 0 +13}
- {1380376800 50400 1 +13}
- {1396706400 46800 0 +13}
- {1411826400 50400 1 +13}
- {1428156000 46800 0 +13}
- {1443276000 50400 1 +13}
- {1459605600 46800 0 +13}
- {1474725600 50400 1 +13}
- {1491055200 46800 0 +13}
- {1506175200 50400 1 +13}
- {1522504800 46800 0 +13}
- {1538229600 50400 1 +13}
- {1554559200 46800 0 +13}
- {1569679200 50400 1 +13}
- {1586008800 46800 0 +13}
- {1601128800 50400 1 +13}
- {1617458400 46800 0 +13}
+ {-2855737984 -41216 0 LMT}
+ {-1861878784 -41400 0 WSST}
+ {-631110600 -39600 0 SST}
+ {1285498800 -36000 1 SDT}
+ {1301752800 -39600 0 SST}
+ {1316872800 -36000 1 SDT}
+ {1325239200 50400 0 WSDT}
+ {1333202400 46800 0 WSST}
+ {1348927200 50400 1 WSDT}
+ {1365256800 46800 0 WSST}
+ {1380376800 50400 1 WSDT}
+ {1396706400 46800 0 WSST}
+ {1411826400 50400 1 WSDT}
+ {1428156000 46800 0 WSST}
+ {1443276000 50400 1 WSDT}
+ {1459605600 46800 0 WSST}
+ {1474725600 50400 1 WSDT}
+ {1491055200 46800 0 WSST}
+ {1506175200 50400 1 WSDT}
+ {1522504800 46800 0 WSST}
+ {1538229600 50400 1 WSDT}
+ {1554559200 46800 0 WSST}
+ {1569679200 50400 1 WSDT}
+ {1586008800 46800 0 WSST}
+ {1601128800 50400 1 WSDT}
+ {1617458400 46800 0 WSST}
+ {1632578400 50400 1 WSDT}
+ {1648908000 46800 0 WSST}
+ {1664028000 50400 1 WSDT}
+ {1680357600 46800 0 WSST}
+ {1695477600 50400 1 WSDT}
+ {1712412000 46800 0 WSST}
+ {1727532000 50400 1 WSDT}
+ {1743861600 46800 0 WSST}
+ {1758981600 50400 1 WSDT}
+ {1775311200 46800 0 WSST}
+ {1790431200 50400 1 WSDT}
+ {1806760800 46800 0 WSST}
+ {1821880800 50400 1 WSDT}
+ {1838210400 46800 0 WSST}
+ {1853330400 50400 1 WSDT}
+ {1869660000 46800 0 WSST}
+ {1885384800 50400 1 WSDT}
+ {1901714400 46800 0 WSST}
+ {1916834400 50400 1 WSDT}
+ {1933164000 46800 0 WSST}
+ {1948284000 50400 1 WSDT}
+ {1964613600 46800 0 WSST}
+ {1979733600 50400 1 WSDT}
+ {1996063200 46800 0 WSST}
+ {2011183200 50400 1 WSDT}
+ {2027512800 46800 0 WSST}
+ {2042632800 50400 1 WSDT}
+ {2058962400 46800 0 WSST}
+ {2074687200 50400 1 WSDT}
+ {2091016800 46800 0 WSST}
+ {2106136800 50400 1 WSDT}
+ {2122466400 46800 0 WSST}
+ {2137586400 50400 1 WSDT}
+ {2153916000 46800 0 WSST}
+ {2169036000 50400 1 WSDT}
+ {2185365600 46800 0 WSST}
+ {2200485600 50400 1 WSDT}
+ {2216815200 46800 0 WSST}
+ {2232540000 50400 1 WSDT}
+ {2248869600 46800 0 WSST}
+ {2263989600 50400 1 WSDT}
+ {2280319200 46800 0 WSST}
+ {2295439200 50400 1 WSDT}
+ {2311768800 46800 0 WSST}
+ {2326888800 50400 1 WSDT}
+ {2343218400 46800 0 WSST}
+ {2358338400 50400 1 WSDT}
+ {2374668000 46800 0 WSST}
+ {2389788000 50400 1 WSDT}
+ {2406117600 46800 0 WSST}
+ {2421842400 50400 1 WSDT}
+ {2438172000 46800 0 WSST}
+ {2453292000 50400 1 WSDT}
+ {2469621600 46800 0 WSST}
+ {2484741600 50400 1 WSDT}
+ {2501071200 46800 0 WSST}
+ {2516191200 50400 1 WSDT}
+ {2532520800 46800 0 WSST}
+ {2547640800 50400 1 WSDT}
+ {2563970400 46800 0 WSST}
+ {2579090400 50400 1 WSDT}
+ {2596024800 46800 0 WSST}
+ {2611144800 50400 1 WSDT}
+ {2627474400 46800 0 WSST}
+ {2642594400 50400 1 WSDT}
+ {2658924000 46800 0 WSST}
+ {2674044000 50400 1 WSDT}
+ {2690373600 46800 0 WSST}
+ {2705493600 50400 1 WSDT}
+ {2721823200 46800 0 WSST}
+ {2736943200 50400 1 WSDT}
+ {2753272800 46800 0 WSST}
+ {2768997600 50400 1 WSDT}
+ {2785327200 46800 0 WSST}
+ {2800447200 50400 1 WSDT}
+ {2816776800 46800 0 WSST}
+ {2831896800 50400 1 WSDT}
+ {2848226400 46800 0 WSST}
+ {2863346400 50400 1 WSDT}
+ {2879676000 46800 0 WSST}
+ {2894796000 50400 1 WSDT}
+ {2911125600 46800 0 WSST}
+ {2926245600 50400 1 WSDT}
+ {2942575200 46800 0 WSST}
+ {2958300000 50400 1 WSDT}
+ {2974629600 46800 0 WSST}
+ {2989749600 50400 1 WSDT}
+ {3006079200 46800 0 WSST}
+ {3021199200 50400 1 WSDT}
+ {3037528800 46800 0 WSST}
+ {3052648800 50400 1 WSDT}
+ {3068978400 46800 0 WSST}
+ {3084098400 50400 1 WSDT}
+ {3100428000 46800 0 WSST}
+ {3116152800 50400 1 WSDT}
+ {3132482400 46800 0 WSST}
+ {3147602400 50400 1 WSDT}
+ {3163932000 46800 0 WSST}
+ {3179052000 50400 1 WSDT}
+ {3195381600 46800 0 WSST}
+ {3210501600 50400 1 WSDT}
+ {3226831200 46800 0 WSST}
+ {3241951200 50400 1 WSDT}
+ {3258280800 46800 0 WSST}
+ {3273400800 50400 1 WSDT}
+ {3289730400 46800 0 WSST}
+ {3305455200 50400 1 WSDT}
+ {3321784800 46800 0 WSST}
+ {3336904800 50400 1 WSDT}
+ {3353234400 46800 0 WSST}
+ {3368354400 50400 1 WSDT}
+ {3384684000 46800 0 WSST}
+ {3399804000 50400 1 WSDT}
+ {3416133600 46800 0 WSST}
+ {3431253600 50400 1 WSDT}
+ {3447583200 46800 0 WSST}
+ {3462703200 50400 1 WSDT}
+ {3479637600 46800 0 WSST}
+ {3494757600 50400 1 WSDT}
+ {3511087200 46800 0 WSST}
+ {3526207200 50400 1 WSDT}
+ {3542536800 46800 0 WSST}
+ {3557656800 50400 1 WSDT}
+ {3573986400 46800 0 WSST}
+ {3589106400 50400 1 WSDT}
+ {3605436000 46800 0 WSST}
+ {3620556000 50400 1 WSDT}
+ {3636885600 46800 0 WSST}
+ {3652610400 50400 1 WSDT}
+ {3668940000 46800 0 WSST}
+ {3684060000 50400 1 WSDT}
+ {3700389600 46800 0 WSST}
+ {3715509600 50400 1 WSDT}
+ {3731839200 46800 0 WSST}
+ {3746959200 50400 1 WSDT}
+ {3763288800 46800 0 WSST}
+ {3778408800 50400 1 WSDT}
+ {3794738400 46800 0 WSST}
+ {3809858400 50400 1 WSDT}
+ {3826188000 46800 0 WSST}
+ {3841912800 50400 1 WSDT}
+ {3858242400 46800 0 WSST}
+ {3873362400 50400 1 WSDT}
+ {3889692000 46800 0 WSST}
+ {3904812000 50400 1 WSDT}
+ {3921141600 46800 0 WSST}
+ {3936261600 50400 1 WSDT}
+ {3952591200 46800 0 WSST}
+ {3967711200 50400 1 WSDT}
+ {3984040800 46800 0 WSST}
+ {3999765600 50400 1 WSDT}
+ {4016095200 46800 0 WSST}
+ {4031215200 50400 1 WSDT}
+ {4047544800 46800 0 WSST}
+ {4062664800 50400 1 WSDT}
+ {4078994400 46800 0 WSST}
+ {4094114400 50400 1 WSDT}
}
diff --git a/library/tzdata/Pacific/Bougainville b/library/tzdata/Pacific/Bougainville
index 3c00b29..06996f9 100644
--- a/library/tzdata/Pacific/Bougainville
+++ b/library/tzdata/Pacific/Bougainville
@@ -3,8 +3,8 @@
set TZData(:Pacific/Bougainville) {
{-9223372036854775808 37336 0 LMT}
{-2840178136 35312 0 PMMT}
- {-2366790512 36000 0 +10}
- {-868010400 32400 0 +09}
- {-768906000 36000 0 +10}
- {1419696000 39600 0 +11}
+ {-2366790512 36000 0 PGT}
+ {-868010400 32400 0 JST}
+ {-768906000 36000 0 PGT}
+ {1419696000 39600 0 BST}
}
diff --git a/library/tzdata/Pacific/Chatham b/library/tzdata/Pacific/Chatham
index 6c1ab19..94a5512 100644
--- a/library/tzdata/Pacific/Chatham
+++ b/library/tzdata/Pacific/Chatham
@@ -2,257 +2,257 @@
set TZData(:Pacific/Chatham) {
{-9223372036854775808 44028 0 LMT}
- {-3192437628 44100 0 +1215}
- {-757426500 45900 0 +1245}
- {152632800 49500 1 +1245}
- {162309600 45900 0 +1245}
- {183477600 49500 1 +1245}
- {194968800 45900 0 +1245}
- {215532000 49500 1 +1245}
- {226418400 45900 0 +1245}
- {246981600 49500 1 +1245}
- {257868000 45900 0 +1245}
- {278431200 49500 1 +1245}
- {289317600 45900 0 +1245}
- {309880800 49500 1 +1245}
- {320767200 45900 0 +1245}
- {341330400 49500 1 +1245}
- {352216800 45900 0 +1245}
- {372780000 49500 1 +1245}
- {384271200 45900 0 +1245}
- {404834400 49500 1 +1245}
- {415720800 45900 0 +1245}
- {436284000 49500 1 +1245}
- {447170400 45900 0 +1245}
- {467733600 49500 1 +1245}
- {478620000 45900 0 +1245}
- {499183200 49500 1 +1245}
- {510069600 45900 0 +1245}
- {530632800 49500 1 +1245}
- {541519200 45900 0 +1245}
- {562082400 49500 1 +1245}
- {573573600 45900 0 +1245}
- {594136800 49500 1 +1245}
- {605023200 45900 0 +1245}
- {623772000 49500 1 +1245}
- {637682400 45900 0 +1245}
- {655221600 49500 1 +1245}
- {669132000 45900 0 +1245}
- {686671200 49500 1 +1245}
- {700581600 45900 0 +1245}
- {718120800 49500 1 +1245}
- {732636000 45900 0 +1245}
- {749570400 49500 1 +1245}
- {764085600 45900 0 +1245}
- {781020000 49500 1 +1245}
- {795535200 45900 0 +1245}
- {812469600 49500 1 +1245}
- {826984800 45900 0 +1245}
- {844524000 49500 1 +1245}
- {858434400 45900 0 +1245}
- {875973600 49500 1 +1245}
- {889884000 45900 0 +1245}
- {907423200 49500 1 +1245}
- {921938400 45900 0 +1245}
- {938872800 49500 1 +1245}
- {953388000 45900 0 +1245}
- {970322400 49500 1 +1245}
- {984837600 45900 0 +1245}
- {1002376800 49500 1 +1245}
- {1016287200 45900 0 +1245}
- {1033826400 49500 1 +1245}
- {1047736800 45900 0 +1245}
- {1065276000 49500 1 +1245}
- {1079791200 45900 0 +1245}
- {1096725600 49500 1 +1245}
- {1111240800 45900 0 +1245}
- {1128175200 49500 1 +1245}
- {1142690400 45900 0 +1245}
- {1159624800 49500 1 +1245}
- {1174140000 45900 0 +1245}
- {1191074400 49500 1 +1245}
- {1207404000 45900 0 +1245}
- {1222524000 49500 1 +1245}
- {1238853600 45900 0 +1245}
- {1253973600 49500 1 +1245}
- {1270303200 45900 0 +1245}
- {1285423200 49500 1 +1245}
- {1301752800 45900 0 +1245}
- {1316872800 49500 1 +1245}
- {1333202400 45900 0 +1245}
- {1348927200 49500 1 +1245}
- {1365256800 45900 0 +1245}
- {1380376800 49500 1 +1245}
- {1396706400 45900 0 +1245}
- {1411826400 49500 1 +1245}
- {1428156000 45900 0 +1245}
- {1443276000 49500 1 +1245}
- {1459605600 45900 0 +1245}
- {1474725600 49500 1 +1245}
- {1491055200 45900 0 +1245}
- {1506175200 49500 1 +1245}
- {1522504800 45900 0 +1245}
- {1538229600 49500 1 +1245}
- {1554559200 45900 0 +1245}
- {1569679200 49500 1 +1245}
- {1586008800 45900 0 +1245}
- {1601128800 49500 1 +1245}
- {1617458400 45900 0 +1245}
- {1632578400 49500 1 +1245}
- {1648908000 45900 0 +1245}
- {1664028000 49500 1 +1245}
- {1680357600 45900 0 +1245}
- {1695477600 49500 1 +1245}
- {1712412000 45900 0 +1245}
- {1727532000 49500 1 +1245}
- {1743861600 45900 0 +1245}
- {1758981600 49500 1 +1245}
- {1775311200 45900 0 +1245}
- {1790431200 49500 1 +1245}
- {1806760800 45900 0 +1245}
- {1821880800 49500 1 +1245}
- {1838210400 45900 0 +1245}
- {1853330400 49500 1 +1245}
- {1869660000 45900 0 +1245}
- {1885384800 49500 1 +1245}
- {1901714400 45900 0 +1245}
- {1916834400 49500 1 +1245}
- {1933164000 45900 0 +1245}
- {1948284000 49500 1 +1245}
- {1964613600 45900 0 +1245}
- {1979733600 49500 1 +1245}
- {1996063200 45900 0 +1245}
- {2011183200 49500 1 +1245}
- {2027512800 45900 0 +1245}
- {2042632800 49500 1 +1245}
- {2058962400 45900 0 +1245}
- {2074687200 49500 1 +1245}
- {2091016800 45900 0 +1245}
- {2106136800 49500 1 +1245}
- {2122466400 45900 0 +1245}
- {2137586400 49500 1 +1245}
- {2153916000 45900 0 +1245}
- {2169036000 49500 1 +1245}
- {2185365600 45900 0 +1245}
- {2200485600 49500 1 +1245}
- {2216815200 45900 0 +1245}
- {2232540000 49500 1 +1245}
- {2248869600 45900 0 +1245}
- {2263989600 49500 1 +1245}
- {2280319200 45900 0 +1245}
- {2295439200 49500 1 +1245}
- {2311768800 45900 0 +1245}
- {2326888800 49500 1 +1245}
- {2343218400 45900 0 +1245}
- {2358338400 49500 1 +1245}
- {2374668000 45900 0 +1245}
- {2389788000 49500 1 +1245}
- {2406117600 45900 0 +1245}
- {2421842400 49500 1 +1245}
- {2438172000 45900 0 +1245}
- {2453292000 49500 1 +1245}
- {2469621600 45900 0 +1245}
- {2484741600 49500 1 +1245}
- {2501071200 45900 0 +1245}
- {2516191200 49500 1 +1245}
- {2532520800 45900 0 +1245}
- {2547640800 49500 1 +1245}
- {2563970400 45900 0 +1245}
- {2579090400 49500 1 +1245}
- {2596024800 45900 0 +1245}
- {2611144800 49500 1 +1245}
- {2627474400 45900 0 +1245}
- {2642594400 49500 1 +1245}
- {2658924000 45900 0 +1245}
- {2674044000 49500 1 +1245}
- {2690373600 45900 0 +1245}
- {2705493600 49500 1 +1245}
- {2721823200 45900 0 +1245}
- {2736943200 49500 1 +1245}
- {2753272800 45900 0 +1245}
- {2768997600 49500 1 +1245}
- {2785327200 45900 0 +1245}
- {2800447200 49500 1 +1245}
- {2816776800 45900 0 +1245}
- {2831896800 49500 1 +1245}
- {2848226400 45900 0 +1245}
- {2863346400 49500 1 +1245}
- {2879676000 45900 0 +1245}
- {2894796000 49500 1 +1245}
- {2911125600 45900 0 +1245}
- {2926245600 49500 1 +1245}
- {2942575200 45900 0 +1245}
- {2958300000 49500 1 +1245}
- {2974629600 45900 0 +1245}
- {2989749600 49500 1 +1245}
- {3006079200 45900 0 +1245}
- {3021199200 49500 1 +1245}
- {3037528800 45900 0 +1245}
- {3052648800 49500 1 +1245}
- {3068978400 45900 0 +1245}
- {3084098400 49500 1 +1245}
- {3100428000 45900 0 +1245}
- {3116152800 49500 1 +1245}
- {3132482400 45900 0 +1245}
- {3147602400 49500 1 +1245}
- {3163932000 45900 0 +1245}
- {3179052000 49500 1 +1245}
- {3195381600 45900 0 +1245}
- {3210501600 49500 1 +1245}
- {3226831200 45900 0 +1245}
- {3241951200 49500 1 +1245}
- {3258280800 45900 0 +1245}
- {3273400800 49500 1 +1245}
- {3289730400 45900 0 +1245}
- {3305455200 49500 1 +1245}
- {3321784800 45900 0 +1245}
- {3336904800 49500 1 +1245}
- {3353234400 45900 0 +1245}
- {3368354400 49500 1 +1245}
- {3384684000 45900 0 +1245}
- {3399804000 49500 1 +1245}
- {3416133600 45900 0 +1245}
- {3431253600 49500 1 +1245}
- {3447583200 45900 0 +1245}
- {3462703200 49500 1 +1245}
- {3479637600 45900 0 +1245}
- {3494757600 49500 1 +1245}
- {3511087200 45900 0 +1245}
- {3526207200 49500 1 +1245}
- {3542536800 45900 0 +1245}
- {3557656800 49500 1 +1245}
- {3573986400 45900 0 +1245}
- {3589106400 49500 1 +1245}
- {3605436000 45900 0 +1245}
- {3620556000 49500 1 +1245}
- {3636885600 45900 0 +1245}
- {3652610400 49500 1 +1245}
- {3668940000 45900 0 +1245}
- {3684060000 49500 1 +1245}
- {3700389600 45900 0 +1245}
- {3715509600 49500 1 +1245}
- {3731839200 45900 0 +1245}
- {3746959200 49500 1 +1245}
- {3763288800 45900 0 +1245}
- {3778408800 49500 1 +1245}
- {3794738400 45900 0 +1245}
- {3809858400 49500 1 +1245}
- {3826188000 45900 0 +1245}
- {3841912800 49500 1 +1245}
- {3858242400 45900 0 +1245}
- {3873362400 49500 1 +1245}
- {3889692000 45900 0 +1245}
- {3904812000 49500 1 +1245}
- {3921141600 45900 0 +1245}
- {3936261600 49500 1 +1245}
- {3952591200 45900 0 +1245}
- {3967711200 49500 1 +1245}
- {3984040800 45900 0 +1245}
- {3999765600 49500 1 +1245}
- {4016095200 45900 0 +1245}
- {4031215200 49500 1 +1245}
- {4047544800 45900 0 +1245}
- {4062664800 49500 1 +1245}
- {4078994400 45900 0 +1245}
- {4094114400 49500 1 +1245}
+ {-3192437628 44100 0 CHAST}
+ {-757426500 45900 0 CHAST}
+ {152632800 49500 1 CHADT}
+ {162309600 45900 0 CHAST}
+ {183477600 49500 1 CHADT}
+ {194968800 45900 0 CHAST}
+ {215532000 49500 1 CHADT}
+ {226418400 45900 0 CHAST}
+ {246981600 49500 1 CHADT}
+ {257868000 45900 0 CHAST}
+ {278431200 49500 1 CHADT}
+ {289317600 45900 0 CHAST}
+ {309880800 49500 1 CHADT}
+ {320767200 45900 0 CHAST}
+ {341330400 49500 1 CHADT}
+ {352216800 45900 0 CHAST}
+ {372780000 49500 1 CHADT}
+ {384271200 45900 0 CHAST}
+ {404834400 49500 1 CHADT}
+ {415720800 45900 0 CHAST}
+ {436284000 49500 1 CHADT}
+ {447170400 45900 0 CHAST}
+ {467733600 49500 1 CHADT}
+ {478620000 45900 0 CHAST}
+ {499183200 49500 1 CHADT}
+ {510069600 45900 0 CHAST}
+ {530632800 49500 1 CHADT}
+ {541519200 45900 0 CHAST}
+ {562082400 49500 1 CHADT}
+ {573573600 45900 0 CHAST}
+ {594136800 49500 1 CHADT}
+ {605023200 45900 0 CHAST}
+ {623772000 49500 1 CHADT}
+ {637682400 45900 0 CHAST}
+ {655221600 49500 1 CHADT}
+ {669132000 45900 0 CHAST}
+ {686671200 49500 1 CHADT}
+ {700581600 45900 0 CHAST}
+ {718120800 49500 1 CHADT}
+ {732636000 45900 0 CHAST}
+ {749570400 49500 1 CHADT}
+ {764085600 45900 0 CHAST}
+ {781020000 49500 1 CHADT}
+ {795535200 45900 0 CHAST}
+ {812469600 49500 1 CHADT}
+ {826984800 45900 0 CHAST}
+ {844524000 49500 1 CHADT}
+ {858434400 45900 0 CHAST}
+ {875973600 49500 1 CHADT}
+ {889884000 45900 0 CHAST}
+ {907423200 49500 1 CHADT}
+ {921938400 45900 0 CHAST}
+ {938872800 49500 1 CHADT}
+ {953388000 45900 0 CHAST}
+ {970322400 49500 1 CHADT}
+ {984837600 45900 0 CHAST}
+ {1002376800 49500 1 CHADT}
+ {1016287200 45900 0 CHAST}
+ {1033826400 49500 1 CHADT}
+ {1047736800 45900 0 CHAST}
+ {1065276000 49500 1 CHADT}
+ {1079791200 45900 0 CHAST}
+ {1096725600 49500 1 CHADT}
+ {1111240800 45900 0 CHAST}
+ {1128175200 49500 1 CHADT}
+ {1142690400 45900 0 CHAST}
+ {1159624800 49500 1 CHADT}
+ {1174140000 45900 0 CHAST}
+ {1191074400 49500 1 CHADT}
+ {1207404000 45900 0 CHAST}
+ {1222524000 49500 1 CHADT}
+ {1238853600 45900 0 CHAST}
+ {1253973600 49500 1 CHADT}
+ {1270303200 45900 0 CHAST}
+ {1285423200 49500 1 CHADT}
+ {1301752800 45900 0 CHAST}
+ {1316872800 49500 1 CHADT}
+ {1333202400 45900 0 CHAST}
+ {1348927200 49500 1 CHADT}
+ {1365256800 45900 0 CHAST}
+ {1380376800 49500 1 CHADT}
+ {1396706400 45900 0 CHAST}
+ {1411826400 49500 1 CHADT}
+ {1428156000 45900 0 CHAST}
+ {1443276000 49500 1 CHADT}
+ {1459605600 45900 0 CHAST}
+ {1474725600 49500 1 CHADT}
+ {1491055200 45900 0 CHAST}
+ {1506175200 49500 1 CHADT}
+ {1522504800 45900 0 CHAST}
+ {1538229600 49500 1 CHADT}
+ {1554559200 45900 0 CHAST}
+ {1569679200 49500 1 CHADT}
+ {1586008800 45900 0 CHAST}
+ {1601128800 49500 1 CHADT}
+ {1617458400 45900 0 CHAST}
+ {1632578400 49500 1 CHADT}
+ {1648908000 45900 0 CHAST}
+ {1664028000 49500 1 CHADT}
+ {1680357600 45900 0 CHAST}
+ {1695477600 49500 1 CHADT}
+ {1712412000 45900 0 CHAST}
+ {1727532000 49500 1 CHADT}
+ {1743861600 45900 0 CHAST}
+ {1758981600 49500 1 CHADT}
+ {1775311200 45900 0 CHAST}
+ {1790431200 49500 1 CHADT}
+ {1806760800 45900 0 CHAST}
+ {1821880800 49500 1 CHADT}
+ {1838210400 45900 0 CHAST}
+ {1853330400 49500 1 CHADT}
+ {1869660000 45900 0 CHAST}
+ {1885384800 49500 1 CHADT}
+ {1901714400 45900 0 CHAST}
+ {1916834400 49500 1 CHADT}
+ {1933164000 45900 0 CHAST}
+ {1948284000 49500 1 CHADT}
+ {1964613600 45900 0 CHAST}
+ {1979733600 49500 1 CHADT}
+ {1996063200 45900 0 CHAST}
+ {2011183200 49500 1 CHADT}
+ {2027512800 45900 0 CHAST}
+ {2042632800 49500 1 CHADT}
+ {2058962400 45900 0 CHAST}
+ {2074687200 49500 1 CHADT}
+ {2091016800 45900 0 CHAST}
+ {2106136800 49500 1 CHADT}
+ {2122466400 45900 0 CHAST}
+ {2137586400 49500 1 CHADT}
+ {2153916000 45900 0 CHAST}
+ {2169036000 49500 1 CHADT}
+ {2185365600 45900 0 CHAST}
+ {2200485600 49500 1 CHADT}
+ {2216815200 45900 0 CHAST}
+ {2232540000 49500 1 CHADT}
+ {2248869600 45900 0 CHAST}
+ {2263989600 49500 1 CHADT}
+ {2280319200 45900 0 CHAST}
+ {2295439200 49500 1 CHADT}
+ {2311768800 45900 0 CHAST}
+ {2326888800 49500 1 CHADT}
+ {2343218400 45900 0 CHAST}
+ {2358338400 49500 1 CHADT}
+ {2374668000 45900 0 CHAST}
+ {2389788000 49500 1 CHADT}
+ {2406117600 45900 0 CHAST}
+ {2421842400 49500 1 CHADT}
+ {2438172000 45900 0 CHAST}
+ {2453292000 49500 1 CHADT}
+ {2469621600 45900 0 CHAST}
+ {2484741600 49500 1 CHADT}
+ {2501071200 45900 0 CHAST}
+ {2516191200 49500 1 CHADT}
+ {2532520800 45900 0 CHAST}
+ {2547640800 49500 1 CHADT}
+ {2563970400 45900 0 CHAST}
+ {2579090400 49500 1 CHADT}
+ {2596024800 45900 0 CHAST}
+ {2611144800 49500 1 CHADT}
+ {2627474400 45900 0 CHAST}
+ {2642594400 49500 1 CHADT}
+ {2658924000 45900 0 CHAST}
+ {2674044000 49500 1 CHADT}
+ {2690373600 45900 0 CHAST}
+ {2705493600 49500 1 CHADT}
+ {2721823200 45900 0 CHAST}
+ {2736943200 49500 1 CHADT}
+ {2753272800 45900 0 CHAST}
+ {2768997600 49500 1 CHADT}
+ {2785327200 45900 0 CHAST}
+ {2800447200 49500 1 CHADT}
+ {2816776800 45900 0 CHAST}
+ {2831896800 49500 1 CHADT}
+ {2848226400 45900 0 CHAST}
+ {2863346400 49500 1 CHADT}
+ {2879676000 45900 0 CHAST}
+ {2894796000 49500 1 CHADT}
+ {2911125600 45900 0 CHAST}
+ {2926245600 49500 1 CHADT}
+ {2942575200 45900 0 CHAST}
+ {2958300000 49500 1 CHADT}
+ {2974629600 45900 0 CHAST}
+ {2989749600 49500 1 CHADT}
+ {3006079200 45900 0 CHAST}
+ {3021199200 49500 1 CHADT}
+ {3037528800 45900 0 CHAST}
+ {3052648800 49500 1 CHADT}
+ {3068978400 45900 0 CHAST}
+ {3084098400 49500 1 CHADT}
+ {3100428000 45900 0 CHAST}
+ {3116152800 49500 1 CHADT}
+ {3132482400 45900 0 CHAST}
+ {3147602400 49500 1 CHADT}
+ {3163932000 45900 0 CHAST}
+ {3179052000 49500 1 CHADT}
+ {3195381600 45900 0 CHAST}
+ {3210501600 49500 1 CHADT}
+ {3226831200 45900 0 CHAST}
+ {3241951200 49500 1 CHADT}
+ {3258280800 45900 0 CHAST}
+ {3273400800 49500 1 CHADT}
+ {3289730400 45900 0 CHAST}
+ {3305455200 49500 1 CHADT}
+ {3321784800 45900 0 CHAST}
+ {3336904800 49500 1 CHADT}
+ {3353234400 45900 0 CHAST}
+ {3368354400 49500 1 CHADT}
+ {3384684000 45900 0 CHAST}
+ {3399804000 49500 1 CHADT}
+ {3416133600 45900 0 CHAST}
+ {3431253600 49500 1 CHADT}
+ {3447583200 45900 0 CHAST}
+ {3462703200 49500 1 CHADT}
+ {3479637600 45900 0 CHAST}
+ {3494757600 49500 1 CHADT}
+ {3511087200 45900 0 CHAST}
+ {3526207200 49500 1 CHADT}
+ {3542536800 45900 0 CHAST}
+ {3557656800 49500 1 CHADT}
+ {3573986400 45900 0 CHAST}
+ {3589106400 49500 1 CHADT}
+ {3605436000 45900 0 CHAST}
+ {3620556000 49500 1 CHADT}
+ {3636885600 45900 0 CHAST}
+ {3652610400 49500 1 CHADT}
+ {3668940000 45900 0 CHAST}
+ {3684060000 49500 1 CHADT}
+ {3700389600 45900 0 CHAST}
+ {3715509600 49500 1 CHADT}
+ {3731839200 45900 0 CHAST}
+ {3746959200 49500 1 CHADT}
+ {3763288800 45900 0 CHAST}
+ {3778408800 49500 1 CHADT}
+ {3794738400 45900 0 CHAST}
+ {3809858400 49500 1 CHADT}
+ {3826188000 45900 0 CHAST}
+ {3841912800 49500 1 CHADT}
+ {3858242400 45900 0 CHAST}
+ {3873362400 49500 1 CHADT}
+ {3889692000 45900 0 CHAST}
+ {3904812000 49500 1 CHADT}
+ {3921141600 45900 0 CHAST}
+ {3936261600 49500 1 CHADT}
+ {3952591200 45900 0 CHAST}
+ {3967711200 49500 1 CHADT}
+ {3984040800 45900 0 CHAST}
+ {3999765600 49500 1 CHADT}
+ {4016095200 45900 0 CHAST}
+ {4031215200 49500 1 CHADT}
+ {4047544800 45900 0 CHAST}
+ {4062664800 49500 1 CHADT}
+ {4078994400 45900 0 CHAST}
+ {4094114400 49500 1 CHADT}
}
diff --git a/library/tzdata/Pacific/Chuuk b/library/tzdata/Pacific/Chuuk
index 5e2960c..70b14b2 100644
--- a/library/tzdata/Pacific/Chuuk
+++ b/library/tzdata/Pacific/Chuuk
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Port_Moresby)]} {
- LoadTimeZoneFile Pacific/Port_Moresby
+
+set TZData(:Pacific/Chuuk) {
+ {-9223372036854775808 36428 0 LMT}
+ {-2177489228 36000 0 CHUT}
}
-set TZData(:Pacific/Chuuk) $TZData(:Pacific/Port_Moresby)
diff --git a/library/tzdata/Pacific/Easter b/library/tzdata/Pacific/Easter
index 97e1f4f..4b45ba2 100644
--- a/library/tzdata/Pacific/Easter
+++ b/library/tzdata/Pacific/Easter
@@ -3,266 +3,99 @@
set TZData(:Pacific/Easter) {
{-9223372036854775808 -26248 0 LMT}
{-2524495352 -26248 0 EMT}
- {-1178124152 -25200 0 -07}
- {-36619200 -21600 1 -07}
- {-23922000 -25200 0 -07}
- {-3355200 -21600 1 -07}
- {7527600 -25200 0 -07}
- {24465600 -21600 1 -07}
- {37767600 -25200 0 -07}
- {55915200 -21600 1 -07}
- {69217200 -25200 0 -07}
- {87969600 -21600 1 -07}
- {100666800 -25200 0 -07}
- {118209600 -21600 1 -07}
- {132116400 -25200 0 -07}
- {150868800 -21600 1 -07}
- {163566000 -25200 0 -07}
- {182318400 -21600 1 -07}
- {195620400 -25200 0 -07}
- {213768000 -21600 1 -07}
- {227070000 -25200 0 -07}
- {245217600 -21600 1 -07}
- {258519600 -25200 0 -07}
- {277272000 -21600 1 -07}
- {289969200 -25200 0 -07}
- {308721600 -21600 1 -07}
- {321418800 -25200 0 -07}
- {340171200 -21600 1 -07}
- {353473200 -25200 0 -07}
- {371620800 -21600 1 -07}
- {384922800 -21600 0 -06}
- {403070400 -18000 1 -06}
- {416372400 -21600 0 -06}
- {434520000 -18000 1 -06}
- {447822000 -21600 0 -06}
- {466574400 -18000 1 -06}
- {479271600 -21600 0 -06}
- {498024000 -18000 1 -06}
- {510721200 -21600 0 -06}
- {529473600 -18000 1 -06}
- {545194800 -21600 0 -06}
- {560923200 -18000 1 -06}
- {574225200 -21600 0 -06}
- {592372800 -18000 1 -06}
- {605674800 -21600 0 -06}
- {624427200 -18000 1 -06}
- {637124400 -21600 0 -06}
- {653457600 -18000 1 -06}
- {668574000 -21600 0 -06}
- {687326400 -18000 1 -06}
- {700628400 -21600 0 -06}
- {718776000 -18000 1 -06}
- {732078000 -21600 0 -06}
- {750225600 -18000 1 -06}
- {763527600 -21600 0 -06}
- {781675200 -18000 1 -06}
- {794977200 -21600 0 -06}
- {813729600 -18000 1 -06}
- {826426800 -21600 0 -06}
- {845179200 -18000 1 -06}
- {859690800 -21600 0 -06}
- {876628800 -18000 1 -06}
- {889930800 -21600 0 -06}
- {906868800 -18000 1 -06}
- {923194800 -21600 0 -06}
- {939528000 -18000 1 -06}
- {952830000 -21600 0 -06}
- {971582400 -18000 1 -06}
- {984279600 -21600 0 -06}
- {1003032000 -18000 1 -06}
- {1015729200 -21600 0 -06}
- {1034481600 -18000 1 -06}
- {1047178800 -21600 0 -06}
- {1065931200 -18000 1 -06}
- {1079233200 -21600 0 -06}
- {1097380800 -18000 1 -06}
- {1110682800 -21600 0 -06}
- {1128830400 -18000 1 -06}
- {1142132400 -21600 0 -06}
- {1160884800 -18000 1 -06}
- {1173582000 -21600 0 -06}
- {1192334400 -18000 1 -06}
- {1206846000 -21600 0 -06}
- {1223784000 -18000 1 -06}
- {1237086000 -21600 0 -06}
- {1255233600 -18000 1 -06}
- {1270350000 -21600 0 -06}
- {1286683200 -18000 1 -06}
- {1304823600 -21600 0 -06}
- {1313899200 -18000 1 -06}
- {1335668400 -21600 0 -06}
- {1346558400 -18000 1 -06}
- {1367118000 -21600 0 -06}
- {1378612800 -18000 1 -06}
- {1398567600 -21600 0 -06}
- {1410062400 -18000 1 -06}
- {1463281200 -21600 0 -06}
- {1471147200 -18000 1 -06}
- {1494730800 -21600 0 -06}
- {1502596800 -18000 1 -06}
- {1526180400 -21600 0 -06}
- {1534046400 -18000 1 -06}
- {1554606000 -21600 0 -06}
- {1567915200 -18000 1 -06}
- {1586055600 -21600 0 -06}
- {1599364800 -18000 1 -06}
- {1617505200 -21600 0 -06}
- {1630814400 -18000 1 -06}
- {1648954800 -21600 0 -06}
- {1662868800 -18000 1 -06}
- {1680404400 -21600 0 -06}
- {1693713600 -18000 1 -06}
- {1712458800 -21600 0 -06}
- {1725768000 -18000 1 -06}
- {1743908400 -21600 0 -06}
- {1757217600 -18000 1 -06}
- {1775358000 -21600 0 -06}
- {1788667200 -18000 1 -06}
- {1806807600 -21600 0 -06}
- {1820116800 -18000 1 -06}
- {1838257200 -21600 0 -06}
- {1851566400 -18000 1 -06}
- {1870311600 -21600 0 -06}
- {1883016000 -18000 1 -06}
- {1901761200 -21600 0 -06}
- {1915070400 -18000 1 -06}
- {1933210800 -21600 0 -06}
- {1946520000 -18000 1 -06}
- {1964660400 -21600 0 -06}
- {1977969600 -18000 1 -06}
- {1996110000 -21600 0 -06}
- {2009419200 -18000 1 -06}
- {2027559600 -21600 0 -06}
- {2040868800 -18000 1 -06}
- {2059614000 -21600 0 -06}
- {2072318400 -18000 1 -06}
- {2091063600 -21600 0 -06}
- {2104372800 -18000 1 -06}
- {2122513200 -21600 0 -06}
- {2135822400 -18000 1 -06}
- {2153962800 -21600 0 -06}
- {2167272000 -18000 1 -06}
- {2185412400 -21600 0 -06}
- {2198721600 -18000 1 -06}
- {2217466800 -21600 0 -06}
- {2230171200 -18000 1 -06}
- {2248916400 -21600 0 -06}
- {2262225600 -18000 1 -06}
- {2280366000 -21600 0 -06}
- {2293675200 -18000 1 -06}
- {2311815600 -21600 0 -06}
- {2325124800 -18000 1 -06}
- {2343265200 -21600 0 -06}
- {2356574400 -18000 1 -06}
- {2374714800 -21600 0 -06}
- {2388024000 -18000 1 -06}
- {2406769200 -21600 0 -06}
- {2419473600 -18000 1 -06}
- {2438218800 -21600 0 -06}
- {2451528000 -18000 1 -06}
- {2469668400 -21600 0 -06}
- {2482977600 -18000 1 -06}
- {2501118000 -21600 0 -06}
- {2514427200 -18000 1 -06}
- {2532567600 -21600 0 -06}
- {2545876800 -18000 1 -06}
- {2564017200 -21600 0 -06}
- {2577326400 -18000 1 -06}
- {2596071600 -21600 0 -06}
- {2609380800 -18000 1 -06}
- {2627521200 -21600 0 -06}
- {2640830400 -18000 1 -06}
- {2658970800 -21600 0 -06}
- {2672280000 -18000 1 -06}
- {2690420400 -21600 0 -06}
- {2703729600 -18000 1 -06}
- {2721870000 -21600 0 -06}
- {2735179200 -18000 1 -06}
- {2753924400 -21600 0 -06}
- {2766628800 -18000 1 -06}
- {2785374000 -21600 0 -06}
- {2798683200 -18000 1 -06}
- {2816823600 -21600 0 -06}
- {2830132800 -18000 1 -06}
- {2848273200 -21600 0 -06}
- {2861582400 -18000 1 -06}
- {2879722800 -21600 0 -06}
- {2893032000 -18000 1 -06}
- {2911172400 -21600 0 -06}
- {2924481600 -18000 1 -06}
- {2943226800 -21600 0 -06}
- {2955931200 -18000 1 -06}
- {2974676400 -21600 0 -06}
- {2987985600 -18000 1 -06}
- {3006126000 -21600 0 -06}
- {3019435200 -18000 1 -06}
- {3037575600 -21600 0 -06}
- {3050884800 -18000 1 -06}
- {3069025200 -21600 0 -06}
- {3082334400 -18000 1 -06}
- {3101079600 -21600 0 -06}
- {3113784000 -18000 1 -06}
- {3132529200 -21600 0 -06}
- {3145838400 -18000 1 -06}
- {3163978800 -21600 0 -06}
- {3177288000 -18000 1 -06}
- {3195428400 -21600 0 -06}
- {3208737600 -18000 1 -06}
- {3226878000 -21600 0 -06}
- {3240187200 -18000 1 -06}
- {3258327600 -21600 0 -06}
- {3271636800 -18000 1 -06}
- {3290382000 -21600 0 -06}
- {3303086400 -18000 1 -06}
- {3321831600 -21600 0 -06}
- {3335140800 -18000 1 -06}
- {3353281200 -21600 0 -06}
- {3366590400 -18000 1 -06}
- {3384730800 -21600 0 -06}
- {3398040000 -18000 1 -06}
- {3416180400 -21600 0 -06}
- {3429489600 -18000 1 -06}
- {3447630000 -21600 0 -06}
- {3460939200 -18000 1 -06}
- {3479684400 -21600 0 -06}
- {3492993600 -18000 1 -06}
- {3511134000 -21600 0 -06}
- {3524443200 -18000 1 -06}
- {3542583600 -21600 0 -06}
- {3555892800 -18000 1 -06}
- {3574033200 -21600 0 -06}
- {3587342400 -18000 1 -06}
- {3605482800 -21600 0 -06}
- {3618792000 -18000 1 -06}
- {3637537200 -21600 0 -06}
- {3650241600 -18000 1 -06}
- {3668986800 -21600 0 -06}
- {3682296000 -18000 1 -06}
- {3700436400 -21600 0 -06}
- {3713745600 -18000 1 -06}
- {3731886000 -21600 0 -06}
- {3745195200 -18000 1 -06}
- {3763335600 -21600 0 -06}
- {3776644800 -18000 1 -06}
- {3794785200 -21600 0 -06}
- {3808094400 -18000 1 -06}
- {3826839600 -21600 0 -06}
- {3839544000 -18000 1 -06}
- {3858289200 -21600 0 -06}
- {3871598400 -18000 1 -06}
- {3889738800 -21600 0 -06}
- {3903048000 -18000 1 -06}
- {3921188400 -21600 0 -06}
- {3934497600 -18000 1 -06}
- {3952638000 -21600 0 -06}
- {3965947200 -18000 1 -06}
- {3984692400 -21600 0 -06}
- {3997396800 -18000 1 -06}
- {4016142000 -21600 0 -06}
- {4029451200 -18000 1 -06}
- {4047591600 -21600 0 -06}
- {4060900800 -18000 1 -06}
- {4079041200 -21600 0 -06}
- {4092350400 -18000 1 -06}
+ {-1178124152 -25200 0 EAST}
+ {-36619200 -21600 1 EASST}
+ {-23922000 -25200 0 EAST}
+ {-3355200 -21600 1 EASST}
+ {7527600 -25200 0 EAST}
+ {24465600 -21600 1 EASST}
+ {37767600 -25200 0 EAST}
+ {55915200 -21600 1 EASST}
+ {69217200 -25200 0 EAST}
+ {87969600 -21600 1 EASST}
+ {100666800 -25200 0 EAST}
+ {118209600 -21600 1 EASST}
+ {132116400 -25200 0 EAST}
+ {150868800 -21600 1 EASST}
+ {163566000 -25200 0 EAST}
+ {182318400 -21600 1 EASST}
+ {195620400 -25200 0 EAST}
+ {213768000 -21600 1 EASST}
+ {227070000 -25200 0 EAST}
+ {245217600 -21600 1 EASST}
+ {258519600 -25200 0 EAST}
+ {277272000 -21600 1 EASST}
+ {289969200 -25200 0 EAST}
+ {308721600 -21600 1 EASST}
+ {321418800 -25200 0 EAST}
+ {340171200 -21600 1 EASST}
+ {353473200 -25200 0 EAST}
+ {371620800 -21600 1 EASST}
+ {384922800 -21600 0 EAST}
+ {403070400 -18000 1 EASST}
+ {416372400 -21600 0 EAST}
+ {434520000 -18000 1 EASST}
+ {447822000 -21600 0 EAST}
+ {466574400 -18000 1 EASST}
+ {479271600 -21600 0 EAST}
+ {498024000 -18000 1 EASST}
+ {510721200 -21600 0 EAST}
+ {529473600 -18000 1 EASST}
+ {545194800 -21600 0 EAST}
+ {560923200 -18000 1 EASST}
+ {574225200 -21600 0 EAST}
+ {592372800 -18000 1 EASST}
+ {605674800 -21600 0 EAST}
+ {624427200 -18000 1 EASST}
+ {637124400 -21600 0 EAST}
+ {653457600 -18000 1 EASST}
+ {668574000 -21600 0 EAST}
+ {687326400 -18000 1 EASST}
+ {700628400 -21600 0 EAST}
+ {718776000 -18000 1 EASST}
+ {732078000 -21600 0 EAST}
+ {750225600 -18000 1 EASST}
+ {763527600 -21600 0 EAST}
+ {781675200 -18000 1 EASST}
+ {794977200 -21600 0 EAST}
+ {813729600 -18000 1 EASST}
+ {826426800 -21600 0 EAST}
+ {845179200 -18000 1 EASST}
+ {859690800 -21600 0 EAST}
+ {876628800 -18000 1 EASST}
+ {889930800 -21600 0 EAST}
+ {906868800 -18000 1 EASST}
+ {923194800 -21600 0 EAST}
+ {939528000 -18000 1 EASST}
+ {952830000 -21600 0 EAST}
+ {971582400 -18000 1 EASST}
+ {984279600 -21600 0 EAST}
+ {1003032000 -18000 1 EASST}
+ {1015729200 -21600 0 EAST}
+ {1034481600 -18000 1 EASST}
+ {1047178800 -21600 0 EAST}
+ {1065931200 -18000 1 EASST}
+ {1079233200 -21600 0 EAST}
+ {1097380800 -18000 1 EASST}
+ {1110682800 -21600 0 EAST}
+ {1128830400 -18000 1 EASST}
+ {1142132400 -21600 0 EAST}
+ {1160884800 -18000 1 EASST}
+ {1173582000 -21600 0 EAST}
+ {1192334400 -18000 1 EASST}
+ {1206846000 -21600 0 EAST}
+ {1223784000 -18000 1 EASST}
+ {1237086000 -21600 0 EAST}
+ {1255233600 -18000 1 EASST}
+ {1270350000 -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 -18000 0 EAST}
}
diff --git a/library/tzdata/Pacific/Efate b/library/tzdata/Pacific/Efate
index 5a22546..18db6de 100644
--- a/library/tzdata/Pacific/Efate
+++ b/library/tzdata/Pacific/Efate
@@ -2,27 +2,25 @@
set TZData(:Pacific/Efate) {
{-9223372036854775808 40396 0 LMT}
- {-1829387596 39600 0 +11}
- {125409600 43200 1 +11}
- {133876800 39600 0 +11}
- {433256400 43200 1 +11}
- {448977600 39600 0 +11}
- {464706000 43200 1 +11}
- {480427200 39600 0 +11}
- {496760400 43200 1 +11}
- {511876800 39600 0 +11}
- {528210000 43200 1 +11}
- {543931200 39600 0 +11}
- {559659600 43200 1 +11}
- {575380800 39600 0 +11}
- {591109200 43200 1 +11}
- {606830400 39600 0 +11}
- {622558800 43200 1 +11}
- {638280000 39600 0 +11}
- {654008400 43200 1 +11}
- {669729600 39600 0 +11}
- {686062800 43200 1 +11}
- {696340800 39600 0 +11}
- {719931600 43200 1 +11}
- {727790400 39600 0 +11}
+ {-1829387596 39600 0 VUT}
+ {433256400 43200 1 VUST}
+ {448977600 39600 0 VUT}
+ {467298000 43200 1 VUST}
+ {480427200 39600 0 VUT}
+ {496760400 43200 1 VUST}
+ {511876800 39600 0 VUT}
+ {528210000 43200 1 VUST}
+ {543931200 39600 0 VUT}
+ {559659600 43200 1 VUST}
+ {575380800 39600 0 VUT}
+ {591109200 43200 1 VUST}
+ {606830400 39600 0 VUT}
+ {622558800 43200 1 VUST}
+ {638280000 39600 0 VUT}
+ {654008400 43200 1 VUST}
+ {669729600 39600 0 VUT}
+ {686062800 43200 1 VUST}
+ {696340800 39600 0 VUT}
+ {719931600 43200 1 VUST}
+ {727790400 39600 0 VUT}
}
diff --git a/library/tzdata/Pacific/Enderbury b/library/tzdata/Pacific/Enderbury
index 5c4c6d7..55784c4 100644
--- a/library/tzdata/Pacific/Enderbury
+++ b/library/tzdata/Pacific/Enderbury
@@ -1,5 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Kanton)]} {
- LoadTimeZoneFile Pacific/Kanton
+
+set TZData(:Pacific/Enderbury) {
+ {-9223372036854775808 -41060 0 LMT}
+ {-2177411740 -43200 0 PHOT}
+ {307627200 -39600 0 PHOT}
+ {788958000 46800 0 PHOT}
}
-set TZData(:Pacific/Enderbury) $TZData(:Pacific/Kanton)
diff --git a/library/tzdata/Pacific/Fakaofo b/library/tzdata/Pacific/Fakaofo
index d75030d..6ec98eb 100644
--- a/library/tzdata/Pacific/Fakaofo
+++ b/library/tzdata/Pacific/Fakaofo
@@ -2,6 +2,6 @@
set TZData(:Pacific/Fakaofo) {
{-9223372036854775808 -41096 0 LMT}
- {-2177411704 -39600 0 -11}
- {1325242800 46800 0 +13}
+ {-2177411704 -39600 0 TKT}
+ {1325242800 46800 0 TKT}
}
diff --git a/library/tzdata/Pacific/Fiji b/library/tzdata/Pacific/Fiji
index c1d748b..8f8b12f 100644
--- a/library/tzdata/Pacific/Fiji
+++ b/library/tzdata/Pacific/Fiji
@@ -2,33 +2,190 @@
set TZData(:Pacific/Fiji) {
{-9223372036854775808 42944 0 LMT}
- {-1709985344 43200 0 +12}
- {909842400 46800 1 +12}
- {920124000 43200 0 +12}
- {941896800 46800 1 +12}
- {951573600 43200 0 +12}
- {1259416800 46800 1 +12}
- {1269698400 43200 0 +12}
- {1287842400 46800 1 +12}
- {1299333600 43200 0 +12}
- {1319292000 46800 1 +12}
- {1327154400 43200 0 +12}
- {1350741600 46800 1 +12}
- {1358604000 43200 0 +12}
- {1382796000 46800 1 +12}
- {1390050000 43200 0 +12}
- {1414850400 46800 1 +12}
- {1421503200 43200 0 +12}
- {1446300000 46800 1 +12}
- {1452952800 43200 0 +12}
- {1478354400 46800 1 +12}
- {1484402400 43200 0 +12}
- {1509804000 46800 1 +12}
- {1515852000 43200 0 +12}
- {1541253600 46800 1 +12}
- {1547301600 43200 0 +12}
- {1573308000 46800 1 +12}
- {1578751200 43200 0 +12}
- {1608386400 46800 1 +12}
- {1610805600 43200 0 +12}
+ {-1709985344 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}
+ {1382796000 46800 1 FJST}
+ {1390050000 43200 0 FJT}
+ {1414850400 46800 1 FJST}
+ {1421503200 43200 0 FJT}
+ {1446300000 46800 1 FJST}
+ {1452952800 43200 0 FJT}
+ {1478354400 46800 1 FJST}
+ {1484402400 43200 0 FJT}
+ {1509804000 46800 1 FJST}
+ {1516456800 43200 0 FJT}
+ {1541253600 46800 1 FJST}
+ {1547906400 43200 0 FJT}
+ {1572703200 46800 1 FJST}
+ {1579356000 43200 0 FJT}
+ {1604152800 46800 1 FJST}
+ {1610805600 43200 0 FJT}
+ {1636207200 46800 1 FJST}
+ {1642255200 43200 0 FJT}
+ {1667656800 46800 1 FJST}
+ {1673704800 43200 0 FJT}
+ {1699106400 46800 1 FJST}
+ {1705759200 43200 0 FJT}
+ {1730556000 46800 1 FJST}
+ {1737208800 43200 0 FJT}
+ {1762005600 46800 1 FJST}
+ {1768658400 43200 0 FJT}
+ {1793455200 46800 1 FJST}
+ {1800108000 43200 0 FJT}
+ {1825509600 46800 1 FJST}
+ {1831557600 43200 0 FJT}
+ {1856959200 46800 1 FJST}
+ {1863612000 43200 0 FJT}
+ {1888408800 46800 1 FJST}
+ {1895061600 43200 0 FJT}
+ {1919858400 46800 1 FJST}
+ {1926511200 43200 0 FJT}
+ {1951308000 46800 1 FJST}
+ {1957960800 43200 0 FJT}
+ {1983362400 46800 1 FJST}
+ {1989410400 43200 0 FJT}
+ {2014812000 46800 1 FJST}
+ {2020860000 43200 0 FJT}
+ {2046261600 46800 1 FJST}
+ {2052914400 43200 0 FJT}
+ {2077711200 46800 1 FJST}
+ {2084364000 43200 0 FJT}
+ {2109160800 46800 1 FJST}
+ {2115813600 43200 0 FJT}
+ {2140610400 46800 1 FJST}
+ {2147263200 43200 0 FJT}
+ {2172664800 46800 1 FJST}
+ {2178712800 43200 0 FJT}
+ {2204114400 46800 1 FJST}
+ {2210162400 43200 0 FJT}
+ {2235564000 46800 1 FJST}
+ {2242216800 43200 0 FJT}
+ {2267013600 46800 1 FJST}
+ {2273666400 43200 0 FJT}
+ {2298463200 46800 1 FJST}
+ {2305116000 43200 0 FJT}
+ {2329912800 46800 1 FJST}
+ {2336565600 43200 0 FJT}
+ {2361967200 46800 1 FJST}
+ {2368015200 43200 0 FJT}
+ {2393416800 46800 1 FJST}
+ {2400069600 43200 0 FJT}
+ {2424866400 46800 1 FJST}
+ {2431519200 43200 0 FJT}
+ {2456316000 46800 1 FJST}
+ {2462968800 43200 0 FJT}
+ {2487765600 46800 1 FJST}
+ {2494418400 43200 0 FJT}
+ {2519820000 46800 1 FJST}
+ {2525868000 43200 0 FJT}
+ {2551269600 46800 1 FJST}
+ {2557317600 43200 0 FJT}
+ {2582719200 46800 1 FJST}
+ {2589372000 43200 0 FJT}
+ {2614168800 46800 1 FJST}
+ {2620821600 43200 0 FJT}
+ {2645618400 46800 1 FJST}
+ {2652271200 43200 0 FJT}
+ {2677068000 46800 1 FJST}
+ {2683720800 43200 0 FJT}
+ {2709122400 46800 1 FJST}
+ {2715170400 43200 0 FJT}
+ {2740572000 46800 1 FJST}
+ {2747224800 43200 0 FJT}
+ {2772021600 46800 1 FJST}
+ {2778674400 43200 0 FJT}
+ {2803471200 46800 1 FJST}
+ {2810124000 43200 0 FJT}
+ {2834920800 46800 1 FJST}
+ {2841573600 43200 0 FJT}
+ {2866975200 46800 1 FJST}
+ {2873023200 43200 0 FJT}
+ {2898424800 46800 1 FJST}
+ {2904472800 43200 0 FJT}
+ {2929874400 46800 1 FJST}
+ {2936527200 43200 0 FJT}
+ {2961324000 46800 1 FJST}
+ {2967976800 43200 0 FJT}
+ {2992773600 46800 1 FJST}
+ {2999426400 43200 0 FJT}
+ {3024223200 46800 1 FJST}
+ {3030876000 43200 0 FJT}
+ {3056277600 46800 1 FJST}
+ {3062325600 43200 0 FJT}
+ {3087727200 46800 1 FJST}
+ {3093775200 43200 0 FJT}
+ {3119176800 46800 1 FJST}
+ {3125829600 43200 0 FJT}
+ {3150626400 46800 1 FJST}
+ {3157279200 43200 0 FJT}
+ {3182076000 46800 1 FJST}
+ {3188728800 43200 0 FJT}
+ {3213525600 46800 1 FJST}
+ {3220178400 43200 0 FJT}
+ {3245580000 46800 1 FJST}
+ {3251628000 43200 0 FJT}
+ {3277029600 46800 1 FJST}
+ {3283682400 43200 0 FJT}
+ {3308479200 46800 1 FJST}
+ {3315132000 43200 0 FJT}
+ {3339928800 46800 1 FJST}
+ {3346581600 43200 0 FJT}
+ {3371378400 46800 1 FJST}
+ {3378031200 43200 0 FJT}
+ {3403432800 46800 1 FJST}
+ {3409480800 43200 0 FJT}
+ {3434882400 46800 1 FJST}
+ {3440930400 43200 0 FJT}
+ {3466332000 46800 1 FJST}
+ {3472984800 43200 0 FJT}
+ {3497781600 46800 1 FJST}
+ {3504434400 43200 0 FJT}
+ {3529231200 46800 1 FJST}
+ {3535884000 43200 0 FJT}
+ {3560680800 46800 1 FJST}
+ {3567333600 43200 0 FJT}
+ {3592735200 46800 1 FJST}
+ {3598783200 43200 0 FJT}
+ {3624184800 46800 1 FJST}
+ {3630837600 43200 0 FJT}
+ {3655634400 46800 1 FJST}
+ {3662287200 43200 0 FJT}
+ {3687084000 46800 1 FJST}
+ {3693736800 43200 0 FJT}
+ {3718533600 46800 1 FJST}
+ {3725186400 43200 0 FJT}
+ {3750588000 46800 1 FJST}
+ {3756636000 43200 0 FJT}
+ {3782037600 46800 1 FJST}
+ {3788085600 43200 0 FJT}
+ {3813487200 46800 1 FJST}
+ {3820140000 43200 0 FJT}
+ {3844936800 46800 1 FJST}
+ {3851589600 43200 0 FJT}
+ {3876386400 46800 1 FJST}
+ {3883039200 43200 0 FJT}
+ {3907836000 46800 1 FJST}
+ {3914488800 43200 0 FJT}
+ {3939890400 46800 1 FJST}
+ {3945938400 43200 0 FJT}
+ {3971340000 46800 1 FJST}
+ {3977388000 43200 0 FJT}
+ {4002789600 46800 1 FJST}
+ {4009442400 43200 0 FJT}
+ {4034239200 46800 1 FJST}
+ {4040892000 43200 0 FJT}
+ {4065688800 46800 1 FJST}
+ {4072341600 43200 0 FJT}
+ {4097138400 46800 1 FJST}
}
diff --git a/library/tzdata/Pacific/Funafuti b/library/tzdata/Pacific/Funafuti
index d932469..b94e4fb 100644
--- a/library/tzdata/Pacific/Funafuti
+++ b/library/tzdata/Pacific/Funafuti
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Tarawa)]} {
- LoadTimeZoneFile Pacific/Tarawa
+
+set TZData(:Pacific/Funafuti) {
+ {-9223372036854775808 43012 0 LMT}
+ {-2177495812 43200 0 TVT}
}
-set TZData(:Pacific/Funafuti) $TZData(:Pacific/Tarawa)
diff --git a/library/tzdata/Pacific/Galapagos b/library/tzdata/Pacific/Galapagos
index 180ce6a..d8c80e8 100644
--- a/library/tzdata/Pacific/Galapagos
+++ b/library/tzdata/Pacific/Galapagos
@@ -2,8 +2,6 @@
set TZData(:Pacific/Galapagos) {
{-9223372036854775808 -21504 0 LMT}
- {-1230746496 -18000 0 -05}
- {504939600 -21600 0 -06}
- {722930400 -18000 1 -06}
- {728888400 -21600 0 -06}
+ {-1230746496 -18000 0 ECT}
+ {504939600 -21600 0 GALT}
}
diff --git a/library/tzdata/Pacific/Gambier b/library/tzdata/Pacific/Gambier
index 9ebd97c..d69f99a 100644
--- a/library/tzdata/Pacific/Gambier
+++ b/library/tzdata/Pacific/Gambier
@@ -2,5 +2,5 @@
set TZData(:Pacific/Gambier) {
{-9223372036854775808 -32388 0 LMT}
- {-1806678012 -32400 0 -09}
+ {-1806678012 -32400 0 GAMT}
}
diff --git a/library/tzdata/Pacific/Guadalcanal b/library/tzdata/Pacific/Guadalcanal
index 7e13e6e..09a67dd 100644
--- a/library/tzdata/Pacific/Guadalcanal
+++ b/library/tzdata/Pacific/Guadalcanal
@@ -2,5 +2,5 @@
set TZData(:Pacific/Guadalcanal) {
{-9223372036854775808 38388 0 LMT}
- {-1806748788 39600 0 +11}
+ {-1806748788 39600 0 SBT}
}
diff --git a/library/tzdata/Pacific/Guam b/library/tzdata/Pacific/Guam
index 612aef3..79cca80 100644
--- a/library/tzdata/Pacific/Guam
+++ b/library/tzdata/Pacific/Guam
@@ -4,23 +4,5 @@ set TZData(:Pacific/Guam) {
{-9223372036854775808 -51660 0 LMT}
{-3944626740 34740 0 LMT}
{-2177487540 36000 0 GST}
- {-885549600 32400 0 +09}
- {-802256400 36000 0 GST}
- {-331891200 39600 1 GDT}
- {-281610000 36000 0 GST}
- {-73728000 39600 1 GDT}
- {-29415540 36000 0 GST}
- {-16704000 39600 1 GDT}
- {-10659600 36000 0 GST}
- {9907200 39600 1 GDT}
- {21394800 36000 0 GST}
- {41356800 39600 1 GDT}
- {52844400 36000 0 GST}
- {124819200 39600 1 GDT}
- {130863600 36000 0 GST}
- {201888000 39600 1 GDT}
- {209487660 36000 0 GST}
- {230659200 39600 1 GDT}
- {241542000 36000 0 GST}
{977493600 36000 0 ChST}
}
diff --git a/library/tzdata/Pacific/Honolulu b/library/tzdata/Pacific/Honolulu
index 7d03b45..5e70598 100644
--- a/library/tzdata/Pacific/Honolulu
+++ b/library/tzdata/Pacific/Honolulu
@@ -4,9 +4,8 @@ set TZData(:Pacific/Honolulu) {
{-9223372036854775808 -37886 0 LMT}
{-2334101314 -37800 0 HST}
{-1157283000 -34200 1 HDT}
- {-1155436200 -34200 0 HST}
- {-880201800 -34200 1 HWT}
- {-769395600 -34200 1 HPT}
+ {-1155436200 -37800 0 HST}
+ {-880198200 -34200 1 HDT}
{-765376200 -37800 0 HST}
{-712150200 -36000 0 HST}
}
diff --git a/library/tzdata/Pacific/Kanton b/library/tzdata/Pacific/Kanton
deleted file mode 100644
index 061c2b5..0000000
--- a/library/tzdata/Pacific/Kanton
+++ /dev/null
@@ -1,8 +0,0 @@
-# created by tools/tclZIC.tcl - do not edit
-
-set TZData(:Pacific/Kanton) {
- {-9223372036854775808 0 0 -00}
- {-1020470400 -43200 0 -12}
- {307627200 -39600 0 -11}
- {788871600 46800 0 +13}
-}
diff --git a/library/tzdata/Pacific/Kiritimati b/library/tzdata/Pacific/Kiritimati
index 7d600f3..06b695b 100644
--- a/library/tzdata/Pacific/Kiritimati
+++ b/library/tzdata/Pacific/Kiritimati
@@ -2,7 +2,7 @@
set TZData(:Pacific/Kiritimati) {
{-9223372036854775808 -37760 0 LMT}
- {-2177415040 -38400 0 -1040}
- {307622400 -36000 0 -10}
- {788868000 50400 0 +14}
+ {-2177415040 -38400 0 LINT}
+ {307622400 -36000 0 LINT}
+ {788954400 50400 0 LINT}
}
diff --git a/library/tzdata/Pacific/Kosrae b/library/tzdata/Pacific/Kosrae
index 87b33e5..a16b19d 100644
--- a/library/tzdata/Pacific/Kosrae
+++ b/library/tzdata/Pacific/Kosrae
@@ -1,14 +1,8 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Pacific/Kosrae) {
- {-9223372036854775808 -47284 0 LMT}
- {-3944631116 39116 0 LMT}
- {-2177491916 39600 0 +11}
- {-1743678000 32400 0 +09}
- {-1606813200 39600 0 +11}
- {-1041418800 36000 0 +10}
- {-907408800 32400 0 +09}
- {-770634000 39600 0 +11}
- {-7988400 43200 0 +12}
- {915105600 39600 0 +11}
+ {-9223372036854775808 39116 0 LMT}
+ {-2177491916 39600 0 KOST}
+ {-7988400 43200 0 KOST}
+ {915105600 39600 0 KOST}
}
diff --git a/library/tzdata/Pacific/Kwajalein b/library/tzdata/Pacific/Kwajalein
index bd260c7..8600b3b 100644
--- a/library/tzdata/Pacific/Kwajalein
+++ b/library/tzdata/Pacific/Kwajalein
@@ -2,10 +2,7 @@
set TZData(:Pacific/Kwajalein) {
{-9223372036854775808 40160 0 LMT}
- {-2177492960 39600 0 +11}
- {-1041418800 36000 0 +10}
- {-907408800 32400 0 +09}
- {-817462800 39600 0 +11}
- {-7988400 -43200 0 -12}
- {745934400 43200 0 +12}
+ {-2177492960 39600 0 MHT}
+ {-7988400 -43200 0 KWAT}
+ {745848000 43200 0 MHT}
}
diff --git a/library/tzdata/Pacific/Majuro b/library/tzdata/Pacific/Majuro
index b30f494..468baab 100644
--- a/library/tzdata/Pacific/Majuro
+++ b/library/tzdata/Pacific/Majuro
@@ -1,5 +1,7 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Tarawa)]} {
- LoadTimeZoneFile Pacific/Tarawa
+
+set TZData(:Pacific/Majuro) {
+ {-9223372036854775808 41088 0 LMT}
+ {-2177493888 39600 0 MHT}
+ {-7988400 43200 0 MHT}
}
-set TZData(:Pacific/Majuro) $TZData(:Pacific/Tarawa)
diff --git a/library/tzdata/Pacific/Marquesas b/library/tzdata/Pacific/Marquesas
index ac77a2f..9bb508f 100644
--- a/library/tzdata/Pacific/Marquesas
+++ b/library/tzdata/Pacific/Marquesas
@@ -2,5 +2,5 @@
set TZData(:Pacific/Marquesas) {
{-9223372036854775808 -33480 0 LMT}
- {-1806676920 -34200 0 -0930}
+ {-1806676920 -34200 0 MART}
}
diff --git a/library/tzdata/Pacific/Nauru b/library/tzdata/Pacific/Nauru
index fe35411..2da1e25 100644
--- a/library/tzdata/Pacific/Nauru
+++ b/library/tzdata/Pacific/Nauru
@@ -2,8 +2,8 @@
set TZData(:Pacific/Nauru) {
{-9223372036854775808 40060 0 LMT}
- {-1545131260 41400 0 +1130}
- {-862918200 32400 0 +09}
- {-767350800 41400 0 +1130}
- {287418600 43200 0 +12}
+ {-1545131260 41400 0 NRT}
+ {-877347000 32400 0 JST}
+ {-800960400 41400 0 NRT}
+ {294323400 43200 0 NRT}
}
diff --git a/library/tzdata/Pacific/Niue b/library/tzdata/Pacific/Niue
index 752f5b7..cf149fc 100644
--- a/library/tzdata/Pacific/Niue
+++ b/library/tzdata/Pacific/Niue
@@ -2,6 +2,7 @@
set TZData(:Pacific/Niue) {
{-9223372036854775808 -40780 0 LMT}
- {-543069620 -40800 0 -1120}
- {-173623200 -39600 0 -11}
+ {-2177412020 -40800 0 NUT}
+ {-599575200 -41400 0 NUT}
+ {276089400 -39600 0 NUT}
}
diff --git a/library/tzdata/Pacific/Norfolk b/library/tzdata/Pacific/Norfolk
index f686df5..b12ab8c 100644
--- a/library/tzdata/Pacific/Norfolk
+++ b/library/tzdata/Pacific/Norfolk
@@ -2,171 +2,9 @@
set TZData(:Pacific/Norfolk) {
{-9223372036854775808 40312 0 LMT}
- {-2177493112 40320 0 +1112}
- {-599656320 41400 0 +1130}
- {152029800 45000 1 +1230}
- {162916200 41400 0 +1130}
- {1443882600 39600 0 +11}
- {1561899600 39600 0 +12}
- {1570287600 43200 1 +12}
- {1586012400 39600 0 +12}
- {1601737200 43200 1 +12}
- {1617462000 39600 0 +12}
- {1633186800 43200 1 +12}
- {1648911600 39600 0 +12}
- {1664636400 43200 1 +12}
- {1680361200 39600 0 +12}
- {1696086000 43200 1 +12}
- {1712415600 39600 0 +12}
- {1728140400 43200 1 +12}
- {1743865200 39600 0 +12}
- {1759590000 43200 1 +12}
- {1775314800 39600 0 +12}
- {1791039600 43200 1 +12}
- {1806764400 39600 0 +12}
- {1822489200 43200 1 +12}
- {1838214000 39600 0 +12}
- {1853938800 43200 1 +12}
- {1869663600 39600 0 +12}
- {1885993200 43200 1 +12}
- {1901718000 39600 0 +12}
- {1917442800 43200 1 +12}
- {1933167600 39600 0 +12}
- {1948892400 43200 1 +12}
- {1964617200 39600 0 +12}
- {1980342000 43200 1 +12}
- {1996066800 39600 0 +12}
- {2011791600 43200 1 +12}
- {2027516400 39600 0 +12}
- {2043241200 43200 1 +12}
- {2058966000 39600 0 +12}
- {2075295600 43200 1 +12}
- {2091020400 39600 0 +12}
- {2106745200 43200 1 +12}
- {2122470000 39600 0 +12}
- {2138194800 43200 1 +12}
- {2153919600 39600 0 +12}
- {2169644400 43200 1 +12}
- {2185369200 39600 0 +12}
- {2201094000 43200 1 +12}
- {2216818800 39600 0 +12}
- {2233148400 43200 1 +12}
- {2248873200 39600 0 +12}
- {2264598000 43200 1 +12}
- {2280322800 39600 0 +12}
- {2296047600 43200 1 +12}
- {2311772400 39600 0 +12}
- {2327497200 43200 1 +12}
- {2343222000 39600 0 +12}
- {2358946800 43200 1 +12}
- {2374671600 39600 0 +12}
- {2390396400 43200 1 +12}
- {2406121200 39600 0 +12}
- {2422450800 43200 1 +12}
- {2438175600 39600 0 +12}
- {2453900400 43200 1 +12}
- {2469625200 39600 0 +12}
- {2485350000 43200 1 +12}
- {2501074800 39600 0 +12}
- {2516799600 43200 1 +12}
- {2532524400 39600 0 +12}
- {2548249200 43200 1 +12}
- {2563974000 39600 0 +12}
- {2579698800 43200 1 +12}
- {2596028400 39600 0 +12}
- {2611753200 43200 1 +12}
- {2627478000 39600 0 +12}
- {2643202800 43200 1 +12}
- {2658927600 39600 0 +12}
- {2674652400 43200 1 +12}
- {2690377200 39600 0 +12}
- {2706102000 43200 1 +12}
- {2721826800 39600 0 +12}
- {2737551600 43200 1 +12}
- {2753276400 39600 0 +12}
- {2769606000 43200 1 +12}
- {2785330800 39600 0 +12}
- {2801055600 43200 1 +12}
- {2816780400 39600 0 +12}
- {2832505200 43200 1 +12}
- {2848230000 39600 0 +12}
- {2863954800 43200 1 +12}
- {2879679600 39600 0 +12}
- {2895404400 43200 1 +12}
- {2911129200 39600 0 +12}
- {2926854000 43200 1 +12}
- {2942578800 39600 0 +12}
- {2958908400 43200 1 +12}
- {2974633200 39600 0 +12}
- {2990358000 43200 1 +12}
- {3006082800 39600 0 +12}
- {3021807600 43200 1 +12}
- {3037532400 39600 0 +12}
- {3053257200 43200 1 +12}
- {3068982000 39600 0 +12}
- {3084706800 43200 1 +12}
- {3100431600 39600 0 +12}
- {3116761200 43200 1 +12}
- {3132486000 39600 0 +12}
- {3148210800 43200 1 +12}
- {3163935600 39600 0 +12}
- {3179660400 43200 1 +12}
- {3195385200 39600 0 +12}
- {3211110000 43200 1 +12}
- {3226834800 39600 0 +12}
- {3242559600 43200 1 +12}
- {3258284400 39600 0 +12}
- {3274009200 43200 1 +12}
- {3289734000 39600 0 +12}
- {3306063600 43200 1 +12}
- {3321788400 39600 0 +12}
- {3337513200 43200 1 +12}
- {3353238000 39600 0 +12}
- {3368962800 43200 1 +12}
- {3384687600 39600 0 +12}
- {3400412400 43200 1 +12}
- {3416137200 39600 0 +12}
- {3431862000 43200 1 +12}
- {3447586800 39600 0 +12}
- {3463311600 43200 1 +12}
- {3479641200 39600 0 +12}
- {3495366000 43200 1 +12}
- {3511090800 39600 0 +12}
- {3526815600 43200 1 +12}
- {3542540400 39600 0 +12}
- {3558265200 43200 1 +12}
- {3573990000 39600 0 +12}
- {3589714800 43200 1 +12}
- {3605439600 39600 0 +12}
- {3621164400 43200 1 +12}
- {3636889200 39600 0 +12}
- {3653218800 43200 1 +12}
- {3668943600 39600 0 +12}
- {3684668400 43200 1 +12}
- {3700393200 39600 0 +12}
- {3716118000 43200 1 +12}
- {3731842800 39600 0 +12}
- {3747567600 43200 1 +12}
- {3763292400 39600 0 +12}
- {3779017200 43200 1 +12}
- {3794742000 39600 0 +12}
- {3810466800 43200 1 +12}
- {3826191600 39600 0 +12}
- {3842521200 43200 1 +12}
- {3858246000 39600 0 +12}
- {3873970800 43200 1 +12}
- {3889695600 39600 0 +12}
- {3905420400 43200 1 +12}
- {3921145200 39600 0 +12}
- {3936870000 43200 1 +12}
- {3952594800 39600 0 +12}
- {3968319600 43200 1 +12}
- {3984044400 39600 0 +12}
- {4000374000 43200 1 +12}
- {4016098800 39600 0 +12}
- {4031823600 43200 1 +12}
- {4047548400 39600 0 +12}
- {4063273200 43200 1 +12}
- {4078998000 39600 0 +12}
- {4094722800 43200 1 +12}
+ {-2177493112 40320 0 NMT}
+ {-599656320 41400 0 NFT}
+ {152029800 45000 1 NFST}
+ {162912600 41400 0 NFT}
+ {1443882600 39600 0 NFT}
}
diff --git a/library/tzdata/Pacific/Noumea b/library/tzdata/Pacific/Noumea
index c9da825..db1eeae 100644
--- a/library/tzdata/Pacific/Noumea
+++ b/library/tzdata/Pacific/Noumea
@@ -2,11 +2,11 @@
set TZData(:Pacific/Noumea) {
{-9223372036854775808 39948 0 LMT}
- {-1829387148 39600 0 +11}
- {250002000 43200 1 +11}
- {257342400 39600 0 +11}
- {281451600 43200 1 +11}
- {288878400 39600 0 +11}
- {849366000 43200 1 +11}
- {857228400 39600 0 +11}
+ {-1829387148 39600 0 NCT}
+ {250002000 43200 1 NCST}
+ {257342400 39600 0 NCT}
+ {281451600 43200 1 NCST}
+ {288878400 39600 0 NCT}
+ {849366000 43200 1 NCST}
+ {857228400 39600 0 NCT}
}
diff --git a/library/tzdata/Pacific/Pago_Pago b/library/tzdata/Pacific/Pago_Pago
index 9b5607f..ca261d0 100644
--- a/library/tzdata/Pacific/Pago_Pago
+++ b/library/tzdata/Pacific/Pago_Pago
@@ -2,6 +2,8 @@
set TZData(:Pacific/Pago_Pago) {
{-9223372036854775808 45432 0 LMT}
- {-2445424632 -40968 0 LMT}
- {-1861879032 -39600 0 SST}
+ {-2855738232 -40968 0 LMT}
+ {-1861879032 -39600 0 NST}
+ {-86878800 -39600 0 BST}
+ {439038000 -39600 0 SST}
}
diff --git a/library/tzdata/Pacific/Palau b/library/tzdata/Pacific/Palau
index b161f4f..ee0606d 100644
--- a/library/tzdata/Pacific/Palau
+++ b/library/tzdata/Pacific/Palau
@@ -1,7 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Pacific/Palau) {
- {-9223372036854775808 -54124 0 LMT}
- {-3944624276 32276 0 LMT}
- {-2177485076 32400 0 +09}
+ {-9223372036854775808 32276 0 LMT}
+ {-2177485076 32400 0 PWT}
}
diff --git a/library/tzdata/Pacific/Pitcairn b/library/tzdata/Pacific/Pitcairn
index 6813978..d62644e 100644
--- a/library/tzdata/Pacific/Pitcairn
+++ b/library/tzdata/Pacific/Pitcairn
@@ -2,6 +2,6 @@
set TZData(:Pacific/Pitcairn) {
{-9223372036854775808 -31220 0 LMT}
- {-2177421580 -30600 0 -0830}
- {893665800 -28800 0 -08}
+ {-2177421580 -30600 0 PNT}
+ {893665800 -28800 0 PST}
}
diff --git a/library/tzdata/Pacific/Pohnpei b/library/tzdata/Pacific/Pohnpei
index a8d9779..58978da 100644
--- a/library/tzdata/Pacific/Pohnpei
+++ b/library/tzdata/Pacific/Pohnpei
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Guadalcanal)]} {
- LoadTimeZoneFile Pacific/Guadalcanal
+
+set TZData(:Pacific/Pohnpei) {
+ {-9223372036854775808 37972 0 LMT}
+ {-2177490772 39600 0 PONT}
}
-set TZData(:Pacific/Pohnpei) $TZData(:Pacific/Guadalcanal)
diff --git a/library/tzdata/Pacific/Ponape b/library/tzdata/Pacific/Ponape
index 1211f14..89644f7 100644
--- a/library/tzdata/Pacific/Ponape
+++ b/library/tzdata/Pacific/Ponape
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Guadalcanal)]} {
- LoadTimeZoneFile Pacific/Guadalcanal
+if {![info exists TZData(Pacific/Pohnpei)]} {
+ LoadTimeZoneFile Pacific/Pohnpei
}
-set TZData(:Pacific/Ponape) $TZData(:Pacific/Guadalcanal)
+set TZData(:Pacific/Ponape) $TZData(:Pacific/Pohnpei)
diff --git a/library/tzdata/Pacific/Port_Moresby b/library/tzdata/Pacific/Port_Moresby
index c3a5e4f..65eb533 100644
--- a/library/tzdata/Pacific/Port_Moresby
+++ b/library/tzdata/Pacific/Port_Moresby
@@ -3,5 +3,5 @@
set TZData(:Pacific/Port_Moresby) {
{-9223372036854775808 35320 0 LMT}
{-2840176120 35312 0 PMMT}
- {-2366790512 36000 0 +10}
+ {-2366790512 36000 0 PGT}
}
diff --git a/library/tzdata/Pacific/Rarotonga b/library/tzdata/Pacific/Rarotonga
index f8e7954..a4ecf8d 100644
--- a/library/tzdata/Pacific/Rarotonga
+++ b/library/tzdata/Pacific/Rarotonga
@@ -1,33 +1,32 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Pacific/Rarotonga) {
- {-9223372036854775808 48056 0 LMT}
- {-2209555256 -38344 0 LMT}
- {-543072056 -37800 0 -1030}
- {279714600 -34200 0 -10}
- {289387800 -36000 0 -10}
- {309952800 -34200 1 -10}
- {320837400 -36000 0 -10}
- {341402400 -34200 1 -10}
- {352287000 -36000 0 -10}
- {372852000 -34200 1 -10}
- {384341400 -36000 0 -10}
- {404906400 -34200 1 -10}
- {415791000 -36000 0 -10}
- {436356000 -34200 1 -10}
- {447240600 -36000 0 -10}
- {467805600 -34200 1 -10}
- {478690200 -36000 0 -10}
- {499255200 -34200 1 -10}
- {510139800 -36000 0 -10}
- {530704800 -34200 1 -10}
- {541589400 -36000 0 -10}
- {562154400 -34200 1 -10}
- {573643800 -36000 0 -10}
- {594208800 -34200 1 -10}
- {605093400 -36000 0 -10}
- {625658400 -34200 1 -10}
- {636543000 -36000 0 -10}
- {657108000 -34200 1 -10}
- {667992600 -36000 0 -10}
+ {-9223372036854775808 -38344 0 LMT}
+ {-2177414456 -37800 0 CKT}
+ {279714600 -34200 0 CKHST}
+ {289387800 -36000 0 CKT}
+ {309952800 -34200 1 CKHST}
+ {320837400 -36000 0 CKT}
+ {341402400 -34200 1 CKHST}
+ {352287000 -36000 0 CKT}
+ {372852000 -34200 1 CKHST}
+ {384341400 -36000 0 CKT}
+ {404906400 -34200 1 CKHST}
+ {415791000 -36000 0 CKT}
+ {436356000 -34200 1 CKHST}
+ {447240600 -36000 0 CKT}
+ {467805600 -34200 1 CKHST}
+ {478690200 -36000 0 CKT}
+ {499255200 -34200 1 CKHST}
+ {510139800 -36000 0 CKT}
+ {530704800 -34200 1 CKHST}
+ {541589400 -36000 0 CKT}
+ {562154400 -34200 1 CKHST}
+ {573643800 -36000 0 CKT}
+ {594208800 -34200 1 CKHST}
+ {605093400 -36000 0 CKT}
+ {625658400 -34200 1 CKHST}
+ {636543000 -36000 0 CKT}
+ {657108000 -34200 1 CKHST}
+ {667992600 -36000 0 CKT}
}
diff --git a/library/tzdata/Pacific/Tahiti b/library/tzdata/Pacific/Tahiti
index 768553c..f739223 100644
--- a/library/tzdata/Pacific/Tahiti
+++ b/library/tzdata/Pacific/Tahiti
@@ -2,5 +2,5 @@
set TZData(:Pacific/Tahiti) {
{-9223372036854775808 -35896 0 LMT}
- {-1806674504 -36000 0 -10}
+ {-1806674504 -36000 0 TAHT}
}
diff --git a/library/tzdata/Pacific/Tarawa b/library/tzdata/Pacific/Tarawa
index 2b9b556..2dab5a2 100644
--- a/library/tzdata/Pacific/Tarawa
+++ b/library/tzdata/Pacific/Tarawa
@@ -2,5 +2,5 @@
set TZData(:Pacific/Tarawa) {
{-9223372036854775808 41524 0 LMT}
- {-2177494324 43200 0 +12}
+ {-2177494324 43200 0 GILT}
}
diff --git a/library/tzdata/Pacific/Tongatapu b/library/tzdata/Pacific/Tongatapu
index f4bb685..da9f857 100644
--- a/library/tzdata/Pacific/Tongatapu
+++ b/library/tzdata/Pacific/Tongatapu
@@ -1,16 +1,14 @@
# created by tools/tclZIC.tcl - do not edit
set TZData(:Pacific/Tongatapu) {
- {-9223372036854775808 44352 0 LMT}
- {-767189952 44400 0 +1220}
- {-284041200 46800 0 +13}
- {915102000 46800 0 +13}
- {939214800 50400 1 +13}
- {953384400 46800 0 +13}
- {973342800 50400 1 +13}
- {980596800 46800 0 +13}
- {1004792400 50400 1 +13}
- {1012046400 46800 0 +13}
- {1478350800 50400 1 +13}
- {1484398800 46800 0 +13}
+ {-9223372036854775808 44360 0 LMT}
+ {-2177497160 44400 0 TOT}
+ {-915193200 46800 0 TOT}
+ {915102000 46800 0 TOT}
+ {939214800 50400 1 TOST}
+ {953384400 46800 0 TOT}
+ {973342800 50400 1 TOST}
+ {980596800 46800 0 TOT}
+ {1004792400 50400 1 TOST}
+ {1012046400 46800 0 TOT}
}
diff --git a/library/tzdata/Pacific/Truk b/library/tzdata/Pacific/Truk
index 7ddbad7..c9b1894 100644
--- a/library/tzdata/Pacific/Truk
+++ b/library/tzdata/Pacific/Truk
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Port_Moresby)]} {
- LoadTimeZoneFile Pacific/Port_Moresby
+if {![info exists TZData(Pacific/Chuuk)]} {
+ LoadTimeZoneFile Pacific/Chuuk
}
-set TZData(:Pacific/Truk) $TZData(:Pacific/Port_Moresby)
+set TZData(:Pacific/Truk) $TZData(:Pacific/Chuuk)
diff --git a/library/tzdata/Pacific/Wake b/library/tzdata/Pacific/Wake
index 945a863..5afedf5 100644
--- a/library/tzdata/Pacific/Wake
+++ b/library/tzdata/Pacific/Wake
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Tarawa)]} {
- LoadTimeZoneFile Pacific/Tarawa
+
+set TZData(:Pacific/Wake) {
+ {-9223372036854775808 39988 0 LMT}
+ {-2177492788 43200 0 WAKT}
}
-set TZData(:Pacific/Wake) $TZData(:Pacific/Tarawa)
diff --git a/library/tzdata/Pacific/Wallis b/library/tzdata/Pacific/Wallis
index 92748f4..7bdd964 100644
--- a/library/tzdata/Pacific/Wallis
+++ b/library/tzdata/Pacific/Wallis
@@ -1,5 +1,6 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Pacific/Tarawa)]} {
- LoadTimeZoneFile Pacific/Tarawa
+
+set TZData(:Pacific/Wallis) {
+ {-9223372036854775808 44120 0 LMT}
+ {-2177496920 43200 0 WFT}
}
-set TZData(:Pacific/Wallis) $TZData(:Pacific/Tarawa)
diff --git a/library/tzdata/Pacific/Yap b/library/tzdata/Pacific/Yap
index f0b6ae7..4931030 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/Port_Moresby)]} {
- LoadTimeZoneFile Pacific/Port_Moresby
+if {![info exists TZData(Pacific/Chuuk)]} {
+ LoadTimeZoneFile Pacific/Chuuk
}
-set TZData(:Pacific/Yap) $TZData(:Pacific/Port_Moresby)
+set TZData(:Pacific/Yap) $TZData(:Pacific/Chuuk)
diff --git a/library/tzdata/UCT b/library/tzdata/UCT
index acfa48e..8449328 100644
--- a/library/tzdata/UCT
+++ b/library/tzdata/UCT
@@ -1,5 +1,5 @@
# created by tools/tclZIC.tcl - do not edit
-if {![info exists TZData(Etc/UTC)]} {
- LoadTimeZoneFile Etc/UTC
+if {![info exists TZData(Etc/UCT)]} {
+ LoadTimeZoneFile Etc/UCT
}
-set TZData(:UCT) $TZData(:Etc/UTC)
+set TZData(:UCT) $TZData(:Etc/UCT)
diff --git a/library/tzdata/US/Pacific-New b/library/tzdata/US/Pacific-New
new file mode 100644
index 0000000..2eb30f8
--- /dev/null
+++ b/library/tzdata/US/Pacific-New
@@ -0,0 +1,5 @@
+# created by tools/tclZIC.tcl - do not edit
+if {![info exists TZData(America/Los_Angeles)]} {
+ LoadTimeZoneFile America/Los_Angeles
+}
+set TZData(:US/Pacific-New) $TZData(:America/Los_Angeles)
diff --git a/library/word.tcl b/library/word.tcl
index ca15e12..b8f34a5 100644
--- a/library/word.tcl
+++ b/library/word.tcl
@@ -4,20 +4,22 @@
# strings. This file is primarily needed so Tk text and entry widgets behave
# properly for different platforms.
#
-# Copyright © 1996 Sun Microsystems, Inc.
-# Copyright © 1998 Scriptics Corporation.
+# 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.
# The following variables are used to determine which characters are
-# interpreted as word characters. See bug [f1253530cdd8]. Will
-# probably be removed in Tcl 9.
-
-if {![info exists ::tcl_wordchars]} {
+# interpreted as white space.
+
+if {$::tcl_platform(platform) eq "windows"} {
+ # Windows style - any but a unicode space char
+ set ::tcl_wordchars {\S}
+ set ::tcl_nonwordchars {\s}
+} else {
+ # Motif style - any unicode word char (number, letter, or underscore)
set ::tcl_wordchars {\w}
-}
-if {![info exists ::tcl_nonwordchars]} {
set ::tcl_nonwordchars {\W}
}
@@ -65,9 +67,6 @@ namespace eval ::tcl {
proc tcl_wordBreakAfter {str start} {
variable ::tcl::WordBreakRE
set result {-1 -1}
- if {$start < 0} {
- set start 0;
- }
regexp -indices -start $start -- $WordBreakRE(after) $str result
return [lindex $result 1]
}
@@ -86,9 +85,7 @@ proc tcl_wordBreakAfter {str start} {
proc tcl_wordBreakBefore {str start} {
variable ::tcl::WordBreakRE
set result {-1 -1}
- if {$start >= 0} {
- regexp -indices -- $WordBreakRE(before) [string range $str 0 $start] result
- }
+ regexp -indices -- $WordBreakRE(before) [string range $str 0 $start] result
return [lindex $result 1]
}
@@ -107,9 +104,6 @@ proc tcl_wordBreakBefore {str start} {
proc tcl_endOfWord {str start} {
variable ::tcl::WordBreakRE
set result {-1 -1}
- if {$start < 0} {
- set start 0
- }
regexp -indices -start $start -- $WordBreakRE(end) $str result
return [lindex $result 1]
}
@@ -128,9 +122,6 @@ proc tcl_endOfWord {str start} {
proc tcl_startOfNextWord {str start} {
variable ::tcl::WordBreakRE
set result {-1 -1}
- if {$start < 0} {
- set start 0
- }
regexp -indices -start $start -- $WordBreakRE(next) $str result
return [lindex $result 1]
}
@@ -147,9 +138,7 @@ proc tcl_startOfNextWord {str start} {
proc tcl_startOfPreviousWord {str start} {
variable ::tcl::WordBreakRE
set word {-1 -1}
- if {$start > 0} {
- regexp -indices -- $WordBreakRE(previous) [string range [string range $str 0 $start] 0 end-1] \
- result word
- }
+ regexp -indices -- $WordBreakRE(previous) [string range $str 0 $start-1] \
+ result word
return [lindex $word 0]
}
diff --git a/library/writefile.tcl b/library/writefile.tcl
deleted file mode 100644
index fbd9138..0000000
--- a/library/writefile.tcl
+++ /dev/null
@@ -1,37 +0,0 @@
-# writeFile:
-# Write the contents of a file.
-#
-# Copyright © 2023 Donal K Fellows.
-#
-# See the file "license.terms" for information on usage and redistribution
-# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
-#
-
-proc writeFile {args} {
- # Parse the arguments
- switch [llength $args] {
- 2 {
- lassign $args filename data
- set mode text
- }
- 3 {
- lassign $args filename mode data
- set MODES {binary text}
- set ERR [list -level 1 -errorcode [list TCL LOOKUP MODE $mode]]
- set mode [tcl::prefix match -message "mode" -error $ERR $MODES $mode]
- }
- default {
- set COMMAND [lindex [info level 0] 0]
- return -code error -errorcode {TCL WRONGARGS} \
- "wrong # args: should be \"$COMMAND filename ?mode? data\""
- }
- }
-
- # Write the file
- set f [open $filename [dict get {text w binary wb} $mode]]
- try {
- puts -nonewline $f $data
- } finally {
- close $f
- }
-}