phonelib 0.4.7 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +14 -1
  3. data/data/extended_data.dat +0 -0
  4. data/data/libphonenumber/README.md +18 -17
  5. data/data/libphonenumber/cpp/src/phonenumbers/base/basictypes.h +60 -5
  6. data/data/libphonenumber/cpp/src/phonenumbers/base/synchronization/lock.h +3 -1
  7. data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +10690 -10653
  8. data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +8766 -8724
  9. data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +1529 -1523
  10. data/data/libphonenumber/cpp/src/phonenumbers/shortnumberinfo.cc +3 -0
  11. data/data/libphonenumber/java/carrier/pom.xml +4 -4
  12. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/PhoneNumberToCarrierMapper.java +1 -1
  13. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/1868_en +0 -0
  14. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/212_en +0 -0
  15. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/232_en +0 -0
  16. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/237_en +0 -0
  17. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/242_en +0 -0
  18. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/249_en +0 -0
  19. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/267_en +0 -0
  20. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/359_en +0 -0
  21. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/380_en +0 -0
  22. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/385_en +0 -0
  23. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/49_en +0 -0
  24. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/592_en +0 -0
  25. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/60_en +0 -0
  26. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/689_en +0 -0
  27. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/7_en +0 -0
  28. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en +0 -0
  29. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/961_en +0 -0
  30. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/962_en +0 -0
  31. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/972_en +0 -0
  32. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/977_en +0 -0
  33. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/993_en +0 -0
  34. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/config +0 -0
  35. data/data/libphonenumber/java/demo/pom.xml +5 -5
  36. data/data/libphonenumber/java/demo/war/WEB-INF/appengine-web.xml +1 -1
  37. data/data/libphonenumber/java/geocoder/pom.xml +4 -4
  38. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/226_en +0 -0
  39. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_en +0 -0
  40. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/290_fr +0 -0
  41. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_en +0 -0
  42. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/56_es +0 -0
  43. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/592_en +0 -0
  44. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_en +0 -0
  45. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/86_zh +0 -0
  46. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +0 -0
  47. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/timezones/data/map_data +0 -0
  48. data/data/libphonenumber/java/internal/prefixmapper/pom.xml +3 -3
  49. data/data/libphonenumber/java/internal/prefixmapper/src/com/google/i18n/phonenumbers/prefixmapper/PrefixTimeZonesMap.java +1 -1
  50. data/data/libphonenumber/java/libphonenumber/pom.xml +2 -2
  51. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/CountryCodeToRegionCodeMap.java +4 -7
  52. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberMatch.java +1 -1
  53. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java +4 -4
  54. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/ShortNumberInfo.java +3 -0
  55. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AC +0 -0
  56. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BF +0 -0
  57. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG +0 -0
  58. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS +0 -0
  59. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BW +0 -0
  60. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CG +0 -0
  61. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CL +0 -0
  62. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CM +0 -0
  63. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DE +0 -0
  64. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_DZ +0 -0
  65. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_FR +0 -0
  66. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN +0 -0
  67. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HR +0 -0
  68. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IL +0 -0
  69. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN +0 -0
  70. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IT +0 -0
  71. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JO +0 -0
  72. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_JP +0 -0
  73. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW +0 -0
  74. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KY +0 -0
  75. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LB +0 -0
  76. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LI +0 -0
  77. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MA +0 -0
  78. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_NP +0 -0
  79. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PL +0 -0
  80. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SB +0 -0
  81. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SD +0 -0
  82. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SH +0 -0
  83. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SL +0 -0
  84. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TM +0 -0
  85. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT +0 -0
  86. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_UA +0 -0
  87. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VA +0 -0
  88. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GY +0 -0
  89. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_HR +0 -0
  90. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SB +0 -0
  91. data/data/libphonenumber/java/pom.xml +1 -1
  92. data/data/libphonenumber/java/release_notes.txt +28 -1
  93. data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +114 -164
  94. data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +79 -78
  95. data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +78 -77
  96. data/data/libphonenumber/resources/PhoneNumberMetadata.xml +750 -606
  97. data/data/libphonenumber/resources/ShortNumberMetadata.xml +39 -13
  98. data/data/libphonenumber/resources/carrier/en/1.txt +1 -0
  99. data/data/libphonenumber/resources/carrier/en/212.txt +1 -0
  100. data/data/libphonenumber/resources/carrier/en/232.txt +3 -1
  101. data/data/libphonenumber/resources/carrier/en/237.txt +1 -0
  102. data/data/libphonenumber/resources/carrier/en/242.txt +5 -2
  103. data/data/libphonenumber/resources/carrier/en/249.txt +1 -0
  104. data/data/libphonenumber/resources/carrier/en/267.txt +3 -0
  105. data/data/libphonenumber/resources/carrier/en/359.txt +1 -0
  106. data/data/libphonenumber/resources/carrier/en/380.txt +12 -1
  107. data/data/libphonenumber/resources/carrier/en/385.txt +3 -0
  108. data/data/libphonenumber/resources/carrier/en/49.txt +6 -0
  109. data/data/libphonenumber/resources/carrier/en/592.txt +15 -0
  110. data/data/libphonenumber/resources/carrier/en/60.txt +42 -2
  111. data/data/libphonenumber/resources/carrier/en/689.txt +16 -0
  112. data/data/libphonenumber/resources/carrier/en/7.txt +1 -0
  113. data/data/libphonenumber/resources/carrier/en/91.txt +19 -21
  114. data/data/libphonenumber/resources/carrier/en/961.txt +16 -6
  115. data/data/libphonenumber/resources/carrier/en/962.txt +3 -1
  116. data/data/libphonenumber/resources/carrier/en/972.txt +1 -0
  117. data/data/libphonenumber/resources/carrier/en/977.txt +1 -0
  118. data/data/libphonenumber/resources/carrier/en/993.txt +1 -0
  119. data/data/libphonenumber/resources/geocoding/en/226.txt +21 -21
  120. data/data/libphonenumber/resources/geocoding/en/290.txt +5 -5
  121. data/data/libphonenumber/resources/geocoding/en/56.txt +1 -0
  122. data/data/libphonenumber/resources/geocoding/en/592.txt +82 -0
  123. data/data/libphonenumber/resources/geocoding/en/86.txt +2438 -113
  124. data/data/libphonenumber/resources/geocoding/es/56.txt +1 -0
  125. data/data/libphonenumber/resources/geocoding/fr/290.txt +5 -5
  126. data/data/libphonenumber/resources/geocoding/zh/86.txt +2438 -113
  127. data/data/libphonenumber/resources/timezones/map_data.txt +70 -155
  128. data/data/libphonenumber/tools/cpp/src/base/basictypes.h +22 -4
  129. data/data/phone_data.dat +0 -0
  130. data/lib/phonelib/core.rb +41 -1
  131. data/lib/phonelib/data_importer.rb +40 -112
  132. data/lib/phonelib/data_importer_helper.rb +89 -0
  133. data/lib/phonelib/phone.rb +1 -1
  134. data/lib/phonelib/version.rb +1 -1
  135. metadata +9 -2
