Skip to content

Instantly share code, notes, and snippets.

@txase
Last active January 5, 2020 03:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save txase/6043155 to your computer and use it in GitHub Desktop.
Save txase/6043155 to your computer and use it in GitHub Desktop.
"use strict";(function(e,n,t){function r(e){return String.fromCharCode(e)}function i(e){return e&&"number"==typeof e.length?"function"!=typeof e.hasOwnProperty&&"function"!=typeof e.constructor?!0:e instanceof an||Yt&&e instanceof Yt||"[object Object]"!==er.call(e)||"function"==typeof e.callee:!1}function o(e,n,t){var r;if(e)if(k(e))for(r in e)"prototype"!=r&&"length"!=r&&"name"!=r&&e.hasOwnProperty(r)&&n.call(t,e[r],r);else if(e.forEach&&e.forEach!==o)e.forEach(n,t);else if(i(e))for(r=0;e.length>r;r++)n.call(t,e[r],r);else for(r in e)e.hasOwnProperty(r)&&n.call(t,e[r],r);return e}function a(e){var n=[];for(var t in e)e.hasOwnProperty(t)&&n.push(t);return n.sort()}function s(e,n,t){for(var r=a(e),i=0;r.length>i;i++)n.call(t,e[r[i]],r[i]);return r}function c(e){return function(n,t){e(t,n)}}function u(){for(var e,n=tr.length;n;){if(n--,e=tr[n].charCodeAt(0),57==e)return tr[n]="A",tr.join("");if(90!=e)return tr[n]=String.fromCharCode(e+1),tr.join("");tr[n]="0"}return tr.unshift("0"),tr.join("")}function l(e){return o(arguments,function(n){n!==e&&o(n,function(n,t){e[t]=n})}),e}function f(e){return parseInt(e,10)}function h(e,n){return l(new(l(function(){},{prototype:e})),n)}function p(){}function d(e){return e}function $(e){return function(){return e}}function v(e){return e===t}function g(e){return e!==t}function m(e){return null!=e&&"object"==typeof e}function y(e){return"string"==typeof e}function b(e){return"number"==typeof e}function w(e){return"[object Date]"==er.apply(e)}function x(e){return"[object Array]"==er.apply(e)}function k(e){return"function"==typeof e}function C(e){return e&&e.document&&e.location&&e.alert&&e.setInterval}function S(e){return e&&e.$evalAsync&&e.$watch}function A(e){return"[object File]"===er.apply(e)}function E(e){return y(e)?e.replace(/^\s*/,"").replace(/\s*$/,""):e}function T(e){return e&&(e.nodeName||e.bind&&e.find)}function j(e,n,t){var r=[];return o(e,function(e,i,o){r.push(n.call(t,e,i,o))}),r}function M(e,n){return-1!=O(e,n)}function O(e,n){if(e.indexOf)return e.indexOf(n);for(var t=0;e.length>t;t++)if(n===e[t])return t;return-1}function P(e,n){var t=O(e,n);return t>=0&&e.splice(t,1),n}function q(e,n){if(C(e)||S(e))throw Error("Can't copy Window or Scope");if(n){if(e===n)throw Error("Can't copy equivalent objects or arrays");if(x(e)){n.length=0;for(var t=0;e.length>t;t++)n.push(q(e[t]))}else{o(n,function(e,t){delete n[t]});for(var r in e)n[r]=q(e[r])}}else n=e,e&&(x(e)?n=q(e,[]):w(e)?n=new Date(e.getTime()):m(e)&&(n=q(e,{})));return n}function V(e,n){n=n||{};for(var t in e)e.hasOwnProperty(t)&&"$$"!==t.substr(0,2)&&(n[t]=e[t]);return n}function N(e,n){if(e===n)return!0;if(null===e||null===n)return!1;if(e!==e&&n!==n)return!0;var r,i,o,a=typeof e,s=typeof n;if(a==s&&"object"==a){if(!x(e)){if(w(e))return w(n)&&e.getTime()==n.getTime();if(S(e)||S(n)||C(e)||C(n))return!1;o={};for(i in e)if("$"!==i.charAt(0)&&!k(e[i])){if(!N(e[i],n[i]))return!1;o[i]=!0}for(i in n)if(!o[i]&&"$"!==i.charAt(0)&&n[i]!==t&&!k(n[i]))return!1;return!0}if((r=e.length)==n.length){for(i=0;r>i;i++)if(!N(e[i],n[i]))return!1;return!0}}return!1}function F(e,n,t){return e.concat(Kt.call(n,t))}function R(e,n){return Kt.call(e,n||0)}function U(e,n){var t=arguments.length>2?R(arguments,2):[];return!k(n)||n instanceof RegExp?n:t.length?function(){return arguments.length?n.apply(e,t.concat(Kt.call(arguments,0))):n.apply(e,t)}:function(){return arguments.length?n.apply(e,arguments):n.call(e)}}function D(e,r){var i=r;return/^\$+/.test(e)?i=t:C(r)?i="$WINDOW":r&&n===r?i="$DOCUMENT":S(r)&&(i="$SCOPE"),i}function I(e,n){return JSON.stringify(e,D,n?" ":null)}function L(e){return y(e)?JSON.parse(e):e}function z(e){if(e&&0!==e.length){var n=Ht(""+e);e=!("f"==n||"0"==n||"false"==n||"no"==n||"n"==n||"[]"==n)}else e=!1;return e}function H(e){e=Xt(e).clone();try{e.html("")}catch(n){}var t=3,r=Xt("<div>").append(e).html();try{return e[0].nodeType===t?Ht(r):r.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(e,n){return"<"+Ht(n)})}catch(n){return Ht(r)}}function _(e){var n,t,r={};return o((e||"").split("&"),function(e){e&&(n=e.split("="),t=decodeURIComponent(n[0]),r[t]=g(n[1])?decodeURIComponent(n[1]):!0)}),r}function B(e){var n=[];return o(e,function(e,t){n.push(X(t,!0)+(e===!0?"":"="+X(e,!0)))}),n.length?n.join("&"):""}function W(e){return X(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function X(e,n){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(n?null:/%20/g,"+")}function Y(e,t){function r(e){e&&s.push(e)}var i,a,s=[e],c=["ng:app","ng-app","x-ng-app","data-ng-app"],u=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;o(c,function(t){c[t]=!0,r(n.getElementById(t)),t=t.replace(":","\\:"),e.querySelectorAll&&(o(e.querySelectorAll("."+t),r),o(e.querySelectorAll("."+t+"\\:"),r),o(e.querySelectorAll("["+t+"]"),r))}),o(s,function(e){if(!i){var n=" "+e.className+" ",t=u.exec(n);t?(i=e,a=(t[2]||"").replace(/\s+/g,",")):o(e.attributes,function(n){!i&&c[n.name]&&(i=e,a=n.value)})}}),i&&t(i,a?[a]:[])}function Z(e,n){e=Xt(e),n=n||[],n.unshift(["$provide",function(n){n.value("$rootElement",e)}]),n.unshift("ng");var t=Sn(n);return t.invoke(["$rootScope","$rootElement","$compile","$injector",function(e,n,t,r){e.$apply(function(){n.data("$injector",r),t(n)(e)})}]),t}function J(e,n){return n=n||"_",e.replace(rr,function(e,t){return(t?n:"")+e.toLowerCase()})}function G(){Yt=e.jQuery,Yt?(Xt=Yt,l(Yt.fn,{scope:hr.scope,controller:hr.controller,injector:hr.injector,inheritedData:hr.inheritedData}),on("remove",!0),on("empty"),on("html")):Xt=an,nr.element=Xt}function K(e,n,t){if(!e)throw Error("Argument '"+(n||"?")+"' is "+(t||"required"));return e}function Q(e,n,t){return t&&x(e)&&(e=e[e.length-1]),K(k(e),n,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function en(e){function n(e,n,t){return e[n]||(e[n]=t())}return n(n(e,"angular",Object),"module",function(){var e={};return function(t,r,i){return r&&e.hasOwnProperty(t)&&(e[t]=null),n(e,t,function(){function e(e,t,r){return function(){return n[r||"push"]([e,t,arguments]),s}}if(!r)throw Error("No module: "+t);var n=[],o=[],a=e("$injector","invoke"),s={_invokeQueue:n,_runBlocks:o,requires:r,name:t,provider:e("$provide","provider"),factory:e("$provide","factory"),service:e("$provide","service"),value:e("$provide","value"),constant:e("$provide","constant","unshift"),filter:e("$filterProvider","register"),controller:e("$controllerProvider","register"),directive:e("$compileProvider","directive"),config:a,run:function(e){return o.push(e),this}};return i&&a(i),s})}})}function nn(n){l(n,{bootstrap:Z,copy:q,extend:l,equals:N,element:Xt,forEach:o,injector:Sn,noop:p,bind:U,toJson:I,fromJson:L,identity:d,isUndefined:v,isDefined:g,isString:y,isFunction:k,isObject:m,isNumber:b,isElement:T,isArray:x,version:ir,isDate:w,lowercase:Ht,uppercase:_t,callbacks:{counter:0}}),Zt=en(e);try{Zt("ngLocale")}catch(t){Zt("ngLocale",[]).provider("$locale",gt)}Zt("ng",["ngLocale"],["$provide",function(e){e.provider("$compile",On).directive({a:Fr,input:Wr,textarea:Wr,form:Ir,script:Ti,select:Mi,style:Pi,option:Oi,ngBind:ii,ngBindHtmlUnsafe:ai,ngBindTemplate:oi,ngClass:si,ngClassEven:ui,ngClassOdd:ci,ngCsp:hi,ngCloak:li,ngController:fi,ngForm:Lr,ngHide:wi,ngInclude:$i,ngInit:vi,ngNonBindable:gi,ngPluralize:mi,ngRepeat:yi,ngShow:bi,ngSubmit:di,ngStyle:xi,ngSwitch:ki,ngSwitchWhen:Ci,ngSwitchDefault:Si,ngOptions:ji,ngView:Ei,ngTransclude:Ai,ngModel:Kr,ngList:ni,ngChange:Qr,required:ei,ngRequired:ei,ngValue:ri}).directive(Rr).directive(pi),e.provider({$anchorScroll:An,$browser:Tn,$cacheFactory:jn,$controller:qn,$document:Vn,$exceptionHandler:Nn,$filter:yt,$interpolate:Fn,$http:dt,$httpBackend:$t,$location:Yn,$log:Zn,$parse:tt,$route:ot,$routeParams:at,$rootScope:st,$q:rt,$sniffer:ct,$templateCache:Mn,$timeout:mt,$window:ut})}])}function tn(){return++sr}function rn(e){return e.replace(lr,function(e,n,t,r){return r?t.toUpperCase():t}).replace(fr,"Moz$1")}function on(e,n){function t(){for(var e,t,i,o,a,s,c,u=[this],l=n;u.length;)for(e=u.shift(),t=0,i=e.length;i>t;t++)for(o=Xt(e[t]),l?o.triggerHandler("$destroy"):l=!l,a=0,s=(c=o.children()).length;s>a;a++)u.push(Yt(c[a]));return r.apply(this,arguments)}var r=Yt.fn[e];r=r.$original||r,t.$original=r,Yt.fn[e]=t}function an(e){if(e instanceof an)return e;if(!(this instanceof an)){if(y(e)&&"<"!=e.charAt(0))throw Error("selectors not implemented");return new an(e)}if(y(e)){var t=n.createElement("div");t.innerHTML="<div>&#160;</div>"+e,t.removeChild(t.firstChild),vn(this,t.childNodes),this.remove()}else vn(this,e)}function sn(e){return e.cloneNode(!0)}function cn(e){ln(e);for(var n=0,t=e.childNodes||[];t.length>n;n++)cn(t[n])}function un(e,n,t){var r=fn(e,"events"),i=fn(e,"handle");i&&(v(n)?o(r,function(n,t){ur(e,t,n),delete r[t]}):v(t)?(ur(e,n,r[n]),delete r[n]):P(r[n],t))}function ln(e){var n=e[ar],r=or[n];r&&(r.handle&&(r.events.$destroy&&r.handle({},"$destroy"),un(e)),delete or[n],e[ar]=t)}function fn(e,n,r){var i=e[ar],o=or[i||-1];return g(r)?(o||(e[ar]=i=tn(),o=or[i]={}),o[n]=r,t):o&&o[n]}function hn(e,n,t){var r=fn(e,"data"),i=g(t),o=!i&&g(n),a=o&&!m(n);if(r||a||fn(e,"data",r={}),i)r[n]=t;else{if(!o)return r;if(a)return r&&r[n];l(r,n)}}function pn(e,n){return(" "+e.className+" ").replace(/[\n\t]/g," ").indexOf(" "+n+" ")>-1}function dn(e,n){n&&o(n.split(" "),function(n){e.className=E((" "+e.className+" ").replace(/[\n\t]/g," ").replace(" "+E(n)+" "," "))})}function $n(e,n){n&&o(n.split(" "),function(n){pn(e,n)||(e.className=E(e.className+" "+E(n)))})}function vn(e,n){if(n){n=n.nodeName||!g(n.length)||C(n)?[n]:n;for(var t=0;n.length>t;t++)e.push(n[t])}}function gn(e,n){return mn(e,"$"+(n||"ngController")+"Controller")}function mn(e,n,t){for(e=Xt(e),9==e[0].nodeType&&(e=e.find("html"));e.length;){if(t=e.data(n))return t;e=e.parent()}}function yn(e,n){var t=pr[n.toLowerCase()];return t&&dr[e.nodeName]&&t}function bn(e,t){var r=function(r,i){if(r.preventDefault||(r.preventDefault=function(){r.returnValue=!1}),r.stopPropagation||(r.stopPropagation=function(){r.cancelBubble=!0}),r.target||(r.target=r.srcElement||n),v(r.defaultPrevented)){var a=r.preventDefault;r.preventDefault=function(){r.defaultPrevented=!0,a.call(r)},r.defaultPrevented=!1}r.isDefaultPrevented=function(){return r.defaultPrevented},o(t[i||r.type],function(n){n.call(e,r)}),8>=Gt?(r.preventDefault=null,r.stopPropagation=null,r.isDefaultPrevented=null):(delete r.preventDefault,delete r.stopPropagation,delete r.isDefaultPrevented)};return r.elem=e,r}function wn(e){var n,r=typeof e;return"object"==r&&null!==e?"function"==typeof(n=e.$$hashKey)?n=e.$$hashKey():n===t&&(n=e.$$hashKey=u()):n=e,r+":"+n}function xn(e){o(e,this.put,this)}function kn(){}function Cn(e){var n,t,r,i;return"function"==typeof e?(n=e.$inject)||(n=[],t=(""+e).replace(yr,""),r=t.match(vr),o(r[1].split(gr),function(e){e.replace(mr,function(e,t,r){n.push(r)})}),e.$inject=n):x(e)?(i=e.length-1,Q(e[i],"fn"),n=e.slice(0,i)):Q(e,"fn",!0),n}function Sn(e){function n(e){return function(n,r){return m(n)?(o(n,c(e)),t):e(n,r)}}function r(e,n){if((k(n)||x(n))&&(n=C.instantiate(n)),!n.$get)throw Error("Provider "+e+" must define $get factory method.");return w[e+v]=n}function i(e,n){return r(e,{$get:n})}function a(e,n){return i(e,["$injector",function(e){return e.instantiate(n)}])}function s(e,n){return i(e,$(n))}function u(e,n){w[e]=n,S[e]=n}function l(e,n){var t=C.get(e+v),r=t.$get;t.$get=function(){var e=A.invoke(r,t);return A.invoke(n,null,{$delegate:e})}}function f(e){var n=[];return o(e,function(e){if(!b.get(e))if(b.put(e,!0),y(e)){var t=Zt(e);n=n.concat(f(t.requires)).concat(t._runBlocks);try{for(var r=t._invokeQueue,i=0,o=r.length;o>i;i++){var a=r[i],s="$injector"==a[0]?C:C.get(a[0]);s[a[1]].apply(s,a[2])}}catch(c){throw c.message&&(c.message+=" from "+e),c}}else if(k(e))try{n.push(C.invoke(e))}catch(c){throw c.message&&(c.message+=" from "+e),c}else if(x(e))try{n.push(C.invoke(e))}catch(c){throw c.message&&(c.message+=" from "+(e[e.length-1]+"")),c}else Q(e,"module")}),n}function h(e,n){function t(t){if("string"!=typeof t)throw Error("Service name expected");if(e.hasOwnProperty(t)){if(e[t]===d)throw Error("Circular dependency: "+g.join(" <- "));return e[t]}try{return g.unshift(t),e[t]=d,e[t]=n(t)}finally{g.shift()}}function r(e,n,r){var i,o,a,s=[],c=Cn(e);for(o=0,i=c.length;i>o;o++)a=c[o],s.push(r&&r.hasOwnProperty(a)?r[a]:t(a));switch(e.$inject||(e=e[i]),n?-1:s.length){case 0:return e();case 1:return e(s[0]);case 2:return e(s[0],s[1]);case 3:return e(s[0],s[1],s[2]);case 4:return e(s[0],s[1],s[2],s[3]);case 5:return e(s[0],s[1],s[2],s[3],s[4]);case 6:return e(s[0],s[1],s[2],s[3],s[4],s[5]);case 7:return e(s[0],s[1],s[2],s[3],s[4],s[5],s[6]);case 8:return e(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7]);case 9:return e(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8]);case 10:return e(s[0],s[1],s[2],s[3],s[4],s[5],s[6],s[7],s[8],s[9]);default:return e.apply(n,s)}}function i(e,n){var t,i,o=function(){};return o.prototype=(x(e)?e[e.length-1]:e).prototype,t=new o,i=r(e,t,n),m(i)?i:t}return{invoke:r,instantiate:i,get:t,annotate:Cn}}var d={},v="Provider",g=[],b=new xn,w={$provide:{provider:n(r),factory:n(i),service:n(a),value:n(s),constant:n(u),decorator:l}},C=h(w,function(){throw Error("Unknown provider: "+g.join(" <- "))}),S={},A=S.$injector=h(S,function(e){var n=C.get(e+v);return A.invoke(n.$get,n)});return o(f(e),function(e){A.invoke(e||p)}),A}function An(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(n,t,r){function i(e){var n=null;return o(e,function(e){n||"a"!==Ht(e.nodeName)||(n=e)}),n}function a(){var e,r=t.hash();r?(e=s.getElementById(r))?e.scrollIntoView():(e=i(s.getElementsByName(r)))?e.scrollIntoView():"top"===r&&n.scrollTo(0,0):n.scrollTo(0,0)}var s=n.document;return e&&r.$watch(function(){return t.hash()},function(){r.$evalAsync(a)}),a}]}function En(e,n,r,i){function a(e){try{e.apply(null,R(arguments,1))}finally{if(m--,0===m)for(;b.length;)try{b.pop()()}catch(n){r.error(n)}}}function s(e,n){(function t(){o(x,function(e){e()}),w=n(t,e)})()}function c(){k!=u.url()&&(k=u.url(),o(S,function(e){e(u.url())}))}var u=this,l=n[0],f=e.location,h=e.history,d=e.setTimeout,$=e.clearTimeout,g={};u.isMock=!1;var m=0,b=[];u.$$completeOutstandingRequest=a,u.$$incOutstandingRequestCount=function(){m++},u.notifyWhenNoOutstandingRequests=function(e){o(x,function(e){e()}),0===m?e():b.push(e)};var w,x=[];u.addPollFn=function(e){return v(w)&&s(100,d),x.push(e),e};var k=f.href,C=n.find("base");u.url=function(e,n){if(e){if(k==e)return;return k=e,i.history?n?h.replaceState(null,"",e):(h.pushState(null,"",e),C.attr("href",C.attr("href"))):n?f.replace(e):f.href=e,u}return f.href.replace(/%27/g,"'")};var S=[],A=!1;u.onUrlChange=function(n){return A||(i.history&&Xt(e).bind("popstate",c),i.hashchange?Xt(e).bind("hashchange",c):u.addPollFn(c),A=!0),S.push(n),n},u.baseHref=function(){var e=C.attr("href");return e?e.replace(/^https?\:\/\/[^\/]*/,""):""};var E={},T="",j=u.baseHref();u.cookies=function(e,n){var i,o,a,s,c;if(!e){if(l.cookie!==T)for(T=l.cookie,o=T.split("; "),E={},s=0;o.length>s;s++)a=o[s],c=a.indexOf("="),c>0&&(E[unescape(a.substring(0,c))]=unescape(a.substring(c+1)));return E}n===t?l.cookie=escape(e)+"=;path="+j+";expires=Thu, 01 Jan 1970 00:00:00 GMT":y(n)&&(i=(l.cookie=escape(e)+"="+escape(n)+";path="+j).length+1,i>4096&&r.warn("Cookie '"+e+"' possibly not set or overflowed because it was too large ("+i+" > 4096 bytes)!"))},u.defer=function(e,n){var t;return m++,t=d(function(){delete g[t],a(e)},n||0),g[t]=!0,t},u.defer.cancel=function(e){return g[e]?(delete g[e],$(e),a(p),!0):!1}}function Tn(){this.$get=["$window","$log","$sniffer","$document",function(e,n,t,r){return new En(e,r,n,t)}]}function jn(){this.$get=function(){function e(e,t){function r(e){e!=f&&(h?h==e&&(h=e.n):h=e,i(e.n,e.p),i(e,f),f=e,f.n=null)}function i(e,n){e!=n&&(e&&(e.p=n),n&&(n.n=e))}if(e in n)throw Error("cacheId "+e+" taken");var o=0,a=l({},t,{id:e}),s={},c=t&&t.capacity||Number.MAX_VALUE,u={},f=null,h=null;return n[e]={put:function(e,n){var t=u[e]||(u[e]={key:e});r(t),v(n)||(e in s||o++,s[e]=n,o>c&&this.remove(h.key))},get:function(e){var n=u[e];return n?(r(n),s[e]):void 0},remove:function(e){var n=u[e];n&&(n==f&&(f=n.p),n==h&&(h=n.n),i(n.n,n.p),delete u[e],delete s[e],o--)},removeAll:function(){s={},o=0,u={},f=h=null},destroy:function(){s=null,a=null,u=null,delete n[e]},info:function(){return l({},a,{size:o})}}}var n={};return e.info=function(){var e={};return o(n,function(n,t){e[t]=n.info()}),e},e.get=function(e){return n[e]},e}}function Mn(){this.$get=["$cacheFactory",function(e){return e("templates")}]}function On(e){var r={},i="Directive",a=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,s=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,u="Template must have exactly one root element. was: ",f=/^\s*(https?|ftp|mailto):/;this.directive=function h(n,t){return y(n)?(K(t,"directive"),r.hasOwnProperty(n)||(r[n]=[],e.factory(n+i,["$injector","$exceptionHandler",function(e,t){var i=[];return o(r[n],function(r){try{var o=e.invoke(r);k(o)?o={compile:$(o)}:!o.compile&&o.link&&(o.compile=$(o.link)),o.priority=o.priority||0,o.name=o.name||n,o.require=o.require||o.controller&&o.name,o.restrict=o.restrict||"A",i.push(o)}catch(a){t(a)}}),i}])),r[n].push(t)):o(n,c(h)),this},this.urlSanitizationWhitelist=function(e){return g(e)?(f=e,this):f},this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document",function(e,c,h,p,v,g,b,w,C){function S(e,n,t){e instanceof Xt||(e=Xt(e)),o(e,function(n,t){3==n.nodeType&&n.nodeValue.match(/\S+/)&&(e[t]=Xt(n).wrap("<span></span>").parent()[0])});var r=T(e,n,e,t);return function(n,t){K(n,"scope");for(var i=t?hr.clone.call(e):e,o=0,a=i.length;a>o;o++){var s=i[o];(1==s.nodeType||9==s.nodeType)&&i.eq(o).data("$scope",n)}return A(i,"ng-scope"),t&&t(i,n),r&&r(n,i,i),i}}function A(e,n){try{e.addClass(n)}catch(t){}}function T(e,n,r,i){function o(e,r,i,o){var a,s,c,u,l,h,p,d,$=[];for(h=0,p=r.length;p>h;h++)$.push(r[h]);for(h=0,d=0,p=f.length;p>h;d++)c=$[d],a=f[h++],s=f[h++],a?(a.scope?(u=e.$new(m(a.scope)),Xt(c).data("$scope",u)):u=e,l=a.transclude,l||!o&&n?a(s,u,c,i,function(n){return function(t){var r=e.$new();return r.$$transcluded=!0,n(r,t).bind("$destroy",U(r,r.$destroy))}}(l||n)):a(s,u,c,t,o)):s&&s(e,c.childNodes,t,o)}for(var a,s,c,u,l,f=[],h=0;e.length>h;h++)u=new L,c=j(e[h],[],u,i),a=c.length?M(c,e[h],u,n,r):null,s=a&&a.terminal||!e[h].childNodes.length?null:T(e[h].childNodes,a?a.transclude:n),f.push(a),f.push(s),l=l||a||s;return l?o:null}function j(e,n,t,r){var i,o,c=e.nodeType,u=t.$attr;switch(c){case 1:O(n,Pn(Jt(e).toLowerCase()),"E",r);for(var l,f,h,p,d=e.attributes,$=0,v=d&&d.length;v>$;$++)l=d[$],l.specified&&(f=l.name,h=Pn(f.toLowerCase()),u[h]=f,t[h]=p=E(Gt&&"href"==f?decodeURIComponent(e.getAttribute(f,2)):l.value),yn(e,h)&&(t[h]=!0),D(e,n,p,h),O(n,h,"A",r));if(o=e.className,y(o)&&""!==o)for(;i=s.exec(o);)h=Pn(i[2]),O(n,h,"C",r)&&(t[h]=E(i[3])),o=o.substr(i.index+i[0].length);break;case 3:R(n,e.nodeValue);break;case 8:try{i=a.exec(e.nodeValue),i&&(h=Pn(i[1]),O(n,h,"M",r)&&(t[h]=E(i[2])))}catch(g){}}return n.sort(N),n}function M(e,r,i,a,s){function c(e,n){e&&(e.require=p.require,O.push(e)),n&&(n.require=p.require,N.push(n))}function l(e,n){var t,r="data",i=!1;if(y(e)){for(;"^"==(t=e.charAt(0))||"?"==t;)e=e.substr(1),"^"==t&&(r="inheritedData"),i=i||"?"==t;if(t=n[r]("$"+e+"Controller"),!t&&!i)throw Error("No controller: "+e);return t}return x(e)&&(t=[],o(e,function(e){t.push(l(e,n))})),t}function f(e,n,a,s,c){var u,f,p,d,$,v;if(u=r===a?i:V(i,new L(Xt(a),i.$attr)),f=u.$$element,U){var m=/^\s*([@=&])\s*(\w*)\s*$/,y=n.$parent||n;o(U.scope,function(e,t){var r,i,o,a=e.match(m)||[],s=a[2]||t,c=a[1];switch(n.$$isolateBindings[t]=c+s,c){case"@":u.$observe(s,function(e){n[t]=e}),u.$$observers[s].$$scope=y;break;case"=":i=g(u[s]),o=i.assign||function(){throw r=n[t]=i(y),Error(br+u[s]+" (directive: "+U.name+")")},r=n[t]=i(y),n.$watch(function(){var e=i(y);return e!==n[t]&&(e!==r?r=n[t]=e:o(y,e=r=n[t])),e});break;case"&":i=g(u[s]),n[t]=function(e){return i(y,e)};break;default:throw Error("Invalid isolate scope definition for directive "+U.name+": "+e)}})}for(w&&o(w,function(e){var t={$scope:n,$element:f,$attrs:u,$transclude:c};v=e.controller,"@"==v&&(v=u[e.name]),f.data("$"+e.name+"Controller",b(v,t))}),p=0,d=O.length;d>p;p++)try{$=O[p],$(n,f,u,$.require&&l($.require,f))}catch(x){h(x,H(f))}for(e&&e(n,a.childNodes,t,c),p=0,d=N.length;d>p;p++)try{$=N[p],$(n,f,u,$.require&&l($.require,f))}catch(x){h(x,H(f))}}for(var p,d,$,v,w,C,T,M=-Number.MAX_VALUE,O=[],N=[],R=null,U=null,D=null,z=i.$$element=Xt(r),_=a,B=0,X=e.length;X>B&&(p=e[B],$=t,!(M>p.priority));B++){if((T=p.scope)&&(F("isolated scope",U,p,z),m(T)&&(A(z,"ng-isolate-scope"),U=p),A(z,"ng-scope"),R=R||p),d=p.name,(T=p.controller)&&(w=w||{},F("'"+d+"' controller",w[d],p,z),w[d]=p),(T=p.transclude)&&(F("transclusion",v,p,z),v=p,M=p.priority,"element"==T?($=Xt(r),z=i.$$element=Xt(n.createComment(" "+d+": "+i[d]+" ")),r=z[0],I(s,Xt($[0]),r),_=S($,a,M)):($=Xt(sn(r)).contents(),z.html(""),_=S($,a))),T=p.template)if(F("template",D,p,z),D=p,T=W(T),p.replace){if($=Xt("<div>"+E(T)+"</div>").contents(),r=$[0],1!=$.length||1!==r.nodeType)throw Error(u+T);I(s,z,r);var Y={$attr:{}};e=e.concat(j(r,e.splice(B+1,e.length-(B+1)),Y)),P(i,Y),X=e.length}else z.html(T);if(p.templateUrl)F("template",D,p,z),D=p,f=q(e.splice(B,e.length-B),f,z,i,s,p.replace,_),X=e.length;else if(p.compile)try{C=p.compile(z,i,_),k(C)?c(null,C):C&&c(C.pre,C.post)}catch(Z){h(Z,H(z))}p.terminal&&(f.terminal=!0,M=Math.max(M,p.priority))}return f.scope=R&&R.scope,f.transclude=v&&_,f}function O(n,o,a,s){var c=!1;if(r.hasOwnProperty(o))for(var u,l=e.get(o+i),f=0,p=l.length;p>f;f++)try{u=l[f],(s===t||s>u.priority)&&-1!=u.restrict.indexOf(a)&&(n.push(u),c=!0)}catch(d){h(d)}return c}function P(e,n){var t=n.$attr,r=e.$attr,i=e.$$element;o(e,function(r,i){"$"!=i.charAt(0)&&(n[i]&&(r+=("style"===i?";":" ")+n[i]),e.$set(i,r,!0,t[i]))}),o(n,function(n,o){"class"==o?(A(i,n),e["class"]=(e["class"]?e["class"]+" ":"")+n):"style"==o?i.attr("style",i.attr("style")+";"+n):"$"==o.charAt(0)||e.hasOwnProperty(o)||(e[o]=n,r[o]=t[o])})}function q(e,n,t,r,i,o,a){var s,c,f=[],h=t[0],d=e.shift(),$=l({},d,{controller:null,templateUrl:null,transclude:null,scope:null});return t.html(""),p.get(d.templateUrl,{cache:v}).success(function(l){var p,d,v;if(l=W(l),o){if(v=Xt("<div>"+E(l)+"</div>").contents(),p=v[0],1!=v.length||1!==p.nodeType)throw Error(u+l);d={$attr:{}},I(i,t,p),j(p,e,d),P(r,d)}else p=h,t.html(l);for(e.unshift($),s=M(e,p,r,a),c=T(t.contents(),a);f.length;){var g=f.pop(),m=f.pop(),y=f.pop(),b=f.pop(),w=p;y!==h&&(w=sn(p),I(m,Xt(y),w)),s(function(){n(c,b,w,i,g)},b,w,i,g)}f=null}).error(function(e,n,t,r){throw Error("Failed to load template: "+r.url)}),function(e,t,r,i,o){f?(f.push(t),f.push(r),f.push(i),f.push(o)):s(function(){n(c,t,r,i,o)},t,r,i,o)}}function N(e,n){return n.priority-e.priority}function F(e,n,t,r){if(n)throw Error("Multiple directives ["+n.name+", "+t.name+"] asking for "+e+" on: "+H(r))}function R(e,n){var t=c(n,!0);t&&e.push({priority:0,compile:$(function(e,n){var r=n.parent(),i=r.data("$binding")||[];i.push(t),A(r.data("$binding",i),"ng-binding"),e.$watch(t,function(e){n[0].nodeValue=e})})})}function D(e,n,r,i){var o=c(r,!0);o&&n.push({priority:100,compile:$(function(e,n,r){var a=r.$$observers||(r.$$observers={});"class"===i&&(o=c(r[i],!0)),r[i]=t,(a[i]||(a[i]=[])).$$inter=!0,(r.$$observers&&r.$$observers[i].$$scope||e).$watch(o,function(e){r.$set(i,e)})})})}function I(e,n,t){var r,i,o=n[0],a=o.parentNode;if(e)for(r=0,i=e.length;i>r;r++)if(e[r]==o){e[r]=t;break}a&&a.replaceChild(t,o),t[Xt.expando]=o[Xt.expando],n[0]=t}var L=function(e,n){this.$$element=e,this.$attr=n||{}};L.prototype={$normalize:Pn,$set:function(e,n,r,i){var a,s=yn(this.$$element[0],e),c=this.$$observers;s&&(this.$$element.prop(e,n),i=s),this[e]=n,i?this.$attr[e]=i:(i=this.$attr[e],i||(this.$attr[e]=i=J(e,"-"))),"A"===Jt(this.$$element[0])&&"href"===e&&(z.setAttribute("href",n),a=z.href,a.match(f)||(this[e]=n="unsafe:"+a)),r!==!1&&(null===n||n===t?this.$$element.removeAttr(i):this.$$element.attr(i,n)),c&&o(c[e],function(e){try{e(n)}catch(t){h(t)}})},$observe:function(e,n){var t=this,r=t.$$observers||(t.$$observers={}),i=r[e]||(r[e]=[]);return i.push(n),w.$evalAsync(function(){i.$$inter||n(t[e])}),n}};var z=C[0].createElement("a"),_=c.startSymbol(),B=c.endSymbol(),W="{{"==_||"}}"==B?d:function W(e){return e.replace(/\{\{/g,_).replace(/}}/g,B)};return S}]}function Pn(e){return rn(e.replace(wr,""))}function qn(){var e={};this.register=function(n,t){m(n)?l(e,n):e[n]=t},this.$get=["$injector","$window",function(n,t){return function(r,i){if(y(r)){var o=r;r=e.hasOwnProperty(o)?e[o]:Qn(i.$scope,o,!0)||Qn(t,o,!0),Q(r,o,!0)}return n.instantiate(r,i)}}]}function Vn(){this.$get=["$window",function(e){return Xt(e.document)}]}function Nn(){this.$get=["$log",function(e){return function(){e.error.apply(e,arguments)}}]}function Fn(){var e="{{",n="}}";this.startSymbol=function(n){return n?(e=n,this):e},this.endSymbol=function(e){return e?(n=e,this):n},this.$get=["$parse",function(r){function i(i,s){for(var c,u,l,f,h=0,p=[],d=i.length,$=!1,v=[];d>h;)-1!=(c=i.indexOf(e,h))&&-1!=(u=i.indexOf(n,c+o))?(h!=c&&p.push(i.substring(h,c)),p.push(l=r(f=i.substring(c+o,u))),l.exp=f,h=u+a,$=!0):(h!=d&&p.push(i.substring(h)),h=d);return(d=p.length)||(p.push(""),d=1),!s||$?(v.length=d,l=function(e){for(var n,r=0,i=d;i>r;r++)"function"==typeof(n=p[r])&&(n=n(e),null==n||n==t?n="":"string"!=typeof n&&(n=I(n))),v[r]=n;return v.join("")},l.exp=i,l.parts=p,l):t}var o=e.length,a=n.length;return i.startSymbol=function(){return e},i.endSymbol=function(){return n},i}]}function Rn(e){for(var n=e.split("/"),t=n.length;t--;)n[t]=W(n[t]);return n.join("/")}function Un(e,n){var t=xr.exec(e);return t={protocol:t[1],host:t[3],port:f(t[5])||Sr[t[1]]||null,path:t[6]||"/",search:t[8],hash:t[10]},n&&(n.$$protocol=t.protocol,n.$$host=t.host,n.$$port=t.port),t}function Dn(e,n,t){return e+"://"+n+(t==Sr[e]?"":":"+t)}function In(e){return e.substr(0,e.lastIndexOf("/"))}function Ln(e,n,t){var r=Un(e);return decodeURIComponent(r.path)!=n||v(r.hash)||0!==r.hash.indexOf(t)?e:Dn(r.protocol,r.host,r.port)+In(n)+r.hash.substr(t.length)}function zn(e,n,t){var r=Un(e);if(decodeURIComponent(r.path)==n)return e;var i=r.search&&"?"+r.search||"",o=r.hash&&"#"+r.hash||"",a=In(n),s=r.path.substr(a.length);if(0!==r.path.indexOf(a))throw Error('Invalid url "'+e+'", missing path prefix "'+a+'" !');return Dn(r.protocol,r.host,r.port)+n+"#"+t+s+i+o}function Hn(e,n,r){n=n||"",this.$$parse=function(e){var t=Un(e,this);if(0!==t.path.indexOf(n))throw Error('Invalid url "'+e+'", missing path prefix "'+n+'" !');this.$$path=decodeURIComponent(t.path.substr(n.length)),this.$$search=_(t.search),this.$$hash=t.hash&&decodeURIComponent(t.hash)||"",this.$$compose()},this.$$compose=function(){var e=B(this.$$search),t=this.$$hash?"#"+W(this.$$hash):"";this.$$url=Rn(this.$$path)+(e?"?"+e:"")+t,this.$$absUrl=Dn(this.$$protocol,this.$$host,this.$$port)+n+this.$$url},this.$$rewriteAppUrl=function(e){return 0==e.indexOf(r)?e:t},this.$$parse(e)}function _n(e,n,r){var i;this.$$parse=function(e){var t=Un(e,this);if(t.hash&&0!==t.hash.indexOf(n))throw Error('Invalid url "'+e+'", missing hash prefix "'+n+'" !');i=t.path+(t.search?"?"+t.search:""),t=Cr.exec((t.hash||"").substr(n.length)),this.$$path=t[1]?("/"==t[1].charAt(0)?"":"/")+decodeURIComponent(t[1]):"",this.$$search=_(t[3]),this.$$hash=t[5]&&decodeURIComponent(t[5])||"",this.$$compose()},this.$$compose=function(){var e=B(this.$$search),t=this.$$hash?"#"+W(this.$$hash):"";this.$$url=Rn(this.$$path)+(e?"?"+e:"")+t,this.$$absUrl=Dn(this.$$protocol,this.$$host,this.$$port)+i+(this.$$url?"#"+n+this.$$url:"")},this.$$rewriteAppUrl=function(e){return 0==e.indexOf(r)?e:t},this.$$parse(e)}function Bn(e,n,r,i){_n.apply(this,arguments),this.$$rewriteAppUrl=function(e){return 0==e.indexOf(r)?r+i+"#"+n+e.substr(r.length):t}}function Wn(e){return function(){return this[e]}}function Xn(e,n){return function(t){return v(t)?this[e]:(this[e]=n(t),this.$$compose(),this)}}function Yn(){var n="",t=!1;this.hashPrefix=function(e){return g(e)?(n=e,this):n},this.html5Mode=function(e){return g(e)?(t=e,this):t},this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(r,i,o,a){function s(e){r.$broadcast("$locationChangeSuccess",c.absUrl(),e)}var c,u,l,f,h=i.url(),p=Un(h);t?(u=i.baseHref()||"/",l=In(u),f=Dn(p.protocol,p.host,p.port)+l+"/",c=o.history?new Hn(Ln(h,u,n),l,f):new Bn(zn(h,u,n),n,f,u.substr(l.length+1))):(f=Dn(p.protocol,p.host,p.port)+(p.path||"")+(p.search?"?"+p.search:"")+"#"+n+"/",c=new _n(h,n,f)),a.bind("click",function(n){if(!n.ctrlKey&&!n.metaKey&&2!=n.which){for(var t=Xt(n.target);"a"!==Ht(t[0].nodeName);)if(t[0]===a[0]||!(t=t.parent())[0])return;var i=t.prop("href"),o=c.$$rewriteAppUrl(i);i&&!t.attr("target")&&o&&(c.$$parse(o),r.$apply(),n.preventDefault(),e.angular["ff-684208-preventDefault"]=!0)}}),c.absUrl()!=h&&i.url(c.absUrl(),!0),i.onUrlChange(function(e){c.absUrl()!=e&&(r.$evalAsync(function(){var n=c.absUrl();c.$$parse(e),s(n)}),r.$$phase||r.$digest())});var d=0;return r.$watch(function(){var e=i.url(),n=c.$$replace;return d&&e==c.absUrl()||(d++,r.$evalAsync(function(){r.$broadcast("$locationChangeStart",c.absUrl(),e).defaultPrevented?c.$$parse(e):(i.url(c.absUrl(),n),s(e))})),c.$$replace=!1,d}),c}]}function Zn(){this.$get=["$window",function(e){function n(e){return e instanceof Error&&(e.stack?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}function t(t){var r=e.console||{},i=r[t]||r.log||p;return i.apply?function(){var e=[];return o(arguments,function(t){e.push(n(t))}),i.apply(r,e)}:function(e,n){i(e,n)}}return{log:t("log"),warn:t("warn"),info:t("info"),error:t("error")}}]}function Jn(e,n){function r(e){return-1!=e.indexOf(v)}function i(e){return-1!=e.indexOf(w)}function o(){return e.length>y+1?e.charAt(y+1):!1}function a(e){return e>="0"&&"9">=e}function s(e){return" "==e||"\r"==e||" "==e||"\n"==e||" "==e||" "==e}function c(e){return e>="a"&&"z">=e||e>="A"&&"Z">=e||"_"==e||"$"==e}function u(e){return"-"==e||"+"==e||a(e)}function f(n,t,r){throw r=r||y,Error("Lexer Error: "+n+" at column"+(g(t)?"s "+t+"-"+y+" ["+e.substring(t,r)+"]":" "+r)+" in expression ["+e+"].")}function h(){for(var n="",t=y;e.length>y;){var r=Ht(e.charAt(y));if("."==r||a(r))n+=r;else{var i=o();if("e"==r&&u(i))n+=r;else if(u(r)&&i&&a(i)&&"e"==n.charAt(n.length-1))n+=r;else{if(!u(r)||i&&a(i)||"e"!=n.charAt(n.length-1))break;f("Invalid exponent")}}y++}n=1*n,m.push({index:t,text:n,json:!0,fn:function(){return n}})}function p(){for(var t,r,i,o="",u=y;e.length>y;){var f=e.charAt(y);if("."!=f&&!c(f)&&!a(f))break;"."==f&&(t=y),o+=f,y++}if(t)for(r=y;e.length>r;){var f=e.charAt(r);if("("==f){i=o.substr(t-u+1),o=o.substr(0,t-u),y=r;break}if(!s(f))break;r++}var h={index:u,text:o};if(Ar.hasOwnProperty(o))h.fn=h.json=Ar[o];else{var p=nt(o,n);h.fn=l(function(e,n){return p(e,n)},{assign:function(e,n){return Kn(e,o,n)}})}m.push(h),i&&(m.push({index:t,text:".",json:!1}),m.push({index:t+1,text:i,json:!1}))}function d(n){var r=y;y++;for(var i="",o=n,a=!1;e.length>y;){var s=e.charAt(y);if(o+=s,a){if("u"==s){var c=e.substring(y+1,y+5);c.match(/[\da-f]{4}/i)||f("Invalid unicode escape [\\u"+c+"]"),y+=4,i+=String.fromCharCode(parseInt(c,16))}else{var u=Er[s];i+=u?u:s}a=!1}else if("\\"==s)a=!0;else{if(s==n)return y++,m.push({index:r,text:o,string:i,json:!0,fn:function(){return i}}),t;i+=s}y++}f("Unterminated quote",r)}for(var $,v,m=[],y=0,b=[],w=":";e.length>y;){if(v=e.charAt(y),r("\"'"))d(v);else if(a(v)||r(".")&&a(o()))h();else if(c(v))p(),i("{,")&&"{"==b[0]&&($=m[m.length-1])&&($.json=-1==$.text.indexOf("."));else if(r("(){}[].,;:"))m.push({index:y,text:v,json:i(":[,")&&r("{[")||r("}]:,")}),r("{[")&&b.unshift(v),r("}]")&&b.shift(),y++;
else{if(s(v)){y++;continue}var x=v+o(),k=Ar[v],C=Ar[x];C?(m.push({index:y,text:x,fn:C}),y+=2):k?(m.push({index:y,text:v,fn:k,json:i("[,:")&&r("+-")}),y+=1):f("Unexpected next character ",y,y+1)}w=v}return m}function Gn(e,n,r,i){function o(n,t){throw Error("Syntax Error: Token '"+t.text+"' "+n+" at column "+(t.index+1)+" of the expression ["+e+"] starting at ["+e.substring(t.index)+"].")}function a(){if(0===N.length)throw Error("Unexpected end of expression: "+e);return N[0]}function s(e,n,t,r){if(N.length>0){var i=N[0],o=i.text;if(o==e||o==n||o==t||o==r||!e&&!n&&!t&&!r)return i}return!1}function c(e,t,r,i){var a=s(e,t,r,i);return a?(n&&!a.json&&o("is not valid json",a),N.shift(),a):!1}function u(e){c(e)||o("is unexpected, expecting ["+e+"]",s())}function f(e,n){return function(t,r){return e(t,r,n)}}function h(e,n,t){return function(r,i){return n(r,i,e,t)}}function d(){for(var e=[];;)if(N.length>0&&!s("}",")",";","]")&&e.push(I()),!c(";"))return 1==e.length?e[0]:function(n,t){for(var r,i=0;e.length>i;i++){var o=e[i];o&&(r=o(n,t))}return r}}function v(){for(var e,n=m();;){if(!(e=c("|")))return n;n=h(n,e.fn,g())}}function g(){for(var e=c(),n=r(e.text),t=[];;){if(!(e=c(":"))){var i=function(e,r,i){for(var o=[i],a=0;t.length>a;a++)o.push(t[a](e,r));return n.apply(e,o)};return function(){return i}}t.push(m())}}function m(){return F()}function y(){var n,t,r=b();return(t=c("="))?(r.assign||o("implies assignment but ["+e.substring(0,t.index)+"] can not be assigned to",t),n=b(),function(e,t){return r.assign(e,n(e,t),t)}):r}function b(){for(var e,n=w();;){if(!(e=c("||")))return n;n=h(n,e.fn,w())}}function w(){var e,n=x();return(e=c("&&"))&&(n=h(n,e.fn,w())),n}function x(){var e,n=k();return(e=c("==","!="))&&(n=h(n,e.fn,x())),n}function k(){var e,n=C();return(e=c("<",">","<=",">="))&&(n=h(n,e.fn,k())),n}function C(){for(var e,n=S();e=c("+","-");)n=h(n,e.fn,S());return n}function S(){for(var e,n=A();e=c("*","/","%");)n=h(n,e.fn,A());return n}function A(){var e;return c("+")?E():(e=c("-"))?h(V,e.fn,A()):(e=c("!"))?f(e.fn,A()):E()}function E(){var e;if(c("("))e=I(),u(")");else if(c("["))e=O();else if(c("{"))e=P();else{var n=c();e=n.fn,e||o("not a primary expression",n)}for(var t,r;t=c("(","[",".");)"("===t.text?(e=R(e,r),r=null):"["===t.text?(r=e,e=D(e)):"."===t.text?(r=e,e=U(e)):o("IMPOSSIBLE");return e}function T(e){var n=c().text,t=nt(n,i);return l(function(n,r){return t(e(n,r),r)},{assign:function(t,r,i){return Kn(e(t,i),n,r)}})}function j(e){var n=m();return u("]"),l(function(r,i){var o,a,s=e(r,i),c=n(r,i);return s?(o=s[c],o&&o.then&&(a=o,"$$v"in o||(a.$$v=t,a.then(function(e){a.$$v=e})),o=o.$$v),o):t},{assign:function(t,r,i){return e(t,i)[n(t,i)]=r}})}function M(e,n){var t=[];if(")"!=a().text)do t.push(m());while(c(","));return u(")"),function(r,i){for(var o=[],a=n?n(r,i):r,s=0;t.length>s;s++)o.push(t[s](r,i));var c=e(r,i)||p;return c.apply?c.apply(a,o):c(o[0],o[1],o[2],o[3],o[4])}}function O(){var e=[];if("]"!=a().text)do e.push(m());while(c(","));return u("]"),function(n,t){for(var r=[],i=0;e.length>i;i++)r.push(e[i](n,t));return r}}function P(){var e=[];if("}"!=a().text)do{var n=c(),t=n.string||n.text;u(":");var r=m();e.push({key:t,value:r})}while(c(","));return u("}"),function(n,t){for(var r={},i=0;e.length>i;i++){var o=e[i],a=o.value(n,t);r[o.key]=a}return r}}var q,V=$(0),N=Jn(e,i),F=y,R=M,U=T,D=j,I=v;return n?(F=b,R=U=D=I=function(){o("is not valid json",{text:e,index:0})},q=E()):q=d(),0!==N.length&&o("is an unexpected token",N[0]),q}function Kn(e,n,t){for(var r=n.split("."),i=0;r.length>1;i++){var o=r.shift(),a=e[o];a||(a={},e[o]=a),e=a}return e[r.shift()]=t,t}function Qn(e,n,t){if(!n)return e;for(var r,i=n.split("."),o=e,a=i.length,s=0;a>s;s++)r=i[s],e&&(e=(o=e)[r]);return!t&&k(e)?U(o,e):e}function et(e,n,r,i,o){return function(a,s){var c,u=s&&s.hasOwnProperty(e)?s:a;return null===u||u===t?u:(u=u[e],u&&u.then&&("$$v"in u||(c=u,c.$$v=t,c.then(function(e){c.$$v=e})),u=u.$$v),n&&null!==u&&u!==t?(u=u[n],u&&u.then&&("$$v"in u||(c=u,c.$$v=t,c.then(function(e){c.$$v=e})),u=u.$$v),r&&null!==u&&u!==t?(u=u[r],u&&u.then&&("$$v"in u||(c=u,c.$$v=t,c.then(function(e){c.$$v=e})),u=u.$$v),i&&null!==u&&u!==t?(u=u[i],u&&u.then&&("$$v"in u||(c=u,c.$$v=t,c.then(function(e){c.$$v=e})),u=u.$$v),o&&null!==u&&u!==t?(u=u[o],u&&u.then&&("$$v"in u||(c=u,c.$$v=t,c.then(function(e){c.$$v=e})),u=u.$$v),u):u):u):u):u)}}function nt(e,n){if(Tr.hasOwnProperty(e))return Tr[e];var r,i=e.split("."),a=i.length;if(n)r=6>a?et(i[0],i[1],i[2],i[3],i[4]):function(e,n){var r,o=0;do r=et(i[o++],i[o++],i[o++],i[o++],i[o++])(e,n),n=t,e=r;while(a>o);return r};else{var s="var l, fn, p;\n";o(i,function(e,n){s+="if(s === null || s === undefined) return s;\nl=s;\ns="+(n?"s":'((k&&k.hasOwnProperty("'+e+'"))?k:s)')+'["'+e+'"]'+";\n"+"if (s && s.then) {\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"}),s+="return s;",r=Function("s","k",s),r.toString=function(){return s}}return Tr[e]=r}function tt(){var e={};this.$get=["$filter","$sniffer",function(n,t){return function(r){switch(typeof r){case"string":return e.hasOwnProperty(r)?e[r]:e[r]=Gn(r,!1,n,t.csp);case"function":return r;default:return p}}}]}function rt(){this.$get=["$rootScope","$exceptionHandler",function(e,n){return it(function(n){e.$evalAsync(n)},n)}]}function it(e,n){function r(e){return e}function i(e){return u(e)}function a(e){var n=s(),t=e.length,r=[];return t?o(e,function(e,i){c(e).then(function(e){i in r||(r[i]=e,--t||n.resolve(r))},function(e){i in r||n.reject(e)})}):n.resolve(r),n.promise}var s=function(){var o,a,l=[];return a={resolve:function(n){if(l){var r=l;l=t,o=c(n),r.length&&e(function(){for(var e,n=0,t=r.length;t>n;n++)e=r[n],o.then(e[0],e[1])})}},reject:function(e){a.resolve(u(e))},promise:{then:function(e,t){var a=s(),c=function(t){try{a.resolve((e||r)(t))}catch(i){n(i),a.reject(i)}},u=function(e){try{a.resolve((t||i)(e))}catch(r){n(r),a.reject(r)}};return l?l.push([c,u]):o.then(c,u),a.promise}}}},c=function(n){return n&&n.then?n:{then:function(t){var r=s();return e(function(){r.resolve(t(n))}),r.promise}}},u=function(n){return{then:function(t,r){var o=s();return e(function(){o.resolve((r||i)(n))}),o.promise}}},l=function(t,o,a){var l,f=s(),h=function(e){try{return(o||r)(e)}catch(t){return n(t),u(t)}},p=function(e){try{return(a||i)(e)}catch(t){return n(t),u(t)}};return e(function(){c(t).then(function(e){l||(l=!0,f.resolve(c(e).then(h,p)))},function(e){l||(l=!0,f.resolve(p(e)))})}),f.promise};return{defer:s,reject:u,when:l,all:a}}function ot(){var e={};this.when=function(n,t){if(e[n]=l({reloadOnSearch:!0},t),n){var r="/"==n[n.length-1]?n.substr(0,n.length-1):n+"/";e[r]={redirectTo:n}}return this},this.otherwise=function(e){return this.when(null,e),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache",function(n,t,r,i,a,s,c){function u(e,n){n="^"+n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"$";for(var t,r="",i=[],a={},s=/:(\w+)/g,c=0;null!==(t=s.exec(n));)r+=n.slice(c,t.index),r+="([^\\/]*)",i.push(t[1]),c=s.lastIndex;r+=n.substr(c);var u=e.match(RegExp(r));return u&&o(i,function(e,n){a[e]=u[n+1]}),u?a:null}function f(){var e=p(),u=v.current;e&&u&&e.$route===u.$route&&N(e.pathParams,u.pathParams)&&!e.reloadOnSearch&&!$?(u.params=e.params,q(u.params,r),n.$broadcast("$routeUpdate",u)):(e||u)&&($=!1,n.$broadcast("$routeChangeStart",e,u),v.current=e,e&&e.redirectTo&&(y(e.redirectTo)?t.path(d(e.redirectTo,e.params)).search(e.params).replace():t.url(e.redirectTo(e.pathParams,t.path(),t.search())).replace()),i.when(e).then(function(){if(e){var n,t=[],r=[];return o(e.resolve||{},function(e,n){t.push(n),r.push(y(e)?a.get(e):a.invoke(e))}),g(n=e.template)||g(n=e.templateUrl)&&(n=s.get(n,{cache:c}).then(function(e){return e.data})),g(n)&&(t.push("$template"),r.push(n)),i.all(r).then(function(e){var n={};return o(e,function(e,r){n[t[r]]=e}),n})}}).then(function(t){e==v.current&&(e&&(e.locals=t,q(e.params,r)),n.$broadcast("$routeChangeSuccess",e,u))},function(t){e==v.current&&n.$broadcast("$routeChangeError",e,u,t)}))}function p(){var n,r;return o(e,function(e,i){!r&&(n=u(t.path(),i))&&(r=h(e,{params:l({},t.search(),n),pathParams:n}),r.$route=e)}),r||e[null]&&h(e[null],{params:{},pathParams:{}})}function d(e,n){var t=[];return o((e||"").split(":"),function(e,r){if(0==r)t.push(e);else{var i=e.match(/(\w+)(.*)/),o=i[1];t.push(n[o]),t.push(i[2]||""),delete n[o]}}),t.join("")}var $=!1,v={routes:e,reload:function(){$=!0,n.$evalAsync(f)}};return n.$on("$locationChangeSuccess",f),v}]}function at(){this.$get=$({})}function st(){var e=10;this.digestTtl=function(n){return arguments.length&&(e=n),e},this.$get=["$injector","$exceptionHandler","$parse",function(n,t,r){function i(){this.$id=u(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this["this"]=this.$root=this,this.$$destroyed=!1,this.$$asyncQueue=[],this.$$listeners={},this.$$isolateBindings={}}function o(e){if(l.$$phase)throw Error(l.$$phase+" already in progress");l.$$phase=e}function a(){l.$$phase=null}function s(e,n){var t=r(e);return Q(t,n),t}function c(){}i.prototype={$new:function(e){var n,t;if(k(e))throw Error("API-CHANGE: Use $controller to instantiate controllers.");return e?(t=new i,t.$root=this.$root):(n=function(){},n.prototype=this,t=new n,t.$id=u()),t["this"]=t,t.$$listeners={},t.$parent=this,t.$$asyncQueue=[],t.$$watchers=t.$$nextSibling=t.$$childHead=t.$$childTail=null,t.$$prevSibling=this.$$childTail,this.$$childHead?(this.$$childTail.$$nextSibling=t,this.$$childTail=t):this.$$childHead=this.$$childTail=t,t},$watch:function(e,n,t){var r=this,i=s(e,"watch"),o=r.$$watchers,a={fn:n,last:c,get:i,exp:e,eq:!!t};if(!k(n)){var u=s(n||p,"listener");a.fn=function(e,n,t){u(t)}}return o||(o=r.$$watchers=[]),o.unshift(a),function(){P(o,a)}},$digest:function(){var n,r,i,s,u,l,f,h,p,d,$,v=e,g=this,m=[];o("$digest");do{f=!1,p=g;do{for(u=p.$$asyncQueue;u.length;)try{p.$eval(u.shift())}catch(y){t(y)}if(s=p.$$watchers)for(l=s.length;l--;)try{n=s[l],(r=n.get(p))===(i=n.last)||(n.eq?N(r,i):"number"==typeof r&&"number"==typeof i&&isNaN(r)&&isNaN(i))||(f=!0,n.last=n.eq?q(r):r,n.fn(r,i===c?r:i,p),5>v&&(d=4-v,m[d]||(m[d]=[]),$=k(n.exp)?"fn: "+(n.exp.name||""+n.exp):n.exp,$+="; newVal: "+I(r)+"; oldVal: "+I(i),m[d].push($)))}catch(y){t(y)}if(!(h=p.$$childHead||p!==g&&p.$$nextSibling))for(;p!==g&&!(h=p.$$nextSibling);)p=p.$parent}while(p=h);if(f&&!v--)throw a(),Error(e+" $digest() iterations reached. Aborting!\n"+"Watchers fired in the last 5 iterations: "+I(m))}while(f||u.length);a()},$destroy:function(){if(l!=this&&!this.$$destroyed){var e=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,e.$$childHead==this&&(e.$$childHead=this.$$nextSibling),e.$$childTail==this&&(e.$$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(e,n){return r(e)(this,n)},$evalAsync:function(e){this.$$asyncQueue.push(e)},$apply:function(e){try{return o("$apply"),this.$eval(e)}catch(n){t(n)}finally{a();try{l.$digest()}catch(n){throw t(n),n}}},$on:function(e,n){var t=this.$$listeners[e];return t||(this.$$listeners[e]=t=[]),t.push(n),function(){t[O(t,n)]=null}},$emit:function(e){var n,r,i,o=[],a=this,s=!1,c={name:e,targetScope:a,stopPropagation:function(){s=!0},preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},u=F([c],arguments,1);do{for(n=a.$$listeners[e]||o,c.currentScope=a,r=0,i=n.length;i>r;r++)if(n[r])try{if(n[r].apply(null,u),s)return c}catch(l){t(l)}else n.splice(r,1),r--,i--;a=a.$parent}while(a);return c},$broadcast:function(e){var n,r,i,o=this,a=o,s=o,c={name:e,targetScope:o,preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},u=F([c],arguments,1);do{for(a=s,c.currentScope=a,n=a.$$listeners[e]||[],r=0,i=n.length;i>r;r++)if(n[r])try{n[r].apply(null,u)}catch(l){t(l)}else n.splice(r,1),r--,i--;if(!(s=a.$$childHead||a!==o&&a.$$nextSibling))for(;a!==o&&!(s=a.$$nextSibling);)a=a.$parent}while(a=s);return c}};var l=new i;return l}]}function ct(){this.$get=["$window",function(e){var n={},t=f((/android (\d+)/.exec(Ht(e.navigator.userAgent))||[])[1]);return{history:!(!e.history||!e.history.pushState||4>t),hashchange:"onhashchange"in e&&(!e.document.documentMode||e.document.documentMode>7),hasEvent:function(t){if("input"==t&&9==Gt)return!1;if(v(n[t])){var r=e.document.createElement("div");n[t]="on"+t in r}return n[t]},csp:!1}}]}function ut(){this.$get=$(e)}function lt(e){var n,t,r,i={};return e?(o(e.split("\n"),function(e){r=e.indexOf(":"),n=Ht(E(e.substr(0,r))),t=E(e.substr(r+1)),n&&(i[n]?i[n]+=", "+t:i[n]=t)}),i):i}function ft(e){var n=m(e)?e:t;return function(t){return n||(n=lt(e)),t?n[Ht(t)]||null:n}}function ht(e,n,t){return k(t)?t(e,n):(o(t,function(t){e=t(e,n)}),e)}function pt(e){return e>=200&&300>e}function dt(){var e=/^\s*(\[|\{[^\{])/,n=/[\}\]]\s*$/,r=/^\)\]\}',?\n/,i=this.defaults={transformResponse:[function(t){return y(t)&&(t=t.replace(r,""),e.test(t)&&n.test(t)&&(t=L(t,!0))),t}],transformRequest:[function(e){return m(e)&&!A(e)?I(e):e}],headers:{common:{Accept:"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest"},post:{"Content-Type":"application/json;charset=utf-8"},put:{"Content-Type":"application/json;charset=utf-8"}}},a=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(e,n,r,c,u,f){function h(e){function t(e){var n=l({},e,{data:ht(e.data,e.headers,s)});return pt(e.status)?n:u.reject(n)}e.method=_t(e.method);var r,a=e.transformRequest||i.transformRequest,s=e.transformResponse||i.transformResponse,c=i.headers,f=l({"X-XSRF-TOKEN":n.cookies()["XSRF-TOKEN"]},c.common,c[Ht(e.method)],e.headers),h=ht(e.data,ft(f),a);return v(e.data)&&delete f["Content-Type"],r=$(e,h,f),r=r.then(t,t),o(w,function(e){r=e(r)}),r.success=function(n){return r.then(function(t){n(t.data,t.status,t.headers,e)}),r},r.error=function(n){return r.then(null,function(t){n(t.data,t.status,t.headers,e)}),r},r}function p(){o(arguments,function(e){h[e]=function(n,t){return h(l(t||{},{method:e,url:n}))}})}function d(){o(arguments,function(e){h[e]=function(n,t,r){return h(l(r||{},{method:e,url:n,data:t}))}})}function $(n,t,r){function i(e,n,t){s&&(pt(e)?s.put(d,[e,n,lt(t)]):s.remove(d)),o(n,e,t),c.$apply()}function o(e,t,r){t=Math.max(t,0),(pt(t)?f.resolve:f.reject)({data:e,status:t,headers:ft(r),config:n})}function a(){var e=O(h.pendingRequests,n);-1!==e&&h.pendingRequests.splice(e,1)}var s,l,f=u.defer(),p=f.promise,d=g(n.url,n.params);if(h.pendingRequests.push(n),p.then(a,a),n.cache&&"GET"==n.method&&(s=m(n.cache)?n.cache:b),s)if(l=s.get(d)){if(l.then)return l.then(a,a),l;x(l)?o(l[1],l[0],q(l[2])):o(l,200,{})}else s.put(d,p);return l||e(n.method,d,t,i,r,n.timeout,n.withCredentials),p}function g(e,n){if(!n)return e;var r=[];return s(n,function(e,n){null!=e&&e!=t&&(m(e)&&(e=I(e)),r.push(encodeURIComponent(n)+"="+encodeURIComponent(e)))}),e+(-1==e.indexOf("?")?"?":"&")+r.join("&")}var b=r("$http"),w=[];return o(a,function(e){w.push(y(e)?f.get(e):f.invoke(e))}),h.pendingRequests=[],p("get","delete","head","jsonp"),d("post","put"),h.defaults=i,h}]}function $t(){this.$get=["$browser","$window","$document",function(e,n,t){return vt(e,jr,e.defer,n.angular.callbacks,t[0],n.location.protocol.replace(":",""))}]}function vt(e,n,t,r,i,a){function s(e,n){var t=i.createElement("script"),r=function(){i.body.removeChild(t),n&&n()};t.type="text/javascript",t.src=e,Gt?t.onreadystatechange=function(){/loaded|complete/.test(t.readyState)&&r()}:t.onload=t.onerror=r,i.body.appendChild(t)}return function(i,c,u,l,f,h,d){function $(n,t,r,i){var o=(c.match(xr)||["",a])[1];t="file"==o?r?200:404:t,t=1223==t?204:t,n(t,r,i),e.$$completeOutstandingRequest(p)}if(e.$$incOutstandingRequestCount(),c=c||e.url(),"jsonp"==Ht(i)){var v="_"+(r.counter++).toString(36);r[v]=function(e){r[v].data=e},s(c.replace("JSON_CALLBACK","angular.callbacks."+v),function(){r[v].data?$(l,200,r[v].data):$(l,-2),delete r[v]})}else{var g=new n;g.open(i,c,!0),o(f,function(e,n){e&&g.setRequestHeader(n,e)});var m;g.onreadystatechange=function(){if(4==g.readyState){var e=g.getAllResponseHeaders(),n=["Cache-Control","Content-Language","Content-Type","Expires","Last-Modified","Pragma"];e||(e="",o(n,function(n){var t=g.getResponseHeader(n);t&&(e+=n+": "+t+"\n")})),$(l,m||g.status,g.responseText,e)}},d&&(g.withCredentials=!0),g.send(u||""),h>0&&t(function(){m=-1,g.abort()},h)}}}function gt(){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:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),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(e){return 1===e?"one":"other"}}}}function mt(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(e,n,t,r){function i(i,a,s){var c,u,l=t.defer(),f=l.promise,h=g(s)&&!s;return c=n.defer(function(){try{l.resolve(i())}catch(n){l.reject(n),r(n)}h||e.$apply()},a),u=function(){delete o[f.$$timeoutId]},f.$$timeoutId=c,o[c]=l,f.then(u,u),f}var o={};return i.cancel=function(e){return e&&e.$$timeoutId in o?(o[e.$$timeoutId].reject("canceled"),n.defer.cancel(e.$$timeoutId)):!1},i}]}function yt(e){function n(n,r){return e.factory(n+t,r)}var t="Filter";this.register=n,this.$get=["$injector",function(e){return function(n){return e.get(n+t)}}],n("currency",wt),n("date",jt),n("filter",bt),n("json",Mt),n("limitTo",Ot),n("lowercase",Vr),n("number",xt),n("orderBy",Pt),n("uppercase",Nr)}function bt(){return function(e,n){if(!x(e))return e;var t=[];t.check=function(e){for(var n=0;t.length>n;n++)if(!t[n](e))return!1;return!0};var r=function(e,n){if("!"===n.charAt(0))return!r(e,n.substr(1));switch(typeof e){case"boolean":case"number":case"string":return(""+e).toLowerCase().indexOf(n)>-1;case"object":for(var t in e)if("$"!==t.charAt(0)&&r(e[t],n))return!0;return!1;case"array":for(var i=0;e.length>i;i++)if(r(e[i],n))return!0;return!1;default:return!1}};switch(typeof n){case"boolean":case"number":case"string":n={$:n};case"object":for(var i in n)"$"==i?function(){var e=(""+n[i]).toLowerCase();e&&t.push(function(n){return r(n,e)})}():function(){var e=i,o=(""+n[i]).toLowerCase();o&&t.push(function(n){return r(Qn(n,e),o)})}();break;case"function":t.push(n);break;default:return e}for(var o=[],a=0;e.length>a;a++){var s=e[a];t.check(s)&&o.push(s)}return o}}function wt(e){var n=e.NUMBER_FORMATS;return function(e,t){return v(t)&&(t=n.CURRENCY_SYM),kt(e,n.PATTERNS[1],n.GROUP_SEP,n.DECIMAL_SEP,2).replace(/\u00A4/g,t)}}function xt(e){var n=e.NUMBER_FORMATS;return function(e,t){return kt(e,n.PATTERNS[0],n.GROUP_SEP,n.DECIMAL_SEP,t)}}function kt(e,n,t,r,i){if(isNaN(e)||!isFinite(e))return"";var o=0>e;e=Math.abs(e);var a=e+"",s="",c=[],u=!1;if(-1!==a.indexOf("e")){var l=a.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>i+1?a="0":(s=a,u=!0)}if(!u){var f=(a.split(Mr)[1]||"").length;v(i)&&(i=Math.min(Math.max(n.minFrac,f),n.maxFrac));var h=Math.pow(10,i);e=Math.round(e*h)/h;var p=(""+e).split(Mr),d=p[0];p=p[1]||"";var $=0,g=n.lgSize,m=n.gSize;if(d.length>=g+m){$=d.length-g;for(var y=0;$>y;y++)0===($-y)%m&&0!==y&&(s+=t),s+=d.charAt(y)}for(y=$;d.length>y;y++)0===(d.length-y)%g&&0!==y&&(s+=t),s+=d.charAt(y);for(;i>p.length;)p+="0";i&&"0"!==i&&(s+=r+p.substr(0,i))}return c.push(o?n.negPre:n.posPre),c.push(s),c.push(o?n.negSuf:n.posSuf),c.join("")}function Ct(e,n,t){var r="";for(0>e&&(r="-",e=-e),e=""+e;n>e.length;)e="0"+e;return t&&(e=e.substr(e.length-n)),r+e}function St(e,n,t,r){return function(i){var o=i["get"+e]();return(t>0||o>-t)&&(o+=t),0===o&&-12==t&&(o=12),Ct(o,n,r)}}function At(e,n){return function(t,r){var i=t["get"+e](),o=_t(n?"SHORT"+e:e);return r[o][i]}}function Et(e){var n=-1*e.getTimezoneOffset(),t=n>=0?"+":"";return t+=Ct(n/60,2)+Ct(Math.abs(n%60),2)}function Tt(e,n){return 12>e.getHours()?n.AMPMS[0]:n.AMPMS[1]}function jt(e){function n(e){var n;if(n=e.match(t)){var r=new Date(0),i=0,o=0;return n[9]&&(i=f(n[9]+n[10]),o=f(n[9]+n[11])),r.setUTCFullYear(f(n[1]),f(n[2])-1,f(n[3])),r.setUTCHours(f(n[4]||0)-i,f(n[5]||0)-o,f(n[6]||0),f(n[7]||0)),r}return e}var t=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(t,r){var i,a,s="",c=[];if(r=r||"mediumDate",r=e.DATETIME_FORMATS[r]||r,y(t)&&(t=qr.test(t)?f(t):n(t)),b(t)&&(t=new Date(t)),!w(t))return t;for(;r;)a=Pr.exec(r),a?(c=F(c,a,1),r=c.pop()):(c.push(r),r=null);return o(c,function(n){i=Or[n],s+=i?i(t,e.DATETIME_FORMATS):n.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),s}}function Mt(){return function(e){return I(e,!0)}}function Ot(){return function(e,n){if(!(e instanceof Array))return e;n=f(n);var t,r,i=[];if(!(e&&e instanceof Array))return i;for(n>e.length?n=e.length:-e.length>n&&(n=-e.length),n>0?(t=0,r=n):(t=e.length+n,r=e.length);r>t;t++)i.push(e[t]);return i}}function Pt(e){return function(n,t,r){function i(e,n){for(var r=0;t.length>r;r++){var i=t[r](e,n);if(0!==i)return i}return 0}function o(e,n){return z(n)?function(n,t){return e(t,n)}:e}function a(e,n){var t=typeof e,r=typeof n;return t==r?("string"==t&&(e=e.toLowerCase()),"string"==t&&(n=n.toLowerCase()),e===n?0:n>e?-1:1):r>t?-1:1}if(!x(n))return n;if(!t)return n;t=x(t)?t:[t],t=j(t,function(n){var t=!1,r=n||d;return y(n)&&(("+"==n.charAt(0)||"-"==n.charAt(0))&&(t="-"==n.charAt(0),n=n.substring(1)),r=e(n)),o(function(e,n){return a(r(e),r(n))},t)});for(var s=[],c=0;n.length>c;c++)s.push(n[c]);return s.sort(o(i,r))}}function qt(e){return k(e)&&(e={link:e}),e.restrict=e.restrict||"AC",$(e)}function Vt(e,n){function t(n,t){t=t?"-"+J(t,"-"):"",e.removeClass((n?Yr:Xr)+t).addClass((n?Xr:Yr)+t)}var r=this,i=e.parent().controller("form")||Ur,a=0,s=r.$error={};r.$name=n.name,r.$dirty=!1,r.$pristine=!0,r.$valid=!0,r.$invalid=!1,i.$addControl(r),e.addClass(Zr),t(!0),r.$addControl=function(e){e.$name&&!r.hasOwnProperty(e.$name)&&(r[e.$name]=e)},r.$removeControl=function(e){e.$name&&r[e.$name]===e&&delete r[e.$name],o(s,function(n,t){r.$setValidity(t,!0,e)})},r.$setValidity=function(e,n,o){var c=s[e];if(n)c&&(P(c,o),c.length||(a--,a||(t(n),r.$valid=!0,r.$invalid=!1),s[e]=!1,t(!0,e),i.$setValidity(e,!0,r)));else{if(a||t(n),c){if(M(c,o))return}else s[e]=c=[],a++,t(!1,e),i.$setValidity(e,!1,r);c.push(o),r.$valid=!1,r.$invalid=!0}},r.$setDirty=function(){e.removeClass(Zr).addClass(Jr),r.$dirty=!0,r.$pristine=!1,i.$setDirty()}}function Nt(e){return v(e)||""===e||null===e||e!==e}function Ft(e,n,r,i,o,a){var s=function(){var t=E(n.val());i.$viewValue!==t&&e.$apply(function(){i.$setViewValue(t)})};if(o.hasEvent("input"))n.bind("input",s);else{var c;n.bind("keydown",function(e){var n=e.keyCode;91===n||n>15&&19>n||n>=37&&40>=n||c||(c=a.defer(function(){s(),c=null}))}),n.bind("change",s)}i.$render=function(){n.val(Nt(i.$viewValue)?"":i.$viewValue)};var u,l=r.ngPattern,h=function(e,n){return Nt(n)||e.test(n)?(i.$setValidity("pattern",!0),n):(i.$setValidity("pattern",!1),t)};if(l&&(l.match(/^\/(.*)\/$/)?(l=RegExp(l.substr(1,l.length-2)),u=function(e){return h(l,e)}):u=function(n){var t=e.$eval(l);if(!t||!t.test)throw Error("Expected "+l+" to be a RegExp but was "+t);return h(t,n)},i.$formatters.push(u),i.$parsers.push(u)),r.ngMinlength){var p=f(r.ngMinlength),d=function(e){return!Nt(e)&&p>e.length?(i.$setValidity("minlength",!1),t):(i.$setValidity("minlength",!0),e)};i.$parsers.push(d),i.$formatters.push(d)}if(r.ngMaxlength){var $=f(r.ngMaxlength),v=function(e){return!Nt(e)&&e.length>$?(i.$setValidity("maxlength",!1),t):(i.$setValidity("maxlength",!0),e)};i.$parsers.push(v),i.$formatters.push(v)}}function Rt(e,n,r,i,o,a){if(Ft(e,n,r,i,o,a),i.$parsers.push(function(e){var n=Nt(e);return n||_r.test(e)?(i.$setValidity("number",!0),""===e?null:n?e:parseFloat(e)):(i.$setValidity("number",!1),t)}),i.$formatters.push(function(e){return Nt(e)?"":""+e}),r.min){var s=parseFloat(r.min),c=function(e){return!Nt(e)&&s>e?(i.$setValidity("min",!1),t):(i.$setValidity("min",!0),e)};i.$parsers.push(c),i.$formatters.push(c)}if(r.max){var u=parseFloat(r.max),l=function(e){return!Nt(e)&&e>u?(i.$setValidity("max",!1),t):(i.$setValidity("max",!0),e)};i.$parsers.push(l),i.$formatters.push(l)}i.$formatters.push(function(e){return Nt(e)||b(e)?(i.$setValidity("number",!0),e):(i.$setValidity("number",!1),t)})}function Ut(e,n,r,i,o,a){Ft(e,n,r,i,o,a);var s=function(e){return Nt(e)||zr.test(e)?(i.$setValidity("url",!0),e):(i.$setValidity("url",!1),t)};i.$formatters.push(s),i.$parsers.push(s)}function Dt(e,n,r,i,o,a){Ft(e,n,r,i,o,a);var s=function(e){return Nt(e)||Hr.test(e)?(i.$setValidity("email",!0),e):(i.$setValidity("email",!1),t)};i.$formatters.push(s),i.$parsers.push(s)}function It(e,n,t,r){v(t.name)&&n.attr("name",u()),n.bind("click",function(){n[0].checked&&e.$apply(function(){r.$setViewValue(t.value)})}),r.$render=function(){var e=t.value;n[0].checked=e==r.$viewValue},t.$observe("value",r.$render)}function Lt(e,n,t,r){var i=t.ngTrueValue,o=t.ngFalseValue;y(i)||(i=!0),y(o)||(o=!1),n.bind("click",function(){e.$apply(function(){r.$setViewValue(n[0].checked)})}),r.$render=function(){n[0].checked=r.$viewValue},r.$formatters.push(function(e){return e===i}),r.$parsers.push(function(e){return e?i:o})}function zt(e,n){return e="ngClass"+e,qt(function(r,i,o){function a(e){(n===!0||r.$index%2===n)&&(u&&e!==u&&s(u),c(e)),u=e}function s(e){m(e)&&!x(e)&&(e=j(e,function(e,n){return e?n:t})),i.removeClass(x(e)?e.join(" "):e)}function c(e){m(e)&&!x(e)&&(e=j(e,function(e,n){return e?n:t})),e&&i.addClass(x(e)?e.join(" "):e)}var u=t;r.$watch(o[e],a,!0),o.$observe("class",function(){var n=r.$eval(o[e]);a(n,n)}),"ngClass"!==e&&r.$watch("$index",function(t,i){var a=t%2;a!==i%2&&(a==n?c(r.$eval(o[e])):s(r.$eval(o[e])))})})}var Ht=function(e){return y(e)?e.toLowerCase():e},_t=function(e){return y(e)?e.toUpperCase():e},Bt=function(e){return y(e)?e.replace(/[A-Z]/g,function(e){return r(32|e.charCodeAt(0))}):e},Wt=function(e){return y(e)?e.replace(/[a-z]/g,function(e){return r(-33&e.charCodeAt(0))}):e};"i"!=="I".toLowerCase()&&(Ht=Bt,_t=Wt);var Xt,Yt,Zt,Jt,Gt=f((/msie (\d+)/.exec(Ht(navigator.userAgent))||[])[1]),Kt=[].slice,Qt=[].push,er=Object.prototype.toString,nr=e.angular||(e.angular={}),tr=["0","0","0"];p.$inject=[],d.$inject=[],Jt=9>Gt?function(e){return e=e.nodeName?e:e[0],e.scopeName&&"HTML"!=e.scopeName?_t(e.scopeName+":"+e.nodeName):e.nodeName}:function(e){return e.nodeName?e.nodeName:e[0].nodeName};var rr=/[A-Z]/g,ir={full:"1.0.5",major:1,minor:0,dot:5,codeName:"flatulent-propulsion"},or=an.cache={},ar=an.expando="ng-"+(new Date).getTime(),sr=1,cr=e.document.addEventListener?function(e,n,t){e.addEventListener(n,t,!1)}:function(e,n,t){e.attachEvent("on"+n,t)},ur=e.document.removeEventListener?function(e,n,t){e.removeEventListener(n,t,!1)}:function(e,n,t){e.detachEvent("on"+n,t)},lr=/([\:\-\_]+(.))/g,fr=/^moz([A-Z])/,hr=an.prototype={ready:function(n){function t(){r||(r=!0,n())}var r=!1;this.bind("DOMContentLoaded",t),an(e).bind("load",t)},toString:function(){var e=[];return o(this,function(n){e.push(""+n)}),"["+e.join(", ")+"]"},eq:function(e){return e>=0?Xt(this[e]):Xt(this[this.length+e])},length:0,push:Qt,sort:[].sort,splice:[].splice},pr={};o("multiple,selected,checked,disabled,readOnly,required".split(","),function(e){pr[Ht(e)]=e});var dr={};o("input,select,option,textarea,button,form".split(","),function(e){dr[_t(e)]=!0}),o({data:hn,inheritedData:mn,scope:function(e){return mn(e,"$scope")},controller:gn,injector:function(e){return mn(e,"$injector")},removeAttr:function(e,n){e.removeAttribute(n)},hasClass:pn,css:function(e,n,r){if(n=rn(n),!g(r)){var i;return 8>=Gt&&(i=e.currentStyle&&e.currentStyle[n],""===i&&(i="auto")),i=i||e.style[n],8>=Gt&&(i=""===i?t:i),i}e.style[n]=r},attr:function(e,n,r){var i=Ht(n);if(pr[i]){if(!g(r))return e[n]||(e.attributes.getNamedItem(n)||p).specified?i:t;r?(e[n]=!0,e.setAttribute(n,i)):(e[n]=!1,e.removeAttribute(i))}else if(g(r))e.setAttribute(n,r);else if(e.getAttribute){var o=e.getAttribute(n,2);return null===o?t:o}},prop:function(e,n,r){return g(r)?(e[n]=r,t):e[n]},text:l(9>Gt?function(e,n){if(1==e.nodeType){if(v(n))return e.innerText;e.innerText=n}else{if(v(n))return e.nodeValue;e.nodeValue=n}}:function(e,n){return v(n)?e.textContent:(e.textContent=n,t)},{$dv:""}),val:function(e,n){return v(n)?e.value:(e.value=n,t)},html:function(e,n){if(v(n))return e.innerHTML;for(var t=0,r=e.childNodes;r.length>t;t++)cn(r[t]);e.innerHTML=n}},function(e,n){an.prototype[n]=function(n,r){var i,o;if((2==e.length&&e!==pn&&e!==gn?n:r)!==t){for(i=0;this.length>i;i++)e(this[i],n,r);return this}if(m(n)){for(i=0;this.length>i;i++)if(e===hn)e(this[i],n);else for(o in n)e(this[i],o,n[o]);return this}return this.length?e(this[0],n,r):e.$dv}}),o({removeData:ln,dealoc:cn,bind:function $r(e,n,t){var r=fn(e,"events"),i=fn(e,"handle");r||fn(e,"events",r={}),i||fn(e,"handle",i=bn(e,r)),o(n.split(" "),function(n){var o=r[n];if(!o){if("mouseenter"==n||"mouseleave"==n){var a=0;r.mouseenter=[],r.mouseleave=[],$r(e,"mouseover",function(e){a++,1==a&&i(e,"mouseenter")}),$r(e,"mouseout",function(e){a--,0==a&&i(e,"mouseleave")})}else cr(e,n,i),r[n]=[];o=r[n]}o.push(t)})},unbind:un,replaceWith:function(e,n){var t,r=e.parentNode;cn(e),o(new an(n),function(n){t?r.insertBefore(n,t.nextSibling):r.replaceChild(n,e),t=n})},children:function(e){var n=[];return o(e.childNodes,function(e){1===e.nodeType&&n.push(e)}),n},contents:function(e){return e.childNodes||[]},append:function(e,n){o(new an(n),function(n){1===e.nodeType&&e.appendChild(n)})},prepend:function(e,n){if(1===e.nodeType){var t=e.firstChild;o(new an(n),function(n){t?e.insertBefore(n,t):(e.appendChild(n),t=n)})}},wrap:function(e,n){n=Xt(n)[0];var t=e.parentNode;t&&t.replaceChild(n,e),n.appendChild(e)},remove:function(e){cn(e);var n=e.parentNode;n&&n.removeChild(e)},after:function(e,n){var t=e,r=e.parentNode;o(new an(n),function(e){r.insertBefore(e,t.nextSibling),t=e})},addClass:$n,removeClass:dn,toggleClass:function(e,n,t){v(t)&&(t=!pn(e,n)),(t?$n:dn)(e,n)},parent:function(e){var n=e.parentNode;return n&&11!==n.nodeType?n:null},next:function(e){if(e.nextElementSibling)return e.nextElementSibling;for(var n=e.nextSibling;null!=n&&1!==n.nodeType;)n=n.nextSibling;return n},find:function(e,n){return e.getElementsByTagName(n)},clone:sn,triggerHandler:function(e,n){var t=(fn(e,"events")||{})[n];o(t,function(n){n.call(e,null)})}},function(e,n){an.prototype[n]=function(n,r){for(var i,o=0;this.length>o;o++)i==t?(i=e(this[o],n,r),i!==t&&(i=Xt(i))):vn(i,e(this[o],n,r));return i==t?this:i}}),xn.prototype={put:function(e,n){this[wn(e)]=n},get:function(e){return this[wn(e)]},remove:function(e){var n=this[e=wn(e)];return delete this[e],n}},kn.prototype={push:function(e,n){var t=this[e=wn(e)];t?t.push(n):this[e]=[n]},shift:function(e){var n=this[e=wn(e)];return n?1==n.length?(delete this[e],n[0]):n.shift():t},peek:function(e){var n=this[wn(e)];return n?n[0]:t}};var vr=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,gr=/,/,mr=/^\s*(_?)(\S+?)\1\s*$/,yr=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,br="Non-assignable model expression: ";On.$inject=["$provide"];var wr=/^(x[\:\-_]|data[\:\-_])/i,xr=/^([^:]+):\/\/(\w+:{0,1}\w*@)?([\w\.-]*)(:([0-9]+))?(\/[^\?#]*)?(\?([^#]*))?(#(.*))?$/,kr=/^([^\?#]*)?(\?([^#]*))?(#(.*))?$/,Cr=kr,Sr={http:80,https:443,ftp:21};
Hn.prototype={$$replace:!1,absUrl:Wn("$$absUrl"),url:function(e,n){if(v(e))return this.$$url;var t=kr.exec(e);return t[1]&&this.path(decodeURIComponent(t[1])),(t[2]||t[1])&&this.search(t[3]||""),this.hash(t[5]||"",n),this},protocol:Wn("$$protocol"),host:Wn("$$host"),port:Wn("$$port"),path:Xn("$$path",function(e){return"/"==e.charAt(0)?e:"/"+e}),search:function(e,n){return v(e)?this.$$search:(g(n)?null===n?delete this.$$search[e]:this.$$search[e]=n:this.$$search=y(e)?_(e):e,this.$$compose(),this)},hash:Xn("$$hash",d),replace:function(){return this.$$replace=!0,this}},_n.prototype=h(Hn.prototype),Bn.prototype=h(_n.prototype);var Ar={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:p,"+":function(e,n,r,i){return r=r(e,n),i=i(e,n),g(r)?g(i)?r+i:r:g(i)?i:t},"-":function(e,n,t,r){return t=t(e,n),r=r(e,n),(g(t)?t:0)-(g(r)?r:0)},"*":function(e,n,t,r){return t(e,n)*r(e,n)},"/":function(e,n,t,r){return t(e,n)/r(e,n)},"%":function(e,n,t,r){return t(e,n)%r(e,n)},"^":function(e,n,t,r){return t(e,n)^r(e,n)},"=":p,"==":function(e,n,t,r){return t(e,n)==r(e,n)},"!=":function(e,n,t,r){return t(e,n)!=r(e,n)},"<":function(e,n,t,r){return t(e,n)<r(e,n)},">":function(e,n,t,r){return t(e,n)>r(e,n)},"<=":function(e,n,t,r){return t(e,n)<=r(e,n)},">=":function(e,n,t,r){return t(e,n)>=r(e,n)},"&&":function(e,n,t,r){return t(e,n)&&r(e,n)},"||":function(e,n,t,r){return t(e,n)||r(e,n)},"&":function(e,n,t,r){return t(e,n)&r(e,n)},"|":function(e,n,t,r){return r(e,n)(e,n,t(e,n))},"!":function(e,n,t){return!t(e,n)}},Er={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},Tr={},jr=e.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(n){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(t){}throw Error("This browser does not support XMLHttpRequest.")};yt.$inject=["$provide"],wt.$inject=["$locale"],xt.$inject=["$locale"];var Mr=".",Or={yyyy:St("FullYear",4),yy:St("FullYear",2,0,!0),y:St("FullYear",1),MMMM:At("Month"),MMM:At("Month",!0),MM:St("Month",2,1),M:St("Month",1,1),dd:St("Date",2),d:St("Date",1),HH:St("Hours",2),H:St("Hours",1),hh:St("Hours",2,-12),h:St("Hours",1,-12),mm:St("Minutes",2),m:St("Minutes",1),ss:St("Seconds",2),s:St("Seconds",1),EEEE:At("Day"),EEE:At("Day",!0),a:Tt,Z:Et},Pr=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,qr=/^\d+$/;jt.$inject=["$locale"];var Vr=$(Ht),Nr=$(_t);Pt.$inject=["$parse"];var Fr=$({restrict:"E",compile:function(e,t){return 8>=Gt&&(t.href||t.name||t.$set("href",""),e.append(n.createComment("IE fix"))),function(e,n){n.bind("click",function(e){n.attr("href")||e.preventDefault()})}}}),Rr={};o(pr,function(e,n){var t=Pn("ng-"+n);Rr[t]=function(){return{priority:100,compile:function(){return function(e,r,i){e.$watch(i[t],function(e){i.$set(n,!!e)})}}}}}),o(["src","href"],function(e){var n=Pn("ng-"+e);Rr[n]=function(){return{priority:99,link:function(t,r,i){i.$observe(n,function(n){n&&(i.$set(e,n),Gt&&r.prop(e,i[e]))})}}}});var Ur={$addControl:p,$removeControl:p,$setValidity:p,$setDirty:p};Vt.$inject=["$element","$attrs","$scope"];var Dr=function(e){return["$timeout",function(n){var r={name:"form",restrict:"E",controller:Vt,compile:function(){return{pre:function(e,r,i,o){if(!i.action){var a=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1};cr(r[0],"submit",a),r.bind("$destroy",function(){n(function(){ur(r[0],"submit",a)},0,!1)})}var s=r.parent().controller("form"),c=i.name||i.ngForm;c&&(e[c]=o),s&&r.bind("$destroy",function(){s.$removeControl(o),c&&(e[c]=t),l(o,Ur)})}}}};return e?l(q(r),{restrict:"EAC"}):r}]},Ir=Dr(),Lr=Dr(!0),zr=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Hr=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/,_r=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Br={text:Ft,number:Rt,url:Ut,email:Dt,radio:It,checkbox:Lt,hidden:p,button:p,submit:p,reset:p},Wr=["$browser","$sniffer",function(e,n){return{restrict:"E",require:"?ngModel",link:function(t,r,i,o){o&&(Br[Ht(i.type)]||Br.text)(t,r,i,o,n,e)}}}],Xr="ng-valid",Yr="ng-invalid",Zr="ng-pristine",Jr="ng-dirty",Gr=["$scope","$exceptionHandler","$attrs","$element","$parse",function(e,n,t,r,i){function a(e,n){n=n?"-"+J(n,"-"):"",r.removeClass((e?Yr:Xr)+n).addClass((e?Xr:Yr)+n)}this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=t.name;var s=i(t.ngModel),c=s.assign;if(!c)throw Error(br+t.ngModel+" ("+H(r)+")");this.$render=p;var u=r.inheritedData("$formController")||Ur,l=0,f=this.$error={};r.addClass(Zr),a(!0),this.$setValidity=function(e,n){f[e]!==!n&&(n?(f[e]&&l--,l||(a(!0),this.$valid=!0,this.$invalid=!1)):(a(!1),this.$invalid=!0,this.$valid=!1,l++),f[e]=!n,a(n,e),u.$setValidity(e,n,this))},this.$setViewValue=function(t){this.$viewValue=t,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,r.removeClass(Zr).addClass(Jr),u.$setDirty()),o(this.$parsers,function(e){t=e(t)}),this.$modelValue!==t&&(this.$modelValue=t,c(e,t),o(this.$viewChangeListeners,function(e){try{e()}catch(t){n(t)}}))};var h=this;e.$watch(function(){var n=s(e);if(h.$modelValue!==n){var t=h.$formatters,r=t.length;for(h.$modelValue=n;r--;)n=t[r](n);h.$viewValue!==n&&(h.$viewValue=n,h.$render())}})}],Kr=function(){return{require:["ngModel","^?form"],controller:Gr,link:function(e,n,t,r){var i=r[0],o=r[1]||Ur;o.$addControl(i),n.bind("$destroy",function(){o.$removeControl(i)})}}},Qr=$({require:"ngModel",link:function(e,n,t,r){r.$viewChangeListeners.push(function(){e.$eval(t.ngChange)})}}),ei=function(){return{require:"?ngModel",link:function(e,n,r,i){if(i){r.required=!0;var o=function(e){return r.required&&(Nt(e)||e===!1)?(i.$setValidity("required",!1),t):(i.$setValidity("required",!0),e)};i.$formatters.push(o),i.$parsers.unshift(o),r.$observe("required",function(){o(i.$viewValue)})}}}},ni=function(){return{require:"ngModel",link:function(e,n,r,i){var a=/\/(.*)\//.exec(r.ngList),s=a&&RegExp(a[1])||r.ngList||",",c=function(e){var n=[];return e&&o(e.split(s),function(e){e&&n.push(E(e))}),n};i.$parsers.push(c),i.$formatters.push(function(e){return x(e)?e.join(", "):t})}}},ti=/^(true|false|\d+)$/,ri=function(){return{priority:100,compile:function(e,n){return ti.test(n.ngValue)?function(e,n,t){t.$set("value",e.$eval(t.ngValue))}:function(e,n,t){e.$watch(t.ngValue,function(e){t.$set("value",e,!1)})}}}},ii=qt(function(e,n,r){n.addClass("ng-binding").data("$binding",r.ngBind),e.$watch(r.ngBind,function(e){n.text(e==t?"":e)})}),oi=["$interpolate",function(e){return function(n,t,r){var i=e(t.attr(r.$attr.ngBindTemplate));t.addClass("ng-binding").data("$binding",i),r.$observe("ngBindTemplate",function(e){t.text(e)})}}],ai=[function(){return function(e,n,t){n.addClass("ng-binding").data("$binding",t.ngBindHtmlUnsafe),e.$watch(t.ngBindHtmlUnsafe,function(e){n.html(e||"")})}}],si=zt("",!0),ci=zt("Odd",0),ui=zt("Even",1),li=qt({compile:function(e,n){n.$set("ngCloak",t),e.removeClass("ng-cloak")}}),fi=[function(){return{scope:!0,controller:"@"}}],hi=["$sniffer",function(e){return{priority:1e3,compile:function(){e.csp=!0}}}],pi={};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave".split(" "),function(e){var n=Pn("ng-"+e);pi[n]=["$parse",function(t){return function(r,i,o){var a=t(o[n]);i.bind(Ht(e),function(e){r.$apply(function(){a(r,{$event:e})})})}}]});var di=qt(function(e,n,t){n.bind("submit",function(){e.$apply(t.ngSubmit)})}),$i=["$http","$templateCache","$anchorScroll","$compile",function(e,n,t,r){return{restrict:"ECA",terminal:!0,compile:function(i,o){var a=o.ngInclude||o.src,s=o.onload||"",c=o.autoscroll;return function(i,o){var u,l=0,f=function(){u&&(u.$destroy(),u=null),o.html("")};i.$watch(a,function(a){var h=++l;a?e.get(a,{cache:n}).success(function(e){h===l&&(u&&u.$destroy(),u=i.$new(),o.html(e),r(o.contents())(u),!g(c)||c&&!i.$eval(c)||t(),u.$emit("$includeContentLoaded"),i.$eval(s))}).error(function(){h===l&&f()}):f()})}}}}],vi=qt({compile:function(){return{pre:function(e,n,t){e.$eval(t.ngInit)}}}}),gi=qt({terminal:!0,priority:1e3}),mi=["$locale","$interpolate",function(e,n){var t=/{}/g;return{restrict:"EA",link:function(r,i,a){var s=a.count,c=i.attr(a.$attr.when),u=a.offset||0,l=r.$eval(c),f={},h=n.startSymbol(),p=n.endSymbol();o(l,function(e,r){f[r]=n(e.replace(t,h+s+"-"+u+p))}),r.$watch(function(){var n=parseFloat(r.$eval(s));return isNaN(n)?"":(l[n]||(n=e.pluralCat(n-u)),f[n](r,i,!0))},function(e){i.text(e)})}}}],yi=qt({transclude:"element",priority:1e3,terminal:!0,compile:function(e,n,t){return function(e,n,r){var i,o,a,s,c=r.ngRepeat,u=c.match(/^\s*(.+)\s+in\s+(.*)\s*$/);if(!u)throw Error("Expected ngRepeat in form of '_item_ in _collection_' but got '"+c+"'.");if(i=u[1],o=u[2],u=i.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!u)throw Error("'item' in 'item in collection' should be identifier or (key, value) but got '"+i+"'.");a=u[3]||u[1],s=u[2];var l=new kn;e.$watch(function(e){var r,i,c,u,f,h,p,d,$=e.$eval(o),v=n,g=new kn;if(x($))p=$||[];else{p=[];for(f in $)$.hasOwnProperty(f)&&"$"!=f.charAt(0)&&p.push(f);p.sort()}for(c=p.length,r=0,i=p.length;i>r;r++)f=$===p?r:p[r],h=$[f],d=l.shift(h),d?(u=d.scope,g.push(h,d),r===d.index?v=d.element:(d.index=r,v.after(d.element),v=d.element)):u=e.$new(),u[a]=h,s&&(u[s]=f),u.$index=r,u.$first=0===r,u.$last=r===c-1,u.$middle=!(u.$first||u.$last),d||t(u,function(e){v.after(e),d={scope:u,element:v=e,index:r},g.push(h,d)});for(f in l)if(l.hasOwnProperty(f))for(p=l[f];p.length;)h=p.pop(),h.element.remove(),h.scope.$destroy();l=g})}}}),bi=qt(function(e,n,t){e.$watch(t.ngShow,function(e){n.css("display",z(e)?"":"none")})}),wi=qt(function(e,n,t){e.$watch(t.ngHide,function(e){n.css("display",z(e)?"none":"")})}),xi=qt(function(e,n,t){e.$watch(t.ngStyle,function(e,t){t&&e!==t&&o(t,function(e,t){n.css(t,"")}),e&&n.css(e)},!0)}),ki=$({restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(e,n,t,r){var i,o,a,s=t.ngSwitch||t.on;e.$watch(s,function(s){o&&(a.$destroy(),o.remove(),o=a=null),(i=r.cases["!"+s]||r.cases["?"])&&(e.$eval(t.change),a=e.$new(),i(a,function(e){o=e,n.append(e)}))})}}),Ci=qt({transclude:"element",priority:500,require:"^ngSwitch",compile:function(e,n,t){return function(e,r,i,o){o.cases["!"+n.ngSwitchWhen]=t}}}),Si=qt({transclude:"element",priority:500,require:"^ngSwitch",compile:function(e,n,t){return function(e,n,r,i){i.cases["?"]=t}}}),Ai=qt({controller:["$transclude","$element",function(e,n){e(function(e){n.append(e)})}]}),Ei=["$http","$templateCache","$route","$anchorScroll","$compile","$controller",function(e,n,t,r,i,o){return{restrict:"ECA",terminal:!0,link:function(e,n,a){function s(){l&&(l.$destroy(),l=null)}function c(){n.html(""),s()}function u(){var a=t.current&&t.current.locals,u=a&&a.$template;if(u){n.html(u),s();var h,p=i(n.contents()),d=t.current;l=d.scope=e.$new(),d.controller&&(a.$scope=l,h=o(d.controller,a),n.children().data("$ngControllerController",h)),p(l),l.$emit("$viewContentLoaded"),l.$eval(f),r()}else c()}var l,f=a.onload||"";e.$on("$routeChangeSuccess",u),u()}}}],Ti=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(n,t){if("text/ng-template"==t.type){var r=t.id,i=n[0].text;e.put(r,i)}}}}],ji=$({terminal:!0}),Mi=["$compile","$parse",function(e,r){var i=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w\d]*)|(?:\(\s*([\$\w][\$\w\d]*)\s*,\s*([\$\w][\$\w\d]*)\s*\)))\s+in\s+(.*)$/,s={$setViewValue:p};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(e,n,t){var r,i,o=this,a={},c=s;o.databound=t.ngModel,o.init=function(e,n,t){c=e,r=n,i=t},o.addOption=function(n){a[n]=!0,c.$viewValue==n&&(e.val(n),i.parent()&&i.remove())},o.removeOption=function(e){this.hasOption(e)&&(delete a[e],c.$viewValue==e&&this.renderUnknownOption(e))},o.renderUnknownOption=function(n){var t="? "+wn(n)+" ?";i.val(t),e.prepend(i),e.val(t),i.prop("selected",!0)},o.hasOption=function(e){return a.hasOwnProperty(e)},n.$on("$destroy",function(){o.renderUnknownOption=p})}],link:function(s,c,u,l){function f(e,n,t,r){t.$render=function(){var e=t.$viewValue;r.hasOption(e)?(C.parent()&&C.remove(),n.val(e),""===e&&d.prop("selected",!0)):v(e)&&d?n.val(""):r.renderUnknownOption(e)},n.bind("change",function(){e.$apply(function(){C.parent()&&C.remove(),t.$setViewValue(n.val())})})}function h(e,n,t){var r;t.$render=function(){var e=new xn(t.$viewValue);o(n.find("option"),function(n){n.selected=g(e.get(n.value))})},e.$watch(function(){N(r,t.$viewValue)||(r=q(t.$viewValue),t.$render())}),n.bind("change",function(){e.$apply(function(){var e=[];o(n.find("option"),function(n){n.selected&&e.push(n.value)}),t.$setViewValue(e)})})}function p(n,o,s){function c(){var e,r,i,c,u,g,m,b,C,S,A,E,T,j,M={"":[]},O=[""],P=s.$modelValue,q=$(n)||[],V=h?a(q):q,N={},F=!1;for(y?F=new xn(P):(null===P||w)&&(M[""].push({selected:null===P,id:"",label:""}),F=!0),S=0;b=V.length,b>S;S++)N[f]=q[h?N[h]=V[S]:S],e=p(n,N)||"",(r=M[e])||(r=M[e]=[],O.push(e)),y?A=F.remove(d(n,N))!=t:(A=P===d(n,N),F=F||A),j=l(n,N),j=j===t?"":j,r.push({id:h?V[S]:S,label:j,selected:A});for(y||F||M[""].unshift({id:"?",label:"",selected:!0}),C=0,m=O.length;m>C;C++){for(e=O[C],r=M[e],C>=v.length?(c={element:k.clone().attr("label",e),label:r.label},u=[c],v.push(u),o.append(c.element)):(u=v[C],c=u[0],c.label!=e&&c.element.attr("label",c.label=e)),E=null,S=0,b=r.length;b>S;S++)i=r[S],(g=u[S+1])?(E=g.element,g.label!==i.label&&E.text(g.label=i.label),g.id!==i.id&&E.val(g.id=i.id),g.element.selected!==i.selected&&E.prop("selected",g.selected=i.selected)):(""===i.id&&w?T=w:(T=x.clone()).val(i.id).attr("selected",i.selected).text(i.label),u.push(g={element:T,label:i.label,id:i.id,selected:i.selected}),E?E.after(T):c.element.append(T),E=T);for(S++;u.length>S;)u.pop().element.remove()}for(;v.length>C;)v.pop()[0].element.remove()}var u;if(!(u=b.match(i)))throw Error("Expected ngOptions in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '"+b+"'.");var l=r(u[2]||u[1]),f=u[4]||u[6],h=u[5],p=r(u[3]||""),d=r(u[2]?u[1]:f),$=r(u[7]),v=[[{element:o,label:""}]];w&&(e(w)(n),w.removeClass("ng-scope"),w.remove()),o.html(""),o.bind("change",function(){n.$apply(function(){var e,r,i,a,c,u,l,p,g=$(n)||[],m={};if(y)for(i=[],u=0,p=v.length;p>u;u++)for(e=v[u],c=1,l=e.length;l>c;c++)(a=e[c].element)[0].selected&&(r=a.val(),h&&(m[h]=r),m[f]=g[r],i.push(d(n,m)));else r=o.val(),"?"==r?i=t:""==r?i=null:(m[f]=g[r],h&&(m[h]=r),i=d(n,m));s.$setViewValue(i)})}),s.$render=c,n.$watch(c)}if(l[1]){for(var d,$=l[0],m=l[1],y=u.multiple,b=u.ngOptions,w=!1,x=Xt(n.createElement("option")),k=Xt(n.createElement("optgroup")),C=x.clone(),S=0,A=c.children(),E=A.length;E>S;S++)if(""==A[S].value){d=w=A.eq(S);break}if($.init(m,w,C),y&&(u.required||u.ngRequired)){var T=function(e){return m.$setValidity("required",!u.required||e&&e.length),e};m.$parsers.push(T),m.$formatters.unshift(T),u.$observe("required",function(){T(m.$viewValue)})}b?p(s,c,m):y?h(s,c,m):f(s,c,m,$)}}}}],Oi=["$interpolate",function(e){var n={addOption:p,removeOption:p};return{restrict:"E",priority:100,compile:function(t,r){if(v(r.value)){var i=e(t.text(),!0);i||r.$set("value",t.text())}return function(e,t,r){var o="$selectController",a=t.parent(),s=a.data(o)||a.parent().data(o);s&&s.databound?t.prop("selected",!1):s=n,i?e.$watch(i,function(e,n){r.$set("value",e),e!==n&&s.removeOption(n),s.addOption(e)}):s.addOption(r.value),t.bind("$destroy",function(){s.removeOption(r.value)})}}}}],Pi=$({restrict:"E",terminal:!0});G(),nn(nr),Xt(n).ready(function(){Y(n,Z)})})(window,document),angular.element(document).find("head").append('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak{display:none;}ng\\:form{display:block;}</style>'),angular.module("fdApp",[]).config(["$routeProvider","$locationProvider",function(e,n){e.when("/",{templateUrl:"views/main.html"}).when("/editor",{templateUrl:"views/editor.html"}).when("/gallery",{templateUrl:"views/gallery.html",controller:"GalleryCtrl"}).otherwise({redirectTo:"/"}),n.html5Mode(!0)}]),angular.module("fdApp").controller("AppCtrl",["$scope","$location","$filter","Font",function(e,n,t,r){e.routeIs=function(e){return n.path()===e},e.fonts=[{name:"VomZom",size:"15kb",author:"D.Rock",authorurl:"http://defaulterror.com/typo.htm",license:"Free for personal and commercial use.",licenseurl:"http://defaulterror.com/typo.htm#Font%20License%20Information",active:!0}],e.font=r,e.handleDrop=function(n){var t=n.getData("text/plain"),r=n.files||!1,i=r||t,o=r&&r.length;e.$emit("addFont",i,o)},e.year=(new Date).getFullYear(),e.addFont=function(n,r,i){var o,a=t("file"),s=t("jsonfile"),c=t("fontfacecss");o=i?a(r):s(r),e.fonts=e.fonts.concat(o),e.$emit("injectfontface",c(o))},e.$on("addFont",e.addFont)}]),angular.module("fdApp").controller("GalleryCtrl",["$scope","$http",function(e,n){n.get("/gallery/gallery.json").success(function(n){e.gallery=n}),e.loadFont=function(t){n.get(t+"/index.json").success(function(n){e.$emit("addFont",n)})}}]),angular.module("fdApp").directive("fdDnd",function(){return{restrict:"A",link:function(e,n,t){n.bind("drop",function(n){n.preventDefault(),e.$apply(function(e){e[t.fdDnd](n.dataTransfer)})}),n.bind("dragenter",function(e){e.preventDefault()}),n.bind("dragover",function(e){e.preventDefault()})}}}),angular.module("fdApp").directive("fdFontList",["Font",function(e){var n=['<ul id="fonts" class="fonts">','<li ng-repeat="font in fonts" fd-tap="updateFont()" ng-class="{active: font.active}">','<div tabindex="0" ng-style="{ \'font-family\': font.name }">',"<span>{{font.name}}</span>",'<div tabindex="0" class="info01">',"<ul>",'<li class="title">',"<strong ng-style=\"{ 'font-family': font.name }\">{{font.name}}</strong>","</li>","<li>","<strong>Size</strong> {{font.size}}","</li>","<li>",'<strong>Author</strong> <a href="{{font.authorurl}}">{{font.author}}</a>',"</li>","<li>",'<strong>License</strong> <a href="{{font.licenseurl}}">{{font.license}}</a>',"</li>","</ul>","</div>","</div>","</li>","</ul>"].join("");return{restrict:"A",replace:!0,template:n,link:function(n){n.updateFont=function(){angular.forEach(n.fonts,function(e){e.active=!1}),this.font.active=!0,e.activeFont=this.font.name}}}}]),angular.module("fdApp").directive("fdTap",function(){return{restrict:"A",link:function(e,n,t){if("ontouchstart"in window){var r=!1;n.bind("touchstart",function(){r=!0}),n.bind("touchmove",function(){r=!1}),n.bind("touchcancel",function(){r=!1}),n.bind("touchend",function(){r&&e.$apply(t.fdTap,n)})}else n.bind("click",function(){e.$apply(t.fdTap,n)})}}}),angular.module("fdApp").directive("fdVideo",function(){return{template:'<iframe frameborder="0"></iframe>',restrict:"A",replace:!0,scope:{src:"@",width:"@",height:"@"}}}),angular.module("fdApp").directive("link",function(){return{restrict:"E",link:function(e,n){var t=n[0].sheet;e.$on("injectfontface",function(e,n){angular.forEach(n,function(e){t.insertRule(e,0)})})}}}),angular.module("fdApp").filter("file",function(){return function(e){var n,t,r,i,o=[],a=/\.(ttf|otf|woff)$/i,s=window.URL||window.webkitURL||{};return angular.forEach(e,function(e){n=e.name,n.match(a)?(t=n.replace(/\.\w+$/,""),t=t.replace(/\W+/g,"-"),r=Math.round(e.size/1024)+"kb",i=s.createObjectURL(e),o.push({result:i,name:t,size:r,author:"",authorurl:"",license:"",licenseurl:""})):alert("Invalid file extension. Will only accept ttf, otf or woff font files")}),o}}),angular.module("fdApp").filter("fontfacecss",function(){return function(e){var n=[];return angular.forEach(e,function(e){n.push(["@font-face{font-family: ",e.name,"; src:url(",e.result,");}"].join(""))}),n}}),angular.module("fdApp").filter("jsonfile",[function(){return function(e){if(!e.error){var n=[],t=e.fontName.split("/").reverse()[0];return t=t.replace(/\.\w+$/,""),e.fontSize=Math.round(e.fontSize/1024)+"kb",e.fontDataURL="data:application/octet-stream;base64,"+e.fontDataURL,n.push({name:t,size:e.fontSize,license:e.fontLicense,licenseurl:e.fontLicenseUrl,author:e.fontAuthor,authorurl:e.fontAuthorUrl,result:e.fontDataURL}),n}alert(e.error)}}]),angular.module("fdApp").factory("Font",[function(){return{activeFont:"VomZom"}}]),angular.module("fdApp").run(["$templateCache",function(e){e.put("views/editor.html",'<section id="banner" role="banner" class="clearfix"><div class="container grid"><h1 id="fontname" ng-style="{ \'font-family\': font.activeFont }" class="colx8">{{font.activeFont}}</h1><aside role="complementary" class="colx4"><div fd-font-list=""></div></aside></div></section><div id="wfs" contenteditable="true" ng-style="{ \'font-family\': font.activeFont }" class="grid"><section role="region" class="colx6"><h2>Text sample <span>&#8211; CSS font-size (px) with 1.4em line-height</span></h2><p class="s s18"><span>18</span>Is not the best kind of originality that which comes after a sound apprenticeship? That which shall prove to be the blending of a firm conception of, &#8220;useful precedent&#8221;&hellip;</p><p class="s s14"><span>14</span>Is not the best kind of originality that which comes after a sound apprenticeship? That which shall prove to be the blending of a firm conception of, &#8220;useful precedent&#8221; and the progressive tendencies of&hellip;</p><p class="s s12"><span>12</span>Is not the best kind of originality that which comes after a sound apprenticeship? That which shall prove to be the blending of a firm conception of, &#8220;useful precedent&#8221; and the progressive tendencies of an able mind. For, let a man be as able &amp; original&hellip;</p><p class="s s11"><span>11</span>Is not the best kind of originality that which comes after a sound apprenticeship? That which shall prove to be the blending of a firm conception of, &#8220;useful precedent&#8221; and the progressive tendencies of an able mind. For, let a man be as able &amp; original as he may&hellip;</p><p class="s s10"><span>10</span>Is not the best kind of originality that which comes after a sound apprenticeship? That which shall prove to be the blending of a firm conception of, &#8220;useful precedent&#8221; and the progressive tendencies of an able mind. For, let a man be as able &amp; original as he may, he can&#8217;t afford to discard knowledge of what&hellip;</p><p class="s s9"><span>9</span>Is not the best kind of originality that which comes after a sound apprenticeship? That which shall prove to be the blending of a firm conception of, &#8220;useful precedent&#8221; and the progressive tendencies of an able mind. For, let a man be as able &amp; original as he may, he can&#8217;t afford to discard knowledge of what has gone before or what is now going&hellip;</p></section><section role="region" class="colx6 charset"><h2>Characters</h2><p class="s s56">A&#8201;B&#8201;C&#8201;D&#8201;E&#8201;F&#8201;G&#8201;H&#8201;I&#8201;J&#8201;K&#8201;L&#8201;M&#8201;N&#8201;O&#8201;P&#8201;Q&#8201;R&#8201;S&#8201;T&#8201;U&#8201;V&#8201;W&#8201;X&#8201;Y&#8201;Z<br/>a&#8201;b&#8201;c&#8201;d&#8201;e&#8201;f&#8201;g&#8201;h&#8201;i&#8201;j&#8201;k&#8201;l&#8201;m&#8201;n&#8201;o&#8201;p&#8201;q&#8201;r&#8201;s&#8201;t&#8201;u&#8201;v&#8201;w&#8201;x&#8201;y&#8201;z<br/>1&#8201;2&#8201;3&#8201;4&#8201;5&#8201;6&#8201;7&#8201;8&#8201;9&#8201;0&#8201;&amp;&#8201;@&#8201;.&#8201;,&#8201;?&#8201;!&#8201;&#8217;&#8201;&#8220;&#8201;&#8221;&#8201;(&#8201;)</p></section><section class="colx12"><h2>Body size comparison</h2><div class="bodysize"><table><tr><th class="fontname">Font name</th><th>Arial<a href="http://www.codestyle.org/servlets/FontStack?stack=Arial,Helvetica&amp;generic=sans-serif">stack</a></th><th>Times<a href="http://www.codestyle.org/servlets/FontStack?stack=Times+New+Roman,Times&amp;generic=serif">stack</a></th><th>Georgia<a href="http://www.codestyle.org/servlets/FontStack?stack=Georgia,New+Century+Schoolbook,Nimbus+Roman+No9+L&amp;generic=serif">stack</a></th></tr><tr><td><span>Body</span></td><td class="tf typeface2"><span>Body</span></td><td class="tf typeface3"><span>Body</span></td><td class="tf typeface4"><span>Body</span></td></tr></table></div></section><section class="colx12"><h2>Grayscale<span>&#8211; CSS hex color</span></h2><div class="grayscale clearfix"><div class="colx6 white alpha"><p class="c000"><span>#000</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p><p class="c333"><span>#333</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p><p class="c666"><span>#666</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p><p class="c999"><span>#999</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p><p class="cCCC"><span>#CCC</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p></div><div class="colx6 black omega"><p class="cFFF"><span>#FFF</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p><p class="cCCC"><span>#CCC</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p><p class="c999"><span>#999</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p><p class="c666"><span>#666</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p><p class="c333"><span>#333</span>The best kind of originality is that which comes after a sound apprenticeship, that which shall prove to be the blending of a firm conception of useful precedent and the progressive tendencies of an able mind. For, let a man be as able and original as he may, he cannot afford to</p></div></div></section><section class="ulc clearfix"><section class="colx12"><h2>Size<span>&#8211; CSS font-size (px)</span></h2><p class="s s36"><span>36</span><span class="text">Pack my box with five dozen liquor jugs.</span></p><p class="s s30"><span>30</span><span class="text">Pack my box with five dozen liquor jugs.</span></p><p class="s s24"><span>24</span><span class="text">Pack my box with five dozen liquor jugs.</span></p></section><section class="colx8"><p class="s s21"><span>21</span><span class="text">Pack my box with five dozen liquor jugs.</span></p><p class="s s18"><span>18</span><span class="text">Pack my box with five dozen liquor jugs.</span></p></section><section class="colx4 upp"><p class="s s9"><span>9</span><span class="text">Pack my box with five dozen liquor jugs</span></p><p class="s s10"><span>10</span><span class="text">Pack my box with five dozen liquor jugs</span></p></section><div class="clearfix"></div><section class="colx6"><p class="s s16"><span>16</span><span class="text">Pack my box with five dozen liquor jugs.</span></p><p class="s s14"><span>14</span><span class="text">Pack my box with five dozen liquor jugs.</span></p><p class="s s13"><span>13</span><span class="text">Pack my box with five dozen liquor jugs.</span></p></section><section class="colx6 upp"><p class="s s11"><span>11</span><span class="text">Pack my box with five dozen liquor jugs</span></p><p class="s s12"><span>12</span><span class="text">Pack my box with five dozen liquor jugs</span></p><p class="s s13"><span>13</span><span class="text">Pack my box with five dozen liquor jugs</span></p></section><div class="clearfix"></div><section class="colx4"><p class="s s12"><span>12</span><span class="text">Pack my box with five dozen liquor jugs.</span></p><p class="s s11"><span>11</span><span class="text">Pack my box with five dozen liquor jugs.</span></p><p class="s s10"><span>10</span><span class="text">Pack my box with five dozen liquor jugs.</span></p><p class="s s9"><span>9</span><span class="text">Pack my box with five dozen liquor jugs.</span></p></section><section class="colx8 upp"><p class="s s14"><span>14</span><span class="text">Pack my box with five dozen liquor jugs</span></p><p class="s s16"><span>16</span><span class="text">Pack my box with five dozen liquor jugs</span></p><p class="s s18"><span>18</span><span class="text">Pack my box with five dozen liquor jugs</span></p></section><div class="clearfix"></div><section class="colx12 upp"><p class="s s21"><span>21</span><span class="text">Pack my box with five dozen liquor jugs</span></p><p class="s s24"><span>24</span><span class="text">Pack my box with five dozen liquor jugs</span></p><p class="s s30"><span>30</span><span class="text">Pack my box with five dozen liquor jugs</span></p></section></section></div>'),e.put("views/gallery.html",'<section id="banner" role="banner" class="clearfix"><div class="container grid"><h1 id="fontname" ng-style="{ \'font-family\': font.activeFont }" class="colx8">{{font.activeFont}}</h1><aside role="complementary" class="colx4"><div fd-font-list=""></div></aside></div></section><div class="content grid gallery clearfix"><div ng-repeat="font in gallery" class="colx4 item"><h2>{{ font.name }}<div tabindex="0" class="info01"><ul><li class="title"><strong>{{ font.name }}</strong></li><li><strong>Size: </strong>{{ font.size }}</li><li><strong>Author:</strong><a ng-href="{{ font.authorurl }}">{{ font.author }}</a></li><li><strong>License:</strong><a ng-href="{{ font.licenseurl }}">{{ font.license }}</a></li></ul></div></h2><p ng-style="{\'font-family\': font.name + \'-subset\'}" class="preview">AaBbCcDd</p><a id="{{font.name}}" draggable="true" fd-tap="loadFont(\'gallery/{{font.name}}\')" class="button"> \nLoad {{ font.name }}</a></div></div>'),e.put("views/main.html",'<section id="banner" role="banner" class="clearfix"><div class="container grid"><h1 class="colx8">A revolutionary way to test custom fonts in the browser. No coding, no uploading, just drag and drop.</h1><aside role="complementary" class="colx4"><div fd-video="" src="http://www.screenr.com/embed/D8hs" height="200" width="300"></div></aside></div></section><div class="content grid clearfix"><section role="region" class="colx4"><h1>Drag your fonts here</h1><div fd-font-list=""></div></section><section id="custom" role="main" class="colx8"><div class="colx4 alpha"><h1>What is it?</h1><p>font dragr allows you to easily test custom fonts, through the <code>@font-face</code> at-rule, without the need for any CSS coding or knowledge of CSS coding. All you need to do is drag and drop.</p><p>It alleviates the cumbersome nature of testing custom fonts and allows you to quickly and easily load in a font, play around with it and see if it\'s the right one for you.</p></div><div class="colx4 omega"><h1>How do I use it?</h1><p>It\'s incredibly easy to use. All you need to do is drag and drop a font file from your computer into font dragr in a supporting browser (Such as Firefox 3.6+ or Chrome 6+).</p><p>You can also select a font to test from the gallery. These fonts can be tested in most browsers, including IE6 and up.</p></div></section><section class="colx12"><h1 class="hr01"><span>The revolution doesn\'t end there</span></h1><div class="colx8 alpha"><h1>You can test on any website</h1><p>Testing fonts within font dragr, while useful, won\'t give the full look and feel of testing it on your own site. That\'s where the font dragr bookmarklet comes in handy.</p><p>The bookmarklet allows you to test any font from your file system or any of the fonts found in the gallery. Same simple approach the web app has, with the added ability for testing on any website.</p><p>To install the bookmarklet in your browser just drag and drop the button below to your bookmarks. If you\'re not sure where to drag it too or you want to get a quick inside look at how you can use it make sure to check out the bookmarklet screencast.</p><p> \nDrag the <a href="javascript:(function(d){var%20s=d.createElement(\'script\'),h=d.head||d.getElementsByTagName(\'head\')[0];s.src=\'http://fontdragr.com/bookmarklet/fd-script.js\';h.appendChild(s);})(document);" class="button vomzom">font dragr</a> bookmarklet to your bookmarks.</p></div><div class="colx4 omega"><h1>Bookmarklet in action</h1><div fd-video="" src="http://www.screenr.com/embed/P8hs" height="200" width="300"></div></div></section><section class="colx12"><h1 class="hr01"><span>The bookmarklet in three simple steps</span></h1><div class="colx4 alpha"><h1>Load it</h1><p><img src="/images/gr_load.png"/></p><p>Load the font dragr bookmarklet in the website you wish to test. Once it loads it will appear at the top of the browser window ready to use.</p></div><div class="colx4"><h1>Drag it</h1><p><img src="/images/gr_drag.png"/></p><p>Drag and drop a font from your desktop or from the gallery. The last dropped font will become active and be applied to the body element by default.</p></div><div class="colx4 omega"><h1>Test it</h1><p><img src="/images/gr_test.png"/></p><p>With the bookmarklet you can target specific elements using CSS selectors. Or by selecting some text you can apply the custom font to a selection.</p></div></section></div>')
}]);
//# sourceMappingURL=scripts.js.map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment