phonelib 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/{README.rdoc → README.md} +116 -75
  3. data/data/extended_data.dat +0 -0
  4. data/data/libphonenumber/FALSEHOODS.md +16 -0
  5. data/data/libphonenumber/FAQ.md +8 -0
  6. data/data/libphonenumber/README.md +1 -1
  7. data/data/libphonenumber/cpp/src/phonenumbers/alternate_format.cc +108 -100
  8. data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +10070 -10016
  9. data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +10938 -10884
  10. data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +2481 -2455
  11. data/data/libphonenumber/java/carrier/pom.xml +26 -4
  12. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/255_en +0 -0
  13. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_en +0 -0
  14. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_ru +0 -0
  15. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/421_en +0 -0
  16. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/66_en +0 -0
  17. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en +0 -0
  18. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_fa +0 -0
  19. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en +0 -0
  20. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/98_fa +0 -0
  21. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/992_en +0 -0
  22. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/994_en +0 -0
  23. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/config +0 -0
  24. data/data/libphonenumber/java/demo/pom.xml +6 -6
  25. data/data/libphonenumber/java/geocoder/pom.xml +26 -4
  26. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1747_en +0 -0
  27. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1934_en +0 -0
  28. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/371_en +0 -0
  29. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/44_en +0 -0
  30. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/504_en +0 -0
  31. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_bg +0 -0
  32. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ca +0 -0
  33. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_el +0 -0
  34. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_es +0 -0
  35. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_fi +0 -0
  36. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hi +0 -0
  37. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hu +0 -0
  38. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_iw +0 -0
  39. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ja +0 -0
  40. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_tr +0 -0
  41. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/91_en +0 -0
  42. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_en +0 -0
  43. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_fa +0 -0
  44. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_en +0 -0
  45. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_fa +0 -0
  46. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/992_en +0 -0
  47. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/994_en +0 -0
  48. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +0 -0
  49. data/data/libphonenumber/java/internal/prefixmapper/pom.xml +25 -3
  50. data/data/libphonenumber/java/libphonenumber/pom.xml +23 -2
  51. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java +2 -1
  52. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java +63 -70
  53. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_595 +0 -0
  54. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ +0 -0
  55. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD +0 -0
  56. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG +0 -0
  57. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH +0 -0
  58. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI +0 -0
  59. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN +0 -0
  60. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK +0 -0
  61. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN +0 -0
  62. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN +0 -0
  63. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KN +0 -0
  64. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW +0 -0
  65. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV +0 -0
  66. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY +0 -0
  67. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK +0 -0
  68. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN +0 -0
  69. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TC +0 -0
  70. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH +0 -0
  71. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ +0 -0
  72. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ +0 -0
  73. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US +0 -0
  74. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AE +0 -0
  75. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AR +0 -0
  76. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BR +0 -0
  77. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GB +0 -0
  78. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IN +0 -0
  79. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO +0 -0
  80. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SK +0 -0
  81. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZA +0 -0
  82. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto +0 -0
  83. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java +25 -5
  84. data/data/libphonenumber/java/pom.xml +2 -2
  85. data/data/libphonenumber/java/release_notes.txt +45 -0
  86. data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +72 -70
  87. data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +38 -32
  88. data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +38 -32
  89. data/data/libphonenumber/resources/PhoneNumberAlternateFormats.xml +16 -0
  90. data/data/libphonenumber/resources/PhoneNumberMetadata.xml +232 -96
  91. data/data/libphonenumber/resources/ShortNumberMetadata.xml +188 -44
  92. data/data/libphonenumber/resources/carrier/en/255.txt +2 -0
  93. data/data/libphonenumber/resources/carrier/en/374.txt +3 -3
  94. data/data/libphonenumber/resources/carrier/en/421.txt +1 -0
  95. data/data/libphonenumber/resources/carrier/en/66.txt +1 -0
  96. data/data/libphonenumber/resources/carrier/en/91.txt +419 -253
  97. data/data/libphonenumber/resources/carrier/en/973.txt +1 -0
  98. data/data/libphonenumber/resources/carrier/en/992.txt +1 -0
  99. data/data/libphonenumber/resources/carrier/en/994.txt +3 -0
  100. data/data/libphonenumber/resources/carrier/fa/93.txt +24 -0
  101. data/data/libphonenumber/resources/carrier/fa/98.txt +30 -0
  102. data/data/libphonenumber/resources/carrier/ru/374.txt +28 -0
  103. data/data/libphonenumber/resources/geocoding/bg/82.txt +34 -0
  104. data/data/libphonenumber/resources/geocoding/ca/82.txt +34 -0
  105. data/data/libphonenumber/resources/geocoding/el/82.txt +28 -0
  106. data/data/libphonenumber/resources/geocoding/en/1.txt +2 -0
  107. data/data/libphonenumber/resources/geocoding/en/371.txt +3 -0
  108. data/data/libphonenumber/resources/geocoding/en/44.txt +19 -1
  109. data/data/libphonenumber/resources/geocoding/en/504.txt +19 -0
  110. data/data/libphonenumber/resources/geocoding/en/91.txt +1 -5
  111. data/data/libphonenumber/resources/geocoding/en/93.txt +52 -0
  112. data/data/libphonenumber/resources/geocoding/en/98.txt +0 -2
  113. data/data/libphonenumber/resources/geocoding/en/992.txt +77 -0
  114. data/data/libphonenumber/resources/geocoding/en/994.txt +98 -0
  115. data/data/libphonenumber/resources/geocoding/es/82.txt +33 -0
  116. data/data/libphonenumber/resources/geocoding/fa/93.txt +53 -0
  117. data/data/libphonenumber/resources/geocoding/fa/98.txt +0 -2
  118. data/data/libphonenumber/resources/geocoding/fi/82.txt +34 -0
  119. data/data/libphonenumber/resources/geocoding/hi/82.txt +36 -0
  120. data/data/libphonenumber/resources/geocoding/hu/82.txt +35 -0
  121. data/data/libphonenumber/resources/geocoding/iw/82.txt +37 -0
  122. data/data/libphonenumber/resources/geocoding/ja/82.txt +35 -0
  123. data/data/libphonenumber/resources/geocoding/tr/82.txt +35 -0
  124. data/data/libphonenumber/tools/java/common/pom.xml +2 -0
  125. data/data/libphonenumber/tools/java/cpp-build/pom.xml +4 -0
  126. data/data/libphonenumber/tools/java/data/pom.xml +1 -11
  127. data/data/libphonenumber/tools/java/java-build/pom.xml +2 -0
  128. data/data/phone_data.dat +0 -0
  129. data/lib/phonelib.rb +7 -6
  130. data/lib/phonelib/core.rb +116 -68
  131. data/lib/phonelib/data_importer.rb +23 -19
  132. data/lib/phonelib/data_importer_helper.rb +16 -16
  133. data/lib/phonelib/phone.rb +47 -137
  134. data/lib/phonelib/phone_analyzer.rb +27 -25
  135. data/lib/phonelib/phone_analyzer_helper.rb +16 -9
  136. data/lib/phonelib/phone_extended_data.rb +27 -17
  137. data/lib/phonelib/phone_formatter.rb +131 -0
  138. data/lib/phonelib/version.rb +2 -3
  139. data/lib/tasks/phonelib_tasks.rake +0 -2
  140. data/lib/validators/phone_validator.rb +24 -14
  141. metadata +42 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ccfbb63011fdac1db8de4f38b768c5d8f3f52bd0
