motion-juxtapose 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +86 -0
  6. data/Rakefile +1 -0
  7. data/bin/juxtapose +15 -0
  8. data/images/diff-view.png +0 -0
  9. data/images/initial-view.png +0 -0
  10. data/lib/juxtapose/application/README.md +1 -0
  11. data/lib/juxtapose/application/app.rb +42 -0
  12. data/lib/juxtapose/application/config/karma-e2e.conf.js +37 -0
  13. data/lib/juxtapose/application/config/karma.conf.js +31 -0
  14. data/lib/juxtapose/application/css/bootstrap-theme.css +459 -0
  15. data/lib/juxtapose/application/css/bootstrap-theme.min.css +9 -0
  16. data/lib/juxtapose/application/css/bootstrap.css +7098 -0
  17. data/lib/juxtapose/application/css/bootstrap.min.css +9 -0
  18. data/lib/juxtapose/application/css/styles.css +31 -0
  19. data/lib/juxtapose/application/fonts/glyphicons-halflings-regular.eot +0 -0
  20. data/lib/juxtapose/application/fonts/glyphicons-halflings-regular.svg +229 -0
  21. data/lib/juxtapose/application/fonts/glyphicons-halflings-regular.ttf +0 -0
  22. data/lib/juxtapose/application/fonts/glyphicons-halflings-regular.woff +0 -0
  23. data/lib/juxtapose/application/js/angular.min.js +200 -0
  24. data/lib/juxtapose/application/js/app.js +80 -0
  25. data/lib/juxtapose/application/js/bootstrap.js +2002 -0
  26. data/lib/juxtapose/application/js/bootstrap.min.js +9 -0
  27. data/lib/juxtapose/application/js/underscore-min.js +6 -0
  28. data/lib/juxtapose/application/lib/image.rb +27 -0
  29. data/lib/juxtapose/application/lib/project.rb +48 -0
  30. data/lib/juxtapose/application/lib/spec.rb +43 -0
  31. data/lib/juxtapose/application/scripts/e2e-test.bat +11 -0
  32. data/lib/juxtapose/application/scripts/e2e-test.sh +9 -0
  33. data/lib/juxtapose/application/scripts/test.bat +11 -0
  34. data/lib/juxtapose/application/scripts/test.sh +9 -0
  35. data/lib/juxtapose/application/scripts/watchr.rb +19 -0
  36. data/lib/juxtapose/application/scripts/web-server.js +244 -0
  37. data/lib/juxtapose/application/spec/javascript/e2e/runner.html +11 -0
  38. data/lib/juxtapose/application/spec/javascript/e2e/scenarios.js +45 -0
  39. data/lib/juxtapose/application/spec/javascript/lib/angular/angular-mocks.js +1962 -0
  40. data/lib/juxtapose/application/spec/javascript/lib/angular/angular-scenario.js +29649 -0
  41. data/lib/juxtapose/application/spec/javascript/unit/controllersSpec.js +36 -0
  42. data/lib/juxtapose/application/spec/models/image_spec.rb +26 -0
  43. data/lib/juxtapose/application/spec/models/project_spec.rb +90 -0
  44. data/lib/juxtapose/application/spec/models/spec_spec.rb +54 -0
  45. data/lib/juxtapose/application/spec/spec_helper.rb +17 -0
  46. data/lib/juxtapose/application/views/index.html.haml +87 -0
  47. data/lib/juxtapose/screenshotter.rb +116 -0
  48. data/lib/juxtapose/strategy/frank_strategy.rb +58 -0
  49. data/lib/juxtapose/strategy/mac_bacon_strategy.rb +92 -0
  50. data/lib/juxtapose/version.rb +3 -0
  51. data/lib/motion-juxtapose.rb +15 -0
  52. data/motion-juxtapose.gemspec +26 -0
  53. metadata +182 -0
