Update generated .pb.js files with proper generated proto2 descriptor APIs
[platform/upstream/libphonenumber.git] / javascript / i18n / phonenumbers / phonemetadata.pb.js
1 /**
2  * @license
3  * Protocol Buffer 2 Copyright 2008 Google Inc.
4  * All other code copyright its respective owners.
5  * Copyright (C) 2010 The Libphonenumber Authors
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19
20 /**
21  * @fileoverview Generated Protocol Buffer code for file
22  * phonemetadata.proto.
23  */
24
25 goog.provide('i18n.phonenumbers.NumberFormat');
26 goog.provide('i18n.phonenumbers.PhoneMetadata');
27 goog.provide('i18n.phonenumbers.PhoneMetadataCollection');
28 goog.provide('i18n.phonenumbers.PhoneNumberDesc');
29
30 goog.require('goog.proto2.Message');
31
32
33
34 /**
35  * Message NumberFormat.
36  * @constructor
37  * @extends {goog.proto2.Message}
38  */
39 i18n.phonenumbers.NumberFormat = function() {
40   goog.proto2.Message.call(this);
41 };
42 goog.inherits(i18n.phonenumbers.NumberFormat, goog.proto2.Message);
43
44
45 /**
46  * Overrides {@link goog.proto2.Message#clone} to specify its exact return type.
47  * @return {!i18n.phonenumbers.NumberFormat} The cloned message.
48  * @override
49  */
50 i18n.phonenumbers.NumberFormat.prototype.clone;
51
52
53 /**
54  * Gets the value of the pattern field.
55  * @return {?string} The value.
56  */
57 i18n.phonenumbers.NumberFormat.prototype.getPattern = function() {
58   return /** @type {?string} */ (this.get$Value(1));
59 };
60
61
62 /**
63  * Gets the value of the pattern field or the default value if not set.
64  * @return {string} The value.
65  */
66 i18n.phonenumbers.NumberFormat.prototype.getPatternOrDefault = function() {
67   return /** @type {string} */ (this.get$ValueOrDefault(1));
68 };
69
70
71 /**
72  * Sets the value of the pattern field.
73  * @param {string} value The value.
74  */
75 i18n.phonenumbers.NumberFormat.prototype.setPattern = function(value) {
76   this.set$Value(1, value);
77 };
78
79
80 /**
81  * @return {boolean} Whether the pattern field has a value.
82  */
83 i18n.phonenumbers.NumberFormat.prototype.hasPattern = function() {
84   return this.has$Value(1);
85 };
86
87
88 /**
89  * @return {number} The number of values in the pattern field.
90  */
91 i18n.phonenumbers.NumberFormat.prototype.patternCount = function() {
92   return this.count$Values(1);
93 };
94
95
96 /**
97  * Clears the values in the pattern field.
98  */
99 i18n.phonenumbers.NumberFormat.prototype.clearPattern = function() {
100   this.clear$Field(1);
101 };
102
103
104 /**
105  * Gets the value of the format field.
106  * @return {?string} The value.
107  */
108 i18n.phonenumbers.NumberFormat.prototype.getFormat = function() {
109   return /** @type {?string} */ (this.get$Value(2));
110 };
111
112
113 /**
114  * Gets the value of the format field or the default value if not set.
115  * @return {string} The value.
116  */
117 i18n.phonenumbers.NumberFormat.prototype.getFormatOrDefault = function() {
118   return /** @type {string} */ (this.get$ValueOrDefault(2));
119 };
120
121
122 /**
123  * Sets the value of the format field.
124  * @param {string} value The value.
125  */
126 i18n.phonenumbers.NumberFormat.prototype.setFormat = function(value) {
127   this.set$Value(2, value);
128 };
129
130
131 /**
132  * @return {boolean} Whether the format field has a value.
133  */
134 i18n.phonenumbers.NumberFormat.prototype.hasFormat = function() {
135   return this.has$Value(2);
136 };
137
138
139 /**
140  * @return {number} The number of values in the format field.
141  */
142 i18n.phonenumbers.NumberFormat.prototype.formatCount = function() {
143   return this.count$Values(2);
144 };
145
146
147 /**
148  * Clears the values in the format field.
149  */
150 i18n.phonenumbers.NumberFormat.prototype.clearFormat = function() {
151   this.clear$Field(2);
152 };
153
154
155 /**
156  * Gets the value of the leading_digits_pattern field at the index given.
157  * @param {number} index The index to lookup.
158  * @return {?string} The value.
159  */
160 i18n.phonenumbers.NumberFormat.prototype.getLeadingDigitsPattern = function(index) {
161   return /** @type {?string} */ (this.get$Value(3, index));
162 };
163
164
165 /**
166  * Gets the value of the leading_digits_pattern field at the index given or the default value if not set.
167  * @param {number} index The index to lookup.
168  * @return {string} The value.
169  */
170 i18n.phonenumbers.NumberFormat.prototype.getLeadingDigitsPatternOrDefault = function(index) {
171   return /** @type {string} */ (this.get$ValueOrDefault(3, index));
172 };
173
174
175 /**
176  * Adds a value to the leading_digits_pattern field.
177  * @param {string} value The value to add.
178  */
179 i18n.phonenumbers.NumberFormat.prototype.addLeadingDigitsPattern = function(value) {
180   this.add$Value(3, value);
181 };
182
183
184 /**
185  * Returns the array of values in the leading_digits_pattern field.
186  * @return {!Array.<string>} The values in the field.
187  */
188 i18n.phonenumbers.NumberFormat.prototype.leadingDigitsPatternArray = function() {
189   return /** @type {!Array.<string>} */ (this.array$Values(3));
190 };
191
192
193 /**
194  * @return {boolean} Whether the leading_digits_pattern field has a value.
195  */
196 i18n.phonenumbers.NumberFormat.prototype.hasLeadingDigitsPattern = function() {
197   return this.has$Value(3);
198 };
199
200
201 /**
202  * @return {number} The number of values in the leading_digits_pattern field.
203  */
204 i18n.phonenumbers.NumberFormat.prototype.leadingDigitsPatternCount = function() {
205   return this.count$Values(3);
206 };
207
208
209 /**
210  * Clears the values in the leading_digits_pattern field.
211  */
212 i18n.phonenumbers.NumberFormat.prototype.clearLeadingDigitsPattern = function() {
213   this.clear$Field(3);
214 };
215
216
217 /**
218  * Gets the value of the national_prefix_formatting_rule field.
219  * @return {?string} The value.
220  */
221 i18n.phonenumbers.NumberFormat.prototype.getNationalPrefixFormattingRule = function() {
222   return /** @type {?string} */ (this.get$Value(4));
223 };
224
225
226 /**
227  * Gets the value of the national_prefix_formatting_rule field or the default value if not set.
228  * @return {string} The value.
229  */
230 i18n.phonenumbers.NumberFormat.prototype.getNationalPrefixFormattingRuleOrDefault = function() {
231   return /** @type {string} */ (this.get$ValueOrDefault(4));
232 };
233
234
235 /**
236  * Sets the value of the national_prefix_formatting_rule field.
237  * @param {string} value The value.
238  */
239 i18n.phonenumbers.NumberFormat.prototype.setNationalPrefixFormattingRule = function(value) {
240   this.set$Value(4, value);
241 };
242
243
244 /**
245  * @return {boolean} Whether the national_prefix_formatting_rule field has a value.
246  */
247 i18n.phonenumbers.NumberFormat.prototype.hasNationalPrefixFormattingRule = function() {
248   return this.has$Value(4);
249 };
250
251
252 /**
253  * @return {number} The number of values in the national_prefix_formatting_rule field.
254  */
255 i18n.phonenumbers.NumberFormat.prototype.nationalPrefixFormattingRuleCount = function() {
256   return this.count$Values(4);
257 };
258
259
260 /**
261  * Clears the values in the national_prefix_formatting_rule field.
262  */
263 i18n.phonenumbers.NumberFormat.prototype.clearNationalPrefixFormattingRule = function() {
264   this.clear$Field(4);
265 };
266
267
268 /**
269  * Gets the value of the national_prefix_optional_when_formatting field.
270  * @return {?boolean} The value.
271  */
272 i18n.phonenumbers.NumberFormat.prototype.getNationalPrefixOptionalWhenFormatting = function() {
273   return /** @type {?boolean} */ (this.get$Value(6));
274 };
275
276
277 /**
278  * Gets the value of the national_prefix_optional_when_formatting field or the default value if not set.
279  * @return {boolean} The value.
280  */
281 i18n.phonenumbers.NumberFormat.prototype.getNationalPrefixOptionalWhenFormattingOrDefault = function() {
282   return /** @type {boolean} */ (this.get$ValueOrDefault(6));
283 };
284
285
286 /**
287  * Sets the value of the national_prefix_optional_when_formatting field.
288  * @param {boolean} value The value.
289  */
290 i18n.phonenumbers.NumberFormat.prototype.setNationalPrefixOptionalWhenFormatting = function(value) {
291   this.set$Value(6, value);
292 };
293
294
295 /**
296  * @return {boolean} Whether the national_prefix_optional_when_formatting field has a value.
297  */
298 i18n.phonenumbers.NumberFormat.prototype.hasNationalPrefixOptionalWhenFormatting = function() {
299   return this.has$Value(6);
300 };
301
302
303 /**
304  * @return {number} The number of values in the national_prefix_optional_when_formatting field.
305  */
306 i18n.phonenumbers.NumberFormat.prototype.nationalPrefixOptionalWhenFormattingCount = function() {
307   return this.count$Values(6);
308 };
309
310
311 /**
312  * Clears the values in the national_prefix_optional_when_formatting field.
313  */
314 i18n.phonenumbers.NumberFormat.prototype.clearNationalPrefixOptionalWhenFormatting = function() {
315   this.clear$Field(6);
316 };
317
318
319 /**
320  * Gets the value of the domestic_carrier_code_formatting_rule field.
321  * @return {?string} The value.
322  */
323 i18n.phonenumbers.NumberFormat.prototype.getDomesticCarrierCodeFormattingRule = function() {
324   return /** @type {?string} */ (this.get$Value(5));
325 };
326
327
328 /**
329  * Gets the value of the domestic_carrier_code_formatting_rule field or the default value if not set.
330  * @return {string} The value.
331  */
332 i18n.phonenumbers.NumberFormat.prototype.getDomesticCarrierCodeFormattingRuleOrDefault = function() {
333   return /** @type {string} */ (this.get$ValueOrDefault(5));
334 };
335
336
337 /**
338  * Sets the value of the domestic_carrier_code_formatting_rule field.
339  * @param {string} value The value.
340  */
341 i18n.phonenumbers.NumberFormat.prototype.setDomesticCarrierCodeFormattingRule = function(value) {
342   this.set$Value(5, value);
343 };
344
345
346 /**
347  * @return {boolean} Whether the domestic_carrier_code_formatting_rule field has a value.
348  */
349 i18n.phonenumbers.NumberFormat.prototype.hasDomesticCarrierCodeFormattingRule = function() {
350   return this.has$Value(5);
351 };
352
353
354 /**
355  * @return {number} The number of values in the domestic_carrier_code_formatting_rule field.
356  */
357 i18n.phonenumbers.NumberFormat.prototype.domesticCarrierCodeFormattingRuleCount = function() {
358   return this.count$Values(5);
359 };
360
361
362 /**
363  * Clears the values in the domestic_carrier_code_formatting_rule field.
364  */
365 i18n.phonenumbers.NumberFormat.prototype.clearDomesticCarrierCodeFormattingRule = function() {
366   this.clear$Field(5);
367 };
368
369
370
371 /**
372  * Message PhoneNumberDesc.
373  * @constructor
374  * @extends {goog.proto2.Message}
375  */
376 i18n.phonenumbers.PhoneNumberDesc = function() {
377   goog.proto2.Message.call(this);
378 };
379 goog.inherits(i18n.phonenumbers.PhoneNumberDesc, goog.proto2.Message);
380
381
382 /**
383  * Overrides {@link goog.proto2.Message#clone} to specify its exact return type.
384  * @return {!i18n.phonenumbers.PhoneNumberDesc} The cloned message.
385  * @override
386  */
387 i18n.phonenumbers.PhoneNumberDesc.prototype.clone;
388
389
390 /**
391  * Gets the value of the national_number_pattern field.
392  * @return {?string} The value.
393  */
394 i18n.phonenumbers.PhoneNumberDesc.prototype.getNationalNumberPattern = function() {
395   return /** @type {?string} */ (this.get$Value(2));
396 };
397
398
399 /**
400  * Gets the value of the national_number_pattern field or the default value if not set.
401  * @return {string} The value.
402  */
403 i18n.phonenumbers.PhoneNumberDesc.prototype.getNationalNumberPatternOrDefault = function() {
404   return /** @type {string} */ (this.get$ValueOrDefault(2));
405 };
406
407
408 /**
409  * Sets the value of the national_number_pattern field.
410  * @param {string} value The value.
411  */
412 i18n.phonenumbers.PhoneNumberDesc.prototype.setNationalNumberPattern = function(value) {
413   this.set$Value(2, value);
414 };
415
416
417 /**
418  * @return {boolean} Whether the national_number_pattern field has a value.
419  */
420 i18n.phonenumbers.PhoneNumberDesc.prototype.hasNationalNumberPattern = function() {
421   return this.has$Value(2);
422 };
423
424
425 /**
426  * @return {number} The number of values in the national_number_pattern field.
427  */
428 i18n.phonenumbers.PhoneNumberDesc.prototype.nationalNumberPatternCount = function() {
429   return this.count$Values(2);
430 };
431
432
433 /**
434  * Clears the values in the national_number_pattern field.
435  */
436 i18n.phonenumbers.PhoneNumberDesc.prototype.clearNationalNumberPattern = function() {
437   this.clear$Field(2);
438 };
439
440
441 /**
442  * Gets the value of the possible_number_pattern field.
443  * @return {?string} The value.
444  */
445 i18n.phonenumbers.PhoneNumberDesc.prototype.getPossibleNumberPattern = function() {
446   return /** @type {?string} */ (this.get$Value(3));
447 };
448
449
450 /**
451  * Gets the value of the possible_number_pattern field or the default value if not set.
452  * @return {string} The value.
453  */
454 i18n.phonenumbers.PhoneNumberDesc.prototype.getPossibleNumberPatternOrDefault = function() {
455   return /** @type {string} */ (this.get$ValueOrDefault(3));
456 };
457
458
459 /**
460  * Sets the value of the possible_number_pattern field.
461  * @param {string} value The value.
462  */
463 i18n.phonenumbers.PhoneNumberDesc.prototype.setPossibleNumberPattern = function(value) {
464   this.set$Value(3, value);
465 };
466
467
468 /**
469  * @return {boolean} Whether the possible_number_pattern field has a value.
470  */
471 i18n.phonenumbers.PhoneNumberDesc.prototype.hasPossibleNumberPattern = function() {
472   return this.has$Value(3);
473 };
474
475
476 /**
477  * @return {number} The number of values in the possible_number_pattern field.
478  */
479 i18n.phonenumbers.PhoneNumberDesc.prototype.possibleNumberPatternCount = function() {
480   return this.count$Values(3);
481 };
482
483
484 /**
485  * Clears the values in the possible_number_pattern field.
486  */
487 i18n.phonenumbers.PhoneNumberDesc.prototype.clearPossibleNumberPattern = function() {
488   this.clear$Field(3);
489 };
490
491
492 /**
493  * Gets the value of the example_number field.
494  * @return {?string} The value.
495  */
496 i18n.phonenumbers.PhoneNumberDesc.prototype.getExampleNumber = function() {
497   return /** @type {?string} */ (this.get$Value(6));
498 };
499
500
501 /**
502  * Gets the value of the example_number field or the default value if not set.
503  * @return {string} The value.
504  */
505 i18n.phonenumbers.PhoneNumberDesc.prototype.getExampleNumberOrDefault = function() {
506   return /** @type {string} */ (this.get$ValueOrDefault(6));
507 };
508
509
510 /**
511  * Sets the value of the example_number field.
512  * @param {string} value The value.
513  */
514 i18n.phonenumbers.PhoneNumberDesc.prototype.setExampleNumber = function(value) {
515   this.set$Value(6, value);
516 };
517
518
519 /**
520  * @return {boolean} Whether the example_number field has a value.
521  */
522 i18n.phonenumbers.PhoneNumberDesc.prototype.hasExampleNumber = function() {
523   return this.has$Value(6);
524 };
525
526
527 /**
528  * @return {number} The number of values in the example_number field.
529  */
530 i18n.phonenumbers.PhoneNumberDesc.prototype.exampleNumberCount = function() {
531   return this.count$Values(6);
532 };
533
534
535 /**
536  * Clears the values in the example_number field.
537  */
538 i18n.phonenumbers.PhoneNumberDesc.prototype.clearExampleNumber = function() {
539   this.clear$Field(6);
540 };
541
542
543 /**
544  * Gets the value of the national_number_matcher_data field.
545  * @return {?string} The value.
546  */
547 i18n.phonenumbers.PhoneNumberDesc.prototype.getNationalNumberMatcherData = function() {
548   return /** @type {?string} */ (this.get$Value(7));
549 };
550
551
552 /**
553  * Gets the value of the national_number_matcher_data field or the default value if not set.
554  * @return {string} The value.
555  */
556 i18n.phonenumbers.PhoneNumberDesc.prototype.getNationalNumberMatcherDataOrDefault = function() {
557   return /** @type {string} */ (this.get$ValueOrDefault(7));
558 };
559
560
561 /**
562  * Sets the value of the national_number_matcher_data field.
563  * @param {string} value The value.
564  */
565 i18n.phonenumbers.PhoneNumberDesc.prototype.setNationalNumberMatcherData = function(value) {
566   this.set$Value(7, value);
567 };
568
569
570 /**
571  * @return {boolean} Whether the national_number_matcher_data field has a value.
572  */
573 i18n.phonenumbers.PhoneNumberDesc.prototype.hasNationalNumberMatcherData = function() {
574   return this.has$Value(7);
575 };
576
577
578 /**
579  * @return {number} The number of values in the national_number_matcher_data field.
580  */
581 i18n.phonenumbers.PhoneNumberDesc.prototype.nationalNumberMatcherDataCount = function() {
582   return this.count$Values(7);
583 };
584
585
586 /**
587  * Clears the values in the national_number_matcher_data field.
588  */
589 i18n.phonenumbers.PhoneNumberDesc.prototype.clearNationalNumberMatcherData = function() {
590   this.clear$Field(7);
591 };
592
593
594 /**
595  * Gets the value of the possible_number_matcher_data field.
596  * @return {?string} The value.
597  */
598 i18n.phonenumbers.PhoneNumberDesc.prototype.getPossibleNumberMatcherData = function() {
599   return /** @type {?string} */ (this.get$Value(8));
600 };
601
602
603 /**
604  * Gets the value of the possible_number_matcher_data field or the default value if not set.
605  * @return {string} The value.
606  */
607 i18n.phonenumbers.PhoneNumberDesc.prototype.getPossibleNumberMatcherDataOrDefault = function() {
608   return /** @type {string} */ (this.get$ValueOrDefault(8));
609 };
610
611
612 /**
613  * Sets the value of the possible_number_matcher_data field.
614  * @param {string} value The value.
615  */
616 i18n.phonenumbers.PhoneNumberDesc.prototype.setPossibleNumberMatcherData = function(value) {
617   this.set$Value(8, value);
618 };
619
620
621 /**
622  * @return {boolean} Whether the possible_number_matcher_data field has a value.
623  */
624 i18n.phonenumbers.PhoneNumberDesc.prototype.hasPossibleNumberMatcherData = function() {
625   return this.has$Value(8);
626 };
627
628
629 /**
630  * @return {number} The number of values in the possible_number_matcher_data field.
631  */
632 i18n.phonenumbers.PhoneNumberDesc.prototype.possibleNumberMatcherDataCount = function() {
633   return this.count$Values(8);
634 };
635
636
637 /**
638  * Clears the values in the possible_number_matcher_data field.
639  */
640 i18n.phonenumbers.PhoneNumberDesc.prototype.clearPossibleNumberMatcherData = function() {
641   this.clear$Field(8);
642 };
643
644
645
646 /**
647  * Message PhoneMetadata.
648  * @constructor
649  * @extends {goog.proto2.Message}
650  */
651 i18n.phonenumbers.PhoneMetadata = function() {
652   goog.proto2.Message.call(this);
653 };
654 goog.inherits(i18n.phonenumbers.PhoneMetadata, goog.proto2.Message);
655
656
657 /**
658  * Overrides {@link goog.proto2.Message#clone} to specify its exact return type.
659  * @return {!i18n.phonenumbers.PhoneMetadata} The cloned message.
660  * @override
661  */
662 i18n.phonenumbers.PhoneMetadata.prototype.clone;
663
664
665 /**
666  * Gets the value of the general_desc field.
667  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
668  */
669 i18n.phonenumbers.PhoneMetadata.prototype.getGeneralDesc = function() {
670   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(1));
671 };
672
673
674 /**
675  * Gets the value of the general_desc field or the default value if not set.
676  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
677  */
678 i18n.phonenumbers.PhoneMetadata.prototype.getGeneralDescOrDefault = function() {
679   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(1));
680 };
681
682
683 /**
684  * Sets the value of the general_desc field.
685  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
686  */
687 i18n.phonenumbers.PhoneMetadata.prototype.setGeneralDesc = function(value) {
688   this.set$Value(1, value);
689 };
690
691
692 /**
693  * @return {boolean} Whether the general_desc field has a value.
694  */
695 i18n.phonenumbers.PhoneMetadata.prototype.hasGeneralDesc = function() {
696   return this.has$Value(1);
697 };
698
699
700 /**
701  * @return {number} The number of values in the general_desc field.
702  */
703 i18n.phonenumbers.PhoneMetadata.prototype.generalDescCount = function() {
704   return this.count$Values(1);
705 };
706
707
708 /**
709  * Clears the values in the general_desc field.
710  */
711 i18n.phonenumbers.PhoneMetadata.prototype.clearGeneralDesc = function() {
712   this.clear$Field(1);
713 };
714
715
716 /**
717  * Gets the value of the fixed_line field.
718  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
719  */
720 i18n.phonenumbers.PhoneMetadata.prototype.getFixedLine = function() {
721   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(2));
722 };
723
724
725 /**
726  * Gets the value of the fixed_line field or the default value if not set.
727  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
728  */
729 i18n.phonenumbers.PhoneMetadata.prototype.getFixedLineOrDefault = function() {
730   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(2));
731 };
732
733
734 /**
735  * Sets the value of the fixed_line field.
736  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
737  */
738 i18n.phonenumbers.PhoneMetadata.prototype.setFixedLine = function(value) {
739   this.set$Value(2, value);
740 };
741
742
743 /**
744  * @return {boolean} Whether the fixed_line field has a value.
745  */
746 i18n.phonenumbers.PhoneMetadata.prototype.hasFixedLine = function() {
747   return this.has$Value(2);
748 };
749
750
751 /**
752  * @return {number} The number of values in the fixed_line field.
753  */
754 i18n.phonenumbers.PhoneMetadata.prototype.fixedLineCount = function() {
755   return this.count$Values(2);
756 };
757
758
759 /**
760  * Clears the values in the fixed_line field.
761  */
762 i18n.phonenumbers.PhoneMetadata.prototype.clearFixedLine = function() {
763   this.clear$Field(2);
764 };
765
766
767 /**
768  * Gets the value of the mobile field.
769  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
770  */
771 i18n.phonenumbers.PhoneMetadata.prototype.getMobile = function() {
772   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(3));
773 };
774
775
776 /**
777  * Gets the value of the mobile field or the default value if not set.
778  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
779  */
780 i18n.phonenumbers.PhoneMetadata.prototype.getMobileOrDefault = function() {
781   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(3));
782 };
783
784
785 /**
786  * Sets the value of the mobile field.
787  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
788  */
789 i18n.phonenumbers.PhoneMetadata.prototype.setMobile = function(value) {
790   this.set$Value(3, value);
791 };
792
793
794 /**
795  * @return {boolean} Whether the mobile field has a value.
796  */
797 i18n.phonenumbers.PhoneMetadata.prototype.hasMobile = function() {
798   return this.has$Value(3);
799 };
800
801
802 /**
803  * @return {number} The number of values in the mobile field.
804  */
805 i18n.phonenumbers.PhoneMetadata.prototype.mobileCount = function() {
806   return this.count$Values(3);
807 };
808
809
810 /**
811  * Clears the values in the mobile field.
812  */
813 i18n.phonenumbers.PhoneMetadata.prototype.clearMobile = function() {
814   this.clear$Field(3);
815 };
816
817
818 /**
819  * Gets the value of the toll_free field.
820  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
821  */
822 i18n.phonenumbers.PhoneMetadata.prototype.getTollFree = function() {
823   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(4));
824 };
825
826
827 /**
828  * Gets the value of the toll_free field or the default value if not set.
829  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
830  */
831 i18n.phonenumbers.PhoneMetadata.prototype.getTollFreeOrDefault = function() {
832   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(4));
833 };
834
835
836 /**
837  * Sets the value of the toll_free field.
838  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
839  */
840 i18n.phonenumbers.PhoneMetadata.prototype.setTollFree = function(value) {
841   this.set$Value(4, value);
842 };
843
844
845 /**
846  * @return {boolean} Whether the toll_free field has a value.
847  */
848 i18n.phonenumbers.PhoneMetadata.prototype.hasTollFree = function() {
849   return this.has$Value(4);
850 };
851
852
853 /**
854  * @return {number} The number of values in the toll_free field.
855  */
856 i18n.phonenumbers.PhoneMetadata.prototype.tollFreeCount = function() {
857   return this.count$Values(4);
858 };
859
860
861 /**
862  * Clears the values in the toll_free field.
863  */
864 i18n.phonenumbers.PhoneMetadata.prototype.clearTollFree = function() {
865   this.clear$Field(4);
866 };
867
868
869 /**
870  * Gets the value of the premium_rate field.
871  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
872  */
873 i18n.phonenumbers.PhoneMetadata.prototype.getPremiumRate = function() {
874   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(5));
875 };
876
877
878 /**
879  * Gets the value of the premium_rate field or the default value if not set.
880  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
881  */
882 i18n.phonenumbers.PhoneMetadata.prototype.getPremiumRateOrDefault = function() {
883   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(5));
884 };
885
886
887 /**
888  * Sets the value of the premium_rate field.
889  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
890  */
891 i18n.phonenumbers.PhoneMetadata.prototype.setPremiumRate = function(value) {
892   this.set$Value(5, value);
893 };
894
895
896 /**
897  * @return {boolean} Whether the premium_rate field has a value.
898  */
899 i18n.phonenumbers.PhoneMetadata.prototype.hasPremiumRate = function() {
900   return this.has$Value(5);
901 };
902
903
904 /**
905  * @return {number} The number of values in the premium_rate field.
906  */
907 i18n.phonenumbers.PhoneMetadata.prototype.premiumRateCount = function() {
908   return this.count$Values(5);
909 };
910
911
912 /**
913  * Clears the values in the premium_rate field.
914  */
915 i18n.phonenumbers.PhoneMetadata.prototype.clearPremiumRate = function() {
916   this.clear$Field(5);
917 };
918
919
920 /**
921  * Gets the value of the shared_cost field.
922  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
923  */
924 i18n.phonenumbers.PhoneMetadata.prototype.getSharedCost = function() {
925   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(6));
926 };
927
928
929 /**
930  * Gets the value of the shared_cost field or the default value if not set.
931  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
932  */
933 i18n.phonenumbers.PhoneMetadata.prototype.getSharedCostOrDefault = function() {
934   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(6));
935 };
936
937
938 /**
939  * Sets the value of the shared_cost field.
940  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
941  */
942 i18n.phonenumbers.PhoneMetadata.prototype.setSharedCost = function(value) {
943   this.set$Value(6, value);
944 };
945
946
947 /**
948  * @return {boolean} Whether the shared_cost field has a value.
949  */
950 i18n.phonenumbers.PhoneMetadata.prototype.hasSharedCost = function() {
951   return this.has$Value(6);
952 };
953
954
955 /**
956  * @return {number} The number of values in the shared_cost field.
957  */
958 i18n.phonenumbers.PhoneMetadata.prototype.sharedCostCount = function() {
959   return this.count$Values(6);
960 };
961
962
963 /**
964  * Clears the values in the shared_cost field.
965  */
966 i18n.phonenumbers.PhoneMetadata.prototype.clearSharedCost = function() {
967   this.clear$Field(6);
968 };
969
970
971 /**
972  * Gets the value of the personal_number field.
973  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
974  */
975 i18n.phonenumbers.PhoneMetadata.prototype.getPersonalNumber = function() {
976   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(7));
977 };
978
979
980 /**
981  * Gets the value of the personal_number field or the default value if not set.
982  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
983  */
984 i18n.phonenumbers.PhoneMetadata.prototype.getPersonalNumberOrDefault = function() {
985   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(7));
986 };
987
988
989 /**
990  * Sets the value of the personal_number field.
991  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
992  */
993 i18n.phonenumbers.PhoneMetadata.prototype.setPersonalNumber = function(value) {
994   this.set$Value(7, value);
995 };
996
997
998 /**
999  * @return {boolean} Whether the personal_number field has a value.
1000  */
1001 i18n.phonenumbers.PhoneMetadata.prototype.hasPersonalNumber = function() {
1002   return this.has$Value(7);
1003 };
1004
1005
1006 /**
1007  * @return {number} The number of values in the personal_number field.
1008  */
1009 i18n.phonenumbers.PhoneMetadata.prototype.personalNumberCount = function() {
1010   return this.count$Values(7);
1011 };
1012
1013
1014 /**
1015  * Clears the values in the personal_number field.
1016  */
1017 i18n.phonenumbers.PhoneMetadata.prototype.clearPersonalNumber = function() {
1018   this.clear$Field(7);
1019 };
1020
1021
1022 /**
1023  * Gets the value of the voip field.
1024  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
1025  */
1026 i18n.phonenumbers.PhoneMetadata.prototype.getVoip = function() {
1027   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(8));
1028 };
1029
1030
1031 /**
1032  * Gets the value of the voip field or the default value if not set.
1033  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
1034  */
1035 i18n.phonenumbers.PhoneMetadata.prototype.getVoipOrDefault = function() {
1036   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(8));
1037 };
1038
1039
1040 /**
1041  * Sets the value of the voip field.
1042  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
1043  */
1044 i18n.phonenumbers.PhoneMetadata.prototype.setVoip = function(value) {
1045   this.set$Value(8, value);
1046 };
1047
1048
1049 /**
1050  * @return {boolean} Whether the voip field has a value.
1051  */
1052 i18n.phonenumbers.PhoneMetadata.prototype.hasVoip = function() {
1053   return this.has$Value(8);
1054 };
1055
1056
1057 /**
1058  * @return {number} The number of values in the voip field.
1059  */
1060 i18n.phonenumbers.PhoneMetadata.prototype.voipCount = function() {
1061   return this.count$Values(8);
1062 };
1063
1064
1065 /**
1066  * Clears the values in the voip field.
1067  */
1068 i18n.phonenumbers.PhoneMetadata.prototype.clearVoip = function() {
1069   this.clear$Field(8);
1070 };
1071
1072
1073 /**
1074  * Gets the value of the pager field.
1075  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
1076  */
1077 i18n.phonenumbers.PhoneMetadata.prototype.getPager = function() {
1078   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(21));
1079 };
1080
1081
1082 /**
1083  * Gets the value of the pager field or the default value if not set.
1084  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
1085  */
1086 i18n.phonenumbers.PhoneMetadata.prototype.getPagerOrDefault = function() {
1087   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(21));
1088 };
1089
1090
1091 /**
1092  * Sets the value of the pager field.
1093  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
1094  */
1095 i18n.phonenumbers.PhoneMetadata.prototype.setPager = function(value) {
1096   this.set$Value(21, value);
1097 };
1098
1099
1100 /**
1101  * @return {boolean} Whether the pager field has a value.
1102  */
1103 i18n.phonenumbers.PhoneMetadata.prototype.hasPager = function() {
1104   return this.has$Value(21);
1105 };
1106
1107
1108 /**
1109  * @return {number} The number of values in the pager field.
1110  */
1111 i18n.phonenumbers.PhoneMetadata.prototype.pagerCount = function() {
1112   return this.count$Values(21);
1113 };
1114
1115
1116 /**
1117  * Clears the values in the pager field.
1118  */
1119 i18n.phonenumbers.PhoneMetadata.prototype.clearPager = function() {
1120   this.clear$Field(21);
1121 };
1122
1123
1124 /**
1125  * Gets the value of the uan field.
1126  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
1127  */
1128 i18n.phonenumbers.PhoneMetadata.prototype.getUan = function() {
1129   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(25));
1130 };
1131
1132
1133 /**
1134  * Gets the value of the uan field or the default value if not set.
1135  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
1136  */
1137 i18n.phonenumbers.PhoneMetadata.prototype.getUanOrDefault = function() {
1138   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(25));
1139 };
1140
1141
1142 /**
1143  * Sets the value of the uan field.
1144  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
1145  */
1146 i18n.phonenumbers.PhoneMetadata.prototype.setUan = function(value) {
1147   this.set$Value(25, value);
1148 };
1149
1150
1151 /**
1152  * @return {boolean} Whether the uan field has a value.
1153  */
1154 i18n.phonenumbers.PhoneMetadata.prototype.hasUan = function() {
1155   return this.has$Value(25);
1156 };
1157
1158
1159 /**
1160  * @return {number} The number of values in the uan field.
1161  */
1162 i18n.phonenumbers.PhoneMetadata.prototype.uanCount = function() {
1163   return this.count$Values(25);
1164 };
1165
1166
1167 /**
1168  * Clears the values in the uan field.
1169  */
1170 i18n.phonenumbers.PhoneMetadata.prototype.clearUan = function() {
1171   this.clear$Field(25);
1172 };
1173
1174
1175 /**
1176  * Gets the value of the emergency field.
1177  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
1178  */
1179 i18n.phonenumbers.PhoneMetadata.prototype.getEmergency = function() {
1180   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(27));
1181 };
1182
1183
1184 /**
1185  * Gets the value of the emergency field or the default value if not set.
1186  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
1187  */
1188 i18n.phonenumbers.PhoneMetadata.prototype.getEmergencyOrDefault = function() {
1189   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(27));
1190 };
1191
1192
1193 /**
1194  * Sets the value of the emergency field.
1195  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
1196  */
1197 i18n.phonenumbers.PhoneMetadata.prototype.setEmergency = function(value) {
1198   this.set$Value(27, value);
1199 };
1200
1201
1202 /**
1203  * @return {boolean} Whether the emergency field has a value.
1204  */
1205 i18n.phonenumbers.PhoneMetadata.prototype.hasEmergency = function() {
1206   return this.has$Value(27);
1207 };
1208
1209
1210 /**
1211  * @return {number} The number of values in the emergency field.
1212  */
1213 i18n.phonenumbers.PhoneMetadata.prototype.emergencyCount = function() {
1214   return this.count$Values(27);
1215 };
1216
1217
1218 /**
1219  * Clears the values in the emergency field.
1220  */
1221 i18n.phonenumbers.PhoneMetadata.prototype.clearEmergency = function() {
1222   this.clear$Field(27);
1223 };
1224
1225
1226 /**
1227  * Gets the value of the voicemail field.
1228  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
1229  */
1230 i18n.phonenumbers.PhoneMetadata.prototype.getVoicemail = function() {
1231   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(28));
1232 };
1233
1234
1235 /**
1236  * Gets the value of the voicemail field or the default value if not set.
1237  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
1238  */
1239 i18n.phonenumbers.PhoneMetadata.prototype.getVoicemailOrDefault = function() {
1240   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(28));
1241 };
1242
1243
1244 /**
1245  * Sets the value of the voicemail field.
1246  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
1247  */
1248 i18n.phonenumbers.PhoneMetadata.prototype.setVoicemail = function(value) {
1249   this.set$Value(28, value);
1250 };
1251
1252
1253 /**
1254  * @return {boolean} Whether the voicemail field has a value.
1255  */
1256 i18n.phonenumbers.PhoneMetadata.prototype.hasVoicemail = function() {
1257   return this.has$Value(28);
1258 };
1259
1260
1261 /**
1262  * @return {number} The number of values in the voicemail field.
1263  */
1264 i18n.phonenumbers.PhoneMetadata.prototype.voicemailCount = function() {
1265   return this.count$Values(28);
1266 };
1267
1268
1269 /**
1270  * Clears the values in the voicemail field.
1271  */
1272 i18n.phonenumbers.PhoneMetadata.prototype.clearVoicemail = function() {
1273   this.clear$Field(28);
1274 };
1275
1276
1277 /**
1278  * Gets the value of the no_international_dialling field.
1279  * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
1280  */
1281 i18n.phonenumbers.PhoneMetadata.prototype.getNoInternationalDialling = function() {
1282   return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(24));
1283 };
1284
1285
1286 /**
1287  * Gets the value of the no_international_dialling field or the default value if not set.
1288  * @return {!i18n.phonenumbers.PhoneNumberDesc} The value.
1289  */
1290 i18n.phonenumbers.PhoneMetadata.prototype.getNoInternationalDiallingOrDefault = function() {
1291   return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(24));
1292 };
1293
1294
1295 /**
1296  * Sets the value of the no_international_dialling field.
1297  * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value.
1298  */
1299 i18n.phonenumbers.PhoneMetadata.prototype.setNoInternationalDialling = function(value) {
1300   this.set$Value(24, value);
1301 };
1302
1303
1304 /**
1305  * @return {boolean} Whether the no_international_dialling field has a value.
1306  */
1307 i18n.phonenumbers.PhoneMetadata.prototype.hasNoInternationalDialling = function() {
1308   return this.has$Value(24);
1309 };
1310
1311
1312 /**
1313  * @return {number} The number of values in the no_international_dialling field.
1314  */
1315 i18n.phonenumbers.PhoneMetadata.prototype.noInternationalDiallingCount = function() {
1316   return this.count$Values(24);
1317 };
1318
1319
1320 /**
1321  * Clears the values in the no_international_dialling field.
1322  */
1323 i18n.phonenumbers.PhoneMetadata.prototype.clearNoInternationalDialling = function() {
1324   this.clear$Field(24);
1325 };
1326
1327
1328 /**
1329  * Gets the value of the id field.
1330  * @return {?string} The value.
1331  */
1332 i18n.phonenumbers.PhoneMetadata.prototype.getId = function() {
1333   return /** @type {?string} */ (this.get$Value(9));
1334 };
1335
1336
1337 /**
1338  * Gets the value of the id field or the default value if not set.
1339  * @return {string} The value.
1340  */
1341 i18n.phonenumbers.PhoneMetadata.prototype.getIdOrDefault = function() {
1342   return /** @type {string} */ (this.get$ValueOrDefault(9));
1343 };
1344
1345
1346 /**
1347  * Sets the value of the id field.
1348  * @param {string} value The value.
1349  */
1350 i18n.phonenumbers.PhoneMetadata.prototype.setId = function(value) {
1351   this.set$Value(9, value);
1352 };
1353
1354
1355 /**
1356  * @return {boolean} Whether the id field has a value.
1357  */
1358 i18n.phonenumbers.PhoneMetadata.prototype.hasId = function() {
1359   return this.has$Value(9);
1360 };
1361
1362
1363 /**
1364  * @return {number} The number of values in the id field.
1365  */
1366 i18n.phonenumbers.PhoneMetadata.prototype.idCount = function() {
1367   return this.count$Values(9);
1368 };
1369
1370
1371 /**
1372  * Clears the values in the id field.
1373  */
1374 i18n.phonenumbers.PhoneMetadata.prototype.clearId = function() {
1375   this.clear$Field(9);
1376 };
1377
1378
1379 /**
1380  * Gets the value of the country_code field.
1381  * @return {?number} The value.
1382  */
1383 i18n.phonenumbers.PhoneMetadata.prototype.getCountryCode = function() {
1384   return /** @type {?number} */ (this.get$Value(10));
1385 };
1386
1387
1388 /**
1389  * Gets the value of the country_code field or the default value if not set.
1390  * @return {number} The value.
1391  */
1392 i18n.phonenumbers.PhoneMetadata.prototype.getCountryCodeOrDefault = function() {
1393   return /** @type {number} */ (this.get$ValueOrDefault(10));
1394 };
1395
1396
1397 /**
1398  * Sets the value of the country_code field.
1399  * @param {number} value The value.
1400  */
1401 i18n.phonenumbers.PhoneMetadata.prototype.setCountryCode = function(value) {
1402   this.set$Value(10, value);
1403 };
1404
1405
1406 /**
1407  * @return {boolean} Whether the country_code field has a value.
1408  */
1409 i18n.phonenumbers.PhoneMetadata.prototype.hasCountryCode = function() {
1410   return this.has$Value(10);
1411 };
1412
1413
1414 /**
1415  * @return {number} The number of values in the country_code field.
1416  */
1417 i18n.phonenumbers.PhoneMetadata.prototype.countryCodeCount = function() {
1418   return this.count$Values(10);
1419 };
1420
1421
1422 /**
1423  * Clears the values in the country_code field.
1424  */
1425 i18n.phonenumbers.PhoneMetadata.prototype.clearCountryCode = function() {
1426   this.clear$Field(10);
1427 };
1428
1429
1430 /**
1431  * Gets the value of the international_prefix field.
1432  * @return {?string} The value.
1433  */
1434 i18n.phonenumbers.PhoneMetadata.prototype.getInternationalPrefix = function() {
1435   return /** @type {?string} */ (this.get$Value(11));
1436 };
1437
1438
1439 /**
1440  * Gets the value of the international_prefix field or the default value if not set.
1441  * @return {string} The value.
1442  */
1443 i18n.phonenumbers.PhoneMetadata.prototype.getInternationalPrefixOrDefault = function() {
1444   return /** @type {string} */ (this.get$ValueOrDefault(11));
1445 };
1446
1447
1448 /**
1449  * Sets the value of the international_prefix field.
1450  * @param {string} value The value.
1451  */
1452 i18n.phonenumbers.PhoneMetadata.prototype.setInternationalPrefix = function(value) {
1453   this.set$Value(11, value);
1454 };
1455
1456
1457 /**
1458  * @return {boolean} Whether the international_prefix field has a value.
1459  */
1460 i18n.phonenumbers.PhoneMetadata.prototype.hasInternationalPrefix = function() {
1461   return this.has$Value(11);
1462 };
1463
1464
1465 /**
1466  * @return {number} The number of values in the international_prefix field.
1467  */
1468 i18n.phonenumbers.PhoneMetadata.prototype.internationalPrefixCount = function() {
1469   return this.count$Values(11);
1470 };
1471
1472
1473 /**
1474  * Clears the values in the international_prefix field.
1475  */
1476 i18n.phonenumbers.PhoneMetadata.prototype.clearInternationalPrefix = function() {
1477   this.clear$Field(11);
1478 };
1479
1480
1481 /**
1482  * Gets the value of the preferred_international_prefix field.
1483  * @return {?string} The value.
1484  */
1485 i18n.phonenumbers.PhoneMetadata.prototype.getPreferredInternationalPrefix = function() {
1486   return /** @type {?string} */ (this.get$Value(17));
1487 };
1488
1489
1490 /**
1491  * Gets the value of the preferred_international_prefix field or the default value if not set.
1492  * @return {string} The value.
1493  */
1494 i18n.phonenumbers.PhoneMetadata.prototype.getPreferredInternationalPrefixOrDefault = function() {
1495   return /** @type {string} */ (this.get$ValueOrDefault(17));
1496 };
1497
1498
1499 /**
1500  * Sets the value of the preferred_international_prefix field.
1501  * @param {string} value The value.
1502  */
1503 i18n.phonenumbers.PhoneMetadata.prototype.setPreferredInternationalPrefix = function(value) {
1504   this.set$Value(17, value);
1505 };
1506
1507
1508 /**
1509  * @return {boolean} Whether the preferred_international_prefix field has a value.
1510  */
1511 i18n.phonenumbers.PhoneMetadata.prototype.hasPreferredInternationalPrefix = function() {
1512   return this.has$Value(17);
1513 };
1514
1515
1516 /**
1517  * @return {number} The number of values in the preferred_international_prefix field.
1518  */
1519 i18n.phonenumbers.PhoneMetadata.prototype.preferredInternationalPrefixCount = function() {
1520   return this.count$Values(17);
1521 };
1522
1523
1524 /**
1525  * Clears the values in the preferred_international_prefix field.
1526  */
1527 i18n.phonenumbers.PhoneMetadata.prototype.clearPreferredInternationalPrefix = function() {
1528   this.clear$Field(17);
1529 };
1530
1531
1532 /**
1533  * Gets the value of the national_prefix field.
1534  * @return {?string} The value.
1535  */
1536 i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefix = function() {
1537   return /** @type {?string} */ (this.get$Value(12));
1538 };
1539
1540
1541 /**
1542  * Gets the value of the national_prefix field or the default value if not set.
1543  * @return {string} The value.
1544  */
1545 i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixOrDefault = function() {
1546   return /** @type {string} */ (this.get$ValueOrDefault(12));
1547 };
1548
1549
1550 /**
1551  * Sets the value of the national_prefix field.
1552  * @param {string} value The value.
1553  */
1554 i18n.phonenumbers.PhoneMetadata.prototype.setNationalPrefix = function(value) {
1555   this.set$Value(12, value);
1556 };
1557
1558
1559 /**
1560  * @return {boolean} Whether the national_prefix field has a value.
1561  */
1562 i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefix = function() {
1563   return this.has$Value(12);
1564 };
1565
1566
1567 /**
1568  * @return {number} The number of values in the national_prefix field.
1569  */
1570 i18n.phonenumbers.PhoneMetadata.prototype.nationalPrefixCount = function() {
1571   return this.count$Values(12);
1572 };
1573
1574
1575 /**
1576  * Clears the values in the national_prefix field.
1577  */
1578 i18n.phonenumbers.PhoneMetadata.prototype.clearNationalPrefix = function() {
1579   this.clear$Field(12);
1580 };
1581
1582
1583 /**
1584  * Gets the value of the preferred_extn_prefix field.
1585  * @return {?string} The value.
1586  */
1587 i18n.phonenumbers.PhoneMetadata.prototype.getPreferredExtnPrefix = function() {
1588   return /** @type {?string} */ (this.get$Value(13));
1589 };
1590
1591
1592 /**
1593  * Gets the value of the preferred_extn_prefix field or the default value if not set.
1594  * @return {string} The value.
1595  */
1596 i18n.phonenumbers.PhoneMetadata.prototype.getPreferredExtnPrefixOrDefault = function() {
1597   return /** @type {string} */ (this.get$ValueOrDefault(13));
1598 };
1599
1600
1601 /**
1602  * Sets the value of the preferred_extn_prefix field.
1603  * @param {string} value The value.
1604  */
1605 i18n.phonenumbers.PhoneMetadata.prototype.setPreferredExtnPrefix = function(value) {
1606   this.set$Value(13, value);
1607 };
1608
1609
1610 /**
1611  * @return {boolean} Whether the preferred_extn_prefix field has a value.
1612  */
1613 i18n.phonenumbers.PhoneMetadata.prototype.hasPreferredExtnPrefix = function() {
1614   return this.has$Value(13);
1615 };
1616
1617
1618 /**
1619  * @return {number} The number of values in the preferred_extn_prefix field.
1620  */
1621 i18n.phonenumbers.PhoneMetadata.prototype.preferredExtnPrefixCount = function() {
1622   return this.count$Values(13);
1623 };
1624
1625
1626 /**
1627  * Clears the values in the preferred_extn_prefix field.
1628  */
1629 i18n.phonenumbers.PhoneMetadata.prototype.clearPreferredExtnPrefix = function() {
1630   this.clear$Field(13);
1631 };
1632
1633
1634 /**
1635  * Gets the value of the national_prefix_for_parsing field.
1636  * @return {?string} The value.
1637  */
1638 i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixForParsing = function() {
1639   return /** @type {?string} */ (this.get$Value(15));
1640 };
1641
1642
1643 /**
1644  * Gets the value of the national_prefix_for_parsing field or the default value if not set.
1645  * @return {string} The value.
1646  */
1647 i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixForParsingOrDefault = function() {
1648   return /** @type {string} */ (this.get$ValueOrDefault(15));
1649 };
1650
1651
1652 /**
1653  * Sets the value of the national_prefix_for_parsing field.
1654  * @param {string} value The value.
1655  */
1656 i18n.phonenumbers.PhoneMetadata.prototype.setNationalPrefixForParsing = function(value) {
1657   this.set$Value(15, value);
1658 };
1659
1660
1661 /**
1662  * @return {boolean} Whether the national_prefix_for_parsing field has a value.
1663  */
1664 i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefixForParsing = function() {
1665   return this.has$Value(15);
1666 };
1667
1668
1669 /**
1670  * @return {number} The number of values in the national_prefix_for_parsing field.
1671  */
1672 i18n.phonenumbers.PhoneMetadata.prototype.nationalPrefixForParsingCount = function() {
1673   return this.count$Values(15);
1674 };
1675
1676
1677 /**
1678  * Clears the values in the national_prefix_for_parsing field.
1679  */
1680 i18n.phonenumbers.PhoneMetadata.prototype.clearNationalPrefixForParsing = function() {
1681   this.clear$Field(15);
1682 };
1683
1684
1685 /**
1686  * Gets the value of the national_prefix_transform_rule field.
1687  * @return {?string} The value.
1688  */
1689 i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixTransformRule = function() {
1690   return /** @type {?string} */ (this.get$Value(16));
1691 };
1692
1693
1694 /**
1695  * Gets the value of the national_prefix_transform_rule field or the default value if not set.
1696  * @return {string} The value.
1697  */
1698 i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixTransformRuleOrDefault = function() {
1699   return /** @type {string} */ (this.get$ValueOrDefault(16));
1700 };
1701
1702
1703 /**
1704  * Sets the value of the national_prefix_transform_rule field.
1705  * @param {string} value The value.
1706  */
1707 i18n.phonenumbers.PhoneMetadata.prototype.setNationalPrefixTransformRule = function(value) {
1708   this.set$Value(16, value);
1709 };
1710
1711
1712 /**
1713  * @return {boolean} Whether the national_prefix_transform_rule field has a value.
1714  */
1715 i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefixTransformRule = function() {
1716   return this.has$Value(16);
1717 };
1718
1719
1720 /**
1721  * @return {number} The number of values in the national_prefix_transform_rule field.
1722  */
1723 i18n.phonenumbers.PhoneMetadata.prototype.nationalPrefixTransformRuleCount = function() {
1724   return this.count$Values(16);
1725 };
1726
1727
1728 /**
1729  * Clears the values in the national_prefix_transform_rule field.
1730  */
1731 i18n.phonenumbers.PhoneMetadata.prototype.clearNationalPrefixTransformRule = function() {
1732   this.clear$Field(16);
1733 };
1734
1735
1736 /**
1737  * Gets the value of the same_mobile_and_fixed_line_pattern field.
1738  * @return {?boolean} The value.
1739  */
1740 i18n.phonenumbers.PhoneMetadata.prototype.getSameMobileAndFixedLinePattern = function() {
1741   return /** @type {?boolean} */ (this.get$Value(18));
1742 };
1743
1744
1745 /**
1746  * Gets the value of the same_mobile_and_fixed_line_pattern field or the default value if not set.
1747  * @return {boolean} The value.
1748  */
1749 i18n.phonenumbers.PhoneMetadata.prototype.getSameMobileAndFixedLinePatternOrDefault = function() {
1750   return /** @type {boolean} */ (this.get$ValueOrDefault(18));
1751 };
1752
1753
1754 /**
1755  * Sets the value of the same_mobile_and_fixed_line_pattern field.
1756  * @param {boolean} value The value.
1757  */
1758 i18n.phonenumbers.PhoneMetadata.prototype.setSameMobileAndFixedLinePattern = function(value) {
1759   this.set$Value(18, value);
1760 };
1761
1762
1763 /**
1764  * @return {boolean} Whether the same_mobile_and_fixed_line_pattern field has a value.
1765  */
1766 i18n.phonenumbers.PhoneMetadata.prototype.hasSameMobileAndFixedLinePattern = function() {
1767   return this.has$Value(18);
1768 };
1769
1770
1771 /**
1772  * @return {number} The number of values in the same_mobile_and_fixed_line_pattern field.
1773  */
1774 i18n.phonenumbers.PhoneMetadata.prototype.sameMobileAndFixedLinePatternCount = function() {
1775   return this.count$Values(18);
1776 };
1777
1778
1779 /**
1780  * Clears the values in the same_mobile_and_fixed_line_pattern field.
1781  */
1782 i18n.phonenumbers.PhoneMetadata.prototype.clearSameMobileAndFixedLinePattern = function() {
1783   this.clear$Field(18);
1784 };
1785
1786
1787 /**
1788  * Gets the value of the number_format field at the index given.
1789  * @param {number} index The index to lookup.
1790  * @return {i18n.phonenumbers.NumberFormat} The value.
1791  */
1792 i18n.phonenumbers.PhoneMetadata.prototype.getNumberFormat = function(index) {
1793   return /** @type {i18n.phonenumbers.NumberFormat} */ (this.get$Value(19, index));
1794 };
1795
1796
1797 /**
1798  * Gets the value of the number_format field at the index given or the default value if not set.
1799  * @param {number} index The index to lookup.
1800  * @return {!i18n.phonenumbers.NumberFormat} The value.
1801  */
1802 i18n.phonenumbers.PhoneMetadata.prototype.getNumberFormatOrDefault = function(index) {
1803   return /** @type {!i18n.phonenumbers.NumberFormat} */ (this.get$ValueOrDefault(19, index));
1804 };
1805
1806
1807 /**
1808  * Adds a value to the number_format field.
1809  * @param {!i18n.phonenumbers.NumberFormat} value The value to add.
1810  */
1811 i18n.phonenumbers.PhoneMetadata.prototype.addNumberFormat = function(value) {
1812   this.add$Value(19, value);
1813 };
1814
1815
1816 /**
1817  * Returns the array of values in the number_format field.
1818  * @return {!Array.<!i18n.phonenumbers.NumberFormat>} The values in the field.
1819  */
1820 i18n.phonenumbers.PhoneMetadata.prototype.numberFormatArray = function() {
1821   return /** @type {!Array.<!i18n.phonenumbers.NumberFormat>} */ (this.array$Values(19));
1822 };
1823
1824
1825 /**
1826  * @return {boolean} Whether the number_format field has a value.
1827  */
1828 i18n.phonenumbers.PhoneMetadata.prototype.hasNumberFormat = function() {
1829   return this.has$Value(19);
1830 };
1831
1832
1833 /**
1834  * @return {number} The number of values in the number_format field.
1835  */
1836 i18n.phonenumbers.PhoneMetadata.prototype.numberFormatCount = function() {
1837   return this.count$Values(19);
1838 };
1839
1840
1841 /**
1842  * Clears the values in the number_format field.
1843  */
1844 i18n.phonenumbers.PhoneMetadata.prototype.clearNumberFormat = function() {
1845   this.clear$Field(19);
1846 };
1847
1848
1849 /**
1850  * Gets the value of the intl_number_format field at the index given.
1851  * @param {number} index The index to lookup.
1852  * @return {i18n.phonenumbers.NumberFormat} The value.
1853  */
1854 i18n.phonenumbers.PhoneMetadata.prototype.getIntlNumberFormat = function(index) {
1855   return /** @type {i18n.phonenumbers.NumberFormat} */ (this.get$Value(20, index));
1856 };
1857
1858
1859 /**
1860  * Gets the value of the intl_number_format field at the index given or the default value if not set.
1861  * @param {number} index The index to lookup.
1862  * @return {!i18n.phonenumbers.NumberFormat} The value.
1863  */
1864 i18n.phonenumbers.PhoneMetadata.prototype.getIntlNumberFormatOrDefault = function(index) {
1865   return /** @type {!i18n.phonenumbers.NumberFormat} */ (this.get$ValueOrDefault(20, index));
1866 };
1867
1868
1869 /**
1870  * Adds a value to the intl_number_format field.
1871  * @param {!i18n.phonenumbers.NumberFormat} value The value to add.
1872  */
1873 i18n.phonenumbers.PhoneMetadata.prototype.addIntlNumberFormat = function(value) {
1874   this.add$Value(20, value);
1875 };
1876
1877
1878 /**
1879  * Returns the array of values in the intl_number_format field.
1880  * @return {!Array.<!i18n.phonenumbers.NumberFormat>} The values in the field.
1881  */
1882 i18n.phonenumbers.PhoneMetadata.prototype.intlNumberFormatArray = function() {
1883   return /** @type {!Array.<!i18n.phonenumbers.NumberFormat>} */ (this.array$Values(20));
1884 };
1885
1886
1887 /**
1888  * @return {boolean} Whether the intl_number_format field has a value.
1889  */
1890 i18n.phonenumbers.PhoneMetadata.prototype.hasIntlNumberFormat = function() {
1891   return this.has$Value(20);
1892 };
1893
1894
1895 /**
1896  * @return {number} The number of values in the intl_number_format field.
1897  */
1898 i18n.phonenumbers.PhoneMetadata.prototype.intlNumberFormatCount = function() {
1899   return this.count$Values(20);
1900 };
1901
1902
1903 /**
1904  * Clears the values in the intl_number_format field.
1905  */
1906 i18n.phonenumbers.PhoneMetadata.prototype.clearIntlNumberFormat = function() {
1907   this.clear$Field(20);
1908 };
1909
1910
1911 /**
1912  * Gets the value of the main_country_for_code field.
1913  * @return {?boolean} The value.
1914  */
1915 i18n.phonenumbers.PhoneMetadata.prototype.getMainCountryForCode = function() {
1916   return /** @type {?boolean} */ (this.get$Value(22));
1917 };
1918
1919
1920 /**
1921  * Gets the value of the main_country_for_code field or the default value if not set.
1922  * @return {boolean} The value.
1923  */
1924 i18n.phonenumbers.PhoneMetadata.prototype.getMainCountryForCodeOrDefault = function() {
1925   return /** @type {boolean} */ (this.get$ValueOrDefault(22));
1926 };
1927
1928
1929 /**
1930  * Sets the value of the main_country_for_code field.
1931  * @param {boolean} value The value.
1932  */
1933 i18n.phonenumbers.PhoneMetadata.prototype.setMainCountryForCode = function(value) {
1934   this.set$Value(22, value);
1935 };
1936
1937
1938 /**
1939  * @return {boolean} Whether the main_country_for_code field has a value.
1940  */
1941 i18n.phonenumbers.PhoneMetadata.prototype.hasMainCountryForCode = function() {
1942   return this.has$Value(22);
1943 };
1944
1945
1946 /**
1947  * @return {number} The number of values in the main_country_for_code field.
1948  */
1949 i18n.phonenumbers.PhoneMetadata.prototype.mainCountryForCodeCount = function() {
1950   return this.count$Values(22);
1951 };
1952
1953
1954 /**
1955  * Clears the values in the main_country_for_code field.
1956  */
1957 i18n.phonenumbers.PhoneMetadata.prototype.clearMainCountryForCode = function() {
1958   this.clear$Field(22);
1959 };
1960
1961
1962 /**
1963  * Gets the value of the leading_digits field.
1964  * @return {?string} The value.
1965  */
1966 i18n.phonenumbers.PhoneMetadata.prototype.getLeadingDigits = function() {
1967   return /** @type {?string} */ (this.get$Value(23));
1968 };
1969
1970
1971 /**
1972  * Gets the value of the leading_digits field or the default value if not set.
1973  * @return {string} The value.
1974  */
1975 i18n.phonenumbers.PhoneMetadata.prototype.getLeadingDigitsOrDefault = function() {
1976   return /** @type {string} */ (this.get$ValueOrDefault(23));
1977 };
1978
1979
1980 /**
1981  * Sets the value of the leading_digits field.
1982  * @param {string} value The value.
1983  */
1984 i18n.phonenumbers.PhoneMetadata.prototype.setLeadingDigits = function(value) {
1985   this.set$Value(23, value);
1986 };
1987
1988
1989 /**
1990  * @return {boolean} Whether the leading_digits field has a value.
1991  */
1992 i18n.phonenumbers.PhoneMetadata.prototype.hasLeadingDigits = function() {
1993   return this.has$Value(23);
1994 };
1995
1996
1997 /**
1998  * @return {number} The number of values in the leading_digits field.
1999  */
2000 i18n.phonenumbers.PhoneMetadata.prototype.leadingDigitsCount = function() {
2001   return this.count$Values(23);
2002 };
2003
2004
2005 /**
2006  * Clears the values in the leading_digits field.
2007  */
2008 i18n.phonenumbers.PhoneMetadata.prototype.clearLeadingDigits = function() {
2009   this.clear$Field(23);
2010 };
2011
2012
2013 /**
2014  * Gets the value of the leading_zero_possible field.
2015  * @return {?boolean} The value.
2016  */
2017 i18n.phonenumbers.PhoneMetadata.prototype.getLeadingZeroPossible = function() {
2018   return /** @type {?boolean} */ (this.get$Value(26));
2019 };
2020
2021
2022 /**
2023  * Gets the value of the leading_zero_possible field or the default value if not set.
2024  * @return {boolean} The value.
2025  */
2026 i18n.phonenumbers.PhoneMetadata.prototype.getLeadingZeroPossibleOrDefault = function() {
2027   return /** @type {boolean} */ (this.get$ValueOrDefault(26));
2028 };
2029
2030
2031 /**
2032  * Sets the value of the leading_zero_possible field.
2033  * @param {boolean} value The value.
2034  */
2035 i18n.phonenumbers.PhoneMetadata.prototype.setLeadingZeroPossible = function(value) {
2036   this.set$Value(26, value);
2037 };
2038
2039
2040 /**
2041  * @return {boolean} Whether the leading_zero_possible field has a value.
2042  */
2043 i18n.phonenumbers.PhoneMetadata.prototype.hasLeadingZeroPossible = function() {
2044   return this.has$Value(26);
2045 };
2046
2047
2048 /**
2049  * @return {number} The number of values in the leading_zero_possible field.
2050  */
2051 i18n.phonenumbers.PhoneMetadata.prototype.leadingZeroPossibleCount = function() {
2052   return this.count$Values(26);
2053 };
2054
2055
2056 /**
2057  * Clears the values in the leading_zero_possible field.
2058  */
2059 i18n.phonenumbers.PhoneMetadata.prototype.clearLeadingZeroPossible = function() {
2060   this.clear$Field(26);
2061 };
2062
2063
2064 /**
2065  * Message PhoneMetadataCollection.
2066  * @constructor
2067  * @extends {goog.proto2.Message}
2068  */
2069 i18n.phonenumbers.PhoneMetadataCollection = function() {
2070   goog.proto2.Message.call(this);
2071 };
2072 goog.inherits(i18n.phonenumbers.PhoneMetadataCollection, goog.proto2.Message);
2073
2074
2075 /**
2076  * Overrides {@link goog.proto2.Message#clone} to specify its exact return type.
2077  * @return {!i18n.phonenumbers.PhoneMetadataCollection} The cloned message.
2078  * @override
2079  */
2080 i18n.phonenumbers.PhoneMetadataCollection.prototype.clone;
2081
2082
2083 /**
2084  * Gets the value of the metadata field at the index given.
2085  * @param {number} index The index to lookup.
2086  * @return {i18n.phonenumbers.PhoneMetadata} The value.
2087  */
2088 i18n.phonenumbers.PhoneMetadataCollection.prototype.getMetadata = function(index) {
2089   return /** @type {i18n.phonenumbers.PhoneMetadata} */ (this.get$Value(1, index));
2090 };
2091
2092
2093 /**
2094  * Gets the value of the metadata field at the index given or the default value if not set.
2095  * @param {number} index The index to lookup.
2096  * @return {!i18n.phonenumbers.PhoneMetadata} The value.
2097  */
2098 i18n.phonenumbers.PhoneMetadataCollection.prototype.getMetadataOrDefault = function(index) {
2099   return /** @type {!i18n.phonenumbers.PhoneMetadata} */ (this.get$ValueOrDefault(1, index));
2100 };
2101
2102
2103 /**
2104  * Adds a value to the metadata field.
2105  * @param {!i18n.phonenumbers.PhoneMetadata} value The value to add.
2106  */
2107 i18n.phonenumbers.PhoneMetadataCollection.prototype.addMetadata = function(value) {
2108   this.add$Value(1, value);
2109 };
2110
2111
2112 /**
2113  * Returns the array of values in the metadata field.
2114  * @return {!Array.<!i18n.phonenumbers.PhoneMetadata>} The values in the field.
2115  */
2116 i18n.phonenumbers.PhoneMetadataCollection.prototype.metadataArray = function() {
2117   return /** @type {!Array.<!i18n.phonenumbers.PhoneMetadata>} */ (this.array$Values(1));
2118 };
2119
2120
2121 /**
2122  * @return {boolean} Whether the metadata field has a value.
2123  */
2124 i18n.phonenumbers.PhoneMetadataCollection.prototype.hasMetadata = function() {
2125   return this.has$Value(1);
2126 };
2127
2128
2129 /**
2130  * @return {number} The number of values in the metadata field.
2131  */
2132 i18n.phonenumbers.PhoneMetadataCollection.prototype.metadataCount = function() {
2133   return this.count$Values(1);
2134 };
2135
2136
2137 /**
2138  * Clears the values in the metadata field.
2139  */
2140 i18n.phonenumbers.PhoneMetadataCollection.prototype.clearMetadata = function() {
2141   this.clear$Field(1);
2142 };
2143
2144
2145 /** @override */
2146 i18n.phonenumbers.NumberFormat.prototype.getDescriptor = function() {
2147   if (!i18n.phonenumbers.NumberFormat.descriptor_) {
2148     // The descriptor is created lazily when we instantiate a new instance.
2149     var descriptorObj = {
2150       0: {
2151         name: 'NumberFormat',
2152         fullName: 'i18n.phonenumbers.NumberFormat'
2153       },
2154       1: {
2155         name: 'pattern',
2156         required: true,
2157         fieldType: goog.proto2.Message.FieldType.STRING,
2158         type: String
2159       },
2160       2: {
2161         name: 'format',
2162         required: true,
2163         fieldType: goog.proto2.Message.FieldType.STRING,
2164         type: String
2165       },
2166       3: {
2167         name: 'leading_digits_pattern',
2168         repeated: true,
2169         fieldType: goog.proto2.Message.FieldType.STRING,
2170         type: String
2171       },
2172       4: {
2173         name: 'national_prefix_formatting_rule',
2174         fieldType: goog.proto2.Message.FieldType.STRING,
2175         type: String
2176       },
2177       6: {
2178         name: 'national_prefix_optional_when_formatting',
2179         fieldType: goog.proto2.Message.FieldType.BOOL,
2180         type: Boolean
2181       },
2182       5: {
2183         name: 'domestic_carrier_code_formatting_rule',
2184         fieldType: goog.proto2.Message.FieldType.STRING,
2185         type: String
2186       }
2187     };
2188     i18n.phonenumbers.NumberFormat.descriptor_ =
2189         goog.proto2.Message.createDescriptor(
2190              i18n.phonenumbers.NumberFormat, descriptorObj);
2191   }
2192   return i18n.phonenumbers.NumberFormat.descriptor_;
2193 };
2194
2195
2196 // Export getDescriptor static function robust to minification.
2197 i18n.phonenumbers.NumberFormat['ctor'] = i18n.phonenumbers.NumberFormat;
2198 i18n.phonenumbers.NumberFormat['ctor'].getDescriptor =
2199     i18n.phonenumbers.NumberFormat.prototype.getDescriptor;
2200
2201
2202 /** @override */
2203 i18n.phonenumbers.PhoneNumberDesc.prototype.getDescriptor = function() {
2204   if (!i18n.phonenumbers.PhoneNumberDesc.descriptor_) {
2205     // The descriptor is created lazily when we instantiate a new instance.
2206     var descriptorObj = {
2207       0: {
2208         name: 'PhoneNumberDesc',
2209         fullName: 'i18n.phonenumbers.PhoneNumberDesc'
2210       },
2211       2: {
2212         name: 'national_number_pattern',
2213         fieldType: goog.proto2.Message.FieldType.STRING,
2214         type: String
2215       },
2216       3: {
2217         name: 'possible_number_pattern',
2218         fieldType: goog.proto2.Message.FieldType.STRING,
2219         type: String
2220       },
2221       6: {
2222         name: 'example_number',
2223         fieldType: goog.proto2.Message.FieldType.STRING,
2224         type: String
2225       },
2226       7: {
2227         name: 'national_number_matcher_data',
2228         fieldType: goog.proto2.Message.FieldType.BYTES,
2229         type: String
2230       },
2231       8: {
2232         name: 'possible_number_matcher_data',
2233         fieldType: goog.proto2.Message.FieldType.BYTES,
2234         type: String
2235       }
2236     };
2237     i18n.phonenumbers.PhoneNumberDesc.descriptor_ =
2238         goog.proto2.Message.createDescriptor(
2239              i18n.phonenumbers.PhoneNumberDesc, descriptorObj);
2240   }
2241   return i18n.phonenumbers.PhoneNumberDesc.descriptor_;
2242 };
2243
2244
2245 // Export getDescriptor static function robust to minification.
2246 i18n.phonenumbers.PhoneNumberDesc['ctor'] = i18n.phonenumbers.PhoneNumberDesc;
2247 i18n.phonenumbers.PhoneNumberDesc['ctor'].getDescriptor =
2248     i18n.phonenumbers.PhoneNumberDesc.prototype.getDescriptor;
2249
2250
2251 /** @override */
2252 i18n.phonenumbers.PhoneMetadata.prototype.getDescriptor = function() {
2253   if (!i18n.phonenumbers.PhoneMetadata.descriptor_) {
2254     // The descriptor is created lazily when we instantiate a new instance.
2255     var descriptorObj = {
2256       0: {
2257         name: 'PhoneMetadata',
2258         fullName: 'i18n.phonenumbers.PhoneMetadata'
2259       },
2260       1: {
2261         name: 'general_desc',
2262         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2263         type: i18n.phonenumbers.PhoneNumberDesc
2264       },
2265       2: {
2266         name: 'fixed_line',
2267         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2268         type: i18n.phonenumbers.PhoneNumberDesc
2269       },
2270       3: {
2271         name: 'mobile',
2272         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2273         type: i18n.phonenumbers.PhoneNumberDesc
2274       },
2275       4: {
2276         name: 'toll_free',
2277         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2278         type: i18n.phonenumbers.PhoneNumberDesc
2279       },
2280       5: {
2281         name: 'premium_rate',
2282         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2283         type: i18n.phonenumbers.PhoneNumberDesc
2284       },
2285       6: {
2286         name: 'shared_cost',
2287         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2288         type: i18n.phonenumbers.PhoneNumberDesc
2289       },
2290       7: {
2291         name: 'personal_number',
2292         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2293         type: i18n.phonenumbers.PhoneNumberDesc
2294       },
2295       8: {
2296         name: 'voip',
2297         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2298         type: i18n.phonenumbers.PhoneNumberDesc
2299       },
2300       21: {
2301         name: 'pager',
2302         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2303         type: i18n.phonenumbers.PhoneNumberDesc
2304       },
2305       25: {
2306         name: 'uan',
2307         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2308         type: i18n.phonenumbers.PhoneNumberDesc
2309       },
2310       27: {
2311         name: 'emergency',
2312         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2313         type: i18n.phonenumbers.PhoneNumberDesc
2314       },
2315       28: {
2316         name: 'voicemail',
2317         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2318         type: i18n.phonenumbers.PhoneNumberDesc
2319       },
2320       24: {
2321         name: 'no_international_dialling',
2322         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2323         type: i18n.phonenumbers.PhoneNumberDesc
2324       },
2325       9: {
2326         name: 'id',
2327         required: true,
2328         fieldType: goog.proto2.Message.FieldType.STRING,
2329         type: String
2330       },
2331       10: {
2332         name: 'country_code',
2333         fieldType: goog.proto2.Message.FieldType.INT32,
2334         type: Number
2335       },
2336       11: {
2337         name: 'international_prefix',
2338         fieldType: goog.proto2.Message.FieldType.STRING,
2339         type: String
2340       },
2341       17: {
2342         name: 'preferred_international_prefix',
2343         fieldType: goog.proto2.Message.FieldType.STRING,
2344         type: String
2345       },
2346       12: {
2347         name: 'national_prefix',
2348         fieldType: goog.proto2.Message.FieldType.STRING,
2349         type: String
2350       },
2351       13: {
2352         name: 'preferred_extn_prefix',
2353         fieldType: goog.proto2.Message.FieldType.STRING,
2354         type: String
2355       },
2356       15: {
2357         name: 'national_prefix_for_parsing',
2358         fieldType: goog.proto2.Message.FieldType.STRING,
2359         type: String
2360       },
2361       16: {
2362         name: 'national_prefix_transform_rule',
2363         fieldType: goog.proto2.Message.FieldType.STRING,
2364         type: String
2365       },
2366       18: {
2367         name: 'same_mobile_and_fixed_line_pattern',
2368         fieldType: goog.proto2.Message.FieldType.BOOL,
2369         defaultValue: false,
2370         type: Boolean
2371       },
2372       19: {
2373         name: 'number_format',
2374         repeated: true,
2375         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2376         type: i18n.phonenumbers.NumberFormat
2377       },
2378       20: {
2379         name: 'intl_number_format',
2380         repeated: true,
2381         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2382         type: i18n.phonenumbers.NumberFormat
2383       },
2384       22: {
2385         name: 'main_country_for_code',
2386         fieldType: goog.proto2.Message.FieldType.BOOL,
2387         defaultValue: false,
2388         type: Boolean
2389       },
2390       23: {
2391         name: 'leading_digits',
2392         fieldType: goog.proto2.Message.FieldType.STRING,
2393         type: String
2394       },
2395       26: {
2396         name: 'leading_zero_possible',
2397         fieldType: goog.proto2.Message.FieldType.BOOL,
2398         defaultValue: false,
2399         type: Boolean
2400       }
2401     };
2402     i18n.phonenumbers.PhoneMetadata.descriptor_ =
2403         goog.proto2.Message.createDescriptor(
2404              i18n.phonenumbers.PhoneMetadata, descriptorObj);
2405   }
2406   return i18n.phonenumbers.PhoneMetadata.descriptor_;
2407 };
2408
2409
2410 // Export getDescriptor static function robust to minification.
2411 i18n.phonenumbers.PhoneMetadata['ctor'] = i18n.phonenumbers.PhoneMetadata;
2412 i18n.phonenumbers.PhoneMetadata['ctor'].getDescriptor =
2413     i18n.phonenumbers.PhoneMetadata.prototype.getDescriptor;
2414
2415
2416 /** @override */
2417 i18n.phonenumbers.PhoneMetadataCollection.prototype.getDescriptor = function() {
2418   if (!i18n.phonenumbers.PhoneMetadataCollection.descriptor_) {
2419     // The descriptor is created lazily when we instantiate a new instance.
2420     var descriptorObj = {
2421       0: {
2422         name: 'PhoneMetadataCollection',
2423         fullName: 'i18n.phonenumbers.PhoneMetadataCollection'
2424       },
2425       1: {
2426         name: 'metadata',
2427         repeated: true,
2428         fieldType: goog.proto2.Message.FieldType.MESSAGE,
2429         type: i18n.phonenumbers.PhoneMetadata
2430       }
2431     };
2432     i18n.phonenumbers.PhoneMetadataCollection.descriptor_ =
2433         goog.proto2.Message.createDescriptor(
2434              i18n.phonenumbers.PhoneMetadataCollection, descriptorObj);
2435   }
2436   return i18n.phonenumbers.PhoneMetadataCollection.descriptor_;
2437 };
2438
2439
2440 // Export getDescriptor static function robust to minification.
2441 i18n.phonenumbers.PhoneMetadataCollection['ctor'] = i18n.phonenumbers.PhoneMetadataCollection;
2442 i18n.phonenumbers.PhoneMetadataCollection['ctor'].getDescriptor =
2443     i18n.phonenumbers.PhoneMetadataCollection.prototype.getDescriptor;