@@ -13,23 +13,7 @@
13
13
  # limitations under the License.
14
14
 
15
15
  # Generated from:
16
- # Internal statistics data (2015-02-09).
17
-
18
- # TODO: Solve these current issues:
19
- # -Australian prefix 618 has almost as many establishments from
20
- # Australia/Adelaide as from Australia/Perth. This is due to the short
21
- # length of the phone prefix. Thus, a custom config should be used to
22
- # get a longer prefix.
23
- # -Add prefixes for America/Noronha and Pacific/Easter.
24
-
25
- # List of deleted prefixes from the original data:
26
- # -Prefixes 9761, 9762, since they just indicate the carrier.
27
- # -Prefix 9765, since it is just a wireless local loop prefix.
28
- # -Prefix 5905. It is the only prefix for 590 country code, which has three
29
- # timezones (America/Guadeloupe, America/Halifax and America/Marigot),
30
- # whereas 5905 has only one (America/Guadeloupe).
31
- # TODO: Investigate where the time zones America/Halifax and America/Marigot
32
- # should be used.
16
+ # Internal statistics data (2015-05-05).
33
17
 
34
18
  1|America/Anguilla&America/Antigua&America/Barbados&America/Cayman&America/Chicago&America/Denver&America/Dominica&America/Edmonton&America/Grand_Turk&America/Grenada&America/Halifax&America/Jamaica&America/Juneau&America/Los_Angeles&America/Lower_Princes&America/Montserrat&America/Nassau&America/New_York&America/Port_of_Spain&America/Puerto_Rico&America/St_Johns&America/St_Kitts&America/St_Lucia&America/St_Thomas&America/St_Vincent&America/Toronto&America/Tortola&America/Vancouver&America/Winnipeg&Atlantic/Bermuda&Pacific/Guam&Pacific/Honolulu&Pacific/Pago_Pago&Pacific/Saipan