4
- data.tar.gz: fa764e739265e75cad4bd2ca316818fc2a8bd070
3
+ metadata.gz: 0948595a30bc21e38ef24ed13df490cdc9655780
4
+ data.tar.gz: 7edd2aae83d4c0c6e55515047a975b6c141484c9
5
5
  SHA512:
6
- metadata.gz: cc7572c868a1ab9372b75500564763f1857fa3e206d10c336b234e14d1dcd6be672ae20925b6f849a26b37a83835275b139de6ecc65e79e32b5d747a8dae9885
7
- data.tar.gz: 7b11286b0105dcd57cdcbd370884cb2261f17063f5edf00981a4634a5c7829a07f13c75a913dddf3943179a9ae99303528870651a925dfa49200b59863578f50
6
+ metadata.gz: 7eef376febc6a3df6e34c84149c3cdcb11345a448898ad23efdc434dfdf12a85d39ec5edb706895a6525d4d43a0a64c2df689794a563d11132f5d80724a858cb
7
+ data.tar.gz: 6ace660f5fb3a50018c5b5197fc7db98336c85c319c46e02bcdece1fc14baa09af0027a63eb40583ea9b574ae942f7f8544d1d66c16240306d4918c5bb427ccd
@@ -1,132 +1,155 @@
1
- == Phonelib
1
+ ## Phonelib
2
2
 
