"use strict";angular.module("diff",[]).filter("diff",["$sce",function(t){function r(t){var r=t;return r=r.replace(/&/g,"&"),r=r.replace(//g,">"),r=r.replace(/'/g,""")}function e(t,e){t=t.replace(/\s+$/,""),e=e.replace(/\s+$/,"");var n,l=o(""===t?[]:t.split(/\s+/),""===e?[]:e.split(/\s+/)),s="",w=t.match(/\s+/g);null===w?w=["\n"]:w.push("\n");var u=e.match(/\s+/g);if(null===u?u=["\n"]:u.push("\n"),0===l.n.length)for(n=0;n"+r(l.o[n])+w[n]+"";else{if(null===l.n[0].text)for(e=0;e"+r(l.o[e])+w[e]+"";for(n=0;n"+r(l.o[e])+w[e]+"";s+=" "+l.n[n].text+u[n]+f}else s+=""+r(l.n[n])+u[n]+""}return s}function o(t,r){var e,o={},n={};for(e=0;e0;e--)r[e].text&&!r[e-1].text&&r[e].row>0&&!t[r[e].row-1].text&&r[e-1]===t[r[e].row-1]&&(r[e-1]={text:r[e-1],row:r[e].row-1},t[r[e].row-1]={text:t[r[e].row-1],row:e-1});return{o:t,n:r}}return function(r,o){return t.trustAsHtml(e(r,o))}}]); function escape(e){var n=e;return n=n.replace(/&/g,"&"),n=n.replace(//g,">"),n=n.replace(/"/g,""")}function diffString(e,n){e=e.replace(/\s+$/,""),n=n.replace(/\s+$/,"");var r=diff(""==e?[]:e.split(/\s+/),""==n?[]:n.split(/\s+/)),t="",l=e.match(/\s+/g);null==l?l=["\n"]:l.push("\n");var o=n.match(/\s+/g);if(null==o?o=["\n"]:o.push("\n"),0==r.n.length)for(var s=0;s"+escape(r.o[s])+l[s]+"";else{if(null==r.n[0].text)for(n=0;n"+escape(r.o[n])+l[n]+"";for(var s=0;s"+escape(r.n[s])+o[s]+"";else{var a="";for(n=r.n[s].row+1;n"+escape(r.o[n])+l[n]+"";t+=" "+r.n[s].text+o[s]+a}}return t}function randomColor(){return"rgb("+100*Math.random()+"%, "+100*Math.random()+"%, "+100*Math.random()+"%)"}function diffString2(e,n){e=e.replace(/\s+$/,""),n=n.replace(/\s+$/,"");var r=diff(""==e?[]:e.split(/\s+/),""==n?[]:n.split(/\s+/)),t=e.match(/\s+/g);null==t?t=["\n"]:t.push("\n");var l=n.match(/\s+/g);null==l?l=["\n"]:l.push("\n");for(var o="",s=new Array,a=0;a'+escape(r.o[a].text)+t[a]+"":""+escape(r.o[a])+t[a]+"";for(var u="",a=0;a'+escape(r.n[a].text)+l[a]+"":""+escape(r.n[a])+l[a]+"";return{o:o,n:u}}function diff(e,n){for(var r=new Object,t=new Object,l=0;l0;l--)null!=n[l].text&&null==n[l-1].text&&n[l].row>0&&null==e[n[l].row-1].text&&n[l-1]==e[n[l].row-1]&&(n[l-1]={text:n[l-1],row:n[l].row-1},e[n[l].row-1]={text:e[n[l].row-1],row:l-1});return{o:e,n:n}}