/ *
Input Mask plugin for jquery
http : //github.com/RobinHerbots/jquery.inputmask
Copyright ( c ) 2010 - 2014 Robin Herbots
Licensed under the MIT license ( http : //www.opensource.org/licenses/mit-license.php)
Version : 3.0 . 59
Input Mask plugin for jquery
http : //github.com/RobinHerbots/jquery.inputmask
Copyright ( c ) 2010 - 2014 Robin Herbots
Licensed under the MIT license ( http : //www.opensource.org/licenses/mit-license.php)
Version : 3.0 . 59
* /
( function ( f ) { "function" === typeof define && define . amd ? define ( "jquery.inputmask" , [ "jquery" ] , f ) : f ( jQuery ) } ) ( function ( f ) { if ( void 0 === f . fn . inputmask ) { var a = function ( a ) { var f = document . createElement ( "input" ) ; a = "on" + a ; var b = a in f ; b || ( f . setAttribute ( a , "return;" ) , b = "function" == typeof f [ a ] ) ; return b } , b = function ( a , e , w ) { return ( a = w . aliases [ a ] ) ? ( a . alias && b ( a . alias , void 0 , w ) , f . extend ( ! 0 , w , a ) , f . extend ( ! 0 , w , e ) , ! 0 ) : ! 1 } , e = function ( a , b ) { function w ( f ) { function b ( a , f , m , w ) { this . matches = [ ] ; this . isGroup = a || ! 1 ; this . isOptional =
f || ! 1 ; this . isQuantifier = m || ! 1 ; this . isAlternator = w || ! 1 ; this . quantifier = { min : 1 , max : 1 } } function w ( f , b , m ) { var e = a . definitions [ b ] , c = 0 == f . matches . length ; m = void 0 != m ? m : f . matches . length ; if ( e && ! d ) { for ( var h = e . prevalidator , k = h ? h . length : 0 , g = 1 ; g < e . cardinality ; g ++ ) { var n = k >= g ? h [ g - 1 ] : [ ] , p = n . validator , n = n . cardinality ; f . matches . splice ( m ++ , 0 , { fn : p ? "string" == typeof p ? RegExp ( p ) : new function ( ) { this . test = p } : /./ , cardinality : n ? n : 1 , optionality : f . isOptional , newBlockMarker : c , casing : e . casing , def : e . definitionSymbol || b , placeholder : e . placeholder ,
mask : b } ) } f . matches . splice ( m ++ , 0 , { fn : e . validator ? "string" == typeof e . validator ? RegExp ( e . validator ) : new function ( ) { this . test = e . validator } : /./ , cardinality : e . cardinality , optionality : f . isOptional , newBlockMarker : c , casing : e . casing , def : e . definitionSymbol || b , placeholder : e . placeholder , mask : b } ) } else f . matches . splice ( m ++ , 0 , { fn : null , cardinality : 0 , optionality : f . isOptional , newBlockMarker : c , casing : null , def : b , placeholder : void 0 , mask : b } ) , d = ! 1 } for ( var e = /(?:[?*+]|\{[0-9\+\*]+(?:,[0-9\+\*]*)?\})\??|[^.?*+^${[]()|\\]+|./g ,
d = ! 1 , c = new b , m , k = [ ] , v = [ ] ; m = e . exec ( f ) ; ) switch ( m = m [ 0 ] , m . charAt ( 0 ) ) { case a . optionalmarker . end : case a . groupmarker . end : m = k . pop ( ) ; 0 < k . length ? k [ k . length - 1 ] . matches . push ( m ) : c . matches . push ( m ) ; break ; case a . optionalmarker . start : k . push ( new b ( ! 1 , ! 0 ) ) ; break ; case a . groupmarker . start : k . push ( new b ( ! 0 ) ) ; break ; case a . quantifiermarker . start : var g = new b ( ! 1 , ! 1 , ! 0 ) ; m = m . replace ( /[{}]/g , "" ) ; var q = m . split ( "," ) ; m = isNaN ( q [ 0 ] ) ? q [ 0 ] : parseInt ( q [ 0 ] ) ; q = 1 == q . length ? m : isNaN ( q [ 1 ] ) ? q [ 1 ] : parseInt ( q [ 1 ] ) ; if ( "*" == q || "+" == q ) m = "*" == q ? 0 : 1 ;
g . quantifier = { min : m , max : q } ; if ( 0 < k . length ) { q = k [ k . length - 1 ] . matches ; m = q . pop ( ) ; if ( ! m . isGroup ) { var u = new b ( ! 0 ) ; u . matches . push ( m ) ; m = u } q . push ( m ) ; q . push ( g ) } else m = c . matches . pop ( ) , m . isGroup || ( u = new b ( ! 0 ) , u . matches . push ( m ) , m = u ) , c . matches . push ( m ) , c . matches . push ( g ) ; break ; case a . escapeChar : d = ! 0 ; break ; case a . alternatormarker : g = new b ( ! 1 , ! 1 , ! 1 , ! 0 ) ; 0 < k . length ? ( q = k [ k . length - 1 ] . matches , m = q . pop ( ) , g . matches . push ( m ) , q . push ( g ) ) : ( m = c . matches . pop ( ) , g . matches . push ( m ) ) ; k . push ( g ) ; break ; default : if ( 0 < k . length ) { if ( w ( k [ k . length -
1 ] , m ) , m = k [ k . length - 1 ] , m . isAlternator ) { m = k . pop ( ) ; for ( g = 0 ; g < m . matches . length ; g ++ ) m . matches [ g ] . isGroup = ! 1 ; 0 < k . length ? k [ k . length - 1 ] . matches . push ( m ) : c . matches . push ( m ) } } else 0 < c . matches . length && ( g = c . matches [ c . matches . length - 1 ] , g . isGroup && ( g . isGroup = ! 1 , w ( g , a . groupmarker . start , 0 ) , w ( g , a . groupmarker . end ) ) ) , w ( c , m ) } if ( 0 < k . length ) { m = k [ k . length - 1 ] ; if ( m . isAlternator ) for ( g = 0 ; g < m . matches . length ; g ++ ) m . matches [ g ] . isGroup = ! 1 ; c . matches = c . matches . concat ( k ) } 0 < c . matches . length && ( g = c . matches [ c . matches . length - 1 ] , g . isGroup &&
( g . isGroup = ! 1 , w ( g , a . groupmarker . start , 0 ) , w ( g , a . groupmarker . end ) ) , v . push ( c ) ) ; return v } function e ( b , m ) { if ( a . numericInput && ! 0 !== a . multi ) { b = b . split ( "" ) . reverse ( ) ; for ( var c = 0 ; c < b . length ; c ++ ) b [ c ] == a . optionalmarker . start ? b [ c ] = a . optionalmarker . end : b [ c ] == a . optionalmarker . end ? b [ c ] = a . optionalmarker . start : b [ c ] == a . groupmarker . start ? b [ c ] = a . groupmarker . end : b [ c ] == a . groupmarker . end && ( b [ c ] = a . groupmarker . start ) ; b = b . join ( "" ) } if ( void 0 != b && "" != b ) { if ( 0 < a . repeat || "*" == a . repeat || "+" == a . repeat ) b = a . groupmarker . start + b + a . groupmarker . end +
a . quantifiermarker . start + ( "*" == a . repeat ? 0 : "+" == a . repeat ? 1 : a . repeat ) + "," + a . repeat + a . quantifiermarker . end ; void 0 == f . inputmask . masksCache [ b ] && ( f . inputmask . masksCache [ b ] = { mask : b , maskToken : w ( b ) , validPositions : { } , _buffer : void 0 , buffer : void 0 , tests : { } , metadata : m } ) ; return f . extend ( ! 0 , { } , f . inputmask . masksCache [ b ] ) } } var d = [ ] ; f . isFunction ( a . mask ) && ( a . mask = a . mask . call ( this , a ) ) ; if ( f . isArray ( a . mask ) ) if ( b ) f . each ( a . mask , function ( a , b ) { void 0 != b . mask ? d . push ( e ( b . mask . toString ( ) , b ) ) : d . push ( e ( b . toString ( ) ) ) } ) ; else var c =
"(" + a . mask . join ( ")|(" ) + ")" , d = e ( c ) ; else 1 == a . mask . length && ! 1 == a . greedy && 0 != a . repeat && ( a . placeholder = "" ) , d = void 0 != a . mask . mask ? e ( a . mask . mask . toString ( ) , a . mask ) : e ( a . mask . toString ( ) ) ; return d } , d = "function" === typeof ScriptEngineMajorVersion ? ScriptEngineMajorVersion ( ) : 10 <= ( new Function ( "/*@cc_on return @_jscript_version; @*/" ) ) ( ) , c = navigator . userAgent , k = null !== c . match ( /iphone/i ) , g = null !== c . match ( /android.*safari.*/i ) , y = null !== c . match ( /android.*chrome.*/i ) , u = null !== c . match ( /android.*firefox.*/i ) , L = /Kindle/i . test ( c ) ||
/Silk/i . test ( c ) || /KFTT/i . test ( c ) || /KFOT/i . test ( c ) || /KFJWA/i . test ( c ) || /KFJWI/i . test ( c ) || /KFSOWI/i . test ( c ) || /KFTHWA/i . test ( c ) || /KFTHWI/i . test ( c ) || /KFAPWA/i . test ( c ) || /KFAPWI/i . test ( c ) , M = a ( "paste" ) ? "paste" : a ( "input" ) ? "input" : "propertychange" , F = function ( a , b , e ) { function c ( a , f , d ) { f = f || 0 ; var Y = [ ] , k , h = 0 , g ; do { if ( ! 0 === a && b . validPositions [ h ] ) { var D = b . validPositions [ h ] ; g = D . match ; k = D . locator . slice ( ) ; Y . push ( null == g . fn ? g . def : ! 0 === d ? D . input : g . placeholder || e . placeholder . charAt ( h % e . placeholder . length ) ) } else k = f > h ? P ( h ,
k , h - 1 ) [ 0 ] : p ( h , k , h - 1 ) , g = k . match , k = k . locator . slice ( ) , Y . push ( null == g . fn ? g . def : g . placeholder || e . placeholder . charAt ( h % e . placeholder . length ) ) ; h ++ } while ( ( void 0 == N || h - 1 < N ) && null != g . fn || null == g . fn && "" != g . def || f >= h ) ; Y . pop ( ) ; return Y } function q ( a ) { var e = b ; e . buffer = void 0 ; e . tests = { } ; ! 0 !== a && ( e . _buffer = void 0 , e . validPositions = { } , e . p = - 1 ) } function C ( a ) { var e = - 1 , f = b . validPositions ; void 0 == a && ( a = - 1 ) ; var c = e , d ; for ( d in f ) { var h = parseInt ( d ) ; if ( - 1 == a || null != f [ h ] . match . fn ) h < a && ( c = h ) , h >= a && ( e = h ) } return 1 < a - c || e < a ? c : e }
function h ( a , c , d ) { if ( e . insertMode && void 0 != b . validPositions [ a ] && void 0 == d ) { d = f . extend ( ! 0 , { } , b . validPositions ) ; var h = C ( ) , k ; for ( k = a ; k <= h ; k ++ ) delete b . validPositions [ k ] ; b . validPositions [ a ] = c ; c = ! 0 ; for ( k = a ; k <= h ; k ++ ) { a = d [ k ] ; if ( void 0 != a ) { var g = null == a . match . fn ? k + 1 : E ( k ) ; c = F ( g , a . match . def ) ? c && ! 1 !== T ( g , a . input , ! 0 , ! 0 ) : ! 1 } if ( ! c ) break } if ( ! c ) return b . validPositions = f . extend ( ! 0 , { } , d ) , ! 1 } else b . validPositions [ a ] = c ; return ! 0 } function n ( a , e ) { var f , c = a ; for ( f = a ; f < e ; f ++ ) delete b . validPositions [ f ] ; for ( f = e ; f <= C ( ) ; ) { var d =
b . validPositions [ f ] , k = b . validPositions [ c ] ; void 0 != d && void 0 == k ? ( F ( c , d . match . def ) && ! 1 !== T ( c , d . input , ! 0 ) && ( delete b . validPositions [ f ] , f ++ ) , c ++ ) : f ++ } for ( f = C ( ) ; 0 < f && ( void 0 == b . validPositions [ f ] || null == b . validPositions [ f ] . match . fn ) ; ) delete b . validPositions [ f ] , f -- ; q ( ! 0 ) } function p ( a , b , f ) { a = P ( a , b , f ) ; var c ; for ( b = 0 ; b < a . length && ( c = a [ b ] , ! e . greedy && ( ! c . match || ! 1 !== c . match . optionality && ! 1 !== c . match . newBlockMarker || ! 0 === c . match . optionalQuantifier ) ) ; b ++ ) ; return c } function B ( a ) { return b . validPositions [ a ] ? b . validPositions [ a ] . match :
P ( a ) [ 0 ] . match } function F ( a , b ) { for ( var e = ! 1 , f = P ( a ) , c = 0 ; c < f . length ; c ++ ) if ( f [ c ] . match && f [ c ] . match . def == b ) { e = ! 0 ; break } return e } function P ( a , c , d ) { function k ( b , c , d , s ) { function m ( d , s , h ) { if ( g == a && void 0 == d . matches ) return l . push ( { match : d , locator : s . reverse ( ) } ) , ! 0 ; if ( void 0 != d . matches ) if ( d . isGroup && ! 0 !== h ) { if ( d = m ( b . matches [ J + 1 ] , s ) ) return ! 0 } else if ( d . isOptional ) { var n = d ; if ( d = k ( d , c , s , h ) ) d = l [ l . length - 1 ] . match , ( d = 0 == f . inArray ( d , n . matches ) ) && ( D = ! 0 ) , g = a } else if ( d . isAlternator ) { var n = l . slice ( ) , p , B = s . length ; p = 0 < c . length ?
c . shift ( ) : - 1 ; if ( - 1 == p ) { var q = g ; l = [ ] ; k ( d . matches [ 0 ] , c . slice ( ) , [ 0 ] . concat ( s ) , h ) ; p = l . slice ( ) ; g = q ; l = [ ] ; d = k ( d . matches [ 1 ] , c , [ 1 ] . concat ( s ) , h ) ; s = l . slice ( ) ; l = [ ] ; for ( h = 0 ; h < p . length ; h ++ ) { q = p [ h ] ; n . push ( q ) ; for ( var Z = 0 ; Z < s . length ; Z ++ ) if ( q . match . mask == s [ Z ] . match . mask ) { s . splice ( Z , 1 ) ; q . locator [ B ] = - 1 ; break } } l = n . concat ( s ) } else d = m ( d . matches [ p ] , [ p ] . concat ( s ) , h ) ; if ( d ) return ! 0 } else if ( d . isQuantifier && ! 0 !== h ) for ( n = d , e . greedy = e . greedy && isFinite ( n . quantifier . max ) , B = 0 < c . length && ! 0 !== h ? c . shift ( ) : 0 ; B < ( isNaN ( n . quantifier . max ) ?
B + 1 : n . quantifier . max ) && g <= a ; B ++ ) { if ( p = b . matches [ f . inArray ( n , b . matches ) - 1 ] , d = m ( p , [ B ] . concat ( s ) , ! 0 ) ) if ( d = l [ l . length - 1 ] . match , d . optionalQuantifier = B > n . quantifier . min - 1 , d = 0 == f . inArray ( d , p . matches ) ) if ( B > n . quantifier . min - 1 ) { D = ! 0 ; g = a ; break } else return ! 0 ; else return ! 0 } else { if ( d = k ( d , c , s , h ) ) return ! 0 } else g ++ } for ( var J = 0 < c . length ? c . shift ( ) : 0 ; J < b . matches . length ; J ++ ) if ( ! 0 !== b . matches [ J ] . isQuantifier ) { var h = m ( b . matches [ J ] , [ J ] . concat ( d ) , s ) ; if ( h && g == a ) return h ; if ( g > a ) break } } var h = b . maskToken , g = c ? d : 0 ; d = c || [ 0 ] ; var l =
[ ] , D = ! 1 ; if ( void 0 == c ) { c = a - 1 ; for ( var n ; void 0 == ( n = b . validPositions [ c ] ) && - 1 < c ; ) c -- ; if ( void 0 != n && - 1 < c ) g = c , d = n . locator . slice ( ) ; else { for ( c = a - 1 ; void 0 == ( n = b . tests [ c ] ) && - 1 < c ; ) c -- ; void 0 != n && - 1 < c && ( g = c , d = n [ 0 ] . locator . slice ( ) ) } } for ( c = d . shift ( ) ; c < h . length && ! ( k ( h [ c ] , d , [ c ] ) && g == a || g > a ) ; c ++ ) ; ( 0 == l . length || D ) && l . push ( { match : { fn : null , cardinality : 0 , optionality : ! 0 , casing : null , def : "" } , locator : [ ] } ) ; return b . tests [ a ] = l } function I ( ) { void 0 == b . _buffer && ( b . _buffer = c ( ! 1 , 1 ) ) ; return b . _buffer } function t ( ) { void 0 == b . buffer &&
( b . buffer = c ( ! 0 , C ( ) , ! 0 ) ) ; return b . buffer } function aa ( a , f ) { var c = t ( ) . slice ( ) ; if ( ! 0 === a ) q ( ) , a = 0 , f = c . length ; else for ( var d = a ; d < f ; d ++ ) delete b . validPositions [ d ] , delete b . tests [ d ] ; for ( d = a ; d < f ; d ++ ) c [ d ] != e . skipOptionalPartCharacter && T ( d , c [ d ] , ! 0 , ! 0 ) } function ma ( a , b ) { switch ( b . casing ) { case "upper" : a = a . toUpperCase ( ) ; break ; case "lower" : a = a . toLowerCase ( ) } return a } function T ( a , c , d , k ) { function g ( a , c , d , na ) { var s = ! 1 ; f . each ( P ( a ) , function ( k , J ) { var g = J . match , l = c ? 1 : 0 , p = "" ; t ( ) ; for ( var D = g . cardinality ; D > l ; D -- ) p += void 0 ==
b . validPositions [ a - ( D - 1 ) ] ? V ( a - ( D - 1 ) ) : b . validPositions [ a - ( D - 1 ) ] . input ; c && ( p += c ) ; s = null != g . fn ? g . fn . test ( p , b , a , d , e ) : c != g . def && c != e . skipOptionalPartCharacter || "" == g . def ? ! 1 : { c : g . def , pos : a } ; if ( ! 1 !== s ) { l = void 0 != s . c ? s . c : c ; l = l == e . skipOptionalPartCharacter && null === g . fn ? g . def : l ; p = a ; void 0 != s . remove && n ( s . remove , s . remove + 1 ) ; if ( s . refreshFromBuffer ) { p = s . refreshFromBuffer ; d = ! 0 ; aa ( ! 0 === p ? p : p . start , p . end ) ; if ( void 0 == s . pos && void 0 == s . c ) return s . pos = C ( ) , ! 1 ; p = void 0 != s . pos ? s . pos : a ; if ( p != a ) return s = f . extend ( s , T ( p , l , ! 0 ) ) ,
! 1 } else if ( ! 0 !== s && void 0 != s . pos && s . pos != a && ( p = s . pos , aa ( a , p ) , p != a ) ) return s = f . extend ( s , T ( p , l , ! 0 ) ) , ! 1 ; if ( ! 0 != s && void 0 == s . pos && void 0 == s . c ) return ! 1 ; 0 < k && q ( ! 0 ) ; h ( p , f . extend ( { } , J , { input : ma ( l , g ) } ) , na ) || ( s = ! 1 ) ; return ! 1 } } ) ; return s } d = ! 0 === d ; for ( var l = t ( ) , p = a - 1 ; - 1 < p && ( ! b . validPositions [ p ] || null != b . validPositions [ p ] . fn ) ; p -- ) if ( ( ! Q ( p ) || l [ p ] != V ( p ) ) && 1 < P ( p ) . length ) { g ( p , l [ p ] , ! 0 ) ; break } if ( a >= R ( ) ) return ! 1 ; l = g ( a , c , d , k ) ; if ( ! d && ! 1 === l ) if ( ( p = b . validPositions [ a ] ) && null == p . match . fn && ( p . match . def == c || c == e . skipOptionalPartCharacter ) ) l =
{ caret : E ( a ) } ; else if ( ( e . insertMode || void 0 == b . validPositions [ E ( a ) ] ) && ! Q ( a ) ) for ( var p = a + 1 , D = E ( a ) ; p <= D ; p ++ ) if ( l = g ( p , c , d , k ) , ! 1 !== l ) { a = p ; break } ! 0 === l && ( l = { pos : a } ) ; return l } function Q ( a ) { a = B ( a ) ; return null != a . fn ? a . fn : ! 1 } function R ( ) { var a ; N = r . prop ( "maxLength" ) ; - 1 == N && ( N = void 0 ) ; if ( ! 1 == e . greedy ) { var f ; f = C ( ) ; a = b . validPositions [ f ] ; var c = void 0 != a ? a . locator . slice ( ) : void 0 ; for ( f += 1 ; void 0 == a || null != a . match . fn || null == a . match . fn && "" != a . match . def ; f ++ ) a = p ( f , c , f - 1 ) , c = a . locator . slice ( ) ; a = f } else a = t ( ) . length ; return void 0 ==
N || a < N ? a : N } function E ( a ) { var b = R ( ) ; if ( a >= b ) return b ; for ( ; ++ a < b && ! Q ( a ) && ( ! 0 !== e . nojumps || e . nojumpsThreshold > a ) ; ) ; return a } function X ( a ) { if ( 0 >= a ) return 0 ; for ( ; 0 < -- a && ! Q ( a ) ; ) ; return a } function H ( a , b , e ) { a . _valueSet ( b . join ( "" ) ) ; void 0 != e && x ( a , e ) } function V ( a , b ) { b = b || B ( a ) ; return b . placeholder || ( null == b . fn ? b . def : e . placeholder . charAt ( a % e . placeholder . length ) ) } function S ( a , c , d , h , k ) { h = void 0 != h ? h . slice ( ) : la ( a . _valueGet ( ) ) . split ( "" ) ; q ( ) ; c && a . _valueSet ( "" ) ; f . each ( h , function ( e , c ) { if ( ! 0 === k ) { var h = b . p , h = - 1 == h ? h :
X ( h ) , s = - 1 == h ? e : E ( h ) ; - 1 == f . inArray ( c , I ( ) . slice ( h + 1 , s ) ) && ba . call ( a , void 0 , ! 0 , c . charCodeAt ( 0 ) , ! 1 , d , e ) } else ba . call ( a , void 0 , ! 0 , c . charCodeAt ( 0 ) , ! 1 , d , e ) , d = d || 0 < e && e > b . p } ) ; c && ( c = e . onKeyPress . call ( this , void 0 , t ( ) , 0 , e ) , $ ( a , c ) , H ( a , t ( ) , f ( a ) . is ( ":focus" ) ? E ( C ( 0 ) ) : void 0 ) ) } function fa ( a ) { return f . inputmask . escapeRegex . call ( this , a ) } function la ( a ) { return a . replace ( RegExp ( "(" + fa ( I ( ) . join ( "" ) ) + ")*$" ) , "" ) } function ga ( a ) { if ( a . data ( "_inputmask" ) && ! a . hasClass ( "hasDatepicker" ) ) { var c = [ ] , d = b . validPositions , h ; for ( h in d ) d [ h ] . match &&
null != d [ h ] . match . fn && c . push ( d [ h ] . input ) ; c = ( A ? c . reverse ( ) : c ) . join ( "" ) ; d = ( A ? t ( ) . reverse ( ) : t ( ) ) . join ( "" ) ; f . isFunction ( e . onUnMask ) && ( c = e . onUnMask . call ( a , d , c , e ) ) ; return c } return a [ 0 ] . _valueGet ( ) } function O ( a ) { ! A || "number" != typeof a || e . greedy && "" == e . placeholder || ( a = t ( ) . length - a ) ; return a } function x ( a , b , c ) { a = a . jquery && 0 < a . length ? a [ 0 ] : a ; if ( "number" == typeof b ) { b = O ( b ) ; c = O ( c ) ; c = "number" == typeof c ? c : b ; var d = f ( a ) . data ( "_inputmask" ) || { } ; d . caret = { begin : b , end : c } ; f ( a ) . data ( "_inputmask" , d ) ; f ( a ) . is ( ":visible" ) && ( a . scrollLeft =
a . scrollWidth , ! 1 == e . insertMode && b == c && c ++ , a . setSelectionRange ? ( a . selectionStart = b , a . selectionEnd = c ) : a . createTextRange && ( a = a . createTextRange ( ) , a . collapse ( ! 0 ) , a . moveEnd ( "character" , c ) , a . moveStart ( "character" , b ) , a . select ( ) ) ) } else return d = f ( a ) . data ( "_inputmask" ) , ! f ( a ) . is ( ":visible" ) && d && void 0 != d . caret ? ( b = d . caret . begin , c = d . caret . end ) : a . setSelectionRange ? ( b = a . selectionStart , c = a . selectionEnd ) : document . selection && document . selection . createRange && ( a = document . selection . createRange ( ) , b = 0 - a . duplicate ( ) . moveStart ( "character" ,
- 1E5 ) , c = b + a . text . length ) , b = O ( b ) , c = O ( c ) , { begin : b , end : c } } function ca ( a ) { var e = t ( ) , c = e . length , d , h = C ( ) , k = { } , g = void 0 != b . validPositions [ h ] ? b . validPositions [ h ] . locator . slice ( ) : void 0 , l ; for ( d = h + 1 ; d < e . length ; d ++ ) l = p ( d , g , d - 1 ) , g = l . locator . slice ( ) , k [ d ] = f . extend ( ! 0 , { } , l ) ; for ( d = c - 1 ; d > h ; d -- ) if ( l = k [ d ] . match , ( l . optionality || l . optionalQuantifier ) && e [ d ] == V ( d , l ) ) c -- ; else break ; return a ? { l : c , def : k [ c ] ? k [ c ] . match : void 0 } : c } function da ( a ) { var b = t ( ) . slice ( ) , e = ca ( ) ; b . length = e ; H ( a , b ) } function U ( a ) { if ( f . isFunction ( e . isComplete ) ) return e . isComplete . call ( r ,
a , e ) ; if ( "*" != e . repeat ) { var b = ! 1 , c = ca ( ! 0 ) , d = X ( c . l ) ; if ( C ( ) == d && ( void 0 == c . def || c . def . newBlockMarker || c . def . optionalQuantifier ) ) for ( b = ! 0 , c = 0 ; c <= d ; c ++ ) { var h = Q ( c ) ; if ( h && ( void 0 == a [ c ] || a [ c ] == V ( c ) ) || ! h && a [ c ] != V ( c ) ) { b = ! 1 ; break } } return b } } function oa ( a ) { a = f . _data ( a ) . events ; f . each ( a , function ( a , b ) { f . each ( b , function ( a , b ) { if ( "inputmask" == b . namespace && "setvalue" != b . type ) { var e = b . handler ; b . handler = function ( a ) { if ( this . readOnly || this . disabled ) a . preventDefault ; else return e . apply ( this , arguments ) } } } ) } ) } function pa ( a ) { function b ( a ) { if ( void 0 ==
f . valHooks [ a ] || ! 0 != f . valHooks [ a ] . inputmaskpatch ) { var e = f . valHooks [ a ] && f . valHooks [ a ] . get ? f . valHooks [ a ] . get : function ( a ) { return a . value } , c = f . valHooks [ a ] && f . valHooks [ a ] . set ? f . valHooks [ a ] . set : function ( a , b ) { a . value = b ; return a } ; f . valHooks [ a ] = { get : function ( a ) { var b = f ( a ) ; if ( b . data ( "_inputmask" ) ) { if ( b . data ( "_inputmask" ) . opts . autoUnmask ) return b . inputmask ( "unmaskedvalue" ) ; a = e ( a ) ; b = ( b = b . data ( "_inputmask" ) . maskset . _buffer ) ? b . join ( "" ) : "" ; return a != b ? a : "" } return e ( a ) } , set : function ( a , b ) { var e = f ( a ) , d = e . data ( "_inputmask" ) ;
d ? ( d = c ( a , f . isFunction ( d . opts . onBeforeMask ) ? d . opts . onBeforeMask . call ( z , b , d . opts ) : b ) , e . triggerHandler ( "setvalue.inputmask" ) ) : d = c ( a , b ) ; return d } , inputmaskpatch : ! 0 } } } function e ( ) { var a = f ( this ) , b = f ( this ) . data ( "_inputmask" ) ; return b ? b . opts . autoUnmask ? a . inputmask ( "unmaskedvalue" ) : h . call ( this ) != I ( ) . join ( "" ) ? h . call ( this ) : "" : h . call ( this ) } function c ( a ) { var b = f ( this ) . data ( "_inputmask" ) ; b ? ( k . call ( this , f . isFunction ( b . opts . onBeforeMask ) ? b . opts . onBeforeMask . call ( z , a , b . opts ) : a ) , f ( this ) . triggerHandler ( "setvalue.inputmask" ) ) :
k . call ( this , a ) } function d ( a ) { f ( a ) . bind ( "mouseenter.inputmask" , function ( a ) { a = f ( this ) ; this . _valueGet ( ) != t ( ) . join ( "" ) && a . trigger ( "setvalue" ) } ) ; if ( a = f . _data ( a ) . events . mouseover ) { for ( var b = a [ a . length - 1 ] , e = a . length - 1 ; 0 < e ; e -- ) a [ e ] = a [ e - 1 ] ; a [ 0 ] = b } } var h , k ; a . _valueGet || ( Object . getOwnPropertyDescriptor && Object . getOwnPropertyDescriptor ( a , "value" ) , document . _ _lookupGetter _ _ && a . _ _lookupGetter _ _ ( "value" ) ? ( h = a . _ _lookupGetter _ _ ( "value" ) , k = a . _ _lookupSetter _ _ ( "value" ) , a . _ _defineGetter _ _ ( "value" , e ) , a . _ _defineSetter _ _ ( "value" ,
c ) ) : ( h = function ( ) { return a . value } , k = function ( b ) { a . value = b } , b ( a . type ) , d ( a ) ) , a . _valueGet = function ( ) { return A ? h . call ( this ) . split ( "" ) . reverse ( ) . join ( "" ) : h . call ( this ) } , a . _valueSet = function ( a ) { k . call ( this , A ? a . split ( "" ) . reverse ( ) . join ( "" ) : a ) } ) } function ha ( a , c , d ) { if ( e . numericInput || A ) c == e . keyCode . BACKSPACE ? c = e . keyCode . DELETE : c == e . keyCode . DELETE && ( c = e . keyCode . BACKSPACE ) , A && ( a = d . end , d . end = d . begin , d . begin = a ) ; c == e . keyCode . BACKSPACE && 1 >= d . end - d . begin ? d . begin = X ( d . begin ) : c == e . keyCode . DELETE && d . begin == d . end && d . end ++ ;
n ( d . begin , d . end ) ; c = C ( d . begin ) ; b . p = c < d . begin ? E ( c ) : d . begin } function $ ( a , b , e ) { if ( b && b . refreshFromBuffer ) { var c = b . refreshFromBuffer ; aa ( ! 0 === c ? c : c . start , c . end ) ; q ( ! 0 ) ; void 0 != e && ( H ( a , t ( ) ) , x ( a , b . caret || e . begin , b . caret || e . end ) ) } } function ia ( a ) { ea = ! 1 ; var c = this , d = f ( c ) , h = a . keyCode , g = x ( c ) ; h == e . keyCode . BACKSPACE || h == e . keyCode . DELETE || k && 127 == h || a . ctrlKey && 88 == h ? ( a . preventDefault ( ) , 88 == h && ( K = t ( ) . join ( "" ) ) , ha ( c , h , g ) , H ( c , t ( ) , b . p ) , c . _valueGet ( ) == I ( ) . join ( "" ) && d . trigger ( "cleared" ) , e . showTooltip && d . prop ( "title" , b . mask ) ) :
h == e . keyCode . END || h == e . keyCode . PAGE _DOWN ? setTimeout ( function ( ) { var b = E ( C ( ) ) ; e . insertMode || b != R ( ) || a . shiftKey || b -- ; x ( c , a . shiftKey ? g . begin : b , b ) } , 0 ) : h == e . keyCode . HOME && ! a . shiftKey || h == e . keyCode . PAGE _UP ? x ( c , 0 , a . shiftKey ? g . begin : 0 ) : h == e . keyCode . ESCAPE || 90 == h && a . ctrlKey ? ( S ( c , ! 0 , ! 1 , K . split ( "" ) ) , d . click ( ) ) : h != e . keyCode . INSERT || a . shiftKey || a . ctrlKey ? ! 1 != e . insertMode || a . shiftKey || ( h == e . keyCode . RIGHT ? setTimeout ( function ( ) { var a = x ( c ) ; x ( c , a . begin ) } , 0 ) : h == e . keyCode . LEFT && setTimeout ( function ( ) { var a = x ( c ) ; x ( c , A ?
a . begin + 1 : a . begin - 1 ) } , 0 ) ) : ( e . insertMode = ! e . insertMode , x ( c , e . insertMode || g . begin != R ( ) ? g . begin : g . begin - 1 ) ) ; var d = x ( c ) , l = e . onKeyDown . call ( this , a , t ( ) , d . begin , e ) ; $ ( c , l , d ) ; ja = - 1 != f . inArray ( h , e . ignorables ) } function ba ( a , c , d , k , g , l ) { if ( void 0 == d && ea ) return ! 1 ; ea = ! 0 ; var p = f ( this ) ; a = a || window . event ; d = c ? d : a . which || a . charCode || a . keyCode ; if ( ! ( ! 0 === c || a . ctrlKey && a . altKey ) && ( a . ctrlKey || a . metaKey || ja ) ) return ! 0 ; if ( d ) { ! 0 !== c && 46 == d && ! 1 == a . shiftKey && "," == e . radixPoint && ( d = 44 ) ; var n , B ; d = String . fromCharCode ( d ) ; c ? ( l = g ? l :
C ( ) + 1 , n = { begin : l , end : l } ) : n = x ( this ) ; if ( l = A ? 1 < n . begin - n . end || 1 == n . begin - n . end && e . insertMode : 1 < n . end - n . begin || 1 == n . end - n . begin && e . insertMode ) b . undoPositions = f . extend ( ! 0 , { } , b . validPositions ) , ha ( this , e . keyCode . DELETE , n ) , e . insertMode || ( e . insertMode = ! e . insertMode , h ( n . begin , g ) , e . insertMode = ! e . insertMode ) , l = ! e . multi ; b . writeOutBuffer = ! 0 ; n = A && ! l ? n . end : n . begin ; var v = T ( n , d , g ) ; ! 1 !== v && ( ! 0 !== v && ( n = void 0 != v . pos ? v . pos : n , d = void 0 != v . c ? v . c : d ) , q ( ! 0 ) , void 0 != v . caret ? B = v . caret : ( g = b . validPositions , B = void 0 != g [ n + 1 ] && 1 <
P ( n + 1 , g [ n ] . locator . slice ( ) , n ) . length ? n + 1 : E ( n ) ) , b . p = B ) ; if ( ! 1 !== k ) { var r = this ; setTimeout ( function ( ) { e . onKeyValidation . call ( r , v , e ) } , 0 ) ; if ( b . writeOutBuffer && ! 1 !== v ) { var u = t ( ) ; H ( this , u , c ? void 0 : e . numericInput ? X ( B ) : B ) ; ! 0 !== c && setTimeout ( function ( ) { ! 0 === U ( u ) && p . trigger ( "complete" ) ; W = ! 0 ; p . trigger ( "input" ) } , 0 ) } else l && ( b . buffer = void 0 , b . validPositions = b . undoPositions ) } else l && ( b . buffer = void 0 , b . validPositions = b . undoPositions ) ; e . showTooltip && p . prop ( "title" , b . mask ) ; a && ! 0 != c && ( a . preventDefault ? a . preventDefault ( ) :
a . returnValue = ! 1 , c = x ( this ) , a = e . onKeyPress . call ( this , a , t ( ) , c . begin , e ) , $ ( this , a , c ) ) ; for ( var F in b . validPositions ) ; } } function qa ( a ) { var b = f ( this ) , c = a . keyCode , d = t ( ) , h = x ( this ) ; a = e . onKeyUp . call ( this , a , d , h . begin , e ) ; $ ( this , a , h ) ; c == e . keyCode . TAB && e . showMaskOnFocus && ( b . hasClass ( "focus-inputmask" ) && 0 == this . _valueGet ( ) . length ? ( q ( ) , d = t ( ) , H ( this , d ) , x ( this , 0 ) , K = t ( ) . join ( "" ) ) : ( H ( this , d ) , x ( this , O ( 0 ) , O ( R ( ) ) ) ) ) } function ka ( a ) { if ( ! 0 === W && "input" == a . type ) return W = ! 1 , ! 0 ; var b = f ( this ) , c = this . _valueGet ( ) ; if ( "propertychange" ==
a . type && this . _valueGet ( ) . length <= R ( ) ) return ! 0 ; "paste" == a . type && ( window . clipboardData && window . clipboardData . getData ? c = window . clipboardData . getData ( "Text" ) : a . originalEvent && a . originalEvent . clipboardData && a . originalEvent . clipboardData . getData && ( c = a . originalEvent . clipboardData . getData ( "text/plain" ) ) ) ; a = f . isFunction ( e . onBeforePaste ) ? e . onBeforePaste . call ( this , c , e ) : c ; S ( this , ! 0 , ! 1 , a . split ( "" ) , ! 0 ) ; b . click ( ) ; ! 0 === U ( t ( ) ) && b . trigger ( "complete" ) ; return ! 1 } function ra ( a ) { if ( ! 0 === W && "input" == a . type ) return W = ! 1 , ! 0 ;
var b = x ( this ) , c = this . _valueGet ( ) , c = c . replace ( RegExp ( "(" + fa ( I ( ) . join ( "" ) ) + ")*" ) , "" ) ; b . begin > c . length && ( x ( this , c . length ) , b = x ( this ) ) ; 1 != t ( ) . length - c . length || c . charAt ( b . begin ) == t ( ) [ b . begin ] || c . charAt ( b . begin + 1 ) == t ( ) [ b . begin ] || Q ( b . begin ) || ( a . keyCode = e . keyCode . BACKSPACE , ia . call ( this , a ) ) ; a . preventDefault ( ) } function sa ( a ) { r = f ( a ) ; if ( r . is ( ":input" ) && "number" != r . attr ( "type" ) ) { r . data ( "_inputmask" , { maskset : b , opts : e , isRTL : ! 1 } ) ; e . showTooltip && r . prop ( "title" , b . mask ) ; ( "rtl" == a . dir || e . rightAlign ) && r . css ( "text-align" ,
"right" ) ; if ( "rtl" == a . dir || e . numericInput ) { a . dir = "ltr" ; r . removeAttr ( "dir" ) ; var c = r . data ( "_inputmask" ) ; c . isRTL = ! 0 ; r . data ( "_inputmask" , c ) ; A = ! 0 } r . unbind ( ".inputmask" ) ; r . removeClass ( "focus-inputmask" ) ; r . closest ( "form" ) . bind ( "submit" , function ( ) { K != t ( ) . join ( "" ) && r . change ( ) ; e . autoUnmask && e . removeMaskOnSubmit && r . inputmask ( "remove" ) } ) . bind ( "reset" , function ( ) { setTimeout ( function ( ) { r . trigger ( "setvalue" ) } , 0 ) } ) ; r . bind ( "mouseenter.inputmask" , function ( ) { ! f ( this ) . hasClass ( "focus-inputmask" ) && e . showMaskOnHover && this . _valueGet ( ) !=
t ( ) . join ( "" ) && H ( this , t ( ) ) } ) . bind ( "blur.inputmask" , function ( ) { var a = f ( this ) ; if ( a . data ( "_inputmask" ) ) { var b = this . _valueGet ( ) , c = t ( ) ; a . removeClass ( "focus-inputmask" ) ; K != t ( ) . join ( "" ) && a . change ( ) ; e . clearMaskOnLostFocus && "" != b && ( b == I ( ) . join ( "" ) ? this . _valueSet ( "" ) : da ( this ) ) ; ! 1 === U ( c ) && ( a . trigger ( "incomplete" ) , e . clearIncomplete && ( q ( ) , e . clearMaskOnLostFocus ? this . _valueSet ( "" ) : ( c = I ( ) . slice ( ) , H ( this , c ) ) ) ) } } ) . bind ( "focus.inputmask" , function ( ) { var a = f ( this ) , b = this . _valueGet ( ) ; e . showMaskOnFocus && ! a . hasClass ( "focus-inputmask" ) &&
( ! e . showMaskOnHover || e . showMaskOnHover && "" == b ) && this . _valueGet ( ) != t ( ) . join ( "" ) && H ( this , t ( ) , E ( C ( ) ) ) ; a . addClass ( "focus-inputmask" ) ; K = t ( ) . join ( "" ) } ) . bind ( "mouseleave.inputmask" , function ( ) { var a = f ( this ) ; e . clearMaskOnLostFocus && ( a . hasClass ( "focus-inputmask" ) || this . _valueGet ( ) == a . attr ( "placeholder" ) || ( this . _valueGet ( ) == I ( ) . join ( "" ) || "" == this . _valueGet ( ) ? this . _valueSet ( "" ) : da ( this ) ) ) } ) . bind ( "click.inputmask" , function ( ) { var a = this ; f ( a ) . is ( ":focus" ) && setTimeout ( function ( ) { var b = x ( a ) ; if ( b . begin == b . end ) { var b =
A ? O ( b . begin ) : b . begin , c = C ( b ) , c = E ( c ) ; b < c ? Q ( b ) ? x ( a , b ) : x ( a , E ( b ) ) : x ( a , c ) } } , 0 ) } ) . bind ( "dblclick.inputmask" , function ( ) { var a = this ; setTimeout ( function ( ) { x ( a , 0 , E ( C ( ) ) ) } , 0 ) } ) . bind ( M + ".inputmask dragdrop.inputmask drop.inputmask" , ka ) . bind ( "setvalue.inputmask" , function ( ) { S ( this , ! 0 ) ; K = t ( ) . join ( "" ) } ) . bind ( "complete.inputmask" , e . oncomplete ) . bind ( "incomplete.inputmask" , e . onincomplete ) . bind ( "cleared.inputmask" , e . oncleared ) ; r . bind ( "keydown.inputmask" , ia ) . bind ( "keypress.inputmask" , ba ) . bind ( "keyup.inputmask" , qa ) ; if ( g ||
u || y || L ) "input" == M && r . unbind ( M + ".inputmask" ) , r . bind ( "input.inputmask" , ra ) ; d && r . bind ( "input.inputmask" , ka ) ; pa ( a ) ; c = f . isFunction ( e . onBeforeMask ) ? e . onBeforeMask . call ( a , a . _valueGet ( ) , e ) : a . _valueGet ( ) ; S ( a , ! 0 , ! 1 , c . split ( "" ) , ! 0 ) ; K = t ( ) . join ( "" ) ; var h ; try { h = document . activeElement } catch ( k ) { } ! 1 === U ( t ( ) ) && e . clearIncomplete && q ( ) ; e . clearMaskOnLostFocus ? t ( ) . join ( "" ) == I ( ) . join ( "" ) ? a . _valueSet ( "" ) : da ( a ) : H ( a , t ( ) ) ; h === a && ( r . addClass ( "focus-inputmask" ) , x ( a , E ( C ( ) ) ) ) ; oa ( a ) } } var A = ! 1 , K , r , ea = ! 1 , W = ! 1 , ja = ! 1 , N ; if ( void 0 != a ) switch ( a . action ) { case "isComplete" : return r =
f ( a . el ) , b = r . data ( "_inputmask" ) . maskset , e = r . data ( "_inputmask" ) . opts , U ( a . buffer ) ; case "unmaskedvalue" : return r = a . $input , b = r . data ( "_inputmask" ) . maskset , e = r . data ( "_inputmask" ) . opts , A = a . $input . data ( "_inputmask" ) . isRTL , ga ( a . $input ) ; case "mask" : K = t ( ) . join ( "" ) ; sa ( a . el ) ; break ; case "format" : r = f ( { } ) ; r . data ( "_inputmask" , { maskset : b , opts : e , isRTL : e . numericInput } ) ; e . numericInput && ( A = ! 0 ) ; var G = a . value . split ( "" ) ; S ( r , ! 1 , ! 1 , A ? G . reverse ( ) : G , ! 0 ) ; e . onKeyPress . call ( this , void 0 , t ( ) , 0 , e ) ; return A ? t ( ) . reverse ( ) . join ( "" ) : t ( ) . join ( "" ) ;
case "isValid" : r = f ( { } ) ; r . data ( "_inputmask" , { maskset : b , opts : e , isRTL : e . numericInput } ) ; e . numericInput && ( A = ! 0 ) ; G = a . value . split ( "" ) ; S ( r , ! 1 , ! 0 , A ? G . reverse ( ) : G ) ; var G = t ( ) , ta = ca ( ) ; G . length = ta ; return U ( G ) && a . value == G . join ( "" ) ; case "getemptymask" : return r = f ( a . el ) , b = r . data ( "_inputmask" ) . maskset , e = r . data ( "_inputmask" ) . opts , I ( ) ; case "remove" : var z = a . el ; r = f ( z ) ; b = r . data ( "_inputmask" ) . maskset ; e = r . data ( "_inputmask" ) . opts ; z . _valueSet ( ga ( r ) ) ; r . unbind ( ".inputmask" ) ; r . removeClass ( "focus-inputmask" ) ; r . removeData ( "_inputmask" ) ;
Object . getOwnPropertyDescriptor && ( G = Object . getOwnPropertyDescriptor ( z , "value" ) ) ; G && G . get ? z . _valueGet && Object . defineProperty ( z , "value" , { get : z . _valueGet , set : z . _valueSet } ) : document . _ _lookupGetter _ _ && z . _ _lookupGetter _ _ ( "value" ) && z . _valueGet && ( z . _ _defineGetter _ _ ( "value" , z . _valueGet ) , z . _ _defineSetter _ _ ( "value" , z . _valueSet ) ) ; try { delete z . _valueGet , delete z . _valueSet } catch ( ua ) { z . _valueGet = void 0 , z . _valueSet = void 0 } } } ; f . inputmask = { defaults : { placeholder : "_" , optionalmarker : { start : "[" , end : "]" } , quantifiermarker : { start : "{" ,
end : "}" } , groupmarker : { start : "(" , end : ")" } , alternatormarker : "|" , escapeChar : "\\" , mask : null , oncomplete : f . noop , onincomplete : f . noop , oncleared : f . noop , repeat : 0 , greedy : ! 0 , autoUnmask : ! 1 , removeMaskOnSubmit : ! 0 , clearMaskOnLostFocus : ! 0 , insertMode : ! 0 , clearIncomplete : ! 1 , aliases : { } , alias : null , onKeyUp : f . noop , onKeyPress : f . noop , onKeyDown : f . noop , onBeforeMask : void 0 , onBeforePaste : void 0 , onUnMask : void 0 , showMaskOnFocus : ! 0 , showMaskOnHover : ! 0 , onKeyValidation : f . noop , skipOptionalPartCharacter : " " , showTooltip : ! 1 , numericInput : ! 1 ,
rightAlign : ! 1 , radixPoint : "" , nojumps : ! 1 , nojumpsThreshold : 0 , definitions : { 9 : { validator : "[0-9]" , cardinality : 1 , definitionSymbol : "*" } , a : { validator : "[A-Za-z\u0410-\u044f\u0401\u0451]" , cardinality : 1 , definitionSymbol : "*" } , "*" : { validator : "[A-Za-z\u0410-\u044f\u0401\u04510-9]" , cardinality : 1 } } , keyCode : { ALT : 18 , BACKSPACE : 8 , CAPS _LOCK : 20 , COMMA : 188 , COMMAND : 91 , COMMAND _LEFT : 91 , COMMAND _RIGHT : 93 , CONTROL : 17 , DELETE : 46 , DOWN : 40 , END : 35 , ENTER : 13 , ESCAPE : 27 , HOME : 36 , INSERT : 45 , LEFT : 37 , MENU : 93 , NUMPAD _ADD : 107 , NUMPAD _DECIMAL : 110 ,
NUMPAD _DIVIDE : 111 , NUMPAD _ENTER : 108 , NUMPAD _MULTIPLY : 106 , NUMPAD _SUBTRACT : 109 , PAGE _DOWN : 34 , PAGE _UP : 33 , PERIOD : 190 , RIGHT : 39 , SHIFT : 16 , SPACE : 32 , TAB : 9 , UP : 38 , WINDOWS : 91 } , ignorables : [ 8 , 9 , 13 , 19 , 27 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 45 , 46 , 93 , 112 , 113 , 114 , 115 , 116 , 117 , 118 , 119 , 120 , 121 , 122 , 123 ] , isComplete : void 0 } , masksCache : { } , escapeRegex : function ( a ) { return a . replace ( RegExp ( "(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\)" , "gim" ) , "\\$1" ) } , format : function ( a , c ) { var d = f . extend ( ! 0 , { } , f . inputmask . defaults , c ) ; b ( d . alias , c , d ) ;
return F ( { action : "format" , value : a } , e ( d ) , d ) } , isValid : function ( a , c ) { var d = f . extend ( ! 0 , { } , f . inputmask . defaults , c ) ; b ( d . alias , c , d ) ; return F ( { action : "isValid" , value : a } , e ( d ) , d ) } } ; f . fn . inputmask = function ( a , c , d , k , g ) { function u ( a , b ) { var c = f ( a ) , e ; for ( e in b ) { var d = c . data ( "inputmask-" + e . toLowerCase ( ) ) ; void 0 != d && ( b [ e ] = d ) } return b } d = d || F ; k = k || "_inputmask" ; var h = f . extend ( ! 0 , { } , f . inputmask . defaults , c ) , n ; if ( "string" === typeof a ) switch ( a ) { case "mask" : return b ( h . alias , c , h ) , n = e ( h , d !== F ) , 0 == n . length ? this : this . each ( function ( ) { d ( { action : "mask" ,
el : this } , f . extend ( ! 0 , { } , n ) , u ( this , h ) ) } ) ; case "unmaskedvalue" : return a = f ( this ) , a . data ( k ) ? d ( { action : "unmaskedvalue" , $input : a } ) : a . val ( ) ; case "remove" : return this . each ( function ( ) { f ( this ) . data ( k ) && d ( { action : "remove" , el : this } ) } ) ; case "getemptymask" : return this . data ( k ) ? d ( { action : "getemptymask" , el : this } ) : "" ; case "hasMaskedValue" : return this . data ( k ) ? ! this . data ( k ) . opts . autoUnmask : ! 1 ; case "isComplete" : return this . data ( k ) ? d ( { action : "isComplete" , buffer : this [ 0 ] . _valueGet ( ) . split ( "" ) , el : this } ) : ! 0 ; case "getmetadata" : if ( this . data ( k ) ) return n =
this . data ( k ) . maskset , n . metadata ; break ; case "_detectScope" : return b ( h . alias , c , h ) , void 0 == g || b ( g , c , h ) || - 1 != f . inArray ( g , "mask unmaskedvalue remove getemptymask hasMaskedValue isComplete getmetadata _detectScope" . split ( " " ) ) || ( h . mask = g ) , f . isFunction ( h . mask ) && ( h . mask = h . mask . call ( this , h ) ) , f . isArray ( h . mask ) ; default : return b ( h . alias , c , h ) , b ( a , c , h ) || ( h . mask = a ) , n = e ( h , d !== F ) , void 0 == n ? this : this . each ( function ( ) { d ( { action : "mask" , el : this } , f . extend ( ! 0 , { } , n ) , u ( this , h ) ) } ) } else { if ( "object" == typeof a ) return h = f . extend ( ! 0 ,
{ } , f . inputmask . defaults , a ) , b ( h . alias , a , h ) , n = e ( h , d !== F ) , void 0 == n ? this : this . each ( function ( ) { d ( { action : "mask" , el : this } , f . extend ( ! 0 , { } , n ) , u ( this , h ) ) } ) ; if ( void 0 == a ) return this . each ( function ( ) { var a = f ( this ) . attr ( "data-inputmask" ) ; if ( a && "" != a ) try { var a = a . replace ( RegExp ( "'" , "g" ) , '"' ) , e = f . parseJSON ( "{" + a + "}" ) ; f . extend ( ! 0 , e , c ) ; h = f . extend ( ! 0 , { } , f . inputmask . defaults , e ) ; b ( h . alias , e , h ) ; h . alias = void 0 ; f ( this ) . inputmask ( "mask" , h , d ) } catch ( k ) { } } ) } } } } ) ;
( function ( f ) { "function" === typeof define && define . amd ? define ( "jquery.inputmask-multi" , [ "jquery" , "jquery.inputmask" ] , f ) : f ( jQuery ) } ) ( function ( f ) { if ( void 0 != f . fn . inputmask ) { var a = function ( a , e , d ) { function c ( a ) { var b = document . createElement ( "input" ) ; a = "on" + a ; var c = a in b ; c || ( b . setAttribute ( a , "return;" ) , c = "function" == typeof b [ a ] ) ; return c } function k ( a ) { if ( void 0 == f . valHooks [ a ] || ! 0 != f . valHooks [ a ] . inputmaskmultipatch ) { var b = f . valHooks [ a ] && f . valHooks [ a ] . get ? f . valHooks [ a ] . get : function ( a ) { return a . value } , c = f . valHooks [ a ] &&
f . valHooks [ a ] . set ? f . valHooks [ a ] . set : function ( a , b ) { a . value = b ; return a } ; f . valHooks [ a ] = { get : function ( a ) { var c = f ( a ) ; return c . data ( "_inputmask-multi" ) ? ( a = c . data ( "_inputmask-multi" ) , b ( a . elmasks [ a . activeMasksetIndex ] ) ) : b ( a ) } , set : function ( a , b ) { var e = f ( a ) , d = c ( a , b ) ; e . data ( "_inputmask-multi" ) && e . triggerHandler ( "setvalue" ) ; return d } , inputmaskmultipatch : ! 0 } } } function g ( a , b , c ) { a = a . jquery && 0 < a . length ? a [ 0 ] : a ; if ( "number" == typeof b ) { b = y ( b ) ; c = y ( c ) ; c = "number" == typeof c ? c : b ; if ( a != l ) { var e = f ( a ) . data ( "_inputmask" ) || { } ;
e . caret = { begin : b , end : c } ; f ( a ) . data ( "_inputmask" , e ) } f ( a ) . is ( ":visible" ) && ( a . scrollLeft = a . scrollWidth , ! 1 == d . insertMode && b == c && c ++ , a . setSelectionRange ? ( a . selectionStart = b , a . selectionEnd = c ) : a . createTextRange && ( a = a . createTextRange ( ) , a . collapse ( ! 0 ) , a . moveEnd ( "character" , c ) , a . moveStart ( "character" , b ) , a . select ( ) ) ) } else return e = f ( a ) . data ( "_inputmask" ) , ! f ( a ) . is ( ":visible" ) && e && void 0 != e . caret ? ( b = e . caret . begin , c = e . caret . end ) : a . setSelectionRange ? ( b = a . selectionStart , c = a . selectionEnd ) : document . selection && document . selection . createRange &&
( a = document . selection . createRange ( ) , b = 0 - a . duplicate ( ) . moveStart ( "character" , - 1E5 ) , c = b + a . text . length ) , b = y ( b ) , c = y ( c ) , { begin : b , end : c } } function y ( a ) { ! F || "number" != typeof a || d . greedy && "" == d . placeholder || ( a = l . value . length - a ) ; return a } function u ( a , b ) { if ( "multiMaskScope" != a ) { if ( f . isFunction ( d . determineActiveMasksetIndex ) ) v = d . determineActiveMasksetIndex . call ( m , a , b ) ; else { var c = - 1 , e = - 1 , k = - 1 ; f . each ( b , function ( a , b ) { var d = f ( b ) . data ( "_inputmask" ) . maskset , h = - 1 , m = 0 , l = g ( b ) . begin , n ; for ( n in d . validPositions ) d = parseInt ( n ) ,
d > h && ( h = d ) , m ++ ; if ( m > c || m == c && e > l && k > h || m == c && e == l && k < h ) c = m , e = l , v = a , k = h } ) } var q = m . data ( "_inputmask-multi" ) || { activeMasksetIndex : 0 , elmasks : b } ; q . activeMasksetIndex = v ; m . data ( "_inputmask-multi" , q ) } - 1 == f . inArray ( a , [ "focus" ] ) && l . value != b [ v ] . _valueGet ( ) && ( q = "" == f ( b [ v ] ) . val ( ) ? b [ v ] . _valueGet ( ) : f ( b [ v ] ) . val ( ) , l . value = q ) ; - 1 == f . inArray ( a , [ "blur" , "focus" ] ) && f ( b [ v ] ) . hasClass ( "focus-inputmask" ) && ( q = g ( b [ v ] ) , g ( l , q . begin , q . end ) ) } function L ( a ) { l = a ; m = f ( l ) ; F = "rtl" == l . dir || d . numericInput ; v = 0 ; w = f . map ( e , function ( a , b ) { var c =
'<input type="text" ' ; m . attr ( "value" ) && ( c += 'value="' + m . attr ( "value" ) + '" ' ) ; m . attr ( "dir" ) && ( c += 'dir="' + m . attr ( "dir" ) + '" ' ) ; c = f ( c + "/>" ) [ 0 ] ; f ( c ) . inputmask ( f . extend ( { } , d , { mask : a . mask } ) ) ; return c } ) ; m . data ( "_inputmask-multi" , { activeMasksetIndex : 0 , elmasks : w } ) ; ( "rtl" == l . dir || d . rightAlign ) && m . css ( "text-align" , "right" ) ; l . dir = "ltr" ; m . removeAttr ( "dir" ) ; "" != m . attr ( "value" ) && u ( "init" , w ) ; m . bind ( "mouseenter blur focus mouseleave click dblclick keydown keypress keypress" , function ( a ) { var b = g ( l ) , c , e = ! 0 ; if ( "keydown" ==
a . type ) { c = a . keyCode ; if ( c == d . keyCode . DOWN && v < w . length - 1 ) return v ++ , u ( "multiMaskScope" , w ) , ! 1 ; if ( c == d . keyCode . UP && 0 < v ) return v -- , u ( "multiMaskScope" , w ) , ! 1 ; if ( a . ctrlKey || c == d . keyCode . SHIFT || a . altKey ) return ! 0 } else if ( "keypress" == a . type && ( a . ctrlKey || c == d . keyCode . SHIFT || a . altKey ) ) return ! 0 ; f . each ( w , function ( k , h ) { if ( "keydown" == a . type ) { c = a . keyCode ; if ( c == d . keyCode . BACKSPACE && h . _valueGet ( ) . length < b . begin ) return ; if ( c == d . keyCode . TAB ) e = ! 1 ; else { if ( c == d . keyCode . RIGHT ) { g ( h , b . begin + 1 , b . end + 1 ) ; e = ! 1 ; return } if ( c == d . keyCode . LEFT ) { g ( h ,
b . begin - 1 , b . end - 1 ) ; e = ! 1 ; return } } } if ( - 1 != f . inArray ( a . type , [ "click" ] ) && ( g ( h , y ( b . begin ) , y ( b . end ) ) , b . begin != b . end ) ) { e = ! 1 ; return } - 1 != f . inArray ( a . type , [ "keydown" ] ) && b . begin != b . end && g ( h , b . begin , b . end ) ; f ( h ) . triggerHandler ( a ) } ) ; e && setTimeout ( function ( ) { u ( a . type , w ) } , 0 ) } ) ; m . bind ( M + " dragdrop drop setvalue" , function ( a ) { g ( l ) ; setTimeout ( function ( ) { f . each ( w , function ( b , c ) { c . _valueSet ( l . value ) ; f ( c ) . triggerHandler ( a ) } ) ; setTimeout ( function ( ) { u ( a . type , w ) } , 0 ) } , 0 ) } ) ; k ( l . type ) } var M = c ( "paste" ) ? "paste" : c ( "input" ) ? "input" :
"propertychange" , F , l , m , w , v ; d . multi = ! 0 ; if ( void 0 != a ) switch ( a . action ) { case "isComplete" : return m = f ( a . el ) , a = m . data ( "_inputmask-multi" ) , a = a . elmasks [ a . activeMasksetIndex ] , f ( a ) . inputmask ( "isComplete" ) ; case "unmaskedvalue" : return m = a . $input , a = m . data ( "_inputmask-multi" ) , a = a . elmasks [ a . activeMasksetIndex ] , f ( a ) . inputmask ( "unmaskedvalue" ) ; case "mask" : L ( a . el ) ; break ; case "remove" : l = a . el ; m = f ( l ) ; maskset = m . data ( "_inputmask" ) . maskset ; d = m . data ( "_inputmask" ) . opts ; l . _valueSet ( unmaskedvalue ( m ) ) ; m . unbind ( ".inputmask" ) ;
m . removeClass ( "focus-inputmask" ) ; m . removeData ( "_inputmask" ) ; var q ; Object . getOwnPropertyDescriptor && ( q = Object . getOwnPropertyDescriptor ( l , "value" ) ) ; q && q . get ? l . _valueGet && Object . defineProperty ( l , "value" , { get : l . _valueGet , set : l . _valueSet } ) : document . _ _lookupGetter _ _ && l . _ _lookupGetter _ _ ( "value" ) && l . _valueGet && ( l . _ _defineGetter _ _ ( "value" , l . _valueGet ) , l . _ _defineSetter _ _ ( "value" , l . _valueSet ) ) ; try { delete l . _valueGet , delete l . _valueSet } catch ( C ) { l . _valueGet = void 0 , l . _valueSet = void 0 } } } ; f . extend ( f . inputmask . defaults ,
{ multi : ! 1 , determineActiveMasksetIndex : void 0 } ) ; f . inputmask . _fn = f . fn . inputmask ; f . fn . inputmask = function ( b , e ) { if ( "string" === typeof b ) return f . inputmask . _fn ( "_detectScope" , e , void 0 , void 0 , b ) ? f . inputmask . _fn . call ( this , b , e , a , "_inputmask-multi" ) : f . inputmask . _fn . call ( this , b , e ) ; if ( "object" == typeof b ) return f . inputmask . _fn ( "_detectScope" , b ) ? f . inputmask . _fn . call ( this , b , e , a , "_inputmask-multi" ) : f . inputmask . _fn . call ( this , b , e ) ; if ( void 0 == b ) return f . inputmask . _fn . call ( this , b , e ) } } } ) ;
( function ( f ) { "function" === typeof define && define . amd ? define ( "jquery.inputmask.extensions" , [ "jquery" , "jquery.inputmask" ] , f ) : f ( jQuery ) } ) ( function ( f ) { f . extend ( f . inputmask . defaults . definitions , { A : { validator : "[A-Za-z]" , cardinality : 1 , casing : "upper" } , "#" : { validator : "[A-Za-z\u0410-\u044f\u0401\u04510-9]" , cardinality : 1 , casing : "upper" } } ) ; f . extend ( f . inputmask . defaults . aliases , { url : { mask : "ir" , placeholder : "" , separator : "" , defaultPrefix : "http://" , regex : { urlpre1 : /[fh]/ , urlpre2 : /(ft|ht)/ , urlpre3 : /(ftp|htt)/ , urlpre4 : /(ftp:|http|ftps)/ ,
urlpre5 : /(ftp:\/|ftps:|http:|https)/ , urlpre6 : /(ftp:\/\/|ftps:\/|http:\/|https:)/ , urlpre7 : /(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/)/ , urlpre8 : /(ftp:\/\/|ftps:\/\/|http:\/\/|https:\/\/)/ } , definitions : { i : { validator : function ( a , b , e , d , c ) { return ! 0 } , cardinality : 8 , prevalidator : function ( ) { for ( var a = [ ] , b = 0 ; 8 > b ; b ++ ) a [ b ] = function ( ) { var a = b ; return { validator : function ( b , c , f , g , y ) { if ( y . regex [ "urlpre" + ( a + 1 ) ] ) { var u = b ; 0 < a + 1 - b . length && ( u = c . buffer . join ( "" ) . substring ( 0 , a + 1 - b . length ) + "" + u ) ; b = y . regex [ "urlpre" + ( a + 1 ) ] . test ( u ) ;
if ( ! g && ! b ) { f -= a ; for ( g = 0 ; g < y . defaultPrefix . length ; g ++ ) c . buffer [ f ] = y . defaultPrefix [ g ] , f ++ ; for ( g = 0 ; g < u . length - 1 ; g ++ ) c . buffer [ f ] = u [ g ] , f ++ ; return { pos : f } } return b } return ! 1 } , cardinality : a } } ( ) ; return a } ( ) } , r : { validator : "." , cardinality : 50 } } , insertMode : ! 1 , autoUnmask : ! 1 } , ip : { mask : "i[i[i]].i[i[i]].i[i[i]].i[i[i]]" , definitions : { i : { validator : function ( a , b , e , d , c ) { - 1 < e - 1 && "." != b . buffer [ e - 1 ] ? ( a = b . buffer [ e - 1 ] + a , a = - 1 < e - 2 && "." != b . buffer [ e - 2 ] ? b . buffer [ e - 2 ] + a : "0" + a ) : a = "00" + a ; return /25[0-5]|2[0-4][0-9]|[01][0-9][0-9]/ . test ( a ) } ,
cardinality : 1 } } } , email : { mask : "*{1,20}[.*{1,20}][.*{1,20}][.*{1,20}]@*{1,20}.*{2,6}[.*{1,2}]" , greedy : ! 1 , onBeforePaste : function ( a , b ) { a = a . toLowerCase ( ) ; return a . replace ( "mailto:" , "" ) } , definitions : { "*" : { validator : "[A-Za-z\u0410-\u044f\u0401\u04510-9!#$%&'*+/=?^_`{|}~-]" , cardinality : 1 , casing : "lower" } } } } ) } ) ;
( function ( f ) { "function" === typeof define && define . amd ? define ( "jquery.inputmask.date.extensions" , [ "jquery" , "jquery.inputmask" ] , f ) : f ( jQuery ) } ) ( function ( f ) { f . extend ( f . inputmask . defaults . definitions , { h : { validator : "[01][0-9]|2[0-3]" , cardinality : 2 , prevalidator : [ { validator : "[0-2]" , cardinality : 1 } ] } , s : { validator : "[0-5][0-9]" , cardinality : 2 , prevalidator : [ { validator : "[0-5]" , cardinality : 1 } ] } , d : { validator : "0[1-9]|[12][0-9]|3[01]" , cardinality : 2 , prevalidator : [ { validator : "[0-3]" , cardinality : 1 } ] } , m : { validator : "0[1-9]|1[012]" ,
cardinality : 2 , prevalidator : [ { validator : "[01]" , cardinality : 1 } ] } , y : { validator : "(19|20)\\d{2}" , cardinality : 4 , prevalidator : [ { validator : "[12]" , cardinality : 1 } , { validator : "(19|20)" , cardinality : 2 } , { validator : "(19|20)\\d" , cardinality : 3 } ] } } ) ; f . extend ( f . inputmask . defaults . aliases , { "dd/mm/yyyy" : { mask : "1/2/y" , placeholder : "dd/mm/yyyy" , regex : { val1pre : /[0-3]/ , val1 : /0[1-9]|[12][0-9]|3[01]/ , val2pre : function ( a ) { a = f . inputmask . escapeRegex . call ( this , a ) ; return RegExp ( "((0[1-9]|[12][0-9]|3[01])" + a + "[01])" ) } , val2 : function ( a ) { a =
f . inputmask . escapeRegex . call ( this , a ) ; return RegExp ( "((0[1-9]|[12][0-9])" + a + "(0[1-9]|1[012]))|(30" + a + "(0[13-9]|1[012]))|(31" + a + "(0[13578]|1[02]))" ) } } , leapday : "29/02/" , separator : "/" , yearrange : { minyear : 1900 , maxyear : 2099 } , isInYearRange : function ( a , b , e ) { if ( isNaN ( a ) ) return ! 1 ; var d = parseInt ( a . concat ( b . toString ( ) . slice ( a . length ) ) ) ; a = parseInt ( a . concat ( e . toString ( ) . slice ( a . length ) ) ) ; return ( isNaN ( d ) ? ! 1 : b <= d && d <= e ) || ( isNaN ( a ) ? ! 1 : b <= a && a <= e ) } , determinebaseyear : function ( a , b , e ) { var d = ( new Date ) . getFullYear ( ) ; if ( a >
d ) return a ; if ( b < d ) { for ( var d = b . toString ( ) . slice ( 0 , 2 ) , c = b . toString ( ) . slice ( 2 , 4 ) ; b < d + e ; ) d -- ; b = d + c ; return a > b ? a : b } return d } , onKeyUp : function ( a , b , e , d ) { b = f ( this ) ; a . ctrlKey && a . keyCode == d . keyCode . RIGHT && ( a = new Date , b . val ( a . getDate ( ) . toString ( ) + ( a . getMonth ( ) + 1 ) . toString ( ) + a . getFullYear ( ) . toString ( ) ) ) } , definitions : { 1 : { validator : function ( a , b , e , d , c ) { var f = c . regex . val1 . test ( a ) ; return d || f || a . charAt ( 1 ) != c . separator && - 1 == "-./" . indexOf ( a . charAt ( 1 ) ) || ! ( f = c . regex . val1 . test ( "0" + a . charAt ( 0 ) ) ) ? f : ( b . buffer [ e - 1 ] = "0" , { refreshFromBuffer : { start : e -
1 , end : e } , pos : e , c : a . charAt ( 0 ) } ) } , cardinality : 2 , prevalidator : [ { validator : function ( a , b , e , d , c ) { isNaN ( b . buffer [ e + 1 ] ) || ( a += b . buffer [ e + 1 ] ) ; var f = 1 == a . length ? c . regex . val1pre . test ( a ) : c . regex . val1 . test ( a ) ; return d || f || ! ( f = c . regex . val1 . test ( "0" + a ) ) ? f : ( b . buffer [ e ] = "0" , e ++ , { pos : e } ) } , cardinality : 1 } ] } , 2 : { validator : function ( a , b , e , d , c ) { var f = c . mask . indexOf ( "2" ) == c . mask . length - 1 ? b . buffer . join ( "" ) . substr ( 5 , 3 ) : b . buffer . join ( "" ) . substr ( 0 , 3 ) ; - 1 != f . indexOf ( c . placeholder [ 0 ] ) && ( f = "01" + c . separator ) ; var g = c . regex . val2 ( c . separator ) . test ( f +
a ) ; if ( ! ( d || g || a . charAt ( 1 ) != c . separator && - 1 == "-./" . indexOf ( a . charAt ( 1 ) ) ) && ( g = c . regex . val2 ( c . separator ) . test ( f + "0" + a . charAt ( 0 ) ) ) ) return b . buffer [ e - 1 ] = "0" , { refreshFromBuffer : { start : e - 1 , end : e } , pos : e , c : a . charAt ( 0 ) } ; if ( c . mask . indexOf ( "2" ) == c . mask . length - 1 && g ) { if ( b . buffer . join ( "" ) . substr ( 4 , 4 ) + a != c . leapday ) return ! 0 ; a = parseInt ( b . buffer . join ( "" ) . substr ( 0 , 4 ) , 10 ) ; return 0 === a % 4 ? 0 === a % 100 ? 0 === a % 400 ? ! 0 : ! 1 : ! 0 : ! 1 } return g } , cardinality : 2 , prevalidator : [ { validator : function ( a , b , e , d , c ) { isNaN ( b . buffer [ e + 1 ] ) || ( a += b . buffer [ e +
1 ] ) ; var f = c . mask . indexOf ( "2" ) == c . mask . length - 1 ? b . buffer . join ( "" ) . substr ( 5 , 3 ) : b . buffer . join ( "" ) . substr ( 0 , 3 ) ; - 1 != f . indexOf ( c . placeholder [ 0 ] ) && ( f = "01" + c . separator ) ; var g = 1 == a . length ? c . regex . val2pre ( c . separator ) . test ( f + a ) : c . regex . val2 ( c . separator ) . test ( f + a ) ; return d || g || ! ( g = c . regex . val2 ( c . separator ) . test ( f + "0" + a ) ) ? g : ( b . buffer [ e ] = "0" , e ++ , { pos : e } ) } , cardinality : 1 } ] } , y : { validator : function ( a , b , e , d , c ) { if ( c . isInYearRange ( a , c . yearrange . minyear , c . yearrange . maxyear ) ) { if ( b . buffer . join ( "" ) . substr ( 0 , 6 ) != c . leapday ) return ! 0 ;
a = parseInt ( a , 10 ) ; return 0 === a % 4 ? 0 === a % 100 ? 0 === a % 400 ? ! 0 : ! 1 : ! 0 : ! 1 } return ! 1 } , cardinality : 4 , prevalidator : [ { validator : function ( a , b , e , d , c ) { var f = c . isInYearRange ( a , c . yearrange . minyear , c . yearrange . maxyear ) ; if ( ! d && ! f ) { d = c . determinebaseyear ( c . yearrange . minyear , c . yearrange . maxyear , a + "0" ) . toString ( ) . slice ( 0 , 1 ) ; if ( f = c . isInYearRange ( d + a , c . yearrange . minyear , c . yearrange . maxyear ) ) return b . buffer [ e ++ ] = d [ 0 ] , { pos : e } ; d = c . determinebaseyear ( c . yearrange . minyear , c . yearrange . maxyear , a + "0" ) . toString ( ) . slice ( 0 , 2 ) ; if ( f = c . isInYearRange ( d +
a , c . yearrange . minyear , c . yearrange . maxyear ) ) return b . buffer [ e ++ ] = d [ 0 ] , b . buffer [ e ++ ] = d [ 1 ] , { pos : e } } return f } , cardinality : 1 } , { validator : function ( a , b , e , d , c ) { var f = c . isInYearRange ( a , c . yearrange . minyear , c . yearrange . maxyear ) ; if ( ! d && ! f ) { d = c . determinebaseyear ( c . yearrange . minyear , c . yearrange . maxyear , a ) . toString ( ) . slice ( 0 , 2 ) ; if ( f = c . isInYearRange ( a [ 0 ] + d [ 1 ] + a [ 1 ] , c . yearrange . minyear , c . yearrange . maxyear ) ) return b . buffer [ e ++ ] = d [ 1 ] , { pos : e } ; d = c . determinebaseyear ( c . yearrange . minyear , c . yearrange . maxyear , a ) . toString ( ) . slice ( 0 ,
2 ) ; c . isInYearRange ( d + a , c . yearrange . minyear , c . yearrange . maxyear ) ? b . buffer . join ( "" ) . substr ( 0 , 6 ) != c . leapday ? f = ! 0 : ( c = parseInt ( a , 10 ) , f = 0 === c % 4 ? 0 === c % 100 ? 0 === c % 400 ? ! 0 : ! 1 : ! 0 : ! 1 ) : f = ! 1 ; if ( f ) return b . buffer [ e - 1 ] = d [ 0 ] , b . buffer [ e ++ ] = d [ 1 ] , b . buffer [ e ++ ] = a [ 0 ] , { refreshFromBuffer : { start : e - 3 , end : e } , pos : e } } return f } , cardinality : 2 } , { validator : function ( a , b , e , d , c ) { return c . isInYearRange ( a , c . yearrange . minyear , c . yearrange . maxyear ) } , cardinality : 3 } ] } } , insertMode : ! 1 , autoUnmask : ! 1 } , "mm/dd/yyyy" : { placeholder : "mm/dd/yyyy" , alias : "dd/mm/yyyy" ,
regex : { val2pre : function ( a ) { a = f . inputmask . escapeRegex . call ( this , a ) ; return RegExp ( "((0[13-9]|1[012])" + a + "[0-3])|(02" + a + "[0-2])" ) } , val2 : function ( a ) { a = f . inputmask . escapeRegex . call ( this , a ) ; return RegExp ( "((0[1-9]|1[012])" + a + "(0[1-9]|[12][0-9]))|((0[13-9]|1[012])" + a + "30)|((0[13578]|1[02])" + a + "31)" ) } , val1pre : /[01]/ , val1 : /0[1-9]|1[012]/ } , leapday : "02/29/" , onKeyUp : function ( a , b , e , d ) { b = f ( this ) ; a . ctrlKey && a . keyCode == d . keyCode . RIGHT && ( a = new Date , b . val ( ( a . getMonth ( ) + 1 ) . toString ( ) + a . getDate ( ) . toString ( ) + a . getFullYear ( ) . toString ( ) ) ) } } ,
"yyyy/mm/dd" : { mask : "y/1/2" , placeholder : "yyyy/mm/dd" , alias : "mm/dd/yyyy" , leapday : "/02/29" , onKeyUp : function ( a , b , e , d ) { b = f ( this ) ; a . ctrlKey && a . keyCode == d . keyCode . RIGHT && ( a = new Date , b . val ( a . getFullYear ( ) . toString ( ) + ( a . getMonth ( ) + 1 ) . toString ( ) + a . getDate ( ) . toString ( ) ) ) } } , "dd.mm.yyyy" : { mask : "1.2.y" , placeholder : "dd.mm.yyyy" , leapday : "29.02." , separator : "." , alias : "dd/mm/yyyy" } , "dd-mm-yyyy" : { mask : "1-2-y" , placeholder : "dd-mm-yyyy" , leapday : "29-02-" , separator : "-" , alias : "dd/mm/yyyy" } , "mm.dd.yyyy" : { mask : "1.2.y" , placeholder : "mm.dd.yyyy" ,
leapday : "02.29." , separator : "." , alias : "mm/dd/yyyy" } , "mm-dd-yyyy" : { mask : "1-2-y" , placeholder : "mm-dd-yyyy" , leapday : "02-29-" , separator : "-" , alias : "mm/dd/yyyy" } , "yyyy.mm.dd" : { mask : "y.1.2" , placeholder : "yyyy.mm.dd" , leapday : ".02.29" , separator : "." , alias : "yyyy/mm/dd" } , "yyyy-mm-dd" : { mask : "y-1-2" , placeholder : "yyyy-mm-dd" , leapday : "-02-29" , separator : "-" , alias : "yyyy/mm/dd" } , datetime : { mask : "1/2/y h:s" , placeholder : "dd/mm/yyyy hh:mm" , alias : "dd/mm/yyyy" , regex : { hrspre : /[012]/ , hrs24 : /2[0-4]|1[3-9]/ , hrs : /[01][0-9]|2[0-4]/ ,
ampm : /^[a|p|A|P][m|M]/ , mspre : /[0-5]/ , ms : /[0-5][0-9]/ } , timeseparator : ":" , hourFormat : "24" , definitions : { h : { validator : function ( a , b , e , d , c ) { if ( "24" == c . hourFormat && 24 == parseInt ( a , 10 ) ) return b . buffer [ e - 1 ] = "0" , b . buffer [ e ] = "0" , { refreshFromBuffer : { start : e - 1 , end : e } , c : "0" } ; var f = c . regex . hrs . test ( a ) ; return d || f || a . charAt ( 1 ) != c . timeseparator && - 1 == "-.:" . indexOf ( a . charAt ( 1 ) ) || ! ( f = c . regex . hrs . test ( "0" + a . charAt ( 0 ) ) ) ? f && "24" !== c . hourFormat && c . regex . hrs24 . test ( a ) ? ( a = parseInt ( a , 10 ) , b . buffer [ e + 5 ] = 24 == a ? "a" : "p" , b . buffer [ e +
6 ] = "m" , a -= 12 , 10 > a ? ( b . buffer [ e ] = a . toString ( ) , b . buffer [ e - 1 ] = "0" ) : ( b . buffer [ e ] = a . toString ( ) . charAt ( 1 ) , b . buffer [ e - 1 ] = a . toString ( ) . charAt ( 0 ) ) , { refreshFromBuffer : { start : e - 1 , end : e + 6 } , c : b . buffer [ e ] } ) : f : ( b . buffer [ e - 1 ] = "0" , b . buffer [ e ] = a . charAt ( 0 ) , e ++ , { refreshFromBuffer : { start : e - 2 , end : e } , pos : e , c : c . timeseparator } ) } , cardinality : 2 , prevalidator : [ { validator : function ( a , b , e , d , c ) { var f = c . regex . hrspre . test ( a ) ; return d || f || ! ( f = c . regex . hrs . test ( "0" + a ) ) ? f : ( b . buffer [ e ] = "0" , e ++ , { pos : e } ) } , cardinality : 1 } ] } , s : { validator : "[0-5][0-9]" ,
cardinality : 2 , prevalidator : [ { validator : function ( a , b , e , d , c ) { var f = c . regex . mspre . test ( a ) ; return d || f || ! ( f = c . regex . ms . test ( "0" + a ) ) ? f : ( b . buffer [ e ] = "0" , e ++ , { pos : e } ) } , cardinality : 1 } ] } , t : { validator : function ( a , b , e , d , c ) { return c . regex . ampm . test ( a + "m" ) } , casing : "lower" , cardinality : 1 } } , insertMode : ! 1 , autoUnmask : ! 1 } , datetime12 : { mask : "1/2/y h:s t\\m" , placeholder : "dd/mm/yyyy hh:mm xm" , alias : "datetime" , hourFormat : "12" } , "hh:mm t" : { mask : "h:s t\\m" , placeholder : "hh:mm xm" , alias : "datetime" , hourFormat : "12" } , "h:s t" : { mask : "h:s t\\m" ,
placeholder : "hh:mm xm" , alias : "datetime" , hourFormat : "12" } , "hh:mm:ss" : { mask : "h:s:s" , placeholder : "hh:mm:ss" , alias : "datetime" , autoUnmask : ! 1 } , "hh:mm" : { mask : "h:s" , placeholder : "hh:mm" , alias : "datetime" , autoUnmask : ! 1 } , date : { alias : "dd/mm/yyyy" } , "mm/yyyy" : { mask : "1/y" , placeholder : "mm/yyyy" , leapday : "donotuse" , separator : "/" , alias : "mm/dd/yyyy" } } ) } ) ;
( function ( f ) { "function" === typeof define && define . amd ? define ( "jquery.inputmask.numeric.extensions" , [ "jquery" , "jquery.inputmask" ] , f ) : f ( jQuery ) } ) ( function ( f ) { f . extend ( f . inputmask . defaults . aliases , { numeric : { mask : function ( a ) { 0 !== a . repeat && isNaN ( a . integerDigits ) && ( a . integerDigits = a . repeat ) ; a . repeat = 0 ; a . autoGroup = a . autoGroup && "" != a . groupSeparator ; if ( a . autoGroup && isFinite ( a . integerDigits ) ) { var b = Math . floor ( a . integerDigits / a . groupSize ) ; a . integerDigits += 0 == a . integerDigits % a . groupSize ? b - 1 : b } a . definitions [ ":" ] . placeholder =
a . radixPoint ; b = a . prefix ; b = b + "[+]" + ( "~{1," + a . integerDigits + "}" ) ; void 0 != a . digits && ( isNaN ( a . digits ) || 0 < parseInt ( a . digits ) ) && ( b = a . digitsOptional ? b + ( "[:~{" + a . digits + "}]" ) : b + ( ":~{" + a . digits + "}" ) ) ; return b += a . suffix } , placeholder : "" , greedy : ! 1 , digits : "*" , digitsOptional : ! 0 , groupSeparator : "" , radixPoint : "." , groupSize : 3 , autoGroup : ! 1 , allowPlus : ! 0 , allowMinus : ! 0 , integerDigits : "+" , prefix : "" , suffix : "" , rightAlign : ! 0 , postFormat : function ( a , b , e , d ) { var c = ! 1 , k = a [ b ] ; if ( "" == d . groupSeparator || - 1 != f . inArray ( d . radixPoint , a ) &&
b >= f . inArray ( d . radixPoint , a ) || /[-+]/ . test ( k ) ) return { pos : b } ; var g = a . slice ( ) ; k == d . groupSeparator && ( g . splice ( b -- , 1 ) , k = g [ b ] ) ; e ? g [ b ] = "?" : g . splice ( b , 0 , "?" ) ; b = g . join ( "" ) ; if ( d . autoGroup || e && - 1 != b . indexOf ( d . groupSeparator ) ) { g = f . inputmask . escapeRegex . call ( this , d . groupSeparator ) ; c = 0 == b . indexOf ( d . groupSeparator ) ; b = b . replace ( RegExp ( g , "g" ) , "" ) ; g = b . split ( d . radixPoint ) ; b = g [ 0 ] ; if ( b != d . prefix + "?0" && b . length >= d . groupSize + d . prefix . length ) for ( var c = ! 0 , y = RegExp ( "([-+]?[\\d?]+)([\\d?]{" + d . groupSize + "})" ) ; y . test ( b ) ; ) b = b . replace ( y ,
"$1" + d . groupSeparator + "$2" ) , b = b . replace ( d . groupSeparator + d . groupSeparator , d . groupSeparator ) ; 1 < g . length && ( b += d . radixPoint + g [ 1 ] ) } a . length = b . length ; d = 0 ; for ( g = b . length ; d < g ; d ++ ) a [ d ] = b . charAt ( d ) ; d = f . inArray ( "?" , a ) ; e ? a [ d ] = k : a . splice ( d , 1 ) ; return { pos : d , refreshFromBuffer : c } } , onKeyDown : function ( a , b , e , d ) { if ( d . autoGroup && ( a . keyCode == d . keyCode . DELETE || a . keyCode == d . keyCode . BACKSPACE ) ) return a = d . postFormat ( b , e - 1 , ! 0 , d ) , a . caret = a . pos + 1 , a } , onKeyPress : function ( a , b , e , d ) { if ( d . autoGroup ) return a = d . postFormat ( b , e - 1 , ! 0 , d ) ,
a . caret = a . pos + 1 , a } , regex : { integerPart : function ( a ) { return /[-+]?\d+/ } } , negationhandler : function ( a , b , e , d , c ) { return ! d && c . allowMinus && "-" === a && ( a = b . join ( "" ) . match ( c . regex . integerPart ( c ) ) , 0 < a . length ) ? "+" == b [ a . index ] ? { pos : a . index , c : "-" , remove : a . index , caret : e } : "-" == b [ a . index ] ? { remove : a . index , caret : e - 1 } : { pos : a . index , c : "-" , caret : e + 1 } : ! 1 } , definitions : { "~" : { validator : function ( a , b , e , d , c ) { var k = c . negationhandler ( a , b . buffer , e , d , c ) ; if ( ! k && ( k = d ? RegExp ( "[0-9" + f . inputmask . escapeRegex . call ( this , c . groupSeparator ) + "]" ) . test ( a ) :
/[0-9]/ . test ( a ) , ! 0 === k && ( k = { pos : e } ) , ! 1 != k && ! d ) ) { d = b . buffer . join ( "" ) . match ( c . regex . integerPart ( c ) ) ; var g = f . inArray ( c . radixPoint , b . buffer ) ; if ( d ) if ( 0 == d [ "0" ] [ 0 ] . indexOf ( "0" ) && e >= c . prefix . length ) - 1 == g || e <= g && void 0 == b . validPositions [ g ] ? ( b . buffer . splice ( d . index , 1 ) , e = e > d . index ? e - 1 : d . index , f . extend ( k , { pos : e , remove : d . index } ) ) : e > d . index && e <= g && ( b . buffer . splice ( d . index , 1 ) , e = e > d . index ? e - 1 : d . index , f . extend ( k , { pos : e , remove : d . index } ) ) ; else if ( "0" == a && e <= d . index ) return ! 1 ; if ( ! 1 === c . digitsOptional && e > g ) return { pos : e ,
remove : e } } return k } , cardinality : 1 , prevalidator : null } , "+" : { validator : function ( a , b , e , d , c ) { b = "[" ; ! 0 === c . allowMinus && ( b += "-" ) ; ! 0 === c . allowPlus && ( b += "+" ) ; return RegExp ( b + "]" ) . test ( a ) } , cardinality : 1 , prevalidator : null } , ":" : { validator : function ( a , b , e , d , c ) { d = c . negationhandler ( a , b . buffer , e , d , c ) ; d || ( d = "[" + f . inputmask . escapeRegex . call ( this , c . radixPoint ) + "]" , ( d = RegExp ( d ) . test ( a ) ) && b . validPositions [ e ] && b . validPositions [ e ] . match . placeholder == c . radixPoint && ( d = { pos : e , remove : e } ) ) ; return d } , cardinality : 1 , prevalidator : null ,
placeholder : "" } } , insertMode : ! 0 , autoUnmask : ! 1 , onUnMask : function ( a , b , e ) { a = a . replace ( e . prefix , "" ) ; a = a . replace ( e . suffix , "" ) ; return a = a . replace ( RegExp ( f . inputmask . escapeRegex . call ( this , e . groupSeparator ) , "g" ) , "" ) } , isComplete : function ( a , b ) { var e = a . join ( "" ) , d = a . slice ( ) ; b . postFormat ( d , 0 , ! 0 , b ) ; if ( d . join ( "" ) != e ) return ! 1 ; e = e . replace ( b . prefix , "" ) ; e = e . replace ( b . suffix , "" ) ; e = e . replace ( RegExp ( f . inputmask . escapeRegex . call ( this , b . groupSeparator ) , "g" ) , "" ) ; e = e . replace ( f . inputmask . escapeRegex . call ( this , b . radixPoint ) ,
"." ) ; return isFinite ( e ) } , onBeforeMask : function ( a , b ) { if ( isFinite ( a ) ) return a . toString ( ) . replace ( "." , b . radixPoint ) ; var e = a . match ( /,/g ) , d = a . match ( /\./g ) ; d && e ? d . length > e . length ? ( a = a . replace ( /\./g , "" ) , a = a . replace ( "," , b . radixPoint ) ) : e . length > d . length && ( a = a . replace ( /,/g , "" ) , a = a . replace ( "." , b . radixPoint ) ) : a = a . replace ( RegExp ( f . inputmask . escapeRegex . call ( this , b . groupSeparator ) , "g" ) , "" ) ; return a } } , decimal : { alias : "numeric" } , integer : { alias : "numeric" , digits : "0" } } ) } ) ;
( function ( f ) { "function" === typeof define && define . amd ? define ( "jquery.inputmask.regex.extensions" , [ "jquery" , "jquery.inputmask" ] , f ) : f ( jQuery ) } ) ( function ( f ) { f . extend ( f . inputmask . defaults . aliases , { Regex : { mask : "r" , greedy : ! 1 , repeat : "*" , regex : null , regexTokens : null , tokenizer : /\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g , quantifierFilter : /[0-9]+[^,]/ ,
isComplete : function ( a , b ) { return RegExp ( b . regex ) . test ( a . join ( "" ) ) } , definitions : { r : { validator : function ( a , b , e , d , c ) { function k ( a , b ) { this . matches = [ ] ; this . isGroup = a || ! 1 ; this . isQuantifier = b || ! 1 ; this . quantifier = { min : 1 , max : 1 } ; this . repeaterPart = void 0 } function g ( ) { var a = new k , b , e = [ ] ; for ( c . regexTokens = [ ] ; b = c . tokenizer . exec ( c . regex ) ; ) switch ( b = b [ 0 ] , b . charAt ( 0 ) ) { case "(" : e . push ( new k ( ! 0 ) ) ; break ; case ")" : var d = e . pop ( ) ; 0 < e . length ? e [ e . length - 1 ] . matches . push ( d ) : a . matches . push ( d ) ; break ; case "{" : case "+" : case "*" : var f =
new k ( ! 1 , ! 0 ) ; b = b . replace ( /[{}]/g , "" ) ; d = b . split ( "," ) ; b = isNaN ( d [ 0 ] ) ? d [ 0 ] : parseInt ( d [ 0 ] ) ; d = 1 == d . length ? b : isNaN ( d [ 1 ] ) ? d [ 1 ] : parseInt ( d [ 1 ] ) ; f . quantifier = { min : b , max : d } ; if ( 0 < e . length ) { var g = e [ e . length - 1 ] . matches ; b = g . pop ( ) ; b . isGroup || ( d = new k ( ! 0 ) , d . matches . push ( b ) , b = d ) ; g . push ( b ) ; g . push ( f ) } else b = a . matches . pop ( ) , b . isGroup || ( d = new k ( ! 0 ) , d . matches . push ( b ) , b = d ) , a . matches . push ( b ) , a . matches . push ( f ) ; break ; default : 0 < e . length ? e [ e . length - 1 ] . matches . push ( b ) : a . matches . push ( b ) } 0 < a . matches . length && c . regexTokens . push ( a ) }
function y ( a , b ) { var c = ! 1 ; b && ( u += "(" , L ++ ) ; for ( var e = 0 ; e < a . matches . length ; e ++ ) { var d = a . matches [ e ] ; if ( ! 0 == d . isGroup ) c = y ( d , ! 0 ) ; else if ( ! 0 == d . isQuantifier ) { var g = f . inArray ( d , a . matches ) , g = a . matches [ g - 1 ] , k = u ; if ( isNaN ( d . quantifier . max ) ) { for ( ; d . repeaterPart && d . repeaterPart != u && d . repeaterPart . length > u . length && ! ( c = y ( g , ! 0 ) ) ; ) ; ( c = c || y ( g , ! 0 ) ) && ( d . repeaterPart = u ) ; u = k + d . quantifier . max } else { for ( var h = 0 , n = d . quantifier . max - 1 ; h < n && ! ( c = y ( g , ! 0 ) ) ; h ++ ) ; u = k + "{" + d . quantifier . min + "," + d . quantifier . max + "}" } } else if ( void 0 != d . matches ) for ( g =
0 ; g < d . length && ! ( c = y ( d [ g ] , b ) ) ; g ++ ) ; else { if ( "[" == d [ 0 ] ) { c = u ; c += d ; for ( h = 0 ; h < L ; h ++ ) c += ")" ; c = RegExp ( "^(" + c + ")$" ) ; c = c . test ( M ) } else for ( g = 0 , k = d . length ; g < k ; g ++ ) if ( "\\" != d [ g ] ) { c = u ; c += d . substr ( 0 , g + 1 ) ; c = c . replace ( /\|$/ , "" ) ; for ( h = 0 ; h < L ; h ++ ) c += ")" ; c = RegExp ( "^(" + c + ")$" ) ; if ( c = c . test ( M ) ) break } u += d } if ( c ) break } b && ( u += ")" , L -- ) ; return c } null == c . regexTokens && g ( ) ; d = b . buffer . slice ( ) ; var u = "" ; b = ! 1 ; var L = 0 ; d . splice ( e , 0 , a ) ; var M = d . join ( "" ) ; for ( a = 0 ; a < c . regexTokens . length && ! ( k = c . regexTokens [ a ] , b = y ( k , k . isGroup ) ) ; a ++ ) ; return b } ,
cardinality : 1 } } } } ) } ) ;
( function ( f ) { "function" === typeof define && define . amd ? define ( "jquery.inputmask.phone.extensions" , [ "jquery" , "jquery.inputmask" ] , f ) : f ( jQuery ) } ) ( function ( f ) { f . extend ( f . inputmask . defaults . aliases , { phone : { url : "phone-codes/phone-codes.json" , mask : function ( a ) { a . definitions = { p : { validator : function ( ) { return ! 1 } , cardinality : 1 } , "#" : { validator : "[0-9]" , cardinality : 1 } } ; var b = [ ] ; f . ajax ( { url : a . url , async : ! 1 , dataType : "json" , success : function ( a ) { b = a } } ) ; b . splice ( 0 , 0 , "+p(ppp)ppp-pppp" ) ; return b } , nojumps : ! 0 , nojumpsThreshold : 1 } ,
phonebe : { url : "phone-codes/phone-be.json" , mask : function ( a ) { a . definitions = { p : { validator : function ( ) { return ! 1 } , cardinality : 1 } , "#" : { validator : "[0-9]" , cardinality : 1 } } ; var b = [ ] ; f . ajax ( { url : a . url , async : ! 1 , dataType : "json" , success : function ( a ) { b = a } } ) ; b . splice ( 0 , 0 , "+32(ppp)ppp-pppp" ) ; return b } , nojumps : ! 0 , nojumpsThreshold : 4 } } ) } ) ;