35
19
  1201|America/New_York
@@ -42,6 +26,7 @@
42
26
  120822|America/Denver
43
27
  120823|America/Denver
44
28
  120824|America/Los_Angeles
29
+ 1208251|America/Denver
45
30
  1208253|America/Denver
46
31
  1208255|America/Los_Angeles
47
32
  120826|America/Los_Angeles
@@ -57,6 +42,7 @@
57
42
  1208436|America/Denver
58
43
  1208437|America/Los_Angeles
59
44
  1208438|America/Denver
45
+ 1208440|America/Denver
60
46
  1208442|America/Denver
61
47
  1208443|America/Los_Angeles
62
48
  1208448|America/Los_Angeles
@@ -118,7 +104,8 @@
118
104
  1208794|America/Denver
119
105
  1208798|America/Los_Angeles
120
106
  1208799|America/Los_Angeles
121
- 120881|America/Los_Angeles
107
+ 1208814|America/Denver
108
+ 1208818|America/Los_Angeles
122
109
  1208835|America/Los_Angeles
123
110
  1208837|America/Denver
124
111
  120884|America/Denver
@@ -144,6 +131,7 @@
144
131
  1208926|America/Los_Angeles
145
132
  1208934|America/Denver
146
133
  1208935|America/Los_Angeles
134
+ 1208936|America/Denver
147
135
  1208938|America/Denver
148
136
  1208939|America/Denver
149
137
  120894|America/Denver
@@ -249,6 +237,7 @@
249
237
  127025|America/Chicago
250
238
  127026|America/Chicago
251
239
  127027|America/Chicago
240
+ 127028|America/Chicago
252
241
  127029|America/Chicago
253
242
  127033|America/Chicago
254
243
  127034|America/Chicago
@@ -348,6 +337,7 @@
348
337
  1308235|America/Denver
349
338
  1308236|America/Chicago
350
339
  1308237|America/Chicago
340
+ 130824|America/Denver
351
341
  130825|America/Denver
352
342
  130826|America/Denver
353
343
  130828|America/Denver
@@ -517,7 +507,8 @@
517
507
  1518|America/New_York
518
508
  1519|America/Toronto
519
509
  152|America/Denver
520
- 153|America/Los_Angeles
510
+ 1530|America/Los_Angeles
511
+ 1534|America/Chicago
521
512
  1540|America/New_York
522
513
  15412|America/Los_Angeles
523
514
  154130|America/Los_Angeles
@@ -595,6 +586,7 @@
595
586
  15749|America/New_York
596
587
  1575|America/Denver
597
588
  1580|America/Chicago
589
+ 1581|America/Toronto
598
590
  1585|America/New_York
599
591
  1586|America/New_York
600
592
  1587|America/Edmonton
@@ -770,8 +762,7 @@
770
762
  1670|Pacific/Saipan
771
763
  1671|Pacific/Guam
772
764
  1678|America/New_York
773
- 1682|America/Chicago
774
- 1684|Pacific/Pago_Pago
765
+ 168|America/Chicago
775
766
  1701221|America/Chicago
776
767
  1701222|America/Chicago
777
768
  1701223|America/Chicago
@@ -811,9 +802,7 @@
811
802
  17016|America/Chicago
812
803
  170172|America/Chicago
813
804
  170173|America/Chicago
814
- 1701742|America/Chicago
815
- 1701746|America/Chicago
816
- 1701748|America/Denver
805
+ 170174|America/Chicago
817
806
  170175|America/Chicago
818
807
  1701764|America/Denver
819
808
  1701766|America/Chicago
@@ -932,9 +921,7 @@
932
921
  180773|America/Winnipeg
933
922
  180776|America/Toronto
934
923
  18078|America/Toronto
935
- 1807934|America/Winnipeg
936
- 1807937|America/Winnipeg
937
- 1807939|America/Toronto
924
+ 18079|America/Winnipeg
938
925
  1808|Pacific/Honolulu
939
926
  1809|America/Halifax
