diff --git a/dev/View/App/MailBox/MessageList.js b/dev/View/App/MailBox/MessageList.js index 2f73968ac..9fb301878 100644 --- a/dev/View/App/MailBox/MessageList.js +++ b/dev/View/App/MailBox/MessageList.js @@ -690,7 +690,7 @@ this.initUploaderForAppend(); this.initShortcuts(); - if (!Globals.bMobileDevice && Settings.capa(Enums.Capa.Prefetch) && ifvisible) + if (!Globals.bMobileDevice && ifvisible && Settings.capa(Enums.Capa.Prefetch)) { ifvisible.setIdleDuration(10); @@ -824,7 +824,7 @@ MessageListMailBoxAppView.prototype.prefetchNextTick = function () { - if (!this.bPrefetch && !ifvisible.now() && this.viewModelVisibility()) + if (ifvisible && !this.bPrefetch && !ifvisible.now() && this.viewModelVisibility()) { var self = this, diff --git a/gulpfile.js b/gulpfile.js index 9b7aea96a..c1c141211 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -30,6 +30,7 @@ var concat = require('gulp-concat-util'), header = require('gulp-header'), footer = require('gulp-footer'), + eol = require('gulp-eol'), rename = require('gulp-rename'), replace = require('gulp-replace'), uglify = require('gulp-uglify'), @@ -43,6 +44,7 @@ function regOtherMinTask(sName, sPath, sInc, sOut, sHeader) .pipe(uglify()) .pipe(header(sHeader || '')) .pipe(rename(sOut)) + .pipe(eol('\n', true)) .pipe(gulp.dest(sPath)); }); } @@ -157,7 +159,7 @@ cfg.paths.js = { 'vendors/jua/jua.min.js', 'vendors/Autolinker/Autolinker.min.js', 'vendors/jsbn/bundle.js', - 'vendors/keymaster/keymaster.js', + 'vendors/keymaster/keymaster.min.js', 'vendors/ifvisible/ifvisible.min.js', 'vendors/jquery-magnific-popup/jquery.magnific-popup.min.js', 'vendors/bootstrap/js/bootstrap.min.js' @@ -179,6 +181,7 @@ gulp.task('less:main', function() { 'paths': cfg.paths.less.main.options.paths })) .pipe(rename(cfg.paths.less.main.name)) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticCSS)); }); @@ -196,6 +199,7 @@ gulp.task('css:main', ['less:main'], function() { .pipe(csscomb()) // .pipe(csslint()) // .pipe(csslint.reporter()) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticCSS)) ; }); @@ -207,6 +211,7 @@ gulp.task('css:main:min', ['css:main'], function() { 'keepSpecialComments': 0 })) .pipe(rename({suffix: '.min'})) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticCSS)); }); @@ -214,6 +219,7 @@ gulp.task('css:main:min', ['css:main'], function() { gulp.task('js:boot', function() { return gulp.src(cfg.paths.js.boot.src) .pipe(concat(cfg.paths.js.boot.name)) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticMinJS)); }); @@ -223,6 +229,7 @@ gulp.task('js:encrypt', function() { .pipe(header(cfg.paths.js.encrypt.header || '')) .pipe(footer(cfg.paths.js.encrypt.footer || '')) .pipe(uglify(cfg.uglify)) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.js.encrypt.dest)) .on('error', gutil.log); }); @@ -230,12 +237,14 @@ gulp.task('js:encrypt', function() { gulp.task('js:openpgp', function() { return gulp.src(cfg.paths.js.openpgp.src) .pipe(rename(cfg.paths.js.openpgp.name)) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticMinJS)); }); gulp.task('js:libs', ['js:encrypt'], function() { return gulp.src(cfg.paths.js.libs.src) .pipe(concat(cfg.paths.js.libs.name, {separator: '\n\n'})) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticMinJS)); }); @@ -246,6 +255,7 @@ gulp.task('js:ckeditor:beautify', function() { 'indentSize': 2 })) .pipe(rename('ckeditor.beautify.js')) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.static + 'ckeditor/')); }); @@ -277,6 +287,7 @@ gulp.task('js:webpack', ['js:webpack:clear'], function(callback) { gulp.task('js:app', ['js:webpack'], function() { return gulp.src(cfg.paths.staticJS + cfg.paths.js.app.name) .pipe(header('/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */\n')) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticJS)) .on('error', gutil.log); }); @@ -284,6 +295,7 @@ gulp.task('js:app', ['js:webpack'], function() { gulp.task('js:admin', ['js:webpack'], function() { return gulp.src(cfg.paths.staticJS + cfg.paths.js.admin.name) .pipe(header('/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */\n')) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticJS)) .on('error', gutil.log); }); @@ -291,6 +303,7 @@ gulp.task('js:admin', ['js:webpack'], function() { gulp.task('js:chunks', ['js:webpack'], function() { return gulp.src(cfg.paths.staticJS + '*.chunk.js') .pipe(header('/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */\n')) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticJS)) .on('error', gutil.log); }); @@ -301,6 +314,7 @@ gulp.task('js:min', ['js:app', 'js:admin', 'js:chunks'], function() { .pipe(replace(/"rainloop\/v\/([^\/]+)\/static\/js\/"/g, '"rainloop/v/$1/static/js/min/"')) .pipe(uglify(cfg.uglify)) .pipe(header('/* RainLoop Webmail (c) RainLoop Team | Licensed under CC BY-NC-SA 3.0 */\n')) + .pipe(eol('\n', true)) .pipe(gulp.dest(cfg.paths.staticMinJS)) .on('error', gutil.log); }); @@ -335,6 +349,9 @@ regOtherMinTask('other:cookie', 'vendors/jquery-cookie/', 'jquery.cookie.js', 'j regOtherMinTask('other:ifvisible', 'vendors/ifvisible/', 'src/ifvisible.js', 'ifvisible.min.js', '/*!ifvisible.js v1.0.0 (c) 2013 Serkan Yersen | MIT */\n'); +regOtherMinTask('other:keymaster', 'vendors/keymaster/', 'keymaster.js', 'keymaster.min.js', + '/*!keymaster.js (c) 2011-2013 Thomas Fuchs | MIT */\n'); + regOtherMinTask('other:wakeup', 'vendors/jquery-wakeup/', 'jquery.wakeup.js', 'jquery.wakeup.min.js', '/*! jQuery WakeUp plugin (c) 2013 Paul Okopny | MIT */\n'); diff --git a/package.json b/package.json index 5b9f39d03..9c1c3aa69 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "gulp-replace": "*", "gulp-header": "*", "gulp-footer": "*", + "gulp-eol": "*", "gulp-minify-css": "*", "gulp-autoprefixer": "*", "gulp-csscomb": "*", diff --git a/vendors/jsbn/bundle.js b/vendors/jsbn/bundle.js index 4f2f85e4f..f15e7b18b 100644 --- a/vendors/jsbn/bundle.js +++ b/vendors/jsbn/bundle.js @@ -1 +1 @@ -!function(t){function i(t,i,r){null!=t&&("number"==typeof t?this.fromNumber(t,i,r):null==i&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,i))}function r(){return new i(null)}function o(t,i,r,o,s,n){for(;--n>=0;){var h=i*this[t++]+r[o]+s;s=Math.floor(h/67108864),r[o++]=67108863&h}return s}function s(t,i,r,o,s,n){for(var h=32767&i,e=i>>15;--n>=0;){var u=32767&this[t],f=this[t++]>>15,a=e*u+f*h;u=h*u+((32767&a)<<15)+r[o]+(1073741823&s),s=(u>>>30)+(a>>>15)+e*f+(s>>>30),r[o++]=1073741823&u}return s}function n(t,i,r,o,s,n){for(var h=16383&i,e=i>>14;--n>=0;){var u=16383&this[t],f=this[t++]>>14,a=e*u+f*h;u=h*u+((16383&a)<<14)+r[o]+s,s=(u>>28)+(a>>14)+e*f,r[o++]=268435455&u}return s}function h(t){return ai.charAt(t)}function e(t,i){var r=pi[t.charCodeAt(i)];return null==r?-1:r}function u(t){for(var i=this.t-1;i>=0;--i)t[i]=this[i];t.t=this.t,t.s=this.s}function f(t){this.t=1,this.s=0>t?-1:0,t>0?this[0]=t:-1>t?this[0]=t+DV:this.t=0}function a(t){var i=r();return i.fromInt(t),i}function p(t,r){var o;if(16==r)o=4;else if(8==r)o=3;else if(256==r)o=8;else if(2==r)o=1;else if(32==r)o=5;else{if(4!=r)return void this.fromRadix(t,r);o=2}this.t=0,this.s=0;for(var s=t.length,n=!1,h=0;--s>=0;){var u=8==o?255&t[s]:e(t,s);0>u?"-"==t.charAt(s)&&(n=!0):(n=!1,0==h?this[this.t++]=u:h+o>this.DB?(this[this.t-1]|=(u&(1<>this.DB-h):this[this.t-1]|=u<=this.DB&&(h-=this.DB))}8==o&&0!=(128&t[0])&&(this.s=-1,h>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t}function c(t){if(this.s<0)return"-"+this.negate().toString(t);var i;if(16==t)i=4;else if(8==t)i=3;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return this.toRadix(t);i=2}var r,o=(1<0)for(u>u)>0&&(s=!0,n=h(r));e>=0;)i>u?(r=(this[e]&(1<>(u+=this.DB-i)):(r=this[e]>>(u-=i)&o,0>=u&&(u+=this.DB,--e)),r>0&&(s=!0),s&&(n+=h(r));return s?n:"0"}function v(){var t=r();return i.ZERO.subTo(this,t),t}function m(){return this.s<0?this.negate():this}function y(t){var i=this.s-t.s;if(0!=i)return i;var r=this.t;if(i=r-t.t,0!=i)return this.s<0?-i:i;for(;--r>=0;)if(0!=(i=this[r]-t[r]))return i;return 0}function T(t){var i,r=1;return 0!=(i=t>>>16)&&(t=i,r+=16),0!=(i=t>>8)&&(t=i,r+=8),0!=(i=t>>4)&&(t=i,r+=4),0!=(i=t>>2)&&(t=i,r+=2),0!=(i=t>>1)&&(t=i,r+=1),r}function d(){return this.t<=0?0:this.DB*(this.t-1)+T(this[this.t-1]^this.s&this.DM)}function D(t,i){var r;for(r=this.t-1;r>=0;--r)i[r+t]=this[r];for(r=t-1;r>=0;--r)i[r]=0;i.t=this.t+t,i.s=this.s}function g(t,i){for(var r=t;r=0;--r)i[r+h+1]=this[r]>>s|e,e=(this[r]&n)<=0;--r)i[r]=0;i[h]=e,i.t=this.t+h+1,i.s=this.s,i.clamp()}function b(t,i){i.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)return void(i.t=0);var o=t%this.DB,s=this.DB-o,n=(1<>o;for(var h=r+1;h>o;o>0&&(i[this.t-r-1]|=(this.s&n)<r;)o+=this[r]-t[r],i[r++]=o&this.DM,o>>=this.DB;if(t.t>=this.DB;o+=this.s}else{for(o+=this.s;r>=this.DB;o-=t.s}i.s=0>o?-1:0,-1>o?i[r++]=this.DV+o:o>0&&(i[r++]=o),i.t=r,i.clamp()}function E(t,r){var o=this.abs(),s=t.abs(),n=o.t;for(r.t=n+s.t;--n>=0;)r[n]=0;for(n=0;n=0;)t[r]=0;for(r=0;r=i.DV&&(t[r+i.t]-=i.DV,t[r+i.t+1]=1)}t.t>0&&(t[t.t-1]+=i.am(r,i[r],t,2*r,0,1)),t.s=0,t.clamp()}function w(t,o,s){var n=t.abs();if(!(n.t<=0)){var h=this.abs();if(h.t0?(n.lShiftTo(a,e),h.lShiftTo(a,s)):(n.copyTo(e),h.copyTo(s));var p=e.t,l=e[p-1];if(0!=l){var c=l*(1<1?e[p-2]>>this.F2:0),v=this.FV/c,m=(1<=0&&(s[s.t++]=1,s.subTo(g,s)),i.ONE.dlShiftTo(p,g),g.subTo(e,e);e.t=0;){var S=s[--d]==l?this.DM:Math.floor(s[d]*v+(s[d-1]+y)*m);if((s[d]+=e.am(0,S,s,D,0,p))0&&s.rShiftTo(a,s),0>u&&i.ZERO.subTo(s,s)}}}function R(t){var o=r();return this.abs().divRemTo(t,null,o),this.s<0&&o.compareTo(i.ZERO)>0&&t.subTo(o,o),o}function A(t){this.m=t}function V(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function x(t){return t}function O(t){t.divRemTo(this.m,null,t)}function q(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function F(t,i){t.squareTo(i),this.reduce(i)}function I(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var i=3&t;return i=i*(2-(15&t)*i)&15,i=i*(2-(255&t)*i)&255,i=i*(2-((65535&t)*i&65535))&65535,i=i*(2-t*i%this.DV)%this.DV,i>0?this.DV-i:-i}function Z(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(o,o),o}function L(t){var i=r();return t.copyTo(i),this.reduce(i),i}function N(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var i=0;i>15)*this.mpl&this.um)<<15)&t.DM;for(r=i+this.m.t,t[r]+=this.m.am(0,o,t,i,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function _(t,i){t.squareTo(i),this.reduce(i)}function C(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function P(){return 0==(this.t>0?1&this[0]:this.s)}function k(t,o){if(t>4294967295||1>t)return i.ONE;var s=r(),n=r(),h=o.convert(this),e=T(t)-1;for(h.copyTo(s);--e>=0;)if(o.sqrTo(s,n),(t&1<0)o.mulTo(n,h,s);else{var u=s;s=n,n=u}return o.revert(s)}function z(t,i){var r;return r=256>t||i.isEven()?new A(i):new Z(i),this.exp(t,r)}function K(){this.i=0,this.j=0,this.S=new Array}function U(t){var i,r,o;for(i=0;256>i;++i)this.S[i]=i;for(r=0,i=0;256>i;++i)r=r+this.S[i]+t[i%t.length]&255,o=this.S[i],this.S[i]=this.S[r],this.S[r]=o;this.i=0,this.j=0}function G(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]}function H(){return new K}function J(){if(null==li){for(li=H();mi>vi;){var t=Math.floor(65536*Math.random());ci[vi++]=255&t}for(li.init(ci),vi=0;vi=0&&r>0;){var n=t.charCodeAt(s--);128>n?o[--r]=n:n>127&&2048>n?(o[--r]=63&n|128,o[--r]=n>>6|192):(o[--r]=63&n|128,o[--r]=n>>6&63|128,o[--r]=n>>12|224)}o[--r]=0;for(var h=new W,e=new Array;r>2;){for(e[0]=0;0==e[0];)h.nextBytes(e);o[--r]=e[0]}return o[--r]=2,o[--r]=0,new i(o)}function $(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ti(t,i){null!=t&&null!=i&&t.length>0&&i.length>0?(this.n=X(t,16),this.e=parseInt(i,16)):console.error("Invalid RSA public key")}function ii(t){return t.modPowInt(this.e,this.n)}function ri(t){var i=Y(t,this.n.bitLength()+7>>3);if(null==i)return null;var r=this.doPublic(i);if(null==r)return null;var o=r.toString(16);return 0==(1&o.length)?o:"0"+o}function oi(t){var i=(this.n.bitLength()+7>>3)-11;if(0>=i)return!1;for(var r="",o=0;o+i=fi;++fi)pi[ui++]=fi;for(ui="a".charCodeAt(0),fi=10;36>fi;++fi)pi[ui++]=fi;for(ui="A".charCodeAt(0),fi=10;36>fi;++fi)pi[ui++]=fi;A.prototype.convert=V,A.prototype.revert=x,A.prototype.reduce=O,A.prototype.mulTo=q,A.prototype.sqrTo=F,Z.prototype.convert=j,Z.prototype.revert=L,Z.prototype.reduce=N,Z.prototype.mulTo=C,Z.prototype.sqrTo=_,i.prototype.copyTo=u,i.prototype.fromInt=f,i.prototype.fromString=p,i.prototype.clamp=l,i.prototype.dlShiftTo=D,i.prototype.drShiftTo=g,i.prototype.lShiftTo=S,i.prototype.rShiftTo=b,i.prototype.subTo=B,i.prototype.multiplyTo=E,i.prototype.squareTo=M,i.prototype.divRemTo=w,i.prototype.invDigit=I,i.prototype.isEven=P,i.prototype.exp=k,i.prototype.toString=c,i.prototype.negate=v,i.prototype.abs=m,i.prototype.compareTo=y,i.prototype.bitLength=d,i.prototype.mod=R,i.prototype.modPowInt=z,i.ZERO=a(0),i.ONE=a(1),K.prototype.init=U,K.prototype.next=G;var li,ci,vi,mi=256;if(null==ci){ci=new Array,vi=0;var yi;if(t.crypto&&t.crypto.getRandomValues){var Ti=new Uint32Array(256);for(t.crypto.getRandomValues(Ti),yi=0;yi=256||vi>=mi)return void(t.removeEventListener?t.removeEventListener("mousemove",di):t.detachEvent&&t.detachEvent("onmousemove",di));this.count+=1;var r=i.x+i.y;ci[vi++]=255&r};t.addEventListener?t.addEventListener("mousemove",di):t.attachEvent&&t.attachEvent("onmousemove",di)}W.prototype.nextBytes=Q,$.prototype.doPublic=ii,$.prototype.setPublic=ti,$.prototype.encrypt=ri,$.prototype._short_encrypt=ri,$.prototype.encrypt=oi,t.RSAKey=$}(window); \ No newline at end of file +!function(t){function i(t,i,r){null!=t&&("number"==typeof t?this.fromNumber(t,i,r):null==i&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,i))}function r(){return new i(null)}function o(t,i,r,o,s,n){for(;--n>=0;){var h=i*this[t++]+r[o]+s;s=Math.floor(h/67108864),r[o++]=67108863&h}return s}function s(t,i,r,o,s,n){for(var h=32767&i,e=i>>15;--n>=0;){var u=32767&this[t],f=this[t++]>>15,a=e*u+f*h;u=h*u+((32767&a)<<15)+r[o]+(1073741823&s),s=(u>>>30)+(a>>>15)+e*f+(s>>>30),r[o++]=1073741823&u}return s}function n(t,i,r,o,s,n){for(var h=16383&i,e=i>>14;--n>=0;){var u=16383&this[t],f=this[t++]>>14,a=e*u+f*h;u=h*u+((16383&a)<<14)+r[o]+s,s=(u>>28)+(a>>14)+e*f,r[o++]=268435455&u}return s}function h(t){return ai.charAt(t)}function e(t,i){var r=pi[t.charCodeAt(i)];return null==r?-1:r}function u(t){for(var i=this.t-1;i>=0;--i)t[i]=this[i];t.t=this.t,t.s=this.s}function f(t){this.t=1,this.s=0>t?-1:0,t>0?this[0]=t:-1>t?this[0]=t+DV:this.t=0}function a(t){var i=r();return i.fromInt(t),i}function p(t,r){var o;if(16==r)o=4;else if(8==r)o=3;else if(256==r)o=8;else if(2==r)o=1;else if(32==r)o=5;else{if(4!=r)return void this.fromRadix(t,r);o=2}this.t=0,this.s=0;for(var s=t.length,n=!1,h=0;--s>=0;){var u=8==o?255&t[s]:e(t,s);0>u?"-"==t.charAt(s)&&(n=!0):(n=!1,0==h?this[this.t++]=u:h+o>this.DB?(this[this.t-1]|=(u&(1<>this.DB-h):this[this.t-1]|=u<=this.DB&&(h-=this.DB))}8==o&&0!=(128&t[0])&&(this.s=-1,h>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t}function c(t){if(this.s<0)return"-"+this.negate().toString(t);var i;if(16==t)i=4;else if(8==t)i=3;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return this.toRadix(t);i=2}var r,o=(1<0)for(u>u)>0&&(s=!0,n=h(r));e>=0;)i>u?(r=(this[e]&(1<>(u+=this.DB-i)):(r=this[e]>>(u-=i)&o,0>=u&&(u+=this.DB,--e)),r>0&&(s=!0),s&&(n+=h(r));return s?n:"0"}function v(){var t=r();return i.ZERO.subTo(this,t),t}function m(){return this.s<0?this.negate():this}function y(t){var i=this.s-t.s;if(0!=i)return i;var r=this.t;if(i=r-t.t,0!=i)return this.s<0?-i:i;for(;--r>=0;)if(0!=(i=this[r]-t[r]))return i;return 0}function T(t){var i,r=1;return 0!=(i=t>>>16)&&(t=i,r+=16),0!=(i=t>>8)&&(t=i,r+=8),0!=(i=t>>4)&&(t=i,r+=4),0!=(i=t>>2)&&(t=i,r+=2),0!=(i=t>>1)&&(t=i,r+=1),r}function d(){return this.t<=0?0:this.DB*(this.t-1)+T(this[this.t-1]^this.s&this.DM)}function D(t,i){var r;for(r=this.t-1;r>=0;--r)i[r+t]=this[r];for(r=t-1;r>=0;--r)i[r]=0;i.t=this.t+t,i.s=this.s}function g(t,i){for(var r=t;r=0;--r)i[r+h+1]=this[r]>>s|e,e=(this[r]&n)<=0;--r)i[r]=0;i[h]=e,i.t=this.t+h+1,i.s=this.s,i.clamp()}function b(t,i){i.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)return void(i.t=0);var o=t%this.DB,s=this.DB-o,n=(1<>o;for(var h=r+1;h>o;o>0&&(i[this.t-r-1]|=(this.s&n)<r;)o+=this[r]-t[r],i[r++]=o&this.DM,o>>=this.DB;if(t.t>=this.DB;o+=this.s}else{for(o+=this.s;r>=this.DB;o-=t.s}i.s=0>o?-1:0,-1>o?i[r++]=this.DV+o:o>0&&(i[r++]=o),i.t=r,i.clamp()}function E(t,r){var o=this.abs(),s=t.abs(),n=o.t;for(r.t=n+s.t;--n>=0;)r[n]=0;for(n=0;n=0;)t[r]=0;for(r=0;r=i.DV&&(t[r+i.t]-=i.DV,t[r+i.t+1]=1)}t.t>0&&(t[t.t-1]+=i.am(r,i[r],t,2*r,0,1)),t.s=0,t.clamp()}function w(t,o,s){var n=t.abs();if(!(n.t<=0)){var h=this.abs();if(h.t0?(n.lShiftTo(a,e),h.lShiftTo(a,s)):(n.copyTo(e),h.copyTo(s));var p=e.t,l=e[p-1];if(0!=l){var c=l*(1<1?e[p-2]>>this.F2:0),v=this.FV/c,m=(1<=0&&(s[s.t++]=1,s.subTo(g,s)),i.ONE.dlShiftTo(p,g),g.subTo(e,e);e.t=0;){var S=s[--d]==l?this.DM:Math.floor(s[d]*v+(s[d-1]+y)*m);if((s[d]+=e.am(0,S,s,D,0,p))0&&s.rShiftTo(a,s),0>u&&i.ZERO.subTo(s,s)}}}function R(t){var o=r();return this.abs().divRemTo(t,null,o),this.s<0&&o.compareTo(i.ZERO)>0&&t.subTo(o,o),o}function A(t){this.m=t}function V(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function x(t){return t}function O(t){t.divRemTo(this.m,null,t)}function q(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function F(t,i){t.squareTo(i),this.reduce(i)}function I(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var i=3&t;return i=i*(2-(15&t)*i)&15,i=i*(2-(255&t)*i)&255,i=i*(2-((65535&t)*i&65535))&65535,i=i*(2-t*i%this.DV)%this.DV,i>0?this.DV-i:-i}function Z(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(o,o),o}function L(t){var i=r();return t.copyTo(i),this.reduce(i),i}function N(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var i=0;i>15)*this.mpl&this.um)<<15)&t.DM;for(r=i+this.m.t,t[r]+=this.m.am(0,o,t,i,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function _(t,i){t.squareTo(i),this.reduce(i)}function C(t,i,r){t.multiplyTo(i,r),this.reduce(r)}function P(){return 0==(this.t>0?1&this[0]:this.s)}function k(t,o){if(t>4294967295||1>t)return i.ONE;var s=r(),n=r(),h=o.convert(this),e=T(t)-1;for(h.copyTo(s);--e>=0;)if(o.sqrTo(s,n),(t&1<0)o.mulTo(n,h,s);else{var u=s;s=n,n=u}return o.revert(s)}function z(t,i){var r;return r=256>t||i.isEven()?new A(i):new Z(i),this.exp(t,r)}function K(){this.i=0,this.j=0,this.S=new Array}function U(t){var i,r,o;for(i=0;256>i;++i)this.S[i]=i;for(r=0,i=0;256>i;++i)r=r+this.S[i]+t[i%t.length]&255,o=this.S[i],this.S[i]=this.S[r],this.S[r]=o;this.i=0,this.j=0}function G(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]}function H(){return new K}function J(){if(null==li){for(li=H();mi>vi;){var t=Math.floor(65536*Math.random());ci[vi++]=255&t}for(li.init(ci),vi=0;vi=0&&r>0;){var n=t.charCodeAt(s--);128>n?o[--r]=n:n>127&&2048>n?(o[--r]=63&n|128,o[--r]=n>>6|192):(o[--r]=63&n|128,o[--r]=n>>6&63|128,o[--r]=n>>12|224)}o[--r]=0;for(var h=new W,e=new Array;r>2;){for(e[0]=0;0==e[0];)h.nextBytes(e);o[--r]=e[0]}return o[--r]=2,o[--r]=0,new i(o)}function $(){this.n=null,this.e=0,this.d=null,this.p=null,this.q=null,this.dmp1=null,this.dmq1=null,this.coeff=null}function ti(t,i){null!=t&&null!=i&&t.length>0&&i.length>0?(this.n=X(t,16),this.e=parseInt(i,16)):console.error("Invalid RSA public key")}function ii(t){return t.modPowInt(this.e,this.n)}function ri(t){var i=Y(t,this.n.bitLength()+7>>3);if(null==i)return null;var r=this.doPublic(i);if(null==r)return null;var o=r.toString(16);return 0==(1&o.length)?o:"0"+o}function oi(t){var i=(this.n.bitLength()+7>>3)-11;if(0>=i)return!1;for(var r="",o=0;o+i=fi;++fi)pi[ui++]=fi;for(ui="a".charCodeAt(0),fi=10;36>fi;++fi)pi[ui++]=fi;for(ui="A".charCodeAt(0),fi=10;36>fi;++fi)pi[ui++]=fi;A.prototype.convert=V,A.prototype.revert=x,A.prototype.reduce=O,A.prototype.mulTo=q,A.prototype.sqrTo=F,Z.prototype.convert=j,Z.prototype.revert=L,Z.prototype.reduce=N,Z.prototype.mulTo=C,Z.prototype.sqrTo=_,i.prototype.copyTo=u,i.prototype.fromInt=f,i.prototype.fromString=p,i.prototype.clamp=l,i.prototype.dlShiftTo=D,i.prototype.drShiftTo=g,i.prototype.lShiftTo=S,i.prototype.rShiftTo=b,i.prototype.subTo=B,i.prototype.multiplyTo=E,i.prototype.squareTo=M,i.prototype.divRemTo=w,i.prototype.invDigit=I,i.prototype.isEven=P,i.prototype.exp=k,i.prototype.toString=c,i.prototype.negate=v,i.prototype.abs=m,i.prototype.compareTo=y,i.prototype.bitLength=d,i.prototype.mod=R,i.prototype.modPowInt=z,i.ZERO=a(0),i.ONE=a(1),K.prototype.init=U,K.prototype.next=G;var li,ci,vi,mi=256;if(null==ci){ci=new Array,vi=0;var yi;if(t.crypto&&t.crypto.getRandomValues){var Ti=new Uint32Array(256);for(t.crypto.getRandomValues(Ti),yi=0;yi=256||vi>=mi)return void(t.removeEventListener?t.removeEventListener("mousemove",di):t.detachEvent&&t.detachEvent("onmousemove",di));this.count+=1;var r=i.x+i.y;ci[vi++]=255&r};t.addEventListener?t.addEventListener("mousemove",di):t.attachEvent&&t.attachEvent("onmousemove",di)}W.prototype.nextBytes=Q,$.prototype.doPublic=ii,$.prototype.setPublic=ti,$.prototype.encrypt=ri,$.prototype._short_encrypt=ri,$.prototype.encrypt=oi,t.RSAKey=$}(window); diff --git a/vendors/keymaster/keymaster.min.js b/vendors/keymaster/keymaster.min.js new file mode 100644 index 000000000..5984f13fd --- /dev/null +++ b/vendors/keymaster/keymaster.min.js @@ -0,0 +1,2 @@ +/*!keymaster.js (c) 2011-2013 Thomas Fuchs | MIT */ +!function(e){function n(e,n){for(var t=e.length;t--;)if(e[t]===n)return t;return-1}function t(e,n){if(e.length!=n.length)return!1;for(var t=0;t0;for(i in b)(!b[i]&&n(r.mods,+i)>-1||b[i]&&-1==n(r.mods,+i))&&(c=!1);(0!=r.mods.length||b[16]||b[18]||b[17]||b[91])&&!c||r.method(e,r)===!1&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0))}}function i(e){var t,o=e.keyCode,r=n(S,o);if(r>=0&&S.splice(r,1),(93==o||224==o)&&(o=91),o in b){b[o]=!1;for(t in C)C[t]==o&&(f[t]=!1)}}function l(){for(m in b)b[m]=!1;for(m in C)f[m]=!1}function f(e,n,t){var o,r,i=!1;o=g(e),void 0===t&&(t=n,n="all"),i=!("string"==typeof n||!n.length||"string"!=typeof n[0]);for(var l=0;l1&&(r=y(e),e=[e[e.length-1]]),e=e[0],e=P(e),e in E||(E[e]=[]),i)for(var f=0;f1&&(c=y(r),e=r[r.length-1]),e=P(e),void 0===n&&(n=d()),!E[e])return;for(i=0;im;m++)K["f"+m]=111+m;var T={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey"};for(m in C)f[m]=!1;v(document,"keydown",function(e){r(e)}),v(document,"keyup",i),v(window,"focus",l);var A=e.key;e.key=f,e.key.setScope=p,e.key.getScope=d,e.key.deleteScope=h,e.key.filter=s,e.key.isPressed=u,e.key.getPressedKeyCodes=a,e.key.noConflict=k,e.key.unbind=c,"undefined"!=typeof module&&(module.exports=key)}(this);