var ngFileUpload,duScrollDefaultEasing,duScroll,mod;(function(n,t,i){"use strict";function v(n){return function(){var r=arguments[0],f="["+(n?n+":":"")+r+"] ",e=arguments[1],u=arguments,o=function(n){return typeof n=="function"?n.toString().replace(/ \{[\s\S]*$/,""):typeof n=="undefined"?"undefined":typeof n!="string"?JSON.stringify(n):n},t,i;for(t=f+e.replace(/\{\d+\}/g,function(n){var i=+n.slice(1,-1),t;return i+2<u.length?(t=u[i+2],typeof t=="function")?t.toString().replace(/ ?\{[\s\S]*$/,""):typeof t=="undefined"?"undefined":typeof t!="string"?et(t):t:n}),t=t+"\nhttp://errors.angularjs.org/1.2.2/"+(n?n+"/":"")+r,i=2;i<arguments.length;i++)t=t+(i==2?"?":"&")+"p"+(i-2)+"="+encodeURIComponent(o(arguments[i]));return new Error(t)}}function nu(n){if(n==null||ii(n))return!1;var t=n.length;return n.nodeType===1&&t?!0:e(n)||s(n)||t===0||typeof t=="number"&&t>0&&t-1 in n}function r(n,t,i){var u;if(n)if(c(n))for(u in n)u!="prototype"&&u!="length"&&u!="name"&&n.hasOwnProperty(u)&&t.call(i,n[u],u);else if(n.forEach&&n.forEach!==r)n.forEach(t,i);else if(nu(n))for(u=0;u<n.length;u++)t.call(i,n[u],u);else for(u in n)n.hasOwnProperty(u)&&t.call(i,n[u],u);return n}function sf(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(i);return t.sort()}function fs(n,t,i){for(var r=sf(n),u=0;u<r.length;u++)t.call(i,n[r[u]],r[u]);return r}function hf(n){return function(t,i){n(i,t)}}function ur(){for(var n=ft.length,t;n;){if(n--,t=ft[n].charCodeAt(0),t==57)return ft[n]="A",ft.join("");if(t==90)ft[n]="0";else return ft[n]=String.fromCharCode(t+1),ft.join("")}return ft.unshift("0"),ft.join("")}function cf(n,t){t?n.$$hashKey=t:delete n.$$hashKey}function a(n){var t=n.$$hashKey;return r(arguments,function(t){t!==n&&r(t,function(t,i){n[i]=t})}),cf(n,t),n}function b(n){return parseInt(n,10)}function lf(n,t){return a(new(a(function(){},{prototype:n})),t)}function o(){}function ti(n){return n}function nt(n){return function(){return n}}function h(n){return typeof n=="undefined"}function f(n){return typeof n!="undefined"}function p(n){return n!=null&&typeof n=="object"}function e(n){return typeof n=="string"}function tu(n){return typeof n=="number"}function ci(n){return ir.apply(n)=="[object Date]"}function s(n){return ir.apply(n)=="[object Array]"}function c(n){return typeof n=="function"}function fr(n){return ir.apply(n)=="[object RegExp]"}function ii(n){return n&&n.document&&n.location&&n.alert&&n.setInterval}function er(n){return n&&n.$evalAsync&&n.$watch}function es(n){return ir.apply(n)==="[object File]"}function os(n){return n&&(n.nodeName||n.on&&n.find)}function ss(n,t,i){var u=[];return r(n,function(n,r,f){u.push(t.call(i,n,r,f))}),u}function hs(n,t){return or(n,t)!=-1}function or(n,t){if(n.indexOf)return n.indexOf(t);for(var i=0;i<n.length;i++)if(t===n[i])return i;return-1}function li(n,t){var i=or(n,t);return i>=0&&n.splice(i,1),t}function rt(n,t){var i,f,u;if(ii(n)||er(n))throw si("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(t){if(n===t)throw si("cpi","Can't copy! Source and destination are identical.");if(s(n))for(t.length=0,i=0;i<n.length;i++)t.push(rt(n[i]));else{f=t.$$hashKey;r(t,function(n,i){delete t[i]});for(u in n)t[u]=rt(n[u]);cf(t,f)}}else t=n,n&&(s(n)?t=rt(n,[]):ci(n)?t=new Date(n.getTime()):fr(n)?t=new RegExp(n.source):p(n)&&(t=rt(n,{})));return t}function cs(n,t){t=t||{};for(var i in n)n.hasOwnProperty(i)&&i.substr(0,2)!=="$$"&&(t[i]=n[i]);return t}function ri(n,t){if(n===t)return!0;if(n===null||t===null)return!1;if(n!==n&&t!==t)return!0;var f=typeof n,o=typeof t,e,r,u;if(f==o&&f=="object")if(s(n)){if(!s(t))return!1;if((e=n.length)==t.length){for(r=0;r<e;r++)if(!ri(n[r],t[r]))return!1;return!0}}else{if(ci(n))return ci(t)&&n.getTime()==t.getTime();if(fr(n)&&fr(t))return n.toString()==t.toString();if(er(n)||er(t)||ii(n)||ii(t)||s(t))return!1;u={};for(r in n)if(r.charAt(0)!=="$"&&!c(n[r])){if(!ri(n[r],t[r]))return!1;u[r]=!0}for(r in t)if(!u.hasOwnProperty(r)&&r.charAt(0)!=="$"&&t[r]!==i&&!c(t[r]))return!1;return!0}return!1}function af(){return t.securityPolicy&&t.securityPolicy.isActive||t.querySelector&&!!(t.querySelector("[ng-csp]")||t.querySelector("[data-ng-csp]"))}function iu(n,t,i){return n.concat(gr.call(t,i))}function ru(n,t){return gr.call(n,t||0)}function uu(n,t){var i=arguments.length>2?ru(arguments,2):[];return!c(t)||t instanceof RegExp?t:i.length?function(){return arguments.length?t.apply(n,i.concat(gr.call(arguments,0))):t.apply(n,i)}:function(){return arguments.length?t.apply(n,arguments):t.call(n)}}function ls(n,r){var u=r;return typeof n=="string"&&n.charAt(0)==="$"?u=i:ii(r)?u="$WINDOW":r&&t===r?u="$DOCUMENT":er(r)&&(u="$SCOPE"),u}function et(n,t){return typeof n=="undefined"?i:JSON.stringify(n,ls,t?"  ":null)}function vf(n){return e(n)?JSON.parse(n):n}function ai(n){if(n&&n.length!==0){var t=l(""+n);n=!(t=="f"||t=="0"||t=="false"||t=="no"||t=="n"||t=="[]")}else n=!1;return n}function ut(n){n=u(n).clone();try{n.html("")}catch(i){}var t=u("<div>").append(n).html();try{return n[0].nodeType===3?l(t):t.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(n,t){return"<"+l(t)})}catch(i){return l(t)}}function yf(n){try{return decodeURIComponent(n)}catch(t){}}function pf(n){var i={},u,t;return r((n||"").split("&"),function(n){if(n&&(u=n.split("="),t=yf(u[0]),f(t))){var r=f(u[1])?yf(u[1]):!0;i[t]?s(i[t])?i[t].push(r):i[t]=[i[t],r]:i[t]=r}}),i}function wf(n){var t=[];return r(n,function(n,i){s(n)?r(n,function(n){t.push(bt(i,!0)+(n===!0?"":"="+bt(n,!0)))}):t.push(bt(i,!0)+(n===!0?"":"="+bt(n,!0)))}),t.length?t.join("&"):""}function fu(n){return bt(n,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function bt(n,t){return encodeURIComponent(n).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,t?"%20":"+")}function as(n,i){function e(n){n&&s.push(n)}var s=[n],u,f,o=["ng:app","ng-app","x-ng-app","data-ng-app"],h=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;r(o,function(i){o[i]=!0;e(t.getElementById(i));i=i.replace(":","\\:");n.querySelectorAll&&(r(n.querySelectorAll("."+i),e),r(n.querySelectorAll("."+i+"\\:"),e),r(n.querySelectorAll("["+i+"]"),e))});r(s,function(n){if(!u){var i=" "+n.className+" ",t=h.exec(i);t?(u=n,f=(t[2]||"").replace(/\s+/g,",")):r(n.attributes,function(t){!u&&o[t.name]&&(u=n,f=t.value)})}});u&&i(u,f?[f]:[])}function bf(i,f){var e=function(){var r,n;if(i=u(i),i.injector()){r=i[0]===t?"document":ut(i);throw si("btstrpd","App Already Bootstrapped with this Element '{0}'",r);}return f=f||[],f.unshift(["$provide",function(n){n.value("$rootElement",i)}]),f.unshift("ng"),n=ee(f),n.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(n,t,i,r){n.$apply(function(){t.data("$injector",r);i(t)(n)})}]),n},o=/^NG_DEFER_BOOTSTRAP!/;if(n&&!o.test(n.name))return e();n.name=n.name.replace(o,"");rr.resumeBootstrap=function(n){r(n,function(n){f.push(n)});e()}}function sr(n,t){return t=t||"_",n.replace(kf,function(n,i){return(i?t:"")+n.toLowerCase()})}function vs(){wt=n.jQuery;wt?(u=wt,a(wt.fn,{scope:dt.scope,isolateScope:dt.isolateScope,controller:dt.controller,injector:dt.injector,inheritedData:dt.inheritedData}),lu("remove",!0,!0,!1),lu("empty",!1,!1,!1),lu("html",!1,!1,!0)):u=w;rr.element=u}function eu(n,t,i){if(!n)throw si("areq","Argument '{0}' is {1}",t||"?",i||"required");return n}function vi(n,t,i){return i&&s(n)&&(n=n[n.length-1]),eu(c(n),t,"not a function, got "+(n&&typeof n=="object"?n.constructor.name||"Object":typeof n)),n}function kt(n,t){if(n==="hasOwnProperty")throw si("badname","hasOwnProperty is not a valid {0} name",t);}function ou(n,t,i){var r;if(!t)return n;var u=t.split("."),f,e=n,o=u.length;for(r=0;r<o;r++)f=u[r],n&&(n=(e=n)[f]);return!i&&c(n)?uu(e,n):n}function su(n){if(n.startNode===n.endNode)return u(n.startNode);var t=n.startNode,i=[t];do{if(t=t.nextSibling,!t)break;i.push(t)}while(t!==n.endNode);return u(i)}function ys(n){function t(n,t,i){return n[t]||(n[t]=i())}var r=v("$injector"),u=v("ng"),i=t(n,"angular",Object);return i.$$minErr=i.$$minErr||v,t(i,"module",function(){var n={};return function(i,f,e){var o=function(n,t){if(n==="hasOwnProperty")throw u("badname","hasOwnProperty is not a valid {0} name",t);};return o(i,"module"),f&&n.hasOwnProperty(i)&&(n[i]=null),t(n,i,function(){function n(n,i,r){return function(){return t[r||"push"]([n,i,arguments]),s}}if(!f)throw r("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",i);var t=[],u=[],o=n("$injector","invoke"),s={_invokeQueue:t,_runBlocks:u,requires:f,name:i,provider:n("$provide","provider"),factory:n("$provide","factory"),service:n("$provide","service"),value:n("$provide","value"),constant:n("$provide","constant","unshift"),animation:n("$animateProvider","register"),filter:n("$filterProvider","register"),controller:n("$controllerProvider","register"),directive:n("$compileProvider","directive"),config:o,run:function(n){return u.push(n),this}};return e&&o(e),s})}})}function ps(t){a(t,{bootstrap:bf,copy:rt,extend:a,equals:ri,element:u,forEach:r,injector:ee,noop:o,bind:uu,toJson:et,fromJson:vf,identity:ti,isUndefined:h,isDefined:f,isString:e,isFunction:c,isObject:p,isNumber:tu,isElement:os,isArray:s,version:df,isDate:ci,lowercase:l,uppercase:pt,callbacks:{counter:0},$$minErr:v,$$csp:af});hi=ys(n);try{hi("ngLocale")}catch(i){hi("ngLocale",[]).provider("$locale",kh)}hi("ng",["ngLocale"],["$provide",function(n){n.provider("$compile",he).directive({a:po,input:go,textarea:go,form:rl,script:da,select:tv,style:rv,option:iv,ngBind:dl,ngBindHtml:na,ngBindTemplate:gl,ngClass:ta,ngClassEven:ra,ngClassOdd:ia,ngCloak:ua,ngController:fa,ngForm:ul,ngHide:va,ngIf:ea,ngInclude:oa,ngInit:sa,ngNonBindable:ha,ngPluralize:ca,ngRepeat:la,ngShow:aa,ngStyle:ya,ngSwitch:pa,ngSwitchWhen:wa,ngSwitchDefault:ba,ngOptions:nv,ngTransclude:ka,ngModel:yl,ngList:wl,ngChange:pl,required:ns,ngRequired:ns,ngValue:kl}).directive(pr).directive(ts);n.provider({$anchorScroll:fh,$animate:se,$browser:oh,$cacheFactory:sh,$controller:ch,$document:lh,$exceptionHandler:ah,$filter:oo,$interpolate:wh,$interval:bh,$http:vh,$httpBackend:yh,$location:tc,$log:ic,$parse:uc,$rootScope:oc,$q:fc,$sce:lc,$sceDelegate:cc,$sniffer:ac,$templateCache:hh,$timeout:vc,$window:pc})}])}function bs(){return++ws}function pi(n){return n.replace(ks,function(n,t,i,r){return r?i.toUpperCase():i}).replace(ds,"Moz$1")}function lu(n,t,i,r){function e(n){var s=i&&n?[this.filter(n)]:[this],h=t,c,e,a,l,o,v,y;if(!r||n!=null)while(s.length)for(c=s.shift(),e=0,a=c.length;e<a;e++)for(l=u(c[e]),h?l.triggerHandler("$destroy"):h=!h,o=0,v=(y=l.children()).length;o<v;o++)s.push(wt(y[o]));return f.apply(this,arguments)}var f=wt.fn[n];f=f.$original||f;e.$original=f;wt.fn[n]=e}function w(n){var i,r;if(n instanceof w)return n;if(!(this instanceof w)){if(e(n)&&n.charAt(0)!="<")throw cu("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new w(n)}e(n)?(i=t.createElement("div"),i.innerHTML="<div>&#160;<\/div>"+n,i.removeChild(i.firstChild),wu(this,i.childNodes),r=u(t.createDocumentFragment()),r.append(this)):wu(this,n)}function au(n){return n.cloneNode(!0)}function wi(n){te(n);for(var t=0,i=n.childNodes||[];t<i.length;t++)wi(i[t])}function ne(n,t,i,u){if(f(u))throw cu("offargs","jqLite#off() does not support the `selector` argument");var e=ot(n,"events"),o=ot(n,"handle");o&&(h(t)?r(e,function(t,i){hu(n,i,t);delete e[i]}):r(t.split(" "),function(t){h(i)?(hu(n,t,e[t]),delete e[t]):li(e[t]||[],i)}))}function te(n,t){var u=n[hr],r=yi[u];if(r){if(t){delete yi[u].data[t];return}r.handle&&(r.events.$destroy&&r.handle({},"$destroy"),ne(n));delete yi[u];n[hr]=i}}function ot(n,t,i){var u=n[hr],r=yi[u||-1];if(f(i))r||(n[hr]=u=bs(),r=yi[u]={}),r[t]=i;else return r&&r[t]}function ie(n,t,i){var r=ot(n,"data"),u=f(i),e=!u&&f(t),o=e&&!p(t);if(r||o||ot(n,"data",r={}),u)r[t]=i;else if(e){if(o)return r&&r[t];a(r,t)}else return r}function vu(n,t){return n.getAttribute?(" "+(n.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")>-1:!1}function yu(n,t){t&&n.setAttribute&&r(t.split(" "),function(t){n.setAttribute("class",d((" "+(n.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+d(t)+" "," ")))})}function pu(n,t){if(t&&n.setAttribute){var i=(" "+(n.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");r(t.split(" "),function(n){n=d(n);i.indexOf(" "+n+" ")===-1&&(i+=n+" ")});n.setAttribute("class",d(i))}}function wu(n,t){if(t){t=!t.nodeName&&f(t.length)&&!ii(t)?t:[t];for(var i=0;i<t.length;i++)n.push(t[i])}}function re(n,t){return cr(n,"$"+(t||"ngController")+"Controller")}function cr(n,t,r){var e,f,o;for(n=u(n),n[0].nodeType==9&&(n=n.find("html")),e=s(t)?t:[t];n.length;){for(f=0,o=e.length;f<o;f++)if((r=n.data(e[f]))!==i)return r;n=n.parent()}}function ue(n,t){var i=bi[t.toLowerCase()];return i&&bu[n.nodeName]&&i}function gs(n,i){var u=function(u,f){if(u.preventDefault||(u.preventDefault=function(){u.returnValue=!1}),u.stopPropagation||(u.stopPropagation=function(){u.cancelBubble=!0}),u.target||(u.target=u.srcElement||t),h(u.defaultPrevented)){var e=u.preventDefault;u.preventDefault=function(){u.defaultPrevented=!0;e.call(u)};u.defaultPrevented=!1}u.isDefaultPrevented=function(){return u.defaultPrevented||u.returnValue===!1};r(i[f||u.type],function(t){t.call(n,u)});y<=8?(u.preventDefault=null,u.stopPropagation=null,u.isDefaultPrevented=null):(delete u.preventDefault,delete u.stopPropagation,delete u.isDefaultPrevented)};return u.elem=n,u}function ui(n){var r=typeof n,t;return r=="object"&&n!==null?typeof(t=n.$$hashKey)=="function"?t=n.$$hashKey():t===i&&(t=n.$$hashKey=ur()):t=n,r+":"+t}function ki(n){r(n,this.put,this)}function fe(n){var t,u,f,i;return typeof n=="function"?(t=n.$inject)||(t=[],n.length&&(u=n.toString().replace(uh,""),f=u.match(th),r(f[1].split(ih),function(n){n.replace(rh,function(n,i,r){t.push(r)})})),n.$inject=t):s(n)?(i=n.length-1,vi(n[i],"fn"),t=n.slice(0,i)):vi(n,"fn",!0),t}function ee(n){function f(n){return function(t,i){if(p(t))r(t,hf(n));else return n(t,i)}}function b(n,r){if(kt(n,"service"),(c(r)||s(r))&&(r=t.instantiate(r)),!r.$get)throw di("pget","Provider '{0}' must define $get factory method.",n);return i[n+h]=r}function v(n,t){return b(n,{$get:t})}function g(n,t){return v(n,["$injector",function(n){return n.instantiate(t)}])}function tt(n,t){return v(n,nt(t))}function it(n,t){kt(n,"constant");i[n]=t;a[n]=t}function rt(n,i){var r=t.get(n+h),f=r.$get;r.$get=function(){var n=u.invoke(f,r);return u.invoke(i,null,{$delegate:n})}}function k(n){var i=[],u,o,f,h;return r(n,function(n){if(!w.get(n)){w.put(n,!0);try{if(e(n))for(u=hi(n),i=i.concat(k(u.requires)).concat(u._runBlocks),o=u._invokeQueue,f=0,h=o.length;f<h;f++){var l=o[f],a=t.get(l[0]);a[l[1]].apply(a,l[2])}else c(n)?i.push(t.invoke(n)):s(n)?i.push(t.invoke(n)):vi(n,"module")}catch(r){s(n)&&(n=n[n.length-1]);r.message&&r.stack&&r.stack.indexOf(r.message)==-1&&(r=r.message+"\n"+r.stack);throw di("modulerr","Failed to instantiate module {0} due to:\n{1}",n,r.stack||r.message||r);}}}),i}function d(n,t){function r(i){if(n.hasOwnProperty(i)){if(n[i]===y)throw di("cdep","Circular dependency found: {0}",l.join(" <- "));return n[i]}try{return l.unshift(i),n[i]=y,n[i]=t(i)}finally{l.shift()}}function u(n,t,i){for(var u=[],s=fe(n),f,e=0,o=s.length;e<o;e++){if(f=s[e],typeof f!="string")throw di("itkn","Incorrect injection token! Expected service name as string, got {0}",f);u.push(i&&i.hasOwnProperty(f)?i[f]:r(f))}n.$inject||(n=n[o]);switch(t?-1:u.length){case 0:return n();case 1:return n(u[0]);case 2:return n(u[0],u[1]);case 3:return n(u[0],u[1],u[2]);case 4:return n(u[0],u[1],u[2],u[3]);case 5:return n(u[0],u[1],u[2],u[3],u[4]);case 6:return n(u[0],u[1],u[2],u[3],u[4],u[5]);case 7:return n(u[0],u[1],u[2],u[3],u[4],u[5],u[6]);case 8:return n(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7]);case 9:return n(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8]);case 10:return n(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9]);default:return n.apply(t,u)}}function f(n,t){var f=function(){},r,i;return f.prototype=(s(n)?n[n.length-1]:n).prototype,r=new f,i=u(n,r,t),p(i)||c(i)?i:r}return{invoke:u,instantiate:f,get:r,annotate:fe,has:function(t){return i.hasOwnProperty(t+h)||n.hasOwnProperty(t)}}}var y={},h="Provider",l=[],w=new ki,i={$provide:{provider:f(b),factory:f(v),service:f(g),value:f(tt),constant:f(it),decorator:rt}},t=i.$injector=d(i,function(){throw di("unpr","Unknown provider: {0}",l.join(" <- "));}),a={},u=a.$injector=d(a,function(n){var i=t.get(n+h);return u.invoke(i.$get,i)});return r(k(n),function(n){u.invoke(n||o)}),u}function fh(){var n=!0;this.disableAutoScrolling=function(){n=!1};this.$get=["$window","$location","$rootScope",function(t,i,u){function o(n){var t=null;return r(n,function(n){t||l(n.nodeName)!=="a"||(t=n)}),t}function e(){var n=i.hash(),r;n?(r=f.getElementById(n))?r.scrollIntoView():(r=o(f.getElementsByName(n)))?r.scrollIntoView():n==="top"&&t.scrollTo(0,0):t.scrollTo(0,0)}var f=t.document;return n&&u.$watch(function(){return i.hash()},function(){u.$evalAsync(e)}),e}]}function eh(n,t,f,s){function d(n){try{n.apply(null,ru(arguments,1))}finally{if(a--,a===0)while(p.length)try{p.pop()()}catch(t){f.error(t)}}}function ct(n,t){(function i(){r(w,function(n){n()});ot=t(i,n)})()}function rt(){(nt=null,b!=c.url())&&(b=c.url(),r(tt,function(n){n(c.url())}))}var c=this,v=t[0],l=n.location,ft=n.history,et=n.setTimeout,ht=n.clearTimeout,y={},a,p,w,ot,tt,it;c.isMock=!1;a=0;p=[];c.$$completeOutstandingRequest=d;c.$$incOutstandingRequestCount=function(){a++};c.notifyWhenNoOutstandingRequests=function(n){r(w,function(n){n()});a===0?n():p.push(n)};w=[];c.addPollFn=function(n){return h(ot)&&ct(100,et),w.push(n),n};var b=l.href,g=t.find("base"),nt=null;c.url=function(t,i){return l!==n.location&&(l=n.location),t?b==t?void 0:(b=t,s.history?i?ft.replaceState(null,"",t):(ft.pushState(null,"",t),g.attr("href",g.attr("href"))):(nt=t,i?l.replace(t):l.href=t),c):nt||l.href.replace(/%27/g,"'")};tt=[];it=!1;c.onUrlChange=function(t){if(!it){if(s.history)u(n).on("popstate",rt);if(s.hashchange)u(n).on("hashchange",rt);else c.addPollFn(rt);it=!0}return tt.push(t),t};c.baseHref=function(){var n=g.attr("href");return n?n.replace(/^https?\:\/\/[^\/]*/,""):""};var k={},ut="",st=c.baseHref();c.cookies=function(n,t){var s,h,r,u,o;if(n)t===i?v.cookie=escape(n)+"=;path="+st+";expires=Thu, 01 Jan 1970 00:00:00 GMT":e(t)&&(s=(v.cookie=escape(n)+"="+escape(t)+";path="+st).length+1,s>4096&&f.warn("Cookie '"+n+"' possibly not set or overflowed because it was too large ("+s+" > 4096 bytes)!"));else{if(v.cookie!==ut)for(ut=v.cookie,h=ut.split("; "),k={},u=0;u<h.length;u++)r=h[u],o=r.indexOf("="),o>0&&(n=unescape(r.substring(0,o)),k[n]===i&&(k[n]=unescape(r.substring(o+1))));return k}};c.defer=function(n,t){var i;return a++,i=et(function(){delete y[i];d(n)},t||0),y[i]=!0,i};c.defer.cancel=function(n){return y[n]?(delete y[n],ht(n),d(o),!0):!1}}function oh(){this.$get=["$window","$log","$sniffer","$document",function(n,t,i,r){return new eh(n,r,t,i)}]}function sh(){this.$get=function(){function t(t,i){function l(n){n!=f&&(r?r==n&&(r=n.n):r=n,s(n.n,n.p),s(n,f),f=n,f.n=null)}function s(n,t){n!=t&&(n&&(n.p=t),t&&(t.n=n))}if(t in n)throw v("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var o=0,c=a({},i,{id:t}),e={},y=i&&i.capacity||Number.MAX_VALUE,u={},f=null,r=null;return n[t]={put:function(n,t){var i=u[n]||(u[n]={key:n});if(l(i),!h(t))return n in e||o++,e[n]=t,o>y&&this.remove(r.key),t},get:function(n){var t=u[n];if(t)return l(t),e[n]},remove:function(n){var t=u[n];t&&(t==f&&(f=t.p),t==r&&(r=t.n),s(t.n,t.p),delete u[n],delete e[n],o--)},removeAll:function(){e={};o=0;u={};f=r=null},destroy:function(){e=null;c=null;u=null;delete n[t]},info:function(){return a({},c,{size:o})}}}var n={};return t.info=function(){var t={};return r(n,function(n,i){t[i]=n.info()}),t},t.get=function(t){return n[t]},t}}function hh(){this.$get=["$cacheFactory",function(n){return n("templates")}]}function he(n){var o={},v="Directive",w=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,b=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,h=/^\s*(https?|ftp|mailto|tel|file):/,l=/^\s*(https?|ftp|file):|data:image\//,k=/^(on[a-z]+|formaction)$/;this.directive=function g(t,i){return kt(t,"directive"),e(t)?(eu(i,"directiveFactory"),o.hasOwnProperty(t)||(o[t]=[],n.factory(t+v,["$injector","$exceptionHandler",function(n,i){var u=[];return r(o[t],function(r,f){try{var e=n.invoke(r);c(e)?e={compile:nt(e)}:!e.compile&&e.link&&(e.compile=nt(e.link));e.priority=e.priority||0;e.index=f;e.name=e.name||t;e.require=e.require||e.controller&&e.name;e.restrict=e.restrict||"A";u.push(e)}catch(o){i(o)}}),u}])),o[t].push(i)):r(t,hf(g)),this};this.aHrefSanitizationWhitelist=function(n){return f(n)?(h=n,this):h};this.imgSrcSanitizationWhitelist=function(n){return f(n)?(l=n,this):l};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate",function(n,f,g,tt,rt,ft,et,ot,ht,ct,lt){function bt(n,t,i,f,e){n instanceof u||(n=u(n));r(n,function(t,i){t.nodeType==3&&t.nodeValue.match(/\S+/)&&(n[i]=t=u(t).wrap("<span><\/span>").parent()[0])});var o=kt(n,t,n,i,f,e);return function(t,i,u){var f,e,h,s;for(eu(t,"scope"),f=i?dt.clone.call(n):n,r(u,function(n,t){f.data("$"+t+"Controller",n)}),e=0,h=f.length;e<h;e++)s=f[e],(s.nodeType==1||s.nodeType==9)&&f.eq(e).data("$scope",t);return at(f,"ng-scope"),i&&i(f,t),o&&o(t,f,f),f}}function at(n,t){try{n.addClass(t)}catch(i){}}function kt(n,t,r,f,e,o){function p(n,r,f,e){for(var s,h,l,y,a,p,w,b=[],o=0,v=r.length;o<v;o++)b.push(r[o]);for(o=0,w=0,v=c.length;o<v;w++)l=b[w],s=c[o++],h=c[o++],y=u(l),s?(s.scope?(a=n.$new(),y.data("$scope",a),at(y,"ng-scope")):a=n,p=s.transclude,p||!e&&t?s(h,a,l,f,oi(n,p||t)):s(h,a,l,i,e)):h&&h(n,l.childNodes,i,e)}for(var c=[],h,l,a,v,y,s=0;s<n.length;s++)v=new wt,a=ii(n[s],[],v,s===0?f:i,e),h=a.length?hi(a,n[s],v,t,r,null,[],[],o):null,l=h&&h.terminal||!n[s].childNodes||!n[s].childNodes.length?null:kt(n[s].childNodes,h?h.transclude:t),c.push(h),c.push(l),y=y||h||l,o=null;return y?p:null}function oi(n,t){return function(i,r,u){var e=!1,f;if(i||(i=n.$new(),i.$$transcluded=!0,e=!0),f=t(i,r,u),e)f.on("$destroy",uu(i,i.$destroy));return f}}function ii(n,t,i,r,u){var tt=n.nodeType,it=i.$attr,s,h,p,k,nt;switch(tt){case 1:yt(t,st(ni(n).toLowerCase()),"E",r,u);for(var l,f,o,c,g,a=n.attributes,v=0,rt=a&&a.length;v<rt;v++)p=!1,k=!1,l=a[v],(!y||y>=8||l.specified)&&(f=l.name,c=st(f),vi.test(c)&&(f=sr(c.substr(6),"-")),nt=c.replace(/(Start|End)$/,""),c===nt+"Start"&&(p=f,k=f.substr(0,f.length-5)+"end",f=f.substr(0,f.length-6)),o=st(f.toLowerCase()),it[o]=f,i[o]=g=d(y&&f=="href"?decodeURIComponent(n.getAttribute(f,2)):l.value),ue(n,o)&&(i[o]=!0),ki(n,t,g,o),yt(t,o,"A",r,u,p,k));if(h=n.className,e(h)&&h!=="")while(s=b.exec(h))o=st(s[2]),yt(t,o,"C",r,u)&&(i[o]=d(s[3])),h=h.substr(s.index+s[0].length);break;case 3:wi(t,n.nodeValue);break;case 8:try{s=w.exec(n.nodeValue);s&&(o=st(s[1]),yt(t,o,"M",r,u)&&(i[o]=d(s[2])))}catch(ut){}}return t.sort(pi),t}function ri(n,t,i){var r=[],f=0,e;if(t&&n.hasAttribute&&n.hasAttribute(t)){e=n;do{if(!n)throw it("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,i);n.nodeType==1&&(n.hasAttribute(t)&&f++,n.hasAttribute(i)&&f--);r.push(n);n=n.nextSibling}while(f>0)}else r.push(n);return u(r)}function si(n,t,i){return function(r,u,f,e,o){return u=ri(u[0],t,i),n(r,u,f,e,o)}}function hi(n,o,h,l,a,v,y,w,b){function di(n,t,i,r){n&&(i&&(n=si(n,i,r)),n.require=k.require,(nt===k||k.$$isolateScope)&&(n=ai(n,{isolateScope:!0})),y.push(n));t&&(i&&(t=si(t,i,r)),t.require=k.require,(nt===k||k.$$isolateScope)&&(t=ai(t,{isolateScope:!0})),w.push(t))}function pi(n,t,i){var u,f="data",o=!1;if(e(n)){while((u=n.charAt(0))=="^"||u=="?")n=n.substr(1),u=="^"&&(f="inheritedData"),o=o||u=="?";if(u=null,i&&f==="data"&&(u=i[n]),u=u||t[f]("$"+n+"Controller"),!u&&!o)throw it("ctreq","Controller '{0}', required by directive '{1}', can't be found!",n,st);return u}return s(n)&&(u=[],r(n,function(n){u.push(pi(n,t,i))})),u}function ti(n,t,e,s,c){function yt(n,t){var r;return arguments.length<2&&(t=n,n=i),vi&&(r=d),c(n,t,r)}var a,p,b,st,v,k,l,d={},tt,ht,rt,ot;for(a=o===e?h:cs(h,new wt(u(e),h.$attr)),p=a.$$element,nt&&(ht=/^\s*([@=&])(\??)\s*(\w*)\s*$/,rt=u(e),l=t.$new(!0),lt&&lt===nt.$$originalDirective?rt.data("$isolateScope",l):rt.data("$isolateScopeNoTemplate",l),at(rt,"ng-isolate-scope"),r(nt.scope,function(n,i){var o=n.match(ht)||[],r=o[3]||i,c=o[2]=="?",s=o[1],e,u,h;l.$$isolateBindings[i]=s+r;switch(s){case"@":a.$observe(r,function(n){l[i]=n});a.$$observers[r].$$scope=t;a[r]&&(l[i]=f(a[r])(t));break;case"=":if(c&&!a[r])return;u=ft(a[r]);h=u.assign||function(){e=l[i]=u(t);throw it("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",a[r],nt.name);};e=l[i]=u(t);l.$watch(function(){var n=u(t);return n!==l[i]&&(n!==e?e=l[i]=n:h(t,n=e=l[i])),n});break;case"&":u=ft(a[r]);l[i]=function(n){return u(t,n)};break;default:throw it("iscp","Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}",nt.name,i,n);}})),tt=c&&yt,ct&&r(ct,function(n){var r={$scope:n===nt||n.$$isolateScope?l:t,$element:p,$attrs:a,$transclude:tt},i;k=n.controller;k=="@"&&(k=a[n.name]);i=et(k,r);d[n.name]=i;vi||p.data("$"+n.name+"Controller",i);n.controllerAs&&(r.$scope[n.controllerAs]=i)}),b=0,st=y.length;b<st;b++)try{v=y[b];v(v.isolateScope?l:t,p,a,v.require&&pi(v.require,p,d),tt)}catch(vt){g(vt,ut(p))}for(ot=t,nt&&(nt.template||nt.templateUrl===null)&&(ot=l),n&&n(ot,e.childNodes,i,c),b=w.length-1;b>=0;b--)try{v=w[b];v(v.isolateScope?l:t,p,a,v.require&&pi(v.require,p,d),tt)}catch(vt){g(vt,ut(p))}}var ht,hi,kt,ni;b=b||{};var dt=-Number.MAX_VALUE,ui,ct=b.controllerDirectives,nt=b.newIsolateScopeDirective,lt=b.templateDirective,fi=b.nonTlbTranscludeDirective,wi=!1,vi=!1,tt=h.$$element=u(o),k,st,ot,oi=v,gt=l,yt,rt;for(ht=0,hi=n.length;ht<hi;ht++){if(k=n[ht],kt=k.$$start,ni=k.$$end,kt&&(tt=ri(o,kt,ni)),ot=i,dt>k.priority)break;if((rt=k.scope)&&(ui=ui||k,k.templateUrl||(vt("new/isolated scope",nt,k,tt),p(rt)&&(nt=k))),st=k.name,!k.templateUrl&&k.controller&&(rt=k.controller,ct=ct||{},vt("'"+st+"' controller",ct[st],k,tt),ct[st]=k),(rt=k.transclude)&&(wi=!0,k.$$tlb||(vt("transclusion",fi,k,tt),fi=k),rt=="element"?(vi=!0,dt=k.priority,ot=ri(o,kt,ni),tt=h.$$element=u(t.createComment(" "+st+": "+h[st]+" ")),o=tt[0],pt(a,u(ru(ot)),o),gt=bt(ot,l,dt,oi&&oi.name,{nonTlbTranscludeDirective:fi})):(ot=u(au(o)).contents(),tt.html(""),gt=bt(ot,l))),k.template)if(vt("template",lt,k,tt),lt=k,rt=c(k.template)?k.template(tt,h):k.template,rt=ei(rt),k.replace){if(oi=k,ot=u("<div>"+d(rt)+"<\/div>").contents(),o=ot[0],ot.length!=1||o.nodeType!==1)throw it("tplrt","Template for directive '{0}' must have exactly one root element. {1}",st,"");pt(a,tt,o);var bi={$attr:{}},ki=ii(o,[],bi),gi=n.splice(ht+1,n.length-(ht+1));nt&&ci(ki);n=n.concat(ki).concat(gi);li(h,bi);hi=n.length}else tt.html(rt);if(k.templateUrl)vt("template",lt,k,tt),lt=k,k.replace&&(oi=k),ti=yi(n.splice(ht,n.length-ht),tt,h,a,gt,y,w,{controllerDirectives:ct,newIsolateScopeDirective:nt,templateDirective:lt,nonTlbTranscludeDirective:fi}),hi=n.length;else if(k.compile)try{yt=k.compile(tt,h,gt);c(yt)?di(null,yt,kt,ni):yt&&di(yt.pre,yt.post,kt,ni)}catch(nr){g(nr,ut(tt))}k.terminal&&(ti.terminal=!0,dt=Math.max(dt,k.priority))}return ti.scope=ui&&ui.scope===!0,ti.transclude=wi&&gt,ti}function ci(n){for(var t=0,i=n.length;t<i;t++)n[t]=lf(n[t],{$$isolateScope:!0})}function yt(t,r,u,f,e,s,h){var l;if(r===e)return null;if(l=null,o.hasOwnProperty(r))for(var c,y=n.get(r+v),a=0,p=y.length;a<p;a++)try{c=y[a];(f===i||f>c.priority)&&c.restrict.indexOf(u)!=-1&&(s&&(c=lf(c,{$$start:s,$$end:h})),t.push(c),l=c)}catch(w){g(w)}return l}function li(n,t){var u=t.$attr,f=n.$attr,i=n.$$element;r(n,function(i,r){r.charAt(0)!="$"&&(t[r]&&(i+=(r==="style"?";":" ")+t[r]),n.$set(r,i,!0,u[r]))});r(t,function(t,r){r=="class"?(at(i,t),n["class"]=(n["class"]?n["class"]+" ":"")+t):r=="style"?(i.attr("style",i.attr("style")+";"+t),n.style=(n.style?n.style+";":"")+t):r.charAt(0)=="$"||n.hasOwnProperty(r)||(n[r]=t,f[r]=u[r])})}function yi(n,t,i,f,e,o,s,h){var l=[],y,w,b=t[0],v=n.shift(),g=a({},v,{templateUrl:null,transclude:null,replace:null,$$originalDirective:v}),k=c(v.templateUrl)?v.templateUrl(t,i):v.templateUrl;return t.html(""),tt.get(ct.getTrustedResourceUrl(k),{cache:rt}).success(function(c){var a,nt,tt,ft,rt;if(c=ei(c),v.replace){if(tt=u("<div>"+d(c)+"<\/div>").contents(),a=tt[0],tt.length!=1||a.nodeType!==1)throw it("tplrt","Template for directive '{0}' must have exactly one root element. {1}",v.name,k);nt={$attr:{}};pt(f,t,a);rt=ii(a,[],nt);p(v.scope)&&ci(rt);n=rt.concat(n);li(i,nt)}else a=b,t.html(c);for(n.unshift(g),y=hi(n,a,i,e,t,v,o,s,h),r(f,function(n,i){n==a&&(f[i]=t[0])}),w=kt(t[0].childNodes,e);l.length;){var et=l.shift(),ot=l.shift(),st=l.shift(),ht=l.shift(),ut=t[0];ot!==b&&(ut=au(a),pt(st,u(ot),ut));ft=y.transclude?oi(et,y.transclude):ht;y(w,et,ut,f,ft)}l=null}).error(function(n,t,i,r){throw it("tpload","Failed to load template: {0}",r.url);}),function(n,t,i,r,u){l?(l.push(t),l.push(i),l.push(r),l.push(u)):y(w,t,i,r,u)}}function pi(n,t){var i=t.priority-n.priority;return i!==0?i:n.name!==t.name?n.name<t.name?-1:1:n.index-t.index}function vt(n,t,i,r){if(t)throw it("multidir","Multiple directives [{0}, {1}] asking for {2} on: {3}",t.name,i.name,n,ut(r));}function wi(n,t){var i=f(t,!0);i&&n.push({priority:0,compile:nt(function(n,t){var r=t.parent(),u=r.data("$binding")||[];u.push(i);at(r.data("$binding",u),"ng-binding");n.$watch(i,function(n){t[0].nodeValue=n})})})}function bi(n,t){if(t=="srcdoc")return ct.HTML;var i=ni(n);if(t=="xlinkHref"||i=="FORM"&&t=="action"||i!="IMG"&&(t=="src"||t=="ngSrc"))return ct.RESOURCE_URL}function ki(n,t,i,r){var u=f(i,!0);if(u){if(r==="multiple"&&ni(n)==="SELECT")throw it("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",ut(n));t.push({priority:100,compile:function(){return{pre:function(t,i,e){var o=e.$$observers||(e.$$observers={});if(k.test(r))throw it("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");(u=f(e[r],!0,bi(n,r)),u)&&(e[r]=u(t),(o[r]||(o[r]=[])).$$inter=!0,(e.$$observers&&e.$$observers[r].$$scope||t).$watch(u,function(n,t){r==="class"&&n!=t?e.$updateClass(n,t):e.$set(r,n)}))}}}})}}function pt(n,i,r){var e=i[0],a=i.length,v=e.parentNode,f,y,c,s,w,l;if(n)for(f=0,y=n.length;f<y;f++)if(n[f]==e){n[f++]=r;for(var o=f,h=o+a-1,p=n.length;o<p;o++,h++)h<p?n[o]=n[h]:delete n[o];n.length-=a-1;break}for(v&&v.replaceChild(r,e),c=t.createDocumentFragment(),c.appendChild(e),r[u.expando]=e[u.expando],s=1,w=i.length;s<w;s++)l=i[s],u(l).remove(),c.appendChild(l),delete i[s];i[0]=r;i.length=1}function ai(n,t){return a(function(){return n.apply(null,arguments)},n,t)}var wt=function(n,t){this.$$element=n;this.$attr=t||{}};wt.prototype={$normalize:st,$addClass:function(n){n&&n.length>0&&lt.addClass(this.$$element,n)},$removeClass:function(n){n&&n.length>0&&lt.removeClass(this.$$element,n)},$updateClass:function(n,t){this.$removeClass(le(t,n));this.$addClass(le(n,t))},$set:function(n,t,u,f){var c=ue(this.$$element[0],n),e,o,s;c&&(this.$$element.prop(n,t),f=c);this[n]=t;f?this.$attr[n]=f:(f=this.$attr[n],f||(this.$attr[n]=f=sr(n,"-")));o=ni(this.$$element);(o==="A"&&n==="href"||o==="IMG"&&n==="src")&&(!y||y>=8)&&(e=gt(t).href,e!==""&&((n!=="href"||e.match(h))&&(n!=="src"||e.match(l))||(this[n]=t="unsafe:"+e)));u!==!1&&(t===null||t===i?this.$$element.removeAttr(f):this.$$element.attr(f,t));s=this.$$observers;s&&r(s[n],function(n){try{n(t)}catch(i){g(i)}})},$observe:function(n,t){var i=this,r=i.$$observers||(i.$$observers={}),u=r[n]||(r[n]=[]);return u.push(t),ot.$evalAsync(function(){u.$$inter||t(i[n])}),t}};var ui=f.startSymbol(),fi=f.endSymbol(),ei=ui=="{{"||fi=="}}"?ti:function(n){return n.replace(/\{\{/g,ui).replace(/}}/g,fi)},vi=/^ngAttr[A-Z]/;return bt}]}function st(n){return pi(n.replace(ce,""))}function le(n,t){var u="",e=n.split(/\s+/),o=t.split(/\s+/),i,f,r;n:for(i=0;i<e.length;i++){for(f=e[i],r=0;r<o.length;r++)if(f==o[r])continue n;u+=(u.length>0?" ":"")+f}return u}function ch(){var n={},t=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(t,i){kt(t,"controller");p(t)?a(n,t):n[t]=i};this.$get=["$injector","$window",function(i,r){return function(u,f){var h,c,o,s;if(e(u)&&(c=u.match(t),o=c[1],s=c[3],u=n.hasOwnProperty(o)?n[o]:ou(f.$scope,o,!0)||ou(r,o,!0),vi(u,o,!0)),h=i.instantiate(u,f),s){if(!(f&&typeof f.$scope=="object"))throw v("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",o||u.name,s);f.$scope[s]=h}return h}}]}function lh(){this.$get=["$window",function(n){return u(n.document)}]}function ah(){this.$get=["$log",function(n){return function(){n.error.apply(n,arguments)}}]}function ae(n){var t={},i,u,f;return n?(r(n.split("\n"),function(n){f=n.indexOf(":");i=l(d(n.substr(0,f)));u=d(n.substr(f+1));i&&(t[i]?t[i]+=", "+u:t[i]=u)}),t):t}function ve(n){var t=p(n)?n:i;return function(i){return(t||(t=ae(n)),i)?t[l(i)]||null:t}}function ye(n,t,i){return c(i)?i(n,t):(r(i,function(i){n=i(n,t)}),n)}function ku(n){return 200<=n&&n<300}function vh(){var u=/^\s*(\[|\{[^\{])/,o=/[\}\]]\s*$/,v=/^\)\]\}',?\n/,t={"Content-Type":"application/json;charset=utf-8"},n=this.defaults={transformResponse:[function(n){return e(n)&&(n=n.replace(v,""),u.test(n)&&o.test(n)&&(n=vf(n))),n}],transformRequest:[function(n){return p(n)&&!es(n)?et(n):n}],headers:{common:{Accept:"application/json, text/plain, */*"},post:t,put:t,patch:t},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},y=this.interceptors=[],w=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(t,u,o,v,b,k){function d(t){function w(n){var t=a({},n,{data:ye(n.data,n.headers,f.transformResponse)});return ku(n.status)?t:b.reject(t)}function d(t){function s(n){var t;r(n,function(i,r){c(i)&&(t=i(),t!=null?n[r]=t:delete n[r])})}var i=n.headers,u=a({},t.headers),f,e,o;i=a({},i.common,i[l(t.method)]);s(i);s(u);n:for(f in i){e=l(f);for(o in u)if(l(o)===e)continue n;u[f]=i[f]}return u}var f={transformRequest:n.transformRequest,transformResponse:n.transformResponse},o=d(t),v,y,p;a(f,t);f.headers=o;f.method=pt(f.method);v=eo(f.url)?u.cookies()[f.xsrfCookieName||n.xsrfCookieName]:i;v&&(o[f.xsrfHeaderName||n.xsrfHeaderName]=v);var k=function(t){o=t.headers;var i=ye(t.data,ve(o),t.transformRequest);return h(t.data)&&r(o,function(n,t){l(t)==="content-type"&&delete o[t]}),h(t.withCredentials)&&!h(n.withCredentials)&&(t.withCredentials=n.withCredentials),ut(t,i,o).then(w,w)},s=[k,i],e=b.when(f);for(r(g,function(n){(n.request||n.requestError)&&s.unshift(n.request,n.requestError);(n.response||n.responseError)&&s.push(n.response,n.responseError)});s.length;)y=s.shift(),p=s.shift(),e=e.then(y,p);return e.success=function(n){return e.then(function(t){n(t.data,t.status,t.headers,f)}),e},e.error=function(n){return e.then(null,function(t){n(t.data,t.status,t.headers,f)}),e},e}function tt(){r(arguments,function(n){d[n]=function(t,i){return d(a(i||{},{method:n,url:t}))}})}function it(){r(arguments,function(n){d[n]=function(t,i,r){return d(a(r||{},{method:n,url:t,data:i}))}})}function ut(i,r,u){function k(n,t,i){o&&(ku(n)?o.put(c,[n,t,ae(i)]):o.remove(c));w(t,n,i);v.$$phase||v.$apply()}function w(n,t,r){t=Math.max(t,0);(ku(t)?a.resolve:a.reject)({data:n,status:t,headers:ve(r),config:i})}function l(){var n=or(d.pendingRequests,i);n!==-1&&d.pendingRequests.splice(n,1)}var a=b.defer(),y=a.promise,o,e,c=ft(i.url,i.params);if(d.pendingRequests.push(i),y.then(l,l),(i.cache||n.cache)&&i.cache!==!1&&i.method=="GET"&&(o=p(i.cache)?i.cache:p(n.cache)?n.cache:nt),o)if(e=o.get(c),f(e)){if(e.then)return e.then(l,l),e;s(e)?w(e[1],e[0],rt(e[2])):w(e,200,{})}else o.put(c,y);return h(e)&&t(i.method,c,r,k,u,i.timeout,i.withCredentials,i.responseType),y}function ft(n,t){if(!t)return n;var i=[];return fs(t,function(n,t){n===null||h(n)||(s(n)||(n=[n]),r(n,function(n){p(n)&&(n=et(n));i.push(bt(t)+"="+bt(n))}))}),n+(n.indexOf("?")==-1?"?":"&")+i.join("&")}var nt=o("$http"),g=[];return r(y,function(n){g.unshift(e(n)?k.get(n):k.invoke(n))}),r(w,function(n,t){var i=e(n)?k.get(n):k.invoke(n);g.splice(t,0,{response:function(n){return i(b.when(n))},responseError:function(n){return i(b.reject(n))}})}),d.pendingRequests=[],tt("get","delete","head","jsonp"),it("post","put"),d.defaults=n,d}]}function yh(){this.$get=["$browser","$window","$document",function(n,t,i){return ph(n,pe,n.defer,t.angular.callbacks,i[0],t.location.protocol.replace(":",""))}]}function ph(n,t,i,u,e,s){function c(n,t){var i=e.createElement("script"),r=function(){i.onreadystatechange=i.onload=i.onerror=null;e.body.removeChild(i);t&&t()};return i.type="text/javascript",i.src=n,y&&y<=8?i.onreadystatechange=function(){/loaded|complete/.test(i.readyState)&&r()}:i.onload=i.onerror=function(){r()},e.body.appendChild(i),r}var h=-1;return function(e,a,v,y,p,w,b,k){function ut(){nt=h;tt&&tt();d&&d.abort()}function rt(t,r,u,f){var e=s||gt(a).protocol;it&&i.cancel(it);tt=d=null;r=e=="file"?u?200:404:r;r=r==1223?204:r;t(r,u,f);n.$$completeOutstandingRequest(o)}var nt,g,tt,d,it;n.$$incOutstandingRequestCount();a=a||n.url();l(e)=="jsonp"?(g="_"+(u.counter++).toString(36),u[g]=function(n){u[g].data=n},tt=c(a.replace("JSON_CALLBACK","angular.callbacks."+g),function(){u[g].data?rt(y,200,u[g].data):rt(y,nt||-2);delete u[g]})):(d=new t,d.open(e,a,!0),r(p,function(n,t){f(n)&&d.setRequestHeader(t,n)}),d.onreadystatechange=function(){if(d.readyState==4){var n=null,t=null;nt!==h&&(n=d.getAllResponseHeaders(),t=d.responseType?d.response:d.responseText);rt(y,nt||d.status,t,n)}},b&&(d.withCredentials=!0),k&&(d.responseType=k),d.send(v||null));w>0?it=i(ut,w):w&&w.then&&w.then(ut)}}function wh(){var n="{{",t="}}";this.startSymbol=function(t){return t?(n=t,this):n};this.endSymbol=function(n){return n?(t=n,this):t};this.$get=["$parse","$exceptionHandler","$sce",function(i,r,u){function f(f,s,c){for(var p,w,l=0,a=[],v=f.length,k=!1,y,d,b=[];l<v;)(p=f.indexOf(n,l))!=-1&&(w=f.indexOf(t,p+e))!=-1?(l!=p&&a.push(f.substring(l,p)),a.push(y=i(d=f.substring(p+e,w))),y.exp=d,l=w+o,k=!0):(l!=v&&a.push(f.substring(l)),l=v);if((v=a.length)||(a.push(""),v=1),c&&a.length>1)throw du("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",f);if(!s||k)return b.length=v,y=function(n){var i,e,t,o;try{for(i=0,e=v;i<e;i++)typeof(t=a[i])=="function"&&(t=t(n),t=c?u.getTrusted(c,t):u.valueOf(t),t===null||h(t)?t="":typeof t!="string"&&(t=et(t))),b[i]=t;return b.join("")}catch(s){o=du("interr","Can't interpolate: {0}\n{1}",f,s.toString());r(o)}},y.exp=f,y.parts=a,y}var e=n.length,o=t.length;return f.startSymbol=function(){return n},f.endSymbol=function(){return t},f}]}function bh(){this.$get=["$rootScope","$window","$q",function(n,t,i){function u(u,e,o,s){var a=t.setInterval,v=t.clearInterval,c=i.defer(),h=c.promise,l=0,y=f(s)&&!s;return o=f(o)?o:0,h.then(null,null,u),h.$$intervalId=a(function(){c.notify(l++);o>0&&l>=o&&(c.resolve(l),v(h.$$intervalId),delete r[h.$$intervalId]);y||n.$apply()},e),r[h.$$intervalId]=c,h}var r={};return u.cancel=function(n){return n&&n.$$intervalId in r?(r[n.$$intervalId].reject("canceled"),clearInterval(n.$$intervalId),delete r[n.$$intervalId],!0):!1},u}]}function kh(){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(n){return n===1?"one":"other"}}}}function we(n){for(var t=n.split("/"),i=t.length;i--;)t[i]=fu(t[i]);return t.join("/")}function be(n,t,i){var r=gt(n,i);t.$$protocol=r.protocol;t.$$host=r.hostname;t.$$port=b(r.port)||gh[r.protocol]||null}function ke(n,t,i){var u=n.charAt(0)!=="/",r;u&&(n="/"+n);r=gt(n,i);t.$$path=decodeURIComponent(u&&r.pathname.charAt(0)==="/"?r.pathname.substring(1):r.pathname);t.$$search=pf(r.search);t.$$hash=decodeURIComponent(r.hash);t.$$path&&t.$$path.charAt(0)!="/"&&(t.$$path="/"+t.$$path)}function ht(n,t){if(t.indexOf(n)===0)return t.substr(n.length)}function gi(n){var t=n.indexOf("#");return t==-1?n:n.substr(0,t)}function nf(n){return n.substr(0,gi(n).lastIndexOf("/")+1)}function nc(n){return n.substring(0,n.indexOf("/",n.indexOf("//")+2))}function de(n,t){this.$$html5=!0;t=t||"";var r=nf(n);be(n,this,n);this.$$parse=function(t){var i=ht(r,t);if(!e(i))throw gu("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',t,r);ke(i,this,n);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var n=wf(this.$$search),t=this.$$hash?"#"+fu(this.$$hash):"";this.$$url=we(this.$$path)+(n?"?"+n:"")+t;this.$$absUrl=r+this.$$url.substr(1)};this.$$rewrite=function(u){var f,e;return(f=ht(n,u))!==i?(e=f,(f=ht(t,f))!==i?r+(ht("/",f)||f):n+e):(f=ht(r,u))!==i?r+f:r==u+"/"?r:void 0}}function tf(n,t){var i=nf(n);be(n,this,n);this.$$parse=function(r){var u=ht(n,r)||ht(i,r),f=u.charAt(0)=="#"?ht(t,u):this.$$html5?u:"";if(!e(f))throw gu("ihshprfx",'Invalid url "{0}", missing hash prefix "{1}".',r,t);ke(f,this,n);this.$$compose()};this.$$compose=function(){var i=wf(this.$$search),r=this.$$hash?"#"+fu(this.$$hash):"";this.$$url=we(this.$$path)+(i?"?"+i:"")+r;this.$$absUrl=n+(this.$$url?t+this.$$url:"")};this.$$rewrite=function(t){if(gi(n)==gi(t))return t}}function ge(n,t){this.$$html5=!0;tf.apply(this,arguments);var i=nf(n);this.$$rewrite=function(r){var u;return n==gi(r)?r:(u=ht(i,r))?n+t+u:i===r+"/"?i:void 0}}function lr(n){return function(){return this[n]}}function no(n,t){return function(i){return h(i)?this[n]:(this[n]=t(i),this.$$compose(),this)}}function tc(){var t="",i=!1;this.hashPrefix=function(n){return f(n)?(t=n,this):t};this.html5Mode=function(n){return f(n)?(i=n,this):i};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(r,f,e,o){function y(n){r.$broadcast("$locationChangeSuccess",s.absUrl(),n)}var s,a,p=f.baseHref(),h=f.url(),v,c;i?(v=nc(h)+(p||"/"),a=e.history?de:ge):(v=gi(h),a=tf);s=new a(v,"#"+t);s.$$parse(s.$$rewrite(h));o.on("click",function(t){var i,h,e;if(!t.ctrlKey&&!t.metaKey&&t.which!=2){for(i=u(t.target);l(i[0].nodeName)!=="a";)if(i[0]===o[0]||!(i=i.parent())[0])return;h=i.prop("href");e=s.$$rewrite(h);h&&!i.attr("target")&&e&&!t.isDefaultPrevented()&&(t.preventDefault(),e!=f.url()&&(s.$$parse(e),r.$apply(),n.angular["ff-684208-preventDefault"]=!0))}});s.absUrl()!=h&&f.url(s.absUrl(),!0);f.onUrlChange(function(n){if(s.absUrl()!=n){if(r.$broadcast("$locationChangeStart",n,s.absUrl()).defaultPrevented){f.url(s.absUrl());return}r.$evalAsync(function(){var t=s.absUrl();s.$$parse(n);y(t)});r.$$phase||r.$digest()}});return c=0,r.$watch(function(){var n=f.url(),t=s.$$replace;return c&&n==s.absUrl()||(c++,r.$evalAsync(function(){r.$broadcast("$locationChangeStart",s.absUrl(),n).defaultPrevented?s.$$parse(n):(f.url(s.absUrl(),t),y(n))})),s.$$replace=!1,c}),s}]}function ic(){var n=!0,t=this;this.debugEnabled=function(t){return f(t)?(n=t,this):n};this.$get=["$window",function(i){function f(n){return n instanceof Error&&(n.stack?n=n.message&&n.stack.indexOf(n.message)===-1?"Error: "+n.message+"\n"+n.stack:n.stack:n.sourceURL&&(n=n.message+"\n"+n.sourceURL+":"+n.line)),n}function u(n){var t=i.console||{},u=t[n]||t.log||o;return u.apply?function(){var n=[];return r(arguments,function(t){n.push(f(t))}),u.apply(t,n)}:function(n,t){u(n,t==null?"":t)}}return{log:u("log"),info:u("info"),warn:u("warn"),error:u("error"),debug:function(){var i=u("debug");return function(){n&&i.apply(t,arguments)}}()}}]}function vt(n,t){if(n==="constructor")throw lt("isecfld",'Referencing "constructor" field in Angular expressions is disallowed! Expression: {0}',t);return n}function nr(n,t){if(n&&n.constructor===n)throw lt("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);else if(n&&n.document&&n.location&&n.alert&&n.setInterval)throw lt("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",t);else if(n&&(n.nodeName||n.on&&n.find))throw lt("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",t);else return n}function ar(n,t,r,u,f){var s,e,h,o;for(f=f||{},s=t.split("."),h=0;s.length>1;h++)e=vt(s.shift(),u),o=n[e],o||(o={},n[e]=o),n=o,n.then&&f.unwrapPromises&&(at(u),"$$v"in n||function(n){n.then(function(t){n.$$v=t})}(n),n.$$v===i&&(n.$$v={}),n=n.$$v);return e=vt(s.shift(),u),n[e]=r,r}function to(n,t,r,u,f,e,o){return vt(n,e),vt(t,e),vt(r,e),vt(u,e),vt(f,e),o.unwrapPromises?function(o,s){var h=s&&s.hasOwnProperty(n)?s:o,c;return h===null||h===i?h:(h=h[n],h&&h.then&&(at(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),!t||h===null||h===i)?h:(h=h[t],h&&h.then&&(at(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),!r||h===null||h===i)?h:(h=h[r],h&&h.then&&(at(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),!u||h===null||h===i)?h:(h=h[u],h&&h.then&&(at(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),!f||h===null||h===i)?h:(h=h[f],h&&h.then&&(at(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),h)}:function(e,o){var s=o&&o.hasOwnProperty(n)?o:e;return s===null||s===i?s:(s=s[n],!t||s===null||s===i)?s:(s=s[t],!r||s===null||s===i)?s:(s=s[r],!u||s===null||s===i)?s:(s=s[u],!f||s===null||s===i)?s:s[f]}}function io(n,t,u){var f,s,o,e,h;return vr.hasOwnProperty(n)?vr[n]:(f=n.split("."),s=f.length,t.csp?o=s<6?to(f[0],f[1],f[2],f[3],f[4],u,t):function(n,r){var e=0,o;do o=to(f[e++],f[e++],f[e++],f[e++],f[e++],u,t)(n,r),r=i,n=o;while(e<s);return o}:(e="var l, fn, p;\n",r(f,function(n,i){vt(n,u);e+="if(s === null || s === undefined) return s;\nl=s;\ns="+(i?"s":'((k&&k.hasOwnProperty("'+n+'"))?k:s)')+'["'+n+'"];\n'+(t.unwrapPromises?'if (s && s.then) {\n pw("'+u.replace(/(["\r\n])/g,"\\$1")+'");\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':"")}),e+="return s;",h=new Function("s","k","pw",e),h.toString=function(){return e},o=function(n,t){return h(n,t,at)}),n!=="hasOwnProperty"&&(vr[n]=o),o)}function uc(){var t={},n={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(t){return f(t)?(n.unwrapPromises=!!t,this):n.unwrapPromises};this.logPromiseWarnings=function(t){return f(t)?(n.logPromiseWarnings=t,this):n.logPromiseWarnings};this.$get=["$filter","$sniffer","$log",function(i,r,u){return n.csp=r.csp,at=function(t){n.logPromiseWarnings&&!rf.hasOwnProperty(t)&&(rf[t]=!0,u.warn("[$parse] Promise found in the expression `"+t+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))},function(r){var u,f,e;switch(typeof r){case"string":return t.hasOwnProperty(r)?t[r]:(f=new uf(n),e=new ei(f,i,n),u=e.parse(r,!1),r!=="hasOwnProperty"&&(t[r]=u),u);case"function":return r;default:return o}}}]}function fc(){this.$get=["$rootScope","$exceptionHandler",function(n,t){return ec(function(t){n.$evalAsync(t)},t)}]}function ec(n,t){function e(n){return n}function h(n){return f(n)}function a(n){var i=u(),f=0,t=s(n)?[]:{};return r(n,function(n,r){f++;o(n).then(function(n){t.hasOwnProperty(r)||(t[r]=n,--f||i.resolve(t))},function(n){t.hasOwnProperty(r)||i.reject(n)})}),f===0&&i.resolve(t),i.promise}var u=function(){var r=[],s,l;return l={resolve:function(t){if(r){var u=r;r=i;s=o(t);u.length&&n(function(){for(var n,t=0,i=u.length;t<i;t++)n=u[t],s.then(n[0],n[1],n[2])})}},reject:function(n){l.resolve(f(n))},notify:function(t){if(r){var i=r;r.length&&n(function(){for(var r,n=0,u=i.length;n<u;n++)r=i[n],r[2](t)})}},promise:{then:function(n,i,f){var o=u(),l=function(i){try{o.resolve((c(n)?n:e)(i))}catch(r){o.reject(r);t(r)}},a=function(n){try{o.resolve((c(i)?i:h)(n))}catch(r){o.reject(r);t(r)}},v=function(n){try{o.notify((c(f)?f:e)(n))}catch(i){t(i)}};return r?r.push([l,a,v]):s.then(l,a,v),o.promise},"catch":function(n){return this.then(null,n)},"finally":function(n){function t(n,t){var i=u();return t?i.resolve(n):i.reject(n),i.promise}function i(i,r){var u=null;try{u=(n||e)()}catch(f){return t(f,!1)}return u&&c(u.then)?u.then(function(){return t(i,r)},function(n){return t(n,!1)}):t(i,r)}return this.then(function(n){return i(n,!0)},function(n){return i(n,!1)})}}}},o=function(t){return t&&c(t.then)?t:{then:function(i){var r=u();return n(function(){r.resolve(i(t))}),r.promise}}},f=function(i){return{then:function(r,f){var e=u();return n(function(){try{e.resolve((c(f)?f:h)(i))}catch(n){e.reject(n);t(n)}}),e.promise}}},l=function(i,r,s,l){var v=u(),a,w=function(n){try{return(c(r)?r:e)(n)}catch(i){return t(i),f(i)}},y=function(n){try{return(c(s)?s:h)(n)}catch(i){return t(i),f(i)}},p=function(n){try{return(c(l)?l:e)(n)}catch(i){t(i)}};return n(function(){o(i).then(function(n){a||(a=!0,v.resolve(o(n).then(w,y,p)))},function(n){a||(a=!0,v.resolve(y(n)))},function(n){a||v.notify(p(n))})}),v.promise};return{defer:u,reject:f,when:l,all:a}}function oc(){var n=10,t=v("$rootScope");this.digestTtl=function(t){return arguments.length&&(n=t),n};this.$get=["$injector","$exceptionHandler","$parse","$browser",function(i,r,u,f){function s(){this.$id=ur();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.$$postDigestQueue=[];this.$$listeners={};this.$$isolateBindings={}}function l(n){if(e.$$phase)throw t("inprog","{0} already in progress",e.$$phase);e.$$phase=n}function h(){e.$$phase=null}function a(n,t){var i=u(n);return vi(i,t),i}function v(){}s.prototype={constructor:s,$new:function(n){var i,t;return n?(t=new s,t.$root=this.$root,t.$$asyncQueue=this.$$asyncQueue,t.$$postDigestQueue=this.$$postDigestQueue):(i=function(){},i.prototype=this,t=new i,t.$id=ur()),t["this"]=t,t.$$listeners={},t.$parent=this,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(n,t,i){var f=this,e=a(n,"watch"),u=f.$$watchers,r={fn:t,last:v,get:e,exp:n,eq:!!i},s,h;return c(t)||(s=a(t||o,"listener"),r.fn=function(n,t,i){s(i)}),typeof n=="string"&&e.constant&&(h=r.fn,r.fn=function(n,t,i){h.call(this,n,t,i);li(u,r)}),u||(u=f.$$watchers=[]),u.unshift(r),function(){li(u,r)}},$watchCollection:function(n,t){function l(){var t,n,u;if(r=c(o),p(r))if(nu(r))for(i!==s&&(i=s,e=i.length=0,f++),t=r.length,e!==t&&(f++,i.length=e=t),u=0;u<t;u++)i[u]!==r[u]&&(f++,i[u]=r[u]);else{i!==h&&(i=h={},e=0,f++);t=0;for(n in r)r.hasOwnProperty(n)&&(t++,i.hasOwnProperty(n)?i[n]!==r[n]&&(f++,i[n]=r[n]):(e++,i[n]=r[n],f++));if(e>t){f++;for(n in i)i.hasOwnProperty(n)&&!r.hasOwnProperty(n)&&(e--,delete i[n])}}else i!==r&&(i=r,f++);return f}function a(){t(r,i,o)}var o=this,i,r,f=0,c=u(n),s=[],h={},e=0;return this.$watch(l,a)},$digest:function(){var i,f,e,y,p=this.$$asyncQueue,it=this.$$postDigestQueue,w,o,b=n,k,u,d=this,s=[],a,g,nt;l("$digest");do{for(o=!1,u=d;p.length;)try{nt=p.shift();nt.scope.$eval(nt.expression)}catch(tt){r(tt)}do{if(y=u.$$watchers)for(w=y.length;w--;)try{i=y[w];!i||(f=i.get(u))===(e=i.last)||(i.eq?ri(f,e):typeof f=="number"&&typeof e=="number"&&isNaN(f)&&isNaN(e))||(o=!0,i.last=i.eq?rt(f):f,i.fn(f,e===v?f:e,u),b<5&&(a=4-b,s[a]||(s[a]=[]),g=c(i.exp)?"fn: "+(i.exp.name||i.exp.toString()):i.exp,g+="; newVal: "+et(f)+"; oldVal: "+et(e),s[a].push(g)))}catch(tt){r(tt)}if(!(k=u.$$childHead||u!==d&&u.$$nextSibling))while(u!==d&&!(k=u.$$nextSibling))u=u.$parent}while(u=k);if(o&&!b--){h();throw t("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",n,et(s));}}while(o||p.length);for(h();it.length;)try{it.shift()()}catch(tt){r(tt)}},$destroy:function(){if(e!=this&&!this.$$destroyed){var n=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;n.$$childHead==this&&(n.$$childHead=this.$$nextSibling);n.$$childTail==this&&(n.$$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(n,t){return u(n)(this,t)},$evalAsync:function(n){e.$$phase||e.$$asyncQueue.length||f.defer(function(){e.$$asyncQueue.length&&e.$digest()});this.$$asyncQueue.push({scope:this,expression:n})},$$postDigest:function(n){this.$$postDigestQueue.push(n)},$apply:function(n){try{return l("$apply"),this.$eval(n)}catch(t){r(t)}finally{h();try{e.$digest()}catch(t){r(t);throw t;}}},$on:function(n,t){var i=this.$$listeners[n];return i||(this.$$listeners[n]=i=[]),i.push(t),function(){i[or(i,t)]=null}},$emit:function(n){var s=[],u,i=this,o=!1,f={name:n,targetScope:i,stopPropagation:function(){o=!0},preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},h=iu([f],arguments,1),t,e;do{for(u=i.$$listeners[n]||s,f.currentScope=i,t=0,e=u.length;t<e;t++){if(!u[t]){u.splice(t,1);t--;e--;continue}try{u[t].apply(null,h)}catch(c){r(c)}}if(o)return f;i=i.$parent}while(i);return f},$broadcast:function(n){var u=this,t=u,e=u,o={name:n,targetScope:u,preventDefault:function(){o.defaultPrevented=!0},defaultPrevented:!1},h=iu([o],arguments,1),f,i,s;do{for(t=e,o.currentScope=t,f=t.$$listeners[n]||[],i=0,s=f.length;i<s;i++){if(!f[i]){f.splice(i,1);i--;s--;continue}try{f[i].apply(null,h)}catch(c){r(c)}}if(!(e=t.$$childHead||t!==u&&t.$$nextSibling))while(t!==u&&!(e=t.$$nextSibling))t=t.$parent}while(t=e);return o}};var e=new s;return e}]}function sc(n){return n.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")}function hc(n){if(n==="self")return n;if(e(n)){if(n.indexOf("***")>-1)throw ct("iwcard","Illegal sequence *** in string matcher.  String: {0}",n);return n=sc(n).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+n+"$")}if(fr(n))return new RegExp("^"+n.source+"$");throw ct("imatcher",'Matchers may only be "self", string patterns or RegExp objects');}function ro(n){var t=[];return f(n)&&r(n,function(n){t.push(hc(n))}),t}function cc(){this.SCE_CONTEXTS=tt;var n=["self"],t=[];this.resourceUrlWhitelist=function(t){return arguments.length&&(n=ro(t)),n};this.resourceUrlBlacklist=function(n){return arguments.length&&(t=ro(n)),t};this.$get=["$injector",function(r){function s(n,t){return n==="self"?eo(t):!!n.exec(t.href)}function h(i){for(var e=gt(i.toString()),f=!1,r=0,u=n.length;r<u;r++)if(s(n[r],e)){f=!0;break}if(f)for(r=0,u=t.length;r<u;r++)if(s(t[r],e)){f=!1;break}return f}function f(n){var t=function(n){this.$$unwrapTrustedValue=function(){return n}};return n&&(t.prototype=new n),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}function c(n,t){var r=u.hasOwnProperty(n)?u[n]:null;if(!r)throw ct("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",n,t);if(t===null||t===i||t==="")return t;if(typeof t!="string")throw ct("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",n);return new r(t)}function l(n){return n instanceof e?n.$$unwrapTrustedValue():n}function a(n,t){if(t===null||t===i||t==="")return t;var r=u.hasOwnProperty(n)?u[n]:null;if(r&&t instanceof r)return t.$$unwrapTrustedValue();if(n===tt.RESOURCE_URL){if(h(t))return t;throw ct("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",t.toString());}else if(n===tt.HTML)return o(t);throw ct("unsafe","Attempting to use an unsafe value in a safe context.");}var o=function(){throw ct("unsafe","Attempting to use an unsafe value in a safe context.");},e,u;return r.has("$sanitize")&&(o=r.get("$sanitize")),e=f(),u={},u[tt.HTML]=f(e),u[tt.CSS]=f(e),u[tt.URL]=f(e),u[tt.JS]=f(e),u[tt.RESOURCE_URL]=f(u[tt.URL]),{trustAs:c,getTrusted:a,valueOf:l}}]}function lc(){var n=!0;this.enabled=function(t){return arguments.length&&(n=!!t),n};this.$get=["$parse","$sniffer","$sceDelegate",function(t,i,u){var f;if(n&&i.msie&&i.msieDocumentMode<8)throw ct("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");f=rt(tt);f.isEnabled=function(){return n};f.trustAs=u.trustAs;f.getTrusted=u.getTrusted;f.valueOf=u.valueOf;n||(f.trustAs=f.getTrusted=function(n,t){return t},f.valueOf=ti);f.parseAs=function(n,i){var r=t(i);return r.literal&&r.constant?r:function(t,i){return f.getTrusted(n,r(t,i))}};var e=f.parseAs,o=f.getTrusted,s=f.trustAs;return r(tt,function(n,t){var i=l(t);f[pi("parse_as_"+i)]=function(t){return e(n,t)};f[pi("get_trusted_"+i)]=function(t){return o(n,t)};f[pi("trust_as_"+i)]=function(t){return s(n,t)}}),f}]}function ac(){this.$get=["$window","$document",function(n,t){var s={},a=b((/android (\d+)/.exec(l((n.navigator||{}).userAgent))||[])[1]),w=/Boxee/i.test((n.navigator||{}).userAgent),u=t[0]||{},c=u.documentMode,i,r=u.body&&u.body.style,f=!1,o=!1,v,p;if(r){for(p in r)if(v=/^(Moz|webkit|O|ms)(?=[A-Z])/.exec(p)){i=v[0];i=i.substr(0,1).toUpperCase()+i.substr(1);break}i||(i="WebkitOpacity"in r&&"webkit");f=!!("transition"in r||i+"Transition"in r);o=!!("animation"in r||i+"Animation"in r);!a||f&&o||(f=e(u.body.style.webkitTransition),o=e(u.body.style.webkitAnimation))}return{history:!!(n.history&&n.history.pushState&&!(a<4)&&!w),hashchange:"onhashchange"in n&&(!c||c>7),hasEvent:function(n){if(n=="input"&&y==9)return!1;if(h(s[n])){var t=u.createElement("div");s[n]="on"+n in t}return s[n]},csp:af(),vendorPrefix:i,transitions:f,animations:o,msie:y,msieDocumentMode:c}}]}function vc(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(n,t,i,r){function e(e,o,s){var h=i.defer(),c=h.promise,a=f(s)&&!s,l;return l=t.defer(function(){try{h.resolve(e())}catch(t){h.reject(t);r(t)}finally{delete u[c.$$timeoutId]}a||n.$apply()},o),c.$$timeoutId=l,u[l]=h,c}var u={};return e.cancel=function(n){return n&&n.$$timeoutId in u?(u[n.$$timeoutId].reject("canceled"),delete u[n.$$timeoutId],t.defer.cancel(n.$$timeoutId)):!1},e}]}function gt(n,t){var r=n,i;return y&&(g.setAttribute("href",r),r=g.href),g.setAttribute("href",r),i=yc(g.pathname,n,t),i=i.charAt(0)==="/"?i:"/"+i,{href:g.href,protocol:g.protocol?g.protocol.replace(/:$/,""):"",host:g.host,search:g.search?g.search.replace(/^\?/,""):"",hash:g.hash?g.hash.replace(/^#/,""):"",hostname:g.hostname,port:g.port,pathname:i}}function eo(n){var t=e(n)?gt(n):n;return t.protocol===fo.protocol&&t.host===fo.host}function yc(n,t,i){var r;return(t.indexOf(i)===0&&(t=t.replace(i,"")),uo.exec(t))?n:(r=uo.exec(n),r?r[1]:n)}function pc(){this.$get=nt(n)}function oo(n){function t(u,f){if(p(u)){var e={};return r(u,function(n,i){e[i]=t(i,n)}),e}return n.factory(u+i,f)}var i="Filter";this.register=t;this.$get=["$injector",function(n){return function(t){return n.get(t+i)}}];t("currency",so);t("date",lo);t("filter",wc);t("json",tl);t("limitTo",il);t("lowercase",ao);t("number",ho);t("orderBy",yo);t("uppercase",vo)}function wc(){return function(n,t,i){var o,r,u,f,h,e,c;if(!s(n))return n;o=typeof i;r=[];r.check=function(n){for(var t=0;t<r.length;t++)if(!r[t](n))return!1;return!0};o!=="function"&&(i=o==="boolean"&&i?function(n,t){return rr.equals(n,t)}:function(n,t){return t=(""+t).toLowerCase(),(""+n).toLowerCase().indexOf(t)>-1});u=function(n,t){var f,r;if(typeof t=="string"&&t.charAt(0)==="!")return!u(n,t.substr(1));switch(typeof n){case"boolean":case"number":case"string":return i(n,t);case"object":switch(typeof t){case"object":return i(n,t);default:for(f in n)if(f.charAt(0)!=="$"&&u(n[f],t))return!0}return!1;case"array":for(r=0;r<n.length;r++)if(u(n[r],t))return!0;return!1;default:return!1}};switch(typeof t){case"boolean":case"number":case"string":t={$:t};case"object":for(f in t)f=="$"?function(){if(t[f]){var n=f;r.push(function(i){return u(i,t[n])})}}():function(){if(typeof t[f]!="undefined"){var n=f;r.push(function(i){return u(ou(i,n),t[n])})}}();break;case"function":r.push(t);break;default:return n}for(h=[],e=0;e<n.length;e++)c=n[e],r.check(c)&&h.push(c);return h}}function so(n){var t=n.NUMBER_FORMATS;return function(n,i){return h(i)&&(i=t.CURRENCY_SYM),co(n,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,2).replace(/\u00A4/g,i)}}function ho(n){var t=n.NUMBER_FORMATS;return function(n,i){return co(n,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,i)}}function co(n,t,i,r,u){var y,a,k,p,o,s;if(isNaN(n)||!isFinite(n))return"";y=n<0;n=Math.abs(n);var c=n+"",e="",l=[],b=!1;if(c.indexOf("e")!==-1&&(a=c.match(/([\d\.]+)e(-?)(\d+)/),a&&a[2]=="-"&&a[3]>u+1?c="0":(e=c,b=!0)),b)u>0&&n>-1&&n<1&&(e=n.toFixed(u));else{k=(c.split(ff)[1]||"").length;h(u)&&(u=Math.min(Math.max(t.minFrac,k),t.maxFrac));p=Math.pow(10,u);n=Math.round(n*p)/p;o=(""+n).split(ff);s=o[0];o=o[1]||"";var f,v=0,w=t.lgSize,d=t.gSize;if(s.length>=w+d)for(v=s.length-w,f=0;f<v;f++)(v-f)%d==0&&f!==0&&(e+=i),e+=s.charAt(f);for(f=v;f<s.length;f++)(s.length-f)%w==0&&f!==0&&(e+=i),e+=s.charAt(f);while(o.length<u)o+="0";u&&u!=="0"&&(e+=r+o.substr(0,u))}return l.push(y?t.negPre:t.posPre),l.push(e),l.push(y?t.negSuf:t.posSuf),l.join("")}function ef(n,t,i){var r="";for(n<0&&(r="-",n=-n),n=""+n;n.length<t;)n="0"+n;return i&&(n=n.substr(n.length-t)),r+n}function k(n,t,i,r){return i=i||0,function(u){var f=u["get"+n]();return(i>0||f>-i)&&(f+=i),f===0&&i==-12&&(f=12),ef(f,t,r)}}function yr(n,t){return function(i,r){var u=i["get"+n](),f=pt(t?"SHORT"+n:n);return r[f][u]}}function bc(n){var t=-1*n.getTimezoneOffset(),i=t>=0?"+":"";return i+(ef(Math[t>0?"floor":"ceil"](t/60),2)+ef(Math.abs(t%60),2))}function kc(n,t){return n.getHours()<12?t.AMPMS[0]:t.AMPMS[1]}function lo(n){function i(n){var i;if(i=n.match(t)){var r=new Date(0),u=0,f=0,e=i[8]?r.setUTCFullYear:r.setFullYear,o=i[8]?r.setUTCHours:r.setHours;i[9]&&(u=b(i[9]+i[10]),f=b(i[9]+i[11]));e.call(r,b(i[1]),b(i[2])-1,b(i[3]));var s=b(i[4]||0)-u,h=b(i[5]||0)-f,c=b(i[6]||0),l=Math.round(parseFloat("0."+(i[7]||0))*1e3);return o.call(r,s,h,c,l),r}return n}var t=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(t,u){var h="",f=[],o,s;if(u=u||"mediumDate",u=n.DATETIME_FORMATS[u]||u,e(t)&&(t=nl.test(t)?b(t):i(t)),tu(t)&&(t=new Date(t)),!ci(t))return t;while(u)s=gc.exec(u),s?(f=iu(f,s,1),u=f.pop()):(f.push(u),u=null);return r(f,function(i){o=dc[i];h+=o?o(t,n.DATETIME_FORMATS):i.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),h}}function tl(){return function(n){return et(n,!0)}}function il(){return function(n,t){if(!s(n)&&!e(n))return n;if(t=b(t),e(n))return t?t>=0?n.slice(0,t):n.slice(t,n.length):"";var u=[],i,r;for(t>n.length?t=n.length:t<-n.length&&(t=-n.length),t>0?(i=0,r=t):(i=n.length+t,r=n.length);i<r;i++)u.push(n[i]);return u}}function yo(n){return function(t,i,r){function h(n,t){for(var u,r=0;r<i.length;r++)if(u=i[r](n,t),u!==0)return u;return 0}function o(n,t){return ai(t)?function(t,i){return n(i,t)}:n}function c(n,t){var i=typeof n,r=typeof t;return i==r?(i=="string"&&(n=n.toLowerCase(),t=t.toLowerCase()),n===t)?0:n<t?-1:1:i<r?-1:1}var f,u;if(!s(t)||!i)return t;for(i=s(i)?i:[i],i=ss(i,function(t){var r=!1,i=t||ti;return e(t)&&((t.charAt(0)=="+"||t.charAt(0)=="-")&&(r=t.charAt(0)=="-",t=t.substring(1)),i=n(t)),o(function(n,t){return c(i(n),i(t))},r)}),f=[],u=0;u<t.length;u++)f.push(t[u]);return f.sort(o(h,r))}}function yt(n){return c(n)&&(n={link:n}),n.restrict=n.restrict||"AC",nt(n)}function wo(n,t){function u(t,i){i=i?"-"+sr(i,"-"):"";n.removeClass((t?kr:br)+i).addClass((t?br:kr)+i)}var i=this,f=n.parent().controller("form")||tr,e=0,o=i.$error={},s=[];i.$name=t.name||t.ngForm;i.$dirty=!1;i.$pristine=!0;i.$valid=!0;i.$invalid=!1;f.$addControl(i);n.addClass(oi);u(!0);i.$addControl=function(n){kt(n.$name,"input");s.push(n);n.$name&&(i[n.$name]=n)};i.$removeControl=function(n){n.$name&&i[n.$name]===n&&delete i[n.$name];r(o,function(t,r){i.$setValidity(r,!0,n)});li(s,n)};i.$setValidity=function(n,t,r){var s=o[n];if(t)s&&(li(s,r),s.length||(e--,e||(u(t),i.$valid=!0,i.$invalid=!1),o[n]=!1,u(!0,n),f.$setValidity(n,!0,i)));else{if(e||u(t),s){if(hs(s,r))return}else o[n]=s=[],e++,u(!1,n),f.$setValidity(n,!1,i);s.push(r);i.$valid=!1;i.$invalid=!0}};i.$setDirty=function(){n.removeClass(oi).addClass(dr);i.$dirty=!0;i.$pristine=!1;f.$setDirty()};i.$setPristine=function(){n.removeClass(dr).addClass(oi);i.$dirty=!1;i.$pristine=!0;r(s,function(n){n.$setPristine()})}}function wr(n,t,r,u,f,e){var l=!1,s,a,y,o,h,c,p,g,w,nt,k;t.on("compositionstart",function(){l=!0});t.on("compositionend",function(){l=!1});if(s=function(){if(!l){var i=t.val();ai(r.ngTrim||"T")&&(i=d(i));u.$viewValue!==i&&n.$apply(function(){u.$setViewValue(i)})}},f.hasEvent("input"))t.on("input",s);else{y=function(){a||(a=e.defer(function(){s();a=null}))};t.on("keydown",function(n){var t=n.keyCode;t===91||15<t&&t<19||37<=t&&t<=40||y()});t.on("change",s);if(f.hasEvent("paste"))t.on("paste cut",y)}u.$render=function(){t.val(u.$isEmpty(u.$viewValue)?"":u.$viewValue)};o=r.ngPattern;p=function(n,t){return u.$isEmpty(t)||n.test(t)?(u.$setValidity("pattern",!0),t):(u.$setValidity("pattern",!1),i)};o&&(c=o.match(/^\/(.*)\/([gim]*)$/),c?(o=new RegExp(c[1],c[2]),h=function(n){return p(o,n)}):h=function(i){var r=n.$eval(o);if(!r||!r.test)throw v("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",o,r,ut(t));return p(r,i)},u.$formatters.push(h),u.$parsers.push(h));r.ngMinlength&&(g=b(r.ngMinlength),w=function(n){return!u.$isEmpty(n)&&n.length<g?(u.$setValidity("minlength",!1),i):(u.$setValidity("minlength",!0),n)},u.$parsers.push(w),u.$formatters.push(w));r.ngMaxlength&&(nt=b(r.ngMaxlength),k=function(n){return!u.$isEmpty(n)&&n.length>nt?(u.$setValidity("maxlength",!1),i):(u.$setValidity("maxlength",!0),n)},u.$parsers.push(k),u.$formatters.push(k))}function sl(n,t,r,u,f,e){var o,s;wr(n,t,r,u,f,e);u.$parsers.push(function(n){var t=u.$isEmpty(n);return t||ol.test(n)?(u.$setValidity("number",!0),n===""?null:t?n:parseFloat(n)):(u.$setValidity("number",!1),i)});u.$formatters.push(function(n){return u.$isEmpty(n)?"":""+n});r.min&&(o=function(n){var t=parseFloat(r.min);return!u.$isEmpty(n)&&n<t?(u.$setValidity("min",!1),i):(u.$setValidity("min",!0),n)},u.$parsers.push(o),u.$formatters.push(o));r.max&&(s=function(n){var t=parseFloat(r.max);return!u.$isEmpty(n)&&n>t?(u.$setValidity("max",!1),i):(u.$setValidity("max",!0),n)},u.$parsers.push(s),u.$formatters.push(s));u.$formatters.push(function(n){return u.$isEmpty(n)||tu(n)?(u.$setValidity("number",!0),n):(u.$setValidity("number",!1),i)})}function hl(n,t,r,u,f,e){wr(n,t,r,u,f,e);var o=function(n){return u.$isEmpty(n)||fl.test(n)?(u.$setValidity("url",!0),n):(u.$setValidity("url",!1),i)};u.$formatters.push(o);u.$parsers.push(o)}function cl(n,t,r,u,f,e){wr(n,t,r,u,f,e);var o=function(n){return u.$isEmpty(n)||el.test(n)?(u.$setValidity("email",!0),n):(u.$setValidity("email",!1),i)};u.$formatters.push(o);u.$parsers.push(o)}function ll(n,t,i,r){h(i.name)&&t.attr("name",ur());t.on("click",function(){t[0].checked&&n.$apply(function(){r.$setViewValue(i.value)})});r.$render=function(){var n=i.value;t[0].checked=n==r.$viewValue};i.$observe("value",r.$render)}function al(n,t,i,r){var u=i.ngTrueValue,f=i.ngFalseValue;e(u)||(u=!0);e(f)||(f=!1);t.on("click",function(){n.$apply(function(){r.$setViewValue(t[0].checked)})});r.$render=function(){t[0].checked=r.$viewValue};r.$isEmpty=function(n){return n!==u};r.$formatters.push(function(n){return n===u});r.$parsers.push(function(n){return n?u:f})}function of(n,t){return n="ngClass"+n,function(){return{restrict:"AC",link:function(i,u,f){function h(n){if(t===!0||i.$index%2===t){var r=o(n||"");e?ri(n,e)||f.$updateClass(r,o(e)):f.$addClass(r)}e=rt(n)}function o(n){if(s(n))return n.join(" ");if(p(n)){var t=[];return r(n,function(n,i){n&&t.push(i)}),t.join(" ")}return n}var e;i.$watch(f[n],h,!0);f.$observe("class",function(){h(i.$eval(f[n]))});n!=="ngClass"&&i.$watch("$index",function(r,u){var s=r&1,e;s!==u&1&&(e=o(i.$eval(f[n])),s===t?f.$addClass(e):f.$removeClass(e))})}}}}var l=function(n){return e(n)?n.toLowerCase():n},pt=function(n){return e(n)?n.toUpperCase():n},is=function(n){return e(n)?n.replace(/[A-Z]/g,function(n){return String.fromCharCode(n.charCodeAt(0)|32)}):n},rs=function(n){return e(n)?n.replace(/[a-z]/g,function(n){return String.fromCharCode(n.charCodeAt(0)&-33)}):n},d,kf,df,dt,bi,bu,oe,se,it,ce,pe,du,lt,rf,at,ei,vr,ct,tt,ff,ao,vo,po,pr,tr;"i"!=="I".toLowerCase()&&(l=is,pt=rs);var y,u,wt,gr=[].slice,us=[].push,ir=Object.prototype.toString,si=v("ng"),uv=n.angular,rr=n.angular||(n.angular={}),hi,ni,ft=["0","0","0"];y=b((/msie (\d+)/.exec(l(navigator.userAgent))||[])[1]);isNaN(y)&&(y=b((/trident\/.*; rv:(\d+)/.exec(l(navigator.userAgent))||[])[1]));o.$inject=[];ti.$inject=[];d=function(){return String.prototype.trim?function(n){return e(n)?n.trim():n}:function(n){return e(n)?n.replace(/^\s*/,"").replace(/\s*$/,""):n}}();ni=y<9?function(n){return n=n.nodeName?n:n[0],n.scopeName&&n.scopeName!="HTML"?pt(n.scopeName+":"+n.nodeName):n.nodeName}:function(n){return n.nodeName?n.nodeName:n[0].nodeName};kf=/[A-Z]/g;df={full:"1.2.2",major:1,minor:2,dot:2,codeName:"consciousness-inertia"};var yi=w.cache={},hr=w.expando="ng-"+(new Date).getTime(),ws=1,gf=n.document.addEventListener?function(n,t,i){n.addEventListener(t,i,!1)}:function(n,t,i){n.attachEvent("on"+t,i)},hu=n.document.removeEventListener?function(n,t,i){n.removeEventListener(t,i,!1)}:function(n,t,i){n.detachEvent("on"+t,i)};var ks=/([\:\-\_]+(.))/g,ds=/^moz([A-Z])/,cu=v("jqLite");dt=w.prototype={ready:function(i){function r(){u||(u=!0,i())}var u=!1;if(t.readyState==="complete")setTimeout(r);else{this.on("DOMContentLoaded",r);w(n).on("load",r)}},toString:function(){var n=[];return r(this,function(t){n.push(""+t)}),"["+n.join(", ")+"]"},eq:function(n){return n>=0?u(this[n]):u(this[this.length+n])},length:0,push:us,sort:[].sort,splice:[].splice};bi={};r("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(n){bi[l(n)]=n});bu={};r("input,select,option,textarea,button,form,details".split(","),function(n){bu[pt(n)]=!0});r({data:ie,inheritedData:cr,scope:function(n){return u(n).data("$scope")||cr(n.parentNode||n,["$isolateScope","$scope"])},isolateScope:function(n){return u(n).data("$isolateScope")||u(n).data("$isolateScopeNoTemplate")},controller:re,injector:function(n){return cr(n,"$injector")},removeAttr:function(n,t){n.removeAttribute(t)},hasClass:vu,css:function(n,t,r){if(t=pi(t),f(r))n.style[t]=r;else{var u;return y<=8&&(u=n.currentStyle&&n.currentStyle[t],u===""&&(u="auto")),u=u||n.style[t],y<=8&&(u=u===""?i:u),u}},attr:function(n,t,r){var u=l(t),e;if(bi[u])if(f(r))r?(n[t]=!0,n.setAttribute(t,u)):(n[t]=!1,n.removeAttribute(u));else return n[t]||(n.attributes.getNamedItem(t)||o).specified?u:i;else if(f(r))n.setAttribute(t,r);else if(n.getAttribute)return e=n.getAttribute(t,2),e===null?i:e},prop:function(n,t,i){if(f(i))n[t]=i;else return n[t]},text:function(){function t(t,i){var r=n[t.nodeType];if(h(i))return r?t[r]:"";t[r]=i}var n=[];return y<9?(n[1]="innerText",n[3]="nodeValue"):n[1]=n[3]="textContent",t.$dv="",t}(),val:function(n,t){if(h(t)){if(ni(n)==="SELECT"&&n.multiple){var i=[];return r(n.options,function(n){n.selected&&i.push(n.value||n.text)}),i.length===0?null:i}return n.value}n.value=t},html:function(n,t){if(h(t))return n.innerHTML;for(var i=0,r=n.childNodes;i<r.length;i++)wi(r[i]);n.innerHTML=t}},function(n,t){w.prototype[t]=function(t,r){var u,o,f,h,e,s;if((n.length==2&&n!==vu&&n!==re?t:r)===i){if(p(t)){for(u=0;u<this.length;u++)if(n===ie)n(this[u],t);else for(o in t)n(this[u],o,t[o]);return this}for(f=n.$dv,h=f===i?Math.min(this.length,1):this.length,e=0;e<h;e++)s=n(this[e],t,r),f=f?f+s:s;return f}for(u=0;u<this.length;u++)n(this[u],t,r);return this}});r({removeData:te,dealoc:wi,on:function nh(n,i,u,e){if(f(e))throw cu("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");var o=ot(n,"events"),s=ot(n,"handle");o||ot(n,"events",o={});s||ot(n,"handle",s=gs(n,o));r(i.split(" "),function(i){var r=o[i],f,e;r||(i=="mouseenter"||i=="mouseleave"?(f=t.body.contains||t.body.compareDocumentPosition?function(n,t){var r=n.nodeType===9?n.documentElement:n,i=t&&t.parentNode;return n===i||!!(i&&i.nodeType===1&&(r.contains?r.contains(i):n.compareDocumentPosition&&n.compareDocumentPosition(i)&16))}:function(n,t){if(t)while(t=t.parentNode)if(t===n)return!0;return!1},o[i]=[],e={mouseleave:"mouseout",mouseenter:"mouseover"},nh(n,e[i],function(n){var r=this,t=n.relatedTarget;t&&(t===r||f(r,t))||s(n,i)})):(gf(n,i,s),o[i]=[]),r=o[i]);r.push(u)})},off:ne,replaceWith:function(n,t){var i,u=n.parentNode;wi(n);r(new w(t),function(t){i?u.insertBefore(t,i.nextSibling):u.replaceChild(t,n);i=t})},children:function(n){var t=[];return r(n.childNodes,function(n){n.nodeType===1&&t.push(n)}),t},contents:function(n){return n.childNodes||[]},append:function(n,t){r(new w(t),function(t){(n.nodeType===1||n.nodeType===11)&&n.appendChild(t)})},prepend:function(n,t){if(n.nodeType===1){var i=n.firstChild;r(new w(t),function(t){n.insertBefore(t,i)})}},wrap:function(n,t){t=u(t)[0];var i=n.parentNode;i&&i.replaceChild(t,n);t.appendChild(n)},remove:function(n){wi(n);var t=n.parentNode;t&&t.removeChild(n)},after:function(n,t){var i=n,u=n.parentNode;r(new w(t),function(n){u.insertBefore(n,i.nextSibling);i=n})},addClass:pu,removeClass:yu,toggleClass:function(n,t,i){h(i)&&(i=!vu(n,t));(i?pu:yu)(n,t)},parent:function(n){var t=n.parentNode;return t&&t.nodeType!==11?t:null},next:function(n){if(n.nextElementSibling)return n.nextElementSibling;for(var t=n.nextSibling;t!=null&&t.nodeType!==1;)t=t.nextSibling;return t},find:function(n,t){return n.getElementsByTagName(t)},clone:au,triggerHandler:function(n,t,i){var f=(ot(n,"events")||{})[t],u;i=i||[];u=[{preventDefault:o,stopPropagation:o}];r(f,function(t){t.apply(n,u.concat(i))})}},function(n,t){w.prototype[t]=function(t,i,r){for(var e,o=0;o<this.length;o++)h(e)?(e=n(this[o],t,i,r),f(e)&&(e=u(e))):wu(e,n(this[o],t,i,r));return f(e)?e:this};w.prototype.bind=w.prototype.on;w.prototype.unbind=w.prototype.off});ki.prototype={put:function(n,t){this[ui(n)]=t},get:function(n){return this[ui(n)]},remove:function(n){var t=this[n=ui(n)];return delete this[n],t}};var th=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,ih=/,/,rh=/^\s*(_?)(\S+?)\1\s*$/,uh=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,di=v("$injector");oe=v("$animate");se=["$provide",function(n){this.$$selectors={};this.register=function(t,i){var r=t+"-animation";if(t&&t.charAt(0)!=".")throw oe("notcsel","Expecting class selector starting with '.' got '{0}'.",t);this.$$selectors[t.substr(1)]=r;n.factory(r,i)};this.$get=["$timeout",function(n){return{enter:function(t,i,r,u){r?r.after(t):(i&&i[0]||(i=r.parent()),i.append(t));u&&n(u,0,!1)},leave:function(t,i){t.remove();i&&n(i,0,!1)},move:function(n,t,i,r){this.enter(n,t,i,r)},addClass:function(t,i,u){i=e(i)?i:s(i)?i.join(" "):"";r(t,function(n){pu(n,i)});u&&n(u,0,!1)},removeClass:function(t,i,u){i=e(i)?i:s(i)?i.join(" "):"";r(t,function(n){yu(n,i)});u&&n(u,0,!1)},enabled:o}}]}];it=v("$compile");he.$inject=["$provide"];ce=/^(x[\:\-_]|data[\:\-_])/i;pe=n.XMLHttpRequest||function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(n){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(i){}throw v("$httpBackend")("noxhr","This browser does not support XMLHttpRequest.");};du=v("$interpolate");var dh=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,gh={http:80,https:443,ftp:21},gu=v("$location");ge.prototype=tf.prototype=de.prototype={$$html5:!1,$$replace:!1,absUrl:lr("$$absUrl"),url:function(n,t){if(h(n))return this.$$url;var i=dh.exec(n);return i[1]&&this.path(decodeURIComponent(i[1])),(i[2]||i[1])&&this.search(i[3]||""),this.hash(i[5]||"",t),this},protocol:lr("$$protocol"),host:lr("$$host"),port:lr("$$port"),path:no("$$path",function(n){return n.charAt(0)=="/"?n:"/"+n}),search:function(n,t){switch(arguments.length){case 0:return this.$$search;case 1:if(e(n))this.$$search=pf(n);else if(p(n))this.$$search=n;else throw gu("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");break;default:h(t)||t===null?delete this.$$search[n]:this.$$search[n]=t}return this.$$compose(),this},hash:no("$$hash",ti),replace:function(){return this.$$replace=!0,this}};lt=v("$parse");rf={};var fi={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:o,"+":function(n,t,r,u){return(r=r(n,t),u=u(n,t),f(r))?f(u)?r+u:r:f(u)?u:i},"-":function(n,t,i,r){return i=i(n,t),r=r(n,t),(f(i)?i:0)-(f(r)?r:0)},"*":function(n,t,i,r){return i(n,t)*r(n,t)},"/":function(n,t,i,r){return i(n,t)/r(n,t)},"%":function(n,t,i,r){return i(n,t)%r(n,t)},"^":function(n,t,i,r){return i(n,t)^r(n,t)},"=":o,"===":function(n,t,i,r){return i(n,t)===r(n,t)},"!==":function(n,t,i,r){return i(n,t)!==r(n,t)},"==":function(n,t,i,r){return i(n,t)==r(n,t)},"!=":function(n,t,i,r){return i(n,t)!=r(n,t)},"<":function(n,t,i,r){return i(n,t)<r(n,t)},">":function(n,t,i,r){return i(n,t)>r(n,t)},"<=":function(n,t,i,r){return i(n,t)<=r(n,t)},">=":function(n,t,i,r){return i(n,t)>=r(n,t)},"&&":function(n,t,i,r){return i(n,t)&&r(n,t)},"||":function(n,t,i,r){return i(n,t)||r(n,t)},"&":function(n,t,i,r){return i(n,t)&r(n,t)},"|":function(n,t,i,r){return r(n,t)(n,t,i(n,t))},"!":function(n,t,i){return!i(n,t)}},rc={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},uf=function(n){this.options=n};uf.prototype={constructor:uf,lex:function(n){var r,t;for(this.text=n,this.index=0,this.ch=i,this.lastCh=":",this.tokens=[],t=[];this.index<this.text.length;){if(this.ch=this.text.charAt(this.index),this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent(),this.was("{,")&&t[0]==="{"&&(r=this.tokens[this.tokens.length-1])&&(r.json=r.text.indexOf(".")===-1);else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch,json:this.was(":[,")&&this.is("{[")||this.is("}]:,")}),this.is("{[")&&t.unshift(this.ch),this.is("}]")&&t.shift(),this.index++;else if(this.isWhitespace(this.ch)){this.index++;continue}else{var u=this.ch+this.peek(),f=u+this.peek(2),e=fi[this.ch],o=fi[u],s=fi[f];s?(this.tokens.push({index:this.index,text:f,fn:s}),this.index+=3):o?(this.tokens.push({index:this.index,text:u,fn:o}),this.index+=2):e?(this.tokens.push({index:this.index,text:this.ch,fn:e,json:this.was("[,:")&&this.is("+-")}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+1)}this.lastCh=this.ch}return this.tokens},is:function(n){return n.indexOf(this.ch)!==-1},was:function(n){return n.indexOf(this.lastCh)!==-1},peek:function(n){var t=n||1;return this.index+t<this.text.length?this.text.charAt(this.index+t):!1},isNumber:function(n){return"0"<=n&&n<="9"},isWhitespace:function(n){return n===" "||n==="\r"||n==="\t"||n==="\n"||n==='\v'||n===" "},isIdent:function(n){return"a"<=n&&n<="z"||"A"<=n&&n<="Z"||"_"===n||n==="$"},isExpOperator:function(n){return n==="-"||n==="+"||this.isNumber(n)},throwError:function(n,t,i){i=i||this.index;var r=f(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,i)+"]":" "+i;throw lt("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",n,r,this.text);},readNumber:function(){for(var n="",r=this.index,t,i;this.index<this.text.length;){if(t=l(this.text.charAt(this.index)),t=="."||this.isNumber(t))n+=t;else if(i=this.peek(),t=="e"&&this.isExpOperator(i))n+=t;else if(this.isExpOperator(t)&&i&&this.isNumber(i)&&n.charAt(n.length-1)=="e")n+=t;else if(!this.isExpOperator(t)||i&&this.isNumber(i)||n.charAt(n.length-1)!="e")break;else this.throwError("Invalid exponent");this.index++}n=1*n;this.tokens.push({index:r,text:n,json:!0,fn:function(){return n}})},readIdent:function(){for(var o=this,n="",f=this.index,i,r,e,t,u,s;this.index<this.text.length;){if(t=this.text.charAt(this.index),t==="."||this.isIdent(t)||this.isNumber(t))t==="."&&(i=this.index),n+=t;else break;this.index++}if(i)for(r=this.index;r<this.text.length;){if(t=this.text.charAt(r),t==="("){e=n.substr(i-f+1);n=n.substr(0,i-f);this.index=r;break}if(this.isWhitespace(t))r++;else break}u={index:f,text:n};fi.hasOwnProperty(n)?(u.fn=fi[n],u.json=fi[n]):(s=io(n,this.options,this.text),u.fn=a(function(n,t){return s(n,t)},{assign:function(t,i){return ar(t,n,i,o.text,o.options)}}));this.tokens.push(u);e&&(this.tokens.push({index:i,text:".",json:!1}),this.tokens.push({index:i+1,text:e,json:!1}))},readString:function(n){var e=this.index,t,r,f;this.index++;for(var i="",o=n,u=!1;this.index<this.text.length;){if(t=this.text.charAt(this.index),o+=t,u)t==="u"?(r=this.text.substring(this.index+1,this.index+5),r.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+r+"]"),this.index+=4,i+=String.fromCharCode(parseInt(r,16))):(f=rc[t],i+=f?f:t),u=!1;else if(t==="\\")u=!0;else{if(t===n){this.index++;this.tokens.push({index:e,text:o,string:i,json:!0,fn:function(){return i}});return}i+=t}this.index++}this.throwError("Unterminated quote",e)}};ei=function(n,t,i){this.lexer=n;this.$filter=t;this.options=i};ei.ZERO=function(){return 0};ei.prototype={constructor:ei,parse:function(n,t){this.text=n;this.json=t;this.tokens=this.lexer.lex(n);t&&(this.assignment=this.logicalOR,this.functionCall=this.fieldAccess=this.objectIndex=this.filterChain=function(){this.throwError("is not valid json",{text:n,index:0})});var i=t?this.primary():this.statements();return this.tokens.length!==0&&this.throwError("is an unexpected token",this.tokens[0]),i.literal=!!i.literal,i.constant=!!i.constant,i},primary:function(){var n,t,i,r;for(this.expect("(")?(n=this.filterChain(),this.consume(")")):this.expect("[")?n=this.arrayDeclaration():this.expect("{")?n=this.object():(t=this.expect(),n=t.fn,n||this.throwError("not a primary expression",t),t.json&&(n.constant=!0,n.literal=!0));i=this.expect("(","[",".");)i.text==="("?(n=this.functionCall(n,r),r=null):i.text==="["?(r=n,n=this.objectIndex(n)):i.text==="."?(r=n,n=this.fieldAccess(n)):this.throwError("IMPOSSIBLE");return n},throwError:function(n,t){throw lt("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,n,t.index+1,this.text,this.text.substring(t.index));},peekToken:function(){if(this.tokens.length===0)throw lt("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(n,t,i,r){if(this.tokens.length>0){var f=this.tokens[0],u=f.text;if(u===n||u===t||u===i||u===r||!n&&!t&&!i&&!r)return f}return!1},expect:function(n,t,i,r){var u=this.peek(n,t,i,r);return u?(this.json&&!u.json&&this.throwError("is not valid json",u),this.tokens.shift(),u):!1},consume:function(n){this.expect(n)||this.throwError("is unexpected, expecting ["+n+"]",this.peek())},unaryFn:function(n,t){return a(function(i,r){return n(i,r,t)},{constant:t.constant})},ternaryFn:function(n,t,i){return a(function(r,u){return n(r,u)?t(r,u):i(r,u)},{constant:n.constant&&t.constant&&i.constant})},binaryFn:function(n,t,i){return a(function(r,u){return t(r,u,n,i)},{constant:n.constant&&i.constant})},statements:function(){for(var n=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&n.push(this.filterChain()),!this.expect(";"))return n.length===1?n[0]:function(t,i){for(var u,f,r=0;r<n.length;r++)u=n[r],u&&(f=u(t,i));return f}},filterChain:function(){for(var n=this.expression(),t;;)if(t=this.expect("|"))n=this.binaryFn(n,t.fn,this.filter());else return n},filter:function(){for(var t=this.expect(),r=this.$filter(t.text),n=[],i;;)if(t=this.expect(":"))n.push(this.expression());else return i=function(t,i,u){for(var e=[u],f=0;f<n.length;f++)e.push(n[f](t,i));return r.apply(t,e)},function(){return i}},expression:function(){return this.assignment()},assignment:function(){var n=this.ternary(),i,t;return(t=this.expect("="))?(n.assign||this.throwError("implies assignment but ["+this.text.substring(0,t.index)+"] can not be assigned to",t),i=this.ternary(),function(t,r){return n.assign(t,i(t,r),r)}):n},ternary:function(){var t=this.logicalOR(),i,n;if(n=this.expect("?")){if(i=this.ternary(),n=this.expect(":"))return this.ternaryFn(t,i,this.ternary());this.throwError("expected :",n)}else return t},logicalOR:function(){for(var n=this.logicalAND(),t;;)if(t=this.expect("||"))n=this.binaryFn(n,t.fn,this.logicalAND());else return n},logicalAND:function(){var n=this.equality(),t;return(t=this.expect("&&"))&&(n=this.binaryFn(n,t.fn,this.logicalAND())),n},equality:function(){var n=this.relational(),t;return(t=this.expect("==","!=","===","!=="))&&(n=this.binaryFn(n,t.fn,this.equality())),n},relational:function(){var n=this.additive(),t;return(t=this.expect("<",">","<=",">="))&&(n=this.binaryFn(n,t.fn,this.relational())),n},additive:function(){for(var n=this.multiplicative(),t;t=this.expect("+","-");)n=this.binaryFn(n,t.fn,this.multiplicative());return n},multiplicative:function(){for(var n=this.unary(),t;t=this.expect("*","/","%");)n=this.binaryFn(n,t.fn,this.unary());return n},unary:function(){var n;return this.expect("+")?this.primary():(n=this.expect("-"))?this.binaryFn(ei.ZERO,n.fn,this.unary()):(n=this.expect("!"))?this.unaryFn(n.fn,this.unary()):this.primary()},fieldAccess:function(n){var t=this,i=this.expect().text,r=io(i,this.options,this.text);return a(function(t,i,u){return r(u||n(t,i),i)},{assign:function(r,u,f){return ar(n(r,f),i,u,t.text,t.options)}})},objectIndex:function(n){var t=this,r=this.expression();return this.consume("]"),a(function(u,f){var s=n(u,f),h=r(u,f),e,o;return s?(e=nr(s[h],t.text),e&&e.then&&t.options.unwrapPromises&&(o=e,"$$v"in e||(o.$$v=i,o.then(function(n){o.$$v=n})),e=e.$$v),e):i},{assign:function(i,u,f){var e=r(i,f),o=nr(n(i,f),t.text);return o[e]=u}})},functionCall:function(n,t){var r=[],i;if(this.peekToken().text!==")")do r.push(this.expression());while(this.expect(","));return this.consume(")"),i=this,function(u,f){for(var s,l,e=[],h=t?t(u,f):u,c=0;c<r.length;c++)e.push(r[c](u,f));return s=n(u,f,h)||o,nr(h,i.text),nr(s,i.text),l=s.apply?s.apply(h,e):s(e[0],e[1],e[2],e[3],e[4]),nr(l,i.text)}},arrayDeclaration:function(){var n=[],i=!0,t;if(this.peekToken().text!=="]")do t=this.expression(),n.push(t),t.constant||(i=!1);while(this.expect(","));return this.consume("]"),a(function(t,i){for(var u=[],r=0;r<n.length;r++)u.push(n[r](t,i));return u},{literal:!0,constant:i})},object:function(){var n=[],r=!0,t,u,i;if(this.peekToken().text!=="}")do t=this.expect(),u=t.string||t.text,this.consume(":"),i=this.expression(),n.push({key:u,value:i}),i.constant||(r=!1);while(this.expect(","));return this.consume("}"),a(function(t,i){for(var u,f={},r=0;r<n.length;r++)u=n[r],f[u.key]=u.value(t,i);return f},{literal:!0,constant:r})}};vr={};ct=v("$sce");tt={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"};var g=t.createElement("a"),uo=/^\/?.*?:(\/.*)/,fo=gt(n.location.href,!0);oo.$inject=["$provide"];so.$inject=["$locale"];ho.$inject=["$locale"];ff=".";var dc={yyyy:k("FullYear",4),yy:k("FullYear",2,0,!0),y:k("FullYear",1),MMMM:yr("Month"),MMM:yr("Month",!0),MM:k("Month",2,1),M:k("Month",1,1),dd:k("Date",2),d:k("Date",1),HH:k("Hours",2),H:k("Hours",1),hh:k("Hours",2,-12),h:k("Hours",1,-12),mm:k("Minutes",2),m:k("Minutes",1),ss:k("Seconds",2),s:k("Seconds",1),sss:k("Milliseconds",3),EEEE:yr("Day"),EEE:yr("Day",!0),a:kc,Z:bc},gc=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,nl=/^\-?\d+$/;lo.$inject=["$locale"];ao=nt(l);vo=nt(pt);yo.$inject=["$parse"];po=nt({restrict:"E",compile:function(n,i){return y<=8&&(i.href||i.name||i.$set("href",""),n.append(t.createComment("IE fix"))),function(n,t){t.on("click",function(n){t.attr("href")||n.preventDefault()})}}});pr={};r(bi,function(n,t){if(n!="multiple"){var i=st("ng-"+t);pr[i]=function(){return{priority:100,compile:function(){return function(n,r,u){n.$watch(u[i],function(n){u.$set(t,!!n)})}}}}}});r(["src","srcset","href"],function(n){var t=st("ng-"+n);pr[t]=function(){return{priority:99,link:function(i,r,u){u.$observe(t,function(t){t&&(u.$set(n,t),y&&r.prop(n,u[n]))})}}}});tr={$addControl:o,$removeControl:o,$setValidity:o,$setDirty:o,$setPristine:o};wo.$inject=["$element","$attrs","$scope"];var bo=function(n){return["$timeout",function(t){return{name:"form",restrict:n?"EAC":"E",controller:wo,compile:function(){return{pre:function(n,r,u,f){var o,s,e;if(!u.action){o=function(n){n.preventDefault?n.preventDefault():n.returnValue=!1};gf(r[0],"submit",o);r.on("$destroy",function(){t(function(){hu(r[0],"submit",o)},0,!1)})}if(s=r.parent().controller("form"),e=u.name||u.ngForm,e&&ar(n,e,f,e),s)r.on("$destroy",function(){s.$removeControl(f);e&&ar(n,e,i,e);a(f,tr)})}}}}}]},rl=bo(),ul=bo(!0),fl=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,el=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,ol=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,ko={text:wr,number:sl,url:hl,email:cl,radio:ll,checkbox:al,hidden:o,button:o,submit:o,reset:o};var go=["$browser","$sniffer",function(n,t){return{restrict:"E",require:"?ngModel",link:function(i,r,u,f){f&&(ko[l(u.type)]||ko.text)(i,r,u,f,t,n)}}}],br="ng-valid",kr="ng-invalid",oi="ng-pristine",dr="ng-dirty",vl=["$scope","$exceptionHandler","$attrs","$element","$parse",function(n,t,i,u,f){function s(n,t){t=t?"-"+sr(t,"-"):"";u.removeClass((n?kr:br)+t).addClass((n?br:kr)+t)}var c,l,e;if(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=i.name,c=f(i.ngModel),l=c.assign,!l)throw v("ngModel")("nonassign","Expression '{0}' is non-assignable. Element: {1}",i.ngModel,ut(u));this.$render=o;this.$isEmpty=function(n){return h(n)||n===""||n===null||n!==n};var p=u.inheritedData("$formController")||tr,a=0,y=this.$error={};u.addClass(oi);s(!0);this.$setValidity=function(n,t){y[n]!==!t&&(t?(y[n]&&a--,a||(s(!0),this.$valid=!0,this.$invalid=!1)):(s(!1),this.$invalid=!0,this.$valid=!1,a++),y[n]=!t,s(t,n),p.$setValidity(n,t,this))};this.$setPristine=function(){this.$dirty=!1;this.$pristine=!0;u.removeClass(dr).addClass(oi)};this.$setViewValue=function(i){this.$viewValue=i;this.$pristine&&(this.$dirty=!0,this.$pristine=!1,u.removeClass(oi).addClass(dr),p.$setDirty());r(this.$parsers,function(n){i=n(i)});this.$modelValue!==i&&(this.$modelValue=i,l(n,i),r(this.$viewChangeListeners,function(n){try{n()}catch(i){t(i)}}))};e=this;n.$watch(function(){var t=c(n),i,r;if(e.$modelValue!==t){for(i=e.$formatters,r=i.length,e.$modelValue=t;r--;)t=i[r](t);e.$viewValue!==t&&(e.$viewValue=t,e.$render())}})}],yl=function(){return{require:["ngModel","^?form"],controller:vl,link:function(n,t,i,r){var u=r[0],f=r[1]||tr;f.$addControl(u);n.$on("$destroy",function(){f.$removeControl(u)})}}},pl=nt({require:"ngModel",link:function(n,t,i,r){r.$viewChangeListeners.push(function(){n.$eval(i.ngChange)})}}),ns=function(){return{require:"?ngModel",link:function(n,t,i,r){if(r){i.required=!0;var u=function(n){if(i.required&&r.$isEmpty(n)){r.$setValidity("required",!1);return}return r.$setValidity("required",!0),n};r.$formatters.push(u);r.$parsers.unshift(u);i.$observe("required",function(){u(r.$viewValue)})}}}},wl=function(){return{require:"ngModel",link:function(n,t,u,f){var e=/\/(.*)\//.exec(u.ngList),o=e&&new RegExp(e[1])||u.ngList||",",c=function(n){if(!h(n)){var t=[];return n&&r(n.split(o),function(n){n&&t.push(d(n))}),t}};f.$parsers.push(c);f.$formatters.push(function(n){return s(n)?n.join(", "):i});f.$isEmpty=function(n){return!n||!n.length}}}},bl=/^(true|false|\d+)$/,kl=function(){return{priority:100,compile:function(n,t){return bl.test(t.ngValue)?function(n,t,i){i.$set("value",n.$eval(i.ngValue))}:function(n,t,i){n.$watch(i.ngValue,function(n){i.$set("value",n)})}}}},dl=yt(function(n,t,r){t.addClass("ng-binding").data("$binding",r.ngBind);n.$watch(r.ngBind,function(n){t.text(n==i?"":n)})}),gl=["$interpolate",function(n){return function(t,i,r){var u=n(i.attr(r.$attr.ngBindTemplate));i.addClass("ng-binding").data("$binding",u);r.$observe("ngBindTemplate",function(n){i.text(n)})}}],na=["$sce","$parse",function(n,t){return function(i,r,u){function e(){return(f(i)||"").toString()}r.addClass("ng-binding").data("$binding",u.ngBindHtml);var f=t(u.ngBindHtml);i.$watch(e,function(){r.html(n.getTrustedHtml(f(i))||"")})}}];var ta=of("",!0),ia=of("Odd",0),ra=of("Even",1),ua=yt({compile:function(n,t){t.$set("ngCloak",i);n.removeClass("ng-cloak")}}),fa=[function(){return{scope:!0,controller:"@",priority:500}}],ts={};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(n){var t=st("ng-"+n);ts[t]=["$parse",function(i){return{compile:function(r,u){var f=i(u[t]);return function(t,i){i.on(l(n),function(n){t.$apply(function(){f(t,{$event:n})})})}}}}]});var ea=["$animate",function(n){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(i,r,u,f,e){var s,o;i.$watch(u.ngIf,function(f){ai(f)?o||(o=i.$new(),e(o,function(i){s={startNode:i[0],endNode:i[i.length++]=t.createComment(" end ngIf: "+u.ngIf+" ")};n.enter(i,r.parent(),r)})):(o&&(o.$destroy(),o=null),s&&(n.leave(su(s)),s=null))})}}}],oa=["$http","$templateCache","$anchorScroll","$compile","$animate","$sce",function(n,t,i,r,u,e){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",compile:function(s,h){var l=h.ngInclude||h.src,a=h.onload||"",c=h.autoscroll;return function(s,h,v,y,p){var k=0,b,w,d=function(){b&&(b.$destroy(),b=null);w&&(u.leave(w),w=null)};s.$watch(e.parseAsResourceUrl(l),function(e){var v=function(){f(c)&&(!c||s.$eval(c))&&i()},l=++k;e?(n.get(e,{cache:t}).success(function(n){if(l===k){var t=s.$new(),i=p(t,o);d();b=t;w=i;w.html(n);u.enter(w,null,h,v);r(w.contents())(b);b.$emit("$includeContentLoaded");s.$eval(a)}}).error(function(){l===k&&d()}),s.$emit("$includeContentRequested")):d()})}}}}],sa=yt({compile:function(){return{pre:function(n,t,i){n.$eval(i.ngInit)}}}}),ha=yt({terminal:!0,priority:1e3}),ca=["$locale","$interpolate",function(n,t){var i=/{}/g;return{restrict:"EA",link:function(u,f,e){var s=e.count,a=e.$attr.when&&f.attr(e.$attr.when),h=e.offset||0,o=u.$eval(a)||{},c={},v=t.startSymbol(),y=t.endSymbol(),p=/^when(Minus)?(.+)$/;r(e,function(n,t){p.test(t)&&(o[l(t.replace("when","").replace("Minus","-"))]=f.attr(e.$attr[t]))});r(o,function(n,r){c[r]=t(n.replace(i,v+s+"-"+h+y))});u.$watch(function(){var t=parseFloat(u.$eval(s));return isNaN(t)?"":(t in o||(t=n.pluralCat(t-h)),c[t](u,f,!0))},function(n){f.text(n)})}}}],la=["$parse","$animate",function(n,i){var e="$$NG_REMOVED",f=v("ngRepeat");return{transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,link:function(o,s,h,c,l){var p=h.ngRepeat,a=p.match(/^\s*(.+)\s+in\s+(.*?)\s*(\s+track\s+by\s+(.+)\s*)?$/),b,nt,k,tt,it,d,rt,g,y,w={$id:ui},v;if(!a)throw f("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",p);if(d=a[1],rt=a[2],b=a[4],b?(nt=n(b),k=function(n,t,i){return y&&(w[y]=n),w[g]=t,w.$index=i,nt(o,w)}):(tt=function(n,t){return ui(t)},it=function(n){return n}),a=d.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!a)throw f("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",d);g=a[3]||a[1];y=a[2];v={};o.$watchCollection(rt,function(n){var h,et,nt=s[0],ut,ft={},ct,a,w,ot,d,st,b,c,rt=[],ht;if(nu(n))b=n,st=k||tt;else{st=k||it;b=[];for(w in n)n.hasOwnProperty(w)&&w.charAt(0)!="$"&&b.push(w);b.sort()}for(ct=b.length,et=rt.length=b.length,h=0;h<et;h++)if(w=n===b?h:b[h],ot=n[w],d=st(w,ot,h),kt(d,"`track by` id"),v.hasOwnProperty(d))c=v[d],delete v[d],ft[d]=c,rt[h]=c;else if(ft.hasOwnProperty(d)){r(rt,function(n){n&&n.startNode&&(v[n.id]=n)});throw f("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}",p,d);}else rt[h]={id:d},ft[d]=!1;for(w in v)v.hasOwnProperty(w)&&(c=v[w],ht=su(c),i.leave(ht),r(ht,function(n){n[e]=!0}),c.scope.$destroy());for(h=0,et=b.length;h<et;h++){if(w=n===b?h:b[h],ot=n[w],c=rt[h],rt[h-1]&&(nt=rt[h-1].endNode),c.startNode){a=c.scope;ut=nt;do ut=ut.nextSibling;while(ut&&ut[e]);c.startNode!=ut&&i.move(su(c),null,u(nt));nt=c.endNode}else a=o.$new();a[g]=ot;y&&(a[y]=w);a.$index=h;a.$first=h===0;a.$last=h===ct-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=(h&1)==0);c.startNode||l(a,function(n){n[n.length++]=t.createComment(" end ngRepeat: "+p+" ");i.enter(n,null,u(nt));nt=n;c.scope=a;c.startNode=nt&&nt.endNode?nt.endNode:n[0];c.endNode=n[n.length-1];ft[c.id]=c})}v=ft})}}}],aa=["$animate",function(n){return function(t,i,r){t.$watch(r.ngShow,function(t){n[ai(t)?"removeClass":"addClass"](i,"ng-hide")})}}],va=["$animate",function(n){return function(t,i,r){t.$watch(r.ngHide,function(t){n[ai(t)?"addClass":"removeClass"](i,"ng-hide")})}}],ya=yt(function(n,t,i){n.$watch(i.ngStyle,function(n,i){i&&n!==i&&r(i,function(n,i){t.css(i,"")});n&&t.css(n)},!0)}),pa=["$animate",function(n){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(t,i,u,f){var h=u.ngSwitch||u.on,s,o,e=[];t.$watch(h,function(i){for(var h=0,c=e.length;h<c;h++)e[h].$destroy(),n.leave(o[h]);o=[];e=[];(s=f.cases["!"+i]||f.cases["?"])&&(t.$eval(u.change),r(s,function(i){var r=t.$new();e.push(r);i.transclude(r,function(t){var r=i.element;o.push(t);n.enter(t,r.parent(),r)})}))})}}}],wa=yt({transclude:"element",priority:800,require:"^ngSwitch",compile:function(n,t){return function(n,i,r,u,f){u.cases["!"+t.ngSwitchWhen]=u.cases["!"+t.ngSwitchWhen]||[];u.cases["!"+t.ngSwitchWhen].push({transclude:f,element:i})}}}),ba=yt({transclude:"element",priority:800,require:"^ngSwitch",link:function(n,t,i,r,u){r.cases["?"]=r.cases["?"]||[];r.cases["?"].push({transclude:u,element:t})}}),ka=yt({controller:["$element","$transclude",function(n,t){if(!t)throw v("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",ut(n));this.$transclude=t}],link:function(n,t,i,r){r.$transclude(function(n){t.html("");t.append(n)})}}),da=["$templateCache",function(n){return{restrict:"E",terminal:!0,compile:function(t,i){if(i.type=="text/ng-template"){var r=i.id,u=t[0].text;n.put(r,u)}}}}],ga=v("ngOptions"),nv=nt({terminal:!0}),tv=["$compile","$parse",function(n,e){var c=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/,l={$setViewValue:o};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(n,t,i){var r=this,f={},e=l,s,u;r.databound=i.ngModel;r.init=function(n,t,i){e=n;s=t;u=i};r.addOption=function(t){kt(t,'"option value"');f[t]=!0;e.$viewValue==t&&(n.val(t),u.parent()&&u.remove())};r.removeOption=function(n){this.hasOption(n)&&(delete f[n],e.$viewValue==n&&this.renderUnknownOption(n))};r.renderUnknownOption=function(t){var i="? "+ui(t)+" ?";u.val(i);n.prepend(u);n.val(i);u.prop("selected",!0)};r.hasOption=function(n){return f.hasOwnProperty(n)};t.$on("$destroy",function(){r.renderUnknownOption=o})}],link:function(o,l,a,v){function st(n,t,i,r){i.$render=function(){var n=i.$viewValue;r.hasOption(n)?(b.parent()&&b.remove(),t.val(n),n===""&&nt.prop("selected",!0)):h(n)&&nt?t.val(""):r.renderUnknownOption(n)};t.on("change",function(){n.$apply(function(){b.parent()&&b.remove();i.$setViewValue(t.val())})})}function ht(n,t,i){var u;i.$render=function(){var n=new ki(i.$viewValue);r(t.find("option"),function(t){t.selected=f(n.get(t.value))})};n.$watch(function(){ri(u,i.$viewValue)||(u=rt(i.$viewValue),i.$render())});t.on("change",function(){n.$apply(function(){var n=[];r(t.find("option"),function(t){t.selected&&n.push(t.value)});i.$setViewValue(n)})})}function ct(t,r,u){function k(){var ht={"":[]},pt=[""],h,ut,n,k,g,tt,it=u.$modelValue,wt=b(t)||[],bt=a?sf(wt):wt,ct,dt,yt,ot,i,e={},lt,rt=!1,c,st,at,vt,kt;if(w)if(o&&s(it))for(rt=new ki([]),vt=0;vt<it.length;vt++)e[l]=it[vt],rt.put(o(t,e),it[vt]);else rt=new ki(it);for(i=0;yt=bt.length,i<yt;i++){if(ct=i,a){if(ct=bt[i],ct.charAt(0)==="$")continue;e[a]=ct}e[l]=wt[ct];h=nt(t,e)||"";(ut=ht[h])||(ut=ht[h]=[],pt.push(h));w?lt=f(rt.remove(o?o(t,e):p(t,e))):(o?(kt={},kt[l]=it,lt=o(t,kt)===o(t,e)):lt=it===p(t,e),rt=rt||lt);at=d(t,e);at=f(at)?at:"";ut.push({id:o?o(t,e):a?bt[i]:i,label:at,selected:lt})}for(w||(y||it===null?ht[""].unshift({id:"",label:"",selected:!rt}):rt||ht[""].unshift({id:"?",label:"",selected:!0})),ot=0,dt=pt.length;ot<dt;ot++){for(h=pt[ot],ut=ht[h],v.length<=ot?(k={element:et.clone().attr("label",h),label:ut.label},g=[k],v.push(g),r.append(k.element)):(g=v[ot],k=g[0],k.label!=h&&k.element.attr("label",k.label=h)),c=null,i=0,yt=ut.length;i<yt;i++)n=ut[i],(tt=g[i+1])?(c=tt.element,tt.label!==n.label&&c.text(tt.label=n.label),tt.id!==n.id&&c.val(tt.id=n.id),c[0].selected!==n.selected&&c.prop("selected",tt.selected=n.selected)):(n.id===""&&y?st=y:(st=ft.clone()).val(n.id).attr("selected",n.selected).text(n.label),g.push(tt={element:st,label:n.label,id:n.id,selected:n.selected}),c?c.after(st):k.element.append(st),c=st);for(i++;g.length>i;)g.pop().element.remove()}while(v.length>ot)v.pop()[0].element.remove()}var h;if(!(h=g.match(c)))throw ga("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",g,ut(r));var d=e(h[2]||h[1]),l=h[4]||h[6],a=h[5],nt=e(h[3]||""),p=e(h[2]?h[1]:l),b=e(h[7]),tt=h[8],o=tt?e(h[8]):null,v=[[{element:r,label:""}]];y&&(n(y)(t),y.removeClass("ng-scope"),y.remove());r.html("");r.on("change",function(){t.$apply(function(){var k,h=b(t)||[],n={},f,s,d,c,y,g,nt,e;if(w){for(s=[],y=0,nt=v.length;y<nt;y++)for(k=v[y],c=1,g=k.length;c<g;c++)if((d=k[c].element)[0].selected){if(f=d.val(),a&&(n[a]=f),o){for(e=0;e<h.length;e++)if(n[l]=h[e],o(t,n)==f)break}else n[l]=h[f];s.push(p(t,n))}}else if(f=r.val(),f=="?")s=i;else if(f==="")s=null;else if(o){for(e=0;e<h.length;e++)if(n[l]=h[e],o(t,n)==f){s=p(t,n);break}}else n[l]=h[f],a&&(n[a]=f),s=p(t,n);u.$setViewValue(s)})});u.$render=k;t.$watch(k)}var d;if(v[1]){for(var it=v[0],p=v[1],w=a.multiple,g=a.ngOptions,y=!1,nt,ft=u(t.createElement("option")),et=u(t.createElement("optgroup")),b=ft.clone(),k=0,tt=l.children(),ot=tt.length;k<ot;k++)if(tt[k].value===""){nt=y=tt.eq(k);break}it.init(p,y,b);w&&(a.required||a.ngRequired)&&(d=function(n){return p.$setValidity("required",!a.required||n&&n.length),n},p.$parsers.push(d),p.$formatters.unshift(d),a.$observe("required",function(){d(p.$viewValue)}));g?ct(o,l,p):w?ht(o,l,p):st(o,l,p,it)}}}}],iv=["$interpolate",function(n){var t={addOption:o,removeOption:o};return{restrict:"E",priority:100,compile:function(i,r){if(h(r.value)){var u=n(i.text(),!0);u||r.$set("value",i.text())}return function(n,i,r){var e="$selectController",o=i.parent(),f=o.data(e)||o.parent().data(e);f&&f.databound?i.prop("selected",!1):f=t;u?n.$watch(u,function(n,t){r.$set("value",n);n!==t&&f.removeOption(t);f.addOption(n)}):f.addOption(r.value);i.on("$destroy",function(){f.removeOption(r.value)})}}}}],rv=nt({restrict:"E",terminal:!0});vs();ps(rr);u(t).ready(function(){as(t,bf)})})(window,document);angular.$$csp()||angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}.ng-animate-start{border-spacing:1px 1px;-ms-zoom:1.0001;}.ng-animate-active{border-spacing:0px 0px;-ms-zoom:1;}<\/style>'),function(n,t,i){"use strict";t.module("ngAnimate",["ng"]).config(["$provide","$animateProvider",function(r,u){var s=t.noop,e=t.forEach,l=u.$$selectors,c=1,f="$$ngAnimateState",h="ng-animate",o={running:!0};r.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$timeout","$rootScope","$document",function(n,i,r,u,a,v){function k(n){var t,u,e;if(n){var o=[],s={},f=n.substr(1).split(".");for((r.transitions||r.animations)&&f.push(""),t=0;t<f.length;t++)u=f[t],e=l[u],e&&!s[u]&&(o.push(i.get(e)),s[u]=!0);return o}}function y(n,t,i,r,u,o,c){function ft(n){if(w(),n===!0){g();return}var t=i.data(f);t&&(t.done=g,i.data(f,t));et(v,"after",g)}function et(r,u,f){function h(n,t){var u=t+"Complete",e=r[n],i;for(e[u]=!0,(e[o]||s)(),i=0;i<r.length;i++)if(!r[i][u])return;f()}var o=u+"End";e(r,function(r,f){var e=function(){h(f,u)};if(u=="before"&&(n=="enter"||n=="move")){e();return}r[u]?r[o]=nt?r[u](i,t,e):r[u](i,e):e()})}function it(){c&&a(c,0,!1)}function w(){w.hasBeenRun||(w.hasBeenRun=!0,o())}function g(){if(!g.hasBeenRun){g.hasBeenRun=!0;var n=i.data(f);n&&(nt?p(i):(n.closeAnimationTimeout=a(function(){p(i)},0,!1),i.data(f,n)));it()}}var rt=i.attr("class")||"",ot=rt+" "+t,st=(" "+ot).replace(/\s+/g,"."),v,y,tt;r||(r=u?u.parent():i.parent());var ut=k(st),nt=n=="addClass"||n=="removeClass",l=i.data(f)||{};if(d(i,r)||ut.length===0){w();g();return}if(v=[],l.running&&nt&&l.structural||e(ut,function(r){if(!r.allowCancel||r.allowCancel(i,n,t)){var u,f=r[n];n=="leave"?(u=f,f=null):u=r["before"+n.charAt(0).toUpperCase()+n.substr(1)];v.push({before:u,after:f})}}),v.length===0){w();it();return}if(y=" "+rt+" ",l.running&&(a.cancel(l.closeAnimationTimeout),p(i),b(l.animations),l.beforeComplete?(l.done||s)(!0):nt&&!l.structural&&(y=l.event=="removeClass"?y.replace(l.className,""):y+l.className+" ")),tt=" "+t+" ",n=="addClass"&&y.indexOf(tt)>=0||n=="removeClass"&&y.indexOf(tt)==-1){w();it();return}i.addClass(h);i.data(f,{running:!0,event:n,className:t,structural:!nt,animations:v,done:ft});et(v,"before",ft)}function w(n){var i=n[0];i.nodeType==c&&e(i.querySelectorAll("."+h),function(n){n=t.element(n);var i=n.data(f);i&&(b(i.animations),p(n))})}function b(n){var t=!0;e(n,function(i){n.beforeComplete||(i.beforeEnd||s)(t);n.afterComplete||(i.afterEnd||s)(t)})}function p(n){n[0]==u[0]?o.disabled||(o.running=!1,o.structural=!1):(n.removeClass(h),n.removeData(f))}function d(n,t){if(o.disabled)return!0;if(n[0]==u[0])return o.disabled||o.running;do{if(t.length===0)break;var i=t[0]==u[0],r=i?o:t.data(f),e=r&&(!!r.disabled||!!r.running);if(i||e)return e;if(i)return!0}while(t=t.parent());return!0}return u.data(f,o),v.$$postDigest(function(){o.running=!1}),{enter:function(t,i,r,u){this.enabled(!1,t);n.enter(t,i,r);v.$$postDigest(function(){y("enter","ng-enter",t,i,r,s,u)})},leave:function(t,i){w(t);this.enabled(!1,t);v.$$postDigest(function(){y("leave","ng-leave",t,null,null,function(){n.leave(t)},i)})},move:function(t,i,r,u){w(t);this.enabled(!1,t);n.move(t,i,r);v.$$postDigest(function(){y("move","ng-move",t,i,r,s,u)})},addClass:function(t,i,r){y("addClass",i,t,null,null,function(){n.addClass(t,i)},r)},removeClass:function(t,i,r){y("removeClass",i,t,null,null,function(){n.removeClass(t,i)},r)},enabled:function(n,t){switch(arguments.length){case 2:if(n)p(t);else{var i=t.data(f)||{};i.disabled=!0;t.data(f,i)}break;case 1:o.disabled=!n;break;default:n=!o.disabled}return!!n}}}]);u.register("",["$window","$sniffer","$timeout",function(r,u,f){function nt(n){d.push(n);f.cancel(g);g=f(function(){e(d,function(n){n()});d=[];g=null;a={}},10,!1)}function tt(n,t){var i=t?a[t]:null;if(!i){var u=0,f=0,o=0,s=0,v,y,w,b;e(n,function(n){var t,i;n.nodeType==c&&(t=r.getComputedStyle(n)||{},w=t[h+ot],u=Math.max(p(w),u),b=t[h+k],v=t[h+st],f=Math.max(p(v),f),y=t[l+st],s=Math.max(p(y),s),i=p(t[l+ot]),i>0&&(i*=parseInt(t[l+vt],10)||1),o=Math.max(i,o))});i={total:0,transitionPropertyStyle:b,transitionDurationStyle:w,transitionDelayStyle:v,transitionDelay:f,transitionDuration:u,animationDelayStyle:y,animationDelay:s,animationDuration:o};t&&(a[t]=i)}return i}function p(n){var i=0,r=t.isString(n)?n.split(/\s*,\s*/):[];return e(r,function(n){i=Math.max(parseFloat(n)||0,i)}),i}function pt(n){var i=n.parent(),t=i.data(ht);return t||(i.data(ht,++lt),t=lt),t+"-"+n[0].className}function wt(n,t){var s=pt(n),u=s+" "+t,h={},c=a[u]?++a[u].total:0,i,o,p,r;if(c>0){var f=t+"-stagger",l=s+" "+f,y=!a[l];y&&n.addClass(f);h=tt(n,l);y&&n.removeClass(f)}return(n.addClass(t),i=tt(n,u),o=Math.max(i.transitionDuration,i.animationDuration),o===0)?(n.removeClass(t),!1):(p=n[0],r="",i.transitionDuration>0?(n.addClass(ct),r+=yt+" ",bt(n)):kt(n),e(t.split(" "),function(n,t){r+=(t>0?" ":"")+n+"-active"}),n.data(v,{className:t,activeClassName:r,maxDuration:o,classes:t+" "+r,timings:i,stagger:h,ii:c}),!0)}function bt(n){n[0].style[h+k]="none"}function kt(n){n[0].style[l]="none 0s"}function it(n){var t=n[0],i=h+k;t.style[i]&&t.style[i].length>0&&(t.style[i]="")}function dt(n){n[0].style[l]=""}function gt(n,t,i){function tt(n){n.stopPropagation();var t=n.originalEvent||n,r=t.$manualTimeStamp||t.timeStamp||Date.now();Math.max(r-ut,0)>=rt&&t.elapsedTime>=it&&i()}var e=n.data(v),a,g,y,nt;if(!n.hasClass(t)||!e){i();return}var c=n[0],r=e.timings,s=e.stagger,it=e.maxDuration,p=e.activeClassName,rt=Math.max(r.transitionDelay,r.animationDelay)*1e3,ut=Date.now(),k=b+" "+w,l=e.ii,d,h="",f=[];r.transitionDuration>0?(a=r.transitionPropertyStyle,a.indexOf("all")==-1&&(d=!0,g=u.msie?"-ms-zoom":"border-spacing",h+=o+"transition-property: "+a+", "+g+"; ",h+=o+"transition-duration: "+r.transitionDurationStyle+", "+r.transitionDuration+"s; ",f.push(o+"transition-property"),f.push(o+"transition-duration"))):dt(n);l>0&&(s.transitionDelay>0&&s.transitionDuration===0&&(y=r.transitionDelayStyle,d&&(y+=", "+r.transitionDelay+"s"),h+=o+"transition-delay: "+at(y,s.transitionDelay,l)+"; ",f.push(o+"transition-delay")),s.animationDelay>0&&s.animationDuration===0&&(h+=o+"animation-delay: "+at(r.animationDelayStyle,s.animationDelay,l)+"; ",f.push(o+"animation-delay")));f.length>0&&(nt=c.getAttribute("style")||"",c.setAttribute("style",nt+" "+h));n.on(k,tt);return n.addClass(p),function(){n.off(k,tt);n.removeClass(p);et(n,t);for(var i in f)c.style.removeProperty(f[i])}}function at(n,t,i){var r="";return e(n.split(","),function(n,u){r+=(u>0?",":"")+(i*t+parseInt(n,10))+"s"}),r}function rt(n,t){if(wt(n,t))return function(i){i&&et(n,t)}}function ut(n,t,i){if(n.data(v))return gt(n,t,i);et(n,t);i()}function ft(n,t,i){var u=rt(n,t),r;if(!u){i();return}return r=u,nt(function(){it(n);r=ut(n,t,i)}),function(n){(r||s)(n)}}function et(n,t){n.removeClass(t);n.removeClass(ct);n.removeData(v)}function y(n,i){var r="";return n=t.isArray(n)?n:n.split(/\s+/),e(n,function(n,t){n&&n.length>0&&(r+=(t>0?" ":"")+n+i)}),r}var o="",h,w,l,b;n.ontransitionend===i&&n.onwebkittransitionend!==i?(o="-webkit-",h="WebkitTransition",w="webkitTransitionEnd transitionend"):(h="transition",w="transitionend");n.onanimationend===i&&n.onwebkitanimationend!==i?(o="-webkit-",l="WebkitAnimation",b="webkitAnimationEnd animationend"):(l="animation",b="animationend");var ot="Duration",k="Property",st="Delay",vt="IterationCount",ht="$$ngAnimateKey",v="$$ngAnimateCSS3Data",ct="ng-animate-start",yt="ng-animate-active",a={},lt=0,d=[],g;return{allowCancel:function(n,i,r){var o=(n.data(v)||{}).classes,s,u,h,f;return!o||["enter","leave","move"].indexOf(i)>=0?!0:(s=n.parent(),u=t.element(n[0].cloneNode()),u.attr("style","position:absolute; top:-9999px; left:-9999px"),u.removeAttr("id"),u.html(""),e(o.split(" "),function(n){u.removeClass(n)}),h=i=="addClass"?"-add":"-remove",u.addClass(y(r,h)),s.append(u),f=tt(u),u.remove(),Math.max(f.transitionDuration,f.animationDuration)>0)},enter:function(n,t){return ft(n,"ng-enter",t)},leave:function(n,t){return ft(n,"ng-leave",t)},move:function(n,t){return ft(n,"ng-move",t)},beforeAddClass:function(n,t,i){var r=rt(n,y(t,"-add"));if(r)return nt(function(){it(n);i()}),r;i()},addClass:function(n,t,i){return ut(n,y(t,"-add"),i)},beforeRemoveClass:function(n,t,i){var r=rt(n,y(t,"-remove"));if(r)return nt(function(){it(n);i()}),r;i()},removeClass:function(n,t,i){return ut(n,y(t,"-remove"),i)}}}])}])}(window,window.angular);angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]);angular.module("ui.bootstrap.tpls",["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]);angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(n,t,i){function u(n){for(var t in n)if(f.style[t]!==undefined)return n[t]}var r=function(u,f,e){e=e||{};var s=n.defer(),o=r[e.animation?"animationEndEventName":"transitionEndEventName"],h=function(){i.$apply(function(){u.unbind(o,h);s.resolve(u)})};return o&&u.bind(o,h),t(function(){angular.isString(f)?u.addClass(f):angular.isFunction(f)?f(u):angular.isObject(f)&&u.css(f);o||s.resolve(u)}),s.promise.cancel=function(){o&&u.unbind(o,h);s.reject("Transition cancelled")},s.promise},f=document.createElement("trans");return r.transitionEndEventName=u({WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}),r.animationEndEventName=u({WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"}),r}]);angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(n){return{link:function(t,i,r){function e(t){function f(){u===r&&(u=undefined)}var r=n(i,t);return u&&u.cancel(),u=r,r.then(f,f),r}function h(){f?(f=!1,o()):(i.removeClass("collapse").addClass("collapsing"),e({height:i[0].scrollHeight+"px"}).then(o))}function o(){i.removeClass("collapsing");i.addClass("collapse in");i.css({height:"auto"})}function c(){if(f)f=!1,s(),i.css({height:0});else{i.css({height:i[0].scrollHeight+"px"});var n=i[0].offsetWidth;i.removeClass("collapse in").addClass("collapsing");e({height:0}).then(s)}}function s(){i.removeClass("collapsing");i.addClass("collapse")}var f=!0,u;t.$watch(r.collapse,function(n){n?c():h()})}}}]);angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(n,t,i){this.groups=[];this.closeOthers=function(r){var u=angular.isDefined(t.closeOthers)?n.$eval(t.closeOthers):i.closeOthers;u&&angular.forEach(this.groups,function(n){n!==r&&(n.isOpen=!1)})};this.addGroup=function(n){var t=this;this.groups.push(n);n.$on("$destroy",function(){t.removeGroup(n)})};this.removeGroup=function(n){var t=this.groups.indexOf(n);t!==-1&&this.groups.splice(t,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(n){this.heading=n}},link:function(n,t,i,r){r.addGroup(n);n.$watch("isOpen",function(t){t&&r.closeOthers(n)});n.toggleOpen=function(){n.isDisabled||(n.isOpen=!n.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(n,t,i,r,u){r.setHeading(u(n,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(n,t,i,r){n.$watch(function(){return r[i.accordionTransclude]},function(n){n&&(t.html(""),t.append(n))})}}});angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(n,t){n.closeable="close"in t;this.close=n.close}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}).directive("dismissOnTimeout",["$timeout",function(n){return{require:"alert",link:function(t,i,r,u){n(function(){u.close()},parseInt(r.dismissOnTimeout,10))}}}]);angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(n,t,i){t.addClass("ng-binding").data("$binding",i.bindHtmlUnsafe);n.$watch(i.bindHtmlUnsafe,function(n){t.html(n||"")})}});angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(n){this.activeClass=n.activeClass||"active";this.toggleEvent=n.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(n,t,i,r){var f=r[0],u=r[1];u.$render=function(){t.toggleClass(f.activeClass,angular.equals(u.$modelValue,n.$eval(i.btnRadio)))};t.bind(f.toggleEvent,function(){var r=t.hasClass(f.activeClass);(!r||angular.isDefined(i.uncheckable))&&n.$apply(function(){u.$setViewValue(r?null:n.$eval(i.btnRadio));u.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(n,t,i,r){function e(){return o(i.btnCheckboxTrue,!0)}function s(){return o(i.btnCheckboxFalse,!1)}function o(t,i){var r=n.$eval(t);return angular.isDefined(r)?r:i}var f=r[0],u=r[1];u.$render=function(){t.toggleClass(f.activeClass,angular.equals(u.$modelValue,e()))};t.bind(f.toggleEvent,function(){n.$apply(function(){u.$setViewValue(t.hasClass(f.activeClass)?s():e());u.$render()})})}}});angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$interval","$transition",function(n,t,i,r){function c(){l();var t=+n.interval;!isNaN(t)&&t>0&&(o=i(a,t))}function l(){o&&(i.cancel(o),o=null)}function a(){var t=+n.interval;s&&!isNaN(t)&&t>0?n.next():n.pause()}var u=this,f=u.slides=n.slides=[],e=-1,o,s,h;u.currentSlide=null;h=!1;u.select=n.select=function(i,o){function a(){if(!h){if(u.currentSlide&&angular.isString(o)&&!n.noTransition&&i.$element){i.$element.addClass(o);var t=i.$element[0].offsetWidth;angular.forEach(f,function(n){angular.extend(n,{direction:"",entering:!1,leaving:!1,active:!1})});angular.extend(i,{direction:o,active:!0,entering:!0});angular.extend(u.currentSlide||{},{direction:o,leaving:!0});n.$currentTransition=r(i.$element,{}),function(t,i){n.$currentTransition.then(function(){s(t,i)},function(){s(t,i)})}(i,u.currentSlide)}else s(i,u.currentSlide);u.currentSlide=i;e=l;c()}}function s(t,i){angular.extend(t,{direction:"",active:!0,leaving:!1,entering:!1});angular.extend(i||{},{direction:"",active:!1,leaving:!1,entering:!1});n.$currentTransition=null}var l=f.indexOf(i);o===undefined&&(o=l>e?"next":"prev");i&&i!==u.currentSlide&&(n.$currentTransition?(n.$currentTransition.cancel(),t(a)):a())};n.$on("$destroy",function(){h=!0});u.indexOfSlide=function(n){return f.indexOf(n)};n.next=function(){var t=(e+1)%f.length;if(!n.$currentTransition)return u.select(f[t],"next")};n.prev=function(){var t=e-1<0?f.length-1:e-1;if(!n.$currentTransition)return u.select(f[t],"prev")};n.isActive=function(n){return u.currentSlide===n};n.$watch("interval",c);n.$on("$destroy",l);n.play=function(){s||(s=!0,c())};n.pause=function(){n.noPause||(s=!1,l())};u.addSlide=function(t,i){t.$element=i;f.push(t);f.length===1||t.active?(u.select(f[f.length-1]),f.length==1&&n.play()):t.active=!1};u.removeSlide=function(n){var t=f.indexOf(n);f.splice(t,1);f.length>0&&n.active?t>=f.length?u.select(f[t-1]):u.select(f[t]):e>t&&e--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{active:"=?"},link:function(n,t,i,r){r.addSlide(n,t);n.$on("$destroy",function(){r.removeSlide(n)});n.$watch("active",function(t){t&&r.select(n)})}}});angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$locale","orderByFilter",function(n,t){function r(n){var u=[],r=n.split("");return angular.forEach(i,function(t,i){var f=n.indexOf(i),e,o;if(f>-1){for(n=n.split(""),r[f]="("+t.regex+")",n[f]="$",e=f+1,o=f+i.length;e<o;e++)r[e]="",n[e]="$";n=n.join("");u.push({index:f,apply:t.apply})}}),{regex:new RegExp("^"+r.join("")+"$"),map:t(u,"index")}}function u(n,t,i){return t===1&&i>28?i===29&&(n%4==0&&n%100!=0||n%400==0):t===3||t===5||t===8||t===10?i<31:!0}this.parsers={};var i={yyyy:{regex:"\\d{4}",apply:function(n){this.year=+n}},yy:{regex:"\\d{2}",apply:function(n){this.year=+n+2e3}},y:{regex:"\\d{1,4}",apply:function(n){this.year=+n}},MMMM:{regex:n.DATETIME_FORMATS.MONTH.join("|"),apply:function(t){this.month=n.DATETIME_FORMATS.MONTH.indexOf(t)}},MMM:{regex:n.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(t){this.month=n.DATETIME_FORMATS.SHORTMONTH.indexOf(t)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(n){this.month=n-1}},M:{regex:"[1-9]|1[0-2]",apply:function(n){this.month=n-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(n){this.date=+n}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(n){this.date=+n}},EEEE:{regex:n.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:n.DATETIME_FORMATS.SHORTDAY.join("|")}};this.parse=function(t,i){var f,c,e,l,s;if(!angular.isString(t)||!i)return t;i=n.DATETIME_FORMATS[i]||i;this.parsers[i]||(this.parsers[i]=r(i));var h=this.parsers[i],a=h.regex,v=h.map,o=t.match(a);if(o&&o.length){for(f={year:1900,month:0,date:1,hours:0},e=1,l=o.length;e<l;e++)s=v[e-1],s.apply&&s.apply.call(f,o[e]);return u(f.year,f.month,f.date)&&(c=new Date(f.year,f.month,f.date,f.hours)),c}}}]);angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(n,t){function i(n,i){return n.currentStyle?n.currentStyle[i]:t.getComputedStyle?t.getComputedStyle(n)[i]:n.style[i]}function r(n){return(i(n,"position")||"static")==="static"}var u=function(t){for(var u=n[0],i=t.offsetParent||u;i&&i!==u&&r(i);)i=i.offsetParent;return i||u};return{position:function(t){var e=this.offset(t),r={top:0,left:0},i=u(t[0]),f;return i!=n[0]&&(r=this.offset(angular.element(i)),r.top+=i.clientTop-i.scrollTop,r.left+=i.clientLeft-i.scrollLeft),f=t[0].getBoundingClientRect(),{width:f.width||t.prop("offsetWidth"),height:f.height||t.prop("offsetHeight"),top:e.top-r.top,left:e.left-r.left}},offset:function(i){var r=i[0].getBoundingClientRect();return{width:r.width||i.prop("offsetWidth"),height:r.height||i.prop("offsetHeight"),top:r.top+(t.pageYOffset||n[0].documentElement.scrollTop),left:r.left+(t.pageXOffset||n[0].documentElement.scrollLeft)}},positionElements:function(n,t,i,r){var a=i.split("-"),h=a[0],e=a[1]||"center",u,c,l,f,o,s;u=r?this.offset(n):this.position(n);c=t.prop("offsetWidth");l=t.prop("offsetHeight");o={center:function(){return u.left+u.width/2-c/2},left:function(){return u.left},right:function(){return u.left+u.width}};s={center:function(){return u.top+u.height/2-l/2},top:function(){return u.top},bottom:function(){return u.top+u.height}};switch(h){case"right":f={top:s[e](),left:o[h]()};break;case"left":f={top:s[e](),left:u.left-c};break;case"bottom":f={top:s[h](),left:o[e]()};break;default:f={top:u.top-l,left:o[e]()}}return f}}}]);angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$timeout","$log","dateFilter","datepickerConfig",function(n,t,i,r,u,f,e,o){var s=this,h={$setViewValue:angular.noop},c;this.modes=["day","month","year"];angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","minMode","maxMode","showWeeks","startingDay","yearRange"],function(i,u){s[i]=angular.isDefined(t[i])?u<8?r(t[i])(n.$parent):n.$parent.$eval(t[i]):o[i]});angular.forEach(["minDate","maxDate"],function(r){t[r]?n.$parent.$watch(i(t[r]),function(n){s[r]=n?new Date(n):null;s.refreshView()}):s[r]=o[r]?new Date(o[r]):null});n.datepickerMode=n.datepickerMode||o.datepickerMode;n.uniqueId="datepicker-"+n.$id+"-"+Math.floor(Math.random()*1e4);this.activeDate=angular.isDefined(t.initDate)?n.$parent.$eval(t.initDate):new Date;n.isActive=function(t){return s.compare(t.date,s.activeDate)===0?(n.activeDateId=t.uid,!0):!1};this.init=function(n){h=n;h.$render=function(){s.render()}};this.render=function(){if(h.$modelValue){var n=new Date(h.$modelValue),t=!isNaN(n);t?this.activeDate=n:f.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.');h.$setValidity("date",t)}this.refreshView()};this.refreshView=function(){if(this.element){this._refreshView();var n=h.$modelValue?new Date(h.$modelValue):null;h.$setValidity("date-disabled",!n||this.element&&!this.isDisabled(n))}};this.createDateObject=function(n,t){var i=h.$modelValue?new Date(h.$modelValue):null;return{date:n,label:e(n,t),selected:i&&this.compare(n,i)===0,disabled:this.isDisabled(n),current:this.compare(n,new Date)===0}};this.isDisabled=function(i){return this.minDate&&this.compare(i,this.minDate)<0||this.maxDate&&this.compare(i,this.maxDate)>0||t.dateDisabled&&n.dateDisabled({date:i,mode:n.datepickerMode})};this.split=function(n,t){for(var i=[];n.length>0;)i.push(n.splice(0,t));return i};n.select=function(t){if(n.datepickerMode===s.minMode){var i=h.$modelValue?new Date(h.$modelValue):new Date(0,0,0,0,0,0,0);i.setFullYear(t.getFullYear(),t.getMonth(),t.getDate());h.$setViewValue(i);h.$render()}else s.activeDate=t,n.datepickerMode=s.modes[s.modes.indexOf(n.datepickerMode)-1]};n.move=function(n){var t=s.activeDate.getFullYear()+n*(s.step.years||0),i=s.activeDate.getMonth()+n*(s.step.months||0);s.activeDate.setFullYear(t,i,1);s.refreshView()};n.toggleMode=function(t){(t=t||1,(n.datepickerMode!==s.maxMode||t!==1)&&(n.datepickerMode!==s.minMode||t!==-1))&&(n.datepickerMode=s.modes[s.modes.indexOf(n.datepickerMode)+t])};n.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};c=function(){u(function(){s.element[0].focus()},0,!1)};n.$on("datepicker.focus",c);n.keydown=function(t){var i=n.keys[t.which];if(i&&!t.shiftKey&&!t.altKey)if(t.preventDefault(),t.stopPropagation(),i==="enter"||i==="space"){if(s.isDisabled(s.activeDate))return;n.select(s.activeDate);c()}else t.ctrlKey&&(i==="up"||i==="down")?(n.toggleMode(i==="up"?1:-1),c()):(s.handleKeyDown(i,t),s.refreshView())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{datepickerMode:"=?",dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u)}}}).directive("daypicker",["dateFilter",function(n){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(t,i,r,u){function f(n,t){return t===1&&n%4==0&&(n%100!=0||n%400==0)?29:e[t]}function o(n,t){var r=new Array(t),i=new Date(n),u=0;for(i.setHours(12);u<t;)r[u++]=new Date(i),i.setDate(i.getDate()+1);return r}function s(n){var t=new Date(n),i;return t.setDate(t.getDate()+4-(t.getDay()||7)),i=t.getTime(),t.setMonth(0),t.setDate(1),Math.floor(Math.round((i-t)/864e5)/7)+1}t.showWeeks=u.showWeeks;u.step={months:1};u.element=i;var e=[31,28,31,30,31,30,31,31,30,31,30,31];u._refreshView=function(){var p=u.activeDate.getFullYear(),h=u.activeDate.getMonth(),c=new Date(p,h,1),e=u.startingDay-c.getDay(),l=e>0?7-e:-e,a=new Date(c),i,r,f,v,y;for(l>0&&a.setDate(-l+1),i=o(a,42),r=0;r<42;r++)i[r]=angular.extend(u.createDateObject(i[r],u.formatDay),{secondary:i[r].getMonth()!==h,uid:t.uniqueId+"-"+r});for(t.labels=new Array(7),f=0;f<7;f++)t.labels[f]={abbr:n(i[f].date,u.formatDayHeader),full:n(i[f].date,"EEEE")};if(t.title=n(u.activeDate,u.formatDayTitle),t.rows=u.split(i,7),t.showWeeks)for(t.weekNumbers=[],v=s(t.rows[0][0].date),y=t.rows.length;t.weekNumbers.push(v++)<y;);};u.compare=function(n,t){return new Date(n.getFullYear(),n.getMonth(),n.getDate())-new Date(t.getFullYear(),t.getMonth(),t.getDate())};u.handleKeyDown=function(n){var t=u.activeDate.getDate(),i;n==="left"?t=t-1:n==="up"?t=t-7:n==="right"?t=t+1:n==="down"?t=t+7:n==="pageup"||n==="pagedown"?(i=u.activeDate.getMonth()+(n==="pageup"?-1:1),u.activeDate.setMonth(i,1),t=Math.min(f(u.activeDate.getFullYear(),u.activeDate.getMonth()),t)):n==="home"?t=1:n==="end"&&(t=f(u.activeDate.getFullYear(),u.activeDate.getMonth()));u.activeDate.setDate(t)};u.refreshView()}}}]).directive("monthpicker",["dateFilter",function(n){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/month.html",require:"^datepicker",link:function(t,i,r,u){u.step={years:1};u.element=i;u._refreshView=function(){for(var r=new Array(12),f=u.activeDate.getFullYear(),i=0;i<12;i++)r[i]=angular.extend(u.createDateObject(new Date(f,i,1),u.formatMonth),{uid:t.uniqueId+"-"+i});t.title=n(u.activeDate,u.formatMonthTitle);t.rows=u.split(r,3)};u.compare=function(n,t){return new Date(n.getFullYear(),n.getMonth())-new Date(t.getFullYear(),t.getMonth())};u.handleKeyDown=function(n){var t=u.activeDate.getMonth(),i;n==="left"?t=t-1:n==="up"?t=t-3:n==="right"?t=t+1:n==="down"?t=t+3:n==="pageup"||n==="pagedown"?(i=u.activeDate.getFullYear()+(n==="pageup"?-1:1),u.activeDate.setFullYear(i)):n==="home"?t=0:n==="end"&&(t=11);u.activeDate.setMonth(t)};u.refreshView()}}}]).directive("yearpicker",["dateFilter",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(n,t,i,r){function f(n){return parseInt((n-1)/u,10)*u+1}var u=r.yearRange;r.step={years:u};r.element=t;r._refreshView=function(){for(var i=new Array(u),t=0,e=f(r.activeDate.getFullYear());t<u;t++)i[t]=angular.extend(r.createDateObject(new Date(e+t,0,1),r.formatYear),{uid:n.uniqueId+"-"+t});n.title=[i[0].label,i[u-1].label].join(" - ");n.rows=r.split(i,5)};r.compare=function(n,t){return n.getFullYear()-t.getFullYear()};r.handleKeyDown=function(n){var t=r.activeDate.getFullYear();n==="left"?t=t-1:n==="up"?t=t-5:n==="right"?t=t+1:n==="down"?t=t+5:n==="pageup"||n==="pagedown"?t+=(n==="pageup"?-1:1)*r.step.years:n==="home"?t=f(r.activeDate.getFullYear()):n==="end"&&(t=f(r.activeDate.getFullYear())+u-1);r.activeDate.setFullYear(t)};r.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","dateParser","datepickerPopupConfig",function(n,t,i,r,u,f,e){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&"},link:function(o,s,h,c){function k(n){return n.replace(/([A-Z])/g,function(n){return"-"+n.toLowerCase()})}function d(n){if(n){if(angular.isDate(n)&&!isNaN(n))return c.$setValidity("date",!0),n;if(angular.isString(n)){var t=f.parse(n,p)||new Date(n);return isNaN(t)?(c.$setValidity("date",!1),undefined):(c.$setValidity("date",!0),t)}return c.$setValidity("date",!1),undefined}return c.$setValidity("date",!0),null}var p,g=angular.isDefined(h.closeOnDateSelection)?o.$parent.$eval(h.closeOnDateSelection):e.closeOnDateSelection,b=angular.isDefined(h.datepickerAppendToBody)?o.$parent.$eval(h.datepickerAppendToBody):e.appendToBody,l,a,v,w,y;o.showButtonBar=angular.isDefined(h.showButtonBar)?o.$parent.$eval(h.showButtonBar):e.showButtonBar;o.getText=function(n){return o[n+"Text"]||e[n+"Text"]};h.$observe("datepickerPopup",function(n){p=n||e.datepickerPopup;c.$render()});l=angular.element("<div datepicker-popup-wrap><div datepicker><\/div><\/div>");l.attr({"ng-model":"date","ng-change":"dateSelection()"});a=angular.element(l.children()[0]);h.datepickerOptions&&angular.forEach(o.$parent.$eval(h.datepickerOptions),function(n,t){a.attr(k(t),n)});o.watchData={};angular.forEach(["minDate","maxDate","datepickerMode"],function(n){var i,r;h[n]&&(i=t(h[n]),o.$parent.$watch(i,function(t){o.watchData[n]=t}),a.attr(k(n),"watchData."+n),n==="datepickerMode"&&(r=i.assign,o.$watch("watchData."+n,function(n,t){n!==t&&r(o.$parent,n)})))});h.dateDisabled&&a.attr("date-disabled","dateDisabled({ date: date, mode: mode })");c.$parsers.unshift(d);o.dateSelection=function(n){angular.isDefined(n)&&(o.date=n);c.$setViewValue(o.date);c.$render();g&&(o.isOpen=!1,s[0].focus())};s.bind("input change keyup",function(){o.$apply(function(){o.date=c.$modelValue})});c.$render=function(){var n=c.$viewValue?u(c.$viewValue,p):"";s.val(n);o.date=d(c.$modelValue)};v=function(n){o.isOpen&&n.target!==s[0]&&o.$apply(function(){o.isOpen=!1})};w=function(n){o.keydown(n)};s.bind("keydown",w);o.keydown=function(n){n.which===27?(n.preventDefault(),n.stopPropagation(),o.close()):n.which!==40||o.isOpen||(o.isOpen=!0)};o.$watch("isOpen",function(n){n?(o.$broadcast("datepicker.focus"),o.position=b?r.offset(s):r.position(s),o.position.top=o.position.top+s.prop("offsetHeight"),i.bind("click",v)):i.unbind("click",v)});o.select=function(n){if(n==="today"){var t=new Date;angular.isDate(c.$modelValue)?(n=new Date(c.$modelValue),n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate())):n=new Date(t.setHours(0,0,0,0))}o.dateSelection(n)};o.close=function(){o.isOpen=!1;s[0].focus()};y=n(l)(o);l.remove();b?i.find("body").append(y):s.after(y);o.$on("$destroy",function(){y.remove();s.unbind("keydown",w);i.unbind("click",v)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(n,t){t.bind("click",function(n){n.preventDefault();n.stopPropagation()})}}});angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(n){var t=null,i,r;this.open=function(u){t||(n.bind("click",i),n.bind("keydown",r));t&&t!==u&&(t.isOpen=!1);t=u};this.close=function(u){t===u&&(t=null,n.unbind("click",i),n.unbind("keydown",r))};i=function(n){if(t){var i=t.getToggleElement();n&&i&&i[0].contains(n.target)||t.$apply(function(){t.isOpen=!1})}};r=function(n){n.which===27&&(t.focusToggleElement(),i())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(n,t,i,r,u,f){var o=this,e=n.$new(),c=r.openClass,s,h=angular.noop,l=t.onToggle?i(t.onToggle):angular.noop;this.init=function(r){o.$element=r;t.isOpen&&(s=i(t.isOpen),h=s.assign,n.$watch(s,function(n){e.isOpen=!!n}))};this.toggle=function(n){return e.isOpen=arguments.length?!!n:!e.isOpen};this.isOpen=function(){return e.isOpen};e.getToggleElement=function(){return o.toggleElement};e.focusToggleElement=function(){o.toggleElement&&o.toggleElement[0].focus()};e.$watch("isOpen",function(t,i){f[t?"addClass":"removeClass"](o.$element,c);t?(e.focusToggleElement(),u.open(e)):u.close(e);h(n,t);angular.isDefined(t)&&t!==i&&l(n,{open:!!t})});n.$on("$locationChangeSuccess",function(){e.isOpen=!1});n.$on("$destroy",function(){e.$destroy()})}]).directive("dropdown",function(){return{controller:"DropdownController",link:function(n,t,i,r){r.init(t)}}}).directive("dropdownToggle",function(){return{require:"?^dropdown",link:function(n,t,i,r){if(r){r.toggleElement=t;var u=function(u){u.preventDefault();t.hasClass("disabled")||i.disabled||n.$apply(function(){r.toggle()})};t.bind("click",u);t.attr({"aria-haspopup":!0,"aria-expanded":!1});n.$watch(r.isOpen,function(n){t.attr("aria-expanded",!!n)});n.$on("$destroy",function(){t.unbind("click",u)})}}}});angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var n=[];return{add:function(t,i){n.push({key:t,value:i})},get:function(t){for(var i=0;i<n.length;i++)if(t==n[i].key)return n[i]},keys:function(){for(var i=[],t=0;t<n.length;t++)i.push(n[t].key);return i},top:function(){return n[n.length-1]},remove:function(t){for(var r=-1,i=0;i<n.length;i++)if(t==n[i].key){r=i;break}return n.splice(r,1)[0]},removeTop:function(){return n.splice(n.length-1,1)[0]},length:function(){return n.length}}}}}).directive("modalBackdrop",["$timeout",function(n){return{restrict:"EA",replace:!0,templateUrl:"template/modal/backdrop.html",link:function(t,i,r){t.backdropClass=r.backdropClass||"";t.animate=!1;n(function(){t.animate=!0})}}}]).directive("modalWindow",["$modalStack","$timeout",function(n,t){return{restrict:"EA",scope:{index:"@",animate:"="},replace:!0,transclude:!0,templateUrl:function(n,t){return t.templateUrl||"template/modal/window.html"},link:function(i,r,u){r.addClass(u.windowClass||"");i.size=u.size;t(function(){i.animate=!0;r[0].querySelectorAll("[autofocus]").length||r[0].focus()});i.close=function(t){var i=n.getTop();i&&i.value.backdrop&&i.value.backdrop!="static"&&t.target===t.currentTarget&&(t.preventDefault(),t.stopPropagation(),n.dismiss(i.key,"backdrop click"))}}}}]).directive("modalTransclude",function(){return{link:function(n,t,i,r,u){u(n.$parent,function(n){t.empty();t.append(n)})}}}).factory("$modalStack",["$transition","$timeout","$document","$compile","$rootScope","$$stackedMap",function(n,t,i,r,u,f){function c(){for(var t=-1,i=e.keys(),n=0;n<i.length;n++)e.get(i[n]).value.backdrop&&(t=n);return t}function a(n){var r=i.find("body").eq(0),t=e.get(n).value;e.remove(n);v(t.modalDomEl,t.modalScope,300,function(){t.modalScope.$destroy();r.toggleClass(l,e.length()>0);y()})}function y(){if(h&&c()==-1){var n=o;v(h,o,150,function(){n.$destroy();n=null});h=undefined;o=undefined}}function v(i,r,u,f){function e(){e.done||(e.done=!0,i.remove(),f&&f())}var o,s;r.animate=!1;o=n.transitionEndEventName;o?(s=t(e,u),i.bind(o,function(){t.cancel(s);e();r.$apply()})):t(e)}var l="modal-open",h,o,e=f.createNew(),s={};return u.$watch(c,function(n){o&&(o.index=n)}),i.bind("keydown",function(n){var t;n.which===27&&(t=e.top(),t&&t.value.keyboard&&(n.preventDefault(),u.$apply(function(){s.dismiss(t.key,"escape key press")})))}),s.open=function(n,t){var f,s,a,v,y;e.add(n,{deferred:t.deferred,modalScope:t.scope,backdrop:t.backdrop,keyboard:t.keyboard});f=i.find("body").eq(0);s=c();s>=0&&!h&&(o=u.$new(!0),o.index=s,a=angular.element("<div modal-backdrop><\/div>"),a.attr("backdrop-class",t.backdropClass),h=r(a)(o),f.append(h));v=angular.element("<div modal-window><\/div>");v.attr({"template-url":t.windowTemplateUrl,"window-class":t.windowClass,size:t.size,index:e.length()-1,animate:"animate"}).html(t.content);y=r(v)(t.scope);e.top().value.modalDomEl=y;f.append(y);f.addClass(l)},s.close=function(n,t){var i=e.get(n);i&&(i.value.deferred.resolve(t),a(n))},s.dismiss=function(n,t){var i=e.get(n);i&&(i.value.deferred.reject(t),a(n))},s.dismissAll=function(n){for(var t=this.getTop();t;)this.dismiss(t.key,n),t=this.getTop()},s.getTop=function(){return e.top()},s}]).provider("$modal",function(){var n={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(t,i,r,u,f,e,o){function h(n){return n.template?r.when(n.template):u.get(angular.isFunction(n.templateUrl)?n.templateUrl():n.templateUrl,{cache:f}).then(function(n){return n.data})}function c(n){var i=[];return angular.forEach(n,function(n){(angular.isFunction(n)||angular.isArray(n))&&i.push(r.when(t.invoke(n)))}),i}var s={};return s.open=function(t){var f=r.defer(),s=r.defer(),u={result:f.promise,opened:s.promise,close:function(n){o.close(u,n)},dismiss:function(n){o.dismiss(u,n)}},l;if(t=angular.extend({},n.options,t),t.resolve=t.resolve||{},!t.template&&!t.templateUrl)throw new Error("One of template or templateUrl options is required.");return l=r.all([h(t)].concat(c(t.resolve))),l.then(function(n){var r=(t.scope||i).$new(),h,s,c;r.$close=u.close;r.$dismiss=u.dismiss;s={};c=1;t.controller&&(s.$scope=r,s.$modalInstance=u,angular.forEach(t.resolve,function(t,i){s[i]=n[c++]}),h=e(t.controller,s),t.controllerAs&&(r[t.controllerAs]=h));o.open(u,{scope:r,deferred:f,content:n[0],backdrop:t.backdrop,keyboard:t.keyboard,backdropClass:t.backdropClass,windowClass:t.windowClass,windowTemplateUrl:t.windowTemplateUrl,size:t.size})},function(n){f.reject(n)}),l.then(function(){s.resolve(!0)},function(){s.reject(!1)}),u},s}]};return n});angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(n,t,i){var u=this,r={$setViewValue:angular.noop},f=t.numPages?i(t.numPages).assign:angular.noop;this.init=function(f,e){r=f;this.config=e;r.$render=function(){u.render()};t.itemsPerPage?n.$parent.$watch(i(t.itemsPerPage),function(t){u.itemsPerPage=parseInt(t,10);n.totalPages=u.calculateTotalPages()}):this.itemsPerPage=e.itemsPerPage};this.calculateTotalPages=function(){var t=this.itemsPerPage<1?1:Math.ceil(n.totalItems/this.itemsPerPage);return Math.max(t||0,1)};this.render=function(){n.page=parseInt(r.$viewValue,10)||1};n.selectPage=function(t){n.page!==t&&t>0&&t<=n.totalPages&&(r.$setViewValue(t),r.$render())};n.getText=function(t){return n[t+"Text"]||u.config[t+"Text"]};n.noPrevious=function(){return n.page===1};n.noNext=function(){return n.page===n.totalPages};n.$watch("totalItems",function(){n.totalPages=u.calculateTotalPages()});n.$watch("totalPages",function(t){f(n.$parent,t);n.page>t?n.selectPage(t):r.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(n,t){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(i,r,u,f){function h(n,t,i){return{number:n,text:t,active:i}}function a(n,t){var f=[],i=1,r=t,o=angular.isDefined(e)&&e<t,u,c,l,a;for(o&&(s?(i=Math.max(n-Math.floor(e/2),1),r=i+e-1,r>t&&(r=t,i=r-e+1)):(i=(Math.ceil(n/e)-1)*e+1,r=Math.min(i+e-1,t))),u=i;u<=r;u++)c=h(u,u,u===n),f.push(c);return o&&!s&&(i>1&&(l=h(i-1,"...",!1),f.unshift(l)),r<t&&(a=h(r+1,"...",!1),f.push(a))),f}var o=f[0],c=f[1],e,s,l;c&&(e=angular.isDefined(u.maxSize)?i.$parent.$eval(u.maxSize):t.maxSize,s=angular.isDefined(u.rotate)?i.$parent.$eval(u.rotate):t.rotate,i.boundaryLinks=angular.isDefined(u.boundaryLinks)?i.$parent.$eval(u.boundaryLinks):t.boundaryLinks,i.directionLinks=angular.isDefined(u.directionLinks)?i.$parent.$eval(u.directionLinks):t.directionLinks,o.init(c,t),u.maxSize&&i.$parent.$watch(n(u.maxSize),function(n){e=parseInt(n,10);o.render()}),l=o.render,o.render=function(){l();i.page>0&&i.page<=i.totalPages&&(i.pages=a(i.page,i.totalPages))})}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"Â« Previous",nextText:"Next Â»",align:!0}).directive("pager",["pagerConfig",function(n){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(t,i,r,u){var e=u[0],f=u[1];f&&(t.align=angular.isDefined(r.align)?t.$parent.$eval(r.align):n.align,e.init(f,n))}}}]);angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function r(n){var t="-";return n.replace(/[A-Z]/g,function(n,i){return(i?t:"")+n.toLowerCase()})}var i={placement:"top",animation:!0,popupDelay:0},n={mouseenter:"mouseleave",click:"click",focus:"blur"},t={};this.options=function(n){angular.extend(t,n)};this.setTriggers=function(t){angular.extend(n,t)};this.$get=["$window","$compile","$timeout","$document","$position","$interpolate",function(u,f,e,o,s,h){return function(u,c,l){function p(t){var i=t||a.trigger||l,r=n[i]||i;return{show:i,hide:r}}var a=angular.extend({},i,t),w=r(u),v=h.startSymbol(),y=h.endSymbol(),b="<div "+w+'-popup title="'+v+"title"+y+'" content="'+v+"content"+y+'" placement="'+v+"placement"+y+'" animation="animation" is-open="isOpen"><\/div>';return{restrict:"EA",compile:function(){var n=f(b);return function(t,i,r){function ot(){f.isOpen?g():d()}function d(){(!et||t.$eval(r[c+"Enable"]))&&(ht(),f.popupDelay?y||(y=e(ft,f.popupDelay,!1),y.then(function(n){n()})):ft()())}function g(){t.$apply(function(){nt()})}function ft(){return(y=null,v&&(e.cancel(v),v=null),!f.content)?angular.noop:(st(),h.css({top:0,left:0,display:"block"}),b?o.find("body").append(h):i.after(h),ut(),f.isOpen=!0,f.$digest(),ut)}function nt(){f.isOpen=!1;e.cancel(y);y=null;f.animation?v||(v=e(k,500)):k()}function st(){h&&k();w=f.$new();h=n(w,angular.noop)}function k(){v=null;h&&(h.remove(),h=null);w&&(w.$destroy(),w=null)}function ht(){ct();lt()}function ct(){var n=r[c+"Placement"];f.placement=angular.isDefined(n)?n:a.placement}function lt(){var t=r[c+"PopupDelay"],n=parseInt(t,10);f.popupDelay=isNaN(n)?a.popupDelay:n}function at(){var n=r[c+"Trigger"];tt();l=p(n);l.show===l.hide?i.bind(l.show,ot):(i.bind(l.show,d),i.bind(l.hide,g))}var h,w,v,y,b=angular.isDefined(a.appendToBody)?a.appendToBody:!1,l=p(undefined),et=angular.isDefined(r[c+"Enable"]),f=t.$new(!0),ut=function(){var n=s.positionElements(i,h,f.placement,b);n.top+="px";n.left+="px";h.css(n)},tt,it,rt;f.isOpen=!1;r.$observe(u,function(n){f.content=n;!n&&f.isOpen&&nt()});r.$observe(c+"Title",function(n){f.title=n});tt=function(){i.unbind(l.show,d);i.unbind(l.hide,g)};at();it=t.$eval(r[c+"Animation"]);f.animation=angular.isDefined(it)?!!it:a.animation;rt=t.$eval(r[c+"AppendToBody"]);b=angular.isDefined(rt)?rt:b;b&&t.$on("$locationChangeSuccess",function(){f.isOpen&&nt()});t.$on("$destroy",function(){e.cancel(v);e.cancel(y);tt();k();f=null})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(n){return n("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(n){return n("tooltipHtmlUnsafe","tooltip","mouseenter")}]);angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function(n){return n("popover","popover","click")}]);angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(n,t,i){var r=this,u=angular.isDefined(t.animate)?n.$parent.$eval(t.animate):i.animate;this.bars=[];n.max=angular.isDefined(t.max)?n.$parent.$eval(t.max):i.max;this.addBar=function(t,i){u||i.css({transition:"none"});this.bars.push(t);t.$watch("value",function(i){t.percent=+(100*i/n.max).toFixed(2)});t.$on("$destroy",function(){i=null;r.removeBar(t)})};this.removeBar=function(n){this.bars.splice(this.bars.indexOf(n),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(n,t,i,r){r.addBar(n,t)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(n,t,i,r){r.addBar(n,angular.element(t.children()[0]))}}});angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(n,t,i){var r={$setViewValue:angular.noop};this.init=function(u){r=u;r.$render=this.render;this.stateOn=angular.isDefined(t.stateOn)?n.$parent.$eval(t.stateOn):i.stateOn;this.stateOff=angular.isDefined(t.stateOff)?n.$parent.$eval(t.stateOff):i.stateOff;var f=angular.isDefined(t.ratingStates)?n.$parent.$eval(t.ratingStates):new Array(angular.isDefined(t.max)?n.$parent.$eval(t.max):i.max);n.range=this.buildTemplateObjects(f)};this.buildTemplateObjects=function(n){for(var t=0,i=n.length;t<i;t++)n[t]=angular.extend({index:t},{stateOn:this.stateOn,stateOff:this.stateOff},n[t]);return n};n.rate=function(t){!n.readonly&&t>=0&&t<=n.range.length&&(r.$setViewValue(t),r.$render())};n.enter=function(t){n.readonly||(n.value=t);n.onHover({value:t})};n.reset=function(){n.value=r.$viewValue;n.onLeave()};n.onKeydown=function(t){/(37|38|39|40)/.test(t.which)&&(t.preventDefault(),t.stopPropagation(),n.rate(n.value+(t.which===38||t.which===39?1:-1)))};this.render=function(){n.value=r.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u)}}});angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(n){var i=this,t=i.tabs=n.tabs=[],r;i.select=function(n){angular.forEach(t,function(t){t.active&&t!==n&&(t.active=!1,t.onDeselect())});n.active=!0;n.onSelect()};i.addTab=function(n){t.push(n);t.length===1?n.active=!0:n.active&&i.select(n)};i.removeTab=function(n){var u=t.indexOf(n),f;n.active&&t.length>1&&!r&&(f=u==t.length-1?u-1:u+1,i.select(t[f]));t.splice(u,1)};n.$on("$destroy",function(){r=!0})}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(n,t,i){n.vertical=angular.isDefined(i.vertical)?n.$parent.$eval(i.vertical):!1;n.justified=angular.isDefined(i.justified)?n.$parent.$eval(i.justified):!1}}}).directive("tab",["$parse",function(n){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(t,i,r){return function(t,i,u,f){t.$watch("active",function(n){n&&f.select(t)});t.disabled=!1;u.disabled&&t.$parent.$watch(n(u.disabled),function(n){t.disabled=!!n});t.select=function(){t.disabled||(t.active=!0)};f.addTab(t);t.$on("$destroy",function(){f.removeTab(t)});t.$transcludeFn=r}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(n,t){n.$watch("headingElement",function(n){n&&(t.html(""),t.append(n))})}}}]).directive("tabContentTransclude",function(){function n(n){return n.tagName&&(n.hasAttribute("tab-heading")||n.hasAttribute("data-tab-heading")||n.tagName.toLowerCase()==="tab-heading"||n.tagName.toLowerCase()==="data-tab-heading")}return{restrict:"A",require:"^tabset",link:function(t,i,r){var u=t.$eval(r.tabContentTransclude);u.$transcludeFn(u.$parent,function(t){angular.forEach(t,function(t){n(t)?u.headingElement=t:i.append(t)})})}}});angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(n,t,i,r,u,f){function p(){var t=parseInt(n.hours,10),i=n.showMeridian?t>0&&t<13:t>=0&&t<24;return i?(n.showMeridian&&(t===12&&(t=0),n.meridian===v[1]&&(t=t+12)),t):undefined}function w(){var t=parseInt(n.minutes,10);return t>=0&&t<60?t:undefined}function l(n){return angular.isDefined(n)&&n.toString().length<2?"0"+n:n}function a(n){b();o.$setViewValue(new Date(e));y(n)}function b(){o.$setValidity("time",!0);n.invalidHours=!1;n.invalidMinutes=!1}function y(t){var i=e.getHours(),r=e.getMinutes();n.showMeridian&&(i=i===0||i===12?12:i%12);n.hours=t==="h"?i:l(i);n.minutes=t==="m"?r:l(r);n.meridian=e.getHours()<12?v[0]:v[1]}function s(n){var t=new Date(e.getTime()+n*6e4);e.setHours(t.getHours(),t.getMinutes());a()}var e=new Date,o={$setViewValue:angular.noop},v=angular.isDefined(t.meridians)?n.$parent.$eval(t.meridians):f.meridians||u.DATETIME_FORMATS.AMPMS,h,c;this.init=function(i,r){o=i;o.$render=this.render;var u=r.eq(0),e=r.eq(1),s=angular.isDefined(t.mousewheel)?n.$parent.$eval(t.mousewheel):f.mousewheel;s&&this.setupMousewheelEvents(u,e);n.readonlyInput=angular.isDefined(t.readonlyInput)?n.$parent.$eval(t.readonlyInput):f.readonlyInput;this.setupInputEvents(u,e)};h=f.hourStep;t.hourStep&&n.$parent.$watch(i(t.hourStep),function(n){h=parseInt(n,10)});c=f.minuteStep;t.minuteStep&&n.$parent.$watch(i(t.minuteStep),function(n){c=parseInt(n,10)});n.showMeridian=f.showMeridian;t.showMeridian&&n.$parent.$watch(i(t.showMeridian),function(t){if(n.showMeridian=!!t,o.$error.time){var i=p(),r=w();angular.isDefined(i)&&angular.isDefined(r)&&(e.setHours(i),a())}else y()});this.setupMousewheelEvents=function(t,i){var r=function(n){n.originalEvent&&(n=n.originalEvent);var t=n.wheelDelta?n.wheelDelta:-n.deltaY;return n.detail||t>0};t.bind("mousewheel wheel",function(t){n.$apply(r(t)?n.incrementHours():n.decrementHours());t.preventDefault()});i.bind("mousewheel wheel",function(t){n.$apply(r(t)?n.incrementMinutes():n.decrementMinutes());t.preventDefault()})};this.setupInputEvents=function(t,i){if(n.readonlyInput){n.updateHours=angular.noop;n.updateMinutes=angular.noop;return}var r=function(t,i){o.$setViewValue(null);o.$setValidity("time",!1);angular.isDefined(t)&&(n.invalidHours=t);angular.isDefined(i)&&(n.invalidMinutes=i)};n.updateHours=function(){var n=p();angular.isDefined(n)?(e.setHours(n),a("h")):r(!0)};t.bind("blur",function(){!n.invalidHours&&n.hours<10&&n.$apply(function(){n.hours=l(n.hours)})});n.updateMinutes=function(){var n=w();angular.isDefined(n)?(e.setMinutes(n),a("m")):r(undefined,!0)};i.bind("blur",function(){!n.invalidMinutes&&n.minutes<10&&n.$apply(function(){n.minutes=l(n.minutes)})})};this.render=function(){var n=o.$modelValue?new Date(o.$modelValue):null;isNaN(n)?(o.$setValidity("time",!1),r.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(n&&(e=n),b(),y())};n.incrementHours=function(){s(h*60)};n.decrementHours=function(){s(-h*60)};n.incrementMinutes=function(){s(c)};n.decrementMinutes=function(){s(-c)};n.toggleMeridian=function(){s(720*(e.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u,t.find("input"))}}});angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(n){var t=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(i){var r=i.match(t);if(!r)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+i+'".');return{itemName:r[3],source:n(r[4]),viewMapper:n(r[2]||r[1]),modelMapper:n(r[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(n,t,i,r,u,f,e){var o=[9,13,27,38,40];return{require:"ngModel",link:function(s,h,c,l){var st=s.$eval(c.typeaheadMinLength)||1,ft=s.$eval(c.typeaheadWaitMs)||0,ht=s.$eval(c.typeaheadEditable)!==!1,p=t(c.typeaheadLoading).assign||angular.noop,ct=t(c.typeaheadOnSelect),et=c.typeaheadInputFormatter?t(c.typeaheadInputFormatter):undefined,d=c.typeaheadAppendToBody?s.$eval(c.typeaheadAppendToBody):!1,lt=s.$eval(c.typeaheadFocusFirst)!==!1,at=t(c.ngModel).assign,v=e.parse(c.typeahead),g,a=s.$new(),w,b,y,nt,tt,it,ot,rt,ut,k;s.$on("$destroy",function(){a.$destroy()});w="typeahead-"+a.$id+"-"+Math.floor(Math.random()*1e4);h.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":w});b=angular.element("<div typeahead-popup><\/div>");b.attr({id:w,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"});angular.isDefined(c.typeaheadTemplateUrl)&&b.attr("template-url",c.typeaheadTemplateUrl);y=function(){a.matches=[];a.activeIdx=-1;h.attr("aria-expanded",!1)};nt=function(n){return w+"-option-"+n};a.$watch("activeIdx",function(n){n<0?h.removeAttr("aria-activedescendant"):h.attr("aria-activedescendant",nt(n))});tt=function(n){var t={$viewValue:n};p(s,!0);i.when(v.source(s,t)).then(function(i){var u=n===l.$viewValue,r;if(u&&g)if(i.length>0){for(a.activeIdx=lt?0:-1,a.matches.length=0,r=0;r<i.length;r++)t[v.itemName]=i[r],a.matches.push({id:nt(r),label:v.viewMapper(a,t),model:i[r]});a.query=n;a.position=d?f.offset(h):f.position(h);a.position.top=a.position.top+h.prop("offsetHeight");h.attr("aria-expanded",!0)}else y();u&&p(s,!1)},function(){y();p(s,!1)})};y();a.query=undefined;ot=function(n){it=r(function(){tt(n)},ft)};rt=function(){it&&r.cancel(it)};l.$parsers.unshift(function(n){return g=!0,n&&n.length>=st?ft>0?(rt(),ot(n)):tt(n):(p(s,!1),rt(),y()),ht?n:n?(l.$setValidity("editable",!1),undefined):(l.$setValidity("editable",!0),n)});l.$formatters.push(function(n){var i,r,t={};return et?(t.$model=n,et(s,t)):(t[v.itemName]=n,i=v.viewMapper(s,t),t[v.itemName]=undefined,r=v.viewMapper(s,t),i!==r?i:n)});a.select=function(n){var t={},i,u;t[v.itemName]=u=a.matches[n].model;i=v.modelMapper(s,t);at(s,i);l.$setValidity("editable",!0);ct(s,{$item:u,$model:i,$label:v.viewMapper(s,t)});y();r(function(){h[0].focus()},0,!1)};h.bind("keydown",function(n){a.matches.length!==0&&o.indexOf(n.which)!==-1&&(a.activeIdx!=-1||n.which!==13&&n.which!==9)&&(n.preventDefault(),n.which===40?(a.activeIdx=(a.activeIdx+1)%a.matches.length,a.$digest()):n.which===38?(a.activeIdx=(a.activeIdx>0?a.activeIdx:a.matches.length)-1,a.$digest()):n.which===13||n.which===9?a.$apply(function(){a.select(a.activeIdx)}):n.which===27&&(n.stopPropagation(),y(),a.$digest()))});h.bind("blur",function(){g=!1});ut=function(n){h[0]!==n.target&&(y(),a.$digest())};u.bind("click",ut);s.$on("$destroy",function(){u.unbind("click",ut);d&&k.remove()});k=n(b)(a);d?u.find("body").append(k):h.after(k)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(n,t,i){n.templateUrl=i.templateUrl;n.isOpen=function(){return n.matches.length>0};n.isActive=function(t){return n.active==t};n.selectActive=function(t){n.active=t};n.selectMatch=function(t){n.select({activeIdx:t})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(n,t,i,r){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(u,f,e){var o=r(e.templateUrl)(u.$parent)||"template/typeahead/typeahead-match.html";n.get(o,{cache:t}).success(function(n){f.replaceWith(i(n.trim())(u))})}}}]).filter("typeaheadHighlight",function(){function n(n){return n.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,i){return i?(""+t).replace(new RegExp(n(i),"gi"),"<strong>$&<\/strong>"):t}});angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(n){n.put("template/accordion/accordion-group.html",'<div class="panel panel-default">\n  <div class="panel-heading">\n    <h4 class="panel-title">\n      <a href class="accordion-toggle" ng-click="toggleOpen()" accordion-transclude="heading"><span ng-class="{\'text-muted\': isDisabled}">{{heading}}<\/span><\/a>\n    <\/h4>\n  <\/div>\n  <div class="panel-collapse" collapse="!isOpen">\n\t  <div class="panel-body" ng-transclude><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function(n){n.put("template/accordion/accordion.html",'<div class="panel-group" ng-transclude><\/div>')}]);angular.module("template/alert/alert.html",[]).run(["$templateCache",function(n){n.put("template/alert/alert.html",'<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissable\' : null]" role="alert">\n    <button ng-show="closeable" type="button" class="close" ng-click="close()">\n        <span aria-hidden="true">&times;<\/span>\n        <span class="sr-only">Close<\/span>\n    <\/button>\n    <div ng-transclude><\/div>\n<\/div>\n')}]);angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function(n){n.put("template/carousel/carousel.html",'<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">\n    <ol class="carousel-indicators" ng-show="slides.length > 1">\n        <li ng-repeat="slide in slides track by $index" ng-class="{active: isActive(slide)}" ng-click="select(slide)"><\/li>\n    <\/ol>\n    <div class="carousel-inner" ng-transclude><\/div>\n    <a class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-left"><\/span><\/a>\n    <a class="right carousel-control" ng-click="next()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-right"><\/span><\/a>\n<\/div>\n')}]);angular.module("template/carousel/slide.html",[]).run(["$templateCache",function(n){n.put("template/carousel/slide.html","<div ng-class=\"{\n    'active': leaving || (active && !entering),\n    'prev': (next || active) && direction=='prev',\n    'next': (next || active) && direction=='next',\n    'right': direction=='prev',\n    'left': direction=='next'\n  }\" class=\"item text-center\" ng-transclude><\/div>\n")}]);angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/datepicker.html",'<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n  <daypicker ng-switch-when="day" tabindex="0"><\/daypicker>\n  <monthpicker ng-switch-when="month" tabindex="0"><\/monthpicker>\n  <yearpicker ng-switch-when="year" tabindex="0"><\/yearpicker>\n<\/div>')}]);angular.module("template/datepicker/day.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/day.html",'<table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th colspan="{{5 + showWeeks}}"><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n    <tr>\n      <th ng-show="showWeeks" class="text-center"><\/th>\n      <th ng-repeat="label in labels track by $index" class="text-center"><small aria-label="{{label.full}}">{{label.abbr}}<\/small><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-show="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}<\/em><\/td>\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">\n        <button type="button" style="width:100%;" class="btn btn-default btn-sm" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("template/datepicker/month.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/month.html",'<table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">\n        <button type="button" style="width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{\'text-info\': dt.current}">{{dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/popup.html",'<ul class="dropdown-menu" ng-style="{display: (isOpen && \'block\') || \'none\', top: position.top+\'px\', left: position.left+\'px\'}" ng-keydown="keydown($event)">\n\t<li ng-transclude><\/li>\n\t<li ng-if="showButtonBar" style="padding:10px 9px 2px">\n\t\t<span class="btn-group pull-left">\n\t\t\t<button type="button" class="btn btn-sm btn-info" ng-click="select(\'today\')">{{ getText(\'current\') }}<\/button>\n\t\t\t<button type="button" class="btn btn-sm btn-danger" ng-click="select(null)">{{ getText(\'clear\') }}<\/button>\n\t\t<\/span>\n\t\t<button type="button" class="btn btn-sm btn-success pull-right" ng-click="close()">{{ getText(\'close\') }}<\/button>\n\t<\/li>\n<\/ul>\n')}]);angular.module("template/datepicker/year.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/year.html",'<table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th colspan="3"><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">\n        <button type="button" style="width:100%;" class="btn btn-default" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{\'text-info\': dt.current}">{{dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(n){n.put("template/modal/backdrop.html",'<div class="modal-backdrop fade {{ backdropClass }}"\n     ng-class="{in: animate}"\n     ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n><\/div>\n')}]);angular.module("template/modal/window.html",[]).run(["$templateCache",function(n){n.put("template/modal/window.html",'<div tabindex="-1" role="dialog" class="modal fade" ng-class="{in: animate}" ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}" ng-click="close($event)">\n    <div class="modal-dialog" ng-class="{\'modal-sm\': size == \'sm\', \'modal-lg\': size == \'lg\'}"><div class="modal-content" modal-transclude><\/div><\/div>\n<\/div>')}]);angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(n){n.put("template/pagination/pager.html",'<ul class="pager">\n  <li ng-class="{disabled: noPrevious(), previous: align}"><a href ng-click="selectPage(page - 1)">{{getText(\'previous\')}}<\/a><\/li>\n  <li ng-class="{disabled: noNext(), next: align}"><a href ng-click="selectPage(page + 1)">{{getText(\'next\')}}<\/a><\/li>\n<\/ul>')}]);angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(n){n.put("template/pagination/pagination.html",'<ul class="pagination">\n  <li ng-if="boundaryLinks" ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(1)">{{getText(\'first\')}}<\/a><\/li>\n  <li ng-if="directionLinks" ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(page - 1)">{{getText(\'previous\')}}<\/a><\/li>\n  <li ng-repeat="page in pages track by $index" ng-class="{active: page.active}"><a href ng-click="selectPage(page.number)">{{page.text}}<\/a><\/li>\n  <li ng-if="directionLinks" ng-class="{disabled: noNext()}"><a href ng-click="selectPage(page + 1)">{{getText(\'next\')}}<\/a><\/li>\n  <li ng-if="boundaryLinks" ng-class="{disabled: noNext()}"><a href ng-click="selectPage(totalPages)">{{getText(\'last\')}}<\/a><\/li>\n<\/ul>')}]);angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(n){n.put("template/tooltip/tooltip-html-unsafe-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="tooltip-arrow"><\/div>\n  <div class="tooltip-inner" bind-html-unsafe="content"><\/div>\n<\/div>\n')}]);angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(n){n.put("template/tooltip/tooltip-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="tooltip-arrow"><\/div>\n  <div class="tooltip-inner" ng-bind="content"><\/div>\n<\/div>\n')}]);angular.module("template/popover/popover.html",[]).run(["$templateCache",function(n){n.put("template/popover/popover.html",'<div class="popover {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="arrow"><\/div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-show="title"><\/h3>\n      <div class="popover-content" ng-bind="content"><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function(n){n.put("template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: percent + \'%\'}" aria-valuetext="{{percent | number:0}}%" ng-transclude><\/div>')}]);angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function(n){n.put("template/progressbar/progress.html",'<div class="progress" ng-transclude><\/div>')}]);angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function(n){n.put("template/progressbar/progressbar.html",'<div class="progress">\n  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: percent + \'%\'}" aria-valuetext="{{percent | number:0}}%" ng-transclude><\/div>\n<\/div>')}]);angular.module("template/rating/rating.html",[]).run(["$templateCache",function(n){n.put("template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}">\n    <i ng-repeat="r in range track by $index" ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')">\n        <span class="sr-only">({{ $index < value ? \'*\' : \' \' }})<\/span>\n    <\/i>\n<\/span>')}]);angular.module("template/tabs/tab.html",[]).run(["$templateCache",function(n){n.put("template/tabs/tab.html",'<li ng-class="{active: active, disabled: disabled}">\n  <a href ng-click="select()" tab-heading-transclude>{{heading}}<\/a>\n<\/li>\n')}]);angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function(n){n.put("template/tabs/tabset.html",'<div>\n  <ul class="nav nav-{{type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude><\/ul>\n  <div class="tab-content">\n    <div class="tab-pane" \n         ng-repeat="tab in tabs" \n         ng-class="{active: tab.active}"\n         tab-content-transclude="tab">\n    <\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function(n){n.put("template/timepicker/timepicker.html",'<table>\n\t<tbody>\n\t\t<tr class="text-center">\n\t\t\t<td><a ng-click="incrementHours()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"><\/span><\/a><\/td>\n\t\t\t<td>&nbsp;<\/td>\n\t\t\t<td><a ng-click="incrementMinutes()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"><\/span><\/a><\/td>\n\t\t\t<td ng-show="showMeridian"><\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td style="width:50px;" class="form-group" ng-class="{\'has-error\': invalidHours}">\n\t\t\t\t<input type="text" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-mousewheel="incrementHours()" ng-readonly="readonlyInput" maxlength="2">\n\t\t\t<\/td>\n\t\t\t<td>:<\/td>\n\t\t\t<td style="width:50px;" class="form-group" ng-class="{\'has-error\': invalidMinutes}">\n\t\t\t\t<input type="text" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2">\n\t\t\t<\/td>\n\t\t\t<td ng-show="showMeridian"><button type="button" class="btn btn-default text-center" ng-click="toggleMeridian()">{{meridian}}<\/button><\/td>\n\t\t<\/tr>\n\t\t<tr class="text-center">\n\t\t\t<td><a ng-click="decrementHours()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"><\/span><\/a><\/td>\n\t\t\t<td>&nbsp;<\/td>\n\t\t\t<td><a ng-click="decrementMinutes()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"><\/span><\/a><\/td>\n\t\t\t<td ng-show="showMeridian"><\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n')}]);angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(n){n.put("template/typeahead/typeahead-match.html",'<a tabindex="-1" bind-html-unsafe="match.label | typeaheadHighlight:query"><\/a>')}]);angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(n){n.put("template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen()" ng-style="{top: position.top+\'px\', left: position.left+\'px\'}" style="display: block;" role="listbox" aria-hidden="{{!isOpen()}}">\n    <li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)" role="option" id="{{match.id}}">\n        <div typeahead-match index="$index" match="match" query="query" template-url="templateUrl"><\/div>\n    <\/li>\n<\/ul>\n')}]),function(n,t,i){"use strict";function r(){this.$get=function(){function i(n,t,i){for(var f=n[i],e=t(f),r,u;i>0;)if(r=Math.floor((i+1)/2)-1,u=n[r],e>=t(u))break;else n[r]=f,n[i]=u,i=r}function r(n,t,i){for(var e=n.length,o=n[i],s=t(o),h,c,l,a;;){var u=(i+1)*2,f=u-1,r=null;if(f<e&&(h=n[f],c=t(h),c<s&&(r=f)),u<e&&(l=n[u],a=t(l),a<(r===null?s:t(n[f]))&&(r=u)),r===null)break;else n[i]=n[r],n[r]=o,i=r}}function n(n){if(n&&!t.isFunction(n))throw new Error("BinaryHeap(weightFunc): weightFunc: must be a function!");n=n||function(n){return n};this.weightFunc=n;this.heap=[]}return n.prototype.push=function(n){this.heap.push(n);i(this.heap,this.weightFunc,this.heap.length-1)},n.prototype.peek=function(){return this.heap[0]},n.prototype.pop=function(){var n=this.heap[0],t=this.heap.pop();return this.heap.length>0&&(this.heap[0]=t,r(this.heap,this.weightFunc,0)),n},n.prototype.remove=function(n){for(var e,o,f=this.heap.length,u=0;u<f;u++)if(t.equals(this.heap[u],n))return e=this.heap[u],o=this.heap.pop(),u!==f-1&&(this.heap[u]=o,i(this.heap,this.weightFunc,u),r(this.heap,this.weightFunc,u)),e;return null},n.prototype.removeAll=function(){this.heap=[]},n.prototype.size=function(){return this.heap.length},n}}function u(){function n(n,i){t.isNumber(n)?n<0?i("must be greater than zero!"):i(null):i("must be a number!")}var r,u=function(){return{capacity:Number.MAX_VALUE,maxAge:null,deleteOnExpire:"none",onExpire:null,cacheFlushInterval:null,recycleFreq:1e3,storageMode:"none",storageImpl:null,verifyIntegrity:!0}};this.setCacheDefaults=function(i){var f="$angularCacheFactoryProvider.setCacheDefaults(options): ";if(i=i||{},!t.isObject(i))throw new Error(f+"options: must be an object!");if("capacity"in i&&n(i.capacity,function(n){if(n)throw new Error(f+"capacity: "+n);}),"deleteOnExpire"in i)if(t.isString(i.deleteOnExpire)){if(i.deleteOnExpire!=="none"&&i.deleteOnExpire!=="passive"&&i.deleteOnExpire!=="aggressive")throw new Error(f+'deleteOnExpire: accepted values are "none", "passive" or "aggressive"!');}else throw new Error(f+"deleteOnExpire: must be a string!");if("maxAge"in i&&n(i.maxAge,function(n){if(n)throw new Error(f+"maxAge: "+n);}),"recycleFreq"in i&&n(i.recycleFreq,function(n){if(n)throw new Error(f+"recycleFreq: "+n);}),"cacheFlushInterval"in i&&n(i.cacheFlushInterval,function(n){if(n)throw new Error(f+"cacheFlushInterval: "+n);}),"storageMode"in i){if(t.isString(i.storageMode)){if(i.storageMode!=="none"&&i.storageMode!=="localStorage"&&i.storageMode!=="sessionStorage")throw new Error(f+'storageMode: accepted values are "none", "localStorage" or "sessionStorage"!');}else throw new Error(f+"storageMode: must be a string!");if("storageImpl"in i)if(t.isObject(i.storageImpl))if("setItem"in i.storageImpl&&typeof i.storageImpl.setItem=="function")if("getItem"in i.storageImpl&&typeof i.storageImpl.getItem=="function"){if(!("removeItem"in i.storageImpl)||typeof i.storageImpl.removeItem!="function")throw new Error(f+'storageImpl: must implement "removeItem(key)"!');}else throw new Error(f+'storageImpl: must implement "getItem(key)"!');else throw new Error(f+'storageImpl: must implement "setItem(key, value)"!');else throw new Error(f+"storageImpl: must be an object!");}if("onExpire"in i&&typeof i.onExpire!="function")throw new Error(f+"onExpire: must be a function!");r=t.extend({},u(),i)};this.setCacheDefaults({});this.$get=["$window","BinaryHeap",function(u,f){function h(n){var i={};for(var t in n)n.hasOwnProperty(t)&&(i[t]=t);return i}function o(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(i);return t}function c(s,c){function rt(t){n(t,function(n){if(n)throw new Error("capacity: "+n);else for(l.capacity=t;p.size()>l.capacity;)b.remove(p.peek().key,{verifyIntegrity:!1})})}function ut(n){if(t.isString(n))if(n!=="none"&&n!=="passive"&&n!=="aggressive")throw new Error('deleteOnExpire: accepted values are "none", "passive" or "aggressive"!');else l.deleteOnExpire=n;else throw new Error("deleteOnExpire: must be a string!");}function ft(t){var i=o(a),r,u;if(t===null){if(l.maxAge)for(r=0;r<i.length;r++)u=i[r],"maxAge"in a[u]||(delete a[u].expires,w.remove(a[u]));l.maxAge=t}else n(t,function(n){var f,u,r;if(n)throw new Error("maxAge: "+n);else if(t!==l.maxAge)for(l.maxAge=t,f=(new Date).getTime(),u=0;u<i.length;u++)r=i[u],"maxAge"in a[r]||(w.remove(a[r]),a[r].expires=a[r].created+l.maxAge,w.push(a[r]),a[r].expires<f&&b.remove(r,{verifyIntegrity:!1}))})}function et(t){t===null?(l.recycleFreqId&&(clearInterval(l.recycleFreqId),delete l.recycleFreqId),l.recycleFreq=r.recycleFreq,l.recycleFreqId=setInterval(b.removeExpired,l.recycleFreq)):n(t,function(n){if(n)throw new Error("recycleFreq: "+n);else l.recycleFreq=t,l.recycleFreqId&&clearInterval(l.recycleFreqId),l.recycleFreqId=setInterval(b.removeExpired,l.recycleFreq)})}function ot(t){t===null?(l.cacheFlushIntervalId&&(clearInterval(l.cacheFlushIntervalId),delete l.cacheFlushIntervalId),l.cacheFlushInterval=t):n(t,function(n){if(n)throw new Error("cacheFlushInterval: "+n);else t!==l.cacheFlushInterval&&(l.cacheFlushIntervalId&&clearInterval(l.cacheFlushIntervalId),l.cacheFlushInterval=t,l.cacheFlushIntervalId=setInterval(b.removeAll,l.cacheFlushInterval))})}function st(n,i){var f,r;if(t.isString(n)){if(n!=="none"&&n!=="localStorage"&&n!=="sessionStorage")throw new Error('storageMode: accepted values are "none", "localStorage" or "sessionStorage"!');}else throw new Error("storageMode: must be a string!");if((l.storageMode==="localStorage"||l.storageMode==="sessionStorage")&&n!==l.storageMode){for(f=o(a),r=0;r<f.length;r++)v.removeItem(y+".data."+f[r]);v.removeItem(y+".keys")}if(l.storageMode=n,i){if(t.isObject(i))if("setItem"in i&&typeof i.setItem=="function")if("getItem"in i&&typeof i.getItem=="function"){if(!("removeItem"in i)||typeof i.removeItem!="function")throw new Error('storageImpl: must implement "removeItem(key)"!');}else throw new Error('storageImpl: must implement "getItem(key)"!');else throw new Error('storageImpl: must implement "setItem(key, value)"!');else throw new Error("storageImpl: must be an object!");v=i}else l.storageMode==="localStorage"?v=u.localStorage:l.storageMode==="sessionStorage"&&(v=u.sessionStorage);if(l.storageMode!=="none"&&v)if(d)for(f=o(a),r=0;r<f.length;r++)nt(f[r]);else ht()}function g(n,i,u){if(n=n||{},u=u||{},i=!!i,!t.isObject(n))throw new Error("AngularCache.setOptions(cacheOptions, strict, options): cacheOptions: must be an object!");if(k(u.verifyIntegrity),i&&(n=t.extend({},r,n)),"verifyIntegrity"in n&&(l.verifyIntegrity=n.verifyIntegrity===!0),"capacity"in n&&rt(n.capacity),"deleteOnExpire"in n&&ut(n.deleteOnExpire),"maxAge"in n&&ft(n.maxAge),"recycleFreq"in n&&et(n.recycleFreq),"cacheFlushInterval"in n&&ot(n.cacheFlushInterval),"storageMode"in n&&st(n.storageMode,n.storageImpl),"onExpire"in n){if(n.onExpire!==null&&typeof n.onExpire!="function")throw new Error("onExpire: must be a function!");l.onExpire=n.onExpire}d=!0}function ht(){var i=t.fromJson(v.getItem(y+".keys")),r,u;if(v.removeItem(y+".keys"),i&&i.length){for(r=0;r<i.length;r++){var n=t.fromJson(v.getItem(y+".data."+i[r])),f=n.maxAge||l.maxAge,e=n.deleteOnExpire||l.deleteOnExpire;f&&(new Date).getTime()-n.created>f&&e==="aggressive"?v.removeItem(y+".data."+i[r]):(u={created:n.created},n.expires&&(u.expires=n.expires),n.accessed&&(u.accessed=n.accessed),n.maxAge&&(u.maxAge=n.maxAge),n.deleteOnExpire&&(u.deleteOnExpire=n.deleteOnExpire),b.put(i[r],n.value,u))}nt(null)}}function nt(n){l.storageMode!=="none"&&v&&(v.setItem(y+".keys",t.toJson(o(a))),n&&v.setItem(y+".data."+n,t.toJson(a[n])))}function k(n){var i,r;if((n||n!==!1&&l.verifyIntegrity)&&l.storageMode!=="none"&&v)for(i=o(a),v.setItem(y+".keys",t.toJson(i)),r=0;r<i.length;r++)v.setItem(y+".data."+i[r],t.toJson(a[i[r]]))}function tt(n){if(l.storageMode!=="none"&&v){var i=n||o(a);v.setItem(y+".keys",t.toJson(i))}}function it(n){l.storageMode!=="none"&&v&&v.setItem(y+".data."+n,t.toJson(a[n]))}function ct(){var i,n;if(l.storageMode!=="none"&&v){for(i=o(a),n=0;n<i.length;n++)v.removeItem(y+".data."+i[n]);v.setItem(y+".keys",t.toJson([]))}}var l=t.extend({},{id:s}),a={},w=new f(function(n){return n.expires}),p=new f(function(n){return n.accessed}),y="angular-cache.caches."+s,d=!1,b=this,v=null;c=c||{};this.put=function(i,r,u){if(u=u||{},t.isString(i)){if(u&&!t.isObject(u))throw new Error("AngularCache.put(key, value, options): options: must be an object!");else if(u.maxAge&&u.maxAge!==null)n(u.maxAge,function(n){if(n)throw new Error("AngularCache.put(key, value, options): maxAge: "+n);});else if(u.deleteOnExpire&&!t.isString(u.deleteOnExpire))throw new Error("AngularCache.put(key, value, options): deleteOnExpire: must be a string!");else if(u.deleteOnExpire&&u.deleteOnExpire!=="none"&&e!=="passive"&&e!=="aggressive")throw new Error('AngularCache.put(key, value, options): deleteOnExpire: accepted values are "none", "passive" or "aggressive"!');else if(t.isUndefined(r))return}else throw new Error("AngularCache.put(key, value, options): key: must be a string!");var o=(new Date).getTime(),e,f;return k(u.verifyIntegrity),a[i]?(w.remove(a[i]),p.remove(a[i])):a[i]={key:i},f=a[i],f.value=r,f.created=parseInt(u.created,10)||f.created||o,f.accessed=parseInt(u.accessed,10)||o,u.deleteOnExpire&&(f.deleteOnExpire=u.deleteOnExpire),u.maxAge&&(f.maxAge=u.maxAge),(f.maxAge||l.maxAge)&&(f.expires=f.created+(f.maxAge||l.maxAge)),e=f.deleteOnExpire||l.deleteOnExpire,f.expires&&e==="aggressive"&&w.push(f),tt(),it(i),p.push(f),p.size()>l.capacity&&this.remove(p.peek().key,{verifyIntegrity:!1}),r};this.get=function(n,r){var e,f;if(t.isArray(n))return e=n,f=[],t.forEach(e,function(n){var i=b.get(n,r);t.isDefined(i)&&f.push(i)}),f;if(r=r||{},t.isString(n)){if(r&&!t.isObject(r))throw new Error("AngularCache.get(key, options): options: must be an object!");else if(r.onExpire&&!t.isFunction(r.onExpire))throw new Error("AngularCache.get(key, options): onExpire: must be a function!");else if(!(n in a))return}else throw new Error("AngularCache.get(key, options): key: must be a string!");k(r.verifyIntegrity);var u=a[n],o=u.value,s=(new Date).getTime(),h=u.deleteOnExpire||l.deleteOnExpire;if(p.remove(u),u.accessed=s,p.push(u),h==="passive"&&"expires"in u&&u.expires<s){if(this.remove(n,{verifyIntegrity:!1}),l.onExpire)l.onExpire(n,u.value,r.onExpire);else if(r.onExpire)r.onExpire(n,u.value);o=i}return it(n),o};this.remove=function(n,t){t=t||{};k(t.verifyIntegrity);p.remove(a[n]);w.remove(a[n]);l.storageMode!=="none"&&v&&v.removeItem(y+".data."+n);delete a[n];tt()};this.removeAll=function(){ct();p.removeAll();w.removeAll();a={}};this.removeExpired=function(n){n=n||{};k(n.verifyIntegrity);for(var i=(new Date).getTime(),t=w.peek();t&&t.expires&&t.expires<i;){if(b.remove(t.key,{verifyIntegrity:!1}),l.onExpire)l.onExpire(t.key,t.value);t=w.peek()}};this.destroy=function(){var t,n;for(l.cacheFlushIntervalId&&clearInterval(l.cacheFlushIntervalId),l.recycleFreqId&&clearInterval(l.recycleFreqId),this.removeAll(),l.storageMode!=="none"&&v&&(v.removeItem(y+".keys"),v.removeItem(y)),v=null,a=null,p=null,w=null,l=null,y=null,b=null,t=o(this),n=0;n<t.length;n++)this.hasOwnProperty(t[n])&&delete this[t[n]];e[s]=null;delete e[s]};this.info=function(n){if(n){if(a[n]){var i={created:a[n].created,accessed:a[n].accessed,expires:a[n].expires,maxAge:a[n].maxAge||l.maxAge,deleteOnExpire:a[n].deleteOnExpire||l.deleteOnExpire,isExpired:!1};return i.maxAge&&(i.isExpired=(new Date).getTime()-i.created>i.maxAge),i}return a[n]}return t.extend({},l,{size:p&&p.size()||0})};this.keySet=function(){return h(a)};this.keys=function(){return o(a)};this.setOptions=g;g(c,!0,{verifyIntegrity:!1})}function s(n,i){if(n in e)throw new Error("cacheId "+n+" taken!");else if(!t.isString(n))throw new Error("cacheId must be a string!");return e[n]=new c(n,i),e[n]}var e={};return s.info=function(){for(var f,n=o(e),i={size:n.length,caches:{}},u=0;u<n.length;u++)f=n[u],i.caches[f]=e[f].info();return i.cacheDefaults=t.extend({},r),i},s.get=function(n){if(!t.isString(n))throw new Error("$angularCacheFactory.get(cacheId): cacheId: must be a string!");return e[n]},s.keySet=function(){return h(e)},s.keys=function(){return o(e)},s.removeAll=function(){for(var t=o(e),n=0;n<t.length;n++)e[t[n]].destroy()},s.clearAll=function(){for(var t=o(e),n=0;n<t.length;n++)e[t[n]].removeAll()},s}]}t.module("jmdobry.binary-heap",[]);t.module("jmdobry.binary-heap").provider("BinaryHeap",r);t.module("jmdobry.angular-cache",["ng","jmdobry.binary-heap"]);t.module("jmdobry.angular-cache").provider("$angularCacheFactory",u)}(window,window.angular),function(){function t(n,t){window.XMLHttpRequest.prototype[n]=t(window.XMLHttpRequest.prototype[n])}function n(n,t,i){try{Object.defineProperty(n,t,{get:i})}catch(r){}}if(window.FileAPI||(window.FileAPI={}),FileAPI.shouldLoad=window.XMLHttpRequest&&!window.FormData||FileAPI.forceLoad,FileAPI.shouldLoad){var i=function(n){if(!n.__listeners){n.upload||(n.upload={});n.__listeners=[];var t=n.upload.addEventListener;n.upload.addEventListener=function(i,r){n.__listeners[i]=r;t&&t.apply(this,arguments)}}};t("open",function(n){return function(t,r,u){i(this);this.__url=r;try{n.apply(this,[t,r,u])}catch(f){f.message.indexOf("Access is denied")>-1&&(this.__origError=f,n.apply(this,[t,"_fix_for_ie_crossdomain__",u]))}}});t("getResponseHeader",function(n){return function(t){return this.__fileApiXHR&&this.__fileApiXHR.getResponseHeader?this.__fileApiXHR.getResponseHeader(t):n==null?null:n.apply(this,[t])}});t("getAllResponseHeaders",function(n){return function(){return this.__fileApiXHR&&this.__fileApiXHR.getAllResponseHeaders?this.__fileApiXHR.getAllResponseHeaders():n==null?null:n.apply(this)}});t("abort",function(n){return function(){return this.__fileApiXHR&&this.__fileApiXHR.abort?this.__fileApiXHR.abort():n==null?null:n.apply(this)}});t("setRequestHeader",function(n){return function(t,r){if(t==="__setXHR_"){i(this);var u=r(this);u instanceof Function&&u(this)}else this.__requestHeaders=this.__requestHeaders||{},this.__requestHeaders[t]=r,n.apply(this,arguments)}});t("send",function(t){return function(){var i=this,e,u,f,r;if(arguments[0]&&arguments[0].__isFileAPIShim){for(e=arguments[0],u={url:i.__url,jsonp:!1,cache:!0,complete:function(t,r){t&&angular.isString(t)&&t.indexOf("#2174")!==-1&&(t=null);i.__completed=!0;!t&&i.__listeners.load&&i.__listeners.load({type:"load",loaded:i.__loaded,total:i.__total,target:i,lengthComputable:!0});!t&&i.__listeners.loadend&&i.__listeners.loadend({type:"loadend",loaded:i.__loaded,total:i.__total,target:i,lengthComputable:!0});t==="abort"&&i.__listeners.abort&&i.__listeners.abort({type:"abort",loaded:i.__loaded,total:i.__total,target:i,lengthComputable:!0});r.status!==undefined&&n(i,"status",function(){return r.status===0&&t&&t!=="abort"?500:r.status});r.statusText!==undefined&&n(i,"statusText",function(){return r.statusText});n(i,"readyState",function(){return 4});r.response!==undefined&&n(i,"response",function(){return r.response});var u=r.responseText||(t&&r.status===0&&t!=="abort"?t:undefined);n(i,"responseText",function(){return u});n(i,"response",function(){return u});t&&n(i,"err",function(){return t});i.__fileApiXHR=r;i.onreadystatechange&&i.onreadystatechange();i.onload&&i.onload()},progress:function(n){if(n.target=i,i.__listeners.progress&&i.__listeners.progress(n),i.__total=n.total,i.__loaded=n.loaded,n.total===n.loaded){var t=this;setTimeout(function(){i.__completed||(i.getAllResponseHeaders=function(){},t.complete(null,{status:204,statusText:"No Content"}))},FileAPI.noContentTimeout||1e4)}},headers:i.__requestHeaders},u.data={},u.files={},f=0;f<e.data.length;f++)r=e.data[f],r.val!=null&&r.val.name!=null&&r.val.size!=null&&r.val.type!=null?u.files[r.key]=r.val:u.data[r.key]=r.val;setTimeout(function(){if(!FileAPI.hasFlash)throw'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"';i.__fileApiXHR=FileAPI.upload(u)},1)}else{if(this.__origError)throw this.__origError;t.apply(i,arguments)}}});window.XMLHttpRequest.__isFileAPIShim=!0;window.FormData=FormData=function(){return{append:function(n,t,i){t.__isFileAPIBlobShim&&(t=t.data[0]);this.data.push({key:n,val:t,name:i})},data:[],__isFileAPIShim:!0}};window.Blob=Blob=function(n){return{data:n,__isFileAPIBlobShim:!0}}}}(),function(){function h(n){return n[0].tagName.toLowerCase()==="input"&&n.attr("type")&&n.attr("type").toLowerCase()==="file"}function u(){try{var n=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");if(n)return!0}catch(t){if(navigator.mimeTypes["application/x-shockwave-flash"]!==undefined)return!0}return!1}function f(n){var t=0,i=0;if(window.jQuery)return jQuery(n).offset();if(n.offsetParent)do t+=n.offsetLeft-n.scrollLeft,i+=n.offsetTop-n.scrollTop,n=n.offsetParent;while(n);return{left:t,top:i}}if(FileAPI.shouldLoad){if(FileAPI.forceLoad&&(FileAPI.html5=!1),!FileAPI.upload){var e,n,o=document.createElement("script"),s=document.getElementsByTagName("script"),t,i,r;if(window.FileAPI.jsUrl)e=window.FileAPI.jsUrl;else if(window.FileAPI.jsPath)n=window.FileAPI.jsPath;else for(t=0;t<s.length;t++)if(r=s[t].src,i=r.search(/\/ng\-file\-upload[\-a-zA-z0-9\.]*\.js/),i>-1){n=r.substring(0,i+1);break}FileAPI.staticPath==null&&(FileAPI.staticPath=n);o.setAttribute("src",e||n+"FileAPI.min.js");document.getElementsByTagName("head")[0].appendChild(o);FileAPI.hasFlash=u()}FileAPI.ngfFixIE=function(n,t,i){var r,e;if(!u())throw'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"';r=function(){n.attr("disabled")?t&&t.removeClass("js-fileapi-wrapper"):(t.attr("__ngf_flash_")||(t.unbind("change"),t.unbind("click"),t.bind("change",function(n){e.apply(this,[n]);i.apply(this,[n])}),t.attr("__ngf_flash_","true")),t.addClass("js-fileapi-wrapper"),h(n)||t.css("position","absolute").css("top",f(n[0]).top+"px").css("left",f(n[0]).left+"px").css("width",n[0].offsetWidth+"px").css("height",n[0].offsetHeight+"px").css("filter","alpha(opacity=0)").css("display",n.css("display")).css("overflow","hidden").css("z-index","900000").css("visibility","visible"))};n.bind("mouseenter",r);e=function(n){for(var t=FileAPI.getFiles(n),i=0;i<t.length;i++)t[i].size===undefined&&(t[i].size=0),t[i].name===undefined&&(t[i].name="file"),t[i].type===undefined&&(t[i].type="undefined");n.target||(n.target={});n.target.files=t;n.target.files!==t&&(n.__files_=t);(n.__files_||n.target.files).item=function(t){return(n.__files_||n.target.files)[t]||null}}};FileAPI.disableFileInput=function(n,t){t?n.removeClass("js-fileapi-wrapper"):n.addClass("js-fileapi-wrapper")}}}();window.FileReader||(window.FileReader=function(){var n=this,r=!1,t,i;this.listeners={};this.addEventListener=function(t,i){n.listeners[t]=n.listeners[t]||[];n.listeners[t].push(i)};this.removeEventListener=function(t,i){n.listeners[t]&&n.listeners[t].splice(n.listeners[t].indexOf(i),1)};this.dispatchEvent=function(t){var r=n.listeners[t.type],i;if(r)for(i=0;i<r.length;i++)r[i].call(n,t)};this.onabort=this.onerror=this.onload=this.onloadstart=this.onloadend=this.onprogress=null;t=function(t,i){var r={type:t,target:n,loaded:i.loaded,total:i.total,error:i.error};return i.result!=null&&(r.target.result=i.result),r};i=function(i){if(!r&&(r=!0,n.onloadstart))n.onloadstart(t("loadstart",i));var u;if(i.type==="load"){if(n.onloadend)n.onloadend(t("loadend",i));if(u=t("load",i),n.onload)n.onload(u);n.dispatchEvent(u)}else if(i.type==="progress"){if(u=t("progress",i),n.onprogress)n.onprogress(u);n.dispatchEvent(u)}else{if(u=t("error",i),n.onerror)n.onerror(u);n.dispatchEvent(u)}};this.readAsArrayBuffer=function(n){FileAPI.readAsBinaryString(n,i)};this.readAsBinaryString=function(n){FileAPI.readAsBinaryString(n,i)};this.readAsDataURL=function(n){FileAPI.readAsDataURL(n,i)};this.readAsText=function(n){FileAPI.readAsText(n,i)}});!window.XMLHttpRequest||window.FileAPI&&FileAPI.shouldLoad||(window.XMLHttpRequest.prototype.setRequestHeader=function(n){return function(t,i){if(t==="__setXHR_"){var r=i(this);r instanceof Function&&r(this)}else n.apply(this,arguments)}}(window.XMLHttpRequest.prototype.setRequestHeader));ngFileUpload=angular.module("ngFileUpload",[]);ngFileUpload.version="7.2.1";ngFileUpload.service("UploadBase",["$http","$q","$timeout",function(n,t,i){function r(r){r.method=r.method||"POST";r.headers=r.headers||{};var f=t.defer(),u=f.promise;return r.headers.__setXHR_=function(){return function(n){n&&(r.__XHR=n,r.xhrFn&&r.xhrFn(n),n.upload.addEventListener("progress",function(n){n.config=r;f.notify?f.notify(n):u.progressFunc&&i(function(){u.progressFunc(n)})},!1),n.upload.addEventListener("load",function(n){n.lengthComputable&&(n.config=r,f.notify?f.notify(n):u.progressFunc&&i(function(){u.progressFunc(n)}))},!1))}},n(r).then(function(n){f.resolve(n)},function(n){f.reject(n)},function(n){f.notify(n)}),u.success=function(n){return u.then(function(t){n(t.data,t.status,t.headers,r)}),u},u.error=function(n){return u.then(null,function(t){n(t.data,t.status,t.headers,r)}),u},u.progress=function(n){return u.progressFunc=n,u.then(null,null,function(t){n(t)}),u},u.abort=function(){return r.__XHR&&i(function(){r.__XHR.abort()}),u},u.xhr=function(n){return r.xhrFn=function(t){return function(){t&&t.apply(u,arguments);n.apply(u,arguments)}}(r.xhrFn),u},u}this.upload=function(n){function i(t,r,u){if(r!==undefined)if(angular.isDate(r)&&(r=r.toISOString()),angular.isString(r))t.append(u,r);else if(n.sendFieldsAs==="form")if(angular.isObject(r))for(var f in r)r.hasOwnProperty(f)&&i(t,r[f],u+"["+f+"]");else t.append(u,r);else r=angular.isString(r)?r:angular.toJson(r),n.sendFieldsAs==="json-blob"?t.append(u,new Blob([r],{type:"application/json"})):t.append(u,r)}function u(n){return n instanceof Blob||n.flashId&&n.name&&n.size}function t(n,i,r){var f,e;if(u(i))n.append(r,i,i.fileName||i.name);else if(angular.isObject(i))for(f in i)i.hasOwnProperty(f)&&(e=f.split(","),e[1]&&(i[f].fileName=e[1].replace(/^\s+|\s+$/g,"")),t(n,i[f],e[0]));else throw"Expected file object in Upload.upload file option: "+i.toString();}return n.headers=n.headers||{},n.headers["Content-Type"]=undefined,n.transformRequest=n.transformRequest?angular.isArray(n.transformRequest)?n.transformRequest:[n.transformRequest]:[],n.transformRequest.push(function(r){var f=new FormData,e={},u,s,o;for(u in n.fields)n.fields.hasOwnProperty(u)&&(e[u]=n.fields[u]);r&&(e.data=r);for(u in e)e.hasOwnProperty(u)&&(s=e[u],n.formDataAppender?n.formDataAppender(f,u,s):i(f,s,u));if(n.file!=null)if(angular.isArray(n.file))for(o=0;o<n.file.length;o++)t(f,n.file[o],"file");else t(f,n.file,"file");return f}),r(n)};this.http=function(t){return t.transformRequest=t.transformRequest||function(t){return window.ArrayBuffer&&t instanceof window.ArrayBuffer||t instanceof Blob?t:n.defaults.transformRequest[0].apply(this,arguments)},r(t)};this.setDefaults=function(n){this.defaults=n||{}};this.defaults={};this.version=ngFileUpload.version}]);ngFileUpload.service("Upload",["$parse","$timeout","$compile","UploadResize",function(n,t,i,r){var u=r;return u.getAttrWithDefaults=function(n,t){return n[t]!=null?n[t]:u.defaults[t]==null?u.defaults[t]:u.defaults[t].toString()},u.attrGetter=function(t,i,r,u){if(r)try{return u?n(this.getAttrWithDefaults(i,t))(r,u):n(this.getAttrWithDefaults(i,t))(r)}catch(f){if(t.search(/min|max|pattern/i))return this.getAttrWithDefaults(i,t);throw f;}else return this.getAttrWithDefaults(i,t)},u.updateModel=function(i,r,f,e,o,s,h){function p(){var c=o&&o.length?o[0]:null,l,h;i&&(l=!u.attrGetter("ngfMultiple",r,f)&&!u.attrGetter("multiple",r)&&!w,n(u.attrGetter("ngModel",r)).assign(f,l?c:o));h=u.attrGetter("ngfModel",r);h&&n(h).assign(f,o);e&&n(e)(f,{$files:o,$file:c,$event:s});t(function(){})}function b(n,t){var o=u.attrGetter("ngfResize",r,f),i,e;if(!o)return t();var h=n.length,s=function(){h--;h===0&&t()},c=function(t){return function(i){n.splice(t,1,i);s()}},l=function(n){return function(t){s();n.$error="resize";n.$errorParam=(t?(t.message?t.message:t)+": ":"")+(n&&n.name)}};for(i=0;i<n.length;i++)e=n[i],e.$error||e.type.indexOf("image")!==0?s():u.resize(e,o.width,o.height,o.quality).then(c(i),l(e))}var w=u.attrGetter("ngfKeep",r,f),c,v,y,l,a;if(w===!0)if(o&&o.length)if(c=(i&&i.$modelValue||r.$$ngfPrevFiles||[]).slice(0),v=!1,u.attrGetter("ngfKeepDistinct",r,f)===!0){for(y=c.length,l=0;l<o.length;l++){for(a=0;a<y;a++)if(o[l].name===c[a].name)break;a===y&&(c.push(o[l]),v=!0)}if(!v)return;o=c}else o=c.concat(o);else return;r.$$ngfPrevFiles=o;h?p():u.validate(o,i,r,f,u.attrGetter("ngfValidateLater",r),function(){b(o,function(){t(function(){p()})})})},u}]);ngFileUpload.directive("ngfSelect",["$parse","$timeout","$compile","Upload",function(n,t,i,r){function f(n){var t=n.match(/Android[^\d]*(\d+)\.(\d+)/),i;return t&&t.length>2?(i=r.defaults.androidFixMinorVersion||4,parseInt(t[1])<4||parseInt(t[1])===i&&parseInt(t[2])<i):n.indexOf("Chrome")===-1&&/.*Windows.*Safari.*/.test(n)}function e(n,t,i,r,e,o,s,h){function a(){return t[0].tagName.toLowerCase()==="input"&&i.type&&i.type.toLowerCase()==="file"}function w(){return l("ngfChange")||l("ngfSelect")}function y(t){for(var e=t.__files_||t.target&&t.target.files,u=[],f=0;f<e.length;f++)u.push(e[f]);h.updateModel(r,i,n,w(),u.length?u:null,t)}function d(n){var r,i;if(t!==n)for(r=0;r<t[0].attributes.length;r++)i=t[0].attributes[r],i.name!=="type"&&i.name!=="class"&&i.name!=="id"&&i.name!=="style"&&((i.value==null||i.value==="")&&(i.name==="required"&&(i.value="required"),i.name==="multiple"&&(i.value="multiple")),n.attr(i.name,i.value))}function g(){if(a())return t;var n=angular.element('<input type="file">');return d(n),n.css("visibility","hidden").css("position","absolute").css("overflow","hidden").css("width","0px").css("height","0px").css("border","none").css("margin","0px").css("padding","0px").attr("tabindex","-1"),u.push({el:t,ref:n}),document.body.appendChild(n[0]),n}function nt(i){if(t.attr("disabled")||l("ngfSelectDisabled",n))return!1;var r=tt(i);return r!=null?r:(b(i),f(navigator.userAgent)?setTimeout(function(){c[0].click()},0):c[0].click(),!1)}function tt(n){var t=n.changedTouches||n.originalEvent&&n.originalEvent.changedTouches,i;return n.type==="touchstart"?(p=t?t[0].clientY:0,!0):(n.stopPropagation(),n.preventDefault(),n.type==="touchend"&&(i=t?t[0].clientY:0,Math.abs(i-p)>20))?!1:void 0}function b(t){c.val()&&(c.val(null),h.updateModel(r,i,n,w(),null,t,!0))}function k(n){if(c&&!c.attr("__ngf_ie10_Fix_")){if(!c[0].parentNode){c=null;return}n.preventDefault();n.stopPropagation();c.unbind("click");var t=c.clone();return c.replaceWith(t),c=t,c.attr("__ngf_ie10_Fix_","true"),c.bind("change",y),c.bind("click",k),c[0].click(),!1}c.removeAttr("__ngf_ie10_Fix_")}var l=function(n,t){return h.attrGetter(n,i,t)},v=[],p,c;v.push(n.$watch(l("ngfMultiple"),function(){c.attr("multiple",l("ngfMultiple",n))}));v.push(n.$watch(l("ngfCapture"),function(){c.attr("capture",l("ngfCapture",n))}));i.$observe("accept",function(){c.attr("accept",l("accept"))});v.push(function(){i.$$observers&&delete i.$$observers.accept});p=0;c=t;a()||(c=g());c.bind("change",y);a()?t.bind("click",b):t.bind("click touchstart touchend",nt);h.registerValidators(r,c,i,n);navigator.appVersion.indexOf("MSIE 10")!==-1&&c.bind("click",k);n.$on("$destroy",function(){a()||c.remove();angular.forEach(v,function(n){n()})});o(function(){for(var t,n=0;n<u.length;n++)t=u[n],document.body.contains(t.el[0])||(u.splice(n,1),t.ref.remove())});window.FileAPI&&window.FileAPI.ngfFixIE&&window.FileAPI.ngfFixIE(t,c,y)}var u=[];return{restrict:"AEC",require:"?ngModel",link:function(u,f,o,s){e(u,f,o,s,n,t,i,r)}}}]),function(){function n(n){return n.tagName.toLowerCase()==="img"?"image":n.tagName.toLowerCase()==="audio"?"audio":n.tagName.toLowerCase()==="video"?"video":/\./}ngFileUpload.service("UploadDataUrl",["UploadBase","$timeout","$q",function(n,t,i){var r=n;return r.dataUrl=function(n,r){var e,f,u;return r&&n.dataUrl!=null||!r&&n.blobUrl!=null?(e=i.defer(),t(function(){e.resolve(r?n.dataUrl:n.blobUrl)}),e.promise):(f=r?n.$ngfDataUrlPromise:n.$ngfBlobUrlPromise,f)?f:(u=i.defer(),t(function(){var i,f,e;if(window.FileReader&&n&&(!window.FileAPI||navigator.userAgent.indexOf("MSIE 8")===-1||n.size<2e4)&&(!window.FileAPI||navigator.userAgent.indexOf("MSIE 9")===-1||n.size<4e6))if(i=window.URL||window.webkitURL,i&&i.createObjectURL&&!r){try{f=i.createObjectURL(n)}catch(o){t(function(){n.blobUrl="";u.reject()});return}t(function(){n.blobUrl=f;f&&u.resolve(f)})}else e=new FileReader,e.onload=function(i){t(function(){n.dataUrl=i.target.result;u.resolve(i.target.result)})},e.onerror=function(){t(function(){n.dataUrl="";u.reject()})},e.readAsDataURL(n);else t(function(){n[r?"dataUrl":"blobUrl"]="";u.reject()})}),f=r?n.$ngfDataUrlPromise=u.promise:n.$ngfBlobUrlPromise=u.promise,f["finally"](function(){delete n[r?"$ngfDataUrlPromise":"$ngfBlobUrlPromise"]}),f)},r}]);var t=angular.element("<style>.ngf-hide{display:none !important}<\/style>");document.getElementsByTagName("head")[0].appendChild(t[0]);ngFileUpload.directive("ngfSrc",["$compile","$timeout","Upload",function(t,i,r){return{restrict:"AE",link:function(t,u,f){i(function(){var e=t.$watch(f.ngfSrc,function(e){if(angular.isString(e))return u.removeClass("ngf-hide"),u.attr("src",e);if(e&&e.type&&e.type.indexOf(n(u[0]))===0){var o=r.attrGetter("ngfNoObjectUrl",f,t);r.dataUrl(e,o)["finally"](function(){i(function(){e.blobUrl||e.dataUrl?(u.removeClass("ngf-hide"),u.attr("src",(o?e.dataUrl:e.blobUrl)||e.dataUrl)):u.addClass("ngf-hide")})})}else u.addClass("ngf-hide")});t.$on("$destroy",function(){e()})})}}}]);ngFileUpload.directive("ngfBackground",["Upload","$compile","$timeout",function(n,t,i){return{restrict:"AE",link:function(t,r,u){i(function(){var f=t.$watch(u.ngfBackground,function(f){if(angular.isString(f))return r.css("background-image","url('"+f+"')");if(f&&f.type&&f.type.indexOf("image")===0){var e=n.attrGetter("ngfNoObjectUrl",u,t);n.dataUrl(f,e)["finally"](function(){i(function(){e&&f.dataUrl||!e&&f.blobUrl?r.css("background-image","url('"+(e?f.dataUrl:f.blobUrl)+"')"):r.css("background-image","")})})}else r.css("background-image","")});t.$on("$destroy",function(){f()})})}}}]);ngFileUpload.config(["$compileProvider",function(n){n.imgSrcSanitizationWhitelist&&n.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|local|file|data|blob):/);n.aHrefSanitizationWhitelist&&n.aHrefSanitizationWhitelist(/^\s*(https?|ftp|local|file|data|blob):/)}]);ngFileUpload.filter("ngfDataUrl",["UploadDataUrl","$sce",function(n,t){return function(i,r){return angular.isString(i)?t.trustAsResourceUrl(i):i&&!i.dataUrl?(i.dataUrl===undefined&&angular.isObject(i)&&(i.dataUrl=null,n.dataUrl(i,r)),""):(i&&i.dataUrl?t.trustAsResourceUrl(i.dataUrl):i)||""}}])}();ngFileUpload.service("UploadValidate",["UploadDataUrl","$q","$timeout",function(n,t,i){function f(n){var i,t,r;if(n.length>2&&n[0]==="/"&&n[n.length-1]==="/")return n.substring(1,n.length-1);if(i=n.split(","),t="",i.length>1)for(r=0;r<i.length;r++)t+="("+f(i[r])+")",r<i.length-1&&(t+="|");else n.indexOf(".")===0&&(n="*"+n),t="^"+n.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\-]","g"),"\\$&")+"$",t=t.replace(/\\\*/g,".*").replace(/\\\?/g,".");return t}function u(n){if(angular.isString(n)){if(n.search(/kb/i)===n.length-2)return parseFloat(n.substring(0,n.length-2)*1e3);if(n.search(/mb/i)===n.length-2)return parseFloat(n.substring(0,n.length-2)*1e6);if(n.search(/gb/i)===n.length-2)return parseFloat(n.substring(0,n.length-2)*1e9);if(n.search(/b/i)===n.length-1||n.search(/s/i)===n.length-1)return parseFloat(n.substring(0,n.length-1));if(n.search(/m/i)===n.length-1)return parseFloat(n.substring(0,n.length-1)*60);if(n.search(/h/i)===n.length-1)return parseFloat(n.substring(0,n.length-1)*3600)}return n}var r=n;return r.registerValidators=function(n,t,i,u){function f(n){angular.forEach(n.$ngfValidations,function(t){n.$setValidity(t.name,t.valid)})}n&&(n.$ngfValidations=[],n.$formatters.push(function(e){return r.attrGetter("ngfValidateLater",i,u)||!n.$$ngfValidated?(r.validate(e,n,i,u,!1,function(){f(n);n.$$ngfValidated=!1}),e&&e.length===0&&(e=null),t&&(e==null||e.length===0)&&t.val()&&t.val(null)):(f(n),n.$$ngfValidated=!1),e}))},r.validatePattern=function(n,t){if(!t)return!0;var i=new RegExp(f(t),"gi");return n.type!=null&&i.test(n.type.toLowerCase())||n.name!=null&&i.test(n.name.toLowerCase())},r.validate=function(n,t,i,f,e,o){function l(i,r,u){var o,e;if(n){for(var c="ngf"+i[0].toUpperCase()+i.substr(1),s=n.length,f=null;s--;)o=n[s],e=h(c,{$file:o}),e==null&&(e=r(h("ngfValidate")||{}),f=f==null?!0:f),e!=null&&(u(o,e)||(o.$error=i,o.$errorParam=e,n.splice(s,1),f=!1));f!==null&&t.$ngfValidations.push({name:i,valid:f})}}function s(i,r,u,f,e){if(n){var s=0,l=!1,a="ngf"+i[0].toUpperCase()+i.substr(1);n=n.length===undefined?[n]:n;angular.forEach(n,function(n){if(n.type.search(u)!==0)return!0;var v=h(a,{$file:n})||r(h("ngfValidate",{$file:n})||{});v&&(c++,s++,f(n,v).then(function(t){e(t,v)||(n.$error=i,n.$errorParam=v,l=!0)},function(){h("ngfValidateForce",{$file:n})&&(n.$error=i,n.$errorParam=v,l=!0)})["finally"](function(){c--;s--;s||t.$ngfValidations.push({name:i,valid:!l});c||o.call(t,t.$ngfValidations)}))})}}var h,c;if(t=t||{},t.$ngfValidations=t.$ngfValidations||[],angular.forEach(t.$ngfValidations,function(n){n.valid=!0}),h=function(n,t){return r.attrGetter(n,i,f,t)},e){o.call(t);return}if(t.$$ngfValidated=!0,n==null||n.length===0){o.call(t);return}if(n=n.length===undefined?[n]:n.slice(0),l("pattern",function(n){return n.pattern},r.validatePattern),l("minSize",function(n){return n.size&&n.size.min},function(n,t){return n.size>=u(t)}),l("maxSize",function(n){return n.size&&n.size.max},function(n,t){return n.size<=u(t)}),l("validateFn",function(){return null},function(n,t){return t===!0||t===null||t===""}),!n.length){o.call(t,t.$ngfValidations);return}c=0;s("maxHeight",function(n){return n.height&&n.height.max},/image/,this.imageDimensions,function(n,t){return n.height<=t});s("minHeight",function(n){return n.height&&n.height.min},/image/,this.imageDimensions,function(n,t){return n.height>=t});s("maxWidth",function(n){return n.width&&n.width.max},/image/,this.imageDimensions,function(n,t){return n.width<=t});s("minWidth",function(n){return n.width&&n.width.min},/image/,this.imageDimensions,function(n,t){return n.width>=t});s("ratio",function(n){return n.ratio},/image/,this.imageDimensions,function(n,t){for(var i,r,f=t.toString().split(","),e=!1,u=0;u<f.length;u++)i=f[u],r=i.search(/x/i),i=r>-1?parseFloat(i.substring(0,r))/parseFloat(i.substring(r+1)):parseFloat(i),Math.abs(n.width/n.height-i)<.0001&&(e=!0);return e});s("maxDuration",function(n){return n.duration&&n.duration.max},/audio|video/,this.mediaDuration,function(n,t){return n<=u(t)});s("minDuration",function(n){return n.duration&&n.duration.min},/audio|video/,this.mediaDuration,function(n,t){return n>=u(t)});s("validateAsyncFn",function(){return null},/./,function(n,t){return t},function(n){return n===!0||n===null||n===""});c||o.call(t,t.$ngfValidations)},r.imageDimensions=function(n){var f,u;return n.width&&n.height?(f=t.defer(),i(function(){f.resolve({width:n.width,height:n.height})}),f.promise):n.$ngfDimensionPromise?n.$ngfDimensionPromise:(u=t.defer(),i(function(){if(n.type.indexOf("image")!==0){u.reject("not image");return}r.dataUrl(n).then(function(t){function f(){var t=r[0].clientWidth,i=r[0].clientHeight;r.remove();n.width=t;n.height=i;u.resolve({width:t,height:i})}function e(){r.remove();u.reject("load error")}function s(){i(function(){r[0].parentNode&&(r[0].clientWidth?f():o>10?e():s())},1e3)}var r=angular.element("<img>").attr("src",t).css("visibility","hidden").css("position","fixed"),o;r.on("load",f);r.on("error",e);o=0;s();angular.element(document.getElementsByTagName("body")[0]).append(r)},function(){u.reject("load error")})}),n.$ngfDimensionPromise=u.promise,n.$ngfDimensionPromise["finally"](function(){delete n.$ngfDimensionPromise}),n.$ngfDimensionPromise)},r.mediaDuration=function(n){var f,u;return n.duration?(f=t.defer(),i(function(){f.resolve(n.duration)}),f.promise):n.$ngfDurationPromise?n.$ngfDurationPromise:(u=t.defer(),i(function(){if(n.type.indexOf("audio")!==0&&n.type.indexOf("video")!==0){u.reject("not media");return}r.dataUrl(n).then(function(t){function f(){var t=r[0].duration;n.duration=t;r.remove();u.resolve(t)}function e(){r.remove();u.reject("load error")}function s(){i(function(){r[0].parentNode&&(r[0].duration?f():o>10?e():s())},1e3)}var r=angular.element(n.type.indexOf("audio")===0?"<audio>":"<video>").attr("src",t).css("visibility","none").css("position","fixed"),o;r.on("loadedmetadata",f);r.on("error",e);o=0;s();angular.element(document.body).append(r)},function(){u.reject("load error")})}),n.$ngfDurationPromise=u.promise,n.$ngfDurationPromise["finally"](function(){delete n.$ngfDurationPromise}),n.$ngfDurationPromise)},r}]);ngFileUpload.service("UploadResize",["UploadValidate","$q","$timeout",function(n,t,i){var r=n,u=function(n,t,i,r){var u=Math.min(i/n,r/t);return{width:n*u,height:t*u}},f=function(n,i,r,f,e){var s=t.defer(),h=document.createElement("canvas"),o=document.createElement("img");return o.onload=function(){var n,t;try{n=u(o.width,o.height,i,r);h.width=n.width;h.height=n.height;t=h.getContext("2d");t.drawImage(o,0,0,n.width,n.height);s.resolve(h.toDataURL(e||"image/WebP",f||1))}catch(c){s.reject(c)}},o.onerror=function(){s.reject()},o.src=n,s.promise},e=function(n){for(var i=n.split(","),f=i[0].match(/:(.*?);/)[1],r=atob(i[1]),t=r.length,u=new Uint8Array(t);t--;)u[t]=r.charCodeAt(t);return new Blob([u],{type:f})};return r.resize=function(n,u,o,s){var h=t.defer();return n.type.indexOf("image")!==0?(i(function(){h.resolve("Only images are allowed for resizing!")}),h.promise):(r.dataUrl(n,!0).then(function(t){f(t,u,o,s,n.type).then(function(t){var i=e(t);i.name=n.name;h.resolve(i)},function(){h.reject()})},function(){h.reject()}),h.promise)},r}]),function(){function t(t,i,r,u,f,e,o,s){function l(){return i.attr("disabled")||h("ngfDropDisabled",t)}function w(n,t,i,r){var u=h("ngfDragOverClass",n,{$event:i}),o=h("ngfDragOverClass")||"dragover",f,c,e;if(angular.isString(u)){r(u);return}if(u&&(u.delay&&(p=u.delay),(u.accept||u.reject)&&(f=i.dataTransfer.items,f!=null)))for(c=h("ngfPattern",n,{$event:i}),e=0;e<f.length;e++)if(f[e].kind==="file"||f[e].kind==="")if(s.validatePattern(f[e],c))o=u.accept;else{o=u.reject;break}r(o)}function b(n,t,i,r){function y(n,t,i){var f,e,r,u;t!=null&&(t.isDirectory?(f=(i||"")+t.name,n.push({name:t.name,type:"directory",path:f}),e=t.createReader(),r=[],s++,u=function(){e.readEntries(function(f){try{if(f.length)r=r.concat(Array.prototype.slice.call(f||[],0)),u();else{for(var e=0;e<r.length;e++)y(n,r[e],(i?i:"")+t.name+"/");s--}}catch(o){s--;console.error(o)}},function(){s--})},u()):(s++,t.file(function(t){try{s--;t.path=(i?i:"")+t.name;n.push(t)}catch(r){s--;console.error(r)}},function(){s--})))}var f=[],s=0,h=n.dataTransfer.items,u,c,v,l,a,p;if(h&&h.length>0&&o.protocol()!=="file")for(u=0;u<h.length;u++){if(h[u].webkitGetAsEntry&&h[u].webkitGetAsEntry()&&h[u].webkitGetAsEntry().isDirectory){if(c=h[u].webkitGetAsEntry(),c.isDirectory&&!i)continue;c!=null&&y(f,c)}else v=h[u].getAsFile(),v!=null&&f.push(v);if(!r&&f.length>0)break}else if(l=n.dataTransfer.files,l!=null)for(a=0;a<l.length;a++)if(f.push(l.item(a)),!r&&f.length>0)break;p=0,function w(n){e(function(){if(s)p++*10<2e4&&w(10);else{if(!r&&f.length>1){for(u=0;f[u].type==="directory";)u++;f=[f[u]]}t(f)}},n||0)}()}var a=n(),h=function(n,t,i){return s.attrGetter(n,r,t,i)};if(h("dropAvailable")&&e(function(){t[h("dropAvailable")]?t[h("dropAvailable")].value=a:t[h("dropAvailable")]=a}),!a){h("ngfHideOnDropNotAvailable",t)===!0&&i.css("display","none");return}s.registerValidators(u,null,r,t);var y=null,v=f(h("ngfStopPropagation")),p=1,c;i[0].addEventListener("dragover",function(n){if(!l()){if(n.preventDefault(),v(t)&&n.stopPropagation(),navigator.userAgent.indexOf("Chrome")>-1){var u=n.dataTransfer.effectAllowed;n.dataTransfer.dropEffect="move"===u||"linkMove"===u?"move":"copy"}e.cancel(y);c||(c="C",w(t,r,n,function(n){c=n;i.addClass(c)}))}},!1);i[0].addEventListener("dragenter",function(n){l()||(n.preventDefault(),v(t)&&n.stopPropagation())},!1);i[0].addEventListener("dragleave",function(){l()||(y=e(function(){i.removeClass(c);c=null},p||1))},!1);i[0].addEventListener("drop",function(n){l()||(n.preventDefault(),v(t)&&n.stopPropagation(),i.removeClass(c),c=null,b(n,function(i){s.updateModel(u,r,t,h("ngfChange")||h("ngfDrop"),i,n)},h("ngfAllowDir",t)!==!1,h("multiple")||h("ngfMultiple",t)))},!1);i[0].addEventListener("paste",function(n){var e,i,f;if(!l()&&(e=[],i=n.clipboardData||n.originalEvent.clipboardData,i&&i.items)){for(f=0;f<i.items.length;f++)i.items[f].type.indexOf("image")!==-1&&e.push(i.items[f].getAsFile());s.updateModel(u,r,t,h("ngfChange")||h("ngfDrop"),e,n)}},!1)}function n(){var n=document.createElement("div");return"draggable"in n&&"ondrop"in n&&!/Edge\/12./i.test(navigator.userAgent)}ngFileUpload.directive("ngfDrop",["$parse","$timeout","$location","Upload",function(n,i,r,u){return{restrict:"AEC",require:"?ngModel",link:function(f,e,o,s){t(f,e,o,s,n,i,r,u)}}}]);ngFileUpload.directive("ngfNoFileDrop",function(){return function(t,i){n()&&i.css("display","none")}});ngFileUpload.directive("ngfDropAvailable",["$parse","$timeout","Upload",function(t,i,r){return function(u,f,e){if(n()){var o=t(r.attrGetter("ngfDropAvailable",e));i(function(){o(u);o.assign&&o.assign(u,!0)})}}}])}(),function(){"use strict";var n=angular.module("drahak.hotkeys",[]);n.directive("hotkey",["$parse","$hotkey","HotKeysElement",function(n,t,i){return{restrict:"AE",link:function(r,u,f){var e=r.$eval(f.hotkey||f.bind),o,s,h;angular.isUndefined(e)&&(o=n(f.invoke),e={},e[f.hotkey||f.bind]=function(n){o(r,{$event:n})});s=u[0].nodeName.toLowerCase()!=="hotkey";h=s?i(u):t;angular.forEach(e,function(n,t){h.bind(t,n)})}}}]);n.factory("HotKeysElement",["$window","HotKeys",function(n,t){return function(i){var r=[],u=angular.element(i),o=angular.element(n),e=u.scope(),f=t();return e&&(e.$hotKeys=f),o.bind("blur",function(){r=[]}),u.bind("keydown",function(n){r.indexOf(n.keyCode)===-1&&r.push(n.keyCode);f.trigger(r,[n])}),u.bind("keyup",function(n){r.splice(r.indexOf(n.keyCode),1)}),f}}]);n.factory("HotKeys",["ParseKey","$rootScope",function(n,t){var i=function(){this._hotKeys={}};return i.prototype._getHotKeyIndex=function(t){var i;if(angular.isString(t))i=n(t);else if(angular.isArray(t))i=t;else throw new Error("HotKey expects hot key to be string expression or key codes array, "+typeof t+" given.");return i.sort().join("+")},i.prototype.bind=function(n,t){return n=this._getHotKeyIndex(n),this._hotKeys[n]||(this._hotKeys[n]=[]),this._hotKeys[n].push(t),this},i.prototype.unbind=function(n){return n=this._getHotKeyIndex(n),this._hotKeys[n]=[],this},i.prototype.trigger=function(n,i){i=i||[];n=this._getHotKeyIndex(n);angular.forEach(this._hotKeys[n],function(n){n.apply(n,i)});t.$$phase||t.$apply()},function(){return new i}}]);n.factory("$hotkey",["$window","HotKeysElement",function(n,t){return t(n)}]);n.service("ParseKey",function(){var n={backspace:8,"return":8,tab:9,tabulator:9,enter:13,shift:16,ctrl:17,control:17,alt:18,esc:27,escape:27,left:37,up:38,right:39,down:40,insert:45,del:46,"delete":46};return function(t){var i=[],r=t.split("+");return angular.forEach(r,function(t){if(t=t.trim().toLowerCase(),n[t])i.push(n[t]);else if(t.length===1)i.push(t.toUpperCase().charCodeAt(0));else throw new Error('ParseKey expects one character or special expression like "Tab" or "Control", "'+t+'" given');}),i}})}(),function(n,t,i){"use strict";function f(n){return n!=null&&n!==""&&n!=="hasOwnProperty"&&u.test("."+n)}function e(n,t){var e,u,o,s;if(!f(t))throw r("badmember",'Dotted member path "@{0}" is invalid.',t);for(e=t.split("."),u=0,o=e.length;u<o&&n!==i;u++)s=e[u],n=n!==null?n[s]:i;return n}var r=t.$$minErr("$resource"),u=/^(\.[a-zA-Z_$][0-9a-zA-Z_$]*)+$/;t.module("ngResource",["ng"]).factory("$resource",["$http","$q",function(n,u){function y(n){return p(n,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function p(n,t){return encodeURIComponent(n).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,t?"%20":"+")}function l(n,t){this.template=n;this.defaults=t||{};this.urlParams={}}function a(y,p,w){function d(n,t){var i={};return t=s({},p,t),f(t,function(t,r){o(t)&&(t=t());i[r]=t&&t.charAt&&t.charAt(0)=="@"?e(n,t.substr(1)):t}),i}function g(n){return n.resource}function b(n){h(n||{},this)}var k=new l(y);return w=s({},v,w),f(w,function(e,l){var a=/^(POST|PUT|PATCH)$/i.test(e.method);b[l]=function(l,v,y,p){var ft={},nt,tt,rt,it;switch(arguments.length){case 4:rt=p;tt=y;case 3:case 2:if(o(v)){if(o(l)){tt=l;rt=v;break}tt=v;rt=y}else{ft=l;nt=v;tt=y;break}case 1:o(l)?tt=l:a?nt=l:ft=l;break;case 0:break;default:throw r("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length);}var et=this instanceof b,w=et?nt:e.isArray?[]:new b(nt),ut={},ot=e.interceptor&&e.interceptor.response||g,st=e.interceptor&&e.interceptor.responseError||i;return(f(e,function(n,t){t!="params"&&t!="isArray"&&t!="interceptor"&&(ut[t]=h(n))}),a&&(ut.data=nt),k.setUrlParams(ut,s({},d(nt,e.params||{}),ft),e.url),it=n(ut).then(function(n){var i=n.data,u=w.$promise;if(i){if(t.isArray(i)!==!!e.isArray)throw r("badcfg","Error in resource configuration. Expected response to contain an {0} but got an {1}",e.isArray?"array":"object",t.isArray(i)?"array":"object");e.isArray?(w.length=0,f(i,function(n){w.push(new b(n))})):(h(i,w),w.$promise=u)}return w.$resolved=!0,n.resource=w,n},function(n){return w.$resolved=!0,(rt||c)(n),u.reject(n)}),it=it.then(function(n){var t=ot(n);return(tt||c)(t,n.headers),t},st),!et)?(w.$promise=it,w.$resolved=!1,w):it};b.prototype["$"+l]=function(n,t,i){o(n)&&(i=t,t=n,n={});var r=b[l].call(this,n,this,t,i);return r.$promise||r}}),b.bind=function(n){return a(y,s({},p,n),w)},b}var v={get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}},c=t.noop,f=t.forEach,s=t.extend,h=t.copy,o=t.isFunction;return l.prototype={setUrlParams:function(n,i,u){var o=this,e=u||o.template,s,h,c=o.urlParams={};f(e.split(/\W/),function(n){if(n==="hasOwnProperty")throw r("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(n)&&n&&new RegExp("(^|[^\\\\]):"+n+"(\\W|$)").test(e)&&(c[n]=!0)});e=e.replace(/\\:/g,":");i=i||{};f(o.urlParams,function(n,r){s=i.hasOwnProperty(r)?i[r]:o.defaults[r];t.isDefined(s)&&s!==null?(h=y(s),e=e.replace(new RegExp(":"+r+"(\\W|$)","g"),h+"$1")):e=e.replace(new RegExp("(/?):"+r+"(\\W|$)","g"),function(n,t,i){return i.charAt(0)=="/"?i:t+i})});e=e.replace(/\/+$/,"");e=e.replace(/\/\.(?=\w+($|\?))/,".");n.url=e.replace(/\/\\\./,"/.");f(i,function(t,i){o.urlParams[i]||(n.params=n.params||{},n.params[i]=t)})}},a}])}(window,window.angular),function(n,t){"use strict";function i(n){for(var i={},r=n.split(","),t=0;t<r.length;t++)i[r[t]]=!0;return i}function st(n,i){function g(n,f,e,o){if(f=t.lowercase(f),a[f])while(r.last()&&v[r.last()])w("",r.last());l[f]&&r.last()==f&&w("",f);o=s[f]||!!o;o||r.push(f);var h={};e.replace(nt,function(n,t,i,r,f){var e=i||r||f||"";h[t]=u(e)});i.start&&i.start(f,h,o)}function w(n,u){var f=0,e;if(u=t.lowercase(u),u)for(f=r.length-1;f>=0;f--)if(r[f]==u)break;if(f>=0){for(e=r.length-1;e>=f;e--)i.end&&i.end(r[e]);r.length=f}}var h,p,c,r=[],b=n,k;for(r.last=function(){return r[r.length-1]};n;){if(p=!0,r.last()&&y[r.last()]?(n=n.replace(new RegExp("(.*)<\\s*\\/\\s*"+r.last()+"[^>]*>","i"),function(n,t){return t=t.replace(rt,"$1").replace(ut,"$1"),i.chars&&i.chars(u(t)),""}),w("",r.last())):(n.indexOf("<!--")===0?(h=n.indexOf("--",4),h>=0&&n.lastIndexOf("-->",h)===h&&(i.comment&&i.comment(n.substring(4,h)),n=n.substring(h+3),p=!1)):o.test(n)?(c=n.match(o),c&&(n=n.replace(c[0],""),p=!1)):it.test(n)?(c=n.match(e),c&&(n=n.substring(c[0].length),c[0].replace(e,w),p=!1)):tt.test(n)&&(c=n.match(f),c&&(n=n.substring(c[0].length),c[0].replace(f,g),p=!1)),p&&(h=n.indexOf("<"),k=h<0?n:n.substring(0,h),n=h<0?"":n.substring(h),i.chars&&i.chars(u(k)))),n==b)throw d("badparse","The sanitizer was unable to parse the following block of html: {0}",n);b=n}w()}function u(n){return r.innerHTML=n.replace(/</g,"&lt;"),r.innerText||r.textContent||""}function b(n){return n.replace(/&/g,"&amp;").replace(et,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function k(n){var r=!1,i=t.bind(n,n.push);return{start:function(n,u,f){n=t.lowercase(n);!r&&y[n]&&(r=n);r||p[n]!==!0||(i("<"),i(n),t.forEach(u,function(n,r){var u=t.lowercase(r);ot[u]===!0&&(w[u]!==!0||n.match(ft))&&(i(" "),i(r),i('="'),i(b(n)),i('"'))}),i(f?"/>":">"))},end:function(n){n=t.lowercase(n);r||p[n]!==!0||(i("<\/"),i(n),i(">"));n==r&&(r=!1)},chars:function(n){r||i(b(n))}}}var d=t.$$minErr("$sanitize"),g=function(n){var t=[];return st(n,k(t)),t.join("")},f=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,e=/^<\s*\/\s*([\w:-]+)[^>]*>/,nt=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,tt=/^</,it=/^<\s*\//,rt=/<!--(.*?)-->/g,o=/<!DOCTYPE([^>]*?)>/i,ut=/<!\[CDATA\[(.*?)]]>/g,ft=/^((ftp|https?):\/\/|mailto:|tel:|#)/i,et=/([^\#-~| |!])/g,s=i("area,br,col,hr,img,wbr"),h=i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),c=i("rp,rt"),l=t.extend({},c,h),a=t.extend({},h,i("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),v=t.extend({},c,i("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),y=i("script,style"),p=t.extend({},s,a,v,l),w=i("background,cite,href,longdesc,src,usemap"),ot=t.extend({},w,i("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,span,start,summary,target,title,type,valign,value,vspace,width")),r=document.createElement("pre");t.module("ngSanitize",[]).value("$sanitize",g);t.module("ngSanitize").filter("linky",function(){var n=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>]/,i=/^mailto:/;return function(r,u){if(!r)return r;var f,e=r,l=[],o=k(l),s,h,c={};for(t.isDefined(u)&&(c.target=u);f=e.match(n);)s=f[0],f[2]==f[3]&&(s="mailto:"+s),h=f.index,o.chars(e.substr(0,h)),c.href=s,o.start("a",c),o.chars(f[0].replace(i,"")),o.end("a"),e=e.substring(h+f[0].length);return o.chars(e),l.join("")}})}(window,window.angular);duScrollDefaultEasing=function(n){"use strict";return n<.5?Math.pow(n*2,2)/2:1-Math.pow((1-n)*2,2)/2};duScroll=angular.module("duScroll",["duScroll.scrollspy","duScroll.smoothScroll","duScroll.scrollContainer","duScroll.spyContext","duScroll.scrollHelpers"]).value("duScrollDuration",350).value("duScrollSpyWait",100).value("duScrollGreedy",!1).value("duScrollOffset",0).value("duScrollEasing",duScrollDefaultEasing).value("duScrollCancelOnEvents","scroll mousedown mousewheel touchmove keydown").value("duScrollBottomSpy",!1).value("duScrollActiveClass","active");typeof module!="undefined"&&module&&module.exports&&(module.exports=duScroll);angular.module("duScroll.scrollHelpers",["duScroll.requestAnimation"]).run(["$window","$q","cancelAnimation","requestAnimation","duScrollEasing","duScrollDuration","duScrollOffset","duScrollCancelOnEvents",function(n,t,i,r,u,f,e,o){"use strict";var s={},a=function(n){return typeof HTMLDocument!="undefined"&&n instanceof HTMLDocument||n.nodeType&&n.nodeType===n.DOCUMENT_NODE},v=function(n){return typeof HTMLElement!="undefined"&&n instanceof HTMLElement||n.nodeType&&n.nodeType===n.ELEMENT_NODE},l=function(n){return v(n)||a(n)?n:n[0]},h,c;s.duScrollTo=function(t,i,r){var u,f;if(angular.isElement(t)?u=this.duScrollToElement:angular.isDefined(r)&&(u=this.duScrollToAnimated),u)return u.apply(this,arguments);if(f=l(this),a(f))return n.scrollTo(t,i);f.scrollLeft=t;f.scrollTop=i};s.duScrollToAnimated=function(n,f,e,s){var b;e&&!s&&(s=u);var y=this.duScrollLeft(),p=this.duScrollTop(),k=Math.round(n-y),d=Math.round(f-p),w=null,a=0,l=this,v=function(n){(!n||a&&n.which>0)&&(o&&l.unbind(o,v),i(h),c.reject(),h=null)};return(h&&v(),c=t.defer(),e===0||!k&&!d)?(e===0&&l.duScrollTo(n,f),c.resolve(),c.promise):(b=function(n){w===null&&(w=n);a=n-w;var t=a>=e?1:s(a/e);l.scrollTo(y+Math.ceil(k*t),p+Math.ceil(d*t));t<1?h=r(b):(o&&l.unbind(o,v),h=null,c.resolve())},l.duScrollTo(y,p),o&&l.bind(o,v),h=r(b),c.promise)};s.duScrollToElement=function(n,t,i,r){var f=l(this),u;return(!angular.isNumber(t)||isNaN(t))&&(t=e),u=this.duScrollTop()+l(n).getBoundingClientRect().top-t,v(f)&&(u-=f.getBoundingClientRect().top),this.duScrollTo(0,u,i,r)};s.duScrollLeft=function(t,i,r){if(angular.isNumber(t))return this.duScrollTo(t,this.duScrollTop(),i,r);var u=l(this);return a(u)?n.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft:u.scrollLeft};s.duScrollTop=function(t,i,r){if(angular.isNumber(t))return this.duScrollTo(this.duScrollLeft(),t,i,r);var u=l(this);return a(u)?n.scrollY||document.documentElement.scrollTop||document.body.scrollTop:u.scrollTop};s.duScrollToElementAnimated=function(n,t,i,r){return this.duScrollToElement(n,t,i||f,r)};s.duScrollTopAnimated=function(n,t,i){return this.duScrollTop(n,t||f,i)};s.duScrollLeftAnimated=function(n,t,i){return this.duScrollLeft(n,t||f,i)};angular.forEach(s,function(n,t){angular.element.prototype[t]=n;var i=t.replace(/^duScroll/,"scroll");angular.isUndefined(angular.element.prototype[i])&&(angular.element.prototype[i]=n)})}]);angular.module("duScroll.polyfill",[]).factory("polyfill",["$window",function(n){"use strict";var t=["webkit","moz","o","ms"];return function(i,r){var e,f,u;if(n[i])return n[i];for(e=i.substr(0,1).toUpperCase()+i.substr(1),u=0;u<t.length;u++)if(f=t[u]+e,n[f])return n[f];return r}}]);angular.module("duScroll.requestAnimation",["duScroll.polyfill"]).factory("requestAnimation",["polyfill","$timeout",function(n,t){"use strict";var i=0,r=function(n){var r=(new Date).getTime(),u=Math.max(0,16-(r-i)),f=t(function(){n(r+u)},u);return i=r+u,f};return n("requestAnimationFrame",r)}]).factory("cancelAnimation",["polyfill","$timeout",function(n,t){"use strict";var i=function(n){t.cancel(n)};return n("cancelAnimationFrame",i)}]);angular.module("duScroll.spyAPI",["duScroll.scrollContainerAPI"]).factory("spyAPI",["$rootScope","$timeout","$window","$document","scrollContainerAPI","duScrollGreedy","duScrollSpyWait","duScrollBottomSpy","duScrollActiveClass",function(n,t,i,r,u,f,e,o,s){"use strict";var y=function(u){var h=!1,c=!1,l=function(){var k,a,y,l,t,b,p,h;c=!1;var d=u.container,e=d[0],w=0,v;for(typeof HTMLElement!="undefined"&&e instanceof HTMLElement||e.nodeType&&e.nodeType===e.ELEMENT_NODE?(w=e.getBoundingClientRect().top,v=Math.round(e.scrollTop+e.clientHeight)>=e.scrollHeight):(k=r[0].body.scrollHeight||r[0].documentElement.scrollHeight,v=Math.round(i.pageYOffset+i.innerHeight)>=k),a=o&&v?"bottom":"top",b=u.spies,l=u.currentlyActive,t=undefined,y=0;y<b.length;y++)(p=b[y],h=p.getTargetPosition(),h)&&(o&&v||h.top+p.offset-w<20&&(f||h.top*-1+w)<h.height)&&(!t||t[a]<h[a])&&(t={spy:p},t[a]=h[a]);(t&&(t=t.spy),l!==t&&(!f||t))&&(l&&(l.$element.removeClass(s),n.$broadcast("duScrollspy:becameInactive",l.$element,angular.element(l.getTargetElement()))),t&&(t.$element.addClass(s),n.$broadcast("duScrollspy:becameActive",t.$element,angular.element(t.getTargetElement()))),u.currentlyActive=t)};return e?function(){h?c=!0:(l(),h=t(function(){h=!1;c&&l()},e,!1))}:l},h={},l=function(n){var i=n.$id,t={spies:[]};return t.handler=y(t),h[i]=t,n.$on("$destroy",function(){a(n)}),i},a=function(n){var t=n.$id,i=h[t],r=i.container;r&&r.off("scroll",i.handler);delete h[t]},p=l(n),c=function(n){return h[n.$id]?h[n.$id]:n.$parent?c(n.$parent):h[p]},v=function(n){var t,i,r=n.$scope;if(r)return c(r);for(i in h)if(t=h[i],t.spies.indexOf(n)!==-1)return t},w=function(n){while(n.parentNode)if(n=n.parentNode,n===document)return!0;return!1},b=function(n){var t=v(n);t&&(t.spies.push(n),t.container&&w(t.container)||(t.container&&t.container.off("scroll",t.handler),t.container=u.getContainer(n.$scope),t.container.on("scroll",t.handler).triggerHandler("scroll")))},k=function(t){var i=v(t),r;t===i.currentlyActive&&(n.$broadcast("duScrollspy:becameInactive",i.currentlyActive.$element),i.currentlyActive=null);r=i.spies.indexOf(t);r!==-1&&i.spies.splice(r,1);t.$element=null};return{addSpy:b,removeSpy:k,createContext:l,destroyContext:a,getContextForScope:c}}]);angular.module("duScroll.scrollContainerAPI",[]).factory("scrollContainerAPI",["$document",function(n){"use strict";var t={},r=function(n,i){var r=n.$id;return t[r]=i,r},i=function(n){return t[n.$id]?n.$id:n.$parent?i(n.$parent):void 0},u=function(r){var u=i(r);return u?t[u]:n},f=function(n){var r=i(n);r&&delete t[r]};return{getContainerId:i,getContainer:u,setContainer:r,removeContainer:f}}]);angular.module("duScroll.smoothScroll",["duScroll.scrollHelpers","duScroll.scrollContainerAPI"]).directive("duSmoothScroll",["duScrollDuration","duScrollOffset","scrollContainerAPI",function(n,t,i){"use strict";return{link:function(r,u,f){u.on("click",function(u){var o,e;if((f.href&&f.href.indexOf("#")!==-1||f.duSmoothScroll!=="")&&(o=f.href?f.href.replace(/.*(?=#[^\s]+$)/,"").substring(1):f.duSmoothScroll,e=document.getElementById(o)||document.getElementsByName(o)[0],e&&e.getBoundingClientRect)){u.stopPropagation&&u.stopPropagation();u.preventDefault&&u.preventDefault();var s=f.offset?parseInt(f.offset,10):t,h=f.duration?parseInt(f.duration,10):n,c=i.getContainer(r);c.duScrollToElement(angular.element(e),isNaN(s)?0:s,isNaN(h)?0:h)}})}}}]);angular.module("duScroll.spyContext",["duScroll.spyAPI"]).directive("duSpyContext",["spyAPI",function(n){"use strict";return{restrict:"A",scope:!0,compile:function(){return{pre:function(t){n.createContext(t)}}}}}]);angular.module("duScroll.scrollContainer",["duScroll.scrollContainerAPI"]).directive("duScrollContainer",["scrollContainerAPI",function(n){"use strict";return{restrict:"A",scope:!0,compile:function(){return{pre:function(t,i,r){r.$observe("duScrollContainer",function(r){angular.isString(r)&&(r=document.getElementById(r));r=angular.isElement(r)?angular.element(r):i;n.setContainer(t,r);t.$on("$destroy",function(){n.removeContainer(t)})})}}}}}]);angular.module("duScroll.scrollspy",["duScroll.spyAPI"]).directive("duScrollspy",["spyAPI","duScrollOffset","$timeout","$rootScope",function(n,t,i,r){"use strict";var u=function(n,t,i,r){angular.isElement(n)?this.target=n:angular.isString(n)&&(this.targetId=n);this.$scope=t;this.$element=i;this.offset=r};return u.prototype.getTargetElement=function(){return!this.target&&this.targetId&&(this.target=document.getElementById(this.targetId)||document.getElementsByName(this.targetId)[0]),this.target},u.prototype.getTargetPosition=function(){var n=this.getTargetElement();if(n)return n.getBoundingClientRect()},u.prototype.flushTargetCache=function(){this.targetId&&(this.target=undefined)},{link:function(f,e,o){var h=o.ngHref||o.href,s,c;(h&&h.indexOf("#")!==-1?s=h.replace(/.*(?=#[^\s]+$)/,"").substring(1):o.duScrollspy?s=o.duScrollspy:o.duSmoothScroll&&(s=o.duSmoothScroll),s)&&(c=i(function(){var i=new u(s,f,e,-(o.offset?parseInt(o.offset,10):t)),h;n.addSpy(i);f.$on("$locationChangeSuccess",i.flushTargetCache.bind(i));h=r.$on("$stateChangeSuccess",i.flushTargetCache.bind(i));f.$on("$destroy",function(){n.removeSpy(i);h()})},0,!1),f.$on("$destroy",function(){i.cancel(c)}))}}}]),function(n,t){"use strict";if(typeof define=="function"&&define.amd)define(["angular"],function(n){return t(n)});else return t(n)}(angular||null,function(n){"use strict";var t=n.module("ngTable",[]),i;return t.factory("ngTableParams",["$q","$log",function(t,i){var r=function(n){return!isNaN(parseFloat(n))&&isFinite(n)};return function(u,f){var h=this,s=function(){e.debugMode&&i.debug&&i.debug.apply(this,arguments)},o,e;return this.data=[],this.parameters=function(t,i){var u,e,l,f,h,v,a,c;if(i=i||!1,n.isDefined(t)){for(u in t)if(e=t[u],i&&u.indexOf("[")>=0){for(l=u.split(/\[(.*)\]/).reverse(),f="",h=0,v=l.length;h<v;h++)a=l[h],a!==""&&(c=e,e={},e[f=a]=r(c)?parseFloat(c):c);f==="sorting"&&(o[f]={});o[f]=n.extend(o[f]||{},e[f])}else o[u]=r(t[u])?parseFloat(t[u]):t[u];return s("ngTable: set parameters",o),this}return o},this.settings=function(t){return n.isDefined(t)?(n.isArray(t.data)&&(t.total=t.data.length),e=n.extend(e,t),s("ngTable: set settings",e),this):e},this.page=function(t){return n.isDefined(t)?this.parameters({page:t}):o.page},this.total=function(t){return n.isDefined(t)?this.settings({total:t}):e.total},this.count=function(t){return n.isDefined(t)?this.parameters({count:t,page:1}):o.count},this.filter=function(t){return n.isDefined(t)?this.parameters({filter:t}):o.filter},this.sorting=function(t){if(arguments.length==2){var i={};return i[t]=arguments[1],this.parameters({sorting:i}),this}return n.isDefined(t)?this.parameters({sorting:t}):o.sorting},this.isSortBy=function(t,i){return n.isDefined(o.sorting[t])&&o.sorting[t]==i},this.orderBy=function(){var n=[];for(var t in o.sorting)n.push((o.sorting[t]==="asc"?"+":"-")+t);return n},this.getData=function(t,i){n.isArray(this.data)&&n.isObject(i)?t.resolve(this.data.slice((i.page()-1)*i.count(),i.page()*i.count())):t.resolve([])},this.getGroups=function(i,r){var u=t.defer();u.promise.then(function(t){var u={},f,e;n.forEach(t,function(t){var i=n.isFunction(r)?r(t):t[r];u[i]=u[i]||{data:[]};u[i].value=i;u[i].data.push(t)});f=[];for(e in u)f.push(u[e]);s("ngTable: refresh groups",f);i.resolve(f)});this.getData(u,h)},this.generatePagesArray=function(n,t,i){var h,o,s,e,u,f,r;if(h=11,f=[],u=Math.ceil(t/i),u>1){for(f.push({type:"prev",number:Math.max(1,n-1),active:n>1}),f.push({type:"first",number:1,active:n>1}),s=Math.round((h-5)/2),e=Math.max(2,n-s),o=Math.min(u-1,n+s*2-(n-e)),e=Math.max(2,e-(s*2-(o-e))),r=e;r<=o;)r===e&&r!==2||r===o&&r!==u-1?f.push({type:"more",active:!1}):f.push({type:"page",number:r,active:n!==r}),r++;f.push({type:"last",number:u,active:n!==u});f.push({type:"next",number:Math.min(u,n+1),active:n<u})}return f},this.url=function(t){var r,f,i,e,u,s;t=t||!1;r=t?[]:{};for(f in o)if(o.hasOwnProperty(f))if(i=o[f],e=encodeURIComponent(f),typeof i=="object")for(u in i)n.isUndefined(i[u])||i[u]===""||(s=e+"["+encodeURIComponent(u)+"]",t?r.push(s+"="+i[u]):r[s]=i[u]);else n.isFunction(i)||n.isUndefined(i)||i===""||(t?r.push(e+"="+encodeURIComponent(i)):r[e]=encodeURIComponent(i));return r},this.reload=function(){var i=t.defer(),n=this;e.$loading=!0;e.groupBy?e.getGroups(i,e.groupBy,this):e.getData(i,this);s("ngTable: reload data");i.promise.then(function(t){e.$loading=!1;s("ngTable: current scope",e.$scope);n.data=e.groupBy?e.$scope.$groups=t:e.$scope.$data=t;e.$scope.pages=n.generatePagesArray(n.page(),n.total(),n.count())})},this.reloadPages=function(){var n=this;e.$scope.pages=n.generatePagesArray(n.page(),n.total(),n.count())},o=this.$params={page:1,count:1,filter:{},sorting:{},group:{},groupBy:null},e={$scope:null,$loading:!1,data:null,total:0,defaultSort:"desc",filterDelay:750,counts:[10,25,50,100],getGroups:this.getGroups,getData:this.getData},this.settings(f),this.parameters(u,!0),this}}]),i=["$scope","ngTableParams","$q",function(t,i){t.$loading=!1;t.params||(t.params=new i);t.params.settings().$scope=t;var r=function(){var n=0;return function(t,i){clearTimeout(n);n=setTimeout(t,i)}}();t.$watch("params.$params",function(i,u){t.params.settings().$scope=t;n.equals(i.filter,u.filter)?t.params.reload():r(function(){t.params.$params.page=1;t.params.reload()},t.params.settings().filterDelay)},!0);t.sortBy=function(n,i){var r=t.parse(n.sortable);if(r){var u=t.params.settings().defaultSort,e=u==="asc"?"desc":"asc",o=t.params.sorting()&&t.params.sorting()[r]&&t.params.sorting()[r]===u,f=i.ctrlKey||i.metaKey?t.params.sorting():{};f[r]=o?e:u;t.params.parameters({sorting:f})}}}],t.directive("ngTable",["$compile","$q","$parse",function(t,r,u){return{restrict:"A",priority:1001,scope:!0,controller:i,compile:function(i){var r=[],o=0,f=null,e=i.find("thead");if(n.forEach(n.element(i.find("tr")),function(t){t=n.element(t);t.hasClass("ng-table-group")||f||(f=t)}),f)return n.forEach(f.find("td"),function(t){var i=n.element(t);if(!i.attr("ignore-cell")||"true"!==i.attr("ignore-cell")){var e=function(n,t){return function(f){return u(i.attr("x-data-"+n)||i.attr("data-"+n)||i.attr(n))(f,{$columns:r})||t}},s=e("title"," "),l=e("header",!1),f=e("filter",!1)(),h=!1,c=!1;f&&f.$$name&&(c=f.$$name,delete f.$$name);f&&f.templateURL&&(h=f.templateURL,delete f.templateURL);i.attr("data-title-text",s());r.push({id:o++,title:s,sortable:e("sortable",!1),"class":i.attr("x-data-header-class")||i.attr("data-header-class")||i.attr("header-class"),filter:f,filterTemplateURL:h,filterName:c,headerTemplateURL:l,filterData:i.attr("filter-data")?i.attr("filter-data"):null,show:i.attr("ng-show")?function(n){return u(i.attr("ng-show"))(n)}:function(){return!0}})}}),function(i,f,o){var s,h,c;i.$loading=!1;i.$columns=r;i.$watch(o.ngTable,function(t){n.isUndefined(t)||(i.paramsModel=u(o.ngTable),i.params=t)},!0);i.parse=function(t){return n.isDefined(t)?t(i):""};o.showFilter&&i.$parent.$watch(o.showFilter,function(n){i.show_filter=n});n.forEach(r,function(t){var r;if(t.filterData){if(r=u(t.filterData)(i,{$column:t}),!(n.isObject(r)&&n.isObject(r.promise)))throw new Error("Function "+t.filterData+" must be instance of $q.defer()");return delete t.filterData,r.promise.then(function(i){n.isArray(i)||(i=[]);i.unshift({title:"-",id:""});t.data=i})}});f.hasClass("ng-table")||(i.templates={header:o.templateHeader?o.templateHeader:"ng-table/header.html",pagination:o.templatePagination?o.templatePagination:"ng-table/pager.html"},s=e.length>0?e:n.element(document.createElement("thead")).attr("ng-include","templates.header"),h=n.element("<tfoot />").append(n.element("<tr />").append(n.element("<td />").attr({"ng-include":"templates.pagination",colspan:r.length}))),f.find("thead").remove(),c=f.find("tbody"),f.prepend(s),t(s)(i),t(h)(i),f.addClass("ng-table"),c.after(h))}}}}]),n.module("ngTable").run(["$templateCache",function(n){n.put("ng-table/filters/select-multiple.html",'<select ng-options="data.id as data.title for data in column.data" multiple ng-multiple="true" ng-model="params.filter()[name]" ng-show="filter==\'select-multiple\'" class="filter filter-select-multiple form-control" name="{{column.filterName}}"> <\/select>');n.put("ng-table/filters/select.html",'<select ng-options="data.id as data.title for data in column.data" ng-model="params.filter()[name]" ng-show="filter==\'select\'" class="filter filter-select form-control" name="{{column.filterName}}"> <\/select>');n.put("ng-table/filters/text.html",'<input type="text" name="{{column.filterName}}" ng-model="params.filter()[name]" ng-if="filter==\'text\'" class="input-filter form-control"/>');n.put("ng-table/header.html",'<tr> <th ng-repeat="column in $columns" ng-class="{ \'sortable\': parse(column.sortable), \'sort-asc\': params.sorting()[parse(column.sortable)]==\'asc\', \'sort-desc\': params.sorting()[parse(column.sortable)]==\'desc\' }" ng-click="sortBy(column, $event)" ng-show="column.show(this)" ng-init="template=column.headerTemplateURL(this)" class="header {{column.class}}"> <div ng-if="!template" ng-show="!template" ng-bind="parse(column.title)"><\/div> <div ng-if="template" ng-show="template"><div ng-include="template"><\/div><\/div> <\/th> <\/tr> <tr ng-show="show_filter" class="ng-table-filters"> <th ng-repeat="column in $columns" ng-show="column.show(this)" class="filter"> <div ng-repeat="(name, filter) in column.filter"> <div ng-if="column.filterTemplateURL" ng-show="column.filterTemplateURL"> <div ng-include="column.filterTemplateURL"><\/div> <\/div> <div ng-if="!column.filterTemplateURL" ng-show="!column.filterTemplateURL"> <div ng-include="\'ng-table/filters/\' + filter + \'.html\'"><\/div> <\/div> <\/div> <\/th> <\/tr>');n.put("ng-table/pager.html",'<div class="ng-cloak ng-table-pager"> <div ng-if="params.settings().counts.length" class="ng-table-counts btn-group pull-right"> <button ng-repeat="count in params.settings().counts" type="button" ng-class="{\'active\':params.count()==count}" ng-click="params.count(count)" class="btn btn-default"> <span ng-bind="count"><\/span> <\/button> <\/div> <ul class="pagination ng-table-pagination"> <li ng-class="{\'disabled\': !page.active}" ng-repeat="page in pages" ng-switch="page.type"> <a ng-switch-when="prev" ng-click="params.page(page.number)" href="">&laquo;<\/a> <a ng-switch-when="first" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"><\/span><\/a> <a ng-switch-when="page" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"><\/span><\/a> <a ng-switch-when="more" ng-click="params.page(page.number)" href="">&#8230;<\/a> <a ng-switch-when="last" ng-click="params.page(page.number)" href=""><span ng-bind="page.number"><\/span><\/a> <a ng-switch-when="next" ng-click="params.page(page.number)" href="">&raquo;<\/a> <\/li> <\/ul> <\/div> ')}]),t});angular.module("ui.date",[]).constant("uiDateConfig",{}).directive("uiDate",["uiDateConfig","$timeout",function(n,t){"use strict";var i;return i={},angular.extend(i,n),{require:"?ngModel",link:function(i,r,u,f){var e=function(){return angular.extend({},n,i.$eval(u.uiDate))},o=function(){var n=e(),o,u,s,h;f&&(o=f.$setViewValue,u=!1,f.$setViewValue=function(){u||(u=!0,r.datepicker("setDate",r.datepicker("getDate")),o.call(f,r.datepicker("getDate")),t(function(){u=!1}))},s=n.onSelect||angular.noop,n.onSelect=function(n,t){i.$apply(function(){f.$setViewValue(n);s(n,t);r.blur()})},h=n.beforeShow||angular.noop,n.beforeShow=function(n,t){return!u&&h(n,t)},f.$render=function(){var n=f.$viewValue;if(angular.isDefined(n)&&n!==null&&!angular.isDate(n))throw new Error("ng-Model value must be a Date object - currently it is a "+typeof n+" - use ui-date-format to convert it from a string");r.datepicker("setDate",n)});r.datepicker("destroy");r.datepicker(n);f&&f.$render()};i.$watch(e,o,!0)}}}]).constant("uiDateFormatConfig","").directive("uiDateFormat",["uiDateFormatConfig",function(n){return{require:"ngModel",link:function(t,i,r,u){var f=r.uiDateFormat||n;f?(u.$formatters.push(function(n){return angular.isString(n)?$.datepicker.parseDate(f,n):null}),u.$parsers.push(function(n){return n?$.datepicker.formatDate(f,n):null})):(u.$formatters.push(function(n){return angular.isString(n)?new Date(n):null}),u.$parsers.push(function(n){return n?n.toISOString():null}))}}}]),function(n,t,i){"use strict";function c(n,t){return u(new(u(function(){},{prototype:n})),t)}function y(n){return f(arguments,function(t){t!==n&&f(t,function(t,i){n.hasOwnProperty(i)||(n[i]=t)})}),n}function it(n,t){var r=[];for(var i in n.path)if(n.path[i]!==""){if(!t.path[i])break;r.push(n.path[i])}return r}function p(n,t,i,r){var o=it(i,r),f,h={},c=[],s,e;for(s in o)if(o[s].params&&o[s].params.length){f=o[s].params;for(e in f)c.indexOf(f[e])>=0||(c.push(f[e]),h[f[e]]=n[f[e]])}return u({},h,t)}function w(n,t){var s=1,c=2,o={},l=[],a=o,v=u(n.when(o),{$$promises:o,$$values:o});this.study=function(o){function k(n,i){if(b[i]!==c){if(w.push(i),b[i]===s){w.splice(0,w.indexOf(i));throw new Error("Cyclic dependency: "+w.join(" -> "));}if(b[i]=s,e(n))p.push(i,[function(){return t.get(i)}],l);else{var r=t.annotate(n);f(r,function(n){n!==i&&o.hasOwnProperty(n)&&k(o[n],n)});p.push(i,n,r)}w.pop();b[i]=c}}function d(n){return h(n)&&n.then&&n.$$promises}if(!h(o))throw new Error("'invocables' must be an object");var p=[],w=[],b={};return f(o,k),o=w=b=null,function(f,e,o){function b(){--it||(nt||y(c,e.$$values),s.$$values=c,s.$$promises=!0,k.resolve(c))}function g(n){s.$$failure=n;k.reject(n)}function rt(i,u,e){function a(n){h.reject(n);g(n)}function v(){if(!r(s.$$failure))try{h.resolve(t.invoke(u,o,c));h.promise.then(function(n){c[i]=n;b()},a)}catch(n){a(n)}}var h=n.defer(),l=0;e.forEach(function(n){w.hasOwnProperty(n)&&!f.hasOwnProperty(n)&&(l++,w[n].then(function(t){c[n]=t;--l||v()},a))});l||v();w[i]=h.promise}var l,tt;if(d(f)&&o===i&&(o=e,e=f,f=null),f){if(!h(f))throw new Error("'locals' must be an object");}else f=a;if(e){if(!d(e))throw new Error("'parent' must be a promise returned by $resolve.resolve()");}else e=v;var k=n.defer(),s=k.promise,w=s.$$promises={},c=u({},f),it=1+p.length/3,nt=!1;if(r(e.$$failure))return g(e.$$failure),s;for(e.$$values?(nt=y(c,e.$$values),b()):(u(w,e.$$promises),e.then(b,g)),l=0,tt=p.length;l<tt;l+=3)f.hasOwnProperty(p[l])?b():rt(p[l],p[l+1],p[l+2]);return s}};this.resolve=function(n,t,i,r){return this.study(n)(t,i,r)}}function b(n,t,i){this.fromConfig=function(n,t,i){return r(n.template)?this.fromString(n.template,t):r(n.templateUrl)?this.fromUrl(n.templateUrl,t):r(n.templateProvider)?this.fromProvider(n.templateProvider,t,i):null};this.fromString=function(n,t){return o(n)?n(t):n};this.fromUrl=function(i,r){return o(i)&&(i=i(r)),i==null?null:n.get(i,{cache:t}).then(function(n){return n.data})};this.fromProvider=function(n,t,r){return i.invoke(n,null,r||{params:t})}}function s(n){function c(t){if(!/^\w+(-+\w+)*$/.test(t))throw new Error("Invalid parameter name '"+t+"' in pattern '"+n+"'");if(h[t])throw new Error("Duplicate parameter name '"+t+"' in pattern '"+n+"'");h[t]=!0;p.push(t)}function l(n){return n.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&")}var s=/([:*])(\w+)|\{(\w+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,h={},e="^",u=0,i,o=this.segments=[],p=this.params=[],a,v,t,r,y;for(this.source=n;i=s.exec(n);){if(a=i[2]||i[3],v=i[4]||(i[1]=="*"?".*":"[^/]*"),t=n.substring(u,i.index),t.indexOf("?")>=0)break;e+=l(t)+"("+v+")";c(a);o.push(t);u=s.lastIndex}t=n.substring(u);r=t.indexOf("?");r>=0?(y=this.sourceSearch=t.substring(r),t=t.substring(0,r),this.sourcePath=n.substring(0,u+r),f(y.substring(1).split(/[&?]/),c)):(this.sourcePath=n,this.sourceSearch="");e+=l(t)+"$";o.push(t);this.regexp=new RegExp(e);this.prefix=o[0]}function rt(){this.compile=function(n){return new s(n)};this.isMatcher=function(n){return h(n)&&o(n.exec)&&o(n.format)&&o(n.concat)};this.$get=function(){return this}}function k(n){function s(n){var t=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(n.source);return t!=null?t[1].replace(/\\(.)/g,"$1"):""}function h(n,t){return n.replace(/\$(\$|\d{1,2})/,function(n,i){return t[i==="$"?0:Number(i)]})}function f(n,t,i){if(!i)return!1;var u=n.invoke(t,t,{$match:i});return r(u)?u:!0}var t=[],i=null;this.rule=function(n){if(!o(n))throw new Error("'rule' must be a function");return t.push(n),this};this.otherwise=function(n){if(e(n)){var t=n;n=function(){return t}}else if(!o(n))throw new Error("'rule' must be a function");return i=n,this};this.when=function(t,i){var r,c=e(i),y,l,v;if(e(t)&&(t=n.compile(t)),!c&&!o(i)&&!a(i))throw new Error("invalid 'handler' in when()");y={matcher:function(t,i){return c&&(r=n.compile(i),i=["$match",function(n){return r.format(n)}]),u(function(n,r){return f(n,i,t.exec(r.path(),r.search()))},{prefix:e(t.prefix)?t.prefix:""})},regex:function(n,t){if(n.global||n.sticky)throw new Error("when() RegExp must not be global or sticky");return c&&(r=t,t=["$match",function(n){return h(r,n)}]),u(function(i,r){return f(i,t,n.exec(r.path()))},{prefix:s(n)})}};l={matcher:n.isMatcher(t),regex:t instanceof RegExp};for(v in l)if(l[v])return this.rule(y[v](t,i));throw new Error("invalid 'what' in when()");};this.$get=["$location","$rootScope","$injector",function(n,r,u){function f(){function f(t){var i=t(u,n);return i?(e(i)&&n.replace().url(i),!0):!1}for(var o=t.length,r=0;r<o;r++)if(f(t[r]))return;i&&f(i)}return r.$on("$locationChangeSuccess",f),{}}]}function d(n,o,s){function w(n,t){var h=e(n),r=h?n:n.name,c=r.indexOf(".")===0||r.indexOf("^")===0,s;if(c){if(!t)throw new Error("No reference point given for path '"+r+"'");for(var u=r.split("."),f=0,l=u.length,o=t;f<l;f++){if(u[f]===""&&f===0){o=t;continue}if(u[f]==="^"){if(!o.parent)throw new Error("Path '"+r+"' not valid for state '"+t.name+"'");o=o.parent;continue}break}u=u.slice(f).join(".");r=o.name+(o.name&&u?".":"")+u}return(s=b[r],s&&(h||!h&&(s===n||s.self===n)))?s:i}function d(t){var i,r;if(t=c(t,{self:t,resolve:t.resolve||{},toString:function(){return this.name}}),i=t.name,!e(i)||i.indexOf("@")>=0)throw new Error("State must have a valid name");if(b[i])throw new Error("State '"+i+"'' is already defined");for(r in k)t[r]=k[r](t);return b[i]=t,!t.abstract&&t.url&&n.when(t.url,["$match","$stateParams",function(n,i){l.$current.navigable==t&&tt(n,i)||l.transitionTo(t,n,!1)}]),t}function it(n,t){return h(n)?t=n:t.name=n,d(t),this}function g(n,t,e,o,h,a,b){function g(n,i,r,u,o){var l=r?i:rt(n.params,i),c={$stateParams:l},s;return o.resolve=h.resolve(n.resolve,c,o.resolve,n),s=[o.resolve.then(function(n){o.globals=n})],u&&s.push(u),f(n.views,function(t,i){var r=t.resolve&&t.resolve!==n.resolve?t.resolve:{};r.$template=[function(){return e.load(i,{view:t,locals:c,params:l,notify:!1})||""}];s.push(h.resolve(r,c,o.resolve,n).then(function(r){r.$$controller=t.controller;r.$$state=n;o[i]=r}))}),t.all(s).then(function(){return o})}var k=t.reject(new Error("transition superseded")),d=t.reject(new Error("transition prevented"));return y.locals={resolve:null,globals:{$stateParams:{}}},l={params:{},current:y.self,$current:y,transition:null},l.go=function(n,t,i){return this.transitionTo(n,t,u({inherit:!0,relative:l.$current},i))},l.transitionTo=function(i,f,e){var it,at,st,et,lt;if(r(e)||(e=e===!0||e===!1?{location:e}:{}),f=f||{},e=u({location:!0,inherit:!1,relative:null},e),it=w(i,e.relative),!r(it))throw new Error("No such state "+it);if(it.abstract)throw new Error("Cannot transition to abstract state '"+i+"'");e.inherit&&(f=p(a,f||{},l.$current,it));i=it;for(var rt=i.path,ut=l.$current,ot=l.params,ht=ut.path,ft=y.locals,ct=[],s=0,h=rt[s];h&&h===ht[s]&&tt(f,ot,h.ownParams);s++,h=rt[s])ft=ct[s]=h.locals;if(i===ut&&ft===ut.locals)return l.transition=null,t.when(l.current);if(f=nt(i.params,f||{}),at=n.$broadcast("$stateChangeStart",i.self,f,ut.self,ot),at.defaultPrevented)return d;for(st=t.when(ft),et=s;et<rt.length;et++,h=rt[et])ft=ct[et]=c(ft),st=g(h,f,h===i,st,ft);return lt=l.transition=st.then(function(){var t,r,u,h;if(l.transition!==lt)return k;for(t=ht.length-1;t>=s;t--)u=ht[t],u.self.onExit&&o.invoke(u.self.onExit,u.self,u.locals.globals),u.locals=null;for(t=s;t<rt.length;t++)r=rt[t],r.locals=ct[t],r.self.onEnter&&o.invoke(r.self.onEnter,r.self,r.locals.globals);return l.$current=i,l.current=i.self,l.params=f,v(l.params,a),l.transition=null,h=i.navigable,e.location&&h&&b.url(h.url.format(h.locals.globals.$stateParams)),n.$broadcast("$stateChangeSuccess",i.self,f,ut.self,ot),l.current},function(r){return l.transition!==lt?k:(l.transition=null,n.$broadcast("$stateChangeError",i.self,f,ut.self,ot,r),t.reject(r))})},l.is=function(n){var t=w(n);return r(t)?l.$current===t:i},l.includes=function(n){var t=w(n);return r(t)?r(l.$current.includes[t.name]):i},l.href=function(n,t,i){var f,e,o;return(i=u({lossy:!0,inherit:!1,relative:l.$current},i||{}),f=w(n,i.relative),!r(f))?null:(t=p(a,t||{},l.$current,f),e=f&&i.lossy?f.navigable:f,o=e&&e.url?e.url.format(nt(f.params,t||{})):null,!s.html5Mode()&&o?"#"+o:o)},l.get=function(n){var t=w(n);return t&&t.self?t.self:null},l}function nt(n,t){var i={};return f(n,function(n){var r=t[n];i[n]=r!=null?String(r):null}),i}function tt(n,t,i){var f,r,u;if(!i){i=[];for(f in n)i.push(f)}for(r=0;r<i.length;r++)if(u=i[r],n[u]!=t[u])return!1;return!0}function rt(n,t){var i={};return f(n,function(n){i[n]=t[n]}),i}var y,b={},l,k={parent:function(n){if(r(n.parent)&&n.parent)return w(n.parent);var t=/^(.+)\.[^.]+$/.exec(n.name);return t?w(t[1]):y},data:function(n){return n.parent&&n.parent.data&&(n.data=n.self.data=t.extend({},n.parent.data,n.data)),n.data},url:function(n){var t=n.url;if(e(t))return t.charAt(0)=="^"?o.compile(t.substring(1)):(n.parent.navigable||y).url.concat(t);if(o.isMatcher(t)||t==null)return t;throw new Error("Invalid url '"+t+"' in state '"+n+"'");},navigable:function(n){return n.url?n:n.parent?n.parent.navigable:null},params:function(n){if(!n.params)return n.url?n.url.parameters():n.parent.params;if(!a(n.params))throw new Error("Invalid params in state '"+n+"'");if(n.url)throw new Error("Both params and url specicified in state '"+n+"'");return n.params},views:function(n){var t={};return f(r(n.views)?n.views:{"":n},function(i,r){r.indexOf("@")<0&&(r+="@"+n.parent.name);t[r]=i}),t},ownParams:function(n){var t,i;return n.parent?(t={},f(n.params,function(n){t[n]=!0}),f(n.parent.params,function(i){if(!t[i])throw new Error("Missing required parameter '"+i+"' in state '"+n.name+"'");t[i]=!1}),i=[],f(t,function(n,t){n&&i.push(t)}),i):n.params},path:function(n){return n.parent?n.parent.path.concat(n):[]},includes:function(n){var t=n.parent?u({},n.parent.includes):{};return t[n.name]=!0,t}};y=d({name:"",url:"^",views:null,abstract:!0});y.navigable=null;this.state=it;this.$get=g;g.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$location","$urlRouter"]}function g(){function n(n,t){return{load:function(i,r){var f;return r=u({template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}},r),r.view&&(f=t.fromConfig(r.view,r.params,r.locals)),f&&r.notify&&n.$broadcast("$viewContentLoading",r),f}}}this.$get=n;n.$inject=["$rootScope","$templateFactory"]}function l(n,i,u,f,e){var s,o,h;try{s=f.get("$animator")}catch(c){}return o=!1,h={restrict:"ECA",terminal:!0,transclude:!0,compile:function(f,c,l){return function(f,c,a){function nt(t){var r=n.$current&&n.$current.locals[y],o,s,h;if(r!==b){if(o=tt(p&&t),o.remove(c),v&&(v.$destroy(),v=null),!r)return b=null,w.state=null,o.restore(l(f),c);b=r;w.state=r.$$state;s=i(o.populate(r.$template,c));v=f.$new();r.$$controller&&(r.$scope=v,h=u(r.$$controller,r),c.children().data("$ngControllerController",h));s(v);v.$emit("$viewContentLoaded");g&&v.$eval(g);e()}}var v,b,y=a[h.name]||a.name||"",g=a.onload||"",p=r(s)&&s(f,a),tt=function(n){return{"true":{remove:function(n){p.leave(n.contents(),n)},restore:function(n,t){p.enter(n,t)},populate:function(n,i){var r=t.element("<div><\/div>").html(n).contents();return p.enter(r,i),r}},"false":{remove:function(n){n.html("")},restore:function(n,t){t.append(n)},populate:function(n,t){return t.html(n),t.contents()}}}[n.toString()]},k,w,d;c.append(l(f));k=c.parent().inheritedData("$uiView");y.indexOf("@")<0&&(y=y+"@"+(k?k.state.name:""));w={name:y,state:null};c.data("$uiView",w);d=function(){if(!o){o=!0;try{nt(!0)}catch(n){o=!1;throw n;}o=!1}};f.$on("$stateChangeSuccess",d);f.$on("$viewContentLoading",d);nt(!1)}}},h}function ut(n){var t=n.match(/^([^(]+?)\s*(\((.*)\))?$/);if(!t||t.length!==4)throw new Error("Invalid state ref '"+n+"'");return{state:t[1],paramExpr:t[3]||null}}function nt(n){return{restrict:"A",link:function(t,i,r){var u=ut(r.uiSref),f=null,o=n.$current,h=i[0].nodeName==="FORM",l=h?"action":"href",c=!0,e=i.parent().inheritedData("$uiView"),s;(e&&e.state&&e.state.name&&(o=e.state),s=function(t){if(t&&(f=t),c){var r=n.href(u.state,f,{relative:o});if(!r)return c=!1,!1;i[0][l]=r}},u.paramExpr&&(t.$watch(u.paramExpr,function(n,t){n!==t&&s(n)},!0),f=t.$eval(u.paramExpr)),s(),h)||i.bind("click",function(i){i.which!=1||i.ctrlKey||i.metaKey||i.shiftKey||(n.go(u.state,f,{relative:o}),t.$apply(),i.preventDefault())})}}}function tt(n,t){function u(n){this.locals=n.locals.globals;this.params=this.locals.$stateParams}function s(){this.locals=null;this.params=null}function h(i,f){if(f.redirectTo!=null){var h=f.redirectTo,l;if(e(h))l=h;else if(o(h))l=function(n,t){return h(n,t.path(),t.search())};else throw new Error("Invalid 'redirectTo' in when()");t.when(i,l)}else n.state(c(f,{parent:null,name:"route:"+encodeURIComponent(i),url:i,onEnter:u,onExit:s}));return r.push(f),this}function f(n,t,u){function f(n){return n.name!==""?n:i}var e={routes:r,params:u,current:i};return t.$on("$stateChangeStart",function(n,i,r,u){t.$broadcast("$routeChangeStart",f(i),f(u))}),t.$on("$stateChangeSuccess",function(n,i,r,u){e.current=f(i);t.$broadcast("$routeChangeSuccess",f(i),f(u));v(r,e.params)}),t.$on("$stateChangeError",function(n,i,r,u,e,o){t.$broadcast("$routeChangeError",f(i),f(u),o)}),e}var r=[];u.$inject=["$$state"];this.when=h;this.$get=f;f.$inject=["$state","$rootScope","$routeParams"]}var r=t.isDefined,o=t.isFunction,e=t.isString,h=t.isObject,a=t.isArray,f=t.forEach,u=t.extend,v=t.copy;t.module("ui.router.util",["ng"]);t.module("ui.router.router",["ui.router.util"]);t.module("ui.router.state",["ui.router.router","ui.router.util"]);t.module("ui.router",["ui.router.state"]);t.module("ui.router.compat",["ui.router"]);w.$inject=["$q","$injector"];t.module("ui.router.util").service("$resolve",w);b.$inject=["$http","$templateCache","$injector"];t.module("ui.router.util").service("$templateFactory",b);s.prototype.concat=function(n){return new s(this.sourcePath+n+this.sourceSearch)};s.prototype.toString=function(){return this.source};s.prototype.exec=function(n,t){var u=this.regexp.exec(n);if(!u)return null;var r=this.params,o=r.length,e=this.segments.length-1,f={},i;if(e!==u.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(i=0;i<e;i++)f[r[i]]=u[i+1];for(;i<o;i++)f[r[i]]=t[r[i]];return f};s.prototype.parameters=function(){return this.params};s.prototype.format=function(n){var r=this.segments,u=this.params;if(!n)return r.join("");for(var o=r.length-1,s=u.length,f=r[0],e,i,t=0;t<o;t++)i=n[u[t]],i!=null&&(f+=encodeURIComponent(i)),f+=r[t+1];for(;t<s;t++)i=n[u[t]],i!=null&&(f+=(e?"&":"?")+u[t]+"="+encodeURIComponent(i),e=!0);return f};t.module("ui.router.util").provider("$urlMatcherFactory",rt);k.$inject=["$urlMatcherFactoryProvider"];t.module("ui.router.router").provider("$urlRouter",k);d.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider","$locationProvider"];t.module("ui.router.state").value("$stateParams",{}).provider("$state",d);g.$inject=[];t.module("ui.router.state").provider("$view",g);l.$inject=["$state","$compile","$controller","$injector","$anchorScroll"];t.module("ui.router.state").directive("uiView",l);nt.$inject=["$state"];t.module("ui.router.state").directive("uiSref",nt);tt.$inject=["$stateProvider","$urlRouterProvider"];t.module("ui.router.compat").provider("$route",tt).directive("ngView",l)}(window,window.angular);angular.module("ui.select2",[]).value("uiSelect2Config",{}).directive("uiSelect2",["uiSelect2Config","$timeout",function(n,t){var i={};return n&&angular.extend(i,n),{require:"ngModel",priority:1,compile:function(n,r){var e,u,o,f=n.is("select"),s=angular.isDefined(r.multiple);return n.is("select")&&(u=n.find("optgroup[ng-repeat], optgroup[data-ng-repeat], option[ng-repeat], option[data-ng-repeat]"),u.length&&(o=u.attr("ng-repeat")||u.attr("data-ng-repeat"),e=jQuery.trim(o.split("|")[0]).split(" ").pop())),function(n,u,o,h){var c=angular.extend({},i,n.$eval(o.uiSelect2)),l=function(n){var t;return c.simple_tags?(t=[],angular.forEach(n,function(n){t.push(n.id)})):t=n,t},v=function(n){var t=[];return n?(c.simple_tags?(t=[],angular.forEach(n,function(n){t.push({id:n,text:n})})):t=n,t):t},a;f?(delete c.multiple,delete c.initSelection):s&&(c.multiple=!0);h&&(n.$watch(r.ngModel,function(n,t){n&&n!==t&&h.$render()},!0),h.$render=function(){if(f)u.select2("val",JSON.stringify(h.$viewValue));else if(c.multiple){var n=h.$viewValue;angular.isString(n)&&(n=n.split(","));u.select2("data",v(n))}else angular.isObject(h.$viewValue)?u.select2("data",h.$viewValue):h.$viewValue?u.select2("val",h.$viewValue):u.select2("data",null)},e&&n.$watch(e,function(n,i){angular.equals(n,i)||t(function(){u.select2("val",h.$viewValue);u.trigger("change");n&&!i&&h.$setPristine&&h.$setPristine(!0)})}),h.$parsers.push(function(n){var t=u.prev();return t.toggleClass("ng-invalid",!h.$valid).toggleClass("ng-valid",h.$valid).toggleClass("ng-invalid-required",!h.$valid).toggleClass("ng-valid-required",h.$valid).toggleClass("ng-dirty",h.$dirty).toggleClass("ng-pristine",h.$pristine),n}),f||(u.bind("change",function(t){(t.stopImmediatePropagation(),n.$$phase||n.$root.$$phase)||n.$apply(function(){h.$setViewValue(l(u.select2("data")))})}),c.initSelection&&(a=c.initSelection,c.initSelection=function(n,t){a(n,function(n){var i=h.$pristine;h.$setViewValue(l(n));t(n);i&&h.$setPristine();u.prev().toggleClass("ng-pristine",h.$pristine)})})));u.bind("$destroy",function(){u.select2("destroy")});o.$observe("disabled",function(n){u.select2("enable",!n)});o.$observe("readonly",function(n){u.select2("readonly",!!n)});o.ngMultiple&&n.$watch(o.ngMultiple,function(n){o.$set("multiple",!!n);u.select2(c)});t(function(){if(u.select2(c),u.select2("data",h.$modelValue),h.$render(),!c.initSelection&&!f){var n=h.$pristine;h.$setViewValue(l(u.select2("data")));n&&h.$setPristine();u.prev().toggleClass("ng-pristine",h.$pristine)}})}}}}]);angular.module("ui.tinymce",[]).value("uiTinymceConfig",{}).directive("uiTinymce",["uiTinymceConfig",function(n){n=n||{};var t=0;return{priority:10,require:"ngModel",link:function(i,r,u,f){var o,h,e,s=function(){f.$setViewValue(r.val());i.$root.$$phase||i.$apply()},c;u.id||u.$set("id","uiTinymce"+t++);o=u.uiTinymce?i.$eval(u.uiTinymce):{};o.setup&&(c=o.setup,delete o.setup);h={setup:function(n){n.on("init",function(){f.$render();f.$setPristine()});n.on("ExecCommand",function(){n.save();s()});n.on("KeyUp",function(){n.save();s()});n.on("SetContent",function(t){t.initial||f.$viewValue===t.content||(n.save(),s())});n.on("blur",function(){r.blur()});n.on("ObjectResized",function(){n.save();s()});c&&c(n)},mode:"exact",elements:u.id};angular.extend(h,n,o);setTimeout(function(){tinymce.init(h)});f.$render=function(){e||(e=tinymce.get(u.id));e&&e.setContent(f.$viewValue||"")};i.$on("$destroy",function(){e||(e=tinymce.get(u.id));e&&(e.remove(),e=null)})}}}]);angular.module("ui.alias",[]).config(["$compileProvider","uiAliasConfig",function(n,t){t=t||{};angular.forEach(t,function(t,i){angular.isString(t)&&(t={replace:!0,template:t});n.directive(i,function(){return t})})}]);angular.module("ui.event",[]).directive("uiEvent",["$parse",function(n){return function(t,i,r){var u=t.$eval(r.uiEvent);angular.forEach(u,function(r,u){var f=n(r);i.bind(u,function(n){var i=Array.prototype.slice.call(arguments);i=i.splice(1);f(t,{$event:n,$params:i});t.$$phase||t.$apply()})})}}]);angular.module("ui.format",[]).filter("format",function(){return function(n,t){var i=n,r,u;return angular.isString(i)&&t!==undefined&&(angular.isArray(t)||angular.isObject(t)||(t=[t]),angular.isArray(t)?(r=t.length,u=function(n,i){return i=parseInt(i,10),i>=0&&i<r?t[i]:n},i=i.replace(/\$([0-9]+)/g,u)):angular.forEach(t,function(n,t){i=i.split(":"+t).join(n)})),i}});angular.module("ui.highlight",[]).filter("highlight",function(){return function(n,t,i){return t||angular.isNumber(t)?(n=n.toString(),t=t.toString(),i?n.split(t).join('<span class="ui-match">'+t+"<\/span>"):n.replace(new RegExp(t,"gi"),'<span class="ui-match">$&<\/span>')):n}});angular.module("ui.include",[]).directive("uiInclude",["$http","$templateCache","$anchorScroll","$compile",function(n,t,i,r){return{restrict:"ECA",terminal:!0,compile:function(u,f){var o=f.uiInclude||f.src,s=f.fragment||"",h=f.onload||"",e=f.autoscroll;return function(u,f){function v(){var v=++l,y=u.$eval(o),p=u.$eval(s);y?n.get(y,{cache:t}).success(function(n){if(v===l){c&&c.$destroy();c=u.$new();var t;t=p?angular.element("<div/>").html(n).find(p):angular.element("<div/>").html(n).contents();f.html(t);r(t)(c);angular.isDefined(e)&&(!e||u.$eval(e))&&i();c.$emit("$includeContentLoaded");u.$eval(h)}}).error(function(){v===l&&a()}):a()}var l=0,c,a=function(){c&&(c.$destroy(),c=null);f.html("")};u.$watch(s,v);u.$watch(o,v)}}}}]);angular.module("ui.indeterminate",[]).directive("uiIndeterminate",[function(){return{compile:function(n,t){return!t.type||t.type.toLowerCase()!=="checkbox"?angular.noop:function(n,t,i){n.$watch(i.uiIndeterminate,function(n){t[0].indeterminate=!!n})}}}}]);angular.module("ui.inflector",[]).filter("inflector",function(){function n(n){return n.replace(/^([a-z])|\s+([a-z])/g,function(n){return n.toUpperCase()})}function t(n,t){return n.replace(/[A-Z]/g,function(n){return t+n})}var i={humanize:function(i){return n(t(i," ").split("_").join(" "))},underscore:function(n){return n.substr(0,1).toLowerCase()+t(n.substr(1),"_").toLowerCase().split(" ").join("_")},variable:function(t){return t.substr(0,1).toLowerCase()+n(t.split("_").join(" ")).substr(1).split(" ").join("")}};return function(n,t){return t!==!1&&angular.isString(n)?(t=t||"humanize",i[t](n)):n}});angular.module("ui.jq",[]).value("uiJqConfig",{}).directive("uiJq",["uiJqConfig","$timeout",function(n,t){return{restrict:"A",compile:function(i,r){if(!angular.isFunction(i[r.uiJq]))throw new Error('ui-jq: The "'+r.uiJq+'" function does not exist');var u=n&&n[r.uiJq];return function(n,i,r){function e(){t(function(){i[r.uiJq].apply(i,f)},0,!1)}var f=[];r.uiOptions?(f=n.$eval("["+r.uiOptions+"]"),angular.isObject(u)&&angular.isObject(f[0])&&(f[0]=angular.extend({},u,f[0]))):u&&(f=[u]);r.ngModel&&i.is("select,input,textarea")&&i.bind("change",function(){i.trigger("input")});r.uiRefresh&&n.$watch(r.uiRefresh,function(){e()});e()}}}}]);angular.module("ui.keypress",[]).factory("keypressHelper",["$parse",function(n){var t={8:"backspace",9:"tab",13:"enter",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete"},i=function(n){return n.charAt(0).toUpperCase()+n.slice(1)};return function(r,u,f,e){var o,s=[];o=u.$eval(e["ui"+i(r)]);angular.forEach(o,function(t,i){var r,u;u=n(t);angular.forEach(i.split(" "),function(n){r={expression:u,keys:{}};angular.forEach(n.split("-"),function(n){r.keys[n]=!0});s.push(r)})});f.bind(r,function(n){var e=!!(n.metaKey&&!n.ctrlKey),o=!!n.altKey,h=!!n.ctrlKey,f=!!n.shiftKey,i=n.keyCode;r==="keypress"&&!f&&i>=97&&i<=122&&(i=i-32);angular.forEach(s,function(r){var s=r.keys[t[i]]||r.keys[i.toString()],c=!!r.keys.meta,l=!!r.keys.alt,a=!!r.keys.ctrl,v=!!r.keys.shift;s&&c===e&&l===o&&a===h&&v===f&&u.$apply(function(){r.expression(u,{$event:n})})})})}}]);angular.module("ui.keypress").directive("uiKeydown",["keypressHelper",function(n){return{link:function(t,i,r){n("keydown",t,i,r)}}}]);angular.module("ui.keypress").directive("uiKeypress",["keypressHelper",function(n){return{link:function(t,i,r){n("keypress",t,i,r)}}}]);angular.module("ui.keypress").directive("uiKeyup",["keypressHelper",function(n){return{link:function(t,i,r){n("keyup",t,i,r)}}}]);angular.module("ui.mask",[]).value("uiMaskConfig",{maskDefinitions:{"9":/\d/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/}}).directive("uiMask",["uiMaskConfig",function(n){return{priority:100,require:"ngModel",restrict:"A",compile:function(){var t=n;return function(n,i,r,u){function lt(n){return angular.isDefined(n)?(gt(n),!c)?ht():(pt(),wt(),!0):ht()}function at(n){angular.isDefined(n)&&(s=n,c&&l())}function vt(n){return c?(f=y(n||""),o=it(f),u.$setValidity("mask",o),o&&f.length?p(f):undefined):n}function yt(n){return c?(f=y(n||""),o=it(f),u.$viewValue=f.length?p(f):"",u.$setValidity("mask",o),f===""&&u.$error.required!==undefined&&u.$setValidity("required",!1),o?f:undefined):n}function ht(){return c=!1,bt(),angular.isDefined(ot)?i.attr("placeholder",ot):i.removeAttr("placeholder"),angular.isDefined(st)?i.attr("maxlength",st):i.removeAttr("maxlength"),i.val(u.$modelValue),u.$viewValue=u.$modelValue,!1}function pt(){f=nt=y(u.$modelValue||"");d=g=p(f);o=it(f);var n=o&&f.length?d:"";r.maxlength&&i.attr("maxlength",e[e.length-1]*2);i.attr("placeholder",s);i.val(n);u.$viewValue=n}function wt(){a||(i.bind("blur",ct),i.bind("mousedown mouseup",w),i.bind("input keyup click focus",l),a=!0)}function bt(){a&&(i.unbind("blur",ct),i.unbind("mousedown",w),i.unbind("mouseup",w),i.unbind("input",l),i.unbind("keyup",l),i.unbind("click",l),i.unbind("focus",l),a=!1)}function it(n){return n.length?n.length>=k:!0}function y(n){var i="",t=b.slice();return n=n.toString(),angular.forEach(et,function(t){n=n.replace(t,"")}),angular.forEach(n.split(""),function(n){t.length&&t[0].test(n)&&(i+=n,t.shift())}),i}function p(n){var t="",i=e.slice();return angular.forEach(s.split(""),function(r,u){n.length&&u===i[0]?(t+=n.charAt(0)||"_",n=n.substr(1),i.shift()):t+=r}),t}function kt(n){var t=r.placeholder;return typeof t!="undefined"&&t[n]?t[n]:"_"}function dt(){return s.replace(/[_]+/g,"_").replace(/([^_]+)([a-zA-Z0-9])([^_])/g,"$1$2_$3").split("_")}function gt(n){var t=0,i,r;e=[];b=[];s="";typeof n=="string"&&(k=0,i=!1,r=n.split(""),angular.forEach(r,function(n,r){h.maskDefinitions[n]?(e.push(t),s+=kt(r),b.push(h.maskDefinitions[n]),t++,i||k++):n==="?"?i=!0:(s+=n,t++)}));e.push(e.slice().pop()+1);et=dt();c=e.length>1?!0:!1}function ct(){tt=0;v=0;o&&f.length!==0||(d="",i.val(""),n.$apply(function(){u.$setViewValue("")}))}function w(n){n.type==="mousedown"?i.bind("mouseout",rt):i.unbind("mouseout",rt)}function rt(){v=ft(this);i.unbind("mouseout",rt)}function l(t){var f,s,it;if(t=t||{},f=t.which,s=t.type,f!==16&&f!==91){var c=i.val(),w=g,b,o=y(c),lt=nt,rt=!1,r=ni(this)||0,et=tt||0,ot=r-et,h=e[0],l=e[o.length]||e.slice().shift(),a=v||0,at=ft(this)>0,st=a>0,ht=c.length>w.length||a&&c.length>w.length-a,k=c.length<w.length||a&&c.length===w.length-a,vt=f>=37&&f<=40&&t.shiftKey,yt=f===37,ct=f===8||s!=="keyup"&&k&&ot===-1,pt=f===46||s!=="keyup"&&k&&ot===0&&!st,d=(yt||ct||s==="click")&&r>h;if(v=ft(this),!vt&&(!at||s!=="click"&&s!=="keyup")){if(s==="input"&&k&&!st&&o===lt){while(ct&&r>h&&!ut(r))r--;while(pt&&r<l&&e.indexOf(r)===-1)r++;it=e.indexOf(r);o=o.substring(0,it)+o.substring(it+1);rt=!0}for(b=p(o),g=b,nt=o,i.val(b),rt&&n.$apply(function(){u.$setViewValue(o)}),ht&&r<=h&&(r=h+1),d&&r--,r=r>l?l:r<h?h:r;!ut(r)&&r>h&&r<l;)r+=d?-1:1;(d&&r<l||ht&&!ut(et))&&r++;tt=r;ti(this,r)}}}function ut(n){return e.indexOf(n)>-1}function ni(n){if(!n)return 0;if(n.selectionStart!==undefined)return n.selectionStart;if(document.selection){n.focus();var t=document.selection.createRange();return t.moveStart("character",-n.value.length),t.text.length}return 0}function ti(n,t){if(!n)return 0;if(n.offsetWidth!==0&&n.offsetHeight!==0)if(n.setSelectionRange)n.focus(),n.setSelectionRange(t,t);else if(n.createTextRange){var i=n.createTextRange();i.collapse(!0);i.moveEnd("character",t);i.moveStart("character",t);i.select()}}function ft(n){return n?n.selectionStart!==undefined?n.selectionEnd-n.selectionStart:document.selection?document.selection.createRange().text.length:0:0}var c=!1,a=!1,e,b,s,et,k,f,d,o,ot=r.placeholder,st=r.maxlength,g,nt,tt,v,h={};r.uiOptions?(h=n.$eval("["+r.uiOptions+"]"),angular.isObject(h[0])&&(h=function(n,t){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]?angular.extend(t[i],n[i]):t[i]=angular.copy(n[i]));return t}(t,h[0]))):h=t;r.$observe("uiMask",lt);r.$observe("placeholder",at);u.$formatters.push(vt);u.$parsers.push(yt);i.bind("mousedown mouseup",w);Array.prototype.indexOf||(Array.prototype.indexOf=function(n){var u,r,t,i;if(this===null)throw new TypeError;if((u=Object(this),r=u.length>>>0,r===0)||(t=0,arguments.length>1&&(t=Number(arguments[1]),t!==t?t=0:t!==0&&t!==Infinity&&t!==-Infinity&&(t=(t>0||-1)*Math.floor(Math.abs(t)))),t>=r))return-1;for(i=t>=0?t:Math.max(r-Math.abs(t),0);i<r;i++)if(i in u&&u[i]===n)return i;return-1})}}}}]);angular.module("ui.reset",[]).value("uiResetConfig",null).directive("uiReset",["uiResetConfig",function(n){var t=null;return n!==undefined&&(t=n),{require:"ngModel",link:function(n,i,r,u){var f;f=angular.element('<a class="ui-reset" />');i.wrap('<span class="ui-resetwrap" />').after(f);f.bind("click",function(i){i.preventDefault();n.$apply(function(){r.uiReset?u.$setViewValue(n.$eval(r.uiReset)):u.$setViewValue(t);u.$render()})})}}}]);angular.module("ui.route",[]).directive("uiRoute",["$location","$parse",function(n,t){return{restrict:"AC",scope:!0,compile:function(i,r){var u;if(r.uiRoute)u="uiRoute";else if(r.ngHref)u="ngHref";else if(r.href)u="href";else throw new Error("uiRoute missing a route or href property on "+i[0]);return function(i,r,f){function o(t){var r=t.indexOf("#");r>-1&&(t=t.substr(r+1));e=function(){s(i,n.path().indexOf(t)>-1)};e()}function h(t){var r=t.indexOf("#");r>-1&&(t=t.substr(r+1));e=function(){var r=new RegExp("^"+t+"$",["i"]);s(i,r.test(n.path()))};e()}var s=t(f.ngModel||f.routeModel||"$uiRoute").assign,e=angular.noop;switch(u){case"uiRoute":f.uiRoute?h(f.uiRoute):f.$observe("uiRoute",h);break;case"ngHref":f.ngHref?o(f.ngHref):f.$observe("ngHref",o);break;case"href":o(f.href)}i.$on("$routeChangeSuccess",function(){e()});i.$on("$stateChangeSuccess",function(){e()})}}}}]);angular.module("ui.scroll.jqlite",["ui.scroll"]).service("jqLiteExtras",["$log","$window",function(n,t){return{registerFor:function(n){var i,u,s,r,f,e,o;return u=angular.element.prototype.css,n.prototype.css=function(n,t){var i,r;return r=this,i=r[0],(!i||i.nodeType===3||i.nodeType===8||!i.style)?void 0:u.call(r,n,t)},e=function(n){return n&&n.document&&n.location&&n.alert&&n.setInterval},o=function(n,t,i){var r,u,s,o,f;return r=n[0],f={top:["scrollTop","pageYOffset","scrollLeft"],left:["scrollLeft","pageXOffset","scrollTop"]}[t],u=f[0],o=f[1],s=f[2],e(r)?angular.isDefined(i)?r.scrollTo(n[s].call(n),i):o in r?r[o]:r.document.documentElement[u]:angular.isDefined(i)?r[u]=i:r[u]},t.getComputedStyle?(r=function(n){return t.getComputedStyle(n,null)},i=function(n,t){return parseFloat(t)}):(r=function(n){return n.currentStyle},i=function(n,t){var f,e,o,s,i,u,r;return f=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,s=new RegExp("^("+f+")(?!px)[a-z%]+$","i"),s.test(t)?(r=n.style,e=r.left,i=n.runtimeStyle,u=i&&i.left,i&&(i.left=r.left),r.left=t,o=r.pixelLeft,r.left=e,u&&(i.left=u),o):parseFloat(t)}),s=function(n,t){var f,c,l,a,v,u,o,s,y,p,w,b,h;return e(n)?(f=document.documentElement[{height:"clientHeight",width:"clientWidth"}[t]],{base:f,padding:0,border:0,margin:0}):(h={width:[n.offsetWidth,"Left","Right"],height:[n.offsetHeight,"Top","Bottom"]}[t],f=h[0],o=h[1],s=h[2],u=r(n),w=i(n,u["padding"+o])||0,b=i(n,u["padding"+s])||0,c=i(n,u["border"+o+"Width"])||0,l=i(n,u["border"+s+"Width"])||0,a=u["margin"+o],v=u["margin"+s],y=i(n,a)||0,p=i(n,v)||0,{base:f,padding:w+b,border:c+l,margin:y+p})},f=function(n,t,i){var e,u,f;return u=s(n,t),u.base>0?{base:u.base-u.padding-u.border,outer:u.base,outerfull:u.base+u.margin}[i]:(e=r(n),f=e[t],(f<0||f===null)&&(f=n.style[t]||0),f=parseFloat(f)||0,{base:f-u.padding-u.border,outer:f,outerfull:f+u.padding+u.border+u.margin}[i])},angular.forEach({before:function(n){var t,u,f,e,o,i,r;if(o=this,u=o[0],e=o.parent(),t=e.contents(),t[0]===u)return e.prepend(n);for(f=i=1,r=t.length-1;1<=r?i<=r:i>=r;f=1<=r?++i:--i)if(t[f]===u){angular.element(t[f-1]).after(n);return}throw new Error("invalid DOM structure "+u.outerHTML);},height:function(n){var t;return t=this,angular.isDefined(n)?(angular.isNumber(n)&&(n=n+"px"),u.call(t,"height",n)):f(this[0],"height","base")},outerHeight:function(n){return f(this[0],"height",n?"outerfull":"outer")},offset:function(n){var u,t,i,r,f,e;return(f=this,arguments.length)?n===void 0?f:n:(u={top:0,left:0},r=f[0],t=r&&r.ownerDocument,!t)?void 0:(i=t.documentElement,r.getBoundingClientRect&&(u=r.getBoundingClientRect()),e=t.defaultView||t.parentWindow,{top:u.top+(e.pageYOffset||i.scrollTop)-(i.clientTop||0),left:u.left+(e.pageXOffset||i.scrollLeft)-(i.clientLeft||0)})},scrollTop:function(n){return o(this,"top",n)},scrollLeft:function(n){return o(this,"left",n)}},function(t,i){if(!n.prototype[i])return n.prototype[i]=t})}}}]).run(["$log","$window","jqLiteExtras",function(n,t,i){if(!t.jQuery)return i.registerFor(angular.element)}]);angular.module("ui.scroll",[]).directive("ngScrollViewport",["$log",function(){return{controller:["$scope","$element",function(n,t){return t}]}}]).directive("ngScroll",["$log","$injector","$rootScope","$timeout",function(n,t,i,r){return{require:["?^ngScrollViewport"],transclude:"element",priority:1e3,terminal:!0,compile:function(u,f,e){return function(f,o,s,h){var l,k,dt,tt,et,c,it,w,gt,ni,p,ot,ct,rt,ut,lt,ft,a,b,at,d,vt,yt,st,v,g,ti,nt,pt,wt,ii,bt,kt,ri,ht,y;if(st=s.ngScroll.match(/^\s*(\w+)\s+in\s+(\w+)\s*$/),!st)throw new Error('Expected ngScroll in form of "item_ in _datasource_" but got "'+s.ngScroll+'"');if(vt=st[1],ot=st[2],at=function(n){return angular.isObject(n)&&n.get&&angular.isFunction(n.get)},p=f[ot],!at(p)&&(p=t.get(ot),!at(p)))throw new Error(ot+" is not a valid datasource");return w=Math.max(3,+s.bufferSize||10),it=function(){return y.height()*Math.max(.1,+s.padding||.1)},ii=function(n){return n[0].scrollHeight||n[0].document.documentElement.scrollHeight},l=null,e(ri=f.$new(),function(n){var i,e,o,t,r,f;if(t=n[0].localName,t==="dl")throw new Error("ng-scroll directive does not support <"+n[0].localName+"> as a repeating tag: "+n[0].outerHTML);return t!=="li"&&t!=="tr"&&(t="div"),f=h[0]||angular.element(window),f.css({"overflow-y":"auto",display:"block"}),o=function(n){var i,t,r;switch(n){case"tr":return r=angular.element("<table><tr><td><div><\/div><\/td><\/tr><\/table>"),i=r.find("div"),t=r.find("tr"),t.paddingHeight=function(){return i.height.apply(i,arguments)},t;default:return t=angular.element("<"+n+"><\/"+n+">"),t.paddingHeight=t.height,t}},e=function(n,t,i){return t[{top:"before",bottom:"after"}[i]](n),{paddingHeight:function(){return n.paddingHeight.apply(n,arguments)},insert:function(t){return n[{top:"after",bottom:"before"}[i]](t)}}},r=e(o(t),u,"top"),i=e(o(t),u,"bottom"),ri.$destroy(),l={viewport:f,topPadding:r.paddingHeight,bottomPadding:i.paddingHeight,append:i.insert,prepend:r.insert,bottomDataPos:function(){return ii(f)-i.paddingHeight()},topDataPos:function(){return r.paddingHeight()}}}),y=l.viewport,a=1,v=1,c=[],g=[],rt=!1,tt=!1,yt=p.loading||function(){},d=!1,nt=function(n,t){for(var i,r=i=n;n<=t?i<t:i>t;r=n<=t?++i:--i)c[r].scope.$destroy(),c[r].element.remove();return c.splice(n,t-n)},ti=function(){return a=1,v=1,nt(0,c.length),l.topPadding(0),l.bottomPadding(0),g=[],rt=!1,tt=!1,k(!1)},et=function(){return y.scrollTop()+y.height()},ht=function(){return y.scrollTop()},bt=function(){return!rt&&l.bottomDataPos()<et()+it()},gt=function(){var r,u,f,t,i,e;for(r=0,t=0,u=i=e=c.length-1;e<=0?i<=0:i>=0;u=e<=0?++i:--i)if(f=c[u].element.outerHeight(!0),l.bottomDataPos()-r-f>et()+it())r+=f,t++,rt=!1;else break;if(t>0)return l.bottomPadding(l.bottomPadding()+r),nt(c.length-t,c.length),v-=t,n.log("clipped off bottom "+t+" bottom padding "+l.bottomPadding())},kt=function(){return!tt&&l.topDataPos()>ht()-it()},ni=function(){var f,u,t,i,r,e;for(i=0,t=0,r=0,e=c.length;r<e;r++)if(f=c[r],u=f.element.outerHeight(!0),l.topDataPos()+i+u<ht()-it())i+=u,t++,tt=!1;else break;if(t>0)return l.topPadding(l.topPadding()+i),nt(0,t),a+=t,n.log("clipped off top "+t+" top padding "+l.topPadding())},ct=function(n,t){return d||(d=!0,yt(!0)),g.push(n)===1?lt(t):void 0},b=function(n,t){var i,u,r;return i=f.$new(),i[vt]=t,u=n>a,i.$index=n,u&&i.$index--,r={scope:i},e(i,function(t){return r.element=t,u?n===v?(l.append(t),c.push(r)):(c[n-a].element.after(t),c.splice(n-a+1,0,r)):(l.prepend(t),c.unshift(r))}),{appended:u,wrapper:r}},dt=function(n,t){var i;return n?l.bottomPadding(Math.max(0,l.bottomPadding()-t.element.outerHeight(!0))):(i=l.topPadding()-t.element.outerHeight(!0),i>=0?l.topPadding(i):y.scrollTop(y.scrollTop()+t.element.outerHeight(!0)))},k=function(t,i,u){var f;return f=function(){return n.log("top {actual="+l.topDataPos()+" visible from="+ht()+" bottom {visible through="+et()+" actual="+l.bottomDataPos()+"}"),bt()?ct(!0,t):kt()&&ct(!1,t),u?u():void 0},i?r(function(){for(var t,n=0,r=i.length;n<r;n++)t=i[n],dt(t.appended,t.wrapper);return f()}):f()},ft=function(n,t){return k(n,t,function(){return g.shift(),g.length===0?(d=!1,yt(!1)):lt(n)})},lt=function(t){var i;return i=g[0],i?c.length&&!bt()?ft(t):p.get(v,w,function(i){var f,u,r,e;if(u=[],i.length===0)rt=!0,l.bottomPadding(0),n.log("appended: requested "+w+" records starting from "+v+" recieved: eof");else{for(ni(),r=0,e=i.length;r<e;r++)f=i[r],u.push(b(++v,f));n.log("appended: requested "+w+" received "+i.length+" buffer size "+c.length+" first "+a+" next "+v)}return ft(t,u)}):c.length&&!kt()?ft(t):p.get(a-w,w,function(i){var u,f,r,e;if(f=[],i.length===0)tt=!0,l.topPadding(0),n.log("prepended: requested "+w+" records starting from "+(a-w)+" recieved: bof");else{for(gt(),u=r=e=i.length-1;e<=0?r<=0:r>=0;u=e<=0?++r:--r)f.unshift(b(--a,i[u]));n.log("prepended: requested "+w+" received "+i.length+" buffer size "+c.length+" first "+a+" next "+v)}return ft(t,f)})},pt=function(){if(!i.$$phase&&!d)return k(!1),f.$apply()},y.bind("resize",pt),wt=function(){if(!i.$$phase&&!d)return k(!0),f.$apply()},y.bind("scroll",wt),f.$watch(p.revision,function(){return ti()}),ut=p.scope?p.scope.$new():f.$new(),f.$on("$destroy",function(){return ut.$destroy(),y.unbind("resize",pt),y.unbind("scroll",wt)}),ut.$on("update.items",function(n,t,i){var u,f,r,e,o;if(angular.isFunction(t))for(f=function(n){return t(n.scope)},r=0,e=c.length;r<e;r++)u=c[r],f(u);else 0<=(o=t-a-1)&&o<c.length&&(c[t-a-1].scope[vt]=i);return null}),ut.$on("delete.items",function(n,t){var i,u,r,s,h,f,e,o,l,y,p,w;if(angular.isFunction(t)){for(r=[],f=0,l=c.length;f<l;f++)u=c[f],r.unshift(u);for(h=function(n){if(t(n.scope))return nt(r.length-1-i,r.length-i),v--},i=e=0,y=r.length;e<y;i=++e)s=r[i],h(s)}else 0<=(w=t-a-1)&&w<c.length&&(nt(t-a-1,t-a),v--);for(i=o=0,p=c.length;o<p;i=++o)u=c[i],u.scope.$index=a+i;return k(!1)}),ut.$on("insert.item",function(n,t,i){var r,u,f,h,l,e,o,s,y,p,w,d;if(u=[],angular.isFunction(t)){for(f=[],e=0,y=c.length;e<y;e++)i=c[e],f.unshift(i);for(l=function(n){var e,f,o,h,s;if(f=t(n.scope)){if(b=function(n,t){return b(n,t),v++},angular.isArray(f)){for(s=[],e=o=0,h=f.length;o<h;e=++o)i=f[e],s.push(u.push(b(r+e,i)));return s}return u.push(b(r,f))}},r=o=0,p=f.length;o<p;r=++o)h=f[r],l(h)}else 0<=(d=t-a-1)&&d<c.length&&(u.push(b(t,i)),v++);for(r=s=0,w=c.length;s<w;r=++s)i=c[r],i.scope.$index=a+r;return k(!1,u)})}}}}]);angular.module("ui.scrollfix",[]).directive("uiScrollfix",["$window",function(n){return{require:"^?uiScrollfixTarget",link:function(t,i,r,u){function o(){var t,u;angular.isDefined(n.pageYOffset)?t=n.pageYOffset:(u=document.compatMode&&document.compatMode!=="BackCompat"?document.documentElement:document.body,t=u.scrollTop);!i.hasClass("ui-scrollfix")&&t>r.uiScrollfix?i.addClass("ui-scrollfix"):i.hasClass("ui-scrollfix")&&t<r.uiScrollfix&&i.removeClass("ui-scrollfix")}var f=i[0].offsetTop,e=u&&u.$element||angular.element(n);r.uiScrollfix?typeof r.uiScrollfix=="string"&&(r.uiScrollfix.charAt(0)==="-"?r.uiScrollfix=f-parseFloat(r.uiScrollfix.substr(1)):r.uiScrollfix.charAt(0)==="+"&&(r.uiScrollfix=f+parseFloat(r.uiScrollfix.substr(1)))):r.uiScrollfix=f;e.on("scroll",o);t.$on("$destroy",function(){e.off("scroll",o)})}}}]).directive("uiScrollfixTarget",[function(){return{controller:["$element",function(n){this.$element=n}]}}]);angular.module("ui.showhide",[]).directive("uiShow",[function(){return function(n,t,i){n.$watch(i.uiShow,function(n){n?t.addClass("ui-show"):t.removeClass("ui-show")})}}]).directive("uiHide",[function(){return function(n,t,i){n.$watch(i.uiHide,function(n){n?t.addClass("ui-hide"):t.removeClass("ui-hide")})}}]).directive("uiToggle",[function(){return function(n,t,i){n.$watch(i.uiToggle,function(n){n?t.removeClass("ui-hide").addClass("ui-show"):t.removeClass("ui-show").addClass("ui-hide")})}}]);angular.module("ui.unique",[]).filter("unique",["$parse",function(n){return function(t,i){if(i===!1)return t;if((i||angular.isUndefined(i))&&angular.isArray(t)){var r=[],f=angular.isString(i)?n(i):function(n){return n},u=function(n){return angular.isObject(n)?f(n):n};angular.forEach(t,function(n){for(var i=!1,t=0;t<r.length;t++)if(angular.equals(u(r[t]),u(n))){i=!0;break}i||r.push(n)});t=r}return t}}]);angular.module("ui.validate",[]).directive("uiValidate",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){function o(t){if(angular.isString(t)){n.$watch(t,function(){angular.forEach(u,function(n){n(r.$modelValue)})});return}if(angular.isArray(t)){angular.forEach(t,function(t){n.$watch(t,function(){angular.forEach(u,function(n){n(r.$modelValue)})})});return}angular.isObject(t)&&angular.forEach(t,function(t,i){angular.isString(t)&&n.$watch(t,function(){u[i](r.$modelValue)});angular.isArray(t)&&angular.forEach(t,function(t){n.$watch(t,function(){u[i](r.$modelValue)})})})}var e,u={},f=n.$eval(i.uiValidate);f&&(angular.isString(f)&&(f={validator:f}),angular.forEach(f,function(t,i){e=function(u){var f=n.$eval(t,{$value:u});return angular.isObject(f)&&angular.isFunction(f.then)?(f.then(function(){r.$setValidity(i,!0)},function(){r.$setValidity(i,!1)}),u):f?(r.$setValidity(i,!0),u):(r.$setValidity(i,!1),u)};u[i]=e;r.$formatters.push(e);r.$parsers.push(e)}),i.uiValidateWatch&&o(n.$eval(i.uiValidateWatch)))}}});angular.module("ui.utils",["ui.event","ui.format","ui.highlight","ui.include","ui.indeterminate","ui.inflector","ui.jq","ui.keypress","ui.mask","ui.reset","ui.route","ui.scrollfix","ui.scroll","ui.scroll.jqlite","ui.showhide","ui.unique","ui.validate"]);angular.module("checklist-model",[]).directive("checklistModel",["$parse","$compile",function(n,t){function i(n,t){if(angular.isArray(n))for(var i=0;i<n.length;i++)if(angular.equals(n[i],t))return!0;return!1}function r(n,t){n=angular.isArray(n)?n:[];for(var i=0;i<n.length;i++)if(angular.equals(n[i],t))return n;return n.push(t),n}function u(n,t){if(angular.isArray(n))for(var i=0;i<n.length;i++)if(angular.equals(n[i],t)){n.splice(i,1);break}return n}function f(f,e,o){t(e)(f);var h=n(o.checklistModel),c=h.assign,s=n(o.checklistValue)(f.$parent);f.$watch("checked",function(n,t){if(n!==t){var i=h(f.$parent);n===!0?c(f.$parent,r(i,s)):c(f.$parent,u(i,s))}});f.$parent.$watch(o.checklistModel,function(n){f.checked=i(n,s)},!0)}return{restrict:"A",priority:1e3,terminal:!0,scope:!0,compile:function(n,t){if(n[0].tagName!=="INPUT"||!n.attr("type","checkbox"))throw'checklist-model should be applied to `input[type="checkbox"]`.';if(!t.checklistValue)throw"You should provide `checklist-value`.";return n.removeAttr("checklist-model"),n.attr("ng-model","checked"),f}}}]);angular.module("xeditable",[]).value("editableOptions",{theme:"default",buttons:"right",blurElem:"cancel",blurForm:"ignore",activate:"focus"});angular.module("xeditable").directive("editableBsdate",["editableDirectiveFactory",function(n){return n({directiveName:"editableBsdate",inputTpl:'<input type="text">'})}]);angular.module("xeditable").directive("editableBstime",["editableDirectiveFactory",function(n){return n({directiveName:"editableBstime",inputTpl:"<timepicker><\/timepicker>",render:function(){this.parent.render.call(this);var n=angular.element('<div class="well well-small" style="display:inline-block;"><\/div>');n.attr("ng-model",this.inputEl.attr("ng-model"));this.inputEl.removeAttr("ng-model");this.attrs.eNgChange&&(n.attr("ng-change",this.inputEl.attr("ng-change")),this.inputEl.removeAttr("ng-change"));this.inputEl.wrap(n)}})}]);angular.module("xeditable").directive("editableCheckbox",["editableDirectiveFactory",function(n){return n({directiveName:"editableCheckbox",inputTpl:'<input type="checkbox">',render:function(){this.parent.render.call(this);this.attrs.eTitle&&(this.inputEl.wrap("<label><\/label>"),this.inputEl.after(angular.element("<span><\/span>").text(this.attrs.eTitle)))},autosubmit:function(){var n=this;n.inputEl.bind("change",function(){setTimeout(function(){n.scope.$apply(function(){n.scope.$form.$submit()})},500)})}})}]);angular.module("xeditable").directive("editableChecklist",["editableDirectiveFactory","editableNgOptionsParser",function(n,t){return n({directiveName:"editableChecklist",inputTpl:"<span><\/span>",useCopy:!0,render:function(){this.parent.render.call(this);var n=t(this.attrs.eNgOptions),i='<label ng-repeat="'+n.ngRepeat+'"><input type="checkbox" checklist-model="$parent.$data" checklist-value="'+n.locals.valueFn+'"><span ng-bind="'+n.locals.displayFn+'"><\/span><\/label>';this.inputEl.removeAttr("ng-model");this.inputEl.removeAttr("ng-options");this.inputEl.html(i)}})}]),function(){var n="text|email|tel|number|url|search|color|date|datetime|time|month|week".split("|");angular.forEach(n,function(n){var t="editable"+n.charAt(0).toUpperCase()+n.slice(1);angular.module("xeditable").directive(t,["editableDirectiveFactory",function(i){return i({directiveName:t,inputTpl:'<input type="'+n+'">'})}])});angular.module("xeditable").directive("editableRange",["editableDirectiveFactory",function(n){return n({directiveName:"editableRange",inputTpl:'<input type="range" id="range" name="range">',render:function(){this.parent.render.call(this);this.inputEl.after("<output>{{$data}}<\/output>")}})}])}();angular.module("xeditable").directive("editableRadiolist",["editableDirectiveFactory","editableNgOptionsParser",function(n,t){return n({directiveName:"editableRadiolist",inputTpl:"<span><\/span>",render:function(){this.parent.render.call(this);var n=t(this.attrs.eNgOptions),i='<label ng-repeat="'+n.ngRepeat+'"><input type="radio" ng-model="$parent.$data" value="{{'+n.locals.valueFn+'}}"><span ng-bind="'+n.locals.displayFn+'"><\/span><\/label>';this.inputEl.removeAttr("ng-model");this.inputEl.removeAttr("ng-options");this.inputEl.html(i)},autosubmit:function(){var n=this;n.inputEl.bind("change",function(){setTimeout(function(){n.scope.$apply(function(){n.scope.$form.$submit()})},500)})}})}]);angular.module("xeditable").directive("editableSelect",["editableDirectiveFactory",function(n){return n({directiveName:"editableSelect",inputTpl:"<select><\/select>",autosubmit:function(){var n=this;n.inputEl.bind("change",function(){n.scope.$apply(function(){n.scope.$form.$submit()})})}})}]);angular.module("xeditable").directive("editableTextarea",["editableDirectiveFactory",function(n){return n({directiveName:"editableTextarea",inputTpl:"<textarea><\/textarea>",addListeners:function(){var n=this;n.parent.addListeners.call(n);n.single&&n.buttons!=="no"&&n.autosubmit()},autosubmit:function(){var n=this;n.inputEl.bind("keydown",function(t){(t.ctrlKey||t.metaKey)&&t.keyCode===13&&n.scope.$apply(function(){n.scope.$form.$submit()})})}})}]);angular.module("xeditable").factory("editableController",["$q","editableUtils",function(n,t){function i(n,i,r,u,f,e,o,s,h){var l,a,c=this;c.scope=n;c.elem=r;c.attrs=i;c.inputEl=null;c.editorEl=null;c.single=!0;c.error="";c.theme=f[e.theme]||f["default"];c.parent={};c.inputTpl="";c.directiveName="";c.useCopy=!1;c.single=null;c.buttons="right";c.init=function(t){if(c.single=t,c.name=i.eName||i[c.directiveName],i[c.directiveName])l=u(i[c.directiveName]);else throw"You should provide value for `"+c.directiveName+"` in editable element!";c.buttons=c.single?c.attrs.buttons||e.buttons:"no";i.eName&&c.scope.$watch("$data",function(n){c.scope.$form.$data[i.eName]=n});i.onshow&&(c.onshow=function(){return c.catchError(u(i.onshow)(n))});i.onhide&&(c.onhide=function(){return u(i.onhide)(n)});i.oncancel&&(c.oncancel=function(){return u(i.oncancel)(n)});i.onbeforesave&&(c.onbeforesave=function(){return c.catchError(u(i.onbeforesave)(n))});i.onaftersave&&(c.onaftersave=function(){return c.catchError(u(i.onaftersave)(n))});n.$parent.$watch(i[c.directiveName],function(){c.handleEmpty()})};c.render=function(){var n=c.theme,u,r,f,o;c.inputEl=angular.element(c.inputTpl);c.controlsEl=angular.element(n.controlsTpl);c.controlsEl.append(c.inputEl);c.buttons!=="no"&&(c.buttonsEl=angular.element(n.buttonsTpl),c.submitEl=angular.element(n.submitTpl),c.cancelEl=angular.element(n.cancelTpl),c.buttonsEl.append(c.submitEl).append(c.cancelEl),c.controlsEl.append(c.buttonsEl),c.inputEl.addClass("editable-has-buttons"));c.errorEl=angular.element(n.errorTpl);c.controlsEl.append(c.errorEl);c.editorEl=angular.element(c.single?n.formTpl:n.noformTpl);c.editorEl.append(c.controlsEl);for(u in i.$attr)if(!(u.length<=1)){if(r=!1,f=u.substring(1,2),u.substring(0,1)==="e"&&f===f.toUpperCase())r=u.substring(1);else continue;r!=="Form"&&r!=="NgSubmit"&&(r=r.substring(0,1).toLowerCase()+t.camelToDash(r.substring(1)),o=i[u]===""?r:i[u],c.inputEl.attr(r,o))}c.inputEl.addClass("editable-input");c.inputEl.attr("ng-model","$data");c.editorEl.addClass(t.camelToDash(c.directiveName));c.single&&(c.editorEl.attr("editable-form","$form"),c.editorEl.attr("blur",c.attrs.blur||(c.buttons==="no"?"cancel":e.blurElem)));angular.isFunction(n.postrender)&&n.postrender.call(c)};c.setLocalValue=function(){c.scope.$data=c.useCopy?angular.copy(l(n.$parent)):l(n.$parent)};c.show=function(){return c.setLocalValue(),c.render(),r.after(c.editorEl),s(c.editorEl)(n),c.addListeners(),r.addClass("editable-hide"),c.onshow()};c.hide=function(){return c.editorEl.remove(),r.removeClass("editable-hide"),c.onhide()};c.cancel=function(){c.oncancel()};c.addListeners=function(){c.inputEl.bind("keyup",function(n){if(c.single)switch(n.keyCode){case 27:c.scope.$apply(function(){c.scope.$form.$cancel()})}});c.single&&c.buttons==="no"&&c.autosubmit();c.editorEl.bind("click",function(n){n.which===1&&c.scope.$form.$visible&&(c.scope.$form._clicked=!0)})};c.setWaiting=function(n){n?(a=!c.inputEl.attr("disabled")&&!c.inputEl.attr("ng-disabled")&&!c.inputEl.attr("ng-enabled"),a&&(c.inputEl.attr("disabled","disabled"),c.buttonsEl&&c.buttonsEl.find("button").attr("disabled","disabled"))):a&&(c.inputEl.removeAttr("disabled"),c.buttonsEl&&c.buttonsEl.find("button").removeAttr("disabled"))};c.activate=function(){setTimeout(function(){var n=c.inputEl[0];e.activate==="focus"&&n.focus&&n.focus();e.activate==="select"&&n.select&&n.select()},0)};c.setError=function(t){angular.isObject(t)||(n.$error=t,c.error=t)};c.catchError=function(n,t){return angular.isObject(n)&&t!==!0?h.when(n).then(angular.bind(this,function(n){this.catchError(n,!0)}),angular.bind(this,function(n){this.catchError(n,!0)})):t&&angular.isObject(n)&&n.status&&n.status!==200&&n.data&&angular.isString(n.data)?(this.setError(n.data),n=n.data):angular.isString(n)&&this.setError(n),n};c.save=function(){l.assign(n.$parent,angular.copy(c.scope.$data))};c.handleEmpty=function(){var t=l(n.$parent),i=t===null||t===undefined||t===""||angular.isArray(t)&&t.length===0;r.toggleClass("editable-empty",i)};c.autosubmit=angular.noop;c.onshow=angular.noop;c.onhide=angular.noop;c.oncancel=angular.noop;c.onbeforesave=angular.noop;c.onaftersave=angular.noop}return i.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableOptions","$rootScope","$compile","$q"],i}]);angular.module("xeditable").factory("editableDirectiveFactory",["$parse","$compile","editableThemes","$rootScope","$document","editableController","editableFormController",function(n,t,i,r,u,f,e){return function(t){return{restrict:"A",scope:!0,require:[t.directiveName,"?^form"],controller:f,link:function(i,f,o,s){var h=s[0],c,l=!1,v,a;if(s[1])c=s[1],l=!0;else if(o.eForm)if(v=n(o.eForm)(i),v)c=v,l=!0;else for(a=0;a<u[0].forms.length;a++)if(u[0].forms[a].name===o.eForm){c=null;l=!0;break}if(angular.forEach(t,function(n,t){h[t]!==undefined&&(h.parent[t]=h[t])}),angular.extend(h,t),h.init(!l),i.$editable=h,f.addClass("editable"),l)if(c){if(i.$form=c,!i.$form.$addEditable)throw"Form with editable elements should have `editable-form` attribute.";i.$form.$addEditable(h)}else r.$$editableBuffer=r.$$editableBuffer||{},r.$$editableBuffer[o.eForm]=r.$$editableBuffer[o.eForm]||[],r.$$editableBuffer[o.eForm].push(h),i.$form=null;else i.$form=e(),i.$form.$addEditable(h),o.eForm&&(i.$parent[o.eForm]=i.$form),o.eForm||(f.addClass("editable-click"),f.bind("click",function(n){n.preventDefault();n.editable=h;i.$apply(function(){i.$form.$show()})}))}}}}]);angular.module("xeditable").factory("editableFormController",["$parse","$document","$rootScope","editablePromiseCollection","editableUtils",function(n,t,i,r,u){var f=[],e;return t.bind("click",function(n){var r,u,t;if(n.which===1){for(r=[],u=[],t=0;t<f.length;t++){if(f[t]._clicked){f[t]._clicked=!1;continue}f[t].$waiting||(f[t]._blur==="cancel"&&r.push(f[t]),f[t]._blur==="submit"&&u.push(f[t]))}(r.length||u.length)&&i.$apply(function(){angular.forEach(r,function(n){n.$cancel()});angular.forEach(u,function(n){n.$submit()})})}}),e={$addEditable:function(n){this.$editables.push(n);n.elem.bind("$destroy",angular.bind(this,this.$removeEditable,n));n.scope.$form||(n.scope.$form=this);this.$visible&&n.catchError(n.show())},$removeEditable:function(n){for(var t=0;t<this.$editables.length;t++)if(this.$editables[t]===n){this.$editables.splice(t,1);return}},$show:function(){if(!this.$visible){this.$visible=!0;var n=r();n.when(this.$onshow());this.$setError(null,"");angular.forEach(this.$editables,function(t){n.when(t.show())});n.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$activate),onFalse:angular.bind(this,this.$activate),onString:angular.bind(this,this.$activate)});setTimeout(angular.bind(this,function(){this._clicked=!1;u.indexOf(f,this)===-1&&f.push(this)}),0)}},$activate:function(n){var t;if(this.$editables.length){if(angular.isString(n))for(t=0;t<this.$editables.length;t++)if(this.$editables[t].name===n){this.$editables[t].activate();return}for(t=0;t<this.$editables.length;t++)if(this.$editables[t].error){this.$editables[t].activate();return}this.$editables[0].activate()}},$hide:function(){this.$visible&&(this.$visible=!1,this.$onhide(),angular.forEach(this.$editables,function(n){n.hide()}),u.arrayRemove(f,this))},$cancel:function(){this.$visible&&(this.$oncancel(),angular.forEach(this.$editables,function(n){n.cancel()}),this.$hide())},$setWaiting:function(n){this.$waiting=!!n;angular.forEach(this.$editables,function(t){t.setWaiting(!!n)})},$setError:function(n,t){angular.forEach(this.$editables,function(i){n&&i.name!==n||i.setError(t)})},$submit:function(){function t(n){var t=r();t.when(this.$onbeforesave());t.then({onWait:angular.bind(this,this.$setWaiting),onTrue:n?angular.bind(this,this.$save):angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})}if(!this.$waiting){this.$setError(null,"");var n=r();angular.forEach(this.$editables,function(t){n.when(t.onbeforesave())});n.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,t,!0),onFalse:angular.bind(this,t,!1),onString:angular.bind(this,this.$activate)})}},$save:function(){angular.forEach(this.$editables,function(n){n.save()});var n=r();n.when(this.$onaftersave());angular.forEach(this.$editables,function(t){n.when(t.onaftersave())});n.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})},$onshow:angular.noop,$oncancel:angular.noop,$onhide:angular.noop,$onbeforesave:angular.noop,$onaftersave:angular.noop},function(){return angular.extend({$editables:[],$visible:!1,$waiting:!1,$data:{},_clicked:!1,_blur:null},e)}}]);angular.module("xeditable").directive("editableForm",["$rootScope","$parse","editableFormController","editableOptions",function(n,t,i,r){return{restrict:"A",require:["form"],compile:function(){return{pre:function(t,r,u,f){var h=f[0],e,o,s;u.editableForm?t[u.editableForm]&&t[u.editableForm].$show?(e=t[u.editableForm],angular.extend(h,e)):(e=i(),t[u.editableForm]=e,angular.extend(e,h)):(e=i(),angular.extend(h,e));o=n.$$editableBuffer;s=h.$name;s&&o&&o[s]&&(angular.forEach(o[s],function(n){e.$addEditable(n)}),delete o[s])},post:function(n,i,u,f){var e;e=u.editableForm&&n[u.editableForm]&&n[u.editableForm].$show?n[u.editableForm]:f[0];u.onshow&&(e.$onshow=angular.bind(e,t(u.onshow),n));u.onhide&&(e.$onhide=angular.bind(e,t(u.onhide),n));u.oncancel&&(e.$oncancel=angular.bind(e,t(u.oncancel),n));u.shown&&t(u.shown)(n)&&e.$show();e._blur=u.blur||r.blurForm;u.ngSubmit||u.submit||(u.onbeforesave&&(e.$onbeforesave=function(){return t(u.onbeforesave)(n,{$data:e.$data})}),u.onaftersave&&(e.$onaftersave=function(){return t(u.onaftersave)(n,{$data:e.$data})}),i.bind("submit",function(t){t.preventDefault();n.$apply(function(){e.$submit()})}));i.bind("click",function(n){n.which===1&&e.$visible&&(e._clicked=!0)})}}}}}]);angular.module("xeditable").factory("editablePromiseCollection",["$q",function(n){function t(){return{promises:[],hasFalse:!1,hasString:!1,when:function(t,i){if(t===!1)this.hasFalse=!0;else if(!i&&angular.isObject(t))this.promises.push(n.when(t));else if(angular.isString(t))this.hasString=!0;else return},then:function(t){function f(){i.hasString||i.hasFalse?!i.hasString&&i.hasFalse?o():u():e()}t=t||{};var e=t.onTrue||angular.noop,o=t.onFalse||angular.noop,u=t.onString||angular.noop,r=t.onWait||angular.noop,i=this;this.promises.length?(r(!0),n.all(this.promises).then(function(n){r(!1);angular.forEach(n,function(n){i.when(n,!0)});f()},function(){r(!1);u()})):f()}}}return t}]);angular.module("xeditable").factory("editableUtils",[function(){return{indexOf:function(n,t){if(n.indexOf)return n.indexOf(t);for(var i=0;i<n.length;i++)if(t===n[i])return i;return-1},arrayRemove:function(n,t){var i=this.indexOf(n,t);return i>=0&&n.splice(i,1),t},camelToDash:function(n){return n.replace(/[A-Z]/g,function(n,t){return(t?"-":"")+n.toLowerCase()})},dashToCamel:function(n){return n.replace(/([\:\-\_]+(.))/g,function(n,t,i,r){return r?i.toUpperCase():i}).replace(/^moz([A-Z])/,"Moz$1")}}}]);angular.module("xeditable").factory("editableNgOptionsParser",[function(){function t(t){var i;if(!(i=t.match(n)))throw"ng-options parse error";var s=i[2]||i[1],r=i[4]||i[6],f=i[5],l=i[3]||"",h=i[2]?i[1]:r,e=i[7],o=i[8],c=o?i[8]:null,u;return f===undefined?(u=r+" in "+e,o!==undefined&&(u+=" track by "+c)):u="("+f+", "+r+") in "+e,{ngRepeat:u,locals:{valueName:r,keyName:f,valueFn:h,displayFn:s}}}var n=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/;return t}]);angular.module("xeditable").factory("editableThemes",function(){return{"default":{formTpl:'<form class="editable-wrap"><\/form>',noformTpl:'<span class="editable-wrap"><\/span>',controlsTpl:'<span class="editable-controls"><\/span>',inputTpl:"",errorTpl:'<div class="editable-error" ng-show="$error" ng-bind="$error"><\/div>',buttonsTpl:'<span class="editable-buttons"><\/span>',submitTpl:'<button type="submit">save<\/button>',cancelTpl:'<button type="button" ng-click="$form.$cancel()">cancel<\/button>'},bs2:{formTpl:'<form class="form-inline editable-wrap" role="form"><\/form>',noformTpl:'<span class="editable-wrap"><\/span>',controlsTpl:'<div class="editable-controls controls control-group" ng-class="{\'error\': $error}"><\/div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" ng-show="$error" ng-bind="$error"><\/div>',buttonsTpl:'<span class="editable-buttons"><\/span>',submitTpl:'<button type="submit" class="btn btn-primary"><span class="icon-ok icon-white"><\/span><\/button>',cancelTpl:'<button type="button" class="btn" ng-click="$form.$cancel()"><span class="icon-remove"><\/span><\/button>'},bs3:{formTpl:'<form class="form-inline editable-wrap" role="form"><\/form>',noformTpl:'<span class="editable-wrap"><\/span>',controlsTpl:'<div class="editable-controls form-group" ng-class="{\'has-error\': $error}"><\/div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" ng-show="$error" ng-bind="$error"><\/div>',buttonsTpl:'<span class="editable-buttons"><\/span>',submitTpl:'<button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-ok"><\/span><\/button>',cancelTpl:'<button type="button" class="btn btn-default" ng-click="$form.$cancel()"><span class="glyphicon glyphicon-remove"><\/span><\/button>',buttonsClass:"",inputClass:"",postrender:function(){switch(this.directiveName){case"editableText":case"editableSelect":case"editableTextarea":case"editableEmail":case"editableTel":case"editableNumber":case"editableUrl":case"editableSearch":case"editableDate":case"editableDatetime":case"editableTime":case"editableMonth":case"editableWeek":if(this.inputEl.addClass("form-control"),this.theme.inputClass){if(this.inputEl.attr("multiple")&&(this.theme.inputClass==="input-sm"||this.theme.inputClass==="input-lg"))break;this.inputEl.addClass(this.theme.inputClass)}}this.buttonsEl&&this.theme.buttonsClass&&this.buttonsEl.find("button").addClass(this.theme.buttonsClass)}}}}),function(n){"use strict";n.module("angulartics.google.analytics",["angulartics"]).config(["$analyticsProvider",function(n){n.settings.trackRelativePath=!0;n.registerPageTrack(function(n){window._gaq&&_gaq.push(["_trackPageview",n]);window.ga&&ga("send","pageview",n)});n.registerEventTrack(function(n,t){if(t&&t.category){if(t.value){var i=parseInt(t.value,10);t.value=isNaN(i)?0:i}window._gaq?_gaq.push(["_trackEvent",t.category,n,t.label,t.value,t.noninteraction]):window.ga&&(t.noninteraction?ga("send","event",t.category,n,t.label,t.value,{nonInteraction:1}):ga("send","event",t.category,n,t.label,t.value))}})}])}(angular),function(n){"use strict";var t=window.angulartics||(window.angulartics={});t.waitForVendorCount=0;t.waitForVendorApi=function(n,i,r,u,f){f||t.waitForVendorCount++;u||(u=r,r=undefined);Object.prototype.hasOwnProperty.call(window,n)&&(r===undefined||window[n][r]!==undefined)?(t.waitForVendorCount--,u(window[n])):setTimeout(function(){t.waitForVendorApi(n,i,r,u,!0)},i)};n.module("angulartics",[]).provider("$analytics",function(){var i={pageTracking:{autoTrackFirstPage:!0,autoTrackVirtualPages:!0,trackRelativePath:!1,autoBasePath:!1,basePath:""},eventTracking:{},bufferFlushDelay:1e3},r={},u={},s=function(n){return function(){t.waitForVendorCount&&(r[n]||(r[n]=[]),r[n].push(arguments))}},e=function(t,i){return u[t]||(u[t]=[]),u[t].push(i),function(){var i=arguments;n.forEach(u[t],function(n){n.apply(this,i)},this)}},f={settings:i},h=function(n,t){t?setTimeout(n,t):n()},o={$get:function(){return f},api:f,settings:i,virtualPageviews:function(n){this.settings.pageTracking.autoTrackVirtualPages=n},firstPageview:function(n){this.settings.pageTracking.autoTrackFirstPage=n},withBase:function(t){this.settings.pageTracking.basePath=t?n.element("base").attr("href").slice(0,-1):""},withAutoBase:function(n){this.settings.pageTracking.autoBasePath=n}},c=function(t,u){f[t]=e(t,u);var o=i[t],s=o?o.bufferFlushDelay:null,c=s!==null?s:i.bufferFlushDelay;n.forEach(r[t],function(n,t){h(function(){u.apply(this,n)},t*c)})},l=function(n){return n.replace(/^./,function(n){return n.toUpperCase()})},a=function(n){var t="register"+l(n);o[t]=function(t){c(n,t)};f[n]=e(n,s(n))};return n.forEach(["pageTrack","eventTrack","setUsername","setUserProperties","setUserPropertiesOnce","setSuperProperties","setSuperPropertiesOnce"],a),o}).run(["$rootScope","$location","$window","$analytics","$injector",function(n,t,i,r,u){var f,e,h,o,c,s;if(r.settings.pageTracking.autoTrackFirstPage){if(f=!0,u.has("$route")){e=u.get("$route");for(h in e.routes){f=!1;break}}else if(u.has("$state")){o=u.get("$state");for(c in o.get()){f=!1;break}}else f=!1;f&&(r.settings.pageTracking.autoBasePath&&(r.settings.pageTracking.basePath=i.location.pathname),r.settings.trackRelativePath?(s=r.settings.pageTracking.basePath+t.url(),r.pageTrack(s)):r.pageTrack(t.absUrl()))}r.settings.pageTracking.autoTrackVirtualPages&&(r.settings.pageTracking.autoBasePath&&(r.settings.pageTracking.basePath=i.location.pathname+"#"),u.has("$route")&&n.$on("$routeChangeSuccess",function(n,i){if(!i||!(i.$$route||i).redirectTo){var u=r.settings.pageTracking.basePath+t.url();r.pageTrack(u)}}),u.has("$state")&&n.$on("$stateChangeSuccess",function(){var n=r.settings.pageTracking.basePath+t.url();r.pageTrack(n)}))}]).directive("analyticsOn",["$analytics",function(t){function i(n){return["a:","button:","button:button","button:submit","input:button","input:submit"].indexOf(n.tagName.toLowerCase()+":"+(n.type||""))>=0}function u(n){return i(n),"click"}function f(n){return i(n)?n.innerText||n.value:n.id||n.name||n.tagName}function e(n){return n.substr(0,9)==="analytics"&&["On","Event","If","Properties","EventType"].indexOf(n.substr(9))===-1}function r(n){var t=n.slice(9);return typeof t!="undefined"&&t!==null&&t.length>0?t.substring(0,1).toLowerCase()+t.substring(1):t}return{restrict:"A",scope:!0,link:function(i,o,s){var h=s.analyticsOn||u(o[0]);i.$analytics={};n.forEach(s.$attr,function(n,t){e(t)&&(i.$analytics[r(t)]=s[t],s.$observe(t,function(n){i.$analytics[r(t)]=n}))});n.element(o[0]).bind(h,function(r){var u=s.analyticsEvent||f(o[0]);(i.$analytics.eventType=r.type,!s.analyticsIf||i.$eval(s.analyticsIf))&&(s.analyticsProperties&&n.extend(i.$analytics,i.$eval(s.analyticsProperties)),t.eventTrack(u,i.$analytics))})}}}])}(angular),function(){"use strict";var n=angular.module("pasvaz.bindonce",[]);n.directive("bindonce",function(){var t=function(n){if(n&&n.length!==0){var t=angular.lowercase(""+n);n=!(t==="f"||t==="0"||t==="false"||t==="no"||t==="n"||t==="[]")}else n=!1;return n},n=parseInt((/msie (\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10);return isNaN(n)&&(n=parseInt((/trident\/.*; rv:(\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10)),{restrict:"AM",controller:["$scope","$element","$attrs","$interpolate",function(i,r,u,f){var o=function(n,i,r){var u=i==="show"?"":"none",f=i==="hide"?"":"none";n.css("display",t(r)?u:f)},s=function(n,t){if(angular.isObject(t)&&!angular.isArray(t)){var i=[];angular.forEach(t,function(n,t){n&&i.push(t)});t=i}t&&n.addClass(angular.isArray(t)?t.join(" "):t)},e=function(n,t){n.transclude(t,function(t){var r=n.element.parent(),i=n.element&&n.element[n.element.length-1],u=r&&r[0]||i&&i.parentNode,f=i&&i.nextSibling||null;angular.forEach(t,function(n){u.insertBefore(n,f)})})},h={watcherRemover:undefined,binders:[],group:u.boName,element:r,ran:!1,addBinder:function(n){this.binders.push(n);this.ran&&this.runBinders()},setupWatcher:function(n){var t=this;this.watcherRemover=i.$watch(n,function(n){n!==undefined&&(t.removeWatcher(),t.checkBindonce(n))},!0)},checkBindonce:function(n){var t=this,i=n.$promise?n.$promise.then:n.then;typeof i=="function"?i(function(){t.runBinders()}):t.runBinders()},removeWatcher:function(){this.watcherRemover!==undefined&&(this.watcherRemover(),this.watcherRemover=undefined)},runBinders:function(){for(var i,r,c,h,u;this.binders.length>0;)if(i=this.binders.shift(),!this.group||this.group==i.group){r=i.scope.$eval(i.interpolate?f(i.value):i.value);switch(i.attr){case"boIf":t(r)&&e(i,i.scope.$new());break;case"boSwitch":h=i.controller[0];(c=h.cases["!"+r]||h.cases["?"])&&(i.scope.$eval(i.attrs.change),angular.forEach(c,function(n){e(n,i.scope.$new())}));break;case"boSwitchWhen":u=i.controller[0];u.cases["!"+i.attrs.boSwitchWhen]=u.cases["!"+i.attrs.boSwitchWhen]||[];u.cases["!"+i.attrs.boSwitchWhen].push({transclude:i.transclude,element:i.element});break;case"boSwitchDefault":u=i.controller[0];u.cases["?"]=u.cases["?"]||[];u.cases["?"].push({transclude:i.transclude,element:i.element});break;case"hide":case"show":o(i.element,i.attr,r);break;case"class":s(i.element,r);break;case"text":i.element.text(r);break;case"html":i.element.html(r);break;case"style":i.element.css(r);break;case"disabled":i.element.prop("disabled",r);break;case"src":i.element.attr(i.attr,r);n&&i.element.prop("src",r);break;case"attr":angular.forEach(i.attrs,function(n,t){var r,u;t.match(/^boAttr./)&&i.attrs[t]&&(r=t.replace(/^boAttr/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),u=i.scope.$eval(i.attrs[t]),i.element.attr(r,u))});break;case"href":case"alt":case"title":case"id":case"value":i.element.attr(i.attr,r)}}this.ran=!0}};angular.extend(this,h)}],link:function(n,t,i,r){var u=i.bindonce&&n.$eval(i.bindonce);u!==undefined?r.checkBindonce(u):(r.setupWatcher(i.bindonce),t.bind("$destroy",r.removeWatcher))}}});angular.forEach([{directiveName:"boShow",attribute:"show"},{directiveName:"boHide",attribute:"hide"},{directiveName:"boClass",attribute:"class"},{directiveName:"boText",attribute:"text"},{directiveName:"boBind",attribute:"text"},{directiveName:"boHtml",attribute:"html"},{directiveName:"boSrcI",attribute:"src",interpolate:!0},{directiveName:"boSrc",attribute:"src"},{directiveName:"boHrefI",attribute:"href",interpolate:!0},{directiveName:"boHref",attribute:"href"},{directiveName:"boAlt",attribute:"alt"},{directiveName:"boTitle",attribute:"title"},{directiveName:"boId",attribute:"id"},{directiveName:"boStyle",attribute:"style"},{directiveName:"boDisabled",attribute:"disabled"},{directiveName:"boValue",attribute:"value"},{directiveName:"boAttr",attribute:"attr"},{directiveName:"boIf",transclude:"element",terminal:!0,priority:1e3},{directiveName:"boSwitch",require:"boSwitch",controller:function(){this.cases={}}},{directiveName:"boSwitchWhen",transclude:"element",priority:800,require:"^boSwitch"},{directiveName:"boSwitchDefault",transclude:"element",priority:800,require:"^boSwitch"}],function(t){var i=200;return n.directive(t.directiveName,function(){return{priority:t.priority||i,transclude:t.transclude||!1,terminal:t.terminal||!1,require:["^bindonce"].concat(t.require||[]),controller:t.controller,compile:function(n,i,r){return function(n,i,u,f){var e=f[0],s=u.boParent,o,h;if(s&&e.group!==s){for(o=e.element.parent(),e=undefined;o[0].nodeType!==9&&o.length;){if((h=o.data("$bindonceController"))&&h.group===s){e=h;break}o=o.parent()}if(!e)throw new Error("No bindonce controller: "+s);}e.addBinder({element:i,attr:t.attribute||t.directiveName,attrs:u,value:u[t.directiveName],interpolate:t.interpolate,group:s,transclude:r,controller:f.slice(1),scope:n})}}}})})}();mod=angular.module("infinite-scroll",[]);mod.directive("infiniteScroll",["$rootScope","$window","$timeout",function(n,t,i){return{link:function(r,u,f){var o,e,h,s;t=angular.element(t);h=0;f.infiniteScrollDistance!=null&&r.$watch(f.infiniteScrollDistance,function(n){return h=parseInt(n,10)});s=!0;o=!1;f.infiniteScrollDisabled!=null&&r.$watch(f.infiniteScrollDisabled,function(n){return s=!n,s&&o?(o=!1,e()):void 0});e=function(){var e,c,i,l;return(l=t.height()+t.scrollTop(),e=u.offset().top+u.height(),c=e-l,i=c<=t.height()*h,i&&s)?n.$$phase?r.$eval(f.infiniteScroll):r.$apply(f.infiniteScroll):i?o=!0:void 0};t.on("scroll",e);return r.$on("$destroy",function(){return t.off("scroll",e)}),i(function(){if(f.infiniteScrollImmediateCheck){if(r.$eval(f.infiniteScrollImmediateCheck))return e()}else return e()},0)}}}]),function(){function l(n,t,i){for(var r=(i||0)-1,u=n?n.length:0;++r<u;)if(n[r]===t)return r;return-1}function it(n,t){var i=typeof t,r;return(n=n.cache,i=="boolean"||t==null)?n[t]?0:-1:(i!="number"&&i!="string"&&(i="object"),r=i=="number"?t:ft+t,n=(n=n[i])&&n[r],i=="object"?n&&l(n,t)>-1?0:-1:n?0:-1)}function hi(n){var u=this.cache,t=typeof n,i,r;t=="boolean"||n==null?u[n]=!0:(t!="number"&&t!="string"&&(t="object"),i=t=="number"?n:ft+n,r=u[t]||(u[t]={}),t=="object"?(r[i]||(r[i]=[])).push(n):r[i]=!0)}function wt(n){return n.charCodeAt(0)}function ci(n,t){for(var f=n.criteria,e=t.criteria,u=-1,o=f.length,i,r;++u<o;)if(i=f[u],r=e[u],i!==r){if(i>r||typeof i=="undefined")return 1;if(i<r||typeof r=="undefined")return-1}return n.index-t.index}function ot(n){var u=-1,r=n.length,f=n[0],e=n[r/2|0],o=n[r-1],t,i;if(f&&typeof f=="object"&&e&&typeof e=="object"&&o&&typeof o=="object")return!1;for(t=st(),t["false"]=t["null"]=t["true"]=t.undefined=!1,i=st(),i.array=n,i.cache=t,i.push=hi;++u<r;)i.push(n[u]);return i}function li(n){return"\\"+oi[n]}function u(){return rt.pop()||[]}function st(){return ut.pop()||{array:null,cache:null,criteria:null,"false":!1,index:0,"null":!1,number:null,object:null,push:null,string:null,"true":!1,undefined:!1,value:null}}function i(n){n.length=0;rt.length<ct&&rt.push(n)}function k(n){var t=n.cache;t&&k(t);n.array=n.cache=n.criteria=n.object=n.number=n.string=n.value=null;ut.length<ct&&ut.push(n)}function n(n,t,i){t||(t=0);typeof i=="undefined"&&(i=n?n.length:0);for(var r=-1,u=i-t||0,f=Array(u<0?0:u);++r<u;)f[r]=n[t+r];return f}function ht(c){function nt(n){return n&&typeof n=="object"&&!ut(n)&&oi.call(n,"__wrapped__")?n:new rr(n)}function rr(n,t){this.__chain__=!!t;this.__wrapped__=n}function eo(t){function r(){var t,e,o;return(u&&(t=n(u),lr.apply(t,arguments)),this instanceof r)?(e=yr(i.prototype),o=i.apply(e,t||arguments),hi(o)?o:e):i.apply(f,t||arguments)}var i=t[0],u=t[2],f=t[4];return ru(r,t),r}function pu(t,f,e,o,h){var c,d,v,l,a,g,k;if(e&&(c=e(t),typeof c!="undefined"))return c;if(d=hi(t),d){if(v=ct.call(t),!r[v])return t;l=di[v];switch(v){case y:case p:return new l(+t);case w:case s:return new l(t);case b:return c=l(t.source,ti.exec(t)),c.lastIndex=t.lastIndex,c}}else return t;if(a=ut(t),f){for(g=!o,o||(o=u()),h||(h=u()),k=o.length;k--;)if(o[k]==t)return h[k];c=a?l(t.length):{}}else c=a?n(t):fu({},t);return(a&&(oi.call(t,"index")&&(c.index=t.index),oi.call(t,"input")&&(c.input=t.input)),!f)?c:(o.push(t),h.push(c),(a?ai:tt)(t,function(n,t){c[t]=pu(n,f,e,o,h)}),g&&(i(o),i(h)),c)}function yr(n){return hi(n)?nu(n):{}}function vi(n,t,i){var r,u;if(typeof n!="function")return uf;if(typeof t=="undefined"||!("prototype"in n)||(r=n.__bindData__,typeof r=="undefined"&&(or.funcNames&&(r=!n.name),r=r||!or.funcDecomp,r||(u=io.call(n),or.funcNames||(r=!ii.test(u)),r||(r=vt.test(u),ru(n,r)))),r===!1||r!==!0&&r[1]&1))return n;switch(i){case 1:return function(i){return n.call(t,i)};case 2:return function(i,r){return n.call(t,i,r)};case 3:return function(i,r,u){return n.call(t,i,r,u)};case 4:return function(i,r,u,f){return n.call(t,i,r,u,f)}}return le(n,t)}function cf(t){function f(){var y=c?o:this,t,p;return(e&&(t=n(e),lr.apply(t,arguments)),(u||h)&&(t||(t=n(arguments)),u&&lr.apply(t,u),h&&t.length<s))?(i|=16,cf([r,a?i:i&-4,t,null,o,s])):(t||(t=arguments),l&&(r=y[v]),this instanceof f)?(y=yr(r.prototype),p=r.apply(y,t),hi(p)?p:y):r.apply(y,t)}var r=t[0],i=t[1],e=t[2],u=t[3],o=t[4],s=t[5],c=i&1,l=i&2,h=i&4,a=i&8,v=r;return ru(f,t),f}function pr(n,t){var e=-1,i=iu(),o=n?n.length:0,r=o>=et&&i===l,s=[],u,f;for(r&&(u=ot(t),u?(i=it,t=u):r=!1);++e<o;)f=n[e],i(t,f)<0&&s.push(f);return r&&k(t),s}function nr(n,t,i,r){for(var e=(r||0)-1,h=n?n.length:0,f=[],u;++e<h;)if(u=n[e],u&&typeof u=="object"&&typeof u.length=="number"&&(ut(u)||uu(u))){t||(u=nr(u,t,i));var o=-1,s=u.length,c=f.length;for(f.length+=s;++o<s;)f[c++]=u[o]}else i||f.push(u);return f}function sr(n,r,f,e,h,c){var l,ht,lt,d,it,ut,ft,et,nt,tt,at,g,k,ot,st;if(f&&(l=f(n,r),typeof l!="undefined"))return!!l;if(n===r)return n!==0||1/n==1/r;if(ht=typeof n,lt=typeof r,n===n&&!(n&&t[ht])&&!(r&&t[lt]))return!1;if(n==null||r==null)return n===r;if(d=ct.call(n),it=ct.call(r),d==a&&(d=o),it==a&&(it=o),d!=it)return!1;switch(d){case y:case p:return+n==+r;case w:return n!=+n?r!=+r:n==0?1/n==1/r:n==+r;case b:case s:return n==gi(r)}if(ut=d==v,!ut){if(ft=oi.call(n,"__wrapped__"),et=oi.call(r,"__wrapped__"),ft||et)return sr(ft?n.__wrapped__:n,et?r.__wrapped__:r,f,e,h,c);if(d!=o||(nt=n.constructor,tt=r.constructor,nt!=tt&&!(rt(nt)&&nt instanceof nt&&rt(tt)&&tt instanceof tt)&&"constructor"in n&&"constructor"in r))return!1}for(at=!h,h||(h=u()),c||(c=u()),g=h.length;g--;)if(h[g]==n)return c[g]==r;if(k=0,l=!0,h.push(n),c.push(r),ut){if(g=n.length,k=r.length,l=k==g,l||e)while(k--)if(ot=g,st=r[k],e){while(ot--)if(l=sr(n[ot],st,f,e,h,c))break}else if(!(l=sr(n[k],st,f,e,h,c)))break}else bi(r,function(t,i,r){if(oi.call(r,i))return k++,l=oi.call(n,i)&&sr(n[i],t,f,e,h,c)}),l&&!e&&bi(n,function(n,t,i){if(oi.call(i,t))return l=--k>-1});return h.pop(),c.pop(),at&&(i(h),i(c)),l}function lf(n,t,i,r,u){(ut(t)?ai:tt)(t,function(t,f){var c,l,o=t,e=n[f],s,h;if(t&&((l=ut(t))||ou(t))){for(s=r.length;s--;)if(c=r[s]==t){e=u[s];break}c||(i&&(o=i(e,t),(h=typeof o!="undefined")&&(e=o)),h||(e=l?ut(e)?e:[]:ou(e)?e:{}),r.push(t),u.push(e),h||lf(e,t,i,r,u))}else i&&(o=i(e,t),typeof o=="undefined"&&(o=t)),typeof o!="undefined"&&(e=o);n[f]=e})}function wu(n,t){return n+to(hf()*(t-n+1))}function bu(n,t,r){var e=-1,c=iu(),v=n?n.length:0,a=[],o=!t&&v>=et&&c===l,f=r||o?u():a,y,s,h;for(o&&(y=ot(f),c=it,f=y);++e<v;)s=n[e],h=r?r(s,e,n):s,(t?!e||f[f.length-1]!==h:c(f,h)<0)&&((r||o)&&f.push(h),a.push(s));return o?(i(f.array),k(f)):r&&i(f),a}function ku(n){return function(t,i,r){var f={},u,e,o;if(i=nt.createCallback(i,r,3),u=-1,e=t?t.length:0,typeof e=="number")while(++u<e)o=t[u],n(f,o,i(o,u,t),t);else tt(t,function(t,r,u){n(f,t,i(t,r,u),u)});return f}}function wi(t,i,r,u,f,e){var c=i&1,a=i&2,v=i&4,y=i&8,s=i&16,h=i&32,o,l;if(!a&&!rt(t))throw new ki;return(s&&!r.length&&(i&=-17,s=r=!1),h&&!u.length&&(i&=-33,h=u=!1),o=t&&t.__bindData__,o&&o!==!0)?(o=n(o),o[2]&&(o[2]=n(o[2])),o[3]&&(o[3]=n(o[3])),!c||o[1]&1||(o[4]=f),!c&&o[1]&1&&(i|=8),!v||o[1]&4||(o[5]=e),s&&lr.apply(o[2]||(o[2]=[]),r),h&&ro.apply(o[3]||(o[3]=[]),u),o[1]|=i,wi.apply(null,o)):(l=i==1||i===17?eo:cf,l([t,i,r,u,f,e]))}function oo(n){return du[n]}function iu(){var n=(n=nt.indexOf)===ee?l:n;return n}function tr(n){return typeof n=="function"&&ge.test(n)}function af(n){var t,i;return!(n&&ct.call(n)==o)||(t=n.constructor,rt(t)&&!(t instanceof t))?!1:(bi(n,function(n,t){i=t}),typeof i=="undefined"||oi.call(n,i))}function so(n){return vf[n]}function uu(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ct.call(n)==a||!1}function ao(n,t,i,r){return typeof t!="boolean"&&t!=null&&(r=i,i=t,t=!1),pu(n,t,typeof i=="function"&&vi(i,r,1))}function vo(n,t,i){return pu(n,!0,typeof t=="function"&&vi(t,i,1))}function yo(n,t){var i=yr(n);return t?fu(i,t):i}function po(n,t,i){var r;return t=nt.createCallback(t,i,3),tt(n,function(n,i,u){if(t(n,i,u))return r=i,!1}),r}function wo(n,t,i){var r;return t=nt.createCallback(t,i,3),yf(n,function(n,i,u){if(t(n,i,u))return r=i,!1}),r}function bo(n,t,i){var r=[],u;for(bi(n,function(n,t){r.push(t,n)}),u=r.length,t=vi(t,i,3);u--;)if(t(r[u--],r[u],n)===!1)break;return n}function yf(n,t,i){var u=si(n),f=u.length,r;for(t=vi(t,i,3);f--;)if(r=u[f],t(n[r],r,n)===!1)break;return n}function wr(n){var t=[];return bi(n,function(n,i){rt(n)&&t.push(i)}),t.sort()}function ko(n,t){return n?oi.call(n,t):!1}function pf(n){for(var i=-1,r=si(n),f=r.length,u={},t;++i<f;)t=r[i],u[n[t]]=t;return u}function go(n){return n===!0||n===!1||n&&typeof n=="object"&&ct.call(n)==y||!1}function ns(n){return n&&typeof n=="object"&&ct.call(n)==p||!1}function ts(n){return n&&n.nodeType===1||!1}function is(n){var i=!0,t,r;return n?(t=ct.call(n),r=n.length,t==v||t==s||t==a||t==o&&typeof r=="number"&&rt(n.splice))?!r:(tt(n,function(){return i=!1}),i):i}function rs(n,t,i,r){return sr(n,t,typeof i=="function"&&vi(i,r,2))}function us(n){return uo(n)&&!fo(parseFloat(n))}function rt(n){return typeof n=="function"}function hi(n){return!!(n&&t[typeof n])}function fs(n){return wf(n)&&n!=+n}function es(n){return n===null}function wf(n){return typeof n=="number"||n&&typeof n=="object"&&ct.call(n)==w||!1}function os(n){return n&&typeof n=="object"&&ct.call(n)==b||!1}function br(n){return typeof n=="string"||n&&typeof n=="object"&&ct.call(n)==s||!1}function ss(n){return typeof n=="undefined"}function hs(n,t,i){var r={};return t=nt.createCallback(t,i,3),tt(n,function(n,i,u){r[i]=t(n,i,u)}),r}function cs(t){var f=arguments,r=2,e;if(!hi(t))return t;typeof f[2]!="number"&&(r=f.length);r>3&&typeof f[r-2]=="function"?e=vi(f[--r-1],f[r--],2):r>2&&typeof f[r-1]=="function"&&(e=f[--r]);for(var c=n(arguments,1,r),o=-1,s=u(),h=u();++o<r;)lf(t,c[o],e,s,h);return i(s),i(h),t}function ls(n,t,i){var u={},r,f,o,e;if(typeof t!="function")for(r=[],bi(n,function(n,t){r.push(t)}),r=pr(r,nr(arguments,!0,!1,1)),f=-1,o=r.length;++f<o;)e=r[f],u[e]=n[e];else t=nt.createCallback(t,i,3),bi(n,function(n,i,r){t(n,i,r)||(u[i]=n)});return u}function as(n){for(var t=-1,r=si(n),u=r.length,f=yi(u),i;++t<u;)i=r[t],f[t]=[i,n[i]];return f}function vs(n,t,i){var u={},r;if(typeof t!="function")for(var f=-1,e=nr(arguments,!0,!1,1),o=hi(n)?e.length:0;++f<o;)r=e[f],r in n&&(u[r]=n[r]);else t=nt.createCallback(t,i,3),bi(n,function(n,i,r){t(n,i,r)&&(u[i]=n)});return u}function ys(n,t,i,r){var f=ut(n),u,e;return i==null&&(f?i=[]:(u=n&&n.constructor,e=u&&u.prototype,i=yr(e))),t&&(t=nt.createCallback(t,r,4),(f?ai:tt)(n,function(n,r,u){return t(i,n,r,u)})),i}function su(n){for(var t=-1,i=si(n),r=i.length,u=yi(r);++t<r;)u[t]=n[i[t]];return u}function ps(n){for(var t=arguments,i=-1,r=nr(t,!0,!1,1),u=t[2]&&t[2][t[1]]===n?1:r.length,f=yi(u);++i<u;)f[i]=n[r[i]];return f}function bf(n,t,i){var e=-1,u=iu(),f=n?n.length:0,r=!1;return i=(i<0?pi(0,f+i):i)||0,ut(n)?r=u(n,t,i)>-1:typeof f=="number"?r=(br(n)?n.indexOf(t,i):u(n,t,i))>-1:tt(n,function(n){if(++e>=i)return!(r=n===t)}),r}function df(n,t,i){var u=!0,r,f;if(t=nt.createCallback(t,i,3),r=-1,f=n?n.length:0,typeof f=="number"){while(++r<f)if(!(u=!!t(n[r],r,n)))break}else tt(n,function(n,i,r){return u=!!t(n,i,r)});return u}function hu(n,t,i){var u=[],r,f,e;if(t=nt.createCallback(t,i,3),r=-1,f=n?n.length:0,typeof f=="number")while(++r<f)e=n[r],t(e,r,n)&&u.push(e);else tt(n,function(n,i,r){t(n,i,r)&&u.push(n)});return u}function gu(n,t,i){var r,u,f,e;if(t=nt.createCallback(t,i,3),r=-1,u=n?n.length:0,typeof u=="number"){while(++r<u)if(f=n[r],t(f,r,n))return f}else return tt(n,function(n,i,r){if(t(n,i,r))return e=n,!1}),e}function ws(n,t,i){var r;return t=nt.createCallback(t,i,3),cu(n,function(n,i,u){if(t(n,i,u))return r=n,!1}),r}function ai(n,t,i){var r=-1,u=n?n.length:0;if(t=t&&typeof i=="undefined"?t:vi(t,i,3),typeof u=="number"){while(++r<u)if(t(n[r],r,n)===!1)break}else tt(n,t);return n}function cu(n,t,i){var r=n?n.length:0,u;if(t=t&&typeof i=="undefined"?t:vi(t,i,3),typeof r=="number"){while(r--)if(t(n[r],r,n)===!1)break}else u=si(n),r=u.length,tt(n,function(n,i,f){return i=u?u[--r]:--r,t(f[i],i,f)});return n}function bs(t,i){var f=n(arguments,2),e=-1,o=typeof i=="function",r=t?t.length:0,u=yi(typeof r=="number"?r:0);return ai(t,function(n){u[++e]=(o?i:n[i]).apply(n,f)}),u}function kr(n,t,i){var r=-1,f=n?n.length:0,u;if(t=nt.createCallback(t,i,3),typeof f=="number")for(u=yi(f);++r<f;)u[r]=t(n[r],r,n);else u=[],tt(n,function(n,i,f){u[++r]=t(n,i,f)});return u}function te(n,t,i){var u=-Infinity,r=u,f,o,e;if(typeof t!="function"&&i&&i[t]===n&&(t=null),t==null&&ut(n))for(f=-1,o=n.length;++f<o;)e=n[f],e>r&&(r=e);else t=t==null&&br(n)?wt:nt.createCallback(t,i,3),ai(n,function(n,i,f){var e=t(n,i,f);e>u&&(u=e,r=n)});return r}function ks(n,t,i){var u=Infinity,r=u,f,o,e;if(typeof t!="function"&&i&&i[t]===n&&(t=null),t==null&&ut(n))for(f=-1,o=n.length;++f<o;)e=n[f],e<r&&(r=e);else t=t==null&&br(n)?wt:nt.createCallback(t,i,3),ai(n,function(n,i,f){var e=t(n,i,f);e<u&&(u=e,r=n)});return r}function nf(n,t,i,r){var f,u,e;if(!n)return i;if(f=arguments.length<3,t=nt.createCallback(t,r,4),u=-1,e=n.length,typeof e=="number")for(f&&(i=n[++u]);++u<e;)i=t(i,n[u],u,n);else tt(n,function(n,r,u){i=f?(f=!1,n):t(i,n,r,u)});return i}function ie(n,t,i,r){var u=arguments.length<3;return t=nt.createCallback(t,r,4),cu(n,function(n,r,f){i=u?(u=!1,n):t(i,n,r,f)}),i}function ds(n,t,i){return t=nt.createCallback(t,i,3),hu(n,function(n,i,r){return!t(n,i,r)})}function gs(n,t,i){if(n&&typeof n.length!="number"&&(n=su(n)),t==null||i)return n?n[wu(0,n.length-1)]:e;var r=re(n);return r.length=vr(pi(0,t),r.length),r}function re(n){var i=-1,r=n?n.length:0,t=yi(typeof r=="number"?r:0);return ai(n,function(n){var r=wu(0,++i);t[i]=t[r];t[r]=n}),t}function nh(n){var t=n?n.length:0;return typeof t=="number"?t:si(n).length}function ue(n,t,i){var u,r,f;if(t=nt.createCallback(t,i,3),r=-1,f=n?n.length:0,typeof f=="number"){while(++r<f)if(u=t(n[r],r,n))break}else tt(n,function(n,i,r){return!(u=t(n,i,r))});return!!u}function th(n,t,r){var h=-1,s=ut(t),f=n?n.length:0,e=yi(typeof f=="number"?f:0),o;for(s||(t=nt.createCallback(t,r,3)),ai(n,function(n,i,r){var f=e[++h]=st();s?f.criteria=kr(t,function(t){return n[t]}):(f.criteria=u())[0]=t(n,i,r);f.index=h;f.value=n}),f=e.length,e.sort(ci);f--;)o=e[f],e[f]=o.value,s||i(o.criteria),k(o);return e}function ih(t){return t&&typeof t.length=="number"?n(t):su(t)}function rh(n){for(var i=-1,u=n?n.length:0,r=[],t;++i<u;)t=n[i],t&&r.push(t);return r}function uh(n){return pr(n,nr(arguments,!0,!0,1))}function fh(n,t,i){var r=-1,u=n?n.length:0;for(t=nt.createCallback(t,i,3);++r<u;)if(t(n[r],r,n))return r;return-1}function eh(n,t,i){var r=n?n.length:0;for(t=nt.createCallback(t,i,3);r--;)if(t(n[r],r,n))return r;return-1}function tf(t,i,r){var u=0,o=t?t.length:0,f;if(typeof i!="number"&&i!=null)for(f=-1,i=nt.createCallback(i,r,3);++f<o&&i(t[f],f,t);)u++;else if(u=i,u==null||r)return t?t[0]:e;return n(t,0,vr(pi(0,u),o))}function oh(n,t,i,r){return typeof t!="boolean"&&t!=null&&(r=i,i=typeof t!="function"&&r&&r[t]===n?null:t,t=!1),i!=null&&(n=kr(n,i,r)),nr(n,t)}function ee(n,t,i){var u,r;if(typeof i=="number")u=n?n.length:0,i=i<0?pi(0,u+i):i||0;else if(i)return r=oe(n,t),n[r]===t?r:-1;return l(n,t,i)}function sh(t,i,r){var u=0,e=t?t.length:0,f;if(typeof i!="number"&&i!=null)for(f=e,i=nt.createCallback(i,r,3);f--&&i(t[f],f,t);)u++;else u=i==null||r?1:i||u;return n(t,0,vr(pi(0,e-u),e))}function hh(){for(var e=[],r=-1,o=arguments.length,f=u(),h=iu(),y=h===l,s=u(),n,t;++r<o;)n=arguments[r],(ut(n)||uu(n))&&(e.push(n),f.push(y&&n.length>=et&&ot(r?e[r]:s)));var c=e[0],a=-1,p=c?c.length:0,v=[];n:while(++a<p)if(t=f[0],n=c[a],(t?it(t,n):h(s,n))<0){for(r=o,(t||s).push(n);--r;)if(t=f[r],(t?it(t,n):h(e[r],n))<0)continue n;v.push(n)}while(o--)t=f[o],t&&k(t);return i(f),i(s),v}function ch(t,i,r){var u=0,o=t?t.length:0,f;if(typeof i!="number"&&i!=null)for(f=o,i=nt.createCallback(i,r,3);f--&&i(t[f],f,t);)u++;else if(u=i,u==null||r)return t?t[o-1]:e;return n(t,pi(0,o-u))}function lh(n,t,i){var r=n?n.length:0;for(typeof i=="number"&&(r=(i<0?pi(0,r+i):vr(i,r-1))+1);r--;)if(n[r]===t)return r;return-1}function ah(n){for(var i=arguments,r=0,e=i.length,u=n?n.length:0,t,f;++r<e;)for(t=-1,f=i[r];++t<u;)n[t]===f&&(of.call(n,t--,1),u--);return n}function vh(n,t,i){n=+n||0;i=typeof i=="number"?i:+i||1;t==null&&(t=n,n=0);for(var r=-1,u=pi(0,no((t-n)/(i||1))),f=yi(u);++r<u;)f[r]=n,n+=i;return f}function yh(n,t,i){var r=-1,f=n?n.length:0,e=[],u;for(t=nt.createCallback(t,i,3);++r<f;)u=n[r],t(u,r,n)&&(e.push(u),of.call(n,r--,1),f--);return e}function rf(t,i,r){if(typeof i!="number"&&i!=null){var u=0,f=-1,e=t?t.length:0;for(i=nt.createCallback(i,r,3);++f<e&&i(t[f],f,t);)u++}else u=i==null||r?1:pi(0,i);return n(t,u)}function oe(n,t,i,r){var u=0,e=n?n.length:u,f;for(i=i?nt.createCallback(i,r,1):uf,t=i(t);u<e;)f=u+e>>>1,i(n[f])<t?u=f+1:e=f;return u}function ph(){return bu(nr(arguments,!0,!0))}function se(n,t,i,r){return typeof t!="boolean"&&t!=null&&(r=i,i=typeof t!="function"&&r&&r[t]===n?null:t,t=!1),i!=null&&(i=nt.createCallback(i,r,3)),bu(n,t,i)}function wh(t){return pr(t,n(arguments,1))}function bh(){for(var i=-1,r=arguments.length,n,t;++i<r;)n=arguments[i],(ut(n)||uu(n))&&(t=t?bu(pr(t,n).concat(pr(n,t))):n);return t||[]}function he(){for(var n=arguments.length>1?arguments:arguments[0],t=-1,i=n?te(lu(n,"length")):0,r=yi(i<0?0:i);++t<i;)r[t]=lu(n,t);return r}function ce(n,t){var r=-1,f=n?n.length:0,u={},i;for(t||!f||ut(n[0])||(t=[]);++r<f;)i=n[r],t?u[i]=t[r]:i&&(u[i[0]]=i[1]);return u}function kh(n,t){if(!rt(t))throw new ki;return function(){if(--n<1)return t.apply(this,arguments)}}function le(t,i){return arguments.length>2?wi(t,17,n(arguments,2),null,i):wi(t,1,null,null,i)}function dh(n){for(var i=arguments.length>1?nr(arguments,!0,!1,1):wr(n),r=-1,u=i.length,t;++r<u;)t=i[r],n[t]=wi(n[t],1,null,null,n);return n}function gh(t,i){return arguments.length>2?wi(i,19,n(arguments,2),null,t):wi(i,3,null,null,t)}function nc(){for(var n=arguments,t=n.length;t--;)if(!rt(n[t]))throw new ki;return function(){for(var t=arguments,i=n.length;i--;)t=[n[i].apply(this,t)];return t[0]}}function tc(n,t){return t=typeof t=="number"?t:+t||n.length,wi(n,4,null,null,null,t)}function ae(n,t,i){var f,u,s,h,o,r,y,c=0,l=!1,a=!0,v,p,w;if(!rt(n))throw new ki;return t=pi(0,t)||0,i===!0?(v=!0,a=!1):hi(i)&&(v=i.leading,l="maxWait"in i&&(pi(t,i.maxWait)||0),a="trailing"in i?i.trailing:a),p=function(){var i=t-(ir()-h),l;i<=0?(u&&gr(u),l=y,u=r=y=e,l&&(c=ir(),s=n.apply(o,f),r||u||(f=o=null))):r=ar(p,i)},w=function(){r&&gr(r);u=r=y=e;(a||l!==t)&&(c=ir(),s=n.apply(o,f),r||u||(f=o=null))},function(){var b,e,i;return f=arguments,h=ir(),o=this,y=a&&(r||!v),l===!1?b=v&&!r:(u||v||(c=h),e=l-(h-c),i=e<=0,i?(u&&(u=gr(u)),c=h,s=n.apply(o,f)):u||(u=ar(w,e))),i&&r?r=gr(r):r||t===l||(r=ar(p,t)),b&&(i=!0,s=n.apply(o,f)),!i||r||u||(f=o=null),s}}function ic(t){if(!rt(t))throw new ki;var i=n(arguments,1);return ar(function(){t.apply(e,i)},1)}function rc(t,i){if(!rt(t))throw new ki;var r=n(arguments,2);return ar(function(){t.apply(e,r)},i)}function uc(n,t){if(!rt(n))throw new ki;var i=function(){var r=i.cache,u=t?t.apply(this,arguments):ft+arguments[0];return oi.call(r,u)?r[u]:r[u]=n.apply(this,arguments)};return i.cache={},i}function fc(n){var i,t;if(!rt(n))throw new ki;return function(){return i?t:(i=!0,t=n.apply(this,arguments),n=null,t)}}function ec(t){return wi(t,16,n(arguments,1))}function oc(t){return wi(t,32,null,n(arguments,1))}function sc(n,t,i){var r=!0,u=!0;if(!rt(n))throw new ki;return i===!1?r=!1:hi(i)&&(r="leading"in i?i.leading:r,u="trailing"in i?i.trailing:u),g.leading=r,g.maxWait=t,g.trailing=u,ae(n,t,g)}function hc(n,t){return wi(t,16,[n])}function cc(n){return function(){return n}}function lc(n,t,i){var f=typeof n;if(n==null||f=="function")return vi(n,t,i);if(f!="object")return pe(n);var u=si(n),e=u[0],r=n[e];return u.length==1&&r===r&&!hi(r)?function(n){var t=n[e];return r===t&&(r!==0||1/r==1/t)}:function(t){for(var i=u.length,r=!1;i--;)if(!(r=sr(t[u[i]],n[u[i]],null,!0)))break;return r}}function ac(n){return n==null?"":gi(n).replace(lo,oo)}function uf(n){return n}function ff(n,t,i){var u=!0,f=t&&wr(t),r,e;t&&(i||f.length)||(i==null&&(i=t),r=rr,t=n,n=nt,f=wr(t));i===!1?u=!1:hi(i)&&"chain"in i&&(u=i.chain);r=n;e=rt(r);ai(f,function(i){var f=n[i]=t[i];e&&(r.prototype[i]=function(){var i=this.__chain__,e=this.__wrapped__,o=[e],t;if(lr.apply(o,arguments),t=f.apply(n,o),u||i){if(e===t&&hi(t))return this;t=new r(t);t.__chain__=i}return t})})}function vc(){return c._=de,this}function ve(){}function pe(n){return function(t){return t[n]}}function yc(n,t,i){var f=n==null,r=t==null,u;return(i==null&&(typeof n=="boolean"&&r?(i=n,n=1):r||typeof t!="boolean"||(i=t,r=!0)),f&&r&&(t=1),n=+n||0,r?(t=n,n=0):t=+t||0,i||n%1||t%1)?(u=hf(),vr(n+u*(t-n+parseFloat("1e-"+((u+"").length-1))),t)):wu(n,t)}function pc(n,t){if(n){var i=n[t];return rt(i)?n[t]():i}}function wc(n,t,i){var h=nt.templateSettings,u,s,v,f;n=gi(n||"");i=eu({},i,h);var c=eu({},i.imports,h.imports),p=si(c),w=su(c),o,l=0,a=i.interpolate||d,r="__p += '",b=cr((i.escape||d).source+"|"+a.source+"|"+(a===at?ni:d).source+"|"+(i.evaluate||d).source+"|$","g");n.replace(b,function(t,i,u,f,e,s){return u||(u=f),r+=n.slice(l,s).replace(ui,li),i&&(r+="' +\n__e("+i+") +\n'"),e&&(o=!0,r+="';\n"+e+";\n__p += '"),u&&(r+="' +\n((__t = ("+u+")) == null ? '' : __t) +\n'"),l=s+t.length,t});r+="';\n";u=i.variable;s=u;s||(u="obj",r="with ("+u+") {\n"+r+"\n}\n");r=(o?r.replace(kt,""):r).replace(dt,"$1").replace(gt,"$1;");r="function("+u+") {\n"+(s?"":u+" || ("+u+" = {});\n")+"var __t, __p = '', __e = _.escape"+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+r+"return __p\n}";v="\n/*\n//# sourceURL="+(i.sourceURL||"/lodash/template/source["+ei+++"]")+"\n*/";try{f=dr(p,"return "+r+v).apply(e,w)}catch(y){y.source=r;throw y;}return t?f(t):(f.source=r,f)}function bc(n,t,i){n=(n=+n)>-1?n:0;var r=-1,u=yi(n);for(t=vi(t,i,1);++r<n;)u[r]=t(r);return u}function kc(n){return n==null?"":gi(n).replace(co,so)}function dc(n){var t=++bt;return gi(n==null?"":n)+t}function gc(n){return n=new rr(n),n.__chain__=!0,n}function nl(n,t){return t(n),n}function tl(){return this.__chain__=!0,this}function il(){return gi(this.__wrapped__)}function we(){return this.__wrapped__}var or,ru,eu,bi,tt,ou,kf,gf,ne,lu,fe,ir,ye;c=c?f.defaults(h.Object(),c,f.pick(h,fi)):h;var yi=c.Array,be=c.Boolean,au=c.Date,dr=c.Function,hr=c.Math,ke=c.Number,ur=c.Object,cr=c.RegExp,gi=c.String,ki=c.TypeError,fr=[],ef=ur.prototype,de=c._,ct=ef.toString,ge=cr("^"+gi(ct).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),no=hr.ceil,gr=c.clearTimeout,to=hr.floor,io=dr.prototype.toString,er=tr(er=ur.getPrototypeOf)&&er,oi=ef.hasOwnProperty,lr=fr.push,ar=c.setTimeout,of=fr.splice,ro=fr.unshift,sf=function(){try{var t={},n=tr(n=ur.defineProperty)&&n,i=n(t,t,t)&&n}catch(r){}return i}(),nu=tr(nu=ur.create)&&nu,vu=tr(vu=yi.isArray)&&vu,uo=c.isFinite,fo=c.isNaN,tu=tr(tu=ur.keys)&&tu,pi=hr.max,vr=hr.min,yu=c.parseInt,hf=hr.random,di={};di[v]=yi;di[y]=be;di[p]=au;di[yt]=dr;di[o]=ur;di[w]=ke;di[b]=cr;di[s]=gi;rr.prototype=nt.prototype;or=nt.support={};or.funcDecomp=!tr(c.WinRTError)&&vt.test(ht);or.funcNames=typeof dr.name=="string";nt.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:at,variable:"",imports:{_:nt}};nu||(yr=function(){function n(){}return function(t){if(hi(t)){n.prototype=t;n.prototype=null}return{}||c.Object()}}());ru=sf?function(n,t){pt.value=t;sf(n,"__bindData__",pt)}:ve;var ut=vu||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&ct.call(n)==v||!1},ho=function(n){var i,r=n,u=[];if(!r||!t[typeof n])return u;for(i in r)oi.call(r,i)&&u.push(i);return u},si=tu?function(n){return hi(n)?tu(n):[]}:ho,du={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},vf=pf(du),co=cr("("+si(vf).join("|")+")","g"),lo=cr("["+si(du).join("")+"]","g"),fu=function(n,i,r){var o,u=n,s=u,h;if(!u)return s;var e=arguments,l=0,f=typeof r=="number"?2:e.length;for(f>3&&typeof e[f-2]=="function"?h=vi(e[--f-1],e[f--],2):f>2&&typeof e[f-1]=="function"&&(h=e[--f]);++l<f;)if(u=e[l],u&&t[typeof u])for(var a=-1,c=t[typeof u]&&si(u),v=c?c.length:0;++a<v;)o=c[a],s[o]=h?h(s[o],u[o]):u[o];return s};return eu=function(n,i,r){var f,u=n,e=u;if(!u)return e;for(var s=arguments,h=0,l=typeof r=="number"?2:s.length;++h<l;)if(u=s[h],u&&t[typeof u])for(var c=-1,o=t[typeof u]&&si(u),a=o?o.length:0;++c<a;)f=o[c],typeof e[f]=="undefined"&&(e[f]=u[f]);return e},bi=function(n,i,r){var f,u=n,e=u;if(!u||!t[typeof u])return e;i=i&&typeof r=="undefined"?i:vi(i,r,3);for(f in u)if(i(u[f],f,n)===!1)return e;return e},tt=function(n,i,r){var f,u=n,e=u;if(!u||!t[typeof u])return e;i=i&&typeof r=="undefined"?i:vi(i,r,3);for(var s=-1,o=t[typeof u]&&si(u),h=o?o.length:0;++s<h;)if(f=o[s],i(u[f],f,n)===!1)return e;return e},ou=er?function(n){if(!(n&&ct.call(n)==o))return!1;var i=n.valueOf,t=tr(i)&&(t=er(i))&&er(t);return t?n==t||er(n)==t:af(n)}:af,kf=ku(function(n,t,i){oi.call(n,i)?n[i]++:n[i]=1}),gf=ku(function(n,t,i){(oi.call(n,i)?n[i]:n[i]=[]).push(t)}),ne=ku(function(n,t,i){n[i]=t}),lu=kr,fe=hu,ir=tr(ir=au.now)&&ir||function(){return(new au).getTime()},ye=yu(lt+"08")==8?yu:function(n,t){return yu(br(n)?n.replace(ri,""):n,t||0)},nt.after=kh,nt.assign=fu,nt.at=ps,nt.bind=le,nt.bindAll=dh,nt.bindKey=gh,nt.chain=gc,nt.compact=rh,nt.compose=nc,nt.constant=cc,nt.countBy=kf,nt.create=yo,nt.createCallback=lc,nt.curry=tc,nt.debounce=ae,nt.defaults=eu,nt.defer=ic,nt.delay=rc,nt.difference=uh,nt.filter=hu,nt.flatten=oh,nt.forEach=ai,nt.forEachRight=cu,nt.forIn=bi,nt.forInRight=bo,nt.forOwn=tt,nt.forOwnRight=yf,nt.functions=wr,nt.groupBy=gf,nt.indexBy=ne,nt.initial=sh,nt.intersection=hh,nt.invert=pf,nt.invoke=bs,nt.keys=si,nt.map=kr,nt.mapValues=hs,nt.max=te,nt.memoize=uc,nt.merge=cs,nt.min=ks,nt.omit=ls,nt.once=fc,nt.pairs=as,nt.partial=ec,nt.partialRight=oc,nt.pick=vs,nt.pluck=lu,nt.property=pe,nt.pull=ah,nt.range=vh,nt.reject=ds,nt.remove=yh,nt.rest=rf,nt.shuffle=re,nt.sortBy=th,nt.tap=nl,nt.throttle=sc,nt.times=bc,nt.toArray=ih,nt.transform=ys,nt.union=ph,nt.uniq=se,nt.values=su,nt.where=fe,nt.without=wh,nt.wrap=hc,nt.xor=bh,nt.zip=he,nt.zipObject=ce,nt.collect=kr,nt.drop=rf,nt.each=ai,nt.eachRight=cu,nt.extend=fu,nt.methods=wr,nt.object=ce,nt.select=hu,nt.tail=rf,nt.unique=se,nt.unzip=he,ff(nt),nt.clone=ao,nt.cloneDeep=vo,nt.contains=bf,nt.escape=ac,nt.every=df,nt.find=gu,nt.findIndex=fh,nt.findKey=po,nt.findLast=ws,nt.findLastIndex=eh,nt.findLastKey=wo,nt.has=ko,nt.identity=uf,nt.indexOf=ee,nt.isArguments=uu,nt.isArray=ut,nt.isBoolean=go,nt.isDate=ns,nt.isElement=ts,nt.isEmpty=is,nt.isEqual=rs,nt.isFinite=us,nt.isFunction=rt,nt.isNaN=fs,nt.isNull=es,nt.isNumber=wf,nt.isObject=hi,nt.isPlainObject=ou,nt.isRegExp=os,nt.isString=br,nt.isUndefined=ss,nt.lastIndexOf=lh,nt.mixin=ff,nt.noConflict=vc,nt.noop=ve,nt.now=ir,nt.parseInt=ye,nt.random=yc,nt.reduce=nf,nt.reduceRight=ie,nt.result=pc,nt.runInContext=ht,nt.size=nh,nt.some=ue,nt.sortedIndex=oe,nt.template=wc,nt.unescape=kc,nt.uniqueId=dc,nt.all=df,nt.any=ue,nt.detect=gu,nt.findWhere=gu,nt.foldl=nf,nt.foldr=ie,nt.include=bf,nt.inject=nf,ff(function(){var n={};return tt(nt,function(t,i){nt.prototype[i]||(n[i]=t)}),n}(),!1),nt.first=tf,nt.last=ch,nt.sample=gs,nt.take=tf,nt.head=tf,tt(nt,function(n,t){var i=t!=="sample";nt.prototype[t]||(nt.prototype[t]=function(t,r){var u=this.__chain__,f=n(this.__wrapped__,t,r);return!u&&(t==null||r&&!(i&&typeof t=="function"))?f:new rr(f,u)})}),nt.VERSION="2.4.1",nt.prototype.chain=tl,nt.prototype.toString=il,nt.prototype.value=we,nt.prototype.valueOf=we,ai(["join","pop","shift"],function(n){var t=fr[n];nt.prototype[n]=function(){var n=this.__chain__,i=t.apply(this.__wrapped__,arguments);return n?new rr(i,n):i}}),ai(["push","reverse","sort","unshift"],function(n){var t=fr[n];nt.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),ai(["concat","slice","splice"],function(n){var t=fr[n];nt.prototype[n]=function(){return new rr(t.apply(this.__wrapped__,arguments),this.__chain__)}}),nt}var e,rt=[],ut=[],bt=0,ft=+new Date+"",et=75,ct=40,lt=" \t\x0b\f ﻿\n\r\u2028\u2029 ᠎             　",kt=/\b__p \+= '';/g,dt=/\b(__p \+=) '' \+/g,gt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ni=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ti=/\w*$/,ii=/^\s*function[ \n\r\t]+\w/,at=/<%=([\s\S]+?)%>/g,ri=RegExp("^["+lt+"]*0+(?=.$)"),d=/($^)/,vt=/\bthis\b/,ui=/['\n\r\t\u2028\u2029\\]/g,fi=["Array","Boolean","Date","Function","Math","Number","Object","RegExp","String","_","attachEvent","clearTimeout","isFinite","isNaN","parseInt","setTimeout"],ei=0,a="[object Arguments]",v="[object Array]",y="[object Boolean]",p="[object Date]",yt="[object Function]",w="[object Number]",o="[object Object]",b="[object RegExp]",s="[object String]",r={},f;r[yt]=!1;r[a]=r[v]=r[y]=r[p]=r[w]=r[o]=r[b]=r[s]=!0;var g={leading:!1,maxWait:0,trailing:!1},pt={configurable:!1,enumerable:!1,value:null,writable:!1},t={boolean:!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},oi={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},h=t[typeof window]&&window||this,nt=t[typeof exports]&&exports&&!exports.nodeType&&exports,tt=t[typeof module]&&module&&!module.nodeType&&module,si=tt&&tt.exports===nt&&nt,c=t[typeof global]&&global;c&&(c.global===c||c.window===c)&&(h=c);f=ht();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(h._=f,define(function(){return f})):nt&&tt?si?(tt.exports=f)._=f:nt._=f:h._=f}.call(this);angular.module("placeholders",["placeholders.img","placeholders.txt"]);angular.module("placeholders.img",[]).directive("phImg",function(){return{restrict:"A",scope:{dimensions:"@phImg"},link:function(n,t){function u(){var t=[n.size.h,n.size.w].sort(),i=Math.round(t[1]/16);return Math.max(r.text_size,i)}function f(){i=i||document.createElement("canvas");var t=i.getContext("2d"),f,e;return i.width=n.size.w,i.height=n.size.h,t.fillStyle=r.fill_color,t.fillRect(0,0,n.size.w,n.size.h),f=u(),e=n.dimensions,t.fillStyle=r.text_color,t.textAlign="center",t.textBaseline="middle",t.font="bold "+f+"pt sans-serif",t.measureText(e).width/n.size.w>1&&(f=r.text_size/(t.measureText(e).width/n.size.w),t.font="bold "+f+"pt sans-serif"),t.fillText(n.dimensions,n.size.w/2,n.size.h/2),i.toDataURL("image/png")}var i,r={text_size:10,fill_color:"#EEEEEE",text_color:"#AAAAAA"};n.$watch("dimensions",function(){if(angular.isDefined(n.dimensions)){var i=n.dimensions.match(/^(\d+)x(\d+)$/),r;if(!i){console.error("Expected '000x000'. Got "+n.dimensions);return}n.size={w:i[1],h:i[2]};t.prop("title",n.dimensions);t.prop("alt",n.dimensions);r=f();t.prop("tagName")==="IMG"?t.prop("src",r):t.css("background-image",'url("'+r+'")')}})}}});angular.module("placeholders.txt",[]).factory("TextGeneratorService",function(){function n(n,t){return Math.floor(Math.random()*(t-n+1))+n}var t=["lorem","ipsum","dolor","sit","amet,","consectetur","adipiscing","elit","ut","aliquam,","purus","sit","amet","luctus","venenatis,","lectus","magna","fringilla","urna,","porttitor","rhoncus","dolor","purus","non","enim","praesent","elementum","facilisis","leo,","vel","fringilla","est","ullamcorper","eget","nulla","facilisi","etiam","dignissim","diam","quis","enim","lobortis","scelerisque","fermentum","dui","faucibus","in","ornare","quam","viverra","orci","sagittis","eu","volutpat","odio","facilisis","mauris","sit","amet","massa","vitae","tortor","condimentum","lacinia","quis","vel","eros","donec","ac","odio","tempor","orci","dapibus","ultrices","in","iaculis","nunc","sed","augue","lacus,","viverra","vitae","congue","eu,","consequat","ac","felis","donec","et","odio","pellentesque","diam","volutpat","commodo","sed","egestas","egestas","fringilla","phasellus","faucibus","scelerisque","eleifend","donec","pretium","vulputate","sapien","nec","sagittis","aliquam","malesuada","bibendum","arcu","vitae","elementum","curabitur","vitae","nunc","sed","velit","dignissim","sodales","ut","eu","sem","integer","vitae","justo","eget","magna","fermentum","iaculis","eu","non","diam","phasellus","vestibulum","lorem","sed","risus","ultricies","tristique","nulla","aliquet","enim","tortor,","at","auctor","urna","nunc","id","cursus","metus","aliquam","eleifend","mi","in","nulla","posuere","sollicitudin","aliquam","ultrices","sagittis","orci,","a","scelerisque","purus","semper","eget","duis","at","tellus","at","urna","condimentum","mattis","pellentesque","id","nibh","tortor,","id","aliquet","lectus","proin","nibh","nisl,","condimentum","id","venenatis","a,","condimentum","vitae","sapien","pellentesque","habitant","morbi","tristique","senectus","et","netus","et","malesuada","fames","ac","turpis","egestas","sed","tempus,","urna","et","pharetra","pharetra,","massa","massa","ultricies","mi,","quis","hendrerit","dolor","magna","eget","est","lorem","ipsum","dolor","sit","amet,","consectetur","adipiscing","elit","pellentesque","habitant","morbi","tristique","senectus","et","netus","et","malesuada","fames","ac","turpis","egestas","integer","eget","aliquet","nibh","praesent","tristique","magna","sit","amet","purus","gravida","quis","blandit","turpis","cursus","in","hac","habitasse","platea","dictumst","quisque","sagittis,","purus","sit","amet","volutpat","consequat,","mauris","nunc","congue","nisi,","vitae","suscipit","tellus","mauris","a","diam","maecenas","sed","enim","ut","sem","viverra","aliquet","eget","sit","amet","tellus","cras","adipiscing","enim","eu","turpis","egestas","pretium","aenean","pharetra,","magna","ac","placerat","vestibulum,","lectus","mauris","ultrices","eros,","in","cursus","turpis","massa","tincidunt","dui","ut","ornare","lectus","sit","amet","est","placerat","in","egestas","erat","imperdiet","sed","euismod","nisi","porta","lorem","mollis","aliquam","ut","porttitor","leo","a","diam","sollicitudin","tempor","id","eu","nisl","nunc","mi","ipsum,","faucibus","vitae","aliquet","nec,","ullamcorper","sit","amet","risus","nullam","eget","felis","eget","nunc","lobortis","mattis","aliquam","faucibus","purus","in","massa","tempor","nec","feugiat","nisl","pretium","fusce","id","velit","ut","tortor","pretium","viverra","suspendisse","potenti","nullam","ac","tortor","vitae","purus","faucibus","ornare","suspendisse","sed","nisi","lacus,","sed","viverra","tellus","in","hac","habitasse","platea","dictumst","vestibulum","rhoncus","est","pellentesque","elit","ullamcorper","dignissim","cras","tincidunt","lobortis","feugiat","vivamus","at","augue","eget","arcu","dictum","varius","duis","at","consectetur","lorem","donec","massa","sapien,","faucibus","et","molestie","ac,","feugiat","sed","lectus","vestibulum","mattis","ullamcorper","velit","sed","ullamcorper","morbi","tincidunt","ornare","massa,","eget","egestas","purus","viverra","accumsan","in","nisl","nisi,","scelerisque","eu","ultrices","vitae,","auctor","eu","augue","ut","lectus","arcu,","bibendum","at","varius","vel,","pharetra","vel","turpis","nunc","eget","lorem","dolor,","sed","viverra","ipsum","nunc","aliquet","bibendum","enim,","facilisis","gravida","neque","convallis","a","cras","semper","auctor","neque,","vitae","tempus","quam","pellentesque","nec","nam","aliquam","sem","et","tortor","consequat","id","porta","nibh","venenatis","cras","sed","felis","eget","velit","aliquet","sagittis","id","consectetur","purus","ut","faucibus","pulvinar","elementum","integer","enim","neque,","volutpat","ac","tincidunt","vitae,","semper","quis","lectus","nulla","at","volutpat","diam","ut","venenatis","tellus","in","metus","vulputate","eu","scelerisque","felis","imperdiet","proin","fermentum","leo","vel","orci","porta","non","pulvinar","neque","laoreet","suspendisse","interdum","consectetur","libero,","id","faucibus","nisl","tincidunt","eget","nullam","non","nisi","est,","sit","amet","facilisis","magna","etiam","tempor,","orci","eu","lobortis","elementum,","nibh","tellus","molestie","nunc,","non","blandit","massa","enim","nec","dui","nunc","mattis","enim","ut","tellus","elementum","sagittis","vitae","et","leo","duis","ut","diam","quam","nulla","porttitor","massa","id","neque","aliquam","vestibulum","morbi","blandit","cursus","risus,","at","ultrices","mi","tempus","imperdiet","nulla","malesuada","pellentesque","elit","eget","gravida","cum","sociis","natoque","penatibus","et","magnis","dis","parturient","montes,","nascetur","ridiculus","mus","mauris","vitae","ultricies","leo","integer","malesuada","nunc","vel","risus","commodo","viverra","maecenas","accumsan,","lacus","vel","facilisis","volutpat,","est","velit","egestas","dui,","id","ornare","arcu","odio","ut","sem","nulla","pharetra","diam","sit","amet","nisl","suscipit","adipiscing","bibendum","est","ultricies","integer","quis","auctor","elit","sed","vulputate","mi","sit","amet","mauris","commodo","quis","imperdiet","massa","tincidunt","nunc","pulvinar","sapien","et","ligula","ullamcorper","malesuada","proin","libero","nunc,","consequat","interdum","varius","sit","amet,","mattis","vulputate","enim","nulla","aliquet","porttitor","lacus,","luctus","accumsan","tortor","posuere","ac","ut","consequat","semper","viverra","nam","libero","justo,","laoreet","sit","amet","cursus","sit","amet,","dictum","sit","amet","justo","donec","enim","diam,","vulputate","ut","pharetra","sit","amet,","aliquam","id","diam","maecenas","ultricies","mi","eget","mauris","pharetra","et","ultrices","neque","ornare","aenean","euismod","elementum","nisi,","quis","eleifend","quam","adipiscing","vitae","proin","sagittis,","nisl","rhoncus","mattis","rhoncus,","urna","neque","viverra","justo,","nec","ultrices","dui","sapien","eget","mi","proin","sed","libero","enim,","sed","faucibus","turpis","in","eu","mi","bibendum","neque","egestas","congue","quisque","egestas","diam","in","arcu","cursus","euismod","quis","viverra","nibh","cras","pulvinar","mattis","nunc,","sed","blandit","libero","volutpat","sed","cras","ornare","arcu","dui","vivamus","arcu","felis,","bibendum","ut","tristique","et,","egestas","quis","ipsum","suspendisse","ultrices","fusce","ut","placerat","orci","nulla","pellentesque","dignissim","enim,","sit","amet","venenatis","urna","cursus","eget","nunc","scelerisque","viverra","mauris,","in","aliquam","sem","fringilla","ut","morbi","tincidunt","augue","interdum","velit","euismod","in","pellentesque","massa","placerat","duis","ultricies","lacus","sed","turpis","tincidunt","id","aliquet","risus","feugiat","in","ante","metus,","dictum","at","tempor","commodo,","ullamcorper","a","lacus","vestibulum","sed","arcu","non","odio","euismod","lacinia","at","quis","risus","sed","vulputate","odio","ut","enim","blandit","volutpat","maecenas","volutpat","blandit","aliquam","etiam","erat","velit,","scelerisque","in","dictum","non,","consectetur","a","erat","nam","at","lectus","urna","duis","convallis","convallis","tellus,","id","interdum","velit","laoreet","id","donec","ultrices","tincidunt","arcu,","non","sodales","neque","sodales","ut","etiam","sit","amet","nisl","purus,","in","mollis","nunc","sed","id","semper","risus","in","hendrerit","gravida","rutrum","quisque","non","tellus","orci,","ac","auctor","augue","mauris","augue","neque,","gravida","in","fermentum","et,","sollicitudin","ac","orci","phasellus","egestas","tellus","rutrum","tellus","pellentesque","eu","tincidunt","tortor","aliquam","nulla","facilisi","cras","fermentum,","odio","eu","feugiat","pretium,","nibh","ipsum","consequat","nisl,","vel","pretium","lectus","quam","id","leo","in","vitae","turpis","massa","sed","elementum","tempus","egestas","sed","sed","risus","pretium","quam","vulputate","dignissim","suspendisse","in","est","ante","in","nibh","mauris,","cursus","mattis","molestie","a,","iaculis","at","erat","pellentesque","adipiscing","commodo","elit,","at","imperdiet","dui","accumsan","sit","amet","nulla","facilisi","morbi","tempus","iaculis","urna,","id","volutpat","lacus","laoreet","non","curabitur","gravida","arcu","ac","tortor","dignissim","convallis","aenean","et","tortor","at","risus","viverra","adipiscing","at","in","tellus","integer","feugiat","scelerisque","varius","morbi","enim","nunc,","faucibus","a","pellentesque","sit","amet,","porttitor","eget","dolor","morbi","non","arcu","risus,","quis","varius","quam","quisque","id","diam","vel","quam","elementum","pulvinar","etiam","non","quam","lacus","suspendisse","faucibus","interdum","posuere","lorem","ipsum","dolor","sit","amet,","consectetur","adipiscing","elit","duis","tristique","sollicitudin","nibh","sit","amet","commodo","nulla","facilisi","nullam","vehicula","ipsum","a","arcu","cursus","vitae","congue","mauris","rhoncus","aenean","vel","elit","scelerisque","mauris","pellentesque","pulvinar","pellentesque","habitant","morbi","tristique","senectus","et","netus","et","malesuada","fames","ac","turpis","egestas","maecenas","pharetra","convallis","posuere","morbi","leo","urna,","molestie","at","elementum","eu,","facilisis","sed","odio","morbi","quis","commodo","odio","aenean","sed","adipiscing","diam","donec","adipiscing","tristique","risus","nec","feugiat","in","fermentum","posuere","urna","nec","tincidunt","praesent","semper","feugiat","nibh","sed","pulvinar","proin","gravida","hendrerit","lectus","a","molestie","gravida","dictum"];return{createSentence:function(i){var u,r;return i=i||n(5,20),u=n(0,t.length-i-1),r=t.slice(u,u+i).join(" ").replace(/\,$/g,"")+".",r=r.charAt(0).toUpperCase()+r.slice(1),r},createSentences:function(t){var r=[],i=0;for(t=t||n(3,5),i=0;i<t;i++)r.push(this.createSentence());return r.join(" ")},createParagraph:function(n){var t=this.createSentences(n);return"<p>"+t+"<\/p>"},createParagraphs:function(t,i){var u=[],r=0;for(t=t||n(3,7),r=0;r<t;r++)u.push(this.createParagraph(i));return u.join("\n")}}}).directive("phTxt",["TextGeneratorService",function(n){return{restrict:"EA",controller:["$scope","$element","$attrs",function(t,i,r){function e(){var t;t=f||!u?n.createParagraphs(f,u):n.createSentences(u);i.html(t)}var u,f;r.$observe("phTxt",function(n){var t,i;t=n.match(/(\d+)p/);i=n.match(/(\d+)s/);f=t!==null?parseInt(t[1],10):!1;u=i!==null?parseInt(i[1],10):!1;e()});r.phTxt||e()}]}}]);angular.module("stormpat.ordinal-indicator",[]).directive("nth",function(){var n;return n=function(n){this.num=n;this.suffixes=["th","st","nd","rd","th","th","th","th","th","th"]},n.prototype.addIndicator=function(){var n=this.num,r=/^(string|number)$/.test(typeof n)===!1,i=n.toString().match(/\d$/),t;return r||!i?n:(t=this.suffixes[i[0]],/1[123]$/.test(n)&&(t="th"),[n,t].join(""))},{restrict:"E",transclude:!0,replace:!0,scope:{item:"="},replace:!0,template:"<span ng-transclude><\/span>",link:function(t,i){var r=new n(t.item);return i.text(r.addIndicator())}}}),function(n,t,i){function v(t,i){var u,f;if(n.isArray(t)){for(u=t.length-1;u>=0;u--)f=t[u],n.type(f)==="string"&&r.transports[f]||(i.log("Invalid transport: "+f+", removing it from the transports list."),t.splice(u,1));t.length===0&&(i.log("No transports remain within the specified transport array."),t=null)}else if(r.transports[t]||t==="auto"){if(t==="auto"&&r._.ieVersion<=8)return["longPolling"]}else i.log("Invalid transport: "+t.toString()+"."),t=null;return t}function y(n){return n==="http:"?80:n==="https:"?443:void 0}function h(n,t){return t.match(/:\d+$/)?t:t+":"+y(n)}function p(t,i){var u=this,r=[];u.tryBuffer=function(i){return t.state===n.signalR.connectionState.connecting?(r.push(i),!0):!1};u.drain=function(){if(t.state===n.signalR.connectionState.connected)while(r.length>0)i(r.shift())};u.clear=function(){r=[]}}var f={nojQuery:"jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.",noTransportOnInit:"No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.",errorOnNegotiate:"Error during negotiation request.",stoppedWhileLoading:"The connection was stopped during page load.",stoppedWhileNegotiating:"The connection was stopped during the negotiate request.",errorParsingNegotiateResponse:"Error parsing negotiate response.",errorDuringStartRequest:"Error during start request. Stopping the connection.",stoppedDuringStartRequest:"The connection was stopped during the start request.",errorParsingStartResponse:"Error parsing start response: '{0}'. Stopping the connection.",invalidStartResponse:"Invalid start response: '{0}'. Stopping the connection.",protocolIncompatible:"You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.",sendFailed:"Send failed.",parseFailed:"Failed at parsing response: {0}",longPollFailed:"Long polling request failed.",eventSourceFailedToConnect:"EventSource failed to connect.",eventSourceError:"Error raised by EventSource",webSocketClosed:"WebSocket closed.",pingServerFailedInvalidResponse:"Invalid ping response when pinging server: '{0}'.",pingServerFailed:"Failed to ping server.",pingServerFailedStatusCode:"Failed to ping server.  Server responded with status code {0}, stopping the connection.",pingServerFailedParse:"Failed to parse ping server response, stopping the connection.",noConnectionTransport:"Connection is in an invalid state, there is no transport active.",webSocketsInvalidState:"The Web Socket transport is in an invalid state, transitioning into reconnecting.",reconnectTimeout:"Couldn't reconnect within the configured timeout of {0} ms, disconnecting.",reconnectWindowTimeout:"The client has been inactive since {0} and it has exceeded the inactivity timeout of {1} ms. Stopping the connection."};if(typeof n!="function")throw new Error(f.nojQuery);var r,c,s=t.document.readyState==="complete",e=n(t),l="__Negotiate Aborted__",u={onStart:"onStart",onStarting:"onStarting",onReceived:"onReceived",onError:"onError",onConnectionSlow:"onConnectionSlow",onReconnecting:"onReconnecting",onReconnect:"onReconnect",onStateChanged:"onStateChanged",onDisconnect:"onDisconnect"},w=function(n,i){if(i!==!1){var r;typeof t.console!="undefined"&&(r="["+(new Date).toTimeString()+"] SignalR: "+n,t.console.debug?t.console.debug(r):t.console.log&&t.console.log(r))}},o=function(t,i,r){return i===t.state?(t.state=r,n(t).triggerHandler(u.onStateChanged,[{oldState:i,newState:r}]),!0):!1},b=function(n){return n.state===r.connectionState.disconnected},a=function(n){return n._.keepAliveData.activated&&n.transport.supportsKeepAlive(n)},k=function(i){var f,e;i._.configuredStopReconnectingTimeout||(e=function(t){var i=r._.format(r.resources.reconnectTimeout,t.disconnectTimeout);t.log(i);n(t).triggerHandler(u.onError,[r._.error(i,"TimeoutException")]);t.stop(!1,!1)},i.reconnecting(function(){var n=this;n.state===r.connectionState.reconnecting&&(f=t.setTimeout(function(){e(n)},n.disconnectTimeout))}),i.stateChanged(function(n){n.oldState===r.connectionState.reconnecting&&t.clearTimeout(f)}),i._.configuredStopReconnectingTimeout=!0)};r=function(n,t,i){return new r.fn.init(n,t,i)};r._={defaultContentType:"application/x-www-form-urlencoded; charset=UTF-8",ieVersion:function(){var i,n;return t.navigator.appName==="Microsoft Internet Explorer"&&(n=/MSIE ([0-9]+\.[0-9]+)/.exec(t.navigator.userAgent),n&&(i=t.parseFloat(n[1]))),i}(),error:function(n,t,i){var r=new Error(n);return r.source=t,typeof i!="undefined"&&(r.context=i),r},transportError:function(n,t,r,u){var f=this.error(n,r,u);return f.transport=t?t.name:i,f},format:function(){for(var t=arguments[0],n=0;n<arguments.length-1;n++)t=t.replace("{"+n+"}",arguments[n+1]);return t},firefoxMajorVersion:function(n){var t=n.match(/Firefox\/(\d+)/);return!t||!t.length||t.length<2?0:parseInt(t[1],10)},configurePingInterval:function(i){var f=i._.config,e=function(t){n(i).triggerHandler(u.onError,[t])};f&&!i._.pingIntervalId&&f.pingInterval&&(i._.pingIntervalId=t.setInterval(function(){r.transports._logic.pingServer(i).fail(e)},f.pingInterval))}};r.events=u;r.resources=f;r.ajaxDefaults={processData:!0,timeout:null,async:!0,global:!1,cache:!1};r.changeState=o;r.isDisconnecting=b;r.connectionState={connecting:0,connected:1,reconnecting:2,disconnected:4};r.hub={start:function(){throw new Error("SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/js'><\/script>.");}};e.load(function(){s=!0});r.fn=r.prototype={init:function(t,i,r){var f=n(this);this.url=t;this.qs=i;this.lastError=null;this._={keepAliveData:{},connectingMessageBuffer:new p(this,function(n){f.triggerHandler(u.onReceived,[n])}),lastMessageAt:(new Date).getTime(),lastActiveAt:(new Date).getTime(),beatInterval:5e3,beatHandle:null,totalTransportConnectTimeout:0};typeof r=="boolean"&&(this.logging=r)},_parseResponse:function(n){var t=this;return n?typeof n=="string"?t.json.parse(n):n:n},_originalJson:t.JSON,json:t.JSON,isCrossDomain:function(i,r){var u;return(i=n.trim(i),r=r||t.location,i.indexOf("http")!==0)?!1:(u=t.document.createElement("a"),u.href=i,u.protocol+h(u.protocol,u.host)!==r.protocol+h(r.protocol,r.host))},ajaxDataType:"text",contentType:"application/json; charset=UTF-8",logging:!1,state:r.connectionState.disconnected,clientProtocol:"1.5",reconnectDelay:2e3,transportConnectTimeout:0,disconnectTimeout:3e4,reconnectWindow:3e4,keepAliveWarnAt:2/3,start:function(i,h){var c=this,y={pingInterval:3e5,waitForPageLoad:!0,transport:"auto",jsonp:!1},d,p=c._deferral||n.Deferred(),w=t.document.createElement("a"),b,g;if(c.lastError=null,c._deferral=p,!c.json)throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8.");if(n.type(i)==="function"?h=i:n.type(i)==="object"&&(n.extend(y,i),n.type(y.callback)==="function"&&(h=y.callback)),y.transport=v(y.transport,c),!y.transport)throw new Error("SignalR: Invalid transport(s) specified, aborting start.");return(c._.config=y,!s&&y.waitForPageLoad===!0)?(c._.deferredStartHandler=function(){c.start(i,h)},e.bind("load",c._.deferredStartHandler),p.promise()):c.state===r.connectionState.connecting?p.promise():o(c,r.connectionState.disconnected,r.connectionState.connecting)===!1?(p.resolve(c),p.promise()):(k(c),w.href=c.url,w.protocol&&w.protocol!==":"?(c.protocol=w.protocol,c.host=w.host):(c.protocol=t.document.location.protocol,c.host=w.host||t.document.location.host),c.baseUrl=c.protocol+"//"+c.host,c.wsProtocol=c.protocol==="https:"?"wss://":"ws://",y.transport==="auto"&&y.jsonp===!0&&(y.transport="longPolling"),c.url.indexOf("//")===0&&(c.url=t.location.protocol+c.url,c.log("Protocol relative URL detected, normalizing it to '"+c.url+"'.")),this.isCrossDomain(c.url)&&(c.log("Auto detected cross domain url."),y.transport==="auto"&&(y.transport=["webSockets","serverSentEvents","longPolling"]),typeof y.withCredentials=="undefined"&&(y.withCredentials=!0),y.jsonp||(y.jsonp=!n.support.cors,y.jsonp&&c.log("Using jsonp because this browser doesn't support CORS.")),c.contentType=r._.defaultContentType),c.withCredentials=y.withCredentials,c.ajaxDataType=y.jsonp?"jsonp":"text",n(c).bind(u.onStart,function(){n.type(h)==="function"&&h.call(c);p.resolve(c)}),c._.initHandler=r.transports._logic.initHandler(c),d=function(i,s){var l=r._.error(f.noTransportOnInit);if(s=s||0,s>=i.length){s===0?c.log("No transports supported by the server were selected."):s===1?c.log("No fallback transports were selected."):c.log("Fallback transports exhausted.");n(c).triggerHandler(u.onError,[l]);p.reject(l);c.stop();return}if(c.state!==r.connectionState.disconnected){var y=i[s],h=r.transports[y],v=function(){d(i,s+1)};c.transport=h;try{c._.initHandler.start(h,function(){var i=r._.firefoxMajorVersion(t.navigator.userAgent)>=11,f=!!c.withCredentials&&i;c.log("The start request succeeded. Transitioning to the connected state.");a(c)&&r.transports._logic.monitorKeepAlive(c);r.transports._logic.startHeartbeat(c);r._.configurePingInterval(c);o(c,r.connectionState.connecting,r.connectionState.connected)||c.log("WARNING! The connection was not in the connecting state.");c._.connectingMessageBuffer.drain();n(c).triggerHandler(u.onStart);e.bind("unload",function(){c.log("Window unloading, stopping the connection.");c.stop(f)});i&&e.bind("beforeunload",function(){t.setTimeout(function(){c.stop(f)},0)})},v)}catch(w){c.log(h.name+" transport threw '"+w.message+"' when attempting to start.");v()}}},b=c.url+"/negotiate",g=function(t,i){var e=r._.error(f.errorOnNegotiate,t,i._.negotiateRequest);n(i).triggerHandler(u.onError,e);p.reject(e);i.stop()},n(c).triggerHandler(u.onStarting),b=r.transports._logic.prepareQueryString(c,b),c.log("Negotiating with '"+b+"'."),c._.negotiateRequest=r.transports._logic.ajax(c,{url:b,error:function(n,t){t!==l?g(n,c):p.reject(r._.error(f.stoppedWhileNegotiating,null,c._.negotiateRequest))},success:function(t){var i,e,h,o=[],s=[];try{i=c._parseResponse(t)}catch(l){g(r._.error(f.errorParsingNegotiateResponse,l),c);return}if(e=c._.keepAliveData,c.appRelativeUrl=i.Url,c.id=i.ConnectionId,c.token=i.ConnectionToken,c.webSocketServerUrl=i.WebSocketServerUrl,c._.pollTimeout=i.ConnectionTimeout*1e3+1e4,c.disconnectTimeout=i.DisconnectTimeout*1e3,c._.totalTransportConnectTimeout=c.transportConnectTimeout+i.TransportConnectTimeout*1e3,i.KeepAliveTimeout?(e.activated=!0,e.timeout=i.KeepAliveTimeout*1e3,e.timeoutWarning=e.timeout*c.keepAliveWarnAt,c._.beatInterval=(e.timeout-e.timeoutWarning)/3):e.activated=!1,c.reconnectWindow=c.disconnectTimeout+(e.timeout||0),!i.ProtocolVersion||i.ProtocolVersion!==c.clientProtocol){h=r._.error(r._.format(f.protocolIncompatible,c.clientProtocol,i.ProtocolVersion));n(c).triggerHandler(u.onError,[h]);p.reject(h);return}n.each(r.transports,function(n){if(n.indexOf("_")===0||n==="webSockets"&&!i.TryWebSockets)return!0;s.push(n)});n.isArray(y.transport)?n.each(y.transport,function(t,i){n.inArray(i,s)>=0&&o.push(i)}):y.transport==="auto"?o=s:n.inArray(y.transport,s)>=0&&o.push(y.transport);d(o)}}),p.promise())},starting:function(t){var i=this;return n(i).bind(u.onStarting,function(){t.call(i)}),i},send:function(n){var t=this;if(t.state===r.connectionState.disconnected)throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()");if(t.state===r.connectionState.connecting)throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.");return t.transport.send(t,n),t},received:function(t){var i=this;return n(i).bind(u.onReceived,function(n,r){t.call(i,r)}),i},stateChanged:function(t){var i=this;return n(i).bind(u.onStateChanged,function(n,r){t.call(i,r)}),i},error:function(t){var i=this;return n(i).bind(u.onError,function(n,r,u){i.lastError=r;t.call(i,r,u)}),i},disconnected:function(t){var i=this;return n(i).bind(u.onDisconnect,function(){t.call(i)}),i},connectionSlow:function(t){var i=this;return n(i).bind(u.onConnectionSlow,function(){t.call(i)}),i},reconnecting:function(t){var i=this;return n(i).bind(u.onReconnecting,function(){t.call(i)}),i},reconnected:function(t){var i=this;return n(i).bind(u.onReconnect,function(){t.call(i)}),i},stop:function(i,h){var c=this,v=c._deferral;if(c._.deferredStartHandler&&e.unbind("load",c._.deferredStartHandler),delete c._.config,delete c._.deferredStartHandler,!s&&(!c._.config||c._.config.waitForPageLoad===!0)){c.log("Stopping connection prior to negotiate.");v&&v.reject(r._.error(f.stoppedWhileLoading));return}if(c.state!==r.connectionState.disconnected)return c.log("Stopping connection."),o(c,c.state,r.connectionState.disconnected),t.clearTimeout(c._.beatHandle),t.clearInterval(c._.pingIntervalId),c.transport&&(c.transport.stop(c),h!==!1&&c.transport.abort(c,i),a(c)&&r.transports._logic.stopMonitoringKeepAlive(c),c.transport=null),c._.negotiateRequest&&(c._.negotiateRequest.abort(l),delete c._.negotiateRequest),c._.initHandler&&c._.initHandler.stop(),n(c).triggerHandler(u.onDisconnect),delete c._deferral,delete c.messageId,delete c.groupsToken,delete c.id,delete c._.pingIntervalId,delete c._.lastMessageAt,delete c._.lastActiveAt,c._.connectingMessageBuffer.clear(),c},log:function(n){w(n,this.logging)}};r.fn.init.prototype=r.fn;r.noConflict=function(){return n.connection===r&&(n.connection=c),r};n.connection&&(c=n.connection);n.connection=n.signalR=r}(window.jQuery,window),function(n,t,i){function o(n){n._.keepAliveData.monitoring&&c(n);u.markActive(n)&&(n._.beatHandle=t.setTimeout(function(){o(n)},n._.beatInterval))}function c(t){var i=t._.keepAliveData,u;t.state===r.connectionState.connected&&(u=(new Date).getTime()-t._.lastMessageAt,u>=i.timeout?(t.log("Keep alive timed out.  Notifying transport that connection has been lost."),t.transport.lostConnection(t)):u>=i.timeoutWarning?i.userNotified||(t.log("Keep alive has been missed, connection may be dead/slow."),n(t).triggerHandler(f.onConnectionSlow),i.userNotified=!0):i.userNotified=!1)}function e(n,t){var i=n.url+t;return n.transport&&(i+="?transport="+n.transport.name),u.prepareQueryString(n,i)}function s(n){this.connection=n;this.startRequested=!1;this.startCompleted=!1;this.connectionStopped=!1}var r=n.signalR,f=n.signalR.events,l=n.signalR.changeState,h="__Start Aborted__",u;r.transports={};s.prototype={start:function(n,r,u){var f=this,e=f.connection,o=!1;if(f.startRequested||f.connectionStopped){e.log("WARNING! "+n.name+" transport cannot be started. Initialization ongoing or completed.");return}e.log(n.name+" transport starting.");f.transportTimeoutHandle=t.setTimeout(function(){o||(o=!0,e.log(n.name+" transport timed out when trying to connect."),f.transportFailed(n,i,u))},e._.totalTransportConnectTimeout);n.start(e,function(){o||f.initReceived(n,r)},function(t){return o||(o=!0,f.transportFailed(n,t,u)),!f.startCompleted||f.connectionStopped})},stop:function(){this.connectionStopped=!0;t.clearTimeout(this.transportTimeoutHandle);r.transports._logic.tryAbortStartRequest(this.connection)},initReceived:function(n,i){var u=this,f=u.connection;if(u.startRequested){f.log("WARNING! The client received multiple init messages.");return}u.connectionStopped||(u.startRequested=!0,t.clearTimeout(u.transportTimeoutHandle),f.log(n.name+" transport connected. Initiating start request."),r.transports._logic.ajaxStart(f,function(){u.startCompleted=!0;i()}))},transportFailed:function(i,u,e){var o=this.connection,h=o._deferral,s;this.connectionStopped||(t.clearTimeout(this.transportTimeoutHandle),this.startRequested?this.startCompleted||(s=r._.error(r.resources.errorDuringStartRequest,u),o.log(i.name+" transport failed during the start request. Stopping the connection."),n(o).triggerHandler(f.onError,[s]),h&&h.reject(s),o.stop()):(i.stop(o),o.log(i.name+" transport failed to connect. Attempting to fall back."),e()))}};u=r.transports._logic={ajax:function(t,i){return n.ajax(n.extend(!0,{},n.signalR.ajaxDefaults,{type:"GET",data:{},xhrFields:{withCredentials:t.withCredentials},contentType:t.contentType,dataType:t.ajaxDataType},i))},pingServer:function(t){var e,f,i=n.Deferred();return t.transport?(e=t.url+"/ping",e=u.addQs(e,t.qs),f=u.ajax(t,{url:e,success:function(n){var u;try{u=t._parseResponse(n)}catch(e){i.reject(r._.transportError(r.resources.pingServerFailedParse,t.transport,e,f));t.stop();return}u.Response==="pong"?i.resolve():i.reject(r._.transportError(r._.format(r.resources.pingServerFailedInvalidResponse,n),t.transport,null,f))},error:function(n){n.status===401||n.status===403?(i.reject(r._.transportError(r._.format(r.resources.pingServerFailedStatusCode,n.status),t.transport,n,f)),t.stop()):i.reject(r._.transportError(r.resources.pingServerFailed,t.transport,n,f))}})):i.reject(r._.transportError(r.resources.noConnectionTransport,t.transport)),i.promise()},prepareQueryString:function(n,i){var r;return r=u.addQs(i,"clientProtocol="+n.clientProtocol),r=u.addQs(r,n.qs),n.token&&(r+="&connectionToken="+t.encodeURIComponent(n.token)),n.data&&(r+="&connectionData="+t.encodeURIComponent(n.data)),r},addQs:function(t,i){var r=t.indexOf("?")!==-1?"&":"?",u;if(!i)return t;if(typeof i=="object")return t+r+n.param(i);if(typeof i=="string")return u=i.charAt(0),(u==="?"||u==="&")&&(r=""),t+r+i;throw new Error("Query string property must be either a string or object.");},getUrl:function(n,i,r,f,e){var h=i==="webSockets"?"":n.baseUrl,o=h+n.appRelativeUrl,s="transport="+i;return!e&&n.groupsToken&&(s+="&groupsToken="+t.encodeURIComponent(n.groupsToken)),r?(o+=f?"/poll":"/reconnect",!e&&n.messageId&&(s+="&messageId="+t.encodeURIComponent(n.messageId))):o+="/connect",o+="?"+s,o=u.prepareQueryString(n,o),e||(o+="&tid="+Math.floor(Math.random()*11)),o},maximizePersistentResponse:function(n){return{MessageId:n.C,Messages:n.M,Initialized:typeof n.S!="undefined"?!0:!1,ShouldReconnect:typeof n.T!="undefined"?!0:!1,LongPollDelay:n.L,GroupsToken:n.G}},updateGroups:function(n,t){t&&(n.groupsToken=t)},stringifySend:function(n,t){return typeof t=="string"||typeof t=="undefined"||t===null?t:n.json.stringify(t)},ajaxSend:function(t,i){var h=u.stringifySend(t,i),c=e(t,"/send"),o,s=function(t,u){n(u).triggerHandler(f.onError,[r._.transportError(r.resources.sendFailed,u.transport,t,o),i])};return o=u.ajax(t,{url:c,type:t.ajaxDataType==="jsonp"?"GET":"POST",contentType:r._.defaultContentType,data:{data:h},success:function(n){var i;if(n){try{i=t._parseResponse(n)}catch(r){s(r,t);t.stop();return}u.triggerReceived(t,i)}},error:function(n,i){i!=="abort"&&i!=="parsererror"&&s(n,t)}})},ajaxAbort:function(n,t){if(typeof n.transport!="undefined"){t=typeof t=="undefined"?!0:t;var i=e(n,"/abort");u.ajax(n,{url:i,async:t,timeout:1e3,type:"POST"});n.log("Fired ajax abort async = "+t+".")}},ajaxStart:function(t,i){var s=function(n){var i=t._deferral;i&&i.reject(n)},o=function(i){t.log("The start request failed. Stopping the connection.");n(t).triggerHandler(f.onError,[i]);s(i);t.stop()};t._.startRequest=u.ajax(t,{url:e(t,"/start"),success:function(n,u,f){var e;try{e=t._parseResponse(n)}catch(s){o(r._.error(r._.format(r.resources.errorParsingStartResponse,n),s,f));return}e.Response==="started"?i():o(r._.error(r._.format(r.resources.invalidStartResponse,n),null,f))},error:function(n,i,u){i!==h?o(r._.error(r.resources.errorDuringStartRequest,u,n)):(t.log("The start request aborted because connection.stop() was called."),s(r._.error(r.resources.stoppedDuringStartRequest,null,n)))}})},tryAbortStartRequest:function(n){n._.startRequest&&(n._.startRequest.abort(h),delete n._.startRequest)},tryInitialize:function(n,t){n.Initialized&&t()},triggerReceived:function(t,i){t._.connectingMessageBuffer.tryBuffer(i)||n(t).triggerHandler(f.onReceived,[i])},processMessages:function(t,i,r){var f;u.markLastMessage(t);i&&(f=u.maximizePersistentResponse(i),u.updateGroups(t,f.GroupsToken),f.MessageId&&(t.messageId=f.MessageId),f.Messages&&(n.each(f.Messages,function(n,i){u.triggerReceived(t,i)}),u.tryInitialize(f,r)))},monitorKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring?t.log("Tried to monitor keep alive but it's already being monitored."):(i.monitoring=!0,u.markLastMessage(t),t._.keepAliveData.reconnectKeepAliveUpdate=function(){u.markLastMessage(t)},n(t).bind(f.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t.log("Now monitoring keep alive with a warning timeout of "+i.timeoutWarning+", keep alive timeout of "+i.timeout+" and disconnecting timeout of "+t.disconnectTimeout))},stopMonitoringKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring&&(i.monitoring=!1,n(t).unbind(f.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t._.keepAliveData={},t.log("Stopping the monitoring of the keep alive."))},startHeartbeat:function(n){n._.lastActiveAt=(new Date).getTime();o(n)},markLastMessage:function(n){n._.lastMessageAt=(new Date).getTime()},markActive:function(n){return u.verifyLastActive(n)?(n._.lastActiveAt=(new Date).getTime(),!0):!1},isConnectedOrReconnecting:function(n){return n.state===r.connectionState.connected||n.state===r.connectionState.reconnecting},ensureReconnectingState:function(t){return l(t,r.connectionState.connected,r.connectionState.reconnecting)===!0&&n(t).triggerHandler(f.onReconnecting),t.state===r.connectionState.reconnecting},clearReconnectTimeout:function(n){n&&n._.reconnectTimeout&&(t.clearTimeout(n._.reconnectTimeout),delete n._.reconnectTimeout)},verifyLastActive:function(t){if((new Date).getTime()-t._.lastActiveAt>=t.reconnectWindow){var i=r._.format(r.resources.reconnectWindowTimeout,new Date(t._.lastActiveAt),t.reconnectWindow);return t.log(i),n(t).triggerHandler(f.onError,[r._.error(i,"TimeoutException")]),t.stop(!1,!1),!1}return!0},reconnect:function(n,i){var f=r.transports[i];if(u.isConnectedOrReconnecting(n)&&!n._.reconnectTimeout){if(!u.verifyLastActive(n))return;n._.reconnectTimeout=t.setTimeout(function(){u.verifyLastActive(n)&&(f.stop(n),u.ensureReconnectingState(n)&&(n.log(i+" reconnecting."),f.start(n)))},n.reconnectDelay)}},handleParseFailure:function(t,i,u,e,o){var s=r._.transportError(r._.format(r.resources.parseFailed,i),t.transport,u,o);e&&e(s)?t.log("Failed to parse server response while attempting to connect."):(n(t).triggerHandler(f.onError,[s]),t.stop())},initHandler:function(n){return new s(n)},foreverFrame:{count:0,connections:{}}}}(window.jQuery,window),function(n,t){var r=n.signalR,u=n.signalR.events,f=n.signalR.changeState,i=r.transports._logic;r.transports.webSockets={name:"webSockets",supportsKeepAlive:function(){return!0},send:function(t,f){var e=i.stringifySend(t,f);try{t.socket.send(e)}catch(o){n(t).triggerHandler(u.onError,[r._.transportError(r.resources.webSocketsInvalidState,t.transport,o,t.socket),f])}},start:function(e,o,s){var h,c=!1,l=this,a=!o,v=n(e);if(!t.WebSocket){s();return}e.socket||(h=e.webSocketServerUrl?e.webSocketServerUrl:e.wsProtocol+e.host,h+=i.getUrl(e,this.name,a),e.log("Connecting to websocket endpoint '"+h+"'."),e.socket=new t.WebSocket(h),e.socket.onopen=function(){c=!0;e.log("Websocket opened.");i.clearReconnectTimeout(e);f(e,r.connectionState.reconnecting,r.connectionState.connected)===!0&&v.triggerHandler(u.onReconnect)},e.socket.onclose=function(t){var i;this===e.socket&&(c&&typeof t.wasClean!="undefined"&&t.wasClean===!1?(i=r._.transportError(r.resources.webSocketClosed,e.transport,t),e.log("Unclean disconnect from websocket: "+(t.reason||"[no reason given]."))):e.log("Websocket closed."),s&&s(i)||(i&&n(e).triggerHandler(u.onError,[i]),l.reconnect(e)))},e.socket.onmessage=function(t){var r;try{r=e._parseResponse(t.data)}catch(u){i.handleParseFailure(e,t.data,u,s,t);return}r&&(n.isEmptyObject(r)||r.M?i.processMessages(e,r,o):i.triggerReceived(e,r))})},reconnect:function(n){i.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},stop:function(n){i.clearReconnectTimeout(n);n.socket&&(n.log("Closing the Websocket."),n.socket.close(),n.socket=null)},abort:function(n,t){i.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){var i=n.signalR,u=n.signalR.events,e=n.signalR.changeState,r=i.transports._logic,f=function(n){t.clearTimeout(n._.reconnectAttemptTimeoutHandle);delete n._.reconnectAttemptTimeoutHandle};i.transports.serverSentEvents={name:"serverSentEvents",supportsKeepAlive:function(){return!0},timeOut:3e3,start:function(o,s,h){var c=this,l=!1,a=n(o),v=!s,y;if(o.eventSource&&(o.log("The connection already has an event source. Stopping it."),o.stop()),!t.EventSource){h&&(o.log("This browser doesn't support SSE."),h());return}y=r.getUrl(o,this.name,v);try{o.log("Attempting to connect to SSE endpoint '"+y+"'.");o.eventSource=new t.EventSource(y,{withCredentials:o.withCredentials})}catch(p){o.log("EventSource failed trying to connect with error "+p.Message+".");h?h():(a.triggerHandler(u.onError,[i._.transportError(i.resources.eventSourceFailedToConnect,o.transport,p)]),v&&c.reconnect(o));return}v&&(o._.reconnectAttemptTimeoutHandle=t.setTimeout(function(){l===!1&&o.eventSource.readyState!==t.EventSource.OPEN&&c.reconnect(o)},c.timeOut));o.eventSource.addEventListener("open",function(){o.log("EventSource connected.");f(o);r.clearReconnectTimeout(o);l===!1&&(l=!0,e(o,i.connectionState.reconnecting,i.connectionState.connected)===!0&&a.triggerHandler(u.onReconnect))},!1);o.eventSource.addEventListener("message",function(n){var t;if(n.data!=="initialized"){try{t=o._parseResponse(n.data)}catch(i){r.handleParseFailure(o,n.data,i,h,n);return}r.processMessages(o,t,s)}},!1);o.eventSource.addEventListener("error",function(n){var r=i._.transportError(i.resources.eventSourceError,o.transport,n);this===o.eventSource&&(h&&h(r)||(o.log("EventSource readyState: "+o.eventSource.readyState+"."),n.eventPhase===t.EventSource.CLOSED?(o.log("EventSource reconnecting due to the server connection ending."),c.reconnect(o)):(o.log("EventSource error."),a.triggerHandler(u.onError,[r]))))},!1)},reconnect:function(n){r.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){r.ajaxSend(n,t)},stop:function(n){f(n);r.clearReconnectTimeout(n);n&&n.eventSource&&(n.log("EventSource calling close()."),n.eventSource.close(),n.eventSource=null,delete n.eventSource)},abort:function(n,t){r.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){var r=n.signalR,e=n.signalR.events,o=n.signalR.changeState,i=r.transports._logic,u=function(){var n=t.document.createElement("iframe");return n.setAttribute("style","position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;"),n},f=function(){var i=null,f=1e3,n=0;return{prevent:function(){r._.ieVersion<=8&&(n===0&&(i=t.setInterval(function(){var n=u();t.document.body.appendChild(n);t.document.body.removeChild(n);n=null},f)),n++)},cancel:function(){n===1&&t.clearInterval(i);n>0&&n--}}}();r.transports.foreverFrame={name:"foreverFrame",supportsKeepAlive:function(){return!0},iframeClearThreshold:50,start:function(n,r,e){var l=this,s=i.foreverFrame.count+=1,h,o=u(),c=function(){n.log("Forever frame iframe finished loading and is no longer receiving messages.");e&&e()||l.reconnect(n)};if(t.EventSource){e&&(n.log("Forever Frame is not supported by SignalR on browsers with SSE support."),e());return}o.setAttribute("data-signalr-connection-id",n.id);f.prevent();h=i.getUrl(n,this.name);h+="&frameId="+s;t.document.documentElement.appendChild(o);n.log("Binding to iframe's load event.");o.addEventListener?o.addEventListener("load",c,!1):o.attachEvent&&o.attachEvent("onload",c);o.src=h;i.foreverFrame.connections[s]=n;n.frame=o;n.frameId=s;r&&(n.onSuccess=function(){n.log("Iframe transport started.");r()})},reconnect:function(n){var r=this;i.isConnectedOrReconnecting(n)&&i.verifyLastActive(n)&&t.setTimeout(function(){if(i.verifyLastActive(n)&&n.frame&&i.ensureReconnectingState(n)){var u=n.frame,t=i.getUrl(n,r.name,!0)+"&frameId="+n.frameId;n.log("Updating iframe src to '"+t+"'.");u.src=t}},n.reconnectDelay)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){i.ajaxSend(n,t)},receive:function(t,u){var f,e,o;if(t.json!==t._originalJson&&(u=t._originalJson.stringify(u)),o=t._parseResponse(u),i.processMessages(t,o,t.onSuccess),t.state===n.signalR.connectionState.connected&&(t.frameMessageCount=(t.frameMessageCount||0)+1,t.frameMessageCount>r.transports.foreverFrame.iframeClearThreshold&&(t.frameMessageCount=0,f=t.frame.contentWindow||t.frame.contentDocument,f&&f.document&&f.document.body)))for(e=f.document.body;e.firstChild;)e.removeChild(e.firstChild)},stop:function(n){var r=null;if(f.cancel(),n.frame){if(n.frame.stop)n.frame.stop();else try{r=n.frame.contentWindow||n.frame.contentDocument;r.document&&r.document.execCommand&&r.document.execCommand("Stop")}catch(u){n.log("Error occured when stopping foreverFrame transport. Message = "+u.message+".")}n.frame.parentNode===t.document.body&&t.document.body.removeChild(n.frame);delete i.foreverFrame.connections[n.frameId];n.frame=null;n.frameId=null;delete n.frame;delete n.frameId;delete n.onSuccess;delete n.frameMessageCount;n.log("Stopping forever frame.")}},abort:function(n,t){i.ajaxAbort(n,t)},getConnection:function(n){return i.foreverFrame.connections[n]},started:function(t){o(t,r.connectionState.reconnecting,r.connectionState.connected)===!0&&n(t).triggerHandler(e.onReconnect)}}}(window.jQuery,window),function(n,t){var r=n.signalR,u=n.signalR.events,e=n.signalR.changeState,f=n.signalR.isDisconnecting,i=r.transports._logic;r.transports.longPolling={name:"longPolling",supportsKeepAlive:function(){return!1},reconnectDelay:3e3,start:function(o,s,h){var a=this,v=function(){v=n.noop;o.log("LongPolling connected.");s()},y=function(n){return h(n)?(o.log("LongPolling failed to connect."),!0):!1},c=o._,l=0,p=function(i){t.clearTimeout(c.reconnectTimeoutId);c.reconnectTimeoutId=null;e(i,r.connectionState.reconnecting,r.connectionState.connected)===!0&&(i.log("Raising the reconnect event"),n(i).triggerHandler(u.onReconnect))},w=36e5;o.pollXhr&&(o.log("Polling xhr requests already exists, aborting."),o.stop());o.messageId=null;c.reconnectTimeoutId=null;c.pollTimeoutId=t.setTimeout(function(){(function e(s,h){var g=s.messageId,nt=g===null,k=!nt,tt=!h,d=i.getUrl(s,a.name,k,tt,!0),b={};(s.messageId&&(b.messageId=s.messageId),s.groupsToken&&(b.groupsToken=s.groupsToken),f(s)!==!0)&&(o.log("Opening long polling request to '"+d+"'."),s.pollXhr=i.ajax(o,{xhrFields:{onprogress:function(){i.markLastMessage(o)}},url:d,type:"POST",contentType:r._.defaultContentType,data:b,timeout:o._.pollTimeout,success:function(r){var h,w=0,u,a;o.log("Long poll complete.");l=0;try{h=o._parseResponse(r)}catch(b){i.handleParseFailure(s,r,b,y,s.pollXhr);return}(c.reconnectTimeoutId!==null&&p(s),h&&(u=i.maximizePersistentResponse(h)),i.processMessages(s,h,v),u&&n.type(u.LongPollDelay)==="number"&&(w=u.LongPollDelay),f(s)!==!0)&&(a=u&&u.ShouldReconnect,!a||i.ensureReconnectingState(s))&&(w>0?c.pollTimeoutId=t.setTimeout(function(){e(s,a)},w):e(s,a))},error:function(f,h){var v=r._.transportError(r.resources.longPollFailed,o.transport,f,s.pollXhr);if(t.clearTimeout(c.reconnectTimeoutId),c.reconnectTimeoutId=null,h==="abort"){o.log("Aborted xhr request.");return}if(!y(v)){if(l++,o.state!==r.connectionState.reconnecting&&(o.log("An error occurred using longPolling. Status = "+h+".  Response = "+f.responseText+"."),n(s).triggerHandler(u.onError,[v])),(o.state===r.connectionState.connected||o.state===r.connectionState.reconnecting)&&!i.verifyLastActive(o))return;if(!i.ensureReconnectingState(s))return;c.pollTimeoutId=t.setTimeout(function(){e(s,!0)},a.reconnectDelay)}}}),k&&h===!0&&(c.reconnectTimeoutId=t.setTimeout(function(){p(s)},Math.min(1e3*(Math.pow(2,l)-1),w))))})(o)},250)},lostConnection:function(n){n.pollXhr&&n.pollXhr.abort("lostConnection")},send:function(n,t){i.ajaxSend(n,t)},stop:function(n){t.clearTimeout(n._.pollTimeoutId);t.clearTimeout(n._.reconnectTimeoutId);delete n._.pollTimeoutId;delete n._.reconnectTimeoutId;n.pollXhr&&(n.pollXhr.abort(),n.pollXhr=null,delete n.pollXhr)},abort:function(n,t){i.ajaxAbort(n,t)}}}(window.jQuery,window),function(n){function r(n){return n+s}function e(n,t,i){for(var f=n.length,u=[],r=0;r<f;r+=1)n.hasOwnProperty(r)&&(u[r]=t.call(i,n[r],r,n));return u}function o(t){return n.isFunction(t)?null:n.type(t)==="undefined"?null:t}function u(n){for(var t in n)if(n.hasOwnProperty(t))return!0;return!1}function f(n,t){var i=n._.invocationCallbacks,r,f;u(i)&&n.log("Clearing hub invocation callbacks with error: "+t+".");n._.invocationCallbackId=0;delete n._.invocationCallbacks;n._.invocationCallbacks={};for(f in i)r=i[f],r.method.call(r.scope,{E:t})}function i(n,t){return new i.fn.init(n,t)}function t(i,r){var u={qs:null,logging:!1,useDefaultPath:!0};return n.extend(u,r),(!i||u.useDefaultPath)&&(i=(i||"")+"/signalr"),new t.fn.init(i,u)}var s=".hubProxy",h=n.signalR;i.fn=i.prototype={init:function(n,t){this.state={};this.connection=n;this.hubName=t;this._={callbackMap:{}}},constructor:i,hasSubscriptions:function(){return u(this._.callbackMap)},on:function(t,i){var u=this,f=u._.callbackMap;return t=t.toLowerCase(),f[t]||(f[t]={}),f[t][i]=function(n,t){i.apply(u,t)},n(u).bind(r(t),f[t][i]),u},off:function(t,i){var e=this,o=e._.callbackMap,f;return t=t.toLowerCase(),f=o[t],f&&(f[i]?(n(e).unbind(r(t),f[i]),delete f[i],u(f)||delete o[t]):i||(n(e).unbind(r(t)),delete o[t])),e},invoke:function(t){var i=this,r=i.connection,s=n.makeArray(arguments).slice(1),c=e(s,o),f={H:i.hubName,M:t,A:c,I:r._.invocationCallbackId},u=n.Deferred(),l=function(f){var e=i._maximizeHubResponse(f),s,o;n.extend(i.state,e.State);e.Progress?u.notifyWith?u.notifyWith(i,[e.Progress.Data]):r._.progressjQueryVersionLogged||(r.log("A hub method invocation progress update was received but the version of jQuery in use ("+n.prototype.jquery+") does not support progress updates. Upgrade to jQuery 1.7+ to receive progress notifications."),r._.progressjQueryVersionLogged=!0):e.Error?(e.StackTrace&&r.log(e.Error+"\n"+e.StackTrace+"."),s=e.IsHubException?"HubException":"Exception",o=h._.error(e.Error,s),o.data=e.ErrorData,r.log(i.hubName+"."+t+" failed to execute. Error: "+o.message),u.rejectWith(i,[o])):(r.log("Invoked "+i.hubName+"."+t),u.resolveWith(i,[e.Result]))};return r._.invocationCallbacks[r._.invocationCallbackId.toString()]={scope:i,method:l},r._.invocationCallbackId+=1,n.isEmptyObject(i.state)||(f.S=i.state),r.log("Invoking "+i.hubName+"."+t),r.send(f),u.promise()},_maximizeHubResponse:function(n){return{State:n.S,Result:n.R,Progress:n.P?{Id:n.P.I,Data:n.P.D}:null,Id:n.I,IsHubException:n.H,Error:n.E,StackTrace:n.T,ErrorData:n.D}}};i.fn.init.prototype=i.fn;t.fn=t.prototype=n.connection();t.fn.init=function(t,i){var e={qs:null,logging:!1,useDefaultPath:!0},u=this;n.extend(e,i);n.signalR.fn.init.call(u,t,e.qs,e.logging);u.proxies={};u._.invocationCallbackId=0;u._.invocationCallbacks={};u.received(function(t){var f,o,e,i,s,h;t&&(typeof t.P!="undefined"?(e=t.P.I.toString(),i=u._.invocationCallbacks[e],i&&i.method.call(i.scope,t)):typeof t.I!="undefined"?(e=t.I.toString(),i=u._.invocationCallbacks[e],i&&(u._.invocationCallbacks[e]=null,delete u._.invocationCallbacks[e],i.method.call(i.scope,t))):(f=this._maximizeClientHubInvocation(t),u.log("Triggering client hub event '"+f.Method+"' on hub '"+f.Hub+"'."),s=f.Hub.toLowerCase(),h=f.Method.toLowerCase(),o=this.proxies[s],n.extend(o.state,f.State),n(o).triggerHandler(r(h),[f.Args])))});u.error(function(n,t){var i,r;t&&(i=t.I,r=u._.invocationCallbacks[i],r&&(u._.invocationCallbacks[i]=null,delete u._.invocationCallbacks[i],r.method.call(r.scope,{E:n})))});u.reconnecting(function(){u.transport&&u.transport.name==="webSockets"&&f(u,"Connection started reconnecting before invocation result was received.")});u.disconnected(function(){f(u,"Connection was disconnected before invocation result was received.")})};t.fn._maximizeClientHubInvocation=function(n){return{Hub:n.H,Method:n.M,Args:n.A,State:n.S}};t.fn._registerSubscribedHubs=function(){var t=this;t._subscribedToHubs||(t._subscribedToHubs=!0,t.starting(function(){var i=[];n.each(t.proxies,function(n){this.hasSubscriptions()&&(i.push({name:n}),t.log("Client subscribed to hub '"+n+"'."))});i.length===0&&t.log("No hubs have been subscribed to.  The client will not receive data from hubs.  To fix, declare at least one client side function prior to connection start for each hub you wish to subscribe to.");t.data=t.json.stringify(i)}))};t.fn.createHubProxy=function(n){n=n.toLowerCase();var t=this.proxies[n];return t||(t=i(this,n),this.proxies[n]=t),this._registerSubscribedHubs(),t};t.fn.init.prototype=t.fn;n.hubConnection=t}(window.jQuery,window),function(n){n.signalR.version="2.2.0"}(window.jQuery)