940
927
  1810|America/New_York
@@ -990,9 +977,7 @@
990
977
  181264|America/Chicago
991
978
  181265|America/New_York
992
979
  181266|America/New_York
993
- 1812682|America/Chicago
994
- 1812683|America/New_York
995
- 1812689|America/New_York
980
+ 181268|America/New_York
996
981
  181272|America/New_York
997
982
  181273|America/New_York
998
983
  181274|America/Chicago
@@ -1079,6 +1064,7 @@
1079
1064
  1850329|America/New_York
1080
1065
  185033|America/Chicago
1081
1066
  185036|America/Chicago
1067
+ 185037|America/Chicago
1082
1068
  185038|America/New_York
1083
1069
  1850391|America/New_York
1084
1070
  1850398|America/Chicago
@@ -1173,6 +1159,7 @@
1173
1159
  1850769|America/Chicago
1174
1160
  185078|America/Chicago
1175
1161
  185079|America/Chicago
1162
+ 185081|America/Chicago
1176
1163
  1850830|America/Chicago
1177
1164
  1850833|America/Chicago
1178
1165
  1850835|America/Chicago
@@ -1284,6 +1271,7 @@
1284
1271
  1931|America/Chicago
1285
1272
  1936|America/Chicago
1286
1273
  1937|America/New_York
1274
+ 1939|America/Puerto_Rico
1287
1275
  1940|America/Chicago
1288
1276
  1941|America/New_York
1289
1277
  1949|America/Los_Angeles
@@ -1457,7 +1445,7 @@
1457
1445
  372|Europe/Bucharest
1458
1446
  373|Europe/Bucharest
1459
1447
  374|Asia/Yerevan
1460
- 375|Europe/Belarus
1448
+ 375|Europe/Minsk
1461
1449
  376|Europe/Andorra
1462
1450
  377|Europe/Monaco
1463
1451
  378|Europe/San_Marino
@@ -1640,7 +1628,7 @@
1640
1628
  508|America/Miquelon
1641
1629
  509|America/Port-au-Prince
1642
1630
  51|America/Lima
1643
- 52|America/Mazatlan&America/Mexico_City&America/Tijuana
1631
+ 52|America/Hermosillo&America/Mazatlan&America/Mexico_City&America/New_York&America/Santa_Isabel&America/Tijuana
1644
1632
  522|America/Mexico_City
1645
1633
  52311|America/Mazatlan
1646
1634
  52312|America/Mexico_City
@@ -1717,7 +1705,29 @@
1717
1705
  5269|America/Mazatlan
1718
1706
  527|America/Mexico_City
1719
1707
  528|America/Mexico_City
1720
- 529|America/Mexico_City
1708
+ 5291|America/Mexico_City
1709
+ 5292|America/Mexico_City
1710
+ 5293|America/Mexico_City
1711
+ 5295|America/Mexico_City
1712
+ 5296|America/Mexico_City
1713
+ 5297|America/Mexico_City
1714
+ 52981|America/Mexico_City
1715
+ 52982|America/Mexico_City
1716
+ 52983|America/Mexico_City&America/New_York
1717
+ 52984|America/Mexico_City&America/New_York
1718
+ 52985|America/Mexico_City
1719
+ 52986|America/Mexico_City
1720
+ 52987|America/New_York
1721
+ 52988|America/Mexico_City
1722
+ 52991|America/Mexico_City
1723
+ 52992|America/Mexico_City
1724
+ 52993|America/Mexico_City
1725
+ 52994|America/Mexico_City
1726
+ 52995|America/Mexico_City
1727
+ 52996|America/Mexico_City
1728
+ 52997|America/Mexico_City
1729
+ 52998|America/Mexico_City&America/New_York
1730
+ 52999|America/Mexico_City
1721
1731
  53|America/Havana
1722
1732
  54|America/Buenos_Aires
1723
1733
  55|America/Manaus&America/Noronha&America/Rio_Branco&America/Sao_Paulo
@@ -1762,7 +1772,7 @@
1762
1772
  5932|America/Guayaquil
1763
1773
  5933|America/Guayaquil
1764
1774
  5934|America/Guayaquil
1765
- 5935|America/Guayaquil&Pacific/Galapagos
1775
+ 5935|America/Guayaquil
1766
1776
  5936|America/Guayaquil