@@ -0,0 +1,200 @@
1
+ /*
2
+ AngularJS v1.2.1
3
+ (c) 2010-2012 Google, Inc. http://angularjs.org
4
+ License: MIT
5
+ */
6
+ (function(W,O,s){'use strict';function F(b){return function(){for(var a=arguments[0],c=1,a="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.2.1/"+(b?b+"/":"")+a;c<arguments.length;c++)a=a+(1==c?"?":"&")+"p"+(c-1)+"="+encodeURIComponent("function"==typeof arguments[c]?arguments[c].toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof arguments[c]?"undefined":"string"!=typeof arguments[c]?JSON.stringify(arguments[c]):arguments[c]);return Error(a)}}function ob(b){if(null==b||za(b))return!1;var a=
7
+ b.length;return 1===b.nodeType&&a?!0:D(b)||K(b)||0===a||"number"===typeof a&&0<a&&a-1 in b}function p(b,a,c){var d;if(b)if(E(b))for(d in b)"prototype"!=d&&("length"!=d&&"name"!=d&&b.hasOwnProperty(d))&&a.call(c,b[d],d);else if(b.forEach&&b.forEach!==p)b.forEach(a,c);else if(ob(b))for(d=0;d<b.length;d++)a.call(c,b[d],d);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function Ob(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function Mc(b,a,c){for(var d=Ob(b),
8
+ e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function Pb(b){return function(a,c){b(c,a)}}function Xa(){for(var b=ka.length,a;b;){b--;a=ka[b].charCodeAt(0);if(57==a)return ka[b]="A",ka.join("");if(90==a)ka[b]="0";else return ka[b]=String.fromCharCode(a+1),ka.join("")}ka.unshift("0");return ka.join("")}function Qb(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function A(b){var a=b.$$hashKey;p(arguments,function(a){a!==b&&p(a,function(a,c){b[c]=a})});Qb(b,a);return b}function R(b){return parseInt(b,
9
+ 10)}function Rb(b,a){return A(new (A(function(){},{prototype:b})),a)}function w(){}function Aa(b){return b}function ca(b){return function(){return b}}function y(b){return"undefined"==typeof b}function C(b){return"undefined"!=typeof b}function U(b){return null!=b&&"object"==typeof b}function D(b){return"string"==typeof b}function pb(b){return"number"==typeof b}function Ja(b){return"[object Date]"==Ya.apply(b)}function K(b){return"[object Array]"==Ya.apply(b)}function E(b){return"function"==typeof b}
10
+ function Za(b){return"[object RegExp]"==Ya.apply(b)}function za(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function Nc(b){return b&&(b.nodeName||b.on&&b.find)}function Oc(b,a,c){var d=[];p(b,function(b,f,g){d.push(a.call(c,b,f,g))});return d}function $a(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function Ka(b,a){var c=$a(b,a);0<=c&&b.splice(c,1);return a}function fa(b,a){if(za(b)||b&&b.$evalAsync&&b.$watch)throw La("cpws");if(a){if(b===
11
+ a)throw La("cpi");if(K(b))for(var c=a.length=0;c<b.length;c++)a.push(fa(b[c]));else{c=a.$$hashKey;p(a,function(b,c){delete a[c]});for(var d in b)a[d]=fa(b[d]);Qb(a,c)}}else(a=b)&&(K(b)?a=fa(b,[]):Ja(b)?a=new Date(b.getTime()):Za(b)?a=RegExp(b.source):U(b)&&(a=fa(b,{})));return a}function Pc(b,a){a=a||{};for(var c in b)b.hasOwnProperty(c)&&"$$"!==c.substr(0,2)&&(a[c]=b[c]);return a}function Ba(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&
12
+ "object"==c)if(K(b)){if(!K(a))return!1;if((c=b.length)==a.length){for(d=0;d<c;d++)if(!Ba(b[d],a[d]))return!1;return!0}}else{if(Ja(b))return Ja(a)&&b.getTime()==a.getTime();if(Za(b)&&Za(a))return b.toString()==a.toString();if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||za(b)||za(a)||K(a))return!1;c={};for(d in b)if("$"!==d.charAt(0)&&!E(b[d])){if(!Ba(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c.hasOwnProperty(d)&&"$"!==d.charAt(0)&&a[d]!==s&&!E(a[d]))return!1;return!0}return!1}function Sb(){return O.securityPolicy&&
13
+ O.securityPolicy.isActive||O.querySelector&&!(!O.querySelector("[ng-csp]")&&!O.querySelector("[data-ng-csp]"))}function qb(b,a){var c=2<arguments.length?ta.call(arguments,2):[];return!E(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?a.apply(b,c.concat(ta.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function Qc(b,a){var c=a;"string"===typeof b&&"$"===b.charAt(0)?c=s:za(a)?c="$WINDOW":a&&O===a?c="$DOCUMENT":a&&(a.$evalAsync&&
14
+ a.$watch)&&(c="$SCOPE");return c}function oa(b,a){return"undefined"===typeof b?s:JSON.stringify(b,Qc,a?" ":null)}function Tb(b){return D(b)?JSON.parse(b):b}function Ma(b){b&&0!==b.length?(b=u(""+b),b=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)):b=!1;return b}function ga(b){b=x(b).clone();try{b.html("")}catch(a){}var c=x("<div>").append(b).html();try{return 3===b[0].nodeType?u(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+u(b)})}catch(d){return u(c)}}function Ub(b){try{return decodeURIComponent(b)}catch(a){}}
15
+ function Vb(b){var a={},c,d;p((b||"").split("&"),function(b){b&&(c=b.split("="),d=Ub(c[0]),C(d)&&(b=C(c[1])?Ub(c[1]):!0,a[d]?K(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Wb(b){var a=[];p(b,function(b,d){K(b)?p(b,function(b){a.push(ua(d,!0)+(!0===b?"":"="+ua(b,!0)))}):a.push(ua(d,!0)+(!0===b?"":"="+ua(b,!0)))});return a.length?a.join("&"):""}function rb(b){return ua(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ua(b,a){return encodeURIComponent(b).replace(/%40/gi,
16
+ "@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}function Rc(b,a){function c(a){a&&d.push(a)}var d=[b],e,f,g=["ng:app","ng-app","x-ng-app","data-ng-app"],h=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;p(g,function(a){g[a]=!0;c(O.getElementById(a));a=a.replace(":","\\:");b.querySelectorAll&&(p(b.querySelectorAll("."+a),c),p(b.querySelectorAll("."+a+"\\:"),c),p(b.querySelectorAll("["+a+"]"),c))});p(d,function(a){if(!e){var b=h.exec(" "+a.className+" ");b?(e=a,f=
17
+ (b[2]||"").replace(/\s+/g,",")):p(a.attributes,function(b){!e&&g[b.name]&&(e=a,f=b.value)})}});e&&a(e,f?[f]:[])}function Xb(b,a){var c=function(){b=x(b);if(b.injector()){var c=b[0]===O?"document":ga(b);throw La("btstrpd",c);}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);a.unshift("ng");c=Yb(a);c.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(a,b,c,d,e){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},d=/^NG_DEFER_BOOTSTRAP!/;
18
+ if(W&&!d.test(W.name))return c();W.name=W.name.replace(d,"");ab.resumeBootstrap=function(b){p(b,function(b){a.push(b)});c()}}function bb(b,a){a=a||"_";return b.replace(Sc,function(b,d){return(d?a:"")+b.toLowerCase()})}function sb(b,a,c){if(!b)throw La("areq",a||"?",c||"required");return b}function Na(b,a,c){c&&K(b)&&(b=b[b.length-1]);sb(E(b),a,"not a function, got "+(b&&"object"==typeof b?b.constructor.name||"Object":typeof b));return b}function va(b,a){if("hasOwnProperty"===b)throw La("badname",
19
+ a);}function tb(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g<f;g++)d=a[g],b&&(b=(e=b)[d]);return!c&&E(b)?qb(e,b):b}function ub(b){if(b.startNode===b.endNode)return x(b.startNode);var a=b.startNode,c=[a];do{a=a.nextSibling;if(!a)break;c.push(a)}while(a!==b.endNode);return x(c)}function Tc(b){function a(a,b,c){return a[b]||(a[b]=c())}var c=F("$injector"),d=F("ng");return a(a(b,"angular",Object),"module",function(){var b={};return function(f,g,h){if("hasOwnProperty"===f)throw d("badname",
20
+ "module");g&&b.hasOwnProperty(f)&&(b[f]=null);return a(b,f,function(){function a(c,d,e){return function(){b[e||"push"]([c,d,arguments]);return r}}if(!g)throw c("nomod",f);var b=[],d=[],e=a("$injector","invoke"),r={_invokeQueue:b,_runBlocks:d,requires:g,name:f,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),
21
+ controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:e,run:function(a){d.push(a);return this}};h&&e(h);return r})}})}function Oa(b){return b.replace(Uc,function(a,b,d,e){return e?d.toUpperCase():d}).replace(Vc,"Moz$1")}function vb(b,a,c,d){function e(b){var e=c&&b?[this.filter(b)]:[this],m=a,k,l,n,r,q,z;if(!d||null!=b)for(;e.length;)for(k=e.shift(),l=0,n=k.length;l<n;l++)for(r=x(k[l]),m?r.triggerHandler("$destroy"):m=!m,q=0,r=(z=r.children()).length;q<
22
+ r;q++)e.push(Ca(z[q]));return f.apply(this,arguments)}var f=Ca.fn[b],f=f.$original||f;e.$original=f;Ca.fn[b]=e}function L(b){if(b instanceof L)return b;if(!(this instanceof L)){if(D(b)&&"<"!=b.charAt(0))throw wb("nosel");return new L(b)}if(D(b)){var a=O.createElement("div");a.innerHTML="<div>&#160;</div>"+b;a.removeChild(a.firstChild);xb(this,a.childNodes);x(O.createDocumentFragment()).append(this)}else xb(this,b)}function yb(b){return b.cloneNode(!0)}function Pa(b){Zb(b);var a=0;for(b=b.childNodes||
23
+ [];a<b.length;a++)Pa(b[a])}function $b(b,a,c,d){if(C(d))throw wb("offargs");var e=la(b,"events");la(b,"handle")&&(y(a)?p(e,function(a,c){zb(b,c,a);delete e[c]}):p(a.split(" "),function(a){y(c)?(zb(b,a,e[a]),delete e[a]):Ka(e[a]||[],c)}))}function Zb(b,a){var c=b[cb],d=Qa[c];d&&(a?delete Qa[c].data[a]:(d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),$b(b)),delete Qa[c],b[cb]=s))}function la(b,a,c){var d=b[cb],d=Qa[d||-1];if(C(c))d||(b[cb]=d=++Wc,d=Qa[d]={}),d[a]=c;else return d&&d[a]}function ac(b,
24
+ a,c){var d=la(b,"data"),e=C(c),f=!e&&C(a),g=f&&!U(a);d||g||la(b,"data",d={});if(e)d[a]=c;else if(f){if(g)return d&&d[a];A(d,a)}else return d}function Ab(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" "):!1}function Bb(b,a){a&&b.setAttribute&&p(a.split(" "),function(a){b.setAttribute("class",aa((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+aa(a)+" "," ")))})}function Cb(b,a){if(a&&b.setAttribute){var c=(" "+
25
+ (b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");p(a.split(" "),function(a){a=aa(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});b.setAttribute("class",aa(c))}}function xb(b,a){if(a){a=a.nodeName||!C(a.length)||za(a)?[a]:a;for(var c=0;c<a.length;c++)b.push(a[c])}}function bc(b,a){return db(b,"$"+(a||"ngController")+"Controller")}function db(b,a,c){b=x(b);9==b[0].nodeType&&(b=b.find("html"));for(a=K(a)?a:[a];b.length;){for(var d=0,e=a.length;d<e;d++)if((c=b.data(a[d]))!==s)return c;b=b.parent()}}
26
+ function cc(b,a){var c=eb[a.toLowerCase()];return c&&dc[b.nodeName]&&c}function Xc(b,a){var c=function(c,e){c.preventDefault||(c.preventDefault=function(){c.returnValue=!1});c.stopPropagation||(c.stopPropagation=function(){c.cancelBubble=!0});c.target||(c.target=c.srcElement||O);if(y(c.defaultPrevented)){var f=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0;f.call(c)};c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented||!1===c.returnValue};p(a[e||c.type],
27
+ function(a){a.call(b,c)});8>=N?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};c.elem=b;return c}function Da(b){var a=typeof b,c;"object"==a&&null!==b?"function"==typeof(c=b.$$hashKey)?c=b.$$hashKey():c===s&&(c=b.$$hashKey=Xa()):c=b;return a+":"+c}function Ra(b){p(b,this.put,this)}function ec(b){var a,c;"function"==typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(Yc,""),c=c.match(Zc),
28
+ p(c[1].split($c),function(b){b.replace(ad,function(b,c,d){a.push(d)})})),b.$inject=a):K(b)?(c=b.length-1,Na(b[c],"fn"),a=b.slice(0,c)):Na(b,"fn",!0);return a}function Yb(b){function a(a){return function(b,c){if(U(b))p(b,Pb(a));else return a(b,c)}}function c(a,b){va(a,"service");if(E(b)||K(b))b=n.instantiate(b);if(!b.$get)throw Sa("pget",a);return l[a+h]=b}function d(a,b){return c(a,{$get:b})}function e(a){var b=[],c,d,f,h;p(a,function(a){if(!k.get(a)){k.put(a,!0);try{if(D(a))for(c=Ta(a),b=b.concat(e(c.requires)).concat(c._runBlocks),
29
+ d=c._invokeQueue,f=0,h=d.length;f<h;f++){var g=d[f],m=n.get(g[0]);m[g[1]].apply(m,g[2])}else E(a)?b.push(n.invoke(a)):K(a)?b.push(n.invoke(a)):Na(a,"module")}catch(l){throw K(a)&&(a=a[a.length-1]),l.message&&(l.stack&&-1==l.stack.indexOf(l.message))&&(l=l.message+"\n"+l.stack),Sa("modulerr",a,l.stack||l.message||l);}}});return b}function f(a,b){function c(d){if(a.hasOwnProperty(d)){if(a[d]===g)throw Sa("cdep",m.join(" <- "));return a[d]}try{return m.unshift(d),a[d]=g,a[d]=b(d)}finally{m.shift()}}
30
+ function d(a,b,e){var f=[],h=ec(a),g,k,l;k=0;for(g=h.length;k<g;k++){l=h[k];if("string"!==typeof l)throw Sa("itkn",l);f.push(e&&e.hasOwnProperty(l)?e[l]:c(l))}a.$inject||(a=a[g]);switch(b?-1:f.length){case 0:return a();case 1:return a(f[0]);case 2:return a(f[0],f[1]);case 3:return a(f[0],f[1],f[2]);case 4:return a(f[0],f[1],f[2],f[3]);case 5:return a(f[0],f[1],f[2],f[3],f[4]);case 6:return a(f[0],f[1],f[2],f[3],f[4],f[5]);case 7:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6]);case 8:return a(f[0],f[1],
31
+ f[2],f[3],f[4],f[5],f[6],f[7]);case 9:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8]);case 10:return a(f[0],f[1],f[2],f[3],f[4],f[5],f[6],f[7],f[8],f[9]);default:return a.apply(b,f)}}return{invoke:d,instantiate:function(a,b){var c=function(){},e;c.prototype=(K(a)?a[a.length-1]:a).prototype;c=new c;e=d(a,c,b);return U(e)||E(e)?e:c},get:c,annotate:ec,has:function(b){return l.hasOwnProperty(b+h)||a.hasOwnProperty(b)}}}var g={},h="Provider",m=[],k=new Ra,l={$provide:{provider:a(c),factory:a(d),
32
+ service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,ca(b))}),constant:a(function(a,b){va(a,"constant");l[a]=b;r[a]=b}),decorator:function(a,b){var c=n.get(a+h),d=c.$get;c.$get=function(){var a=q.invoke(d,c);return q.invoke(b,null,{$delegate:a})}}}},n=l.$injector=f(l,function(){throw Sa("unpr",m.join(" <- "));}),r={},q=r.$injector=f(r,function(a){a=n.get(a+h);return q.invoke(a.$get,a)});p(e(b),function(a){q.invoke(a||w)});return q}
33
+ function bd(){var b=!0;this.disableAutoScrolling=function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;p(a,function(a){b||"a"!==u(a.nodeName)||(b=a)});return b}function f(){var b=c.hash(),d;b?(d=g.getElementById(b))?d.scrollIntoView():(d=e(g.getElementsByName(b)))?d.scrollIntoView():"top"===b&&a.scrollTo(0,0):a.scrollTo(0,0)}var g=a.document;b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(f)});return f}]}function cd(b,a,c,d){function e(a){try{a.apply(null,
34
+ ta.call(arguments,1))}finally{if(z--,0===z)for(;J.length;)try{J.pop()()}catch(b){c.error(b)}}}function f(a,b){(function ia(){p(Q,function(a){a()});v=b(ia,a)})()}function g(){t=null;B!=h.url()&&(B=h.url(),p(ha,function(a){a(h.url())}))}var h=this,m=a[0],k=b.location,l=b.history,n=b.setTimeout,r=b.clearTimeout,q={};h.isMock=!1;var z=0,J=[];h.$$completeOutstandingRequest=e;h.$$incOutstandingRequestCount=function(){z++};h.notifyWhenNoOutstandingRequests=function(a){p(Q,function(a){a()});0===z?a():J.push(a)};
35
+ var Q=[],v;h.addPollFn=function(a){y(v)&&f(100,n);Q.push(a);return a};var B=k.href,G=a.find("base"),t=null;h.url=function(a,c){k!==b.location&&(k=b.location);if(a){if(B!=a)return B=a,d.history?c?l.replaceState(null,"",a):(l.pushState(null,"",a),G.attr("href",G.attr("href"))):(t=a,c?k.replace(a):k.href=a),h}else return t||k.href.replace(/%27/g,"'")};var ha=[],Z=!1;h.onUrlChange=function(a){if(!Z){if(d.history)x(b).on("popstate",g);if(d.hashchange)x(b).on("hashchange",g);else h.addPollFn(g);Z=!0}ha.push(a);
36
+ return a};h.baseHref=function(){var a=G.attr("href");return a?a.replace(/^https?\:\/\/[^\/]*/,""):""};var Y={},X="",ba=h.baseHref();h.cookies=function(a,b){var d,e,f,h;if(a)b===s?m.cookie=escape(a)+"=;path="+ba+";expires=Thu, 01 Jan 1970 00:00:00 GMT":D(b)&&(d=(m.cookie=escape(a)+"="+escape(b)+";path="+ba).length+1,4096<d&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"));else{if(m.cookie!==X)for(X=m.cookie,d=X.split("; "),Y={},f=0;f<d.length;f++)e=
37
+ d[f],h=e.indexOf("="),0<h&&(a=unescape(e.substring(0,h)),Y[a]===s&&(Y[a]=unescape(e.substring(h+1))));return Y}};h.defer=function(a,b){var c;z++;c=n(function(){delete q[c];e(a)},b||0);q[c]=!0;return c};h.defer.cancel=function(a){return q[a]?(delete q[a],r(a),e(w),!0):!1}}function dd(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new cd(b,d,a,c)}]}function ed(){this.$get=function(){function b(b,d){function e(a){a!=n&&(r?r==a&&(r=a.n):r=a,f(a.n,a.p),f(a,n),n=a,n.n=null)}
38
+ function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw F("$cacheFactory")("iid",b);var g=0,h=A({},d,{id:b}),m={},k=d&&d.capacity||Number.MAX_VALUE,l={},n=null,r=null;return a[b]={put:function(a,b){var c=l[a]||(l[a]={key:a});e(c);if(!y(b))return a in m||g++,m[a]=b,g>k&&this.remove(r.key),b},get:function(a){var b=l[a];if(b)return e(b),m[a]},remove:function(a){var b=l[a];b&&(b==n&&(n=b.p),b==r&&(r=b.n),f(b.n,b.p),delete l[a],delete m[a],g--)},removeAll:function(){m={};g=0;l={};n=r=null},destroy:function(){l=
39
+ h=m=null;delete a[b]},info:function(){return A({},h,{size:g})}}}var a={};b.info=function(){var b={};p(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function fd(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function gc(b){var a={},c="Directive",d=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,e=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,f=/^\s*(https?|ftp|mailto|tel|file):/,g=/^\s*(https?|ftp|file):|data:image\//,h=/^(on[a-z]+|formaction)$/;this.directive=function k(d,
40
+ e){va(d,"directive");D(d)?(sb(e,"directiveFactory"),a.hasOwnProperty(d)||(a[d]=[],b.factory(d+c,["$injector","$exceptionHandler",function(b,c){var e=[];p(a[d],function(a,f){try{var h=b.invoke(a);E(h)?h={compile:ca(h)}:!h.compile&&h.link&&(h.compile=ca(h.link));h.priority=h.priority||0;h.index=f;h.name=h.name||d;h.require=h.require||h.controller&&h.name;h.restrict=h.restrict||"A";e.push(h)}catch(g){c(g)}});return e}])),a[d].push(e)):p(d,Pb(k));return this};this.aHrefSanitizationWhitelist=function(a){return C(a)?
41
+ (f=a,this):f};this.imgSrcSanitizationWhitelist=function(a){return C(a)?(g=a,this):g};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate",function(b,l,n,r,q,z,J,Q,v,B,G){function t(a,b,c,d,e){a instanceof x||(a=x(a));p(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=x(b).wrap("<span></span>").parent()[0])});var f=Z(a,b,a,c,d,e);return function(b,c,d){sb(b,"scope");var e=c?Ea.clone.call(a):
42
+ a;p(d,function(a,b){e.data("$"+b+"Controller",a)});d=0;for(var h=e.length;d<h;d++){var g=e[d];1!=g.nodeType&&9!=g.nodeType||e.eq(d).data("$scope",b)}ha(e,"ng-scope");c&&c(e,b);f&&f(b,e,e);return e}}function ha(a,b){try{a.addClass(b)}catch(c){}}function Z(a,b,c,d,e,f){function h(a,c,d,e){var f,k,l,n,q,r,z,da=[];q=0;for(r=c.length;q<r;q++)da.push(c[q]);z=q=0;for(r=g.length;q<r;z++)k=da[z],c=g[q++],f=g[q++],l=x(k),c?(c.scope?(n=a.$new(),l.data("$scope",n),ha(l,"ng-scope")):n=a,(l=c.transclude)||!e&&
43
+ b?c(f,n,k,d,Y(a,l||b)):c(f,n,k,s,e)):f&&f(a,k.childNodes,s,e)}for(var g=[],k,l,n,q=0;q<a.length;q++)l=new Db,k=X(a[q],[],l,0===q?d:s,e),k=(f=k.length?wa(k,a[q],l,b,c,null,[],[],f):null)&&f.terminal||!a[q].childNodes||!a[q].childNodes.length?null:Z(a[q].childNodes,f?f.transclude:b),g.push(f),g.push(k),n=n||f||k,f=null;return n?h:null}function Y(a,b){return function(c,d,e){var f=!1;c||(c=a.$new(),f=c.$$transcluded=!0);d=b(c,d,e);if(f)d.on("$destroy",qb(c,c.$destroy));return d}}function X(a,b,c,f,h){var g=
44
+ c.$attr,k;switch(a.nodeType){case 1:ia(b,ma(Fa(a).toLowerCase()),"E",f,h);var l,n,q;k=a.attributes;for(var r=0,z=k&&k.length;r<z;r++){var t=!1,J=!1;l=k[r];if(!N||8<=N||l.specified){n=l.name;q=ma(n);Eb.test(q)&&(n=bb(q.substr(6),"-"));var B=q.replace(/(Start|End)$/,"");q===B+"Start"&&(t=n,J=n.substr(0,n.length-5)+"end",n=n.substr(0,n.length-6));q=ma(n.toLowerCase());g[q]=n;c[q]=l=aa(N&&"href"==n?decodeURIComponent(a.getAttribute(n,2)):l.value);cc(a,q)&&(c[q]=!0);L(a,b,l,q);ia(b,q,"A",f,h,t,J)}}a=a.className;
45
+ if(D(a)&&""!==a)for(;k=e.exec(a);)q=ma(k[2]),ia(b,q,"C",f,h)&&(c[q]=aa(k[3])),a=a.substr(k.index+k[0].length);break;case 3:u(b,a.nodeValue);break;case 8:try{if(k=d.exec(a.nodeValue))q=ma(k[1]),ia(b,q,"M",f,h)&&(c[q]=aa(k[2]))}catch(p){}}b.sort(w);return b}function ba(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ja("uterdir",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return x(d)}function P(a,
46
+ b,c){return function(d,e,f,h,g){e=ba(e[0],b,c);return a(d,e,f,h,g)}}function wa(a,b,c,d,e,f,h,g,k){function q(a,b,c,d){if(a){c&&(a=P(a,c,d));a.require=H.require;if(v===H||H.$$isolateScope)a=T(a,{isolateScope:!0});h.push(a)}if(b){c&&(b=P(b,c,d));b.require=H.require;if(v===H||H.$$isolateScope)b=T(b,{isolateScope:!0});g.push(b)}}function r(a,b,c){var d,e="data",f=!1;if(D(a)){for(;"^"==(d=a.charAt(0))||"?"==d;)a=a.substr(1),"^"==d&&(e="inheritedData"),f=f||"?"==d;d=null;c&&"data"===e&&(d=c[a]);d=d||b[e]("$"+
47
+ a+"Controller");if(!d&&!f)throw ja("ctreq",a,w);}else K(a)&&(d=[],p(a,function(a){d.push(r(a,b,c))}));return d}function B(a,d,e,f,k){function q(a,b){var c;2>arguments.length&&(b=a,a=s);ia&&(c=P);return k(a,b,c)}var t,da,Q,G,ba,I,P={},X;t=b===e?c:Pc(c,new Db(x(e),c.$attr));da=t.$$element;if(v){var S=/^\s*([@=&])(\??)\s*(\w*)\s*$/;f=x(e);I=d.$new(!0);Y&&Y===v.$$originalDirective?f.data("$isolateScope",I):f.data("$isolateScopeNoTemplate",I);ha(f,"ng-isolate-scope");p(v.scope,function(a,b){var c=a.match(S)||
48
+ [],e=c[3]||b,f="?"==c[2],c=c[1],h,k,g;I.$$isolateBindings[b]=c+e;switch(c){case "@":t.$observe(e,function(a){I[b]=a});t.$$observers[e].$$scope=d;t[e]&&(I[b]=l(t[e])(d));break;case "=":if(f&&!t[e])break;k=z(t[e]);g=k.assign||function(){h=I[b]=k(d);throw ja("nonassign",t[e],v.name);};h=I[b]=k(d);I.$watch(function(){var a=k(d);a!==I[b]&&(a!==h?h=I[b]=a:g(d,a=h=I[b]));return a});break;case "&":k=z(t[e]);I[b]=function(a){return k(d,a)};break;default:throw ja("iscp",v.name,b,a);}})}X=k&&q;Z&&p(Z,function(a){var b=
49
+ {$scope:a===v||a.$$isolateScope?I:d,$element:da,$attrs:t,$transclude:X},c;ba=a.controller;"@"==ba&&(ba=t[a.name]);c=J(ba,b);P[a.name]=c;ia||da.data("$"+a.name+"Controller",c);a.controllerAs&&(b.$scope[a.controllerAs]=c)});f=0;for(Q=h.length;f<Q;f++)try{G=h[f],G(G.isolateScope?I:d,da,t,G.require&&r(G.require,da,P),X)}catch(M){n(M,ga(da))}f=d;v&&(v.template||null===v.templateUrl)&&(f=I);a&&a(f,e.childNodes,s,k);for(f=g.length-1;0<=f;f--)try{G=g[f],G(G.isolateScope?I:d,da,t,G.require&&r(G.require,da,
50
+ P),X)}catch(wa){n(wa,ga(da))}}k=k||{};var Q=-Number.MAX_VALUE,G,Z=k.controllerDirectives,v=k.newIsolateScopeDirective,Y=k.templateDirective;k=k.nonTlbTranscludeDirective;for(var wa=!1,ia=!1,V=c.$$element=x(b),H,w,M,u=d,A,F=0,L=a.length;F<L;F++){H=a[F];var N=H.$$start,fb=H.$$end;N&&(V=ba(b,N,fb));M=s;if(Q>H.priority)break;if(M=H.scope)G=G||H,H.templateUrl||(y("new/isolated scope",v,H,V),U(M)&&(v=H));w=H.name;!H.templateUrl&&H.controller&&(M=H.controller,Z=Z||{},y("'"+w+"' controller",Z[w],H,V),Z[w]=
51
+ H);if(M=H.transclude)wa=!0,H.$$tlb||(y("transclusion",k,H,V),k=H),"element"==M?(ia=!0,Q=H.priority,M=ba(b,N,fb),V=c.$$element=x(O.createComment(" "+w+": "+c[w]+" ")),b=V[0],R(e,x(ta.call(M,0)),b),u=t(M,d,Q,f&&f.name,{nonTlbTranscludeDirective:k})):(M=x(yb(b)).contents(),V.html(""),u=t(M,d));if(H.template)if(y("template",Y,H,V),Y=H,M=E(H.template)?H.template(V,c):H.template,M=hc(M),H.replace){f=H;M=x("<div>"+aa(M)+"</div>").contents();b=M[0];if(1!=M.length||1!==b.nodeType)throw ja("tplrt",w,"");R(e,
52
+ V,b);L={$attr:{}};M=X(b,[],L);var Eb=a.splice(F+1,a.length-(F+1));v&&S(M);a=a.concat(M).concat(Eb);fc(c,L);L=a.length}else V.html(M);if(H.templateUrl)y("template",Y,H,V),Y=H,H.replace&&(f=H),B=C(a.splice(F,a.length-F),V,c,e,u,h,g,{controllerDirectives:Z,newIsolateScopeDirective:v,templateDirective:Y,nonTlbTranscludeDirective:k}),L=a.length;else if(H.compile)try{A=H.compile(V,c,u),E(A)?q(null,A,N,fb):A&&q(A.pre,A.post,N,fb)}catch(W){n(W,ga(V))}H.terminal&&(B.terminal=!0,Q=Math.max(Q,H.priority))}B.scope=
53
+ G&&!0===G.scope;B.transclude=wa&&u;return B}function S(a){for(var b=0,c=a.length;b<c;b++)a[b]=Rb(a[b],{$$isolateScope:!0})}function ia(d,e,f,h,g,l,q){if(e===g)return null;g=null;if(a.hasOwnProperty(e)){var r;e=b.get(e+c);for(var z=0,t=e.length;z<t;z++)try{r=e[z],(h===s||h>r.priority)&&-1!=r.restrict.indexOf(f)&&(l&&(r=Rb(r,{$$start:l,$$end:q})),d.push(r),g=r)}catch(J){n(J)}}return g}function fc(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;p(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&(d+=("style"===e?
54
+ ";":" ")+b[e]),a.$set(e,d,!0,c[e]))});p(b,function(b,f){"class"==f?(ha(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function C(a,b,c,d,e,f,h,k){var g=[],l,n,z=b[0],t=a.shift(),J=A({},t,{templateUrl:null,transclude:null,replace:null,$$originalDirective:t}),Q=E(t.templateUrl)?t.templateUrl(b,c):t.templateUrl;b.html("");r.get(B.getTrustedResourceUrl(Q),
55
+ {cache:q}).success(function(q){var r,B;q=hc(q);if(t.replace){q=x("<div>"+aa(q)+"</div>").contents();r=q[0];if(1!=q.length||1!==r.nodeType)throw ja("tplrt",t.name,Q);q={$attr:{}};R(d,b,r);var G=X(r,[],q);U(t.scope)&&S(G);a=G.concat(a);fc(c,q)}else r=z,b.html(q);a.unshift(J);l=wa(a,r,c,e,b,t,f,h,k);p(d,function(a,c){a==r&&(d[c]=b[0])});for(n=Z(b[0].childNodes,e);g.length;){q=g.shift();B=g.shift();var ha=g.shift(),v=g.shift(),G=b[0];B!==z&&(G=yb(r),R(ha,x(B),G));B=l.transclude?Y(q,l.transclude):v;l(n,
56
+ q,G,d,B)}g=null}).error(function(a,b,c,d){throw ja("tpload",d.url);});return function(a,b,c,d,e){g?(g.push(b),g.push(c),g.push(d),g.push(e)):l(n,b,c,d,e)}}function w(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function y(a,b,c,d){if(b)throw ja("multidir",b.name,c.name,a,ga(d));}function u(a,b){var c=l(b,!0);c&&a.push({priority:0,compile:ca(function(a,b){var d=b.parent(),e=d.data("$binding")||[];e.push(c);ha(d.data("$binding",e),"ng-binding");
57
+ a.$watch(c,function(a){b[0].nodeValue=a})})})}function F(a,b){if("xlinkHref"==b||"IMG"!=Fa(a)&&("src"==b||"ngSrc"==b))return B.RESOURCE_URL}function L(a,b,c,d){var e=l(c,!0);if(e){if("multiple"===d&&"SELECT"===Fa(a))throw ja("selmulti",ga(a));b.push({priority:100,compile:function(){return{pre:function(b,c,f){c=f.$$observers||(f.$$observers={});if(h.test(d))throw ja("nodomevents");if(e=l(f[d],!0,F(a,d)))f[d]=e(b),(c[d]||(c[d]=[])).$$inter=!0,(f.$$observers&&f.$$observers[d].$$scope||b).$watch(e,function(a){f.$set(d,
58
+ a)})}}}})}}function R(a,b,c){var d=b[0],e=b.length,f=d.parentNode,h,g;if(a)for(h=0,g=a.length;h<g;h++)if(a[h]==d){a[h++]=c;g=h+e-1;for(var k=a.length;h<k;h++,g++)g<k?a[h]=a[g]:delete a[h];a.length-=e-1;break}f&&f.replaceChild(c,d);a=O.createDocumentFragment();a.appendChild(d);c[x.expando]=d[x.expando];d=1;for(e=b.length;d<e;d++)f=b[d],x(f).remove(),a.appendChild(f),delete b[d];b[0]=c;b.length=1}function T(a,b){return A(function(){return a.apply(null,arguments)},a,b)}var Db=function(a,b){this.$$element=
59
+ a;this.$attr=b||{}};Db.prototype={$normalize:ma,$addClass:function(a){a&&0<a.length&&G.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&G.removeClass(this.$$element,a)},$set:function(a,b,c,d){function e(a,b){var c=[],d=a.split(/\s+/),f=b.split(/\s+/),h=0;a:for(;h<d.length;h++){for(var g=d[h],k=0;k<f.length;k++)if(g==f[k])continue a;c.push(g)}return c}if("class"==a)b=b||"",c=this.$$element.attr("class")||"",this.$removeClass(e(c,b).join(" ")),this.$addClass(e(b,c).join(" "));else{var h=
60
+ cc(this.$$element[0],a);h&&(this.$$element.prop(a,b),d=h);this[a]=b;d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=bb(a,"-"));h=Fa(this.$$element);if("A"===h&&"href"===a||"IMG"===h&&"src"===a)if(!N||8<=N)h=xa(b).href,""!==h&&("href"===a&&!h.match(f)||"src"===a&&!h.match(g))&&(this[a]=b="unsafe:"+h);!1!==c&&(null===b||b===s?this.$$element.removeAttr(d):this.$$element.attr(d,b))}(c=this.$$observers)&&p(c[a],function(a){try{a(b)}catch(c){n(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||
61
+ (c.$$observers={}),e=d[a]||(d[a]=[]);e.push(b);Q.$evalAsync(function(){e.$$inter||b(c[a])});return b}};var M=l.startSymbol(),V=l.endSymbol(),hc="{{"==M||"}}"==V?Aa:function(a){return a.replace(/\{\{/g,M).replace(/}}/g,V)},Eb=/^ngAttr[A-Z]/;return t}]}function ma(b){return Oa(b.replace(gd,""))}function hd(){var b={},a=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(a,d){va(a,"controller");U(a)?A(b,a):b[a]=d};this.$get=["$injector","$window",function(c,d){return function(e,f){var g,h,m;D(e)&&(g=e.match(a),
62
+ h=g[1],m=g[3],e=b.hasOwnProperty(h)?b[h]:tb(f.$scope,h,!0)||tb(d,h,!0),Na(e,h,!0));g=c.instantiate(e,f);if(m){if(!f||"object"!=typeof f.$scope)throw F("$controller")("noscp",h||e.name,m);f.$scope[m]=g}return g}}]}function id(){this.$get=["$window",function(b){return x(b.document)}]}function jd(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function ic(b){var a={},c,d,e;if(!b)return a;p(b.split("\n"),function(b){e=b.indexOf(":");c=u(aa(b.substr(0,e)));d=aa(b.substr(e+
63
+ 1));c&&(a[c]=a[c]?a[c]+(", "+d):d)});return a}function jc(b){var a=U(b)?b:s;return function(c){a||(a=ic(b));return c?a[u(c)]||null:a}}function kc(b,a,c){if(E(c))return c(b,a);p(c,function(c){b=c(b,a)});return b}function kd(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d={"Content-Type":"application/json;charset=utf-8"},e=this.defaults={transformResponse:[function(d){D(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=Tb(d)));return d}],transformRequest:[function(a){return U(a)&&"[object File]"!==
64
+ Ya.apply(a)?oa(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:d,put:d,patch:d},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},f=this.interceptors=[],g=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,d,n,r){function q(a){function c(a){var b=A({},a,{data:kc(a.data,a.headers,d.transformResponse)});return 200<=a.status&&300>a.status?b:n.reject(b)}var d={transformRequest:e.transformRequest,
65
+ transformResponse:e.transformResponse},f=function(a){function b(a){var c;p(a,function(b,d){E(b)&&(c=b(),null!=c?a[d]=c:delete a[d])})}var c=e.headers,d=A({},a.headers),f,h,c=A({},c.common,c[u(a.method)]);b(c);b(d);a:for(f in c){a=u(f);for(h in d)if(u(h)===a)continue a;d[f]=c[f]}return d}(a);A(d,a);d.headers=f;d.method=Ga(d.method);(a=Fb(d.url)?b.cookies()[d.xsrfCookieName||e.xsrfCookieName]:s)&&(f[d.xsrfHeaderName||e.xsrfHeaderName]=a);var h=[function(a){f=a.headers;var b=kc(a.data,jc(f),a.transformRequest);
66
+ y(a.data)&&p(f,function(a,b){"content-type"===u(b)&&delete f[b]});y(a.withCredentials)&&!y(e.withCredentials)&&(a.withCredentials=e.withCredentials);return z(a,b,f).then(c,c)},s],g=n.when(d);for(p(v,function(a){(a.request||a.requestError)&&h.unshift(a.request,a.requestError);(a.response||a.responseError)&&h.push(a.response,a.responseError)});h.length;){a=h.shift();var k=h.shift(),g=g.then(a,k)}g.success=function(a){g.then(function(b){a(b.data,b.status,b.headers,d)});return g};g.error=function(a){g.then(null,
67
+ function(b){a(b.data,b.status,b.headers,d)});return g};return g}function z(b,c,f){function g(a,b,c){p&&(200<=a&&300>a?p.put(s,[a,b,ic(c)]):p.remove(s));k(b,a,c);d.$$phase||d.$apply()}function k(a,c,d){c=Math.max(c,0);(200<=c&&300>c?r.resolve:r.reject)({data:a,status:c,headers:jc(d),config:b})}function m(){var a=$a(q.pendingRequests,b);-1!==a&&q.pendingRequests.splice(a,1)}var r=n.defer(),z=r.promise,p,v,s=J(b.url,b.params);q.pendingRequests.push(b);z.then(m,m);(b.cache||e.cache)&&(!1!==b.cache&&"GET"==
68
+ b.method)&&(p=U(b.cache)?b.cache:U(e.cache)?e.cache:Q);if(p)if(v=p.get(s),C(v)){if(v.then)return v.then(m,m),v;K(v)?k(v[1],v[0],fa(v[2])):k(v,200,{})}else p.put(s,z);y(v)&&a(b.method,s,c,g,f,b.timeout,b.withCredentials,b.responseType);return z}function J(a,b){if(!b)return a;var c=[];Mc(b,function(a,b){null===a||y(a)||(K(a)||(a=[a]),p(a,function(a){U(a)&&(a=oa(a));c.push(ua(b)+"="+ua(a))}))});return a+(-1==a.indexOf("?")?"?":"&")+c.join("&")}var Q=c("$http"),v=[];p(f,function(a){v.unshift(D(a)?r.get(a):
69
+ r.invoke(a))});p(g,function(a,b){var c=D(a)?r.get(a):r.invoke(a);v.splice(b,0,{response:function(a){return c(n.when(a))},responseError:function(a){return c(n.reject(a))}})});q.pendingRequests=[];(function(a){p(arguments,function(a){q[a]=function(b,c){return q(A(c||{},{method:a,url:b}))}})})("get","delete","head","jsonp");(function(a){p(arguments,function(a){q[a]=function(b,c,d){return q(A(d||{},{method:a,url:b,data:c}))}})})("post","put");q.defaults=e;return q}]}function ld(){this.$get=["$browser",
70
+ "$window","$document",function(b,a,c){return md(b,nd,b.defer,a.angular.callbacks,c[0],a.location.protocol.replace(":",""))}]}function md(b,a,c,d,e,f){function g(a,b){var c=e.createElement("script"),d=function(){e.body.removeChild(c);b&&b()};c.type="text/javascript";c.src=a;N?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=d;e.body.appendChild(c);return d}return function(e,m,k,l,n,r,q,z){function J(){v=-1;G&&G();t&&t.abort()}function Q(a,d,e,h){var g=f||
71
+ xa(m).protocol;s&&c.cancel(s);G=t=null;d="file"==g?e?200:404:d;a(1223==d?204:d,e,h);b.$$completeOutstandingRequest(w)}var v;b.$$incOutstandingRequestCount();m=m||b.url();if("jsonp"==u(e)){var B="_"+(d.counter++).toString(36);d[B]=function(a){d[B].data=a};var G=g(m.replace("JSON_CALLBACK","angular.callbacks."+B),function(){d[B].data?Q(l,200,d[B].data):Q(l,v||-2);delete d[B]})}else{var t=new a;t.open(e,m,!0);p(n,function(a,b){C(a)&&t.setRequestHeader(b,a)});t.onreadystatechange=function(){if(4==t.readyState){var a=
72
+ t.getAllResponseHeaders();Q(l,v||t.status,t.responseType?t.response:t.responseText,a)}};q&&(t.withCredentials=!0);z&&(t.responseType=z);t.send(k||null)}if(0<r)var s=c(J,r);else r&&r.then&&r.then(J)}}function od(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(b){return b?(a=b,this):a};this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(f,k,l){for(var n,r,q=0,z=[],J=f.length,p=!1,v=[];q<J;)-1!=(n=f.indexOf(b,q))&&-1!=(r=f.indexOf(a,
73
+ n+g))?(q!=n&&z.push(f.substring(q,n)),z.push(q=c(p=f.substring(n+g,r))),q.exp=p,q=r+h,p=!0):(q!=J&&z.push(f.substring(q)),q=J);(J=z.length)||(z.push(""),J=1);if(l&&1<z.length)throw lc("noconcat",f);if(!k||p)return v.length=J,q=function(a){try{for(var b=0,c=J,h;b<c;b++)"function"==typeof(h=z[b])&&(h=h(a),h=l?e.getTrusted(l,h):e.valueOf(h),null===h||y(h)?h="":"string"!=typeof h&&(h=oa(h))),v[b]=h;return v.join("")}catch(g){a=lc("interr",f,g.toString()),d(a)}},q.exp=f,q.parts=z,q}var g=b.length,h=a.length;
74
+ f.startSymbol=function(){return b};f.endSymbol=function(){return a};return f}]}function pd(){this.$get=["$rootScope","$window","$q",function(b,a,c){function d(d,g,h,m){var k=a.setInterval,l=a.clearInterval,n=c.defer(),r=n.promise,q=0,z=C(m)&&!m;h=C(h)?h:0;r.then(null,null,d);r.$$intervalId=k(function(){n.notify(q++);0<h&&q>=h&&(n.resolve(q),l(r.$$intervalId),delete e[r.$$intervalId]);z||b.$apply()},g);e[r.$$intervalId]=n;return r}var e={};d.cancel=function(a){return a&&a.$$intervalId in e?(e[a.$$intervalId].reject("canceled"),
75
+ clearInterval(a.$$intervalId),delete e[a.$$intervalId],!0):!1};return d}]}function qd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),
76
+ SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function mc(b){b=b.split("/");for(var a=b.length;a--;)b[a]=
77
+ rb(b[a]);return b.join("/")}function nc(b,a,c){b=xa(b,c);a.$$protocol=b.protocol;a.$$host=b.hostname;a.$$port=R(b.port)||rd[b.protocol]||null}function oc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b);b=xa(b,c);a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname);a.$$search=Vb(b.search);a.$$hash=decodeURIComponent(b.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function na(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ua(b){var a=
78
+ b.indexOf("#");return-1==a?b:b.substr(0,a)}function Gb(b){return b.substr(0,Ua(b).lastIndexOf("/")+1)}function pc(b,a){this.$$html5=!0;a=a||"";var c=Gb(b);nc(b,this,b);this.$$parse=function(a){var e=na(c,a);if(!D(e))throw Hb("ipthprfx",a,c);oc(e,this,b);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Wb(this.$$search),b=this.$$hash?"#"+rb(this.$$hash):"";this.$$url=mc(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$rewrite=function(d){var e;
79
+ if((e=na(b,d))!==s)return d=e,(e=na(a,e))!==s?c+(na("/",e)||e):b+d;if((e=na(c,d))!==s)return c+e;if(c==d+"/")return c}}function Ib(b,a){var c=Gb(b);nc(b,this,b);this.$$parse=function(d){var e=na(b,d)||na(c,d),e="#"==e.charAt(0)?na(a,e):this.$$html5?e:"";if(!D(e))throw Hb("ihshprfx",d,a);oc(e,this,b);this.$$compose()};this.$$compose=function(){var c=Wb(this.$$search),e=this.$$hash?"#"+rb(this.$$hash):"";this.$$url=mc(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$rewrite=
80
+ function(a){if(Ua(b)==Ua(a))return a}}function qc(b,a){this.$$html5=!0;Ib.apply(this,arguments);var c=Gb(b);this.$$rewrite=function(d){var e;if(b==Ua(d))return d;if(e=na(c,d))return b+a+e;if(c===d+"/")return c}}function gb(b){return function(){return this[b]}}function rc(b,a){return function(c){if(y(c))return this[b];this[b]=a(c);this.$$compose();return this}}function sd(){var b="",a=!1;this.hashPrefix=function(a){return C(a)?(b=a,this):b};this.html5Mode=function(b){return C(b)?(a=b,this):a};this.$get=
81
+ ["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function g(a){c.$broadcast("$locationChangeSuccess",h.absUrl(),a)}var h,m=d.baseHref(),k=d.url();a?(m=k.substring(0,k.indexOf("/",k.indexOf("//")+2))+(m||"/"),e=e.history?pc:qc):(m=Ua(k),e=Ib);h=new e(m,"#"+b);h.$$parse(h.$$rewrite(k));f.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=x(a.target);"a"!==u(b[0].nodeName);)if(b[0]===f[0]||!(b=b.parent())[0])return;var e=b.prop("href"),g=h.$$rewrite(e);e&&(!b.attr("target")&&
82
+ g&&!a.isDefaultPrevented())&&(a.preventDefault(),g!=d.url()&&(h.$$parse(g),c.$apply(),W.angular["ff-684208-preventDefault"]=!0))}});h.absUrl()!=k&&d.url(h.absUrl(),!0);d.onUrlChange(function(a){h.absUrl()!=a&&(c.$broadcast("$locationChangeStart",a,h.absUrl()).defaultPrevented?d.url(h.absUrl()):(c.$evalAsync(function(){var b=h.absUrl();h.$$parse(a);g(b)}),c.$$phase||c.$digest()))});var l=0;c.$watch(function(){var a=d.url(),b=h.$$replace;l&&a==h.absUrl()||(l++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",
83
+ h.absUrl(),a).defaultPrevented?h.$$parse(a):(d.url(h.absUrl(),b),g(a))}));h.$$replace=!1;return l});return h}]}function td(){var b=!0,a=this;this.debugEnabled=function(a){return C(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||w;return e.apply?function(){var a=
84
+ [];p(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function pa(b,a){if("constructor"===b)throw ya("isecfld",a);return b}function Va(b,a){if(b&&b.constructor===b)throw ya("isecfn",a);if(b&&b.document&&b.location&&b.alert&&b.setInterval)throw ya("isecwindow",a);if(b&&(b.nodeName||b.on&&b.find))throw ya("isecdom",
85
+ a);return b}function hb(b,a,c,d,e){e=e||{};a=a.split(".");for(var f,g=0;1<a.length;g++){f=pa(a.shift(),d);var h=b[f];h||(h={},b[f]=h);b=h;b.then&&e.unwrapPromises&&(qa(d),"$$v"in b||function(a){a.then(function(b){a.$$v=b})}(b),b.$$v===s&&(b.$$v={}),b=b.$$v)}f=pa(a.shift(),d);return b[f]=c}function sc(b,a,c,d,e,f,g){pa(b,f);pa(a,f);pa(c,f);pa(d,f);pa(e,f);return g.unwrapPromises?function(h,g){var k=g&&g.hasOwnProperty(b)?g:h,l;if(null===k||k===s)return k;(k=k[b])&&k.then&&(qa(f),"$$v"in k||(l=k,l.$$v=
86
+ s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!a||null===k||k===s)return k;(k=k[a])&&k.then&&(qa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!c||null===k||k===s)return k;(k=k[c])&&k.then&&(qa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!d||null===k||k===s)return k;(k=k[d])&&k.then&&(qa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v);if(!e||null===k||k===s)return k;(k=k[e])&&k.then&&(qa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=
87
+ a})),k=k.$$v);return k}:function(f,g){var k=g&&g.hasOwnProperty(b)?g:f;if(null===k||k===s)return k;k=k[b];if(!a||null===k||k===s)return k;k=k[a];if(!c||null===k||k===s)return k;k=k[c];if(!d||null===k||k===s)return k;k=k[d];return e&&null!==k&&k!==s?k=k[e]:k}}function tc(b,a,c){if(Jb.hasOwnProperty(b))return Jb[b];var d=b.split("."),e=d.length,f;if(a.csp)f=6>e?sc(d[0],d[1],d[2],d[3],d[4],c,a):function(b,f){var h=0,g;do g=sc(d[h++],d[h++],d[h++],d[h++],d[h++],c,a)(b,f),f=s,b=g;while(h<e);return g};
88
+ else{var g="var l, fn, p;\n";p(d,function(b,d){pa(b,c);g+="if(s === null || s === undefined) return s;\nl=s;\ns="+(d?"s":'((k&&k.hasOwnProperty("'+b+'"))?k:s)')+'["'+b+'"];\n'+(a.unwrapPromises?'if (s && s.then) {\n pw("'+c.replace(/\"/g,'\\"')+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n':"")});var g=g+"return s;",h=new Function("s","k","pw",g);h.toString=function(){return g};f=function(a,b){return h(a,b,qa)}}"hasOwnProperty"!==b&&(Jb[b]=
89
+ f);return f}function ud(){var b={},a={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(b){return C(b)?(a.unwrapPromises=!!b,this):a.unwrapPromises};this.logPromiseWarnings=function(b){return C(b)?(a.logPromiseWarnings=b,this):a.logPromiseWarnings};this.$get=["$filter","$sniffer","$log",function(c,d,e){a.csp=d.csp;qa=function(b){a.logPromiseWarnings&&!uc.hasOwnProperty(b)&&(uc[b]=!0,e.warn("[$parse] Promise found in the expression `"+b+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))};
90
+ return function(d){var e;switch(typeof d){case "string":if(b.hasOwnProperty(d))return b[d];e=new Kb(a);e=(new Wa(e,c,a)).parse(d,!1);"hasOwnProperty"!==d&&(b[d]=e);return e;case "function":return d;default:return w}}}]}function vd(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return wd(function(a){b.$evalAsync(a)},a)}]}function wd(b,a){function c(a){return a}function d(a){return g(a)}var e=function(){var h=[],m,k;return k={resolve:function(a){if(h){var c=h;h=s;m=f(a);c.length&&b(function(){for(var a,
91
+ b=0,d=c.length;b<d;b++)a=c[b],m.then(a[0],a[1],a[2])})}},reject:function(a){k.resolve(g(a))},notify:function(a){if(h){var c=h;h.length&&b(function(){for(var b,d=0,e=c.length;d<e;d++)b=c[d],b[2](a)})}},promise:{then:function(b,f,g){var k=e(),z=function(d){try{k.resolve((E(b)?b:c)(d))}catch(e){k.reject(e),a(e)}},J=function(b){try{k.resolve((E(f)?f:d)(b))}catch(c){k.reject(c),a(c)}},p=function(b){try{k.notify((E(g)?g:c)(b))}catch(d){a(d)}};h?h.push([z,J,p]):m.then(z,J,p);return k.promise},"catch":function(a){return this.then(null,
92
+ a)},"finally":function(a){function b(a,c){var d=e();c?d.resolve(a):d.reject(a);return d.promise}function d(e,f){var h=null;try{h=(a||c)()}catch(g){return b(g,!1)}return h&&E(h.then)?h.then(function(){return b(e,f)},function(a){return b(a,!1)}):b(e,f)}return this.then(function(a){return d(a,!0)},function(a){return d(a,!1)})}}}},f=function(a){return a&&E(a.then)?a:{then:function(c){var d=e();b(function(){d.resolve(c(a))});return d.promise}}},g=function(c){return{then:function(f,g){var l=e();b(function(){try{l.resolve((E(g)?
93
+ g:d)(c))}catch(b){l.reject(b),a(b)}});return l.promise}}};return{defer:e,reject:g,when:function(h,m,k,l){var n=e(),r,q=function(b){try{return(E(m)?m:c)(b)}catch(d){return a(d),g(d)}},z=function(b){try{return(E(k)?k:d)(b)}catch(c){return a(c),g(c)}},p=function(b){try{return(E(l)?l:c)(b)}catch(d){a(d)}};b(function(){f(h).then(function(a){r||(r=!0,n.resolve(f(a).then(q,z,p)))},function(a){r||(r=!0,n.resolve(z(a)))},function(a){r||n.notify(p(a))})});return n.promise},all:function(a){var b=e(),c=0,d=K(a)?
94
+ []:{};p(a,function(a,e){c++;f(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})});0===c&&b.resolve(d);return b.promise}}}function xd(){var b=10,a=F("$rootScope");this.digestTtl=function(a){arguments.length&&(b=a);return b};this.$get=["$injector","$exceptionHandler","$parse","$browser",function(c,d,e,f){function g(){this.$id=Xa();this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=
95
+ null;this["this"]=this.$root=this;this.$$destroyed=!1;this.$$asyncQueue=[];this.$$postDigestQueue=[];this.$$listeners={};this.$$isolateBindings={}}function h(b){if(l.$$phase)throw a("inprog",l.$$phase);l.$$phase=b}function m(a,b){var c=e(a);Na(c,b);return c}function k(){}g.prototype={constructor:g,$new:function(a){a?(a=new g,a.$root=this.$root,a.$$asyncQueue=this.$$asyncQueue,a.$$postDigestQueue=this.$$postDigestQueue):(a=function(){},a.prototype=this,a=new a,a.$id=Xa());a["this"]=a;a.$$listeners=
96
+ {};a.$parent=this;a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null;a.$$prevSibling=this.$$childTail;this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a;return a},$watch:function(a,b,c){var d=m(a,"watch"),e=this.$$watchers,f={fn:b,last:k,get:d,exp:a,eq:!!c};if(!E(b)){var h=m(b||w,"listener");f.fn=function(a,b,c){h(c)}}if("string"==typeof a&&d.constant){var g=f.fn;f.fn=function(a,b,c){g.call(this,a,b,c);Ka(e,f)}}e||(e=this.$$watchers=[]);
97
+ e.unshift(f);return function(){Ka(e,f)}},$watchCollection:function(a,b){var c=this,d,f,h=0,g=e(a),k=[],l={},m=0;return this.$watch(function(){f=g(c);var a,b;if(U(f))if(ob(f))for(d!==k&&(d=k,m=d.length=0,h++),a=f.length,m!==a&&(h++,d.length=m=a),b=0;b<a;b++)d[b]!==f[b]&&(h++,d[b]=f[b]);else{d!==l&&(d=l={},m=0,h++);a=0;for(b in f)f.hasOwnProperty(b)&&(a++,d.hasOwnProperty(b)?d[b]!==f[b]&&(h++,d[b]=f[b]):(m++,d[b]=f[b],h++));if(m>a)for(b in h++,d)d.hasOwnProperty(b)&&!f.hasOwnProperty(b)&&(m--,delete d[b])}else d!==
98
+ f&&(d=f,h++);return h},function(){b(f,d,c)})},$digest:function(){var c,e,f,g,m=this.$$asyncQueue,p=this.$$postDigestQueue,s,B,G=b,t,x=[],w,C,X;h("$digest");do{B=!1;for(t=this;m.length;)try{X=m.shift(),X.scope.$eval(X.expression)}catch(ba){d(ba)}do{if(g=t.$$watchers)for(s=g.length;s--;)try{(c=g[s])&&((e=c.get(t))!==(f=c.last)&&!(c.eq?Ba(e,f):"number"==typeof e&&"number"==typeof f&&isNaN(e)&&isNaN(f)))&&(B=!0,c.last=c.eq?fa(e):e,c.fn(e,f===k?e:f,t),5>G&&(w=4-G,x[w]||(x[w]=[]),C=E(c.exp)?"fn: "+(c.exp.name||
99
+ c.exp.toString()):c.exp,C+="; newVal: "+oa(e)+"; oldVal: "+oa(f),x[w].push(C)))}catch(P){d(P)}if(!(g=t.$$childHead||t!==this&&t.$$nextSibling))for(;t!==this&&!(g=t.$$nextSibling);)t=t.$parent}while(t=g);if(B&&!G--)throw l.$$phase=null,a("infdig",b,oa(x));}while(B||m.length);for(l.$$phase=null;p.length;)try{p.shift()()}catch(y){d(y)}},$destroy:function(){if(l!=this&&!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);
100
+ a.$$childTail==this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null}},$eval:function(a,b){return e(a)(this,b)},$evalAsync:function(a){l.$$phase||l.$$asyncQueue.length||f.defer(function(){l.$$asyncQueue.length&&l.$digest()});this.$$asyncQueue.push({scope:this,expression:a})},
101
+ $$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return h("$apply"),this.$eval(a)}catch(b){d(b)}finally{l.$$phase=null;try{l.$digest()}catch(c){throw d(c),c;}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);return function(){c[$a(c,b)]=null}},$emit:function(a,b){var c=[],e,f=this,h=!1,g={name:a,targetScope:f,stopPropagation:function(){h=!0},preventDefault:function(){g.defaultPrevented=!0},defaultPrevented:!1},k=[g].concat(ta.call(arguments,
102
+ 1)),l,m;do{e=f.$$listeners[a]||c;g.currentScope=f;l=0;for(m=e.length;l<m;l++)if(e[l])try{e[l].apply(null,k)}catch(p){d(p)}else e.splice(l,1),l--,m--;if(h)break;f=f.$parent}while(f);return g},$broadcast:function(a,b){var c=this,e=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},h=[f].concat(ta.call(arguments,1)),g,k;do{c=e;f.currentScope=c;e=c.$$listeners[a]||[];g=0;for(k=e.length;g<k;g++)if(e[g])try{e[g].apply(null,h)}catch(l){d(l)}else e.splice(g,
103
+ 1),g--,k--;if(!(e=c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(e=c.$$nextSibling);)c=c.$parent}while(c=e);return f}};var l=new g;return l}]}function yd(b){if("self"===b)return b;if(D(b)){if(-1<b.indexOf("***"))throw ra("iwcard",b);b=b.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08").replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*");return RegExp("^"+b+"$")}if(Za(b))return RegExp("^"+b.source+"$");throw ra("imatcher");}function vc(b){var a=[];C(b)&&p(b,function(b){a.push(yd(b))});
104
+ return a}function zd(){this.SCE_CONTEXTS=ea;var b=["self"],a=[];this.resourceUrlWhitelist=function(a){arguments.length&&(b=vc(a));return b};this.resourceUrlBlacklist=function(b){arguments.length&&(a=vc(b));return a};this.$get=["$log","$document","$injector",function(c,d,e){function f(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};
105
+ return b}var g=function(a){throw ra("unsafe");};e.has("$sanitize")&&(g=e.get("$sanitize"));var h=f(),m={};m[ea.HTML]=f(h);m[ea.CSS]=f(h);m[ea.URL]=f(h);m[ea.JS]=f(h);m[ea.RESOURCE_URL]=f(m[ea.URL]);return{trustAs:function(a,b){var c=m.hasOwnProperty(a)?m[a]:null;if(!c)throw ra("icontext",a,b);if(null===b||b===s||""===b)return b;if("string"!==typeof b)throw ra("itype",a);return new c(b)},getTrusted:function(c,d){if(null===d||d===s||""===d)return d;var e=m.hasOwnProperty(c)?m[c]:null;if(e&&d instanceof
106
+ e)return d.$$unwrapTrustedValue();if(c===ea.RESOURCE_URL){var e=xa(d.toString()),f,h,p=!1;f=0;for(h=b.length;f<h;f++)if("self"===b[f]?Fb(e):b[f].exec(e.href)){p=!0;break}if(p)for(f=0,h=a.length;f<h;f++)if("self"===a[f]?Fb(e):a[f].exec(e.href)){p=!1;break}if(p)return d;throw ra("insecurl",d.toString());}if(c===ea.HTML)return g(d);throw ra("unsafe");},valueOf:function(a){return a instanceof h?a.$$unwrapTrustedValue():a}}}]}function Ad(){var b=!0;this.enabled=function(a){arguments.length&&(b=!!a);return b};
107
+ this.$get=["$parse","$document","$sceDelegate",function(a,c,d){if(b&&N&&(c=c[0].documentMode,c!==s&&8>c))throw ra("iequirks");var e=fa(ea);e.isEnabled=function(){return b};e.trustAs=d.trustAs;e.getTrusted=d.getTrusted;e.valueOf=d.valueOf;b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=Aa);e.parseAs=function(b,c){var d=a(c);return d.literal&&d.constant?d:function(a,c){return e.getTrusted(b,d(a,c))}};var f=e.parseAs,g=e.getTrusted,h=e.trustAs;p(ea,function(a,b){var c=u(b);e[Oa("parse_as_"+
108
+ c)]=function(b){return f(a,b)};e[Oa("get_trusted_"+c)]=function(b){return g(a,b)};e[Oa("trust_as_"+c)]=function(b){return h(a,b)}});return e}]}function Bd(){this.$get=["$window","$document",function(b,a){var c={},d=R((/android (\d+)/.exec(u((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},g,h=/^(Moz|webkit|O|ms)(?=[A-Z])/,m=f.body&&f.body.style,k=!1,l=!1;if(m){for(var n in m)if(k=h.exec(n)){g=k[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g=
109
+ "WebkitOpacity"in m&&"webkit");k=!!("transition"in m||g+"Transition"in m);l=!!("animation"in m||g+"Animation"in m);!d||k&&l||(k=D(f.body.style.webkitTransition),l=D(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:"onhashchange"in b&&(!f.documentMode||7<f.documentMode),hasEvent:function(a){if("input"==a&&9==N)return!1;if(y(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Sb(),vendorPrefix:g,transitions:k,animations:l,msie:N}}]}
110
+ function Cd(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(b,a,c,d){function e(e,h,m){var k=c.defer(),l=k.promise,n=C(m)&&!m;h=a.defer(function(){try{k.resolve(e())}catch(a){k.reject(a),d(a)}finally{delete f[l.$$timeoutId]}n||b.$apply()},h);l.$$timeoutId=h;f[h]=k;return l}var f={};e.cancel=function(b){return b&&b.$$timeoutId in f?(f[b.$$timeoutId].reject("canceled"),delete f[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):!1};return e}]}function xa(b,a){var c=b;N&&($.setAttribute("href",
111
+ c),c=$.href);$.setAttribute("href",c);var c=$.pathname,d=b;0===d.indexOf(a)&&(d=d.replace(a,""));wc.exec(d)||(c=(d=wc.exec(c))?d[1]:c);c="/"===c.charAt(0)?c:"/"+c;return{href:$.href,protocol:$.protocol?$.protocol.replace(/:$/,""):"",host:$.host,search:$.search?$.search.replace(/^\?/,""):"",hash:$.hash?$.hash.replace(/^#/,""):"",hostname:$.hostname,port:$.port,pathname:c}}function Fb(b){b=D(b)?xa(b):b;return b.protocol===xc.protocol&&b.host===xc.host}function Dd(){this.$get=ca(W)}function yc(b){function a(d,
112
+ e){if(U(d)){var f={};p(d,function(b,c){f[c]=a(c,b)});return f}return b.factory(d+c,e)}var c="Filter";this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}];a("currency",zc);a("date",Ac);a("filter",Ed);a("json",Fd);a("limitTo",Gd);a("lowercase",Hd);a("number",Bc);a("orderBy",Cc);a("uppercase",Id)}function Ed(){return function(b,a,c){if(!K(b))return b;var d=typeof c,e=[];e.check=function(a){for(var b=0;b<e.length;b++)if(!e[b](a))return!1;return!0};"function"!==d&&
113
+ (c="boolean"===d&&c?function(a,b){return ab.equals(a,b)}:function(a,b){b=(""+b).toLowerCase();return-1<(""+a).toLowerCase().indexOf(b)});var f=function(a,b){if("string"==typeof b&&"!"===b.charAt(0))return!f(a,b.substr(1));switch(typeof a){case "boolean":case "number":case "string":return c(a,b);case "object":switch(typeof b){case "object":return c(a,b);default:for(var d in a)if("$"!==d.charAt(0)&&f(a[d],b))return!0}return!1;case "array":for(d=0;d<a.length;d++)if(f(a[d],b))return!0;return!1;default:return!1}};
114
+ switch(typeof a){case "boolean":case "number":case "string":a={$:a};case "object":for(var g in a)"$"==g?function(){if(a[g]){var b=g;e.push(function(c){return f(c,a[b])})}}():function(){if("undefined"!=typeof a[g]){var b=g;e.push(function(c){return f(tb(c,b),a[b])})}}();break;case "function":e.push(a);break;default:return b}for(var d=[],h=0;h<b.length;h++){var m=b[h];e.check(m)&&d.push(m)}return d}}function zc(b){var a=b.NUMBER_FORMATS;return function(b,d){y(d)&&(d=a.CURRENCY_SYM);return Dc(b,a.PATTERNS[1],
115
+ a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Bc(b){var a=b.NUMBER_FORMATS;return function(b,d){return Dc(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Dc(b,a,c,d,e){if(isNaN(b)||!isFinite(b))return"";var f=0>b;b=Math.abs(b);var g=b+"",h="",m=[],k=!1;if(-1!==g.indexOf("e")){var l=g.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>e+1?g="0":(h=g,k=!0)}if(k)0<e&&(-1<b&&1>b)&&(h=b.toFixed(e));else{g=(g.split(Ec)[1]||"").length;y(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));
116
+ g=Math.pow(10,e);b=Math.round(b*g)/g;b=(""+b).split(Ec);g=b[0];b=b[1]||"";var l=0,n=a.lgSize,r=a.gSize;if(g.length>=n+r)for(l=g.length-n,k=0;k<l;k++)0===(l-k)%r&&0!==k&&(h+=c),h+=g.charAt(k);for(k=l;k<g.length;k++)0===(g.length-k)%n&&0!==k&&(h+=c),h+=g.charAt(k);for(;b.length<e;)b+="0";e&&"0"!==e&&(h+=d+b.substr(0,e))}m.push(f?a.negPre:a.posPre);m.push(h);m.push(f?a.negSuf:a.posSuf);return m.join("")}function Lb(b,a,c){var d="";0>b&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-
117
+ a));return d+b}function T(b,a,c,d){c=c||0;return function(e){e=e["get"+b]();if(0<c||e>-c)e+=c;0===e&&-12==c&&(e=12);return Lb(e,a,d)}}function ib(b,a){return function(c,d){var e=c["get"+b](),f=Ga(a?"SHORT"+b:b);return d[f][e]}}function Ac(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,m=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=R(b[9]+b[10]),g=R(b[9]+b[11]));h.call(a,R(b[1]),R(b[2])-1,R(b[3]));f=R(b[4]||0)-f;g=R(b[5]||0)-g;h=R(b[6]||0);b=Math.round(1E3*
118
+ parseFloat("0."+(b[7]||0)));m.call(a,f,g,h,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e){var f="",g=[],h,m;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;D(c)&&(c=Jd.test(c)?R(c):a(c));pb(c)&&(c=new Date(c));if(!Ja(c))return c;for(;e;)(m=Kd.exec(e))?(g=g.concat(ta.call(m,1)),e=g.pop()):(g.push(e),e=null);p(g,function(a){h=Ld[a];f+=h?h(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return f}}
119
+ function Fd(){return function(b){return oa(b,!0)}}function Gd(){return function(b,a){if(!K(b)&&!D(b))return b;a=R(a);if(D(b))return a?0<=a?b.slice(0,a):b.slice(a,b.length):"";var c=[],d,e;a>b.length?a=b.length:a<-b.length&&(a=-b.length);0<a?(d=0,e=a):(d=b.length+a,e=b.length);for(;d<e;d++)c.push(b[d]);return c}}function Cc(b){return function(a,c,d){function e(a,b){return Ma(b)?function(b,c){return a(c,b)}:a}if(!K(a)||!c)return a;c=K(c)?c:[c];c=Oc(c,function(a){var c=!1,d=a||Aa;if(D(a)){if("+"==a.charAt(0)||
120
+ "-"==a.charAt(0))c="-"==a.charAt(0),a=a.substring(1);d=b(a)}return e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,g=typeof e;f==g?("string"==f&&(c=c.toLowerCase(),e=e.toLowerCase()),c=c===e?0:c<e?-1:1):c=f<g?-1:1;return c},c)});for(var f=[],g=0;g<a.length;g++)f.push(a[g]);return f.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(0!==e)return e}return 0},d))}}function sa(b){E(b)&&(b={link:b});b.restrict=b.restrict||"AC";return ca(b)}function Fc(b,a){function c(a,c){c=c?"-"+bb(c,
121
+ "-"):"";b.removeClass((a?jb:kb)+c).addClass((a?kb:jb)+c)}var d=this,e=b.parent().controller("form")||lb,f=0,g=d.$error={},h=[];d.$name=a.name||a.ngForm;d.$dirty=!1;d.$pristine=!0;d.$valid=!0;d.$invalid=!1;e.$addControl(d);b.addClass(Ha);c(!0);d.$addControl=function(a){va(a.$name,"input");h.push(a);a.$name&&(d[a.$name]=a)};d.$removeControl=function(a){a.$name&&d[a.$name]===a&&delete d[a.$name];p(g,function(b,c){d.$setValidity(c,!0,a)});Ka(h,a)};d.$setValidity=function(a,b,h){var n=g[a];if(b)n&&(Ka(n,
122
+ h),n.length||(f--,f||(c(b),d.$valid=!0,d.$invalid=!1),g[a]=!1,c(!0,a),e.$setValidity(a,!0,d)));else{f||c(b);if(n){if(-1!=$a(n,h))return}else g[a]=n=[],f++,c(!1,a),e.$setValidity(a,!1,d);n.push(h);d.$valid=!1;d.$invalid=!0}};d.$setDirty=function(){b.removeClass(Ha).addClass(mb);d.$dirty=!0;d.$pristine=!1;e.$setDirty()};d.$setPristine=function(){b.removeClass(mb).addClass(Ha);d.$dirty=!1;d.$pristine=!0;p(h,function(a){a.$setPristine()})}}function nb(b,a,c,d,e,f){var g=function(){var e=a.val();Ma(c.ngTrim||
123
+ "T")&&(e=aa(e));d.$viewValue!==e&&b.$apply(function(){d.$setViewValue(e)})};if(e.hasEvent("input"))a.on("input",g);else{var h,m=function(){h||(h=f.defer(function(){g();h=null}))};a.on("keydown",function(a){a=a.keyCode;91===a||(15<a&&19>a||37<=a&&40>=a)||m()});a.on("change",g);if(e.hasEvent("paste"))a.on("paste cut",m)}d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)};var k=c.ngPattern,l=function(a,b){if(d.$isEmpty(b)||a.test(b))return d.$setValidity("pattern",!0),b;d.$setValidity("pattern",
124
+ !1);return s};k&&((e=k.match(/^\/(.*)\/([gim]*)$/))?(k=RegExp(e[1],e[2]),e=function(a){return l(k,a)}):e=function(c){var d=b.$eval(k);if(!d||!d.test)throw F("ngPattern")("noregexp",k,d,ga(a));return l(d,c)},d.$formatters.push(e),d.$parsers.push(e));if(c.ngMinlength){var n=R(c.ngMinlength);e=function(a){if(!d.$isEmpty(a)&&a.length<n)return d.$setValidity("minlength",!1),s;d.$setValidity("minlength",!0);return a};d.$parsers.push(e);d.$formatters.push(e)}if(c.ngMaxlength){var r=R(c.ngMaxlength);e=function(a){if(!d.$isEmpty(a)&&
125
+ a.length>r)return d.$setValidity("maxlength",!1),s;d.$setValidity("maxlength",!0);return a};d.$parsers.push(e);d.$formatters.push(e)}}function Mb(b,a){b="ngClass"+b;return function(){return{restrict:"AC",link:function(c,d,e){function f(b){if(!0===a||c.$index%2===a)h&&!Ba(b,h)&&e.$removeClass(g(h)),e.$addClass(g(b));h=fa(b)}function g(a){if(K(a))return a.join(" ");if(U(a)){var b=[];p(a,function(a,c){a&&b.push(c)});return b.join(" ")}return a}var h;c.$watch(e[b],f,!0);e.$observe("class",function(a){f(c.$eval(e[b]))});
126
+ "ngClass"!==b&&c.$watch("$index",function(d,f){var h=d&1;h!==f&1&&(h===a?(h=c.$eval(e[b]),e.$addClass(g(h))):(h=c.$eval(e[b]),e.$removeClass(g(h))))})}}}}var u=function(b){return D(b)?b.toLowerCase():b},Ga=function(b){return D(b)?b.toUpperCase():b},N,x,Ca,ta=[].slice,Md=[].push,Ya=Object.prototype.toString,La=F("ng"),ab=W.angular||(W.angular={}),Ta,Fa,ka=["0","0","0"];N=R((/msie (\d+)/.exec(u(navigator.userAgent))||[])[1]);isNaN(N)&&(N=R((/trident\/.*; rv:(\d+)/.exec(u(navigator.userAgent))||[])[1]));
127
+ w.$inject=[];Aa.$inject=[];var aa=function(){return String.prototype.trim?function(b){return D(b)?b.trim():b}:function(b){return D(b)?b.replace(/^\s*/,"").replace(/\s*$/,""):b}}();Fa=9>N?function(b){b=b.nodeName?b:b[0];return b.scopeName&&"HTML"!=b.scopeName?Ga(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var Sc=/[A-Z]/g,Nd={full:"1.2.1",major:1,minor:2,dot:1,codeName:"underscore-empathy"},Qa=L.cache={},cb=L.expando="ng-"+(new Date).getTime(),Wc=
128
+ 1,Gc=W.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},zb=W.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)},Uc=/([\:\-\_]+(.))/g,Vc=/^moz([A-Z])/,wb=F("jqLite"),Ea=L.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===O.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),L(W).on("load",a))},toString:function(){var b=[];p(this,function(a){b.push(""+
129
+ a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?x(this[b]):x(this[this.length+b])},length:0,push:Md,sort:[].sort,splice:[].splice},eb={};p("multiple selected checked disabled readOnly required open".split(" "),function(b){eb[u(b)]=b});var dc={};p("input select option textarea button form details".split(" "),function(b){dc[Ga(b)]=!0});p({data:ac,inheritedData:db,scope:function(b){return x(b).data("$scope")||db(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return x(b).data("$isolateScope")||
130
+ x(b).data("$isolateScopeNoTemplate")},controller:bc,injector:function(b){return db(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Ab,css:function(b,a,c){a=Oa(a);if(C(c))b.style[a]=c;else{var d;8>=N&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto"));d=d||b.style[a];8>=N&&(d=""===d?s:d);return d}},attr:function(b,a,c){var d=u(a);if(eb[d])if(C(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||w).specified?
131
+ d:s;else if(C(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?s:b},prop:function(b,a,c){if(C(c))b[a]=c;else return b[a]},text:function(){function b(b,d){var e=a[b.nodeType];if(y(d))return e?b[e]:"";b[e]=d}var a=[];9>N?(a[1]="innerText",a[3]="nodeValue"):a[1]=a[3]="textContent";b.$dv="";return b}(),val:function(b,a){if(y(a)){if("SELECT"===Fa(b)&&b.multiple){var c=[];p(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=
132
+ a},html:function(b,a){if(y(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)Pa(d[c]);b.innerHTML=a}},function(b,a){L.prototype[a]=function(a,d){var e,f;if((2==b.length&&b!==Ab&&b!==bc?a:d)===s){if(U(a)){for(e=0;e<this.length;e++)if(b===ac)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}e=b.$dv;f=e===s?Math.min(this.length,1):this.length;for(var g=0;g<f;g++){var h=b(this[g],a,d);e=e?e+h:h}return e}for(e=0;e<this.length;e++)b(this[e],a,d);return this}});p({removeData:Zb,dealoc:Pa,
133
+ on:function a(c,d,e,f){if(C(f))throw wb("onargs");var g=la(c,"events"),h=la(c,"handle");g||la(c,"events",g={});h||la(c,"handle",h=Xc(c,g));p(d.split(" "),function(d){var f=g[d];if(!f){if("mouseenter"==d||"mouseleave"==d){var l=O.body.contains||O.body.compareDocumentPosition?function(a,c){var d=9===a.nodeType?a.documentElement:a,e=c&&c.parentNode;return a===e||!!(e&&1===e.nodeType&&(d.contains?d.contains(e):a.compareDocumentPosition&&a.compareDocumentPosition(e)&16))}:function(a,c){if(c)for(;c=c.parentNode;)if(c===
134
+ a)return!0;return!1};g[d]=[];a(c,{mouseleave:"mouseout",mouseenter:"mouseover"}[d],function(a){var c=a.relatedTarget;c&&(c===this||l(this,c))||h(a,d)})}else Gc(c,d,h),g[d]=[];f=g[d]}f.push(e)})},off:$b,replaceWith:function(a,c){var d,e=a.parentNode;Pa(a);p(new L(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];p(a.childNodes,function(a){1===a.nodeType&&c.push(a)});return c},contents:function(a){return a.childNodes||[]},append:function(a,c){p(new L(c),
135
+ function(c){1!==a.nodeType&&11!==a.nodeType||a.appendChild(c)})},prepend:function(a,c){if(1===a.nodeType){var d=a.firstChild;p(new L(c),function(c){a.insertBefore(c,d)})}},wrap:function(a,c){c=x(c)[0];var d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:function(a){Pa(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;p(new L(c),function(a){e.insertBefore(a,d.nextSibling);d=a})},addClass:Cb,removeClass:Bb,toggleClass:function(a,c,d){y(d)&&(d=!Ab(a,
136
+ c));(d?Cb:Bb)(a,c)},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;for(a=a.nextSibling;null!=a&&1!==a.nodeType;)a=a.nextSibling;return a},find:function(a,c){return a.getElementsByTagName(c)},clone:yb,triggerHandler:function(a,c,d){c=(la(a,"events")||{})[c];d=d||[];var e=[{preventDefault:w,stopPropagation:w}];p(c,function(c){c.apply(a,e.concat(d))})}},function(a,c){L.prototype[c]=function(c,e,f){for(var g,h=0;h<
137
+ this.length;h++)y(g)?(g=a(this[h],c,e,f),C(g)&&(g=x(g))):xb(g,a(this[h],c,e,f));return C(g)?g:this};L.prototype.bind=L.prototype.on;L.prototype.unbind=L.prototype.off});Ra.prototype={put:function(a,c){this[Da(a)]=c},get:function(a){return this[Da(a)]},remove:function(a){var c=this[a=Da(a)];delete this[a];return c}};var Zc=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,$c=/,/,ad=/^\s*(_?)(\S+?)\1\s*$/,Yc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Sa=F("$injector"),Od=F("$animate"),Pd=["$provide",function(a){this.$$selectors=
138
+ {};this.register=function(c,d){var e=c+"-animation";if(c&&"."!=c.charAt(0))throw Od("notcsel",c);this.$$selectors[c.substr(1)]=e;a.factory(e,d)};this.$get=["$timeout",function(a){return{enter:function(d,e,f,g){f=f&&f[f.length-1];var h=e&&e[0]||f&&f.parentNode,m=f&&f.nextSibling||null;p(d,function(a){h.insertBefore(a,m)});g&&a(g,0,!1)},leave:function(d,e){d.remove();e&&a(e,0,!1)},move:function(a,c,f,g){this.enter(a,c,f,g)},addClass:function(d,e,f){e=D(e)?e:K(e)?e.join(" "):"";p(d,function(a){Cb(a,
139
+ e)});f&&a(f,0,!1)},removeClass:function(d,e,f){e=D(e)?e:K(e)?e.join(" "):"";p(d,function(a){Bb(a,e)});f&&a(f,0,!1)},enabled:w}}]}],ja=F("$compile");gc.$inject=["$provide"];var gd=/^(x[\:\-_]|data[\:\-_])/i,nd=W.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(c){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(d){}throw F("$httpBackend")("noxhr");},lc=F("$interpolate"),Qd=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,
140
+ rd={http:80,https:443,ftp:21},Hb=F("$location");qc.prototype=Ib.prototype=pc.prototype={$$html5:!1,$$replace:!1,absUrl:gb("$$absUrl"),url:function(a,c){if(y(a))return this.$$url;var d=Qd.exec(a);d[1]&&this.path(decodeURIComponent(d[1]));(d[2]||d[1])&&this.search(d[3]||"");this.hash(d[5]||"",c);return this},protocol:gb("$$protocol"),host:gb("$$host"),port:gb("$$port"),path:rc("$$path",function(a){return"/"==a.charAt(0)?a:"/"+a}),search:function(a,c){switch(arguments.length){case 0:return this.$$search;
141
+ case 1:if(D(a))this.$$search=Vb(a);else if(U(a))this.$$search=a;else throw Hb("isrcharg");break;default:y(c)||null===c?delete this.$$search[a]:this.$$search[a]=c}this.$$compose();return this},hash:rc("$$hash",Aa),replace:function(){this.$$replace=!0;return this}};var ya=F("$parse"),uc={},qa,Ia={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:w,"+":function(a,c,d,e){d=d(a,c);e=e(a,c);return C(d)?C(e)?d+e:d:C(e)?e:s},"-":function(a,c,d,e){d=d(a,c);e=
142
+ e(a,c);return(C(d)?d:0)-(C(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^e(a,c)},"=":w,"===":function(a,c,d,e){return d(a,c)===e(a,c)},"!==":function(a,c,d,e){return d(a,c)!==e(a,c)},"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,
143
+ c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},Rd={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},Kb=function(a){this.options=a};Kb.prototype={constructor:Kb,lex:function(a){this.text=a;this.index=0;this.ch=s;this.lastCh=":";this.tokens=[];var c;
144
+ for(a=[];this.index<this.text.length;){this.ch=this.text.charAt(this.index);if(this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent(),this.was("{,")&&("{"===a[0]&&(c=this.tokens[this.tokens.length-1]))&&(c.json=-1===c.text.indexOf("."));else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch,json:this.was(":[,")&&this.is("{[")||this.is("}]:,")}),this.is("{[")&&
145
+ a.unshift(this.ch),this.is("}]")&&a.shift(),this.index++;else if(this.isWhitespace(this.ch)){this.index++;continue}else{var d=this.ch+this.peek(),e=d+this.peek(2),f=Ia[this.ch],g=Ia[d],h=Ia[e];h?(this.tokens.push({index:this.index,text:e,fn:h}),this.index+=3):g?(this.tokens.push({index:this.index,text:d,fn:g}),this.index+=2):f?(this.tokens.push({index:this.index,text:this.ch,fn:f,json:this.was("[,:")&&this.is("+-")}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+
146
+ 1)}this.lastCh=this.ch}return this.tokens},is:function(a){return-1!==a.indexOf(this.ch)},was:function(a){return-1!==a.indexOf(this.lastCh)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},
147
+ throwError:function(a,c,d){d=d||this.index;c=C(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw ya("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index<this.text.length;){var d=u(this.text.charAt(this.index));if("."==d||this.isNumber(d))a+=d;else{var e=this.peek();if("e"==d&&this.isExpOperator(e))a+=d;else if(this.isExpOperator(d)&&e&&this.isNumber(e)&&"e"==a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||e&&this.isNumber(e)||"e"!=a.charAt(a.length-
148
+ 1))break;else this.throwError("Invalid exponent")}this.index++}a*=1;this.tokens.push({index:c,text:a,json:!0,fn:function(){return a}})},readIdent:function(){for(var a=this,c="",d=this.index,e,f,g,h;this.index<this.text.length;){h=this.text.charAt(this.index);if("."===h||this.isIdent(h)||this.isNumber(h))"."===h&&(e=this.index),c+=h;else break;this.index++}if(e)for(f=this.index;f<this.text.length;){h=this.text.charAt(f);if("("===h){g=c.substr(e-d+1);c=c.substr(0,e-d);this.index=f;break}if(this.isWhitespace(h))f++;
149
+ else break}d={index:d,text:c};if(Ia.hasOwnProperty(c))d.fn=Ia[c],d.json=Ia[c];else{var m=tc(c,this.options,this.text);d.fn=A(function(a,c){return m(a,c)},{assign:function(d,e){return hb(d,c,e,a.text,a.options)}})}this.tokens.push(d);g&&(this.tokens.push({index:e,text:".",json:!1}),this.tokens.push({index:e+1,text:g,json:!1}))},readString:function(a){var c=this.index;this.index++;for(var d="",e=a,f=!1;this.index<this.text.length;){var g=this.text.charAt(this.index),e=e+g;if(f)"u"===g?(g=this.text.substring(this.index+
150
+ 1,this.index+5),g.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+g+"]"),this.index+=4,d+=String.fromCharCode(parseInt(g,16))):d=(f=Rd[g])?d+f:d+g,f=!1;else if("\\"===g)f=!0;else{if(g===a){this.index++;this.tokens.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});return}d+=g}this.index++}this.throwError("Unterminated quote",c)}};var Wa=function(a,c,d){this.lexer=a;this.$filter=c;this.options=d};Wa.ZERO=function(){return 0};Wa.prototype={constructor:Wa,parse:function(a,
151
+ c){this.text=a;this.json=c;this.tokens=this.lexer.lex(a);c&&(this.assignment=this.logicalOR,this.functionCall=this.fieldAccess=this.objectIndex=this.filterChain=function(){this.throwError("is not valid json",{text:a,index:0})});var d=c?this.primary():this.statements();0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]);d.literal=!!d.literal;d.constant=!!d.constant;return d},primary:function(){var a;if(this.expect("("))a=this.filterChain(),this.consume(")");else if(this.expect("["))a=
152
+ this.arrayDeclaration();else if(this.expect("{"))a=this.object();else{var c=this.expect();(a=c.fn)||this.throwError("not a primary expression",c);c.json&&(a.constant=!0,a.literal=!0)}for(var d;c=this.expect("(","[",".");)"("===c.text?(a=this.functionCall(a,d),d=null):"["===c.text?(d=a,a=this.objectIndex(a)):"."===c.text?(d=a,a=this.fieldAccess(a)):this.throwError("IMPOSSIBLE");return a},throwError:function(a,c){throw ya("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index));},peekToken:function(){if(0===
153
+ this.tokens.length)throw ya("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){if(0<this.tokens.length){var f=this.tokens[0],g=f.text;if(g===a||g===c||g===d||g===e||!(a||c||d||e))return f}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.json&&!a.json&&this.throwError("is not valid json",a),this.tokens.shift(),a):!1},consume:function(a){this.expect(a)||this.throwError("is unexpected, expecting ["+a+"]",this.peek())},unaryFn:function(a,c){return A(function(d,e){return a(d,
154
+ e,c)},{constant:c.constant})},ternaryFn:function(a,c,d){return A(function(e,f){return a(e,f)?c(e,f):d(e,f)},{constant:a.constant&&c.constant&&d.constant})},binaryFn:function(a,c,d){return A(function(e,f){return c(e,f,a,d)},{constant:a.constant&&d.constant})},statements:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.filterChain()),!this.expect(";"))return 1===a.length?a[0]:function(c,d){for(var e,f=0;f<a.length;f++){var g=a[f];g&&(e=g(c,d))}return e}},filterChain:function(){for(var a=
155
+ this.expression(),c;;)if(c=this.expect("|"))a=this.binaryFn(a,c.fn,this.filter());else return a},filter:function(){for(var a=this.expect(),c=this.$filter(a.text),d=[];;)if(a=this.expect(":"))d.push(this.expression());else{var e=function(a,e,h){h=[h];for(var m=0;m<d.length;m++)h.push(d[m](a,e));return c.apply(a,h)};return function(){return e}}},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary(),c,d;return(d=this.expect("="))?(a.assign||this.throwError("implies assignment but ["+
156
+ this.text.substring(0,d.index)+"] can not be assigned to",d),c=this.ternary(),function(d,f){return a.assign(d,c(d,f),f)}):a},ternary:function(){var a=this.logicalOR(),c,d;if(this.expect("?")){c=this.ternary();if(d=this.expect(":"))return this.ternaryFn(a,c,this.ternary());this.throwError("expected :",d)}else return a},logicalOR:function(){for(var a=this.logicalAND(),c;;)if(c=this.expect("||"))a=this.binaryFn(a,c.fn,this.logicalAND());else return a},logicalAND:function(){var a=this.equality(),c;if(c=
157
+ this.expect("&&"))a=this.binaryFn(a,c.fn,this.logicalAND());return a},equality:function(){var a=this.relational(),c;if(c=this.expect("==","!=","===","!=="))a=this.binaryFn(a,c.fn,this.equality());return a},relational:function(){var a=this.additive(),c;if(c=this.expect("<",">","<=",">="))a=this.binaryFn(a,c.fn,this.relational());return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var a=
158
+ this.unary(),c;c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(Wa.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=tc(d,this.options,this.text);return A(function(c,d,h){return e(h||a(c,d),d)},{assign:function(e,g,h){return hb(a(e,h),d,g,c.text,c.options)}})},objectIndex:function(a){var c=
159
+ this,d=this.expression();this.consume("]");return A(function(e,f){var g=a(e,f),h=d(e,f),m;if(!g)return s;(g=Va(g[h],c.text))&&(g.then&&c.options.unwrapPromises)&&(m=g,"$$v"in g||(m.$$v=s,m.then(function(a){m.$$v=a})),g=g.$$v);return g},{assign:function(e,f,g){var h=d(e,g);return Va(a(e,g),c.text)[h]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text){do d.push(this.expression());while(this.expect(","))}this.consume(")");var e=this;return function(f,g){for(var h=[],m=c?c(f,g):
160
+ f,k=0;k<d.length;k++)h.push(d[k](f,g));k=a(f,g,m)||w;Va(m,e.text);Va(k,e.text);h=k.apply?k.apply(m,h):k(h[0],h[1],h[2],h[3],h[4]);return Va(h,e.text)}},arrayDeclaration:function(){var a=[],c=!0;if("]"!==this.peekToken().text){do{var d=this.expression();a.push(d);d.constant||(c=!1)}while(this.expect(","))}this.consume("]");return A(function(c,d){for(var g=[],h=0;h<a.length;h++)g.push(a[h](c,d));return g},{literal:!0,constant:c})},object:function(){var a=[],c=!0;if("}"!==this.peekToken().text){do{var d=
161
+ this.expect(),d=d.string||d.text;this.consume(":");var e=this.expression();a.push({key:d,value:e});e.constant||(c=!1)}while(this.expect(","))}this.consume("}");return A(function(c,d){for(var e={},m=0;m<a.length;m++){var k=a[m];e[k.key]=k.value(c,d)}return e},{literal:!0,constant:c})}};var Jb={},ra=F("$sce"),ea={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},$=O.createElement("a"),wc=/^\/?.*?:(\/.*)/,xc=xa(W.location.href,!0);yc.$inject=["$provide"];zc.$inject=["$locale"];Bc.$inject=
162
+ ["$locale"];var Ec=".",Ld={yyyy:T("FullYear",4),yy:T("FullYear",2,0,!0),y:T("FullYear",1),MMMM:ib("Month"),MMM:ib("Month",!0),MM:T("Month",2,1),M:T("Month",1,1),dd:T("Date",2),d:T("Date",1),HH:T("Hours",2),H:T("Hours",1),hh:T("Hours",2,-12),h:T("Hours",1,-12),mm:T("Minutes",2),m:T("Minutes",1),ss:T("Seconds",2),s:T("Seconds",1),sss:T("Milliseconds",3),EEEE:ib("Day"),EEE:ib("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){a=-1*a.getTimezoneOffset();return a=(0<=
163
+ a?"+":"")+(Lb(Math[0<a?"floor":"ceil"](a/60),2)+Lb(Math.abs(a%60),2))}},Kd=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,Jd=/^\-?\d+$/;Ac.$inject=["$locale"];var Hd=ca(u),Id=ca(Ga);Cc.$inject=["$parse"];var Sd=ca({restrict:"E",compile:function(a,c){8>=N&&(c.href||c.name||c.$set("href",""),a.append(O.createComment("IE fix")));return function(a,c){c.on("click",function(a){c.attr("href")||a.preventDefault()})}}}),Nb={};p(eb,function(a,c){if("multiple"!=a){var d=ma("ng-"+
164
+ c);Nb[d]=function(){return{priority:100,compile:function(){return function(a,f,g){a.$watch(g[d],function(a){g.$set(c,!!a)})}}}}}});p(["src","srcset","href"],function(a){var c=ma("ng-"+a);Nb[c]=function(){return{priority:99,link:function(d,e,f){f.$observe(c,function(c){c&&(f.$set(a,c),N&&e.prop(a,f[a]))})}}}});var lb={$addControl:w,$removeControl:w,$setValidity:w,$setDirty:w,$setPristine:w};Fc.$inject=["$element","$attrs","$scope"];var Hc=function(a){return["$timeout",function(c){return{name:"form",
165
+ restrict:a?"EAC":"E",controller:Fc,compile:function(){return{pre:function(a,e,f,g){if(!f.action){var h=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};Gc(e[0],"submit",h);e.on("$destroy",function(){c(function(){zb(e[0],"submit",h)},0,!1)})}var m=e.parent().controller("form"),k=f.name||f.ngForm;k&&hb(a,k,g,k);if(m)e.on("$destroy",function(){m.$removeControl(g);k&&hb(a,k,s,k);A(g,lb)})}}}}}]},Td=Hc(),Ud=Hc(!0),Vd=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,
166
+ Wd=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/,Xd=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Ic={text:nb,number:function(a,c,d,e,f,g){nb(a,c,d,e,f,g);e.$parsers.push(function(a){var c=e.$isEmpty(a);if(c||Xd.test(a))return e.$setValidity("number",!0),""===a?null:c?a:parseFloat(a);e.$setValidity("number",!1);return s});e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a});d.min&&(a=function(a){var c=parseFloat(d.min);if(!e.$isEmpty(a)&&a<c)return e.$setValidity("min",!1),s;e.$setValidity("min",
167
+ !0);return a},e.$parsers.push(a),e.$formatters.push(a));d.max&&(a=function(a){var c=parseFloat(d.max);if(!e.$isEmpty(a)&&a>c)return e.$setValidity("max",!1),s;e.$setValidity("max",!0);return a},e.$parsers.push(a),e.$formatters.push(a));e.$formatters.push(function(a){if(e.$isEmpty(a)||pb(a))return e.$setValidity("number",!0),a;e.$setValidity("number",!1);return s})},url:function(a,c,d,e,f,g){nb(a,c,d,e,f,g);a=function(a){if(e.$isEmpty(a)||Vd.test(a))return e.$setValidity("url",!0),a;e.$setValidity("url",
168
+ !1);return s};e.$formatters.push(a);e.$parsers.push(a)},email:function(a,c,d,e,f,g){nb(a,c,d,e,f,g);a=function(a){if(e.$isEmpty(a)||Wd.test(a))return e.$setValidity("email",!0),a;e.$setValidity("email",!1);return s};e.$formatters.push(a);e.$parsers.push(a)},radio:function(a,c,d,e){y(d.name)&&c.attr("name",Xa());c.on("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,
169
+ c,d,e){var f=d.ngTrueValue,g=d.ngFalseValue;D(f)||(f=!0);D(g)||(g=!1);c.on("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return a!==f};e.$formatters.push(function(a){return a===f});e.$parsers.push(function(a){return a?f:g})},hidden:w,button:w,submit:w,reset:w},Jc=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,f,g){g&&(Ic[u(f.type)]||Ic.text)(d,e,f,g,c,a)}}}],
170
+ kb="ng-valid",jb="ng-invalid",Ha="ng-pristine",mb="ng-dirty",Yd=["$scope","$exceptionHandler","$attrs","$element","$parse",function(a,c,d,e,f){function g(a,c){c=c?"-"+bb(c,"-"):"";e.removeClass((a?jb:kb)+c).addClass((a?kb:jb)+c)}this.$modelValue=this.$viewValue=Number.NaN;this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$name=d.name;var h=f(d.ngModel),m=h.assign;if(!m)throw F("ngModel")("nonassign",d.ngModel,ga(e));
171
+ this.$render=w;this.$isEmpty=function(a){return y(a)||""===a||null===a||a!==a};var k=e.inheritedData("$formController")||lb,l=0,n=this.$error={};e.addClass(Ha);g(!0);this.$setValidity=function(a,c){n[a]!==!c&&(c?(n[a]&&l--,l||(g(!0),this.$valid=!0,this.$invalid=!1)):(g(!1),this.$invalid=!0,this.$valid=!1,l++),n[a]=!c,g(c,a),k.$setValidity(a,c,this))};this.$setPristine=function(){this.$dirty=!1;this.$pristine=!0;e.removeClass(mb).addClass(Ha)};this.$setViewValue=function(d){this.$viewValue=d;this.$pristine&&
172
+ (this.$dirty=!0,this.$pristine=!1,e.removeClass(Ha).addClass(mb),k.$setDirty());p(this.$parsers,function(a){d=a(d)});this.$modelValue!==d&&(this.$modelValue=d,m(a,d),p(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))};var r=this;a.$watch(function(){var c=h(a);if(r.$modelValue!==c){var d=r.$formatters,e=d.length;for(r.$modelValue=c;e--;)c=d[e](c);r.$viewValue!==c&&(r.$viewValue=c,r.$render())}})}],Zd=function(){return{require:["ngModel","^?form"],controller:Yd,link:function(a,c,d,e){var f=
173
+ e[0],g=e[1]||lb;g.$addControl(f);a.$on("$destroy",function(){g.$removeControl(f)})}}},$d=ca({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Kc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var f=function(a){if(d.required&&e.$isEmpty(a))e.$setValidity("required",!1);else return e.$setValidity("required",!0),a};e.$formatters.push(f);e.$parsers.unshift(f);d.$observe("required",function(){f(e.$viewValue)})}}}},
174
+ ae=function(){return{require:"ngModel",link:function(a,c,d,e){var f=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){if(!y(a)){var c=[];a&&p(a.split(f),function(a){a&&c.push(aa(a))});return c}});e.$formatters.push(function(a){return K(a)?a.join(", "):s});e.$isEmpty=function(a){return!a||!a.length}}}},be=/^(true|false|\d+)$/,ce=function(){return{priority:100,compile:function(a,c){return be.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,
175
+ c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},de=sa(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind);a.$watch(d.ngBind,function(a){c.text(a==s?"":a)})}),ee=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate));d.addClass("ng-binding").data("$binding",c);e.$observe("ngBindTemplate",function(a){d.text(a)})}}],fe=["$sce","$parse",function(a,c){return function(d,e,f){e.addClass("ng-binding").data("$binding",f.ngBindHtml);var g=c(f.ngBindHtml);
176
+ d.$watch(function(){return(g(d)||"").toString()},function(c){e.html(a.getTrustedHtml(g(d))||"")})}}],ge=Mb("",!0),he=Mb("Odd",0),ie=Mb("Even",1),je=sa({compile:function(a,c){c.$set("ngCloak",s);a.removeClass("ng-cloak")}}),ke=[function(){return{scope:!0,controller:"@"}}],Lc={};p("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=ma("ng-"+a);Lc[c]=["$parse",function(d){return{compile:function(e,
177
+ f){var g=d(f[c]);return function(c,d,e){d.on(u(a),function(a){c.$apply(function(){g(c,{$event:a})})})}}}}]});var le=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,m;c.$watch(e.ngIf,function(f){Ma(f)?m||(m=c.$new(),g(m,function(c){h={startNode:c[0],endNode:c[c.length++]=O.createComment(" end ngIf: "+e.ngIf+" ")};a.enter(c,d.parent(),d)})):(m&&(m.$destroy(),m=null),h&&(a.leave(ub(h)),h=null))})}}}],me=["$http","$templateCache",
178
+ "$anchorScroll","$compile","$animate","$sce",function(a,c,d,e,f,g){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",compile:function(h,m){var k=m.ngInclude||m.src,l=m.onload||"",n=m.autoscroll;return function(h,m,p,s,x){var v=0,B,G,t=function(){B&&(B.$destroy(),B=null);G&&(f.leave(G),G=null)};h.$watch(g.parseAsResourceUrl(k),function(g){var k=function(){!C(n)||n&&!h.$eval(n)||d()},p=++v;g?(a.get(g,{cache:c}).success(function(a){if(p===v){var c=h.$new();x(c,function(d){t();B=c;G=
179
+ d;G.html(a);f.enter(G,null,m,k);e(G.contents())(B);B.$emit("$includeContentLoaded");h.$eval(l)})}}).error(function(){p===v&&t()}),h.$emit("$includeContentRequested")):t()})}}}}],ne=sa({compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),oe=sa({terminal:!0,priority:1E3}),pe=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,g){var h=g.count,m=g.$attr.when&&f.attr(g.$attr.when),k=g.offset||0,l=e.$eval(m)||{},n={},r=c.startSymbol(),q=c.endSymbol(),
180
+ s=/^when(Minus)?(.+)$/;p(g,function(a,c){s.test(c)&&(l[u(c.replace("when","").replace("Minus","-"))]=f.attr(g.$attr[c]))});p(l,function(a,e){n[e]=c(a.replace(d,r+h+"-"+k+q))});e.$watch(function(){var c=parseFloat(e.$eval(h));if(isNaN(c))return"";c in l||(c=a.pluralCat(c-k));return n[c](e,f,!0)},function(a){f.text(a)})}}}],qe=["$parse","$animate",function(a,c){var d=F("ngRepeat");return{transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,link:function(e,f,g,h,m){var k=g.ngRepeat,l=k.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/),
181
+ n,r,q,s,w,C,v={$id:Da};if(!l)throw d("iexp",k);g=l[1];h=l[2];(l=l[4])?(n=a(l),r=function(a,c,d){C&&(v[C]=a);v[w]=c;v.$index=d;return n(e,v)}):(q=function(a,c){return Da(c)},s=function(a){return a});l=g.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/);if(!l)throw d("iidexp",g);w=l[3]||l[1];C=l[2];var B={};e.$watchCollection(h,function(a){var g,h,l=f[0],n,v={},y,P,D,S,A,u,F=[];if(ob(a))A=a,n=r||q;else{n=r||s;A=[];for(D in a)a.hasOwnProperty(D)&&"$"!=D.charAt(0)&&A.push(D);A.sort()}y=A.length;
182
+ h=F.length=A.length;for(g=0;g<h;g++)if(D=a===A?g:A[g],S=a[D],S=n(D,S,g),va(S,"`track by` id"),B.hasOwnProperty(S))u=B[S],delete B[S],v[S]=u,F[g]=u;else{if(v.hasOwnProperty(S))throw p(F,function(a){a&&a.startNode&&(B[a.id]=a)}),d("dupes",k,S);F[g]={id:S};v[S]=!1}for(D in B)B.hasOwnProperty(D)&&(u=B[D],g=ub(u),c.leave(g),p(g,function(a){a.$$NG_REMOVED=!0}),u.scope.$destroy());g=0;for(h=A.length;g<h;g++){D=a===A?g:A[g];S=a[D];u=F[g];F[g-1]&&(l=F[g-1].endNode);if(u.startNode){P=u.scope;n=l;do n=n.nextSibling;
183
+ while(n&&n.$$NG_REMOVED);u.startNode!=n&&c.move(ub(u),null,x(l));l=u.endNode}else P=e.$new();P[w]=S;C&&(P[C]=D);P.$index=g;P.$first=0===g;P.$last=g===y-1;P.$middle=!(P.$first||P.$last);P.$odd=!(P.$even=0===(g&1));u.startNode||m(P,function(a){a[a.length++]=O.createComment(" end ngRepeat: "+k+" ");c.enter(a,null,x(l));l=a;u.scope=P;u.startNode=l&&l.endNode?l.endNode:a[0];u.endNode=a[a.length-1];v[u.id]=u})}B=v})}}}],re=["$animate",function(a){return function(c,d,e){c.$watch(e.ngShow,function(c){a[Ma(c)?
184
+ "removeClass":"addClass"](d,"ng-hide")})}}],se=["$animate",function(a){return function(c,d,e){c.$watch(e.ngHide,function(c){a[Ma(c)?"addClass":"removeClass"](d,"ng-hide")})}}],te=sa(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&p(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),ue=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var g,h,m=[];c.$watch(e.ngSwitch||e.on,function(d){for(var l=0,n=m.length;l<
185
+ n;l++)m[l].$destroy(),a.leave(h[l]);h=[];m=[];if(g=f.cases["!"+d]||f.cases["?"])c.$eval(e.change),p(g,function(d){var e=c.$new();m.push(e);d.transclude(e,function(c){var e=d.element;h.push(c);a.enter(c,e.parent(),e)})})})}}}],ve=sa({transclude:"element",priority:800,require:"^ngSwitch",compile:function(a,c){return function(a,e,f,g,h){g.cases["!"+c.ngSwitchWhen]=g.cases["!"+c.ngSwitchWhen]||[];g.cases["!"+c.ngSwitchWhen].push({transclude:h,element:e})}}}),we=sa({transclude:"element",priority:800,require:"^ngSwitch",
186
+ link:function(a,c,d,e,f){e.cases["?"]=e.cases["?"]||[];e.cases["?"].push({transclude:f,element:c})}}),xe=sa({controller:["$element","$transclude",function(a,c){if(!c)throw F("ngTransclude")("orphan",ga(a));this.$transclude=c}],link:function(a,c,d,e){e.$transclude(function(a){c.html("");c.append(a)})}}),ye=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){"text/ng-template"==d.type&&a.put(d.id,c[0].text)}}}],ze=F("ngOptions"),Ae=ca({terminal:!0}),Be=["$compile","$parse",
187
+ function(a,c){var d=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/,e={$setViewValue:w};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var m=this,k={},l=e,n;m.databound=d.ngModel;m.init=function(a,c,d){l=a;n=d};m.addOption=function(c){va(c,'"option value"');k[c]=!0;l.$viewValue==c&&(a.val(c),n.parent()&&n.remove())};
188
+ m.removeOption=function(a){this.hasOption(a)&&(delete k[a],l.$viewValue==a&&this.renderUnknownOption(a))};m.renderUnknownOption=function(c){c="? "+Da(c)+" ?";n.val(c);a.prepend(n);a.val(c);n.prop("selected",!0)};m.hasOption=function(a){return k.hasOwnProperty(a)};c.$on("$destroy",function(){m.renderUnknownOption=w})}],link:function(e,g,h,m){function k(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(a)?(t.parent()&&t.remove(),c.val(a),""===a&&v.prop("selected",!0)):y(a)&&v?c.val(""):e.renderUnknownOption(a)};
189
+ c.on("change",function(){a.$apply(function(){t.parent()&&t.remove();d.$setViewValue(c.val())})})}function l(a,c,d){var e;d.$render=function(){var a=new Ra(d.$viewValue);p(c.find("option"),function(c){c.selected=C(a.get(c.value))})};a.$watch(function(){Ba(e,d.$viewValue)||(e=fa(d.$viewValue),d.$render())});c.on("change",function(){a.$apply(function(){var a=[];p(c.find("option"),function(c){c.selected&&a.push(c.value)});d.$setViewValue(a)})})}function n(e,f,g){function h(){var a={"":[]},c=[""],d,k,
190
+ s,u,x;u=g.$modelValue;x=r(e)||[];var A=n?Ob(x):x,F,y,I;y={};s=!1;var E,J;if(z)if(t&&K(u))for(s=new Ra([]),I=0;I<u.length;I++)y[m]=u[I],s.put(t(e,y),u[I]);else s=new Ra(u);for(I=0;F=A.length,I<F;I++){k=I;if(n){k=A[I];if("$"===k.charAt(0))continue;y[n]=k}y[m]=x[k];d=p(e,y)||"";(k=a[d])||(k=a[d]=[],c.push(d));z?d=C(s.remove(t?t(e,y):q(e,y))):(t?(d={},d[m]=u,d=t(e,d)===t(e,y)):d=u===q(e,y),s=s||d);E=l(e,y);E=C(E)?E:"";k.push({id:t?t(e,y):n?A[I]:I,label:E,selected:d})}z||(w||null===u?a[""].unshift({id:"",
191
+ label:"",selected:!s}):s||a[""].unshift({id:"?",label:"",selected:!0}));y=0;for(A=c.length;y<A;y++){d=c[y];k=a[d];v.length<=y?(u={element:D.clone().attr("label",d),label:k.label},x=[u],v.push(x),f.append(u.element)):(x=v[y],u=x[0],u.label!=d&&u.element.attr("label",u.label=d));E=null;I=0;for(F=k.length;I<F;I++)s=k[I],(d=x[I+1])?(E=d.element,d.label!==s.label&&E.text(d.label=s.label),d.id!==s.id&&E.val(d.id=s.id),E[0].selected!==s.selected&&E.prop("selected",d.selected=s.selected)):(""===s.id&&w?J=
192
+ w:(J=B.clone()).val(s.id).attr("selected",s.selected).text(s.label),x.push({element:J,label:s.label,id:s.id,selected:s.selected}),E?E.after(J):u.element.append(J),E=J);for(I++;x.length>I;)x.pop().element.remove()}for(;v.length>y;)v.pop()[0].element.remove()}var k;if(!(k=u.match(d)))throw ze("iexp",u,ga(f));var l=c(k[2]||k[1]),m=k[4]||k[6],n=k[5],p=c(k[3]||""),q=c(k[2]?k[1]:m),r=c(k[7]),t=k[8]?c(k[8]):null,v=[[{element:f,label:""}]];w&&(a(w)(e),w.removeClass("ng-scope"),w.remove());f.html("");f.on("change",
193
+ function(){e.$apply(function(){var a,c=r(e)||[],d={},h,k,l,p,u,x,w;if(z)for(k=[],p=0,x=v.length;p<x;p++)for(a=v[p],l=1,u=a.length;l<u;l++){if((h=a[l].element)[0].selected){h=h.val();n&&(d[n]=h);if(t)for(w=0;w<c.length&&(d[m]=c[w],t(e,d)!=h);w++);else d[m]=c[h];k.push(q(e,d))}}else if(h=f.val(),"?"==h)k=s;else if(""===h)k=null;else if(t)for(w=0;w<c.length;w++){if(d[m]=c[w],t(e,d)==h){k=q(e,d);break}}else d[m]=c[h],n&&(d[n]=h),k=q(e,d);g.$setViewValue(k)})});g.$render=h;e.$watch(h)}if(m[1]){var r=m[0],
194
+ q=m[1],z=h.multiple,u=h.ngOptions,w=!1,v,B=x(O.createElement("option")),D=x(O.createElement("optgroup")),t=B.clone();m=0;for(var A=g.children(),F=A.length;m<F;m++)if(""===A[m].value){v=w=A.eq(m);break}r.init(q,w,t);if(z&&(h.required||h.ngRequired)){var E=function(a){q.$setValidity("required",!h.required||a&&a.length);return a};q.$parsers.push(E);q.$formatters.unshift(E);h.$observe("required",function(){E(q.$viewValue)})}u?n(e,g,q):z?l(e,g,q):k(e,g,q,r)}}}}],Ce=["$interpolate",function(a){var c={addOption:w,
195
+ removeOption:w};return{restrict:"E",priority:100,compile:function(d,e){if(y(e.value)){var f=a(d.text(),!0);f||e.$set("value",d.text())}return function(a,d,e){var k=d.parent(),l=k.data("$selectController")||k.parent().data("$selectController");l&&l.databound?d.prop("selected",!1):l=c;f?a.$watch(f,function(a,c){e.$set("value",a);a!==c&&l.removeOption(c);l.addOption(a)}):l.addOption(e.value);d.on("$destroy",function(){l.removeOption(e.value)})}}}}],De=ca({restrict:"E",terminal:!0});(Ca=W.jQuery)?(x=
196
+ Ca,A(Ca.fn,{scope:Ea.scope,isolateScope:Ea.isolateScope,controller:Ea.controller,injector:Ea.injector,inheritedData:Ea.inheritedData}),vb("remove",!0,!0,!1),vb("empty",!1,!1,!1),vb("html",!1,!1,!0)):x=L;ab.element=x;(function(a){A(a,{bootstrap:Xb,copy:fa,extend:A,equals:Ba,element:x,forEach:p,injector:Yb,noop:w,bind:qb,toJson:oa,fromJson:Tb,identity:Aa,isUndefined:y,isDefined:C,isString:D,isFunction:E,isObject:U,isNumber:pb,isElement:Nc,isArray:K,version:Nd,isDate:Ja,lowercase:u,uppercase:Ga,callbacks:{counter:0},
197
+ $$minErr:F,$$csp:Sb});Ta=Tc(W);try{Ta("ngLocale")}catch(c){Ta("ngLocale",[]).provider("$locale",qd)}Ta("ng",["ngLocale"],["$provide",function(a){a.provider("$compile",gc).directive({a:Sd,input:Jc,textarea:Jc,form:Td,script:ye,select:Be,style:De,option:Ce,ngBind:de,ngBindHtml:fe,ngBindTemplate:ee,ngClass:ge,ngClassEven:ie,ngClassOdd:he,ngCloak:je,ngController:ke,ngForm:Ud,ngHide:se,ngIf:le,ngInclude:me,ngInit:ne,ngNonBindable:oe,ngPluralize:pe,ngRepeat:qe,ngShow:re,ngStyle:te,ngSwitch:ue,ngSwitchWhen:ve,
198
+ ngSwitchDefault:we,ngOptions:Ae,ngTransclude:xe,ngModel:Zd,ngList:ae,ngChange:$d,required:Kc,ngRequired:Kc,ngValue:ce}).directive(Nb).directive(Lc);a.provider({$anchorScroll:bd,$animate:Pd,$browser:dd,$cacheFactory:ed,$controller:hd,$document:id,$exceptionHandler:jd,$filter:yc,$interpolate:od,$interval:pd,$http:kd,$httpBackend:ld,$location:sd,$log:td,$parse:ud,$rootScope:xd,$q:vd,$sce:Ad,$sceDelegate:zd,$sniffer:Bd,$templateCache:fd,$timeout:Cd,$window:Dd})}])})(ab);x(O).ready(function(){Rc(O,Xb)})})(window,
199
+ document);!angular.$$csp()&&angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}.ng-animate-start{clip:rect(0,auto,auto,0);-ms-zoom:1.0001;}.ng-animate-active{clip:rect(-1px,auto,auto,0);-ms-zoom:1;}</style>');
200
+ //# sourceMappingURL=angular.min.js.map
@@ -0,0 +1,80 @@
1
+ angular.module('juxtapose', [
2
+ 'juxtapose.controllers',
3
+ 'juxtapose.services'
4
+ ])
5
+ angular.module('juxtapose.controllers', [])
6
+ angular.module('juxtapose.services', [])
7
+
8
+ angular.module('juxtapose.services').factory('Project', [
9
+ function(){
10
+ return {
11
+ query: function(){
12
+ return Juxtapose.project;
13
+ }
14
+ }
15
+ }
16
+ ])
17
+
18
+ angular.module('juxtapose.controllers').controller('ProjectsCtrl', ['$scope', '$http', 'Project',
19
+ function($scope, $http, Project){
20
+ $scope.project = Project.query()
21
+
22
+ $scope.accept = function(spec){
23
+ $http({
24
+ url: "/accept",
25
+ method: "POST",
26
+ data: {"filename": spec.current.img}
27
+ }).success(function(response){
28
+ response.image.path += "?refresh=true"
29
+ spec.accepted = response.image
30
+ spec.current = null
31
+ spec.diff = null
32
+ })
33
+ }
34
+
35
+ $scope.deviceName = function(spec){
36
+ return spec.directory.match(/([^\/]*)\/[^\/]+\/[^\/]+\/[^\/]+$/)[1]
37
+ }
38
+
39
+ $scope.deviceNameMatcher = function(spec){
40
+ return _.findWhere($scope.devices, {name: $scope.deviceName(spec), selected: true})
41
+ }
42
+
43
+ var devices = _.uniq(_.map($scope.project.specs, $scope.deviceName))
44
+ $scope.devices = _.map(devices, function(device){
45
+ return { name: device }
46
+ });
47
+
48
+ $scope.iOSVersion = function(spec){
49
+ return spec.directory.match(/([^\/]*)\/[^\/]+\/[^\/]+$/)[1].match(/[\d\.]+/)[0]
50
+ }
51
+
52
+ var versions = _.uniq(_.map($scope.project.specs, $scope.iOSVersion))
53
+ $scope.versions = _.map(versions, function(version){
54
+ return { name: version }
55
+ });
56
+
57
+ $scope.versionMatcher = function(spec){
58
+ return _.findWhere($scope.versions, {name: $scope.iOSVersion(spec), selected: true})
59
+ }
60
+
61
+ $scope.specName = function(spec){
62
+ var name = spec.directory.match(/([^\/]*\/[^\/]+)$/)[1].replace(/-/g, ' ').replace(/\//g, ' | ');;
63
+ return name[0].toUpperCase() + name.slice(1)
64
+ }
65
+
66
+ $scope.specNameMatcher = function(spec){
67
+ if(!$scope.search) {
68
+ return true;
69
+ }
70
+ return $scope.specName(spec).toLowerCase().indexOf($scope.search.toLowerCase()) >= 0
71
+ }
72
+
73
+ $scope.onlyFailingMatcher = function(spec){
74
+ if(!$scope.onlyFailing){
75
+ return true
76
+ }
77
+ return spec.current
78
+ }
79
+ }
80
+ ])