3
- {<img src="https://badge.fury.io/rb/phonelib.svg" alt="Gem Version" />}[http://badge.fury.io/rb/phonelib]
4
- {<img src="https://travis-ci.org/daddyz/phonelib.png?branch=master" alt="Build Status" />}[http://travis-ci.org/daddyz/phonelib]
5
- {<img src="https://codeclimate.com/github/daddyz/phonelib/badges/coverage.svg" />}[https://codeclimate.com/github/daddyz/phonelib/coverage]
6
- {<img src="https://codeclimate.com/github/daddyz/phonelib/badges/gpa.svg" />}[https://codeclimate.com/github/daddyz/phonelib]
7
- {<img src="https://gemnasium.com/daddyz/phonelib.svg" alt="Dependency Status" />}[https://gemnasium.com/daddyz/phonelib]
8
- {<img src="http://inch-ci.org/github/daddyz/phonelib.svg?branch=master" alt="Inline docs" />}[http://inch-ci.org/github/daddyz/phonelib]
3
+ [![Gem Version](https://badge.fury.io/rb/phonelib.svg)](http://badge.fury.io/rb/phonelib)
4
+ [![Build Status](https://travis-ci.org/daddyz/phonelib.png?branch=master)](http://travis-ci.org/daddyz/phonelib)
5
+ [![](https://codeclimate.com/github/daddyz/phonelib/badges/coverage.svg)](https://codeclimate.com/github/daddyz/phonelib/coverage)
6
+ [![](https://codeclimate.com/github/daddyz/phonelib/badges/gpa.svg)](https://codeclimate.com/github/daddyz/phonelib)
7
+ [![Dependency Status](https://gemnasium.com/daddyz/phonelib.svg)](https://gemnasium.com/daddyz/phonelib)
8
+ [![Inline docs](http://inch-ci.org/github/daddyz/phonelib.svg?branch=master)](http://inch-ci.org/github/daddyz/phonelib)
9
9
 
10
- Phonelib is a gem allowing you to validate phone number. All validations are based on {Google libphonenumber}[http://code.google.com/p/libphonenumber/].
10
+ Phonelib is a gem allowing you to validate phone number. All validations are based on [Google libphonenumber](http://code.google.com/p/libphonenumber/).
11
11
  Currently it can make basic validations and formatting to e164 international number format and national number format with prefix.
12
12
  But it still doesn't include all Google's library functionality.
13
13
 
14
- == Information
14
+ ## Information
15
15
 
16
- === Change Log
16
+ ### Change Log
17
17
 
18
18
  Change log can be found in repo's wiki
19
19
  https://github.com/daddyz/phonelib/wiki/Change-Log
20
20
 
21
- === RDoc
22
-
23
- RDoc documentation can be found here
24
- http://rubydoc.info/gems/phonelib/frames
25
-
26
- === Bug reports
21
+ ### Bug reports
27
22
 
28
23
  If you discover a problem with Phonelib gem, let us know about it.
29
24
  https://github.com/daddyz/phonelib/issues
30
25
 
31
- === Example application
26
+ ### Example application
32
27
 
33
28
  You can see an example of ActiveRecord validation by phonelib working in spec/dummy application of this gem
34
29
 
35
- == Getting started
30
+ ## Getting started
36
31
 
37
32
  Phonelib was written and tested on Rails >= 3.1. You can install it by adding in to your Gemfile with:
38
33
 
39
- gem 'phonelib'
34
+ ``` ruby
35
+ gem 'phonelib'
36
+ ```
40
37
 
41
38
  Run the bundle command to install it.
42
39
 
43
- To set the default country (country names are {ISO 3166-1 Alpha-2}[http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2] codes), create a initializer in <tt>config/initializers/phonelib.rb</tt>:
40
+ To set the default country (country names are [ISO 3166-1 Alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) codes), create a initializer in <tt>config/initializers/phonelib.rb</tt>:
44
41
 
45
- Phonelib.default_country = "CN"
42
+ ``` ruby
43
+ Phonelib.default_country = "CN"
44
+ ```
46
45
 
47
46
  To use the ability to parse special numbers (Short Codes, Emergency etc.) you can set ```Phonelib.parse_special```. This is disabled by default
48
47
 
49
- Phonelib.parse_special = true
48
+ ``` ruby
49
+ Phonelib.parse_special = true
50
+ ```
50
51
 
51
52
  To disable sanitizing of passed phone number (keeping digits only)
52
53
 
53
- Phonelib.strict_check = true
54
+ ``` ruby
55
+ Phonelib.strict_check = true
56
+ ```
54
57
 
55
58
  To set different extension separator on formatting, this setting doesn't affect parsing. Default setting is ';'
56
59
 
57
- Phonelib.extension_separator = ';'
60
+ ``` ruby
61
+ Phonelib.extension_separator = ';'
62
+ ```
58
63
 
59
64
  To set symbols that are used for separating extension from phone number for parsing use ```Phonelib.extension_separate_symbols``` method. Default value is '#;'.
60
65
 
61
- Phonelib.extension_separate_symbols = '#;'
66
+ ``` ruby
67
+ Phonelib.extension_separate_symbols = '#;'
68
+ ```
62
69
 
63
70
  In case phone number that was passed for parsing has "+" sign in the beginning, library will try to detect a country regarding the provided one.
64
71
 
65
- === ActiveRecord Integration
72
+ ### ActiveRecord Integration
66
73
 
67
74
  This gem adds validator for active record.
68
75
  Basic usage:
69
76
 
70
- validates :attribute, phone: true
77
+ ``` ruby
78
+ validates :attribute, phone: true
79
+ ```
71
80
 
72
81
  This will enable Phonelib validator for field "attribute". This validator checks that passed value is valid phone number.
73
82
  Please note that passing blank value also fails.
74
83
 
75
84
  Additional options:
76
85
 
77
- validates :attribute, phone: { possible: true, allow_blank: true, types: [:voip, :mobile] }
86
+ ``` ruby
87
+ validates :attribute, phone: { possible: true, allow_blank: true, types: [:voip, :mobile] }
88
+ ```
78
89
 
79
90
  <tt>possible: true</tt> - enables validation to check whether the passed number is a possible phone number (not strict check).
80
- Refer to {Google libphonenumber}[http://code.google.com/p/libphonenumber/] for more information on it.
91
+ Refer to [Google libphonenumber](http://code.google.com/p/libphonenumber/) for more information on it.
81
92
 
82
93
  <tt>allow_blank: true</tt> - when no value passed then validation passes
83
94
 
84
95
  <tt>types: :mobile</tt> or <tt>types: [:voip, :mobile]</tt> - allows to validate against specific phone types patterns,
85
96
  if mixed with <tt>possible</tt> will check if number is possible for specified type
86
97
 
87
- === Basic usage
98
+ ### Basic usage
88
99
 
89
100
  To check if phone number is valid simply run:
90
101
 
91
- Phonelib.valid?('123456789') # returns true or false
102
+ ``` ruby
103
+ Phonelib.valid?('123456789') # returns true or false
104
+ ```
92
105
 
93
106
  Additional methods:
94
107
 
95
- Phonelib.valid? '123456789' # checks if passed value is valid number
96
- Phonelib.invalid? '123456789' # checks if passed value is invalid number
97
- Phonelib.possible? '123456789' # checks if passed value is possible number
98
- Phonelib.impossible? '123456789' # checks if passed value is impossible number
108
+ ``` ruby
109
+ Phonelib.valid? '123456789' # checks if passed value is valid number
110
+ Phonelib.invalid? '123456789' # checks if passed value is invalid number
111
+ Phonelib.possible? '123456789' # checks if passed value is possible number
112
+ Phonelib.impossible? '123456789' # checks if passed value is impossible number
113
+ ```
99
114
 
100
115
  There is also option to check if provided phone is valid for specified country.
101
116
  Country should be specified as two letters country code (like "US" for United States).
102
117
  Country can be specified as String <tt>'US'</tt> or <tt>'us'</tt> as well as symbol <tt>:us</tt>.
103
118
 
104
- Phonelib.valid_for_country? '123456789', 'XX' # checks if passed value is valid number for specified country
105
- Phonelib.invalid_for_country? '123456789', 'XX' # checks if passed value is invalid number for specified country
119
+ ``` ruby
120
+ Phonelib.valid_for_country? '123456789', 'XX' # checks if passed value is valid number for specified country
121
+ Phonelib.invalid_for_country? '123456789', 'XX' # checks if passed value is invalid number for specified country
122
+ ```
106
123
 
107
124
  Additionally you can run:
108
125
 
109
- phone = Phonelib.parse('123456789')
126
+ ``` ruby
127
+ phone = Phonelib.parse('123456789')
128
+ ```
110
129
 
111
130
  You can pass phone number with extension, it should be separated with <tt>;</tt> or <tt>#</tt> signs from the phone number.
112
131
 
113
132
  Returned value is object of <tt>Phonelib::Phone</tt> class which have following methods:
114
133
 
115
- # basic validation methods
116
- phone.valid?
117
- phone.invalid?
118
- phone.possible?
119
- phone.impossible?
134
+ ``` ruby
135
+ # basic validation methods
136
+ phone.valid?
137
+ phone.invalid?
138
+ phone.possible?
139
+ phone.impossible?
120
140
 
121
- # validations for countries
122
- phone.valid_for_country? 'XX'
123
- phone.invalid_for_country? 'XX'
141
+ # validations for countries
142
+ phone.valid_for_country? 'XX'
143
+ phone.invalid_for_country? 'XX'
144
+ ```
124
145
 
125
146
  You can also fetch matched valid phone types
126
147
 
127
- phone.types # returns array of all valid types
128
- phone.type # returns first element from array of all valid types
129
- phone.possible_types # returns array of all possible types
148
+ ``` ruby
149
+ phone.types # returns array of all valid types
150
+ phone.type # returns first element from array of all valid types
151
+ phone.possible_types # returns array of all possible types
152
+ ```
130
153
 
131
154
  Possible types:
132
155
  * <tt>:premium_rate</tt> - Premium Rate
@@ -154,64 +177,82 @@ Possible types:
154
177
 
155
178
  Or you can get human representation of matched types
156
179
 
157
- phone.human_types # return array of human representations of valid types
158
- phone.human_type # return human representation of first valid type
180
+ ``` ruby
181
+ phone.human_types # return array of human representations of valid types
182
+ phone.human_type # return human representation of first valid type
183
+ ```
159
184
 
160
185
  Also you can fetch all matched countries
161
186
 
162
- phone.countries # returns array of all matched countries
163
- phone.country # returns first element from array of all matched countries
164
- phone.valid_countries # returns array of countries where phone was matched against valid pattern
165
- phone.valid_country # returns first valid country from array of valid countries
166
- phone.country_code # returns country phone prefix
187
+ ``` ruby
188
+ phone.countries # returns array of all matched countries
189
+ phone.country # returns first element from array of all matched countries
190
+ phone.valid_countries # returns array of countries where phone was matched against valid pattern
191
+ phone.valid_country # returns first valid country from array of valid countries
192
+ phone.country_code # returns country phone prefix
193
+ ```
167
194
 
168
195
  Also it is possible to get formatted phone number
169
196
 
170
- phone.international # returns formatted e164 international phone number
171
- phone.national # returns formatted national number with national prefix
172
- phone.area_code # returns area code of parsed number or nil
173
- phone.local_number # returns local number
174
- phone.extension # returns extension provided with phone
175
- phone.full_e164 # returns e164 phone representation with extension
176
- phone.full_international # returns formatted international number with extension
197
+ ``` ruby
198
+ phone.international # returns formatted e164 international phone number
199
+ phone.national # returns formatted national number with national prefix
200
+ phone.area_code # returns area code of parsed number or nil
201
+ phone.local_number # returns local number
202
+ phone.extension # returns extension provided with phone
203
+ phone.full_e164 # returns e164 phone representation with extension
204
+ phone.full_international # returns formatted international number with extension
205
+ ```
177
206
 
178
207
  You can pass <tt>false</tt> to <tt>national</tt> and <tt>international</tt> methods in order to get unformatted representaions
179
208
 
180
- phone.international(false) # returns unformatted international phone
181
- phone.national(false) # returns unformatted national phone
209
+ ``` ruby
210
+ phone.international(false) # returns unformatted international phone
211
+ phone.national(false) # returns unformatted national phone
212
+ ```
182
213
 
183
214
  You can get E164 formatted number
184
215
 
185
- phone.e164 # returns number in E164 format
216
+ ``` ruby
217
+ phone.e164 # returns number in E164 format
218
+ ```
186
219
 
187
220
  There is extended data available for numbers. It will return <tt>nil</tt> in case there is no data or phone is impossible.
188
221
  Can return array of values in case there are some results for specified number
189
222
 
190
- phone.geo_name # returns geo name of parsed phone
191
- phone.timezone # returns timezone name of parsed phone
192
- phone.carrier # returns carrier name of parsed phone
223
+ ``` ruby
224
+ phone.geo_name # returns geo name of parsed phone
225
+ phone.timezone # returns timezone name of parsed phone
226
+ phone.carrier # returns carrier name of parsed phone
227
+ ```
193
228
 
194
229
  Phone class has following attributes
195
230
 
196
- phone.original # string that was passed as phone number
197
- phone.sanitized # sanitized phone number (only digits left)
231
+ ``` ruby
232
+ phone.original # string that was passed as phone number
233
+ phone.sanitized # sanitized phone number (only digits left)
234
+ ```
198
235
 
199
- === How it works
236
+ ### How it works
200
237
 
201
238
  Gem includes data from Google libphonenumber which has regex patterns for validations.
202
239
  Valid patterns are more specific to phone type and country.
203
240
  Possible patterns as usual are patterns with number of digits in number.
204
241
 
205
- === Development and tests
242
+ ### Development and tests
206
243
 
207
244
  Everyone can do whatever he wants, the only limit is your imagination.
208
245
  Just don't forget to write test before the pull request.
209
246
  In order to run test without Rails functionality simply use
210
247
 
211
- bundle exec rake spec
248
+ ```
249
+ bundle exec rake spec
250
+ ```
212
251
 
213
252
  If you want to run including Rails environment, you need to set <tt>BUNDLE_GEMFILE</tt> while running the spec task, for example:
214
253
 
215
- BUNDLE_GEMFILE=gemfiles/Gemfile.rails-3.2.x bundle exec rake spec
254
+ ```
255
+ BUNDLE_GEMFILE=gemfiles/Gemfile.rails-3.2.x bundle exec rake spec
256
+ ```
216
257
 
217
258
  Gemfiles can be found in <tt>gemfiles</tt> folder, there are gemfiles for Rails 3.1, 3.2 and 4.
Binary file
@@ -219,3 +219,19 @@ surprising how many false assumptions programmers continue to make about them.
219
219
  `1-555-123-4567`. This is technically incorrect. To call this number from
220
220
  Japan, where the international call prefix is `010`, one may dial either `+1
221
221
  555 123 4567` or `010 1 555 123 4567`.
222
+
223
+ 1. **Users will only store phone numbers in your product's phone number fields**
224
+
225
+ Some users use their contact lists to store things like birthdays or other
226
+ information. Unless a piece of user-supplied data has actually been verified
227
+ to be a phone number, it should be stored as-is as entered by the user.
228
+
229
+ 1. **Phone numbering plans published by governments or telecoms represent
230
+ reality**
231
+
232
+ National numbering plans, such as those administered by the
233
+ [ITU](http://www.itu.int/oth/T0202.aspx?parent=T0202), represent the
234
+ intentions of the government or telecom. These may be published before,
235
+ during, or after the actual implementation of numbering plan changes in the
236
+ real world. The actual date on which a phone number range becomes active may
237
+ not always adhere to official announcements.
@@ -68,6 +68,14 @@ Some number ranges are explicitly defined as being for fixed-line or mobile
68
68
  phones. We even represent ranges defined as being "Mostly land-line" in this
69
69
  way.
70
70
 
71
+ ### What is mobile number portability?
72
+
73
+ The ability to keep your mobile phone number when changing carriers. To see whether a region supports mobile number portability use [isMobileNumberPortableRegion](https://github.com/googlei18n/libphonenumber/blob/master/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3275).
74
+
75
+ ### Since it's possible to change the carrier for a phone number, how is the data kept up-to-date?
76
+
77
+ Not all regions support mobile number portability. For those that don't, we return the carrier when available. For those that do, we return the original carrier for the supplied number.
78
+
71
79
  ### What about M2M (machine to machine) numbers?
72
80
 
73
81
  libphonenumber does not support M2M numbers at the moment, but might in the
@@ -17,7 +17,7 @@ If you want to report an issue, or to contribute to the project, please read the
17
17
  * ` PhoneNumberOfflineGeocoder ` - provides geographical information related to a phone number.
18
18
  * ` PhoneNumberToCarrierMapper ` - provides carrier information related to a phone number.
19
19
 
20
- # Demo (v7.4.2)
20
+ # Demo (v7.5.1)
21
21
  [Java](http://libphonenumber.appspot.com/)
22
22
 
23
23
  [JavaScript](https://rawgit.com/googlei18n/libphonenumber/master/javascript/i18n/phonenumbers/demo-compiled.html)
@@ -778,112 +778,120 @@ static const unsigned char data[] = {
778
778
  0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D,
779
779
  0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32,
780
780
  0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20,
781
- 0x24, 0x34, 0x1A, 0x07, 0x32, 0x5B, 0x31, 0x32, 0x5D, 0x7C, 0x39, 0x0A, 0x54,
782
- 0x4A, 0x00, 0x50, 0xD3, 0x04, 0x9A, 0x01, 0x4C, 0x0A, 0x15, 0x28, 0x5C, 0x64,
781
+ 0x24, 0x34, 0x1A, 0x07, 0x32, 0x5B, 0x31, 0x32, 0x5D, 0x7C, 0x39, 0x0A, 0xC1,
782
+ 0x01, 0x4A, 0x00, 0x50, 0xD3, 0x04, 0x9A, 0x01, 0x4C, 0x0A, 0x15, 0x28, 0x5C,
783
+ 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28,
784
+ 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32,
785
+ 0x20, 0x24, 0x33, 0x1A, 0x29, 0x28, 0x3F, 0x3A, 0x5B, 0x32, 0x36, 0x5D, 0x31,
786
+ 0x7C, 0x33, 0x5B, 0x32, 0x38, 0x39, 0x5D, 0x7C, 0x34, 0x5B, 0x31, 0x32, 0x34,
787
+ 0x36, 0x37, 0x38, 0x5D, 0x7C, 0x37, 0x5B, 0x31, 0x32, 0x33, 0x5D, 0x7C, 0x38,
788
+ 0x5B, 0x31, 0x32, 0x33, 0x36, 0x5D, 0x29, 0x9A, 0x01, 0x44, 0x0A, 0x10, 0x28,
789
+ 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x36, 0x2C, 0x37,
790
+ 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x29, 0x28, 0x3F,
791
+ 0x3A, 0x5B, 0x32, 0x36, 0x5D, 0x31, 0x7C, 0x33, 0x5B, 0x32, 0x38, 0x39, 0x5D,
792
+ 0x7C, 0x34, 0x5B, 0x31, 0x32, 0x34, 0x36, 0x37, 0x38, 0x5D, 0x7C, 0x37, 0x5B,
793
+ 0x31, 0x32, 0x33, 0x5D, 0x7C, 0x38, 0x5B, 0x31, 0x32, 0x33, 0x36, 0x5D, 0x29,
794
+ 0x9A, 0x01, 0x23, 0x0A, 0x0E, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28,
795
+ 0x5C, 0x64, 0x7B, 0x36, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32,
796
+ 0x1A, 0x0A, 0x5B, 0x32, 0x2D, 0x38, 0x5D, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x0A,
797
+ 0xBB, 0x02, 0x4A, 0x00, 0x50, 0xFD, 0x02, 0x9A, 0x01, 0x2D, 0x0A, 0x14, 0x28,
798
+ 0x5B, 0x32, 0x33, 0x5D, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64,
799
+ 0x7B, 0x34, 0x2C, 0x39, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32,
800
+ 0x1A, 0x0E, 0x28, 0x3F, 0x3A, 0x32, 0x5B, 0x33, 0x38, 0x39, 0x5D, 0x7C, 0x33,
801
+ 0x39, 0x29, 0x30, 0x9A, 0x01, 0x51, 0x0A, 0x17, 0x28, 0x5B, 0x31, 0x2D, 0x33,
802
+ 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C,
803
+ 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
804
+ 0x24, 0x33, 0x1A, 0x2C, 0x31, 0x7C, 0x32, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D,
805
+ 0x32, 0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x5B, 0x33, 0x38, 0x39, 0x5D, 0x5B, 0x31,
806
+ 0x2D, 0x39, 0x5D, 0x29, 0x7C, 0x33, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x38,
807
+ 0x5D, 0x7C, 0x39, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x9A, 0x01, 0x5B, 0x0A,
808
+ 0x1E, 0x28, 0x5B, 0x31, 0x2D, 0x33, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64,
783
809
  0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
810
+ 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
811
+ 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x2C, 0x31, 0x7C, 0x32, 0x28, 0x3F, 0x3A,
812
+ 0x5B, 0x30, 0x2D, 0x32, 0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x5B, 0x33, 0x38, 0x39,
813
+ 0x5D, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x7C, 0x33, 0x28, 0x3F, 0x3A, 0x5B,
814
+ 0x30, 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x9A,
815
+ 0x01, 0x2C, 0x0A, 0x1A, 0x28, 0x36, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B,
816
+ 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64,
817
+ 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24,
818
+ 0x33, 0x20, 0x24, 0x34, 0x1A, 0x01, 0x36, 0x9A, 0x01, 0x22, 0x0A, 0x13, 0x28,
819
+ 0x36, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C,
784
820
  0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
785
- 0x24, 0x33, 0x1A, 0x29, 0x28, 0x3F, 0x3A, 0x5B, 0x32, 0x36, 0x5D, 0x31, 0x7C,
786
- 0x33, 0x5B, 0x32, 0x38, 0x39, 0x5D, 0x7C, 0x34, 0x5B, 0x31, 0x32, 0x34, 0x36,
787
- 0x37, 0x38, 0x5D, 0x7C, 0x37, 0x5B, 0x31, 0x32, 0x33, 0x5D, 0x7C, 0x38, 0x5B,
788
- 0x31, 0x32, 0x33, 0x36, 0x5D, 0x29, 0x0A, 0xBB, 0x02, 0x4A, 0x00, 0x50, 0xFD,
789
- 0x02, 0x9A, 0x01, 0x2D, 0x0A, 0x14, 0x28, 0x5B, 0x32, 0x33, 0x5D, 0x5C, 0x64,
790
- 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x2C, 0x39, 0x7D, 0x29,
791
- 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x0E, 0x28, 0x3F, 0x3A, 0x32,
792
- 0x5B, 0x33, 0x38, 0x39, 0x5D, 0x7C, 0x33, 0x39, 0x29, 0x30, 0x9A, 0x01, 0x51,
793
- 0x0A, 0x17, 0x28, 0x5B, 0x31, 0x2D, 0x33, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C,
794
- 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12,
795
- 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x2C, 0x31, 0x7C,
796
- 0x32, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x32, 0x34, 0x2D, 0x37, 0x5D, 0x7C,
797
- 0x5B, 0x33, 0x38, 0x39, 0x5D, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x7C, 0x33,
798
- 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B, 0x31, 0x2D,
799
- 0x39, 0x5D, 0x29, 0x9A, 0x01, 0x5B, 0x0A, 0x1E, 0x28, 0x5B, 0x31, 0x2D, 0x33,
800
- 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
801
- 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12,
802
- 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A,
803
- 0x2C, 0x31, 0x7C, 0x32, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x32, 0x34, 0x2D,
804
- 0x37, 0x5D, 0x7C, 0x5B, 0x33, 0x38, 0x39, 0x5D, 0x5B, 0x31, 0x2D, 0x39, 0x5D,
805
- 0x29, 0x7C, 0x33, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x38, 0x5D, 0x7C, 0x39,
806
- 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x9A, 0x01, 0x2C, 0x0A, 0x1A, 0x28, 0x36,
807
- 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
808
- 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B,
809
- 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x01,
810
- 0x36, 0x9A, 0x01, 0x22, 0x0A, 0x13, 0x28, 0x36, 0x5C, 0x64, 0x29, 0x28, 0x5C,
821
+ 0x24, 0x33, 0x1A, 0x01, 0x36, 0x0A, 0x80, 0x02, 0x4A, 0x00, 0x50, 0x07, 0x9A,
822
+ 0x01, 0x2A, 0x0A, 0x15, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x28, 0x5C,
811
823
  0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12,
812
- 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x01, 0x36, 0x0A,
813
- 0x80, 0x02, 0x4A, 0x00, 0x50, 0x07, 0x9A, 0x01, 0x2A, 0x0A, 0x15, 0x28, 0x5C,
814
- 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28,
815
- 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32,
816
- 0x2D, 0x24, 0x33, 0x1A, 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x9A,
817
- 0x01, 0x20, 0x0A, 0x0E, 0x28, 0x5C, 0x64, 0x7B, 0x35, 0x7D, 0x29, 0x28, 0x5C,
818
- 0x64, 0x7B, 0x35, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A,
819
- 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x34, 0x0A, 0x1C,
820
- 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D,
821
- 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32,
822
- 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x2D, 0x24, 0x33, 0x2D,
823
- 0x24, 0x34, 0x1A, 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01,
824
- 0x34, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
825
- 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
826
- 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x2D,
827
- 0x24, 0x33, 0x2D, 0x24, 0x34, 0x1A, 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39,
828
- 0x5D, 0x9A, 0x01, 0x3B, 0x0A, 0x20, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29,
829
- 0x28, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
830
- 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12,
831
- 0x0E, 0x24, 0x31, 0x2D, 0x24, 0x32, 0x20, 0x24, 0x33, 0x2D, 0x24, 0x34, 0x2D,
832
- 0x24, 0x35, 0x1A, 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x0A, 0x22,
833
- 0x4A, 0x00, 0x50, 0x42, 0x9A, 0x01, 0x1B, 0x0A, 0x0F, 0x28, 0x32, 0x5C, 0x64,
834
- 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x12, 0x05,
835
- 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x01, 0x32, 0x0A, 0x2F, 0x4A, 0x00, 0x50,
836
- 0xA4, 0x05, 0x9A, 0x01, 0x27, 0x0A, 0x0E, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D,
837
- 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x35, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20,
838
- 0x24, 0x32, 0x1A, 0x0E, 0x37, 0x5B, 0x35, 0x2D, 0x39, 0x5D, 0x7C, 0x38, 0x5B,
839
- 0x34, 0x37, 0x2D, 0x39, 0x5D, 0x0A, 0x53, 0x4A, 0x00, 0x50, 0x5A, 0x9A, 0x01,
840
- 0x4C, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
841
- 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
842
- 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
843
- 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x1F, 0x5B, 0x32, 0x33, 0x35, 0x38, 0x39,
844
- 0x5D, 0x7C, 0x34, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x33, 0x35, 0x2D, 0x39,
845
- 0x5D, 0x7C, 0x34, 0x5B, 0x30, 0x2D, 0x33, 0x35, 0x2D, 0x39, 0x5D, 0x29, 0x0A,
846
- 0x5B, 0x4A, 0x00, 0x50, 0xFF, 0x01, 0x9A, 0x01, 0x28, 0x0A, 0x16, 0x28, 0x5B,
847
- 0x36, 0x37, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29,
848
- 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24,
849
- 0x32, 0x20, 0x24, 0x33, 0x1A, 0x04, 0x5B, 0x36, 0x37, 0x5D, 0x9A, 0x01, 0x28,
850
- 0x0A, 0x16, 0x28, 0x5B, 0x36, 0x37, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64,
851
- 0x7B, 0x34, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08,
852
- 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x04, 0x5B, 0x36, 0x37,
853
- 0x5D, 0x0A, 0xF1, 0x01, 0x4A, 0x00, 0x50, 0xFC, 0x02, 0x9A, 0x01, 0x73, 0x0A,
854
- 0x20, 0x28, 0x5B, 0x33, 0x2D, 0x36, 0x38, 0x39, 0x5D, 0x5C, 0x64, 0x29, 0x28,
855
- 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29,
856
- 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24,
857
- 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x42, 0x5B, 0x33, 0x38, 0x5D,
858
- 0x39, 0x7C, 0x34, 0x28, 0x3F, 0x3A, 0x5B, 0x34, 0x35, 0x5D, 0x5B, 0x30, 0x2D,
859
- 0x35, 0x5D, 0x7C, 0x38, 0x37, 0x29, 0x7C, 0x35, 0x28, 0x3F, 0x3A, 0x30, 0x7C,
860
- 0x36, 0x28, 0x3F, 0x3A, 0x33, 0x5B, 0x31, 0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x37,
861
- 0x29, 0x7C, 0x37, 0x5B, 0x33, 0x37, 0x5D, 0x29, 0x7C, 0x36, 0x5B, 0x33, 0x36,
862
- 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x73,
863
- 0x0A, 0x20, 0x28, 0x5B, 0x33, 0x2D, 0x36, 0x38, 0x39, 0x5D, 0x5C, 0x64, 0x29,
864
- 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D,
824
+ 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x2D, 0x24, 0x33, 0x1A, 0x07, 0x5B, 0x33,
825
+ 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x20, 0x0A, 0x0E, 0x28, 0x5C, 0x64,
826
+ 0x7B, 0x35, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x35, 0x7D, 0x29, 0x12, 0x05,
827
+ 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39,
828
+ 0x5D, 0x9A, 0x01, 0x34, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29,
829
+ 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D,
865
830
  0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20,
866
- 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x42, 0x5B, 0x33, 0x38,
867
- 0x5D, 0x39, 0x7C, 0x34, 0x28, 0x3F, 0x3A, 0x5B, 0x34, 0x35, 0x5D, 0x5B, 0x30,
868
- 0x2D, 0x35, 0x5D, 0x7C, 0x38, 0x37, 0x29, 0x7C, 0x35, 0x28, 0x3F, 0x3A, 0x30,
869
- 0x7C, 0x36, 0x28, 0x3F, 0x3A, 0x33, 0x5B, 0x31, 0x34, 0x2D, 0x37, 0x5D, 0x7C,
870
- 0x37, 0x29, 0x7C, 0x37, 0x5B, 0x33, 0x37, 0x5D, 0x29, 0x7C, 0x36, 0x5B, 0x33,
871
- 0x36, 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x0A, 0x28,
872
- 0x4A, 0x00, 0x50, 0x3A, 0x9A, 0x01, 0x21, 0x0A, 0x15, 0x28, 0x5C, 0x64, 0x7B,
831
+ 0x24, 0x32, 0x2D, 0x24, 0x33, 0x2D, 0x24, 0x34, 0x1A, 0x07, 0x5B, 0x33, 0x34,
832
+ 0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x34, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B,
833
+ 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64,
834
+ 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x0B,
835
+ 0x24, 0x31, 0x20, 0x24, 0x32, 0x2D, 0x24, 0x33, 0x2D, 0x24, 0x34, 0x1A, 0x07,
836
+ 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x3B, 0x0A, 0x20, 0x28,
837
+ 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64,
838
+ 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
839
+ 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0E, 0x24, 0x31, 0x2D, 0x24, 0x32, 0x20,
840
+ 0x24, 0x33, 0x2D, 0x24, 0x34, 0x2D, 0x24, 0x35, 0x1A, 0x07, 0x5B, 0x33, 0x34,
841
+ 0x36, 0x2D, 0x39, 0x5D, 0x0A, 0x22, 0x4A, 0x00, 0x50, 0x42, 0x9A, 0x01, 0x1B,
842
+ 0x0A, 0x0F, 0x28, 0x32, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
843
+ 0x7B, 0x34, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x01,
844
+ 0x32, 0x0A, 0x2F, 0x4A, 0x00, 0x50, 0xA4, 0x05, 0x9A, 0x01, 0x27, 0x0A, 0x0E,
845
+ 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x35, 0x7D,
846
+ 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x0E, 0x37, 0x5B, 0x35,
847
+ 0x2D, 0x39, 0x5D, 0x7C, 0x38, 0x5B, 0x34, 0x37, 0x2D, 0x39, 0x5D, 0x0A, 0x53,
848
+ 0x4A, 0x00, 0x50, 0x5A, 0x9A, 0x01, 0x4C, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B,
873
849
  0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
874
- 0x7B, 0x34, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24,
875
- 0x33, 0x0A, 0x5F, 0x4A, 0x00, 0x50, 0x54, 0x9A, 0x01, 0x25, 0x0A, 0x16, 0x28,
876
- 0x39, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D,
877
- 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20,
878
- 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x01, 0x39, 0x9A, 0x01, 0x30, 0x0A, 0x1B,
879
- 0x28, 0x5B, 0x34, 0x38, 0x5D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29,
880
- 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D,
850
+ 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B,
851
+ 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x1F,
852
+ 0x5B, 0x32, 0x33, 0x35, 0x38, 0x39, 0x5D, 0x7C, 0x34, 0x28, 0x3F, 0x3A, 0x5B,
853
+ 0x30, 0x2D, 0x33, 0x35, 0x2D, 0x39, 0x5D, 0x7C, 0x34, 0x5B, 0x30, 0x2D, 0x33,
854
+ 0x35, 0x2D, 0x39, 0x5D, 0x29, 0x0A, 0x5B, 0x4A, 0x00, 0x50, 0xFF, 0x01, 0x9A,
855
+ 0x01, 0x28, 0x0A, 0x16, 0x28, 0x5B, 0x36, 0x37, 0x5D, 0x5C, 0x64, 0x29, 0x28,
856
+ 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29,
857
+ 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x04, 0x5B,
858
+ 0x36, 0x37, 0x5D, 0x9A, 0x01, 0x28, 0x0A, 0x16, 0x28, 0x5B, 0x36, 0x37, 0x5D,
859
+ 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x28, 0x5C, 0x64,
860
+ 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24,
861
+ 0x33, 0x1A, 0x04, 0x5B, 0x36, 0x37, 0x5D, 0x0A, 0xF1, 0x01, 0x4A, 0x00, 0x50,
862
+ 0xFC, 0x02, 0x9A, 0x01, 0x73, 0x0A, 0x20, 0x28, 0x5B, 0x33, 0x2D, 0x36, 0x38,
863
+ 0x39, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28,
864
+ 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29,
865
+ 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34,
866
+ 0x1A, 0x42, 0x5B, 0x33, 0x38, 0x5D, 0x39, 0x7C, 0x34, 0x28, 0x3F, 0x3A, 0x5B,
867
+ 0x34, 0x35, 0x5D, 0x5B, 0x30, 0x2D, 0x35, 0x5D, 0x7C, 0x38, 0x37, 0x29, 0x7C,
868
+ 0x35, 0x28, 0x3F, 0x3A, 0x30, 0x7C, 0x36, 0x28, 0x3F, 0x3A, 0x33, 0x5B, 0x31,
869
+ 0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x37, 0x29, 0x7C, 0x37, 0x5B, 0x33, 0x37, 0x5D,
870
+ 0x29, 0x7C, 0x36, 0x5B, 0x33, 0x36, 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B, 0x31,
871
+ 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x73, 0x0A, 0x20, 0x28, 0x5B, 0x33, 0x2D, 0x36,
872
+ 0x38, 0x39, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29,
873
+ 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D,
881
874
  0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24,
882
- 0x34, 0x1A, 0x04, 0x5B, 0x34, 0x38, 0x5D, 0x0A, 0x30, 0x4A, 0x00, 0x50, 0x1B,
883
- 0x9A, 0x01, 0x29, 0x0A, 0x14, 0x28, 0x38, 0x36, 0x5C, 0x64, 0x29, 0x28, 0x5C,
884
- 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12,
885
- 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x07, 0x38, 0x36,
886
- 0x5B, 0x31, 0x2D, 0x39, 0x5D
875
+ 0x34, 0x1A, 0x42, 0x5B, 0x33, 0x38, 0x5D, 0x39, 0x7C, 0x34, 0x28, 0x3F, 0x3A,
876
+ 0x5B, 0x34, 0x35, 0x5D, 0x5B, 0x30, 0x2D, 0x35, 0x5D, 0x7C, 0x38, 0x37, 0x29,
877
+ 0x7C, 0x35, 0x28, 0x3F, 0x3A, 0x30, 0x7C, 0x36, 0x28, 0x3F, 0x3A, 0x33, 0x5B,
878
+ 0x31, 0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x37, 0x29, 0x7C, 0x37, 0x5B, 0x33, 0x37,
879
+ 0x5D, 0x29, 0x7C, 0x36, 0x5B, 0x33, 0x36, 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B,
880
+ 0x31, 0x2D, 0x39, 0x5D, 0x0A, 0x28, 0x4A, 0x00, 0x50, 0x3A, 0x9A, 0x01, 0x21,
881
+ 0x0A, 0x15, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B,
882
+ 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x12, 0x08, 0x24,
883
+ 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x0A, 0x5F, 0x4A, 0x00, 0x50, 0x54,
884
+ 0x9A, 0x01, 0x25, 0x0A, 0x16, 0x28, 0x39, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29,
885
+ 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D,
886
+ 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x01,
887
+ 0x39, 0x9A, 0x01, 0x30, 0x0A, 0x1B, 0x28, 0x5B, 0x34, 0x38, 0x5D, 0x29, 0x28,
888
+ 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29,
889
+ 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24,
890
+ 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x04, 0x5B, 0x34, 0x38, 0x5D,
891
+ 0x0A, 0x30, 0x4A, 0x00, 0x50, 0x1B, 0x9A, 0x01, 0x29, 0x0A, 0x14, 0x28, 0x38,
892
+ 0x36, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C,
893
+ 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
894
+ 0x24, 0x33, 0x1A, 0x07, 0x38, 0x36, 0x5B, 0x31, 0x2D, 0x39, 0x5D
887
895
  };
888
896
  } // namespace
889
897