1767
1777
  5937|America/Guayaquil
1768
1778
  594|America/Cayenne
@@ -1790,144 +1800,56 @@
1790
1800
  6235|Asia/Jakarta
1791
1801
  6236|Asia/Makassar
1792
1802
  6237|Asia/Makassar
1793
- 62380|Asia/Makassar
1794
- 62381|Asia/Makassar
1795
- 62382|Asia/Makassar
1796
- 62383|Asia/Makassar
1797
- 62384|Asia/Makassar
1798
- 62385|Asia/Makassar
1799
- 62386|Asia/Makassar
1800
- 62387|Asia/Makassar
1801
- 62388|Asia/Jakarta&Asia/Makassar
1802
- 62389|Asia/Makassar
1803
+ 6238|Asia/Makassar
1803
1804
  62401|Asia/Makassar
1804
1805
  62402|Asia/Makassar
1805
- 62403|Asia/Makassar&Asia/Jayapura
1806
+ 62403|Asia/Jayapura&Asia/Makassar
1806
1807
  62404|Asia/Makassar
1807
1808
  62405|Asia/Makassar
1808
1809
  62408|Asia/Makassar
1809
- 62410|Asia/Makassar
1810
- 62411|Asia/Jakarta
1811
- 62413|Asia/Makassar
1812
- 62414|Asia/Jakarta&Asia/Makassar
1813
- 62417|Asia/Jakarta&Asia/Makassar
1814
- 62419|Asia/Jakarta
1815
- 62420|Asia/Jakarta
1816
- 62421|Asia/Makassar
1817
- 62422|Asia/Makassar
1818
- 62423|Asia/Jakarta&Asia/Makassar
1819
- 62426|Asia/Makassar
1820
- 62428|Asia/Makassar
1810
+ 6241|Asia/Makassar
1811
+ 6242|Asia/Makassar
1821
1812
  6243|Asia/Makassar
1822
- 62451|Asia/Makassar
1823
- 62452|Asia/Makassar
1824
- 62453|Asia/Jayapura&Asia/Makassar
1825
- 62457|Asia/Makassar
1826
- 62458|Asia/Jakarta
1827
- 62461|Asia/Makassar
1828
- 62462|Asia/Jakarta&Asia/Makassar
1829
- 62463|Asia/Makassar
1830
- 62464|Asia/Makassar
1831
- 62465|Asia/Makassar
1832
- 62471|Asia/Jakarta&Asia/Makassar
1833
- 62473|Asia/Makassar
1834
- 62481|Asia/Makassar
1835
- 62484|Asia/Makassar
1836
- 62485|Asia/Jakarta
1813
+ 6245|Asia/Makassar
1814
+ 6246|Asia/Makassar
1815
+ 6247|Asia/Makassar
1816
+ 6248|Asia/Makassar
1837
1817
  62511|Asia/Makassar
1838
1818
  62512|Asia/Makassar
1839
1819
  62513|Asia/Jakarta
1840
1820
  62516|Asia/Jakarta
1841
1821
  62517|Asia/Makassar
1842
- 62518|Asia/Jakarta&Asia/Makassar
1822
+ 62518|Asia/Makassar
1843
1823
  62519|Asia/Jakarta
1844
1824
  62522|Asia/Jakarta
1845
1825
  62525|Asia/Jakarta
1846
1826
  62526|Asia/Makassar
1847
1827
  62527|Asia/Makassar
1848
- 62528|Asia/Jakarta&Asia/Makassar
1828
+ 62528|Asia/Jakarta
1849
1829
  6253|Asia/Jakarta
1850
1830
  6254|Asia/Makassar
1851
- 62551|Asia/Makassar
1852
- 62552|Asia/Jakarta&Asia/Makassar
1853
- 62553|Asia/Makassar&Asia/Jakarta
1854
- 62554|Asia/Makassar
1855
- 62556|Asia/Makassar
1831
+ 6255|Asia/Makassar
1856
1832
  6256|Asia/Jakarta
