@ -2,15 +2,15 @@
function ca ( a , b ) { if ( b ) { for ( var c = ba , d = a . split ( "." ) , e = 0 ; e < d . length - 1 ; e ++ ) { var f = d [ e ] ; f in c || ( c [ f ] = { } ) ; c = c [ f ] } d = d [ d . length - 1 ] ; e = c [ d ] ; f = b ( e ) ; f != e && null != f && aa ( c , d , { configurable : ! 0 , writable : ! 0 , value : f } ) } }
ca ( "String.prototype.repeat" , function ( a ) { return a ? a : function ( a ) { var b ; if ( null == this ) throw new TypeError ( "The 'this' value for String.prototype.repeat must not be null or undefined" ) ; b = this + "" ; if ( 0 > a || 1342177279 < a ) throw new RangeError ( "Invalid count value" ) ; a |= 0 ; for ( var d = "" ; a ; ) if ( a & 1 && ( d += b ) , a >>>= 1 ) b += b ; return d } } ) ; ca ( "Math.sign" , function ( a ) { return a ? a : function ( a ) { a = Number ( a ) ; return ! a || isNaN ( a ) ? a : 0 < a ? 1 : - 1 } } ) ;
function da ( a ) { var b = typeof a ; if ( "object" == b ) if ( a ) { if ( a instanceof Array ) return "array" ; if ( a instanceof Object ) return b ; var c = Object . prototype . toString . call ( a ) ; if ( "[object Window]" == c ) return "object" ; if ( "[object Array]" == c || "number" == typeof a . length && "undefined" != typeof a . splice && "undefined" != typeof a . propertyIsEnumerable && ! a . propertyIsEnumerable ( "splice" ) ) return "array" ; if ( "[object Function]" == c || "undefined" != typeof a . call && "undefined" != typeof a . propertyIsEnumerable && ! a . propertyIsEnumerable ( "call" ) ) return "function" } else return "null" ;
else if ( "function" == b && "undefined" == typeof a . call ) return "object" ; return b } function k ( a ) { return "string" == typeof a } function l ( a , b ) { function c ( ) { } c . prototype = b . prototype ; a . ha = b . prototype ; a . prototype = new c ; a . prototype . constructor = a ; a . ma = function ( a , c , f ) { for ( var d = Array ( arguments . length - 2 ) , e = 2 ; e < arguments . length ; e ++ ) d [ e - 2 ] = arguments [ e ] ; return b . prototype [ c ] . apply ( a , d ) } } ; function n ( a ) { if ( Error . captureStackTrace ) Error . captureStackTrace ( this , n ) ; else { var b = Error ( ) . stack ; b && ( this . stack = b ) } a && ( this . message = String ( a ) ) } l ( n , Error ) ; n . prototype . name = "CustomError" ; function ea ( a , b ) { for ( var c = a . split ( "%s" ) , d = "" , e = Array . prototype . slice . call ( arguments , 1 ) ; e . length && 1 < c . length ; ) d += c . shift ( ) + e . shift ( ) ; return d + c . join ( "%s" ) } ; function fa ( a , b ) { b . unshift ( a ) ; n . call ( this , ea . apply ( null , b ) ) ; b . shift ( ) } l ( fa , n ) ; fa . prototype . name = "AssertionError" ; function ga ( a , b ) { throw new fa ( "Failure" + ( a ? ": " + a : "" ) , Array . prototype . slice . call ( arguments , 1 ) ) ; } ; var p = Array . prototype . indexOf ? function ( a , b , c ) { return Array . prototype . indexOf . call ( a , b , c ) } : function ( a , b , c ) { c = null == c ? 0 : 0 > c ? Math . max ( 0 , a . length + c ) : c ; if ( k ( a ) ) return k ( b ) && 1 == b . length ? a . indexOf ( b , c ) : - 1 ; for ( ; c < a . length ; c ++ ) if ( c in a && a [ c ] === b ) return c ; return - 1 } ; function ha ( a , b ) { a . sort ( b || ia ) } function ia ( a , b ) { return a > b ? 1 : a < b ? - 1 : 0 } ; function ja ( a ) { var b = [ ] , c = 0 , d ; for ( d in a ) b [ c ++ ] = a [ d ] ; return b } function ka ( a , b ) { var c ; a : { for ( c in a ) if ( b . call ( void 0 , a [ c ] , c , a ) ) break a ; c = void 0 } return c && a [ c ] } ; function q ( a ) { var b = document ; return k ( a ) ? b . getElementById ( a ) : a } ; function la ( a ) { var b = [ ] ; ma ( new na , a , b ) ; return b . join ( "" ) } function na ( ) { }
else if ( "function" == b && "undefined" == typeof a . call ) return "object" ; return b } function k ( a ) { return "string" == typeof a } function m ( a , b ) { function c ( ) { } c . prototype = b . prototype ; a . ha = b . prototype ; a . prototype = new c ; a . prototype . constructor = a ; a . ma = function ( a , c , f ) { for ( var d = Array ( arguments . length - 2 ) , e = 2 ; e < arguments . length ; e ++ ) d [ e - 2 ] = arguments [ e ] ; return b . prototype [ c ] . apply ( a , d ) } } ; function n ( a ) { if ( Error . captureStackTrace ) Error . captureStackTrace ( this , n ) ; else { var b = Error ( ) . stack ; b && ( this . stack = b ) } a && ( this . message = String ( a ) ) } m ( n , Error ) ; n . prototype . name = "CustomError" ; function ea ( a , b ) { for ( var c = a . split ( "%s" ) , d = "" , e = Array . prototype . slice . call ( arguments , 1 ) ; e . length && 1 < c . length ; ) d += c . shift ( ) + e . shift ( ) ; return d + c . join ( "%s" ) } ; function fa ( a , b ) { b . unshift ( a ) ; n . call ( this , ea . apply ( null , b ) ) ; b . shift ( ) } m ( fa , n ) ; fa . prototype . name = "AssertionError" ; function ga ( a , b ) { throw new fa ( "Failure" + ( a ? ": " + a : "" ) , Array . prototype . slice . call ( arguments , 1 ) ) ; } ; var p = Array . prototype . indexOf ? function ( a , b , c ) { return Array . prototype . indexOf . call ( a , b , c ) } : function ( a , b , c ) { c = null == c ? 0 : 0 > c ? Math . max ( 0 , a . length + c ) : c ; if ( k ( a ) ) return k ( b ) && 1 == b . length ? a . indexOf ( b , c ) : - 1 ; for ( ; c < a . length ; c ++ ) if ( c in a && a [ c ] === b ) return c ; return - 1 } ; function ha ( a , b ) { a . sort ( b || ia ) } function ia ( a , b ) { return a > b ? 1 : a < b ? - 1 : 0 } ; function ja ( a ) { var b = [ ] , c = 0 , d ; for ( d in a ) b [ c ++ ] = a [ d ] ; return b } function ka ( a , b ) { var c ; a : { for ( c in a ) if ( b . call ( void 0 , a [ c ] , c , a ) ) break a ; c = void 0 } return c && a [ c ] } ; function q ( a ) { var b = document ; return k ( a ) ? b . getElementById ( a ) : a } ; function la ( a ) { var b = [ ] ; ma ( new na , a , b ) ; return b . join ( "" ) } function na ( ) { }
function ma ( a , b , c ) { if ( null == b ) c . push ( "null" ) ; else { if ( "object" == typeof b ) { if ( "array" == da ( b ) ) { var d = b ; b = d . length ; c . push ( "[" ) ; for ( var e = "" , f = 0 ; f < b ; f ++ ) c . push ( e ) , ma ( a , d [ f ] , c ) , e = "," ; c . push ( "]" ) ; return } if ( b instanceof String || b instanceof Number || b instanceof Boolean ) b = b . valueOf ( ) ; else { c . push ( "{" ) ; e = "" ; for ( d in b ) Object . prototype . hasOwnProperty . call ( b , d ) && ( f = b [ d ] , "function" != typeof f && ( c . push ( e ) , oa ( d , c ) , c . push ( ":" ) , ma ( a , f , c ) , e = "," ) ) ; c . push ( "}" ) ; return } } switch ( typeof b ) { case "string" : oa ( b , c ) ; break ; case "number" : c . push ( isFinite ( b ) &&
! isNaN ( b ) ? String ( b ) : "null" ) ; break ; case "boolean" : c . push ( String ( b ) ) ; break ; case "function" : c . push ( "null" ) ; break ; default : throw Error ( "Unknown type: " + typeof b ) ; } } } var pa = { '"' : '\\"' , "\\" : "\\\\" , "/" : "\\/" , "\b" : "\\b" , "\f" : "\\f" , "\n" : "\\n" , "\r" : "\\r" , "\t" : "\\t" , "\x0B" : "\\u000b" } , qa = /\uffff/ . test ( "\uffff" ) ? /[\\\"\x00-\x1f\x7f-\uffff]/g : /[\\\"\x00-\x1f\x7f-\xff]/g ;
function oa ( a , b ) { b . push ( '"' , a . replace ( qa , function ( a ) { var b = pa [ a ] ; b || ( b = "\\u" + ( a . charCodeAt ( 0 ) | 65536 ) . toString ( 16 ) . substr ( 1 ) , pa [ a ] = b ) ; return b } ) , '"' ) } ; function ra ( a , b ) { this . a = a ; this . l = b . name ; this . f = ! ! b . u ; this . b = b . c ; this . j = b . type ; this . i = ! 1 ; switch ( this . b ) { case sa : case ta : case ua : case va : case wa : case xa : case ya : this . i = ! 0 } this . g = b . defaultValue } var ya = 1 , xa = 2 , sa = 3 , ta = 4 , ua = 6 , va = 16 , wa = 18 ; function za ( a , b ) { this . b = a ; this . a = { } ; for ( var c = 0 ; c < b . length ; c ++ ) { var d = b [ c ] ; this . a [ d . a ] = d } } function Aa ( a ) { a = ja ( a . a ) ; ha ( a , function ( a , c ) { return a . a - c . a } ) ; return a } function Ba ( a , b ) { return ka ( a . a , function ( a ) { return a . l == b } ) || null } ; function r ( ) { this . b = { } ; this . f = this . h ( ) . a ; this . a = this . g = null } function Ca ( a , b ) { for ( var c in a . b ) { var d = Number ( c ) ; a . f [ d ] || b . call ( a , d , a . b [ c ] ) } } r . prototype . has = function ( a ) { return t ( this , a . a ) } ; r . prototype . get = function ( a , b ) { return u ( this , a . a , b ) } ; r . prototype . set = function ( a , b ) { v ( this , a . a , b ) } ;
function Da ( a , b ) { for ( var c = Aa ( a . h ( ) ) , d = 0 ; d < c . length ; d ++ ) { var e = c [ d ] , f = e . a ; if ( t ( b , f ) ) { a . a && delete a . a [ e . a ] ; var g = 11 == e . b || 10 == e . b ; if ( e . f ) for ( var e = w ( b , f ) , h = 0 ; h < e . length ; h ++ ) Ea ( a , f , g ? e [ h ] . clone ( ) : e [ h ] ) ; else e = Fa ( b , f ) , g ? ( g = Fa ( a , f ) ) ? Da ( g , e ) : v ( a , f , e . clone ( ) ) : v ( a , f , e ) } } } r . prototype . clone = function ( ) { var a = new this . constructor ; a != this && ( a . b = { } , a . a && ( a . a = { } ) , Da ( a , this ) ) ; return a } ; function t ( a , b ) { return null != a . b [ b ] }
function Fa ( a , b ) { var c = a . b [ b ] ; if ( null == c ) return null ; if ( a . g ) { if ( ! ( b in a . a ) ) { var d = a . g , e = a . f [ b ] ; if ( null != c ) if ( e . f ) { for ( var f = [ ] , g = 0 ; g < c . length ; g ++ ) f [ g ] = d . a ( e , c [ g ] ) ; c = f } else c = d . a ( e , c ) ; return a . a [ b ] = c } return a . a [ b ] } return c } function u ( a , b , c ) { var d = Fa ( a , b ) ; return a . f [ b ] . f ? d [ c || 0 ] : d } function x ( a , b ) { var c ; if ( t ( a , b ) ) c = u ( a , b , void 0 ) ; else a : { c = a . f [ b ] ; if ( void 0 === c . g ) { var d = c . j ; if ( d === Boolean ) c . g = ! 1 ; else if ( d === Number ) c . g = 0 ; else if ( d === String ) c . g = c . i ? "0" : "" ; else { c = new d ; break a } } c = c . g } return c }
function w ( a , b ) { return Fa ( a , b ) || [ ] } function y ( a , b ) { return a . f [ b ] . f ? t ( a , b ) ? a . b [ b ] . length : 0 : t ( a , b ) ? 1 : 0 } function v ( a , b , c ) { a . b [ b ] = c ; a . a && ( a . a [ b ] = c ) } function Ea ( a , b , c ) { a . b [ b ] || ( a . b [ b ] = [ ] ) ; a . b [ b ] . push ( c ) ; a . a && delete a . a [ b ] } function Ga ( a , b ) { delete a . b [ b ] ; a . a && delete a . a [ b ] } function Ha ( a , b ) { var c = [ ] , d ; for ( d in b ) 0 != d && c . push ( new ra ( d , b [ d ] ) ) ; return new za ( a , c ) } ; function z ( ) { } z . prototype . b = function ( a , b ) { return 11 == a . b || 10 == a . b ? this . g ( b ) : "number" != typeof b || isFinite ( b ) ? b : b . toString ( ) } ; z . prototype . f = function ( a , b ) { var c = new a . b ; this . i ( c , b ) ; return c } ;
z . prototype . a = function ( a , b ) { if ( 11 == a . b || 10 == a . b ) return b instanceof r ? b : this . f ( a . j . prototype . h ( ) , b ) ; if ( 14 == a . b ) { if ( k ( b ) && Ia . test ( b ) ) { var c = Number ( b ) ; if ( 0 < c ) return c } return b } if ( ! a . i ) return b ; c = a . j ; if ( c === String ) { if ( "number" == typeof b ) return String ( b ) } else if ( c === Number && k ( b ) && ( "Infinity" === b || "-Infinity" === b || "NaN" === b || Ia . test ( b ) ) ) return Number ( b ) ; return b } ; var Ia = /^-?[0-9]+$/ ; function A ( a , b ) { this . j = a ; this . l = b } l ( A , z ) ; A . prototype . g = function ( a ) { for ( var b = Aa ( a . h ( ) ) , c = { } , d = 0 ; d < b . length ; d ++ ) { var e = b [ d ] , f = 1 == this . j ? e . l : e . a ; if ( a . has ( e ) ) if ( e . f ) { var g = [ ] ; c [ f ] = g ; for ( f = 0 ; f < y ( a , e . a ) ; f ++ ) g . push ( this . b ( e , a . get ( e , f ) ) ) } else c [ f ] = this . b ( e , a . get ( e ) ) } Ca ( a , function ( a , b ) { c [ a ] = b } ) ; return c } ; A . prototype . b = function ( a , b ) { return this . l && 8 == a . b && "boolean" == typeof b ? b ? 1 : 0 : A . ha . b . call ( this , a , b ) } ; A . prototype . a = function ( a , b ) { return 8 == a . b && "number" == typeof b ? ! ! b : A . ha . a . call ( this , a , b ) } ;
A . prototype . i = function ( a , b ) { var c = a . h ( ) , d ; for ( d in b ) { var e , f = b [ d ] , g = ! /[^0-9]/ . test ( d ) ; if ( e = g ? c . a [ parseInt ( d , 10 ) ] || null : Ba ( c , d ) ) if ( e . f ) for ( g = 0 ; g < f . length ; g ++ ) { var h = this . a ( e , f [ g ] ) ; Ea ( a , e . a , h ) } else a . set ( e , this . a ( e , f ) ) ; else g ? ( e = a , g = Number ( d ) , e . b [ g ] = f , e . a && delete e . a [ g ] ) : ga ( "Failed to find field: " + e ) } } ; function B ( a , b ) { null != a && this . a . apply ( this , arguments ) } B . prototype . b = "" ; B . prototype . set = function ( a ) { this . b = "" + a } ; B . prototype . a = function ( a , b , c ) { this . b += String ( a ) ; if ( null != b ) for ( var d = 1 ; d < arguments . length ; d ++ ) this . b += arguments [ d ] ; return this } ; function C ( a ) { a . b = "" } B . prototype . toString = function ( ) { return this . b } ; / *
function Fa ( a , b ) { var c = a . b [ b ] ; if ( null == c ) return null ; if ( a . g ) { if ( ! ( b in a . a ) ) { var d = a . g , e = a . f [ b ] ; if ( null != c ) if ( e . f ) { for ( var f = [ ] , g = 0 ; g < c . length ; g ++ ) f [ g ] = d . a ( e , c [ g ] ) ; c = f } else c = d . a ( e , c ) ; return a . a [ b ] = c } return a . a [ b ] } return c } function u ( a , b , c ) { var d = Fa ( a , b ) ; return a . f [ b ] . f ? d [ c || 0 ] : d } function y ( a , b ) { var c ; if ( t ( a , b ) ) c = u ( a , b , void 0 ) ; else a : { c = a . f [ b ] ; if ( void 0 === c . g ) { var d = c . j ; if ( d === Boolean ) c . g = ! 1 ; else if ( d === Number ) c . g = 0 ; else if ( d === String ) c . g = c . i ? "0" : "" ; else { c = new d ; break a } } c = c . g } return c }
function w ( a , b ) { return Fa ( a , b ) || [ ] } function z ( a , b ) { return a . f [ b ] . f ? t ( a , b ) ? a . b [ b ] . length : 0 : t ( a , b ) ? 1 : 0 } function v ( a , b , c ) { a . b [ b ] = c ; a . a && ( a . a [ b ] = c ) } function Ea ( a , b , c ) { a . b [ b ] || ( a . b [ b ] = [ ] ) ; a . b [ b ] . push ( c ) ; a . a && delete a . a [ b ] } function Ga ( a , b ) { delete a . b [ b ] ; a . a && delete a . a [ b ] } function Ha ( a , b ) { var c = [ ] , d ; for ( d in b ) 0 != d && c . push ( new ra ( d , b [ d ] ) ) ; return new za ( a , c ) } ; function A ( ) { } A . prototype . b = function ( a , b ) { return 11 == a . b || 10 == a . b ? this . g ( b ) : "number" != typeof b || isFinite ( b ) ? b : b . toString ( ) } ; A . prototype . f = function ( a , b ) { var c = new a . b ; this . i ( c , b ) ; return c } ;
A . prototype . a = function ( a , b ) { if ( 11 == a . b || 10 == a . b ) return b instanceof r ? b : this . f ( a . j . prototype . h ( ) , b ) ; if ( 14 == a . b ) { if ( k ( b ) && Ia . test ( b ) ) { var c = Number ( b ) ; if ( 0 < c ) return c } return b } if ( ! a . i ) return b ; c = a . j ; if ( c === String ) { if ( "number" == typeof b ) return String ( b ) } else if ( c === Number && k ( b ) && ( "Infinity" === b || "-Infinity" === b || "NaN" === b || Ia . test ( b ) ) ) return Number ( b ) ; return b } ; var Ia = /^-?[0-9]+$/ ; function B ( a , b ) { this . j = a ; this . l = b } m ( B , A ) ; B . prototype . g = function ( a ) { for ( var b = Aa ( a . h ( ) ) , c = { } , d = 0 ; d < b . length ; d ++ ) { var e = b [ d ] , f = 1 == this . j ? e . l : e . a ; if ( a . has ( e ) ) if ( e . f ) { var g = [ ] ; c [ f ] = g ; for ( f = 0 ; f < z ( a , e . a ) ; f ++ ) g . push ( this . b ( e , a . get ( e , f ) ) ) } else c [ f ] = this . b ( e , a . get ( e ) ) } Ca ( a , function ( a , b ) { c [ a ] = b } ) ; return c } ; B . prototype . b = function ( a , b ) { return this . l && 8 == a . b && "boolean" == typeof b ? b ? 1 : 0 : B . ha . b . call ( this , a , b ) } ; B . prototype . a = function ( a , b ) { return 8 == a . b && "number" == typeof b ? ! ! b : B . ha . a . call ( this , a , b ) } ;
B . prototype . i = function ( a , b ) { var c = a . h ( ) , d ; for ( d in b ) { var e , f = b [ d ] , g = ! /[^0-9]/ . test ( d ) ; if ( e = g ? c . a [ parseInt ( d , 10 ) ] || null : Ba ( c , d ) ) if ( e . f ) for ( g = 0 ; g < f . length ; g ++ ) { var h = this . a ( e , f [ g ] ) ; Ea ( a , e . a , h ) } else a . set ( e , this . a ( e , f ) ) ; else g ? ( e = a , g = Number ( d ) , e . b [ g ] = f , e . a && delete e . a [ g ] ) : ga ( "Failed to find field: " + e ) } } ; function C ( a , b ) { null != a && this . a . apply ( this , arguments ) } C . prototype . b = "" ; C . prototype . set = function ( a ) { this . b = "" + a } ; C . prototype . a = function ( a , b , c ) { this . b += String ( a ) ; if ( null != b ) for ( var d = 1 ; d < arguments . length ; d ++ ) this . b += arguments [ d ] ; return this } ; function D ( a ) { a . b = "" } C . prototype . toString = function ( ) { return this . b } ; / *
Protocol Buffer 2 Copyright 2008 Google Inc .
All other code copyright its respective owners .
@ -28,12 +28,12 @@ A.prototype.i=function(a,b){var c=a.h(),d;for(d in b){var e,f=b[d],g=!/[^0-9]/.t
See the License for the specific language governing permissions and
limitations under the License .
* /
function D ( ) { r . call ( this ) } l ( D , r ) ; var Ja = null ; function F ( ) { r . call ( this ) } l ( F , r ) ; var Ka = null ; function G ( ) { r . call ( this ) } l ( G , r ) ; var La = null ;
D . prototype . h = function ( ) { var a = Ja ; a || ( Ja = a = Ha ( D , { 0 : { name : "NumberFormat" , ba : "i18n.phonenumbers.NumberFormat" } , 1 : { name : "pattern" , required : ! 0 , c : 9 , type : String } , 2 : { name : "format" , required : ! 0 , c : 9 , type : String } , 3 : { name : "leading_digits_pattern" , u : ! 0 , c : 9 , type : String } , 4 : { name : "national_prefix_formatting_rule" , c : 9 , type : String } , 6 : { name : "national_prefix_optional_when_formatting" , c : 8 , type : Boolean } , 5 : { name : "domestic_carrier_code_formatting_rule" , c : 9 , type : String } } ) ) ; return a } ; D . h = D . prototype . h ;
function E ( ) { r . call ( this ) } m ( E , r ) ; var Ja = null ; function F ( ) { r . call ( this ) } m ( F , r ) ; var Ka = null ; function G ( ) { r . call ( this ) } m ( G , r ) ; var La = null ;
E . prototype . h = function ( ) { var a = Ja ; a || ( Ja = a = Ha ( E , { 0 : { name : "NumberFormat" , ba : "i18n.phonenumbers.NumberFormat" } , 1 : { name : "pattern" , required : ! 0 , c : 9 , type : String } , 2 : { name : "format" , required : ! 0 , c : 9 , type : String } , 3 : { name : "leading_digits_pattern" , u : ! 0 , c : 9 , type : String } , 4 : { name : "national_prefix_formatting_rule" , c : 9 , type : String } , 6 : { name : "national_prefix_optional_when_formatting" , c : 8 , type : Boolean } , 5 : { name : "domestic_carrier_code_formatting_rule" , c : 9 , type : String } } ) ) ; return a } ; E . h = E . prototype . h ;
F . prototype . h = function ( ) { var a = Ka ; a || ( Ka = a = Ha ( F , { 0 : { name : "PhoneNumberDesc" , ba : "i18n.phonenumbers.PhoneNumberDesc" } , 2 : { name : "national_number_pattern" , c : 9 , type : String } , 3 : { name : "possible_number_pattern" , c : 9 , type : String } , 9 : { name : "possible_length" , u : ! 0 , c : 5 , type : Number } , 10 : { name : "possible_length_local_only" , u : ! 0 , c : 5 , type : Number } , 6 : { name : "example_number" , c : 9 , type : String } , 7 : { name : "national_number_matcher_data" , c : 12 , type : String } , 8 : { name : "possible_number_matcher_data" , c : 12 , type : String } } ) ) ; return a } ; F . h = F . prototype . h ;
G . prototype . h = function ( ) { var a = La ; a || ( La = a = Ha ( G , { 0 : { name : "PhoneMetadata" , ba : "i18n.phonenumbers.PhoneMetadata" } , 1 : { name : "general_desc" , c : 11 , type : F } , 2 : { name : "fixed_line" , c : 11 , type : F } , 3 : { name : "mobile" , c : 11 , type : F } , 4 : { name : "toll_free" , c : 11 , type : F } , 5 : { name : "premium_rate" , c : 11 , type : F } , 6 : { name : "shared_cost" , c : 11 , type : F } , 7 : { name : "personal_number" , c : 11 , type : F } , 8 : { name : "voip" , c : 11 , type : F } , 21 : { name : "pager" , c : 11 , type : F } , 25 : { name : "uan" , c : 11 , type : F } , 27 : { name : "emergency" , c : 11 , type : F } , 28 : { name : "voicemail" , c : 11 , type : F } ,
24 : { name : "no_international_dialling" , c : 11 , type : F } , 9 : { name : "id" , required : ! 0 , c : 9 , type : String } , 10 : { name : "country_code" , c : 5 , type : Number } , 11 : { name : "international_prefix" , c : 9 , type : String } , 17 : { name : "preferred_international_prefix" , c : 9 , type : String } , 12 : { name : "national_prefix" , c : 9 , type : String } , 13 : { name : "preferred_extn_prefix" , c : 9 , type : String } , 15 : { name : "national_prefix_for_parsing" , c : 9 , type : String } , 16 : { name : "national_prefix_transform_rule" , c : 9 , type : String } , 18 : { name : "same_mobile_and_fixed_line_pattern" , c : 8 , defaultValue : ! 1 ,
type : Boolean } , 19 : { name : "number_format" , u : ! 0 , c : 11 , type : D } , 20 : { name : "intl_number_format" , u : ! 0 , c : 11 , type : D } , 22 : { name : "main_country_for_code" , c : 8 , defaultValue : ! 1 , type : Boolean } , 23 : { name : "leading_digits" , c : 9 , type : String } , 26 : { name : "leading_zero_possible" , c : 8 , defaultValue : ! 1 , type : Boolean } } ) ) ; return a } ; G . h = G . prototype . h ; function Ma ( ) { } l ( Ma , z ) ; Ma . prototype . f = function ( a , b ) { var c = new a . b ; c . g = this ; c . b = b ; c . a = { } ; return c } ; Ma . prototype . i = function ( ) { throw Error ( "Unimplemented" ) ; } ; function H ( ) { } l ( H , Ma ) ; H . prototype . g = function ( a ) { for ( var b = Aa ( a . h ( ) ) , c = [ ] , d = 0 ; d < b . length ; d ++ ) { var e = b [ d ] ; if ( a . has ( e ) ) { var f = e . a ; if ( e . f ) { c [ f ] = [ ] ; for ( var g = 0 ; g < y ( a , e . a ) ; g ++ ) c [ f ] [ g ] = this . b ( e , a . get ( e , g ) ) } else c [ f ] = this . b ( e , a . get ( e ) ) } } Ca ( a , function ( a , b ) { c [ a ] = b } ) ; return c } ; H . prototype . b = function ( a , b ) { return 8 == a . b ? b ? 1 : 0 : z . prototype . b . apply ( this , arguments ) } ; H . prototype . a = function ( a , b ) { return 8 == a . b ? ! ! b : z . prototype . a . apply ( this , arguments ) } ; function I ( ) { r . call ( this ) } var Na ; l ( I , r ) ; var Oa = { la : 1 , ka : 5 , ja : 10 , ia : 20 } ;
type : Boolean } , 19 : { name : "number_format" , u : ! 0 , c : 11 , type : E } , 20 : { name : "intl_number_format" , u : ! 0 , c : 11 , type : E } , 22 : { name : "main_country_for_code" , c : 8 , defaultValue : ! 1 , type : Boolean } , 23 : { name : "leading_digits" , c : 9 , type : String } , 26 : { name : "leading_zero_possible" , c : 8 , defaultValue : ! 1 , type : Boolean } } ) ) ; return a } ; G . h = G . prototype . h ; function Ma ( ) { } m ( Ma , A ) ; Ma . prototype . f = function ( a , b ) { var c = new a . b ; c . g = this ; c . b = b ; c . a = { } ; return c } ; Ma . prototype . i = function ( ) { throw Error ( "Unimplemented" ) ; } ; function H ( ) { } m ( H , Ma ) ; H . prototype . g = function ( a ) { for ( var b = Aa ( a . h ( ) ) , c = [ ] , d = 0 ; d < b . length ; d ++ ) { var e = b [ d ] ; if ( a . has ( e ) ) { var f = e . a ; if ( e . f ) { c [ f ] = [ ] ; for ( var g = 0 ; g < z ( a , e . a ) ; g ++ ) c [ f ] [ g ] = this . b ( e , a . get ( e , g ) ) } else c [ f ] = this . b ( e , a . get ( e ) ) } } Ca ( a , function ( a , b ) { c [ a ] = b } ) ; return c } ; H . prototype . b = function ( a , b ) { return 8 == a . b ? b ? 1 : 0 : A . prototype . b . apply ( this , arguments ) } ; H . prototype . a = function ( a , b ) { return 8 == a . b ? ! ! b : A . prototype . a . apply ( this , arguments ) } ; function I ( ) { r . call ( this ) } var Na ; m ( I , r ) ; var Oa = { la : 1 , ka : 5 , ja : 10 , ia : 20 } ;
I . prototype . h = function ( ) { Na || ( Na = Ha ( I , { 0 : { name : "PhoneNumber" , ba : "i18n.phonenumbers.PhoneNumber" } , 1 : { name : "country_code" , required : ! 0 , c : 5 , type : Number } , 2 : { name : "national_number" , required : ! 0 , c : 4 , type : Number } , 3 : { name : "extension" , c : 9 , type : String } , 4 : { name : "italian_leading_zero" , c : 8 , type : Boolean } , 8 : { name : "number_of_leading_zeros" , c : 5 , defaultValue : 1 , type : Number } , 5 : { name : "raw_input" , c : 9 , type : String } , 6 : { name : "country_code_source" , c : 14 , defaultValue : 1 , type : Oa } , 7 : { name : "preferred_domestic_carrier_code" , c : 9 , type : String } } ) ) ;
return Na } ; I . ctor = I ; I . ctor . h = I . prototype . h ; / *
@ -439,37 +439,37 @@ var L={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","\uff10":"0",
7 : "7" , 8 : "8" , 9 : "9" , "+" : "+" , "*" : "*" , "#" : "#" } , Ra = { 0 : "0" , 1 : "1" , 2 : "2" , 3 : "3" , 4 : "4" , 5 : "5" , 6 : "6" , 7 : "7" , 8 : "8" , 9 : "9" , "\uff10" : "0" , "\uff11" : "1" , "\uff12" : "2" , "\uff13" : "3" , "\uff14" : "4" , "\uff15" : "5" , "\uff16" : "6" , "\uff17" : "7" , "\uff18" : "8" , "\uff19" : "9" , "\u0660" : "0" , "\u0661" : "1" , "\u0662" : "2" , "\u0663" : "3" , "\u0664" : "4" , "\u0665" : "5" , "\u0666" : "6" , "\u0667" : "7" , "\u0668" : "8" , "\u0669" : "9" , "\u06f0" : "0" , "\u06f1" : "1" , "\u06f2" : "2" , "\u06f3" : "3" , "\u06f4" : "4" , "\u06f5" : "5" , "\u06f6" : "6" , "\u06f7" : "7" , "\u06f8" : "8" , "\u06f9" : "9" , A : "2" ,
B : "2" , C : "2" , D : "3" , E : "3" , F : "3" , G : "4" , H : "4" , I : "4" , J : "5" , K : "5" , L : "5" , M : "6" , N : "6" , O : "6" , P : "7" , Q : "7" , R : "7" , S : "7" , T : "8" , U : "8" , V : "8" , W : "9" , X : "9" , Y : "9" , Z : "9" } , Sa = /[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?/ , Ta = RegExp ( "[+\uff0b]+" ) , M = RegExp ( "^[+\uff0b]+" ) , Ua = RegExp ( "([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])" ) , Va = RegExp ( "[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]" ) , Wa = /[\\\/] *x/ , Xa = RegExp ( "[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$" ) , Ya = /(?:.*?[A-Za-z]){3}.*/ , Za = RegExp ( "(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)$" ,
"i" ) , $a = RegExp ( "^[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{2}$|^[+\uff0b]*(?:[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*]*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]){3,}[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]*(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[;,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)?$" ,
"i" ) , ab = /(\$\d)/ , bb = /\$NP/ , cb = /\$FG/ , db = /\$CC/ , eb = /^\(?\$1\)?$/ ; function fb ( a ) { var b = a . search ( Va ) ; 0 <= b ? ( a = a . substring ( b ) , a = a . replace ( Xa , "" ) , b = a . search ( Wa ) , 0 <= b && ( a = a . substring ( 0 , b ) ) ) : a = "" ; return a } function gb ( a ) { return 2 > a . length ? ! 1 : N ( $a , a ) } function hb ( a ) { return N ( Ya , a ) ? O ( a , Ra ) : O ( a , L ) } function ib ( a ) { var b = hb ( a . toString ( ) ) ; C ( a ) ; a . a ( b ) } function k b( a ) { return ! ! a && ( 1 != y ( a , 9 ) || - 1 != w ( a , 9 ) [ 0 ] ) }
function O ( a , b ) { for ( var c = new B , d , e = a . length , f = 0 ; f < e ; ++ f ) d = a . charAt ( f ) , d = b [ d . toUpperCase ( ) ] , null != d && c . a ( d ) ; return c . toString ( ) } function l b( a ) { return null != a && isNaN ( a ) && a . toUpperCase ( ) in Pa } function Q ( a , b , c ) { if ( 0 == u ( b , 2 ) && t ( b , 5 ) ) { var d = x ( b , 5 ) ; if ( 0 < d . length ) return d } var d = x ( b , 1 ) , e = R ( b ) ; if ( 0 == c ) return S ( d , 0 , e , "" ) ; if ( ! ( d in J ) ) return e ; a = T ( a , d , U ( d ) ) ; b = m b( b , a , c ) ; e = n b( e , a , c ) ; return S ( d , c , e , b ) }
function o b( a , b , c ) { var d = x ( b , 1 ) , e = R ( b ) ; if ( ! ( d in J ) ) return e ; a = T ( a , d , U ( d ) ) ; b = m b( b , a , 2 ) ; c = n b( e , a , 2 , c ) ; return S ( d , 2 , c , b ) } function T ( a , b , c ) { return "001" == c ? V ( a , "" + b ) : V ( a , c ) }
function p b( a , b , c ) { if ( ! l b( c ) ) return Q ( a , b , 1 ) ; var d = x ( b , 1 ) , e = R ( b ) ; if ( ! ( d in J ) ) return e ; if ( 1 == d ) { if ( null != c && 0 <= p ( J [ 1 ] , c . toUpperCase ( ) ) ) return d + " " + Q ( a , b , 2 ) } else if ( d == q b( a , c ) ) return Q ( a , b , 2 ) ; var f = V ( a , c ) , g = x ( f , 11 ) ; c = "" ; N ( Sa , g ) ? c = g : t ( f , 17 ) && ( c = x ( f , 17 ) ) ; a = T ( a , d , U ( d ) ) ; e = n b( e , a , 1 ) ; b = m b( b , a , 1 ) ; return 0 < c . length ? c + " " + d + " " + e + b : S ( d , 1 , e , b ) }
function r b( a , b , c ) { var d ; if ( d = t ( b , 5 ) ) { if ( d = t ( b , 4 ) ) d = x ( b , 1 ) , d = T ( a , d , U ( d ) ) , d = ! ( d && x ( d , 26 ) ) ; if ( ! d ) { d = x ( b , 1 ) ; if ( d = T ( a , d , U ( d ) ) ) { var e = R ( b ) ; d = ! ! s b( w ( d , 19 ) , e ) } else d = ! 1 ; d = ! d } } if ( d ) return x ( b , 5 ) ; if ( ! t ( b , 6 ) ) return Q ( a , b , 2 ) ; switch ( u ( b , 6 ) ) { case 1 : a = Q ( a , b , 1 ) ; break ; case 5 : a = p b( a , b , c ) ; break ; case 10 : a = Q ( a , b , 1 ) . substring ( 1 ) ; break ; default : d = U ( x ( b , 1 ) ) ; var f ; ( c = V ( a , d ) ) ? ( c = x ( c , 12 ) , f = c . length ? c = c . replace ( "~" , "" ) : null ) : f = null ; c = Q ( a , b , 2 ) ; if ( null != f && f . length ) { var g ; a : { e = x ( b , 5 ) ; e = O ( e , L ) ; if ( ! e . lastIndexOf ( f , 0 ) ) try { g = t b( a ,
u b( a , e . substring ( f . length ) , d , ! 1 ) ) ; break a } catch ( h ) { } g = ! 1 } if ( g ) a = c ; else if ( g = V ( a , d ) , d = R ( b ) , g = s b( w ( g , 19 ) , d ) ) if ( d = x ( g , 4 ) , e = d . indexOf ( "$1" ) , 0 >= e ) a = c ; else if ( d = d . substring ( 0 , e ) , d = O ( d , L ) , d . length ) if ( g = g . clone ( ) , Ga ( g , 4 ) , d = [ g ] , g = x ( b , 1 ) , c = R ( b ) , g in J ) { a = T ( a , g , U ( g ) ) ; if ( e = s b( d , c ) ) d = e . clone ( ) , e = x ( e , 4 ) , 0 < e . length && ( f = x ( a , 12 ) , 0 < f . length ? ( e = e . replace ( bb , f ) . replace ( cb , "$1" ) , v ( d , 4 , e ) ) : Ga ( d , 4 ) ) , c = v b( c , d , 2 ) ; a = m b( b , a , 2 ) ; a = S ( g , 2 , c , a ) } else a = c ; else a = c ; else a = c } else a = c } b = x ( b , 5 ) ; null != a && 0 < b . length && ( g = O ( a , Qa ) , c = O ( b , Qa ) ,
g != c && ( a = b ) ) ; return a } function R ( a ) { var b = "" + u ( a , 2 ) ; return t ( a , 4 ) && u ( a , 4 ) && 0 < x ( a , 8 ) ? Array ( x ( a , 8 ) + 1 ) . join ( "0" ) + b : b } function S ( a , b , c , d ) { switch ( b ) { case 0 : return "+" + a + c + d ; case 1 : return "+" + a + " " + c + d ; case 3 : return "tel:+" + a + "-" + c + d ; default : return c + d } } function n b( a , b , c , d ) { b = w ( b , 20 ) . length && 2 != c ? w ( b , 20 ) : w ( b , 19 ) ; return ( b = s b( b , a ) ) ? v b( a , b , c , d ) : a } function s b( a , b ) { for ( var c , d = a . length , e = 0 ; e < d ; ++ e ) { c = a [ e ] ; var f = y ( c , 3 ) ; if ( ! f || ! b . search ( u ( c , 3 , f - 1 ) ) ) if ( f = new RegExp ( u ( c , 1 ) ) , N ( f , b ) ) return c } return null }
function v b( a , b , c , d ) { var e = x ( b , 2 ) , f = new RegExp ( u ( b , 1 ) ) , g = x ( b , 5 ) ; 2 == c && null != d && 0 < d . length && 0 < g . length ? ( b = g . replace ( db , d ) , e = e . replace ( ab , b ) , a = a . replace ( f , e ) ) : ( b = x ( b , 4 ) , a = 2 == c && null != b && 0 < b . length ? a . replace ( f , e . replace ( ab , b ) ) : a . replace ( f , e ) ) ; 3 == c && ( a = a . replace ( RegExp ( "^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+" ) , "" ) , a = a . replace ( RegExp ( "[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+" ,
"g" ) , "-" ) ) ; return a } function m b( a , b , c ) { return t ( a , 3 ) && u ( a , 3 ) . length ? 3 == c ? ";ext=" + u ( a , 3 ) : t ( b , 13 ) ? u ( b , 13 ) + x ( a , 3 ) : " ext. " + x ( a , 3 ) : "" } function w b( a , b ) { switch ( b ) { case 4 : return u ( a , 5 ) ; case 3 : return u ( a , 4 ) ; case 1 : return u ( a , 3 ) ; case 0 : case 2 : return u ( a , 2 ) ; case 5 : return u ( a , 6 ) ; case 6 : return u ( a , 8 ) ; case 7 : return u ( a , 7 ) ; case 8 : return u ( a , 21 ) ; case 9 : return u ( a , 25 ) ; case 10 : return u ( a , 28 ) ; default : return u ( a , 1 ) } }
function x b( a , b ) { return W ( a , u ( b , 1 ) ) ? W ( a , u ( b , 5 ) ) ? 4 : W ( a , u ( b , 4 ) ) ? 3 : W ( a , u ( b , 6 ) ) ? 5 : W ( a , u ( b , 8 ) ) ? 6 : W ( a , u ( b , 7 ) ) ? 7 : W ( a , u ( b , 21 ) ) ? 8 : W ( a , u ( b , 25 ) ) ? 9 : W ( a , u ( b , 28 ) ) ? 10 : W ( a , u ( b , 2 ) ) ? u ( b , 18 ) || W ( a , u ( b , 3 ) ) ? 2 : 0 : ! u ( b , 18 ) && W ( a , u ( b , 3 ) ) ? 1 : - 1 : - 1 } function V ( a , b ) { if ( null == b ) return null ; b = b . toUpperCase ( ) ; var c = a . a [ b ] ; if ( ! c ) { c = Pa [ b ] ; if ( ! c ) return null ; c = ( new H ) . f ( G . h ( ) , c ) ; a . a [ b ] = c } return c } function W ( a , b ) { var c = a . length ; return 0 < y ( b , 9 ) && - 1 == p ( w ( b , 9 ) , c ) ? ! 1 : N ( x ( b , 2 ) , a ) } function t b( a , b ) { var c = y b( a , b ) ; return z b( a , b , c ) }
function z b( a , b , c ) { var d = x ( b , 1 ) , e = T ( a , d , c ) ; if ( ! e || "001" != c && d != q b( a , c ) ) return ! 1 ; a = R ( b ) ; return - 1 != x b( a , e ) } function y b( a , b ) { if ( ! b ) return null ; var c = x ( b , 1 ) ; if ( c = J [ c ] ) if ( 1 == c . length ) c = c [ 0 ] ; else a : { for ( var d = R ( b ) , e , f = c . length , g = 0 ; g < f ; g ++ ) { e = c [ g ] ; var h = V ( a , e ) ; if ( t ( h , 23 ) ) { if ( ! d . search ( u ( h , 23 ) ) ) { c = e ; break a } } else if ( - 1 != x b( d , h ) ) { c = e ; break a } } c = null } else c = null ; return c } function U ( a ) { return ( a = J [ a ] ) ? a [ 0 ] : "ZZ" } function q b( a , b ) { var c = V ( a , b ) ; if ( ! c ) throw Error ( "Invalid region code: " + b ) ; return x ( c , 10 ) }
function A b( a , b , c , d ) { var e = w b( c , d ) , f = y ( e , 9 ) ? w ( e , 9 ) : w ( u ( c , 1 ) , 9 ) , e = w ( e , 10 ) ; if ( 2 == d ) if ( kb ( w b( c , 0 ) ) ) a = w b( c , 1 ) , k b( a ) && ( f = f . concat ( y ( a , 9 ) ? w ( a , 9 ) : w ( u ( c , 1 ) , 9 ) ) , ha ( f ) , e . length ? ( e = e . concat ( w ( a , 10 ) ) , ha ( e ) ) : e = w ( a , 10 ) ) ; else return A b( a , b , c , 1 ) ; if ( - 1 == f [ 0 ] ) return 5 ; b = b . length ; if ( - 1 < p ( e , b ) ) return 0 ; c = f [ 0 ] ; return c == b ? 0 : c > b ? 2 : f [ f . length - 1 ] < b ? 3 : - 1 < p ( f , b , 1 ) ? 0 : 3 } function B b( a , b ) { var c = R ( b ) , d = x ( b , 1 ) ; if ( ! ( d in J ) ) return 1 ; d = T ( a , d , U ( d ) ) ; return A b( a , c , d , - 1 ) }
function C b( a , b ) { var c = a . toString ( ) ; if ( ! c . length || "0" == c . charAt ( 0 ) ) return 0 ; for ( var d , e = c . length , f = 1 ; 3 >= f && f <= e ; ++ f ) if ( d = parseInt ( c . substring ( 0 , f ) , 10 ) , d in J ) return b . a ( c . substring ( f ) ) , d ; return 0 }
function D b( a , b , c , d , e , f ) { if ( ! b . length ) return 0 ; b = new B ( b ) ; var g ; c && ( g = u ( c , 11 ) ) ; null == g && ( g = "NonMatch" ) ; var h = b . toString ( ) ; if ( h . length ) if ( M . test ( h ) ) h = h . replace ( M , "" ) , C ( b ) , b . a ( hb ( h ) ) , g = 1 ; else { h = new RegExp ( g ) ; ib ( b ) ; g = b . toString ( ) ; if ( g . search ( h ) ) g = ! 1 ; else { var h = g . match ( h ) [ 0 ] . length , m = g . substring ( h ) . match ( Ua ) ; m && null != m [ 1 ] && 0 < m [ 1 ] . length && "0" == O ( m [ 1 ] , L ) ? g = ! 1 : ( C ( b ) , b . a ( g . substring ( h ) ) , g = ! 0 ) } g = g ? 5 : 20 } else g = 20 ; e && v ( f , 6 , g ) ; if ( 20 != g ) { if ( 2 >= b . b . length ) throw Error ( "Phone number too short after IDD" ) ; if ( a = C b( b ,
d ) ) return v ( f , 1 , a ) , a ; throw Error ( "Invalid country calling code" ) ; } if ( c && ( g = x ( c , 10 ) , h = "" + g , m = b . toString ( ) , ! m . lastIndexOf ( h , 0 ) && ( h = new B ( m . substring ( h . length ) ) , m = u ( c , 1 ) , m = new RegExp ( x ( m , 2 ) ) , E b( h , c , null ) , h = h . toString ( ) , ! N ( m , b . toString ( ) ) && N ( m , h ) || 3 == A b( a , b . toString ( ) , c , - 1 ) ) ) ) return d . a ( h ) , e && v ( f , 6 , 10 ) , v ( f , 1 , g ) , g ; v ( f , 1 , 0 ) ; return 0 }
function E b( a , b , c ) { var d = a . toString ( ) , e = d . length , f = u ( b , 15 ) ; if ( e && null != f && f . length ) { var g = new RegExp ( "^(?:" + f + ")" ) ; if ( e = g . exec ( d ) ) { var f = new RegExp ( x ( u ( b , 1 ) , 2 ) ) , h = N ( f , d ) , m = e . length - 1 ; b = u ( b , 16 ) ; if ( null != b && b . length && null != e [ m ] && e [ m ] . length ) { if ( d = d . replace ( g , b ) , ! h || N ( f , d ) ) c && 0 < m && c . a ( e [ 1 ] ) , a . set ( d ) } else if ( ! h || N ( f , d . substring ( e [ 0 ] . length ) ) ) c && 0 < m && null != e [ m ] && c . a ( e [ 1 ] ) , a . set ( d . substring ( e [ 0 ] . length ) ) } } }
function u b( a , b , c , d ) { if ( null == b ) throw Error ( "The string supplied did not seem to be a phone number" ) ; if ( 250 < b . length ) throw Error ( "The string supplied is too long to be a phone number" ) ; var e = new B , f = b . indexOf ( ";phone-context=" ) ; if ( 0 < f ) { var g = f + 15 ; if ( "+" == b . charAt ( g ) ) { var h = b . indexOf ( ";" , g ) ; 0 < h ? e . a ( b . substring ( g , h ) ) : e . a ( b . substring ( g ) ) } g = b . indexOf ( "tel:" ) ; e . a ( b . substring ( 0 <= g ? g + 4 : 0 , f ) ) } else e . a ( fb ( b ) ) ; f = e . toString ( ) ; g = f . indexOf ( ";isub=" ) ; 0 < g && ( C ( e ) , e . a ( f . substring ( 0 , g ) ) ) ; if ( ! gb ( e . toString ( ) ) ) throw Error ( "The string supplied did not seem to be a phone number" ) ;
f = e . toString ( ) ; if ( ! ( l b( c ) || null != f && 0 < f . length && M . test ( f ) ) ) throw Error ( "Invalid country calling code" ) ; f = new I ; d && v ( f , 5 , b ) ; a : { b = e . toString ( ) ; g = b . search ( Za ) ; if ( 0 <= g && gb ( b . substring ( 0 , g ) ) ) for ( var h = b . match ( Za ) , m = h . length , E = 1 ; E < m ; ++ E ) if ( null != h [ E ] && 0 < h [ E ] . length ) { C ( e ) ; e . a ( b . substring ( 0 , g ) ) ; b = h [ E ] ; break a } b = "" } 0 < b . length && v ( f , 3 , b ) ; b = V ( a , c ) ; g = new B ; h = 0 ; m = e . toString ( ) ; try { h = Db ( a , m , b , g , d , f ) } catch ( P ) { if ( "Invalid country calling code" == P . message && M . test ( m ) ) { if ( m = m . replace ( M , "" ) , h = Db ( a , m , b , g , d , f ) , ! h ) throw P ;
} else throw P ; } h ? ( e = U ( h ) , e != c && ( b = T ( a , h , e ) ) ) : ( ib ( e ) , g . a ( e . toString ( ) ) , null != c ? ( h = x ( b , 10 ) , v ( f , 1 , h ) ) : d && Ga ( f , 6 ) ) ; if ( 2 > g . b . length ) throw Error ( "The string supplied is too short to be a phone number" ) ; b && ( c = new B , e = new B ( g . toString ( ) ) , E b( e , b , c ) , 2 != A b( a , e . toString ( ) , b , - 1 ) && ( g = e , d && 0 < c . toString ( ) . length && v ( f , 7 , c . toString ( ) ) ) ) ; a = g . toString ( ) ; d = a . length ; if ( 2 > d ) throw Error ( "The string supplied is too short to be a phone number" ) ; if ( 17 < d ) throw Error ( "The string supplied is too long to be a phone number" ) ; if ( 1 <
a . length && "0" == a . charAt ( 0 ) ) { v ( f , 4 , ! 0 ) ; for ( d = 1 ; d < a . length - 1 && "0" == a . charAt ( d ) ; ) d ++ ; 1 != d && v ( f , 8 , d ) } v ( f , 2 , parseInt ( a , 10 ) ) ; return f } function N ( a , b ) { var c = "string" == typeof a ? b . match ( "^(?:" + a + ")$" ) : b . match ( a ) ; return c && c [ 0 ] . length == b . length ? ! 0 : ! 1 } ; function F b( a ) { this . ca = RegExp ( "\u2008" ) ; this . ea = "" ; this . m = new B ; this . w = "" ; this . i = new B ; this . v = new B ; this . j = ! 0 ; this . $ = this . o = this . ga = ! 1 ; this . da = K . a ( ) ; this . s = 0 ; this . b = new B ; this . aa = ! 1 ; this . l = "" ; this . a = new B ; this . f = [ ] ; this . fa = a ; this . g = G b( this , this . fa ) } var H b= new G ; v ( H b, 11 , "NA" ) ;
var I b= /\[([^\[\]])*\]/g , J b= /\d(?=[^,}][^,}])/g , K b= RegExp ( "^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*(\\$\\d[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*)+$" ) , L b= /[- ]/ ; function G b( a , b ) { var c = l b( b ) ? q b( a . da , b ) : 0 ; return ( c = V ( a . da , U ( c ) ) ) ? c : H b}
function M b( a ) { for ( var b = a . f . length , c = 0 ; c < b ; ++ c ) { var d = a . f [ c ] , e = x ( d , 1 ) ; if ( a . w == e ) return ! 1 ; var f ; f = a ; var g = d , h = x ( g , 1 ) ; if ( - 1 != h . indexOf ( "|" ) ) f = ! 1 ; else { h = h . replace ( I b, "\\d" ) ; h = h . replace ( J b, "\\d" ) ; C ( f . m ) ; var m ; m = f ; var g = x ( g , 2 ) , E = "999999999999999" . match ( h ) [ 0 ] ; E . length < m . a . b . length ? m = "" : ( m = E . replace ( new RegExp ( h , "g" ) , g ) , m = m . replace ( RegExp ( "9" , "g" ) , "\u2008" ) ) ; 0 < m . length ? ( f . m . a ( m ) , f = ! 0 ) : f = ! 1 } if ( f ) return a . w = e , a . aa = L b. test ( u ( d , 4 ) ) , a . s = 0 , ! 0 } return a . j = ! 1 }
function N b( a , b ) { for ( var c = [ ] , d = b . length - 3 , e = a . f . length , f = 0 ; f < e ; ++ f ) { var g = a . f [ f ] ; y ( g , 3 ) ? ( g = u ( g , 3 , Math . min ( d , y ( g , 3 ) - 1 ) ) , b . search ( g ) || c . push ( a . f [ f ] ) ) : c . push ( a . f [ f ] ) } a . f = c } function O b( a , b ) { a . ea = P b( a , b ) ; return a . ea }
function P b( a , b ) { a . i . a ( b ) ; var c = b ; if ( Ua . test ( c ) || 1 == a . i . b . length && Ta . test ( c ) ) { var c = b , d ; "+" == c ? ( d = c , a . v . a ( c ) ) : ( d = L [ c ] , a . v . a ( d ) , a . a . a ( d ) ) ; b = d } else a . j = ! 1 , a . ga = ! 0 ; if ( ! a . j ) { if ( ! a . ga ) if ( Q b( a ) ) { if ( R b( a ) ) return S b( a ) } else if ( 0 < a . l . length && ( c = a . a . toString ( ) , C ( a . a ) , a . a . a ( a . l ) , a . a . a ( c ) , c = a . b . toString ( ) , d = c . lastIndexOf ( a . l ) , C ( a . b ) , a . b . a ( c . substring ( 0 , d ) ) ) , a . l != T b( a ) ) return a . b . a ( " " ) , S b( a ) ; return a . i . toString ( ) } switch ( a . v . b . length ) { case 0 : case 1 : case 2 : return a . i . toString ( ) ; case 3 : if ( Q b( a ) ) a . $ = ! 0 ; else return a . l =
T b( a ) , U b( a ) ; default : if ( a . $ ) return R b( a ) && ( a . $ = ! 1 ) , a . b . toString ( ) + a . a . toString ( ) ; if ( 0 < a . f . length ) { c = V b( a , b ) ; d = W b( a ) ; if ( 0 < d . length ) return d ; N b( a , a . a . toString ( ) ) ; return M b( a ) ? X b( a ) : a . j ? Y b( a , c ) : a . i . toString ( ) } return U b( a ) } } function S b( a ) { a . j = ! 0 ; a . $ = ! 1 ; a . f = [ ] ; a . s = 0 ; C ( a . m ) ; a . w = "" ; return U b( a ) } function W b( a ) { for ( var b = a . a . toString ( ) , c = a . f . length , d = 0 ; d < c ; ++ d ) { var e = a . f [ d ] , f = x ( e , 1 ) ; if ( ( new RegExp ( "^(?:" + f + ")$" ) ) . test ( b ) ) return a . aa = L b. test ( u ( e , 4 ) ) , b = b . replace ( new RegExp ( f , "g" ) , u ( e , 2 ) ) , Y b( a , b ) } return "" }
function Y b( a , b ) { var c = a . b . b . length ; return a . aa && 0 < c && " " != a . b . toString ( ) . charAt ( c - 1 ) ? a . b + " " + b : a . b + b } function U b( a ) { var b = a . a . toString ( ) ; if ( 3 <= b . length ) { for ( var c = a . o && 0 < y ( a . g , 20 ) ? w ( a . g , 20 ) : w ( a . g , 19 ) , d = c . length , e = 0 ; e < d ; ++ e ) { var f = c [ e ] , g ; ( g = ! t ( a . g , 12 ) || a . o || u ( f , 6 ) ) || ( g = x ( f , 4 ) , g = ! g . length || eb . test ( g ) ) ; g && K b. test ( x ( f , 2 ) ) && a . f . push ( f ) } N b( a , b ) ; b = W b( a ) ; return 0 < b . length ? b : M b( a ) ? X b( a ) : a . i . toString ( ) } return Y b( a , b ) }
function X b( a ) { var b = a . a . toString ( ) , c = b . length ; if ( 0 < c ) { for ( var d = "" , e = 0 ; e < c ; e ++ ) d = V b( a , b . charAt ( e ) ) ; return a . j ? Y b( a , d ) : a . i . toString ( ) } return a . b . toString ( ) }
function T b( a ) { var b = a . a . toString ( ) , c = 0 , d ; 1 != u ( a . g , 10 ) ? d = ! 1 : ( d = a . a . toString ( ) , d = "1" == d . charAt ( 0 ) && "0" != d . charAt ( 1 ) && "1" != d . charAt ( 1 ) ) ; d ? ( c = 1 , a . b . a ( "1" ) . a ( " " ) , a . o = ! 0 ) : t ( a . g , 15 ) && ( d = new RegExp ( "^(?:" + u ( a . g , 15 ) + ")" ) , ( d = b . match ( d ) ) && null != d [ 0 ] && 0 < d [ 0 ] . length && ( a . o = ! 0 , c = d [ 0 ] . length , a . b . a ( b . substring ( 0 , c ) ) ) ) ; C ( a . a ) ; a . a . a ( b . substring ( c ) ) ; return b . substring ( 0 , c ) }
function Q b( a ) { var b = a . v . toString ( ) , c = new RegExp ( "^(?:\\+|" + u ( a . g , 11 ) + ")" ) ; return ( c = b . match ( c ) ) && null != c [ 0 ] && 0 < c [ 0 ] . length ? ( a . o = ! 0 , c = c [ 0 ] . length , C ( a . a ) , a . a . a ( b . substring ( c ) ) , C ( a . b ) , a . b . a ( b . substring ( 0 , c ) ) , "+" != b . charAt ( 0 ) && a . b . a ( " " ) , ! 0 ) : ! 1 } function R b( a ) { if ( ! a . a . b . length ) return ! 1 ; var b = new B , c = C b( a . a , b ) ; if ( ! c ) return ! 1 ; C ( a . a ) ; a . a . a ( b . toString ( ) ) ; b = U ( c ) ; "001" == b ? a . g = V ( a . da , "" + c ) : b != a . fa && ( a . g = G b( a , b ) ) ; a . b . a ( "" + c ) . a ( " " ) ; a . l = "" ; return ! 0 }
function V b( a , b ) { var c = a . m . toString ( ) ; if ( 0 <= c . substring ( a . s ) . search ( a . ca ) ) { var d = c . search ( a . ca ) , c = c . replace ( a . ca , b ) ; C ( a . m ) ; a . m . a ( c ) ; a . s = d ; return c . substring ( 0 , a . s + 1 ) } 1 == a . f . length && ( a . j = ! 1 ) ; a . w = "" ; return a . i . toString ( ) } ; function Z b( ) { var a = q ( "phoneNumber" ) . value , b = q ( "defaultCountry" ) . value , c = q ( "carrierCode" ) . value , d = new B ; try { var e = K . a ( ) , f ; if ( ! l b( b ) && 0 < a . length && "+" != a . charAt ( 0 ) ) throw Error ( "Invalid country calling code" ) ; f = u b( e , a , b , ! 0 ) ; d . a ( "****Parsing Result:****\n" ) ; d . a ( la ( ( new A ( 1 ) ) . g ( f ) ) ) ; d . a ( "\n\n****Validation Results:****" ) ; var g = 0 == B b( e , f ) ; d . a ( "\nResult from isPossibleNumber(): " ) ; d . a ( g ) ; if ( g ) { var h = t b( e , f ) ; d . a ( "\nResult from isValidNumber(): " ) ; d . a ( h ) ; h && b && "ZZ" != b && ( d . a ( "\nResult from isValidNumberForRegion(): " ) ,
d . a ( z b( e , f , b ) ) ) ; d . a ( "\nPhone Number region: " ) ; d . a ( y b( e , f ) ) ; d . a ( "\nResult from getNumberType(): " ) ; var m ; var E = y b( e , f ) , P = T ( e , x ( f , 1 ) , E ) ; if ( P ) { var ac = R ( f ) ; m = xb ( ac , P ) } else m = - 1 ; switch ( m ) { case 0 : d . a ( "FIXED_LINE" ) ; break ; case 1 : d . a ( "MOBILE" ) ; break ; case 2 : d . a ( "FIXED_LINE_OR_MOBILE" ) ; break ; case 3 : d . a ( "TOLL_FREE" ) ; break ; case 4 : d . a ( "PREMIUM_RATE" ) ; break ; case 5 : d . a ( "SHARED_COST" ) ; break ; case 6 : d . a ( "VOIP" ) ; break ; case 7 : d . a ( "PERSONAL_NUMBER" ) ; break ; case 8 : d . a ( "PAGER" ) ; break ; case 9 : d . a ( "UAN" ) ; break ; case - 1 : d . a ( "UNKNOWN" ) } } else { d . a ( "\nResult from isPossibleNumberWithReason(): " ) ;
switch ( B b( e , f ) ) { case 1 : d . a ( "INVALID_COUNTRY_CODE" ) ; break ; case 2 : d . a ( "TOO_SHORT" ) ; break ; case 3 : d . a ( "TOO_LONG" ) } d . a ( "\nNote: numbers that are not possible have type UNKNOWN, an unknown region, and are considered invalid." ) } d . a ( "\n\n****Formatting Results:**** " ) ; d . a ( "\nE164 format: " ) ; d . a ( h ? Q ( e , f , 0 ) : "invalid" ) ; d . a ( "\nOriginal format: " ) ; d . a ( r b( e , f , b ) ) ; d . a ( "\nNational format: " ) ; d . a ( Q ( e , f , 2 ) ) ; d . a ( "\nInternational format: " ) ; d . a ( h ? Q ( e , f , 1 ) : "invalid" ) ; d . a ( "\nOut-of-country format from US: " ) ; d . a ( h ? p b( e ,
f , "US" ) : "invalid" ) ; d . a ( "\nOut-of-country format from Switzerland: " ) ; d . a ( h ? p b( e , f , "CH" ) : "invalid" ) ; 0 < c . length && ( d . a ( "\nNational format with carrier code: " ) , d . a ( o b( e , f , c ) ) ) ; d . a ( "\n\n****AsYouTypeFormatter Results****" ) ; for ( var bc = new F b( b ) , c c= a . length , b = 0 ; b < c c; ++ b ) { var j b= a . charAt ( b ) ; d . a ( "\nChar entered: " ) ; d . a ( j b) ; d . a ( " Output: " ) ; d . a ( Ob ( bc , j b) ) } } catch ( d c) { d . a ( "\n" + d c. toString ( ) ) } q ( "output" ) . value = d . toString ( ) ; return ! 1 } var X = [ "phoneNumberParser" ] , Y = this ;
X [ 0 ] in Y || ! Y . execScript || Y . execScript ( "var " + X [ 0 ] ) ; for ( var Z ; X . length && ( Z = X . shift ( ) ) ; ) { var $b ; if ( $b = ! X . length ) $b = void 0 !== Zb ; $b ? Y [ Z ] = Z b: Y [ Z ] ? Y = Y [ Z ] : Y = Y [ Z ] = { } } ; } ) ( ) ;
"i" ) , ab = /(\$\d)/ , bb = /\$NP/ , cb = /\$FG/ , db = /\$CC/ , eb = /^\(?\$1\)?$/ ; function fb ( a ) { var b = a . search ( Va ) ; 0 <= b ? ( a = a . substring ( b ) , a = a . replace ( Xa , "" ) , b = a . search ( Wa ) , 0 <= b && ( a = a . substring ( 0 , b ) ) ) : a = "" ; return a } function gb ( a ) { return 2 > a . length ? ! 1 : N ( $a , a ) } function hb ( a ) { return N ( Ya , a ) ? O ( a , Ra ) : O ( a , L ) } function ib ( a ) { var b = hb ( a . toString ( ) ) ; D ( a ) ; a . a ( b ) } function l b( a ) { return ! ! a && ( 1 != z ( a , 9 ) || - 1 != w ( a , 9 ) [ 0 ] ) }
function O ( a , b ) { for ( var c = new C , d , e = a . length , f = 0 ; f < e ; ++ f ) d = a . charAt ( f ) , d = b [ d . toUpperCase ( ) ] , null != d && c . a ( d ) ; return c . toString ( ) } function m b( a ) { return null != a && isNaN ( a ) && a . toUpperCase ( ) in Pa } function P ( a , b , c ) { if ( 0 == u ( b , 2 ) && t ( b , 5 ) ) { var d = y ( b , 5 ) ; if ( 0 < d . length ) return d } var d = y ( b , 1 ) , e = Q ( b ) ; if ( 0 == c ) return R ( d , 0 , e , "" ) ; if ( ! ( d in J ) ) return e ; a = S ( a , d , T ( d ) ) ; b = n b( b , a , c ) ; e = o b( e , a , c ) ; return R ( d , c , e , b ) }
function p b( a , b , c ) { var d = y ( b , 1 ) , e = Q ( b ) ; if ( ! ( d in J ) ) return e ; a = S ( a , d , T ( d ) ) ; b = n b( b , a , 2 ) ; c = o b( e , a , 2 , c ) ; return R ( d , 2 , c , b ) } function S ( a , b , c ) { return "001" == c ? U ( a , "" + b ) : U ( a , c ) }
function q b( a , b , c ) { if ( ! m b( c ) ) return P ( a , b , 1 ) ; var d = y ( b , 1 ) , e = Q ( b ) ; if ( ! ( d in J ) ) return e ; if ( 1 == d ) { if ( null != c && 0 <= p ( J [ 1 ] , c . toUpperCase ( ) ) ) return d + " " + P ( a , b , 2 ) } else if ( d == r b( a , c ) ) return P ( a , b , 2 ) ; var f = U ( a , c ) , g = y ( f , 11 ) ; c = "" ; N ( Sa , g ) ? c = g : t ( f , 17 ) && ( c = y ( f , 17 ) ) ; a = S ( a , d , T ( d ) ) ; e = o b( e , a , 1 ) ; b = n b( b , a , 1 ) ; return 0 < c . length ? c + " " + d + " " + e + b : R ( d , 1 , e , b ) }
function s b( a , b , c ) { var d ; if ( d = t ( b , 5 ) ) { if ( d = t ( b , 4 ) ) d = y ( b , 1 ) , d = S ( a , d , T ( d ) ) , d = ! ( d && y ( d , 26 ) ) ; if ( ! d ) { d = y ( b , 1 ) ; if ( d = S ( a , d , T ( d ) ) ) { var e = Q ( b ) ; d = ! ! t b( w ( d , 19 ) , e ) } else d = ! 1 ; d = ! d } } if ( d ) return y ( b , 5 ) ; if ( ! t ( b , 6 ) ) return P ( a , b , 2 ) ; switch ( u ( b , 6 ) ) { case 1 : a = P ( a , b , 1 ) ; break ; case 5 : a = q b( a , b , c ) ; break ; case 10 : a = P ( a , b , 1 ) . substring ( 1 ) ; break ; default : d = T ( y ( b , 1 ) ) ; var f ; ( c = U ( a , d ) ) ? ( c = y ( c , 12 ) , f = c . length ? c = c . replace ( "~" , "" ) : null ) : f = null ; c = P ( a , b , 2 ) ; if ( null != f && f . length ) { var g ; a : { e = y ( b , 5 ) ; e = O ( e , L ) ; if ( ! e . lastIndexOf ( f , 0 ) ) try { g = u b( a ,
v b( a , e . substring ( f . length ) , d , ! 1 ) ) ; break a } catch ( h ) { } g = ! 1 } if ( g ) a = c ; else if ( g = U ( a , d ) , d = Q ( b ) , g = t b( w ( g , 19 ) , d ) ) if ( d = y ( g , 4 ) , e = d . indexOf ( "$1" ) , 0 >= e ) a = c ; else if ( d = d . substring ( 0 , e ) , d = O ( d , L ) , d . length ) if ( g = g . clone ( ) , Ga ( g , 4 ) , d = [ g ] , g = y ( b , 1 ) , c = Q ( b ) , g in J ) { a = S ( a , g , T ( g ) ) ; if ( e = t b( d , c ) ) d = e . clone ( ) , e = y ( e , 4 ) , 0 < e . length && ( f = y ( a , 12 ) , 0 < f . length ? ( e = e . replace ( bb , f ) . replace ( cb , "$1" ) , v ( d , 4 , e ) ) : Ga ( d , 4 ) ) , c = w b( c , d , 2 ) ; a = n b( b , a , 2 ) ; a = R ( g , 2 , c , a ) } else a = c ; else a = c ; else a = c } else a = c } b = y ( b , 5 ) ; null != a && 0 < b . length && ( g = O ( a , Qa ) , c = O ( b , Qa ) ,
g != c && ( a = b ) ) ; return a } function Q ( a ) { var b = "" + u ( a , 2 ) ; return t ( a , 4 ) && u ( a , 4 ) && 0 < y ( a , 8 ) ? Array ( y ( a , 8 ) + 1 ) . join ( "0" ) + b : b } function R ( a , b , c , d ) { switch ( b ) { case 0 : return "+" + a + c + d ; case 1 : return "+" + a + " " + c + d ; case 3 : return "tel:+" + a + "-" + c + d ; default : return c + d } } function o b( a , b , c , d ) { b = w ( b , 20 ) . length && 2 != c ? w ( b , 20 ) : w ( b , 19 ) ; return ( b = t b( b , a ) ) ? w b( a , b , c , d ) : a } function t b( a , b ) { for ( var c , d = a . length , e = 0 ; e < d ; ++ e ) { c = a [ e ] ; var f = z ( c , 3 ) ; if ( ! f || ! b . search ( u ( c , 3 , f - 1 ) ) ) if ( f = new RegExp ( u ( c , 1 ) ) , N ( f , b ) ) return c } return null }
function w b( a , b , c , d ) { var e = y ( b , 2 ) , f = new RegExp ( u ( b , 1 ) ) , g = y ( b , 5 ) ; 2 == c && null != d && 0 < d . length && 0 < g . length ? ( b = g . replace ( db , d ) , e = e . replace ( ab , b ) , a = a . replace ( f , e ) ) : ( b = y ( b , 4 ) , a = 2 == c && null != b && 0 < b . length ? a . replace ( f , e . replace ( ab , b ) ) : a . replace ( f , e ) ) ; 3 == c && ( a = a . replace ( RegExp ( "^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+" ) , "" ) , a = a . replace ( RegExp ( "[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]+" ,
"g" ) , "-" ) ) ; return a } function n b( a , b , c ) { return t ( a , 3 ) && u ( a , 3 ) . length ? 3 == c ? ";ext=" + u ( a , 3 ) : t ( b , 13 ) ? u ( b , 13 ) + y ( a , 3 ) : " ext. " + y ( a , 3 ) : "" } function x b( a , b ) { switch ( b ) { case 4 : return u ( a , 5 ) ; case 3 : return u ( a , 4 ) ; case 1 : return u ( a , 3 ) ; case 0 : case 2 : return u ( a , 2 ) ; case 5 : return u ( a , 6 ) ; case 6 : return u ( a , 8 ) ; case 7 : return u ( a , 7 ) ; case 8 : return u ( a , 21 ) ; case 9 : return u ( a , 25 ) ; case 10 : return u ( a , 28 ) ; default : return u ( a , 1 ) } }
function y b( a , b ) { return W ( a , u ( b , 1 ) ) ? W ( a , u ( b , 5 ) ) ? 4 : W ( a , u ( b , 4 ) ) ? 3 : W ( a , u ( b , 6 ) ) ? 5 : W ( a , u ( b , 8 ) ) ? 6 : W ( a , u ( b , 7 ) ) ? 7 : W ( a , u ( b , 21 ) ) ? 8 : W ( a , u ( b , 25 ) ) ? 9 : W ( a , u ( b , 28 ) ) ? 10 : W ( a , u ( b , 2 ) ) ? u ( b , 18 ) || W ( a , u ( b , 3 ) ) ? 2 : 0 : ! u ( b , 18 ) && W ( a , u ( b , 3 ) ) ? 1 : - 1 : - 1 } function U ( a , b ) { if ( null == b ) return null ; b = b . toUpperCase ( ) ; var c = a . a [ b ] ; if ( ! c ) { c = Pa [ b ] ; if ( ! c ) return null ; c = ( new H ) . f ( G . h ( ) , c ) ; a . a [ b ] = c } return c } function W ( a , b ) { var c = a . length ; return 0 < z ( b , 9 ) && - 1 == p ( w ( b , 9 ) , c ) ? ! 1 : N ( y ( b , 2 ) , a ) } function u b( a , b ) { var c = z b( a , b ) ; return A b( a , b , c ) }
function A b( a , b , c ) { var d = y ( b , 1 ) , e = S ( a , d , c ) ; if ( ! e || "001" != c && d != r b( a , c ) ) return ! 1 ; a = Q ( b ) ; return - 1 != y b( a , e ) } function z b( a , b ) { if ( ! b ) return null ; var c = y ( b , 1 ) ; if ( c = J [ c ] ) if ( 1 == c . length ) c = c [ 0 ] ; else a : { for ( var d = Q ( b ) , e , f = c . length , g = 0 ; g < f ; g ++ ) { e = c [ g ] ; var h = U ( a , e ) ; if ( t ( h , 23 ) ) { if ( ! d . search ( u ( h , 23 ) ) ) { c = e ; break a } } else if ( - 1 != y b( d , h ) ) { c = e ; break a } } c = null } else c = null ; return c } function T ( a ) { return ( a = J [ a ] ) ? a [ 0 ] : "ZZ" } function r b( a , b ) { var c = U ( a , b ) ; if ( ! c ) throw Error ( "Invalid region code: " + b ) ; return y ( c , 10 ) }
function B b( a , b , c , d ) { var e = x b( c , d ) , f = z ( e , 9 ) ? w ( e , 9 ) : w ( u ( c , 1 ) , 9 ) , e = w ( e , 10 ) ; if ( 2 == d ) if ( lb ( x b( c , 0 ) ) ) a = x b( c , 1 ) , l b( a ) && ( f = f . concat ( z ( a , 9 ) ? w ( a , 9 ) : w ( u ( c , 1 ) , 9 ) ) , ha ( f ) , e . length ? ( e = e . concat ( w ( a , 10 ) ) , ha ( e ) ) : e = w ( a , 10 ) ) ; else return B b( a , b , c , 1 ) ; if ( - 1 == f [ 0 ] ) return 5 ; b = b . length ; if ( - 1 < p ( e , b ) ) return 4 ; c = f [ 0 ] ; return c == b ? 0 : c > b ? 2 : f [ f . length - 1 ] < b ? 3 : - 1 < p ( f , b , 1 ) ? 0 : 5 } function C b( a , b ) { var c = Q ( b ) , d = y ( b , 1 ) ; if ( ! ( d in J ) ) return 1 ; d = S ( a , d , T ( d ) ) ; return B b( a , c , d , - 1 ) }
function D b( a , b ) { var c = a . toString ( ) ; if ( ! c . length || "0" == c . charAt ( 0 ) ) return 0 ; for ( var d , e = c . length , f = 1 ; 3 >= f && f <= e ; ++ f ) if ( d = parseInt ( c . substring ( 0 , f ) , 10 ) , d in J ) return b . a ( c . substring ( f ) ) , d ; return 0 }
function E b( a , b , c , d , e , f ) { if ( ! b . length ) return 0 ; b = new C ( b ) ; var g ; c && ( g = u ( c , 11 ) ) ; null == g && ( g = "NonMatch" ) ; var h = b . toString ( ) ; if ( h . length ) if ( M . test ( h ) ) h = h . replace ( M , "" ) , D ( b ) , b . a ( hb ( h ) ) , g = 1 ; else { h = new RegExp ( g ) ; ib ( b ) ; g = b . toString ( ) ; if ( g . search ( h ) ) g = ! 1 ; else { var h = g . match ( h ) [ 0 ] . length , l = g . substring ( h ) . match ( Ua ) ; l && null != l [ 1 ] && 0 < l [ 1 ] . length && "0" == O ( l [ 1 ] , L ) ? g = ! 1 : ( D ( b ) , b . a ( g . substring ( h ) ) , g = ! 0 ) } g = g ? 5 : 20 } else g = 20 ; e && v ( f , 6 , g ) ; if ( 20 != g ) { if ( 2 >= b . b . length ) throw Error ( "Phone number too short after IDD" ) ; if ( a = D b( b ,
d ) ) return v ( f , 1 , a ) , a ; throw Error ( "Invalid country calling code" ) ; } if ( c && ( g = y ( c , 10 ) , h = "" + g , l = b . toString ( ) , ! l . lastIndexOf ( h , 0 ) && ( h = new C ( l . substring ( h . length ) ) , l = u ( c , 1 ) , l = new RegExp ( y ( l , 2 ) ) , F b( h , c , null ) , h = h . toString ( ) , ! N ( l , b . toString ( ) ) && N ( l , h ) || 3 == B b( a , b . toString ( ) , c , - 1 ) ) ) ) return d . a ( h ) , e && v ( f , 6 , 10 ) , v ( f , 1 , g ) , g ; v ( f , 1 , 0 ) ; return 0 }
function F b( a , b , c ) { var d = a . toString ( ) , e = d . length , f = u ( b , 15 ) ; if ( e && null != f && f . length ) { var g = new RegExp ( "^(?:" + f + ")" ) ; if ( e = g . exec ( d ) ) { var f = new RegExp ( y ( u ( b , 1 ) , 2 ) ) , h = N ( f , d ) , l = e . length - 1 ; b = u ( b , 16 ) ; if ( null != b && b . length && null != e [ l ] && e [ l ] . length ) { if ( d = d . replace ( g , b ) , ! h || N ( f , d ) ) c && 0 < l && c . a ( e [ 1 ] ) , a . set ( d ) } else if ( ! h || N ( f , d . substring ( e [ 0 ] . length ) ) ) c && 0 < l && null != e [ l ] && c . a ( e [ 1 ] ) , a . set ( d . substring ( e [ 0 ] . length ) ) } } }
function v b( a , b , c , d ) { if ( null == b ) throw Error ( "The string supplied did not seem to be a phone number" ) ; if ( 250 < b . length ) throw Error ( "The string supplied is too long to be a phone number" ) ; var e = new C , f = b . indexOf ( ";phone-context=" ) ; if ( 0 < f ) { var g = f + 15 ; if ( "+" == b . charAt ( g ) ) { var h = b . indexOf ( ";" , g ) ; 0 < h ? e . a ( b . substring ( g , h ) ) : e . a ( b . substring ( g ) ) } g = b . indexOf ( "tel:" ) ; e . a ( b . substring ( 0 <= g ? g + 4 : 0 , f ) ) } else e . a ( fb ( b ) ) ; f = e . toString ( ) ; g = f . indexOf ( ";isub=" ) ; 0 < g && ( D ( e ) , e . a ( f . substring ( 0 , g ) ) ) ; if ( ! gb ( e . toString ( ) ) ) throw Error ( "The string supplied did not seem to be a phone number" ) ;
f = e . toString ( ) ; if ( ! ( m b( c ) || null != f && 0 < f . length && M . test ( f ) ) ) throw Error ( "Invalid country calling code" ) ; f = new I ; d && v ( f , 5 , b ) ; a : { b = e . toString ( ) ; g = b . search ( Za ) ; if ( 0 <= g && gb ( b . substring ( 0 , g ) ) ) for ( var h = b . match ( Za ) , l = h . length , x = 1 ; x < l ; ++ x ) if ( null != h [ x ] && 0 < h [ x ] . length ) { D ( e ) ; e . a ( b . substring ( 0 , g ) ) ; b = h [ x ] ; break a } b = "" } 0 < b . length && v ( f , 3 , b ) ; b = U ( a , c ) ; g = new C ; h = 0 ; l = e . toString ( ) ; try { h = Eb ( a , l , b , g , d , f ) } catch ( V ) { if ( "Invalid country calling code" == V . message && M . test ( l ) ) { if ( l = l . replace ( M , "" ) , h = Eb ( a , l , b , g , d , f ) , ! h ) throw V ;
} else throw V ; } h ? ( e = T ( h ) , e != c && ( b = S ( a , h , e ) ) ) : ( ib ( e ) , g . a ( e . toString ( ) ) , null != c ? ( h = y ( b , 10 ) , v ( f , 1 , h ) ) : d && Ga ( f , 6 ) ) ; if ( 2 > g . b . length ) throw Error ( "The string supplied is too short to be a phone number" ) ; b && ( c = new C , e = new C ( g . toString ( ) ) , F b( e , b , c ) , 2 != B b( a , e . toString ( ) , b , - 1 ) && ( g = e , d && 0 < c . toString ( ) . length && v ( f , 7 , c . toString ( ) ) ) ) ; a = g . toString ( ) ; d = a . length ; if ( 2 > d ) throw Error ( "The string supplied is too short to be a phone number" ) ; if ( 17 < d ) throw Error ( "The string supplied is too long to be a phone number" ) ; if ( 1 <
a . length && "0" == a . charAt ( 0 ) ) { v ( f , 4 , ! 0 ) ; for ( d = 1 ; d < a . length - 1 && "0" == a . charAt ( d ) ; ) d ++ ; 1 != d && v ( f , 8 , d ) } v ( f , 2 , parseInt ( a , 10 ) ) ; return f } function N ( a , b ) { var c = "string" == typeof a ? b . match ( "^(?:" + a + ")$" ) : b . match ( a ) ; return c && c [ 0 ] . length == b . length ? ! 0 : ! 1 } ; function G b( a ) { this . ca = RegExp ( "\u2008" ) ; this . ea = "" ; this . m = new C ; this . w = "" ; this . i = new C ; this . v = new C ; this . j = ! 0 ; this . $ = this . o = this . ga = ! 1 ; this . da = K . a ( ) ; this . s = 0 ; this . b = new C ; this . aa = ! 1 ; this . l = "" ; this . a = new C ; this . f = [ ] ; this . fa = a ; this . g = H b( this , this . fa ) } var I b= new G ; v ( I b, 11 , "NA" ) ;
var J b= /\[([^\[\]])*\]/g , K b= /\d(?=[^,}][^,}])/g , L b= RegExp ( "^[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*(\\$\\d[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e]*)+$" ) , M b= /[- ]/ ; function H b( a , b ) { var c = m b( b ) ? r b( a . da , b ) : 0 ; return ( c = U ( a . da , T ( c ) ) ) ? c : I b}
function N b( a ) { for ( var b = a . f . length , c = 0 ; c < b ; ++ c ) { var d = a . f [ c ] , e = y ( d , 1 ) ; if ( a . w == e ) return ! 1 ; var f ; f = a ; var g = d , h = y ( g , 1 ) ; if ( - 1 != h . indexOf ( "|" ) ) f = ! 1 ; else { h = h . replace ( J b, "\\d" ) ; h = h . replace ( K b, "\\d" ) ; D ( f . m ) ; var l ; l = f ; var g = y ( g , 2 ) , x = "999999999999999" . match ( h ) [ 0 ] ; x . length < l . a . b . length ? l = "" : ( l = x . replace ( new RegExp ( h , "g" ) , g ) , l = l . replace ( RegExp ( "9" , "g" ) , "\u2008" ) ) ; 0 < l . length ? ( f . m . a ( l ) , f = ! 0 ) : f = ! 1 } if ( f ) return a . w = e , a . aa = M b. test ( u ( d , 4 ) ) , a . s = 0 , ! 0 } return a . j = ! 1 }
function O b( a , b ) { for ( var c = [ ] , d = b . length - 3 , e = a . f . length , f = 0 ; f < e ; ++ f ) { var g = a . f [ f ] ; z ( g , 3 ) ? ( g = u ( g , 3 , Math . min ( d , z ( g , 3 ) - 1 ) ) , b . search ( g ) || c . push ( a . f [ f ] ) ) : c . push ( a . f [ f ] ) } a . f = c } function P b( a , b ) { a . ea = Q b( a , b ) ; return a . ea }
function Q b( a , b ) { a . i . a ( b ) ; var c = b ; if ( Ua . test ( c ) || 1 == a . i . b . length && Ta . test ( c ) ) { var c = b , d ; "+" == c ? ( d = c , a . v . a ( c ) ) : ( d = L [ c ] , a . v . a ( d ) , a . a . a ( d ) ) ; b = d } else a . j = ! 1 , a . ga = ! 0 ; if ( ! a . j ) { if ( ! a . ga ) if ( R b( a ) ) { if ( S b( a ) ) return T b( a ) } else if ( 0 < a . l . length && ( c = a . a . toString ( ) , D ( a . a ) , a . a . a ( a . l ) , a . a . a ( c ) , c = a . b . toString ( ) , d = c . lastIndexOf ( a . l ) , D ( a . b ) , a . b . a ( c . substring ( 0 , d ) ) ) , a . l != U b( a ) ) return a . b . a ( " " ) , T b( a ) ; return a . i . toString ( ) } switch ( a . v . b . length ) { case 0 : case 1 : case 2 : return a . i . toString ( ) ; case 3 : if ( R b( a ) ) a . $ = ! 0 ; else return a . l =
U b( a ) , V b( a ) ; default : if ( a . $ ) return S b( a ) && ( a . $ = ! 1 ) , a . b . toString ( ) + a . a . toString ( ) ; if ( 0 < a . f . length ) { c = W b( a , b ) ; d = X b( a ) ; if ( 0 < d . length ) return d ; O b( a , a . a . toString ( ) ) ; return N b( a ) ? Y b( a ) : a . j ? Z b( a , c ) : a . i . toString ( ) } return V b( a ) } } function T b( a ) { a . j = ! 0 ; a . $ = ! 1 ; a . f = [ ] ; a . s = 0 ; D ( a . m ) ; a . w = "" ; return V b( a ) } function X b( a ) { for ( var b = a . a . toString ( ) , c = a . f . length , d = 0 ; d < c ; ++ d ) { var e = a . f [ d ] , f = y ( e , 1 ) ; if ( ( new RegExp ( "^(?:" + f + ")$" ) ) . test ( b ) ) return a . aa = M b. test ( u ( e , 4 ) ) , b = b . replace ( new RegExp ( f , "g" ) , u ( e , 2 ) ) , Z b( a , b ) } return "" }
function Z b( a , b ) { var c = a . b . b . length ; return a . aa && 0 < c && " " != a . b . toString ( ) . charAt ( c - 1 ) ? a . b + " " + b : a . b + b } function V b( a ) { var b = a . a . toString ( ) ; if ( 3 <= b . length ) { for ( var c = a . o && 0 < z ( a . g , 20 ) ? w ( a . g , 20 ) : w ( a . g , 19 ) , d = c . length , e = 0 ; e < d ; ++ e ) { var f = c [ e ] , g ; ( g = ! t ( a . g , 12 ) || a . o || u ( f , 6 ) ) || ( g = y ( f , 4 ) , g = ! g . length || eb . test ( g ) ) ; g && L b. test ( y ( f , 2 ) ) && a . f . push ( f ) } O b( a , b ) ; b = X b( a ) ; return 0 < b . length ? b : N b( a ) ? Y b( a ) : a . i . toString ( ) } return Z b( a , b ) }
function Y b( a ) { var b = a . a . toString ( ) , c = b . length ; if ( 0 < c ) { for ( var d = "" , e = 0 ; e < c ; e ++ ) d = W b( a , b . charAt ( e ) ) ; return a . j ? Z b( a , d ) : a . i . toString ( ) } return a . b . toString ( ) }
function U b( a ) { var b = a . a . toString ( ) , c = 0 , d ; 1 != u ( a . g , 10 ) ? d = ! 1 : ( d = a . a . toString ( ) , d = "1" == d . charAt ( 0 ) && "0" != d . charAt ( 1 ) && "1" != d . charAt ( 1 ) ) ; d ? ( c = 1 , a . b . a ( "1" ) . a ( " " ) , a . o = ! 0 ) : t ( a . g , 15 ) && ( d = new RegExp ( "^(?:" + u ( a . g , 15 ) + ")" ) , ( d = b . match ( d ) ) && null != d [ 0 ] && 0 < d [ 0 ] . length && ( a . o = ! 0 , c = d [ 0 ] . length , a . b . a ( b . substring ( 0 , c ) ) ) ) ; D ( a . a ) ; a . a . a ( b . substring ( c ) ) ; return b . substring ( 0 , c ) }
function R b( a ) { var b = a . v . toString ( ) , c = new RegExp ( "^(?:\\+|" + u ( a . g , 11 ) + ")" ) ; return ( c = b . match ( c ) ) && null != c [ 0 ] && 0 < c [ 0 ] . length ? ( a . o = ! 0 , c = c [ 0 ] . length , D ( a . a ) , a . a . a ( b . substring ( c ) ) , D ( a . b ) , a . b . a ( b . substring ( 0 , c ) ) , "+" != b . charAt ( 0 ) && a . b . a ( " " ) , ! 0 ) : ! 1 } function S b( a ) { if ( ! a . a . b . length ) return ! 1 ; var b = new C , c = D b( a . a , b ) ; if ( ! c ) return ! 1 ; D ( a . a ) ; a . a . a ( b . toString ( ) ) ; b = T ( c ) ; "001" == b ? a . g = U ( a . da , "" + c ) : b != a . fa && ( a . g = H b( a , b ) ) ; a . b . a ( "" + c ) . a ( " " ) ; a . l = "" ; return ! 0 }
function W b( a , b ) { var c = a . m . toString ( ) ; if ( 0 <= c . substring ( a . s ) . search ( a . ca ) ) { var d = c . search ( a . ca ) , c = c . replace ( a . ca , b ) ; D ( a . m ) ; a . m . a ( c ) ; a . s = d ; return c . substring ( 0 , a . s + 1 ) } 1 == a . f . length && ( a . j = ! 1 ) ; a . w = "" ; return a . i . toString ( ) } ; function $ b( ) { var a = q ( "phoneNumber" ) . value , b = q ( "defaultCountry" ) . value , c = q ( "carrierCode" ) . value , d = new C ; try { var e = K . a ( ) , f ; if ( ! m b( b ) && 0 < a . length && "+" != a . charAt ( 0 ) ) throw Error ( "Invalid country calling code" ) ; f = v b( e , a , b , ! 0 ) ; d . a ( "****Parsing Result:****\n" ) ; d . a ( la ( ( new B ( 1 ) ) . g ( f ) ) ) ; d . a ( "\n\n****Validation Results:****" ) ; var g , h = C b( e , f ) ; g = 0 == h || 4 == h ; d . a ( "\nResult from isPossibleNumber(): " ) ; d . a ( g ) ; if ( g ) { var l = u b( e , f ) ; d . a ( "\nResult from isValidNumber(): " ) ; d . a ( l ) ; l && b && "ZZ" != b && ( d . a ( "\nResult from isValidNumberForRegion(): " ) ,
d . a ( A b( e , f , b ) ) ) ; d . a ( "\nPhone Number region: " ) ; d . a ( z b( e , f ) ) ; d . a ( "\nResult from getNumberType(): " ) ; var x ; var V = z b( e , f ) , jb = S ( e , y ( f , 1 ) , V ) ; if ( jb ) { var bc = Q ( f ) ; x = yb ( bc , jb ) } else x = - 1 ; switch ( x ) { case 0 : d . a ( "FIXED_LINE" ) ; break ; case 1 : d . a ( "MOBILE" ) ; break ; case 2 : d . a ( "FIXED_LINE_OR_MOBILE" ) ; break ; case 3 : d . a ( "TOLL_FREE" ) ; break ; case 4 : d . a ( "PREMIUM_RATE" ) ; break ; case 5 : d . a ( "SHARED_COST" ) ; break ; case 6 : d . a ( "VOIP" ) ; break ; case 7 : d . a ( "PERSONAL_NUMBER" ) ; break ; case 8 : d . a ( "PAGER" ) ; break ; case 9 : d . a ( "UAN" ) ; break ; case - 1 : d . a ( "UNKNOWN" ) } } else { d . a ( "\nResult from isPossibleNumberWithReason(): " ) ;
switch ( C b( e , f ) ) { case 1 : d . a ( "INVALID_COUNTRY_CODE" ) ; break ; case 2 : d . a ( "TOO_SHORT" ) ; break ; case 3 : d . a ( "TOO_LONG" ) } d . a ( "\nNote: numbers that are not possible have type UNKNOWN, an unknown region, and are considered invalid." ) } d . a ( "\n\n****Formatting Results:**** " ) ; d . a ( "\nE164 format: " ) ; d . a ( l ? P ( e , f , 0 ) : "invalid" ) ; d . a ( "\nOriginal format: " ) ; d . a ( s b( e , f , b ) ) ; d . a ( "\nNational format: " ) ; d . a ( P ( e , f , 2 ) ) ; d . a ( "\nInternational format: " ) ; d . a ( l ? P ( e , f , 1 ) : "invalid" ) ; d . a ( "\nOut-of-country format from US: " ) ; d . a ( l ? q b( e ,
f , "US" ) : "invalid" ) ; d . a ( "\nOut-of-country format from Switzerland: " ) ; d . a ( l ? q b( e , f , "CH" ) : "invalid" ) ; 0 < c . length && ( d . a ( "\nNational format with carrier code: " ) , d . a ( p b( e , f , c ) ) ) ; d . a ( "\n\n****AsYouTypeFormatter Results****" ) ; for ( var cc = new G b( b ) , d c= a . length , b = 0 ; b < d c; ++ b ) { var k b= a . charAt ( b ) ; d . a ( "\nChar entered: " ) ; d . a ( k b) ; d . a ( " Output: " ) ; d . a ( Pb ( cc , k b) ) } } catch ( e c) { d . a ( "\n" + e c. toString ( ) ) } q ( "output" ) . value = d . toString ( ) ; return ! 1 } var X = [ "phoneNumberParser" ] , Y = this ;
X [ 0 ] in Y || ! Y . execScript || Y . execScript ( "var " + X [ 0 ] ) ; for ( var Z ; X . length && ( Z = X . shift ( ) ) ; ) { var ac ; if ( ac = ! X . length ) ac = void 0 !== $b ; ac ? Y [ Z ] = $ b: Y [ Z ] ? Y = Y [ Z ] : Y = Y [ Z ] = { } } ; } ) ( ) ;