%PDF- %PDF-
| Direktori : /data/old/home/stash/atlassian/stash/3.7.1/atlassian-stash/static/bower/resemblejs/ |
| Current File : //data/old/home/stash/atlassian/stash/3.7.1/atlassian-stash/static/bower/resemblejs/resemble-min.js |
(function(G){var I=1;var H={red:255,green:0,blue:255,alpha:255};function F(K,J){return(Math.abs(K.r-J.r)+Math.abs(K.g-J.g)+Math.abs(K.b-J.b))/3}var E={flat:function(K,J){return{r:H.red,g:H.green,b:H.blue,a:H.alpha}},movement:function(K,J){return{r:((J.r*(H.red/255))+H.red)/2,g:((J.g*(H.green/255))+H.green)/2,b:((J.b*(H.blue/255))+H.blue)/2,a:J.a}},flatDifferenceIntensity:function(K,J){return{r:H.red,g:H.green,b:H.blue,a:F(K,J)}},movementDifferenceIntensity:function(L,K){var J=F(L,K)/255*0.8;return{r:((1-J)*(K.r*(H.red/255))+J*H.red),g:((1-J)*(K.g*(H.green/255))+J*H.green),b:((1-J)*(K.b*(H.blue/255))+J*H.blue),a:K.a}}};var A=E.flat;var C=1200;var B=/^https?:\/\//;var D=new RegExp("^https?://"+document.domain);G.resemble=function(l){var n={};var W=[];var T=[];var f={red:16,green:16,blue:16,alpha:16,minBrightness:16,maxBrightness:240};var Z=false;var Y=false;function O(){var o=T.length;var p;for(p=0;p<o;p++){if(typeof T[p]==="function"){T[p](n)}}}function j(o,s,r){var q,p;for(q=0;q<o;q++){for(p=0;p<s;p++){r(q,p)}}}function b(s,v,q){var p=0;var r=0;var u=0;var t=0;var o=0;j(q,v,function(x,AC){var AB=(x*v+AC)*4;var AA=s[AB];var y=s[AB+1];var w=s[AB+2];var z=L(AA,y,w);p++;r+=AA/255*100;u+=y/255*100;t+=w/255*100;o+=z/255*100});n.red=Math.floor(r/p);n.green=Math.floor(u/p);n.blue=Math.floor(t/p);n.brightness=Math.floor(o/p);O()}function e(q,r){var p;var o=new Image();if(B.test(q)&&!D.test(q)){o.setAttribute("crossorigin","anonymous")}o.onload=function(){var u=document.createElement("canvas");var v;var t=o.width;var s=o.height;u.width=t;u.height=s;u.getContext("2d").drawImage(o,0,0,t,s);v=u.getContext("2d").getImageData(0,0,t,s);W.push(v);r(v,t,s)};if(typeof q==="string"){o.src=q;if(o.complete){o.onload()}}else{if(typeof q.data!=="undefined"&&typeof q.width==="number"&&typeof q.height==="number"){W.push(q);r(q,q.width,q.height)}else{p=new FileReader();p.onload=function(s){o.src=s.target.result};p.readAsDataURL(q)}}}function g(p,o,q){var r=Math.abs(p-o);if(typeof p==="undefined"){return false}if(typeof o==="undefined"){return false}if(p===o){return true}else{if(r<f[q]){return true}else{return false}}}function X(o){return !isNaN(parseFloat(o))}function c(p,o){var r=g(p.a,o.a,"alpha");var q=g(p.brightness,o.brightness,"minBrightness");return q&&r}function L(q,p,o){return 0.3*q+0.59*p+0.11*o}function k(r,p){var s=r.r===p.r;var q=r.g===p.g;var o=r.b===p.b;return s&&q&&o}function V(r,p){var t=g(r.r,p.r,"red");var q=g(r.g,p.g,"green");var o=g(r.b,p.b,"blue");var s=g(r.a,p.a,"alpha");return t&&q&&o&&s}function S(p,o){return Math.abs(p.brightness-o.brightness)>f.maxBrightness}function d(u,t,p){u=u/255;t=t/255;p=p/255;var o=Math.max(u,t,p),q=Math.min(u,t,p);var s;var v;if(o==q){s=0}else{v=o-q;switch(o){case u:s=(t-p)/v+(t<p?6:0);break;case t:s=(p-u)/v+2;break;case p:s=(u-t)/v+4;break}s/=6}return s}function K(o,u,w,v,y,q){var s;var z;var p=1;var t;var r;var AB=0;var AA=0;var x=0;h(o);for(t=p*-1;t<=p;t++){for(r=p*-1;r<=p;r++){if(t===0&&r===0){}else{s=((v+r)*q+(y+t))*4;z=R(u,s,w);if(z===null){continue}M(z);h(z);if(S(o,z)){AB++}if(k(o,z)){x++}if(Math.abs(z.h-o.h)>0.3){AA++}if(AA>1||AB>1){return true}}}}if(x<2){return true}return false}function i(p,r,o,s){var q=A(o,s);p[r]=q.r;p[r+1]=q.g;p[r+2]=q.b;p[r+3]=q.a}function a(o,q,p){o[q]=p.r;o[q+1]=p.g;o[q+2]=p.b;o[q+3]=p.a*I}function N(o,q,p){o[q]=p.brightness;o[q+1]=p.brightness;o[q+2]=p.brightness;o[q+3]=p.a*I}function R(u,w,q){var t;var s;var o;var v;var p;t=u[w];if(typeof t!=="undefined"){s=u[w+1];o=u[w+2];p=u[w+3];v={r:t,g:s,b:o,a:p};return v}else{return null}}function M(o){o.brightness=L(o.r,o.g,o.b)}function h(o){o.h=d(o.r,o.g,o.b)}function J(v,u,q,AA){var y=document.createElement("canvas");var w=v.data;var t=u.data;y.width=q;y.height=AA;var r=y.getContext("2d");var p=r.createImageData(q,AA);var x=p.data;var o=0;var s=Date.now();var z;if(!!C&&Z&&(q>C||AA>C)){z=6}j(AA,q,function(AB,AF){if(z){if(AB%z===0||AF%z===0){return }}var AD=(AB*q+AF)*4;var AE=R(w,AD,1);var AC=R(t,AD,2);if(AE===null||AC===null){return }if(Y){M(AE);M(AC);if(c(AE,AC)){N(x,AD,AC)}else{i(x,AD,AE,AC);o++}return }if(V(AE,AC)){a(x,AD,AE,AC)}else{if(Z&&(M(AE),M(AC),K(AE,w,1,AB,AF,q)||K(AC,t,2,AB,AF,q))){if(c(AE,AC)){N(x,AD,AC)}else{i(x,AD,AE,AC);o++}}else{i(x,AD,AE,AC);o++}}});n.misMatchPercentage=(o/(AA*q)*100).toFixed(2);n.analysisTime=Date.now()-s;n.getImageDataUrl=function(AC){var AB=0;if(AC){AB=Q(AC,r,y)}r.putImageData(p,0,AB);return y.toDataURL("image/png")}}function Q(t,o,s){var q=2;o.font="12px sans-serif";var r=o.measureText(t).width+q*2;var p=22;if(r>s.width){s.width=r}s.height+=p;o.fillStyle="#666";o.fillRect(0,0,s.width,p-4);o.fillStyle="#fff";o.fillRect(0,p-4,s.width,4);o.fillStyle="#fff";o.textBaseline="top";o.font="12px sans-serif";o.fillText(t,q,1);return p}function P(p,o,r){var s;var q;if(p.height<r||p.width<o){s=document.createElement("canvas");s.width=o;s.height=r;q=s.getContext("2d");q.putImageData(p,0,0);return q.getImageData(0,0,o,r)}return p}function m(p,o){function q(){var s;var r;if(W.length===2){s=W[0].width>W[1].width?W[0].width:W[1].width;r=W[0].height>W[1].height?W[0].height:W[1].height;if((W[0].width===W[1].width)&&(W[0].height===W[1].height)){n.isSameDimensions=true}else{n.isSameDimensions=false}n.dimensionDifference={width:W[0].width-W[1].width,height:W[0].height-W[1].height};J(P(W[0],s,r),P(W[1],s,r),s,r);O()}}W=[];e(p,q);e(o,q)}function U(r){var q,p=typeof r==="function";if(!p){q=r}var o={ignoreNothing:function(){f.red=16;f.green=16;f.blue=16;f.alpha=16;f.minBrightness=16;f.maxBrightness=240;Z=false;Y=false;if(p){r()}return o},ignoreAntialiasing:function(){f.red=32;f.green=32;f.blue=32;f.alpha=32;f.minBrightness=64;f.maxBrightness=96;Z=true;Y=false;if(p){r()}return o},ignoreColors:function(){f.alpha=16;f.minBrightness=16;f.maxBrightness=240;Z=false;Y=true;if(p){r()}return o},repaint:function(){if(p){r()}return o},onComplete:function(t){T.push(t);var s=function(){m(l,q)};s();return U(s)}};return o}return{onComplete:function(o){T.push(o);e(l,function(r,q,p){b(r.data,q,p)})},compareTo:function(o){return U(o)}}};G.resemble.outputSettings=function(J){var K;var L;if(J.errorColor){for(K in J.errorColor){H[K]=J.errorColor[K]===L?H[K]:J.errorColor[K]}}if(J.errorType&&E[J.errorType]){A=E[J.errorType]}I=isNaN(Number(J.transparency))?I:J.transparency;if(J.largeImageThreshold!==L){C=J.largeImageThreshold}return this}}(this));