1857
- 6261|Asia/Jakarta
1858
- 62620|Asia/Jakarta
1859
- 62621|Asia/Jakarta
1860
- 62622|Asia/Jakarta
1861
- 62623|Asia/Jakarta&Asia/Makassar
1862
- 62624|Asia/Jakarta
1863
- 62625|Asia/Jakarta
1864
- 62626|Asia/Jakarta
1865
- 62627|Asia/Jakarta
1866
- 62628|Asia/Jakarta
1867
- 62629|Asia/Jakarta
1868
- 6263|Asia/Jakarta
1869
- 62641|Asia/Jakarta
1870
- 62642|Asia/Jakarta&Asia/Makassar
1871
- 62643|Asia/Jakarta
1872
- 62644|Asia/Jakarta
1873
- 62645|Asia/Jakarta
1874
- 62646|Asia/Jakarta
1875
- 6265|Asia/Jakarta
1876
- 62711|Asia/Makassar
1877
- 62712|Asia/Makassar
1878
- 62713|Asia/Makassar
1879
- 62714|Asia/Makassar
1880
- 62716|Asia/Jakarta
1881
- 62717|Asia/Jakarta
1882
- 62718|Asia/Jakarta
1883
- 62719|Asia/Jakarta
1884
- 6272|Asia/Jakarta
1885
- 62730|Asia/Makassar
1886
- 62731|Asia/Makassar
1887
- 62732|Asia/Jakarta
1888
- 62733|Asia/Makassar
1889
- 62734|Asia/Makassar
1890
- 62735|Asia/Makassar
1891
- 62736|Asia/Jakarta
1892
- 62737|Asia/Jakarta
1893
- 62738|Asia/Jakarta
1894
- 62739|Asia/Jakarta
1895
- 6274|Asia/Jakarta
1896
- 6275|Asia/Jakarta
1897
- 6276|Asia/Jakarta
1898
- 6277|Asia/Jakarta
1899
- 62901|Asia/Jayapura
1900
- 62902|Asia/Jakarta&Asia/Makassar
1901
- 62910|Asia/Jayapura&Asia/Jakarta
1833
+ 626|Asia/Jakarta
1834
+ 627|Asia/Jakarta
1835
+ 6290|Asia/Jayapura
1836
+ 62910|Asia/Jakarta&Asia/Jayapura
1902
1837
  62911|Asia/Jayapura
1903
- 62913|Asia/Jakarta&Asia/Jayapura
1838
+ 62913|Asia/Jayapura
1904
1839
  62914|Asia/Jayapura
1905
- 62915|Asia/Jayapura&Asia/Jakarta
1906
- 62916|Asia/Jakarta&Asia/Jayapura
1907
- 62917|Asia/Jakarta&Asia/Jayapura
1908
- 62918|Asia/Jakarta&Asia/Jayapura
1909
- 62921|Asia/Jayapura
1910
- 62922|Asia/Jayapura
1911
- 62923|Asia/Jayapura
1912
- 62924|Asia/Jayapura
1913
- 62927|Asia/Jayapura
1914
- 62929|Asia/Jakarta&Asia/Jayapura
1915
- 62951|Asia/Jayapura
1916
- 62955|Asia/Jakarta&Asia/Jayapura
1917
- 62956|Asia/Jayapura
1918
- 62957|Asia/Jayapura
1919
- 62958|Asia/Jakarta
1840
+ 62915|Asia/Jakarta&Asia/Jayapura
1841
+ 62916|Asia/Jayapura
1842
+ 62917|Asia/Jayapura
1843
+ 62918|Asia/Jayapura
1844
+ 6292|Asia/Jayapura
1845
+ 6295|Asia/Jayapura
1920
1846
  62962|Asia/Jayapura
1921
1847
  62963|Asia/Jakarta
1922
- 62966|Asia/Jayapura&Asia/Jakarta
1848
+ 62966|Asia/Jayapura
1923
1849
  62967|Asia/Jayapura
1924
1850
  62969|Asia/Jayapura
1925
- 62971|Asia/Jayapura
1926
- 62975|Asia/Jayapura&Asia/Makassar
1927
- 62981|Asia/Jayapura
1928
- 62983|Asia/Jakarta&Asia/Jayapura
1929
- 62984|Asia/Jayapura
1930
- 62986|Asia/Jayapura
1851
+ 6297|Asia/Jayapura
1852
+ 6298|Asia/Jayapura
1931
1853
  63|Asia/Manila
1932
1854
  64|Pacific/Auckland&Pacific/Chatham
1933
1855
  643|Pacific/Auckland
@@ -1977,7 +1899,7 @@
1977
1899
  69137|Pacific/Kosrae&Pacific/Truk
