!function(a,b){"function"==typeofdefine&&define.amd?define(["jQuery"],b):b("object"==typeofexports?require("jQuery"):a.jQuery)}(this,function(){vara=function(){vara={},b=4,c=newRegExp("{{([^}]+)}}","g"),d=function(a){for(varb,d=[];b=c.exec(a);)d.push(b);returnd};returna.parse=function(a){varc={inpts:{},chars:{}},e=d(a),f=a.length,g=0,h=0,i=0,j=function(a){for(vard=a.length,e=0;d>e;e++)c.inpts[h]=a.charAt(e),h++;g++,i+=a.length+b-1};for(i;f>i;i++)g<e.length&&i===e[g].index?j(e[g][1]):c.chars[i-g*b]=a.charAt(i);returnc.mLength=i-g*b,c},a}(),b=function(){{vara={};"undefined"!=typeofnavigator?navigator.userAgent:null}returna.extend=function(a){for(varb=1;b<arguments.length;b++)for(varcinarguments[b])a[c]=arguments[b][c];returna},a.addChars=function(a,b,c){returna.substr(0,c)+b+a.substr(c,a.length)},a.removeChars=function(a,b,c){returna.substr(0,b)+a.substr(c,a.length)},a.isBetween=function(a,b){returnb.sort(function(a,b){returna-b}),a>b[0]&&a<b[1]},a.addListener=function(a,b,c){return"undefined"!=typeofa.addEventListener?a.addEventListener(b,c,!1):a.attachEvent("on"+b,c)},a.preventDefault=function(a){returna.preventDefault?a.preventDefault():a.returnValue=!1},a.getClip=function(a){returna.clipboardData?a.clipboardData.getData("Text"):window.clipboardData?window.clipboardData.getData("Text"):void0},a.getMatchingKey=function(a,b,c){for(vardinc){vare=c[d];if(a===e.which&&b===e.keyCode)returnd}},a.isDelKeyDown=function(b,c){vard={backspace:{which:8,keyCode:8},"delete":{which:46,keyCode:46}};returna.getMatchingKey(b,c,d)},a.isDelKeyPress=function(b,c){vard={backspace:{which:8,keyCode:8,shiftKey:!1},"delete":{which:0,keyCode:46}};returna.getMatchingKey(b,c,d)},a.isSpecialKeyPress=function(b,c){vard={tab:{which:0,keyCode:9},enter:{which:13,keyCode:13},end:{which:0,keyCode:35},home:{which:0,keyCode:36},leftarrow:{which:0,keyCode:37},uparrow:{which:0,keyCode:38},rightarrow:{which:0,keyCode:39},downarrow:{which:0,keyCode:40},F5:{which:116,keyCode:116}};returna.getMatchingKey(b,c,d)},a.isModifier=function(a){returna.ctrlKey||a.altKey||a.metaKey},a.forEach=function(a,b,c){if(a.hasOwnProperty("length"))for(vard=0,e=a.length;e>d&&b.call(c,a[d],d,a)!==!1;d++);elsefor(varfina)if(a.hasOwnProperty(f)&&b.call(c,a[f],f,a)===!1)break},a}(),c=function(a,b){functionc(c){vare=[],f=[];b.forEach(c,function(c){b.forEach(c,function(b,c){varg=a.parse(b),h=d(c);returne.push(h),f.push(g),!1})});varg=function(a){varc;returnb.forEach(e,function(b,d){returnb.test(a)?(c=d,!1):void0}),void0===c?null:f[c]};return{getPattern:g,patterns:f,matchers:e}}vard=function(a){return"*"===a?/.*/:newRegExp(a)};returnc}(a,b),d=function(){vara={};returna.get=function(a){if("number"==typeofa.selectionStart)return{begin:a.selectionStart,end:a.selectionEnd};varb=document.selection.createRange();if(b&&b.parentElement()===a){varc=a.createTextRange(),d=a.createTextRange(),e=a.value.length;returnc.moveToBookmark(b.getBookmark()),d.collapse(!1),c.compareEndPoints("StartToEnd",d)>-1?{begin:e,end:e}:{begin:-c.moveStart("character",-e),end:-c.moveEnd("character",-e)}}return{begin:0,end:0}},a.set=function(a,b){if("object"!=typeofb&&(b={begin:b,end:b}),a.setSelectionRange)a.focus(),a.setSelectionRange(b.begin,b.end);elseif(a.createTextRange){varc=a.createTextRange();c.collapse(!0),c.moveEnd("character",b.end),c.moveStart("character",b.begin),c.select()}},a}(),e=function(a,b,c){functiond(b,d){varf=this;if(f.el=b,!f.el)thrownewTypeError("Must provide an existing element");if(f.opts=c.extend({},e,d),"undefined"!=typeoff.opts.pattern&&(f.opts.patterns=f._specFromSinglePattern(f.opts.pattern),deletef.opts.pattern),"undefined"==typeoff.opts.patterns)thrownewTypeError("Must provide a pattern or array of patterns");f.patternMatcher=a(f.opts.patterns),f._updatePattern(),f.hldrs={},f.focus=0,c.addListener(f.el,"keydown",function(a){f._keyDown(a)}),c.addListener(f.el,"keypress",function(a){f._keyPress(a)}),c.addListener(f.el,"paste",function(a){f._paste(a)}),f.opts.persistent&&(f._processKey("",!1),f.el.blur(),c.addListener(f.el,"focus",function(a){f._focus(a)}),c.addListener(f.el,"click",function(a){f._focus(a)}),c.addListener(f.el,"touchstart",function(a){f._focus(a)}))}vare={persistent:!1,repeat:!1,placeholder:" "},f={9:/[0-9]/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/};returnd.addInptType=function(a,b){f[a]=b},d.prototype.resetPattern=function(c){this.opts.patterns=c?this._specFromSinglePattern(c):this.opts.patterns,this.sel=b.get(this.el),this.val=this.el.value,this.delta=0,this._removeChars(),this.patternMatcher=a(this.opts.patterns);vard=this.patternMatcher.getPattern(this.val);this.mLength=d.mLength,this.chars=d.chars,this.inpts=d.inpts,this._processKey("",!1,!0)},d.prototype._updatePattern=function(){vara=this.patternMatcher.getPattern(this.val);a&&(this.mLength=a.mLength,this.chars=a.chars,this.inpts=a.inpts)},d.prototype._keyDown=function(a){varb=a.which||a.keyCode;returnb&&c.isDelKeyDown(a.which,a.keyCode)?(this._processKey(null,b),c.preventDefault(a)):void0},d.prototype._keyPress=function(a){varb,d;returnb=a.which||a.keyCode,d=c.isSpecialKeyPress(a.which,a.keyCode),c.isDelKeyPress(a.which,a.keyCode)||d||c.isModifier(a)?void0:(this._processKey(String.fromCharCode(b),!1),c.preventDefault(a))},d.prototype._paste=function(a){returnthis._processKey(c.getClip(a),!1),c.preventDefault(a)},d.prototype._focus=function(){vara=this;setTimeout(function(){varc=b.get(a.el),d=c.end>a.focus,e=0===c.end;(d||e)&&b.set(a.el,a.focus)},0)},d.prototype._processKey=function(a,d,e){if(this.sel=b.get(this.el),this.val=this.el.value,this.delta=0,this.sel.begin!==this.sel.end)this.delta=-1*Math.abs(this.sel.begin-this.sel.end),this.val=c.removeChars(this.val,this.sel.begin,this.sel.end);elseif(d&&46===d)this._delete();elseif(d&&this.sel.begin-1>=0)this.val=c.removeChars(this.val,this.sel.end-1,this.sel.end),this.delta-=1;elseif(d)return!0;d||(this.val=c.addChars(this.val,a,this.sel.begin),this.delta+=a.length),this._formatValue(e)},d.prototype._delete=function(){for(;this.chars[this.sel.begin];)this._nextPos();this.sel.begin<this.val.length&&(this._nextPos(),this.val=c.removeChars(this.val,this.sel.end-1,this.sel.end),this.delta=-1)},d.prototype._nextPos=function(){this.sel.end++,this.sel.begin++},d.prototype._formatValue=function(a){this.newPos=this.sel.end+this.delta,this._removeChars(),this._updatePattern(),this._validateInpts(),this._addChars(),this.el.value=this.val.substr(0,this.mLength),("undefined"==typeofa||a===!1)&&b.set(this.el,this.newPos)},d.prototype._removeChars=function(){this.sel.end>this.focus&&(this.delta+=this.sel.end-this.focus);for(vara=0,b=0;b<=this.mLength;b++){vard,e=this.chars[b],f=this.hldrs[b],g=b+a;g=b>=this.sel.begin?g+this.delta:g,d=this.val.charAt(g),(e&&e===d||f&&f===d)&&(this.val=c.removeChars(this.val,g,g+1),a--)}this.hldrs={},this.focus=this.val.length},d.prototype._validateInpts=function(){for(vara=0;a<this.val.length;a++){varb=this.inpts[a],d=!f[b],e=!d&&!f[b].test(this.val.charAt(a)),g=this.inpts[a];(d||e)&&g&&(this.val=c.removeChars(this.val,a,a+1),this.focusStart--,this.newPos--,this.delta--,a--)}},d.prototype._addChars=function(){if(this.opts.persistent){for(vara=0;a<=this.mLength;a++)this.val.charAt(a)||(this.val=c.addChars(this.val,this.opts.placeholder,a),this.hldrs[a]=this.opts.placeholder),this._addChar(a);for(;this.chars[this.focus];)this.focus++}elsefor(varb=0;b<=this.val.length;b++){if(this.delta<=0&&b===this.focus)return!0;this._addChar(b)}},d.prototype._addChar=function(a){varb=this.chars[a];returnb?(c.isBetween(a,[this.sel.begin-1,this.newPos+1])&&(this.newPos++,this.delta++),a<=this.focus&&this.focus++,this.hldrs[a]&&(deletethis.hldrs[a],this.hldrs[a+1]=this.opts.placeholder),void(this.val=c.addChars(this.val,b,a))):!0},d.prototype._specFromSinglePattern=function(a){return[{"*":a}]},d}(c,d,b),f="formatter";$.fn[f]=function(a){return"object"==typeofa&&this.each(function(){$.data(this,"plugin_"+f)||$.data(this,"plugin_"+f,newe(this,a))}),this.resetPattern=function(a){returnthis.each(function(){varb=$.data(this,"plugin_"+f);b&&b.resetPattern(a)}),this},this},$.fn[f].addInptType=function(a,b){e.addInptType(a,b)}});