1978
1900
  6919|Pacific/Ponape
1979
1901
  692|Pacific/Majuro
1980
- 7|Asia/Almaty&Asia/Aqtobe&Asia/Irkutsk&Asia/Krasnoyarsk&Asia/Magadan&Asia/Novosibirsk&Asia/Omsk&Asia/Sakhalin&Asia/Vladivostok&Asia/Yakutsk&Asia/Yekaterinburg&Europe/Moscow&Europe/Volgograd
1902
+ 7|Asia/Almaty&Asia/Aqtobe&Asia/Irkutsk&Asia/Kamchatka&Asia/Krasnoyarsk&Asia/Magadan&Asia/Novosibirsk&Asia/Omsk&Asia/Sakhalin&Asia/Vladivostok&Asia/Yakutsk&Asia/Yekaterinburg&Europe/Bucharest&Europe/Moscow&Europe/Samara
1981
1903
  7301|Asia/Irkutsk
1982
1904
  7302|Asia/Yakutsk
1983
1905
  733|Asia/Almaty
@@ -2073,13 +1995,6 @@
2073
1995
  974|Asia/Qatar
2074
1996
  975|Asia/Thimphu
2075
1997
  976|Asia/Choibalsan&Asia/Hovd&Asia/Ulaanbaatar
2076
- 97611|Asia/Ulaanbaatar
2077
- 97612|Asia/Ulaanbaatar
2078
- 97613|Asia/Ulaanbaatar
2079
- 97614|Asia/Hovd
2080
- 97615|Asia/Ulaanbaatar
2081
- 9762|Asia/Ulaanbaatar
2082
- 9765|Asia/Ulaanbaatar
2083
1998
  977|Asia/Katmandu
2084
1999
  98|Asia/Tehran
2085
2000
  992|Asia/Dushanbe
@@ -230,15 +230,31 @@ inline To implicit_cast(From const &f) {
230
230
  // the expression is false, most compilers will issue a warning/error
231
231
  // containing the name of the variable.
232
232
 
233
+ #if __cplusplus >= 201103L
234
+
235
+ // Under C++11, just use static_assert.
236
+ #define COMPILE_ASSERT(expr, msg) static_assert(expr, #msg)
237
+
238
+ #else
239
+
233
240
  template <bool>
234
241
  struct CompileAssert {
235
242
  };
236
243
 
237
- #if !defined(COMPILE_ASSERT)
238
- #define COMPILE_ASSERT(expr, msg) \
239
- typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1]
244
+ // Annotate a variable indicating it's ok if the variable is not used.
245
+ // (Typically used to silence a compiler warning when the assignment
246
+ // is important for some other reason.)
247
+ // Use like:
248
+ // int x ALLOW_UNUSED = ...;
249
+ #if defined(__GNUC__)
250
+ #define ALLOW_UNUSED __attribute__((unused))
251
+ #else
252
+ #define ALLOW_UNUSED
240
253
  #endif
241
254
 
255
+ #define COMPILE_ASSERT(expr, msg) \
256
+ typedef CompileAssert<(bool(expr))> msg[bool(expr) ? 1 : -1] ALLOW_UNUSED
257
+
242
258
  // Implementation details of COMPILE_ASSERT:
243
259
  //
244
260
  // - COMPILE_ASSERT works by defining an array type that has -1
@@ -261,7 +277,7 @@ struct CompileAssert {
261
277
  // expr is a compile-time constant. (Template arguments must be
262
278
  // determined at compile-time.)
263
279
  //
264
- // - The outter parentheses in CompileAssert<(bool(expr))> are necessary
280
+ // - The outer parentheses in CompileAssert<(bool(expr))> are necessary
265
281
  // to work around a bug in gcc 3.4.4 and 4.0.1. If we had written
266
282
  //
267
283
  // CompileAssert<bool(expr)>
@@ -280,6 +296,8 @@ struct CompileAssert {
280
296
  // This is to avoid running into a bug in MS VC 7.1, which
281
297
  // causes ((0.0) ? 1 : -1) to incorrectly evaluate to 1.
282
298
 
299
+ #endif
300
+
283
301
  // Used to explicitly mark the return value of a function as unused. If you are
284
302
  // really sure you don't want to do anything with the return value of a function
285
303
  // that has been marked WARN_UNUSED_RESULT, wrap it with this. Example: