PageSourceSearch

https://www.hawaiilife.com/assets/home-f7827162a7dd7d3f02d340306be58ca236cd86e5c221bcaa1215336ca3b6d549.js

js hawaiilife.com collected 2026-09-24 18:11:08 UTC 851,759 bytes, 80 lines download raw bytes

1function bsCompilerService($q,$http,$injector,$compile,$controller,$templateCache){function findElement(query,element){return angular.element((element||document).querySelectorAll(query))}function fetchTemplate(template){return fetchPromises[template]?fetchPromises[template]:fetchPromises[template]=$http.get(template,{cache:$templateCache}).then(function(res){return res.data})}this.compile=function(options){options.template&&/\.html$/.test(options.template)&&(console.warn("Deprecated use of `template` option to pass a file. Please use the `templateUrl` option instead."),options.templateUrl=options.template,options.template="");var templateUrl=options.templateUrl,template=options.template||"",controller=options.controller,controllerAs=options.controllerAs,resolve=angular.copy(options.resolve||{}),locals=angular.copy(options.locals||{}),transformTemplate=options.transformTemplate||angular.identity,bindToController=options.bindToController;if(angular.forEach(resolve,function(value,key){angular.isString(value)?resolve[key]=$injector.get(value):resolve[key]=$injector.invoke(value)}),angular.extend(resolve,locals),template)resolve.$template=$q.when(template);else{if(!templateUrl)throw new Error("Missing `template` / `templateUrl` option.");resolve.$template=fetchTemplate(templateUrl)}return options.contentTemplate&&(resolve.$template=$q.all([resolve.$template,fetchTemplate(options.contentTemplate)]).then(function(templates){var templateEl=angular.element(templates[0]),contentEl=findElement('[ng-bind="content"]',templateEl[0]).removeAttr("ng-bind").html(templates[1]);return options.templateUrl||contentEl.next().remove(),templateEl[0].outerHTML})),$q.all(resolve).then(function(locals){var template=transformTemplate(locals.$template);options.html&&(template=template.replace(/ng-bind="/gi,'ng-bind-html="'));var element=angular.element("<div>").html(template.trim()).contents(),linkFn=$compile(element);return{locals:locals,element:element,link:function(scope){if(locals.$scope=scope,controller){var invokeCtrl=$controller(controller,locals,!0);bindToController&&angular.extend(invokeCtrl.instance,locals);var ctrl=angular.isObject(invokeCtrl)?invokeCtrl:invokeCtrl();element.data("$ngControllerController",ctrl),element.children().data("$ngControllerController",ctrl),controllerAs&&(scope[controllerAs]=ctrl)}return linkFn.apply(null,arguments)}}})};var fetchPromises={}}function hl_debounce(func,wait,immediate){var timeout;return function(){var context=this,args=arguments,later=function(){timeout=null,immediate||func.apply(context,args)},callNow=immediate&&!timeout;clearTimeout(timeout),timeout=setTimeout(later,wait),callNow&&func.apply(context,args)}}(function(){function n(n,t){return n.set(t[0],t[1]),n}function t(n,t){return n.add(t),n}function r(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function e(n,t,r,e){for(var u=-1,o=n.length;++u<o;){var i=n[u];t(e,i,r(i),n)}return e}function u(n,t){for(var r=-1,e=n.length;++r<e&&!1!==t(n[r],r,n););return n}function o(n,t){for(var r=-1,e=n.length;++r<e;)if(!t(n[r],r,n))return!1;return!0}function i(n,t){for(var r=-1,e=n.length,u=-1,o=[];++r<e;){var i=n[r];t(i,r,n)&&(o[++u]=i)}return o}function f(n,t){return!!n.length&&-1<d(n,t,0)}function c(n,t,r){for(var e=-1,u=n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function a(n,t){for(var r=-1,e=n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function l(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function s(n,t,r,e){var u=-1,o=n.length;for(e&&o&&(r=n[++u]);++u<o;)r=t(r,n[u],u,n);return r}function h(n,t,r,e){var u=n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function p(n,t){for(var r=-1,e=n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}function _(n,t,r){for(var e=-1,u=n.length;++e<u;){var o=n[e],i=t(o);if(null!=i&&(f===Z?i==i:r(i,f)))var f=i,c=o}return c}function g(n,t,r,e){var u;return r(n,function(n,r,o){return t(n,r,o)?(u=e?r:n,!1):void 0}),u}function v(n,t,r){for(var e=n.length,u=r?e:-1;r?u--:++u<e;)if(t(n[u],u,n))return u;return-1}function d(n,t,r){if(t!=t)return B(n,r);--r;for(var e=n.length;++r<e;)if(n[r]===t)return r;return-1}function y(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=!1,n):t(r,n,u,o)}),r}function b(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].c;return n}function x(n,t){for(var r,e=-1,u=n.length;++e<u;){var o=t(n[e]);o!==Z&&(r=r===Z?o:r+o)}return r}function j(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function m(n,t){return a(t,function(t){return[t,n[t]]})}function w(n){return function(t){return n(t)}}function A(n,t){return a(t,function(t){return n[t]})}function O(n,t){for(var r=-1,e=n.length;++r<e&&-1<d(t,n[r],0););return r}function k(n,t){for(var r=n.length;r--&&-1<d(t,n[r],0););return r}function E(n){return n&&n.Object===Object?n:null}function I(n,t){if(n!==t){var r=null===n,e=n===Z,u=n==n,o=null===t,i=t===Z,f=t==t;if(n>t&&!o||!u||r&&!i&&f||e&&f)return 1;if(t>n&&!r||!f||o&&!e&&u||i&&u)return-1}return 0}function S(n){return Un[n]}function R(n){return zn[n]}function W(n){return"\\"+$n[n]}function B(n,t,r){var e=n.length;for(t+=r?0:-1;r?t--:++t<e;){var u=n[t];if(u!=u)return t}return-1}function C(n){var t=!1;if(null!=n&&"function"!=typeof n.toString)try{t=!!(n+"")}catch(r){}return t}function U(n,t){return(n="number"==typeof n||yn.test(n)?+n:-1)>-1&&0==n%1&&(null==t?9007199254740991:t)>n}function z(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}function M(n){var t=-1,r=Array(n.size);
1return n.forEach(function(n,e){r[++t]=[e,n]}),r}function L(n,t){for(var r=-1,e=n.length,u=-1,o=[];++r<e;)n[r]===t&&(n[r]="__lodash_placeholder__",o[++u]=r);return o}function $(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function F(n){if(!n||!En.test(n))return n.length;for(var t=kn.lastIndex=0;kn.test(n);)t++;return t}function N(n){return Mn[n]}function D(E){function yn(n){if(je(n)&&!No(n)&&!(n instanceof An)){if(n instanceof wn)return n;if(cu.call(n,"__wrapped__"))return Zr(n)}return new wn(n)}function mn(){}function wn(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=Z}function An(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Un(){}function zn(n){var t=-1,r=n?n.length:0;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Mn(n){var t=-1,r=n?n.length:0;for(this.__data__=new zn;++t<r;)this.push(n[t])}function Ln(n,t){var r=n.__data__;return Ur(t)?(r=r.__data__,"__lodash_hash_undefined__"===("string"==typeof t?r.string:r.hash)[t]):r.has(t)}function $n(n){var t=-1,r=n?n.length:0;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function Dn(n,t){var r=qn(n,t);return!(0>r)&&(r==n.length-1?n.pop():Ou.call(n,r,1),!0)}function Zn(n,t){var r=qn(n,t);return 0>r?Z:n[r][1]}function qn(n,t){for(var r=n.length;r--;)if(se(n[r][0],t))return r;return-1}function Pn(n,t,r){var e=qn(n,t);0>e?n.push([t,r]):n[e][1]=r}function Tn(n,t,r,e){return n===Z||se(n,iu[r])&&!cu.call(e,r)?t:n}function Gn(n,t,r){(r!==Z&&!se(n[t],r)||"number"==typeof t&&r===Z&&!(t in n))&&(n[t]=r)}function Yn(n,t,r){var e=n[t];(!se(e,r)||se(e,iu[t])&&!cu.call(n,t)||r===Z&&!(t in n))&&(n[t]=r)}function Hn(n,t,r,e){return Ju(n,function(n,u,o){t(e,n,r(n),o)}),e}function Qn(n,t){return n&&Ht(t,Fe(t),n)}function Xn(n,t){for(var r=-1,e=null==n,u=t.length,o=Array(u);++r<u;)o[r]=e?Z:Me(n,t[r]);return o}function nt(n,t,r){return n==n&&(r!==Z&&(n=n>r?r:n),t!==Z&&(n=t>n?t:n)),n}function tt(n,t,r,e,o,i){var f;if(r&&(f=o?r(n,e,o,i):r(n)),f!==Z)return f;if(!xe(n))return n;if(e=No(n)){if(f=Ir(n),!t)return Yt(n,f)}else{var c=kr(n),a="[object Function]"==c||"[object GeneratorFunction]"==c;if(Do(n))return Kt(n,t);if("[object Object]"!=c&&"[object Arguments]"!=c&&(!a||o))return Cn[c]?Rr(n,c,t):o?n:{};if(C(n))return o?n:{};if(f=Sr(a?{}:n),!t)return Xt(n,Qn(f,n))}return i||(i=new $n),(o=i.get(n))?o:(i.set(n,f),(e?u:at)(n,function(e,u){Yn(f,u,tt(e,t,r,u,n,i))}),e?f:Xt(n,f))}function rt(n){var t=Fe(n),r=t.length;return function(e){if(null==e)return!r;for(var u=r;u--;){var o=t[u],i=n[o],f=e[o];if(f===Z&&!(o in Object(e))||!i(f))return!1}return!0}}function et(n,t,r){if("function"!=typeof n)throw new uu("Expected a function");return Au(function(){n.apply(Z,r)},t)}function ut(n,t,r,e){var u=-1,o=f,i=!0,l=n.length,s=[],h=t.length;if(!l)return s;r&&(t=a(t,w(r))),e?(o=c,i=!1):t.length>=200&&(o=Ln,i=!1,t=new Mn(t));n:for(;++u<l;){var p=n[u],_=r?r(p):p;if(i&&_==_){for(var g=h;g--;)if(t[g]===_)continue n;s.push(p)}else o(t,_,e)||s.push(p)}return s}function ot(n,t){var r=!0;return Ju(n,function(n,e,u){return r=!!t(n,e,u)}),r}function it(n,t){var r=[];return Ju(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function ft(n,t,r,e){e||(e=[]);for(var u=-1,o=n.length;++u<o;){var i=n[u];ge(i)&&(r||No(i)||pe(i))?t?ft(i,t,r,e):l(e,i):r||(e[e.length]=i)}return e}function ct(n,t){return null==n?n:Hu(n,t,Ne)}function at(n,t){return n&&Hu(n,t,Fe)}function lt(n,t){return n&&Qu(n,t,Fe)}function st(n,t){return i(t,function(t){return de(n[t])})}function ht(n,t){for(var r=0,e=(t=Cr(t,n)?[t+""]:Nt(t)).length;null!=n&&e>r;)n=n[t[r++]];return r&&r==e?n:Z}function pt(n,t){return cu.call(n,t)||"object"==typeof n&&t in n&&null===xu(n)}function _t(n,t){return t in Object(n)}function gt(n,t,r){for(var e=r?c:f,u=n.length,o=u,i=Array(u),l=[];o--;){var s=n[o];o&&t&&(s=a(s,w(t))),i[o]=r||!t&&120>s.length?Z:new Mn(o&&s)}var h=-1,p=(s=n[0]).length,_=i[0];n:for(;++h<p;){var g=s[h],v=t?t(g):g;if(_?!Ln(_,v):!e(l,v,r)){for(o=u;--o;){var d=i[o];if(d?!Ln(d,v):!e(n[o],v,r))continue n}_&&_.push(v),l.push(g)}}return l}function vt(n,t,r,e){return at(n,function(n,u,o){t(e,r(n),u,o)}),e}function dt(n,t,e){return Cr(t,n)||(n=$r(n,t=Nt(t)),t=Kr(t)),null==(t=null==n?n:n[t])?Z:r(t,n,e)}function yt(n,t,r,e,u){if(n===t)return!0;
1if(null==n||null==t||!xe(n)&&!je(t))return n!=n&&t!=t;n:{var o=No(n),i=No(t),f="[object Array]",c="[object Array]";o||("[object Arguments]"==(f=kr(n))?f="[object Object]":"[object Object]"!=f&&(o=Ie(n))),i||("[object Arguments]"==(c=kr(t))?c="[object Object]":"[object Object]"!=c&&Ie(t));var a="[object Object]"==f&&!C(n);i="[object Object]"==c&&!C(t);if(!(c=f==c)||o||a){if(!(2&e)&&(f=a&&cu.call(n,"__wrapped__"),i=i&&cu.call(t,"__wrapped__"),f||i)){n=yt(f?n.value():n,i?t.value():t,r,e,u);break n}c?(u||(u=new $n),n=(o?br:jr)(n,t,yt,r,e,u)):n=!1}else n=xr(n,t,f,yt,r,e)}return n}function bt(n,t,r,e){var u=r.length,o=u,i=!e;if(null==n)return!o;for(n=Object(n);u--;){var f=r[u];if(i&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<o;){var c=(f=r[u])[0],a=n[c],l=f[1];if(i&&f[2]){if(a===Z&&!(c in n))return!1}else if(f=new $n,(c=e?e(a,l,c,n,t,f):Z)===Z?!yt(l,a,e,3,f):!c)return!1}return!0}function xt(n){var t=typeof n;return"function"==t?n:null==n?Ve:"object"==t?No(n)?At(n[0],n[1]):wt(n):Qe(n)}function jt(n){n=null==n?n:Object(n);var t,r=[];for(t in n)r.push(t);return r}function mt(n,t){var r=-1,e=_e(n)?Array(n.length):[];return Ju(n,function(n,u,o){e[++r]=t(n,u,o)}),e}function wt(n){var t=Ar(n);if(1==t.length&&t[0][2]){var r=t[0][0],e=t[0][1];return function(n){return null!=n&&(n[r]===e&&(e!==Z||r in Object(n)))}}return function(r){return r===n||bt(r,n,t)}}function At(n,t){return function(r){var e=Me(r,n);return e===Z&&e===t?$e(r,n):yt(t,e,Z,3)}}function Ot(n,t,r,e,o){if(n!==t){var i=No(t)||Ie(t)?Z:Ne(t);u(i||t,function(u,f){if(i&&(u=t[f=u]),xe(u)){o||(o=new $n);var c=f,a=o,l=n[c],s=t[c];if(!(h=a.get(s))){var h,p=(h=e?e(l,s,c+"",n,t,a):Z)===Z;p&&(h=s,No(s)||Ie(s)?No(l)?h=r?Yt(l):l:ge(l)?h=Yt(l):(p=!1,h=tt(s)):Ae(s)||pe(s)?pe(l)?h=Ue(l):!xe(l)||r&&de(l)?(p=!1,h=tt(s)):h=r?tt(l):l:p=!1),a.set(s,h),p&&Ot(h,s,r,e,a)}Gn(n,c,h)}else(c=e?e(n[f],u,f+"",n,t,o):Z)===Z&&(c=u),Gn(n,f,c)})}}function kt(n,t,r){var e=-1,u=wr();return t=a(t.length?t:Array(1),function(n){return u(n)}),b(n=mt(n,function(n){return{a:a(t,function(t){return t(n)}),b:++e,c:n}}),function(n,t){var e;n:{e=-1;for(var u=n.a,o=t.a,i=u.length,f=r.length;++e<i;){var c=I(u[e],o[e]);if(c){if(e>=f){e=c;break n}e=c*("desc"==r[e]?-1:1);break n}}e=n.b-t.b}return e})}function Et(n,t){return n=Object(n),s(t,function(t,r){return r in n&&(t[r]=n[r]),t},{})}function It(n,t){var r={};return ct(n,function(n,e){t(n,e)&&(r[e]=n)}),r}function St(n){return function(t){return null==t?Z:t[n]}}function Rt(n){return function(t){return ht(t,n)}}function Wt(n,t,r){var e=-1,u=t.length,o=n;for(r&&(o=a(n,function(n){return r(n)}));++e<u;){var i=0,f=t[e];for(f=r?r(f):f;-1<(i=d(o,f,i));)o!==n&&Ou.call(o,i,1),Ou.call(n,i,1)}return n}function Bt(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];if(e==r||u!=o){var o=u;if(U(u))Ou.call(n,u,1);else if(Cr(u,n))delete n[u];else{var i=$r(n,u=Nt(u));null!=i&&delete i[Kr(u)]}}}return n}function Ct(n,t){return n+Eu(Uu()*(t-n+1))}function Ut(n,t,r,e){for(var u=-1,o=(t=Cr(t,n)?[t+""]:Nt(t)).length,i=o-1,f=n;null!=f&&++u<o;){var c=t[u];if(xe(f)){var a=r;if(u!=i){var l=f[c];(a=e?e(l,c,f):Z)===Z&&(a=null==l?U(t[u+1])?[]:{}:l)}Yn(f,c,a)}f=f[c]}return n}function zt(n,t,r){var e=-1,u=n.length;for(0>t&&(t=-t>u?0:u+t),0>(r=r>u?u:r)&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++e<u;)r[e]=n[e+t];return r}function Mt(n,t){var r;return Ju(n,function(n,e,u){return!(r=t(n,e,u))}),!!r}function Lt(n,t,r){var e=0,u=n?n.length:e;if("number"==typeof t&&t==t&&2147483647>=u){for(;u>e;){var o=e+u>>>1,i=n[o];(r?t>=i:t>i)&&null!==i?e=o+1:u=o}return u}return $t(n,t,Ve,r)}function $t(n,t,r,e){t=r(t);for(var u=0,o=n?n.length:0,i=t!=t,f=null===t,c=t===Z;o>u;){var a=Eu((u+o)/2),l=r(n[a]),s=l!==Z,h=l==l;(i?h||e:f?h&&s&&(e||null!=l):c?h&&(e||s):null!=l&&(e?t>=l:t>l))?u=a+1:o=a}return Bu(o,4294967294)}function Ft(n,t){for(var r=0,e=n.length,u=n[0],o=t?t(u):u,i=o,f=0,c=[u];++r<e;)u=n[r],se(o=t?t(u):u,i)||(i=o,c[++f]=u);return c}function Nt(n){return No(n)?n:Fr(n)}function Dt(n,t,r){var e=-1,u=f,o=n.length,i=!0,a=[],l=a;if(r)i=!1,u=c;else if(o<200)l=t?[]:a;else{if(u=t?null:no(n))return $(u);i=!1,u=Ln,l=new Mn}n:for(;++e<o;){var s=n[e],h=t?t(s):s;if(i&&h==h){for(var p=l.length;p--;)if(l[p]===h)continue n;t&&l.push(h),a.push(s)}else u(l,h,r)||(l!==a&&l.push(h),a.push(s))}return a}function Zt(n,t,r,e){for(var u=n.length,o=e?u:-1;(e?o--:++o<u)&&t(n[o],o,n););return r?zt(n,e?0:o,e?o+1:u):zt(n,e?o+1:0,e?u:o)}function qt(n,t){var r=n;return r instanceof An&&(r=r.value()),s(t,function(n,t){return t.func.apply(t.thisArg,l([n],t.args))},r)}function Pt(n,t,r){for(var e=-1,u=n.length;++e<u;)var o=o?l(ut(o,n[e],t,r),ut(n[e],o,t,r)):n[e];return o&&o.length?Dt(o,t,r):[]}function Tt(n,t,r){for(var e=-1,u=n.length,o=t.length,i={};++e<u;)r(i,n[e],o>e?t[e]:Z);return i}function Kt(n,t){if(t)return n.slice();var r=new n.constructor(n.length);return n.copy(r),r}function Gt(n){var t=new n.constructor(n.byteLength);return new du(t).set(new du(n)),t}function Vt(n,t,r){for(var e=r.length,u=-1,o=Wu(n.length-e,0),i=-1,f=t.length,c=Array(f+o);++i<f;)c[i]=t[i];for(;++u<e;)c[r[u]]=n[u];for(;o--;)c[i++]=n[u++];return c}function Jt(n,t,r){for(var e=-1,u=r.length,o=-1,i=Wu(n.length-u,0),f=-1,c=t.length,a=Array(i+c);++o<i;)a[o]=n[o];for(i=o;++f<c;)a[i+f]=t[f];for(;++e<u;)a[i+r[e]]=n[o++];return a}function Yt(n,t){var r=-1,e=n.length;for(t||(t=Array(e));++r<e;)t[r]=n[r];return t}function Ht(n,t,r){return Qt(n,t,r)}function Qt(n,t,r,e){r||(r={});for(var u=-1,o=t.length;++u<o;){var i=t[u];Yn(r,i,e?e(r[i],n[i],i,r,n):n[i])}return r}function Xt(n,t){return Ht(n,eo(n),t)}function nr(n,t){return function(r,u){var o=No(r)?e:Hn,i=t?t():{};return o(r,n,wr(u),i)}}function tr(n){return le(function(t,r){var e=-1,u=r.length,o=u>1?r[u-1]:Z,i=u>2?r[2]:Z;o="function"==typeof o?(u--,o):Z;for(i&&Br(r[0],r[1],i)&&(o=3>u?Z:o,u=1),t=Object(t);++e<u;)(i=r[e])&&n(t,i,e,o);return t})}function rr(n,t){return function(r,e){if(null==r)return r;if(!_e(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++o<u)&&!1!==e(i[o],o,i););return r}}function er(n){return function(t,r,e){for(var u=-1,o=Object(t),i=(e=e(t)).length;i--;){var f=e[n?i:++u];if(!1===r(o[f],f,o))break}return t}}function ur(n,t,r){function e(){return(this&&this!==Vn&&this instanceof e?o:n).apply(u?r:this,arguments)}var u=1&t,o=fr(n);return e}function or(n){return function(t){t=ze(t);var r=En.test(t)?t.match(kn):Z,e=r?r[0]:t.charAt(0);return t=r?r.slice(1).join(""):t.slice(1),e[n]()+t}}function ir(n){return function(t){return s(Ke(Pe(t)),n,"")}}function fr(n){return function(){switch((t=arguments).length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var t,r=Vu(n.prototype);
1return xe(t=n.apply(r,t))?t:r}}function cr(n,t,e){function u(){for(var i=arguments.length,f=i,c=Array(i),a=this&&this!==Vn&&this instanceof u?o:n,l=yn.placeholder||u.placeholder;f--;)c[f]=arguments[f];return i-=(f=3>i&&c[0]!==l&&c[i-1]!==l?[]:L(c,l)).length,e>i?vr(n,t,lr,l,Z,c,f,Z,Z,e-i):r(a,this,c)}var o=fr(n);return u}function ar(n){return le(function(t){var r=(t=ft(t)).length,e=r,u=wn.prototype.thru;for(n&&t.reverse();e--;){if("function"!=typeof(o=t[e]))throw new uu("Expected a function");if(u&&!i&&"wrapper"==mr(o))var i=new wn([],!0)}for(e=i?e:r;++e<r;){var o,f="wrapper"==(u=mr(o=t[e]))?to(o):Z;i=f&&zr(f[0])&&424==f[1]&&!f[4].length&&1==f[9]?i[mr(f[0])].apply(i,f[3]):1==o.length&&zr(o)?i[u]():i.thru(o)}return function(){var e=(n=arguments)[0];if(i&&1==n.length&&No(e)&&e.length>=200)return i.plant(e).value();for(var u=0,n=r?t[u].apply(this,n):e;++u<r;)n=t[u].call(this,n);return n}})}function lr(n,t,r,e,u,o,i,f,c,a){function l(){for(var b=y=arguments.length,x=Array(y);b--;)x[b]=arguments[b];if(e&&(x=Vt(x,e,u)),o&&(x=Jt(x,o,i)),_||g){var y=y-(j=L(x,b=yn.placeholder||l.placeholder)).length;if(a>y)return vr(n,t,lr,b,r,x,j,f,c,a-y)}if(y=h?r:this,b=p?y[n]:n,f)for(var j=x.length,m=Bu(f.length,j),w=Yt(x);m--;){var A=f[m];x[m]=U(A,j)?w[A]:Z}else v&&x.length>1&&x.reverse();return s&&x.length>c&&(x.length=c),this&&this!==Vn&&this instanceof l&&(b=d||fr(b)),b.apply(y,x)}var s=128&t,h=1&t,p=2&t,_=8&t,g=16&t,v=512&t,d=p?Z:fr(n);return l}function sr(n,t){return function(r,e){return vt(r,n,t(e),{})}}function hr(n){return le(function(t){return t=a(ft(t),wr()),le(function(e){var u=this;return n(t,function(n){return r(n,u,e)})})})}function pr(n,t,r){return t=We(t),n=F(n),t&&t>n?(n=Te(r=r===Z?" ":r+"",ku((t-=n)/F(r))),En.test(r)?n.match(kn).slice(0,t).join(""):n.slice(0,t)):""}function _r(n,t,e,u){function o(){for(var t=-1,c=arguments.length,a=-1,l=u.length,s=Array(l+c),h=this&&this!==Vn&&this instanceof o?f:n;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++t];return r(h,i?e:this,s)}var i=1&t,f=fr(n);return o}function gr(n){return function(t,r,e){e&&"number"!=typeof e&&Br(t,r,e)&&(r=e=Z),t=(t=Ce(t))==t?t:0,r===Z?(r=t,t=0):r=Ce(r)||0,e=e===Z?r>t?1:-1:Ce(e)||0;var u=-1;r=Wu(ku((r-t)/(e||1)),0);for(var o=Array(r);r--;)o[n?r:++u]=t,t+=e;return o}}function vr(n,t,r,e,u,o,i,f,c,a){var l=8&t;return f=f?Yt(f):Z,4&(t=(t|(l?32:64))&~(l?64:32))||(t&=-4),t=[n,t,u,l?o:Z,l?i:Z,o=l?Z:o,i=l?Z:i,f,c,a],r=r.apply(Z,t),zr(n)&&uo(r,t),r.placeholder=e,r}function dr(n){var t=ru[n];return function(n,r){if(n=Ce(n),r=We(r)){var e=(ze(n)+"e").split("e");return+((e=(ze(e=t(e[0]+"e"+(+e[1]+r)))+"e").split("e"))[0]+"e"+(+e[1]-r))}return t(n)}}function yr(n,t,r,e,u,o,i,f){var c=2&t;if(!c&&"function"!=typeof n)throw new uu("Expected a function");var a=e?e.length:0;if(a||(t&=-97,e=u=Z),i=i===Z?i:Wu(We(i),0),f=f===Z?f:We(f),a-=u?u.length:0,64&t){var l=e,s=u;e=u=Z}var h=c?Z:to(n);return o=[n,t,r,e,u,l,s,o,i,f],h&&(t=(r=o[1])|(n=h[1]),e=128==n&&8==r||128==n&&256==r&&h[8]>=o[7].length||384==n&&h[8]>=h[7].length&&8==r,131>t||e)&&(1&n&&(o[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=o[3],o[3]=e?Vt(e,r,h[4]):Yt(r),o[4]=e?L(o[3],"__lodash_placeholder__"):Yt(h[4])),(r=h[5])&&(e=o[5],o[5]=e?Jt(e,r,h[6]):Yt(r),o[6]=e?L(o[5],"__lodash_placeholder__"):Yt(h[6])),(r=h[7])&&(o[7]=Yt(r)),128&n&&(o[8]=null==o[8]?h[8]:Bu(o[8],h[8])),null==o[9]&&(o[9]=h[9]),o[0]=h[0],o[1]=t),n=o[0],t=o[1],r=o[2],e=o[3],u=o[4],!(f=o[9]=null==o[9]?c?0:n.length:Wu(o[9]-a,0))&&24&t&&(t&=-25),c=t&&1!=t?8==t||16==t?cr(n,t,f):32!=t&&33!=t||u.length?lr.apply(Z,o):_r(n,t,r,e):ur(n,t,r),(h?Xu:uo)(c,o)}function br(n,t,r,e,u,o){var i=-1,f=2&u,c=1&u,a=n.length,l=t.length;if(!(a==l||f&&l>a))return!1;if(l=o.get(n))return l==t;for(l=!0,o.set(n,t);++i<a;){var s=n[i],h=t[i];if(e)var _=f?e(h,s,i,t,n,o):e(s,h,i,n,t,o);if(_!==Z){if(_)continue;l=!1;break}if(c){if(!p(t,function(n){return s===n||r(s,n,e,u,o)})){l=!1;break}}else if(s!==h&&!r(s,h,e,u,o)){l=!1;break}}return o["delete"](n),l}function xr(n,t,r,e,u,o){switch(r){case"[object ArrayBuffer]":if(n.byteLength!=t.byteLength||!e(new du(n),new du(t)))break;return!0;case"[object Boolean]":case"[object Date]":return+n==+t;case"[object Error]":return n.name==t.name&&n.message==t.message;case"[object Number]":return n!=+n?t!=+t:n==+t;
1case"[object RegExp]":case"[object String]":return n==t+"";case"[object Map]":var i=M;case"[object Set]":return i||(i=$),(2&o||n.size==t.size)&&e(i(n),i(t),u,1|o);case"[object Symbol]":return!!vu&&Tu.call(n)==Tu.call(t)}return!1}function jr(n,t,r,e,u,o){var i=2&u,f=Fe(n),c=f.length,a=Fe(t).length;if(c!=a&&!i)return!1;for(var l=c;l--;){var s=f[l];if(!(i?s in t:pt(t,s)))return!1}if(a=o.get(n))return a==t;a=!0,o.set(n,t);for(var h=i;++l<c;){var p=n[s=f[l]],_=t[s];if(e)var g=i?e(_,p,s,t,n,o):e(p,_,s,n,t,o);if(g===Z?p!==_&&!r(p,_,e,u,o):!g){a=!1;break}h||(h="constructor"==s)}return a&&!h&&((r=n.constructor)!=(e=t.constructor)&&"constructor"in n&&"constructor"in t&&!("function"==typeof r&&r instanceof r&&"function"==typeof e&&e instanceof e)&&(a=!1)),o["delete"](n),a}function mr(n){for(var t=n.name+"",r=Gu[t],e=cu.call(Gu,t)?r.length:0;e--;){var u=r[e],o=u.func;if(null==o||o==n)return u.name}return t}function wr(){var n=(n=yn.iteratee||Je)===Je?xt:n;return arguments.length?n(arguments[0],arguments[1]):n}function Ar(n){for(var t=(n=De(n)).length;t--;){var r,e=n[t];r=(r=n[t][1])==r&&!xe(r),e[2]=r}return n}function Or(n,t){var r=null==n?Z:n[t];return me(r)?r:Z}function kr(n){return su.call(n)}function Er(n,t,r){if(null==n)return!1;var e=r(n,t);return e||Cr(t)||null!=(n=$r(n,t=Nt(t)))&&(e=r(n,t=Kr(t))),r=n?n.length:Z,e||!!r&&be(r)&&U(t,r)&&(No(n)||ke(n)||pe(n))}function Ir(n){var t=n.length,r=n.constructor(t);return t&&"string"==typeof n[0]&&cu.call(n,"index")&&(r.index=n.index,r.input=n.input),r}function Sr(n){return Mr(n)?{}:(n=n.constructor,Vu(de(n)?n.prototype:Z))}function Rr(r,e,u){var o=r.constructor;switch(e){case"[object ArrayBuffer]":return Gt(r);case"[object Boolean]":case"[object Date]":return new o(+r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return e=r.buffer,new r.constructor(u?Gt(e):e,r.byteOffset,r.length);case"[object Map]":return u=r.constructor,s(M(r),n,new u);case"[object Number]":case"[object String]":return new o(r);case"[object RegExp]":return(u=new r.constructor(r.source,hn.exec(r))).lastIndex=r.lastIndex,u;case"[object Set]":return u=r.constructor,s($(r),t,new u);case"[object Symbol]":return vu?Object(Tu.call(r)):{}}}function Wr(n){var t=n?n.length:Z;return be(t)&&(No(n)||ke(n)||pe(n))?j(t,String):null}function Br(n,t,r){if(!xe(r))return!1;var e=typeof t;return!!("number"==e?_e(r)&&U(t,r.length):"string"==e&&t in r)&&se(r[t],n)}function Cr(n,t){return"number"==typeof n||!No(n)&&(rn.test(n)||!tn.test(n)||null!=t&&n in Object(t))}function Ur(n){var t=typeof n;return"number"==t||"boolean"==t||"string"==t&&"__proto__"!==n||null==n}function zr(n){var t=mr(n),r=yn[t];return"function"==typeof r&&t in An.prototype&&(n===r||!!(t=to(r))&&n===t[0])}function Mr(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||iu)}function Lr(n,t,r,e,u,o){return xe(n)&&xe(t)&&(o.set(t,n),Ot(n,t,Z,Lr,o)),n}function $r(n,t){return 1==t.length?n:Me(n,zt(t,0,-1))}function Fr(n){var t=[];return ze(n).replace(en,function(n,r,e,u){t.push(e?u.replace(ln,"$1"):r||n)}),t}function Nr(n){return ge(n)?n:[]}function Dr(n){return"function"==typeof n?n:Ve}function Zr(n){if(n instanceof An)return n.clone();var t=new wn(n.__wrapped__,n.__chain__);return t.__actions__=Yt(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function qr(n,t,r){var e=n?n.length:0;return e?zt(n,0>(t=r||t===Z?1:We(t))?0:t,e):[]}function Pr(n,t,r){var e=n?n.length:0;return e?zt(n,0,0>(t=e-(t=r||t===Z?1:We(t)))?0:t):[]}function Tr(n){return n?n[0]:Z}function Kr(n){var t=n?n.length:0;return t?n[t-1]:Z}function Gr(n,t){return n&&n.length&&t&&t.length?Wt(n,t):n}function Vr(n){return n?zu.call(n):n}function Jr(n){if(!n||!n.length)return[];var t=0;return n=i(n,function(n){return ge(n)?(t=Wu(n.length,t),!0):void 0}),j(t,function(t){return a(n,St(t))})}function Yr(n,t){if(!n||!n.length)return[];var e=Jr(n);return null==t?e:a(e,function(n){return r(t,Z,n)})}function Hr(n){return(n=yn(n)).__chain__=!0,n}function Qr(n,t){return t(n)}function Xr(){return this}function ne(n,t){return"function"==typeof t&&No(n)?u(n,t):Ju(n,Dr(t))}function te(n,t){var r;if("function"==typeof t&&No(n)){for(r=n.length;r--&&!1!==t(n[r],r,n););r=n}else r=Yu(n,Dr(t));return r}function re(n,t){return(No(n)?a:mt)(n,wr(t,3))}function ee(n,t){var r=-1,e=Re(n),o=(u=e.length)-1;for(t=nt(We(t),0,u);++r<t;){var u,i=e[u=Ct(r,o)];e[u]=e[r],e[r]=i}return e.length=t,e}function ue(n,t,r){return t=r?Z:t,t=n&&null==t?n.length:t,yr(n,128,Z,Z,Z,Z,t)}function oe(n,t){var r;if("function"!=typeof t)throw new uu("Expected a function");return n=We(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=Z),r}}function ie(n,t,r){return(n=yr(n,8,Z,Z,Z,Z,Z,t=r?Z:t)).placeholder=yn.placeholder||ie.placeholder,n}function fe(n,t,r){return(n=yr(n,16,Z,Z,Z,Z,Z,t=r?Z:t)).placeholder=yn.placeholder||fe.placeholder,n}function ce(n,t,r){function e(){p&&yu(p),a&&yu(a),g=0,c=a=h=p=_=Z}function u(t,r){r&&yu(r),a=p=_=Z,t&&(g=Wo(),l=n.apply(h,c),p||a||(c=h=Z))}function o(){var n=t-(Wo()-s);0>=n||n>t?u(_,a):p=Au(o,n)}function i(){u(y,p)}function f(){if(c=arguments,s=Wo(),h=this,_=y&&(p||!v),!1===d)var r=v&&!p;else{g||a||v||(g=s);var e=d-(s-g),u=0>=e||e>d;u?(a&&(a=yu(a)),g=s,l=n.apply(h,c)):a||(a=Au(i,e))}return u&&p?p=yu(p):p||t===d||(p=Au(o,t)),r&&(u=!0,l=n.apply(h,c)),!u||p||a||(c=h=Z),l}var c,a,l,s,h,p,_,g=0,v=!1,d=!1,y=!0;if("function"!=typeof n)throw new uu("Expected a function");return t=Ce(t)||0,xe(r)&&(v=!!r.leading,d="maxWait"in r&&Wu(Ce(r.maxWait)||0,t),y="trailing"in r?!!r.trailing:y),f.cancel=e,f.flush=function(){return(p&&_||a&&y)&&(l=n.apply(h,c)),e(),l},f}function ae(n,t){if("function"!=typeof n||t&&"function"!=typeof t)throw new uu("Expected a function");var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],o=r.cache;return o.has(u)?o.get(u):(e=n.apply(this,e),r.cache=o.set(u,e),e)};return r.cache=new ae.Cache,r}function le(n,t){if("function"!=typeof n)throw new uu("Expected a function");return t=Wu(t===Z?n.length-1:We(t),0),function(){for(var e=arguments,u=-1,o=Wu(e.length-t,0),i=Array(o);++u<o;)i[u]=e[t+u];switch(t){case 0:return n.call(this,i);case 1:return n.call(this,e[0],i);case 2:return n.call(this,e[0],e[1],i)}for(o=Array(t+1),u=-1;++u<t;)o[u]=e[u];return o[t]=i,r(n,this,o)}}function se(n,t){return n===t||n!=n&&t!=t}function he(n,t){return n>t}function pe(n){return ge(n)&&cu.call(n,"callee")&&(!wu.call(n,"callee")||"[object Arguments]"==su.call(n))}function _e(n){return null!=n&&!("function"==typeof n&&de(n))&&be(ro(n))}function ge(n){return je(n)&&_e(n)}function ve(n){return je(n)&&"string"==typeof n.message&&"[object Error]"==su.call(n)}function de(n){return"[object Function]"==(n=xe(n)?su.call(n):"")||"[object GeneratorFunction]"==n}function ye(n){return"number"==typeof n&&n==We(n)}function be(n){return"number"==typeof n&&n>-1&&0==n%1&&9007199254740991>=n}function xe(n){var t=typeof n;return!!n&&("object"==t||"function"==t)}function je(n){return!!n&&"object"==typeof n}function me(n){return null!=n&&(de(n)?pu.test(fu.call(n)):je(n)&&(C(n)?pu:vn).test(n))}function we(n){return"number"==typeof n||je(n)&&"[object Number]"==su.call(n)}function Ae(n){if(!je(n)||"[object Object]"!=su.call(n)||C(n))return!1;var t=iu;return"function"==typeof n.constructor&&(t=xu(n)),null===t||"function"==typeof(n=t.constructor)&&n instanceof n&&fu.call(n)==lu}function Oe(n){return xe(n)&&"[object RegExp]"==su.call(n)}function ke(n){return"string"==typeof n||!No(n)&&je(n)&&"[object String]"==su.call(n)}function Ee(n){return"symbol"==typeof n||je(n)&&"[object Symbol]"==su.call(n)}function Ie(n){return je(n)&&be(n.length)&&!!Bn[su.call(n)]}function Se(n,t){return t>n}function Re(n){if(!n)return[];if(_e(n))return ke(n)?n.match(kn):Yt(n);if(mu&&n[mu])return z(n[mu]());var t=kr(n);return("[object Map]"==t?M:"[object Set]"==t?$:Ze)(n)}function We(n){if(!n)return 0===n?n:0;if((n=Ce(n))===q||n===-q)return 1.7976931348623157e308*(0>n?-1:1);var t=n%1;return n==n?t?n-t:n:0}function Be(n){return n?nt(We(n),0,4294967295):0}function Ce(n){if(xe(n)&&(n=xe(n=de(n.valueOf)?n.valueOf():n)?n+"":n),"string"!=typeof n)return 0===n?n:+n;n=n.replace(fn,"");var t=gn.test(n);return t||dn.test(n)?Nn(n.slice(2),t?2:8):_n.test(n)?P:+n}function Ue(n){return Ht(n,Ne(n))}function ze(n){if("string"==typeof n)return n;if(null==n)return"";if(Ee(n))return vu?Ku.call(n):"";var t=n+"";return"0"==t&&1/n==-q?"-0":t}function Me(n,t,r){return(n=null==n?Z:ht(n,t))===Z?r:n}function Le(n,t){return Er(n,t,pt)}function $e(n,t){return Er(n,t,_t)}function Fe(n){var t=Mr(n);if(!t&&!_e(n))return Ru(Object(n));var r,e,u=!!(e=Wr(n)),o=(e=e||[]).length;for(r in n)!pt(n,r)||u&&("length"==r||U(r,o))||t&&"constructor"==r||e.push(r);return e}function Ne(n){for(var o,t=-1,r=Mr(n),e=jt(n),u=e.length,i=!!(o=Wr(n)),f=(o=o||[]).length;++t<u;){var c=e[t];i&&("length"==c||U(c,f))||"constructor"==c&&(r||!cu.call(n,c))||o.push(c)}return o}function De(n){return m(n,Fe(n))}function Ze(n){return n?A(n,Fe(n)):[]}function qe(n){return ii(ze(n).toLowerCase())}function Pe(n){return(n=ze(n))&&n.replace(bn,S).replace(On,"")}function Te(n,t){n=ze(n),t=We(t);var r="";if(!n||1>t||t>9007199254740991)return r;do{t%2&&(r+=n),t=Eu(t/2),n+=n}while(t);return r}function Ke(n,t,r){return n=ze(n),(t=r?Z:t)===Z&&(t=Rn.test(n)?Sn:In),n.match(t)||[]}function Ge(n){return function(){return n}}function Ve(n){return n}function Je(n){return xt("function"==typeof n?n:tt(n,!0))}function Ye(n,t,r){var e=Fe(t),o=st(t,e);null!=r||xe(t)&&(o.length||!e.length)||(r=t,t=n,n=this,o=st(t,Fe(t)));var i=!(xe(r)&&"chain"in r)||r.chain,f=de(n);return u(o,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=n(this.__wrapped__);return(r.__actions__=Yt(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,l([this.value()],arguments))})}),n}function He(){}function Qe(n){return Cr(n)?St(n):Rt(n)}function Xe(n){return n&&n.length?x(n,Ve):0}var nu=(E=E?Jn.defaults({},E,Jn.pick(Vn,Wn)):Vn).Date,tu=E.Error,ru=E.Math,eu=E.RegExp,uu=E.TypeError,ou=E.Array.prototype,iu=E.Object.prototype,fu=E.Function.prototype.toString,cu=iu.hasOwnProperty,au=0,lu=fu.call(Object),su=iu.toString,hu=Vn._,pu=eu("^"+fu.call(cu).replace(un,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),_u=Kn?E.Buffer:Z,gu=E.Reflect,vu=E.Symbol,du=E.Uint8Array,yu=E.clearTimeout,bu=gu?gu.enumerate:Z,xu=Object.getPrototypeOf,ju=Object.getOwnPropertySymbols,mu="symbol"==typeof(mu=vu&&vu.iterator)?mu:Z,wu=iu.propertyIsEnumerable,Au=E.setTimeout,Ou=ou.splice,ku=ru.ceil,Eu=ru.floor,Iu=E.isFinite,Su=ou.join,Ru=Object.keys,Wu=ru.max,Bu=ru.min,Cu=E.parseInt,Uu=ru.random,zu=ou.reverse,Mu=Or(E,"Map"),Lu=Or(E,"Set"),$u=Or(E,"WeakMap"),Fu=Or(Object,"create"),Nu=$u&&new $u,Du=Mu?fu.call(Mu):"",Zu=Lu?fu.call(Lu):"",qu=$u?fu.call($u):"",Pu=vu?vu.prototype:Z,Tu=vu?Pu.valueOf:Z,Ku=vu?Pu.toString:Z,Gu={};yn.templateSettings={escape:Q,evaluate:X,interpolate:nn,variable:"",imports:{_:yn}};var Vu=function(){function n(){}return function(t){if(xe(t)){n.prototype=t;var r=new n;n.prototype=Z}return r||{}}}(),Ju=rr(at),Yu=rr(lt,!0),Hu=er(),Qu=er(!0);bu&&!wu.call({valueOf:1},"valueOf")&&(jt=function(n){return z(bu(n))});var Xu=Nu?function(n,t){return Nu.set(n,t),n}:Ve,no=Lu&&2===new Lu([1,2]).size?function(n){return new Lu(n)}:He,to=Nu?function(n){return Nu.get(n)}:He,ro=St("length"),eo=ju||function(){return[]}
2;(Mu&&"[object Map]"!=kr(new Mu)||Lu&&"[object Set]"!=kr(new Lu)||$u&&"[object WeakMap]"!=kr(new $u))&&(kr=function(n){var t=su.call(n);if(n="function"==typeof(n="[object Object]"==t?n.constructor:null)?fu.call(n):"")switch(n){case Du:return"[object Map]";case Zu:return"[object Set]";case qu:return"[object WeakMap]"}return t});var uo=function(){var n=0,t=0;return function(r,e){var u=Wo(),o=16-(u-t);if(t=u,o>0){if(150<=++n)return r}else n=0;return Xu(r,e)}}(),oo=le(function(n,t){No(n)||(n=null==n?[]:[Object(n)]);for(var r=n,e=t=ft(t),u=-1,o=r.length,i=-1,f=e.length,c=Array(o+f);++u<o;)c[u]=r[u];for(;++i<f;)c[u++]=e[i];return c}),io=le(function(n,t){return ge(n)?ut(n,ft(t,!1,!0)):[]}),fo=le(function(n,t){var r=Kr(t);return ge(r)&&(r=Z),ge(n)?ut(n,ft(t,!1,!0),wr(r)):[]}),co=le(function(n,t){var r=Kr(t);return ge(r)&&(r=Z),ge(n)?ut(n,ft(t,!1,!0),Z,r):[]}),ao=le(function(n){var t=a(n,Nr);return t.length&&t[0]===n[0]?gt(t):[]}),lo=le(function(n){var t=Kr(n),r=a(n,Nr);return t===Kr(r)?t=Z:r.pop(),r.length&&r[0]===n[0]?gt(r,wr(t)):[]}),so=le(function(n){var t=Kr(n),r=a(n,Nr);return t===Kr(r)?t=Z:r.pop(),r.length&&r[0]===n[0]?gt(r,Z,t):[]}),ho=le(Gr),po=le(function(n,t){var r=Xn(n,t=a(ft(t),String));return Bt(n,t.sort(I)),r}),_o=le(function(n){return Dt(ft(n,!1,!0))}),go=le(function(n){var t=Kr(n);return ge(t)&&(t=Z),Dt(ft(n,!1,!0),wr(t))}),vo=le(function(n){var t=Kr(n);return ge(t)&&(t=Z),Dt(ft(n,!1,!0),Z,t)}),yo=le(function(n,t){return ge(n)?ut(n,t):[]}),bo=le(function(n){return Pt(i(n,ge))}),xo=le(function(n){var t=Kr(n);return ge(t)&&(t=Z),Pt(i(n,ge),wr(t))}),jo=le(function(n){var t=Kr(n);return ge(t)&&(t=Z),Pt(i(n,ge),Z,t)}),mo=le(Jr),wo=le(function(n){var t;return Yr(n,t="function"==typeof(t=(t=n.length)>1?n[t-1]:Z)?(n.pop(),t):Z)}),Ao=le(function(n){var t=(n=ft(n)).length,r=t?n[0]:0,e=this.__wrapped__,u=function(t){return Xn(t,n)};return 1>=t&&!this.__actions__.length&&e instanceof An&&U(r)?((e=e.slice(r,+r+(t?1:0))).__actions__.push({func:Qr,args:[u],thisArg:Z}),new wn(e,this.__chain__).thru(function(n){return t&&!n.length&&n.push(Z),n})):this.thru(u)}),Oo=nr(function(n,t,r){cu.call(n,r)?++n[r]:n[r]=1}),ko=nr(function(n,t,r){cu.call(n,r)?n[r].push(t):n[r]=[t]}),Eo=le(function(n,t,e){var u=-1,o="function"==typeof t,i=Cr(t),f=_e(n)?Array(n.length):[];return Ju(n,function(n){var c=o?t:i&&null!=n?n[t]:Z;f[++u]=c?r(c,n,e):dt(n,t,e)}),f}),Io=nr(function(n,t,r){n[r]=t}),So=nr(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),Ro=le(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Br(n,t[0],t[1])?t=[]:r>2&&Br(t[0],t[1],t[2])&&(t.length=1),kt(n,ft(t),[])}),Wo=nu.now,Bo=le(function(n,t,r){var e=1;if(r.length){var u=L(r,yn.placeholder||Bo.placeholder);e=32|e}return yr(n,e,t,r,u)}),Co=le(function(n,t,r){var e=3;if(r.length){var u=L(r,yn.placeholder||Co.placeholder);e=32|e}return yr(t,e,n,r,u)}),Uo=le(function(n,t){return et(n,1,t)}),zo=le(function(n,t,r){return et(n,Ce(t)||0,r)}),Mo=le(function(n,t){var e=(t=a(ft(t),wr())).length;return le(function(u){for(var o=-1,i=Bu(u.length,e);++o<i;)u[o]=t[o].call(this,u[o]);return r(n,this,u)})}),Lo=le(function(n,t){var r=L(t,yn.placeholder||Lo.placeholder);return yr(n,32,Z,t,r)}),$o=le(function(n,t){var r=L(t,yn.placeholder||$o.placeholder);return yr(n,64,Z,t,r)}),Fo=le(function(n,t){return yr(n,256,Z,Z,Z,ft(t))}),No=Array.isArray,Do=_u?function(n){return n instanceof _u}:Ge(!1),Zo=tr(function(n,t){Ht(t,Fe(t),n)}),qo=tr(function(n,t){Ht(t,Ne(t),n)}),Po=tr(function(n,t,r,e){Qt(t,Ne(t),n,e)}),To=tr(function(n,t,r,e){Qt(t,Fe(t),n,e)}),Ko=le(function(n,t){return Xn(n,ft(t))}),Go=le(function(n){return n.push(Z,Tn),r(Po,Z,n)}),Vo=le(function(n){return n.push(Z,Lr),r(Xo,Z,n)}),Jo=sr(function(n,t,r){n[t]=r},Ge(Ve)),Yo=sr(function(n,t,r){cu.call(n,t)?n[t].push(r):n[t]=[r]},wr),Ho=le(dt),Qo=tr(function(n,t,r){Ot(n,t,r)}),Xo=tr(function(n,t,r,e){Ot(n,t,r,e)}),ni=le(function(n,t){return null==n?{}:(t=a(ft(t),String),Et(n,ut(Ne(n),t)))}),ti=le(function(n,t){return null==n?{}:Et(n,ft(t))}),ri=ir(function(n,t,r){return t=t.toLowerCase(),n+(r?qe(t):t)}
2),ei=ir(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),ui=ir(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),oi=or("toLowerCase"),ii=or("toUpperCase"),fi=ir(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),ci=ir(function(n,t,r){return n+(r?" ":"")+qe(t)}),ai=ir(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),li=le(function(n,t){try{return r(n,Z,t)}catch(e){return xe(e)?e:new tu(e)}}),si=le(function(n,t){return u(ft(t),function(t){n[t]=Bo(n[t],n)}),n}),hi=ar(),pi=ar(!0),_i=le(function(n,t){return function(r){return dt(r,n,t)}}),gi=le(function(n,t){return function(r){return dt(n,r,t)}}),vi=hr(a),di=hr(o),yi=hr(p),bi=gr(),xi=gr(!0),ji=dr("ceil"),mi=dr("floor"),wi=dr("round");return yn.prototype=mn.prototype,wn.prototype=Vu(mn.prototype),wn.prototype.constructor=wn,An.prototype=Vu(mn.prototype),An.prototype.constructor=An,Un.prototype=Fu?Fu(null):iu,zn.prototype.clear=function(){this.__data__={hash:new Un,map:Mu?new Mu:[],string:new Un}},zn.prototype["delete"]=function(n){var t=this.__data__;return Ur(n)?(t="string"==typeof n?t.string:t.hash,(Fu?t[n]!==Z:cu.call(t,n))&&delete t[n]):Mu?t.map["delete"](n):Dn(t.map,n)},zn.prototype.get=function(n){var t=this.__data__;return Ur(n)?(t="string"==typeof n?t.string:t.hash,Fu?n="__lodash_hash_undefined__"===(n=t[n])?Z:n:n=cu.call(t,n)?t[n]:Z,n):Mu?t.map.get(n):Zn(t.map,n)},zn.prototype.has=function(n){var t=this.__data__;return Ur(n)?(t="string"==typeof n?t.string:t.hash,n=Fu?t[n]!==Z:cu.call(t,n)):n=Mu?t.map.has(n):-1<qn(t.map,n),n},zn.prototype.set=function(n,t){var r=this.__data__;return Ur(n)?("string"==typeof n?r.string:r.hash)[n]=Fu&&t===Z?"__lodash_hash_undefined__":t:Mu?r.map.set(n,t):Pn(r.map,n,t),this},Mn.prototype.push=function(n){var t=this.__data__;Ur(n)?(t=t.__data__,("string"==typeof n?t.string:t.hash)[n]="__lodash_hash_undefined__"):t.set(n,"__lodash_hash_undefined__")},$n.prototype.clear=function(){this.__data__={array:[],map:null}},$n.prototype["delete"]=function(n){var t=this.__data__,r=t.array;return r?Dn(r,n):t.map["delete"](n)},$n.prototype.get=function(n){var t=this.__data__,r=t.array;return r?Zn(r,n):t.map.get(n)},$n.prototype.has=function(n){var t=this.__data__,r=t.array;return r?-1<qn(r,n):t.map.has(n)},$n.prototype.set=function(n,t){var r=this.__data__,e=r.array;return e&&(199>e.length?Pn(e,n,t):(r.array=null,r.map=new zn(e))),(r=r.map)&&r.set(n,t),this},ae.Cache=zn,yn.after=function(n,t){if("function"!=typeof t)throw new uu("Expected a function");return n=We(n),function(){return 1>--n?t.apply(this,arguments):void 0}},yn.ary=ue,yn.assign=Zo,yn.assignIn=qo,yn.assignInWith=Po,yn.assignWith=To,yn.at=Ko,yn.before=oe,yn.bind=Bo,yn.bindAll=si,yn.bindKey=Co,yn.chain=Hr,yn.chunk=function(n,t){t=Wu(We(t),0);var r=n?n.length:0;if(!r||1>t)return[];for(var e=0,u=-1,o=Array(ku(r/t));r>e;)o[++u]=zt(n,e,e+=t);return o},yn.compact=function(n){for(var t=-1,r=n?n.length:0,e=-1,u=[];++t<r;){var o=n[t];o&&(u[++e]=o)}return u},yn.concat=oo,yn.cond=function(n){var t=n?n.length:0,e=wr();return n=t?a(n,function(n){if("function"!=typeof n[1])throw new uu("Expected a function");return[e(n[0]),n[1]]}):[],le(function(e){for(var u=-1;++u<t;){var o=n[u];if(r(o[0],this,e))return r(o[1],this,e)}})},yn.conforms=function(n){return rt(tt(n,!0))},yn.constant=Ge,yn.countBy=Oo,yn.create=function(n,t){var r=Vu(n);return t?Qn(r,t):r},yn.curry=ie,yn.curryRight=fe,yn.debounce=ce,yn.defaults=Go,yn.defaultsDeep=Vo,yn.defer=Uo,yn.delay=zo,yn.difference=io,yn.differenceBy=fo,yn.differenceWith=co,yn.drop=qr,yn.dropRight=Pr,yn.dropRightWhile=function(n,t){return n&&n.length?Zt(n,wr(t,3),!0,!0):[]},yn.dropWhile=function(n,t){return n&&n.length?Zt(n,wr(t,3),!0):[]},yn.fill=function(n,t,r,e){var u=n?n.length:0;if(!u)return[];for(r&&"number"!=typeof r&&Br(n,t,r)&&(r=0,e=u),u=n.length,0>(r=We(r))&&(r=-r>u?0:u+r),0>(e=e===Z||e>u?u:We(e))&&(e+=u),e=r>e?0:Be(e);e>r;)n[r++]=t;return n},yn.filter=function(n,t){return(No(n)?i:it)(n,wr(t,3))},yn.flatMap=function(n,t){return ft(re(n,t))},yn.flatten=function(n){return n&&n.length?ft(n):[]},yn.flattenDeep=function(n){return n&&n.length?ft(n,!0):[]},yn.flip=function(n){return yr(n,512)},yn.flow=hi,yn.flowRight=pi,yn.fromPairs=function(n){for(var t=-1,r=n?n.length:0,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e},yn.functions=function(n){return null==n?[]:st(n,Fe(n))},yn.functionsIn=function(n){return null==n?[]:st(n,Ne(n))}
2,yn.groupBy=ko,yn.initial=function(n){return Pr(n,1)},yn.intersection=ao,yn.intersectionBy=lo,yn.intersectionWith=so,yn.invert=Jo,yn.invertBy=Yo,yn.invokeMap=Eo,yn.iteratee=Je,yn.keyBy=Io,yn.keys=Fe,yn.keysIn=Ne,yn.map=re,yn.mapKeys=function(n,t){var r={};return t=wr(t,3),at(n,function(n,e,u){r[t(n,e,u)]=n}),r},yn.mapValues=function(n,t){var r={};return t=wr(t,3),at(n,function(n,e,u){r[e]=t(n,e,u)}),r},yn.matches=function(n){return wt(tt(n,!0))},yn.matchesProperty=function(n,t){return At(n,tt(t,!0))},yn.memoize=ae,yn.merge=Qo,yn.mergeWith=Xo,yn.method=_i,yn.methodOf=gi,yn.mixin=Ye,yn.negate=function(n){if("function"!=typeof n)throw new uu("Expected a function");return function(){return!n.apply(this,arguments)}},yn.nthArg=function(n){return n=We(n),function(){return arguments[n]}},yn.omit=ni,yn.omitBy=function(n,t){return t=wr(t,2),It(n,function(n,r){return!t(n,r)})},yn.once=function(n){return oe(2,n)},yn.orderBy=function(n,t,r,e){return null==n?[]:(No(t)||(t=null==t?[]:[t]),No(r=e?Z:r)||(r=null==r?[]:[r]),kt(n,t,r))},yn.over=vi,yn.overArgs=Mo,yn.overEvery=di,yn.overSome=yi,yn.partial=Lo,yn.partialRight=$o,yn.partition=So,yn.pick=ti,yn.pickBy=function(n,t){return null==n?{}:It(n,wr(t,2))},yn.property=Qe,yn.propertyOf=function(n){return function(t){return null==n?Z:ht(n,t)}},yn.pull=ho,yn.pullAll=Gr,yn.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?Wt(n,t,wr(r)):n},yn.pullAt=po,yn.range=bi,yn.rangeRight=xi,yn.rearg=Fo,yn.reject=function(n,t){var r=No(n)?i:it;return t=wr(t,3),r(n,function(n,r,e){return!t(n,r,e)})},yn.remove=function(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],o=n.length;for(t=wr(t,3);++e<o;){var i=n[e];t(i,e,n)&&(r.push(i),u.push(e))}return Bt(n,u),r},yn.rest=le,yn.reverse=Vr,yn.sampleSize=ee,yn.set=function(n,t,r){return null==n?n:Ut(n,t,r)},yn.setWith=function(n,t,r,e){return e="function"==typeof e?e:Z,null==n?n:Ut(n,t,r,e)},yn.shuffle=function(n){return ee(n,4294967295)},yn.slice=function(n,t,r){var e=n?n.length:0;return e?(r&&"number"!=typeof r&&Br(n,t,r)?(t=0,r=e):(t=null==t?0:We(t),r=r===Z?e:We(r)),zt(n,t,r)):[]},yn.sortBy=Ro,yn.sortedUniq=function(n){return n&&n.length?Ft(n):[]},yn.sortedUniqBy=function(n,t){return n&&n.length?Ft(n,wr(t)):[]},yn.split=function(n,t,r){return ze(n).split(t,r)},yn.spread=function(n,t){if("function"!=typeof n)throw new uu("Expected a function");return t=t===Z?0:Wu(We(t),0),le(function(e){var u=e[t];return e=e.slice(0,t),u&&l(e,u),r(n,this,e)})},yn.tail=function(n){return qr(n,1)},yn.take=function(n,t,r){return n&&n.length?zt(n,0,0>(t=r||t===Z?1:We(t))?0:t):[]},yn.takeRight=function(n,t,r){var e=n?n.length:0;return e?zt(n,0>(t=e-(t=r||t===Z?1:We(t)))?0:t,e):[]},yn.takeRightWhile=function(n,t){return n&&n.length?Zt(n,wr(t,3),!1,!0):[]},yn.takeWhile=function(n,t){return n&&n.length?Zt(n,wr(t,3)):[]},yn.tap=function(n,t){return t(n),n},yn.throttle=function(n,t,r){var e=!0,u=!0;if("function"!=typeof n)throw new uu("Expected a function");return xe(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),ce(n,t,{leading:e,maxWait:t,trailing:u})},yn.thru=Qr,yn.toArray=Re,yn.toPairs=De,yn.toPairsIn=function(n){return m(n,Ne(n))},yn.toPath=function(n){return No(n)?a(n,String):Fr(n)},yn.toPlainObject=Ue,yn.transform=function(n,t,r){var e=No(n)||Ie(n);if(t=wr(t,4),null==r)if(e||xe(n)){var o=n.constructor;r=e?No(n)?new o:[]:Vu(de(o)?o.prototype:Z)}else r={};return(e?u:at)(n,function(n,e,u){return t(r,n,e,u)}),r},yn.unary=function(n){return ue(n,1)},yn.union=_o,yn.unionBy=go,yn.unionWith=vo,yn.uniq=function(n){return n&&n.length?Dt(n):[]},yn.uniqBy=function(n,t){return n&&n.length?Dt(n,wr(t)):[]},yn.uniqWith=function(n,t){return n&&n.length?Dt(n,Z,t):[]},yn.unset=function(n,t){var r,e;null==n?r=!0:(r=$r(r=n,e=Cr(e=t,r)?[e+""]:Nt(e)),e=Kr(e),r=null==r||!Le(r,e)||delete r[e]);return r},yn.unzip=Jr,yn.unzipWith=Yr,yn.values=Ze,yn.valuesIn=function(n){return null==n?A(n,Ne(n)):[]},yn.without=yo,yn.words=Ke,yn.wrap=function(n,t){return Lo(t=null==t?Ve:t,n)},yn.xor=bo,yn.xorBy=xo,yn.xorWith=jo,yn.zip=mo,yn.zipObject=function(n,t){return Tt(n||[],t||[],Yn)},yn.zipObjectDeep=function(n,t){return Tt(n||[],t||[],Ut)},yn.zipWith=wo,yn.extend=qo,yn.extendWith=Po,Ye(yn,yn),yn.add=function(n,t){var r;return n===Z&&t===Z?0:(n!==Z&&(r=n),t!==Z&&(r=r===Z?t:r+t),r)},yn.attempt=li,yn.camelCase=ri,yn.capitalize=qe,yn.ceil=ji,yn.clamp=function(n,t,r){return r===Z&&(r=t,t=Z),r!==Z&&
2(r=(r=Ce(r))==r?r:0),t!==Z&&(t=(t=Ce(t))==t?t:0),nt(Ce(n),t,r)},yn.clone=function(n){return tt(n)},yn.cloneDeep=function(n){return tt(n,!0)},yn.cloneDeepWith=function(n,t){return tt(n,!0,t)},yn.cloneWith=function(n,t){return tt(n,!1,t)},yn.deburr=Pe,yn.endsWith=function(n,t,r){t="string"==typeof t?t:t+"";var e=(n=ze(n)).length;return r=r===Z?e:nt(We(r),0,e),(r-=t.length)>=0&&n.indexOf(t,r)==r},yn.eq=se,yn.escape=function(n){return(n=ze(n))&&H.test(n)?n.replace(J,R):n},yn.escapeRegExp=function(n){return(n=ze(n))&&on.test(n)?n.replace(un,"\\$&"):n},yn.every=function(n,t,r){var e=No(n)?o:ot;return r&&Br(n,t,r)&&(t=Z),e(n,wr(t,3))},yn.find=function(n,t){if(t=wr(t,3),No(n)){var r=v(n,t);return r>-1?n[r]:Z}return g(n,t,Ju)},yn.findIndex=function(n,t){return n&&n.length?v(n,wr(t,3)):-1},yn.findKey=function(n,t){return g(n,wr(t,3),at,!0)},yn.findLast=function(n,t){if(t=wr(t,3),No(n)){var r=v(n,t,!0);return r>-1?n[r]:Z}return g(n,t,Yu)},yn.findLastIndex=function(n,t){return n&&n.length?v(n,wr(t,3),!0):-1},yn.findLastKey=function(n,t){return g(n,wr(t,3),lt,!0)},yn.floor=mi,yn.forEach=ne,yn.forEachRight=te,yn.forIn=function(n,t){return null==n?n:Hu(n,Dr(t),Ne)},yn.forInRight=function(n,t){return null==n?n:Qu(n,Dr(t),Ne)},yn.forOwn=function(n,t){return n&&at(n,Dr(t))},yn.forOwnRight=function(n,t){return n&&lt(n,Dr(t))},yn.get=Me,yn.gt=he,yn.gte=function(n,t){return n>=t},yn.has=Le,yn.hasIn=$e,yn.head=Tr,yn.identity=Ve,yn.includes=function(n,t,r,e){return n=_e(n)?n:Ze(n),r=r&&!e?We(r):0,e=n.length,0>r&&(r=Wu(e+r,0)),ke(n)?e>=r&&-1<n.indexOf(t,r):!!e&&-1<d(n,t,r)},yn.indexOf=function(n,t,r){var e=n?n.length:0;return e?(0>(r=We(r))&&(r=Wu(e+r,0)),d(n,t,r)):-1},yn.inRange=function(n,t,r){return t=Ce(t)||0,r===Z?(r=t,t=0):r=Ce(r)||0,(n=Ce(n))>=Bu(t,r)&&n<Wu(t,r)},yn.invoke=Ho,yn.isArguments=pe,yn.isArray=No,yn.isArrayBuffer=function(n){return je(n)&&"[object ArrayBuffer]"==su.call(n)},yn.isArrayLike=_e,yn.isArrayLikeObject=ge,yn.isBoolean=function(n){return!0===n||!1===n||je(n)&&"[object Boolean]"==su.call(n)},yn.isBuffer=Do,yn.isDate=function(n){return je(n)&&"[object Date]"==su.call(n)},yn.isElement=function(n){return!!n&&1===n.nodeType&&je(n)&&!Ae(n)},yn.isEmpty=function(n){if(_e(n)&&(No(n)||ke(n)||de(n.splice)||pe(n)))return!n.length;for(var t in n)if(cu.call(n,t))return!1;return!0},yn.isEqual=function(n,t){return yt(n,t)},yn.isEqualWith=function(n,t,r){var e=(r="function"==typeof r?r:Z)?r(n,t):Z;return e===Z?yt(n,t,r):!!e},yn.isError=ve,yn.isFinite=function(n){return"number"==typeof n&&Iu(n)},yn.isFunction=de,yn.isInteger=ye,yn.isLength=be,yn.isMap=function(n){return je(n)&&"[object Map]"==kr(n)},yn.isMatch=function(n,t){return n===t||bt(n,t,Ar(t))},yn.isMatchWith=function(n,t,r){return r="function"==typeof r?r:Z,bt(n,t,Ar(t),r)},yn.isNaN=function(n){return we(n)&&n!=+n},yn.isNative=me,yn.isNil=function(n){return null==n},yn.isNull=function(n){return null===n},yn.isNumber=we,yn.isObject=xe,yn.isObjectLike=je,yn.isPlainObject=Ae,yn.isRegExp=Oe,yn.isSafeInteger=function(n){return ye(n)&&n>=-9007199254740991&&9007199254740991>=n},yn.isSet=function(n){return je(n)&&"[object Set]"==kr(n)},yn.isString=ke,yn.isSymbol=Ee,yn.isTypedArray=Ie,yn.isUndefined=function(n){return n===Z},yn.isWeakMap=function(n){return je(n)&&"[object WeakMap]"==kr(n)},yn.isWeakSet=function(n){return je(n)&&"[object WeakSet]"==su.call(n)},yn.join=function(n,t){return n?Su.call(n,t):""},yn.kebabCase=ei,yn.last=Kr,yn.lastIndexOf=function(n,t,r){var e=n?n.length:0;if(!e)return-1;var u=e;if(r!==Z&&(u=(0>(u=We(r))?Wu(e+u,0):Bu(u,e-1))+1),t!=t)return B(n,u,!0);for(;u--;)if(n[u]===t)return u;return-1},yn.lowerCase=ui,yn.lowerFirst=oi,yn.lt=Se,yn.lte=function(n,t){return t>=n},yn.max=function(n){return n&&n.length?_(n,Ve,he):Z},yn.maxBy=function(n,t){return n&&n.length?_(n,wr(t),he):Z},yn.mean=function(n){return Xe(n)/(n?n.length:0)},yn.min=function(n){return n&&n.length?_(n,Ve,Se):Z},yn.minBy=function(n,t){return n&&n.length?_(n,wr(t),Se):Z},yn.noConflict=function(){return Vn._===this&&(Vn._=hu),this},yn.noop=He,yn.now=Wo,yn.pad=function(n,t,r){n=ze(n),t=We(t);var e=F(n);return t&&t>e?(t=Eu(e=(t-e)/2),e=ku(e),pr("",t,r)+n+pr("",e,r)):n},yn.padEnd=function(n,t,r){return(n=ze(n))+pr(n,t,r)},yn.padStart=function(n,t,r){return pr(n=ze(n),t,r)+n},yn.parseInt=function(n,t,r){return r||null==t?t=0:t&&(t=+t),n=ze(n).replace(fn,""),Cu(n,t||(pn.test(n)?16:10))},yn.random=function(n,t,r){if(r&&"boolean"!=typeof r&&Br(n,t,r)&&(t=r=Z),r===Z&&("boolean"==typeof t?(r=t,t=Z):"boolean"==typeof n&&(r=n,n=Z)),n===Z&&t===Z?(n=0,t=1):(n=Ce(n)||0,t===Z?(t=n,n=0):t=Ce(t)||0),n>t){var e=n;n=t,t=e}return r||n%1||t%1?(r=Uu(),Bu(n+r*(t-n+Fn("1e-"+((r+"").length-1))),t)):Ct(n,t)},yn.reduce=function(n,t,r){var e=No(n)?s:y,u=3>arguments.length;return e(n,wr(t,4),r,u,Ju)},yn.reduceRight=function(n,t,r){var e=No(n)?h:y,u=3>arguments.length;return e(n,wr(t,4),r,u,Yu)},yn.repeat=Te,yn.replace=function(){var n=arguments,t=ze(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},yn.result=function(n,t,r){if(Cr(t,n))e=null==n?Z:n[t];else{var e=Me(n,t=Nt(t));n=$r(n,t)}return e===Z&&(e=r),de(e)?e.call(n):e},yn.round=wi,yn.runInContext=D,yn.sample=function(n){var t=(n=_e(n)?n:Ze(n)).length;return t>0?n[Ct(0,t-1)]:Z},yn.size=function(n){if(null==n)return 0;if(_e(n)){var t=n.length;return t&&ke(n)?F(n):t}return Fe(n).length},yn.snakeCase=fi,yn.some=function(n,t,r){var e=No(n)?p:Mt;return r&&Br(n,t,r)&&(t=Z),e(n,wr(t,3))},yn.sortedIndex=function(n,t){return Lt(n,t)},yn.sortedIndexBy=function(n,t,r){return $t(n,t,wr(r))},yn.sortedIndexOf=function(n,t){var r=n?n.length:0;if(r){var e=Lt(n,t);if(r>e&&se(n[e],t))return e}return-1},yn.sortedLastIndex=function(n,t){return Lt(n,t,!0)},yn.sortedLastIndexBy=function(n,t,r){return $t(n,t,wr(r),!0)},yn.sortedLastIndexOf=function(n,t){if(n&&n.length){var r=Lt(n,t,!0)-1;if(se(n[r],t))return r}return-1},yn.startCase=ci,yn.startsWith=function(n,t,r){return n=ze(n),r=nt(We(r),0,n.length),n.lastIndexOf(t,r)==r},yn.subtract=function(n,t){var r;return n===Z&&t===Z?0:(n!==Z&&(r=n),t!==Z&&(r=r===Z?t:r-t),r)},yn.sum=Xe,yn.sumBy=function(n,t){return n&&n.length?x(n,wr(t)):0},yn.template=function(n,t,r){var e=yn.templateSettings;r&&Br(n,t,r)&&(t=Z),n=ze(n),t=Po({},t,e,Tn);var u,o,i=Fe(r=Po({},t.imports,e.imports,Tn)),f=A(r,i),c=0;r=t.interpolate||xn;var a="__p+='";r=eu((t.escape||xn).source+"|"+r.source+"|"+(r===nn?sn:xn).source+"|"+(t.evaluate||xn).source+"|$","g");var l="sourceURL"in t?"//# sourceURL="+t.sourceURL+"\n":"";if(n.replace(r,function(t,r,e,i,f,l){return e||(e=i),a+=n.slice(c,l).replace(jn,W),r&&(u=!0,a+="'+__e("+r+")+'"),f&&(o=!0,a+="';"+f+";\n__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),c=l+t.length,t}),a+="';",(t=t.variable)||(a="with(obj){"+a+"}"),a=(o?a.replace(T,""):a).replace(K,"$1").replace(G,"$1;"),a="function("+(t||"obj")+"){"+(t?"":"obj||(obj={});")+"var __t,__p=''"+(u?",__e=_.escape":"")+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+a+"return __p}",(t=li(function(){return Function(i,l+"return "+a).apply(Z,f)})).source=a,ve(t))throw t;return t},yn.times=function(n,t){if(1>(n=We(n))||n>9007199254740991)return[];var r=4294967295,e=Bu(n,4294967295);for(n-=4294967295,e=j(e,t=Dr(t));++r<n;)t(r);return e},yn.toInteger=We,yn.toLength=Be,yn.toLower=function(n){return ze(n).toLowerCase()},yn.toNumber=Ce,yn.toSafeInteger=function(n){return nt(We(n),-9007199254740991,9007199254740991)},yn.toString=ze,yn.toUpper=function(n){return ze(n).toUpperCase()},yn.trim=function(n,t,r){return(n=ze(n))?r||t===Z?n.replace(fn,""):(t+="")?(n=n.match(kn),t=t.match(kn),n.slice(O(n,t),k(n,t)+1).join("")):n:n},yn.trimEnd=function(n,t,r){return(n=ze(n))?r||t===Z?n.replace(an,""):(t+="")?(n=n.match(kn)).slice(0,k(n,t.match(kn))+1).join(""):n:n},yn.trimStart=function(n,t,r){return(n=ze(n))?r||t===Z?n.replace(cn,""):(t+="")?(n=n.match(kn)).slice(O(n,t.match(kn))).join(""):n:n},yn.truncate=function(n,t){var r=30,e="...";if(xe(t)){var u="separator"in t?t.separator:u;r="length"in t?We(t.length):r,e="omission"in t?ze(t.omission):e}var o=(n=ze(n)).length;if(En.test(n)){var i=n.match(kn);o=i.length}if(r>=o)return n;if(1>(o=r-F(e)))return e;if(r=i?i.slice(0,o).join(""):n.slice(0,o),u===Z)return r+e;if(i&&(o+=r.length-o),Oe(u)){if(n.slice(o).search(u)){var f=r;for(u.global||(u=eu(u.source,ze(hn.exec(u))+"g")),u.lastIndex=0;i=u.exec(f);)var c=i.index;r=r.slice(0,c===Z?o:c)}}else n.indexOf(u,o)!=o&&((u=r.lastIndexOf(u))>-1&&(r=r.slice(0,u)));return r+e},yn.unescape=function(n){return(n=ze(n))&&Y.test(n)?n.replace(V,N):n},yn.uniqueId=function(n){var t=++au;return ze(n)+t},yn.upperCase=ai,yn.upperFirst=ii,yn.each=ne,yn.eachRight=te,yn.first=Tr,Ye(yn,function(){var n={};return at(yn,function(t,r){cu.call(yn.prototype,r)||(n[r]=t)}),n}(),{chain:!1}),yn.VERSION="4.3.0",u("bind bindKey curry curryRight partial partialRight".split(" "),function(n){yn[n].placeholder=yn}),u(["drop","take"],function(n,t){An.prototype[n]=function(r){var e=this.__filtered__;if(e&&!t)return new An(this);r=r===Z?1:Wu(We(r),0);var u=this.clone();return e?u.__takeCount__=Bu(r,u.__takeCount__):u.__views__.push({size:Bu(r,4294967295),type:n+(0>u.__dir__?"Right":"")}),u},An.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),u(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;An.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:wr(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),u(["head","last"],function(n,t){var r="take"+(t?"Right":"");
2An.prototype[n]=function(){return this[r](1).value()[0]}}),u(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");An.prototype[n]=function(){return this.__filtered__?new An(this):this[r](1)}}),An.prototype.compact=function(){return this.filter(Ve)},An.prototype.find=function(n){return this.filter(n).head()},An.prototype.findLast=function(n){return this.reverse().find(n)},An.prototype.invokeMap=le(function(n,t){return"function"==typeof n?new An(this):this.map(function(r){return dt(r,n,t)})}),An.prototype.reject=function(n){return n=wr(n,3),this.filter(function(t){return!n(t)})},An.prototype.slice=function(n,t){n=We(n);var r=this;return r.__filtered__&&(n>0||0>t)?new An(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==Z&&(r=0>(t=We(t))?r.dropRight(-t):r.take(t-n)),r)},An.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},An.prototype.toArray=function(){return this.take(4294967295)},at(An.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=yn[e?"take"+("last"==t?"Right":""):t],o=e||/^find/.test(t);
2u&&(yn.prototype[t]=function(){var t=this.__wrapped__,i=e?[1]:arguments,f=t instanceof An,c=i[0],a=f||No(t),s=function(n){return n=u.apply(yn,l([n],i)),e&&h?n[0]:n};a&&r&&"function"==typeof c&&1!=c.length&&(f=a=!1);var h=this.__chain__,p=!!this.__actions__.length;c=o&&!h,f=f&&!p;return!o&&a?(t=f?t:new An(this),(t=n.apply(t,i)).__actions__.push({func:Qr,args:[s],thisArg:Z}),new wn(t,h)):c&&f?n.apply(this,i):(t=this.thru(s),c?e?t.value()[0]:t.value():t)})}),u("pop push shift sort splice unshift".split(" "),function(n){var t=ou[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);yn.prototype[n]=function(){var n=arguments;return e&&!this.__chain__?t.apply(this.value(),n):this[r](function(r){return t.apply(r,n)})}}),at(An.prototype,function(n,t){var r=yn[t];if(r){var e=r.name+"";(Gu[e]||(Gu[e]=[])).push({name:t,func:r})}}),Gu[lr(Z,2).name]=[{name:"wrapper",func:Z}],An.prototype.clone=function(){var n=new An(this.__wrapped__);return n.__actions__=Yt(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Yt(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Yt(this.__views__),n},An.prototype.reverse=function(){if(this.__filtered__){var n=new An(this);n.__dir__=-1,n.__filtered__=!0}else(n=this.clone()).__dir__*=-1;return n},An.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=No(t),u=0>r,o=e?t.length:0;n=0;for(var i=o,f=this.__views__,c=-1,a=f.length;++c<a;){var l=f[c],s=l.size;switch(l.type){case"drop":n+=s;break;case"dropRight":i-=s;break;case"take":i=Bu(i,n+s);break;case"takeRight":n=Wu(n,i-s)}}if(i=(n={start:n,end:i}).start,n=(f=n.end)-i,u=u?f:i-1,f=(i=this.__iteratees__).length,c=0,a=Bu(n,this.__takeCount__),!e||200>o||o==n&&a==n)return qt(t,this.__actions__);e=[];n:for(;n--&&a>c;){for(o=-1,l=t[u+=r];++o<f;){s=(h=i[o]).type;var h=(0,h.iteratee)(l);if(2==s)l=h;else if(!h){if(1==s)continue n;break n}}e[c++]=l}return e},yn.prototype.at=Ao,yn.prototype.chain=function(){return Hr(this)},yn.prototype.commit=function(){return new wn(this.value(),this.__chain__)},yn.prototype.flatMap=function(n){return this.map(n).flatten()},yn.prototype.next=function(){this.__values__===Z&&(this.__values__=Re(this.value()));var n=this.__index__>=this.__values__.length;return{done:n,value:n?Z:this.__values__[this.__index__++]}},yn.prototype.plant=function(n){for(var t,r=this;r instanceof mn;){var e=Zr(r);e.__index__=0,e.__values__=Z,t?u.__wrapped__=e:t=e;var u=e;r=r.__wrapped__}return u.__wrapped__=n,t},yn.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof An?(this.__actions__.length&&(n=new An(this)),(n=n.reverse()).__actions__.push({func:Qr,args:[Vr],thisArg:Z}),new wn(n,this.__chain__)):this.thru(Vr)},yn.prototype.toJSON=yn.prototype.valueOf=yn.prototype.value=function(){return qt(this.__wrapped__,this.__actions__)},mu&&(yn.prototype[mu]=Xr),yn}var Z,q=1/0,P=NaN,T=/\b__p\+='';/g,K=/\b(__p\+=)''\+/g,G=/(__e\(.*?\)|\b__t\))\+'';/g,V=/&(?:amp|lt|gt|quot|#39|#96);/g,J=/[&<>"'`]/g,Y=RegExp(V.source),H=RegExp(J.source),Q=/<%-([\s\S]+?)%>/g,X=/<%([\s\S]+?)%>/g,nn=/<%=([\s\S]+?)%>/g,tn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rn=/^\w*$/,en=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,un=/[\\^$.*+?()[\]{}|]/g,on=RegExp(un.source),fn=/^\s+|\s+$/g,cn=/^\s+/,an=/\s+$/,ln=/\\(\\)?/g,sn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,hn=/\w*$/,pn=/^0x/i,_n=/^[-+]0x[0-9a-f]+$/i,gn=/^0b[01]+$/i,vn=/^\[object .+?Constructor\]$/,dn=/^0o[0-7]+$/i,yn=/^(?:0|[1-9]\d*)$/,bn=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,xn=/($^)/,jn=/['\n\r\u2028\u2029\\]/g,mn="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|\\ud83c[\\udffb-\\udfff])?)*",wn="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+mn,An="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]?|[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",On=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]","g"),kn=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+An+mn,"g"),En=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0\\ufe0e\\ufe0f]"),In=/[a-zA-Z0-9]+/g,Sn=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2018\\u2019\\u201c\\u201d \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+|[A-Z\\xc0-\\xd6\\xd8-\\xde]+|\\d+",wn].join("|"),"g"),Rn=/[a-z][A-Z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wn="Array Buffer Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Reflect RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Bn={};
2Bn["[object Float32Array]"]=Bn["[object Float64Array]"]=Bn["[object Int8Array]"]=Bn["[object Int16Array]"]=Bn["[object Int32Array]"]=Bn["[object Uint8Array]"]=Bn["[object Uint8ClampedArray]"]=Bn["[object Uint16Array]"]=Bn["[object Uint32Array]"]=!0,Bn["[object Arguments]"]=Bn["[object Array]"]=Bn["[object ArrayBuffer]"]=Bn["[object Boolean]"]=Bn["[object Date]"]=Bn["[object Error]"]=Bn["[object Function]"]=Bn["[object Map]"]=Bn["[object Number]"]=Bn["[object Object]"]=Bn["[object RegExp]"]=Bn["[object Set]"]=Bn["[object String]"]=Bn["[object WeakMap]"]=!1;var Cn={};Cn["[object Arguments]"]=Cn["[object Array]"]=Cn["[object ArrayBuffer]"]=Cn["[object Boolean]"]=Cn["[object Date]"]=Cn["[object Float32Array]"]=Cn["[object Float64Array]"]=Cn["[object Int8Array]"]=Cn["[object Int16Array]"]=Cn["[object Int32Array]"]=Cn["[object Map]"]=Cn["[object Number]"]=Cn["[object Object]"]=Cn["[object RegExp]"]=Cn["[object Set]"]=Cn["[object String]"]=Cn["[object Symbol]"]=Cn["[object Uint8Array]"]=Cn["[object Uint8ClampedArray]"]=Cn["[object Uint16Array]"]=Cn["[object Uint32Array]"]=!0,Cn["[object Error]"]=Cn["[object Function]"]=Cn["[object WeakMap]"]=!1;var Un={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss"},zn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},Mn={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Ln={"function":!0,object:!0},$n={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Fn=parseFloat,Nn=parseInt,Dn=Ln[typeof exports]&&exports&&!exports.nodeType?exports:null,Zn=Ln[typeof module]&&module&&!module.nodeType?module:null,qn=E(Dn&&Zn&&"object"==typeof global&&global),Pn=E(Ln[typeof self]&&self),Tn=E(Ln[typeof window]&&window),Kn=Zn&&Zn.exports===Dn?Dn:null,Gn=E(Ln[typeof this]&&this),Vn=qn||Tn!==(Gn&&Gn.window)&&Tn||Pn||Gn||Function("return this")(),Jn=D();(Tn||Pn||{})._=Jn,"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return Jn}):Dn&&Zn?(Kn&&((Zn.exports=Jn)._=Jn),Dn._=Jn):Vn._=Jn}).call(this),
3/*!
4 * jQuery JavaScript Library v1.12.4
5 * http://jquery.com/
6 *
7 * Includes Sizzle.js
8 * http://sizzlejs.com/
9 *
10 * Copyright jQuery Foundation and other contributors
11 * Released under the MIT license
12 * http://jquery.org/license
13 *
14 * Date: 2016-05-20T17:17Z
15 */
16function(global,factory){"object"==typeof module&&"object"==typeof module.exports?module.exports=global.document?factory(global,!0):function(w){if(!w.document)throw new Error("jQuery requires a window with a document");return factory(w)}:factory(global)}("undefined"!=typeof window?window:this,function(window,noGlobal){function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=jQuery.type(obj);return"function"!==type&&!jQuery.isWindow(obj)&&("array"===type||0===length||"number"==typeof length&&length>0&&length-1 in obj)}function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier))return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not});if(qualifier.nodeType)return jQuery.grep(elements,function(elem){return elem===qualifier!==not});if("string"==typeof qualifier){if(risSimple.test(qualifier))return jQuery.filter(qualifier,elements,not);qualifier=jQuery.filter(qualifier,elements)}return jQuery.grep(elements,function(elem){return jQuery.inArray(elem,qualifier)>-1!==not})}function sibling(cur,dir){do{cur=cur[dir]}while(cur&&1!==cur.nodeType);return cur}function createOptions(options){var object={};return jQuery.each(options.match(rnotwhite)||[],function(_,flag){object[flag]=!0}),object}function detach(){document.addEventListener?(document.removeEventListener("DOMContentLoaded",completed),window.removeEventListener("load",completed)):(document.detachEvent("onreadystatechange",completed),window.detachEvent("onload",completed))}function completed(){(document.addEventListener||"load"===window.event.type||"complete"===document.readyState)&&(detach(),jQuery.ready())}function dataAttr(elem,key,data){if(data===undefined&&1===elem.nodeType){var name="data-"+key.replace(rmultiDash,"-$1").toLowerCase();if("string"==typeof(data=elem.getAttribute(name))){try{data="true"===data||"false"!==data&&("null"===data?null:+data+""===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data)}catch(e){}jQuery.data(elem,key,data)}else data=undefined}return data}function isEmptyDataObject(obj){var name;for(name in obj)if(("data"!==name||!jQuery.isEmptyObject(obj[name]))&&"toJSON"!==name)return!1;return!0}function internalData(elem,name,data,pvt){if(acceptData(elem)){var ret,thisCache,internalKey=jQuery.expando,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[internalKey]:elem[internalKey]&&internalKey;
16if(id&&cache[id]&&(pvt||cache[id].data)||data!==undefined||"string"!=typeof name)return id||(id=isNode?elem[internalKey]=deletedIds.pop()||jQuery.guid++:internalKey),cache[id]||(cache[id]=isNode?{}:{toJSON:jQuery.noop}),"object"!=typeof name&&"function"!=typeof name||(pvt?cache[id]=jQuery.extend(cache[id],name):cache[id].data=jQuery.extend(cache[id].data,name)),thisCache=cache[id],pvt||(thisCache.data||(thisCache.data={}),thisCache=thisCache.data),data!==undefined&&(thisCache[jQuery.camelCase(name)]=data),"string"==typeof name?null==(ret=thisCache[name])&&(ret=thisCache[jQuery.camelCase(name)]):ret=thisCache,ret}}function internalRemoveData(elem,name,pvt){if(acceptData(elem)){var thisCache,i,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[jQuery.expando]:jQuery.expando;if(cache[id]){if(name&&(thisCache=pvt?cache[id]:cache[id].data)){i=(name=jQuery.isArray(name)?name.concat(jQuery.map(name,jQuery.camelCase)):name in thisCache?[name]:(name=jQuery.camelCase(name))in thisCache?[name]:name.split(" ")).length;for(;i--;)delete thisCache[name[i]];if(pvt?!isEmptyDataObject(thisCache):!jQuery.isEmptyObject(thisCache))return}(pvt||(delete cache[id].data,isEmptyDataObject(cache[id])))&&(isNode?jQuery.cleanData([elem],!0):support.deleteExpando||cache!=cache.window?delete cache[id]:cache[id]=undefined)}}}function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale=1,maxIterations=20,currentValue=tween?function(){return tween.cur()}:function(){return jQuery.css(elem,prop,"")},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),initialInUnit=(jQuery.cssNumber[prop]||"px"!==unit&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){unit=unit||initialInUnit[3],valueParts=valueParts||[],initialInUnit=+initial||1;do{initialInUnit/=scale=scale||".5",jQuery.style(elem,prop,initialInUnit+unit)}while(scale!==(scale=currentValue()/initial)&&1!==scale&&--maxIterations)}return valueParts&&(initialInUnit=+initialInUnit||+initial||0,adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2],tween&&(tween.unit=unit,tween.start=initialInUnit,tween.end=adjusted)),adjusted}function createSafeFragment(document){var list=nodeNames.split("|"),safeFrag=document.createDocumentFragment();if(safeFrag.createElement)for(;list.length;)safeFrag.createElement(list.pop());return safeFrag}function getAll(context,tag){var elems,elem,i=0,found="undefined"!=typeof context.getElementsByTagName?context.getElementsByTagName(tag||"*"):"undefined"!=typeof context.querySelectorAll?context.querySelectorAll(tag||"*"):undefined;if(!found)for(found=[],elems=context.childNodes||context;null!=(elem=elems[i]);i++)!tag||jQuery.nodeName(elem,tag)?found.push(elem):jQuery.merge(found,getAll(elem,tag));return tag===undefined||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],found):found}function setGlobalEval(elems,refElements){for(var elem,i=0;null!=(elem=elems[i]);i++)jQuery._data(elem,"globalEval",!refElements||jQuery._data(refElements[i],"globalEval"))}function fixDefaultChecked(elem){rcheckableType.test(elem.type)&&(elem.defaultChecked=elem.checked)}function buildFragment(elems,context,scripts,selection,ignored){for(var j,elem,contains,tmp,tag,tbody,wrap,l=elems.length,safe=createSafeFragment(context),nodes=[],i=0;i<l;i++)if((elem=elems[i])||0===elem)if("object"===jQuery.type(elem))jQuery.merge(nodes,elem.nodeType?[elem]:elem);else if(rhtml.test(elem)){for(tmp=tmp||safe.appendChild(context.createElement("div")),tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2],j=wrap[0];j--;)tmp=tmp.lastChild;if(!support.leadingWhitespace&&rleadingWhitespace.test(elem)&&nodes.push(context.createTextNode(rleadingWhitespace.exec(elem)[0])),!support.tbody)for(j=(elem="table"!==tag||rtbody.test(elem)?"<table>"!==wrap[1]||rtbody.test(elem)?0:tmp:tmp.firstChild)&&elem.childNodes.length;j--;)jQuery.nodeName(tbody=elem.childNodes[j],"tbody")&&!tbody.childNodes.length&&elem.removeChild(tbody);
vendor: 4,435 bytes, line 16
16for(jQuery.merge(nodes,tmp.childNodes),tmp.textContent="";tmp.firstChild;)tmp.removeChild(tmp.firstChild);tmp=safe.lastChild}else nodes.push(context.createTextNode(elem));for(tmp&&safe.removeChild(tmp),support.appendChecked||jQuery.grep(getAll(nodes,"input"),fixDefaultChecked),i=0;elem=nodes[i++];)if(selection&&jQuery.inArray(elem,selection)>-1)ignored&&ignored.push(elem);else if(contains=jQuery.contains(elem.ownerDocument,elem),tmp=getAll(safe.appendChild(elem),"script"),contains&&setGlobalEval(tmp),scripts)for(j=0;elem=tmp[j++];)rscriptType.test(elem.type||"")&&scripts.push(elem);return tmp=null,safe}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return document.activeElement}catch(err){}}function on(elem,types,selector,data,fn,one){var origFn,type;if("object"==typeof types){for(type in"string"!=typeof selector&&(data=data||selector,selector=undefined),types)on(elem,type,selector,data,types[type],one);return elem}if(null==data&&null==fn?(fn=selector,data=selector=undefined):null==fn&&("string"==typeof selector?(fn=data,data=undefined):(fn=data,data=selector,selector=undefined)),!1===fn)fn=returnFalse;else if(!fn)return elem;return 1===one&&(origFn=fn,(fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)}).guid=origFn.guid||(origFn.guid=jQuery.guid++)),elem.each(function(){jQuery.event.add(this,types,fn,data,selector)})}function manipulationTarget(elem,content){return jQuery.nodeName(elem,"table")&&jQuery.nodeName(11!==content.nodeType?content:content.firstChild,"tr")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem}function disableScript(elem){return elem.type=(null!==jQuery.find.attr(elem,"type"))+"/"+elem.type,elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);return match?elem.type=match[1]:elem.removeAttribute("type"),elem}function cloneCopyEvent(src,dest){if(1===dest.nodeType&&jQuery.hasData(src)){var type,i,l,oldData=jQuery._data(src),curData=jQuery._data(dest,oldData),events=oldData.events;if(events)for(type in delete curData.handle,curData.events={},events)for(i=0,l=events[type].length;i<l;i++)jQuery.event.add(dest,type,events[type][i]);curData.data&&(curData.data=jQuery.extend({},curData.data))}}function fixCloneNodeIssues(src,dest){var nodeName,e,data;if(1===dest.nodeType){if(nodeName=dest.nodeName.toLowerCase(),!support.noCloneEvent&&dest[jQuery.expando]){for(e in(data=jQuery._data(dest)).events)jQuery.removeEvent(dest,e,data.handle);dest.removeAttribute(jQuery.expando)}"script"===nodeName&&dest.text!==src.text?(disableScript(dest).text=src.text,restoreScript(dest)):"object"===nodeName?(dest.parentNode&&(dest.outerHTML=src.outerHTML),support.html5Clone&&src.innerHTML&&!jQuery.trim(dest.innerHTML)&&(dest.innerHTML=src.innerHTML)):"input"===nodeName&&rcheckableType.test(src.type)?(dest.defaultChecked=dest.checked=src.checked,dest.value!==src.value&&(dest.value=src.value)):"option"===nodeName?dest.defaultSelected=dest.selected=src.defaultSelected:"input"!==nodeName&&"textarea"!==nodeName||(dest.defaultValue=src.defaultValue)}}function domManip(collection,args,callback,ignored){args=concat.apply([],args);var first,node,hasScripts,scripts,doc,fragment,i=0,l=collection.length,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||l>1&&"string"==typeof value&&!support.checkClone&&rchecked.test(value))return collection.each(function(index){var self=collection.eq(index);isFunction&&(args[0]=value.call(this,index,self.html())),domManip(self,args,callback,ignored)});if(l&&(first=(fragment=buildFragment(args,collection[0].ownerDocument,!1,collection,ignored)).firstChild,1===fragment.childNodes.length&&(fragment=first),first||ignored)){for(hasScripts=(scripts=jQuery.map(getAll(fragment,"script"),disableScript)).length;i<l;i++)node=fragment,i!==iNoClone&&(node=jQuery.clone(node,!0,!0),hasScripts&&jQuery.merge(scripts,getAll(node,"script"))),callback.call(collection[i],node,i);if(hasScripts)for(doc=scripts[scripts.length-1].ownerDocument,jQuery.map(scripts,restoreScript),i=0;i<hasScripts;i++)node=scripts[i],rscriptType.test(node.type||"")&&!jQuery._data(node,"globalEval")&&jQuery.contains(doc,node)&&(node.src?jQuery._evalUrl&&jQuery._evalUrl(node.src):jQuery.globalEval((node.text||node.textContent||node.innerHTML||"").replace(rcleanScript,"")));fragment=first=null}return collection}
vendor: 5,958 bytes, line 16
16function remove(elem,selector,keepData){for(var node,elems=selector?jQuery.filter(selector,elem):elem,i=0;null!=(node=elems[i]);i++)keepData||1!==node.nodeType||jQuery.cleanData(getAll(node)),node.parentNode&&(keepData&&jQuery.contains(node.ownerDocument,node)&&setGlobalEval(getAll(node,"script")),node.parentNode.removeChild(node));return elem}function actualDisplay(name,doc){var elem=jQuery(doc.createElement(name)).appendTo(doc.body),display=jQuery.css(elem[0],"display");return elem.detach(),display}function defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];return display||("none"!==(display=actualDisplay(nodeName,doc))&&display||((doc=((iframe=(iframe||jQuery("<iframe frameborder='0' width='0' height='0'/>")).appendTo(doc.documentElement))[0].contentWindow||iframe[0].contentDocument).document).write(),doc.close(),display=actualDisplay(nodeName,doc),iframe.detach()),elemdisplay[nodeName]=display),display}function addGetHookIf(conditionFn,hookFn){return{get:function(){if(!conditionFn())return(this.get=hookFn).apply(this,arguments);delete this.get}}}function vendorPropName(name){if(name in emptyStyle)return name;for(var capName=name.charAt(0).toUpperCase()+name.slice(1),i=cssPrefixes.length;i--;)if((name=cssPrefixes[i]+capName)in emptyStyle)return name}function showHide(elements,show){for(var display,elem,hidden,values=[],index=0,length=elements.length;index<length;index++)(elem=elements[index]).style&&(values[index]=jQuery._data(elem,"olddisplay"),display=elem.style.display,show?(values[index]||"none"!==display||(elem.style.display=""),""===elem.style.display&&isHidden(elem)&&(values[index]=jQuery._data(elem,"olddisplay",defaultDisplay(elem.nodeName)))):(hidden=isHidden(elem),(display&&"none"!==display||!hidden)&&jQuery._data(elem,"olddisplay",hidden?display:jQuery.css(elem,"display"))));for(index=0;index<length;index++)(elem=elements[index]).style&&(show&&"none"!==elem.style.display&&""!==elem.style.display||(elem.style.display=show?values[index]||"":"none"));return elements}function setPositiveNumber(elem,value,subtract){var matches=rnumsplit.exec(value);return matches?Math.max(0,matches[1]-(subtract||0))+(matches[2]||"px"):value}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){for(var i=extra===(isBorderBox?"border":"content")?4:"width"===name?1:0,val=0;i<4;i+=2)"margin"===extra&&(val+=jQuery.css(elem,extra+cssExpand[i],!0,styles)),isBorderBox?("content"===extra&&(val-=jQuery.css(elem,"padding"+cssExpand[i],!0,styles)),"margin"!==extra&&(val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles))):(val+=jQuery.css(elem,"padding"+cssExpand[i],!0,styles),"padding"!==extra&&(val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles)));return val}function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=!0,val="width"===name?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox=support.boxSizing&&"border-box"===jQuery.css(elem,"boxSizing",!1,styles);if(val<=0||null==val){if(((val=curCSS(elem,name,styles))<0||null==val)&&(val=elem.style[name]),rnumnonpx.test(val))return val;valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]),val=parseFloat(val)||0}return val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles)+"px"}function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}function createFxNow(){return window.setTimeout(function(){fxNow=undefined}),fxNow=jQuery.now()}function genFx(type,includeWidth){var which,attrs={height:type},i=0;for(includeWidth=includeWidth?1:0;i<4;i+=2-includeWidth)attrs["margin"+(which=cssExpand[i])]=attrs["padding"+which]=type;return includeWidth&&(attrs.opacity=attrs.width=type),attrs}function createTween(value,prop,animation){for(var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;index<length;index++)if(tween=collection[index].call(animation,prop,value))return tween}function defaultPrefilter(elem,props,opts){var prop,value,toggle,tween,hooks,oldfire,display,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHidden(elem),dataShow=jQuery._data(elem,"fxshow");for(prop in opts.queue||(null==(hooks=jQuery._queueHooks(elem,"fx")).unqueued&&(hooks.unqueued=0,oldfire=hooks.empty.fire,hooks.empty.fire=function(){hooks.unqueued||oldfire()}),hooks.unqueued++,anim.always(function(){anim.always(function(){hooks.unqueued--,jQuery.queue(elem,"fx").length||hooks.empty.fire()})})),1===elem.nodeType&&("height"in props||"width"in props)&&(opts.overflow=[style.overflow,style.overflowX,style.overflowY],"inline"===("none"===(display=jQuery.css(elem,"display"))?jQuery._data(elem,"olddisplay")||defaultDisplay(elem.nodeName):display)&&"none"===jQuery.css(elem,"float")&&(support.inlineBlockNeedsLayout&&"inline"!==defaultDisplay(elem.nodeName)?style.zoom=1:style.display="inline-block")),opts.overflow&&(style.overflow="hidden",support.shrinkWrapBlocks()||anim.always(function(){style.overflow=opts.overflow[0],style.overflowX=opts.overflow[1],style.overflowY=opts.overflow[2]})),props)if(value=props[prop],rfxtypes.exec(value)){if(delete props[prop],toggle=toggle||"toggle"===value,value===(hidden?"hide":"show")){if("show"!==value||!dataShow||dataShow[prop]===undefined)continue;hidden=!0}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}else display=undefined;if(jQuery.isEmptyObject(orig))"inline"===("none"===display?defaultDisplay(elem.nodeName):display)&&(style.display=display);else for(prop in dataShow?"hidden"in dataShow&&(hidden=dataShow.hidden):dataShow=jQuery._data(elem,"fxshow",{}),toggle&&(dataShow.hidden=!hidden),hidden?jQuery(elem).show():anim.done(function(){jQuery(elem).hide()}),anim.done(function(){var prop;for(prop in jQuery._removeData(elem,"fxshow"),orig)jQuery.style(elem,prop,orig[prop])}),orig)tween=createTween(hidden?dataShow[prop]:0,prop,anim),prop in dataShow||(
vendor: 8,802 bytes, line 16
16dataShow[prop]=tween.start,hidden&&(tween.end=tween.start,tween.start="width"===prop||"height"===prop?1:0))}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props)if(easing=specialEasing[name=jQuery.camelCase(index)],value=props[index],jQuery.isArray(value)&&(easing=value[1],value=props[index]=value[0]),index!==name&&(props[name]=value,delete props[index]),(hooks=jQuery.cssHooks[name])&&"expand"in hooks)for(index in value=hooks.expand(value),delete props[name],value)index in props||(props[index]=value[index],specialEasing[index]=easing);else specialEasing[name]=easing}function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped)return!1;for(var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),percent=1-(remaining/animation.duration||0),index=0,length=animation.tweens.length;index<length;index++)animation.tweens[index].run(percent);return deferred.notifyWith(elem,[animation,percent,remaining]),percent<1&&length?remaining:(deferred.resolveWith(elem,[animation]),!1)},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(!0,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);return animation.tweens.push(tween),tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;for(stopped=!0;index<length;index++)animation.tweens[index].run(1);return gotoEnd?(deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation,gotoEnd])):deferred.rejectWith(elem,[animation,gotoEnd]),this}}),props=animation.props;for(propFilter(props,animation.opts.specialEasing);index<length;index++)if(result=Animation.prefilters[index].call(animation,elem,props,animation.opts))return jQuery.isFunction(result.stop)&&(jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result)),result;return jQuery.map(props,createTween,animation),jQuery.isFunction(animation.opts.start)&&animation.opts.start.call(elem,animation),jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue})),animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always)}function getClass(elem){return jQuery.attr(elem,"class")||""}function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){"string"!=typeof dataTypeExpression&&(func=dataTypeExpression,dataTypeExpression="*");var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(func))for(;dataType=dataTypes[i++];)"+"===dataType.charAt(0)?(dataType=dataType.slice(1)||"*",(structure[dataType]=structure[dataType]||[]).unshift(func)):(structure[dataType]=structure[dataType]||[]).push(func)}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){function inspect(dataType){var selected;return inspected[dataType]=!0,jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);return"string"!=typeof dataTypeOrTransport||seekingTransport||inspected[dataTypeOrTransport]?seekingTransport?!(selected=dataTypeOrTransport):void 0:(options.dataTypes.unshift(dataTypeOrTransport),inspect(dataTypeOrTransport),!1)}),selected}var inspected={},seekingTransport=structure===transports;return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var deep,key,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)src[key]!==undefined&&((flatOptions[key]?target:deep||(deep={}))[key]=src[key]);return deep&&jQuery.extend(!0,target,deep),target}function ajaxHandleResponses(s,jqXHR,responses){for(var firstDataType,ct,finalDataType,type,contents=s.contents,dataTypes=s.dataTypes;"*"===dataTypes[0];)dataTypes.shift(),ct===undefined&&(ct=s.mimeType||jqXHR.getResponseHeader("Content-Type"));if(ct)for(type in contents)if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}if(dataTypes[0]in responses)finalDataType=dataTypes[0];else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}firstDataType||(firstDataType=type)}finalDataType=finalDataType||firstDataType}if(finalDataType)return finalDataType!==dataTypes[0]&&dataTypes.unshift(finalDataType),responses[finalDataType]}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1])for(conv in s.converters)converters[conv.toLowerCase()]=s.converters[conv];for(current=dataTypes.shift();current;)if(s.responseFields[current]&&(jqXHR[s.responseFields[current]]=response),!prev&&isSuccess&&s.dataFilter&&(response=s.dataFilter(response,s.dataType)),prev=current,current=dataTypes.shift())if("*"===current)current=prev;else if("*"!==prev&&prev!==current){if(!(conv=converters[prev+" "+current]||converters["* "+current]))for(conv2 in converters)if((tmp=conv2.split(" "))[1]===current&&(conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]])){!0===conv?conv=converters[conv2]:!0!==converters[conv2]&&(current=tmp[0],dataTypes.unshift(tmp[1]));break}if(!0!==conv)if(conv&&s.throws)response=conv(response);else try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}return{state:"success",data:response}}function getDisplay(elem){return elem.style&&elem.style.display||jQuery.css(elem,"display")}function filterHidden(elem){if(!jQuery.contains(elem.ownerDocument||document,elem))return!0;for(;elem&&1===elem.nodeType;){if("none"===getDisplay(elem)||"hidden"===elem.type)return!0;elem=elem.parentNode}return!1}function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj))jQuery.each(obj,function(i,v){traditional||rbracket.test(prefix)?add(prefix,v):buildParams(prefix+"["+("object"==typeof v&&null!=v?i:"")+"]",v,traditional,add)});else if(traditional||"object"!==jQuery.type(obj))add(prefix,obj);else for(name in obj)buildParams(prefix+"["+name+"]",obj[name],traditional,add)}function createStandardXHR(){try{return new window.XMLHttpRequest}catch(e){}}function createActiveXHR(){try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}function getWindow(elem){return jQuery.isWindow(elem)?elem:9===elem.nodeType&&(elem.defaultView||elem.parentWindow)}var deletedIds=[],document=window.document,slice=deletedIds.slice,concat=deletedIds.concat,push=deletedIds.push,indexOf=deletedIds.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,support={},version="1.12.4",jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\da-z])/gi,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,selector:"",length:0,toArray:function(){return slice.call(this)},get:function(num){return null!=num?num<0?this[num+this.length]:this[num]:slice.call(this)},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);return ret.prevObject=this,ret.context=this.context,ret},each:function(callback){return jQuery.each(this,callback)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[])},end:function(){return this.prevObject||this.constructor()},push:push,sort:deletedIds.sort,splice:deletedIds.splice},jQuery.extend=jQuery.fn.extend=function(){var src,copyIsArray,copy,name,options,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=!1;for("boolean"==typeof target&&(deep=target,target=arguments[i]||{},i++),"object"==typeof target||jQuery.isFunction(target)||(target={}),i===length&&(target=this,i--);i<length;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],target!==(copy=options[name])&&(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&jQuery.isArray(src)?src:[]):clone=src&&jQuery.isPlainObject(src)?src:{}
16,target[name]=jQuery.extend(deep,clone,copy)):copy!==undefined&&(target[name]=copy));return target},jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:!0,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return"function"===jQuery.type(obj)},isArray:Array.isArray||function(obj){return"array"===jQuery.type(obj)},isWindow:function(obj){return null!=obj&&obj==obj.window},isNumeric:function(obj){var realStringObj=obj&&obj.toString();return!jQuery.isArray(obj)&&realStringObj-parseFloat(realStringObj)+1>=0},isEmptyObject:function(obj){var name;for(name in obj)return!1;return!0},isPlainObject:function(obj){var key;if(!obj||"object"!==jQuery.type(obj)||obj.nodeType||jQuery.isWindow(obj))return!1;try{if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}if(!support.ownFirst)for(key in obj)return hasOwn.call(obj,key);for(key in obj);return key===undefined||hasOwn.call(obj,key)},type:function(obj){return null==obj?obj+"":"object"==typeof obj||"function"==typeof obj?class2type[toString.call(obj)]||"object":typeof obj},globalEval:function(data){data&&jQuery.trim(data)&&(window.execScript||function(data){window.eval.call(window,data)})(data)},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()},each:function(obj,callback){var length,i=0;if(isArrayLike(obj))for(length=obj.length;i<length&&!1!==callback.call(obj[i],i,obj[i]);i++);else for(i in obj)if(!1===callback.call(obj[i],i,obj[i]))break;return obj},trim:function(text){return null==text?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];return null!=arr&&(isArrayLike(Object(arr))?jQuery.merge(ret,"string"==typeof arr?[arr]:arr):push.call(ret,arr)),ret},inArray:function(elem,arr,i){var len;if(arr){if(indexOf)return indexOf.call(arr,elem,i);for(len=arr.length,i=i?i<0?Math.max(0,len+i):i:0;i<len;i++)if(i in arr&&arr[i]===elem)return i}return-1},merge:function(first,second){for(var len=+second.length,j=0,i=first.length;j<len;)first[i++]=second[j++];if(len!=len)for(;second[j]!==undefined;)first[i++]=second[j++];return first.length=i,first},grep:function(elems,callback,invert){for(var matches=[],i=0,length=elems.length,callbackExpect=!invert;i<length;i++)!callback(elems[i],i)!==callbackExpect&&matches.push(elems[i]);return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems))for(length=elems.length;i<length;i++)null!=(value=callback(elems[i],i,arg))&&ret.push(value);else for(i in elems)null!=(value=callback(elems[i],i,arg))&&ret.push(value);return concat.apply([],ret)},guid:1,proxy:function(fn,context){var args,proxy,tmp;return"string"==typeof context&&(tmp=fn[context],context=fn,fn=tmp),jQuery.isFunction(fn)?(args=slice.call(arguments,2),(proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))}).guid=fn.guid=fn.guid||jQuery.guid++,proxy):undefined},now:function(){return+new Date},support:support}),"function"==typeof Symbol&&(jQuery.fn[Symbol.iterator]=deletedIds[Symbol.iterator]),jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});var Sizzle=
17/*!
18 * Sizzle CSS Selector Engine v2.2.1
19 * http://sizzlejs.com/
20 *
21 * Copyright jQuery Foundation and other contributors
22 * Released under the MIT license
23 * http://jquery.org/license
24 *
25 * Date: 2015-10-17
26 */
27function(window){function Sizzle(selector,context,results,seed){var m,i,elem,nid,nidselect,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;if(results=results||[],"string"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if
vendor: 14,664 bytes, line 27
27(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(1!==nodeType)newContext=context,newSelector=selector;else if("object"!==context.nodeName.toLowerCase()){for((nid=context.getAttribute("id"))?nid=nid.replace(rescape,"\\$&"):context.setAttribute("id",nid=expando),i=(groups=tokenize(selector)).length,nidselect=ridentifier.test(nid)?"#"+nid:"[id='"+nid+"']";i--;)groups[i]=nidselect+" "+toSelector(groups[i]);newSelector=groups.join(","),newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}if(newSelector)try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){}finally{nid===expando&&context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){function cache(key,value){return keys.push(key+" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+" "]=value}var keys=[];return cache}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var div=document.createElement("div");try{return!!fn(div)}catch(e){return!1}finally{div.parentNode&&div.parentNode.removeChild(div),div=null}}function addHandle(attrs,handler){for(var arr=attrs.split("|"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||MAX_NEGATIVE)-(~a.sourceIndex||MAX_NEGATIVE);if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createInputPseudo(type){return function(elem){return"input"===elem.nodeName.toLowerCase()&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return("input"===name||"button"===name)&&elem.type===type}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&"undefined"!=typeof context.getElementsByTagName&&context}function setFilters(){}function toSelector(tokens){for(var i=0,len=tokens.length,selector="";i<len;i++)selector+=tokens[i].value;return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&"parentNode"===dir,doneName=done++;return combinator.first?function(elem,context,xml){for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)return matcher(elem,context,xml)}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){for(;elem=elem[dir];)if((1===elem.nodeType||checkNonElements)&&matcher(elem,context,xml))return!0}else for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements){if((oldCache=(uniqueCache=(outerCache=elem[expando]||(elem[expando]={}))[elem.uniqueID]||(outerCache[elem.uniqueID]={}))[dir])&&oldCache[0]===dirruns&&oldCache[1]===doneName)return newCache[2]=oldCache[2];if(uniqueCache[dir]=newCache,newCache[2]=matcher(elem,context,xml))return!0}}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){for(var i=matchers.length;i--;)if(!matchers[i](elem,context,xml))return!1;return!0}:matchers[0]}function multipleContexts(selector,contexts,results){for(var i=0,len=contexts.length;i<len;i++)Sizzle(selector,contexts[i],results);return results}function condense(unmatched,map,filter,context,xml){for(var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=null!=map;i<len;i++)(elem=unmatched[i])&&(filter&&!filter(elem,context,xml)||(newUnmatched.push(elem),mapped&&map.push(i)));return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){return postFilter&&!postFilter[expando]&&(postFilter=setMatcher(postFilter)),postFinder&&!postFinder[expando]&&(postFinder=setMatcher(postFinder,postSelector)),markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=!preFilter||!seed&&selector?elems:condense(elems,preMap,preFilter,context,xml),matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher&&matcher(matcherIn,matcherOut,context,xml),postFilter)for(temp=condense(matcherOut,postMap),postFilter(temp,[],context,xml),i=temp.length;i--;)(elem=temp[i])&&(matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem));if(seed){if(postFinder||preFilter){if(postFinder){for(temp=[],i=matcherOut.length;i--;)(elem=matcherOut[i])&&temp.push(matcherIn[i]=elem);postFinder(null,matcherOut=[],temp,xml)}for(i=matcherOut.length;i--;)(elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1&&(seed[temp]=!(results[temp]=elem))}}else matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut),postFinder?postFinder(null,results,matcherOut,xml):push.apply(results,matcherOut)})}function matcherFromTokens(tokens){for(var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,!0),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,!0),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));return checkContext=null,ret}];i<len;i++)if(matcher=Expr.relative[tokens[i].type])matchers=[addCombinator(elementMatcher(matchers),matcher)];else{if((matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches))[expando]){for(j=++i;j<len&&!Expr.relative[tokens[j].type];j++);return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:" "===tokens[i-2].type?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens(tokens=tokens.slice(j)),j<len&&toSelector(tokens))}matchers.push(matcher)}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find.TAG("*",outermost),dirrunsUnique=dirruns+=null==contextBackup?1:Math.random()||.1,len=elems.length;for(outermost&&(outermostContext=context===document||context||outermost);i!==len&&null!=(elem=elems[i]);i++){if(byElement&&elem){for(j=0,context||elem.ownerDocument===document||(setDocument(elem),xml=!documentIsHTML);matcher=elementMatchers[j++];)if(matcher(elem,context||document,xml)){results.push(elem);break}outermost&&(dirruns=dirrunsUnique)}bySet&&((elem=!matcher&&elem)&&matchedCount--,seed&&unmatched.push(elem))}if(matchedCount+=i,bySet&&i!==matchedCount){for(j=0;matcher=setMatchers[j++];)matcher(unmatched,setMatched,context,xml);if(seed){if(matchedCount>0)for(;i--;)unmatched[i]||setMatched[i]||(setMatched[i]=pop.call(results));setMatched=condense(setMatched)}push.apply(results,setMatched),outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1&&Sizzle.uniqueSort(results)}return outermost&&(dirruns=dirrunsUnique,outermostContext=contextBackup),unmatched};return bySet?markFunction(superMatcher):superMatcher}var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date,preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){return a===b&&(hasDuplicate=!0),0},MAX_NEGATIVE=1<<31,hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){for(var i=0,len=list.length;i<len;i++)if(list[i]===elem)return i;return-1},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",identifier="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|.*)\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,rescape=/'|\\/g,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!=high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},unloadHandler=function(){setDocument()};try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes),arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){for(var j=target.length,i=0;target[j++]=els[i++];);target.length=j-1}}}for(i in support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return!!documentElement&&"HTML"!==documentElement.nodeName},setDocument=Sizzle.setDocument=function(node){var hasCompare,parent,doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement?(docElem=(document=doc).documentElement,documentIsHTML=!isXML(document),(parent=document.defaultView)&&parent.top!==parent&&(parent.addEventListener?parent.addEventListener("unload",unloadHandler,!1):parent.attachEvent&&parent.attachEvent("onunload",unloadHandler)),support.attributes=assert(function(div){return div.className="i",!div.getAttribute("className")}),support.getElementsByTagName=assert(function(div){return div.appendChild(document.createComment("")),!div.getElementsByTagName("*").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(div){return docElem.appendChild(div).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.find.ID=function(id,context){if("undefined"!=typeof context.getElementById&&documentIsHTML){var m=context.getElementById(id);return m?[m]:[]}},Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}}):(delete Expr.find.ID,Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node="undefined"!=typeof elem.getAttributeNode&&elem.getAttributeNode("id");return node&&node.value===attrId}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return"undefined"!=typeof context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"===tag){for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp}return results},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){if("undefined"!=typeof context.getElementsByClassName&&documentIsHTML)return context.getElementsByClassName(className)},rbuggyMatches=[],rbuggyQSA=[],(support.qsa=rnative.test(document.querySelectorAll))&&(assert(function(div){docElem.appendChild(div).innerHTML="<a id='"+expando+"'></a><select id='"+expando+"-\r\\' msallowcapture=''><option selected=''></option></select>",div.querySelectorAll("[msallowcapture^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")"),div.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"),div.querySelectorAll("[id~="+expando+"-]").length||rbuggyQSA.push("~="),div.querySelectorAll(":checked").length||rbuggyQSA.push(":checked"),div.querySelectorAll("a#"+expando+"+*").length||rbuggyQSA.push(".#.+[+~]")}),assert(function(div){var input=document.createElement("input");input.setAttribute("type","hidden"),div.appendChild(input).setAttribute("name","D"),div.querySelectorAll("[name=d]").length&&rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?="),div.querySelectorAll(":enabled").length||rbuggyQSA.push(":enabled",":disabled"),div.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(div){support.disconnectedMatch=matches.call(div,"div"),matches.call(div,"[s!='']:x"),rbuggyMatches.push("!=",pseudos)}
vendor: 14,655 bytes, line 27
27),rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|")),rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|")),hasCompare=rnative.test(docElem.compareDocumentPosition),contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare||(1&(compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1)||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)?-1:b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,0;var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup)return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0},document):document},Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)},Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document&&setDocument(elem),expr=expr.replace(rattributeQuotes,"='$1']"),support.matchesSelector&&documentIsHTML&&!compilerCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr)))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&11!==elem.document.nodeType)return ret}catch(e){}return Sizzle(expr,document,null,[elem]).length>0},Sizzle.contains=function(context,elem){return(context.ownerDocument||context)!==document&&setDocument(context),contains(context,elem)},Sizzle.attr=function(elem,name){(elem.ownerDocument||elem)!==document&&setDocument(elem);var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):undefined;return val!==undefined?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null},Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)},Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;if(hasDuplicate=!support.detectDuplicates,sortInput=!support.sortStable&&results.slice(0),results.sort(sortOrder),hasDuplicate){for(;elem=results[i++];)elem===results[i]&&(j=duplicates.push(i));for(;j--;)results.splice(duplicates[j],1)}return sortInput=null,results},getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(nodeType){if(1===nodeType||9===nodeType||11===nodeType){if("string"==typeof elem.textContent)return elem.textContent;for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(3===nodeType||4===nodeType)return elem.nodeValue}else for(;node=elem[i++];)ret+=getText(node);return ret},(Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||"":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return"*"===nodeNameSelector?function(){return!0}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test("string"==typeof elem.className&&elem.className||"undefined"!=typeof elem.getAttribute&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:!operator||(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===operator?check&&result.indexOf(check)>-1:"$="===operator?check&&result.slice(-check.length)===check:"~="===operator?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:"|="===operator&&(result===check||result.slice(0,check.length+1)===check+"-"))}},CHILD:function(type,what,argument,first,last){var simple="nth"!==type.slice(0,3),forward="last"!==type.slice(-4),ofType="of-type"===what;return 1===first&&0===last?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=!1;if(parent){if(simple){for(;dir;){for(node=elem;node=node[dir];)if(ofType?node.nodeName.toLowerCase()===name:1===node.nodeType)return!1;start=dir="only"===type&&!start&&"nextSibling"}return!0}if(start=[forward?parent.firstChild:parent.lastChild],forward&&useCache){for(diff=(nodeIndex=(cache=(uniqueCache=(outerCache=(node=parent)[expando]||(node[expando]={}))[node.uniqueID]||(outerCache[node.uniqueID]={}))[type]||[])[0]===dirruns&&cache[1])&&cache[2],node=nodeIndex&&parent.childNodes[nodeIndex];node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop();)if(1===node.nodeType&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}else if(useCache&&(diff=nodeIndex=(cache=(uniqueCache=(outerCache=(node=elem)[expando]||(node[expando]={}))[node.uniqueID]||(outerCache[node.uniqueID]={}))[type]||[])[0]===dirruns&&cache[1]),!1===diff)for(;(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())&&((ofType?node.nodeName.toLowerCase()!==name:1!==node.nodeType)||!++diff||(useCache&&((uniqueCache=(outerCache=node[expando]||(node[expando]={}))[node.uniqueID]||(outerCache[node.uniqueID]={}))[type]=[dirruns,diff]),node!==elem)););return(diff-=last)===first||diff%first==0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);return fn[expando]?fn(argument):fn.length>1?(args=[pseudo,pseudo,"",argument],Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){for(var idx,matched=fn(seed,argument),i=matched.length;i--;)seed[idx=indexOf(seed,matched[i])]=!(matches[idx]=matched[i])}):function(elem){return fn(elem,0,args)}):fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){for(var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;i--;)(elem=unmatched[i])&&(seed[i]=!(matches[i]=elem))}):function(elem,context,xml){return input[0]=elem,matcher(input,null,xml,results),input[0]=null,!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){return text=text.replace(runescape,funescape),function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){return ridentifier.test(lang||"")||Sizzle.error("unsupported lang: "+lang),lang=lang.replace(runescape,funescape).toLowerCase(),function(elem){var elemLang;do{if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))return(elemLang=elemLang.toLowerCase())===lang||0===elemLang.indexOf(lang+"-")}while((elem=elem.parentNode)&&1===elem.nodeType);return!1}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:function(elem){return!1===elem.disabled},disabled:function(elem){return!0===elem.disabled},checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return"input"===nodeName&&!!elem.checked||"option"===nodeName&&!!elem.selected},selected:function(elem){return elem.parentNode&&elem.parentNode.selectedIndex,!0===elem.selected},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeType<6)return!1;return!0},parent:function(elem){return!Expr.pseudos.empty(elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return"input"===name&&"button"===elem.type||"button"===name},text:function(elem){var attr;return"input"===elem.nodeName.toLowerCase()&&"text"===elem.type&&(null==(attr=elem.getAttribute("type"))||"text"===attr.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){for(var i=0;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){for(var i=1;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;--i>=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;++i<length;)matchIndexes.push(i);return matchIndexes})}}).pseudos.nth=Expr.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Expr.pseudos[i]=createInputPseudo(i);for(i in{submit:!0,reset:!0})Expr.pseudos[i]=createButtonPseudo(i);return setFilters.prototype=Expr.filters=Expr.pseudos,Expr.setFilters=new setFilters,tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached)return parseOnly?0:cached.slice(0);for(soFar=selector,groups=[],preFilters=Expr.preFilter;soFar;){for(type in matched&&!(match=rcomma.exec(soFar))||(match&&(soFar=soFar.slice(match[0].length)||soFar),groups.push(tokens=[])),matched=!1,(match=rcombinators.exec(soFar))&&(matched=match.shift(),tokens.push({value:matched,type:match[0].replace(rtrim," ")}),soFar=soFar.slice(matched.length)),Expr.filter)!(match=matchExpr[type].exec(soFar))||preFilters[type]&&!(match=preFilters[type](match))||(matched=match.shift(),tokens.push({value:matched,type:type,matches:match}),soFar=soFar.slice(matched.length));if(!matched)break}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)},compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){for(match||(match=tokenize(selector)),i=match.length;i--;)(cached=matcherFromTokens(match[i]))[expando]?setMatchers.push(cached):elementMatchers.push(cached);(cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers))).selector=selector}return cached},select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled="function"==typeof selector&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);if(results=results||[],1===match.length){if((tokens=match[0]=match[0].slice(0)).length>2&&"ID"===(token=tokens[0]).type&&support.getById&&9===context.nodeType&&documentIsHTML&&Expr.relative[tokens[1].type]){if(!(context=(Expr.find.ID(token.matches[0].replace(runescape,funescape),context)||[])[0]))return results;compiled&&(context=context.parentNode),selector=selector.slice(tokens.shift().value.length)}for(i=matchExpr.needsContext.test(selector)?0:tokens.length;i--&&(token=tokens[i],!Expr.relative[type=token.type]);)if((find=Expr.find[type])&&(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){if(tokens.splice(i,1),!(selector=seed.length&&toSelector(tokens)))return push.apply(results,seed),results;break}}return(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context),results},support.sortStable=expando.split("").sort(sortOrder).join("")===expando,support.detectDuplicates=!!hasDuplicate,setDocument(),support.sortDetached=assert(function(div1){return 1&div1.compareDocumentPosition(document.createElement("div"))}),assert(function(div){return div.innerHTML="<a href='#'></a>","#"===div.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML)return elem.getAttribute(name,"type"===name.toLowerCase()?1:2)}),support.attributes&&assert(function(div){return div.innerHTML="<input/>",div.firstChild.setAttribute("value",""),""===div.firstChild.getAttribute("value")})||addHandle("value",function(elem,name,isXML){if(!isXML&&"input"===elem.nodeName.toLowerCase())return elem.defaultValue}),assert(function(div){return null==div.getAttribute("disabled")})||addHandle(booleans,function(elem,name,isXML){var val;if(!isXML)return!0===elem[name]?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}),Sizzle}(window);
27jQuery.find=Sizzle,jQuery.expr=Sizzle.selectors,jQuery.expr[":"]=jQuery.expr.pseudos,jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort,jQuery.text=Sizzle.getText,jQuery.isXMLDoc=Sizzle.isXML,jQuery.contains=Sizzle.contains;var dir=function(elem,dir,until){for(var matched=[],truncate=until!==undefined;(elem=elem[dir])&&9!==elem.nodeType;)if(1===elem.nodeType){if(truncate&&jQuery(elem).is(until))break;matched.push(elem)}return matched},siblings=function(n,elem){for(var matched=[];n;n=n.nextSibling)1===n.nodeType&&n!==elem&&matched.push(n);return matched},rneedsContext=jQuery.expr.match.needsContext,rsingleTag=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,risSimple=/^.[^:#\[\.,]*$/;jQuery.filter=function(expr,elems,not){var elem=elems[0];return not&&(expr=":not("+expr+")"),1===elems.length&&1===elem.nodeType?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return 1===elem.nodeType}))},jQuery.fn.extend({find:function(selector){var i,ret=[],self=this,len=self.length;if("string"!=typeof selector)return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++)if(jQuery.contains(self[i],this))return!0}));for(i=0;i<len;i++)jQuery.find(selector,self[i],ret);return(ret=this.pushStack(len>1?jQuery.unique(ret):ret)).selector=this.selector?this.selector+" "+selector:selector,ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],!1))},not:function(selector){return this.pushStack(winnow(this,selector||[],!0))},is:function(selector){return!!winnow(this,"string"==typeof selector&&rneedsContext.test(selector)?jQuery(selector):selector||[],!1).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,"string"==typeof selector){if(!(match="<"===selector.charAt(0)&&">"===selector.charAt(selector.length-1)&&selector.length>=3?[null,selector,null]:rquickExpr.exec(selector))||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);
vendor: 7,738 bytes, lines 27-28
27if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)jQuery.isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}if((elem=document.getElementById(match[2]))&&elem.parentNode){if(elem.id!==match[2])return rootjQuery.find(selector);this.length=1,this[0]=elem}return this.context=document,this.selector=selector,this}return selector.nodeType?(this.context=this[0]=selector,this.length=1,this):jQuery.isFunction(selector)?"undefined"!=typeof root.ready?root.ready(selector):selector(jQuery):(selector.selector!==undefined&&(this.selector=selector.selector,
28this.context=selector.context),jQuery.makeArray(selector,this))}).prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};jQuery.fn.extend({has:function(target){var i,targets=jQuery(target,this),len=targets.length;return this.filter(function(){for(i=0;i<len;i++)if(jQuery.contains(this,targets[i]))return!0})},closest:function(selectors,context){for(var cur,i=0,l=this.length,matched=[],pos=rneedsContext.test(selectors)||"string"!=typeof selectors?jQuery(selectors,context||this.context):0;i<l;i++)for(cur=this[i];cur&&cur!==context;cur=cur.parentNode)if(cur.nodeType<11&&(pos?pos.index(cur)>-1:1===cur.nodeType&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched)},index:function(elem){return elem?"string"==typeof elem?jQuery.inArray(this[0],jQuery(elem)):jQuery.inArray(elem.jquery?elem[0]:elem,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}}),jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&11!==parent.nodeType?parent:null},parents:function(elem){return dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return dir(elem,"nextSibling")},prevAll:function(elem){return dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return dir(elem,"previousSibling",until)},siblings:function(elem){return siblings((elem.parentNode||{}).firstChild,elem)},children:function(elem){return siblings(elem.firstChild)},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.merge([],elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until);return"Until"!==name.slice(-5)&&(selector=until),selector&&"string"==typeof selector&&(ret=jQuery.filter(selector,ret)),this.length>1&&(guaranteedUnique[name]||(ret=jQuery.uniqueSort(ret)),rparentsprev.test(name)&&(ret=ret.reverse())),this.pushStack(ret)}});var readyList,i,rnotwhite=/\S+/g;for(i in jQuery.Callbacks=function(options){options="string"==typeof options?createOptions(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){for(locked=options.once,fired=firing=!0;queue.length;firingIndex=-1)for(memory=queue.shift();++firingIndex<list.length;)!1===list[firingIndex].apply(memory[0],memory[1])&&options.stopOnFalse&&(firingIndex=list.length,memory=!1);options.memory||(memory=!1),firing=!1,locked&&(list=memory?[]:"")},self={add:function(){return list&&(memory&&!firing&&(firingIndex=list.length-1,queue.push(memory)),function add(args){jQuery.each(args,function(_,arg){jQuery.isFunction(arg)?options.unique&&self.has(arg)||list.push(arg):arg&&arg.length&&"string"!==jQuery.type(arg)&&add(arg)})}(arguments),memory&&!firing&&fire()),this},remove:function(){return jQuery.each(arguments,function(_,arg){for(var index;(index=jQuery.inArray(arg,list,index))>-1;)list.splice(index,1),index<=firingIndex&&firingIndex--}),this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0},empty:function(){return list&&(list=[]),this},disable:function(){return locked=queue=[],list=memory="",this},disabled:function(){return!list},lock:function(){return locked=!0,memory||self.disable(),this},locked:function(){return!!locked},fireWith:function(context,args){return locked||(args=[context,(args=args||[]).slice?args.slice():args],queue.push(args),firing||fire()),this},fire:function(){return self.fireWith(this,arguments),this},fired:function(){return!!fired}};return self},jQuery.extend({Deferred:function(func){var tuples=[["resolve","done",jQuery.Callbacks("once memory"),"resolved"],["reject","fail",jQuery.Callbacks("once memory"),"rejected"],["notify","progress",jQuery.Callbacks("memory")]],state="pending",promise={state:function(){return state},always:function(){return deferred.done(arguments).fail(arguments),this},then:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[i])&&fns[i];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);returned&&jQuery.isFunction(returned.promise)?returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject):newDefer[tuple[0]+"With"](this===promise?newDefer.promise():this,fn?[returned]:arguments)})}),fns=null}).promise()},promise:function(obj){return null!=obj?jQuery.extend(obj,promise):promise}},deferred={};return promise.pipe=promise.then,jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];promise[tuple[1]]=list.add,stateString&&list.add(function(){state=stateString},tuples[1^i][2].disable,tuples[2][2].lock),deferred[tuple[0]]=function(){return deferred[tuple[0]+"With"](this===deferred?promise:this,arguments),this},deferred[tuple[0]+"With"]=list.fireWith}),promise.promise(deferred),func&&func.call(deferred,deferred),deferred},when:function(subordinate){var progressValues,progressContexts,resolveContexts,i=0,resolveValues=slice.call(arguments),length=resolveValues.length,remaining=1!==length||subordinate&&jQuery.isFunction(subordinate.promise)?length:0,deferred=1===remaining?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){return function(value){contexts[i]=this,values[i]=arguments.length>1?slice.call(arguments):value,values===progressValues?deferred.notifyWith(contexts,values):--remaining||deferred.resolveWith(contexts,values)}};if(length>1)for(progressValues=new Array(length),progressContexts=new Array(length),resolveContexts=new Array(length);i<length;i++)resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)?resolveValues[i].promise().progress(updateFunc(i,progressContexts,progressValues)).done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject):--remaining;return remaining||deferred.resolveWith(resolveContexts,resolveValues),deferred.promise()}}),jQuery.fn.ready=function(fn){return jQuery.ready.promise().done(fn),this},jQuery.extend({isReady:!1,readyWait:1,holdReady:function(hold){hold?jQuery.readyWait++:jQuery.ready(!0)},ready:function(wait){(!0===wait?--jQuery.readyWait:jQuery.isReady)||(jQuery.isReady=!0,!0!==wait&&--jQuery.readyWait>0||(readyList.resolveWith(document,[jQuery]),jQuery.fn.triggerHandler&&(jQuery(document).triggerHandler("ready"),jQuery(document).off("ready"))))}}
28),jQuery.ready.promise=function(obj){if(!readyList)if(readyList=jQuery.Deferred(),"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll)window.setTimeout(jQuery.ready);else if(document.addEventListener)document.addEventListener("DOMContentLoaded",completed),window.addEventListener("load",completed);else{document.attachEvent("onreadystatechange",completed),window.attachEvent("onload",completed);var top=!1;try{top=null==window.frameElement&&document.documentElement}catch(e){}top&&top.doScroll&&function doScrollCheck(){if(!jQuery.isReady){try{top.doScroll("left")}catch(e){return window.setTimeout(doScrollCheck,50)}detach(),jQuery.ready()}}()}return readyList.promise(obj)},jQuery.ready.promise(),jQuery(support))break;support.ownFirst="0"===i,support.inlineBlockNeedsLayout=!1,jQuery(function(){var val,div,body,container;(body=document.getElementsByTagName("body")[0])&&body.style&&(div=document.createElement("div"),(container=document.createElement("div")).style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",body.appendChild(container).appendChild(div),"undefined"!=typeof div.style.zoom&&(div.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",support.inlineBlockNeedsLayout=val=3===div.offsetWidth,val&&(body.style.zoom=1)),body.removeChild(container))}),function(){var div=document.createElement("div");support.deleteExpando=!0;try{delete div.test}catch(e){support.deleteExpando=!1}div=null}();var shrinkWrapBlocksVal,acceptData=function(elem){var noData=jQuery.noData[(elem.nodeName+" ").toLowerCase()],nodeType=+elem.nodeType||1;return(1===nodeType||9===nodeType)&&(!noData||!0!==noData&&elem.getAttribute("classid")===noData)},rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/([A-Z])/g;jQuery.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(elem){return!!(elem=elem.nodeType?jQuery.cache[elem[jQuery.expando]]:elem[jQuery.expando])&&!isEmptyDataObject(elem)},data:function(elem,name,data){return internalData(elem,name,data)},removeData:function(elem,name){return internalRemoveData(elem,name)},_data:function(elem,name,data){return internalData(elem,name,data,!0)},_removeData:function(elem,name){return internalRemoveData(elem,name,!0)}}),jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(key===undefined){if(this.length&&(data=jQuery.data(elem),1===elem.nodeType&&!jQuery._data(elem,"parsedAttrs"))){for(i=attrs.length;i--;)attrs[i]&&0===(name=attrs[i].name).indexOf("data-")&&dataAttr(elem,name=jQuery.camelCase(name.slice(5)),data[name]);jQuery._data(elem,"parsedAttrs",!0)}return data}return"object"==typeof key?this.each(function(){jQuery.data(this,key)}):arguments.length>1?this.each(function(){jQuery.data(this,key,value)}):elem?dataAttr(elem,key,jQuery.data(elem,key)):undefined},removeData:function(key){return this.each(function(){jQuery.removeData(this,key)})}}),jQuery.extend({queue:function(elem,type,data){var queue;if(elem)return type=(type||"fx")+"queue",queue=jQuery._data(elem,type),data&&(!queue||jQuery.isArray(data)?queue=jQuery._data(elem,type,jQuery.makeArray(data)):queue.push(data)),queue||[]},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};"inprogress"===fn&&(fn=queue.shift(),startLength--),fn&&("fx"===type&&queue.unshift("inprogress"),delete hooks.stop,fn.call(elem,next,hooks)),!startLength&&hooks&&hooks.empty.fire()},_queueHooks:function(elem,type){var key=type+"queueHooks";return jQuery._data(elem,key)||jQuery._data(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){jQuery._removeData(elem,type+"queue"),jQuery._removeData(elem,key)})})}}),jQuery.fn.extend({queue:function(type,data){var setter=2;return"string"!=typeof type&&(data=type,type="fx",setter--),arguments.length<setter?jQuery.queue(this[0],type):data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type),"fx"===type&&"inprogress"!==queue[0]&&jQuery.dequeue(this,type)})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){--count||defer.resolveWith(elements,[elements])};for("string"!=typeof type&&(obj=type,type=undefined),type=type||"fx";i--;)(tmp=jQuery._data(elements[i],type+"queueHooks"))&&tmp.empty&&(count++,tmp.empty.add(resolve));return resolve(),defer.promise(obj)}}),support.shrinkWrapBlocks=function(){return null!=shrinkWrapBlocksVal?shrinkWrapBlocksVal:(shrinkWrapBlocksVal=!1,(body=document.getElementsByTagName("body")[0])&&body.style?(div=document.createElement("div"),(container=document.createElement("div")).style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",body.appendChild(container).appendChild(div),"undefined"!=typeof div.style.zoom&&(div.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",div.appendChild(document.createElement("div")).style.width="5px",shrinkWrapBlocksVal=3!==div.offsetWidth),body.removeChild(container),shrinkWrapBlocksVal):void 0);var div,body,container};var div,fragment,input,pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),cssExpand=["Top","Right","Bottom","Left"],isHidden=function(elem,el){return elem=el||elem,"none"===jQuery.css(elem,"display")||!jQuery.contains(elem.ownerDocument,elem)},access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,length=elems.length,bulk=null==key;if("object"===jQuery.type(key))for(i in chainable=!0,key)access(elems,fn,i,key[i],!0,emptyGet,raw);else if(value!==undefined&&(chainable=!0,jQuery.isFunction(value)||(raw=!0),bulk&&
vendor: 2,339 bytes, line 28
28(raw?(fn.call(elems,value),fn=null):(bulk=fn,fn=function(elem,key,value){return bulk.call(jQuery(elem),value)})),fn))for(;i<length;i++)fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));return chainable?elems:bulk?fn.call(elems):length?fn(elems[0],key):emptyGet},rcheckableType=/^(?:checkbox|radio)$/i,rtagName=/<([\w:-]+)/,rscriptType=/^$|\/(?:java|ecma)script/i,rleadingWhitespace=/^\s+/,nodeNames="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";div=document.createElement("div"),fragment=document.createDocumentFragment(),input=document.createElement("input"),div.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",support.leadingWhitespace=3===div.firstChild.nodeType,support.tbody=!div.getElementsByTagName("tbody").length,support.htmlSerialize=!!div.getElementsByTagName("link").length,support.html5Clone="<:nav></:nav>"!==document.createElement("nav").cloneNode(!0).outerHTML,input.type="checkbox",input.checked=!0,fragment.appendChild(input),support.appendChecked=input.checked,div.innerHTML="<textarea>x</textarea>",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue,fragment.appendChild(div),(input=document.createElement("input")).setAttribute("type","radio"),input.setAttribute("checked","checked"),input.setAttribute("name","t"),div.appendChild(input),support.checkClone=div.cloneNode(!0).cloneNode(!0).lastChild.checked,support.noCloneEvent=!!div.addEventListener,div[jQuery.expando]=1,support.attributes=!div.getAttribute(jQuery.expando);var wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var rhtml=/<|&#?\w+;/,rtbody=/<tbody/i;!function(){var i,eventName,div=document.createElement("div");for(i in{submit:!0,change:!0,focusin:!0}
28)eventName="on"+i,(support[i]=eventName in window)||(div.setAttribute(eventName,"t"),support[i]=!1===div.attributes[eventName].expando);div=null}();var rformElems=/^(?:input|select|textarea)$/i,rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;jQuery.event={global:{},add:function(elem,types,handler,data,selector){var tmp,events,t,handleObjIn,special,eventHandle,handleObj,handlers,type,namespaces,origType,elemData=jQuery._data(elem);if(elemData){for(handler.handler&&(handler=(handleObjIn=handler).handler,selector=handleObjIn.selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||((eventHandle=elemData.handle=function(e){return void 0===jQuery||e&&jQuery.event.triggered===e.type?undefined:jQuery.event.dispatch.apply(eventHandle.elem,arguments)}).elem=elem),t=(types=(types||"").match(rnotwhite)||[""]).length;t--;)type=origType=(tmp=rtypenamespace.exec(types[t])||[])[1],namespaces=(tmp[2]||"").split(".").sort(),type&&(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,special=jQuery.event.special[type]||{},handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn),(handlers=events[type])||((handlers=events[type]=[]).delegateCount=0,special.setup&&!1!==special.setup.call(elem,data,namespaces,eventHandle)||(elem.addEventListener?elem.addEventListener(type,eventHandle,!1):elem.attachEvent&&elem.attachEvent("on"+type,eventHandle))),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0);elem=null}},remove:function(elem,types,handler,selector,mappedTypes){var j,handleObj,tmp,origCount,t,events,special,handlers,type,namespaces,origType,elemData=jQuery.hasData(elem)&&jQuery._data(elem);if(elemData&&(events=elemData.events)){for(t=(types=(types||"").match(rnotwhite)||[""]).length;t--;)if(type=origType=(tmp=rtypenamespace.exec(types[t])||[])[1],namespaces=(tmp[2]||"").split(".").sort(),type){for(special=jQuery.event.special[type]||{},handlers=events[type=(selector?special.delegateType:special.bindType)||type]||[],tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!mappedTypes&&origType!==handleObj.origType||handler&&handler.guid!==handleObj.guid||tmp&&!tmp.test(handleObj.namespace)||selector&&selector!==handleObj.selector&&("**"!==selector||!handleObj.selector)||(handlers.splice(j,1),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&!1!==special.teardown.call(elem,namespaces,elemData.handle)||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);jQuery.isEmptyObject(events)&&(delete elemData.handle,jQuery._removeData(elem,"events"))}},trigger:function(event,data,elem,onlyHandlers){var handle,ontype,cur,bubbleType,special,tmp,i,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];if(cur=tmp=elem=elem||document,3!==elem.nodeType&&8!==elem.nodeType&&!rfocusMorph.test(type+jQuery.event.triggered)&&(type.indexOf(".")>-1&&(type=(namespaces=type.split(".")).shift(),namespaces.sort()),ontype=type.indexOf(":")<0&&"on"+type,(event=event[jQuery.expando]?event:new jQuery.Event(type,"object"==typeof event&&event)).isTrigger=onlyHandlers?2:3,event.namespace=namespaces.join("."),event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,event.result=undefined,event.target||(event.target=elem),data=null==data?[event]:jQuery.makeArray(data,[event]),special=jQuery.event.special[type]||{},onlyHandlers||!special.trigger||!1!==special.trigger.apply(elem,data))){if(!onlyHandlers&&!special.noBubble&&!j
28Query.isWindow(elem)){for(bubbleType=special.delegateType||type,rfocusMorph.test(bubbleType+type)||(cur=cur.parentNode);cur;cur=cur.parentNode)eventPath.push(cur),tmp=cur;tmp===(elem.ownerDocument||document)&&eventPath.push(tmp.defaultView||tmp.parentWindow||window)}for(i=0;(cur=eventPath[i++])&&!event.isPropagationStopped();)event.type=i>1?bubbleType:special.bindType||type,(handle=(jQuery._data(cur,"events")||{})[event.type]&&jQuery._data(cur,"handle"))&&handle.apply(cur,data),(handle=ontype&&cur[ontype])&&handle.apply&&acceptData(cur)&&(event.result=handle.apply(cur,data),!1===event.result&&event.preventDefault());if(event.type=type,!onlyHandlers&&!event.isDefaultPrevented()&&(!special._default||!1===special._default.apply(eventPath.pop(),data))&&acceptData(elem)&&ontype&&elem[type]&&!jQuery.isWindow(elem)){(tmp=elem[ontype])&&(elem[ontype]=null),jQuery.event.triggered=type;try{elem[type]()}catch(e){}jQuery.event.triggered=undefined,tmp&&(elem[ontype]=tmp)}return event.result}},dispatch:function(event){event=jQuery.event.fix(event);var i,j,ret,matched,handleObj,handlerQueue=[],args=slice.call(arguments),handlers=(jQuery._data(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};if(args[0]=event,event.delegateTarget=this,!special.preDispatch||!1!==special.preDispatch.call(this,event)){for(handlerQueue=jQuery.event.handlers.call(this,event,handlers),i=0;(matched=handlerQueue[i++])&&!event.isPropagationStopped();)for(event.currentTarget=matched.elem,j=0;(handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped();)event.rnamespace&&!event.rnamespace.test(handleObj.namespace)||(event.handleObj=handleObj,event.data=handleObj.data,(ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args))!==undefined&&!1===(event.result=ret)&&(event.preventDefault(),event.stopPropagation()));return special.postDispatch&&special.postDispatch.call(this,event),event.result}},handlers:function(event,handlers){var i,matches,sel,handleObj,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&("click"!==event.type||isNaN(event.button)||event.button<1))for(;cur!=this;cur=cur.parentNode||this)if(1===cur.nodeType&&(!0!==cur.disabled||"click"!==event.type)){for(matches=[],i=0;i<delegateCount;i++)matches[sel=(handleObj=handlers[i]).selector+" "]===undefined&&(matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length),matches[sel]&&matches.push(handleObj);matches.length&&handlerQueue.push({elem:cur,handlers:matches})}return delegateCount<handlers.length&&handlerQueue.push({elem:this,handlers:handlers.slice(delegateCount)}),handlerQueue},fix:function(event){if(event[jQuery.expando])return event;var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];for(fixHook||(this.fixHooks[type]=fixHook=rmouseEvent.test(type)?this.mouseHooks:rkeyEvent.test(type)?this.keyHooks:{}),copy=fixHook.props?this.props.concat(fixHook.props):this.props,event=new jQuery.Event(originalEvent),i=copy.length;i--;)event[prop=copy[i]]=originalEvent[prop];return event.target||(event.target=originalEvent.srcElement||document),3===event.target.nodeType&&(event.target=event.target.parentNode),event.metaKey=!!event.metaKey,fixHook.filter?fixHook.filter(event,originalEvent):event},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){return null==event.which&&(event.which=null!=original.charCode?original.charCode:original.keyCode),event}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(event,original){var body,eventDoc,doc,button=original.button,fromElement=original.fromElement;return null==event.pageX&&null!=original.clientX&&(doc=(eventDoc=event.target.ownerDocument||document).documentElement,body=eventDoc.body,event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0),event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)),!event.relatedTarget&&fromElement&&(event.relatedTarget=fromElement===event.target?original.toElement:fromElement),event.which||button===undefined||(event.which=1&button?1:2&button?3:4&button?2:0),event}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if(jQuery.nodeName(this,"input")&&"checkbox"===this.type&&this.click)return this.click(),!1},_default:function(event){return jQuery.nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){event.result!==undefined&&event.originalEvent&&(event.originalEvent.returnValue=event.result)}}},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:!0});jQuery.event.trigger(e,null,elem),e.isDefaultPrevented()&&event.preventDefault()}},jQuery.removeEvent=document.removeEventListener?function(elem,type,handle){elem.removeEventListener&&elem.removeEventListener(type,handle)}:function(elem,type,handle){var name="on"+type;elem.detachEvent&&("undefined"==typeof elem[name]&&(elem[name]=null),elem.detachEvent(name,handle))},jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event))return new jQuery.Event(src,props);src&&src.type?(this.originalEvent=src,this.type=src.type,this.isDefaultPrevented=src.defaultPrevented||src.defaultPrevented===undefined&&!1===src.returnValue?returnTrue:returnFalse):this.type=src,props&&jQuery.extend(this,props),this.timeStamp=src&&src.timeStamp||jQuery.now(),this[jQuery.expando]=!0},jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&!this.isSimulated&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}}
vendor: 5,175 bytes, line 28
28,jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;return related&&(related===target||jQuery.contains(target,related))||(event.type=handleObj.origType,ret=handleObj.handler.apply(this,arguments),event.type=fix),ret}}}),support.submit||(jQuery.event.special.submit={setup:function(){if(jQuery.nodeName(this,"form"))return!1;jQuery.event.add(this,"click._submit keypress._submit",function(e){var elem=e.target,form=jQuery.nodeName(elem,"input")||jQuery.nodeName(elem,"button")?jQuery.prop(elem,"form"):undefined;form&&!jQuery._data(form,"submit")&&(jQuery.event.add(form,"submit._submit",function(event){event._submitBubble=!0}),jQuery._data(form,"submit",!0))})},postDispatch:function(event){event._submitBubble&&(delete event._submitBubble,this.parentNode&&!event.isTrigger&&jQuery.event.simulate("submit",this.parentNode,event))},teardown:function(){if(jQuery.nodeName(this,"form"))return!1;jQuery.event.remove(this,"._submit")}}),support.change||(jQuery.event.special.change={setup:function(){if(rformElems.test(this.nodeName))return"checkbox"!==this.type&&"radio"!==this.type||(jQuery.event.add(this,"propertychange._change",function(event){"checked"===event.originalEvent.propertyName&&(this._justChanged=!0)}),jQuery.event.add(this,"click._change",function(event){this._justChanged&&!event.isTrigger&&(this._justChanged=!1),jQuery.event.simulate("change",this,event)})),!1;jQuery.event.add(this,"beforeactivate._change",function(e){var elem=e.target;rformElems.test(elem.nodeName)&&!jQuery._data(elem,"change")&&(jQuery.event.add(elem,"change._change",function(event){!this.parentNode||event.isSimulated||event.isTrigger||jQuery.event.simulate("change",this.parentNode,event)}),jQuery._data(elem,"change",!0))})},handle:function(event){var elem=event.target;if(this!==elem||event.isSimulated||event.isTrigger||"radio"!==elem.type&&"checkbox"!==elem.type)return event.handleObj.handler.apply(this,arguments)},teardown:function(){return jQuery.event.remove(this,"._change"),!rformElems.test(this.nodeName)}}),support.focusin||jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event))};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=jQuery._data(doc,fix);attaches||doc.addEventListener(orig,handler,!0),jQuery._data(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=jQuery._data(doc,fix)-1;attaches?jQuery._data(doc,fix,attaches):(doc.removeEventListener(orig,handler,!0),jQuery._removeData(doc,fix))}}}),jQuery.fn.extend({on:function(types,selector,data,fn){return on(this,types,selector,data,fn)},one:function(types,selector,data,fn){return on(this,types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj)return handleObj=types.handleObj,jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler),this;if("object"==typeof types){for(type in types)this.off(type,selector,types[type]);return this}return!1!==selector&&"function"!=typeof selector||(fn=selector,selector=undefined),!1===fn&&(fn=returnFalse),this.each(function(){jQuery.event.remove(this,types,fn,selector)})},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];if(elem)return jQuery.event.trigger(type,data,elem,!0)}});var rinlinejQuery=/ jQuery\d+="(?:null|\d+)"/g,rnoshimcache=new RegExp("<(?:"+nodeNames+")[\\s/>]","i"),rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,fragmentDiv=createSafeFragment(document).appendChild(document.createElement("div"));jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,"<$1></$2>")},clone:function(elem,dataAndEvents,deepDataAndEvents){var destElements,node,clone,i,srcElements,inPage=jQuery.contains(elem.ownerDocument,elem);if(support.html5Clone||jQuery.isXMLDoc(elem)||!rnoshimcache.test("<"+elem.nodeName+">")?clone=elem.cloneNode(!0):(fragmentDiv.innerHTML=elem.outerHTML,fragmentDiv.removeChild(clone=fragmentDiv.firstChild)),!(support.noCloneEvent&&support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),srcElements=getAll(elem),i=0;null!=(node=srcElements[i]);++i)destElements[i]&&fixCloneNodeIssues(node,destElements[i]);if(dataAndEvents)if(deepDataAndEvents)for(srcElements=srcElements||getAll(elem),destElements=destElements||getAll(clone),i=0;null!=(node=srcElements[i]);i++)cloneCopyEvent(node,destElements[i]);else cloneCopyEvent(elem,clone);return(destElements=getAll(clone,"script")).length>
280&&setGlobalEval(destElements,!inPage&&getAll(elem,"script")),destElements=srcElements=node=null,clone},cleanData:function(elems,forceAcceptData){for(var elem,type,id,data,i=0,internalKey=jQuery.expando,cache=jQuery.cache,attributes=support.attributes,special=jQuery.event.special;null!=(elem=elems[i]);i++)if((forceAcceptData||acceptData(elem))&&(data=(id=elem[internalKey])&&cache[id])){if(data.events)for(type in data.events)special[type]?jQuery.event.remove(elem,type):jQuery.removeEvent(elem,type,data.handle);cache[id]&&(delete cache[id],attributes||"undefined"==typeof elem.removeAttribute?elem[internalKey]=undefined:elem.removeAttribute(internalKey),deletedIds.push(id))}}}),jQuery.fn.extend({domManip:domManip,detach:function(selector){return remove(this,selector,!0)},remove:function(selector){return remove(this,selector)},text:function(value){return access(this,function(value){return value===undefined?jQuery.text(this):this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(value))},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){
291!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||manipulationTarget(this,elem).appendChild(elem)})},prepend:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this)})},after:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this.nextSibling)})},empty:function(){for(var elem,i=0;null!=(elem=this[i]);i++){for(1===elem.nodeType&&jQuery.cleanData(getAll(elem,!1));elem.firstChild;)elem.removeChild(elem.firstChild);elem.options&&jQuery.nodeName(elem,"select")&&(elem.options.length=0)}return this},clone:function(dataAndEvents,deepDataAndEvents){return dataAndEvents=null!=dataAndEvents&&dataAndEvents,deepDataAndEvents=null==deepDataAndEvents?dataAndEvents:deepDataAndEvents,this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined)return 1===elem.nodeType?elem.innerHTML.replace(rinlinejQuery,""):undefined;if("string"==typeof value&&!rnoInnerhtml.test(value)&&(support.htmlSerialize||!rnoshimcache.test(value))&&(support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[
29(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++)1===(elem=this[i]||{}).nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.innerHTML=value);elem=0}catch(e){}}elem&&this.empty().append(value)},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;jQuery.inArray(this,ignored)<0&&(jQuery.cleanData(getAll(this)),parent&&parent.replaceChild(elem,this))},ignored)}}),jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){for(var elems,i=0,ret=[],insert=jQuery(selector),last=insert.length-1;i<=last;i++)elems=i===last?this:this.clone(!0),jQuery(insert[i])[original](elems),push.apply(ret,elems.get());return this.pushStack(ret)}});var iframe,elemdisplay={HTML:"block",BODY:"block"},rmargin=/^margin/,rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i"),swap=function(elem,options,callback,args){var ret,name,old={};for(name in options)old[name]=elem.style[name],elem.style[name]=options[name];for(name in ret=callback.apply(elem,args||[]),options)elem.style[name]=old[name];return ret},documentElement=document.documentElement;!function(){function computeStyleTests(){var contents,divStyle,documentElement=document.documentElement;documentElement.appendChild(container),div.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",pixelPositionVal=boxSizingReliableVal=reliableMarginLeftVal=!1,pixelMarginRightVal=reliableMarginRightVal=!0,window.getComputedStyle&&(divStyle=window.getComputedStyle(div),pixelPositionVal="1%"!==(divStyle||{}).top,reliableMarginLeftVal="2px"===(divStyle||{}).marginLeft,boxSizingReliableVal="4px"===(divStyle||{width:"4px"}).width,div.style.marginRight="50%",pixelMarginRightVal="4px"===(divStyle||{marginRight:"4px"}).marginRight,(contents=div.appendChild(document.createElement("div"))).style.cssText=div.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",contents.style.marginRight=contents.style.width="0",div.style.width="1px",reliableMarginRightVal=!parseFloat((window.getComputedStyle(contents)||{}).marginRight),div.removeChild(contents)),div.style.display="none",(reliableHiddenOffsetsVal=0===div.getClientRects().length)&&(div.style.display="",div.innerHTML="<table><tr><td></td><td>t</td></tr></table>",div.childNodes[0].style.borderCollapse="separate",(contents=div.getElementsByTagName("td"))[0].style.cssText="margin:0;border:0;padding:0;display:none",(reliableHiddenOffsetsVal=0===contents[0].offsetHeight)&&(contents[0].style.display="",contents[1].style.display="none",reliableHiddenOffsetsVal=0===contents[0].offsetHeight)),documentElement.removeChild(container)}var pixelPositionVal,pixelMarginRightVal,boxSizingReliableVal,reliableHiddenOffsetsVal,reliableMarginRightVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");div.style&&(div.style.cssText="float:left;opacity:.5",support.opacity="0.5"===div.style.opacity,support.cssFloat=!!div.style.cssFloat,div.style.backgroundClip="content-box",div.cloneNode(!0).style.backgroundClip="",support.clearCloneStyle="content-box"===div.style.backgroundClip,(container=document.createElement("div")).style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",div.innerHTML="",container.appendChild(div),support.boxSizing=""===div.style.boxSizing||""===div.style.MozBoxSizing||""===div.style.WebkitBoxSizing,jQuery.extend(support,{reliableHiddenOffsets:function(){return null==pixelPositionVal&&computeStyleTests(),reliableHiddenOffsetsVal},boxSizingReliable:function(){return null==pixelPositionVal&&computeStyleTests(),boxSizingReliableVal},pixelMarginRight:function(){return null==pixelPositionVal&&computeStyleTests(),pixelMarginRightVal},pixelPosition:function(){return null==pixelPositionVal&&computeStyleTests(),pixelPositionVal},reliableMarginRight:function(){return null==pixelPositionVal&&computeStyleTests(),reliableMarginRightVal},reliableMarginLeft:function(){return null==pixelPositionVal&&computeStyleTests(),reliableMarginLeftVal}}))}();var getStyles,curCSS,rposition=/^(top|right|bottom|left)$/;window.getComputedStyle?(getStyles=function(elem){var view=elem.ownerDocument.defaultView;return view&&view.opener||(view=window),view.getComputedStyle(elem)},curCSS=function(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;return""!==(ret=(computed=computed||getStyles(elem))?computed.getPropertyValue(name)||computed[name]:un
29defined)&&ret!==undefined||jQuery.contains(elem.ownerDocument,elem)||(ret=jQuery.style(elem,name)),computed&&!support.pixelMarginRight()&&rnumnonpx.test(ret)&&rmargin.test(name)&&(width=style.width,minWidth=style.minWidth,maxWidth=style.maxWidth,style.minWidth=style.maxWidth=style.width=ret,ret=computed.width,style.width=width,style.minWidth=minWidth,style.maxWidth=maxWidth),ret===undefined?ret:ret+""}):documentElement.currentStyle&&(getStyles=function(elem){return elem.currentStyle},curCSS=function(elem,name,computed){var left,rs,rsLeft,ret,style=elem.style;return null==(ret=(computed=computed||getStyles(elem))?computed[name]:undefined)&&style&&style[name]&&(ret=style[name]),rnumnonpx.test(ret)&&!rposition.test(name)&&(left=style.left,(rsLeft=(rs=elem.runtimeStyle)&&rs.left)&&(rs.left=elem.currentStyle.left),style.left="fontSize"===name?"1em":ret,ret=style.pixelLeft+"px",style.left=left,rsLeft&&(rs.left=rsLeft)),ret===undefined?ret:ret+""||"auto"});var ralpha=/alpha\([^)]*\)/i,ropacity=/opacity\s*=\s*([^)]*)/i,rdisplayswap=/^(none|table(?!-c[ea]).+)/,rnumsplit=new RegExp("^("+pnum+")(.*)$","i"),cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","O","Moz","ms"],emptyStyle=document.createElement("div").style;jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return""===ret?"1":ret}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:support.cssFloat?"cssFloat":"styleFloat"},style:function(elem,name,value,extra){if(elem&&3!==elem.nodeType&&8!==elem.nodeType&&elem.style){var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;if(name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],value===undefined)return hooks&&"get"in hooks&&(ret=hooks.get(elem,!1,extra))!==undefined?ret:style[name];if("string"===(type=typeof value)&&(ret=rcssNum.exec(value))&&ret[1]&&(value=adjustCSS(elem,name,ret),type="number"),null!=value&&value==value&&("number"===type&&(value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px")),support.clearCloneStyle||""!==value||0!==name.indexOf("background")||(style[name]="inherit"),!(hooks&&"set"in hooks&&(value=hooks.set(elem,value,extra))===undefined)))try{style[name]=value}catch(e){}}},css:function(elem,name,extra,styles){var num,val,hooks,origName=jQuery.camelCase(name);return name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),(hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName])&&"get"in hooks&&(val=hooks.get(elem,!0,extra)),val===undefined&&(val=curCSS(elem,name,styles)),"normal"===val&&name in cssNormalTransform&&(val=cssNormalTransform[name]),""===extra||extra?(num=parseFloat(val),!0===extra||isFinite(num)?num||0:val):val}}),jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed)return rdisplayswap.test(jQuery.css(elem,"display"))&&0===elem.offsetWidth?swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)}):getWidthOrHeight(elem,name,extra)},set:function(elem,value,extra){var styles=extra&&getStyles(elem);return setPositiveNumber(elem,value,extra?augmentWidthOrHeight(elem,name,extra,support.boxSizing&&"border-box"===jQuery.css(elem,"boxSizing",!1,styles),styles):0)}}}),support.opacity||(jQuery.cssHooks.opacity={get:function(elem,computed){return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":computed?"1":""},set:function(elem,value){var style=elem.style,currentStyle=elem.currentStyle,opacity=jQuery.isNumeric(value)?"alpha(opacity="+100*value+")":"",filter=currentStyle&&currentStyle.filter||style.filter||"";style.zoom=1,(value>=1||""===value)&&""===jQuery.trim(filter.replace(ralpha,""))&&style.removeAttribute&&(style.removeAttribute("filter"),""===value||currentStyle&&!currentStyle.filter)||(style.filter=ralpha.test(filter)?filter.replace(ralph
vendor: 4,629 bytes, line 29
29a,opacity):filter+" "+opacity)}}),jQuery.cssHooks.marginRight=addGetHookIf(support.reliableMarginRight,function(elem,computed){if(computed)return swap(elem,{display:"inline-block"},curCSS,[elem,"marginRight"])}),jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){if(computed)return(parseFloat(curCSS(elem,"marginLeft"))||(jQuery.contains(elem.ownerDocument,elem)?elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left}):0))+"px"}),jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){for(var i=0,expanded={},parts="string"==typeof value?value.split(" "):[value];i<4;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}},rmargin.test(prefix)||(jQuery.cssHooks[prefix+suffix].set=setPositiveNumber)}),jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(jQuery.isArray(name)){for(styles=getStyles(elem),len=name.length;i<len;i++)map[name[i]]=jQuery.css(elem,name[i],!1,styles);return map}return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(state){return"boolean"==typeof state?state?this.show():this.hide():this.each(function(){isHidden(this)?jQuery(this).show():jQuery(this).hide()})}}),jQuery.Tween=Tween,Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem,this.prop=prop,this.easing=easing||jQuery.easing._default,this.options=options,this.start=this.now=this.cur(),this.end=end,this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];return this.options.duration?this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration):this.pos=eased=percent,this.now=(this.end-this.start)*eased+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),hooks&&hooks.set?hooks.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(tween){var result;return 1!==tween.elem.nodeType||null!=tween.elem[tween.prop]&&null==tween.elem.style[tween.prop]?tween.elem[tween.prop]:(result=jQuery.css(tween.elem,tween.prop,""))&&"auto"!==result?result:0},set:function(tween){jQuery.fx.step[tween.prop]?jQuery.fx.step[tween.prop](tween):1!==tween.elem.nodeType||null==tween.elem.style[jQuery.cssProps[tween.prop]]&&!jQuery.cssHooks[tween.prop]?tween.elem[tween.prop]=tween.now:jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){tween.elem.nodeType&&tween.elem.parentNode&&(tween.elem[tween.prop]=tween.now)}},jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2},_default:"swing"},jQuery.fx=Tween.prototype.init,jQuery.fx.step={};var fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);return adjustCSS(tween.elem,prop,rcssNum.exec(value),tween),tween}]},tweener:function(props,callback){jQuery.isFunction(props)?(callback=props,props=["*"]):props=props.match(rnotwhite);for(var prop,index=0,length=props.length;index<length;index++)prop=props[index],Animation.tweeners[prop]=Animation.tweeners[prop]||[],Animation.tweeners[prop].unshift(callback)},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){prepend?Animation.prefilters.unshift(callback):Animation.prefilters.push(callback)}}),jQuery.speed=function(speed,easing,fn){var opt=speed&&"object"==typeof speed?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};return opt.duration=jQuery.fx.off?0:"number"==typeof opt.duration?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default,null!=opt.queue&&!0!==opt.queue||(opt.queue="fx"),opt.old=opt.complete,opt.complete=function(){jQuery.isFunction(opt.old)&&opt.old.call(this),opt.queue&&jQuery.dequeue(this,opt.queue)},opt},jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHidden
29).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);(empty||jQuery._data(this,"finish"))&&anim.stop(!0)};return doAnimation.finish=doAnimation,empty||!1===optall.queue?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop,stop(gotoEnd)};return"string"!=typeof type&&(gotoEnd=clearQueue,clearQueue=type,type=undefined),clearQueue&&!1!==type&&this.queue(type||"fx",[]),this.each(function(){var dequeue=!0,index=null!=type&&type+"queueHooks",timers=jQuery.timers,data=jQuery._data(this);if(index)data[index]&&data[index].stop&&stopQueue(data[index]);else for(index in data)data[index]&&data[index].stop&&rrun.test(index)&&stopQueue(data[index]);for(index=timers.length;index--;)timers[index].elem!==this||null!=type&&timers[index].queue!==type||(timers[index].anim.stop(gotoEnd),dequeue=!1,timers.splice(index,1));!dequeue&&gotoEnd||jQuery.dequeue(this,type)})},finish:function(type){return!1!==type&&(type=type||"fx"),this.each(function(){var index,data=jQuery._data(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;for(data.finish=!0,jQuery.queue(this,type,[]),hooks&&hooks.stop&&hooks.stop.call(this,!0),index=timers.length;index--;)timers[index].elem===this&&timers[index].queue===type&&(timers[index].anim.stop(!0),timers.splice(index,1));for(index=0;index<length;index++)queue[index]&&queue[index].finish&&queue[index].finish.call(this);delete data.finish})}}),jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return null==speed||"boolean"==typeof speed?cssFn.apply(this,arguments):this.animate(genFx(name,!0),speed,easing,callback)}}),jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}}),jQuery.timers=[],jQuery.fx.tick=function(){var timer,timers=jQuery.timers,i=0;for(fxNow=jQuery.now();i<timers.length;i++)(timer=timers[i])()||timers[i]!==timer||timers.splice(i--,1);timers.length||jQuery.fx.stop(),fxNow=undefined},jQuery.fx.timer=function(timer){jQuery.timers.push(timer),timer()?jQuery.fx.start():jQuery.timers.pop()},jQuery.fx.interval=13,jQuery.fx.start=function(){timerId||(timerId=window.setInterval(jQuery.fx.tick,jQuery.fx.interval))},jQuery.fx.stop=function(){window.clearInterval(timerId),timerId=null},jQuery.fx.speeds={slow:600,fast:200,_default:400},jQuery.fn.delay=function(time,type){return time=jQuery.fx&&jQuery.fx.speeds[time]||time,type=type||"fx",this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout)}})},function(){var a,input=document.createElement("input"),div=document.createElement("div"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));(div=document.createElement("div")).setAttribute("className","t"),div.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=div.getElementsByTagName("a")[0],input.setAttribute("type","checkbox"),div.appendChild(input),(a=div.getElementsByTagName("a")[0]).style.cssText="top:1px",support.getSetAttribute="t"!==div.className,support.style=/top/.test(a.getAttribute("style")),support.hrefNormalized="/a"===a.getAttribute("href"),support.checkOn=!!input.value,support.optSelected=opt.selected,support.enctype=!!document.createElement("form").enctype,select.disabled=!0,support.optDisabled=!opt.disabled,(input=document.createElement("input")).setAttribute("value",""),support.input=""===input.getAttribute("value"),input.value="t",input.setAttribute("type","radio"),support.radioValue="t"===input.value}();var rreturn=/\r/g,rspaces=/[\x20\t\r\n\f]+/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];return arguments.length?(isFunction=jQuery.isFunction(value),this.each(function(i){var val;1===this.nodeType&&(null==(val=isFunction?value.call(this,i,jQuery(this).val()):value)?val="":"number"==typeof val?val+="":jQuery.isArray(val)&&(val=jQuery.map(val,function(value){return null==value?"":value+""}
29)),(hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()])&&"set"in hooks&&hooks.set(this,val,"value")!==undefined||(this.value=val))})):elem?(hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()])&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined?ret:"string"==typeof(ret=elem.value)?ret.replace(rreturn,""):null==ret?"":ret:void 0}}),jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return null!=val?val:jQuery.trim(jQuery.text(elem)).replace(rspaces," ")}},select:{get:function(elem){for(var value,option,options=elem.options,index=elem.selectedIndex,one="select-one"===elem.type||index<0,values=one?null:[],max=one?index+1:options.length,i=index<0?max:one?index:0;i<max;i++)if(((option=options[i]).selected||i===index)&&(support.optDisabled?!option.disabled:null===option.getAttribute("disabled"))&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){if(value=jQuery(option).val(),one)return value;values.push(value)}return values},set:function(elem,value){for(var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;i--;)if(option=options[i],jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1)try{option.selected=optionSet=!0}catch(_){option.scrollHeight}else option.selected=!1;return optionSet||(elem.selectedIndex=-1),options}}}}),jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(jQuery.isArray(value))return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1}},support.checkOn||(jQuery.valHooks[this].get=function(elem){return null===elem.getAttribute("value")?"on":elem.value})});var nodeHook,boolHook,attrHandle=jQuery.expr.attrHandle,ruseDefault=/^(?:checked|selected)$/i,getSetAttribute=support.getSetAttribute,getSetInput=support.input;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}}),jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return"undefined"==typeof elem.getAttribute?jQuery.prop(elem,name,value):(1===nType&&jQuery.isXMLDoc(elem)||(name=name.toLowerCase(),hooks=jQuery.attrHooks[name]||(jQuery.expr.match.bool.test(name)?boolHook:nodeHook)),value!==undefined?null===value?void jQuery.removeAttr(elem,name):hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined?ret:(elem.setAttribute(name,value+""),value):hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:null==(ret=jQuery.find.attr(elem,name))?undefined:ret)},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&"radio"===value&&jQuery.nodeName(elem,"input")){var val=elem.value;return elem.setAttribute("type",value),val&&(elem.value=val),value}}}},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(rnotwhite);if(attrNames&&1===elem.nodeType)for(;name=attrNames[i++];)propName=jQuery.propFix[name]||name,jQuery.expr.match.bool.test(name)?getSetInput&&getSetAttribute||!ruseDefault.test(name)?elem[propName]=!1:elem[jQuery.camelCase("default-"+name)]=elem[propName]=!1:jQuery.attr(elem,name,""),elem.removeAttribute(getSetAttribute?name:propName)}}),boolHook={set:function(elem,value,name){return!1===value?jQuery.removeAttr(elem,name):getSetInput&&getSetAttribute||!ruseDefault.test(name)?elem.setAttribute(!getSetAttribute&&jQuery.propFix[name]||name,name):elem[jQuery.camelCase("default-"+name)]=elem[name]=!0,name}},jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;getSetInput&&getSetAttribute||!ruseDefault.test(name)?attrHandle[name]=function(elem,name,isXML){var ret,handle;return isXML||(handle=attrHandle[name],attrHandle[name]=ret,ret=null!=getter(elem,name,isXML)?name.toLowerCase():null,attrHandle[name]=handle),ret}:attrHandle[name]=function(elem,name,isXML){if(!isXML)return elem[jQuery.camelCase("default-"+name)]?name.toLowerCase():null}}
29),getSetInput&&getSetAttribute||(jQuery.attrHooks.value={set:function(elem,value,name){if(!jQuery.nodeName(elem,"input"))return nodeHook&&nodeHook.set(elem,value,name);elem.defaultValue=value}}),getSetAttribute||(nodeHook={set:function(elem,value,name){var ret=elem.getAttributeNode(name);if(ret||elem.setAttributeNode(ret=elem.ownerDocument.createAttribute(name)),ret.value=value+="","value"===name||value===elem.getAttribute(name))return value}},attrHandle.id=attrHandle.name=attrHandle.coords=function(elem,name,isXML){var ret;if(!isXML)return(ret=elem.getAttributeNode(name))&&""!==ret.value?ret.value:null},jQuery.valHooks.button={get:function(elem,name){var ret=elem.getAttributeNode(name);if(ret&&ret.specified)return ret.value},set:nodeHook.set},jQuery.attrHooks.contenteditable={set:function(elem,value,name){nodeHook.set(elem,""!==value&&value,name)}},jQuery.each(["width","height"],function(i,name){jQuery.attrHooks[name]={set:function(elem,value){if(""===value)return elem.setAttribute(name,"auto"),value}}})),support.style||(jQuery.attrHooks.style={get:function(elem){return elem.style.cssText||undefined},set:function(elem,value){return elem.style.cssText=value+""}});var rfocusable=/^(?:input|select|textarea|button|object)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return name=jQuery.propFix[name]||name,this.each(function(){try{this[name]=undefined,delete this[name]}catch(e){}})}}),jQuery.extend({prop:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return 1===nType&&jQuery.isXMLDoc(elem)||(name=jQuery.propFix[name]||name,hooks=jQuery.propHooks[name]),value!==undefined?hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined?ret:elem[name]=value:hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:elem[name]},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");return tabindex?parseInt(tabindex,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?
vendor: 5,381 bytes, line 29
290:-1}}},propFix:{"for":"htmlFor","class":"className"}}),support.hrefNormalized||jQuery.each(["href","src"],function(i,name){jQuery.propHooks[name]={get:function(elem){return elem.getAttribute(name,4)}}}),support.optSelected||(jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;return parent&&(parent.selectedIndex,parent.parentNode&&parent.parentNode.selectedIndex),null},set:function(elem){var parent=elem.parentNode;parent&&(parent.selectedIndex,parent.parentNode&&parent.parentNode.selectedIndex)}}),jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this}),support.enctype||(jQuery.propFix.enctype="encoding");var rclass=/[\t\r\n\f]/g;jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))});if("string"==typeof value&&value)for(classes=value.match(rnotwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&(" "+curValue+" ").replace(rclass," ")){for(j=0;clazz=classes[j++];)cur.indexOf(" "+clazz+" ")<0&&(cur+=clazz+" ");curValue!==(finalValue=jQuery.trim(cur))&&jQuery.attr(elem,"class",finalValue)}return this},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof value&&value)for(classes=value.match(rnotwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&(" "+curValue+" ").replace(rclass," ")){for(j=0;clazz=classes[j++];)for(;cur.indexOf(" "+clazz+" ")>-1;)cur=cur.replace(" "+clazz+" "," ");curValue!==(finalValue=jQuery.trim(cur))&&jQuery.attr(elem,"class",finalValue)}return this},toggleClass:function(value,stateVal){var type=typeof value;return"boolean"==typeof stateVal&&"string"===type?stateVal?this.addClass(value):this.removeClass(value):jQuery.isFunction(value)?this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)}):this.each(function(){var className,i,self,classNames;if("string"===type)for(i=0,self=jQuery(this),classNames=value.match(rnotwhite)||[];className=classNames[i++];)self.hasClass(className)?self.removeClass(className):self.addClass(className);else value!==undefined&&"boolean"!==type||((className=getClass(this))&&jQuery._data(this,"__className__",className),jQuery.attr(this,"class",className||!1===value?"":jQuery._data(this,"__className__")||""))})},hasClass:function(selector){var className,elem,i=0;for(className=" "+selector+" ";elem=this[i++];)if(1===elem.nodeType&&(" "+getClass(elem)+" ").replace(rclass," ").indexOf(className)>-1)return!0;return!1}}),jQuery.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}}),jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}});var location=window.location,nonce=jQuery.now(),rquery=/\?/,rvalidtokens=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;jQuery.parseJSON=function(data){if(window.JSON&&window.JSON.parse)return window.JSON.parse(data+"");var requireNonComma,depth=null,str=jQuery.trim(data+"");return str&&!jQuery.trim(str.replace(rvalidtokens,function(token,comma,open,close){return requireNonComma&&comma&&(depth=0),0===depth?token:(requireNonComma=open||comma,depth+=!close-!open,"")}))?Function("return "+str)():jQuery.error("Invalid JSON: "+data)},jQuery.parseXML=function(data){var xml;if(!data||"string"!=typeof data)return null;try{window.DOMParser?xml=(new window.DOMParser).parseFromString(data,"text/xml"):((xml=new window.ActiveXObject("Microsoft.XMLDOM")).async="false",xml.loadXML(data))}catch(e){xml=undefined}return xml&&xml.documentElement&&!xml.getElementsByTagName("parsererror").length||jQuery.error("Invalid XML: "+data),xml};var rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rurl=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,prefilters={},transports={},allTypes="*/".concat("*"),ajaxLocation=location.href,ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[];jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ajaxLocation,type:"GET",isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML}
vendor: 4,892 bytes, lines 29-30
29,flatOptions:{url:!0,context:!0}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;2!==state&&(state=2,timeoutTimer&&window.clearTimeout(timeoutTimer),transport=undefined,responseHeadersString=headers||"",jqXHR.readyState=status>0?4:0,isSuccess=status>=200&&status<300||304===status,responses&&(response=ajaxHandleResponses(s,jqXHR,responses)),response=ajaxConvert(s,response,jqXHR,isSuccess),isSuccess?(s.ifModified&&((modified=jqXHR.getResponseHeader("Last-Modified"))&&(jQuery.lastModified[cacheURL]=modified),(modified=jqXHR.getResponseHeader("etag"))&&(jQuery.etag[cacheURL]=modified)),204===status||"HEAD"===s.type?statusText="nocontent":304===status?statusText="notmodified":(statusText=response.state,success=response.data,isSuccess=!(error=response.error))):(error=statusText,!status&&statusText||(statusText="error",status<0&&(status=0))),jqXHR.status=status,jqXHR.statusText=(nativeStatusText||statusText)+"",isSuccess?deferred.resolveWith(callbackContext,[success,statusText,jqXHR]):deferred.rejectWith(callbackContext,[jqXHR,statusText,error]),jqXHR.statusCode(statusCode),statusCode=undefined,
30fireGlobals&&globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]),completeDeferred.fireWith(callbackContext,[jqXHR,statusText]),fireGlobals&&(globalEventContext.trigger("ajaxComplete",[jqXHR,s]),--jQuery.active||jQuery.event.trigger("ajaxStop")))}"object"==typeof url&&(options=url,url=undefined),options=options||{};var parts,i,cacheURL,responseHeadersString,timeoutTimer,fireGlobals,transport,responseHeaders,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},state=0,strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(2===state){if(!responseHeaders)for(responseHeaders={};match=rheaders.exec(responseHeadersString);)responseHeaders[match[1].toLowerCase()]=match[2];match=responseHeaders[key.toLowerCase()]}return null==match?null:match},getAllResponseHeaders:function(){return 2===state?responseHeadersString:null},setRequestHeader:function(name,value){var lname=name.toLowerCase();return state||(name=requestHeadersNames[lname]=requestHeadersNames[lname]||name,requestHeaders[name]=value),this},overrideMimeType:function(type){return state||(s.mimeType=type),this},statusCode:function(map){var code;if(map)if(state<2)for(code in map)statusCode[code]=[statusCode[code],map[code]];else jqXHR.always(map[jqXHR.status]);return this},abort:function(statusText){var finalText=statusText||strAbort;return transport&&transport.abort(finalText),done(0,finalText),this}};if(deferred.promise(jqXHR).complete=completeDeferred.add,jqXHR.success=jqXHR.done,jqXHR.error=jqXHR.fail,s.url=((url||s.url||ajaxLocation)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//"),s.type=options.method||options.type||s.method||s.type,s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().match(rnotwhite)||[""],null==s.crossDomain&&(parts=rurl.exec(s.url.toLowerCase()),s.crossDomain=!(!parts||parts[1]===ajaxLocParts[1]&&parts[2]===ajaxLocParts[2]&&(parts[3]||("http:"===parts[1]?"80":"443"))===(ajaxLocParts[3]||("http:"===ajaxLocParts[1]?"80":"443")))),s.data&&s.processData&&"string"!=typeof s.data&&(s.data=jQuery.param(s.data,s.traditional)),inspectPrefiltersOrTransports(prefilters,s,options,jqXHR),2===state)return jqXHR;for(i in(fireGlobals=jQuery.event&&s.global)&&0==jQuery.active++&&jQuery.event.trigger("ajaxStart"),s.type=s.type.toUpperCase(),s.hasContent=!rnoContent.test(s.type),cacheURL=s.url,s.hasContent||(s.data&&(cacheURL=s.url+=(rquery.test(cacheURL)?"&":"?")+s.data,delete s.data),!1===s.cache&&(s.url=rts.test(cacheURL)?cacheURL.replace(rts,"$1_="+nonce++):cacheURL+(rquery.test(cacheURL)?"&":"?")+"_="+nonce++)),s.ifModified&&(jQuery.lastModified[cacheURL]&&jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]),jQuery.etag[cacheURL]&&jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])),(s.data&&s.hasContent&&!1!==s.contentType||options.contentType)&&jqXHR.setRequestHeader("Content-Type",s.contentType),jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+("*"!==s.dataTypes[0]?", "+allTypes+"; q=0.01":""):s.accepts["*"]),s.headers)jqXHR.setRequestHeader(i,s.headers[i]);
vendor: 3,269 bytes, line 30
30if(s.beforeSend&&(!1===s.beforeSend.call(callbackContext,jqXHR,s)||2===state))return jqXHR.abort();for(i in strAbort="abort",{success:1,error:1,complete:1})jqXHR[i](s[i]);if(transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR)){if(jqXHR.readyState=1,fireGlobals&&globalEventContext.trigger("ajaxSend",[jqXHR,s]),2===state)return jqXHR;s.async&&s.timeout>0&&(timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout")},s.timeout));try{state=1,transport.send(requestHeaders,done)}catch(e){if(!(state<2))throw e;done(-1,e)}}else done(-1,"No Transport");return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script")}}),jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){return jQuery.isFunction(data)&&(type=type||callback,callback=data,data=undefined),jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url))}}),jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},jQuery.fn.extend({wrapAll:function(html){if(jQuery.isFunction(html))return this.each(function(i){jQuery(this).wrapAll(html.call(this,i))});if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&wrap.insertBefore(this[0]),wrap.map(function(){for(var elem=this;elem.firstChild&&1===elem.firstChild.nodeType;)elem=elem.firstChild;return elem}).append(this)}return this},wrapInner:function(html){return jQuery.isFunction(html)?this.each(function(i){jQuery(this).wrapInner(html.call(this,i))}):this.each(function(){var self=jQuery(this),contents=self.contents();contents.length?contents.wrapAll(html):self.append(html)})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(){return this.parent().each(function(){jQuery.nodeName(this,"body")||jQuery(this).replaceWith(this.childNodes)}).end()}}),jQuery.expr.filters.hidden=function(elem){return support.reliableHiddenOffsets()?elem.offsetWidth<=0&&elem.offsetHeight<=0&&!elem.getClientRects().length:filterHidden(elem)},jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem)};var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():null==value?"":value,s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(traditional===undefined&&(traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional),jQuery.isArray(a)||a.jquery&&!jQuery.isPlainObject(a))jQuery.each(a,function(){add(this.name,this.value)});else for(prefix in a)buildParams(prefix,a[prefix],traditional,add);return s.join("&").replace(r20,"+")},jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}
30).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return null==val?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}}),jQuery.ajaxSettings.xhr=window.ActiveXObject!==undefined?function(){return this.isLocal?createActiveXHR():document.documentMode>8?createStandardXHR():/^(get|post|head|put|delete|options)$/i.test(this.type)&&createStandardXHR()||createActiveXHR()}:createStandardXHR;var xhrId=0,xhrCallbacks={},xhrSupported=jQuery.ajaxSettings.xhr();window.attachEvent&&window.attachEvent("onunload",function(){for(var key in xhrCallbacks)xhrCallbacks[key](undefined,!0)}),support.cors=!!xhrSupported&&"withCredentials"in xhrSupported,(xhrSupported=support.ajax=!!xhrSupported)&&jQuery.ajaxTransport(function(options){var callback;if(!options.crossDomain||support.cors)return{send:function(headers,complete){var i,xhr=options.xhr(),id=++xhrId;if(xhr.open(options.type,options.url,options.async,options.username,options.password),options.xhrFields)for(i in options.xhrFields)xhr[i]=options.xhrFields[i];for(i in options.mimeType&&xhr.overrideMimeType&&xhr.overrideMimeType(options.mimeType),options.crossDomain||headers["X-Requested-With"]||(headers["X-Requested-With"]="XMLHttpRequest"),headers)headers[i]!==undefined&&xhr.setRequestHeader(i,headers[i]+"");xhr.send(options.hasContent&&options.data||null),callback=function(_,isAbort){var status,statusText,responses;if(callback&&(isAbort||4===xhr.readyState))if(delete xhrCallbacks[id],callback=undefined,xhr.onreadystatechange=jQuery.noop,isAbort)4!==xhr.readyState&&xhr.abort();else{responses={},status=xhr.status,"string"==typeof xhr.responseText&&(responses.text=
vendor: 4,824 bytes, line 30
30xhr.responseText);try{statusText=xhr.statusText}catch(e){statusText=""}status||!options.isLocal||options.crossDomain?1223===status&&(status=204):status=responses.text?200:404}responses&&complete(status,statusText,responses,xhr.getAllResponseHeaders())},options.async?4===xhr.readyState?window.setTimeout(callback):xhr.onreadystatechange=xhrCallbacks[id]=callback:callback()},abort:function(){callback&&callback(undefined,!0)}}}),jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(text){return jQuery.globalEval(text),text}}}),jQuery.ajaxPrefilter("script",function(s){s.cache===undefined&&(s.cache=!1),s.crossDomain&&(s.type="GET",s.global=!1)}),jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,head=document.head||jQuery("head")[0]||document.documentElement;return{send:function(_,callback){(script=document.createElement("script")).async=!0,s.scriptCharset&&(script.charset=s.scriptCharset),script.src=s.url,script.onload=script.onreadystatechange=function(_,isAbort){(isAbort||!script.readyState||/loaded|complete/.test(script.readyState))&&(script.onload=script.onreadystatechange=null,script.parentNode&&script.parentNode.removeChild(script),script=null,isAbort||callback(200,"success"))},head.insertBefore(script,head.firstChild)},abort:function(){script&&script.onload(undefined,!0)}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=!1!==s.jsonp&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||"jsonp"===s.dataTypes[0])return callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):!1!==s.jsonp&&(s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){overwritten===undefined?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&jQuery.isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=undefined}),"script"}),jQuery.parseHTML=function(data,context,keepScripts){if(!data||"string"!=typeof data)return null;"boolean"==typeof context&&(keepScripts=context,context=!1),context=context||document;var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];return parsed?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes))};var _load=jQuery.fn.load;jQuery.fn.load=function(url,params,callback){if("string"!=typeof url&&_load)return _load.apply(this,arguments);var selector,type,response,self=this,off=url.indexOf(" ");return off>-1&&(selector=jQuery.trim(url.slice(off,url.length)),url=url.slice(0,off)),jQuery.isFunction(params)?(callback=params,params=undefined):params&&"object"==typeof params&&(type="POST"),self.length>0&&jQuery.ajax({url:url,type:type||"GET",dataType:"html",data:params}).done(function(responseText){response=arguments,self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR])})}),this},jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};"static"===position&&(elem.style.position="relative"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),("absolute"===position||"fixed"===position)&&jQuery.inArray("auto",[curCSSTop,curCSSLeft])>-1?(curTop=(curPosition=curElem.position()).top,curLeft=curPosition.left):(curTop=p
30arseFloat(curCSSTop)||0,curLeft=parseFloat(curCSSLeft)||0),jQuery.isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({offset:function(options){if(arguments.length)return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var docElem,win,box={top:0,left:0},elem=this[0],doc=elem&&elem.ownerDocument;return doc?(docElem=doc.documentElement,jQuery.contains(docElem,elem)?("undefined"!=typeof elem.getBoundingClientRect&&(box=elem.getBoundingClientRect()),win=getWindow(doc),{top:box.top+(win.pageYOffset||docElem.scrollTop)-(docElem.clientTop||0),left:box.left+(win.pageXOffset||docElem.scrollLeft)-(docElem.clientLeft||0)}):box):void 0},position:function(){if(this[0]){var offsetParent,offset,parentOffset={top:0,left:0},elem=this[0];return"fixed"===jQuery.css(elem,"position")?offset=elem.getBoundingClientRect():(offsetParent=this.offsetParent(),offset=this.offset(),jQuery.nodeName(offsetParent[0],"html")||(parentOffset=offsetParent.offset()),parentOffset.top+=jQuery.css(offsetParent[0],"borderTopWidth",!0),parentOffset.left+=jQuery.css(offsetParent[0],"borderLeftWidth",!0)),{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&!jQuery.nodeName(offsetParent,"html")&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.offsetParent;return offsetParent||documentElement})}}),jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top=/Y/.test(prop);jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win=getWindow(elem);if(val===undefined)return win?prop in win?win[prop]:win.document.documentElement[method]:elem[method];win?win.scrollTo(top?jQuery(win).scrollLeft():val,top?val:jQuery(win).scrollTop()):elem[method]=val},method,val,arguments.length,null)}}),jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed)return computed=curCSS(elem,prop),rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed})}),jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||"boolean"!=typeof margin),extra=defaultExtra||(!0===margin||!0===value?"margin":"border");return access(this,function(elem,type,value){var doc;return jQuery.isWindow(elem)?elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):value===undefined?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:undefined,chainable,null)}})}),jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return 1===arguments.length?this.off(selector,"**"):this.off(types,selector||"**",fn)}}),jQuery.fn.size=function(){return this.length},jQuery.fn.andSelf=jQuery.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return jQuery});var _jQuery=window.jQuery,_$=window.$;return jQuery.noConflict=function(deep){return window.$===jQuery&&(window.$=_$),deep&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},noGlobal||(window.jQuery=window.$=jQuery),jQuery}),window.Modernizr=function(e,t,n){function k(e){f.cssText=e}function A(e,t){return typeof e===t}function O(e,t){return!!~(""+e).indexOf(t)}function M(e,t){for(var r in e){var i=e[r];if(!O(i,"-")&&f[i]!==n)return"pfx"!=t||i}return!1}function _(e,t,r){for(var i in e){var s=t[e[i]];if(s!==n)return!1===r?e[i]:A(s,"function")?s.bind(r||t):s}return!1}function D(e,t,n){var r=e.charAt(0).toUpperCase()+e.slice(1),i=(e+" "+d.join(r+" ")+r).split(" ");return A(t,"string")||A(t,"undefined")?M(i,t):_(i=(e+" "+v.join(r+" ")+r).split(" "),t,n)}var S,C,r="2.8.3",i={},s=!0,o=t.documentElement,u="modernizr",a=t.createElement(u),f=a.style,h=({}.toString," -webkit- -moz- -o- -ms- ".split(" ")),p="Webkit Moz O ms",d=p.split(" "),v=p.toLowerCase().split(" "),m={svg:"http://www.w3.org/2000/svg"},g={},w=[],E=w.slice,x=function(e,n,r,i){var s,a,f,l,c=t.createElement("div"),h=t.body,p=h||t.createElement("body");if(parseInt(r,10))for(;r--;)(f=t.createElement("div")).id=i?i[r]:u+(r+1),c.appendChild(f);return s=["&#173;",'<style id="s',u,'">',e,"</style>"].join(""),c.id=u,(h?c:p).innerHTML+=s,p.appendChild(c),h||(p.style.background="",p.style.overflow="hidden",l=o.style.overflow,o.style.overflow="hidden",o.appendChild(p)),a=n(c,e),h?c.parentNode.removeChild(c):(p.parentNode.removeChild(p),o.style.overflow=l),!!a},T=function(t){var r,n=e.matchMedia||e.msMatchMedia;return n?n(t)&&n(t).matches||!1:(x("@media "+t+" { #"+u+" { position: absolute; } }",function(t){r="absolute"==(e.getComputedStyle?getComputedStyle(t,null):t.currentStyle).position}),r)},N={}.hasOwnProperty;for(var P in C=A(N,"undefined")||A(N.call,"undefined")?function(e,t){return t in e&&A(e.constructor.prototype[t],"undefined")}:function(e,t){return N.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if("function"!=typeof n)throw new TypeError;
30var r=E.call(arguments,1),i=function(){if(this instanceof i){var e=function(){};e.prototype=n.prototype;var s=new e,o=n.apply(s,r.concat(E.call(arguments)));return Object(o)===o?o:s}return n.apply(t,r.concat(E.call(arguments)))};return i}),g.flexbox=function(){return D("flexWrap")},g.touch=function(){var n;return"ontouchstart"in e||e.DocumentTouch&&t instanceof DocumentTouch?n=!0:x(["@media (",h.join("touch-enabled),("),u,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(e){n=9===e.offsetTop}),n},g.csscolumns=function(){return D("columnCount")},g.svg=function(){return!!t.createElementNS&&!!t.createElementNS(m.svg,"svg").createSVGRect},g)C(g,P)&&(S=P.toLowerCase(),i[S]=g[P](),w.push((i[S]?"":"no-")+S));return i.addTest=function(e,t){if("object"==typeof e)for(var r in e)C(e,r)&&i.addTest(r,e[r]);else{if(e=e.toLowerCase(),i[e]!==n)return i;t="function"==typeof t?t():t,void 0!==s&&s&&(o.className+=" "+(t?"":"no-")+e),i[e]=t}return i},k(""),a=null,function(e,t){function c(e,t){var n=e.createElement("p"),r=e.getElementsByTagName("head")[0]||e.documentElement;return n.innerHTML="x<style>"+t+"</style>",r.insertBefore(n.lastChild,r.firstChild)}function h(){var e=y.elements;return"string"==typeof e?e.split(" "):e}function p(e){var t=f[e[u]];return t||(t={},a++,e[u]=a,f[a]=t),t}function d(e,n,r){return n||(n=t),l?n.createElement(e):(r||(r=p(n)),!(o=r.cache[e]?r.cache[e].cloneNode():s.test(e)?(r.cache[e]=r.createElem(e)).cloneNode():r.createElem(e)).canHaveChildren||i.test(e)||o.tagUrn?o:r.frag.appendChild(o));var o}function v(e,n){if(e||(e=t),l)return e.createDocumentFragment();for(var r=(n=n||p(e)).frag.cloneNode(),i=0,s=h(),o=s.length;i<o;i++)r.createElement(s[i]);return r}function m(e,t){t.cache||(t.cache={},t.createElem=e.createElement,t.createFrag=e.createDocumentFragment,t.frag=t.createFrag()),e.createElement=function(n){return y.shivMethods?d(n,e,t):t.createElem(n)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+h().join().replace(/[\w\-]+/g,function(e){return t.createElem(e),t.frag.createElement(e),'c("'+e+'")'})+");return n}")(y,t.frag)}function g(e){e||(e=t);var n=p(e);return y.shivCSS&&!o&&!n.hasCSS&&(n.hasCSS=!!c(e,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||m(e,n),e}var o,l,n="3.7.0",r=e.html5||{},i=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,s=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,u="_html5shiv",a=0,f={};!function(){try{var e=t.createElement("a");e.innerHTML="<xyz></xyz>",o="hidden"in e,l=1==e.childNodes.length||function(){t.createElement("a");var e=t.createDocumentFragment();return"undefined"==typeof e.cloneNode||"undefined"==typeof e.createDocumentFragment||"undefined"==typeof e.createElement}()}catch(n){o=!0,l=!0}}();var y={elements:r.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:n,shivCSS:!1!==r.shivCSS,supportsUnknownElements:l,shivMethods:!1!==r.shivMethods,type:"default",shivDocument:g,createElement:d,createDocumentFragment:v};e.html5=y,g(t)}(this,t),i._version=r,i._prefixes=h,i._domPrefixes=v,i._cssomPrefixes=d,i.mq=T,i.testProp=function(e){return M([e])},i.testAllProps=D,i.testStyles=x,o.className=o.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(s?" js "+w.join(" "):""),i}(this,this.document),function(e,t,n){function r(e){return"[object Function]"==d.call(e)}function i(e){return"string"==typeof e}function s(){}function o(e){return!e||"loaded"==e||"complete"==e||"uninitialized"==e}function u(){var e=v.shift();m=1,e?e.t?h(function(){("c"==e.t?k.injectCss:k.injectJs)(e.s,0,e.a,e.x,e.e,1)},0):(e(),u()):m=0}function a(e,n,r,i,s,a,f){function l(t){if(!d&&o(c.readyState)&&(w.r=d=1,!m&&u(),c.onload=c.onreadystatechange=null,t))for(var r in"img"!=e&&h(function(){b.removeChild(c)},50),T[n])T[n].hasOwnProperty(r)&&T[n][r].onload()}f=f||k.errorTimeout;var c=t.createElement(e),d=0,g=0,w={t:r,s:n,e:s,a:a,x:f};1===T[n]&&(g=1,T[n]=[]),"object"==e?c.data=n:(c.src=n,c.type=e),c.width=c.height="0",c.onerror=c.onload=c.onreadystatechange=function(){l.call(this,g)},v.splice(i,0,w),"img"!=e&&(g||2===T[n]?(b.insertBefore(c,y?null:p),h(l,f)):T[n].push(c))}
30function f(e,t,n,r,s){return m=0,t=t||"j",i(e)?a("c"==t?E:w,e,t,this.i++,n,r,s):(v.splice(this.i++,0,e),1==v.length&&u()),this}function l(){var e=k;return e.loader={load:f,i:0},e}var C,k,c=t.documentElement,h=e.setTimeout,p=t.getElementsByTagName("script")[0],d={}.toString,v=[],m=0,g="MozAppearance"in c.style,y=g&&!!t.createRange().compareNode,b=y?c:p.parentNode,w=(c=e.opera&&"[object Opera]"==d.call(e.opera),c=!!t.attachEvent&&!c,g?"object":c?"script":"img"),E=c?"script":w,S=Array.isArray||function(e){return"[object Array]"==d.call(e)},x=[],T={},N={timeout:function(e,t){return t.length&&(e.timeout=t[0]),e}};(k=function(e){function t(e){e=e.split("!");var i,s,o,t=x.length,n=e.pop(),r=e.length;n={url:n,origUrl:n,prefixes:e};for(s=0;s<r;s++)o=e[s].split("="),(i=N[o.shift()])&&(n=i(n,o));for(s=0;s<t;s++)n=x[s](n);return n}function o(e,i,s,o,u){var a=t(e),f=a.autoCallback;a.url.split(".").pop().split("?").shift(),a.bypass||(i&&(i=r(i)?i:i[e]||i[o]||i[e.split("/").pop().split("?")[0]]),a.instead?a.instead(e,i,s,o,u):(T[a.url]?a.noexec=!0:T[a.url]=1,s.load(a.url,a.forceCSS||!a.forceJS&&"css"==a.url.split(".").pop().split("?").shift()?"c":n,a.noexec,a.attrs,a.timeout),(r(i)||r(f))&&s.load(function(){l(),i&&i(a.origUrl,u,o),f&&f(a.origUrl,u,o),T[a.url]=2})))}function u(e,t){function n(e,n){if(e){if(i(e))n||(f=function(){var e=[].slice.call(arguments);l.apply(this,e),c()}),o(e,f,t,0,u);else if(Object(e)===e)for(p in h=function(){var n,t=0;for(n in e)e.hasOwnProperty(n)&&t++;return t}(),e)e.hasOwnProperty(p)&&(!n&&!--h&&(r(f)?f=function(){var e=[].slice.call(arguments);l.apply(this,e),c()}:f[p]=function(e){return function(){var t=[].slice.call(arguments);e&&e.apply(this,t),c()}}(l[p])),o(e[p],f,t,p,u))}else!n&&c()}var h,p,u=!!e.test,a=e.load||e.both,f=e.callback||s,l=f,c=e.complete||s;n(u?e.yep:e.nope,!!a),a&&n(a)}var a,f,c=this.yepnope.loader;if(i(e))o(e,0,c,0);else if(S(e))for(a=0;a<e.length;a++)i(f=e[a])?o(f,0,c,0):S(f)?k(f):Object(f)===f&&u(f,c);else Object(e)===e&&u(e,c)}).addPrefix=function(e,t){N[e]=t},k.addFilter=function(e){x.push(e)},k.errorTimeout=1e4,null==t.readyState&&t.addEventListener&&(t.readyState="loading",t.addEventListener("DOMContentLoaded",C=function(){t.removeEventListener("DOMContentLoaded",C,0),t.readyState="complete"},0)),e.yepnope=l(),e.yepnope.executeStack=u,e.yepnope.injectJs=function(e,n,r,i,a,f){var c,d,l=t.createElement("script");i=i||k.errorTimeout;for(d in l.src=e,r)l.setAttribute(d,r[d]);n=f?u:n||s,l.onreadystatechange=l.onload=function(){!c&&o(l.readyState)&&(c=1,n(),l.onload=l.onreadystatechange=null)},h(function(){c||(c=1,n(1))},i),a?l.onload():p.parentNode.insertBefore(l,p)},e.yepnope.injectCss=function(e,n,r,i,o,a){var f;i=t.createElement("link"),n=a?u:n||s;for(f in i.href=e,i.rel="stylesheet",i.type="text/css",r)i.setAttribute(f,r[f]);o||(p.parentNode.insertBefore(i,p),h(n,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))},Modernizr.addTest("mediaqueries",Modernizr.mq("only all")),function(window,document,undefined){"use strict";function minErr(module,ErrorConstructor){return ErrorConstructor=ErrorConstructor||Error,function(){var paramPrefix,i,SKIP_INDEXES=2,templateArgs=arguments,code=templateArgs[0],message="["+(module?module+":":"")+code+"] ";for(message+=templateArgs[1].replace(/\{\d+\}/g,function(match){var shiftedIndex=+match.slice(1,-1)+SKIP_INDEXES;return shiftedIndex<templateArgs.length?toDebugString(templateArgs[shiftedIndex]):match}),message+="\nhttp://errors.angularjs.org/1.5.0-rc.0/"+(module?module+"/":"")+code,i=SKIP_INDEXES,paramPrefix="?";i<templateArgs.length;i++,paramPrefix="&")message+=paramPrefix+"p"+(i-SKIP_INDEXES)+"="+encodeURIComponent(toDebugString(templateArgs[i]));return new ErrorConstructor(message)}}function isArrayLike(obj){if(null==obj||isWindow(obj))return!1;if(isArray(obj)||isString(obj)||jqLite&&obj instanceof jqLite)return!0;var length="length"in Object(obj)&&obj.length;return isNumber(length)&&(length>=0&&length-1 in obj||"function"==typeof obj.item)}function forEach(obj,iterator,context){var key,length;if(obj)if(isFunction(obj))for(key in obj)"prototype"==key||"length"==key||"name"==key||obj.hasOwnProperty&&!obj.hasOwnProperty(key)||iterator.call(context,obj[key],key,obj);else if(isArray(obj)||isArrayLike(obj)){var isPrimitive="object"!=typeof obj;for(key=0,length=obj.length;key<length;key++)(isPrimitive||key in obj)&&iterator.call(context,obj[key],key,obj)}
30else if(obj.forEach&&obj.forEach!==forEach)obj.forEach(iterator,context,obj);else if(isBlankObject(obj))for(key in obj)iterator.call(context,obj[key],key,obj);else if("function"==typeof obj.hasOwnProperty)for(key in obj)obj.hasOwnProperty(key)&&iterator.call(context,obj[key],key,obj);else for(key in obj)hasOwnProperty.call(obj,key)&&iterator.call(context,obj[key],key,obj);return obj}function forEachSorted(obj,iterator,context){for(var keys=Object.keys(obj).sort(),i=0;i<keys.length;i++)iterator.call(context,obj[keys[i]],keys[i]);return keys}function reverseParams(iteratorFn){return function(value,key){iteratorFn(key,value)}}function nextUid(){return++uid}function setHashKey(obj,h){h?obj.$$hashKey=h:delete obj.$$hashKey}function baseExtend(dst,objs,deep){for(var h=dst.$$hashKey,i=0,ii=objs.length;i<ii;++i){var obj=objs[i];if(isObject(obj)||isFunction(obj))for(var keys=Object.keys(obj),j=0,jj=keys.length;j<jj;j++){var key=keys[j],src=obj[key];deep&&isObject(src)?isDate(src)?dst[key]=new Date(src.valueOf()):isRegExp(src)?dst[key]=new RegExp(src):src.nodeName?dst[key]=src.cloneNode(!0):isElement(src)?dst[key]=src.clone():(isObject(dst[key])||(dst[key]=isArray(src)?[]:{}),baseExtend(dst[key],[src],!0)):dst[key]=src}}return setHashKey(dst,h),dst}function extend(dst){return baseExtend(dst,slice.call(arguments,1),!1)}function merge(dst){return baseExtend(dst,slice.call(arguments,1),!0)}function toInt(str){return parseInt(str,10)}function inherit(parent,extra){return extend(Object.create(parent),extra)}function noop(){}function identity($){return $}function valueFn(value){return function(){return value}}function hasCustomToString(obj){return isFunction(obj.toString)&&obj.toString!==toString}function isUndefined(value){return void 0===value}function isDefined(value){return void 0!==value}function isObject(value){return null!==value&&"object"==typeof value}function isBlankObject(value){return null!==value&&"object"==typeof value&&!getPrototypeOf(value)}function isString(value){return"string"==typeof value}function isNumber(value){return"number"==typeof value}function isDate(value){return"[object Date]"===toString.call(value)}function isFunction(value){return"function"==typeof value}function isRegExp(value){return"[object RegExp]"===toString.call(value)}function isWindow(obj){return obj&&obj.window===obj}function isScope(obj){return obj&&obj.$evalAsync&&obj.$watch}function isFile(obj){return"[object File]"===toString.call(obj)}function isFormData(obj){return"[object FormData]"===toString.call(obj)}function isBlob(obj){return"[object Blob]"===toString.call(obj)}function isBoolean(value){return"boolean"==typeof value}function isPromiseLike(obj){return obj&&isFunction(obj.then)}function isTypedArray(value){return value&&isNumber(value.length)&&TYPED_ARRAY_REGEXP.test(toString.call(value))}function isElement(node){return!(!node||!(node.nodeName||node.prop&&node.attr&&node.find))}function makeMap(str){var i,obj={},items=str.split(",");for(i=0;i<items.length;i++)obj[items[i]]=!0;return obj}function nodeName_(element){return lowercase(element.nodeName||element[0]&&element[0].nodeName)}function arrayRemove(array,value){var index=array.indexOf(value);return index>=0&&array.splice(index,1),index}function copy(source,destination){function copyRecurse(source,destination){var key,h=destination.$$hashKey;if(isArray(source))for(var i=0,ii=source.length;i<ii;i++)destination.push(copyElement(source[i]));else if(isBlankObject(source))for(key in source)destination[key]=copyElement(source[key]);else if(source&&"function"==typeof source.hasOwnProperty)for(key in source)source.hasOwnProperty(key)&&(destination[key]=copyElement(source[key]));else for(key in source)hasOwnProperty.call(source,key)&&(destination[key]=copyElement(source[key]));return setHashKey(destination,h),destination}function copyElement(source){if(!isObject(source))return source;var index=stackSource.indexOf(source);if(-1!==index)return stackDest[index];if(isWindow(source)||isScope(source))throw ngMinErr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var destination,needsRecurse=!1;return isArray(source)?(destination=[],needsRecurse=!0):isTypedArray(source)?de
30stination=new source.constructor(source):isDate(source)?destination=new Date(source.getTime()):isRegExp(source)?(destination=new RegExp(source.source,source.toString().match(/[^\/]*$/)[0])).lastIndex=source.lastIndex:isFunction(source.cloneNode)?destination=source.cloneNode(!0):(destination=Object.create(getPrototypeOf(source)),needsRecurse=!0),stackSource.push(source),
31stackDest.push(destination),needsRecurse?copyRecurse(source,destination):destination}var stackSource=[],stackDest=[];if(destination){if(isTypedArray(destination))throw ngMinErr("cpta","Can't copy! TypedArray destination cannot be mutated.");if(source===destination)throw ngMinErr("cpi","Can't copy! Source and destination are identical.");return isArray(destination)?destination.length=0:forEach(destination,function(value,key){"$$hashKey"!==key&&delete destination[key]}),stackSource.push(source),stackDest.push(destination),copyRecurse(source,destination)}return copyElement(source)}function shallowCopy(src,dst){if(isArray(src)){dst=dst||[];for(var i=0,ii=src.length;i<ii;i++)dst[i]=src[i]}else if(isObject(src))for(var key in dst=dst||{},src)"$"===key.charAt(0)&&"$"===key.charAt(1)||(dst[key]=src[key]);return dst||src}function equals(o1,o2){if(o1===o2)return!0;if(null===o1||null===o2)return!1;if(o1!=o1&&o2!=o2)return!0;var length,key,keySet,t1=typeof o1;if(t1==typeof o2&&"object"==t1){if(!isArray(o1)){if(isDate(o1))return!!isDate(o2)&&equals(o1.getTime(),o2.getTime());if(isRegExp(o1))return!!isRegExp(o2)&&o1.toString()==o2.toString();if(isScope(o1)||isScope(o2)||isWindow(o1)||isWindow(o2)||isArray(o2)||isDate(o2)||isRegExp(o2))return!1;for(key in keySet=createMap(),o1)if("$"!==key.charAt(0)&&!isFunction(o1[key])){if(!equals(o1[key],o2[key]))return!1;keySet[key]=!0}for(key in o2)if(!(key in keySet)&&"$"!==key.charAt(0)&&isDefined(o2[key])&&!isFunction(o2[key]))return!1;return!0}if(!isArray(o2))return!1;if((length=o1.length)==o2.length){for(key=0;key<length;key++)if(!equals(o1[key],o2[key]))return!1;return!0}}return!1}function concat(array1,array2,index){return array1.concat(slice.call(array2,index))}function sliceArgs(args,startIndex){return slice.call(args,startIndex||
310)}function bind(self,fn){var curryArgs=arguments.length>2?sliceArgs(arguments,2):[];return!isFunction(fn)||fn instanceof RegExp?fn:curryArgs.length?function(){return arguments.length?fn.apply(self,concat(curryArgs,arguments,0)):fn.apply(self,curryArgs)}:function(){return arguments.length?fn.apply(self,arguments):fn.call(self)}}function toJsonReplacer(key,value){var val=value;return"string"==typeof key&&"$"===key.charAt(0)&&"$"===key.charAt(1)?val=undefined:isWindow(value)?val="$WINDOW":value&&document===value?val="$DOCUMENT":isScope(value)&&(val="$SCOPE"),val}function toJson(obj,pretty){return void 0===obj?undefined:(isNumber(pretty)||(pretty=pretty?2:null),JSON.stringify(obj,toJsonReplacer,pretty))}function fromJson(json){return isString(json)?JSON.parse(json):json}function timezoneToOffset(timezone,fallback){var requestedTimezoneOffset=Date.parse("Jan 01, 1970 00:00:00 "+timezone)/6e4;return isNaN(requestedTimezoneOffset)?fallback:requestedTimezoneOffset}function addDateMinutes(date,minutes){return(date=new Date(date.getTime())).setMinutes(date.getMinutes()+minutes),date}function convertTimezoneToLocal(date,timezone,reverse){return addDateMinutes(date,(reverse=reverse?-1:1)*(timezoneToOffset(timezone,date.getTimezoneOffset())-date.getTimezoneOffset()))}function startingTag(element){element=jqLite(element).clone();try{element.empty()}catch(e){}var elemHtml=jqLite("<div>").append(element).html();try{return element[0].nodeType===NODE_TYPE_TEXT?lowercase(elemHtml):elemHtml.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(match,nodeName){return"<"+lowercase(nodeName)})}catch(e){return lowercase(elemHtml)}}function tryDecodeURIComponent(value){try{return decodeURIComponent(value)}catch(e){}}function parseKeyValue(keyValue){var obj={};return forEach((keyValue||"").split("&"),function(keyValue){var splitPoint,key,val;keyValue&&(key=keyValue=keyValue.replace(/\+/g,"%20"),-1!==(splitPoint=keyValue.indexOf("="))&&(key=keyValue.substring(0,splitPoint),val=keyValue.substring(splitPoint+1)),isDefined(key=tryDecodeURIComponent(key))&&(val=!isDefined(val)||tryDecodeURIComponent(val),hasOwnProperty.call(obj,key)?isArray(obj[key])?obj[key].push(val):obj[key]=[obj[key],val]:obj[key]=val))}),obj}function toKeyValue(obj){var parts=[];return forEach(obj,function(value,key){isArray(value)?forEach(value,function(arrayValue){parts.push(encodeUriQuery(key,!0)+(!0===arrayValue?"":"="+encodeUriQuery(arrayValue,!0)))}):parts.push(encodeUriQuery(key,!0)+(!0===value?"":"="+encodeUriQuery(value,!0)))}),parts.length?parts.join("&"):""}function encodeUriSegment(val){return encodeUriQuery(val,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function encodeUriQuery(val,pctEncodeSpaces){return encodeURIComponent(val).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,pctEncodeSpaces?"%20":"+")}function getNgAttribute(element,ngAttr){var attr,i,ii=ngAttrPrefixes.length;for(i=0;i<ii;++i)if(attr=ngAttrPrefixes[i]+ngAttr,isString(attr=element.getAttribute(attr)))return attr;return null}function angularInit(element,bootstrap){var appElement,module,config={};forEach(ngAttrPrefixes,function(prefix){var name=prefix+"app";!appElement&&element.hasAttribute&&element.hasAttribute(name)&&(appElement=element,module=element.getAttribute(name))}),forEach(ngAttrPrefixes,function(prefix){var candidate,name=prefix+"app";!appElement&&(candidate=element.querySelector("["+name.replace(":","\\:")+"]"))&&(appElement=candidate,module=candidate.getAttribute(name))}),appElement&&(config.strictDi=null!==getNgAttribute(appElement,"strict-di"),bootstrap(appElement,module?[module]:[],config))}function bootstrap(element,modules,config){isObject(config)||(config={}),config=extend({strictDi:!1},config);var doBootstrap=function(){if((element=jqLite(element)).injector()){var tag=element[0]===document?"document":startingTag(element);throw ngMinErr("btstrpd","App Already Bootstrapped with this Element '{0}'",tag.replace(/</,"&lt;").replace(/>/,"&gt;"))}(modules=modules||[]).unshift(["$provide",function($provide){$provide.value("$rootElement",element)}]),config.debugInfoEnabled&&modules.push(["$compileProvider",function($compileProvider){$compileProvider.debugInfoEnabled(!0)}]),modules.unshift("ng");var injector=createInjector(modules,config.strictDi);return injector.invoke(["$rootScope","$rootElement","$compile","$injector",function(scope,element,compile,injector){scope.$apply(function(){element.data("$injector",injector),compile(element)(scope)})}]),injector},NG_ENABLE_DEBUG_INFO=/^NG_ENABLE_DEBUG_INFO!/,NG_DEFER_BOOTSTRAP=/^NG_DEFER_BOOTSTRAP!/;if(window&&NG_ENABLE_DEBUG_INFO.test(window.name)&&(config.debugInfoEnabled=!0,window.name=window.name.replace(NG_ENABLE_DEBUG_INFO,"")),window&&!NG_DEFER_BOOTSTRAP.test(window.name))return doBootstrap();window.name=window.name.replace(NG_DEFER_BOOTSTRAP,""),angular.resumeBootstrap=function(extraModules){return forEach(extraModules,function(module){modules.push(module)}),doBootstrap()},isFunction(angular.resumeDeferredBootstrap)&&angular.resumeDeferredBootstrap()}function reloadWithDebugInfo(){window.name="NG_ENABLE_DEBUG_INFO!"+window.name,window.location.reload()}function getTestability(rootElement){var injector=angular.element(rootElement).injector();if(!injector)throw ngMinErr("test","no injector found for element argument to getTestability");return injector.get("$$testability")}function snake_case(name,separator){return separator=separator||"_",name.replace(SNAKE_CASE_REGEXP,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}function bindJQuery(){var originalCleanData;if(!bindJQueryFired){var jqName=jq();(jQuery=isUndefined(jqName)?window.jQuery:jqName?window[jqName]:un
31defined)&&jQuery.fn.on?(jqLite=jQuery,extend(jQuery.fn,{scope:JQLitePrototype.scope,isolateScope:JQLitePrototype.isolateScope,controller:JQLitePrototype.controller,injector:JQLitePrototype.injector,inheritedData:JQLitePrototype.inheritedData}),originalCleanData=jQuery.cleanData,jQuery.cleanData=function(elems){for(var events,elem,i=0;null!=(elem=elems[i]);i++)(events=jQuery._data(elem,"events"))&&events.$destroy&&jQuery(elem).triggerHandler("$destroy");originalCleanData(elems)}):jqLite=JQLite,angular.element=jqLite,bindJQueryFired=!0}}function assertArg(arg,name,reason){if(!arg)throw ngMinErr("areq","Argument '{0}' is {1}",name||"?",reason||"required");return arg}function assertArgFn(arg,name,acceptArrayAnnotation){return acceptArrayAnnotation&&isArray(arg)&&(arg=arg[arg.length-1]),assertArg(isFunction(arg),name,"not a function, got "+(arg&&"object"==typeof arg?arg.constructor.name||"Object":typeof arg)),arg}function assertNotHasOwnProperty(name,context){if("hasOwnProperty"===name)throw ngMinErr("badname","hasOwnProperty is not a valid {0} name",context)}function getter(obj,path,bindFnToScope){if(!path)return obj;for(var key,keys=path.split("."),lastInstance=obj,len=keys.length,i=0;i<len;i++)key=keys[i],obj&&(obj=(lastInstance=obj)[key]);return!bindFnToScope&&isFunction(obj)?bind(lastInstance,obj):obj}function getBlockNodes(nodes){for(var blockNodes,node=nodes[0],endNode=nodes[nodes.length-1],i=1;node!==endNode&&(node=node.nextSibling);i++)(blockNodes||nodes[i]!==node)&&(blockNodes||(blockNodes=jqLite(slice.call(nodes,0,i)
31)),blockNodes.push(node));return blockNodes||nodes}function createMap(){return Object.create(null)}function setupModuleLoader(window){function ensure(obj,name,factory){return obj[name]||(obj[name]=factory())}var $injectorMinErr=minErr("$injector"),ngMinErr=minErr("ng"),angular=ensure(window,"angular",Object);return angular.$$minErr=angular.$$minErr||minErr,ensure(angular,"module",function(){var modules={};return function(name,requires,configFn){return function(name,context){if("hasOwnProperty"===name)throw ngMinErr("badname","hasOwnProperty is not a valid {0} name",context)}(name,"module"),requires&&modules.hasOwnProperty(name)&&(modules[name]=null),ensure(modules,name,function(){function invokeLater(provider,method,insertMethod,queue){return queue||(queue=invokeQueue),function(){return queue[insertMethod||"push"]([provider,method,arguments]),moduleInstance}}function invokeLaterAndSetModuleName(provider,method){return function(recipeName,factoryFunction){return factoryFunction&&isFunction(factoryFunction)&&(factoryFunction.$$moduleName=name),invokeQueue.push([provider,method,arguments]),moduleInstance}}if(!requires)throw $injectorMinErr("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.",name);var invokeQueue=[],configBlocks=[],runBlocks=[],config=invokeLater("$injector","invoke","push",configBlocks),moduleInstance={_invokeQueue:invokeQueue,_configBlocks:configBlocks,_runBlocks:runBlocks,requires:requires,name:name,provider:invokeLaterAndSetModuleName("$provide","provider"),factory:invokeLaterAndSetModuleName("$provide","factory"),service:invokeLaterAndSetModuleName("$provide","service"),value:invokeLater("$provide","value"),constant:invokeLater("$provide","constant","unshift"),decorator:invokeLaterAndSetModuleName("$provide","decorator"),animation:invokeLaterAndSetModuleName("$animateProvider","register"),filter:invokeLaterAndSetModuleName("$filterProvider","register"),controller:invokeLaterAndSetModuleName("$controllerProvider","register"),directive:invokeLaterAndSetModuleName("$compileProvider","directive"),component:function(name,options){function factory($injector){function makeInjectable(fn){return angular.isFunction(fn)?function(tElement,tAttrs){return $injector.invoke(fn,this,{$element:tElement,$attrs:tAttrs})}:fn}var template=options.template||options.templateUrl?options.template:"";return{controller:options.controller||function(){},controllerAs:identifierForController(options.controller)||options.controllerAs||name,template:makeInjectable(template),templateUrl:makeInjectable(options.templateUrl),transclude:options.transclude===undefined||options.transclude,scope:!1===options.isolate||{},bindToController:options.bindings||{},restrict:options.restrict||"E"}}return options.$canActivate&&(factory.$canActivate=options.$canActivate),options.$routeConfig&&(factory.$routeConfig=options.$routeConfig),factory.$inject=["$injector"],moduleInstance.directive(name,factory)},config:config,run:function(block){return runBlocks.push(block),this}};return configFn&&config(configFn),moduleInstance})}})}function serializeObject(obj){var seen=[];return JSON.stringify(obj,function(key,val){if(isObject(val=toJsonReplacer(key,val))){if(seen.indexOf(val)>=0)return"...";seen.push(val)}return val})}function toDebugString(obj){return"function"==typeof obj?obj.toString().replace(/ \{[\s\S]*$/,""):isUndefined(obj)?"undefined":"string"!=typeof obj?serializeObject(obj):obj}function publishExternalAPI(angular){extend(angular,{bootstrap:bootstrap,copy:copy,extend:extend,merge:merge,equals:equals,element:jqLite,forEach:forEach,injector:createInjector,noop:noop,bind:bind,toJson:toJson,fromJson:fromJson,identity:identity,isUndefined:isUndefined,isDefined:isDefined,isString:isString,isFunction:isFunction,isObject:isObject,isNumber:isNumber,isElement:isElement,isArray:isArray,version:version,isDate:isDate,lowercase:lowercase,uppercase:uppercase,callbacks:{counter:0},getTestability:getTestability,$$minErr:minErr,$$csp:csp,reloadWithDebugInfo:reloadWithDebugInfo}
31),(angularModule=setupModuleLoader(window))("ng",["ngLocale"],["$provide",function($provide){$provide.provider({$$sanitizeUri:$$SanitizeUriProvider}),$provide.provider("$compile",$CompileProvider).directive({a:htmlAnchorDirective,input:inputDirective,textarea:inputDirective,form:formDirective,script:scriptDirective,select:selectDirective,style:styleDirective,option:optionDirective,ngBind:ngBindDirective,ngBindHtml:ngBindHtmlDirective,ngBindTemplate:ngBindTemplateDirective,ngClass:ngClassDirective,ngClassEven:ngClassEvenDirective,ngClassOdd:ngClassOddDirective,ngCloak:ngCloakDirective,ngController:ngControllerDirective,ngForm:ngFormDirective,ngHide:ngHideDirective,ngIf:ngIfDirective,ngInclude:ngIncludeDirective,ngInit:ngInitDirective,ngNonBindable:ngNonBindableDirective,ngPluralize:ngPluralizeDirective,ngRepeat:ngRepeatDirective,ngShow:ngShowDirective,ngStyle:ngStyleDirective,ngSwitch:ngSwitchDirective,ngSwitchWhen:ngSwitchWhenDirective,ngSwitchDefault:ngSwitchDefaultDirective,ngOptions:ngOptionsDirective,ngTransclude:ngTranscludeDirective,ngModel:ngModelDirective,ngList:ngListDirective,ngChange:ngChangeDirective,pattern:patternDirective,ngPattern:patternDirective,required:requiredDirective,ngRequired:requiredDirective,minlength:minlengthDirective,ngMinlength:minlengthDirective,maxlength:maxlengthDirective,ngMaxlength:maxlengthDirective,ngValue:ngValueDirective,ngModelOptions:ngModelOptionsDirective}).directive({ngInclude:ngIncludeFillContentDirective}).directive(ngAttributeAliasDirectives).directive(ngEventDirectives),$provide.provider({$anchorScroll:$AnchorScrollProvider,$animate:$AnimateProvider,$animateCss:$CoreAnimateCssProvider,$$animateQueue:$$CoreAnimateQueueProvider,$$AnimateRunner:$$AnimateRunnerFactoryProvider,$$animateAsyncRun:$$AnimateAsyncRunFactoryProvider,$browser:$BrowserProvider,$cacheFactory:$CacheFactoryProvider,$controller:$ControllerProvider,$document:$DocumentProvider,$exceptionHandler:$ExceptionHandlerProvider,$filter:$FilterProvider,$$forceReflow:$$ForceReflowProvider,$interpolate:$InterpolateProvider,$interval:$IntervalProvider,$http:$HttpProvider,$httpParamSerializer:$HttpParamSerializerProvider,$httpParamSerializerJQLike:$HttpParamSerializerJQLikeProvider,$httpBackend:$HttpBackendProvider,$xhrFactory:$xhrFactoryProvider,$location:$LocationProvider,$log:$LogProvider,$parse:$ParseProvider,$rootScope:$RootScopeProvider,$q:$QProvider,$$q:$$QProvider,$sce:$SceProvider,$sceDelegate:$SceDelegateProvider,$sniffer:$SnifferProvider,$templateCache:$TemplateCacheProvider,$templateRequest:$TemplateRequestProvider,$$testability:$$TestabilityProvider,$timeout:$TimeoutProvider,$window:$WindowProvider,$$rAF:$$RAFProvider,$$jqLite:$$jqLiteProvider,$$HashMap:$$HashMapProvider,$$cookieReader:$$CookieReaderProvider})}])}function jqNextId(){return++jqId}function camelCase(name){return name.replace(SPECIAL_CHARS_REGEXP,function(_,separator,letter,offset){return offset?letter.toUpperCase():letter}).replace(MOZ_HACK_REGEXP,"Moz$1")}function jqLiteIsTextNode(html){return!HTML_REGEXP.test(html)}function jqLiteAcceptsData(node){var nodeType=node.nodeType;return nodeType===NODE_TYPE_ELEMENT||!nodeType||nodeType===NODE_TYPE_DOCUMENT}function jqLiteHasData(node){for(var key in jqCache[node.ng339])return!0;return!1}function jqLiteCleanData(nodes){for(var i=0,ii=nodes.length;i<ii;i++)jqLiteRemoveData(nodes[i])}function jqLiteBuildFragment(html,context){var tmp,tag,wrap,i,fragment=context.createDocumentFragment(),nodes=[];if(jqLiteIsTextNode(html))nodes.push(context.createTextNode(html));else{for(tmp=tmp||fragment.appendChild(context.createElement("div")),tag=(TAG_NAME_REGEXP.exec(html)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+html.replace(XHTML_TAG_REGEXP,"<$1></$2>")+wrap[2],i=wrap[0];i--;)tmp=tmp.lastChild;nodes=concat(nodes,tmp.childNodes),(tmp=fragment.firstChild).textContent=""}return fragment.textContent="",fragment.innerHTML="",forEach(nodes,function(node){fragment.appendChild(node)}),fragment}function jqLiteParseHTML(html,context){var parsed;return context=context||document,(parsed=SINGLE_TAG_REGEXP.exec(html))?[context.createElement(parsed[1])]:(parsed=jqLiteBuildFragment(html,context))?parsed.childNodes:[]}function JQLite(element){if(element instanceof JQLite)return element;var argIsString;if(isString(element)&&(element=trim(element),argIsString=!0),!(this instanceof JQLite)){if(argIsString&&"<"!=element.charAt(0))throw jqLiteMinErr("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new JQLite(element)}jqLiteAddNodes(this,argIsString?jqLiteParseHTML(element):element)}function jqLiteClone(element){return element.cloneNode(!0)}function jqLiteDealoc(element,onlyDescendants){if(onlyDescendants||jqLiteRemoveData(element),element.querySelectorAll)for(var descendants=element.querySelectorAll("*"),i=0,l=descendants.length;i<l;i++)jqLiteRemoveData(descendants[i])}
31function jqLiteOff(element,type,fn,unsupported){if(isDefined(unsupported))throw jqLiteMinErr("offargs","jqLite#off() does not support the `selector` argument");var expandoStore=jqLiteExpandoStore(element),events=expandoStore&&expandoStore.events,handle=expandoStore&&expandoStore.handle;if(handle)if(type){var removeHandler=function(type){var listenerFns=events[type];isDefined(fn)&&arrayRemove(listenerFns||[],fn),isDefined(fn)&&listenerFns&&listenerFns.length>0||(removeEventListenerFn(element,type,handle),delete events[type])};forEach(type.split(" "),function(type){removeHandler(type),MOUSE_EVENT_MAP[type]&&removeHandler(MOUSE_EVENT_MAP[type])})}else for(type in events)"$destroy"!==type&&removeEventListenerFn(element,type,handle),delete events[type]}function jqLiteRemoveData(element,name){var expandoId=element.ng339,expandoStore=expandoId&&jqCache[expandoId];if(expandoStore){if(name)return void delete expandoStore.data[name];expandoStore.handle&&(expandoStore.events.$destroy&&expandoStore.handle({},"$destroy"),jqLiteOff(element)),delete jqCache[expandoId],element.ng339=undefined}}function jqLiteExpandoStore(element,createIfNecessary){var expandoId=element.ng339,expandoStore=expandoId&&jqCache[expandoId];return createIfNecessary&&!expandoStore&&(element.ng339=expandoId=jqNextId(),expandoStore=jqCache[expandoId]={events:{},data:{},handle:undefined}),expandoStore}function jqLiteData(element,key,value){if(jqLiteAcceptsData(element)){var isSimpleSetter=isDefined(value),isSimpleGetter=!isSimpleSetter&&key&&!isObject(key),massGetter=!key,expandoStore=jqLiteExpandoStore(element,!isSimpleGetter),data=expandoStore&&expandoStore.data;if(isSimpleSetter)data[key]=value;else{if(massGetter)return data;if(isSimpleGetter)return data&&data[key];extend(data,key)}}}function jqLiteHasClass(element,selector){return!!element.getAttribute&&(" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+selector+" ")>-1}function jqLiteRemoveClass(element,cssClasses){cssClasses&&element.setAttribute&&forEach(cssClasses.split(" "),function(cssClass){element.setAttribute("class",trim((" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+trim(cssClass)+" "," ")))})}function jqLiteAddClass(element,cssClasses){if(cssClasses&&element.setAttribute){var existingClasses=(" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");forEach(cssClasses.split(" "),function(cssClass){cssClass=trim(cssClass),-1===existingClasses.indexOf(" "+cssClass+" ")&&(existingClasses+=cssClass+" ")}),element.setAttribute("class",trim(existingClasses))}}function jqLiteAddNodes(root,elements){if(elements)if(elements.nodeType)root[root.length++]=elements;else{var length=elements.length;if("number"==typeof length&&elements.window!==elements){if(length)for(var i=0;i<length;i++)root[root.length++]=elements[i]}else root[root.length++]=elements}}function jqLiteController(element,name){return jqLiteInheritedData(element,"$"+(name||"ngController")+"Controller")}function jqLiteInheritedData(element,name,value){element.nodeType==NODE_TYPE_DOCUMENT&&(element=element.documentElement);for(var names=isArray(name)?name:[name];element;){for(var i=0,ii=names.length;i<ii;i++)if(isDefined(value=jqLite.data(element,names[i])))return value;element=element.parentNode||element.nodeType===NODE_TYPE_DOCUMENT_FRAGMENT&&element.host}}function jqLiteEmpty(element){for(jqLiteDealoc(element,!0);element.firstChild;)element.removeChild(element.firstChild)}function jqLiteRemove(element,keepData){keepData||jqLiteDealoc(element);var parent=element.parentNode;parent&&parent.removeChild(element)}function jqLiteDocumentLoaded(action,win){"complete"===(win=win||window).document.readyState?win.setTimeout(action):jqLite(win).on("load",action)}function getBooleanAttrName(element,name){var booleanAttr=BOOLEAN_ATTR[name.toLowerCase()];return booleanAttr&&BOOLEAN_ELEMENTS[nodeName_(element)]&&booleanAttr}function getAliasedAttrName(name){return ALIASED_ATTR[name]}function createEventHandler(element,events){var eventHandler=function(event,type){event.isDefaultPrevented=function(){return event.defaultPrevented};var eventFns=events[type||event.type],eventFnsLength=eventFns?eventFns.length:0;if(eventFnsLength){if(isUndefined(event.immediatePropagationStopped)){var originalStopImmediatePropagation=event.stopImmediatePropagation;event.stopImmediatePropagation=function(){event.immediatePropagationStopped=!0,event.stopPropagation&&event.stopPropagation(),originalStopImmediatePropagation&&originalStopImmediatePropagation.call(event)}}event.isImmediatePropagationStopped=function(){return!0===event.immediatePropagationStopped};var handlerWrapper=eventFns.specialHandlerWrapper||defaultHandlerWrapper;eventFnsLength>1&&(eventFns=shallowCopy(eventFns));for(var i=0;i<eventFnsLength;i++)event.isImmediatePropagationStopped()||handlerWrapper(element,event,eventFns[i])}};return eventHandler.elem=element,eventHandler}function defaultHandlerWrapper(element,event,handler){handler.call(element,event)}function specialMouseHandlerWrapper(target,event,handler){var related=event.relatedTarget;related&&(related===target||jqLiteContains.call(target,related))||handler.call(target,event)}function $$jqLiteProvider(){this.$get=function(){return extend(JQLite,{hasClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteHasClass(node,classes)},addClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteAddClass(node,classes)},removeClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteRemoveClass(node,classes)}})}}function hashKey(obj,nextUidFn){var key=obj&&obj.$$hashKey;if(key)return"function"==typeof key&&(key=obj.$$hashKey()),key;var objType=typeof obj;return key="function"==objType||"object"==objType&&null!==obj?obj.$$hashKey=objType+":"+(nextUidFn||nextUid)():objType+":"+obj}function HashMap(array,isolatedUid){if(isolatedUid){var uid=0;this.nextUid=function(){return++uid}}forEach(array,this.put,this)}function extractArgs(fn){var fnText=fn.toString().replace(STRIP_COMMENTS,"");return fnText.match(ARROW_ARG)||fnText.match(FN_ARGS)}function anonFn(fn){var args=extractArgs(fn);return args?"function("+(args[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function annotate(fn,strictDi,name){var $inject,last;if("function"==typeof fn){if(!($inject=fn.$inject)){if($inject=[],fn.length){if(strictDi)throw isString(name)&&name||(name=fn.name||anonFn(fn)),$injectorMinErr("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",name);forEach(extractArgs(fn)[1].split(FN_ARG_SPLIT),function(arg){arg.replace(FN_ARG,function(all,underscore,name){$inject.push(name)})})}fn.$inject=$inject}}else isArray(fn)?(assertArgFn(fn[last=fn.length-1],"fn"),$inject=fn.slice(0,last)):assertArgFn(fn,"fn",!0);return $inject}function createInjector(modulesToLoad,strictDi){function supportObject(delegate){return function(key,value){if(!isObject(key))return delegate(key,value);forEach(key,reverseParams(delegate))}}
31function provider(name,provider_){if(assertNotHasOwnProperty(name,"service"),(isFunction(provider_)||isArray(provider_))&&(provider_=providerInjector.instantiate(provider_)),!provider_.$get)throw $injectorMinErr("pget","Provider '{0}' must define $get factory method.",name);return providerCache[name+providerSuffix]=provider_}function enforceReturnValue(name,factory){return function(){var result=instanceInjector.invoke(factory,this);if(isUndefined(result))throw $injectorMinErr("undef","Provider '{0}' must return a value from $get factory method.",name);return result}}function factory(name,factoryFn,enforce){return provider(name,{$get:!1!==enforce?enforceReturnValue(name,factoryFn):factoryFn})}function service(name,constructor){return factory(name,["$injector",function($injector){return $injector.instantiate(constructor)}])}function value(name,val){return factory(name,valueFn(val),!1)}function constant(name,value){assertNotHasOwnProperty(name,"constant"),providerCache[name]=value,instanceCache[name]=value}function decorator(serviceName,decorFn){var origProvider=providerInjector.get(serviceName+providerSuffix),orig$get=origProvider.$get;origProvider.$get=function(){var origInstance=instanceInjector.invoke(orig$get,origProvider);return instanceInjector.invoke(decorFn,null,{$delegate:origInstance})}}function loadModules(modulesToLoad){assertArg(isUndefined(modulesToLoad)||isArray(modulesToLoad),"modulesToLoad","not an array");var moduleFn,runBlocks=[];return forEach(modulesToLoad,function(module){function runInvokeQueue(queue){var i,ii;for(i=0,ii=queue.length;i<ii;i++){var invokeArgs=queue[i],provider=providerInjector.get(invokeArgs[0]);provider[invokeArgs[1]].apply(provider,invokeArgs[2])}}if(!loadedModules.get(module)){loadedModules.put(module,!0);try{isString(module)?(moduleFn=angularModule(module),runBlocks=runBlocks.concat(loadModules(moduleFn.requires)).concat(moduleFn._runBlocks),runInvokeQueue(moduleFn._invokeQueue),runInvokeQueue(moduleFn._configBlocks)):isFunction(module)?runBlocks.push(providerInjector.invoke(module)):isArray(module)?runBlocks.push(providerInjector.invoke(module)):assertArgFn(module,"module")}catch(e){throw isArray(module)&&(module=module[module.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),$injectorMinErr("modulerr","Failed to instantiate module {0} due to:\n{1}",module,e.stack||e.message||e)}}}),runBlocks}function createInternalInjector(cache,factory){function getService(serviceName,caller){if(cache.hasOwnProperty(serviceName)){if(cache[serviceName]===INSTANTIATING)throw $injectorMinErr("cdep","Circular dependency found: {0}",serviceName+" <- "+path.join(" <- "));return cache[serviceName]}try{return path.unshift(serviceName),cache[serviceName]=INSTANTIATING,cache[serviceName]=factory(serviceName,caller)}catch(err){throw cache[serviceName]===INSTANTIATING&&delete cache[serviceName],err}finally{path.shift()}}function invoke(fn,self,locals,serviceName){"string"==typeof locals&&(serviceName=locals,locals=null);var length,i,key,args=[],$inject=createInjector.$$annotate(fn,strictDi,serviceName);for(i=0,length=$inject.length;i<length;i++){if("string"!=typeof(key=$inject[i]))throw $injectorMinErr("itkn","Incorrect injection token! Expected service name as string, got {0}",key);args.push(locals&&locals.hasOwnProperty(key)?locals[key]:getService(key,serviceName))}return isArray(fn)&&(fn=fn[length]),fn.apply(self,args)}function instantiate(Type,locals,serviceName){var instance=Object.create((isArray(Type)?Type[Type.length-1]:Type).prototype||null),returnedValue=invoke(Type,instance,locals,serviceName);return isObject(returnedValue)||isFunction(returnedValue)?returnedValue:instance}return{invoke:invoke,instantiate:instantiate,get:getService,annotate:createInjector.$$annotate,has:function(name){return providerCache.hasOwnProperty(name+providerSuffix)||cache.hasOwnProperty(name)}}}strictDi=!0===strictDi;var INSTANTIATING={},providerSuffix="Provider",path=[],loadedModules=new HashMap([],!0),providerCache={$provide:{provider:supportObject(provider),factory:supportObject(factory),service:supportObject(service),value:supportObject(value),constant:supportObject(constant),decorator:decorator}},providerInjector=providerCache.$injector=createInternalInjector(prov
31iderCache,function(serviceName,caller){throw angular.isString(caller)&&path.push(caller),$injectorMinErr("unpr","Unknown provider: {0}",path.join(" <- "))}),instanceCache={},protoInstanceInjector=createInternalInjector(instanceCache,function(serviceName,caller){var provider=providerInjector.get(serviceName+providerSuffix,caller);return instanceInjector.invoke(provider.$get,provider,undefined,serviceName)}),instanceInjector=protoInstanceInjector;providerCache["$injector"+providerSuffix]={$get:valueFn(protoInstanceInjector)};var runBlocks=loadModules(modulesToLoad);return(instanceInjector=protoInstanceInjector.get("$injector")).strictDi=strictDi,forEach(runBlocks,function(fn){fn&&instanceInjector.invoke(fn)}),instanceInjector}function $AnchorScrollProvider(){var autoScrollingEnabled=!0;this.disableAutoScrolling=function(){autoScrollingEnabled=!1},this.$get=["$window","$location","$rootScope",function($window,$location,$rootScope){function getFirstAnchor(list){var result=null;return Array.prototype.some.call(list,function(element){if("a"===nodeName_(element))return result=element,!0}),result}function getYOffset(){var offset=scroll.yOffset;if(isFunction(offset))offset=offset();else if(isElement(offset)){var elem=offset[0];offset="fixed"!==$window.getComputedStyle(elem).position?0:elem.getBoundingClientRect().bottom}else isNumber(offset)||(offset=0);return offset}function scrollTo(elem){if(elem){elem.scrollIntoView();var offset=getYOffset();if(offset){var elemTop=elem.getBoundingClientRect().top;$window.scrollBy(0,elemTop-offset)}}else $window.scrollTo(0,0)}function scroll(hash){var elm;(hash=isString(hash)?hash:$location.hash())?(elm=document.getElementById(hash))?scrollTo(elm):(elm=getFirstAnchor(document.getElementsByName(hash)))?scrollTo(elm):"top"===hash&&scrollTo(null):scrollTo(null)}var document=$window.document;return autoScrollingEnabled&&$rootScope.$watch(function(){return $location.hash()},function(newVal,oldVal){newVal===oldVal&&""===newVal||jqLiteDocumentLoaded(function(){$rootScope.$evalAsync(scroll)})}),scroll}]}function mergeClasses(a,b){return a||b?a?b?(isArray(a)&&(a=a.join(" ")),isArray(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function extractElementNode(element){for(var i=0;i<element.length;i++){var elm=element[i];if(elm.nodeType===ELEMENT_NODE)return elm}}function splitClasses(classes){isString(classes)&&(classes=classes.split(" "));var obj=createMap();return forEach(classes,function(klass){klass.length&&(obj[klass]=!0)}),obj}function prepareAnimateOptions(options){return isObject(options)?options:{}}function Browser(window,document,$log,$sniffer){function completeOutstandingRequest(fn){try{fn.apply(null,sliceArgs(arguments,1))}finally{if(0===--outstandingRequestCount)for(;outstandingRequestCallbacks.length;)try{outstandingRequestCallbacks.pop()()}catch(e){$log.error(e)}}}function getHash(url){var index=url.indexOf("#");return-1===index?"":url.substr(index)}function cacheStateAndFireUrlChange(){pendingLocation=null,cacheState(),fireUrlChange()}function getCurrentState(){try{return history.state}catch(e){}}function cacheState(){equals(cachedState=isUndefined(cachedState=getCurrentState())?null:cachedState,lastCachedState)&&(cachedState=lastCachedState),lastCachedState=cachedState}function fireUrlChange(){
32lastBrowserUrl===self.url()&&lastHistoryState===cachedState||(lastBrowserUrl=self.url(),lastHistoryState=cachedState,forEach(urlChangeListeners,function(listener){listener(self.url(),cachedState)}))}var self=this,location=(document[0],window.location),history=window.history,setTimeout=window.setTimeout,clearTimeout=window.clearTimeout,pendingDeferIds={};self.isMock=!1;var outstandingRequestCount=0,outstandingRequestCallbacks=[];self.$$completeOutstandingRequest=completeOutstandingRequest,self.$$incOutstandingRequestCount=function(){outstandingRequestCount++},self.notifyWhenNoOutstandingRequests=function(callback){0===outstandingRequestCount?callback():outstandingRequestCallbacks.push(callback)};var cachedState,lastHistoryState,lastBrowserUrl=location.href,baseElement=document.find("base"),pendingLocation=null;cacheState(),lastHistoryState=cachedState,self.url=function(url,replace,state){if(isUndefined(state)&&(state=null),location!==window.location&&(location=window.location),history!==window.history&&(history=window.history),url){var sameState=lastHistoryState===state;if(lastBrowserUrl===url&&(!$sniffer.history||sameState))return self;var sameBase=lastBrowserUrl&&stripHash(lastBrowserUrl)===stripHash(url);return lastBrowserUrl=url,lastHistoryState=state,!$sniffer.history||sameBase&&sameState?(sameBase&&!pendingLocation||(pendingLocation=url),replace?location.replace(url):sameBase?location.hash=getHash(url):location.href=url,location.href!==url&&(pendingLocation=url)):(history[replace?"replaceState":"pushState"](state,"",url),cacheState(),lastHistoryState=cachedState),self}return pendingLocation||location.href.replace(/%27/g,"'")},self.state=function(){return cachedState};var urlChangeListeners=[],urlChangeInit=!1,lastCachedState=null;self.onUrlChange=function(callback){return urlChangeInit||($sniffer.history&&jqLite(window).on("popstate",cacheStateAndFireUrlChange),jqLite(window).on("hashchange",cacheStateAndFireUrlChange),urlChangeInit=!0),urlChangeListeners.push(callback),callback},self.$$applicationDestroyed=function(){jqLite(window).off("hashchange popstate",cacheStateAndFireUrlChange)},self.$$checkUrlChange=fireUrlChange,self.baseHref=function(){var href=baseElement.attr("href");return href?href.replace(/^(https?\:)?\/\/[^\/]*/,""):""},self.defer=function(fn,delay){var timeoutId;return outstandingRequestCount++,timeoutId=setTimeout(function(){delete pe
32ndingDeferIds[timeoutId],completeOutstandingRequest(fn)},delay||0),pendingDeferIds[timeoutId]=!0,timeoutId},self.defer.cancel=function(deferId){return!!pendingDeferIds[deferId]&&(delete pendingDeferIds[deferId],clearTimeout(deferId),completeOutstandingRequest(noop),!0)}}function $BrowserProvider(){this.$get=["$window","$log","$sniffer","$document",function($window,$log,$sniffer,$document){return new Browser($window,$document,$log,$sniffer)}]}function $CacheFactoryProvider(){this.$get=function(){function cacheFactory(cacheId,options){function refresh(entry){entry!=freshEnd&&(staleEnd?staleEnd==entry&&(staleEnd=entry.n):staleEnd=entry,link(entry.n,entry.p),link(entry,freshEnd),(freshEnd=entry).n=null)}function link(nextEntry,prevEntry){nextEntry!=prevEntry&&(nextEntry&&(nextEntry.p=prevEntry),prevEntry&&(prevEntry.n=nextEntry))}if(cacheId in caches)throw minErr("$cacheFactory")("iid","CacheId '{0}' is already taken!",cacheId);var size=0,stats=extend({},options,{id:cacheId}),data=createMap(),capacity=options&&options.capacity||Number.MAX_VALUE,lruHash=createMap(),freshEnd=null,staleEnd=null;return caches[cacheId]={put:function(key,value){if(!isUndefined(value)){if(capacity<Number.MAX_VALUE)refresh(lruHash[key]||(lruHash[key]={key:key}));return key in data||size++,data[key]=value,size>capacity&&this.remove(staleEnd.key),value}},get:function(key){if(capacity<Number.MAX_VALUE){var lruEntry=lruHash[key];if(!lruEntry)return;refresh(lruEntry)}return data[key]},remove:function(key){if(capacity<Number.MAX_VALUE){var lruEntry=lruHash[key];if(!lruEntry)return;lruEntry==freshEnd&&(freshEnd=lruEntry.p),lruEntry==staleEnd&&(staleEnd=lruEntry.n),link(lruEntry.n,lruEntry.p),delete lruHash[key]}key in data&&(delete data[key],size--)},removeAll:function(){data=createMap(),size=0,lruHash=createMap(),freshEnd=staleEnd=null},destroy:function(){data=null,stats=null,lruHash=null,delete caches[cacheId]},info:function(){return extend({},stats,{size:size})}}}var caches={};return cacheFactory.info=function(){var info={};return forEach(caches,function(cache,cacheId){info[cacheId]=cache.info()}),info},cacheFactory.get=function(cacheId){return caches[cacheId]},cacheFactory}}function $TemplateCacheProvider(){this.$get=["$cacheFactory",function($cacheFactory){return $cacheFactory("templates")}]}function $CompileProvider($provide,$$sanitizeUriProvider){function parseIsolateBindings(scope,directiveName,isController){var LOCAL_REGEXP=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,bindings={};return forEach(scope,function(definition,scopeName){var match=definition.match(LOCAL_REGEXP);if(!match)throw $compileMinErr("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",directiveName,scopeName,definition,isController?"controller bindings definition":"isolate scope definition");bindings[scopeName]={mode:match[1][0],collection:"*"===match[2],optional:"?"===match[3],attrName:match[4]||scopeName}}),bindings}function parseDirectiveBindings(directive,directiveName){var bindings={isolateScope:null,bindToController:null};if(isObject(directive.scope)&&(!0===directive.bindToController?(bindings.bindToController=parseIsolateBindings(directive.scope,directiveName,!0),bindings.isolateScope={}):bindings.isolateScope=parseIsolateBindings(directive.scope,directiveName,!1)),isObject(directive.bindToController)&&(bindings.bindToController=parseIsolateBindings(directive.bindToController,directiveName,!0)),isObject(bindings.bindToController)){var controller=directive.controller,controllerAs=directive.controllerAs;if(!controller)throw $compileMinErr("noctrl","Cannot bind to controller without directive '{0}'s controller.",directiveName);if(!identifierForController(controller,controllerAs))throw $compileMinErr("noident","Cannot bind to controller without identifier for directive '{0}'.",directiveName)}return bindings}function assertValidDirectiveName(name){var letter=name.charAt(0);if(!letter||letter!==lowercase(letter))throw $compileMinErr("baddir","Directive name '{0}' is invalid. The first character must be a lowercase letter",name);if(name!==name.trim())throw $compileMinErr("baddir","Directive name '{0}
32' is invalid. The name should not contain leading or trailing whitespaces",name)}var hasDirectives={},Suffix="Directive",COMMENT_DIRECTIVE_REGEXP=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,CLASS_DIRECTIVE_REGEXP=/(([\w\-]+)(?:\:([^;]+))?;?)/,ALL_OR_NOTHING_ATTRS=makeMap("ngSrc,ngSrcset,src,srcset"),REQUIRE_PREFIX_REGEXP=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,EVENT_HANDLER_ATTR_REGEXP=/^(on[a-z]+|formaction)$/;this.directive=function registerDirective(name,directiveFactory){return assertNotHasOwnProperty(name,"directive"),isString(name)?(assertValidDirectiveName(name),assertArg(directiveFactory,"directiveFactory"),hasDirectives.hasOwnProperty(name)||(hasDirectives[name]=[],$provide.factory(name+Suffix,["$injector","$exceptionHandler",function($injector,$exceptionHandler){var directives=[];return forEach(hasDirectives[name],function(directiveFactory,index){try{var directive=$injector.invoke(directiveFactory);isFunction(directive)?directive={compile:valueFn(directive)}:!directive.compile&&directive.link&&(directive.compile=valueFn(directive.link)),directive.priority=directive.priority||0,directive.index=index,directive.name=directive.name||name,directive.require=directive.require||directive.controller&&directive.name,directive.restrict=directive.restrict||"EA";var bindings=directive.$$bindings=parseDirectiveBindings(directive,directive.name);isObject(bindings.isolateScope)&&(directive.$$isolateBindings=bindings.isolateScope),directive.$$moduleName=directiveFactory.$$moduleName,directives.push(directive)}catch(e){$exceptionHandler(e)}}),directives}])),hasDirectives[name].push(directiveFactory)):forEach(name,reverseParams(registerDirective)),this},this.aHrefSanitizationWhitelist=function(regexp){return isDefined(regexp)?($$sanitizeUriProvider.aHrefSanitizationWhitelist(regexp),this):$$sanitizeUriProvider.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(regexp){return isDefined(regexp)?($$sanitizeUriProvider.imgSrcSanitizationWhitelist(regexp),this):$$sanitizeUriProvider.imgSrcSanitizationWhitelist()};var debugInfoEnabled=!0;this.debugInfoEnabled=function(enabled){return isDefined(enabled)?(debugInfoEnabled=enabled,this):debugInfoEnabled},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function($injector,$interpolate,$exceptionHandler,$templateRequest,$parse,$controller,$rootScope,$document,$sce,$animate,$$sanitizeUri){function setSpecialAttr(element,attrName,value){specialAttrHolder.innerHTML="<span "+attrName+">";var attributes=specialAttrHolder.firstChild.attributes,attribute=attributes[0];attributes.removeNamedItem(attribute.name),attribute.value=value,element.attributes.setNamedItem(attribute)}function safeAddClass($element,className){try{$element.addClass(className)}catch(e){}}function compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext){$compileNodes instanceof jqLite||($compileNodes=jqLite($compileNodes)),forEac
32h($compileNodes,function(node,index){node.nodeType==NODE_TYPE_TEXT&&node.nodeValue.match(/\S+/)&&($compileNodes[index]=jqLite(node).wrap("<span></span>").parent()[0])});var compositeLinkFn=compileNodes($compileNodes,transcludeFn,$compileNodes,maxPriority,ignoreDirective,previousCompileContext);compile.$$addScopeClass($compileNodes);var namespace=null;return function(scope,cloneConnectFn,options){assertArg(scope,"scope"),previousCompileContext&&previousCompileContext.needsNewScope&&(scope=scope.$parent.$new());var $linkNode,parentBoundTranscludeFn=(options=options||{}).parentBoundTranscludeFn,transcludeControllers=options.transcludeControllers,futureParentElement=options.futureParentElement;if(parentBoundTranscludeFn&&parentBoundTranscludeFn.$$boundTransclude&&(parentBoundTranscludeFn=parentBoundTranscludeFn.$$boundTransclude),namespace||(namespace=detectNamespaceForChildElements(futureParentElement)),$linkNode="html"!==namespace?jqLite(wrapTemplate(namespace,jqLite("<div>").append($compileNodes).html())):cloneConnectFn?JQLitePrototype.clone.call($compileNodes):$compileNodes,transcludeControllers)for(var controllerName in transcludeControllers)$linkNode.data("$"+controllerName+"Controller",transcludeControllers[controllerName].instance);return compile.$$addScopeInfo($linkNode,scope),cloneConnectFn&&cloneConnectFn($linkNode,scope),compositeLinkFn&&compositeLinkFn(scope,$linkNode,$linkNode,parentBoundTranscludeFn),$linkNode}}function detectNamespaceForChildElements(parentElement){var node=parentElement&&parentElement[0];return node&&"foreignobject"!==nodeName_(node)&&node.toString().match(/SVG/)?"svg":"html"}function compileNodes(nodeList,transcludeFn,$rootElement,maxPriority,ignoreDirective,previousCompileContext){function compositeLinkFn(scope,nodeList,$rootElement,parentBoundTranscludeFn){var nodeLinkFn,childLinkFn,node,childScope,i,ii,idx,stableNodeList;if(nodeLinkFnFound){var nodeListLength=nodeList.length;for(stableNodeList=new Array(nodeListLength),i=0;i<linkFns.length;i+=3)stableNodeList[idx=linkFns[i]]=nodeList[idx]}else stableNodeList=nodeList;for(i=0,ii=linkFns.length;i<ii;)node=stableNodeList[linkFns[i++]],nodeLinkFn=linkFns[i++],childLinkFn=linkFns[i++],nodeLinkFn?(nodeLinkFn.scope?(childScope=scope.$new(),compile.$$addScopeInfo(jqLite(node),childScope)):childScope=scope,nodeLinkFn(childLinkFn,childScope,node,$rootElement,nodeLinkFn.transcludeOnThisElement?createBoundTranscludeFn(scope,nodeLinkFn.transclude,parentBoundTranscludeFn):!nodeLinkFn.templateOnThisElement&&parentBoundTranscludeFn?parentBoundTranscludeFn:!parentBoundTranscludeFn&&transcludeFn?createBoundTranscludeFn(scope,transcludeFn):null)):childLinkFn&&childLinkFn(scope,node.childNodes,undefined,parentBoundTranscludeFn)}for(var attrs,directives,nodeLinkFn,childNodes,childLinkFn,linkFnFound,nodeLinkFnFound,linkFns=[],i=0;i<nodeList.length;i++)attrs=new Attributes,(nodeLinkFn=(directives=collectDirectives(nodeList[i],[],attrs,0===i?maxPriority:undefined,ignoreDirective)).length?applyDirectivesToNode(directives,nodeList[i],attrs,transcludeFn,$rootElement,null,[],[],previousCompileContext):null)&&nodeLinkFn.scope&&compile.$$addScopeClass(attrs.$$element),childLinkFn=nodeLinkFn&&nodeLinkFn.terminal||!(childNodes=nodeList[i].childNodes)||!childNodes.length?null:compileNodes(childNodes,nodeLinkFn?(nodeLinkFn.transcludeOnThisElement||!nodeLinkFn.templateOnThisElement)&&nodeLinkFn.transclude:transcludeFn),(nodeLinkFn||childLinkFn)&&(linkFns.push(i,nodeLinkFn,childLinkFn),linkFnFound=!0,nodeLinkFnFound=nodeLinkFnFound||nodeLinkFn),previousCompileContext=null;return linkFnFound?compositeLinkFn:null}function createBoundTranscludeFn(scope,transcludeFn,previousBoundTranscludeFn){var boundTranscludeFn=function(transcludedScope,cloneFn,controllers,futureParentElement,containingScope){return transcludedScope||((transcludedScope=scope.$new(!1,containingScope)).$$transcluded=!0),transcludeFn(transcludedScope,cloneFn,{parentBoundTranscludeFn:previousBoundTranscludeFn,transcludeControllers:controllers,futureParentElement:futureParentElement})},boundSlots=boundTranscludeFn.$$slots=createMap();for(var slotName in transcludeFn.$$slots)transcludeFn.$$slots[slotName]?boun
32dSlots[slotName]=createBoundTranscludeFn(scope,transcludeFn.$$slots[slotName],previousBoundTranscludeFn):boundSlots[slotName]=null;return boundTranscludeFn}function collectDirectives(node,directives,attrs,maxPriority,ignoreDirective){var match,className,nodeType=node.nodeType,attrsMap=attrs.$attr;switch(nodeType){case NODE_TYPE_ELEMENT:addDirective(directives,directiveNormalize(nodeName_(node)),"E",maxPriority,ignoreDirective);for(var attr,name,nName,ngAttrName,value,isNgAttr,nAttrs=node.attributes,j=0,jj=nAttrs&&nAttrs.length;j<jj;j++){var attrStartName=!1,attrEndName=!1;name=(attr=nAttrs[j]).name,value=trim(attr.value),ngAttrName=directiveNormalize(name),(isNgAttr=NG_ATTR_BINDING.test(ngAttrName))&&(name=name.replace(PREFIX_REGEXP,"").substr(8).replace(/_(.)/g,function(match,letter){return letter.toUpperCase()}));var multiElementMatch=ngAttrName.match(MULTI_ELEMENT_DIR_RE);multiElementMatch&&directiveIsMultiElement(multiElementMatch[1])&&(attrStartName=name,attrEndName=name.substr(0,name.length-5)+"end",name=name.substr(0,name.length-6)),attrsMap[nName=directiveNormalize(name.toLowerCase())]=name,!isNgAttr&&attrs.hasOwnProperty(nName)||(attrs[nName]=value,getBooleanAttrName(node,nName)&&(attrs[nName]=!0)),addAttrInterpolateDirective(node,directives,value,nName,isNgAttr),addDirective(directives,nName,"A",maxPriority,ignoreDirective,attrStartName,attrEndName)}if(isObject(className=node.className)&&(className=className.animVal),isString(className)&&""!==className)for(;match=CLASS_DIRECTIVE_REGEXP.exec(className);)addDirective(directives,nName=directiveNormalize(match[2]),"C",maxPriority,ignoreDirective)&&(attrs[nName]=trim(match[3])),className=className.substr(match.index+match[0].length);break;case NODE_TYPE_TEXT:if(11===msie)for(;node.parentNode&&node.nextSibling&&node.nextSibling.nodeType===NODE_TYPE_TEXT;)node.nodeValue=node.nodeValue+node.nextSibling.nodeValue,node.parentNode.removeChild(node.nextSibling);addTextInterpolateDirective(directives,node.nodeValue);break;case NODE_TYPE_COMMENT:try{(match=COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue))&&addDirective(directives,nName=directiveNormalize(match[1]),"M",maxPriority,ignoreDirective)&&(attrs[nName]=trim(match[2]))}catch(e){}}return directives.sort(byPriority),directives}function groupScan(node,attrStart,attrEnd){var nodes=[],depth=0;if(attrStart&&node.hasAttribute&&node.hasAttribute(attrStart)){do{if(!node)throw $compileMinErr("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",attrStart,attrEnd);node.nodeType==NODE_TYPE_ELEMENT&&(node.hasAttribute(attrStart)&&depth++,node.hasAttribute(attrEnd)&&depth--),nodes.push(node),node=node.nextSibling}while(depth>0)}else nodes.push(node);return jqLite(nodes)}function groupElementsLinkFnWrapper(linkFn,attrStart,attrEnd){return function(scope,element,attrs,controllers,transcludeFn){return element=groupScan(element[0],attrStart,attrEnd),linkFn(scope,element,attrs,controllers,transcludeFn)}}function compilationGenerator(eager,$compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext){return eager?compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext):function(){return compiled||(compiled=compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext),$compileNodes=transcludeFn=previousCompileContext=null),compiled.apply(this,arguments)};var compiled}function applyDirectivesToNode(directives,compileNode,templateAttrs,transcludeFn,jqCollection,originalReplaceDirective,preLinkFns,postLinkFns,previousCompileContext){function addLinkFns(pre,post,attrStart,attrEnd){pre&&(attrStart&&(pre=groupElementsLinkFnWrapper(pre,attrStart,attrEnd)),pre.require=directive.require,pre.directiveName=directiveName,(newIsolateScopeDirective===directive||directive.$$isolateScope)&&(pre=cloneAndAnnotateFn(pre,{isolateScope:!0})),preLinkFns.push(pre)),post&&(attrStart&&(post=groupElementsLinkFnWrapper(post,attrStart,attrEnd)),post.require=directive.require,post.directiveName=directiveName,(newIsolateScopeDirective===directive||directive.$$isolateScope)&&(post=cloneAndAnnotateFn(post,{isolateScope:!0})),postLinkFns.push(post))}function getControllers(directiveName,require,$element,elementControllers){var value;if(isString(require)){var match=require.match(REQUIRE_PREFIX_REGEXP),name=require.substring(match[0].length),inheritType=match[1]||match[3],optional="?"===match[2];
32if("^^"===inheritType?$element=$element.parent():value=(value=elementControllers&&elementControllers[name])&&value.instance,!value){var dataName="$"+name+"Controller";value=inheritType?$element.inheritedData(dataName):$element.data(dataName)}if(!value&&!optional)throw $compileMinErr("ctreq","Controller '{0}', required by directive '{1}', can't be found!",name,directiveName)}else if(isArray(require)){value=[];for(var i=0,ii=require.length;i<ii;i++)value[i]=getControllers(directiveName,require[i],$element,elementControllers)}return value||null}function setupControllers($element,attrs,transcludeFn,controllerDirectives,isolateScope,scope){var elementControllers=createMap();for(var controllerKey in controllerDirectives){var directive=controllerDirectives[controllerKey],locals={$scope:directive===newIsolateScopeDirective||directive.$$isolateScope?isolateScope:scope,$element:$element,$attrs:attrs,$transclude:transcludeFn},controller=directive.controller;"@"==controller&&(controller=attrs[directive.name]);var controllerInstance=$controller(controller,locals,!0,directive.controllerAs);elementControllers[directive.name]=controllerInstance,hasElementTranscludeDirective||$element.data("$"+directive.name+"Controller",controllerInstance.instance)}return elementControllers}function nodeLinkFn(childLinkFn,scope,linkNode,$rootElement,boundTranscludeFn){function controllersBoundTransclude(scope,cloneAttachFn,futureParentElement,slotName){var transcludeControllers;if(isScope(scope)||(slotName=futureParentElement,futureParentElement=cloneAttachFn,cloneAttachFn=scope,scope=undefined),hasElementTranscludeDirective&&(transcludeControllers=elementControllers),futureParentElement||(futureParentElement=hasElementTranscludeDirective?$element.parent():$element),!slotName)return boundTranscludeFn(scope,cloneAttachFn,transcludeControllers,futureParentElement,scopeToChild);var slotTranscludeFn=boundTranscludeFn.$$slots[slotName];if(slotTranscludeFn)return slotTranscludeFn(scope,cloneAttachFn,transcludeControllers,futureParentElement,scopeToChild);if(isUndefined(slotTranscludeFn))throw $compileMinErr("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',slotName,startingTag($element))}var linkFn,isolateScope,controllerScope,elementControllers,transcludeFn,$element,attrs,removeScopeBindingWatches,removeControllerBindingWatches;for(var name in compileNode===linkNode?(attrs=templateAttrs,$element=templateAttrs.$$element):($element=jqLite(linkNode),attrs=new Attributes($element,templateAttrs)),controllerScope=scope,newIsolateScopeDirective?isolateScope=scope.$new(!0):newScopeDirective&&(controllerScope=scope.$parent),boundTranscludeFn&&((transcludeFn=controllersBoundTransclude).$$boundTransclude=boundTranscludeFn,transcludeFn.isSlotFilled=function(slotName){return!!boundTranscludeFn.$$slots[slotName]}),controllerDirectives&&(elementControllers=setupControllers($element,attrs,transcludeFn,controllerDirectives,isolateScope,scope)),newIsolateScopeDirective&&(compile.$$addScopeInfo($element,isolateScope,!0,!(templateDirective&&(templateDirective===newIsolateScopeDirective||templateDirective===newIsolateScopeDirective.$$originalDirective))),compile.$$addScopeClass($element,!0),isolateScope.$$isolateBindings=newIsolateScopeDirective.$$isolateBindings,(removeScopeBindingWatches=initializeDirectiveBindings(scope,attrs,isolateScope,isolateScope.$$isolateBindings,newIsolateScopeDirective))&&isolateScope.$on("$destroy",removeScopeBindingWatches)),elementControllers){var controllerDirective=controllerDirectives[name],controller=elementControllers[name],bindings=controllerDirective.$$bindings.bindToController;controller.identifier&&bindings&&(removeControllerBindingWatches=initializeDirectiveBindings(controllerScope,attrs,controller.instance,bindings,controllerDirective));var controllerResult=controller();controllerResult!==controller.instance&&(controller.instance=controllerResult,$element.data("$"+controllerDirective.name+"Controller",controllerResult),removeControllerBindingWatches&&removeControllerBindingWatches(),removeControllerBindingWatches=initializeDirectiveBindings(controllerScope,attrs,controller.instance,bindings,controllerDirective))}for(i=0,ii=preLinkFns.length;i<ii;i++)invokeLinkFn(linkFn=preLinkFns[i],linkFn.isolateScope?isolateScope:scope,$element,attrs,linkFn.require&&getControllers(linkFn.directiveName,linkFn.require,$element,elementControllers),transcludeFn);var scopeToChild=scope;for(newIsolateScopeDirective&&(newIsolateScopeDirective.template||null===newIsolateScopeDirective.templateUrl)&&(scopeToChild=isolateScope),childLinkFn&&childLinkFn(scopeToChild,linkNode.childNodes,undefined,boundTranscludeFn),i=postLinkFns.length-1;i>=0;i--)invokeLinkFn(linkFn=postLinkFns[i],linkFn.isolateScope?isolateScope:scope,$element,attrs,linkFn.require&&getControllers(linkFn.directiveName,linkFn.require,$element,elementControllers),transcludeFn)}previousCompileContext=previousCompileContext||{};for(var directive,directiveName,$template,linkFn,directiveValue,terminalPriority=-Number.MAX_VALUE,newScopeDirective=previousCompileContext.newScopeDirective,controllerDirectives=previousCompileContext.controllerDirectives,newIsolateScopeDirective=previousCompileContext.newIsolateScopeDirective,templateDirective=previousCompileContext.templateDirective,nonTlbTranscludeDirective=previousCompileContext.nonTlbTranscludeDirective,hasTranscludeDirective=!1,hasTemplate=!1,hasElementTranscludeDirective=previousCompileContext.hasElementTranscludeDirective,$compileNode=templateAttrs.$$element=jqLite(compileNode),replaceDirective=originalReplaceDirective,childTranscludeFn=transcludeFn,didScanForMultipleTransclusion=!1,mightHaveMultipleTransclusionError=!1,i=0,ii=directives.length;i<ii;i++){var attrStart=(directive=directives[i]).$$start,attrEnd=directive.$$end;if(attrStart&&($compileNode=groupScan(compileNode,attrStart,attrEnd)),$template=undefined,terminalPriority>directive.priority)break;if((directiveValue=directive.scope)&&(directive.templateUrl||(isObject(directiveValue)?(assertN
32oDuplicate("new/isolated scope",newIsolateScopeDirective||newScopeDirective,directive,$compileNode),newIsolateScopeDirective=directive):assertNoDuplicate("new/isolated scope",newIsolateScopeDirective,directive,$compileNode)),newScopeDirective=newScopeDirective||directive),directiveName=directive.name,!didScanForMultipleTransclusion&&(directive.replace&&(directive.templateUrl||directive.template)||directive.transclude&&!directive.$$tlb)){for(var candidateDirective,scanningIndex=i+1;candidateDirective=directives[scanningIndex++];)if(candidateDirective.transclude&&!candidateDirective.$$tlb||candidateDirective.replace&&(candidateDirective.templateUrl||candidateDirective.template)){mightHaveMultipleTransclusionError=!0;break}didScanForMultipleTransclusion=!0}if(!directive.templateUrl&&directive.controller&&(directiveValue=directive.controller,controllerDirectives=controllerDirectives||createMap(),assertNoDuplicate("'"+directiveName+"' controller",controllerDirectives[directiveName],directive,$compileNode),controllerDirectives[directiveName]=directive),directiveValue=directive.transclude)if(hasTranscludeDirective=!0,directive.$$tlb||(assertNoDuplicate("transclusion",nonTlbTranscludeDirective,directive,$compileNode),nonTlbTranscludeDirective=directive),"element"==directiveValue)hasElementTranscludeDirective=!0,terminalPriority=directive.priority,$template=$compileNode,$compileNode=templateAttrs.$$element=jqLite(document.createComment(" "+directiveName+": "+templateAttrs[directiveName]+" ")),compileNode=$compileNode[0],replaceWith(jqCollection,sliceArgs($template),compileNode),childTranscludeFn=compilationGenerator(mightHaveMultipleTransclusionError,$template,transcludeFn,terminalPriority,replaceDirective&&replaceDirective.name,{nonTlbTranscludeDirective:nonTlbTranscludeDirective});else{var slots=createMap();if($template=jqLite(jqLiteClone(compileNode)).contents(),isObject(directiveValue)){$template=[];var slotMap=createMap(),filledSlots=createMap();for(var slotName in forEach(directiveValue,function(elementSelector,slotName){var optional="?"===elementSelector.charAt(0);elementSelector=optional?elementSelector.substring(1):elementSelector,slotMap[elementSelector]=slotName,slots[slotName]=null,filledSlots[slotName]=optional}),forEach($compileNode.contents(),function(node){var slotName=slotMap[directiveNormalize(nodeName_(node))];slotName?(filledSlots[slotName]=!0,slots[slotName]=slots[slotName]||[],slots[slotName].push(node)):$template.push(node)}),forEach(filledSlots,function(filled,slotName){if(!filled)throw $compileMinErr("reqslot","Required transclusion slot `{0}` was not filled.",slotName)}),slots)slots[slotName]&&(slots[slotName]=compilationGenerator(mightHaveMultipleTransclusionError,slots[slotName],transcludeFn))}$compileNode.empty(),(childTranscludeFn=compilationGenerator(mightHaveMultipleTransclusionError,$template,transcludeFn,undefined,undefined,{needsNewScope:directive.$$isolateScope||directive.$$newScope})).$$slots=slots}if(directive.template)if(hasTemplate=!0,assertNoDuplicate("template",templateDirective,directive,$compileNode),templateDirective=directive,directiveValue=isFunction(directive.template)?directive.template($compileNode,templateAttrs):directive.template,directiveValue=denormalizeTemplate(directiveValue),directive.replace){if(replaceDirective=directive,$template=jqLiteIsTextNode(directiveValue)?[]:removeComments(wrapTemplate(directive.templateNamespace,trim(directiveValue))),compileNode=$template[0],1!=$template.length||compileNode.nodeType!==NODE_TYPE_ELEMENT)throw $compileMinErr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",directiveName,"");replaceWith(jqCollection,$compileNode,compileNode);var newTemplateAttrs={$attr:{}},templateDirectives=collectDirectives(compileNode,[],newTemplateAttrs),unprocessedDirectives=directives.splice(i+1,directives.length-(i+1));(newIsolateScopeDirective||newScopeDirective)&&markDirectiveScope(templateDirectives,newIsolateScopeDirective,newScopeDirective),directives=directives.concat(templateDirectives).concat(unprocessedDirectives),mergeTemplateAttributes(templateAttrs,newTemplateAttrs),ii=directives.length}else $compileNode.html(directiveValue);if(directive.templateUrl)hasTemplate=!0,assertNoDuplicate("template",templateDirective,directive,$compileNode),templateDirective=directive,directive.replace&&(replaceDirective=directive),nodeLinkFn=compileTemplateUrl(directives.splice(i,directives.length-i),$compileNode,templateAttrs,jqCollection,hasTranscludeDirective&&childTranscludeFn,preLinkFns,postLinkFns,{controllerDirectives:controllerDirectives,newScopeDirective:newScopeDirective!==directive&&newScopeDirective,newIsolateScopeDirective:newIsolateScopeDirective,templateDirective:templateDirective,nonTlbTranscludeDirective:nonTlbTranscludeDirective}),ii=directives.length;else if(directive.compile)try{isFunction(linkFn=directive.compile($compileNode,templateAttrs,childTranscludeFn))?addLinkFns(null,linkFn,attrStart,attrEnd):linkFn&&addLinkFns(linkFn.pre,linkFn.post,attrStart,attrEnd)}catch(e){$exceptionHandler(e,startingTag($compileNode))}directive.terminal&&(nodeLinkFn.terminal=!0,terminalPriority=Math.max(terminalPriority,directive.priority))}return nodeLinkFn.scope=newScopeDirective&&!0===newScopeDirective.scope,nodeLinkFn.transcludeOnThisElement=hasTranscludeDirective,nodeLinkFn.templateOnThisElement=hasTemplate,nodeLinkFn.transclude=childTranscludeFn,previousCompileContext.hasElementTranscludeDirective=hasElementTranscludeDirective,nodeLinkFn}function markDirectiveScope(directives,isolateScope,newScope){for(var j=0,jj=directives.length;j<jj;j++)directives[j]=inherit(directives[j],{$$isolateScope:isolateScope,$$newScope:newScope})}function addDirective(tDirectives,name,location,maxPriority,ignoreDirective,startAttrName,endAttrName){if(name===ignoreDirective)return null;var match=null;if(hasDirectives.hasOwnProperty(name))for(var directive,directives=$injector.get(name+Suffix),i=0,ii=directives.length;i<ii;i++)try{directive=directives[i],(isUndefined(maxPriority)||maxPriority>directive.priority)&&-1!=directive.restrict.indexOf(location)&&(startAttrName&&(directive=inherit(directive,{$$start:startAttrName,$$end:endAttrName})),tDirectives.push(directive),match=directive)}catch(e){$exceptionHandler(e)}return match}function directiveIsMultiElement(name){if(hasDirectives.hasOwnProperty(name))for(var directives=$injector.get(name+Suffix),i=0,ii=directives.length;i<ii;i++)if(directives[i].multiElement)return!0;return!1}function mergeTemplateAttributes(dst,src){var srcAttr=src.$attr,dstAttr=dst.$attr,$element=dst.$$element;
32forEach(dst,function(value,key){"$"!=key.charAt(0)&&(src[key]&&src[key]!==value&&(value+=("style"===key?";":" ")+src[key]),dst.$set(key,value,!0,srcAttr[key]))}),forEach(src,function(value,key){"class"==key?(safeAddClass($element,value),dst["class"]=(dst["class"]?dst["class"]+" ":"")+value):"style"==key?($element.attr("style",$element.attr("style")+";"+value),dst.style=(dst.style?dst.style+";":"")+value):"$"==key.charAt(0)||dst.hasOwnProperty(key)||(dst[key]=value,dstAttr[key]=srcAttr[key])})}function compileTemplateUrl(directives,$compileNode,tAttrs,$rootElement,childTranscludeFn,preLinkFns,postLinkFns,previousCompileContext){var afterTemplateNodeLinkFn,afterTemplateChildLinkFn,linkQueue=[],beforeTemplateCompileNode=$compileNode[0],origAsyncDirective=directives.shift(),derivedSyncDirective=inherit(origAsyncDirective,{templateUrl:null,transclude:null,replace:null,$$originalDirective:origAsyncDirective}),templateUrl=isFunction(origAsyncDirective.templateUrl)?origAsyncDirective.templateUrl($compileNode,tAttrs):origAsyncDirective.templateUrl,templateNamespace=origAsyncDirective.templateNamespace;return $compileNode.empty(),$templateRequest(templateUrl).then(function(content){var compileNode,tempTemplateAttrs,$template,childBoundTranscludeFn;if(content=denormalizeTemplate(content),origAsyncDirective.replace){if($template=jqLiteIsTextNode(content)?[]:removeComments(wrapTemplate(templateNamespace,trim(content))),compileNode=$template[0],1!=$template.length||compileNode.nodeType!==NODE_TYPE_ELEMENT)throw $compileMinErr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",origAsyncDirective.name,templateUrl);tempTemplateAttrs={$attr:{}},replaceWith($rootElement,$compileNode,compileNode);var templateDirectives=collectDirectives(compileNode,[],tempTemplateAttrs);isObject(origAsyncDirective.scope)&&markDirectiveScope(templateDirectives,!0),
33directives=templateDirectives.concat(directives),mergeTemplateAttributes(tAttrs,tempTemplateAttrs)}else compileNode=beforeTemplateCompileNode,$compileNode.html(content);for(directives.unshift(derivedSyncDirective),afterTemplateNodeLinkFn=applyDirectivesToNode(directives,compileNode,tAttrs,childTranscludeFn,$compileNode,origAsyncDirective,preLinkFns,postLinkFns,previousCompileContext),forEach($rootElement,function(node,i){node==compileNode&&($rootElement[i]=$compileNode[0])}),afterTemplateChildLinkFn=compileNodes($compileNode[0].childNodes,childTranscludeFn);linkQueue.length;){var scope=linkQueue.shift(),beforeTemplateLinkNode=linkQueue.shift(),linkRootElement=linkQueue.shift(),boundTranscludeFn=linkQueue.shift(),linkNode=$compileNode[0];if(!scope.$$destroyed){if(beforeTemplateLinkNode!==beforeTemplateCompileNode){var oldClasses=beforeTemplateLinkNode.className;previousCompileContext.hasElementTranscludeDirective&&origAsyncDirective.replace||(linkNode=jqLiteClone(compileNode)),replaceWith(linkRootElement,jqLite(beforeTemplateLinkNode),linkNode),safeAddClass(jqLite(linkNode),oldClasses)}childBoundTranscludeFn=afterTemplateNodeLinkFn.transcludeOnThisElement?createBoundTranscludeFn(scope,afterTemplateNodeLinkFn.transclude,boundTranscludeFn):boundTranscludeFn,afterTemplateNodeLinkFn(afterTemplateChildLinkFn,scope,linkNode,$rootElement,childBoundTranscludeFn)}}linkQueue=null}),function(ignoreChildLinkFn,scope,node,rootElement,boundTranscludeFn){var childBoundTranscludeFn=boundTranscludeFn;scope.$$destroyed||(linkQueue?linkQueue.push(scope,node,rootElement,childBoundTranscludeFn):(afterTemplateNodeLinkFn.transcludeOnThisElement&&(childBoundTranscludeFn=createBoundTranscludeFn(scope,afterTemplateNodeLinkFn.transclude,boundTranscludeFn)),afterTemplateNodeLinkFn(afterTemplateChildLinkFn,scope,node,rootElement,childBoundTranscludeFn)))}}function byPriority(a,b){var diff=b.priority-a.priority;return 0!==diff?diff:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function assertNoDuplicate(what,previousDirective,directive,element){function wrapModuleNameIfDefined(moduleName){return moduleName?" (module: "+moduleName+")":""}if(previousDirective)throw $compileMinErr("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",previousDirective.name,wrapModuleNameIfDefined(previousDirective.$$moduleName),directive.name,wrapModuleNameIfDefined(directive.$$moduleName),what,startingTag(element))}function addTextInterpolateDirective(directives,text){var interpolateFn=$interpolate(text,!0);interpolateFn&&directives.push({priority:0,compile:function(templateNode){var templateNodeParent=templateNode.parent(),hasCompileParent=!!templateNodeParent.length;return hasCompileParent&&compile.$$addBindingClass(templateNodeParent),function(scope,node){var parent=node.parent();hasCompileParent||compile.$$addBindingClass(parent),compile.$$addBindingInfo(parent,interpolateFn.expressions),scope.$watch(interpolateFn,function(value){node[0].nodeValue=value})}}})}function wrapTemplate(type,template){switch(type=lowercase(type||"html")){case"svg":case"math":var wrapper=document.createElement("div");return wrapper.innerHTML="<"+type+">"+template+"</"+type+">",wrapper.childNodes[0].childNodes;default:return template}}function getTrustedContext(node,attrNormalizedName){if("srcdoc"==attrNormalizedName)return $sce.HTML;var tag=nodeName_(node);
33return"xlinkHref"==attrNormalizedName||"form"==tag&&"action"==attrNormalizedName||"img"!=tag&&("src"==attrNormalizedName||"ngSrc"==attrNormalizedName)?$sce.RESOURCE_URL:void 0}function addAttrInterpolateDirective(node,directives,value,name,allOrNothing){var trustedContext=getTrustedContext(node,name);allOrNothing=ALL_OR_NOTHING_ATTRS[name]||allOrNothing;var interpolateFn=$interpolate(value,!0,trustedContext,allOrNothing);if(interpolateFn){if("multiple"===name&&"select"===nodeName_(node))throw $compileMinErr("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",startingTag(node));directives.push({priority:100,compile:function(){return{pre:function(scope,element,attr){var $$observers=attr.$$observers||(attr.$$observers=createMap());if(EVENT_HANDLER_ATTR_REGEXP.test(name))throw $compileMinErr("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");var newValue=attr[name];newValue!==value&&(interpolateFn=newValue&&$interpolate(newValue,!0,trustedContext,allOrNothing),value=newValue),interpolateFn&&(attr[name]=interpolateFn(scope),($$observers[name]||($$observers[name]=[])).$$inter=!0,(attr.$$observers&&attr.$$observers[name].$$scope||scope).$watch(interpolateFn,function(newValue,oldValue){"class"===name&&newValue!=oldValue?attr.$updateClass(newValue,oldValue):attr.$set(name,newValue)}))}}}})}}function replaceWith($rootElement,elementsToRemove,newNode){var i,ii,firstElementToRemove=elementsToRemove[0],removeCount=elementsToRemove.length,parent=firstElementToRemove.parentNode;if($rootElement)for(i=0,ii=$rootElement.length;i<ii;i++)if($rootElement[i]==firstElementToRemove){$rootElement[i++]=newNode;for(var j=i,j2=j+removeCount-1,jj=$rootElement.length;j<jj;j++,j2++)j2<jj?$rootElement[j]=$rootElement[j2]:delete $rootElement[j];$rootElement.length-=removeCount-1,$rootElement.context===firstElementToRemove&&($rootElement.context=newNode);break}parent&&parent.replaceChild(newNode,firstElementToRemove);var fragment=document.createDocumentFragment();for(i=0;i<removeCount;i++)fragment.appendChild(elementsToRemove[i]);for(jqLite.hasData(firstElementToRemove)&&(jqLite.data(newNode,jqLite.data(firstElementToRemove)),jqLite(firstElementToRemove).off("$destroy")),jqLite.cleanData(fragment.querySelectorAll("*")),i=1;i<removeCount;i++)delete elementsToRemove[i];elementsToRemove[0]=newNode,elementsToRemove.length=1}function cloneAndAnnotateFn(fn,annotation){return extend(function(){return fn.apply(null,arguments)},fn,annotation)}function invokeLinkFn(linkFn,scope,$element,attrs,controllers,transcludeFn){try{linkFn(scope,$element,attrs,controllers,transcludeFn)}catch(e){$exceptionHandler(e,startingTag($element))}}function initializeDirectiveBindings(scope,attrs,destination,bindings,directive){var removeWatchCollection=[];return forEach(bindings,function(definition,scopeName){var lastValue,parentGet,parentSet,compare,attrName=definition.attrName,optional=definition.optional;switch(definition.mode){case"@":optional||hasOwnProperty.call(attrs,attrName)||(destination[scopeName]=attrs[attrName]=void 0),attrs.$observe(attrName,function(value){isString(value)&&(destination[scopeName]=value)}),attrs.$$observers[attrName].$$scope=scope,isString(attrs[attrName])&&(destination[scopeName]=$interpolate(attrs[attrName])(scope));break;case"=":if(!hasOwnProperty.call(attrs,attrName)){if(optional)break;attrs[attrName]=void 0}if(optional&&!attrs[attrName])break;parentGet=$parse(attrs[attrName]),compare=parentGet.literal?equals:function(a,b){return a===b||a!=a&&b!=b},parentSet=parentGet.assign||function(){throw lastValue=destination[scopeName]=parentGet(scope),$compileMinErr("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",attrs[attrName],directive.name)},lastValue=destination[scopeName]=parentGet(scope);var removeWatch,parentValueWatch=function(parentValue){return compare(parentValue,destination[scopeName])||(compare(parentValue,lastValue)?parentSet(scope,parentValue=destination[scopeName]):destination[scopeName]=parentValue),lastValue=parentValue};parentValueWatch.$stateful=!0,removeWatch=definition.collection?scope.$watchCollection(attrs[attrName],parentValueWatch):scope.$watch($parse(attrs[attrName],parentValueWatch),null,parentGet.literal),removeWatchCollection.push(removeWatch);break;case"&":if((parentGet=attrs.hasOwnProperty(attrName)?$parse(attrs[attrName]):noop)===noop&&optional)break;destination[scopeName]=function(locals){return parentGet(scope,locals)}}}),removeWatchCollection.length&&function(){for(var i=0,ii=removeWatchCollection.length;i<ii;++i)removeWatchCollection[i]()}}var SIMPLE_ATTR_NAME=/^\w/,specialAttrHolder=document.createElement("div"),Attributes=function(element,attributesToCopy){if(attributesToCopy){var i,l,key,keys=Object.keys(attributesToCopy);for(i=0,l=keys.length;i<l;i++)this[key=keys[i]]=attributesToCopy[key]}else this.$attr={};this.$$element=element};Attributes.prototype={$normalize:directiveNormalize,$addClass:function(classVal){classVal&&classVal.length>0&&$animate.addClass(this.$$element,classVal)},$removeClass:function(classVal){classVal&&classVal.length>0&&$animate.removeClass(this.$$element,classVal)}
33,$updateClass:function(newClasses,oldClasses){var toAdd=tokenDifference(newClasses,oldClasses);toAdd&&toAdd.length&&$animate.addClass(this.$$element,toAdd);var toRemove=tokenDifference(oldClasses,newClasses);toRemove&&toRemove.length&&$animate.removeClass(this.$$element,toRemove)},$set:function(key,value,writeAttr,attrName){var nodeName,booleanKey=getBooleanAttrName(this.$$element[0],key),aliasedKey=getAliasedAttrName(key),observer=key;if(booleanKey?(this.$$element.prop(key,value),attrName=booleanKey):aliasedKey&&(this[aliasedKey]=value,observer=aliasedKey),this[key]=value,attrName?this.$attr[key]=attrName:(attrName=this.$attr[key])||(this.$attr[key]=attrName=snake_case(key,"-")),"a"===(nodeName=nodeName_(this.$$element))&&("href"===key||"xlinkHref"===key)||"img"===nodeName&&"src"===key)this[key]=value=$$sanitizeUri(value,"src"===key);else if("img"===nodeName&&"srcset"===key){for(var result="",trimmedSrcset=trim(value),srcPattern=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,pattern=/\s/.test(trimmedSrcset)?srcPattern:/(,)/,rawUris=trimmedSrcset.split(pattern),nbrUrisWith2parts=Math.floor(rawUris.length/2),i=0;i<nbrUrisWith2parts;i++){var innerIdx=2*i;result+=$$sanitizeUri(trim(rawUris[innerIdx]),!0),result+=" "+trim(rawUris[innerIdx+1])}var lastTuple=trim(rawUris[2*i]).split(/\s/);result+=$$sanitizeUri(trim(lastTuple[0]),!0),2===lastTuple.length&&(result+=" "+trim(lastTuple[1])),this[key]=value=result}!1!==writeAttr&&(null===value||isUndefined(value)?this.$$element.removeAttr(attrName):SIMPLE_ATTR_NAME.test(attrName)?this.$$element.attr(attrName,value):setSpecialAttr(this.$$element[0],attrName,value));var $$observers=this.$$observers;$$observers&&forEach($$observers[observer],function(fn){try{fn(value)}catch(e){$exceptionHandler(e)}})},$observe:function(key,fn){var attrs=this,$$observers=attrs.$$observers||(attrs.$$observers=createMap()),listeners=$$observers[key]||($$observers[key]=[]);return listeners.push(fn),$rootScope.$evalAsync(function(){listeners.$$inter||!attrs.hasOwnProperty(key)||isUndefined(attrs[key])||fn(attrs[key])}),function(){arrayRemove(listeners,fn)}}};var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),denormalizeTemplate="{{"==startSymbol||"}}"==endSymbol?identity:function(template){return template.replace(/\{\{/g,startSymbol).replace(/}}/g,endSymbol)},NG_ATTR_BINDING=/^ngAttr[A-Z]/,MULTI_ELEMENT_DIR_RE=/^(.+)Start$/;return compile.$$addBindingInfo=debugInfoEnabled?function($element,binding){var bindings=$element.data("$binding")||[];isArray(binding)?bindings=bindings.concat(binding):bindings.push(binding),$element.data("$binding",bindings)}:noop,compile.$$addBindingClass=debugInfoEnabled?function($element){safeAddClass($element,"ng-binding")}:noop,compile.$$addScopeInfo=debugInfoEnabled?function($element,scope,isolated,noTemplate){var dataName=isolated?noTemplate?"$isolateScopeNoTemplate":"$isolateScope":"$scope";$element.data(dataName,scope)}:noop,compile.$$addScopeClass=debugInfoEnabled?function($element,isolated){safeAddClass($element,isolated?"ng-isolate-scope":"ng-scope")}:noop,compile}]}function directiveNormalize(name){return camelCase(name.replace(PREFIX_REGEXP,""))}function tokenDifference(str1,str2){var values="",tokens1=str1.split(/\s+/),tokens2=str2.split(/\s+/);outer:for(var i=0;i<tokens1.length;i++){for(var token=tokens1[i],j=0;j<tokens2.length;j++)if(token==tokens2[j])continue outer;values+=(values.length>0?" ":"")+token}return values}function removeComments(jqNodes){var i=(jqNodes=jqLite(jqNodes)).length;if(i<=1)return jqNodes;for(;i--;){jqNodes[i].nodeType===NODE_TYPE_COMMENT&&splice.call(jqNodes,i,1)}return jqNodes}function identifierForController(controller,ident){if(ident&&isString(ident))return ident;if(isString(controller)){var match=CNTRL_REG.exec(controller);if(match)return match[3]}}function $ControllerProvider(){var controllers={},globals=!1;this.register=function(name,constructor){assertNotHasOwnProperty(name,"controller"),isObject(name)?extend(controllers,name):controllers[name]=constructor},this.allowGlobals=function(){globals=!0},this.$get=["$injector","$window",function($injector,$window){function addIdentifier(locals,identifier,instance,name){if(!locals||!isObject(locals.$scope))throw minErr("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",name,identifier);locals.$scope[identifier]=instance}return function(expression,locals,later,ident){var instance,match,constructor,identifier;if(later=!0===later,ident&&isString(ident)&&(identifier=ident),isString(expression)){if(!(match=expression.match(CNTRL_REG)))throw $controllerMinErr("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",expression);constructor=match[1],identifier=identifier||match[3],assertArgFn(expression=controllers.hasOwnProperty(constructor)?controllers[constructor]:getter(locals.$scope,constructor,!0)||(globals?getter($window,constructor,!0):undefined),constructor,!0)}if(later){var controllerPrototype=(isArray(expression)?expression[expression.length-1]:expression).prototype;return instance=Object.create(controllerPrototype||null),identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name),extend(function(){var result=$injector.invoke(expression,instance,locals,constructor);return result!==instance&&(isObject(result)||isFunction(result))&&(instance=result,identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name)),instance},{instance:instance,identifier:identifier})}return instance=$injector.instantiate(expression,locals,constructor),identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name),instance}}]}function $DocumentProvider(){this.$get=["$window",function(window){return jqLite(window.document)}]}function $ExceptionHandlerProvider(){this.$get=["$log",function($log){return function(){$log.error.apply($log,arguments)}}]}function serializeValue(v){return isObject(v)?isDate(v)?v.toISOString():toJson(v):v}function $HttpParamSerializerProvider(){this.$get=function(){return function(params){if(!params)return"";var parts=[];return forEachSorted(params,function(value,key){null===value||isUndefined(value)||(isArray(value)?forEach(value,function(v){parts.push(encodeUriQuery(key)+"="+encodeUriQuery(serializeValue(v)))}):parts.push(encodeUriQuery(key)+"="+encodeUriQuery(serializeValue(value))))}),parts.join("&")}}}function $HttpParamSerializerJQLikeProvider(){this.$get=function(){return function(params){function serialize(toSerialize,prefix,topLevel){null===toSerialize||isUndefined(toSerialize)||(isArray(toSerialize)?forEach(toSerialize,function(value,index){serialize(value,prefix+"["+(isObject(value)?index:"")+"]")}):isObject(toSerialize)&&!isDate(toSerialize)?forEachSorted(toSerialize,function(value,key){serialize(value,prefix+(topLevel?"":"[")+key+(topLevel?"":"]"))}):parts.push(encodeUriQuery(prefix)+"="+encodeUriQuery(serializeValue(toSerialize))))}if(!params)return"";var parts=[];return serialize(params,"",!0),parts.join("&")}}}function defaultHttpResponseTransform(data,headers){if(isString(data)){var tempData=data.replace(JSON_PROTECTION_PREFIX,"").trim();if(tempData){var contentType=headers("Content-Type");(contentType&&0===contentType.indexOf(APPLICATION_JSON)||isJsonLike(tempData))&&(data=fromJson(tempData))}}return data}function isJsonLike(str){var jsonStart=str.match(JSON_START);return jsonStart&&JSON_ENDS[jsonStart[0]].test(str)}function parseHeaders(headers){function fillInParsed(key,val){ke
33y&&(parsed[key]=parsed[key]?parsed[key]+", "+val:val)}var i,parsed=createMap();return isString(headers)?forEach(headers.split("\n"),function(line){i=line.indexOf(":"),fillInParsed(lowercase(trim(line.substr(0,i))),trim(line.substr(i+1)))}):isObject(headers)&&forEach(headers,function(headerVal,headerKey){fillInParsed(lowercase(headerKey),trim(headerVal))}),parsed}function headersGetter(headers){var headersObj;return function(name){if(headersObj||(headersObj=parseHeaders(headers)),name){var value=headersObj[lowercase(name)];return void 0===value&&(value=null),value}return headersObj}}function transformData(data,headers,status,fns){return isFunction(fns)?fns(data,headers,status):(forEach(fns,function(fn){data=fn(data,headers,status)}),data)}function isSuccess(status){return 200<=status&&status<300}function $HttpProvider(){var defaults=this.defaults={transformResponse:[defaultHttpResponseTransform],transformRequest:[function(d){return!isObject(d)||isFile(d)||isBlob(d)||isFormData(d)?d:toJson(d)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:shallowCopy(CONTENT_TYPE_APPLICATION_JSON),put:shallowCopy(CONTENT_TYPE_APPLICATION_JSON),patch:shallowCopy(CONTENT_TYPE_APPLICATION_JSON)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},useApplyAsync=!1;this.useApplyAsync=function(value){return isDefined(value)?(useApplyAsync=!!value,this):useApplyAsync};var useLegacyPromise=!0;this.useLegacyPromiseExtensions=function(value){return isDefined(value)?(useLegacyPromise=!!value,this):useLegacyPromise};var interceptorFactories=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function($httpBackend,$$cookieReader,$cacheFactory,$rootScope,$q,$injector){function $http(requestConfig){function transformResponse(response){var resp=extend({},response);return resp.data=transformData(response.data,response.headers,response.status,config.transformResponse),isSuccess(response.status)?resp:$q.reject(resp)}function executeHeaderFns(headers,config){var headerContent,processedHeaders={};return forEach(headers,function(headerFn,header){isFunction(headerFn)?null!=(headerContent=headerFn(config))&&(processedHeaders[header]=headerContent):processedHeaders[header]=headerFn}),processedHeaders}function mergeHeaders(config){var defHeaderName,lowercaseDefHeaderName,reqHeaderName,defHeaders=defaults.headers,reqHeaders=extend({},config.headers);defHeaders=extend({},defHeaders.common,defHeaders[lowercase(config.method)]);defaultHeadersIteration:for(defHeaderName in defHeaders){for(reqHeaderName in lowercaseDefHeaderName=lowercase(defHeaderName),reqHeaders)if(lowercase(reqHeaderName)===lowercaseDefHeaderName)continue defaultHeadersIteration;reqHeaders[defHeaderName]=defHeaders[defHeaderName]}return executeHeaderFns(reqHeaders,shallowCopy(config))}if(!isObject(requestConfig))throw minErr("$http")("badreq","Http request configuration must be an object.  Received: {0}",requestConfig);if(!isString(requestConfig.url))throw minErr("$http")("badreq","Http request configuration url must be a string.  Received: {0}",requestConfig.url);var config=extend({method:"get",transformRequest:defaults.transformRequest,transformResponse:defaults.transformResponse,paramSerializer:defaults.paramSerializer},requestConfig);config.headers=mergeHeaders(requestConfig),config.method=uppercase(config.method),config.paramSerializer=isString(config.paramSerializer)?$injector.get(config.paramSerializer):config.paramSerializer;var chain=[function(config){var headers=config.headers,reqData=transformData(config.data,headersGetter(headers),undefined,config.transformRequest);return isUndefined(reqData)&&forEach(headers,function(value,header){"content-type"===lowercase(header)&&delete headers[header]}),isUndefined(config.withCredentials)&&!isUndefined(defaults.withCredentials)&&(config.withCredentials=defaults.withCredentials),sendReq(config,reqData).then(transformResponse,transformResponse)},undefined],promise=$q.when(config);for(forEach(reversedInterceptors,function(interceptor){(interceptor.request||interceptor.requestError)&&chain.unshift(interceptor.request,interceptor.requestError),(interceptor.response||interceptor.responseError)&&chain.push(interceptor.response,interceptor.responseError)});chain.length;){var thenFn=chain.shift(),rejectFn=chain.shift();promise=promise.then(thenFn,rejectFn)}return useLegacyPromise?(promise.success=function(fn){return assertArgFn(fn,"fn"),promise.then(function(response){fn(response.data,response.status,response.headers,config)}),promise},promise.error=function(fn){return assertArgFn(fn,"fn"),promise.then(null,function(response){fn(response.data,response.status,response.headers,config)}),promise}):(promise.success=$httpMinErrLegacyFn("success"),promise.error=$httpMinErrLegacyFn("error")),promise}function createShortMethods(){forEach(arguments,function(name){$http[name]=function(url,config){return $http(extend({},config||{},{method:name,url:url}))}})}function createShortMethodsWithData(){forEach(arguments,function(name){$http[name]=function(url,data,config){return $http(extend({},config||{},{method:name,url:url,data:data}))}})}function sendReq(config,reqData){function done(status,response,headersString,statusText){function resolveHttpPromise(){resolvePromise(response,status,headersString,statusText)}cache&&(isSuccess(status)?cache.put(url,[status,response,parseHeaders(headersString),statusText]):cache.remove(url)),useApplyAsync?$rootScope.$applyAsync(resolveHttpPromise):(resolveHttpPromise(),$rootScope.$$phase||$rootScope.$apply())}function resolvePromise(response,status,headers,statusText){(isSuccess(status=status>=-1?status:0)?deferred.resolve:deferred.reject)({data:response,status:status,headers:headersGetter(headers),config:config,statusText:statusText})}function resolvePromiseWithResult(result){resolvePromise(result.data,result.status,shallowCopy(result.headers()),result.statusText)}function removePendingReq(){var idx=$http.pendingRequests.indexOf(config);-1!==idx&&$http.pendingRequests.splice(idx,1)}var cache,cachedResp,deferred=$q.defer(),promise=deferred.promise,reqHeaders=config.headers,url=buildUrl(config.url,config.paramSerializer(config.params));if($http.pendingRequests.push(config),promise.then(removePendingReq,removePendingReq),!config.cache&&!defaults.cache||!1===config.cache||"GET"!==config.method&&"JSONP"!==config.method||(cache=isObject(config.cache)?config.cache:isObject(defaults.cache)?defaults.cache:defaultCache),cache&&(isDefined(cachedResp=cache.get(url))?isPromiseLike(cachedResp)?cachedResp.then(resolvePromiseWithResult,resolvePromiseWithResult):isArray(cachedResp)?resolvePromise(cachedResp[1],cachedResp[0],shallowCopy(cachedResp[2]),cachedResp[3]):resolvePromise(cachedResp,200,{},"OK"):cache.put(url,promise)),isUndefined(cachedResp)){var xsrfValue=urlIsSameOrigin(config.url)?$$cookieReader()[config.xsrfCookieName||defaults.xsrfCookieName]:un
33defined;xsrfValue&&(reqHeaders[config.xsrfHeaderName||defaults.xsrfHeaderName]=xsrfValue),$httpBackend(config.method,url,reqData,done,reqHeaders,config.timeout,config.withCredentials,config.responseType)}return promise}function buildUrl(url,serializedParams){return serializedParams.length>0&&(url+=(-1==url.indexOf("?")?"?":"&")+serializedParams),url}var defaultCache=$cacheFactory("$http");defaults.paramSerializer=isString(defaults.paramSerializer)?$injector.get(defaults.paramSerializer):defaults.paramSerializer;var reversedInterceptors=[];return forEach(interceptorFactories,function(interceptorFactory){reversedInterceptors.unshift(isString(interceptorFactory)?$injector.get(interceptorFactory):$injector.invoke(interceptorFactory))}),$http.pendingRequests=[],createShortMethods("get","delete","head","jsonp"),createShortMethodsWithData("post","put","patch"),$http.defaults=defaults,$http}]}function $xhrFactoryProvider(){this.$get=function(){return function(){return new window.XMLHttpRequest}}}function $HttpBackendProvider(){this.$get=["$browser","$window","$document","$xhrFactory",function($browser,$window,$document,$xhrFactory){return createHttpBackend($browser,$xhrFactory,$browser.defer,$window.angular.callbacks,$document[0])}]}function createHttpBackend($browser,createXhr,$browserDefer,callbacks,rawDocument){function jsonpReq(url,callbackId,done){var script=rawDocument.createElement("script"),callback=null;return script.type="text/javascript",script.src=url,script.async=!0,callback=function(event){removeEventListenerFn(script,"load",callback),removeEventListenerFn(script,"error",callback),rawDocument.body.removeChild(script),script=null;var status=-1,text="unknown";event&&("load"!==event.type||callbacks[callbackId].called||(event={type:"error"}),text=event.type,status="error"===event.type?404:200),done&&done(status,text)},addEventListenerFn(script,"load",callback),addEventListenerFn(script,"error",callback),rawDocument.body.appendChild(script),callback}return function(method,url,post,callback,headers,timeout,withCredentials,responseType){function timeoutRequest(){jsonpDone&&jsonpDone(),xhr&&xhr.abort()}function completeRequest(callback,status,response,headersString,statusText){isDefined(timeoutId)&&$browserDefer.cancel(timeoutId),jsonpDone=xhr=null,callback(status,response,headersString,statusText),$browser.$$completeOutstandingRequest(noop)}if($browser.$$incOutstandingRequestCount(),url=url||$browser.url(),"jsonp"==lowercase(method)){var callbackId="_"+(callbacks.counter++).toString(36);callbacks[callbackId]=function(data){callbacks[callbackId].data=data,callbacks[callbackId].called=!0};var jsonpDone=jsonpReq(url.replace("JSON_CALLBACK","angular.callbacks."+callbackId),callbackId,function(status,text){completeRequest(callback,status,callbacks[callbackId].data,"",text),callbacks[callbackId]=noop})}else{var xhr=createXhr(method,url);xhr.open(method,url,!0),forEach(headers,function(value,key){isDefined(value)&&xhr.setRequestHeader(key,value)}
33),xhr.onload=function(){var statusText=xhr.statusText||"",response="response"in xhr?xhr.response:xhr.responseText,status=1223===xhr.status?204:xhr.status;0===status&&(status=response?200:"file"==urlResolve(url).protocol?404:0),completeRequest(callback,status,response,xhr.getAllResponseHeaders(),statusText)};var requestError=function(){completeRequest(callback,-1,null,null,"")};if(xhr.onerror=requestError,xhr.onabort=requestError,withCredentials&&(xhr.withCredentials=!0),responseType)try{xhr.responseType=responseType}catch(e){if("json"!==responseType)throw e}xhr.send(isUndefined(post)?null:post)}if(timeout>0)var timeoutId=$browserDefer(timeoutRequest,timeout);else isPromiseLike(timeout)&&timeout.then(timeoutRequest)}}function $InterpolateProvider(){var startSymbol="{{",endSymbol="}}";this.startSymbol=function(value){return value?(startSymbol=value,this):startSymbol},this.endSymbol=function(value){return value?(endSymbol=value,this):endSymbol},this.$get=["$parse","$exceptionHandler","$sce",function($parse,$exceptionHandler,$sce){function escape(ch){return"\\\\\\"+ch}function unescapeText(text){return text.replace(escapedStartRegexp,startSymbol).replace(escapedEndRegexp,endSymbol)}function stringify(value){if(null==value)return"";switch(typeof value){case"string":break;case"number":value=""+value;break;default:value=toJson(value)}return value}function constantWatchDelegate(scope,listener,objectEquality,constantInterp){var unwatch;return unwatch=scope.$watch(function(scope){return unwatch(),constantInterp(scope)},listener,objectEquality)}function $interpolate(text,mustHaveExpression,trustedContext,allOrNothing){function parseStringifyInterceptor(value){try{return value=getValue(value),allOrNothing&&!isDefined(value)?value:stringify(value)}catch(err){$exceptionHandler($interpolateMinErr.interr(text,err))}}if(!text.length||-1===text.indexOf(startSymbol)){var constantInterp;if(!mustHaveExpression)(constantInterp=valueFn(unescapeText(text))).exp=text,constantInterp.expressions=[],constantInterp.$$watchDelegate=constantWatchDelegate;return constantInterp}allOrNothing=!!allOrNothing;for(var startIndex,endIndex,exp,index=0,expressions=[],parseFns=[],textLength=text.length,concat=[],expressionPositions=[];index<textLength;){if(-1==(startIndex=text.indexOf(startSymbol,index))||-1==(endIndex=text.indexOf(endSymbol,startIndex+startSymbolLength))){index!==textLength&&concat.push(unescapeText(text.substring(index)));break}index!==startIndex&&concat.push(unescapeText(text.substring(index,startIndex))),exp=text.substring(startIndex+startSymbolLength,endIndex),expressions.push(exp),parseFns.push($parse(exp,parseStringifyInterceptor)),index=endIndex+endSymbolLength,expressionPositions.push(concat.length),concat.push("")}if(trustedContext&&concat.length>1&&$interpolateMinErr.throwNoconcat(text),!mustHaveExpression||expressions.length){var compute=function(values){for(var i=0,ii=expressions.length;i<ii;i++){if(allOrNothing&&isUndefined(values[i]))return;concat[expressionPositions[i]]=values[i]}return concat.join("")},getValue=function(value){return trustedContext?$sce.getTrusted(trustedContext,value):$sce.valueOf(value)};return extend(function(context){var i=0,ii=expressions.length,values=new Array(ii);try{for(;i<ii;i++)values[i]=parseFns[i](context);return compute(values)}catch(err){$exceptionHandler($interpolateMinErr.interr(text,err))}},{exp:text,expressions:expressions,$$watchDelegate:function(scope,listener){var lastValue;return scope.$watchGroup(parseFns,function(values,oldValues){var currValue=compute(values);isFunction(listener)&&listener.call(this,currValue,values!==oldValues?lastValue:currValue,scope),lastValue=currValue})}})}}var startSymbolLength=startSymbol.length,endSymbolLength=endSymbol.length,escapedStartRegexp=new RegExp(startSymbol.replace(/./g,escape),"g"),escapedEndRegexp=new RegExp(endSymbol.replace(/./g,escape),"g");return $interpolate.startSymbol=function(){return startSymbol},$interpolate.endSymbol=function(){return endSymbol},$interpolate}]}function $IntervalProvider(){this.$get=["$rootScope","$window","$q","$$q","$browser",function($rootScope,$window,$q,$$q,$browser){function interval(fn,delay,count,invokeApply){function callback(){hasParams?fn.apply(null,args):fn(iteration)}var hasParams=arguments.length>4,args=hasParams?sliceArgs(arguments,4):[],setInterval=$window.setInterval,clearInterval=$window.clearInterval,iteration=0,skipApply=isDefined(invokeApply)&&!invokeApply,deferred=(skipApply?$$q:$q).defer(),promise=deferred.promise;return count=isDefined(count)?count:0,promise.$$intervalId=setInterval(function(){skipApply?$browser.defer(callback):$rootScope.$evalAsync(callback),deferred.notify(iteration++),count>0&&iteration>=count&&(deferred.resolve(iteration),clearInterval(promise.$$intervalId),delete intervals[promise.$$intervalId]),skipApply||$rootScope.$apply()},delay),intervals[promise.$$intervalId]=deferred,promise}var intervals={};return interval.cancel=function(promise){return!!(promise&&promise.$$intervalId in intervals)&&(intervals[promise.$$intervalId].reject("canceled"),$window.clearInterval(promise.$$intervalId),delete intervals[promise.$$intervalId],!0)},interval}]}function encodePath(path){for(var segments=path.split("/"),i=segments.length;i--;)segments[i]=encodeUriSegment(segments[i]);return segments.join("/")}function parseAbsoluteUrl(absoluteUrl,locationObj){var parsedUrl=urlResolve(
33absoluteUrl);locationObj.$$protocol=parsedUrl.protocol,locationObj.$$host=parsedUrl.hostname,locationObj.$$port=toInt(parsedUrl.port)||DEFAULT_PORTS[parsedUrl.protocol]||null}function parseAppUrl(relativeUrl,locationObj){var prefixed="/"!==relativeUrl.charAt(0);prefixed&&(relativeUrl="/"+relativeUrl);var match=urlResolve(relativeUrl);locationObj.$$path=decodeURIComponent(prefixed&&"/"===match.pathname.charAt(0)?match.pathname.substring(1):match.pathname),locationObj.$$search=parseKeyValue(match.search),locationObj.$$hash=decodeURIComponent(match.hash),locationObj.$$path&&"/"!=locationObj.$$path.charAt(0)&&(locationObj.$$path="/"+locationObj.$$path)}function beginsWith(begin,whole){if(0===whole.indexOf(begin))return whole.substr(begin.length)}function stripHash(url){var index=url.indexOf("#");return-1==index?url:url.substr(0,index)}function trimEmptyHash(url){return url.replace(/(#.+)|#$/,"$1")}function stripFile(url){return url.substr(0,stripHash(url).lastIndexOf("/")+1)}function serverBase(url){return url.substring(0,url.indexOf("/",url.indexOf("//")+2))}function LocationHtml5Url(appBase,appBaseNoFile,basePrefix){this.$$html5=!0,basePrefix=basePrefix||"",parseAbsoluteUrl(appBase,this),this.$$parse=function(url){
34var pathUrl=beginsWith(appBaseNoFile,url);if(!isString(pathUrl))throw $locationMinErr("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',url,appBaseNoFile);parseAppUrl(pathUrl,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var search=toKeyValue(this.$$search),hash=this.$$hash?"#"+encodeUriSegment(this.$$hash):"";this.$$url=encodePath(this.$$path)+(search?"?"+search:"")+hash,this.$$absUrl=appBaseNoFile+this.$$url.substr(1)},this.$$parseLinkUrl=function(url,relHref){return relHref&&"#"===relHref[0]?(this.hash(relHref.slice(1)),!0):(isDefined(appUrl=beginsWith(appBase,url))?(prevAppUrl=appUrl,rewrittenUrl=isDefined(appUrl=beginsWith(basePrefix,appUrl))?appBaseNoFile+(beginsWith("/",appUrl)||appUrl):appBase+prevAppUrl):isDefined(appUrl=beginsWith(appBaseNoFile,url))?rewrittenUrl=appBaseNoFile+appUrl:appBaseNoFile==url+"/"&&(rewrittenUrl=appBaseNoFile),rewrittenUrl&&this.$$parse(rewrittenUrl),!!rewrittenUrl);var appUrl,prevAppUrl,rewrittenUrl}}function LocationHashbangUrl(appBase,appBaseNoFile,hashPrefix){parseAbsoluteUrl(appBase,this),this.$$parse=function(url){function removeWindowsDriveName(path,url,base){var firstPathSegmentMatch,windowsFilePathExp=/^\/[A-Z]:(\/.*)/;return 0===url.indexOf(base)&&(url=url.replace(base,"")),windowsFilePathExp.exec(url)?path:(firstPathSegmentMatch=windowsFilePathExp.exec(path))?firstPathSegmentMatch[1]:path}var withoutHashUrl,withoutBaseUrl=beginsWith(appBase,url)||beginsWith(appBaseNoFile,url);isUndefined(withoutBaseUrl)||"#"!==withoutBaseUrl.charAt(0)?this.$$html5?withoutHashUrl=withoutBaseUrl:(withoutHashUrl="",isUndefined(withoutBaseUrl)&&(appBase=url,this.replace())):isUndefined(withoutHashUrl=beginsWith(hashPrefix,withoutBaseUrl))&&(withoutHashUrl=withoutBaseUrl),parseAppUrl(withoutHashUrl,this),this.$$path=removeWindowsDriveName(this.$$path,withoutHashUrl,appBase),this.$$compose()},this.$$compose=function(){var search=toKeyValue(this.$$search),hash=this.$$hash?"#"+encodeUriSegment(this.$$hash):"";this.$$url=encodePath(this.$$path)+(search?"?"+search:"")+hash,this.$$absUrl=appBase+(this.$$url?hashPrefix+this.$$url:"")},this.$$parseLinkUrl=function(url){return stripHash(appBase)==stripHash(url)&&(this.$$parse(url),!0)}}function LocationHashbangInHtml5Url(appBase,appBaseNoFile,hashPrefix){this.$$html5=!0,LocationHashbangUrl.apply(this,arguments),this.$$parseLinkUrl=function(url,relHref){return relHref&&"#"===relHref[0]?(this.hash(relHref.slice(1)),!0):(appBase==stripHash(url)?rewrittenUrl=url:(appUrl=beginsWith(appBaseNoFile,url))?rewrittenUrl=appBase+hashPrefix+appUrl:appBaseNoFile===url+"/"&&(rewrittenUrl=appBaseNoFile),rewrittenUrl&&this.$$parse(rewrittenUrl),!!rewrittenUrl);var rewrittenUrl,appUrl},this.$$compose=function(){var search=toKeyValue(this.$$search),hash=this.$$hash?"#"+encodeUriSegment(this.$$hash):"";this.$$url=encodePath(this.$$path)+(search?"?"+search:"")+hash,this.$$absUrl=appBase+hashPrefix+this.$$url}}function locationGetter(property){return function(){return this[property]}}function locationGetterSetter(property,preprocess){return function(value){return isUndefined(value)?this[property]:(this[property]=preprocess(value),this.$$compose(),this)}}function $LocationProvider(){var hashPrefix="",html5Mode={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(prefix){return isDefined(prefix)?(hashPrefix=prefix,this):hashPrefix},this.html5Mode=function(mode){return isBoolean(mode)?(html5Mode.enabled=mode,this):isObject(mode)?(isBoolean(mode.enabled)&&(html5Mode.enabled=mode.enabled),isBoolean(mode.requireBase)&&(html5Mode.requireBase=mode.requireBase),isBoolean(mode.rewriteLinks)&&(html5Mode.rewriteLinks=mode.rewriteLinks),this):html5Mode},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function($rootScope,$browser,$sniffer,$rootElement,$window){function setBrowserUrlWithFallback(url,replace,state){var oldUrl=$location.url(),oldState=$location.$$state;try{$browser.url(url,replace,state),$location.$$state=$browser.state()}catch(e){throw $location.url(oldUrl),$location.$$state=oldState,e}}function afterLocationChange(oldUrl,oldState){$rootScope.$broadcast("$locationChangeSuccess",$location.absUrl(),oldUrl,$location.$$state,oldState)}var $location,LocationMode,appBase,baseHref=$browser.baseHref(),initialUrl=$browser.url();if(html5Mode.enabled){if(!baseHref&&html5Mode.requireBase)throw $locationMinErr("nobase","$location in HTML5 mode requires a <base> tag to be present!");appBase=serverBase(initialUrl)+(baseHref||"/"),LocationMode=$sniffer.history?LocationHtml5Url:LocationHashbangInHtml5Url}else appBase=stripHash(initialUrl),LocationMode=LocationHashbangUrl;var appBaseNoFile=stripFile(appBase);
34($location=new LocationMode(appBase,appBaseNoFile,"#"+hashPrefix)).$$parseLinkUrl(initialUrl,initialUrl),$location.$$state=$browser.state();var IGNORE_URI_REGEXP=/^\s*(javascript|mailto):/i;$rootElement.on("click",function(event){if(html5Mode.rewriteLinks&&!event.ctrlKey&&!event.metaKey&&!event.shiftKey&&2!=event.which&&2!=event.button){for(var elm=jqLite(event.target);"a"!==nodeName_(elm[0]);)if(elm[0]===$rootElement[0]||!(elm=elm.parent())[0])return;var absHref=elm.prop("href"),relHref=elm.attr("href")||elm.attr("xlink:href");isObject(absHref)&&"[object SVGAnimatedString]"===absHref.toString()&&(absHref=urlResolve(absHref.animVal).href),IGNORE_URI_REGEXP.test(absHref)||!absHref||elm.attr("target")||event.isDefaultPrevented()||$location.$$parseLinkUrl(absHref,relHref)&&(event.preventDefault(),$location.absUrl()!=$browser.url()&&($rootScope.$apply(),$window.angular["ff-684208-preventDefault"]=!0))}}),trimEmptyHash($location.absUrl())!=trimEmptyHash(initialUrl)&&$browser.url($location.absUrl(),!0);var initializing=!0;return $browser.onUrlChange(function(newUrl,newState){isUndefined(beginsWith(appBaseNoFile,newUrl))?$window.location.href=newUrl:($rootScope.$evalAsync(function(){var defaultPrevented,oldUrl=$location.absUrl(),oldState=$location.$$state;newUrl=trimEmptyHash(newUrl),$location.$$parse(newUrl),$location.$$state=newState,defaultPrevented=$rootScope.$broadcast("$locationChangeStart",newUrl,oldUrl,newState,oldState).defaultPrevented,$location.absUrl()===newUrl&&(defaultPrevented?($location.$$parse(oldUrl),$location.$$state=oldState,setBrowserUrlWithFallback(oldUrl,!1,oldState)):(initializing=!1,afterLocationChange(oldUrl,oldState)))}),$rootScope.$$phase||$rootScope.$digest())}),$rootScope.$watch(function(){var oldUrl=trimEmptyHash($browser.url()),newUrl=trimEmptyHash($location.absUrl()),oldState=$browser.state(),currentReplace=$location.$$replace,urlOrStateChanged=oldUrl!==newUrl||$location.$$html5&&$sniffer.history&&oldState!==$location.$$state;(initializing||urlOrStateChanged)&&(initializing=!1,$rootScope.$evalAsync(function(){var newUrl=$location.absUrl(),defaultPrevented=$rootScope.$broadcast("$locationChangeStart",newUrl,oldUrl,$location.$$state,oldState).defaultPrevented;$location.absUrl()===newUrl&&(defaultPrevented?($location.$$parse(oldUrl),$location.$$state=oldState):(urlOrStateChanged&&setBrowserUrlWithFallback(newUrl,currentReplace,oldState===$location.$$state?null:$location.$$state),afterLocationChange(oldUrl,oldState)))})),$location.$$replace=!1}),$location}]}function $LogProvider(){var debug=!0,self=this;this.debugEnabled=function(flag){return isDefined(flag)?(debug=flag,this):debug},this.$get=["$window",function($window){function formatError(arg){return arg instanceof Error&&(arg.stack?arg=arg.message&&-1===arg.stack.indexOf(arg.message)?"Error: "+arg.message+"\n"+arg.stack:arg.stack:arg.sourceURL&&(arg=arg.message+"\n"+arg.sourceURL+":"+arg.line)),arg}function consoleLog(type){var console=$window.console||{},logFn=console[type]||console.log||noop,hasApply=!1;try{hasApply=!!logFn.apply}catch(e){}return hasApply?function(){var args=[];return forEach(arguments,function(arg){args.push(formatError(arg))}),logFn.apply(console,args)}:function(arg1,arg2){logFn(arg1,null==arg2?"":arg2)}}return{log:consoleLog("log"),info:consoleLog("info"),warn:consoleLog("warn"),error:consoleLog("error"),debug:(fn=consoleLog("debug"),function(){debug&&fn.apply(self,arguments)})};var fn}]}function ensureSafeMemberName(name,fullExpression){if("__defineGetter__"===name||"__defineSetter__"===name||"__lookupGetter__"===name||"__lookupSetter__"===name||"__proto__"===name)throw $parseMinErr("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",fullExpression);return name}function getStringValue(name,fullExpression){if(!isString(name+=""))throw $parseMinErr("iseccst","Cannot convert object to primitive value! Expression: {0}",fullExpression);return name}function ensureSafeObject(obj,fullExpression){if(obj){if(obj.constructor===obj)throw $parseMinErr("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",fullExpression);if(obj.window===obj)throw $parseMinErr("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",fullExpression);if(obj.children&&(obj.nodeName||obj.prop&&obj.attr&&obj.find))throw $parseMinErr("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",fullExpression);if(obj===Object)throw $parseMinErr("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",fullExpression)}return obj}function ensureSafeFunction(obj,fullExpression){if(obj){if(obj.constructor===obj)throw $parseMinErr("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",fullExpression);if(obj===CALL||obj===APPLY||obj===BIND)throw $parseMinErr("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",fullExpression)}}function ensureSafeAssignContext(obj,fullExpression){if(obj&&(obj===(0).constructor||obj===(!1).c
34onstructor||obj==="".constructor||obj==={}.constructor||obj===[].constructor||obj===Function.constructor))throw $parseMinErr("isecaf","Assigning to a constructor is disallowed! Expression: {0}",fullExpression)}function ifDefined(v,d){return void 0!==v?v:d}function plusFn(l,r){return void 0===l?r:void 0===r?l:l+r}function isStateless($filter,filterName){return!$filter(filterName).$stateful}function findConstantAndWatchExpressions(ast,$filter){var allConstants,argsToWatch;switch(ast.type){case AST.Program:allConstants=!0,forEach(ast.body,function(expr){findConstantAndWatchExpressions(expr.expression,$filter),allConstants=allConstants&&expr.expression.constant}),ast.constant=allConstants;break;case AST.Literal:ast.constant=!0,ast.toWatch=[];break;case AST.UnaryExpression:findConstantAndWatchExpressions(ast.argument,$filter),ast.constant=ast.argument.constant,ast.toWatch=ast.argument.toWatch;break;case AST.BinaryExpression:findConstantAndWatchExpressions(ast.left,$filter),findConstantAndWatchExpressions(ast.right,$filter),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=ast.left.toWatch.concat(ast.right.toWatch);break;case AST.LogicalExpression:findConstantAndWatchExpressions(ast.left,$filter),findConstantAndWatchExpressions(ast.right,$filter),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=ast.constant?[]:[ast];break;case AST.ConditionalExpression:findConstantAndWatchExpressions(ast.test,$filter),findConstantAndWatchExpressions(ast.alternate,$filter),findConstantAndWatchExpressions(ast.consequent,$filter),ast.constant=ast.test.constant&&ast.alternate.constant&&ast.consequent.constant,ast.toWatch=ast.constant?[]:[ast];break;case AST.Identifier:ast.constant=!1,ast.toWatch=[ast];break;case AST.MemberExpression:findConstantAndWatchExpressions(ast.object,$filter),ast.computed&&findConstantAndWatchExpressions(ast.property,$filter),ast.constant=ast.object.constant&&(!ast.computed||ast.property.constant),ast.toWatch=[ast];break;case AST.CallExpression:allConstants=!!ast.filter&&isStateless($filter,ast.callee.name),argsToWatch=[],forEach(ast.arguments,function(expr){findConstantAndWatchExpressions(expr,$filter),allConstants=allConstants&&expr.constant,expr.constant||argsToWatch.push.apply(argsToWatch,expr.toWatch)}),ast.constant=allConstants,ast.toWatch=ast.filter&&isStateless($filter,ast.callee.name)?argsToWatch:[ast];break;case AST.AssignmentExpression:findConstantAndWatchExpressions(ast.left,$filter),findConstantAndWatchExpressions(ast.right,$filter),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=[ast];break;case AST.ArrayExpression:allConstants=!0,argsToWatch=[],forEach(ast.elements,function(expr){findConstantAndWatchExpressions(expr,$filter),allConstants=allConstants&&expr.constant,expr.constant||argsToWatch.push.apply(argsToWatch,expr.toWatch)}),ast.constant=allConstants,ast.toWatch=argsToWatch;break;case AST.ObjectExpression:allConstants=!0,argsToWatch=[],forEach(ast.properties,function(property){findConstantAndWatchExpressions(property.value,$filter),allConstants=allConstants&&property.value.constant,property.value.constant||argsToWatch.push.apply(argsToWatch,property.value.toWatch)}),ast.constant=allConstants,ast.toWatch=argsToWatch;break;case AST.ThisExpression:case AST.LocalsExpression:ast.constant=!1,ast.toWatch=[]}}function getInputs(body){if(1==body.length){var lastExpression=body[0].expression,candidate=lastExpression.toWatch;return 1!==candidate.length?candidate:candidate[0]!==lastExpression?candidate:undefined}}function isAssignable(ast){return ast.type===AST.Identifier||ast.type===AST.MemberExpression}function assignableAST(ast){if(1===ast.body.length&&isAssignable(ast.body[0].expression))return{type:AST.AssignmentExpression,left:ast.body[0].expression,right:{type:AST.NGValueParameter},operator:"="}}function isLiteral(ast){return 0===ast.body.length||1===ast.body.length&&(ast.body[0].expression.type===AST.Literal||ast.body[0].expression.type===AST.ArrayExpression||ast.body[0].expression.type===AST.ObjectExpression)}function isConstant(ast){return ast.constant}function ASTCompiler(astBuilder,$filter){this.astBuilder=astBuilder,this.$filter=$filter}function ASTInterpreter(astBuilder,$filter){this.astBuilder=astBuilder,this.$filter=$filter}function isPossiblyDangerousMemberName(name){return"constructor"==name}function getValueOf(value){return isFunction(value.valueOf)?value.valueOf():objectValueOf.call(value)}function $ParseProvider(){var cacheDefault=createMap(),cacheExpensive=createMap();this.$get=["$filter",function($filter){function expressionInputDirtyCheck(newValue,oldValueOfValue){return null==newValue||null==oldValueOfValue?newValue===oldValueOfValue:("object"!=typeof newValue||"object"!=typeof(newValue=getValueOf(newValue)))&&(newValue===oldValueOfValue||newValue!=newValue&&oldValueOfValue!=oldValueOfValue)}function inputsWatchDelegate(scope,listener,objectEquality,parsedExpression,prettyPrintExpression){var lastResult,inputExpressions=parsedExpression.inputs;if(1===inputExpressions.length){var oldInputValueOf=expressionInputDirtyCheck;return inputExpressions=inputExpressions[0],scope.$watch(function(scope){var newInputValue=inputExpressions(scope);return expressionInputDirtyCheck(newInputValue,oldInputValueOf)||(lastResult=parsedExpression(scope,undefined,undefined,[newInputValue]),oldInputValueOf=newInputValue&&getValueOf(newInputValue)),lastResult},listener,objectEquality,prettyPrintExpression)}for(var oldInputValueOfValues=[],oldInputValues=[],i=0,ii=inputExpressions.length;i<ii;i++)oldInputValueOfValues[i]=expressionInputDirtyCheck,oldInputValues[i]=null;return scope.$watch(function(scope){for(var changed=!1,i=0,ii=inputExpressions.length;i<ii;i++){var newInputValue=inputExpressions[i](scope);(changed||(changed=!expressionInputDirtyCheck(newInputValue,oldInputValueOfValues[i])))&&
34(oldInputValues[i]=newInputValue,oldInputValueOfValues[i]=newInputValue&&getValueOf(newInputValue))}return changed&&(lastResult=parsedExpression(scope,undefined,undefined,oldInputValues)),lastResult},listener,objectEquality,prettyPrintExpression)}function oneTimeWatchDelegate(scope,listener,objectEquality,parsedExpression){var unwatch,lastValue;return unwatch=scope.$watch(function(scope){return parsedExpression(scope)},function(value,old,scope){lastValue=value,isFunction(listener)&&listener.apply(this,arguments),isDefined(value)&&scope.$$postDigest(function(){isDefined(lastValue)&&unwatch()})},objectEquality)}function oneTimeLiteralWatchDelegate(scope,listener,objectEquality,parsedExpression){function isAllDefined(value){var allDefined=!0;return forEach(value,function(val){isDefined(val)||(allDefined=!1)}),allDefined}var unwatch,lastValue;return unwatch=scope.$watch(function(scope){return parsedExpression(scope)},function(value,old,scope){lastValue=value,isFunction(listener)&&listener.call(this,value,old,scope),isAllDefined(value)&&scope.$$postDigest(function(){isAllDefined(lastValue)&&unwatch()})},objectEquality)}function constantWatchDelegate(scope,listener,objectEquality,parsedExpression){var unwatch;return unwatch=scope.$watch(function(scope){return unwatch(),parsedExpression(scope)},listener,objectEquality)}function addInterceptor(parsedExpression,interceptorFn){if(!interceptorFn)return parsedExpression;var watchDelegate=parsedExpression.$$watchDelegate,useInputs=!1,fn=watchDelegate!==oneTimeLiteralWatchDelegate&&watchDelegate!==oneTimeWatchDelegate?function(scope,locals,assign,inputs){var value=useInputs&&inputs?inputs[0]:parsedExpression(scope,locals,assign,inputs);return interceptorFn(value,scope,locals)}:function(scope,locals,assign,inputs){var value=parsedExpression(scope,locals,assign,inputs),result=interceptorFn(value,scope,locals);return isDefined(value)?result:value};return parsedExpression.$$watchDelegate&&parsedExpression.$$watchDelegate!==inputsWatchDelegate?fn.$$watchDelegate=parsedExpression.$$watchDelegate:interceptorFn.$stateful||(fn.$$watchDelegate=inputsWatchDelegate,useInputs=!parsedExpression.inputs,fn.inputs=parsedExpression.inputs?parsedExpression.inputs:[parsedExpression]),fn}var noUnsafeEval=csp().noUnsafeEval,$parseOptions={csp:noUnsafeEval,expensiveChecks:!1},$parseOptionsExpensive={csp:noUnsafeEval,expensiveChecks:!0};return function(exp,interceptorFn,expensiveChecks){var parsedExpression,oneTime,cacheKey;switch(typeof exp){case"string":exp=exp.trim();var cache=expensiveChecks?cacheExpensive:cacheDefault;if(!(parsedExpression=cache[cacheKey=exp])){":"===exp.charAt(0)&&":"===exp.charAt(1)&&(oneTime=!0,exp=exp.substring(2));var parseOptions=expensiveChecks?$parseOptionsExpensive:$parseOptions,lexer=new Lexer(parseOptions);(parsedExpression=new Parser(lexer,$filter,parseOptions).parse(exp)).constant?parsedExpression.$$watchDelegate=constantWatchDelegate:oneTime?parsedExpression.$$watchDelegate=parsedExpression.literal?oneTimeLiteralWatchDelegate:oneTimeWatchDelegate:parsedExpression.inputs&&(parsedExpression.$$watchDelegate=inputsWatchDelegate),cache[cacheKey]=parsedExpression}return addInterceptor(parsedExpression,interceptorFn);case"function":return addInterceptor(exp,interceptorFn);default:return addInterceptor(noop,interceptorFn)}}}]}function $QProvider(){this.$get=["$rootScope","$exceptionHandler",function($rootScope,$exceptionHandler){return qFactory(function(callback){$rootScope.$evalAsync(callback)},$exceptionHandler)}]}function $$QProvider(){this.$get=["$browser","$exceptionHandler",function($browser,$exceptionHandler){return qFactory(function(callback){$browser.defer(callback)},$exceptionHandler)}]}function qFactory(nextTick,exceptionHandler){function Promise(){this.$$state={status:0}}function simpleBind(context,fn){return function(value){fn.call(context,value)}}function processQueue(state){var fn,deferred,pending;pending=state.pending,state.processScheduled=!1,state.pending=undefined;for(var i=0,ii=pending.length;i<ii;++i){deferred=pending[i][0],fn=pending[i][state.status];try{isFunction(fn)?deferred.resolve(fn(state.value)):1===state.status?deferred.resolve(state.value):deferred.reject(state.value)}catch(e){deferred.reject(e),exceptionHandler(e)}}}function scheduleProcessQueue(state){!state.processScheduled&&state.pending&&(state.processScheduled=!0,nextTick(function(){processQueue(state)}))}function Deferred(){this.promise=new Promise}function all(promises){var deferred=new Deferred,counter=0,results=isArray(promises)?[]:{};return forEach(promises,function(promise,key){counter++,when(promise).then(function(value){results.hasOwnProperty(key)||(results[key]=value,--counter||deferred.resolve(results))},function(reason){results.hasOwnProperty(key)||deferred.reject(reason)})}),0===counter&&deferred.resolve(results),deferred.promise}var $qMinErr=minErr("$q",TypeError),defer=function(){var d=new Deferred;return d.resolve=simpleBind(d,d.resolve),d.reject=simpleBind(d,d.reject),d.notify=simpleBind(d,d.notify),d};extend(Promise.prototype,{then:function(onFulfilled,onRejected,progressBack){if(isUndefined(onFulfilled)&&isUndefined(onRejected)&&isUndefined(progressBack))return this;var result=new Deferred;
34return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([result,onFulfilled,onRejected,progressBack]),this.$$state.status>0&&scheduleProcessQueue(this.$$state),result.promise},"catch":function(callback){return this.then(null,callback)},"finally":function(callback,progressBack){return this.then(function(value){return handleCallback(value,!0,callback)},function(error){return handleCallback(error,!1,callback)},progressBack)}}),extend(Deferred.prototype,{resolve:function(val){this.promise.$$state.status||(val===this.promise?this.$$reject($qMinErr("qcycle","Expected promise to be resolved with value other than itself '{0}'",val)):this.$$resolve(val))},$$resolve:function(val){function resolvePromise(val){done||(done=!0,that.$$resolve(val))}function rejectPromise(val){done||(done=!0,that.$$reject(val))}var then,that=this,done=!1;try{(isObject(val)||isFunction(val))&&(then=val&&val.then),isFunction(then)?(this.promise.$$state.status=-1,then.call(val,resolvePromise,rejectPromise,simpleBind(this,this.notify))):(this.promise.$$state.value=val,this.promise.$$state.status=1,scheduleProcessQueue(this.promise.$$state))}catch(e){rejectPromise(e),exceptionHandler(e)}},reject:function(reason){this.promise.$$state.status||this.$$reject(reason)},$$reject:function(reason){this.promise.$$state.value=reason,this.promise.$$state.status=2,scheduleProcessQueue(this.promise.$$state)},notify:function(progress){var callbacks=this.promise.$$state.pending;this.promise.$$state.status<=0&&callbacks&&callbacks.length&&nextTick(function(){for(var callback,result,i=0,ii=callbacks.length;i<ii;i++){result=callbacks[i][0],callback=callbacks[i][3];try{result.notify(isFunction(callback)?callback(progress):progress)}catch(e){exceptionHandler(e)}}})}});var reject=function(reason){var result=new Deferred;return result.reject(reason),result.promise},makePromise=function(value,resolved){var result=new Deferred;return resolved?result.resolve(value):result.reject(value),result.promise},handleCallback=function(value,isResolved,callback){var callbackOutput=null;try{isFunction(callback)&&(callbackOutput=callback())}catch(e){return makePromise(e,!1)}return isPromiseLike(callbackOutput)?callbackOutput.then(function(){return makePromise(value,isResolved)},function(error){return makePromise(error,!1)}):makePromise(value,isResolved)},when=function(value,callback,errback,progressBack){var result=new Deferred;return result.resolve(value),result.promise.then(callback,errback,progressBack)},resolve=when,$Q=function Q(resolver){function resolveFn(value){deferred.resolve(value)}function rejectFn(reason){deferred.reject(reason)}if(!isFunction(resolver))throw $qMinErr("norslvr","Expected resolverFn, got '{0}'",resolver);if(!(this instanceof Q))return new Q(resolver);var deferred=new Deferred;return resolver(resolveFn,rejectFn),deferred.promise};return $Q.defer=defer,$Q.reject=reject,$Q.when=when,$Q.resolve=resolve,$Q.all=all,$Q}function $$RAFProvider(){this.$get=["$window","$timeout",function($window,$timeout){var requestAnimationFrame=$window.requestAnimationFrame||$window.webkitRequestAnimationFrame,cancelAnimationFrame=$window.cancelAnimationFrame||$window.webkitCancelAnimationFrame||$window.webkitCancelRequestAnimationFrame,rafSupported=!!requestAnimationFrame,raf=rafSupported?function(fn){var id=requestAnimationFrame(fn);return function(){cancelAnimationFrame(id)}}:function(fn){var timer=$timeout(fn,16.66,!1);return function(){$timeout.cancel(timer)}};return raf.supported=rafSupported,raf}]}function $RootScopeProvider(){function createChildScopeClass(parent){function ChildScope(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=nextUid(),this.$$ChildScope=null}return ChildScope.prototype=parent,ChildScope}var TTL=10,$rootScopeMinErr=minErr("$rootScope"),lastDirtyWatch=null,applyAsyncId=null;this.digestTtl=function(value){return arguments.length&&(TTL=value),TTL},this.$get=["$exceptionHandler","$parse","$browser",function($exceptionHandler,$parse,$browser){function destroyChildScope($event){$event.currentScope.$$destroyed=!0}function cleanUpScope($scope){9===msie&&($scope.$$childHead&&cleanUpScope($scope.$$childHead),$scope.$$nextSibling&&cleanUpScope($scope.$$nextSibling)),$scope.$parent=$scope.$$nextSibling=$scope.$$prevSibling=$scope.$$childHead=$scope.$$childTail=$scope.$root=$scope.$$watchers=null}function Scope(){this.$id=nextUid(),this.$$phase=this.$parent=this.$$wat
34chers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function beginPhase(phase){if($rootScope.$$phase)throw $rootScopeMinErr("inprog","{0} already in progress",$rootScope.$$phase);$rootScope.$$phase=phase}function clearPhase(){$rootScope.$$phase=null}function incrementWatchersCount(current,count){do{current.$$watchersCount+=count}while(current=current.$parent)}function decrementListenerCount(current,count,name){do{current.$$listenerCount[name]-=count,0===current.$$listenerCount[name]&&delete current.$$listenerCount[name]}while(current=current.$parent)}function initWatchVal(){}function flushApplyAsync(){for(;applyAsyncQueue.length;)try{applyAsyncQueue.shift()()}catch(e){$exceptionHandler(e)}applyAsyncId=null}function scheduleApplyAsync(){null===applyAsyncId&&(applyAsyncId=$browser.defer(function(){$rootScope.$apply(flushApplyAsync)}))}Scope.prototype={constructor:Scope,$new:function(isolate,parent){var child;return parent=parent||this,isolate?(child=new Scope).$root=this.$root:(this.$$ChildScope||(this.$$ChildScope=createChildScopeClass(this)),child=new this.$$ChildScope),child.$parent=parent,child.$$prevSibling=parent.$$childTail,parent.$$childHead?(parent.$$childTail.$$nextSibling=child,parent.$$childTail=child):parent.$$childHead=parent.$$childTail=child,(isolate||parent!=this)&&child.$on("$destroy",destroyChildScope),child},$watch:function(watchExp,listener,objectEquality,prettyPrintExpression){var get=$parse(watchExp);if(get.$$watchDelegate)return get.$$watchDelegate(this,listener,objectEquality,get,watchExp);var scope=this,array=scope.$$watchers,watcher={fn:listener,last:initWatchVal,get:get,exp:prettyPrintExpression||watchExp,eq:!!objectEquality};return lastDirtyWatch=null,isFunction(listener)||(watcher.fn=noop),array||(array=scope.$$watchers=[]),array.unshift(watcher),incrementWatchersCount(this,1),function(){arrayRemove(array,watcher)>=0&&incrementWatchersCount(scope,-1),lastDirtyWatch=null}},$watchGroup:function(watchExpressions,listener){function watchGroupAction(){changeReactionScheduled=!1,firstRun?(firstRun=!1,listener(newValues,newValues,self)):listener(newValues,oldValues,self)}var oldValues=new Array(watchExpressions.length),newValues=new Array(watchExpressions.length),deregisterFns=[],self=this,changeReactionScheduled=!1,firstRun=!0;if(!watchExpressions.length){var shouldCall=!0;return self.$evalAsync(function(){shouldCall&&listener(newValues,newValues,self)}),function(){shouldCall=!1}}return 1===watchExpressions.length?this.$watch(watchExpressions[0],function(value,oldValue,scope){newValues[0]=value,oldValues[0]=oldValue,listener(newValues,value===oldValue?newValues:oldValues,scope)}):(forEach(watchExpressions,function(expr,i){var unwatchFn=self.$watch(expr,function(value,oldValue){newValues[i]=value,oldValues[i]=oldValue,changeReactionScheduled||(changeReactionScheduled=!0,self.$evalAsync(watchGroupAction))});deregisterFns.push(unwatchFn)}),function(){for(;deregisterFns.length;)deregisterFns.shift()()})},$watchCollection:function(obj,listener){function $watchCollectionInterceptor(_value){var newLength,key,newItem,oldItem;if(!isUndefined(newValue=_value)){if(isObject(newValue))if(isArrayLike(newValue)){oldValue!==internalArray&&(oldLength=(oldValue=internalArray).length=0,changeDetected++),newLength=newValue.length,oldLength!==newLength&&(changeDetected++,oldValue.length=oldLength=newLength);for(var i=0;i<newLength;i++)oldItem=oldValue[i],newItem=newValue[i],oldItem!=oldItem&&newItem!=newItem||oldItem===newItem||(changeDetected++,oldValue[i]=newItem)}else{for(key in oldValue!==internalObject&&(oldValue=internalObject={},oldLength=0,changeDetected++),newLength=0,newValue)hasOwnProperty.call(newValue,key)&&(newLength++,newItem=newValue[key],oldItem=oldValue[key],key in oldValue?oldItem!=oldItem&&newItem!=newItem||oldItem===newItem||(changeDetected++,oldValue[key]=newItem):(oldLength++,oldValue[key]=newItem,changeDetected++));if(oldLength>newLength)for(key in changeDetected++,oldValue)hasOwnProperty.call(newValue,key)||(oldLength--,delete oldValue[key])}else oldValue!==newValue&&(oldValue=newValue,changeDetected++);return changeDetected}}function $watchCollectionAction(){if(initRun?(initRun=!1,listener(newValue,newValue,
34self)):listener(newValue,veryOldValue,self),trackVeryOldValue)if(isObject(newValue))if(isArrayLike(newValue)){veryOldValue=new Array(newValue.length);for(var i=0;i<newValue.length;i++)veryOldValue[i]=newValue[i]}else for(var key in veryOldValue={},newValue)hasOwnProperty.call(newValue,key)&&(veryOldValue[key]=newValue[key]);else veryOldValue=newValue}$watchCollectionInterceptor.$stateful=!0;var newValue,oldValue,veryOldValue,self=this,trackVeryOldValue=listener.length>1,changeDetected=0,changeDetector=$parse(obj,$watchCollectionInterceptor),internalArray=[],internalObject={},initRun=!0,oldLength=0;return this.$watch(changeDetector,$watchCollectionAction)},$digest:function(){var watch,value,last,watchers,length,dirty,next,current,logIdx,asyncTask,ttl=TTL,target=this,watchLog=[];beginPhase("$digest"),$browser.$$checkUrlChange(),this===$rootScope&&null!==applyAsyncId&&($browser.defer.cancel(applyAsyncId),flushApplyAsync()),lastDirtyWatch=null;do{for(dirty=!1,current=target;asyncQueue.length;){try{(asyncTask=asyncQueue.shift()).scope.$eval(asyncTask.expression,asyncTask.locals)}catch(e){$exceptionHandler(e)}lastDirtyWatch=null}traverseScopesLoop:do{if(watchers=current.$$watchers)for(length=watchers.length;length--;)try{if(watch=watchers[length])if((value=watch.get(current))===(last=watch.last)||(watch.eq?equals(value,last):"number"==typeof value&&"number"==typeof last&&isNaN(value)&&isNaN(last))){if(watch===lastDirtyWatch){dirty=!1;break traverseScopesLoop}}else dirty=!0,lastDirtyWatch=watch,watch.last=watch.eq?copy(value,null):value,watch.fn(value,last===initWatchVal?value:last,current),ttl<5&&(watchLog[logIdx=4-ttl]||(watchLog[logIdx]=[]),watchLog[logIdx].push({msg:isFunction(watch.exp)?"fn: "+(watch.exp.name||watch.exp.toString()):watch.exp,newVal:value,oldVal:last}))}catch(e){$exceptionHandler(e)}if(!(next=current.$$watchersCount&&current.$$childHead||current!==target&&current.$$nextSibling))for(;current!==target&&!(next=current.$$nextSibling);)current=current.$parent}while(current=next);if((dirty||asyncQueue.length)&&!ttl--)throw clearPhase(),$rootScopeMinErr("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",TTL,watchLog)}while(dirty||asyncQueue.length);for(clearPhase();postDigestQueue.length;)try{postDigestQueue.shift()()}catch(e){$exceptionHandler(e)}},$destroy:function(){if(!this.$$destroyed){var parent=this.$parent;for(var eventName in this.$broadcast("$destroy"),this.$$destroyed=!0,this===$rootScope&&$browser.$$applicationDestroyed(),incrementWatchersCount(this,-this.$$watchersCount),this.$$listenerCount)decrementListenerCount(this,this.$$listenerCount[eventName],eventName);parent&&parent.$$childHead==this&&(parent.$$childHead=this.$$nextSibling),parent&&parent.$$childTail==this&&(parent.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),
35this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=noop,this.$on=this.$watch=this.$watchGroup=function(){return noop},this.$$listeners={},this.$$nextSibling=null,cleanUpScope(this)}},$eval:function(expr,locals){return $parse(expr)(this,locals)},$evalAsync:function(expr,locals){$rootScope.$$phase||asyncQueue.length||$browser.defer(function(){asyncQueue.length&&$rootScope.$digest()}),asyncQueue.push({scope:this,expression:expr,locals:locals})},$$postDigest:function(fn){postDigestQueue.push(fn)},$apply:function(expr){try{beginPhase("$apply");try{return this.$eval(expr)}finally{clearPhase()}}catch(e){$exceptionHandler(e)}finally{try{$rootScope.$digest()}catch(e){throw $exceptionHandler(e),e}}},$applyAsync:function(expr){function $applyAsyncExpression(){scope.$eval(expr)}var scope=this;expr&&applyAsyncQueue.push($applyAsyncExpression),scheduleApplyAsync()},$on:function(name,listener){var namedListeners=this.$$listeners[name];namedListeners||(this.$$listeners[name]=namedListeners=[]),namedListeners.push(listener);var current=this;do{current.$$listenerCount[name]||(current.$$listenerCount[name]=0),current.$$listenerCount[name]++}while(current=current.$parent);var self=this;return function(){var indexOfListener=namedListeners.indexOf(listener);-1!==indexOfListener&&(namedListeners[indexOfListener]=null,decrementListenerCount(self,1,name))}},$emit:function(name){var namedListeners,i,length,empty=[],scope=this,stopPropagation=!1,event={name:name,targetScope:scope,stopPropagation:function(){stopPropagation=!0},preventDefault:function(){event.defaultPrevented=!0},defaultPrevented:!1}
35,listenerArgs=concat([event],arguments,1);do{for(namedListeners=scope.$$listeners[name]||empty,event.currentScope=scope,i=0,length=namedListeners.length;i<length;i++)if(namedListeners[i])try{namedListeners[i].apply(null,listenerArgs)}catch(e){$exceptionHandler(e)}else namedListeners.splice(i,1),i--,length--;if(stopPropagation)return event.currentScope=null,event;scope=scope.$parent}while(scope);return event.currentScope=null,event},$broadcast:function(name){var target=this,current=target,next=target,event={name:name,targetScope:target,preventDefault:function(){event.defaultPrevented=!0},defaultPrevented:!1};if(!target.$$listenerCount[name])return event;for(var listeners,i,length,listenerArgs=concat([event],arguments,1);current=next;){for(event.currentScope=current,i=0,length=(listeners=current.$$listeners[name]||[]).length;i<length;i++)if(listeners[i])try{listeners[i].apply(null,listenerArgs)}catch(e){$exceptionHandler(e)}else listeners.splice(i,1),i--,length--;if(!(next=current.$$listenerCount[name]&&current.$$childHead||current!==target&&current.$$nextSibling))for(;current!==target&&!(next=current.$$nextSibling);)current=current.$parent}return event.currentScope=null,event}};var $rootScope=new Scope,asyncQueue=$rootScope.$$asyncQueue=[],postDigestQueue=$rootScope.$$postDigestQueue=[],applyAsyncQueue=$rootScope.$$applyAsyncQueue=[];return $rootScope}]}function $$SanitizeUriProvider(){var aHrefSanitizationWhitelist=/^\s*(https?|ftp|mailto|tel|file):/,imgSrcSanitizationWhitelist=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(regexp){return isDefined(regexp)?(aHrefSanitizationWhitelist=regexp,this):aHrefSanitizationWhitelist},this.imgSrcSanitizationWhitelist=function(regexp){return isDefined(regexp)?(imgSrcSanitizationWhitelist=regexp,this):imgSrcSanitizationWhitelist},this.$get=function(){return function(uri,isImage){var normalizedVal,regex=isImage?imgSrcSanitizationWhitelist:aHrefSanitizationWhitelist;return""===(normalizedVal=urlResolve(uri).href)||normalizedVal.match(regex)?uri:"unsafe:"+normalizedVal}}}function adjustMatcher(matcher){if("self"===matcher)return matcher;if(isString(matcher)){if(matcher.indexOf("***")>-1)throw $sceMinErr("iwcard","Illegal sequence *** in string matcher.  String: {0}",matcher);return matcher=escapeForRegexp(matcher).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+matcher+"$")}if(isRegExp(matcher))return new RegExp("^"+matcher.source+"$");throw $sceMinErr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function adjustMatchers(matchers){var adjustedMatchers=[];return isDefined(matchers)&&forEach(matchers,function(matcher){adjustedMatchers.push(adjustMatcher(matcher))}),adjustedMatchers}function $SceDelegateProvider(){this.SCE_CONTEXTS=SCE_CONTEXTS;var resourceUrlWhitelist=["self"],resourceUrlBlacklist=[];this.resourceUrlWhitelist=function(value){return arguments.length&&(resourceUrlWhitelist=adjustMatchers(value)),resourceUrlWhitelist},this.resourceUrlBlacklist=function(value){return arguments.length&&(resourceUrlBlacklist=adjustMatchers(value)),resourceUrlBlacklist},this.$get=["$injector",function($injector){function matchUrl(matcher,parsedUrl){return"self"===matcher?urlIsSameOrigin(parsedUrl):!!matcher.exec(parsedUrl.href)}function isResourceUrlAllowedByPolicy(url){var i,n,parsedUrl=urlResolve(url.toString()),allowed=!1;for(i=0,n=resourceUrlWhitelist.length;i<n;i++)if(matchUrl(resourceUrlWhitelist[i],parsedUrl)){allowed=!0;break}if(allowed)for(i=0,n=resourceUrlBlacklist.length;i<n;i++)if(matchUrl(resourceUrlBlacklist[i],parsedUrl)){allowed=!1;break}return allowed}function generateHolderType(Base){var holderType=function(trustedValue){this.$$unwrapTrustedValue=function(){return trustedValue}};return Base&&(holderType.prototype=new Base),holderType.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},holderType.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},holderType}function trustAs(type,trustedValue){var Constructor=byType.hasOwnProperty(type)?byType[type]:null;if(!Constructor)throw $sceMinErr("icontext","Attempted to trust a value in invali
35d context. Context: {0}; Value: {1}",type,trustedValue);if(null===trustedValue||isUndefined(trustedValue)||""===trustedValue)return trustedValue;if("string"!=typeof trustedValue)throw $sceMinErr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",type);return new Constructor(trustedValue)}function valueOf(maybeTrusted){return maybeTrusted instanceof trustedValueHolderBase?maybeTrusted.$$unwrapTrustedValue():maybeTrusted}function getTrusted(type,maybeTrusted){if(null===maybeTrusted||isUndefined(maybeTrusted)||""===maybeTrusted)return maybeTrusted;var constructor=byType.hasOwnProperty(type)?byType[type]:null;if(constructor&&maybeTrusted instanceof constructor)return maybeTrusted.$$unwrapTrustedValue();if(type===SCE_CONTEXTS.RESOURCE_URL){if(isResourceUrlAllowedByPolicy(maybeTrusted))return maybeTrusted;throw $sceMinErr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",maybeTrusted.toString())}if(type===SCE_CONTEXTS.HTML)return htmlSanitizer(maybeTrusted);throw $sceMinErr("unsafe","Attempting to use an unsafe value in a safe context.")}var htmlSanitizer=function(){throw $sceMinErr("unsafe","Attempting to use an unsafe value in a safe context.")};$injector.has("$sanitize")&&(htmlSanitizer=$injector.get("$sanitize"));var trustedValueHolderBase=generateHolderType(),byType={};return byType[SCE_CONTEXTS.HTML]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.CSS]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.URL]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.JS]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.RESOURCE_URL]=generateHolderType(byType[SCE_CONTEXTS.URL]),{trustAs:trustAs,getTrusted:getTrusted,valueOf:valueOf}}]}function $SceProvider(){var enabled=!0;this.enabled=function(value){return arguments.length&&(enabled=!!value),enabled},this.$get=["$parse","$sceDelegate",function($parse,$sceDelegate){if(enabled&&msie<8)throw $sceMinErr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 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.");var sce=shallowCopy(SCE_CONTEXTS);sce.isEnabled=function(){return enabled},sce.trustAs=$sceDelegate.trustAs,sce.getTrusted=$sceDelegate.getTrusted,sce.valueOf=$sceDelegate.valueOf,enabled||(sce.trustAs=sce.getTrusted=function(type,value){return value},sce.valueOf=identity),sce.parseAs=function(type,expr){var parsed=$parse(expr);return parsed.literal&&parsed.constant?parsed:$parse(expr,function(value){return sce.getTrusted(type,value)})};var parse=sce.parseAs,getTrusted=sce.getTrusted,trustAs=sce.trustAs;return forEach(SCE_CONTEXTS,function(enumValue,name){var lName=lowercase(name);sce[camelCase("parse_as_"+lName)]=function(expr){return parse(enumValue,expr)},sce[camelCase("get_trusted_"+lName)]=function(value){return getTrusted(enumValue,value)},sce[camelCase("trust_as_"+lName)]=function(value){return trustAs(enumValue,value)}}),sce}]}function $SnifferProvider(){this.$get=["$window","$document",function($window,$document){var vendorPrefix,match,eventSupport={},android=toInt((/android (\d+)/.exec(lowercase(($window.navigator||{}).userAgent))||[])[1]),boxee=/Boxee/i.test(($window.navigator||{}).userAgent),document=$document[0]||{},vendorRegex=/^(Moz|webkit|ms)(?=[A-Z])/,bodyStyle=document.body&&document.body.style,transitions=!1,animations=!1;if(bodyStyle){for(var prop in bodyStyle)if(match=vendorRegex.exec(prop)){vendorPrefix=(vendorPrefix=match[0]).substr(0,1).toUpperCase()+vendorPrefix.substr(1);break}vendorPrefix||(vendorPrefix="WebkitOpacity"in bodyStyle&&"webkit"),transitions=!!("transition"in bodyStyle||vendorPrefix+"Transition"in bodyStyle),animations=!!("animation"in bodyStyle||vendorPrefix+"Animation"in bodyStyle),!android||transitions&&animations||(transitions=isString(bodyStyle.webkitTransition),animations=isString(bodyStyle.webkitAnimation))}return{history:!(!$window.history||!$window.history.pushState||android<4||boxee),hasEvent:function(event){if("input"===event&&msie<=11)return!1;if(isUndefined(eventSupport[event])){var divElm=document.createElement("div");eventSupport[event]="on"+event in divElm}return eventSupport[event]},csp:csp(),vendorPrefix:vendorPrefix,transitions:transitions,animations:animations,android:android}}]}function $TemplateRequestProvider(){var httpOptions;this.httpOptions=function(val){return val?(httpOptions=val,this):httpOptions},this.$get=["$templateCache","$http","$q","$sce",function($templateCache,$http,$q,$sce){function handleRequestFn(tpl,ignoreRequestError){function handleError(resp){if(!ignoreRequestError)throw $compileMinErr("tpload","Failed to load template: {0} (HTTP status: {1} {2})",tpl,resp.status,resp.statusText);return $q.reject(resp)}handleRequestFn.totalPendingRequests++,isString(tpl)&&$templateCache.get(tpl)||(tpl=$sce.getTrustedResourceUrl(tpl));var transformResponse=$http.defaults&&$http.defaults.transformResponse;return isArray(transformResponse)?transformResponse=transformResponse.filter(function(transformer){return transformer!==defaultHttpResponseTransform}):transformResponse===defaultHttpResponseTransform&&(transformResponse=null),$http.get(tpl,extend({cache:$templateCache,transformResponse:transformResponse},httpOptions))["finally"](function(){handleRequestFn.totalPendingRequests--}).then(function(response){return $templateCache.put(tpl,response.data),response.data},handleError)}return handleRequestFn.totalPendingRequests=0,handleRequestFn}]}
35function $$TestabilityProvider(){this.$get=["$rootScope","$browser","$location",function($rootScope,$browser,$location){var testability={findBindings:function(element,expression,opt_exactMatch){var bindings=element.getElementsByClassName("ng-binding"),matches=[];return forEach(bindings,function(binding){var dataBinding=angular.element(binding).data("$binding");dataBinding&&forEach(dataBinding,function(bindingName){opt_exactMatch?new RegExp("(^|\\s)"+escapeForRegexp(expression)+"(\\s|\\||$)").test(bindingName)&&matches.push(binding):-1!=bindingName.indexOf(expression)&&matches.push(binding)})}),matches},findModels:function(element,expression,opt_exactMatch){for(var prefixes=["ng-","data-ng-","ng\\:"],p=0;p<prefixes.length;++p){var attributeEquals=opt_exactMatch?"=":"*=",selector="["+prefixes[p]+"model"+attributeEquals+'"'+expression+'"]',elements=element.querySelectorAll(selector);if(elements.length)return elements}},getLocation:function(){return $location.url()},setLocation:function(url){url!==$location.url()&&($location.url(url),$rootScope.$digest())},whenStable:function(callback){$browser.notifyWhenNoOutstandingRequests(callback)}};return testability}]}function $TimeoutProvider(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function($rootScope,$browser,$q,$$q,$exceptionHandler){function timeout(fn,delay,invokeApply){isFunction(fn)||(invokeApply=delay,delay=fn,fn=noop);var timeoutId,args=sliceArgs(arguments,3),skipApply=isDefined(invokeApply)&&!invokeApply,deferred=(skipApply?$$q:$q).defer(),promise=deferred.promise;return timeoutId=$browser.defer(function(){try{deferred.resolve(fn.apply(null,args))}catch(e){deferred.reject(e),$exceptionHandler(e)}finally{delete deferreds[promise.$$timeoutId]}skipApply||$rootScope.$apply()},delay),promise.$$timeoutId=timeoutId,deferreds[timeoutId]=deferred,promise}var deferreds={};return timeout.cancel=function(promise){return!!(promise&&promise.$$timeoutId in deferreds)&&(deferreds[promise.$$timeoutId].reject("canceled"),delete deferreds[promise.$$timeoutId],$browser.defer.cancel(promise.$$timeoutId))},timeout}]}function urlResolve(url){var href=url;return msie&&(urlParsingNode.setAttribute("href",href),href=urlParsingNode.href),urlParsingNode.setAttribute("href",href),{href:urlParsingNode.href,protocol:urlParsingNode.protocol?urlParsingNode.protocol.replace(/:$/,""):"",host:urlParsingNode.host,search:urlParsingNode.search?urlParsingNode.search.replace(/^\?/,""):"",hash:urlParsingNode.hash?urlParsingNode.hash.replace(/^#/,""):"",hostname:urlParsingNode.hostname,port:urlParsingNode.port,pathname:"/"===urlParsingNode.pathname.charAt(0)?urlParsingNode.pathname:"/"+urlParsingNode.pathname}}function urlIsSameOrigin(requestUrl){var parsed=isString(requestUrl)?urlResolve(requestUrl):requestUrl;return parsed.protocol===originUrl.protocol&&parsed.host===originUrl.host}function $WindowProvider(){this.$get=valueFn(window)}function $$CookieReader($document){function safeDecodeURIComponent(str){try{return decodeURIComponent(str)}catch(e){return str}}var rawDocument=$document[0]||{},lastCookies={},lastCookieString="";return function(){var cookieArray,cookie,i,index,name,currentCookieString=rawDocument.cookie||"";if(currentCookieString!==lastCookieString)for(cookieArray=(lastCookieString=currentCookieString).split("; "),lastCookies={},i=0;i<cookieArray.length;i++)(index=(cookie=cookieArray[i]).indexOf("="))>0&&(name=safeDecodeURIComponent(cookie.substring(0,index)),isUndefined(lastCookies[name])&&(lastCookies[name]=safeDecodeURIComponent(cookie.substring(index+1))));return lastCookies}}function $$CookieReaderProvider(){this.$get=$$CookieReader}function $FilterProvider($provide){function register(name,factory){if(isObject(name)){var filters={};return forEach(name,function(filter,key){filters[key]=register(key,filter)}),filters}return $provide.factory(name+suffix,factory)}var suffix="Filter";this.register=register,this.$get=["$injector",function($injector){return function(name){return $injector.get(name+suffix)}}],register("currency",currencyFilter),register("date",dateFilter),register("filter",filterFilter),register("json",jsonFilter),register("limitTo",limitToFilter),register("lowercase",lowercaseFilter),register("number",numberFilter),register("orderBy",orderByFilter),register("uppercase",uppercaseFilter)}function filterFilter(){return function(array,expression,comparator){if(!isArrayLike(array)){if(null==array)return array;throw minErr("filter")("notarray","Expected array but received: {0}",array)}var predicateFn,matchAgainstAnyProp;switch(getTypeForFilter(expression)){case"function":predicateFn=expression;break;case"boolean":case"null":case"number":case"string":matchAgainstAnyProp=!0;case"object":predicateFn=createPredicateFn(expression,comparator,matchAgainstAnyProp);break;default:return array}return Array.prototype.filter.call(array,predicateFn)}}function createPredicateFn(expression,comparator,matchAgainstAnyProp){var shouldMatchPrimitives=isObject(expression)&&"$"in expression;return!0===comparator?comparator=equals:isFunction(comparator)||(comparator=function(actual,expected){return!isUndefined(actual)&&(null===actual||null===expected?actual===expected:!(isObject(expected)||isObject(actual)&&!hasCustomToString(actual))&&(actual=lowercase(""+actual),expected=lowercase(""+expected),-1!==actual.indexOf(expected)))}),function(item){return shouldMatchPrimitives&&!isObject(item)?deepCompare(item,expression.$,comparator,!1):deepCompare(item,expression,comparator,matchAgainstAnyProp)}}function deepCompare(actual,expected,comparator,matchAgainstAnyProp,dontMatchWholeObject){var actualType=getTypeForFilter(actual),expectedType=getTypeForFilter(expected);if("string"===expectedType&&"!"===expected.charAt(0))return!deepCompare(actual,expected.substring(1),comparator,matchAgainstAnyProp);if(isArray(actual))return actual.some(function(item){return deepCompare(item,expected,comparator,matchAgainstAnyProp)});switch(actualType){case"object":var key;if(matchAgainstAnyProp){for(key in actual)if("$"!==key.charAt(0)&&deepCompare(actual[key],expected,comparator,!0))return!0;return!dontMatchWholeObject&&deepCompare(actual,expected,comparator,!1)}if("object"===expectedType){for(key in expected){var expectedVal=expected[key];if(!isFunction(expectedVal)&&!isUndefined(expectedVal)){var matchAnyProperty="$"===key;if(!deepCompare(matchAnyProperty?actual:actual[key],expectedVal,comparator,matchAnyProperty,matchAnyProperty))return!1}}return!0}return comparator(actual,expected);case"function":return!1;default:return comparator(actual,expected)}}function getTypeForFilter(val){return null===val?"null":typeof val}function currencyFilter($locale){var formats=$locale.NUMBER_FORMATS;return function(amount,currencySymbol,fractionSize){return isUndefined(currencySymbol)&&(currencySymbol=formats.CURRENCY_SYM),isUndefined(fractionSize)&&(fractionSize=formats.PATTERNS[1].maxFrac),null==amount?amount:formatNumber(amount,formats.PATTERNS[1],formats.GROUP_SEP,formats.DECIMAL_SEP,fractionSize).replace(/\u00A4/g,currencySymbol)}}function numberFilter($locale){var formats=$locale.NUMBER_FORMATS;return function(number,fractionSize){return null==number?number:formatNumber(number,formats.PATTERNS[0],formats.GROUP_SEP,formats.DECIMAL_SEP,fractionSize)}}function parse(numStr){var digits,numberOfIntegerDigits,i,j,zeros,exponent=0;for((numberOfIntegerDigits=numStr.indexOf(DECIMAL_SEP))>-1&&(numStr=numStr.replace(DECIMAL_SEP,"")),(i=numStr.search(/e/i))>0?(numberOfIntegerDigits<0&&(numberOfIntegerDigits=i),numberOfIntegerDigits+=+numStr.slice(i+1),numStr=numStr.substring(0,i)):numberOfIntegerDigits<0&&(numberOfIntegerDigits=numStr.length),i=0;numStr.charAt(i)==ZERO_CHAR;i++);if(i==(zeros=numStr.length))digits=[0],numberOfIntegerDigits=1;else{for(zeros--;numStr.charAt(zeros)==ZERO_CHAR;)zeros--;for(numberOfIntegerDigits-=i,digits=[],j=0;i<=zeros;i++,j++)digits[j]=+numStr.charAt(i)}return numberOfIntegerDigits>MAX_DIGITS&&(digits=digits.splice(0,MAX_DIGITS-1),exponent=numberOfIntegerDigits-1,numberOfIntegerDigits=1),{d:digits,e:exponent,i:numberOfIntegerDigits}}function roundNumber(parsedNumber,fractionSize,minFrac,maxFrac){var digits=parsedNumber.d,fractionLen=digits.length-parsedNumber.i,roun
35dAt=(fractionSize=isUndefined(fractionSize)?Math.min(Math.max(minFrac,fractionLen),maxFrac):+fractionSize)+parsedNumber.i,digit=digits[roundAt];if(roundAt>0)digits.splice(roundAt);else{parsedNumber.i=1,digits.length=roundAt=fractionSize+1;for(var i=0;i<roundAt;i++)digits[i]=0}for(digit>=5&&digits[roundAt-1]++;fractionLen<fractionSize;fractionLen++)digits.push(0);var carry=digits.reduceRight(function(carry,d,i,digits){return d+=carry,digits[i]=d%10,Math.floor(d/10)},0);carry&&(digits.unshift(carry),parsedNumber.i++)}function formatNumber(number,pattern,groupSep,decimalSep,fractionSize){if(!isString(number)&&!isNumber(number)||isNaN(number))return"";var parsedNumber,isInfinity=!isFinite(number),isZero=!1,numStr=Math.abs(number)+"",formattedText="";if(isInfinity)formattedText="\u221e";else{roundNumber(parsedNumber=parse(numStr),fractionSize,pattern.minFrac,pattern.maxFrac);var digits=parsedNumber.d,integerLen=parsedNumber.i,exponent=parsedNumber.e,decimals=[];for(isZero=digits.reduce(function(isZero,d){return isZero&&!d},!0);integerLen<0;)digits.unshift(0),integerLen++;integerLen>0?decimals=digits.splice(integerLen):(decimals=digits,digits=[0]);var groups=[];for(digits.length>pattern.lgSize&&groups.unshift(digits.splice(-pattern.lgSize).join(""));digits.length>pattern.gSize;)groups.unshift(digits.splice(-pattern.gSize).join(""));digits.length&&groups.unshift(digits.join("")),formattedText=groups.join(groupSep),decimals.length&&(formattedText+=decimalSep+decimals.join("")),exponent&&(formattedText+="e+"+exponent)}return number<0&&!isZero?pattern.negPre+formattedText+pattern.negSuf:pattern.posPre+formattedText+pattern.posSuf}function padNumber(num,digits,trim){var neg="";for(num<0&&(neg="-",num=-num),num=""+num;num.length<digits;)num=ZERO_CHAR+num;return trim&&(num=num.substr(num.length-digits)),neg+num}function dateGetter(name,size,offset,trim){return offset=offset||0,function(date){var value=date["get"+name]();return(offset>0||value>-offset)&&(value+=offset),0===value&&-12==offset&&(value=12),padNumber(value,size,trim)}}function dateStrGetter(name,shortForm){return function(date,formats){var value=date["get"+name]();return formats[uppercase(shortForm?"SHORT"+name:name)][value]}}function timeZoneGetter(date,formats,offset){var zone=-1*offset,paddedZone=zone>=0?"+":"";return paddedZone+=padNumber(Math[zone>0?"floor":"ceil"](zone/60),2)+padNumber(Math.abs(zone%60),2)}function getFirstThursdayOfYear(year){var dayOfWeekOnFirst=new Date(year,0,1).getDay();return new Date(year,0,(dayOfWeekOnFirst<=4?5:12)-dayOfWeekOnFirst)}function getThursdayThisWeek(datetime){return new Date(datetime.getFullYear(),datetime.getMonth(),datetime.getDate()+(4-datetime.getDay()))}function weekGetter(size){return function(date){var firstThurs=getFirstThursdayOfYear(date.getFullYear()),diff=+getThursdayThisWeek(date)-+firstThurs;return padNumber(1+Math.round(diff/6048e5),size)}}function ampmGetter(date,formats){return date.getHours()<12?formats.AMPMS[0]:formats.AMPMS[1]}function eraGetter(date,formats){return date.getFullYear()<=0?formats.ERAS[0]:formats.ERAS[1]}function longEraGetter(date,formats){return date.getFullYear()<=0?formats.ERANAMES[0]:formats.ERANAMES[1]}function dateFilter($locale){function jsonStringToDate(string){var match;if(match=string.match(R_ISO8601_STR)){var date=new Date(0),tzHour=0,tzMin=0,dateSetter=match[8]?date.setUTCFullYear:date.setFullYear,timeSetter=match[8]?date.setUTCHours:date.setHours;match[9]&&(tzHour=toInt(match[9]+match[10]),tzMin=toInt(match[9]+match[11])),dateSetter.call(date,toInt(match[1]),toInt(match[2])-1,toInt(match[3]));var h=toInt(match[4]||0)-tzHour,m=toInt(match[5]||0)-tzMin,s=toInt(match[6]||0),ms=Math.round(1e3*parseFloat("0."+(match[7]||0)));return timeSetter.call(date,h,m,s,ms),date}return string}var R_ISO8601_STR=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(date,format,timezone){var fn,match,text="",parts=[];if(format=format||"mediumDate",format=$locale.DATETIME_FORMATS[format]||format,isString(date)&&(date=NUMBER_STRING.test(date)?toInt(date):jsonStringToDate(date)),isNumber(date)&&(date=new Date(date)),!isDate(date)||!isFinite(date.getTime()))return date;for(;format;)(match=DATE_FORMATS_SPLIT.exec(format))?format=(parts=concat(parts,match,1)).pop():(parts.push(format),format=null);var dateTimezoneOffset=date.getTimezoneOffset();return timezone&&(dateTimezoneOffset=timezoneToOffset(timezone,date.getTimezoneOffset()),date=convertTimezoneToLocal(date,timezone,!0)),forEac
35h(parts,function(value){fn=DATE_FORMATS[value],text+=fn?fn(date,$locale.DATETIME_FORMATS,dateTimezoneOffset):value.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),text}}function jsonFilter(){return function(object,spacing){return isUndefined(spacing)&&(spacing=2),toJson(object,spacing)}}function limitToFilter(){return function(input,limit,begin){return limit=Math.abs(Number(limit))===Infinity?Number(limit):toInt(limit),isNaN(limit)?input:(isNumber(input)&&(input=input.toString()),isArray(input)||isString(input)?(begin=(begin=!begin||isNaN(begin)?0:toInt(begin))<0?Math.max(0,input.length+begin):begin,limit>=0?input.slice(begin,begin+limit):0===begin?input.slice(limit,input.length):input.slice(Math.max(0,begin+limit),begin)):input)}}function orderByFilter($parse){function processPredicates(sortPredicate,reverseOrder){return reverseOrder=reverseOrder?-1:1,sortPredicate.map(function(predicate){var descending=1,get=identity;if(isFunction(predicate))get=predicate;else if(isString(predicate)&&("+"!=predicate.charAt(0)&&"-"!=predicate.charAt(0)||(descending="-"==predicate.charAt(0)?-1:1,predicate=predicate.substring(1)),""!==predicate&&(get=$parse(predicate)).constant)){var key=get();get=function(value){return value[key]}}return{get:get,descending:descending*reverseOrder}})}function isPrimitive(value){switch(typeof value){case"number":case"boolean":case"string":return!0;default:return!1}}function objectValue(value,index){return"function"==typeof value.valueOf&&isPrimitive(value=value.valueOf())?value:hasCustomToString(value)&&isPrimitive(value=value.toString())?value:index}function getPredicateValue(value,index){var type=typeof value;return null===value?(type="string",value="null"):"string"===type?value=value.toLowerCase():"object"===type&&(value=objectValue(value,index)),{value:value,type:type}}function compare(v1,v2){var result=0;return v1.type===v2.type?v1.value!==v2.value&&(result=v1.value<v2.value?-1:1):result=v1.type<v2.type?-1:1,result}return function(array,sortPredicate,reverseOrder){function getComparisonObject(value,index){return{value:value,predicateValues:predicates.map(function(predicate){return getPredicateValue(predicate.get(value),index)})}}function doComparison(v1,v2){for(var result=0,index=0,length=predicates.length;index<length&&!(result=compare(v1.predicateValues[index],v2.predicateValues[index])*predicates[index].descending);++index);return result}if(null==array)return array;if(!isArrayLike(array))throw minErr("orderBy")("notarray","Expected array but received: {0}",array);isArray(sortPredicate)||(sortPredicate=[sortPredicate]),0===sortPredicate.length&&(sortPredicate=["+"]);var predicates=processPredicates(sortPredicate,reverseOrder);predicates.push({get:function(){return{}},descending:reverseOrder?-1:1});var compareValues=Array.prototype.map.call(array,getComparisonObject);return compareValues.sort(doComparison),array=compareValues.map(function(item){return item.value})}}function ngDirective(directive){return isFunction(directive)&&(directive={link:directive}),directive.restrict=directive.restrict||"AC",valueFn(directive)}function nullFormRenameControl(control,name){control.$name=name}function FormController(element,attrs,$scope,$animate,$interpolate){var form=this,controls=[];form.$error={},form.$$success={},form.$pending=undefined,form.$name=$interpolate(attrs.name||attrs.ngForm||"")($scope),form.$dirty=!1,form.$pristine=!0,form.$valid=!0,form.$invalid=!1,form.$submitted=!1,form.$$parentForm=nullFormCtrl,form.$rollbackViewValue=function(){forEach(controls,function(control){control.$rollbackViewValue()})},form.$commitViewValue=function(){forEach(controls,function(control){control.$commitViewValue()})},form.$addControl=function(control){assertNotHasOwnProperty(control.$name,"input"),controls.push(control),control.$name&&(form[control.$name]=control),control.$$parentForm=form},form.$$renameControl=function(control,newName){var oldName=control.$name;form[oldName]===control&&delete form[oldName],form[newName]=control,control.$name=newName},form.$removeControl=function(control){control.$name&&form[control.$name]===control&&delete form[control.$name],forEach(form.$pending,function(value,name){form.$setValidity(name,null,control)}
35),forEach(form.$error,function(value,name){form.$setValidity(name,null,control)}),forEach(form.$$success,function(value,name){form.$setValidity(name,null,control)}),arrayRemove(controls,control),control.$$parentForm=nullFormCtrl},addSetValidityMethod({ctrl:this,$element:element,set:function(object,property,controller){var list=object[property];list?-1===list.indexOf(controller)&&list.push(controller):object[property]=[controller]},unset:function(object,property,controller){var list=object[property];list&&(arrayRemove(list,controller),0===list.length&&delete object[property])},$animate:$animate}),form.$setDirty=function(){$animate.removeClass(element,PRISTINE_CLASS),$animate.addClass(element,DIRTY_CLASS),form.$dirty=!0,form.$pristine=!1,form.$$parentForm.$setDirty()},form.$setPristine=function(){$animate.setClass(element,PRISTINE_CLASS,DIRTY_CLASS+" "+SUBMITTED_CLASS),form.$dirty=!1,form.$pristine=!0,form.$submitted=!1,forEach(controls,function(control){control.$setPristine()})},form.$setUntouched=function(){forEach(controls,function(control){control.$setUntouched()})},form.$setSubmitted=function(){$animate.addClass(element,SUBMITTED_CLASS),form.$submitted=!0,form.$$parentForm.$setSubmitted()}}function stringBasedInputType(ctrl){ctrl.$formatters.push(function(value){return ctrl.$isEmpty(value)?value:value.toString()})}function textInputType(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl)}function baseInputType(scope,element,attr,ctrl,$sniffer,$browser){var type=lowercase(element[0].type);if(!$sniffer.android){var composing=!1;element.on("compositionstart",function(){composing=!0}),element.on("compositionend",function(){composing=!1,listener()})}var listener=function(ev){if(timeout&&($browser.defer.cancel(timeout),timeout=null),!composing){var value=element.val(),event=ev&&ev.type;"password"===type||attr.ngTrim&&"false"===attr.ngTrim||(value=trim(value)),(ctrl.$viewValue!==value||""===value&&ctrl.$$hasNativeValidators)&&ctrl.$setViewValue(value,event)}};if($sniffer.hasEvent("input"))element.on("input",listener);else{var timeout,deferListener=function(ev,input,origValue){timeout||(timeout=$browser.defer(function(){timeout=null,input&&input.value===origValue||listener(ev)}))};element.on("keydown",function(event){var key=event.keyCode;91===key||15<key&&key<19||37<=key&&key<=40||deferListener(event,this,this.value)}),$sniffer.hasEvent("paste")&&element.on("paste cut",deferListener)}element.on("change",listener),ctrl.$render=function(){var value=ctrl.$isEmpty(ctrl.$viewValue)?"":ctrl.$viewValue;element.val()!==value&&element.val(value)}}function weekParser(isoWeek,existingDate){if(isDate(isoWeek))return isoWeek;if(isString(isoWeek)){WEEK_REGEXP.lastIndex=0;var parts=WEEK_REGEXP.exec(isoWeek);if(parts){var year=+parts[1],week=+parts[2],hours=0,minutes=0,seconds=0,milliseconds=0,firstThurs=getFirstThursdayOfYear(year),addDays=7*(week-1);return existingDate&&(hours=existingDate.getHours(),minutes=existingDate.getMinutes(),seconds=existingDate.getSeconds(),milliseconds=existingDate.getMilliseconds()),new Date(year,0,firstThurs.getDate()+addDays,hours,minutes,seconds,milliseconds)}}return NaN}function createDateParser(regexp,mapping){return function(iso,date){var parts,map;if(isDate(iso))return iso;if(isString(iso)){if('"'==iso.charAt(0)&&'"'==iso.charAt(iso.length-1)&&(iso=iso.substring(1,iso.length-1)),ISO_DATE_REGEXP.test(iso))return new Date(iso);if(regexp.lastIndex=0,parts=regexp.exec(iso))return parts.shift(),map=date?{yyyy:date.getFullYear(),MM:date.getMonth()+1,dd:date.getDate(),HH:date.getHours(),mm:date.getMinutes(),ss:date.getSeconds(),sss:date.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},forEach(parts,function(part,index){index<mapping.length&&(map[mapping[index]]=+part)}),new Date(map.yyyy,map.MM-1,map.dd,map.HH,map.mm,map.ss||0,1e3*map.sss||0)}return NaN}}function createDateInputType(type,regexp,parseDate,format){return function(scope,element,attr,ctrl,$sniffer,$browser,$filter){function isValidDate(value){return value&&!(value.getTime&&value.getTime()!=value.getTime())}function parseObservedDateValue(val){return isDefined(val)&&!isDate(val)?parseDate(val)||undefined:val}badInputChecker(scope,element,attr,ctrl),
36baseInputType(scope,element,attr,ctrl,$sniffer,$browser);var previousDate,minVal,maxVal,timezone=ctrl&&ctrl.$options&&ctrl.$options.timezone;(ctrl.$$parserName=type,ctrl.$parsers.push(function(value){if(ctrl.$isEmpty(value))return null;if(regexp.test(value)){var parsedDate=parseDate(value,previousDate);return timezone&&(parsedDate=convertTimezoneToLocal(parsedDate,timezone)),parsedDate}return undefined}),ctrl.$formatters.push(function(value){if(value&&!isDate(value))throw ngModelMinErr("datefmt","Expected `{0}` to be a date",value);return isValidDate(value)?((previousDate=value)&&timezone&&(previousDate=convertTimezoneToLocal(previousDate,timezone,!0)),$filter("date")(value,format,timezone)):(previousDate=null,"")}),isDefined(attr.min)||attr.ngMin)&&(ctrl.$validators.min=function(value){return!isValidDate(value)||isUndefined(minVal)||parseDate(value)>=minVal},attr.$observe("min",function(val){minVal=parseObservedDateValue(val),ctrl.$validate()}));(isDefined(attr.max)||attr.ngMax)&&(ctrl.$validators.max=function(value){return!isValidDate(value)||isUndefined(maxVal)||parseDate(value)<=maxVal},attr.$observe("max",function(val){maxVal=parseObservedDateValue(val),ctrl.$validate()}))}}function badInputChecker(scope,element,attr,ctrl){var node=element[0];(ctrl.$$hasNativeValidators=isObject(node.validity))&&ctrl.$parsers.push(function(value){var validity=element.prop(VALIDITY_STATE_PROPERTY)||{};return validity.badInput||validity.typeMismatch?undefined:value})}function numberInputType(scope,element,attr,ctrl,$sniffer,$browser){var minVal,maxVal;(badInputChecker(scope,element,attr,ctrl),baseInputType(scope,element,attr,ctrl,$sniffer,$browser),ctrl.$$parserName="number",ctrl.$parsers.push(function(value){return ctrl.$isEmpty(value)?null:NUMBER_REGEXP.test(value)?parseFloat(value):undefined}),ctrl.$formatters.push(function(value){if(!ctrl.$isEmpty(value)){if(!isNumber(value))throw ngModelMinErr("numfmt","Expected `{0}` to be a number",value);value=value.toString()}return value}),isDefined(attr.min)||attr.ngMin)&&(ctrl.$validators.min=function(value){return ctrl.$isEmpty(value)||isUndefined(minVal)||value>=minVal},attr.$observe("min",function(val){isDefined(val)&&!isNumber(val)&&(val=parseFloat(val,10)),minVal=isNumber(val)&&!isNaN(val)?val:undefined,ctrl.$validate()}));(isDefined(attr.max)||attr.ngMax)&&(ctrl.$validators.max=function(value){return ctrl.$isEmpty(value)||isUndefined(maxVal)||value<=maxVal},attr.$observe("max",function(val){isDefined(val)&&!isNumber(val)&&(val=parseFloat(val,10)),maxVal=isNumber(val)&&!isNaN(val)?val:undefined,ctrl.$validate()}))}function urlInputType(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl),ctrl.$$parserName="url",ctrl.$validators.url=function(modelValue,viewValue){var value=modelValue||viewValue;return ctrl.$isEmpty(value)||URL_REGEXP.test(value)}}function emailInputType(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl),ctrl.$$parserName="email",ctrl.$validators.email=function(modelValue,viewValue){var value=modelValue||viewValue;return ctrl.$isEmpty(value)||EMAIL_REGEXP.test(value)}}function radioInputType(scope,element,attr,ctrl){isUndefined(attr.name)&&element.attr("name",nextUid());var listener=function(ev){element[0].checked&&ctrl.$setViewValue(attr.value,ev&&ev.type)};element.on("click",listener),ctrl.$render=function(){var value=attr.value;element[0].checked=value==ctrl.$viewValue},attr.$observe("value",ctrl.$render)}function parseConstantExpr($parse,context,name,expression,fallback){var parseFn;if(isDefined(expression)){if(!(parseFn=$parse(expression)).constant)throw ngModelMinErr("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",name,expression);return parseFn(context)}return fallback}function checkboxInputType(scope,element,attr,ctrl,$sniffer,$browser,$filter,$parse){var trueValue=parseConstantExpr($parse,scope,"ngTrueValue",attr.ngTrueValue,!0),falseValue=parseConstantExpr($parse,scope,"ngFalseValue",attr.ngFalseValue,!1),listener=function(ev){ctrl.$setViewValue(element[0].checked,ev&&ev.type)};element.on("click",listener),ctrl.$render=function(){element[0].checked=ctrl.$viewValue},ctrl.$isEmpty=function(value){return!1===value},ctrl.$formatters.push(function(value){return equals(value,trueValue)}),ctrl.$parsers.push(function(value){return value?trueValue:falseValue})}function classDirective(name,selector){return name="ngClass"+name,["$animate",function($animate){function arrayDifference(tokens1,tokens2){var values=[];outer:for(var i=0;i<tokens1.length;i++){for(var token=tokens1[i],j=0;j<tokens2.length;j++)if(token==tokens2[j])continue outer;values.push(token)}return values}
36function arrayClasses(classVal){var classes=[];return isArray(classVal)?(forEach(classVal,function(v){classes=classes.concat(arrayClasses(v))}),classes):isString(classVal)?classVal.split(" "):isObject(classVal)?(forEach(classVal,function(v,k){v&&(classes=classes.concat(k.split(" ")))}),classes):classVal}return{restrict:"AC",link:function(scope,element,attr){function addClasses(classes){var newClasses=digestClassCounts(classes,1);attr.$addClass(newClasses)}function removeClasses(classes){var newClasses=digestClassCounts(classes,-1);attr.$removeClass(newClasses)}function digestClassCounts(classes,count){var classCounts=element.data("$classCounts")||createMap(),classesToUpdate=[];return forEach(classes,function(className){(count>0||classCounts[className])&&(classCounts[className]=(classCounts[className]||0)+count,classCounts[className]===+(count>0)&&classesToUpdate.push(className))}),element.data("$classCounts",classCounts),classesToUpdate.join(" ")}function updateClasses(oldClasses,newClasses){var toAdd=arrayDifference(newClasses,oldClasses),toRemove=arrayDifference(oldClasses,newClasses);toAdd=digestClassCounts(toAdd,1),toRemove=digestClassCounts(toRemove,-1),toAdd&&toAdd.length&&$animate.addClass(element,toAdd),toRemove&&toRemove.length&&$animate.removeClass(element,toRemove)}function ngClassWatchAction(newVal){if(!0===selector||scope.$index%2===selector){var newClasses=arrayClasses(newVal||[]);if(oldVal){if(!equals(newVal,oldVal)){updateClasses(arrayClasses(oldVal),newClasses)}}else addClasses(newClasses)}oldVal=shallowCopy(newVal)}var oldVal;scope.$watch(attr[name],ngClassWatchAction,!0),attr.$observe("class",function(){ngClassWatchAction(scope.$eval(attr[name]))}),"ngClass"!==name&&scope.$watch("$index",function($index,old$index){var mod=1&$index;if(mod!==(1&old$index)){var classes=arrayClasses(scope.$eval(attr[name]));mod===selector?addClasses(classes):removeClasses(classes)}})}}}]}function addSetValidityMethod(context){function setValidity(validationErrorKey,state,controller){var combinedState;isUndefined(state)?createAndSet("$pending",validationErrorKey,controller):unsetAndCleanup("$pending",validationErrorKey,controller),isBoolean(state)?state?(unset(ctrl.$error,validationErrorKey,controller),set(ctrl.$$success,validationErrorKey,controller)):(set(ctrl.$error,validationErrorKey,controller),unset(ctrl.$$success,validationErrorKey,controller)):(unset(ctrl.$error,validationErrorKey,controller),unset(ctrl.$$success,validationErrorKey,controller)),ctrl.$pending?(cachedToggleClass(PENDING_CLASS,!0),ctrl.$valid=ctrl.$invali
36d=undefined,toggleValidationCss("",null)):(cachedToggleClass(PENDING_CLASS,!1),ctrl.$valid=isObjectEmpty(ctrl.$error),ctrl.$invalid=!ctrl.$valid,toggleValidationCss("",ctrl.$valid)),toggleValidationCss(validationErrorKey,combinedState=ctrl.$pending&&ctrl.$pending[validationErrorKey]?undefined:!ctrl.$error[validationErrorKey]&&(!!ctrl.$$success[validationErrorKey]||null)),ctrl.$$parentForm.$setValidity(validationErrorKey,combinedState,ctrl)}function createAndSet(name,value,controller){ctrl[name]||(ctrl[name]={}),set(ctrl[name],value,controller)}function unsetAndCleanup(name,value,controller){ctrl[name]&&unset(ctrl[name],value,controller),isObjectEmpty(ctrl[name])&&(ctrl[name]=undefined)}function cachedToggleClass(className,switchValue){switchValue&&!classCache[className]?($animate.addClass($element,className),classCache[className]=!0):!switchValue&&classCache[className]&&($animate.removeClass($element,className),classCache[className]=!1)}function toggleValidationCss(validationErrorKey,isValid){validationErrorKey=validationErrorKey?"-"+snake_case(validationErrorKey,"-"):"",cachedToggleClass(VALID_CLASS+validationErrorKey,!0===isValid),cachedToggleClass(INVALID_CLASS+validationErrorKey,!1===isValid)}var ctrl=context.ctrl,$element=context.$element,classCache={},set=context.set,unset=context.unset,$animate=context.$animate;classCache[INVALID_CLASS]=!(classCache[VALID_CLASS]=$element.hasClass(VALID_CLASS)),ctrl.$setValidity=setValidity}
36function isObjectEmpty(obj){if(obj)for(var prop in obj)if(obj.hasOwnProperty(prop))return!1;return!0}function chromeHack(optionElement){optionElement[0].hasAttribute("selected")&&(optionElement[0].selected=!0)}var REGEX_STRING_REGEXP=/^\/(.+)\/([a-z]*)$/,VALIDITY_STATE_PROPERTY="validity",lowercase=function(string){return isString(string)?string.toLowerCase():string},hasOwnProperty=Object.prototype.hasOwnProperty,uppercase=function(string){return isString(string)?string.toUpperCase():string},manualLowercase=function(s){return isString(s)?s.replace(/[A-Z]/g,function(ch){return String.fromCharCode(32|ch.charCodeAt(0))}):s},manualUppercase=function(s){return isString(s)?s.replace(/[a-z]/g,function(ch){return String.fromCharCode(-33&ch.charCodeAt(0))}):s};"i"!=="I".toLowerCase()&&(lowercase=manualLowercase,uppercase=manualUppercase);var msie,jqLite,jQuery,angularModule,slice=[].slice,splice=[].splice,push=[].push,toString=Object.prototype.toString,getPrototypeOf=Object.getPrototypeOf,ngMinErr=minErr("ng"),angular=window.angular||(window.angular={}),uid=0;msie=document.documentMode,noop.$inject=[],identity.$inject=[];var isArray=Array.isArray,TYPED_ARRAY_REGEXP=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/,trim=function(value){return isString(value)?value.trim():value},escapeForRegexp=function(s){return s.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},csp=function(){function noUnsafeEval(){try{return new Function(""),!1}catch(e){return!0}}if(!isDefined(csp.rules)){var ngCspElement=document.querySelector("[ng-csp]")||document.querySelector("[data-ng-csp]");if(ngCspElement){var ngCspAttribute=ngCspElement.getAttribute("ng-csp")||ngCspElement.getAttribute("data-ng-csp");csp.rules={noUnsafeEval:!ngCspAttribute||-1!==ngCspAttribute.indexOf("no-unsafe-eval"),noInlineStyle:!ngCspAttribute||-1!==ngCspAttribute.indexOf("no-inline-style")}}else csp.rules={noUnsafeEval:noUnsafeEval(),noInlineStyle:!1}}return csp.rules},jq=function(){if(isDefined(jq.name_))return jq.name_;var el,i,prefix,name,ii=ngAttrPrefixes.length;for(i=0;i<ii;++i)if(prefix=ngAttrPrefixes[i],el=document.querySelector("["+prefix.replace(":","\\:")+"jq]")){name=el.getAttribute(prefix+"jq");break}return jq.name_=name},ngAttrPrefixes=["ng-","data-ng-","ng:","x-ng-"],SNAKE_CASE_REGEXP=/[A-Z]/g,bindJQueryFired=!1,NODE_TYPE_ELEMENT=1,NODE_TYPE_ATTRIBUTE=2,NODE_TYPE_TEXT=3,NODE_TYPE_COMMENT=8,NODE_TYPE_DOCUMENT=9,NODE_TYPE_DOCUMENT_FRAGMENT=11,version={full:"1.5.0-rc.0",major:1,minor:5,dot:0,codeName:"oblong-panoptikum"};JQLite.expando="ng339";var jqCache=JQLite.cache={},jqId=1,addEventListenerFn=function(element,type,fn){element.addEventListener(type,fn,!1)},removeEventListenerFn=function(element,type,fn){element.removeEventListener(type,fn,!1)};JQLite._data=function(node){return this.cache[node[this.expando]]||{}};var SPECIAL_CHARS_REGEXP=/([\:\-\_]+(.))/g,MOZ_HACK_REGEXP=/^moz([A-Z])/,MOUSE_EVENT_MAP={mouseleave:"mou
36seout",mouseenter:"mouseover"},jqLiteMinErr=minErr("jqLite"),SINGLE_TAG_REGEXP=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,HTML_REGEXP=/<|&#?\w+;/,TAG_NAME_REGEXP=/<([\w:-]+)/,XHTML_TAG_REGEXP=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wrapMap={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var jqLiteContains=Node.prototype.contains||function(arg){return!!(16&this.compareDocumentPosition(arg))},JQLitePrototype=JQLite.prototype={ready:function(fn){function trigger(){fired||(fired=!0,fn())}var fired=!1;"complete"===document.readyState?setTimeout(trigger):(this.on("DOMContentLoaded",trigger),JQLite(window).on("load",trigger))},toString:function(){var value=[];return forEach(this,function(e){value.push(""+e)}),"["+value.join(", ")+"]"},eq:function(index){return jqLite(index>=0?this[index]:this[this.length+index])},length:0,push:push,sort:[].sort,splice:[].splice},BOOLEAN_ATTR={};forEach("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(value){BOOLEAN_ATTR[lowercase(value)]=value});var BOOLEAN_ELEMENTS={};forEach("input,select,option,textarea,button,form,details".split(","),function(value){BOOLEAN_ELEMENTS[value]=!0});var ALIASED_ATTR={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};forEach({data:jqLiteData,removeData:jqLiteRemoveData,hasData:jqLiteHasData,cleanData:jqLiteCleanData},function(fn,name){JQLite[name]=fn}),forEach({data:jqLiteData,inheritedData:jqLiteInheritedData,scope:function(element){return jqLite.data(element,"$scope")||jqLiteInheritedData(element.parentNode||element,["$isolateScope","$scope"])},isolateScope:function(element){return jqLite.data(element,"$isolateScope")||jqLite.data(element,"$isolateScopeNoTemplate")},controller:jqLiteController,injector:function(element){return jqLiteInheritedData(element,"$injector")},removeAttr:function(element,name){element.removeAttribute(name)},hasClass:jqLiteHasClass,css:function(element,name,value){if(name=camelCase(name),!isDefined(value))return element.style[name];element.style[name]=value},attr:function(element,name,value){var nodeType=element.nodeType;if(nodeType!==NODE_TYPE_TEXT&&nodeType!==NODE_TYPE_ATTRIBUTE&&nodeType!==NODE_TYPE_COMMENT){var lowercasedName=lowercase(name);if(BOOLEAN_ATTR[lowercasedName]){if(!isDefined(value))return element[name]||(element.attributes.getNamedItem(name)||noop).specified?lowercasedName:undefined;value?(element[name]=!0,element.setAttribute(name,lowercasedName)):(element[name]=!1,element.removeAttribute(lowercasedName))}else if(isDefined(value))element.setAttribute(name,value);else if(element.getAttribute){var ret=element.getAttribute(name,2);return null===ret?undefined:ret}}},prop:function(element,name,value){if(!isDefined(value))return element[name];element[name]=value},text:function(){function getText(element,value){if(isUndefined(value)){var nodeType=element.nodeType;return nodeType===NODE_TYPE_ELEMENT||nodeType===NODE_TYPE_TEXT?element.textContent:""}element.textContent=value}return getText.$dv="",getText}(),val:function(element,value){if(isUndefined(value)){if(element.multiple&&"select"===nodeName_(element)){var result=[];return forEach(element.options,function(option){option.selected&&result.push(option.value||option.text)}),0===result.length?null:result}return element.value}element.value=value},html:function(element,value){if(isUndefined(value))return element.innerHTML;jqLiteDealoc(element,!0),element.innerHTML=value},empty:jqLiteEmpty},function(fn,name){JQLite.prototype[name]=function(arg1,arg2){var i,key,nodeCount=this.length;if(fn!==jqLiteEmpty&&isUndefined(2==fn.length&&fn!==jqLiteHasClass&&fn!==jqLiteController?arg1:arg2)){if(isObject(arg1)){for(i=0;i<nodeCount;i++)if(fn===jqLiteData)fn(this[i],arg1);else for(key in arg1)fn(this[i],key,arg1[key]);return this}for(var value=fn.$dv,jj=isUndefined(value)?Math.min(nodeCount,1):nodeCount,j=0;j<jj;j++){var nodeValue=fn(this[j],arg1,arg2);value=value?value+nodeValue:nodeValue}return value}for(i=0;i<nodeCount;i++)fn(this[i],arg1,arg2);return this}}
36),forEach({removeData:jqLiteRemoveData,on:function(element,type,fn,unsupported){if(isDefined(unsupported))throw jqLiteMinErr("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(jqLiteAcceptsData(element)){var expandoStore=jqLiteExpandoStore(element,!0),events=expandoStore.events,handle=expandoStore.handle;handle||(handle=expandoStore.handle=createEventHandler(element,events));for(var types=type.indexOf(" ")>=0?type.split(" "):[type],i=types.length,addHandler=function(type,specialHandlerWrapper,noEventListener){var eventFns=events[type];eventFns||((eventFns=events[type]=[]).specialHandlerWrapper=specialHandlerWrapper,"$destroy"===type||noEventListener||addEventListenerFn(element,type,handle)),eventFns.push(fn)};i--;)type=types[i],MOUSE_EVENT_MAP[type]?(addHandler(MOUSE_EVENT_MAP[type],specialMouseHandlerWrapper),addHandler(type,undefined,!0)):addHandler(type)}},off:jqLiteOff,one:function(element,type,fn){(element=jqLite(element)).on(type,function onFn(){element.off(type,fn),element.off(type,onFn)}),element.on(type,fn)},replaceWith:function(element,replaceNode){var index,parent=element.parentNode;jqLiteDealoc(element),forEach(new JQLite(replaceNode),function(node){index?parent.insertBefore(node,index.nextSibling):parent.replaceChild(node,element),index=node})},children:function(element){var children=[];return forEach(element.childNodes,function(element){element.nodeType===NODE_TYPE_ELEMENT&&children.push(element)}),children},contents:function(element){return element.contentDocument||element.childNodes||[]},append:function(element,node){var nodeType=element.nodeType;if(nodeType===NODE_TYPE_ELEMENT||nodeType===NODE_TYPE_DOCUMENT_FRAGMENT)for(var i=0,ii=(node=new JQLite(node)).length;i<ii;i++){var child=node[i];element.appendChild(child)}},prepend:function(element,node){if(element.nodeType===NODE_TYPE_ELEMENT){var index=element.firstChild;forEach(new JQLite(node),function(child){element.insertBefore(child,index)})}},wrap:function(element,wrapNode){wrapNode=jqLite(wrapNode).eq(0).clone()[0];var parent=element.parentNode;parent&&parent.replaceChild(wrapNode,element),wrapNode.appendChild(element)},remove:jqLiteRemove,detach:function(element){jqLiteRemove(element,!0)},after:function(element,newElement){for(var index=element,parent=element.parentNode,i=0,ii=(newElement=new JQLite(newElement)).length;i<ii;i++){var node=newElement[i];parent.insertBefore(node,index.nextSibling),index=node}},addClass:jqLiteAddClass,removeClass:jqLiteRemoveClass,toggleClass:function(element,selector,condition){selector&&forEach(selector.split(" "),function(className){var classCondition=condition;isUndefined(classCondition)&&(classCondition=!jqLiteHasClass(element,className)),(classCondition?jqLiteAddClass:jqLiteRemoveClass)(element,className)})},parent:function(element){var parent=element.parentNode;return parent&&parent.nodeType!==NODE_TYPE_DOCUMENT_FRAGMENT?parent:null},next:function(element){return element.nextElementSibling},find:function(element,selector){return element.getElementsByTagName?element.getElementsByTagName(selector):[]},clone:jqLiteClone,triggerHandler:function(element,event,extraParameters){var dummyEvent,eventFnsCopy,handlerArgs,eventName=event.type||event,expandoStore=jqLiteExpandoStore(element),events=expandoStore&&expandoStore.events,eventFns=events&&events[eventName];eventFns&&(dummyEvent={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:noop,type:eventName,target:element},event.type&&(dummyEvent=extend(dummyEvent,event)),eventFnsCopy=shallowCopy(eventFns),handlerArgs=extraParameters?[dummyEvent].concat(extraParameters):[dummyEvent],forEach(eventFnsCopy,function(fn){dummyEvent.isImmediatePropagationStopped()||fn.apply(element,handlerArgs)}))}},function(fn,name){JQLite.prototype[name]=function(arg1,arg2,arg3){for(var value,i=0,ii=this.length;i<ii;i++)isUndefined(value)?isDefined(value=fn(this[i],arg1,arg2,arg3))&&(value=jqLite(value)):jqLiteAddNodes(value,fn(this[i],arg1,arg2,arg3));return isDefined(value)?value:this},JQLite.prototype.bind=JQLite.prototype.on,JQLite.prototype.unbind=JQLite.prototype.off}),HashMap.prototype={put:function(key,value){this[hashKey(key,this.nextUid)]=value},get:function(key){return this[hashKey(key,this.nextUid)]},remove:function(key){var value=this[key=hashKey(key,this.nextUid)];return delete this[key],value}};var $$HashMapProvider=[function(){this.$get=[function(){return HashMap}]}],ARROW_ARG=/^([^\(]+?)=>/,FN_ARGS=/^[^\(]*\(\s*([^\)]*)\)/m,FN_ARG_SPLIT=/,/,FN_ARG=/^\s*(_?)(\S+?)\1\s*$/,STRIP_COMMENTS=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,$injectorMinErr=minErr("$injector");createInjector.$$annotate=annotate;var $animateMinErr=minErr("$animate"),ELEMENT_NODE=1,NG_ANIMATE_CLASSNAME="ng-animate",$$CoreAnimateQueueProvider=function(){var postDigestQueue=new HashMap,postDigestElements=[];this.$get=["$$AnimateRunner","$rootScope",function($$AnimateRunner,$rootScope){function updateData(data,classes,value){var changed=!1;return classes&&forEach(classes=isString(classes)?classes.split(" "):isArray(classe
36s)?classes:[],function(className){className&&(changed=!0,data[className]=value)}),changed}function handleCSSClassChanges(){forEach(postDigestElements,function(element){var data=postDigestQueue.get(element);if(data){var existing=splitClasses(element.attr("class")),toAdd="",toRemove="";forEach(data,function(status,className){status!==!!existing[className]&&(status?toAdd+=(toAdd.length?" ":"")+className:toRemove+=(toRemove.length?" ":"")+className)}),forEach(element,function(elm){toAdd&&jqLiteAddClass(elm,toAdd),toRemove&&jqLiteRemoveClass(elm,toRemove)}),postDigestQueue.remove(element)}}),postDigestElements.length=0}function addRemoveClassesPostDigest(element,add,remove){var data=postDigestQueue.get(element)||{},classesAdded=updateData(data,add,!0),classesRemoved=updateData(data,remove,!1);(classesAdded||classesRemoved)&&(postDigestQueue.put(element,data),postDigestElements.push(element),1===postDigestElements.length&&$rootScope.$$postDigest(handleCSSClassChanges))}return{enabled:noop,on:noop,off:noop,pin:noop,push:function(element,event,options,domOperation){domOperation&&domOperation(),(options=options||{}).from&&element.css(options.from),options.to&&element.css(options.to),(options.addClass||options.removeClass)&&addRemoveClassesPostDigest(element,options.addClass,options.removeClass);var runner=new $$AnimateRunner;return runner.complete(),runner}}}]},$AnimateProvider=["$provide",function($provide){var provider=this;this.$$registeredAnimations=Object.create(null),this.register=function(name,factory){if(name&&"."!==name.charAt(0))throw $animateMinErr("notcsel","Expecting class selector starting with '.' got '{0}'.",name);var key=name+"-animation";provider.$$registeredAnimations[name.substr(1)]=key,$provide.factory(key,factory)},this.classNameFilter=function(expression){if(1===arguments.length&&(this.$$classNameFilter=expression instanceof RegExp?expression:null,this.$$classNameFilter&&new RegExp("(\\s+|\\/)"+NG_ANIMATE_CLASSNAME+"(\\s+|\\/)").test(this.$$classNameFilter.toString())))throw $animateMinErr("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',NG_ANIMATE_CLASSNAME);return this.$$classNameFilter},this.$get=["$$animateQueue",function($$animateQueue){function domInsert(element,parentElement,afterElement){if(afterElement){var afterNode=extractElementNode(afterElement);!afterNode||afterNode.parentNode||afterNode.previousElementSibling||(afterElement=null)}afterElement?afterElement.after(element):parentElement.prepend(element)}return{on:$$animateQueue.on,off:$$animateQueue.off,pin:$$animateQueue.pin,enabled:$$animateQueue.enabled,cancel:function(runner){runner.end&&runner.end()},enter:function(element,parent,after,options){return parent=parent&&jqLite(parent),after=after&&jqLite(after),domInsert(element,parent=parent||after.parent(),after),$$animateQueue.push(element,"enter",prepareAnimateOptions(options))},move:function(element,parent,after,options){return parent=parent&&jqLite(parent),after=after&&jqLite(after),domInsert(element,parent=parent||after.parent(),after),$$animateQueue.push(element,"move",prepareAnimateOptions(options))},leave:function(element,options){return $$animateQueue.push(element,"leave",prepareAnimateOptions(options),function(){element.remove()})},addClass:function(element,className,options){return(options=prepareAnimateOptions(options)).addClass=mergeClasses(options.addclass,className),$$animateQueue.push(element,"addClass",options)},removeClass:function(element,className,options){return(options=prepareAnimateOptions(options)).removeClass=mergeClasses(options.removeClass,className),$$animateQueue.push(element,"removeClass",options)},setClass:function(element,add,remove,options){return(options=prepareAnimateOptions(options)).addClass=mergeClasses(options.addClass,add),options.removeClass=mergeClasses(options.removeClass,remove),$$animateQueue.push(element,"setClass",options)},animate:function(element,from,to,className,options){return(options=prepareAnimateOptions(options)).from=options.from?extend(options.from,from):from,options.to=options.to?extend(options.to,to):to,className=className||"ng-inline-animate",options.tempClasse
36s=mergeClasses(options.tempClasses,className),$$animateQueue.push(element,"animate",options)}}}]}],$$AnimateAsyncRunFactoryProvider=function(){this.$get=["$$rAF",function($$rAF){function waitForTick(fn){waitQueue.push(fn),waitQueue.length>1||$$rAF(function(){for(var i=0;i<waitQueue.length;i++)waitQueue[i]();waitQueue=[]})}var waitQueue=[];return function(){var passed=!1;return waitForTick(function(){passed=!0}),function(callback){passed?callback():waitForTick(callback)}}}]},$$AnimateRunnerFactoryProvider=function(){this.$get=["$q","$sniffer","$$animateAsyncRun",function($q,$sniffer,$$animateAsyncRun){function AnimateRunner(host){this.setHost(host),this._doneCallbacks=[],this._runInAnimationFrame=$$animateAsyncRun(),this._state=0}var INITIAL_STATE=0,DONE_PENDING_STATE=1,DONE_COMPLETE_STATE=2;return AnimateRunner.chain=function(chain,callback){function next(){index!==chain.length?chain[index](function(response){!1!==response?(index++,next()):callback(!1)}):callback(!0)}var index=0;next()},AnimateRunner.all=function(runners,callback){function onProgress(response){status=status&&response,++count===runners.length&&callback(status)}var count=0,status=!0;forEach(runners,function(runner){runner.done(onProgress)})},AnimateRunner.prototype={setHost:function(host){this.host=host||{}},done:function(fn){this._state===DONE_COMPLETE_STATE?fn():this._doneCallbacks.push(fn)},progress:noop,getPromise:function(){if(!this.promise){var self=this;this.promise=$q(function(resolve,reject){self.done(function(status){!1===status?reject():resolve()})})}return this.promise},then:function(resolveHandler,rejectHandler){return this.getPromise().then(resolveHandler,rejectHandler)},"catch":function(handler){return this.getPromise()["catch"](handler)},"finally":function(handler){return this.getPromise()["finally"](handler)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(response){var self=this;self._state===INITIAL_STATE&&(self._state=DONE_PENDING_STATE,self._runInAnimationFrame(function(){self._resolve(response)}))},_resolve:function(response){this._state!==DONE_COMPLETE_STATE&&(forEach(this._doneCallbacks,function(fn){fn(response)}),this._doneCallbacks.length=0,this._state=DONE_COMPLETE_STATE)}},AnimateRunner}]},$CoreAnimateCssProvider=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function($$rAF,$q,$$AnimateRunner){return function(element,initialOptions){function run(){return $$rAF(function(){applyAnimationContents(),closed||runner.complete(),closed=!0}),runner}function applyAnimationContents(){options.addClass&&(element.addClass(options.addClass),options.addClass=null),options.removeClass&&(element.removeClass(options.removeClass),options.removeClass=null),options.to&&(element.css(options.to),options.to=null)}var options=copy(initialOptions);options.cleanupStyles&&(options.from=options.to=null),options.from&&(element.css(options.from),options.from=null);var closed,runner=new $$AnimateRunner;return{start:run,end:run}}}]},$compileMinErr=minErr("$compile");$CompileProvider.$inject=["$provide","$$sanitizeUriProvider"];var PREFIX_REGEXP=/^((?:x|data)[\:\-_])/i,$controllerMinErr=minErr("$controller"),CNTRL_REG=/^(\S+)(\s+as\s+(\w+))?$/,$$ForceReflowProvider=function(){this.$get=["$document",function($document){return function(domNode){return domNode?!domNode.nodeType&&domNode instanceof jqLite&&(domNode=domNode[0]):domNode=$document[0].body,domNode.offsetWidth+1}}]},APPLICATION_JSON="application/json",CONTENT_TYPE_APPLICATION_JSON={"Content-Type":APPLICATION_JSON+";charset=utf-8"},JSON_START=/^\[|^\{(?!\{)/,JSON_ENDS={"[":/]$/,"{":/}$/},JSON_PROTECTION_PREFIX=/^\)\]\}',?\n/,$httpMinErr=minErr("$http"),$httpMinErrLegacyFn=function(method){return function(){throw $httpMinErr("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",method)}},$interpolateMinErr=angular.$interpolateMinErr=minErr("$interpolate");$interpolateMinErr.throwNoconcat=function(text){throw $interpolateMinErr("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",text)},$interpolateMinErr.interr=function(text,err){return $interpolateMinErr("interr","Can't interpolate: {0}\n{1}",text,err.toString())};var PATH_MATCH=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,DEFAULT_PORTS={http:80,https:443,ftp:21},$locationMinErr=minErr("$location"),locationPrototype={$$html5:!1,$$replace:!1,absUrl:locationGetter("$$absUrl"),url:function(url){if(isUndefined(url))return this.$$url;var match=PATH_MATCH.exec(url);return(match[1]||""===url)&&this.path(decodeURIComponent(match[1])),(match[2]||match[1]||""===url)&&this.search(match[3]||""),this.hash(match[5]||""),this},protocol:locationGetter("$$protocol"),host:locationGetter("$$host"),port:locationGetter("$$port"),path:locationGetterSetter("$$path",function(path){return"/"==(path=null!==path?path.toString():"").charAt(0)?path:"/"+path}),search:function(search,paramValue){switch(arguments.length){case 0:return this.$$search;case 1:if(isString(search)||isNumber(search))search=search.toString(),this.$$search=parseKeyValue(search);else{if(!isObject(search))throw $locationMinErr("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");forEach(search=copy(search,{}),function(value,key){null==value&&delete search[key]}),this.$$search=search}break;default:isUndefined(paramValue)||null===paramValue?delete this.$$search[search]:this.$$search[search]=paramValue}return this.$$compose(),this},hash:locationGetterSetter("$$hash",function(hash){return null!==hash?hash.toString():""}),replace:function(){return this.$$replace=!0,this}};forEach([LocationHashbangInHtml5Url,LocationHashbangUrl,LocationHtml5Url],function(Location){Location.prototype=Object.create(locationPrototype),Location.prototype.state=function(state){if(!arguments.length)return this.$$state;if(Location!==LocationHtml5Url||!this.$$html5)throw $locationMinErr("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=isUndefined(state)?null:state,this}});var $parseMinErr=minErr("$parse"),CALL=Function.prototype.call,APPLY=Function.prototype.apply,BIND=Function.prototype.bind,OPERATORS=createMap();forEach("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(operator){OPERATORS[operator]=!0});var ESCAPE={n:"\n",f:"\f",r:"\r",t:"\t",v:"\x0B","'":"'",'"':'"'},Lexer=function(options){this.options=options};Lexer.prototype={constructor:Lexer,lex:function(text){for(this.text=text,this.index=0,this.tokens=[];this.index<this.text.length;){var ch=this.text.charAt(this.index)
37;if('"'===ch||"'"===ch)this.readString(ch);else if(this.isNumber(ch)||"."===ch&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(ch))this.readIdent();else if(this.is(ch,"(){}[].,;:?"))this.tokens.push({index:this.index,text:ch}),this.index++;else if(this.isWhitespace(ch))this.index++;else{var ch2=ch+this.peek(),ch3=ch2+this.peek(2),op1=OPERATORS[ch],op2=OPERATORS[ch2],op3=OPERATORS[ch3];if(op1||op2||op3){var token=op3?ch3:op2?ch2:ch;this.tokens.push({index:this.index,text:token,operator:!0}),this.index+=token.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(ch,chars){return-1!==chars.indexOf(ch)},peek:function(i){var num=i||1;return this.index+num<this.text.length&&this.text.charAt(this.index+num)},isNumber:function(ch){return"0"<=ch&&ch<="9"&&"string"==typeof ch},isWhitespace:function(ch){return" "===ch||"\r"===ch||"\t"===ch||"\n"===ch||"\x0B"===ch||"\xa0"===ch},isIdent:function(ch){return"a"<=ch&&ch<="z"||"A"<=ch&&ch<="Z"||"_"===ch||"$"===ch},isExpOperator:function(ch){return"-"===ch||"+"===ch||this.isNumber(ch)},throwError:function(error,start,end){end=end||this.index;var colStr=isDefined(start)?"s "+start+"-"+this.index+" ["+this.text.substring(start,end)+"]":" "+end;throw $parseMinErr("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",error,colStr,this.text)},readNumber:function(){for(var number="",start=this.index;this.index<this.text.length;){var ch=lowercase(this.text.charAt(this.index));if("."==ch||this.isNumber(ch))number+=ch;else{var peekCh=this.peek();if("e"==ch&&this.isExpOperator(peekCh))number+=ch;else if(this.isExpOperator(ch)&&peekCh&&this.isNumber(peekCh)&&"e"==number.charAt(number.length-1))number+=ch;else{if(!this.isExpOperator(ch)||peekCh&&this.isNumber(peekCh)||"e"!=number.charAt(number.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:start,text:number,constant:!0,value:Number(number)})},readIdent:function(){for(var start=this.index;this.index<this.text.length;){var ch=this.text.charAt(this.index);if(!this.isIdent(ch)&&!this.isNumber(ch))break;this.index++}this.tokens.push({index:start,text:this.text.slice(start,this.index),identifier:!0})},readString:function(quote){var start=this.index;this.index++;for(var string="",rawString=quote,escape=!1;this.index<this.text.length;){var ch=this.text.charAt(this.index);if(rawString+=ch,escape){if("u"===ch){var hex=this.text.substring(this.index+1,this.index+5);hex.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+hex+"]"),this.index+=4,string+=String.fromCharCode(parseInt(hex,16))}else{string+=ESCAPE[ch]||ch}escape=!1}else if("\\"===ch)escape=!0;else{if(ch===quote)return this.index++,void this.tokens.push({index:start,text:rawString,constant:!0,value:string});string+=ch}this.index++}this.throwError("Unterminated quote",start)}};var AST=function(lexer,options){this.lexer=lexer,this.options=options};AST.Program="Program",AST.ExpressionStatement="ExpressionStatement",AST.AssignmentExpression="AssignmentExpression",AST.ConditionalExpression="ConditionalExpression",AST.LogicalExpression="LogicalExpression",AST.BinaryExpression="BinaryExpression",AST.
37UnaryExpression="UnaryExpression",AST.CallExpression="CallExpression",AST.MemberExpression="MemberExpression",AST.Identifier="Identifier",AST.Literal="Literal",AST.ArrayExpression="ArrayExpression",AST.Property="Property",AST.ObjectExpression="ObjectExpression",AST.ThisExpression="ThisExpression",AST.LocalsExpression="LocalsExpression",AST.NGValueParameter="NGValueParameter",AST.prototype={ast:function(text){this.text=text,this.tokens=this.lexer.lex(text);var value=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),value},program:function(){for(var body=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&body.push(this.expressionStatement()),!this.expect(";"))return{type:AST.Program,body:body}},expressionStatement:function(){return{type:AST.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var left=this.expression();this.expect("|");)left=this.filter(left);return left},expression:function(){return this.assignment()},assignment:function(){var result=this.ternary();return this.expect("=")&&(result={type:AST.AssignmentExpression,left:result,right:this.assignment(),operator:"="}),result},ternary:function(){var alternate,consequent,test=this.logicalOR();return this.expect("?")&&(alternate=this.expression(),this.consume(":"))?(consequent=this.expression(),{type:AST.ConditionalExpression,test:test,alternate:alternate,consequent:consequent}):test},logicalOR:function(){for(var left=this.logicalAND();this.expect("||");)left={type:AST.LogicalExpression,operator:"||",left:left,right:this.logicalAND()};return left},logicalAND:function(){for(var left=this.equality();this.expect("&&");)left={type:AST.LogicalExpression,operator:"&&",left:left,right:this.equality()};return left},equality:function(){for(var token,left=this.relational();token=this.expect("==","!=","===","!==");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.relational()};return left},relational:function(){for(var token,left=this.additive();token=this.expect("<",">","<=",">=");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.additive()};return left},additive:function(){for(var token,left=this.multiplicative();token=this.expect("+","-");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.multiplicative()};return left},multiplicative:function(){for(var token,left=this.unary();token=this.expect("*","/","%");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.unary()};return left},unary:function(){var token;return(token=this.expect("+","-","!"))?{type:AST.UnaryExpression,operator:token.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var primary,next;for(this.expect("(")?(primary=this.filterChain(),this.consume(")")):this.expect("[")?primary=this.arrayDeclaration():this.expect("{")?primary=this.object():this.constants.hasOwnProperty(this.peek().text)?primary=copy(this.constants[this.consume().text]):this.peek().identifier?primary=this.identifier():this.peek().constant?primary=this.constant():this.throwError("not a primary expression",this.peek());next=this.expect("(","[",".");)"("===next.text?(primary={type:AST.CallExpression,callee:primary,arguments:this.parseArguments()},this.consume(")")):"["===next.text?(primary={type:AST.MemberExpression,object:primary,property:this.expression(),computed:!0},this.consume("]")):"."===next.text?primary={type:AST.MemberExpression,object:primary,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return primary},filter:function(baseExpression){for(var args=[baseExpression],result={type:AST.CallExpression,callee:this.identifier(),arguments:args,filter:!0};this.expect(":");)args.push(this.expression());return result},parseArguments:function(){var args=[];if(")"!==this.peekToken().text)do{args.push(this.expression())}while(this.expect(","));return args},identifier:function(){var token=this.consume();return token.identifier||this.throwError("is not a valid identifier",token),{type:AST.Identifier,name:token.text}},constant:function(){return{type:AST.Literal,value:this.consume().value}},arrayDeclaration:function(){var elements=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;elements.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:AST.ArrayExpression,elements:elements}},object:function(){var property,properties=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;property={type:AST.Property,kind:"init"},this.peek().constant?property.key=this.constant():this.peek().identifier?property.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),property.value=this.expression(),properties.push(property)}while(this.expect(","));return this.consume("}"),{type:AST.ObjectExpression,properties:properties}},throwError:function(msg,token){throw $parseMinErr("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",token.text,msg,token.index+1,this.text,this.text.substring(token.index))},consume:function(e1){if(0===this.tokens.length)throw $parseMinErr("ueoe","Unexpected end of expression: {0}",this.text);var token=this.expect(e1);return token||this.throwError("is unexpected, expecting ["+e1+"]",this.peek()),token},peekToken:function(){if(0===this.tokens.length)throw $parseMinErr("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e1,e2,e3,e4){return this.peekAhead(0,e1,e2,e3,e4)},peekAhead:function(i,e1,e2,e3,e4){if(this.tokens.length>i){var token=this.tokens[i],t=token.text;if(t===e1||t===e2||t===e3||t===e4||!e1&&!e2&&!e3&&!e4)return token}return!1},expect:function(e1,e2,e3,e4){var token=this.peek(e1,e2,e3,e4);
37return!!token&&(this.tokens.shift(),token)},constants:{"true":{type:AST.Literal,value:!0},"false":{type:AST.Literal,value:!1},"null":{type:AST.Literal,value:null},undefined:{type:AST.Literal,value:undefined},"this":{type:AST.ThisExpression},$locals:{type:AST.LocalsExpression}}},ASTCompiler.prototype={compile:function(expression,expensiveChecks){var self=this,ast=this.astBuilder.ast(expression);this.state={nextId:0,filters:{},expensiveChecks:expensiveChecks,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},findConstantAndWatchExpressions(ast,self.$filter);var assignable,extra="";if(this.stage="assign",assignable=assignableAST(ast)){this.state.computing="assign";var result=this.nextId();this.recurse(assignable,result),this.return_(result),extra="fn.assign="+this.generateFunction("assign","s,v,l")}var toWatch=getInputs(ast.body);self.stage="inputs",forEach(toWatch,function(watch,key){var fnKey="fn"+key;self.state[fnKey]={vars:[],body:[],own:{}},self.state.computing=fnKey;var intoId=self.nextId();self.recurse(watch,intoId),self.return_(intoId),self.state.inputs.push(fnKey),watch.watchId=key}),this.state.computing="fn",this.stage="main",this.recurse(ast);var fnString='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+extra+this.watchFns()+"return fn;",fn=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",fnString)(this.$filter,ensureSafeMemberName,ensureSafeObject,ensureSafeFunction,getStringValue,ensureSafeAssignContext,ifDefined,plusFn,expression);return this.state=this.stage=undefined,fn.literal=isLiteral(ast),fn.constant=isConstant(ast),fn},USE:"use",STRICT:"strict",watchFns:function(){var result=[],fns=this.state.inputs,self=this;return forEach(fns,function(name){result.push("var "+name+"="+self.generateFunction(name,"s"))}),fns.length&&result.push("fn.inputs=["+fns.join(",")+"];"),result.join("")},generateFunction:function(name,params){return"function("+params+"){"+this.varsPrefix(name)+this.body(name)+"};"},filterPrefix:function(){var parts=[],self=this;return forEach(this.state.filters,function(id,filter){parts.push(id+"=$filter("+self.escape(filter)+")")}),parts.length?"var "+parts.join(",")+";":""},varsPrefix:function(section){return this.state[section].vars.length?"var "+this.state[section].vars.join(",")+";":""},body:function(section){return this.state[section].body.join("")},recurse:function(ast,intoId,nameId,recursionFn,create,skipWatchIdCheck){var left,right,args,expression,self=this;if(recursionFn=recursionFn||noop,!skipWatchIdCheck&&isDefined(ast.watchId))return intoId=intoId||this.nextId(),void this.if_("i",this.lazyAssign(intoId,this.computedMember("i",ast.watchId)),this.lazyRecurse(ast,intoId,nameId,recursionFn,create,!0));switch(ast.type){case AST.Program:forEach(ast.body,function(expression,pos){self.recurse(expression.expression,undefined,undefined,function(expr){right=expr}),pos!==ast.body.length-1?self.current().body.push(right,";"):self.return_(right)});break;case AST.Literal:expression=this.escape(ast.value),this.assign(intoId,expression),recursionFn(expression);break;case AST.UnaryExpression:this.recurse(ast.argument,undefined,undefined,function(expr){right=expr}),expression=ast.operator+"("+this.ifDefined(right,0)+")",this.assign(intoId,expression),recursionFn(expression);break;case AST.BinaryExpression:this.recurse(ast.left,undefined,undefined,function(expr){left=expr}),this.recurse(ast.right,undefined,undefined,function(expr){right=expr}),expression="+"===ast.operator?this.plus(left,right):"-"===ast.operator?this.ifDefined(left,0)+ast.operator+this.ifDefined(right,0):"("+left+")"+ast.operator+"("+right+")",this.assign(intoId,expression),recursionFn(expression);break;case AST.LogicalExpression:intoId=intoId||this.nextId(),self.recurse(ast.left,intoId),self.if_("&&"===ast.operator?intoId:self.not(intoId),self.lazyRecurse(ast.right,intoId)),recursionFn(intoId);break;case AST.ConditionalExpression:intoId=intoId||this.nextId(),self.recurse(ast.test,intoId),self.if_(intoId,self.lazyRecurse(ast.alternate,intoId),self.lazyRecurse(ast.consequent,intoId)),recursionFn(intoId);break;case AST.Identifier:intoId=intoId||this.nextId(),nameId&&(nameId.c
37ontext="inputs"===self.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",ast.name)+"?l:s"),nameId.computed=!1,nameId.name=ast.name),ensureSafeMemberName(ast.name),self.if_("inputs"===self.stage||self.not(self.getHasOwnProperty("l",ast.name)),function(){self.if_("inputs"===self.stage||"s",function(){create&&1!==create&&self.if_(self.not(self.nonComputedMember("s",ast.name)),self.lazyAssign(self.nonComputedMember("s",ast.name),"{}")),self.assign(intoId,self.nonComputedMember("s",ast.name))})},intoId&&self.lazyAssign(intoId,self.nonComputedMember("l",ast.name))),(self.state.expensiveChecks||isPossiblyDangerousMemberName(ast.name))&&self.addEnsureSafeObject(intoId),recursionFn(intoId);break;case AST.MemberExpression:left=nameId&&(nameId.context=this.nextId())||this.nextId(),intoId=intoId||this.nextId(),self.recurse(ast.object,left,undefined,function(){self.if_(self.notNull(left),function(){create&&1!==create&&self.addEnsureSafeAssignContext(left),ast.computed?(right=self.nextId(),self.recurse(ast.property,right),self.getStringValue(right),self.addEnsureSafeMemberName(right),create&&1!==create&&self.if_(self.not(self.computedMember(left,right)),self.lazyAssign(self.computedMember(left,right),"{}")),expression=self.ensureSafeObject(self.computedMember(left,right)),self.assign(intoId,expression),nameId&&(nameId.computed=!0,nameId.name=right)):(ensureSafeMemberName(ast.property.name),create&&1!==create&&self.if_(self.not(self.nonComputedMember(left,ast.property.name)),self.lazyAssign(self.nonComputedMember(left,ast.property.name),"{}")),expression=self.nonComputedMember(left,ast.property.name),(self.state.expensiveChecks||isPossiblyDangerousMemberName(ast.property.name))&&(expression=self.ensureSafeObject(expression)),self.assign(intoId,expression),nameId&&(nameId.computed=!1,nameId.name=ast.property.name))},function(){self.assign(intoId,"undefined")}),recursionFn(intoId)},!!create);break;case AST.CallExpression:intoId=intoId||this.nextId(),ast.filter?(right=self.filter(ast.callee.name),args=[],forEach(ast.arguments,function(expr){var argument=self.nextId();self.recurse(expr,argument),args.push(argument)}),expression=right+"("+args.join(",")+")",self.assign(intoId,expression),recursionFn(intoId)):(right=self.nextId(),left={},args=[],self.recurse(ast.callee,right,left,function(){self.if_(self.notNull(right),function(){self.addEnsureSafeFunction(right),forEach(ast.arguments,function(expr){self.recurse(expr,self.nextId(),undefined,function(argument){args.push(self.ensureSafeObject(argument))})}),left.name?(self.state.expensiveChecks||self.addEnsureSafeObject(left.context),expression=self.member(left.context,left.name,left.computed)+"("+args.join(",")+")"):expression=right+"("+args.join(",")+")",expression=self.ensureSafeObject(expression),self.assign(intoId,expression)},function(){self.assign(intoId,"undefined")}),recursionFn(intoId)}));break;case AST.AssignmentExpression:if(right=this.nextId(),left={},!isAssignable(ast.left))throw $parseMinErr("lval","Trying to assign a value to a non l-value");this.recurse(ast.left,undefined,left,function(){self.if_(self.notNull(left.context),function(){self.recurse(ast.right,right),self.addEnsureSafeObject(self.member(left.context,left.name,left.computed)),self.addEnsureSafeAssignContext(left.context),expression=self.member(left.context,left.name,left.computed)+ast.operator+right,self.assign(intoId,expression),recursionFn(intoId||expression)})},1);break;case AST.ArrayExpression:args=[],forEach(ast.elements,function(expr){self.recurse(expr,self.nextId(),undefined,function(argument){args.push(argument)})}),expression="["+args.join(",")+"]",this.assign(intoId,expression),recursionFn(expression);break;case AST.ObjectExpression:args=[],forEach(ast.properties,function(property){self.recurse(property.value,self.nextId(),undefined,function(expr){args.push(self.escape(property.key.type===AST.Identifier?property.key.name:""+property.key.value)+":"+expr)})}),expression="{"+args.join(",")+"}",this.assign(intoId,expression),recursionFn(expression);break;case AST.ThisExpression:this.assign(intoId,"s"),recursionFn("s");break;case AST.LocalsExpression:this.assign(intoId,"l"),recursionFn("l");break;case AST.NGValueParameter:this.assign(intoId,"v"),recursionFn("v")}},getHasOwnProperty:function(element,property){var key=element+"."+property,own=this.current().own;return own.hasOwnProperty(key)||(own[key]=this.nextId(!1,element+"&&("+this.escape(property)+" in "+element+")")),own[key]},assign:function(id,value){if(id)return this.current().body.push(id,"=",value,";"),id},filter:function(filterName){return this.state.filters.hasOwnProperty(filterName)||(this.state.filters[filterName]=this.nextId(!0)),this.state.filters[filterName]},ifDefined:function(id,defaultValue){return"ifDefined("+id+","+this.escape(defaultValue)+")"},plus:function(left,right){return"plus("+left+","+right+")"},return_:function(id){this.current().body.push("return ",id,";")},if_:function(test,alternate,consequent){if(!0===test)alternate();else{var body=this.current().body;body.push("if(",test,"){"),alternate(),body.push("}"),consequent&&(body.push("else{"),consequent(),body.push("}"))}},not:function(expression){return"!("+expression+")"},notNull:function(expression){return expression+"!=null"},nonComputedMember:function(left,right){return left+"."+right},computedMember:function(left,right){return left+"["+right+"]"},member:function(left,right,computed){return computed?this.computedMember(left,right):this.nonComputedMember(left,right)},addEnsureSafeObject:function(item){this.current().body.push(this.ensureSafeObject(item),";")},addEnsureSafeMemberName:function(item){this.current().body.push(this.ensureSafeMemberName(item),";")},addEnsureSafeFunction:function(item){this.current().body.push(this.ensureSafeFunction(item),";")},addEnsureSafeAssignContext:function(item){this.current().body.push(this.ensureSafeAssignContext(item),";")},ensureSafeObject:function(item){return"ensureSafeObject("+item+",text)"},ensureSafeMemberName:function(item){return"ensureSafeMemberName("+item+",text)"},ensureSafeFunction:function(item){return"ensureSafeFunction("+item+",text)"},getStringValue:function(item){this.assign(item,"getStringValue("+item+",text)")},ensureSafeAssignContext:function(item){return"ensureSafeAssignContext("+item+",text)"},lazyRecurse:function(ast,intoId,nameId,recursionFn,create,skipWatchI
37dCheck){var self=this;return function(){self.recurse(ast,intoId,nameId,recursionFn,create,skipWatchIdCheck)}},lazyAssign:function(id,value){var self=this;return function(){self.assign(id,value)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(c){return"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)},escape:function(value){if(isString(value))return"'"+value.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(isNumber(value))return value.toString();if(!0===value)return"true";if(!1===value)return"false";if(null===value)return"null";if(void 0===value)return"undefined";throw $parseMinErr("esc","IMPOSSIBLE")},nextId:function(skip,init){var id="v"+this.state.nextId++;return skip||this.current().vars.push(id+(init?"="+init:"")),id},current:function(){return this.state[this.state.computing]}},ASTInterpreter.prototype={compile:function(expression,expensiveChecks){var assignable,assign,self=this,ast=this.astBuilder.ast(expression);this.expression=expression,this.expensiveChecks=expensiveChecks,findConstantAndWatchExpressions(ast,self.$filter),(assignable=assignableAST(ast))&&(assign=this.recurse(assignable));var inputs,toWatch=getInputs(ast.body);toWatch&&(inputs=[],forEach(toWatch,function(watch,key){var input=self.recurse(watch);watch.input=input,inputs.push(input),watch.watchId=key}));var expressions=[];forEach(ast.body,function(expression){expressions.push(self.recurse(expression.expression))});var fn=0===ast.body.length?function(){}:1===ast.body.length?expressions[0]:function(scope,locals){var lastValue;return forEach(expressions,function(exp){lastValue=exp(scope,locals)}),lastValue};return assign&&(fn.assign=function(scope,value,locals){return assign(scope,locals,value)}),inputs&&(fn.inputs=inputs),fn.literal=isLiteral(ast),fn.constant=isConstant(ast),fn},recurse:function(ast,context,create){var left,right,args,self=this;if(ast.input)return this.inputs(ast.input,ast.watchId);switch(ast.type){case AST.Literal:return this.value(ast.value,context);case AST.UnaryExpression:return right=this.recurse(ast.argument),this["unary"+ast.operator](right,context);case AST.BinaryExpression:case AST.LogicalExpression:return left=this.recurse(ast.left),right=this.recurse(ast.right),this["binary"+ast.operator](left,right,context);case AST.ConditionalExpression:return this["ternary?:"](this.recurse(ast.test),this.recurse(ast.alternate),this.recurse(ast.consequent),context);case AST.Identifier:return ensureSafeMemberName(ast.name,self.expression),self.identifier(ast.name,self.expensiveChecks||isPossiblyDangerousMemberName(ast.name),context,create,self.expression);case AST.MemberExpression:return left=this.recurse(ast.object,!1,!!create),ast.computed||(ensureSafeMemberName(ast.property.name,self.expression),right=ast.property.name),ast.computed&&(right=this.recurse(ast.property)),ast.computed?this.computedMember(left,right,context,create,self.expression):this.nonComputedMember(left,right,self.expensiveChecks,context,create,self.expression);case AST.CallExpression:return args=[],forEach(ast.arguments,function(expr){args.push(self.recurse(expr))}),ast.filter&&(right=this.$filter(ast.callee.name)),ast.filter||(right=this.recurse(ast.callee,!0)),ast.filter?function(scope,locals,assign,inputs){for(var values=[],i=0;i<args.length;++i)values.push(args[i](scope,locals,assign,inputs));var value=right.apply(undefined,values,inputs);return context?{context:undefined,name:undefined,value:value}:value}:function(scope,locals,assign,inputs){var value,rhs=right(scope,locals,assign,inputs);if(null!=rhs.value){ensureSafeObject(rhs.context,self.expression),ensureSafeFunction(rhs.value,self.expression);for(var values=[],i=0;i<args.length;++i)values.push(ensureSafeObject(args[i](scope,locals,assign,inputs),self.expression));value=ensureSafeObject(rhs.value.apply(rhs.context,values),self.expression)}return context?{value:value}:value};case AST.AssignmentExpression:return left=this.recurse(ast.left,!0,1),right=this.recurse(ast.right),function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs),rhs=right(scope,locals,assign,inputs);return ensureSafeObject(lhs.value,self.expression),ensureSafeAssignContext(lhs.context),lhs.context[lhs.name]=rhs,context?{value:rhs}:rhs};case AST.ArrayExpression:return args=[],forEach(ast.elements,function(expr){args.push(self.recurse(expr))}),function(scope,locals,assign,inputs){for(var value=[],i=0;i<args.length;++i)value.push(args[i](scope,locals,assign,inputs));return context?{value:value}:value};case AST.ObjectExpression:return args=[],forEach(ast.properties,function(property){args.push({key:property.key.type===AST.Identifier?property.key.name:""+property.key.value,value:self.recurse(property.value)})}),function(scope,locals,assign,inputs){for(var value={},i=0;i<args.length;++i)value[args[i].key]=args[i].value(scope,locals,assign,inputs);return context?{value:value}:value};case AST.ThisExpression:return function(scope){return context?{value:scope}:scope};case AST.LocalsExpression:return function(scope,locals){return context?{value:locals}:locals};case AST.NGValueParameter:return function(scope,locals,assign){return context?{value:assign}:assign}}},"unary+":function(argument,context){return function(scope,locals,assign,inputs){var arg=argument(scope,locals,assign,inputs);return arg=isDefined(arg)?+arg:0,context?{value:arg}:arg}},"unary-":function(argument,context){return function(scope,locals,assign,inputs){var arg=argument(scope,locals,assign,inputs);return arg=isDefined(arg)?-arg:0,context?{value:arg}:arg}},"unary!":function(argument,context){return function(scope,locals,assign,inputs){var arg=!argument(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary+":function(left,right,context){return function(scope,locals,assign,inputs){var arg=plusFn(left(scope,locals,assign,inputs),right(scope,locals,assign,inputs));return context?{value:arg}:arg}},"binary-":function(left,right,context){return function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs),rhs=right(scope,locals,assign,inputs),arg=(isDefined(lhs)?lhs:0)-(isDefined(rhs)?rhs:0);return context?{value:arg}:arg}},"binary*":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)*right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary/":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)/right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary%":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)%right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary===":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)===right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary!==":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)!==right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary==":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)==right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary!=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)!=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary<":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)<right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary>":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)>right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary<=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)<=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary>=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)>=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary&&":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)&&right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary||":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)||right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"ternary?:":function(test,alternate,consequent,context){return function(scope,locals,assign,inputs){var arg=test(scope,locals,assign,inputs)?alternate(scope,locals,assign,inputs):consequent(scope,locals,assign,inputs);return context?{value:arg}:arg}},value:function(value,context){return function(){return context?{context:undefined,name:undefined,value:value}:value}},identifier:function(name,expensiveChecks,context,create,expression){return function(scope,locals){var base=locals&&name in locals?locals:scope;create&&1!==create&&base&&!base[name]&&(base[name]={});
37var value=base?base[name]:undefined;return expensiveChecks&&ensureSafeObject(value,expression),context?{context:base,name:name,value:value}:value}},computedMember:function(left,right,context,create,expression){return function(scope,locals,assign,inputs){var rhs,value,lhs=left(scope,locals,assign,inputs);return null!=lhs&&(ensureSafeMemberName(rhs=getStringValue(rhs=right(scope,locals,assign,inputs)),expression),create&&1!==create&&(ensureSafeAssignContext(lhs),lhs&&!lhs[rhs]&&(lhs[rhs]={})),ensureSafeObject(value=lhs[rhs],expression)),context?{context:lhs,name:rhs,value:value}:value}},nonComputedMember:function(left,right,expensiveChecks,context,create,expression){return function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs);create&&1!==create&&(ensureSafeAssignContext(lhs),lhs&&!lhs[right]&&(lhs[right]={}));var value=null!=lhs?lhs[right]:undefined;return(expensiveChecks||isPossiblyDangerousMemberName(right))&&ensureSafeObject(value,expression),context?{context:lhs,name:right,value:value}:value}},inputs:function(input,watchId){return function(scope,value,locals,inputs){return inputs?inputs[watchId]:input(scope,value,locals)}}};var Parser=function(lexer,$filter,options){this.lexer=lexer,this.$filter=$filter,this.options=options,this.ast=new AST(this.lexer),this.astCompiler=options.csp?new ASTInterpreter(this.ast,$filter):new ASTCompiler(this.ast,$filter)};Parser.prototype={constructor:Parser,parse:function(text){return this.astCompiler.compile(text,this.options.expensiveChecks)}};createMap(),createMap();var objectValueOf=Object.prototype.valueOf,$sceMinErr=minErr("$sce"),SCE_CONTEXTS={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},urlParsingNode=($compileMinErr=minErr("$compile"),document.createElement("a")),originUrl=urlResolve(window.location.href);$$CookieReader.$inject=["$document"],$FilterProvider.$inject=["$provide"];var MAX_DIGITS=22,DECIMAL_SEP=".",ZERO_CHAR="0";currencyFilter.$inject=["$locale"],numberFilter.$inject=["$locale"];var DATE_FORMATS={yyyy:dateGetter("FullYear",4),yy:dateGetter("FullYear",2,0,!0),y:dateGetter("FullYear",1),MMMM:dateStrGetter("Month"),MMM:dateStrGetter("Month",!0),MM:dateGetter("Month",2,1),M:dateGetter("Month",1,1),dd:dateGetter("Date",2),d:dateGetter("Date",1),HH:dateGetter("Hours",2),H:dateGetter("Hours",1),hh:dateGetter("Hours",2,-12),h:dateGetter("Hours",1,-12),mm:dateGetter("Minutes",2),m:dateGetter("Minutes",1),ss:dateGetter("Seconds",2),s:dateGetter("Seconds",1),sss:dateGetter("Milliseconds",3),EEEE:dateStrGetter("Day"),EEE:dateStrGetter("Day",!0),a:ampmGetter,Z:timeZoneGetter,ww:weekGetter(2),w:weekGetter(1),G:eraGetter,GG:eraGetter,GGG:eraGetter,GGGG:longEraGetter},DATE_FORMATS_SPLIT=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,NUMBER_STRING=/^\-?\d+$/;dateFilter.$inject=["$locale"];var lowercaseFilter=valueFn(lowercase),uppercaseFilter=valueFn(uppercase);orderByFilter.$inject=["$parse"];var htmlAnchorDirective=valueFn({restrict:"E",compile:function(element,attr){if(!attr.href&&!attr.xlinkHref)return function(scope,element){if("a"===element[0].nodeName.toLowerCase()){var href="[object SVGAnimatedString]"===toString.call(element.prop("href"))?"xlink:href":"href";element.on("click",function(event){element.attr(href)||event.preventDefault()})}}}}),ngAttributeAliasDirectives={};forEach(BOOLEAN_ATTR,function(propName,attrName){function defaultLinkFn(scope,element,attr){scope.$watch(attr[normalized],function(value){attr.$set(attrName,!!value)})}if("multiple"!=propName){var normalized=directiveNormalize("ng-"+attrName),linkFn=defaultLinkFn;"checked"===propName&&(linkFn=function(scope,element,attr){attr.ngModel!==attr[normalized]&&defaultLinkFn(scope,element,attr)}),ngAttributeAliasDirectives[normalized]=function(){return{restrict:"A",priority:100,link:linkFn}}}}),
38forEach(ALIASED_ATTR,function(htmlAttr,ngAttr){ngAttributeAliasDirectives[ngAttr]=function(){return{priority:100,link:function(scope,element,attr){if("ngPattern"===ngAttr&&"/"==attr.ngPattern.charAt(0)){var match=attr.ngPattern.match(REGEX_STRING_REGEXP);if(match)return void attr.$set("ngPattern",new RegExp(match[1],match[2]))}scope.$watch(attr[ngAttr],function(value){attr.$set(ngAttr,value)})}}}}
38),forEach(["src","srcset","href"],function(attrName){var normalized=directiveNormalize("ng-"+attrName);ngAttributeAliasDirectives[normalized]=function(){return{priority:99,link:function(scope,element,attr){var propName=attrName,name=attrName;"href"===attrName&&"[object SVGAnimatedString]"===toString.call(element.prop("href"))&&(name="xlinkHref",attr.$attr[name]="xlink:href",propName=null),attr.$observe(normalized,function(value){value?(attr.$set(name,value),msie&&propName&&element.prop(propName,attr[name])):"href"===attrName&&attr.$set(name,null)})}}}});var nullFormCtrl={$addControl:noop,$$renameControl:nullFormRenameControl,$removeControl:noop,$setValidity:noop,$setDirty:noop,$setPristine:noop,$setSubmitted:noop},SUBMITTED_CLASS="ng-submitted";FormController.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var formDirectiveFactory=function(isNgForm){return["$timeout","$parse",function($timeout,$parse){function getSetter(expression){return""===expression?$parse('this[""]').assign:$parse(expression).assign||noop}return{name:"form",restrict:isNgForm?"EAC":"E",require:["form","^^?form"],controller:FormController,compile:function(formElement,attr){formElement.addClass(PRISTINE_CLASS).addClass(VALID_CLASS);var nameAttr=attr.name?"name":!(!isNgForm||!attr.ngForm)&&"ngForm";return{pre:function(scope,formElement,attr,ctrls){var controller=ctrls[0];if(!("action"in attr)){var handleFormSubmission=function(event){scope.$apply(function(){controller.$commitViewValue(),controller.$setSubmitted()}),event.preventDefault()};addEventListenerFn(formElement[0],"submit",handleFormSubmission),formElement.on("$destroy",function(){$timeout(function(){removeEventListenerFn(formElement[0],"submit",handleFormSubmission)},0,!1)})}(ctrls[1]||controller.$$parentForm).$addControl(controller);var setter=nameAttr?getSetter(controller.$name):noop;nameAttr&&(setter(scope,controller),attr.$observe(nameAttr,function(newValue){controller.$name!==newValue&&(setter(scope,undefined),controller.$$parentForm.$$renameControl(controller,newValue),(setter=getSetter(controller.$name))(scope,controller))})),formElement.on("$destroy",function(){controller.$$parentForm.$removeControl(controller),setter(scope,undefined),extend(controller,nullFormCtrl)})}}}}}]},formDirective=formDirectiveFactory(),ngFormDirective=formDirectiveFactory(!0),ISO_DATE_REGEXP=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,URL_REGEXP=/^[A-Za-z][A-Za-z\d.+-]*:\/*(?:\w+(?::\w+)?@)?[^\s/]+(?::\d+)?(?:\/[\w#!:.?+=&%@\-/[\]$'()*,;~]*)?$/,EMAIL_REGEXP=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,NUMBER_REGEXP=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,DATE_REGEXP=/^(\d{4})-(\d{2})-(\d{2})$/,DATETIMELOCAL_REGEXP=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,WEEK_REGEXP=/^(\d{4})-W(\d\d)$/,MONTH_REGEXP=/^(\d{4})-(\d\d)$/,TIME_REGEXP=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,inputType={text:textInputType,date:createDateInputType("date",DATE_REGEXP,createDateParser(DATE_REGEXP,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":createDateInputType("datetimelocal",DATETIMELOCAL_REGEXP,createDateParser(DATETIMELOCAL_REGEXP,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:createDateInputType("time",TIME_REGEXP,createDateParser(TIME_REGEXP,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:createDateInputType("week",WEEK_REGEXP,weekParser,"yyyy-Www"),month:createDateInputType("month",MONTH_REGEXP,createDateParser(MONTH_REGEXP,["yyyy","MM"]),"yyyy-MM"),number:numberInputType,url:urlInputType,email:emailInputType,radio:radioInputType,checkbox:checkboxInputType,hidden:noop,button:noop,submit:noop,reset:noop,file:noop},inputDirective=["$browser","$sniffer","$filter","$parse",function($browser,$sniffer,$filter,$parse){return{restrict:"E",require:["?ngModel"],link:{pre:function(scope,element,attr,ctrls){ctrls[0]&&(inputType[lowercase(attr.type)]||inputType.text)(scope,element,attr,ctrls[0],$sniffer,$browser,$filter,$parse)}}}}],CONSTANT_VALUE_REGEXP=/^(true|false|\d+)$/,ngValueDirective=function(){return{restrict:"A",priority:100,compile:function(tpl,tplAttr){return CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)?function(scope,elm,attr){attr.$set("value",scope.$eval(attr.ngValue))}:function(scope,elm,attr){scope.$watch(attr.ngValue,function(value){attr.$set("value",value)})}}}},ngBindDirective=["$compile",function($compile){return{restrict:"AC",compile:function(templateElement){return $compile.$$addBindingClass(templateElement),function(scope,element,attr){$compile.$$addBindingInfo(element,attr.ngBind),element=element[0],scope.$watch(attr.ngBind,function(value){element.textContent=isUndefined(value)?"":value})}}}}],ngBindTemplateDirective=["$interpolate","$compile",function($interpolate,$compile){return{compile:function(templateElement){return $compile.$$addBindingClass(templateElement),function(scope,element,attr){var interpolateFn=$interpolate(element.attr(attr.$attr.ngBindTemplate));$compile.$$addBindingInfo(element,interpolateFn.expressions),element=element[0],attr.$observe("ngBindTemplate",function(value){element.textContent=isUndefined(value)?"":value})}}}}],ngBindHtmlDirective=["$sce","$parse","$compile",function($sce,$parse,$compile){return{restrict:"A",compile:function(tElement,tAttrs){var ngBindHtmlGetter=$parse(tAttrs.ngBindHtml),ngBindHtmlWatch=$parse(tAttrs.ngBindHtml,function(value){return(value||"").toString()});return $compile.$$addBindingClass(tElement),function(scope,element,attr){$compile.$$addBindingInfo(element,attr.ngBindHtml),scope.$watch(ngBindHtmlWatch,function(){element.html($sce.getTrustedHtml(ngBindHtmlGetter(scope))||"")})}}}}],ngChangeDirective=valueFn({restrict:"A",require:"ngModel",link:function(scope,element,attr,ctrl){ctrl.$viewChangeListeners.push(function(){scope.$eval(attr.ngChange)})}}),ngClassDirective=classDirective("",!0),ngClassOddDirective=classDirective("Odd",0),ngClassEvenDirective=classDirective("Even",1),ngCloakDirective=ngDirective({compile:function(element,attr){attr.$set("ngCloak",undefined),element.removeClass("ng-cloak")}}),ngControllerDirective=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],ngEventDirectives={},forceAsyncEvents={blur:!0,focus:!0};forEach("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(eventName){var directiveName=directiveNormalize("ng-"+eventName);ngEventDirectives[directiveName]=["$parse","$rootScope",function($parse,$rootScope){return{restrict:"A",compile:function($element,attr){var fn=$parse(attr[directiveName],null,!0);return function(scope,element){element.on(eventName,function(event){var callback=function(){fn(scope,{$event:event})};forceAsyncEvents[eventName]&&$rootScope.$$phase?scope.$evalAsync(callback):scope.$apply(callback)})}}}}]});var ngIfDirective=["$animate",function($animate){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function($scope,$element,$attr,ctrl,$transclude){var block,childScope,previousElements;$scope.$watch($attr.ngIf,function(value){value?childScope||$transclude(function(clone,newScope){childScope=newScope,clone[clone.length++]=document.createComment(" end ngIf: "+$attr.ngIf+" "),block={clone:clone},$animate.enter(clone,$element.parent(),$element)}):(previousElements&&(previousElements.remove(),previousElements=null),childScope&&(childScope.$destroy(),childScope=null),block&&(previousElements=getBlockNodes(block.clone),$animate.leave(previousElements).then(function(){previousElements=null}),block=null))})}}}],ngIncludeDirective=["$templateRequest","$anchorScroll","$animate",function($templateRequest,$anchorScroll,$animate){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:angular.noop,compile:function(element,attr){var srcExp=attr.ngInclude||attr.src,onloadExp=attr.onload||"",autoScrollExp=attr.autoscroll;return function(scope,$element,$attr,ctrl,$transclude){var currentScope,previousElement,currentElement,changeCounter=0,cleanupLastIncludeContent=function(){previousElement&&(previousElement.remove(),previousElement=null),currentScope&&(currentScope.$destroy(),currentScope=null),currentElement&&($animate.leave(currentElement).then(function(){previousElement=null}),previousElement=currentElement,currentElement=null)};scope.$watch(srcExp,function(src){var afterAnimation=function(){!isDefined(autoScrollExp)||autoScrollExp&&!scope.$eval(autoScrollExp)||$anchorScroll()},thisChangeId=++changeCounter;src?($templateRequest(src,!0).then(function(response){if(thisChangeId===changeCounter){var newScope=scope.$new();ctrl.template=response;var clone=$transclude(newScope,function(clone){cleanupLastIncludeContent(),$animate.enter(clone,null,$element).then(afterAnimation)});currentElement=clone,(currentScope=newScope).$emit("$includeContentLoaded",src),scope.$eval(onloadExp)}},function(){thisChangeId===changeCounter&&(cleanupLastIncludeContent(),scope.$emit("$includeContentError",src))}),scope.$emit("$includeContentRequested",src)):(cleanupLastIncludeContent(),ctrl.template=null)})}}}}],ngIncludeFillContentDirective=["$compile",function($compile){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(scope,$element,$attr,ctrl){if(/SVG/.test($element[0].toString()))return $element.empty(),void $compile(jqLiteBuildFragment(ctrl.template,document).childNodes)(scope,function(clone){$element.append(clone)},{futureParentElement:$element});$element.html(ctrl.template),$compile($element.contents())(scope)}}}],ngInitDirective=ngDirective({priority:450,compile:function(){return{pre:function(scope,element,attrs){scope.$eval(attrs.ngInit)}}}}),ngListDirective=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(scope,element,attr,ctrl){var ngList=element.attr(attr.$attr.ngList)||", ",trimValues="false"!==attr.ngTrim,separator=trimValues?trim(ngList):ngList,parse=function(viewValue){if(!isUndefined(viewValue)){var list=[];
38return viewValue&&forEach(viewValue.split(separator),function(value){value&&list.push(trimValues?trim(value):value)}),list}};ctrl.$parsers.push(parse),ctrl.$formatters.push(function(value){return isArray(value)?value.join(ngList):undefined}),ctrl.$isEmpty=function(value){return!value||!value.length}}}},VALID_CLASS="ng-valid",INVALID_CLASS="ng-invalid",PRISTINE_CLASS="ng-pristine",DIRTY_CLASS="ng-dirty",UNTOUCHED_CLASS="ng-untouched",TOUCHED_CLASS="ng-touched",PENDING_CLASS="ng-pending",EMPTY_CLASS="ng-empty",NOT_EMPTY_CLASS="ng-not-empty",ngModelMinErr=minErr("ngModel"),NgModelController=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function($scope,$exceptionHandler,$attr,$element,$parse,$animate,$timeout,$rootScope,$q,$interpolate){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=undefined,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=undefined,this.$name=$interpolate($attr.name||"",!1)($scope),this.$$parentForm=nullFormCtrl;var parserValid,parsedNgModel=$parse($attr.ngModel),parsedNgModelAssign=parsedNgModel.assign,ngModelGet=parsedNgModel,ngModelSet=parsedNgModelAssign,pendingDebounce=null,ctrl=this;this.$$setOptions=function(options){if(ctrl.$options=options,options&&options.getterSetter){var invokeModelGetter=$parse($attr.ngModel+"()"),invokeModelSetter=$parse($attr.ngModel+"($$$p)");ngModelGet=function($scope){var modelValue=parsedNgModel($scope);return isFunction(modelValue)&&(modelValue=invokeModelGetter($scope)),modelValue},ngModelSet=function($scope){isFunction(parsedNgModel($scope))?invokeModelSetter($scope,{$$$p:ctrl.$modelValue}):parsedNgModelAssign($scope,ctrl.$modelValue)}}else if(!parsedNgModel.assign)throw ngModelMinErr("nonassign","Expression '{0}' is non-assignable. Element: {1}",$attr.ngModel,startingTag($element))},this.$render=noop,this.$isEmpty=function(value){return isUndefined(value)||""===value||null===value||value!=value},this.$$updateEmptyClasses=function(value){ctrl.$isEmpty(value)?($animate.removeClass($element,NOT_EMPTY_CLASS),$animate.addClass($element,EMPTY_CLASS)):($animate.removeClass($element,EMPTY_CLASS),$animate.addClass($element,NOT_EMPTY_CLASS))};var currentValidationRunId=0;addSetValidityMethod({ctrl:this,$element:$element,set:function(object,property){object[property]=!0},unset:function(object,property){delete object[property]},$animate:$animate}),this.$setPristine=function(){ctrl.$dirty=!1,ctrl.$pristine=!0,$animate.removeClass($element,DIRTY_CLASS),$animate.addClass($element,PRISTINE_CLASS)},this.$setDirty=function(){ctrl.$dirty=!0,ctrl.$pristine=!1,$animate.removeClass($element,PRISTINE_CLASS),$animate.addClass($element,DIRTY_CLASS),ctrl.$$parentForm.$setDirty()},this.$setUntouched=function(){ctrl.$touched=!1,ctrl.$untouched=!0,$animate.setClass($element,UNTOUCHED_CLASS,TOUCHED_CLASS)},this.$setTouched=function(){ctrl.$touched=!0,ctrl.$untouched=!1,$animate.setClass($element,TOUCHED_CLASS,UNTOUCHED_CLASS)},this.$rollbackViewValue=function(){$timeout.cancel(pendingDebounce),ctrl.$viewValue=ctrl.$$lastCommittedViewValue,ctrl.$render()},this.$validate=function(){if(!isNumber(ctrl.$modelValue)||!isNaN(ctrl.$modelValue)){var viewValue=ctrl.$$lastCommittedViewValue,modelValue=ctrl.$$rawModelValue,prevValid=ctrl.$valid,prevModelValue=ctrl.$modelValue,allowInvalid=ctrl.$options&&ctrl.$options.allowInvalid;ctrl.$$runValidators(modelValue,viewValue,function(allValid){allowInvalid||prevValid===allValid||(ctrl.$modelValue=allValid?modelValue:undefined,ctrl.$modelValue!==prevModelValue&&ctrl.$$writeModelToScope())})}},this.$$runValidators=function(modelValue,viewValue,doneCallback){function processParseErrors(){var errorKey=ctrl.$$parserName||"parse";return isUndefined(parserValid)?(setValidity(errorKey,null),!0):(parserValid||(forEach(ctrl.$validators,function(v,name){setValidity(name,null)}
38),forEach(ctrl.$asyncValidators,function(v,name){setValidity(name,null)})),setValidity(errorKey,parserValid),parserValid)}function processSyncValidators(){var syncValidatorsValid=!0;return forEach(ctrl.$validators,function(validator,name){var result=validator(modelValue,viewValue);syncValidatorsValid=syncValidatorsValid&&result,setValidity(name,result)}),!!syncValidatorsValid||(forEach(ctrl.$asyncValidators,function(v,name){setValidity(name,null)}),!1)}function processAsyncValidators(){var validatorPromises=[],allValid=!0;forEach(ctrl.$asyncValidators,function(validator,name){var promise=validator(modelValue,viewValue);if(!isPromiseLike(promise))throw ngModelMinErr("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",promise);setValidity(name,undefined),validatorPromises.push(promise.then(function(){setValidity(name,!0)},function(){allValid=!1,setValidity(name,!1)}))}),validatorPromises.length?$q.all(validatorPromises).then(function(){validationDone(allValid)},noop):validationDone(!0)}function setValidity(name,isValid){localValidationRunId===currentValidationRunId&&ctrl.$setValidity(name,isValid)}function validationDone(allValid){localValidationRunId===currentValidationRunId&&doneCallback(allValid)}var localValidationRunId=++currentValidationRunId;processParseErrors()&&processSyncValidators()?processAsyncValidators():validationDone(!1)},this.$commitViewValue=function(){var viewValue=ctrl.$viewValue;$timeout.cancel(pendingDebounce),(ctrl.$$lastCommittedViewValue!==viewValue||""===viewValue&&ctrl.$$hasNativeValidators)&&(ctrl.$$updateEmptyClasses(viewValue),ctrl.$$lastCommittedViewValue=viewValue,ctrl.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function writeToModelIfNeeded(){ctrl.$modelValue!==prevModelValue&&ctrl.$$writeModelToScope()}var modelValue=ctrl.$$lastCommittedViewValue;if(parserValid=!isUndefined(modelValue)||undefined)for(var i=0;i<ctrl.$parsers.length;i++)if(isUndefined(modelValue=ctrl.$parsers[i](modelValue))){parserValid=!1;break}isNumber(ctrl.$modelValue)&&isNaN(ctrl.$modelValue)&&(ctrl.$modelValue=ngModelGet($scope));var prevModelValue=ctrl.$modelValue,allowInvalid=ctrl.$options&&ctrl.$options.allowInvalid;ctrl.$$rawModelValue=modelValue,allowInvalid&&(ctrl.$modelValue=modelValue,writeToModelIfNeeded()),ctrl.$$runValidators(modelValue,ctrl.$$lastCommittedViewValue,function(allValid){allowInvalid||(ctrl.$modelValue=allValid?modelValue:undefined,writeToModelIfNeeded())})},this.$$writeModelToScope=function(){ngModelSet($scope,ctrl.$modelValue),forEach(ctrl.$viewChangeListeners,function(listener){try{listener()}catch(e){$exceptionHandler(e)}})},this.$setViewValue=function(value,trigger){ctrl.$viewValue=value,ctrl.$options&&!ctrl.$options.updateOnDefault||ctrl.$$debounceViewValueCommit(trigger)},this.$$debounceViewValueCommit=function(trigger){var debounce,debounceDelay=0,options=ctrl.$options;options&&isDefined(options.debounce)&&(isNumber(debounce=options.debounce)?debounceDelay=debounce:isNumber(debounce[trigger])?debounceDelay=debounce[trigger]:isNumber(debounce["default"])&&(debounceDelay=debounce["default"])),$timeout.cancel(pendingDebounce),debounceDelay?pendingDebounce=$timeout(function(){ctrl.$commitViewValue()},debounceDelay):$rootScope.$$phase?ctrl.$commitViewValue():$scope.$apply(function(){ctrl.$commitViewValue()})},$scope.$watch(function(){var modelValue=ngModelGet($scope);if(modelValue!==ctrl.$modelValue&&(ctrl.$modelValue==ctrl.$modelValue||modelValue==modelValue)){ctrl.$modelValue=ctrl.$$rawModelValue=modelValue,parserValid=undefined;for(var formatters=ctrl.$formatters,idx=formatters.length,viewValue=modelValue;idx--;)viewValue=formatters[idx](viewValue);ctrl.$viewValue!==viewValue&&(ctrl.$$updateEmptyClasses(viewValue),ctrl.$viewValue=ctrl.$$lastCommittedViewValue=viewValue,ctrl.$render(),ctrl.$$runValidators(modelValue,viewValue,noop))}return modelValue})}],ngModelDirective=["$rootScope",function($rootScope){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:NgModelController,priority:1,compile:function(element){return element.addClass(PRISTINE_CLASS).addClass(UNTOUCHED_CLASS).addClass(VALID_CLASS),{pre:function(scope,element,attr,ctrls){var modelCtrl=ctrls[0],formCtrl=ctrls[1]||modelCtrl.$$parentForm;modelCtrl.$$setOptions(ctrls[2]&&ctrls[2].$options),formCtrl.$addControl(modelCtrl),attr.$observe("name",function(newValue){modelCtrl.$name!==newValue&&modelCtrl.$$parentForm.$$renameControl(modelCtrl,newValue)}),scope.$on("$destroy",function(){modelCtrl.$$parentForm.$removeControl(modelCtrl)})},post:function(scope,element,attr,ctrls){var modelCtrl=ctrls[0];modelCtrl.$options&&modelCtrl.$options.updateOn&&element.on(modelCtrl.$options.updateOn,function(ev){modelCtrl.$$debounceViewValueCommit(ev&&ev.type)}),element.on("blur",function(){modelCtrl.$touched||($rootScope.$$phase?scope.$evalAsync(modelCtrl.$setTouched):scope.$apply(modelCtrl.$setTouched))})}}}}}],DEFAULT_REGEXP=/(\s+|^)default(\s+|$)/,ngModelOptionsDirective=function(){return{restrict:"A",controller:["$scope","$attrs",function($scope,$attrs){var that=this;this.$options=copy($scope.$eval($attrs.ngModelOptions)),isDefined(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=trim(this.$options.updateOn.replace(DEFAULT_REGEXP,function(){return that.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}},ngNonBindableDirective=ngDirective({terminal:!0,priority:1e3}),ngOptionsMinErr=minErr("ngOptions"),NG_OPTIONS_REGEXP=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,ngOptionsDirective=["$compile","$parse",function($compile,$parse){function parseOptionsExpression(optionsExp,selectElement,scope){function Option(selectValue,viewValue,label,group,disabled){this.selectValue=selectValue,this.viewValue=viewValue,this.label=label,this.group=group,this.disabled=disabled}function getOptionValuesKeys(optionValues){var optionValuesKeys;if(!keyName&&isArrayLike(optionValues))optionValuesKeys=optionValues;else for(var itemKey in optionValuesKeys=[],optionValues)optionValues.hasOwnProperty(itemKey)&&"$"!==itemKey.charAt(0)&&optionValuesKeys.push(itemKey);return optionValuesKeys}var match=optionsExp.match(NG_OPTIONS_REGEXP);if(!match)throw ngOptionsMinErr("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",optionsExp,startingTag(selectElement));var valueName=match[5]||match[7],keyName=match[6],selectAs=/ as /.test(match[0])&&match[1],trackBy=match[9],valueFn=$parse(match[2]?match[1]:valueName),viewValueFn=selectAs&&$parse(selectAs)||valueFn,trackByFn=trackBy&&$parse(trackBy),getTrackByValueFn=trackBy?function(value,locals){return trackByFn(scope,locals)}:function(value){return hashKey(value)},getTrackByValue=function(value,key){return getTrackByValueFn(value,getLocals(value,key))}
38,displayFn=$parse(match[2]||match[1]),groupByFn=$parse(match[3]||""),disableWhenFn=$parse(match[4]||""),valuesFn=$parse(match[8]),locals={},getLocals=keyName?function(value,key){return locals[keyName]=key,locals[valueName]=value,locals}:function(value){return locals[valueName]=value,locals};return{trackBy:trackBy,getTrackByValue:getTrackByValue,getWatchables:$parse(valuesFn,function(optionValues){for(var watchedArray=[],optionValuesKeys=getOptionValuesKeys(optionValues=optionValues||[]),optionValuesLength=optionValuesKeys.length,index=0;index<optionValuesLength;index++){var key=optionValues===optionValuesKeys?index:optionValuesKeys[index],locals=(optionValues[key],getLocals(optionValues[key],key)),selectValue=getTrackByValueFn(optionValues[key],locals);if(watchedArray.push(selectValue),match[2]||match[1]){var label=displayFn(scope,locals);watchedArray.push(label)}if(match[4]){var disableWhen=disableWhenFn(scope,locals);watchedArray.push(disableWhen)}}return watchedArray}),getOptions:function(){for(var optionItems=[],selectValueMap={},optionValues=valuesFn(scope)||[],optionValuesKeys=getOptionValuesKeys(optionValues),optionValuesLength=optionValuesKeys.length,index=0;index<optionValuesLength;index++){var key=optionValues===optionValuesKeys?index:optionValuesKeys[index],value=optionValues[key],locals=getLocals(value,key),viewValue=viewValueFn(scope,locals),selectValue=getTrackByValueFn(viewValue,locals),optionItem=new Option(selectValue,viewValue,displayFn(scope,locals),groupByFn(scope,locals),disableWhenFn(scope,locals));optionItems.push(optionItem),selectValueMap[selectValue]=optionItem}return{items:optionItems,selectValueMap:selectValueMap,getOptionFromViewValue:function(value){return selectValueMap[getTrackByValue(value)]},getViewValueFromOption:function(option){return trackBy?angular.copy(option.viewValue):option.viewValue}}}}}function ngOptionsPostLink(scope,selectElement,attr,ctrls){function updateOptionElement(option,element){option.element=element,element.disabled=option.disabled,option.label!==element.label&&(element.label=option.label,element.textContent=option.label),option.value!==element.value&&(element.value=option.selectValue)}function addOrReuseElement(parent,current,type,templateElement){var element;return current&&lowercase(current.nodeName)===type?element=current:(element=templateElement.cloneNode(!1),current?parent.insertBefore(element,current):parent.appendChild(element)),element}function removeExcessElements(current){for(var next;current;)next=current.nextSibling,jqLiteRemove(current),current=next}function skipEmptyAndUnknownOptions(current){var emptyOption_=emptyOption&&emptyOption[0],unknownOption_=unknownOption&&unknownOption[0];if(emptyOption_||unknownOption_)for(;current&&(current===emptyOption_||current===unknownOption_||current.nodeType===NODE_TYPE_COMMENT||""===current.value);)current=current.nextSibling;return current}function updateOptions(){var previousValue=options&&selectCtrl.readValue();options=ngOptions.getOptions();var groupMap={},currentElement=selectElement[0].firstChild;if(providedEmptyOption&&selectElement.prepend(emptyOption),currentElement=skipEmptyAndUnknownOptions(currentElement),options.items.forEach(function(option){var group,groupElement,optionElement;isDefined(option.group)?((group=groupMap[option.group])||(groupElement=addOrReuseElement(selectElement[0],currentElement,"optgroup",optGroupTemplate),currentElement=groupElement.nextSibling,groupElement.label=option.group,group=groupMap[option.group]={groupElement:groupElement,currentOptionElement:groupElement.firstChild}),updateOptionElement(option,optionElement=addOrReuseElement(group.groupElement,group.currentOptionElement,"option",optionTemplate)),group.currentOptionElement=optionElement.nextSibling):(updateOptionElement(option,optionElement=addOrReuseElement(selectElement[0],currentElement,"option",optionTemplate)),currentElement=optionElement.nextSibling)}),Object.keys(groupMap).forEach(function(key){removeExcessElements(groupMap[key].currentOptionElement)}),removeExcessElements(currentElement),ngModelCtrl.$render(),!ngModelCtrl.$isEmpty(previousValue)){var nextValue=selectCtrl.readValue();(ngOptions.trackBy||multiple?equals(previousValue,nextValue):previousValue===nextValue)||(ngModelCtrl.$setViewValue(nextV
38alue),ngModelCtrl.$render())}}for(var emptyOption,selectCtrl=ctrls[0],ngModelCtrl=ctrls[1],multiple=attr.multiple,i=0,children=selectElement.children(),ii=children.length;i<ii;i++)if(""===children[i].value){emptyOption=children.eq(i);break}var options,providedEmptyOption=!!emptyOption,unknownOption=jqLite(optionTemplate.cloneNode(!1));unknownOption.val("?");var ngOptions=parseOptionsExpression(attr.ngOptions,selectElement,scope),renderEmptyOption=function(){providedEmptyOption||selectElement.prepend(emptyOption),selectElement.val(""),emptyOption.prop("selected",!0),emptyOption.attr("selected",!0)},removeEmptyOption=function(){providedEmptyOption||emptyOption.remove()},renderUnknownOption=function(){selectElement.prepend(unknownOption),selectElement.val("?"),unknownOption.prop("selected",!0),unknownOption.attr("selected",!0)},removeUnknownOption=function(){unknownOption.remove()};multiple?(ngModelCtrl.$isEmpty=function(value){return!value||0===value.length},selectCtrl.writeValue=function(value){options.items.forEach(function(option){option.element.selected=!1}),value&&value.forEach(function(item){var option=options.getOptionFromViewValue(item);option&&!option.disabled&&(option.element.selected=!0)})},selectCtrl.readValue=function(){var selectedValues=selectElement.val()||[],selections=[];return forEach(selectedValues,function(value){var option=options.selectValueMap[value];option&&!option.disabled&&selections.push(options.getViewValueFromOption(option))}),selections},ngOptions.trackBy&&scope.$watchCollection(function(){if(isArray(ngModelCtrl.$viewValue))return ngModelCtrl.$viewValue.map(function(value){return ngOptions.getTrackByValue(value)})},function(){ngModelCtrl.$render()})):(selectCtrl.writeValue=function(value){var option=options.getOptionFromViewValue(value);option&&!option.disabled?selectElement[0].value!==option.selectValue&&(removeUnknownOption(),removeEmptyOption(),selectElement[0].value=option.selectValue,option.element.selected=!0,option.element.setAttribute("selected","selected")):null===value||providedEmptyOption?(removeUnknownOption(),renderEmptyOption()):(removeEmptyOption(),renderUnknownOption())},selectCtrl.readValue=function(){var selectedOption=options.selectValueMap[selectElement.val()];return selectedOption&&!selectedOption.disabled?(removeEmptyOption(),removeUnknownOption(),options.getViewValueFromOption(selectedOption)):null},ngOptions.trackBy&&scope.$watch(function(){return ngOptions.getTrackByValue(ngModelCtrl.$viewValue)},function(){ngModelCtrl.$render()})),providedEmptyOption?(emptyOption.remove(),$compile(emptyOption)(scope),emptyOption.removeClass("ng-scope")):emptyOption=jqLite(optionTemplate.cloneNode(!1)),updateOptions(),scope.$watchCollection(ngOptions.getWatchables,updateOptions)}var optionTemplate=document.createElement("option"),optGroupTemplate=document.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(scope,selectElement,attr,ctrls){ctrls[0].registerOption=noop},post:ngOptionsPostLink}}}],ngPluralizeDirective=["$locale","$interpolate","$log",function($locale,$interpolate,$log){var BRACE=/{}/g,IS_WHEN=/^when(Minus)?(.+)$/;return{link:function(scope,element,attr){function updateElementText(newText){element.text(newText||"")}var lastCount,numberExp=attr.count,whenExp=attr.$attr.when&&element.attr(attr.$attr.when),offset=attr.offset||0,whens=scope.$eval(whenExp)||{},whensExpFns={},startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),braceReplacement=startSymbol+number
38Exp+"-"+offset+endSymbol,watchRemover=angular.noop;forEach(attr,function(expression,attributeName){var tmpMatch=IS_WHEN.exec(attributeName);if(tmpMatch){var whenKey=(tmpMatch[1]?"-":"")+lowercase(tmpMatch[2]);whens[whenKey]=element.attr(attr.$attr[attributeName])}}),forEach(whens,function(expression,key){whensExpFns[key]=$interpolate(expression.replace(BRACE,braceReplacement))}),scope.$watch(numberExp,function(newVal){var count=parseFloat(newVal),countIsNaN=isNaN(count);if(countIsNaN||count in whens||(count=$locale.pluralCat(count-offset)),count!==lastCount&&!(countIsNaN&&isNumber(lastCount)&&isNaN(lastCount))){watchRemover();var whenExpFn=whensExpFns[count];isUndefined(whenExpFn)?(null!=newVal&&$log.debug("ngPluralize: no rule defined for '"+count+"' in "+whenExp),watchRemover=noop,updateElementText()):watchRemover=scope.$watch(whenExpFn,updateElementText),lastCount=count}})}}}],ngRepeatDirective=["$parse","$animate",function($parse,$animate){var NG_REMOVED="$$NG_REMOVED",ngRepeatMinErr=minErr("ngRepeat"),updateScope=function(scope,index,valueIdentifier,value,keyIdentifier,key,arrayLength){scope[valueIdentifier]=value,keyIdentifier&&(scope[keyIdentifier]=key),scope.$index=index,scope.$first=0===index,scope.$last=index===arrayLength-1,scope.$middle=!(scope.$first||scope.$last),scope.$odd=!(scope.$even=0==(1&index))},getBlockStart=function(block){return block.clone[0]},getBlockEnd=function(block){return block.clone[block.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function($element,$attr){var expression=$attr.ngRepeat,ngRepeatEndComment=document.createComment(" end ngRepeat: "+expression+" "),match=expression.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!match)throw ngRepeatMinErr("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",expression);var lhs=match[1],rhs=match[2],aliasAs=match[3],trackByExp=match[4];if(!(match=lhs.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/)))throw ngRepeatMinErr("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",lhs);var trackByExpGetter,trackByIdExpFn,trackByIdArrayFn,trackByIdObjFn,valueIdentifier=match[3]||match[1],keyIdentifier=match[2];if(aliasAs&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(aliasAs)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(aliasAs)))throw ngRepeatMinErr("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",aliasAs);var hashFnLocals={$id:hashKey};return trackByExp?trackByExpGetter=$parse(trackByExp):(trackByIdArrayFn=function(key,value){return hashKey(value)},trackByIdObjFn=function(key){return key}),function($scope,$element,$attr,ctrl,$transclude){trackByExpGetter&&(trackByIdExpFn=function(key,value,index){return keyIdentifier&&(hashFnLocals[keyIdentifier]=key),hashFnLocals[valueIdentifier]=value,hashFnLocals.$index=index,trackByExpGetter($scope,hashFnLocals)});var lastBlockMap=createMap();$scope.$watchCollection(rhs,function(collection){
39var index,length,nextNode,collectionLength,key,value,trackById,trackByIdFn,collectionKeys,block,nextBlockOrder,elementsToRemove,previousNode=$element[0],nextBlockMap=createMap();if(aliasAs&&($scope[aliasAs]=collection),isArrayLike(collection))collectionKeys=collection,trackByIdFn=trackByIdExpFn||trackByIdArrayFn;else for(var itemKey in trackByIdFn=trackByIdExpFn||trackByIdObjFn,collectionKeys=[],collection)hasOwnProperty.call(collection,itemKey)&&"$"!==itemKey.charAt(0)&&collectionKeys.push(itemKey);for(collectionLength=collectionKeys.length,nextBlockOrder=new Array(collectionLength),index=0;index<collectionLength;index++)if(key=collection===collectionKeys?index:collectionKeys[index],value=collection[key],trackById=trackByIdFn(key,value,index),lastBlockMap[trackById])block=lastBlockMap[trackById],delete lastBlockMap[trackById],nextBlockMap[trackById]=block,nextBlockOrder[index]=block;else{if(nextBlockMap[trackById])throw forEach(nextBlockOrder,function(block){block&&block.scope&&(lastBlockMap[block.id]=block)}),ngRepeatMinErr("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",expression,trackById,value);nextBlockOrder[index]={id:trackById,scope:undefined,clone:undefined},nextBlockMap[trackById]=!0}
39for(var blockKey in lastBlockMap){if(elementsToRemove=getBlockNodes((block=lastBlockMap[blockKey]).clone),$animate.leave(elementsToRemove),elementsToRemove[0].parentNode)for(index=0,length=elementsToRemove.length;index<length;index++)elementsToRemove[index][NG_REMOVED]=!0;block.scope.$destroy()}for(index=0;index<collectionLength;index++)if(key=collection===collectionKeys?index:collectionKeys[index],value=collection[key],(block=nextBlockOrder[index]).scope){nextNode=previousNode;do{nextNode=nextNode.nextSibling}while(nextNode&&nextNode[NG_REMOVED]);getBlockStart(block)!=nextNode&&$animate.move(getBlockNodes(block.clone),null,jqLite(previousNode)),previousNode=getBlockEnd(block),updateScope(block.scope,index,valueIdentifier,value,keyIdentifier,key,collectionLength)}else $transclude(function(clone,scope){block.scope=scope;var endNode=ngRepeatEndComment.cloneNode(!1);clone[clone.length++]=endNode,$animate.enter(clone,null,jqLite(previousNode)),previousNode=endNode,block.clone=clone,nextBlockMap[block.id]=block,updateScope(block.scope,index,valueIdentifier,value,keyIdentifier,key,collectionLength)});lastBlockMap=nextBlockMap})}}}}],NG_HIDE_CLASS="ng-hide",NG_HIDE_IN_PROGRESS_CLASS="ng-hide-animate",ngShowDirective=["$animate",function($animate){return{restrict:"A",multiElement:!0,link:function(scope,element,attr){scope.$watch(attr.ngShow,function(value){$animate[value?"removeClass":"addClass"](element,NG_HIDE_CLASS,{tempClasses:NG_HIDE_IN_PROGRESS_CLASS})})}}}],ngHideDirective=["$animate",function($animate){return{restrict:"A",multiElement:!0,link:function(scope,element,attr){scope.$watch(attr.ngHide,function(value){$animate[value?"addClass":"removeClass"](element,NG_HIDE_CLASS,{tempClasses:NG_HIDE_IN_PROGRESS_CLASS})})}}}],ngStyleDirective=ngDirective(function(scope,element,attr){scope.$watch(attr.ngStyle,function(newStyles,oldStyles){oldStyles&&newStyles!==oldStyles&&forEach(oldStyles,function(val,style){element.css(style,"")}),newStyles&&element.css(newStyles)},!0)}),ngSwitchDirective=["$animate",function($animate){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(scope,element,attr,ngSwitchController){var watchExpr=attr.ngSwitch||attr.on,selectedTranscludes=[],selectedElements=[],previousLeaveAnimations=[],selectedScopes=[],spliceFactory=function(array,index){return function(){array.splice(index,1)}};scope.$watch(watchExpr,function(value){var i,ii;for(i=0,ii=previousLeaveAnimations.length;i<ii;++i)$animate.cancel(previousLeaveAnimations[i]);for(previousLeaveAnimations.length=0,i=0,ii=selectedScopes.length;i<ii;++i){var selected=getBlockNodes(selectedElements[i].clone);selectedScopes[i].$destroy(),(previousLeaveAnimations[i]=$animate.leave(selected)).then(spliceFactory(previousLeaveAnimations,i))}selectedElements.length=0,selectedScopes.length=0,(selectedTranscludes=ngSwitchController.cases["!"+value]||ngSwitchController.cases["?"])&&forEach(selectedTranscludes,function(selectedTransclude){selectedTransclude.transclude(function(caseElement,selectedScope){selectedScopes.push(selectedScope);var anchor=selectedTransclude.element;caseElement[caseElement.length++]=document.createComment(" end ngSwitchWhen: ");var block={clone:caseElement};selectedElements.push(block),$animate.enter(caseElement,anchor.parent(),anchor)})})})}}}],ngSwitchWhenDirective=ngDirective({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(scope,element,attrs,ctrl,$transclude){ctrl.cases["!"+attrs.ngSwitchWhen]=ctrl.cases["!"+attrs.ngSwitchWhen]||[],ctrl.cases["!"+attrs.ngSwitchWhen].push({transclude:$transclude,element:element})}}),ngSwitchDefaultDirective=ngDirective({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(scope,element,attr,ctrl,$transclude){ctrl.cases["?"]=ctrl.cases["?"]||[],ctrl.cases["?"].push({transclude:$transclude,element:element})}}),ngTranscludeMinErr=minErr("ngTransclude"),ngTranscludeDirective=ngDirective({restrict:"EAC",link:function($scope,$element,$attrs,controller,$transclude){function ngTranscludeCloneAttachFn(clone){clone.length&&($element.empty(),$element.append(clone))}if($attrs.ngTransclude===$attrs.$attr.ngTransclude&&($attrs.ngTransclude=""),!$transclude)throw ngTranscludeMinErr("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",startingTag($element));$transclude(ngTranscludeCloneAttachFn,null,$attrs.ngTransclude||$attrs.ngTranscludeSlot)}}),scriptDirective=["$templateCache",function($templateCache){return{restrict:"E",terminal:!0,compile:function(element,attr){if("text/ng-template"==attr.type){var templateUrl=attr.id,text=element[0].text;$templateCache.put(templateUrl,text)}}}}],noopNgModelController={$setViewValue:noop,$render:noop},SelectController=["$element","$scope","$attrs",function($element,$scope){var self=this,optionsMap=new HashMap;self.ngModelCtrl=noopNgModelController,self.unknownOption=jqLite(document.createElement("option")),self.renderUnknownOption=function(val){var unknownVal="? "+hashKey(val)+" ?";
39self.unknownOption.val(unknownVal),$element.prepend(self.unknownOption),$element.val(unknownVal)},$scope.$on("$destroy",function(){self.renderUnknownOption=noop}),self.removeUnknownOption=function(){self.unknownOption.parent()&&self.unknownOption.remove()},self.readValue=function(){return self.removeUnknownOption(),$element.val()},self.writeValue=function(value){self.hasOption(value)?(self.removeUnknownOption(),$element.val(value),""===value&&self.emptyOption.prop("selected",!0)):null==value&&self.emptyOption?(self.removeUnknownOption(),$element.val("")):self.renderUnknownOption(value)},self.addOption=function(value,element){assertNotHasOwnProperty(value,'"option value"'),""===value&&(self.emptyOption=element);var count=optionsMap.get(value)||0;optionsMap.put(value,count+1),self.ngModelCtrl.$render(),chromeHack(element)},self.removeOption=function(value){var count=optionsMap.get(value);count&&(1===count?(optionsMap.remove(value),""===value&&(self.emptyOption=undefined)):optionsMap.put(value,count-1))},self.hasOption=function(value){return!!optionsMap.get(value)},self.registerOption=function(optionScope,optionElement,optionAttrs,interpolateValueFn,interpolateTextFn){var oldVal;interpolateValueFn?optionAttrs.$observe("value",function(newVal){isDefined(oldVal)&&self.removeOption(oldVal),oldVal=newVal,self.addOption(newVal,optionElement)}):interpolateTextFn?optionScope.$watch(interpolateTextFn,function(newVal,oldVal){optionAttrs.$set("value",newVal),oldVal!==newVal&&self.removeOption(oldVal),self.addOption(newVal,optionElement)}):self.addOption(optionAttrs.value,optionElement);optionElement.on("$destroy",function(){self.removeOption(optionAttrs.value),self.ngModelCtrl.$render()})}}],selectDirective=function(){function selectPreLink(scope,element,attr,ctrls){var ngModelCtrl=ctrls[1];if(ngModelCtrl){var selectCtrl=ctrls[0];if(selectCtrl.ngModelCtrl=ngModelCtrl,ngModelCtrl.$render=function(){selectCtrl.writeValue(ngModelCtrl.$viewValue)},element.on("change",function(){scope.$apply(function(){ngModelCtrl.$setViewValue(selectCtrl.readValue())})}),attr.multiple){selectCtrl.readValue=function(){var array=[];return forEach(element.find("option"),function(option){option.selected&&array.push(option.value)}),array},selectCtrl.writeValue=function(value){var items=new HashMap(value);forEach(element.find("option"),function(option){option.selected=isDefined(items.get(option.value))})};var lastView,lastViewRef=NaN;scope.$watch(function(){lastViewRef!==ngModelCtrl.$viewValue||equals(lastView,ngModelCtrl.$viewValue)||(lastView=shallowCopy(ngModelCtrl.$viewValue),ngModelCtrl.$render()),lastViewRef=ngModelCtrl.$viewValue}),ngModelCtrl.$isEmpty=function(value){return!value||0===value.length}}}}return{restrict:"E",require:["select","?ngModel"],controller:SelectController,priority:1,link:{pre:selectPreLink}}},optionDirective=["$interpolate",function($interpolate){return{restrict:"E",priority:100,compile:function(element,attr){if(isDefined(attr.value))var interpolateValueFn=$interpolate(attr.value,!0);else{var interpolateTextFn=$interpolate(element.text(),!0);interpolateTextFn||attr.$set("value",element.text())}return function(scope,element,attr){var selectCtrlName="$selectController",parent=element.parent(),selectCtrl=parent.data(selectCtrlName)||parent.parent().data(selectCtrlName);selectCtrl&&selectCtrl.registerOption(scope,element,attr,interpolateValueFn,interpolateTextFn)}}}}],styleDirective=valueFn({restrict:"E",terminal:!1}),requiredDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){ctrl&&(attr.required=!0,ctrl.$validators.required=function(modelValue,viewValue){return!attr.required||!ctrl.$isEmpty(viewValue)},attr.$observe("required",function(){ctrl.$validate()}))}}},patternDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var regexp,patternExp=attr.ngPattern||attr.pattern;attr.$observe("pattern",function(regex){if(isString(regex)&&regex.length>0&&(regex=new RegExp("^"+regex+"$")),regex&&!regex.test)throw minErr("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",patternExp,regex,startingTag(elm));regexp=regex||undefined,ctrl.$validate()}),ctrl.$validators.pattern=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(regexp)||regexp.test(viewValue)}}}}},maxlengthDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var maxlength=-1;attr.$observe("maxlength",function(value){var intVal=toInt(value);maxlength=isNaN(intVal)?-1:intVal,ctrl.$validate()}),ctrl.$validators.maxlength=function(modelValue,viewValue){return maxlength<0||ctrl.$isEmpty(viewValue)||viewValue.length<=maxlength}}}}},minlengthDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var minlength=0;attr.$observe("minlength",function(value){minlength=toInt(value)||0,ctrl.$validate()}),ctrl.$validators.minlength=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||viewValue.length>=minlength}}}}};window.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):(bindJQuery(),publishExternalAPI(angular),angular.module("ngLocale",[],["$provide",function($provide){function getDecimals(n){var i=(n+="").indexOf(".");return-1==i?0:n.length-i-1}function getVF(n,opt_precision){var v=opt_precision;undefined===v&&(v=Math.min(getDecimals(n),3));var base=Math.pow(10,v);return{v:v,f:(n*base|0)%base}}var PLURAL_CATEGORY={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};$provide.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
39ay","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a",short:"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-\xa4",negSuf:"",posPre:"\xa4",posSuf:""}]},id:"en-us",pluralCat:function(n,opt_precision){var i=0|n,vf=getVF(n,opt_precision);return 1==i&&0==vf.v?PLURAL_CATEGORY.ONE:PLURAL_CATEGORY.OTHER}})}]),jqLite(document).ready(function(){angularInit(document,bootstrap)}))}(window,document),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.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:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),function(window,angular,undefined){"use strict";function isValidDottedPath(path){return null!=path&&""!==path&&"hasOwnProperty"!==path&&MEMBER_NAME_REGEX.test("."+path)}function lookupDottedPath(obj,path){if(!isValidDottedPath(path))throw $resourceMinErr("badmember",'Dotted member path "@{0}" is invalid.',path);for(var keys=path.split("."),i=0,ii=keys.length;i<ii&&angular.isDefined(obj);i++){var key=keys[i];obj=null!==obj?obj[key]:undefined}return obj}function shallowClearAndCopy(src,dst){for(var key in dst=dst||{},angular.forEach(dst,function(value,key){delete dst[key]}),src)!src.hasOwnProperty(key)||"$"===key.charAt(0)&&"$"===key.charAt(1)||(dst[key]=src[key]);return dst}var $resourceMinErr=angular.$$minErr("$resource"),MEMBER_NAME_REGEX=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;angular.module("ngResource",["ng"]).provider("$resource",function(){var PROTOCOL_AND_DOMAIN_REGEX=/^https?:\/\/[^\/]*/,provider=this;this.defaults={stripTrailingSlashes:!0,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}},this.$get=["$http","$log","$q",function($http,$log,$q){function encodeUriSegment(val){return encodeUriQuery(val,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function encodeUriQuery(val,pctEncodeSpaces){return encodeURIComponent(val).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,pctEncodeSpaces?"%20":"+")}function Route(template,defaults){this.template=template,this.defaults=extend({},provider.defaults,defaults),this.urlParams={}}function resourceFactory(url,paramDefaults,actions,options){function extractParams(data,actionParams){var ids={};return actionParams=extend({}
39,paramDefaults,actionParams),forEach(actionParams,function(value,key){isFunction(value)&&(value=value()),ids[key]=value&&value.charAt&&"@"==value.charAt(0)?lookupDottedPath(data,value.substr(1)):value}),ids}function defaultResponseInterceptor(response){return response.resource}function Resource(value){shallowClearAndCopy(value||{},this)}var route=new Route(url,options);return actions=extend({},provider.defaults.actions,actions),Resource.prototype.toJSON=function(){var data=extend({},this);return delete data.$promise,delete data.$resolved,data},forEach(actions,function(action,name){var hasBody=/^(POST|PUT|PATCH)$/i.test(action.method),cancellable=!1;angular.isNumber(action.timeout)||(action.timeout&&($log.debug("ngResource:\n  Only numeric values are allowed as `timeout`.\n  Promises are not supported in $resource, because the same value would be used for multiple requests. If you are looking for a way to cancel requests, you should use the `cancellable` option."),delete action.timeout),cancellable=angular.isDefined(action.cancellable)?action.cancellable:options&&angular.isDefined(options.cancellable)?options.cancellable:provider.defaults.cancellable),Resource[name]=function(a1,a2,a3,a4){var data,success,error,params={};switch(arguments.length){case 4:error=a4,success=a3;case 3:case 2:if(!isFunction(a2)){params=a1,data=a2,success=a3;break}if(isFunction(a1)){success=a1,error=a2;break}success=a2,error=a3;case 1:isFunction(a1)?success=a1:hasBody?data=a1:params=a1;break;case 0:break;default:throw $resourceMinErr("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var timeoutDeferred,isInstanceCall=this instanceof Resource,value=isInstanceCall?data:action.isArray?[]:new Resource(data),httpConfig={},responseInterceptor=action.interceptor&&action.interceptor.response||defaultResponseInterceptor,responseErrorInterceptor=action.interceptor&&action.interceptor.responseError||undefined;forEach(action,function(value,key){switch(key){default:httpConfig[key]=copy(value);break;case"params":case"isArray":case"interceptor":case"cancellable":}}),!isInstanceCall&&cancellable&&(timeoutDeferred=$q.defer(),httpConfig.timeout=timeoutDeferred.promise),hasBody&&(httpConfig.data=data),route.setUrlParams(httpConfig,extend({},extractParams(data,action.params||{}),params),action.url);var promise=$http(httpConfig).then(function(response){var data=response.data;if(data){if(angular.isArray(data)!==!!action.isArray)throw $resourceMinErr("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",name,action.isArray?"array":"object",angular.isArray(data)?"array":"object",httpConfig.method,httpConfig.url);if(action.isArray)value.length=0,forEach(data,function(item){"object"==typeof item?value.push(new Resource(item)):value.push(item)});else{var promise=value.$promise;shallowClearAndCopy(data,value),value.$promise=promise}}return response.resource=value,response},function(response){return(error||noop)(response),$q.reject(response)});return promise["finally"](function(){value.$resolved=!0,!isInstanceCall&&cancellable&&(value.$cancelRequest=angular.noop,timeoutDeferred=httpConfig.timeout=null)}),promise=promise.then(function(response){var value=responseInterceptor(response);return(success||noop)(value,response.headers),value},responseErrorInterceptor),isInstanceCall?promise:(value.$promise=promise,value.$resolved=!1,cancellable&&(value.$cancelRequest=timeoutDeferred.resolve),value)},Resource.prototype["$"+name]=function(params,success,error){isFunction(params)&&(error=success,success=params,params={});var result=Resource[name].call(this,params,this,success,error);return result.$promise||result}}),Resource.bind=function(additionalParamDefaults){return resourceFactory(url,extend({},paramDefaults,additionalParamDefaults),actions)},Resource}var noop=angular.noop,forEach=angular.forEach,extend=angular.extend,copy=angular.copy,isFunction=angular.isFunction;return Route.prototype={setUrlParams:function(config,params,actionUrl){var val,encodedVal,self=this,url=actionUrl||self.template,protocolAndDomain="",urlParam
39s=self.urlParams={};forEach(url.split(/\W/),function(param){if("hasOwnProperty"===param)throw $resourceMinErr("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(param)&&param&&new RegExp("(^|[^\\\\]):"+param+"(\\W|$)").test(url)&&(urlParams[param]={isQueryParamValue:new RegExp("\\?.*=:"+param+"(?:\\W|$)").test(url)})}),url=(url=url.replace(/\\:/g,":")).replace(PROTOCOL_AND_DOMAIN_REGEX,function(match){return protocolAndDomain=match,""}),params=params||{},forEach(self.urlParams,function(paramInfo,urlParam){val=params.hasOwnProperty(urlParam)?params[urlParam]:self.defaults[urlParam],angular.isDefined(val)&&null!==val?(encodedVal=paramInfo.isQueryParamValue?encodeUriQuery(val,!0):encodeUriSegment(val),url=url.replace(new RegExp(":"+urlParam+"(\\W|$)","g"),function(match,p1){return encodedVal+p1})):url=url.replace(new RegExp("(/?):"+urlParam+"(\\W|$)","g"),function(match,leadingSlashes,tail){return"/"==tail.charAt(0)?tail:leadingSlashes+tail})}),self.defaults.stripTrailingSlashes&&(url=url.replace(/\/+$/,"")||"/"),url=url.replace(/\/\.(?=\w+($|\?))/,"."),config.url=protocolAndDomain+url.replace(/\/\\\./,"/."),forEach(params,function(value,key){self.urlParams[key]||(config.params=config.params||{},config.params[key]=value)})}},resourceFactory}]})}(window,window.angular),function(window,angular){"use strict";function assertArg(arg,name,reason){if(!arg)throw ngMinErr("areq","Argument '{0}' is {1}",name||"?",reason||"required");return arg}function mergeClasses(a,b){return a||b?a?b?(isArray(a)&&(a=a.join(" ")),isArray(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function packageStyles(options){var styles={};return options&&(options.to||options.from)&&(styles.to=options.to,styles.from=options.from),styles}function pendClasses(classes,fix,isPrefix){var className="";return classes=isArray(classes)?classes:classes&&isString(classes)&&classes.length?classes.split(/\s+/):[],forEach(classes,function(klass,i){klass&&klass.length>0&&(className+=i>0?" ":"",className+=isPrefix?fix+klass:klass+fix)}),className}function removeFromArray(arr,val){var index=arr.indexOf(val);val>=0&&arr.splice(index,1)}function stripCommentsFromElement(element){if(element instanceof jqLite)switch(element.length){case 0:return[];case 1:if(element[0].nodeType===ELEMENT_NODE)return element;break;default:return jqLite(extractElementNode(element))}if(element.nodeType===ELEMENT_NODE)return jqLite(element)}function extractElementNode(element){if(!element[0])return element;for(var i=0;i<element.length;i++){var elm=element[i];if(elm.nodeType==ELEMENT_NODE)return elm}}function $$addClass($$jqLite,element,className){forEach(element,function(elm){$$jqLite.addClass(elm,className)})}function $$removeClass($$jqLite,element,className){forEach(element,function(elm){$$jqLite.removeClass(elm,className)})}function applyAnimationClassesFactory($$jqLite){return function(element,options){options.addClass&&($$addClass($$jqLite,element,options.addClass),options.addClass=null),options.removeClass&&($$removeClass($$jqLite,element,options.removeClass),options.removeClass=null)}}function prepareAnimationOptions(options){if(!(options=options||{}).$$prepared){var domOperation=options.domOperation||noop;options.domOperation=function(){options.$$domOperationFired=!0,domOperation(),domOperation=noop},options.$$prepared=!0}return options}function applyAnimationStyles(element,options){applyAnimationFromStyles(element,options),applyAnimationToStyles(element,options)}function applyAnimationFromStyles(element,options){options.from&&(element.css(options.from),options.from=null)}function applyAnimationToStyles(element,options){options.to&&(element.css(options.to),options.to=null)}function mergeAnimationOptions(element,target,newOptions){var toAdd=(target.addClass||"")+" "+(newOptions.addClass||""),toRemove=(target.removeClass||"")+" "+(newOptions.removeClass||""),classes=resolveElementClasses(element.attr("class"),toAdd,toRemove);newOptions.preparationClasses&&(target.preparationClasses=concatWithSpace(newOptions.preparationClasses,target.preparationClasses),delete newOptions.preparationClasses);var realDomOperation=target.domOperation!==noop?target.domOperation:null;return extend(target,newOptions),realDomOperation&&(target.domOperation=realDomOperation),classes.addClass?target.addClass=classes.addClass:target.addClass=null,classes.removeClass?target.removeClass=classes.removeClass:target.removeClass=null,target}function resolveElementClasses(existing,toAdd,toRemove){function splitClassesToLookup(classe
39s){isString(classes)&&(classes=classes.split(" "));var obj={};return forEach(classes,function(klass){klass.length&&(obj[klass]=!0)}),obj}var ADD_CLASS=1,REMOVE_CLASS=-1,flags={};existing=splitClassesToLookup(existing),toAdd=splitClassesToLookup(toAdd),forEach(toAdd,function(value,key){flags[key]=ADD_CLASS}),toRemove=splitClassesToLookup(toRemove),forEach(toRemove,function(value,key){flags[key]=flags[key]===ADD_CLASS?null:REMOVE_CLASS});var classes={addClass:"",removeClass:""};return forEach(flags,function(val,klass){var prop,allow;val===ADD_CLASS?(prop="addClass",allow=!existing[klass]):val===REMOVE_CLASS&&(prop="removeClass",allow=existing[klass]),allow&&(classes[prop].length&&(classes[prop]+=" "),classes[prop]+=klass)}),classes}function getDomNode(element){return element instanceof angular.element?element[0]:element}function applyGeneratedPreparationClasses(element,event,options){var classes="";event&&(classes=pendClasses(event,EVENT_CLASS_PREFIX,!0)),options.addClass&&(classes=concatWithSpace(classes,pendClasses(options.addClass,ADD_CLASS_SUFFIX))),options.removeClass&&(classes=concatWithSpace(classes,pendClasses(options.removeClass,REMOVE_CLASS_SUFFIX))),classes.length&&(options.preparationClasses=classes,element.addClass(classe
39s))}function clearGeneratedClasses(element,options){options.preparationClasses&&(element.removeClass(options.preparationClasses),options.preparationClasses=null),options.activeClasses&&(element.removeClass(options.activeClasses),options.activeClasses=null)}function blockTransitions(node,duration){var value=duration?"-"+duration+"s":"";return applyInlineStyle(node,[TRANSITION_DELAY_PROP,value]),[TRANSITION_DELAY_PROP,value]}function blockKeyframeAnimations(node,applyBlock){var value=applyBlock?"paused":"",key=ANIMATION_PROP+ANIMATION_PLAYSTATE_KEY;return applyInlineStyle(node,[key,value]),[key,value]}function applyInlineStyle(node,styleTuple){var prop=styleTuple[0],value=styleTuple[1];node.style[prop]=value}function concatWithSpace(a,b){return a?b?a+" "+b:a:b}function getCssKeyframeDurationStyle(duration){return[ANIMATION_DURATION_PROP,duration+"s"]}function getCssDelayStyle(delay,isKeyframeAnimation){return[isKeyframeAnimation?ANIMATION_DELAY_PROP:TRANSITION_DELAY_PROP,delay+"s"]}function computeCssStyles($window,element,properties){var styles=Object.create(null),detectedStyles=$window.getComputedStyle(element)||{};return forEach(properties,function(formalStyleName,actualStyleName){var val=detectedStyles[formalStyleName];if(val){var c=val.charAt(0);("-"===c||"+"===c||c>=0)&&(val=parseMaxTime(val)),0===val&&(val=null),styles[actualStyleName]=val}}),styles}function parseMaxTime(str){var maxValue=0,values=str.split(/\s*,\s*/);return forEach(values,function(value){"s"==value.charAt(value.length-1)&&(value=value.substring(0,value.length-1)),value=parseFloat(value)||0,maxValue=maxValue?Math.max(value,maxValue):value}),maxValue}function truthyTimingValue(val){return 0===val||null!=val}function getCssTransitionDurationStyle(duration,applyOnlyDuration){var style=TRANSITION_PROP,value=duration+"s";return applyOnlyDuration?style+=DURATION_KEY:value+=" linear all",[style,value]}function createLocalCacheLookup(){var cache=Object.create(null);return{flush:function(){cache=Object.create(null)},count:function(key){var entry=cache[key];return entry?entry.total:0},get:function(key){var entry=cache[key];return entry&&entry.value},put:function(key,value){cache[key]?cache[key].total++:cache[key]={total:1,value:value}}}}function registerRestorableStyles(backup,node,properties){forEach(properties,function(prop){backup[prop]=isDefined(backup[prop])?backup[prop]:node.style.getPropertyValue(prop)})}var TRANSITION_PROP,TRANSITIONEND_EVENT,ANIMATION_PROP,ANIMATIONEND_EVENT,noop=angular.noop,copy=angular.copy,extend=angular.extend,jqLite=angular.element,forEach=angular.forEach,isArray=angular.isArray,isString=angular.isString,isObject=angular.isObject,isUndefined=angular.isUndefined,isDefined=angular.isDefined,isFunction=angular.isFunction,isElement=angular.isElement,ELEMENT_NODE=1,ADD_CLASS_SUFFIX="-add",REMOVE_CLASS_SUFFIX="-remove",EVENT_CLASS_PREFIX="ng-",ACTIVE_CLASS_SUFFIX="-active",PREPARE_CLASS_SUFFIX="-prepare",NG_ANIMATE_CLASSNAME="ng-animate",NG_ANIMATE_CHILDREN_DATA="$$ngAnimateChildren";isUndefined(window.ontransitionend)&&isDefined(window.onwebkittransitionend)?("-webkit-",TRANSITION_PROP="WebkitTransition",TRANSITIONEND_EVENT="webkitTransitionEnd transitionend"):(TRANSITION_PROP="transition",TRANSITIONEND_EVENT="transitionend"),isUndefined(window.onanimationend)&&isDefined(window.onwebkitanimationend)?("-webkit-",ANIMATION_PROP="WebkitAnimation",ANIMATIONEND_EVENT="webkitAnimationEnd animationend"):(ANIMATION_PROP="animation",ANIMATIONEND_EVENT="animationend");var DURATION_KEY="Duration",PROPERTY_KEY="Property",DELAY_KEY="Delay",TIMING_KEY="TimingFunction",ANIMATION_PLAYSTATE_KEY="PlayState",SAFE_FAST_FORWARD_DURATION_VALUE=9999,ANIMATION_DELAY_PROP=ANIMATION_PROP+DELAY_KEY,ANIMATION_DURATION_PROP=ANIMATION_PROP+DURATION_KEY,TRANSITION_DELAY_PROP=TRANSITION_PROP+DELAY_KEY,TRANSITION_DURATION_PROP=TRANSITION_PROP+DURATION_KEY,$$rAFSchedulerFactory=["$$rAF",function($$rAF){function scheduler(tasks){queue=queue.concat(tasks),nextTick()}function nextTick(){if(queue.length){for(var items=queue.shift(),i=0;i<items.length;i++)items[i]();cancelFn||$$rAF(function(){cancelFn||nextTick()})}}var queue,cancelFn;return queue=scheduler.queue=[],scheduler.waitUntilQuiet=function(fn){cancelFn&&cancelFn(),c
39ancelFn=$$rAF(function(){cancelFn=null,fn(),nextTick()})},scheduler}],$$AnimateChildrenDirective=[function(){return function(scope,element,attrs){var val=attrs.ngAnimateChildren;angular.isString(val)&&0===val.length?element.data(NG_ANIMATE_CHILDREN_DATA,!0):attrs.$observe("ngAnimateChildren",function(value){value="on"===value||"true"===value,element.data(NG_ANIMATE_CHILDREN_DATA,value)})}}],ANIMATE_TIMER_KEY="$$animateCss",ONE_SECOND=1e3,ELAPSED_TIME_MAX_DECIMAL_PLACES=3,CLOSING_TIME_BUFFER=1.5,DETECT_CSS_PROPERTIES={transitionDuration:TRANSITION_DURATION_PROP,transitionDelay:TRANSITION_DELAY_PROP,transitionProperty:TRANSITION_PROP+PROPERTY_KEY,animationDuration:ANIMATION_DURATION_PROP,animationDelay:ANIMATION_DELAY_PROP,animationIterationCount:ANIMATION_PROP+"IterationCount"},DETECT_STAGGER_CSS_PROPERTIES={transitionDuration:TRANSITION_DURATION_PROP,transitionDelay:TRANSITION_DELAY_PROP,animationDuration:ANIMATION_DURATION_PROP,animationDelay:ANIMATION_DELAY_PROP},$AnimateCssProvider=["$animateProvider",function(){var gcsLookup=createLocalCacheLookup(),gcsStaggerLookup=createLocalCacheLookup();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$animate",function($window,$$jqLite,$$AnimateRunner,$timeout,$$forceReflow,$sniffer,$$rAFScheduler,$animate){function gcsHashFn(node,extraClasses){var KEY="$$ngAnimateParentKey",parentNode=node.parentNode;return(parentNode[KEY]||(parentNode[KEY]=++parentCounter))+"-"+node.getAttribute("class")+"-"+extraClasses}function computeCachedCssStyles(node,className,cacheKey,properties){var timings=gcsLookup.get(cacheKey);return timings||"infinite"===(timings=computeCssStyles($window,node,properties)).animationIterationCount&&(timings.animationIterationCount=1),gcsLookup.put(cacheKey,timings),timings}function computeCachedCssStaggerStyles(node,className,cacheKey,properties){var stagger;if(gcsLookup.count(cacheKey)>0&&!(stagger=gcsStaggerLookup.get(cacheKey))){var staggerClassName=pendClasses(className,"-stagger");$$jqLite.addClass(node,staggerClassName),(stagger=computeCssStyles($window,node,properties)).animationDuration=Math.max(stagger.animationDuration,0),stagger.transitionDuration=Math.max(stagger.transitionDuration,0),$$jqLite.removeClass(node,staggerClassName),gcsStaggerLookup.put(cacheKey,stagger)}return stagger||{}}function waitUntilQuiet(callback){rafWaitQueue.push(callback),$$rAFScheduler.waitUntilQuiet(function(){gcsLookup.flush(),gcsStaggerLookup.flush();for(var pageWidth=$$forceReflow(),i=0;i<rafWaitQueue.length;i++)rafWaitQueue[i](pageWidth);rafWaitQueue.length=0})}function computeTimings(node,className,cacheKey){var timings=computeCachedCssStyles(node,className,cacheKey,DETECT_CSS_PROPERTIES),aD=timings.animationDelay,tD=timings.transitionDelay;return timings.maxDelay=aD&&tD?Math.max(aD,tD):aD||tD,timings.maxDuration=Math.max(timings.animationDuration*timings.animationIterationCount,timings.transitionDuration),timings}var applyAnimationClasses=applyAnimationClassesFactory($$jqLite),parentCounter=0,rafWaitQueue=[];return function(element,initialOptions){function endFn(){close()}
40function cancelFn(){close(!0)}function close(rejected){animationClosed||animationCompleted&&animationPaused||(animationClosed=!0,animationPaused=!1,options.$$skipPreparationClasses||$$jqLite.removeClass(element,preparationClasses),$$jqLite.removeClass(element,activeClasses),blockKeyframeAnimations(node,!1),blockTransitions(node,!1),forEach(temporaryStyles,function(entry){node.style[entry[0]]=""}),applyAnimationClasses(element,options),applyAnimationStyles(element,options),Object.keys(restoreStyles).length&&forEach(restoreStyles,function(value,prop){value?node.style.setProperty(prop,value):node.style.removeProperty(prop)}),options.onDone&&options.onDone(),runner&&runner.complete(!rejected))}function applyBlocking(duration){flags.blockTransition&&blockTransitions(node,duration),flags.blockKeyframeAnimation&&blockKeyframeAnimations(node,!!duration)}function closeAndReturnNoopAnimator(){return runner=new $$AnimateRunner({end:endFn,cancel:cancelFn}),waitUntilQuiet(noop),close(),{$$willAnimate:!1,start:function(){return runner},end:endFn}}
40function start(){function triggerAnimationStart(){if(!animationClosed){if(applyBlocking(!1),forEach(temporaryStyles,function(entry){var key=entry[0],value=entry[1];node.style[key]=value}),applyAnimationClasses(element,options),$$jqLite.addClass(element,activeClasses),flags.recalculateTimingStyles){if(fullClassName=node.className+" "+preparationClasses,cacheKey=gcsHashFn(node,fullClassName),timings=computeTimings(node,fullClassName,cacheKey),relativeDelay=timings.maxDelay,maxDelay=Math.max(relativeDelay,0),0===(maxDuration=timings.maxDuration))return void close();flags.hasTransitions=timings.transitionDuration>0,flags.hasAnimations=timings.animationDuration>0}if(flags.applyAnimationDelay&&(relativeDelay="boolean"!=typeof options.delay&&truthyTimingValue(options.delay)?parseFloat(options.delay):relativeDelay,maxDelay=Math.max(relativeDelay,0),timings.animationDelay=relativeDelay,delayStyle=getCssDelayStyle(relativeDelay,!0),temporaryStyles.push(delayStyle),node.style[delayStyle[0]]=delayStyle[1]),maxDelayTime=maxDelay*ONE_SECOND,maxDurationTime=maxDuration*ONE_SECOND,options.easing){var easeProp,easeVal=options.easing;flags.hasTransitions&&(easeProp=TRANSITION_PROP+TIMING_KEY,temporaryStyles.push([easeProp,easeVal]),node.style[easeProp]=easeVal),flags.hasAnimations&&(easeProp=ANIMATION_PROP+TIMING_KEY,temporaryStyles.push([easeProp,easeVal]),node.style[easeProp]=easeVal)}timings.transitionDuration&&events.push(TRANSITIONEND_EVENT),timings.animationDuration&&events.push(ANIMATIONEND_EVENT),startTime=Date.now();var timerTime=maxDelayTime+CLOSING_TIME_BUFFER*maxDurationTime,endTime=startTime+timerTime,animationsData=element.data(ANIMATE_TIMER_KEY)||[],setupFallbackTimer=!0;if(animationsData.length){var currentTimerData=animationsData[0];(setupFallbackTimer=endTime>currentTimerData.expectedEndTime)?$timeout.cancel(currentTimerData.timer):animationsData.push(close)}if(setupFallbackTimer){var timer=$timeout(onAnimationExpired,timerTime,!1);animationsData[0]={timer:timer,expectedEndTime:endTime},animationsData.push(close),element.data(ANIMATE_TIMER_KEY,animationsData)}element.on(events.join(" "),onAnimationProgress),options.to&&(options.cleanupStyles&&registerRestorableStyles(restoreStyles,node,Object.keys(options.to)),applyAnimationToStyles(element,options))}}function onAnimationExpired(){var animationsData=element.data(ANIMATE_TIMER_KEY);if(animationsData){for(var i=1;i<animationsData.length;i++)animationsData[i]();element.removeData(ANIMATE_TIMER_KEY)}}function onAnimationProgress(event){event.stopPropagation();var ev=event.originalEvent||event,timeStamp=ev.$manualTimeStamp||ev.timeStamp||Date.now(),elapsedTime=parseFloat(ev.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES));Math.max(timeStamp-startTime,0)>=maxDelayTime&&elapsedTime>=maxDuration&&(animationCompleted=!0,close())}if(!animationClosed)if(node.parentNode){var startTime,events=[],playPause=function(playAnimation){if(animationCompleted)animationPaused&&playAnimation&&(animationPaused=!1,close());else if(animationPaused=!playAnimation,timings.animationDuration){var value=blockKeyframeAnimations(node,animationPaused);animationPaused?temporaryStyles.push(value):removeFromArray(temporaryStyles,value)}},maxStagger=itemIndex>0&&(timings.transitionDuration&&0===stagger.transitionDuration||timings.animationDuration&&0===stagger.animationDuration)&&Math.max(stagger.animationDelay,stagger.transitionDelay);maxStagger?$timeout(triggerAnimationStart,Math.floor(maxStagger*itemIndex*ONE_SECOND),!1):triggerAnimationStart(),runnerHost.resume=function(){playPause(!0)},runnerHost.pause=function(){playPause(!1)}}else close()}var options=copy(initialOptions),restoreStyles={},node=getDomNode(element);if(!node||!node.parentNode||!$animate.enabled())return closeAndReturnNoopAnimator();options=prepareAnimationOptions(options);var animationClosed,animationPaused,animationCompleted,runner,runnerHost,maxDelay,maxDelayTime,maxDuration,maxDurationTime,temporaryStyles=[],classes=element.attr("class"),styles=packageStyles(options);if(0===options.duration||!$sniffer.animations&&!$sniffer.transitions)return closeAndReturnNoopAnimator();var method=options.event&&isArray(options.event)?options.event.join(" "):options.event,structuralClassName="",addRemoveClassName="";method&&options.structural?structuralClassName=pendClasses(method,EVENT_CLASS_PREFIX,!0):method&&(structuralClassName=method),options.addClass&&(addRemoveClassName+=pendClasses(options.addClass,ADD_CLASS_SUFFIX)),options.removeClass&&(addRemoveClassName.length&&(addRemoveClassName+=" "),addRemoveClassName+=pendClasses(options.removeClass,REMOVE_CLASS_SUFFIX)),options.applyClassesEarly&&addRemoveClassName.length&&applyAnimationClasses(element,options);var cacheKey,stagger,applyOnlyDuration,preparationClasses=[structuralClassName,addRemoveClassName].join(" ").trim(),fullClassName=classes+" "+preparationClasses,activeClasses=pendClasses(preparationClasses,A
40CTIVE_CLASS_SUFFIX),hasToStyles=styles.to&&Object.keys(styles.to).length>0;if(!((options.keyframeStyle||"").length>0)&&!hasToStyles&&!preparationClasses)return closeAndReturnNoopAnimator();if(options.stagger>0){var staggerVal=parseFloat(options.stagger);stagger={transitionDelay:staggerVal,animationDelay:staggerVal,transitionDuration:0,animationDuration:0}}else cacheKey=gcsHashFn(node,fullClassName),stagger=computeCachedCssStaggerStyles(node,preparationClasses,cacheKey,DETECT_STAGGER_CSS_PROPERTIES);if(options.$$skipPreparationClasses||$$jqLite.addClass(element,preparationClasses),options.transitionStyle){var transitionStyle=[TRANSITION_PROP,options.transitionStyle];applyInlineStyle(node,transitionStyle),temporaryStyles.push(transitionStyle)}if(options.duration>=0){applyOnlyDuration=node.style[TRANSITION_PROP].length>0;var durationStyle=getCssTransitionDurationStyle(options.duration,applyOnlyDuration);applyInlineStyle(node,durationStyle),temporaryStyles.push(durationStyle)}if(options.keyframeStyle){var keyframeStyle=[ANIMATION_PROP,options.keyframeStyle];applyInlineStyle(node,keyframeStyle),temporaryStyles.push(keyframeStyle)}var itemIndex=stagger?options.staggerIndex>=0?options.staggerIndex:gcsLookup.count(cacheKey):0,isFirst=0===itemIndex;isFirst&&!options.skipBlocking&&blockTransitions(node,SAFE_FAST_FORWARD_DURATION_VALUE);var timings=computeTimings(node,fullClassName,cacheKey),relativeDelay=timings.maxDelay;maxDelay=Math.max(relativeDelay,0),maxDuration=timings.maxDuration;var delayStyle,flags={};if(flags.hasTransitions=timings.transitionDuration>0,flags.hasAnimations=timings.animationDuration>0,flags.hasTransitionAll=flags.hasTransitions&&"all"==timings.transitionProperty,flags.applyTransitionDuration=hasToStyles&&(flags.hasTransitions&&!flags.hasTransitionAll||flags.hasAnimations&&!flags.hasTransitions),flags.applyAnimationDuration=options.duration&&flags.hasAnimations,flags.applyTransitionDelay=truthyTimingValue(options.delay)&&(flags.applyTransitionDuration||flags.hasTransitions),flags.applyAnimationDelay=truthyTimingValue(options.delay)&&flags.hasAnimations,flags.recalculateTimingStyles=addRemoveClassName.length>0,(flags.applyTransitionDuration||flags.applyAnimationDuration)&&(maxDuration=options.duration?parseFloat(options.duration):maxDuration,flags.applyTransitionDuration&&(flags.hasTransitions=!0,timings.transitionDuration=maxDuration,applyOnlyDuration=node.style[TRANSITION_PROP+PROPERTY_KEY].length>0,temporaryStyles.push(getCssTransitionDurationStyle(maxDuration,applyOnlyDuration))),flags.applyAnimationDuration&&(flags.hasAnimations=!0,timings.animationDuration=maxDuration,temporaryStyles.push(getCssKeyframeDurationStyle(maxDuration)))),0===maxDuration&&!flags.recalculateTimingStyles)return closeAndReturnNoopAnimator();null!=options.delay&&("boolean"!=typeof options.delay&&(delayStyle=parseFloat(options.delay),maxDelay=Math.max(delayStyle,0)),flags.applyTransitionDelay&&temporaryStyles.push(getCssDelayStyle(delayStyle)),flags.applyAnimationDelay&&temporaryStyles.push(getCssDelayStyle(delayStyle,!0)));return null==options.duration&&timings.transitionDuration>0&&(flags.recalculateTimingStyles=flags.recalculateTimingStyles||isFirst),maxDelayTime=maxDelay*ONE_SECOND,maxDurationTime=maxDuration*ONE_SECOND,options.skipBlocking||(flags.blockTransition=timings.transitionDuration>0,flags.blockKeyframeAnimation=timings.animationDuration>0&&stagger.animationDelay>0&&0===stagger.animationDuration),options.from&&(options.cleanupStyles&&registerRestorableStyles(restoreStyles,node,Object.keys(options.from)),applyAnimationFromStyles(element,options)),flags.blockTransition||flags.blockKeyframeAnimation?applyBlocking(maxDuration):options.skipBlocking||blockTransitions(node,!1),{$$willAnimate:!0,end:endFn,start:function(){if(!animationClosed)return runner=new $$AnimateRunner(runnerHost={end:endFn,cancel:cancelFn,resume:null,pause:null}),waitUntilQuiet(start),runner}}}}]}],$$AnimateCssDriverProvider=["$$animationProvider",function($$animationProvider){function isDocumentFragment(node){return node.parentNode&&11===node.parentNode.nodeType}$$animationProvider.drivers.push("$$animateCssDriver");var NG_ANIMATE_SHIM_CLASS_NAME="ng-animate-shim",NG_ANIMATE_ANCHOR_CLASS_NAME="ng-anchor",NG_OUT_ANCHOR_CLASS_NAME="ng-anchor-out",NG_IN_ANCHOR_CLASS_NAME="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function($animateCss,$rootScope,$$AnimateRunner,$rootElement,$sniffer,$$jqLite,$document){function filterCssClasse
40s(classes){return classes.replace(/\bng-\S+\b/g,"")}function getUniqueValues(a,b){return isString(a)&&(a=a.split(" ")),isString(b)&&(b=b.split(" ")),a.filter(function(val){return-1===b.indexOf(val)}).join(" ")}function prepareAnchoredAnimation(classes,outAnchor,inAnchor){function calculateAnchorStyles(anchor){var styles={},coords=getDomNode(anchor).getBoundingClientRect();return forEach(["width","height","top","left"],function(key){var value=coords[key];switch(key){case"top":value+=bodyNode.scrollTop;break;case"left":value+=bodyNode.scrollLeft}styles[key]=Math.floor(value)+"px"}),styles}function prepareOutAnimation(){var animator=$animateCss(clone,{addClass:NG_OUT_ANCHOR_CLASS_NAME,delay:!0,from:calculateAnchorStyles(outAnchor)});return animator.$$willAnimate?animator:null}function getClassVal(element){return element.attr("class")||""}function prepareInAnimation(){var endingClasses=filterCssClasses(getClassVal(inAnchor)),toAdd=getUniqueValues(endingClasses,startingClasses),toRemove=getUniqueValues(startingClasses,endingClasses),animator=$animateCss(clone,{to:calculateAnchorStyles(inAnchor),addClass:NG_IN_ANCHOR_CLASS_NAME+" "+toAdd,removeClass:NG_OUT_ANCHOR_CLASS_NAME+" "+toRemove,delay:!0});return animator.$$willAnimate?animator:null}function end(){clone.remove(),outAnchor.removeClass(NG_ANIMATE_SHIM_CLASS_NAME),inAnchor.removeClass(NG_ANIMATE_SHIM_CLASS_NAME)}var clone=jqLite(getDomNode(outAnchor).cloneNode(!0)),startingClasses=filterCssClasses(getClassVal(clone));outAnchor.addClass(NG_ANIMATE_SHIM_CLASS_NAME),inAnchor.addClass(NG_ANIMATE_SHIM_CLASS_NAME),clone.addClass(NG_ANIMATE_ANCHOR_CLASS_NAME),rootBodyElement.append(clone);var animatorIn,animatorOut=prepareOutAnimation();if(!animatorOut&&!(animatorIn=prepareInAnimation()))return end();var startingAnimator=animatorOut||animatorIn;return{start:function(){function endFn(){currentAnimation&&currentAnimation.end()}var runner,currentAnimation=startingAnimator.start();return currentAnimation.done(function(){if(currentAnimation=null,!animatorIn&&(animatorIn=prepareInAnimation()))return(currentAnimation=animatorIn.start()).done(function(){currentAnimation=null,end(),runner.complete()}),currentAnimation;end(),runner.complete()}),runner=new $$AnimateRunner({end:endFn,cancel:endFn})}}}function prepareFromToAnchorAnimation(from,to,classes,anchors){var fromAnimation=prepareRegularAnimation(from,noop),toAnimation=prepareRegularAnimation(to,noop),anchorAnimations=[];if(forEach(anchors,function(anchor){var outElement=anchor.out,inElement=anchor["in"],animator=prepareAnchoredAnimation(classes,outElement,inElement);animator&&anchorAnimations.push(animator)}),fromAnimation||toAnimation||0!==anchorAnimations.length)return{start:function(){function endFn(){forEach(animationRunners,function(runner){runner.end()})}var animationRunners=[];fromAnimation&&animationRunners.push(fromAnimation.start()),toAnimation&&animationRunners.push(toAnimation.start()),forEach(anchorAnimations,function(animation){animationRunners.push(animation.start())});var runner=new $$AnimateRunner({end:endFn,cancel:endFn});return $$AnimateRunner.all(animationRunners,function(status){runner.complete(status)}),runner}}}function prepareRegularAnimation(animationDetails){var element=animationDetails.element,options=animationDetails.options||{};animationDetails.structural&&(options.event=animationDetails.event,options.structural=!0,options.applyClassesEarly=!0,"leave"===animationDetails.event&&(options.onDone=options.domOperation)),options.preparationClasses&&(options.event=concatWithSpace(options.event,options.preparationClasses));var animator=$animateCss(element,options);return animator.$$willAnimate?animator:null}if(!$sniffer.animations&&!$sniffer.transitions)return noop;var bodyNode=$document[0].body,rootNode=getDomNode($rootElement),rootBodyElement=jqLite(isDocumentFragment(rootNode)||bodyNode.contains(rootNode)?rootNode:bodyNode);applyAnimationClassesFactory($$jqLite);return function(animationDetails){return animationDetails.from&&animationDetails.to?prepareFromToAnchorAnimation(animationDetails.from,animationDetail
40s.to,animationDetails.classes,animationDetails.anchors):prepareRegularAnimation(animationDetails)}}]}],$$AnimateJsProvider=["$animateProvider",function($animateProvider){this.$get=["$injector","$$AnimateRunner","$$jqLite",function($injector,$$AnimateRunner,$$jqLite){function lookupAnimations(classes){classes=isArray(classes)?classes:classes.split(" ");for(var matches=[],flagMap={},i=0;i<classes.length;i++){var klass=classes[i],animationFactory=$animateProvider.$$registeredAnimations[klass];animationFactory&&!flagMap[klass]&&(matches.push($injector.get(animationFactory)),flagMap[klass]=!0)}return matches}var applyAnimationClasses=applyAnimationClassesFactory($$jqLite);return function(element,event,classes,options){function applyOptions(){options.domOperation(),applyAnimationClasses(element,options)}function executeAnimationFn(fn,element,event,options,onDone){var args;switch(event){case"animate":args=[element,options.from,options.to,onDone];break;case"setClass":args=[element,classesToAdd,classesToRemove,onDone];break;case"addClass":args=[element,classesToAdd,onDone];break;case"removeClass":args=[element,classesToRemove,onDone];break;default:args=[element,onDone]}args.push(options);var value=fn.apply(fn,args);if(value)if(isFunction(value.start)&&(value=value.start()),value instanceof $$AnimateRunner)value.done(onDone);else if(isFunction(value))return value;return noop}function groupEventedAnimations(element,event,options,animations,fnName){var operations=[];return forEach(animations,function(ani){var animation=ani[fnName];animation&&operations.push(function(){var runner,endProgressCb,resolved=!1,onAnimationComplete=function(rejected){resolved||(resolved=!0,(endProgressCb||noop)(rejected),runner.complete(!rejected))};return runner=new $$AnimateRunner({end:function(){onAnimationComplete()},cancel:function(){onAnimationComplete(!0)}}),endProgressCb=executeAnimationFn(animation,element,event,options,function(result){onAnimationComplete(!1===result)}),runner})}),operations}function packageAnimations(element,event,options,animations,fnName){var a,b,operations=groupEventedAnimations(element,event,options,animations,fnName);0===operations.length&&("beforeSetClass"===fnName?(a=groupEventedAnimations(element,"removeClass",options,animations,"beforeRemoveClass"),b=groupEventedAnimations(element,"addClass",options,animations,"beforeAddClass")):"setClass"===fnName&&(a=groupEventedAnimations(element,"removeClass",options,animations,"removeClass"),b=groupEventedAnimations(element,"addClass",options,animations,"addClass")),a&&(operations=operations.concat(a)),b&&(operations=operations.concat(b)));if(0!==operations.length)return function(callback){var runners=[];return operations.length&&forEach(operations,function(animateFn){runners.push(animateFn())}),runners.length?$$AnimateRunner.all(runners,callback):callback(),function(reject){forEach(runners,function(runner){reject?runner.cancel():runner.end()})}}}3===arguments.length&&isObject(classes)&&(options=classes,classes=null),options=prepareAnimationOptions(options),classes||(classes=element.attr("class")||"",options.addClass&&(classes+=" "+options.addClass),options.removeClass&&(classes+=" "+options.removeClass));var before,after,afterFn,beforeFn,classesToAdd=options.addClass,classesToRemove=options.removeClass,animations=lookupAnimations(classes);animations.length&&("leave"==event?(beforeFn="leave",afterFn="afterLeave"):(beforeFn="before"+event.charAt(0).toUpperCase()+event.substr(1),afterFn=event),"enter"!==event&&"move"!==event&&(before=packageAnimations(element,event,options,animations,beforeFn)),after=packageAnimations(element,event,options,animations,afterFn));if(before||after)return{start:function(){function onComplete(success){animationClosed=!0,applyOptions(),applyAnimationStyles(element,options),runner.complete(success)}function endAnimations(cancelled){animationClosed||((closeActiveAnimations||noop)(cancelled),onComplete(cancelled))}var closeActiveAnimations,chain=[];before&&chain.push(function(fn){closeActiveAnimations=before(fn)}),chain.length?chain.push(function(fn){applyOptions(),fn(!0)}):applyOptions(),after&&chain.push(function(fn){closeActiveAnimations=after(fn)});var animationClosed=!1,runner=new $$AnimateRunner({end:function(){endAnimations()},cancel:function(){endAnimations(!0)}});return $$AnimateRunner.chain(chain,onComplete),runner}}}}]}],$$AnimateJsDriverProvider=["$$animationProvider",function($$animationProvider){$$animationProvider.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function($$animateJs,$$AnimateRunner){function prepareAnimation(animationDetail
40s){var element=animationDetails.element,event=animationDetails.event,options=animationDetails.options,classes=animationDetails.classes;return $$animateJs(element,event,classes,options)}return function(animationDetails){if(animationDetails.from&&animationDetails.to){var fromAnimation=prepareAnimation(animationDetails.from),toAnimation=prepareAnimation(animationDetails.to);if(!fromAnimation&&!toAnimation)return;return{start:function(){function endFnFactory(){return function(){forEach(animationRunners,function(runner){runner.end()})}}function done(status){runner.complete(status)}var animationRunners=[];fromAnimation&&animationRunners.push(fromAnimation.start()),toAnimation&&animationRunners.push(toAnimation.start()),$$AnimateRunner.all(animationRunners,done);var runner=new $$AnimateRunner({end:endFnFactory(),cancel:endFnFactory()});return runner}}}return prepareAnimation(animationDetails)}}]}],NG_ANIMATE_ATTR_NAME="data-ng-animate",NG_ANIMATE_PIN_DATA="$ngAnimatePin",$$AnimateQueueProvider=["$animateProvider",function($animateProvider){function isAllowed(ruleType,element,currentAnimation,previousAnimation){return rules[ruleType].some(function(fn){return fn(element,currentAnimation,previousAnimation)})}function hasAnimationClasses(options,and){var a=((options=options||{}).addClass||"").length>0,b=(options.removeClass||"").length>0;return and?a&&b:a||b}var PRE_DIGEST_STATE=1,RUNNING_STATE=2,rules=this.rules={skip:[],cancel:[],join:[]};rules.join.push(function(element,newAnimation){return!newAnimation.structural&&hasAnimationClasses(newAnimation.options)}),rules.skip.push(function(element,newAnimation){return!newAnimation.structural&&!hasAnimationClasses(newAnimation.options)}),rules.skip.push(function(element,newAnimation,currentAnimation){return"leave"==currentAnimation.event&&newAnimation.structural}),rules.skip.push(function(element,newAnimation,currentAnimation){return currentAnimation.structural&&currentAnimation.state===RUNNING_STATE&&!newAnimation.structural}),rules.cancel.push(function(element,newAnimation,currentAnimation){return currentAnimation.structural&&newAnimation.structural}),rules.cancel.push(function(element,newAnimation,currentAnimation){return currentAnimation.state===RUNNING_STATE&&newAnimation.structural}),rules.cancel.push(function(element,newAnimation,currentAnimation){var nO=newAnimation.options,cO=currentAnimation.options;return nO.addClass&&nO.addClass===cO.removeClass||nO.removeClass&&nO.removeClass===cO.addClass}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function($$rAF,$rootScope,$rootElement,$document,$$HashMap,$$animation,$$AnimateRunner,$templateRequest,$$jqLite){function postDigestTaskFactory(){var postDigestCalled=!1;return function(fn){postDigestCalled?fn():$rootScope.$$postDigest(function(){postDigestCalled=!0,fn()})}}function normalizeAnimationOptions(element,options){return mergeAnimationOptions(element,options,{})}function findCallbacks(parent,element,event){var targetNode=getDomNode(element),targetParentNode=getDomNode(parent),matches=[],entries=callbackRegistry[event];return entries&&forEach(entries,function(entry){entry.node.contains(targetNode)?matches.push(entry.callback):"leave"===event&&entry.node.contains(targetParentNode)&&matches.push(entry.callback)}),matches}function queueAnimation(element,event,initialOptions){function notifyProgress(runner,event,phase,data){runInNextPostDigestOrNow(function(){var callbacks=findCallbacks(parent,element,event);callbacks.length&&$$rAF(function(){forEach(callbacks,function(callback){callback(element,phase,data)})})}),runner.progress(event,phase,data)}function close(reject){clearGeneratedClasses(element,options),applyAnimationClasses(element,options),applyAnimationStyles(element,options),options.domOperation(),runner.complete(!reject)}var node,parent,options=copy(initialOptions);(element=stripCommentsFromElement(element))&&(node=getDomNode(element),parent=element.parent()),options=prepareAnimationOptions(options);var runner=new $$AnimateRunner,runInNextPostDigestOrNow=postDigestTaskFactory();if(isArray(options.addClass)&&(options.addClass=options.addClass.join(" ")),options.addClass&&!isString(options.addClass)&&(options.addClass=null),isArray(options.removeClass)&&(options.removeClass=options.removeClass.join(" ")),options.removeClass&&!isString(options.removeClass)&&(options.removeClass=null),options.from&&!isObject(options.from)&&(options.from=null),options.to&&!isObject(options.to)&&(options.to=null),!node)return close(),runner;var className=[node.className,options.addClass,options.removeClass].join(" ");if(!isAnimatableClassName(className))return close(),runner;var isStructural=["enter","move","leave"].indexOf(event)>=0,skipAnimations=!animationsEnabled||disabledElementsLookup.get(node),existingAnimation=!skipAnimations&&activeAnimationsLookup.get(node)||{},hasExistingAnimation=!!existingAnimation.state;if(skipAnimations||hasExistingAnimation&&existingAnimation.state==PRE_DIGEST_STATE||(skipAnimations=!areAnimationsAllowed(element,parent,event)),skipAnimations)return close(),runner;
40isStructural&&closeChildAnimations(element);var newAnimation={structural:isStructural,element:element,event:event,close:close,options:options,runner:runner};if(hasExistingAnimation){if(isAllowed("skip",element,newAnimation,existingAnimation))return existingAnimation.state===RUNNING_STATE?(close(),runner):(mergeAnimationOptions(element,existingAnimation.options,options),existingAnimation.runner);if(isAllowed("cancel",element,newAnimation,existingAnimation))if(existingAnimation.state===RUNNING_STATE)existingAnimation.runner.end();else{if(!existingAnimation.structural)return mergeAnimationOptions(element,existingAnimation.options,newAnimation.options),existingAnimation.runner;existingAnimation.close()}else if(isAllowed("join",element,newAnimation,existingAnimation)){if(existingAnimation.state!==RUNNING_STATE)return applyGeneratedPreparationClasses(element,isStructural?event:null,options),event=newAnimation.event=existingAnimation.event,options=mergeAnimationOptions(element,existingAnimation.options,newAnimation.options),existingAnimation.runner;normalizeAnimationOptions(element,options)}}else normalizeAnimationOptions(element,options);var isValidAnimation=newAnimation.structural;if(isValidAnimation||(isValidAnimation="animate"===newAnimation.event&&Object.keys(newAnimation.options.to||{}).length>0||hasAnimationClasses(newAnimation.options)),!isValidAnimation)return close(),clearElementAnimationState(element),runner;var counter=(existingAnimation.counter||0)+1;return newAnimation.counter=counter,markElementAnimationState(element,PRE_DIGEST_STATE,newAnimation),$rootScope.$$postDigest(function(){var animationDetails=activeAnimationsLookup.get(node),animationCancelled=!animationDetails;animationDetails=animationDetails||{};var isValidAnimation=(element.parent()||[]).length>0&&("animate"===animationDetails.event||animationDetails.structural||hasAnimationClasses(animationDetails.options));if(animationCancelled||animationDetails.counter!==counter||!isValidAnimation)return animationCancelled&&(applyAnimationClasses(element,options),applyAnimationStyles(element,options)),(animationCancelled||isStructural&&animationDetails.event!==event)&&(options.domOperation(),runner.end()),void(isValidAnimation||clearElementAnimationState(element));event=!animationDetails.structural&&hasAnimationClasses(animationDetails.options,!0)?"setClass":animationDetails.event,markElementAnimationState(element,RUNNING_STATE);var realRunner=$$animation(element,event,animationDetails.options);realRunner.done(function(status){close(!status);var animationDetails=activeAnimationsLookup.get(node);animationDetails&&animationDetails.counter===counter&&clearElementAnimationState(getDomNode(element)),notifyProgress(runner,event,"close",{})}),runner.setHost(realRunner),notifyProgress(runner,event,"start",{})}),runner}function closeChildAnimations(element){var children=getDomNode(element).querySelectorAll("["+NG_ANIMATE_ATTR_NAME+"]");forEach(children,function(child){var state=parseInt(child.getAttribute(NG_ANIMATE_ATTR_NAME)),animationDetails=activeAnimationsLookup.get(child);if(animationDetails)switch(state){case RUNNING_STATE:animationDetails.runner.end();case PRE_DIGEST_STATE:activeAnimationsLookup.remove(child)}})}function clearElementAnimationState(element){var node=getDomNode(element);node.removeAttribute(NG_ANIMATE_ATTR_NAME),activeAnimationsLookup.remove(node)}function isMatchingElement(nodeOrElmA,nodeOrElmB){return getDomNode(nodeOrElmA)===getDomNode(nodeOrElmB)}function areAnimationsAllowed(element,parentElement){var animateChildren,bodyElement=jqLite($document[0].body),bodyElementDetected=isMatchingElement(element,bodyElement)||"HTML"===element[0].nodeName,rootElementDetected=isMatchingElement(element,$rootElement),parentAnimationDetected=!1,parentHost=element.data(NG_ANIMATE_PIN_DATA);for(parentHost&&(parentElement=parentHost);parentElement&&parentElement.length;){rootElementDetected||(rootElementDetected=isMatchingElement(parentElement,$rootElement));var parentNode=parentElement[0];if(parentNode.nodeType!==ELEMENT_NODE)break;var details=activeAnimationsLookup.get(parentNode)||{};
40if(parentAnimationDetected||(parentAnimationDetected=details.structural||disabledElementsLookup.get(parentNode)),isUndefined(animateChildren)||!0===animateChildren){var value=parentElement.data(NG_ANIMATE_CHILDREN_DATA);isDefined(value)&&(animateChildren=value)}if(parentAnimationDetected&&!1===animateChildren)break;rootElementDetected||(rootElementDetected=isMatchingElement(parentElement,$rootElement))||(parentHost=parentElement.data(NG_ANIMATE_PIN_DATA))&&(parentElement=parentHost),bodyElementDetected||(bodyElementDetected=isMatchingElement(parentElement,bodyElement)),parentElement=parentElement.parent()}return(!parentAnimationDetected||animateChildren)&&rootElementDetected&&bodyElementDetected}function markElementAnimationState(element,state,details){(details=details||{}).state=state;var node=getDomNode(element);node.setAttribute(NG_ANIMATE_ATTR_NAME,state);var oldValue=activeAnimationsLookup.get(node),newValue=oldValue?extend(oldValue,details):details;activeAnimationsLookup.put(node,newValue)}var activeAnimationsLookup=new $$HashMap,disabledElementsLookup=new $$HashMap,animationsEnabled=null,deregisterWatch=$rootScope.$watch(function(){return 0===$templateRequest.totalPendingRequests},function(isEmpty){isEmpty&&(deregisterWatch(),$rootScope.$$postDigest(function(){$rootScope.$$postDigest(function(){null===animationsEnabled&&(animationsEnabled=!0)})}))}),callbackRegistry={},classNameFilter=$animateProvider.classNameFilter(),isAnimatableClassName=classNameFilter?function(className){return classNameFilter.test(className)}:function(){return!0},applyAnimationClasses=applyAnimationClassesFactory($$jqLite);return{on:function(event,container,callback){var node=extractElementNode(container);callbackRegistry[event]=callbackRegistry[event]||[],callbackRegistry[event].push({node:node,callback:callback})},off:function(event,container,callback){function filterFromRegistry(list,matchContainer,matchCallback){var containerNode=extractElementNode(matchContainer);return list.filter(function(entry){return!(entry.node===containerNode&&(!matchCallback||entry.callback===matchCallback))})}var entries=callbackRegistry[event];entries&&(callbackRegistry[event]=1===arguments.length?null:filterFromRegistry(entries,container,callback))},pin:function(element,parentElement){assertArg(isElement(element),"element","not an element"),assertArg(isElement(parentElement),"parentElement","not an element"),element.data(NG_ANIMATE_PIN_DATA,parentElement)},push:function(element,event,options,domOperation){return(options=options||{}).domOperation=domOperation,queueAnimation(element,event,options)},enabled:function(element,bool){var argCount=arguments.length;if(0===argCount)bool=!!animationsEnabled;else if(isElement(element)){var node=getDomNode(element),recordExists=disabledElementsLookup.get(node);1===argCount?bool=!recordExists:(bool=!!bool)?recordExists&&disabledElementsLookup.remove(node):disabledElementsLookup.put(node,!0)}else bool=animationsEnabled=!!element;return bool}}}]}],$$AnimationProvider=["$animateProvider",function(){function setRunner(element,runner){element.data(RUNNER_STORAGE_KEY,runner)}function removeRunner(element){element.removeData(RUNNER_STORAGE_KEY)}function getRunner(element){return element.data(RUNNER_STORAGE_KEY)}var NG_ANIMATE_REF_ATTR="ng-animate-ref",drivers=this.drivers=[],RUNNER_STORAGE_KEY="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function($$jqLite,$rootScope,$injector,$$AnimateRunner,$$HashMap,$$rAFScheduler){function sortAnimations(animations){function processNode(entry){if(entry.processed)return entry;entry.processed=!0;var parentEntry,elementNode=entry.domNode,parentNode=elementNode.parentNode;for(lookup.put(elementNode,entry);parentNode;){if(parentEntry=lookup.get(parentNode)){parentEntry.processed||(parentEntry=processNode(parentEntry));break}parentNode=parentNode.parentNode}return(parentEntry||tree).children.push(entry),entry}function flatten(tree){var i,result=[],queue=[];for(i=0;i<tree.children.length;i++)queue.push(tree.children[i]);var remainingLevelEntries=queue.length,nextLevelEntries=0,row=[];for(i=0;i<queue.length;i++){var entry=queue[i]
41;remainingLevelEntries<=0&&(remainingLevelEntries=nextLevelEntries,nextLevelEntries=0,result.push(row),row=[]),row.push(entry.fn),entry.children.forEac
41h(function(childEntry){nextLevelEntries++,queue.push(childEntry)}),remainingLevelEntries--}return row.length&&result.push(row),result}var i,tree={children:[]},lookup=new $$HashMap;for(i=0;i<animations.length;i++){var animation=animations[i];lookup.put(animation.domNode,animations[i]={domNode:animation.domNode,fn:animation.fn,children:[]})}for(i=0;i<animations.length;i++)processNode(animations[i]);return flatten(tree)}var animationQueue=[],applyAnimationClasses=applyAnimationClassesFactory($$jqLite);return function(element,event,options){function getAnchorNodes(node){var SELECTOR="["+NG_ANIMATE_REF_ATTR+"]",items=node.hasAttribute(NG_ANIMATE_REF_ATTR)?[node]:node.querySelectorAll(SELECTOR),anchors=[];return forEach(items,function(node){var attr=node.getAttribute(NG_ANIMATE_REF_ATTR);attr&&attr.length&&anchors.push(node)}),anchors}function groupAnimations(animations){var preparedAnimations=[],refLookup={};forEach(animations,function(animation,index){var node=getDomNode(animation.element),event=animation.event,enterOrMove=["enter","move"].indexOf(event)>=0,anchorNodes=animation.structural?getAnchorNodes(node):[];if(anchorNodes.length){var direction=enterOrMove?"to":"from";forEach(anchorNodes,function(anchor){var key=anchor.getAttribute(NG_ANIMATE_REF_ATTR);refLookup[key]=refLookup[key]||{},refLookup[key][direction]={animationID:index,element:jqLite(anchor)}})}else preparedAnimations.push(animation)});var usedIndicesLookup={},anchorGroups={};return forEach(refLookup,function(operations){var from=operations.from,to=operations.to;if(from&&to){var fromAnimation=animations[from.animationID],toAnimation=animations[to.animationID],lookupKey=from.animationID.toString();if(!anchorGroups[lookupKey]){var group=anchorGroups[lookupKey]={structural:!0,beforeStart:function(){fromAnimation.beforeStart(),toAnimation.beforeStart()},close:function(){fromAnimation.close(),toAnimation.close()},classes:cssClassesIntersection(fromAnimation.classes,toAnimation.classes),from:fromAnimation,to:toAnimation,anchors:[]};group.classes.length?preparedAnimations.push(group):(preparedAnimations.push(fromAnimation),preparedAnimations.push(toAnimation))}anchorGroups[lookupKey].anchors.push({out:from.element,"in":to.element})}else{var index=from?from.animationID:to.animationID,indexKey=index.toString();usedIndicesLookup[indexKey]||(usedIndicesLookup[indexKey]=!0,preparedAnimations.push(animations[index]))}}),preparedAnimations}
41function cssClassesIntersection(a,b){a=a.split(" "),b=b.split(" ");for(var matches=[],i=0;i<a.length;i++){var aa=a[i];if("ng-"!==aa.substring(0,3))for(var j=0;j<b.length;j++)if(aa===b[j]){matches.push(aa);break}}return matches.join(" ")}function invokeFirstDriver(animationDetails){for(var i=drivers.length-1;i>=0;i--){var driverName=drivers[i];if($injector.has(driverName)){var driver=$injector.get(driverName)(animationDetails);if(driver)return driver}}}function beforeStart(){element.addClass(NG_ANIMATE_CLASSNAME),tempClasses&&$$jqLite.addClass(element,tempClasses),prepareClassName&&($$jqLite.removeClass(element,prepareClassName),prepareClassName=null)}function updateAnimationRunners(animation,newRunner){function update(element){getRunner(element).setHost(newRunner)}animation.from&&animation.to?(update(animation.from.element),update(animation.to.element)):update(animation.element)}function handleDestroyedElement(){var runner=getRunner(element);!runner||"leave"===event&&options.$$domOperationFired||runner.end()}function close(rejected){element.off("$destroy",handleDestroyedElement),removeRunner(element),applyAnimationClasses(element,options),applyAnimationStyles(element,options),options.domOperation(),tempClasses&&$$jqLite.removeClass(element,tempClasses),element.removeClass(NG_ANIMATE_CLASSNAME),runner.complete(!rejected)}options=prepareAnimationOptions(options);var isStructural=["enter","move","leave"].indexOf(event)>=0,runner=new $$AnimateRunner({end:function(){close()},cancel:function(){close(!0)}});if(!drivers.length)return close(),runner;setRunner(element,runner);var prepareClassName,classes=mergeClasses(element.attr("class"),mergeClasses(options.addClass,options.removeClass)),tempClasses=options.tempClasses;return tempClasses&&(classes+=" "+tempClasses,options.tempClasses=null),isStructural&&(prepareClassName="ng-"+event+PREPARE_CLASS_SUFFIX,$$jqLite.addClass(element,prepareClassName)),animationQueue.push({element:element,classes:classes,event:event,structural:isStructural,options:options,beforeStart:beforeStart,close:close}),element.on("$destroy",handleDestroyedElement),animationQueue.length>1?runner:($rootScope.$$postDigest(function(){var animations=[];forEach(animationQueue,function(entry){getRunner(entry.element)?animations.push(entry):entry.close()}),animationQueue.length=0;var groupedAnimations=groupAnimations(animations),toBeSortedAnimations=[];forEach(groupedAnimations,function(animationEntry){toBeSortedAnimations.push({domNode:getDomNode(animationEntry.from?animationEntry.from.element:animationEntry.element),fn:function(){animationEntry.beforeStart();var startAnimationFn,closeFn=animationEntry.close;if(getRunner(animationEntry.anchors?animationEntry.from.element||animationEntry.to.element:animationEntry.element)){var operation=invokeFirstDriver(animationEntry);operation&&(startAnimationFn=operation.start)}if(startAnimationFn){var animationRunner=startAnimationFn();animationRunner.done(function(status){closeFn(!status)}),updateAnimationRunners(animationEntry,animationRunner)}else closeFn()}})}),$$rAFScheduler(sortAnimations(toBeSortedAnimations))}),runner)}}]}],ngAnimateSwapDirective=["$animate","$rootScope",function($animate){return{restrict:"A",transclude:"element",terminal:!0,priority:600,link:function(scope,$element,attrs,ctrl,$transclude){var previousElement,previousScope;scope.$watchCollection(attrs.ngAnimateSwap||attrs["for"],function(value){previousElement&&$animate.leave(previousElement),previousScope&&(previousScope.$destroy(),previousScope=null),(value||0===value)&&(previousScope=scope.$new(),$transclude(previousScope,function(element){previousElement=element,$animate.enter(element,null,$element)}))})}}}];angular.module("ngAnimate",[]).directive("ngAnimateSwap",ngAnimateSwapDirective).directive("ngAnimateChildren",$$AnimateChildrenDirective).factory("$$rAFScheduler",$$rAFSchedulerFactory).provider("$$animateQueue",$$AnimateQueueProvider).provider("$$animation",$$AnimationProvider).provider("$animateCss",$AnimateCssProvider).provider("$$animateCssDriver",$$AnimateCssDriverProvider).provider("$$animateJs",$$AnimateJsProvi
41der).provider("$$animateJsDriver",$$AnimateJsDriverProvider)}(window,window.angular),function(window,angular,undefined){"use strict";function $$CookieWriter($document,$log,$browser){function buildCookieString(name,value,options){var path,expires;expires=(options=options||{}).expires,path=angular.isDefined(options.path)?options.path:cookiePath,angular.isUndefined(value)&&(expires="Thu, 01 Jan 1970 00:00:00 GMT",value=""),angular.isString(expires)&&(expires=new Date(expires));var str=encodeURIComponent(name)+"="+encodeURIComponent(value);str+=path?";path="+path:"",str+=options.domain?";domain="+options.domain:"",str+=expires?";expires="+expires.toUTCString():"";var cookieLength=(str+=options.secure?";secure":"").length+1;return cookieLength>4096&&$log.warn("Cookie '"+name+"' possibly not set or overflowed because it was too large ("+cookieLength+" > 4096 bytes)!"),str}var cookiePath=$browser.baseHref(),rawDocument=$document[0];return function(name,value,options){rawDocument.cookie=buildCookieString(name,value,options)}}angular.module("ngCookies",["ng"]).provider("$cookies",[function(){function calcOptions(options){return options?angular.extend({},defaults,options):defaults}var defaults=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function($$cookieReader,$$cookieWriter){return{get:function(key){return $$cookieReader()[key]},getObject:function(key){var value=this.get(key);return value?angular.fromJson(value):value},getAll:function(){return $$cookieReader()},put:function(key,value,options){$$cookieWriter(key,value,calcOptions(options))},putObject:function(key,value,options){this.put(key,angular.toJson(value),options)},remove:function(key,options){$$cookieWriter(key,undefined,calcOptions(options))}}}]}]),angular.module("ngCookies").factory("$cookieStore",["$cookies",function($cookies){return{get:function(key){return $cookies.getObject(key)},put:function(key,value){$cookies.putObject(key,value)},remove:function(key){$cookies.remove(key)}}}]),$$CookieWriter.$inject=["$document","$log","$browser"],angular.module("ngCookies").provider("$$cookieWriter",function(){this.$get=$$CookieWriter})}(window,window.angular),function(window,angular){"use strict";function ngMessageDirectiveFactory(){function contains(collection,key){if(collection)return isArray(collection)?collection.indexOf(key)>=0:collection.hasOwnProperty(key)}return["$animate",function($animate){return{restrict:"AE",transclude:"element",priority:1,terminal:!0,require:"^^ngMessages",link:function(scope,element,attrs,ngMessagesCtrl,$transclude){var records,currentElement,messageCtrl,commentNode=element[0],staticExp=attrs.ngMessage||attrs.when,dynamicExp=attrs.ngMessageExp||attrs.whenExp,assignRecords=function(items){records=items?isArray(items)?items:items.split(/[\s,]+/):null,ngMessagesCtrl.reRender()};dynamicExp?(assignRecords(scope.$eval(dynamicExp)),scope.$watchCollection(dynamicExp,assignRecords)):assignRecords(staticExp),ngMessagesCtrl.register(commentNode,messageCtrl={test:function(name){return contains(records,name)},attach:function(){currentElement||$transclude(scope,function(elm){$animate.enter(elm,null,element);var $$attachId=(currentElement=elm).$$attachId=ngMessagesCtrl.getAttachId();currentElement.on("$destroy",function(){currentElement&&currentElement.$$attachId===$$attachId&&(ngMessagesCtrl.deregister(commentNode),messageCtrl.detach())})})},detach:function(){if(currentElement){var elm=currentElement;currentElement=null,$animate.leave(elm)}}})}}}]}var isArray=angular.isArray,forEach=angular.forEach,isString=angular.isString,jqLite=angular.element;angular.module("ngMessages",[]).directive("ngMessages",["$animate",function($animate){function isAttrTruthy(scope,attr){return isString(attr)&&0===attr.length||truthy(scope.$eval(attr))}function truthy(val){return isString(val)?val.length:!!val}var ACTIVE_CLASS="ng-active",INACTIVE_CLASS="ng-inactive";return{require:"ngMessages",restrict:"AE",controller:["$element","$scope","$attrs",function($element,$scope,$attrs){function findPreviousMessage(parent,comment){for(var prevNode=comment,parentLookup=[];prevNode&&prevNode!==parent;){var prevKey=prevNode.$$ngMessageNode;if(prevKey&&prevKey.length)return messages[prevKey];prevNode.childNodes.length&&-1==parentLookup.indexOf(prevNode)?(parentLookup.push(prevNode),prevNode=prevNode.childNodes[prevNode.childNodes.length-1]):prevNode=prevNode.previousSibling||prevNode.parentNode}}function insertMessageNode(parent,comment,key){var messageNode=messages[key];if(ctrl.head){var match=findPreviousMessage(parent,comment);match?(messageNode.next=match.next,match.next=messageNode):(messageNode.next=ctrl.head,ctrl.head=messageNode)}else ctrl.head=messageNode}function removeMessageNode(parent,comment,key){var messageNode=messages[key],match=findPreviousMessage(parent,comment);match?match.next=messageNode.next:ctrl.head=messageNode.next}var ctrl=this,latestKey=0,nextAttachId=0;this.getAttachId=function(){return nextAttachId++};var renderLater,cachedCollection,messages=this.messages={};this.render=function(collection){renderLater=!1,cachedCollection=collection=collection||{};for(var multiple=isAttrTruthy($scope,$attrs.ngMessagesMultiple)||isAttrTruthy($scope,$attrs.multiple),unmatchedMessages=[],matchedKeys={},messageItem=ctrl.head,messageFound=!1,totalMessages=0;null!=messageItem;){totalMessages++;var messageCtrl=messageItem.message,messageUsed=!1;messageFound||forEach(collection,function(value,key){if(!messageUsed&&truthy(value)&&messageCtrl.test(key)){if(matchedKeys[key])return;matchedKeys[key]=!0,messageUsed=!0,messageCtrl.attach()}}),messageUsed?messageFound=!multiple:unmatchedMessages.push(messageCtrl),messageItem=messageItem.next}forEach(unmatchedMessages,function(messageCtrl){messageCtrl.detach()}),unmatchedMessages.length!==totalMessages?$animate.setClass($element,ACTIVE_CLASS,INACTIVE_CLASS):$animate.setClass($element,INACTIVE_CLASS,ACTIVE_CLASS)},$scope.$watchCollection($attrs.ngMessages||$attrs["for"],ctrl.render),this.reRender=function(){renderLater||(renderLater=!0,$scope.$evalAsync(function(){renderLater&&cachedCollection&&ctrl.render(cachedCollection)}))},this.register=function(comment,messageCtrl){var nextKey=latestKe
41y.toString();messages[nextKey]={message:messageCtrl},insertMessageNode($element[0],comment,nextKey),comment.$$ngMessageNode=nextKey,latestKey++,ctrl.reRender()},this.deregister=function(comment){var key=comment.$$ngMessageNode;delete comment.$$ngMessageNode,removeMessageNode($element[0],comment,key),delete messages[key],ctrl.reRender()}}]}}]).directive("ngMessagesInclude",["$templateRequest","$document","$compile",function($templateRequest,$document,$compile){return{restrict:"AE",require:"^^ngMessages",link:function($scope,element,attrs){var src=attrs.ngMessagesInclude||attrs.src;$templateRequest(src).then(function(html){$compile(html)($scope,function(contents){element.after(contents);var anchor=jqLite($document[0].createComment(" ngMessagesInclude: "+src+" "));element.after(anchor),element.remove()})})}}}]).directive("ngMessage",ngMessageDirectiveFactory()).directive("ngMessageExp",ngMessageDirectiveFactory())}(window,window.angular),angular.module("checklist-model",[]).directive("checklistModel",["$parse","$compile",function($parse,$compile){function contains(arr,item,comparator){if(angular.isArray(arr))for(var i=arr.length;i--;)if(comparator(arr[i],item))return!0;return!1}function add(arr,item,comparator){return contains(arr=angular.isArray(arr)?arr:[],item,comparator)||arr.push(item),arr}function remove(arr,item,comparator){if(angular.isArray(arr))for(var i=arr.length;i--;)if(comparator(arr[i],item)){arr.splice(i,1);break}return arr}function postLinkFn(scope,elem,attrs){function setValueInChecklistModel(value,checked){var current=getter(scope.$parent);angular.isFunction(setter)&&setter(scope.$parent,!0===checked?add(current,value,comparator):remove(current,value,comparator))}function setChecked(newArr){checklistBeforeChange&&!1===checklistBeforeChange(scope)?setValueInChecklistModel(value,scope[attrs.ngModel]):scope[attrs.ngModel]=contains(newArr,value,comparator)}var checklistModel=attrs.checklistModel;attrs.$set("checklistModel",null),$compile(elem)(scope),attrs.$set("checklistModel",checklistModel);var getter=$parse(checklistModel),setter=getter.assign,checklistChange=$parse(attrs.checklistChange),checklistBeforeChange=$parse(attrs.checklistBeforeChange),value=attrs.checklistValue?$parse(attrs.checklistValue)(scope.$parent):attrs.value,comparator=angular.equals;if(attrs.hasOwnProperty("checklistComparator"))if("."==attrs.checklistComparator[0]){var comparatorExpression=attrs.checklistComparator.substring(1);comparator=function(a,b){return a[comparatorExpression]===b[comparatorExpression]}}else comparator=$parse(attrs.checklistComparator)(scope.$parent);scope.$watch(attrs.ngModel,function(newValue,oldValue){newValue!==oldValue&&(checklistBeforeChange&&!1===checklistBeforeChange(scope)?scope[attrs.ngModel]=contains(getter(scope.$parent),value,comparator):(setValueInChecklistModel(value,newValue),checklistChange&&checklistChange(scope)))}),angular.isFunction(scope.$parent.$watchCollection)?scope.$parent.$watchCollection(checklistModel,setChecked):scope.$parent.$watch(checklistModel,setChecked,!0)}return{restrict:"A",priority:1e3,terminal:!0,scope:!0,compile:function(tElement,tAttrs){if(("INPUT"!==tElement[0].tagName||"checkbox"!==tAttrs.type)&&"MD-CHECKBOX"!==tElement[0].tagName&&!tAttrs.btnCheckbox)throw'checklist-model should be applied to `input[type="checkbox"]` or `md-checkbox`.';if(!tAttrs.checklistValue&&!tAttrs.value)throw"You should provide `value` or `checklist-value`.";return tAttrs.ngModel||tAttrs.$set("ngModel","checked"),postLinkFn}}}]),
42/*
43
44  Harvey, A Second Face for Your Application's JavaScript
45
46  Copyright 2012, Joschka Kintscher
47  Released under the MIT License
48
49  https://github.com/harvesthq/harvey/
50*/
51function(){var State,_mediaQueryList;this.Harvey=function(){function Harvey(){}return Harvey.states={},Harvey.attach=function(mediaQuery,callbacks){var state;return this.states.hasOwnProperty(mediaQuery)||(this.states[mediaQuery]=[],this._add_css_for(mediaQuery)),state=new State(mediaQuery,null!=callbacks?callbacks.setup:void 0,null!=callbacks?callbacks.on:void 0,null!=callbacks?callbacks.off:void 0),this.states[mediaQuery].length||this._watch_query(mediaQuery),this.states[mediaQuery].push(state),this._window_matchmedia(mediaQuery).matches&&this._update_states([state],!0),state},Harvey.detach=function(state){var i,s,_i,_len,_ref,_results;for(_results=[],i=_i=0,_len=(_ref=this.states[state.condition]).length;_i<_len;i=++_i)state===(s=_ref[i])?_results.push(this.states[s.condition][i]=void 0):_results.push(void 0);return _results},Harvey._watch_query=function(mediaQuery){var _this=this;return this._window_matchmedia(mediaQuery).addListener(function(mql){return _this._update_states(_this.states[mediaQuery],mql.matches)})},Harvey._update_states=function(states,active){var state,_i,_len,_results;for(_results=[],_i=0,_len=states.length;_i<_len;_i++)state=states[_i],active?_results.push(state.activate()):_results.push(state.deactivate());return _results},Harvey._mediaList={},Harvey._window_matchmedia=function(mediaQuery){return window.matchMedia&&"addListener"in window.matchMedia("all")?(mediaQuery in this._mediaList||(this._mediaList[mediaQuery]=window.matchMedia(mediaQuery)),this._mediaList[mediaQuery]):(this._listening||this._listen(),mediaQuery in this._mediaList||(this._mediaList[mediaQuery]=new _mediaQueryList(mediaQuery)),this._mediaList[mediaQuery])},Harvey._listen=function(){var evt,_this=this;return(evt=window.addEventListener||window.attachEvent)("resize",function(){var mediaList,mediaQuery,_ref,_results;for(mediaQuery in _results=[],_ref=_this._mediaList)mediaList=_ref[mediaQuery],_results.push(mediaList._process());return _results}),evt("orientationChange",function(){var mediaList,mediaQuery,_ref,_results;for(mediaQuery in _results=[],_ref=_this._mediaList)mediaList=_ref[mediaQuery],_results.push(mediaList._process());return _results}),this._listening=!0},Harvey._add_css_for=function(mediaQuery){if(this.style||(this.style=document.createElement("style"),this.style.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(this.style)),mediaQuery="@media "+mediaQuery+" {.harvey-test{}}",!this.style.styleSheet)return this.style.appendChild(document.createTextNode(mediaQuery))},Harvey}(),State=function(){function State(condition,setup,on,off){this.condition=condition,this.setup=setup,this.on=on,this.off=off}return State.prototype.active=!1,State.prototype.is_setup=!1,State.prototype.activate=function(){if(!this.active)return this.is_setup||("function"==typeof this.setup&&this.setup(),this.is_setup=!0),"function"==typeof this.on&&this.on(),this.active=!0},State.prototype.deactivate=function(){if(this.active)return"function"==typeof this.off&&this.off(),this.active=!1},State}(),_mediaQueryList=function(){function _mediaQueryList(media){this.media=media,this._listeners=[],this.matches=this._matches()}return _mediaQueryList.prototype.addListener=function(listener){this._listeners.push(listener)},_mediaQueryList.prototype._process=function(){var callback,current,_i,_len,_ref,_results;if(current=this._matches(),this.matches!==current){for(this.matches=current,_results=[],_i=0,_len=(_ref=this._listeners).length;_i<_len;_i++)callback=_ref[_i],_results.push(callback(this));return _results}},_mediaQueryList.prototype._matches=function(){return this._tester||this._get_tester(),this._tester.innerHTML='&shy;<style media="'+this.media+'">#harvey-mq-test{width:42px;}</style>',this._tester.removeChild(this._tester.firstChild),42===this._tester.offsetWidth},_mediaQueryList.prototype._get_tester=function(){if(this._tester=document.getElementById("harvey-mq-test"),!this._tester)return this._build_tester()},_mediaQueryList.prototype._build_tester=function(){return this._tester=document.createElement("div"),this._tester.id="harvey-mq-test",this._tester.style.cssText="position:absolute;top:-100em",document.body.insertBefore(this._tester,document.body.firstChild)},_mediaQueryList}()}.call(this),function($){"use strict";var fold={init:function(element){var data={placeholder:document.createComment("jquery.fold placeholder")};$(element).before(data.placeholder),$(element).data("fold",data),$(element).detach()},methods:{restore:function(element){var $fold=$(element).data("fold");$($fold.placeholder).before(element).detach()}}};$.fn.fold=function(options){return fold.methods[options]?this.each(function(){fold.methods[options](this)}):this.each(function(){fold.init(this,options)})}}(jQuery),
52/**
53 * Copyright 2016 Google Inc. All Rights Reserved.
54 *
55 * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.
56 *
57 *  https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document
58 *
59 */
60function(window,document){"use strict";function IntersectionObserverEntry(entry){this.time=entry.time,this.target=entry.target,this.rootBounds=entry.rootBounds,this.boundingClientRect=entry.boundingClientRect,this.intersectionRect=entry.intersectionRect||getEmptyRect(),this.isIntersecting=!!entry.intersectionRect;var targetRect=this.boundingClientRect,targetArea=targetRect.width*targetRect.height,intersectionRect=this.intersectionRect,intersectionArea=intersectionRect.width*intersectionRect.height;this.intersectionRatio=targetArea?intersectionArea/targetArea:this.isIntersecting?1:0}function IntersectionObserver(callback,opt_options){var options=opt_options||{};if("function"!=typeof callback)throw new Error("callback must be a function");if(options.root&&1!=options.root.nodeType)throw new Error("root must be an Element");this._checkForIntersections=throttle(this._checkForIntersections.bind(this),this.THROTTLE_TIMEOUT),this._callback=callback,this._observationTargets=[],this._queuedEntries=[],this._rootMarginValues=this._parseRootMargin(options.rootMargin),this.thresholds=this._initThresholds(options.threshold),this.root=options.root||null,this.rootMargin=this._rootMarginValues.map(function(margin){return margin.value+margin.unit}).join(" ")}function now(){return window.performance&&performance.now&&performance.now()}function throttle(fn,timeout){var timer=null;return function(){timer||(timer=setTimeout(function(){fn(),timer=null},timeout))}}function addEvent(node,event,fn,opt_useCapture){"function"==typeof node.addEventListener?node.addEventListener(event,fn,opt_useCapture||!1):"function"==typeof node.attachEvent&&node.attachEvent("on"+event,fn)}function removeEvent(node,event,fn,opt_useCapture){"function"==typeof node.removeEventListener?node.removeEventListener(event,fn,opt_useCapture||!1):"function"==typeof node.detatchEvent&&node.detatchEvent("on"+event,fn)}function computeRectIntersection(rect1,rect2){var top=Math.max(rect1.top,rect2.top),bottom=Math.min(rect1.bottom,rect2.bottom),left=Math.max(rect1.left,rect2.left),right=Math.min(rect1.right,rect2.right),width=right-left,height=bottom-top;return width>=0&&height>=0&&{top:top,bottom:bottom,left:left,right:right,width:width,height:height}}function getBoundingClientRect(el){var rect;try{rect=el.getBoundingClientRect()}catch(err){}
60return rect?(rect.width&&rect.height||(rect={top:rect.top,right:rect.right,bottom:rect.bottom,left:rect.left,width:rect.right-rect.left,height:rect.bottom-rect.top}),rect):getEmptyRect()}function getEmptyRect(){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}function containsDeep(parent,child){for(var node=child;node;){if(node==parent)return!0;node=getParentNode(node)}return!1}function getParentNode(node){var parent=node.parentNode;return parent&&11==parent.nodeType&&parent.host?parent.host:parent}if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var registry=[];IntersectionObserver.prototype.THROTTLE_TIMEOUT=100,IntersectionObserver.prototype.POLL_INTERVAL=null,IntersectionObserver.prototype.USE_MUTATION_OBSERVER=!0,IntersectionObserver.prototype.observe=function(target){if(!this._observationTargets.some(function(item){return item.element==target})){if(!target||1!=target.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:target,entry:null}),this._monitorIntersections(),this._checkForIntersections()}},IntersectionObserver.prototype.unobserve=function(target){this._observationTargets=this._observationTargets.filter(function(item){return item.element!=target}),this._observationTargets.length||(this._unmonitorIntersections(),this._unregisterInstance())},IntersectionObserver.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorIntersections(),this._unregisterInstance()},IntersectionObserver.prototype.takeRecords=function(){var records=this._queuedEntries.slice();return this._queuedEntries=[],records},IntersectionObserver.prototype._initThresholds=function(opt_threshold){var threshold=opt_threshold||[0];return Array.isArray(threshold)||(threshold=[threshold]),threshold.sort().filter(function(t,i,a){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==a[i-1]})},IntersectionObserver.prototype._parseRootMargin=function(opt_rootMargin){var margins=(opt_rootMargin||"0px").split(/\s+/).map(function(margin){var parts=/^(-?\d*\.?\d+)(px|%)$/.exec(margin);if(!parts)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(parts[1]),unit:parts[2]}});return margins[1]=margins[1]||margins[0],margins[2]=margins[2]||margins[0],margins[3]=margins[3]||margins[1],margins},IntersectionObserver.prototype._monitorIntersections=function(){this._monitoringIntersections||(this._monitoringIntersections=!0,this.POLL_INTERVAL?this._monitoringInterval=setInterval(this._checkForIntersections,this.POLL_INTERVAL):(addEvent(window,"resize",this._checkForIntersections,!0),addEvent(document,"scroll",this._checkForIntersections,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in window&&(this._domObserver=new MutationObserver(this._checkForIntersections),this._domObserver.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0}))))},IntersectionObserver.prototype._unmonitorIntersections=function(){this._monitoringIntersections&&(this._monitoringIntersections=!1,clearInterval(this._monitoringInterval),this._monitoringInterval=null,removeEvent(window,"resize",this._checkForIntersections,!0),removeEvent(document,"scroll",this._checkForIntersections,!0),this._domObserver&&(this._domObserver.disconnect(),this._domObserver=null))},IntersectionObserver.prototype._checkForIntersections=function(){var rootIsInDom=this._rootIsInDom(),rootRect=rootIsInDom?this._getRootRect():getEmptyRect();this._observationTargets.forEach(function(item){var target=item.element,targetRect=getBoundingClientRect(target),rootContainsTarget=this._rootContainsTarget(target),oldEntry=item.entry,intersectionRect=rootIsInDom&&rootContainsTarget&&this._computeTargetAndRootIntersection(target,rootRect),newEntry=item.entry=new IntersectionObserverEntry({time:now(),target:target,boundingClientRect:targetRect,rootBounds:rootRect,intersectionRect:intersectionRect});oldEntry?rootIsInDom&&rootContainsTarget?this._hasCrossedThreshold(oldEntry,newEntry)&&this._queuedEntries.push(newEntry):oldEntry&&oldEntry.isIntersecting&&this._queuedEntries.push(newEntry):this._queuedEntries.push(newEntry)},this),this._queuedEntries.length&&this._callback(this.takeRecords(),this)},IntersectionObserver.prototype._computeTargetAndRootIntersection=function(target,rootRect){if("none"!=window.getComputedStyle(target).display){for(var intersectionRect=getBoundingClientRect(target),parent=getParentNode(target),atRoot=!1;!atRoot;){var parentRect=null,parentComputedStyle=1==parent.nodeType?window.getComputedStyle(parent):{};if("none"==parentComputedStyle.display)return;if(parent==this.root||parent==document?(atRoot=!0,parentRect=rootRect):parent!=document.body&&parent!=document.documentElement&&"visible"!=parentComputedStyle.overflow&&(parentRect=getBoundingClientRect(parent)),parentRect&&!(intersectionRect=computeRectIntersection(parentRect,intersectionRect)))break;parent=getParentNode(parent)}return intersectionRect}},IntersectionObserver.prototype._getRootRect=function(){var rootRect;if(this.root)rootRect=getBoundingClientRect(this.root);else{var html=document.documentElement,body=document.body;rootRect={top:0,left:0,right:html.clientWidth||body.clientWidth,width:html.clientWidth||body.clientWidth,bottom:html.clientHeight||body.clientHeight,height:html.clientHeight||body.clientHeight}}return this._expandRectByRootMargin(rootRect)},IntersectionObserver.prototype._expandRectByRootMargin=function(rect){var margins=this._rootMarginValues.map(function(margin,i){return"px"==margin.unit?margin.value:margin.value*(i%2?rect.width:rect.height)/100}),newRect={top:rect.top-margins[0],right:rect.right+margins[1],bottom:rect.bottom+margins[2],left:rect.left-margins[3]};return newRect.width=newRect.right-newRect.left,newRect.height=newRect.bottom-newRect.top,newRect},IntersectionObserver.prototype._hasCrossedThreshold=function(oldEntry,newEntry){var oldRatio=oldEntry&&oldEntry.isIntersecting?oldEntry.intersectionRatio||0:-1,newRatio=newEntry.isIntersecting?newEntry.intersectionRatio||0:-1;if(oldRatio!==newRatio)for(var i=0;i<this.thresholds.length;i++){var threshold=this.thresholds[i];if(threshold==oldRatio||threshold==newRatio||threshold<oldRatio!=threshold<newRatio)return!0}},IntersectionObserver.prototype._rootIsInDom=function(){return!this.root||containsDeep(document,this.root)},IntersectionObserver.prototype._rootContainsTarget=function(target){return containsDeep(this.root||document,target)},IntersectionObserver.prototype._registerInstance=function(){registry.indexOf(this)<0&&registry.push(this)},IntersectionObserver.prototype._unregisterInstance=function(){var index=registry.indexOf(this);-1!=index&&registry.splice(index,1)},window.IntersectionObserver=IntersectionObserver,window.IntersectionObserverEntry=IntersectionObserverEntry}}(window,document),angular.module("mgcrea.ngStrap.core",[]).service("$bsCompiler",bsCompilerService),bsCompilerService.$inject=["$q","$http","$injector","$compile","$controller","$templateCache"],angular.module("mgcrea.ngStrap.helpers.dimensions",[]).factory("dimensions",["$document","$window",function(){angular.element;var fn={},nodeName=fn.nodeName=function(element,name){return element.nodeName&&element.nodeName.toLowerCase()===name.toLowerCase()};fn.css=function(element,prop,extra){var value;return value=element.currentStyle?element.currentStyle[prop]:window.getComputedStyle?window.getComputedStyle(element)[prop]:element.style[prop],!0===extra?parseFloat(value)||0:value},fn.offset=function(element){var boxRect=element.getBoundingClientRect(),docElement=element.ownerDocument;return{width:boxRect.width||element.offsetWidth,height:boxRect.height||element.offsetHeight,top:boxRect.top+(window.pageYOffset||docElement.documentElement.scrollTop)-(docElement.documentElement.clientTop||0),left
60:boxRect.left+(window.pageXOffset||docElement.documentElement.scrollLeft)-(docElement.documentElement.clientLeft||0)}},fn.setOffset=function(element,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,position=fn.css(element,"position"),curElem=angular.element(element),props={};"static"===position&&(element.style.position="relative"),curOffset=fn.offset(element),curCSSTop=fn.css(element,"top"),curCSSLeft=fn.css(element,"left"),("absolute"===position||"fixed"===position)&&(curCSSTop+curCSSLeft).indexOf("auto")>-1?(curTop=(curPosition=fn.position(element)).top,curLeft=curPosition.left):(curTop=parseFloat(curCSSTop)||0,curLeft=parseFloat(curCSSLeft)||0),angular.isFunction(options)&&(options=options.call(element,i,curOffset)),null!==options.top&&(props.top=options.top-curOffset.top+curTop),null!==options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(curElem,props):curElem.css({top:props.top+"px",left:props.left+"px"})},fn.position=function(element){var offsetParentElement,offset,offsetParentRect={top:0,left:0};return"fixed"===fn.css(element,"position")?offset=element.getBoundingClientRect():(offsetParentElement=offsetParent(element),offset=fn.offset(element),nodeName(offsetParentElement,"html")||(offsetParentRect=fn.offset(offsetParentElement)),offsetParentRect.top+=fn.css(offsetParentElement,"borderTopWidth",!0),offsetParentRect.left+=fn.css(offsetParentElement,"borderLeftWidth",!0)),{width:element.offsetWidth,height:element.offsetHeight,top:offset.top-offsetParentRect.top-fn.css(element,"marginTop",!0),left:offset.left-offsetParentRect.left-fn.css(element,"marginLeft",!0)}};var offsetParent=function(element){var docElement=element.ownerDocument,offsetParent=element.offsetParent||docElement;if(nodeName(offsetParent,"#document"))return docElement.documentElement;for(;offsetParent&&!nodeName(offsetParent,"html")&&"static"===fn.css(offsetParent,"position");)offsetParent=offsetParent.offsetParent;return offsetParent||docElement.documentElement};return fn.height=function(element,outer){var value=element.offsetHeight;return outer?value+=fn.css(element,"marginTop",!0)+fn.css(element,"marginBottom",!0):value-=fn.css(element,"paddingTop",!0)+fn.css(element,"paddingBottom",!0)+fn.css(element,"borderTopWidth",!0)+fn.css(element,"borderBottomWidth",!0),value},fn.width=function(element,outer){var value=element.offsetWidth;return outer?value+=fn.css(element,"marginLeft",!0)+fn.css(element,"marginRight",!0):value-=fn.css(element,"paddingLeft",!0)+fn.css(element,"paddingRight",!0)+fn.css(element,"borderLeftWidth",!0)+fn.css(element,"borderRightWidth",!0),value},fn}]),angular.module("mgcrea.ngStrap.modal",["mgcrea.ngStrap.core","mgcrea.ngStrap.helpers.dimensions"]).provider("$modal",function(){var defaults=this.defaults={animation:"am-fade",backdropAnimation:"am-fade",prefixClass:"modal",prefixEvent:"modal",placement:"top",templateUrl:"modal/modal.tpl.html",template:"",contentTemplate:!1,container:!1,element:null,backdrop:!0,keyboard:!0,html:!1,show:!0};this.$get=["$window","$rootScope","$bsCompiler","$animate","$timeout","$sce","dimensions",function($window,$rootScope,$bsCompiler,$animate,$timeout,$sce){function ModalFactory(config){function enterAnimateCallback(){scope.$emit(options.prefixEvent+".show",$modal)}function leaveAnimateCallback(){scope.$emit(options.prefixEvent+".hide",$modal),bodyElement.removeClass(options.prefixClass+"-open"),options.animation&&bodyElement.removeClass(options.prefixClass+"-with-"+options.animation)}function bindBackdropEvents(){options.backdrop&&(modalElement.on("click",hideOnBackdropClick),backdropElement.on("click",hideOnBackdropClick),backdropElement.on("wheel",preventEventDefault))}function unbindBackdropEvents(){options.backdrop&&(modalElement.off("click",hideOnBackdropClick),backdropElement.off("click",hideOnBackdropClick),backdropElement.off("wheel",preventEventDefault))}function bindKeyboardEvents(){options.keyboard&&modalElement.on("keyup",$modal.$onKeyUp)}function unbindKeyboardEvents(){options.keyboard&&modalElement.off("keyup",$modal.$onKeyUp)}function hideOnBackdropClick(evt){evt.target===evt.currentTarget&&("static"===options.backdrop?$modal.focus():$modal.hide())}function preventEventDefault(evt){evt.preventDefault()}function destroyModalElement(){$modal.$isShown&&null!==modalElement&&(unbindBackdropEvents(),unbindKeyboardEvents()),modalScope&&(modalScope.$destroy(),modalScope=null),modalElement&&(modalElement.remove(),modalElement=$modal.$element=null)}var compileData,modalElement,modalScope,$modal={},options=$modal.$options=angular.extend({},defaults,config),promise=$modal.$promise=$bsCompiler.compile(options),scope=$modal.$scope=options.scope&&options.scope.$new()||$rootScope.$new();options.element||options.container||(options.container="body"),$modal.$id=options.id||options.element&&options.element.attr("id")||"",forEach(["title","content"],function(key){options[key]&&(scope[key]=$sce.trustAsHtml(
60options[key]))}),scope.$hide=function(){scope.$$postDigest(function(){$modal.hide()})},scope.$show=function(){scope.$$postDigest(function(){$modal.show()})},scope.$toggle=function(){scope.$$postDigest(function(){$modal.toggle()})},$modal.$isShown=scope.$isShown=!1;var backdropElement=angular.element('<div class="'+options.prefixClass+'-backdrop"/>');return backdropElement.css({position:"fixed",top:"0px",left:"0px",bottom:"0px",right:"0px"}),promise.then(function(data){compileData=data,$modal.init()}),$modal.init=function(){options.show&&scope.$$postDigest(function(){$modal.show()})},$modal.destroy=function(){destroyModalElement(),backdropElement&&(backdropElement.remove(),backdropElement=null),scope.$destroy()},$modal.show=function(){var parent,after;if(!$modal.$isShown&&(angular.isElement(options.container)?(parent=options.container,after=options.container[0].lastChild?angular.element(options.container[0].lastChild):null):options.container?after=(parent=findElement(options.container))[0]&&parent[0].lastChild?angular.element(parent[0].lastChild):null:(parent=null,after=options.element),modalElement&&destroyModalElement(),modalScope=$modal.$scope.$new(),modalElement=$modal.$element=compileData.link(modalScope,function(){}),options.backdrop&&(modalElement.css({"z-index":dialogBaseZindex+20*backdropCount}),backdropElement.css({"z-index":backdropBaseZindex+20*backdropCount}),backdropCount++),!scope.$emit(options.prefixEvent+".show.before",$modal).defaultPrevented)){modalElement.css({display:"block"}).addClass(options.placement),options.animation&&(options.backdrop&&backdropElement.addClass(options.backdropAnimation),modalElement.addClass(options.animation)),options.backdrop&&$animate.enter(backdropElement,bodyElement,null),angular.version.minor<=2?$animate.enter(modalElement,parent,after,enterAnimateCallback):$animate.enter(modalElement,parent,after).then(enterAnimateCallback),$modal.$isShown=scope.$isShown=!0,safeDigest(scope);var el=modalElement[0];requestAnimationFrame(function(){el.focus()}),bodyElement.addClass(options.prefixClass+"-open"),options.animation&&bodyElement.addClass(options.prefixClass+"-with-"+options.animation),bindBackdropEvents(),bindKeyboardEvents()}},$modal.hide=function(){$modal.$isShown&&(options.backdrop&&backdropCount--,scope.$emit(options.prefixEvent+".hide.before",$modal).defaultPrevented||(angular.version.minor<=2?$animate.leave(modalElement,leaveAnimateCallback):$animate.leave(modalElement).then(leaveAnimateCallback),options.backdrop&&$animate.leave(backdropElement),$modal.$isShown=scope.$isShown=!1,safeDigest(scope),unbindBackdropEvents(),unbindKeyboardEvents()))},$modal.toggle=function(){$modal.$isShown?$modal.hide():$modal.show()},$modal.focus=function(){modalElement[0].focus()},$modal.$onKeyUp=function(evt){27===evt.which&&$modal.$isShown&&($modal.hide(),evt.stopPropagation())},$modal}function safeDigest(scope){scope.$$phase||scope.$root&&scope.$root.$$phase||scope.$digest()}function findElement(query,element){return angular.element((element||document).querySelectorAll(query))}var forEach=angular.forEach,requestAnimationFrame=(String.prototype.trim,$window.requestAnimationFrame||$window.setTimeout),bodyElement=angular.element($window.document.body),backdropCount=0,dialogBaseZindex=1050,backdropBaseZindex=1040;return ModalFactory}]}).directive("bsModal",["$window","$sce","$modal",function($window,$sce,$modal){return{restrict:"EAC",scope:!0,link:function(scope,element,attr){var options={scope:scope,element:element,show:!1};angular.forEach(["template","templateUrl","controller","controllerAs","contentTemplate","placement","backdrop","keyboard","html","container","animation","backdropAnimation","id","prefixEvent","prefixClass"],function(key){angular.isDefined(attr[key])&&(options[key]=attr[key])});var falseValueRegExp=/^(false|0|)$/i;angular.forEach(["backdrop","keyboard","html","container"],function(key){angular.isDefined(attr[key])&&falseValueRegExp.test(attr[key])&&(options[key]=!1)}),angular.forEach(["title","content"],function(key){attr[key]&&attr.$observe(key,function(newValue){scope[key]=$sce.trustAsHtml(newValue)})}),attr.bsModal&&scope.$watch(attr.bsModal,function(newValue){angular.isObject(newValue)?angular.extend(scope,newValue):scope.content=newValue},!0);var modal=$modal(options);element.on(attr.trigger||"click",modal.toggle),scope.$on("$destroy",function(){modal&&modal.destroy(),options=null,modal=null})}}}]),angular.module("mgcrea.ngStrap.modal").run(["$templateCache",function($templateCache){$templateCache.put("modal/modal.tpl.html",'<div class="modal" tabindex="-1" role="dialog" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-header" ng-show="title"><button type="button" class="close" aria-label="Close" ng-click="$hide()"><span aria-hidden="true">&times;</span></button><h4 class="modal-title" ng-bind="title"></h4></div><div class="modal-body" ng-bind="content"></div><div class="modal-footer"><button type="button" class="btn btn-default" ng-click="$hide()">Close</button></div></div></div></div>')}]),angular.module("mgcrea.ngStrap.collapse",[]).provider("$collapse",function(){var defaults=this.defaults={animation:"am-collapse",disallowToggle:!1,activeClass:"in",startCollapsed:!1,allowMultiple:!1},controller=this.controller=function($scope,$element,$attrs){function fixActiveItemIndexes(index){for(var activeIndexes=self.$targets.$active,i=0;i<activeIndexes.length;i++)index<activeIndexes[i]&&(activeIndexes[i]=activeIndexes[i]-1),activeIndexes[i]===self.$targets.length&&(activeIndexes[i]=self.$targets.length-1)}function isActive(value){return-1!==self.$targets.$active.indexOf(value)}function deactivateItem(value){var index=self.$targets.$active.indexOf(value);-1!==index&&self.$targets.$active.splice(index,1)}function activateItem(value){self.$options.allowMultiple||self.$targets.$active.splice(0,1),-1===self.$targets.$active.indexOf(value)&&self.$targets.$active.push(value)}var self=this;self.$options=angular.copy(defaults),angular.forEach(["animation","disallowToggle","activeClass","startCollapsed","allowMultiple"],function(key){angular.isDefined($attrs[key])&&(self.$options[key]=$attrs[key])});var falseValueRegExp=/^(false|0|)$/i;angular.forEach(["disallowToggle","startCollapsed","allowMultiple"],function(key){angular.isDefined($attrs[key])&&falseValueRegExp.test($attrs[key])&&(self.$options[key]=!1)}),self.$toggles=[],self.$targets=[],self.$viewChangeListeners=[],self.$registerToggle=function(element){self.$toggles.push(element)},self.$registerTarget=function(element){self.$targets.push(element)},self.$unregisterToggle=function(element){var index=self.$toggles.indexOf(element);self.$toggles.splice(index,1)},self.$unregisterTarget=function(element){var index=self.$targets.indexOf(element);self.$targets.splice(index,1),self.$options.allowMultiple&&deactivateItem(element),fixActiveItemIndexes(index),self.$viewChangeListeners.forEac
60h(function(fn){fn()})},self.$targets.$active=self.$options.startCollapsed?[]:[0],self.$setActive=$scope.$setActive=function(value){angular.isArray(value)?self.$targets.$active=value:self.$options.disallowToggle?activateItem(value):isActive(value)?deactivateItem(value):activateItem(value),self.$viewChangeListeners.forEach(function(fn){fn()})},self.$activeIndexes=function(){return self.$options.allowMultiple?self.$targets.$active:1===self.$targets.$active.length?self.$targets.$active[0]:-1}};this.$get=function(){var $collapse={};return $collapse.defaults=defaults,$collapse.controller=controller,$collapse}}).directive("bsCollapse",["$window","$animate","$collapse",function($window,$animate,$collapse){$collapse.defaults;return{require:["?ngModel","bsCollapse"],controller:["$scope","$element","$attrs",$collapse.controller],link:function(scope,element,attrs,controllers){var ngModelCtrl=controllers[0],bsCollapseCtrl=controllers[1];ngModelCtrl&&(bsCollapseCtrl.$viewChangeListeners.push(function(){ngModelCtrl.$setViewValue(bsCollapseCtrl.$activeIndexes())}),ngModelCtrl.$formatters.push(function(modelValue){if(angular.isArray(modelValue))bsCollapseCtrl.$setActive(modelValue);else{var activeIndexes=bsCollapseCtrl.$activeIndexes();angular.isArray(activeIndexes)?-1===activeIndexes.indexOf(1*modelValue)&&bsCollapseCtrl.$setActive(1*modelValue):activeIndexes!==1*modelValue&&bsCollapseCtrl.$setActive(1*modelValue)}return modelValue}))}}}]).directive("bsCollapseToggle",function(){return{require:["^?ngModel","^bsCollapse"],link:function(scope,element,attrs,controllers){controllers[0];var bsCollapseCtrl=controllers[1];element.attr("data-toggle","collapse"),bsCollapseCtrl.$registerToggle(element),scope.$on("$destroy",function(){bsCollapseCtrl.$unregisterToggle(element)}),element.on("click",function(){var index=attrs.bsCollapseToggle&&"bs-collapse-toggle"!==attrs.bsCollapseToggle?attrs.bsCollapseToggle:bsCollapseCtrl.$toggles.indexOf(element);bsCollapseCtrl.$setActive(1*index),scope.$apply()})}}}).directive("bsCollapseTarget",["$animate",function($animate){return{require:["^?ngModel","^bsCollapse"],link:function(scope,element,attrs,controllers){function render(){var index=bsCollapseCtrl.$targets.indexOf(element),active=bsCollapseCtrl.$activeIndexes(),action="removeClass";angular.isArray(active)?-1!==active.indexOf(index)&&(action="addClass"):index===active&&(action="addClass"),$animate[action](element,bsCollapseCtrl.$options.activeClass)}controllers[0];var bsCollapseCtrl=controllers[1];element.addClass("collapse"),bsCollapseCtrl.$options.animation&&element.addClass(bsCollapseCtrl.$options.animation),bsCollapseCtrl.$registerTarget(element),scope.$on("$destroy",function(){bsCollapseCtrl.$unregisterTarget(element)}),bsCollapseCtrl.$viewChangeListeners.push(function(){render()}),render()}}}]),angular.module("mgcrea.ngStrap.typeahead",["mgcrea.ngStrap.tooltip","mgcrea.ngStrap.helpers.parseOptions"]).provider("$typeahead",function(){var defaults=this.defaults={animation:"am-fade",prefixClass:"typeahead",prefixEvent:"$typeahead",placement:"bottom-left",templateUrl:"typeahead/typeahead.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,minLength:1,filter:"bsAsyncFilter",limit:6,autoSelect:!1,comparator:"",trimValue:!0};this.$get=["$window","$rootScope","$tooltip","$$rAF","$timeout",function($window,$rootScope,$tooltip,$$rAF,$timeout){function TypeaheadFactory(element,controller,config){var $typeahead={},options=angular.extend({},defaults,config);$typeahead=$tooltip(element,options);var parentScope=config.scope,scope=$typeahead.$scope;scope.$resetMatches=function(){scope.$matches=[],scope.$activeIndex=options.autoSelect?0:-1},scope.$resetMatches(),scope.$activate=function(index){scope.$$postDigest(function(){$typeahead.activate(index)})},scope.$select=function(index){scope.$$postDigest(function(){$typeahead.select(index)})},scope.$isVisible=function(){return $typeahead.$isVisible()},$typeahead.update=function(matches){scope.$matches=matches,scope.$activeIndex>=matches.length&&(scope.$activeIndex=options.autoSelect?0:-1),safeDigest(scope),$$rAF($typeahead.$applyPlacement)},$typeahead.activate=function(index){scope.$activeIndex=index}
60,$typeahead.select=function(index){if(-1!==index){var value=scope.$matches[index].value;controller.$setViewValue(value),controller.$render(),scope.$resetMatches(),parentScope&&parentScope.$digest(),scope.$emit(options.prefixEvent+".select",value,index,$typeahead)}},$typeahead.$isVisible=function(){return options.minLength&&controller?scope.$matches.length&&angular.isString(controller.$viewValue)&&controller.$viewValue.length>=options.minLength:!!scope.$matches.length},$typeahead.$getIndex=function(value){var l=scope.$matches.length,i=l;if(l){for(i=l;i--&&scope.$matches[i].value!==value;);if(!(i<0))return i}},$typeahead.$onMouseDown=function(evt){evt.preventDefault(),evt.stopPropagation()},$typeahead.$onKeyDown=function(evt){/(38|40|13)/.test(evt.keyCode)&&(!$typeahead.$isVisible()||13===evt.keyCode&&-1===scope.$activeIndex||(evt.preventDefault(),evt.stopPropagation()),13===evt.keyCode&&scope.$matches.length?$typeahead.select(scope.$activeIndex):38===evt.keyCode&&scope.$activeIndex>0?scope.$activeIndex--:40===evt.keyCode&&scope.$activeIndex<scope.$matches.length-1?scope.$activeIndex++:angular.isUndefined(scope.$activeIndex)&&(scope.$activeIndex=0),scope.$digest())};var show=$typeahead.show;$typeahead.show=function(){show(),$timeout(function(){$typeahead.$element&&$typeahead.$element.on("mousedown",$typeahead.$onMouseDown),options.keyboard&&element&&element.on("keydown",$typeahead.$onKeyDown)},0,!1)};var hide=$typeahead.hide;return $typeahead.hide=function(){$typeahead.$element&&$typeahead.$element.off("mousedown",$typeahead.$onMouseDown),options.keyboard&&element&&element.off("keydown",$typeahead.$onKeyDown),options.autoSelect||$typeahead.activate(-1),hide()},$typeahead}function safeDigest(scope){scope.$$phase||scope.$root&&scope.$root.$$phase||scope.$digest()}angular.element($window.document.body);return TypeaheadFactory.defaults=defaults,TypeaheadFactory}]}).filter("bsAsyncFilter",["$filter",function($filter){return function(array,expression,comparator){return array&&angular.isFunction(array.then)?array.then(function(results){return $filter("filter")(results,expression,comparator)}):$filter("filter")(array,expression,comparator)}}]).directive("bsTypeahead",["$window","$parse","$q","$typeahead","$parseOptions",function($window,$parse,$q,$typeahead,$parseOptions){var defaults=$typeahead.defaults;return{restrict:"EAC",require:"ngModel",link:function(scope,element,attr,controller){var options={scope:scope};angular.forEach(["template","templateUrl","controller","controllerAs","placement","container","delay","trigger","keyboard","html","animation","filter","limit","minLength","watchOptions","selectMode","autoSelect","comparator","id","prefixEvent","prefixClass"],function(key){angular.isDefined(attr[key])&&(options[key]=attr[key])});var falseValueRegExp=/^(false|0|)$/i;angular.forEach(["html","container","trimValue"],function(key){angular.isDefined(attr[key])&&falseValueRegExp.test(attr[key])&&(options[key]=!1)}),element.attr("autocomplete","false");var filter=options.filter||defaults.filter,limit=options.limit||defaults.limit,comparator=options.comparator||defaults.comparator,bsOptions=attr.bsOptions;filter&&(bsOptions+=" | "+filter+":$viewValue"),comparator&&(bsOptions+=":"+comparator),limit&&(bsOptions+=" | limitTo:"+limit);var parsedOptions=$parseOptions(bsOptions),typeahead=$typeahead(element,controller,options);if(options.watchOptions){var watchedOptions=parsedOptions.$match[7].replace(/\|.+/,"").replace(/\(.*\)/g,"").trim();scope.$watchCollection(watchedOptions,function(){parsedOptions.valuesFn(scope,controller).then(function(values){typeahead.update(values),controller.$render()})})}scope.$watch(attr.ngModel,function(newValue){scope.$modelValue=newValue,parsedOptions.valuesFn(scope,controller).then(function(values){if(options.selectMode&&!values.length&&newValue.length>0)controller.$setViewValue(controller.$viewValue.substring(0,controller.$viewValue.length-1));else{values.length>limit&&(values=values.slice(0,limit));var isVisible=typeahead.$isVisible();isVisible&&typeahead.update(values),1===values.length&&values[0].value===newValue||(!isVisible&&typeahead.update(values),controller.$render())}})}),controller.$formatters.push(function(modelValue){var displayValue=parsedOptions.displayValue(modelValue);
60return displayValue||(modelValue&&"object"!=typeof modelValue?modelValue:"")}),controller.$render=function(){if(controller.$isEmpty(controller.$viewValue))return element.val("");var index=typeahead.$getIndex(controller.$modelValue),selected=angular.isDefined(index)?typeahead.$scope.$matches[index].label:controller.$viewValue,value=(selected=angular.isObject(selected)?parsedOptions.displayValue(selected):selected)?selected.toString().replace(/<(?:.|\n)*?>/gm,""):"";element.val(!1===options.trimValue?value:value.trim())},scope.$on("$destroy",function(){typeahead&&typeahead.destroy(),options=null,typeahead=null})}}}]),angular.module("mgcrea.ngStrap.typeahead").run(["$templateCache",function($templateCache){$templateCache.put("typeahead/typeahead.tpl.html",'<ul tabindex="-1" class="typeahead dropdown-menu" ng-show="$isVisible()" role="select"><li role="presentation" ng-repeat="match in $matches" ng-class="{active: $index == $activeIndex}"><a role="menuitem" tabindex="-1" ng-click="$select($index, $event)" ng-bind="match.label"></a></li></ul>')}]),angular.module("mgcrea.ngStrap.tooltip",["mgcrea.ngStrap.core","mgcrea.ngStrap.helpers.dimensions"]).provider("$tooltip",function(){var defaults=this.defaults={animation:"am-fade",customClass:"",prefixClass:"tooltip",prefixEvent:"tooltip",container:!1,target:!1,placement:"top",templateUrl:"tooltip/tooltip.tpl.html",template:"",contentTemplate:!1,trigger:"hover focus",keyboard:!1,html:!1,show:!1,title:"",type:"",delay:0,autoClose:!1,bsEnabled:!0,viewport:{selector:"body",padding:0}};this.$get=["$window","$rootScope","$bsCompiler","$q","$templateCache","$http","$animate","$sce","dimensions","$$rAF","$timeout",function($window,$rootScope,$bsCompiler,$q,$templateCache,$http,$animate,$sce,dimensions,$$rAF,$timeout){function TooltipFactory(element,config){function enterAnimateCallback(){
61scope.$emit(options.prefixEvent+".show",$tooltip)}function leaveAnimateCallback(){if(scope.$emit(options.prefixEvent+".hide",$tooltip),tipElement===_tipToHide){if(_blur&&"focus"===options.trigger)return element[0].blur();destroyTipElement()}}function bindTriggerEvents(){var triggers=options.trigger.split(" ");angular.forEach(triggers,function(trigger){"click"===trigger?element.on("click",$tooltip.toggle):"manual"!==trigger&&(element.on("hover"===trigger?"mouseenter":"focus",$tooltip.enter),element.on("hover"===trigger?"mouseleave":"blur",$tooltip.leave),"button"===nodeName&&"hover"!==trigger&&element.on(isTouch?"touchstart":"mousedown",$tooltip.$onFocusElementMouseDown))})}function unbindTriggerEvents(){for(var triggers=options.trigger.split(" "),i=triggers.length;i--;){var trigger=triggers[i];"click"===trigger?element.off("click",$tooltip.toggle):"manual"!==trigger&&(element.off("hover"===trigger?"mouseenter":"focus",$tooltip.enter),element.off("hover"===trigger?"mouseleave":"blur",$tooltip.leave),"button"===nodeName&&"hover"!==trigger&&element.off(isTouch?"touchstart":"mousedown",$tooltip.$onFocusElementMouseDown))}}function bindKeyboardEvents(){"focus"!==options.trigger?tipElement.on("keyup",$tooltip.$onKeyUp):element.on("keyup",$tooltip.$onFocusKeyUp)}function unbindKeyboardEvents(){"focus"!==options.trigger?tipElement.off("keyup",$tooltip.$onKeyUp):element.off("keyup",$tooltip.$onFocusKeyUp)}function bindAutoCloseEvents(){$timeout(function(){tipElement.on("click",stopEventPropagation),$body.on("click",$tooltip.hide),_autoCloseEventsBinded=!0},0,!1)}function unbindAutoCloseEvents(){_autoCloseEventsBinded&&(tipElement.off("click",stopEventPropagation),$body.off("click",$tooltip.hide),_autoCloseEventsBinded=!1)}function stopEventPropagation(event){event.stopPropagation()}function getPosition($element){var el=($element=$element||options.target||element)[0],isBody="BODY"===el.tagName,elRect=el.getBoundingClientRect(),rect={};for(var p in elRect)rect[p]=elRect[p];null===rect.width&&(rect=angular.extend({},rect,{width:elRect.right-elRect.left,height:elRect.bottom-elRect.top}));var elOffset=isBody?{top:0,left:0}:dimensions.offset(el),scroll={scroll:isBody?document.documentElement.scrollTop||document.body.scrollTop:$element.prop("scrollTop")||0},outerDims=isBody?{width:document.documentElement.clientWidth,height:$window.innerHeight}:null;return angular.extend({},rect,scroll,outerDims,elOffset)}function getCalculatedOffset(placement,position,actualWidth,actualHeight){var offset,split=placement.split("-");switch(split[0]){case"right":offset={top:position.top+position.height/2-actualHeight/2,left:position.left+position.width};break;case"bottom":offset={top:position.top+position.height,left:position.left+position.width/2-actualWidth/2};break;case"left":offset={top:position.top+position.height/2-actualHeight/2,left:position.left-actualWidth};break;default:offset={top:position.top-actualHeight,left:position.left+position.width/2-actualWidth/2}}if(!split[1])return offset;if("top"===split[0]||"bottom"===split[0])switch(split[1]){case"left":offset.left=position.left;break;case"right":offset.left=position.left+position.width-actualWidth}else if("left"===split[0]||"right"===split[0])switch(split[1]){case"top":offset.top=position.top-actualHeight+position.height;break;case"bottom":offset.top=position.top}return offset}function applyPlacement(offset,placement){var tip=tipElement[0],width=tip.offsetWidth,height=tip.offsetHeight,marginTop=parseInt(dimensions.css(tip,"margin-top"),10),marginLeft=parseInt(dimensions.css(tip,"margin-left"),10);isNaN(marginTop)&&(marginTop=0),isNaN(marginLeft)&&(marginLeft=0),offset.top=offset.top+marginTop,offset.left=offset.left+marginLeft,dimensions.setOffset(tip,angular.extend({using:function(props){tipElement.css({top:Math.round(props.top)+"px",left:Math.round(props.left)+"px",right:""})}},offset),0);var actualWidth=tip.offsetWidth,actualHeight=tip.offsetHeight;if("top"===placement&&actualHeight!==height&&(offset.top=offset.top+height-actualHeight),!/top-left|top-right|bottom-left|bottom-right/.test(placement)){var delta=getViewportAdjustedDelta(placement,offset,actualWidth,actualHeight);if(delta.left?offset.left+=delta.left:offset.top+=delta.top,dimensions.setOffset(tip,offset),/top|right|bottom|left/.test(placement)){var isVertical=/top|bottom/.test(placement);replaceArrow(isVertical?2*delta.left-width+actualWidth:2*delta.top-height+actualHeight,tip[isVertical?"offsetWidth":"offsetHeight"],isVertical)}}}function getViewportAdjustedDelta(placement,position,actualWidth,actualHeight){var delta={top:0,left:0};if(!$tooltip.$viewport)return delta;var viewportPadding=options.viewport&&options.viewport.padding||0,viewportDimensions=getPosition($tooltip.$viewport);if(/right|left/.test(placement)){var topEdgeOffset=position.top-viewportPadding-viewportDimensions.scroll,bottomEdgeOffset=position.top+viewportPadding-viewportDimensions.scroll+actualHeight;topEdgeOffset<viewportDimensions.top?delta.top=viewportDimensions.top-topEdgeOffset:bottomEdgeOffset>viewportDimensions.top+viewportDimensions.height&&(delta.top=viewportDimensions.top+viewportDimensions.height-bottomEdgeOffset)}else{var leftEdgeOffset=position.left-viewportPadding,rightEdgeOffset=position.left+viewportPadding+actualWidth;leftEdgeOffset<viewportDimensions.left?delta.left=viewportDimensions.left-leftE
61dgeOffset:rightEdgeOffset>viewportDimensions.right&&(delta.left=viewportDimensions.left+viewportDimensions.width-rightEdgeOffset)}return delta}function replaceArrow(delta,dimension,isHorizontal){findElement(".tooltip-arrow, .arrow",tipElement[0]).css(isHorizontal?"left":"top",50*(1-delta/dimension)+"%").css(isHorizontal?"top":"left","")}function destroyTipElement(){clearTimeout(timeout),$tooltip.$isShown&&null!==tipElement&&(options.autoClose&&unbindAutoCloseEvents(),options.keyboard&&unbindKeyboardEvents()),tipScope&&(tipScope.$destroy(),tipScope=null),tipElement&&(tipElement.remove(),tipElement=$tooltip.$element=null)}var timeout,hoverState,compileData,tipElement,tipContainer,tipScope,_blur,_tipToHide,$tooltip={},options=$tooltip.$options=angular.extend({},defaults,config),promise=$tooltip.$promise=$bsCompiler.compile(options),scope=$tooltip.$scope=options.scope&&options.scope.$new()||$rootScope.$new(),nodeName=element[0].nodeName.toLowerCase();if(options.delay&&angular.isString(options.delay)){var split=options.delay.split(",").map(parseFloat);options.delay=split.length>1?{show:split[0],hide:split[1]}:split[0]}$tooltip.$id=options.id||element.attr("id")||"",options.title&&(scope.title=$sce.trustAsHtml(options.title)),scope.$setEnabled=function(isEnabled){scope.$$postDigest(function(){$tooltip.setEnabled(isEnabled)})},scope.$hide=function(){scope.$$postDigest(function(){$tooltip.hide()})},scope.$show=function(){scope.$$postDigest(function(){$tooltip.show()})},scope.$toggle=function(){scope.$$postDigest(function(){$tooltip.toggle()})},$tooltip.$isShown=scope.$isShown=!1,promise.then(function(data){compileData=data,$tooltip.init()}),$tooltip.init=function(){options.delay&&angular.isNumber(options.delay)&&(options.delay={show:options.delay,hide:options.delay}),"self"===options.container?tipContainer=element:angular.isElement(options.container)?tipContainer=options.container:options.container&&(tipContainer=findElement(options.container)),bindTriggerEvents(),options.target&&(options.target=angular.isElement(options.target)?options.target:findElement(options.target)),options.show&&scope.$$postDigest(function(){"focus"===options.trigger?element[0].focus():$tooltip.show()})},$tooltip.destroy=function(){unbindTriggerEvents(),destroyTipElement(),scope.$destroy()},$tooltip.enter=function(){if(clearTimeout(timeout),hoverState="in",!options.delay||!options.delay.show)return $tooltip.show();timeout=setTimeout(function(){"in"===hoverState&&$tooltip.show()},options.delay.show)},$tooltip.show=function(){var parent,after;options.bsEnabled&&!$tooltip.$isShown&&(scope.$emit(options.prefixEvent+".show.before",$tooltip),options.container?(parent=tipContainer,after=tipContainer[0].lastChild?angular.element(tipContainer[0].lastChild):null):(parent=null,after=element),tipElement&&destroyTipElement(),tipScope=$tooltip.$scope.$new(),(tipElement=$tooltip.$element=compileData.link(tipScope,function(){})).css({top:"-9999px",left:"-9999px",right:"auto",display:"block",visibility:"hidden"}),options.animation&&tipElement.addClass(options.animation),options.type&&tipElement.addClass(options.prefixClass+"-"+options.type),options.customClass&&tipElement.addClass(options.customClass),after?after.after(tipElement):parent.prepend(tipElement),$tooltip.$isShown=scope.$isShown=!0,safeDigest(scope),$tooltip.$applyPlacement(),angular.version.minor<=2?$animate.enter(tipElement,parent,after,enterAnimateCallback):$animate.enter(tipElement,parent,after).then(enterAnimateCallback),safeDigest(scope),$$rAF(function(){tipElement&&tipElement.css({visibility:"visible"}),options.keyboard&&("focus"!==options.trigger&&$tooltip.focus(),bindKeyboardEvents())}),options.autoClose&&bindAutoCloseEvents())},$tooltip.leave=function(){if(clearTimeout(timeout),hoverState="out",!options.delay||!options.delay.hide)return $tooltip.hide();timeout=setTimeout(function(){"out"===hoverState&&$tooltip.hide()},options.delay.hide)},$tooltip.hide=function(blur){$tooltip.$isShown&&(scope.$emit(options.prefixEvent+".hide.before",$tooltip),_blur=blur,_tipToHide=tipElement,angular.version.minor<=2?$animate.leave(tipElement,leaveAnimateCallback):$animate.leave(tipElement).then(leaveAnimateCallback),$tooltip.$isShown=scope.$isShown=!1,safeDigest(scope),options.keyboard&&null!==tipElement&&unbindKeyboardEvents(),options.autoClose&&null!==tipElement&&unbindAutoCloseEvents())},$tooltip.toggle=function(){$tooltip.$isShown?$tooltip.leave():$tooltip.enter()},$tooltip.focus=function(){tipElement[0].focus()},$tooltip.setEnabled=function(isEnabled){options.bsEnabled=isEnabled}
61,$tooltip.setViewport=function(viewport){options.viewport=viewport},$tooltip.$applyPlacement=function(){if(tipElement){var placement=options.placement,autoToken=/\s?auto?\s?/i,autoPlace=autoToken.test(placement);autoPlace&&(placement=placement.replace(autoToken,"")||defaults.placement),tipElement.addClass(options.placement);var elementPosition=getPosition(),tipWidth=tipElement.prop("offsetWidth"),tipHeight=tipElement.prop("offsetHeight");if($tooltip.$viewport=options.viewport&&findElement(options.viewport.selector||options.viewport),autoPlace){var originalPlacement=placement,viewportPosition=getPosition($tooltip.$viewport);/top/.test(originalPlacement)&&elementPosition.bottom+tipHeight>viewportPosition.bottom?placement=originalPlacement.replace("top","bottom"):/bottom/.test(originalPlacement)&&elementPosition.top-tipHeight<viewportPosition.top&&(placement=originalPlacement.replace("bottom","top")),/left/.test(originalPlacement)&&elementPosition.left-tipWidth<viewportPosition.left?placement=placement.replace("left","right"):/right/.test(originalPlacement)&&elementPosition.right+tipWidth>viewportPosition.width&&(placement=placement.replace("right","left")),tipElement.removeClass(originalPlacement).addClass(placement)}applyPlacement(getCalculatedOffset(placement,elementPosition,tipWidth,tipHeight),placement)}},$tooltip.$onKeyUp=function(evt){27===evt.which&&$tooltip.$isShown&&($tooltip.hide(),evt.stopPropagation())},$tooltip.$onFocusKeyUp=function(evt){27===evt.which&&(element[0].blur(),evt.stopPropagation())},$tooltip.$onFocusElementMouseDown=function(evt){evt.preventDefault(),evt.stopPropagation(),$tooltip.$isShown?element[0].blur():element[0].focus()};var _autoCloseEventsBinded=!1;return $tooltip}function safeDigest(scope){scope.$$phase||scope.$root&&scope.$root.$$phase||scope.$digest()}function findElement(query,element){return angular.element((element||document).querySelectorAll(query))}String.prototype.trim;var isTouch="createTouch"in $window.document,$body=angular.element($window.document);return TooltipFactory}]}).directive("bsTooltip",["$window","$location","$sce","$tooltip","$$rAF",function($window,$location,$sce,$tooltip,$$rAF){return{restrict:"EAC",scope:!0,link:function(scope,element,attr){var options={scope:scope};angular.forEach(["template","templateUrl","controller","controllerAs","contentTemplate","placement","container","delay","trigger","html","animation","backdropAnimation","type","customClass","id"],function(key){angular.isDefined(attr[key])&&(options[key]=attr[key])});var falseValueRegExp=/^(false|0|)$/i;angular.forEach(["html","container"],function(key){angular.isDefined(attr[key])&&falseValueRegExp.test(attr[key])&&(options[key]=!1)});var dataTarget=element.attr("data-target");angular.isDefined(dataTarget)&&(falseValueRegExp.test(dataTarget)?options.target=!1:options.target=dataTarget),scope.hasOwnProperty("title")||(scope.title=""),attr.$observe("title",function(newValue){if(angular.isDefined(newValue)||!scope.hasOwnProperty("title")){var oldValue=scope.title;scope.title=$sce.trustAsHtml(newValue),angular.isDefined(oldValue)&&$$rAF(function(){tooltip&&tooltip.$applyPlacement()})}}),attr.bsTooltip&&scope.$watch(attr.bsTooltip,function(newValue,oldValue){angular.isObject(newValue)?angular.extend(scope,newValue):scope.title=newValue,angular.isDefined(oldValue)&&$$rAF(function(){tooltip&&tooltip.$applyPlacement()})},!0),attr.bsShow&&scope.$watch(attr.bsShow,function(newValue){tooltip&&angular.isDefined(newValue)&&(angular.isString(newValue)&&(newValue=!!newValue.match(/true|,?(tooltip),?/i)),!0===newValue?tooltip.show():tooltip.hide())}),attr.bsEnabled&&scope.$watch(attr.bsEnabled,function(newValue){tooltip&&angular.isDefined(newValue)&&(angular.isString(newValue)&&(newValue=!!newValue.match(/true|1|,?(tooltip),?/i)),!1===newValue?tooltip.setEnabled(!1):tooltip.setEnabled(!0))}),attr.viewport&&scope.$watch(attr.viewport,function(newValue){tooltip&&angular.isDefined(newValue)&&tooltip.setViewport(newValue)});var tooltip=$tooltip(element,options);scope.$on("$destroy",function(){tooltip&&tooltip.destroy(),options=null,tooltip=null})}}}]),angular.module("mgcrea.ngStrap.dropdown",["mgcrea.ngStrap.tooltip"]).provider("$dropdown",function(){var defaults=this.defaults={animation:"am-fade",prefixClass:"dropdown",prefixEvent:"dropdown",placement:"bottom-left",templateUrl:"dropdown/dropdown.tpl.html",trigger:"click",container:!1,keyboard:!0,html:!1,delay:0};this.$get=["$window","$rootScope","$tooltip","$timeout",function($window,$rootScope,$tooltip,$timeout){function DropdownFactory(element,config){function onBodyClick(evt){if(evt.target!==element[0])return evt.target!==element[0]&&$dropdown.hide()}var $dropdown={},options=angular.extend({},defaults,config);$dropdown.$scope=options.scope&&options.scope.$new()||$rootScope.$new();$dropdown=$tooltip(element,options);var parentEl=element.parent();$dropdown.$onKeyDown=function(evt){if(/(38|40)/.test(evt.keyCode)){evt.preventDefault(),evt.stopPropagation();var index,items=angular.element($dropdown.$element[0].querySelectorAll("li:not(.divider) a"));if(items.length)angular.forEach(items,function(el,i){matchesSelector&&matchesSelector.call(el,":focus")&&(index=i)}),38===evt.keyCode&&index>0?index--:40===evt.keyCode&&index<items.length-1?index++:angular.isUndefined(index)&&(index=0),items.eq(index)[0].focus()}};var show=$dropdown.show;$dropdown.show=function(){show(),$timeout(function(){options.keyboard&&$dropdown.$element&&$dropdown.$element.on("key
61down",$dropdown.$onKeyDown),bodyEl.on("click",onBodyClick)},0,!1),parentEl.hasClass("dropdown")&&parentEl.addClass("open")};var hide=$dropdown.hide;$dropdown.hide=function(){$dropdown.$isShown&&(options.keyboard&&$dropdown.$element&&$dropdown.$element.off("keydown",$dropdown.$onKeyDown),bodyEl.off("click",onBodyClick),parentEl.hasClass("dropdown")&&parentEl.removeClass("open"),hide())};var destroy=$dropdown.destroy;return $dropdown.destroy=function(){bodyEl.off("click",onBodyClick),destroy()},$dropdown}var bodyEl=angular.element($window.document.body),matchesSelector=Element.prototype.matchesSelector||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector;return DropdownFactory}]}).directive("bsDropdown",["$window","$sce","$dropdown",function($window,$sce,$dropdown){return{restrict:"EAC",scope:!0,compile:function(tElement,tAttrs){if(!tAttrs.bsDropdown){for(var nextSibling=tElement[0].nextSibling;nextSibling&&1!==nextSibling.nodeType;)nextSibling=nextSibling.nextSibling;nextSibling.classList.contains("dropdown-menu")&&(tAttrs.template=nextSibling.outerHTML,tAttrs.templateUrl=undefined,nextSibling.parentNode.removeChild(nextSibling))}return function(scope,element,attr){var options={scope:scope};angular.forEach(["template","templateUrl","controller","controllerAs","placement","container","delay","trigger","keyboard","html","animation","id","autoClose"],function(key){angular.isDefined(tAttrs[key])&&(options[key]=tAttrs[key])});var falseValueRegExp=/^(false|0|)$/i;angular.forEach(["html","container"],function(key){angular.isDefined(attr[key])&&falseValueRegExp.test(attr[key])&&(options[key]=!1)}),attr.bsDropdown&&scope.$watch(attr.bsDropdown,function(newValue){scope.content=newValue},!0),attr.bsShow&&scope.$watch(attr.bsShow,function(newValue){dropdown&&angular.isDefined(newValue)&&(angular.isString(newValue)&&(newValue=!!newValue.match(/true|,?(dropdown),?/i)),!0===newValue?dropdown.show():dropdown.hide())});var dropdown=$dropdown(element,options);scope.$on("$destroy",function(){dropdown&&dropdown.destroy(),options=null,dropdown=null})}}}}]),angular.module("mgcrea.ngStrap.helpers.parseOptions",[]).provider("$parseOptions",function(){var defaults=this.defaults={regexp:/^\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+(.*?))?$/};this.$get=["$parse","$q",function($parse,$q){function ParseOptionsFactory(attr,config){function parseValues(values,scope){return values.map(function(match,index){var locals={};return locals[valueName]=match,{label:displayFn(scope,locals),value:valueFn(scope,locals),index:index}})}var match,displayFn,valueName,valueFn,valuesFn,$parseOptions={},options=angular.extend({},defaults,config);return $parseOptions.$values=[],$parseOptions.init=function(){$parseOptions.$match=match=attr.match(options.regexp),displayFn=$parse(match[2]||match[1]),valueName=match[4]||match[6],match[5],$parse(match[3]||""),valueFn=$parse(match[2]?match[1]:valueName),valuesFn=$parse(match[7])},$parseOptions.valuesFn=function(scope,controller){return $q.when(valuesFn(scope,controller)).then(function(values){return angular.isArray(values)||(values=[]),$parseOptions.$values=values.length?parseValues(values,scope):[],$parseOptions.$values})},$parseOptions.displayValue=function(modelValue){var scope={};return scope[valueName]=modelValue,displayFn(scope)},$parseOptions.init(),$parseOptions}return ParseOptionsFactory}]}),angular.module("brantwills.paging",[]).directive("paging",function(){function setScopeValues(scope,attrs){scope.List=[],scope.Hide=!1,scope.dots=scope.dots||"...",scope.page=parseInt(scope.page)||1,scope.total=parseInt(scope.total)||0,scope.ulClass=scope.ulClass||"pagination",scope.width=$(document).width(),scope.adjacent=(scope.width>480?parseInt(scope.desktopAdjacent):parseInt(scope.mobileAdjacent))||2,scope.activeClass=scope.activeClass||"active",scope.disabledClass=scope.disabledClass||"disabled",scope.scrollTop=scope.$eval(attrs.scrollTop),scope.hideIfEmpty=scope.$eval(attrs.hideIfEmpty),scope.showPrevNext=scope.$eval(attrs.showPrevNext)}function validateScopeValues(scope,pageCount){scope.page>pageCount&&(scope.page=pageCount),scope.page<=0&&(scope.page=1),scope.adjacent<=0&&(scope.adjacent=2),pageCount<=1&&(scope.Hide=scope.hideIfEmpty)}function internalAction(scope,page){scope.page!=page&&(scope.page=page,scope.pagingAction({page:scope.page,pageSize:scope.pageSize,total:scope.total}),scope.scrollTop&&scrollTo(0,0))}function addPrevNext(scope,pageCount,mode){if(scope.showPrevNext&&!(pageCount<1)){var disabled,alpha,beta;if("prev"===mode){disabled=scope.page-1<=0;var prevPage=scope.page-1<=0?1:scope.page-1;alpha={value:"<<",title:"First Page",page:1},beta={value:"<",title:"Previous Page",page:prevPage}}else{disabled=scope.page+1>pageCount;var nextPage=scope.page+1>=pageCount?pageCount:scope.page+1;alpha={value:">",title:"Next Page",page:nextPage},beta={value:">>",title:"Last Page",page:pageCount}}var alphaItem={value:alpha.value,title:alpha.title,liClass:disabled?scope.disabledClass:"",action:function(){disabled||internalAction(scope,alpha.page)}},betaItem={value:beta.value,title:beta.title,liClass:disabled?scope.disabledClass:"",action:function(){disabled||internalAction(scope,beta.page)}};scope.List.push(alphaItem),scope.List.push(betaItem)}}function addRange(start,finish,scope){var i=0;for(i=start;i<=finish;i++){var item={value:i,title:"Page "+i,liClass:scope.page==i?scope.activeClass:"",action:function(){internalAction(scope,this.value)}};scope.List.push(item)}}function addDots(scope){scope.List.push({value:scope.dots,liClass:scope.disabledClass})}function addFirst(scope,next){4==next?addRange(1,3,scope):3!=next?(addRange(1,2,scope),addDots(scope)):addRange(1,2,scope)}function addLast(pageCount,scope,prev){prev==pageCount-3?addRange(pageCount-2,pageCount,scope):prev!=pageCount-2?(addDots(scope),addRange(pageCount-1,pageCount,scope)):addRange(pageCount-1,pageCount,scope)}function build(scope,attrs){(!scope.pageSize||scope.pageSize<=0)&&(scope.pageSize=1);
vendor: 7,308 bytes, line 61
61var start,finish,pageCount=Math.ceil(scope.total/scope.pageSize);setScopeValues(scope,attrs),validateScopeValues(scope,pageCount);var fullAdjacentSize=2*scope.adjacent+2;addPrevNext(scope,pageCount,"prev"),pageCount<=fullAdjacentSize+2?addRange(start=1,pageCount,scope):scope.page-scope.adjacent<=2?(addRange(start=1,finish=1+fullAdjacentSize,scope),addLast(pageCount,scope,finish)):scope.page<pageCount-(scope.adjacent+2)?(start=scope.page-scope.adjacent,finish=scope.page+scope.adjacent,addFirst(scope,start),addRange(start,finish,scope),addLast(pageCount,scope,finish)):(finish=pageCount,addFirst(scope,start=pageCount-fullAdjacentSize),addRange(start,finish,scope)),addPrevNext(scope,pageCount,"next")}return{restrict:"EA",scope:{page:"=",pageSize:"=",total:"=",width:"=",mobileAdjacent:"@",desktopAdjacent:"@",dots:"@",hideIfEmpty:"@",ulClass:"@",activeClass:"@",disabledClass:"@",adjacent:"@",scrollTop:"@",showPrevNext:"@",pagingAction:"&"},template:'<ul ng-hide="Hide" ng-class="ulClass"> <li title="{{Item.title}}" ng-class="Item.liClass" ng-click="Item.action()" ng-repeat="Item in List"> <span ng-bind="Item.value"></span> </li></ul>',link:function(scope,element,attrs){scope.screenWidth=$(document).width(),window.addEventListener("resize",function(){scope.$apply(function(){scope.width=$(document).width()})}),scope.$watchCollection("[page,pageSize,total,width]",function(){build(scope,attrs)})}}}),function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g--;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c<b;)d=f[c-1]||0,e=this._widths[this.relative(c)]+this.settings.margin,f.push(d+e*a);this._coordinates=f}},{filter:["width","items","settings"],run:function(){var a=this.settings.stagePadding,b=this._coordinates,c={width:Math.ceil(Math.abs(b[b.length-1]))+2*a,"padding-left":a||"","padding-right":a||""};this.$stage.css(c)}},{filter:["width","items","settings"],run:function(a){var b=this._coordinates.length,c=!this.settings.autoWidth,d=this.$stage.children();if(c&&a.items.merge)for(;b--;)a.css.width=this._widths[this.relative(b)],d.eq(b).css(a.css);else c&&(a.css.width=a.items.width,d.css(a.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(a){a.current=a.current?this.$stage.children().index(a.current):0,a.current=Math.max(this.minimum(),Math.min(this.maximum(),a.current)),this.reset(a.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var a,b,c,d,e=this.settings.rtl?1:-1,f=2*this.settings.stagePadding,g=this.coordinates(this.current())+f,h=g+this.width()*e,i=[];for(c=0,d=this._coordinates.length;d>c;c++)a=this._coordinates[c-1]||0,b=Math.abs(this._coordinates[c])+f*e,(this.op(a,"<=",g)&&this.op(a,">",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.settings.center&&(this.$stage.children(".center").removeClass("center"),this.$stage.children().eq(this.current()).addClass("center"))}}],e.prototype.initialize=function(){var b,c,e;(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading"))&&(b=this.$element.find("img"),c=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,e=this.$element.children(c).width(),b.length&&0>=e&&this.preloadAutoWidthImages(b));this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+' class="'+this.settings.stageClass+'"/>').wrap('<div class="'+this.settings.stageOuterClass+'"/>'),this.$element.append(this.$stage.parent()),this.replace(this.$element.children().not(this.$stage.parent())),this.$element.is(":visible")?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){b>=a&&a>
vendor: 5,344 bytes, lines 61-62
61d&&(d=Number(a))}),"function"==typeof(e=a.extend({},this.options,c[d])).stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};c>b;)(this._invalidated.all||a.grep(this._pipe[b].filter,d).length>0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.$element.is(":visible")&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?d={x:(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","))[16===d.length?12:4],y:d[16===d.length?13:5]}:(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)<Math.abs(d.y)&&this.is("valid")||(b.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},
62e.prototype.onDragMove=function(a){var b=null,c=null,d=null,e=this.difference(this._drag.pointer,this.pointer(a)),f=this.difference(this._drag.stage.start,e);this.is("dragging")&&(a.preventDefault(),this.settings.loop?(b=this.coordinates(this.minimum()),c=this.coordinates(this.maximum()+1)-b,f.x=((f.x-b)%c+c)%c+b):(b=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),c=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),d=this.settings.pullDrag?-1*e.x/5:0,f.x=Math.max(Math.min(f.x,b+d),c+d)),this._drag.stage.current=f,this.animate(f.x))},e.prototype.onDragEnd=function(b){var d=this.difference(this._drag.pointer,this.pointer(b)),e=this._drag.stage.current,f=d.x>0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var d=-1,e=30,f=this.width(),g=this.coordinates();return this.settings.freeDrag||a.each(g,a.proxy(function(a,h){return"left"===c&&b>h-e&&h+e>b?d=a:"right"===c&&b>h-f-e&&h-f+e>b?d=a+1:this.op(b,"<",h)&&this.op(b,">
62",g[a+1]||h-f)&&(d="left"===c?a+1:a),-1===d},this)),this.settings.loop||(this.op(b,">",g[this.minimum()])?d=b=this.minimum():this.op(b,"<",g[this.maximum()])&&(d=b=this.maximum())),d},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){(a=this.normalize(a))!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||1>c?a=d:(0>a||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){for(b=this._items.length,c=this._items[--b].width(),d=this.$element.width();b--&&!((c+=this._items[b].width()+this.settings.margin)>d););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2==0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(0>e),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),(d=(((a=c+e)-h)%g+g)%g+h)!==a&&i>=d-e&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?a=(a%(i+=1)+i)%i:a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.$element.is(":visible")&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){return(a===d||(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)===this.$stage.get(0)))&&(this.leave("animating"),void this.trigger("translated"))},e.prototype.viewport=function(){var d;if(this.options.responsiveBaseElement!==b)d=a(this.options.responsiveBaseElement).width();else if(b.innerWidth)d=b.innerWidth;else{if(!c.documentElement||!c.documentElement.clientWidth)throw"Can not detect viewport width.";d=c.documentElement.clientWidth}return d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){(a=this.normalize(a,!0))!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()}
vendor: 21,504 bytes, line 62
62,this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){for(var d in this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize)),this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:c>a;case">":return d?c>a:a>c;case">=":return d?c>=a:a>=c;case"<=":return d?a>=c:c>=a}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf("owl")?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return(a=(a=a.originalEvent||a||b.event).touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a).pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.$element.is(":visible"),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.$element.is(":visible")!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;for(a in b.clearInterval(this._interval),this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type))for(var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&-1*e||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);f++<e;)this.load(h/2+this._core.relative(g)),h&&a.each(this._core.clones(this._core.relative(g)),i),g++},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={lazyLoad:!1},e.prototype.load=function(c){var d=this._core.$stage.children().eq(c),e=d&&d.find(".owl-lazy");!e||a.inArray(d.get(0),this._loaded)>-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):((e=new Image).onload=a.proxy(function(){f.css({"background-image":"url("+g+")",opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a){var e=function(b){this._core=b,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"==a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.$stage.children().toArray().slice(b,c),e=[],f=0;a.each(d,function(b,c){e.push(a(c).height())}),f=Math.max.apply(null,e),this._core.$stage.parent().height(f).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube",d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if((d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/))[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?'style="width:'+c.width+"px;height:"+c.height+'px;"':"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(a){e='<div class="owl-video-play-icon"></div>',d=k.lazyLoad?'<div class="owl-video-tn '+j+'" '+i+'="'+a+'"></div>':'<div class="owl-video-tn" style="opacity:1;background-image:url('+a+')"></div>',b.after(d),b.after(e)};return b.wrap('<div class="owl-video-wrapper"'+g+"></div>"),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length?(l(h.attr(i)),h.remove(),!1):void("youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}}))},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,e=a(b.target).closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),"youtube"===f.type?c='<iframe width="'+g+'" height="'+h+'" src="//www.youtube.com/embed/'+f.id+"?autoplay=1&v="+f.id+'" frameborder="0" allowfullscreen></iframe>':"vimeo"===f.type?c='<iframe src="//player.vimeo.com/video/'+f.id+'?autoplay=1" width="'+g+'" height="'+h+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>':"vzaar"===f.type&&(c='<iframe frameborder="0"height="'+h+'"width="'+g+'" allowfullscreen mozallowfullscreen webkitAllowFullScreen src="//view.vzaar.com/'+f.id+'/player?autoplay=true"></iframe>'),a('<div class="owl-video-frame">'+c+"</div>").insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;for(a in this._core.$element.off("click.owl.video"),this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c){var e=function(b){this._core=b,this._timeout=null,this._paused=!1,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._core.settings.autoplay&&this._setAutoPlayInterval()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype.play=function(){this._paused=!1,this._core.is("rotating")||(this._core.enter("rotating"),this._setAutoPlayInterval())},e.prototype._getNextTimeout=function(d,e){return this._timeout&&b.clearTimeout(this._timeout),b.setTimeout(a.proxy(function(){this._paused||this._core.is("busy")||this._core.is("interacting")||c.hidden||this._core.next(e||this._core.settings.autoplaySpeed)},this),d||this._core.settings.autoplayTimeout)},e.prototype._setAutoPlayInterval=function(){this._timeout=this._getNextTimeout()},e.prototype.stop=function(){this._core.is("rotating")&&(b.clearTimeout(this._timeout),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&(this._paused=!0)},e.prototype.destroy=function(){var a,b;for(a in this.stop(),this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:["prev","next"],navSpeed:!1,navElement:"div",navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;for(b in this._controls.$relative=(c.navContainer?a(c.navContainer):a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a("<div>").addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","div",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this)),this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,0;e>a;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,0}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):0>b&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;
vendor: 4,742 bytes, lines 62-70
62b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;for(c in a(b).off("hashchange.owl.navigation"),this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){return g[b]!==d?(e=!c||b,!1):void 0}),e}function f(a){return e(a,!0)}var g=a("<support>").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),
63j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document),
64/*!
65 * angular-loading-bar v0.9.0
66 * https://chieffancypants.github.io/angular-loading-bar
67 * Copyright (c) 2016 Wes Cruver
68 * License: MIT
69 */
70function(){"use strict";angular.module("angular-loading-bar",["cfp.loadingBarInterceptor"]),angular.module("chieffancypants.loadingBar",["cfp.loadingBarInterceptor"]),angular.module("cfp.loadingBarInterceptor",["cfp.loadingBar"]).config(["$httpProvider",function($httpProvider){var interceptor=["$q","$cacheFactory","$timeout","$rootScope","$log","cfpLoadingBar",function($q,$cacheFactory,$timeout,$rootScope,$log,cfpLoadingBar){function setComplete(){$timeout.cancel(startTimeout),cfpLoadingBar.complete(),reqsCompleted=0,reqsTotal=0}function isCached(config){var cache,defaultCache=$cacheFactory.get("$http"),defaults=$httpProvider.defaults;!config.cache&&!defaults.cache||!1===config.cache||"GET"!==config.method&&"JSONP"!==config.method||(cache=angular.isObject(config.cache)?config.cache:angular.isObject(defaults.cache)?defaults.cache:defaultCache);
70var cached=cache!==undefined&&cache.get(config.url)!==undefined;return config.cached!==undefined&&cached!==config.cached?config.cached:(config.cached=cached,cached)}var startTimeout,reqsTotal=0,reqsCompleted=0,latencyThreshold=cfpLoadingBar.latencyThreshold;return{request:function(config){return config.ignoreLoadingBar||isCached(config)||($rootScope.$broadcast("cfpLoadingBar:loading",{url:config.url}),0===reqsTotal&&(startTimeout=$timeout(function(){cfpLoadingBar.start()},latencyThreshold)),reqsTotal++,cfpLoadingBar.set(reqsCompleted/reqsTotal)),config},response:function(response){return response&&response.config?(response.config.ignoreLoadingBar||isCached(response.config)||(++reqsCompleted>=reqsTotal?($rootScope.$broadcast("cfpLoadingBar:loaded",{url:response.config.url,result:response}),setComplete()):cfpLoadingBar.set(reqsCompleted/reqsTotal)),response):($log.error("Broken interceptor detected: Config object not supplied in response:\n https://github.com/chieffancypants/angular-loading-bar/pull/50"),response)},responseError:function(rejection){return rejection&&rejection.config?(rejection.config.ignoreLoadingBar||isCached(rejection.config)||(++reqsCompleted>=reqsTotal?($rootScope.$broadcast("cfpLoadingBar:loaded",{url:rejection.config.url,result:rejection}),setComplete()):cfpLoadingBar.set(reqsCompleted/reqsTotal)),$q.reject(rejection)):($log.error("Broken interceptor detected: Config object not supplied in rejection:\n https://github.com/chieffancypants/angular-loading-bar/pull/50"),$q.reject(rejection))}}}];$httpProvider.interceptors.push(interceptor)}]),angular.module("cfp.loadingBar",[]).provider("cfpLoadingBar",function(){this.autoIncrement=!0,this.includeSpinner=!0,this.includeBar=!0,this.latencyThreshold=200,this.startSize=.02,this.startSize=.1,this.parentSelector="body",this.spinnerTemplate='<div id="loading-bar-spinner"><div class="spinner-icon"></div></div>',this.loadingBarTemplate='<div id="loading-bar"><div class="bar"><div class="peg"></div></div></div>',this.$get=["$injector","$document","$timeout","$rootScope",function($injector,$document,$timeout,$rootScope){function _start(){if
70($animate||($animate=$injector.get("$animate")),$timeout.cancel(completeTimeout),!started){var document=$document[0],parent=document.querySelector?document.querySelector($parentSelector):$document.find($parentSelector)[0];parent||(parent=document.getElementsByTagName("body")[0]);var $parent=angular.element(parent),$after=parent.lastChild&&angular.element(parent.lastChild);$rootScope.$broadcast("cfpLoadingBar:started"),started=!0,includeBar&&$animate.enter(loadingBarContainer,$parent,$after),includeSpinner&&$animate.enter(spinner,$parent,loadingBarContainer),_set(startSize)}}function _set(n){if(started){var pct=100*n+"%";loadingBar.css("width",pct),status=n,autoIncrement&&($timeout.cancel(incTimeout),incTimeout=$timeout(function(){_inc()},250))}}function _inc(){if(!(_status()>=1)){var rnd=0,stat=_status();rnd=stat>=0&&stat<.25?(3*Math.random()+3)/100:stat>=.25&&stat<.65?3*Math.random()/100:stat>=.65&&stat<.9?2*Math.random()/100:stat>=.9&&stat<.99?.005:0,_set(_status()+rnd)}}function _status(){return status}function _completeAnimation(){status=0,started=!1}function _complete(){$animate||($animate=$injector.get("$animate")),_set(1),$timeout.cancel(completeTimeout),completeTimeout=$timeout(function(){var promise=$animate.leave(loadingBarContainer,_completeAnimation);promise&&promise.then&&promise.then(_completeAnimation),$animate.leave(spinner),$rootScope.$broadcast("cfpLoadingBar:completed")},500)}var $animate,incTimeout,completeTimeout,$parentSelector=this.parentSelector,loadingBarContainer=angular.element(this.loadingBarTemplate),loadingBar=loadingBarContainer.find("div").eq(0),spinner=angular.element(this.spinnerTemplate),started=!1,status=0,autoIncrement=this.autoIncrement,includeSpinner=this.includeSpinner,includeBar=this.includeBar,startSize=this.startSize;return{start:_start,set:_set,status:_status,inc:_inc,complete:_complete,autoIncrement:this.autoIncrement,includeSpinner:this.includeSpinner,latencyThreshold:this.latencyThreshold,parentSelector:this.parentSelector,startSize:this.startSize}}]})}(),angular.module("rennie.shared",["ngResource","ngAnimate","ngCookies","mgcrea.ngStrap.modal","mgcrea.ngStrap.typeahead","rnConfig","angular-loading-bar"]),angular.module("rennie.shared").factory("apiAutocomplete",["$q","$http",function($q,$http){function build(path,params){if(params){for(var key in params)path=path.replace("{"+key+"}",params[key]);return path}return path}function get(apiCall,params){var url;return url=build(apiCall,params),$q(function(resolve,reject){$http.get(url).success(function(data){resolve(data)}).error(function(data){reject(data)})})}return{build:build,get:get}}]).directive("rnAutocomplete",["googleMapsLoader","$timeout","$typeahead","$parseOptions","AlertService","mapListings","$rootScope","$sce","$q","$http","Config","apiAutocomplete","regionsService",function(googleMapsLoader,$timeout,$typeahead,$parseOptions,AlertService,mapListings,$rootScope,$sce,$q,$http,Config,apiAutocomplete,regionsService){"use strict";return{restrict:"A",scope:{address:"=rnAutocomplete",isLarge:"=rnAutocompleteLarge",onChange:"&rnAutocompleteOnChange",container:"@rnAutocompleteContainer",templateUrl:"@rnAutocompleteTemplate",placeholder:"@",searchUrl:"@",searchHint:"@?"},template:function(element,attr){var container=$(element).closest(".filter-bar").length?".filter-bar":"false",templateUrl=attr.rnAutocompleteTemplateUrl||"/js_templates/autocomplete.html",searchUrlParam="",searchHint=attr.searchHint||"Search Hawaii Towns, properties, MLS#";return attr.searchUrl&&(searchUrlParam="?search_url="+attr.searchUrl),['<form action="." ng-submit="$event.preventDefault()" class="search-input" ng-class="{\'search-input--large\': isLarge}">','<input container="'+container+'" type="search" class="form-control" ng-model="address" auto-select="true" template-url="'+templateUrl+searchUrlParam+'" bs-options="address.value as address.label for address in getAddresses($viewValue)" placeholder="'+searchHint+'" data-animation="" bs-typeahead trim-value="false" ng-trim="false">','<span class="search-input__icon" ng-class="{\'search-input__icon--left\': !isLarge}"></span>','<button class="search-button" ng-click="clickSearchButton()">Search</button>',"</form>"].join("")},link:function(scope,element,attrs){function addChildren(regions,parentRegion,mainRegion){regions&&regions.forEach(function(childReg
70ion){childRegion.mainRegion=mainRegion,childRegion.parent=parentRegion,scope.regions.push(childRegion),addChildren(childRegion.children,childRegion,mainRegion)})}attrs.placeholder&&$("input",element).attr("placeholder",attrs.placeholder),scope.regions=[],regionsService.query({},function(regions){regions.forEach(function(region){scope.regions.push(region),addChildren(region.children,region,region)})}),googleMapsLoader.mapsInitialized.then(function(){function formatGoogleResponse(place){var geometry,sw,ne,latitude,longitude,boxSize=.003;return geometry={location:{latitude:latitude=place.geometry.location.lat(),longitude:longitude=place.geometry.location.lng()},formattedAddress:place.formatted_address,types:place.types,addressComponents:buildAddressComponents(place)},place.geometry.viewport?(sw=place.geometry.viewport.getSouthWest(),ne=place.geometry.viewport.getNorthEast(),geometry.viewport={southwest:{latitude:sw.lat(),longitude:sw.lng()},northeast:{latitude:ne.lat(),longitude:ne.lng()}}):geometry.viewport={southwest:{latitude:latitude-boxSize,longitude:longitude-boxSize},northeast:{latitude:latitude+boxSize,longitude:longitude+boxSize}},geometry}function clickSearchButton(){scope.$$childTail.$matches.length&&scope.$$childTail.$select(scope.$$childTail.$activeIndex)}function buildAddressComponents(place){return{countryCode:getAddressComponent(place,"country","short"),countryName:getAddressComponent(place,"country","long"),cityCode:getAddressComponent(place,"locality","short"),cityName:getAddressComponent(place,"locality","long"),postalCode:getAddressComponent(place,"postal_code","short"),streetNumber:getAddressComponent(place,"street_number","short"),streetName:getAddressComponent(place,"route","short"),provinceName:getAddressComponent(place,"administrative_area_level_1","short")}}function getAddressComponent(address,component,type){var element=null;return angular.forEach(address.address_components,function(address_component){address_component.types[0]==component&&(element="short"==type?address_component.short_name:address_component.long_name)}),element}var placesService=new google.maps.places.PlacesService(new google.maps.Map(document.createElement("div"),{}));scope.getAddresses=function(viewValue){var deferred=$q.defer(),mlsRegex=new RegExp(Config.autocomplete.mlsPattern,"gi");if(_.isEmpty(viewValue))deferred.resolve([]);else if(mlsRegex.test(viewValue))mapListings.query({mls_id:viewValue,order_by_column:"mls_id",order_by_direction:"asc",limit:20},function(data){var values=[],mls_ids=[];_.each(data,function(row,index){-1===mls_ids.indexOf(row.mls_id)&&values.length<5&&(mls_ids.push(row.mls_id),values.push({value:row,index:index,label:row.mls_id}))}),deferred.resolve(values)});else if(_.isString(viewValue)){var sanitized=viewValue.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),re=new RegExp("^"+sanitized,"i"),regionMatches=scope.regions.filter(function(region){return region.name.match(re)}),values=[];_.each(regionMatches,function(place,index){var label=["(",place.label,")"].join(""),typeFlag=[_.compact([place.name,place.mainRegion&&place.mainRegion.name]).join(", "),label].join(" ");values.push({value:place,index:index,label:typeFlag})}),apiAutocomplete.get("/google/api?input={input}
70&types=address&location=20.9389302,-158.1232191&radius=2400000&strictbounds&key=AIzaSyABYm0X_tW6meKJYyPitSTWPJzTnxeAnOU",{input:viewValue}).then(function(results){_.each(results.predictions,function(place,index){values.push({value:place,index:index,label:place.description})}),deferred.resolve(values)})}return deferred.promise},scope.$watch("address",function(newValue){if(_.isObject(newValue))if(newValue.place_id){var request={placeId:newValue.place_id};placesService.getDetails(request,function(placeDetails,status){if(status==google.maps.places.PlacesServiceStatus.OK){var geometry=formatGoogleResponse(placeDetails);scope.$evalAsync(function(s){s.onChange({data:geometry})})}})}else scope.onChange({data:newValue})}),scope.clickSearchButton=clickSearchButton,scope.$on("$destroy",function(){})})}}}]),angular.module("rennie.shared").filter("rnMatch",["$sce",function($sce){"use strict";return function(input,string){var output,searchExp;if(_.isString(string)){var sanitized=string.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");searchExp=new RegExp(sanitized,"i"),output=_.replace(input,searchExp,function(s){return'<span class="is-match">'+s+"</span>"})}else output=_.isObject(string)?string.toString():string;return $sce.trustAsHtml(output)}}]),angular.module("rennie.shared").filter("priceLabelFilter",function(){"use strict";return function(num){return num>=1e6?"$"+Math.round(num/1e4)/100+"M":num>=1e4?"$"+Math.floor(num/1e3)+"k":"$"+Math.floor(num)}}),angular.module("rennie.shared").factory("User",["$modal","$cookies","users","AlertService","AnalyticService","$q",function($modal,$cookies,users){"use strict";function init(){var expireDate;currentUser&&((expireDate=new Date).setTime(expireDate.getTime()+12096e5),$cookies.get("track_login"))}function getCurrent(){return currentUser}function setCurrent(user){currentUser=user}function setAdvisorId(advisorId){return users.update({id:currentUser.id},{client_advisor_id:advisorId},function(response){currentUser.clientAdvisor=response.client_advisor}).$promise}function removeAdvisorId(){return users.update({id:currentUser.id},{client_advisor_id:null},function(){currentUser.clientAdvisor=null,$cookies.remove("client_advisor_id")}).$promise}function showLoginModal(options){var authModal=$modal({templateUrl:"authentication.tpl.html",show:!1,backdropAnimation:"modal-backdrop--invisible",controller:["$location","User","AnalyticService",function($location,User,AnalyticService){function getCurrentParams(){var obj=$location.search();return Object.keys(obj).map(function(key){return key+"="+window.encodeURIComponent(obj[key])}).join("&")}function getCurrentPath(){return $location.path()}function setCookies(){$cookies.put("setAlert","true")}function trackLoginWoopra(type){RennieWoopra.track_login(vm,type)}var vm=this;vm.track=AnalyticService.trackEvent,vm.trackLoginWoopra=trackLoginWoopra,vm.setCookies="search-alert"==options.action?setCookies:null,vm.getCurrentParams=getCurrentParams,vm.getCurrentPath=getCurrentPath,vm.signIn=!0,angular.extend(vm,options)}],controllerAs:"authVm"});authModal.$promise.then(authModal.show)}function showSignupModal(){}var currentUser=this.currentUser;return init(),{getCurrent:getCurrent,setCurrent:setCurrent,setAdvisorId:setAdvisorId,removeAdvisorId:removeAdvisorId,showLoginModal:showLoginModal,showSignupModal:showSignupModal}}]),angular.module("rennie.shared").factory("users",["$resource",function($resource){return $resource("/api/v1/users/:id",{id:"@id"},{create:{method:"POST"},update:{method:"PUT"},destroy:{method:"DELETE"}})}]),angular.module("rennie.shared").factory("AlertService",["$timeout",function($timeout){"use strict";function addAlertType(type){return function(body,options){(options=options||{}).key&&removeAlertByKey(options.key);var a={type:type,body:body,group:"global"};angular.extend(a,options),$timeout(function(){alerts.push(a)})}}function removeAlert(a){_.remove(alerts,a)}function removeAlertByKey(key){_.remove(alerts,{key:key})}function getAlerts(group){return group?_.filter(alerts,{group:group}):alerts}var alerts=[];return{notice:addAlertType("notice"),alert:addAlertType("alert"),success:addAlertType("success"),getAlerts:getAlerts,removeAlert:removeAlert,removeAlertByKey:removeAlertByKey,alerts:alerts}}]);var _mapsDeferResolved=!1;angular.module("rennie.shared").factory("googleMapsLoader",["$window","$q","Config",function($window,$q,Config){var callbackName="rennieGoogleMapsInitialized"+Math.floor(1e3*Math.random()).toString(),asyncUrl="https://maps.googleapis.com/ma
70ps/api/js?v=3.33&key="+Config.googleMapsJsKey+"&libraries=geometry,places,drawing&callback="+callbackName,mapsDefer=$q.defer();return _mapsDeferResolved&&mapsDefer.resolve(),$window[callbackName]=function(){var j=$;j.ajaxSetup({cache:!0}),setTimeout(function(){try{j.getScript("https://www.hawaiilife.com/assets/markerclusterer-dd76369a88988fd6c2a31d5685841d616cdb9c10b7a115bbf42a4d0925733097.js").done(function(){j.getScript("https://www.hawaiilife.com/assets/infobox.min-0c45a50017c6b4018aa327b6ebcbd8406b7413e5a19017b1d9a3c0a1daaef023.js").done(function(){j.getScript("https://www.hawaiilife.com/assets/markerwithlabel-7c5e8b2378ac3d14928847d3a9c98128a9cc30f7ecc91a3249611c32dbfff8b7.js").done(function(){_mapsDeferResolved=!0,mapsDefer.resolve()})})})}catch(e){console&&console.warn("we have an error with the modernizr load"),setTimeout($window[callbackName],500)}},1)},$.getScript(asyncUrl),{mapsInitialized:mapsDefer.promise}}]),angular.module("rennie.shared").factory("AnalyticService",["advisors",function(advisors){"use strict";function trackEvent(category,action,label){label=label||"",ga("send","event",category,action,label)}function assignLead(category,action,label){var advisorName;label?advisors.get({id:label},function(data){advisorName=data.user.first_name+" "+data.user.last_name,ga("send","event",category,action,advisorName)}):ga("send","event",category,"Unassigned")}return{trackEvent:trackEvent,assignLead:assignLead}}]),angular.module("rennie.shared").factory("advisors",["$resource",function($resource){return $resource("/api/v1/advisors/:id",{id:"@id"},{})}]),angular.module("rennie.shared").factory("favouriteListingsService",["$resource",function($resource){return $resource("/api/v1/saved_listings/:id",{id:"@id"},{create:{method:"POST"},update:{method:"PUT"},destroy:{method:"DELETE"}})}]),angular.module("rennie.shared").factory("leadsService",["$resource",function($resource){return $resource("/api/v1/leads/:id",{id:"@id"},{create:{method:"POST"},update:{method:"PUT"},destroy:{method:"DELETE"}})}]),angular.module("rennie.shared").factory("marketActivityService",["$resource",function($resource){return $resource("/api/v1/recent_activity")}]),angular.module("rennie.shared").factory("mapListings",["$resource",function($resource){return $resource("/api/v1/listings/map_listings.json",{},{active:"true"})}]),angular.module("rennie.shared").factory("regionsService",["$resource","$window",function($resource,$window){var params={region_level:"@region_level"};!!($window&&$window.location&&$window.location.href&&$window.location.href.includes("admin"))&&(params.content=1);const endpoint=$window&&$window.location&&$window.location.pathname.includes("areas_of_service_v2")?"/api/v1/areas_of_service_v2":"/api/v1/regions";return $resource(endpoint,{},{get_regions:{method:"get",url:endpoint,params:params,isArray:!0}})}]),angular.module("rnConfig",[]),angular.module("rnConfig").factory("Config",function(){function hasFeature(feature){return!!featureMap[feature]}var featureMap={projects:!1,homepage_slideshow:!1,teams:!0,use_offices:!0},configFromYml={googleMapsJsKey:"AIzaSyBTutgruCRZpx1OyfxTQHM5lNXc9wbxs_I",countryCode:"US",defaultSearchFilters:{dwellingTypes:["condo","house","land"],listingTypes:["mls","rennie_exclusive"]},map:{latitude:20.9389302,longitude:-158.1232191,zoom:8,zoomControlOptions:{position:"LEFT_BOTTOM"},mapTypeControl:!0,mapTypeControlOptions:{position:"BOTTOM_LEFT",mapTypeIds:["roadmap","satellite"]},streetViewControl:!0,streetViewControlOptions:{position:"LEFT_BOTTOM"},styles:[{featureType:"landscape",elementType:"geometry",stylers:[{saturation:"-100"}]},{featureType:"landscape.man_made",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"landscape.natural",elementType:"geometry.fill",stylers:[{lightness:"77"}]},{featureType:"landscape.natural.terrain",elementType:"geometry.fill",stylers:[{lightness:"-76"},{gamma:"5.56"},{saturation:"50"},{hue:"#ffb200"},{visibility:"on"}]},{featureType:"poi",elementType:"labels",stylers:[{visibility:"off"}]},{featureType:"poi",elementType:"labels.text.stroke",stylers:[{visibility:"off"}]},{featureType:"poi.park",elementType:"all",stylers:[{visibility:"off"}]},{featureType:"road",elementType:"geometry.fill",stylers:[{color:"#b4b2a5"}]},{featureType:"road",elementType:"labels.text",stylers:[{color:"#545454"}]},{featureType:"road",elementType:"labels.text.stroke",stylers:[{visibility:"off"}]},{featureType:"road.highway",elementType:"geometry.fill",stylers:[{saturation:"-87"},{lightness:"-40"},{color:"#ffffff"}]},{featureType:"road.highway",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"road.highway.controlled_access",elementType:"geometry.fill",stylers:[{color:"#f0f0f0"},{saturation:"-22"},{lightness:"-16"}]},{featureType:"road.highway.controlled_access",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"road.highway.controlled_access",elementType:"labels.icon",stylers:[{visibility:"on"}]},{featureType:"road.arterial",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"road.local",elementType:"geometry.stroke",stylers:[{visibility:"off"}]},{featureType:"water",elementType:"geometry.fill",stylers:[{color:"#4CAAC2"}]}],markers:{listings:[{image:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",active:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",rules:null,money:!0,width:0,height:0,anchor:[0,0]}],projects:[{image:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",active:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",rules:null,money:!1,width:0,height:0,anchor:[0,0]}
70],offices:[{image:"https://www.hawaiilife.com/assets/marker-office-ef7390093524fffb08b811438f3e4c2c469cbd1944c5ff19734fbf9128c63b4f.png",active:"https://www.hawaiilife.com/assets/marker-office-ef7390093524fffb08b811438f3e4c2c469cbd1944c5ff19734fbf9128c63b4f.png",rules:null,width:27,height:32,anchor:[14,32]}]},clusterer:{zoomOnClick:!0,maxZoom:16,gridSize:27,enableRetinaIcons:!0,styles:[{url:"https://www.hawaiilife.com/assets/cluster-small-d665bfc64efd2875a200dc865cb1428fec9bd8c39d99c84f02c0c965407bcd58.png",height:26,width:26,textColor:"#ffffff",textSize:12,fontFamily:'"Whitney A", "Whitney B"',fontWeight:500},{url:"https://www.hawaiilife.com/assets/cluster-small-d665bfc64efd2875a200dc865cb1428fec9bd8c39d99c84f02c0c965407bcd58.png",height:26,width:26,textColor:"#ffffff",textSize:12,fontFamily:'"Whitney A", "Whitney B"',fontWeight:500},{url:"https://www.hawaiilife.com/assets/cluster-medium-428704f75b9a64e116713a680903f4d14dd42eb75a842c306fa2c557ca8573ee.png",height:32,width:32,textColor:"#ffffff",textSize:12,fontFamily:'"Whitney A", "Whitney B"',fontWeight:500}]},polygon:{defaults:{strokeColor:"#12B5EA",strokeOpacity:.8,strokeWeight:4,fillColor:"#81D4FA",fillOpacity:0,clickable:!1,editable:!1}}},autocomplete:{mlsPattern:"((20)(1|2)[0-9]{4,}$)|(^[0-9]{5,}$)",bounds:{sw:{latitude:18.55,longitude:-160.53},ne:{latitude:22.37,longitude:-154.48}}},namedPriceRanges:{100:[0,15e4,"$100k"],200:[15e4,25e4,"$200k"],300:[25e4,35e4,"$300k"],400:[35e4,45e4,"$400k"],500:[45e4,55e4,"$500k"],600:[55e4,65e4,"$600k"],700:[65e4,7
705e4,"$700k"],800:[75e4,85e4,"$800k"],900:[85e4,95e4,"$900k"],1000:[95e4,125e4,"$1M"],1500:[125e4,175e4,"$1.5M"],2000:[175e4,25e5,"$2M"],3000:[25e5,35e5,"$3M"],4000:[35e5,45e5,"$4M"],5000:[45e5,55e5,"$5M"],10000:[75e5,125e5,"$10M"],15000:[125e5,175e5,"$15M"],20000:[175e5,2e7,"$20M"],25000:[225e5,275e5,"$25M"],30000:[275e5,325e5,"$30M"],35000:[325e5,375e5,"$35M"],40000:[375e5,425e5,"$40M"],45000:[425e5,475e5,"$45M"],50000:[475e5,55e6,"$50M"],60000:[55e6,65e6,"$60M"],70000:[65e6,7e7,"$70M"]},defaultFeatureListings:3,mortgageCalculator:{loanTerm:30,interest:4,downpayment:25},regions:{top_level:0,geo_dropdown_first:1,geo_dropdown_last:4,0:"State",1:"Island",2:"District",3:"Town",4:["Resort","Neighborhood","Subdivision"]}},configDefaults={filtersDefault:{listingTypes:configFromYml.defaultSearchFilters.listingTypes||[],dwellingTypes:[],daysOnRennie:null,priceMin:0,priceMax:7e7,priceNamed:null,bedsMin:-1,bathsMin:-1,squareFootageMin:0,query:"",page:1,displayType:"",sortColumn:"listing_at",sortDirection:"desc",zoom:8,csv:0,export_sold:0,my_listings:0,our_listings:0},map:{latitude:0,longitude:0,zoom:8,styles:[]},autocomplete:{mlsPattern:"/^[d]{7,}/g",bounds:{sw:{latitude:null,longitude:null},ne:{latitude:null,longitude:null}}}},otherData={filterKeys:Object.keys(configDefaults.filtersDefault)},methods={hasFeature:hasFeature};return angular.merge(configDefaults,configFromYml,methods,otherData)}),angular.module("rnSearch",[]),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(target){"use strict";if(null===target||target===undefined)throw new TypeError("Cannot convert undefined or null to object");for(var to=Object(target),index=1;index<arguments.length;index++){var nextSource=arguments[index];if(null!==nextSource&&nextSource!==undefined)for(var nextKey in nextSource)Object.prototype.hasOwnProperty.call(nextSource,nextKey)&&(to[nextKey]=nextSource[nextKey])}return to},writable:!0,configurable:!0}),angular.module("rnSearch").factory("rnSearch",["Config",function(Config){function isSeoParam(largeKey){return _.has(_.invert(seoParamMap),largeKey)}function normalizeParams(params){return _.each(seoParamMap,function(largeKey,smallKey){if(params[smallKey]){var entry={};entry[largeKey]=params[smallKey],delete(params=Object.assign({},params,entry))[smallKey]}}),params}function buildSearchUrl(params,options){var path;path=(options=angular.extend({base:"/listings"},options)).base,(params=_.pickBy(params,function(value){return value&&"-1"!==value})).lat&&params.long&&(params.c=params.lat+","+params.long,delete params.lat,delete params.long),params.priceNamed||_.each(Config.namedPriceRanges,function(range,key){if((range.min||range[0])==params.priceMin&&(range.max||range[1])==params.priceMax)return params.priceNamed=key,delete params.priceMin,delete params.priceMax,!1});var f="";_.each(seoParamMap,function(largeKey,smallKey){var prefix="-"+smallKey,value=params[largeKey];value&&(_.isArray(value)?_.isEmpty(value)||(f+=prefix+value.join(prefix)):f+=prefix+value)}),f.length&&(path+="/"+f);var queryParams={};return _.each(params,function(value,largeKey){isSeoParam(largeKey)||(queryParams[largeKey]=value)}),path+=_.isEmpty(queryParams)?"":decodeURIComponent("?"+$.param(queryParams))}var seoParamMap={pl:"priceMin",ph:"priceMax",g:"groups",t:"dwellingTypes",pn:"priceNamed",e:"bedsMin",w:"bathsMin",a:"squareFootageMin",k:"query"};return{buildSearchUrl:buildSearchUrl,normalizeParams:normalizeParams}}]),angular.module("rnFavourites",["ngCookies"]),angular.module("rnFavourites").directive("rnAddFavourites",["rnFavouritesService","AlertService","breakpointService",function(rnFavouritesService,AlertService,breakpointService){"use strict";return{restrict:"A",scope:{listingId:"=rnAddFavourites",toggle:"=rnAddFavouritesToggle"},require:"?rnRemovableTrigger",controllerAs:"vm",bindToController:!0,replace:!0,template:'<button class="add-favourites" ng-class="{\'is-added\': vm.isFav()}""><span class="add-favourites__icon"></span><span class="add-favourites__label">{{vm.getButtonText()}}</span></button>',controller:function(){function isFav(){return rnFavouritesService.isFav(vm.listingId)}function getButtonText(){return isFav(vm.listingId)?"Remove":"Add to Favourites"}function toggleFav(){isFav()?rnFavouritesService.removeFav(vm.listingId):rnFavouritesService.addFav(vm.listingId),console&&console.log("we are toggling a fave"),RennieWoopra.track_click("favorite",{listing_id:vm.listingId})}var vm=this;vm.isFav=isFav,vm.getButtonText=getButtonText,vm.toggleFav=toggleFav},link:{post:function(scope,element,attrs,rnRemovableTrigger){function triggerFlyoutAnimation(){var flyoutStartTop=$flyoutStart.offset().top-$(window).scrollTop(),flyoutStartLeft=$flyoutStart.offset().left-$(window).scrollLeft(),flyoutEndTop=$flyoutEnd.offset().top-$(window).scrollTop(),flyoutEndLeft=$flyoutEnd.offset().left-$(window).scrollLeft()+$flyoutEnd.width()/2;$flyout.css({transform:"translateX("+flyoutStartLeft+"px) translateY("+flyoutStartTop+"px)"}).appendTo(document.body),$(window).width()>breakpointService.get("mid")?($(".masthead").removeClass("is-hidden"),moveFlyout(flyoutEndTop,flyoutEndLeft)):moveFlyout(-100,.98*$(window).width())}function moveFlyout(flyToY,flyToX){setTimeout(function(){$flyout.css({transform:"translateX("+flyToX+"px) translateY("+flyToY+"px)"})},1),setTimeout(function(){$flyout.detach()},1e3)}var $flyoutStart=$(".add-favourites__icon",element),$flyoutEnd=$(".js-flyout-end").first(),$flyout=$('<div class="flyout">').append($flyoutStart.clone());rnRemovableTrigger||element.on("click",function(e){e.preventDefault(),e.stopPropagation(),scope.$evalAsync(function(){scope.vm.toggleFav()})}),scope.$on("rnAddFavSuccess",function(eventObject,response){scope.vm.listingId===response.listing_id&&triggerFlyoutAnimation()})}}}}]),angular.module("rnFavourites").factory("rnFavouritesService",["$rootScope","User","$cookies","favouriteListingsService",function($rootScope,User,$cookies,favouriteListingsService){"use strict";function loadCache(){queuedFavouriteListingIds=$cookies.getObject("queuedFavouriteListingIds")||[],currentUser&&favouriteListingsService.query({},function(data){favouriteListings=data,queuedFavouriteListingIds.length&&handleQueue()},function(){})}function isFav(listing){var listingId=listing;return!!currentUser&&_.some(favouriteListings,{listing_id:listingId})}function addFav(listing){var listingId=listing;if(currentUser){if(isFav(listingId))return;favouriteListingsService.create({listing_id:listingId},function(response){favouriteListings.push(response),removeFromQueue(listingId),$rootScope.$broadcast("rnAddFavSuccess",response)},function(){}),ga("send","event","Favourite","Add","Success")}else User.showLoginModal({action:"favourite"}),addToQueue(listing),ga("send","event","Favourite","Add","Failure")}function addToQueue(listing){var expireDate,listingId=listing;isQueued(listingId)||(queuedFavouriteListingIds.push(listingId),(expireDate=new Date).setTime(expireDate.getTime()+864e5),$cookies.putObject("queuedFavouriteListingIds",queuedFavouriteListingIds,{expire:ex
70pireDate}))}function removeFromQueue(listing){var listingId=listing;_.remove(queuedFavouriteListingIds,function(n){return n===listingId}),$cookies.putObject("queuedFavouriteListingIds",queuedFavouriteListingIds)}function handleQueue(){_.each(queuedFavouriteListingIds,function(id){addFav(id)})}function isQueued(listingId){return-1!==_.indexOf(queuedFavouriteListingIds,listingId)}function removeFav(listing){var listingId=listing;if(currentUser){var favourite=_.find(favouriteListings,{listing_id:listingId});favourite&&favouriteListingsService.destroy({id:favourite.id},function(){_.remove(favouriteListings,favourite)},function(){})}else removeFromQueue(listingId)}function getFavListings(){return favouriteListings}var currentUser=User.getCurrent(),favouriteListings=[],queuedFavouriteListingIds=[];return loadCache(),{isFav:isFav,addFav:addFav,removeFav:removeFav,getFavListings:getFavListings}}]),angular.module("rnLeads",["rennie.shared"]),angular.module("rnLeads").controller("ListingSidebarLeadCtrl",["leadsService","$location","$anchorScroll","errorHandler","rnLeadsService","rnSuccess",function(leadsService,$location,$anchorScroll,errorHandler,rnLeadsService,rnSuccess){"use strict";function setContext(source_url,source_type,source_description,advisor_id){vm.lead=angular.extend(vm.lead,{source_url:source_url,source_type:source_type,source_description:source_description,advisor_id:advisor_id})}function addLead(lead){vm.processing=!0,vm.errors=null,leadsService.create(lead,function(){vm.submitted=!0;var options={headline:I18n.t("global.tenant.ask_question.headline"),body:I18n.t("global.tenant.ask_question.body")};rnSuccess.showSuccess(options),ga("send","event","Lead","Create",lead.source_type),RennieWoopra.track("listings_question","name",lead.name),RennieWoopra.track("listings_question","email",lead.email),RennieWoopra.track("listings_question","phone",lead.phone),RennieWoopra.track("listings_question","category",lead.help_with),RennieWoopra.track("listings_question","help_checkbox",!!lead.preapprove),RennieWoopra.track("listings_question","message",lead.comments)},function(response){vm.errors=errorHandler.respondToErrors(response),vm.processing=!1,$location.hash("ask-a-question"),$anchorScroll.yOffset=15,$anchorScroll()})}var vm=this;vm.lead=rnLeadsService.getLeadDefaults(),vm.processing=!1,vm.submitted=!1,vm.addLead=addLead,vm.setContext=setContext}]),angular.module("rnLeads").factory("rnLeadsService",["$modal","$cookies","User","leadsService","rnSuccess",function($modal,$cookies,User,leadsService,rnSuccess){"use strict";function showLeadModal(options){function closeModal(){leadModal.hide()}options=angular.extend(getLeadDefaults(),options);var leadModal=$modal({templateUrl:"/js_templates/lead_modal.html",show:!1,backdropAnimation:"am-fade",controller:["leadsService","errorHandler",function(leadsServicr,errorHandler){function init(){ga("send","event","Lead","Open",options.source_type)}function addLead(lead){vm.processing=!0,vm.errors=null,leadsService.create(lead,function(){vm.submitted=!0;var options={headline:vm.successMessage,body:null};closeModal(),rnSuccess.showSuccess(options),ga("send","event","Lead","Create",lead.source_type)},function(response){vm.errors=errorHandler.respondToErrors(response),vm.processing=!1})}var vm=this;vm.lead={name:options.name,phone:options.phone,email:options.email,
71scheduling_preference:options.scheduling_preference,comments:options.comments,source_url:options.source_url,source_type:options.source_type,source_description:options.source_description,advisor_id:options.advisor_id},vm.heading=options.heading,vm.intro=options.intro,vm.successMessage=options.successMessage,vm.submitted=!1,vm.addLead=addLead,init()}],controllerAs:"leadVm"});leadModal.$promise.then(leadModal.show)}function getLeadDefaults(){var currentUser=User.getCurrent();return{source_url:window.location.href,source_type:"",source_description:"",name:currentUser&&currentUser.firstName?currentUser.firstName+" "+currentUser.lastName:"",phone:currentUser?currentUser.phone:"",email:currentUser?currentUser.email:"",advisor_id:$cookies.get("advisor_id")||"",scheduling_preference:"",comments:"",heading:"",intro:"",successMessage:"Thanks for submitting your request."}}return{showLeadModal:showLeadModal,getLeadDefaults:getLeadDefaults}}]),angular.module("rnSuccess",["rennie.shared"]),angular.module("rnSuccess").factory("rnSuccess",["$modal","$sce",function($modal,$sce){"use strict";function showSuccess(options){var successModal=$modal({templateUrl:"success.tpl.html",show:!1,backdropAnimation:"am-fade modal--success",backdrop:!0,controller:[function(){var vm=this;
71vm.headline=$sce.trustAsHtml(options.headline),vm.body=$sce.trustAsHtml(options.body)}],controllerAs:"successModalVm"});successModal.$promise.then(successModal.show)}return{showSuccess:showSuccess}}]),
72/*! angularjs-slider - v2.4.0 - 
73 (c) Rafal Zajac <[email protected]>, Valentin Hervieu <[email protected]>, Jussi Saarivirta <[email protected]>, Angelin Sirbu <[email protected]> - 
74 https://github.com/angular-slider/angularjs-slider - 
75 2015-12-30 */
76function(root,factory){"use strict";"function"==typeof define&&define.amd?define(["angular"],factory):"object"==typeof module&&module.exports?module.exports=factory(require("angular")):factory(root.angular)}(this,function(angular){"use strict";var module=angular.module("rzModule",[]).factory("RzSliderOptions",function(){var defaultOptions={floor:0,ceil:null,step:1,precision:0,id:null,translate:null,stepsArray:null,draggableRange:!1,draggableRangeOnly:!1,showSelectionBar:!1,showSelectionBarEnd:!1,hideLimitLabels:!1,readOnly:!1,disabled:!1,interval:350,showTicks:!1,showTicksValues:!1,ticksTooltip:null,ticksValuesTooltip:null,vertical:!1,selectionBarColor:null,keyboardSupport:!0,scale:1,enforceRange:!1,onlyBindHandles:!1,onStart:null,onChange:null,onEnd:null},globalOptions={},factory={options:function(value){angular.extend(globalOptions,value)},getOptions:function(options){return angular.extend({},defaultOptions,globalOptions,options)}};return factory}).factory("rzThrottle",["$timeout",function($timeout){return function(func,wait,options){var context,args,result,getTime=Date.now||function(){return(new Date).getTime()},timeout=null,previous=0;options=options||{};var later=function(){previous=getTime(),timeout=null,result=func.apply(context,args),context=args=null};return function(){var now=getTime(),remaining=wait-(now-previous);return context=this,args=arguments,remaining<=0?($timeout.cancel(timeout),timeout=null,previous=now,result=func.apply(context,args),context=args=null):timeout||!1===options.trailing||(timeout=$timeout(later,remaining)),result}}}]).factory("RzSlider",["$timeout","$document","$window","$compile","RzSliderOptions","rzThrottle",function($timeout,$document,$window,$compile,RzSliderOptions,rzThrottle){var Slider=function(scope,sliderElem){this.scope=scope,this.sliderElem=sliderElem,this.range=this.scope.rzSliderModel!==undefined&&this.scope.rzSliderHigh!==undefined,this.dragging={active:!1,value:0,difference:0,offset:0,lowLimit:0,highLim
76it:0},this.positionProperty="left",this.dimensionProperty="width",this.handleHalfDim=0,this.maxPos=0,this.precision=0,this.step=1,this.tracking="",this.minValue=0,this.maxValue=0,this.valueRange=0,this.initHasRun=!1,this.internalChange=!1,this.fullBar=null,this.selBar=null,this.minH=null,this.maxH=null,this.flrLab=null,this.ceilLab=null,this.minLab=null,this.maxLab=null,this.cmbLab=null,this.ticks=null,this.init()};return Slider.prototype={init:function(){var thrLow,thrHigh,self=this,calcDimFn=function(){self.calcViewDimensions()};this.applyOptions(),this.initElemHandles(),this.manageElementsStyle(),this.setDisabledState(),this.calcViewDimensions(),this.setMinAndMax(),this.addAccessibility(),$timeout(function(){self.updateCeilLab(),self.updateFloorLab(),self.initHandles(),self.manageEventsBindings()}),this.scope.$on("reCalcViewDimensions",calcDimFn),angular.element($window).on("resize",calcDimFn),this.initHasRun=!0,thrLow=rzThrottle(function(){self.onLowHandleChange()},self.options.interval),thrHigh=rzThrottle(function(){self.onHighHandleChange()},self.options.interval),this.scope.$on("rzSliderForceRender",function(){self.resetLabelsValue(),thrLow(),self.range&&thrHigh(),self.resetSlider()}),this.scope.$watch("rzSliderOptions",function(newValue,oldValue){newValue!==oldValue&&(self.applyOptions(),self.resetSlider())},!0),this.scope.$watch("rzSliderModel",function(newValue,oldValue){self.internalChange||newValue!==oldValue&&thrLow()}),this.scope.$watch("rzSliderHigh",function(newValue,oldValue){self.internalChange||newValue!==oldValue&&(null!=newValue&&thrHigh(),(self.range&&null==newValue||!self.range&&null!=newValue)&&(self.applyOptions(),self.resetSlider()))}),this.scope.$on("$destroy",function(){self.unbindEvents(),angular.element($window).off("resize",calcDimFn)})},onLowHandleChange:function(){this.setMinAndMax(),this.updateLowHandle(this.valueToOffset(this.scope.rzSliderModel)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCmbLabel()},onHighHandleChange:function(){this.setMinAndMax(),this.updateHighHandle(this.valueToOffset(this.scope.rzSliderHigh)),this.updateSelectionBar(),this.updateTicksScale(),this.updateCmbLabel(),this.updateAriaAttributes()},applyOptions:function(){this.options=RzSliderOptions.getOptions(this.scope.rzSliderOptions),this.options.step<=0&&(this.options.step=1),this.range=this.scope.rzSliderModel!==undefined&&this.scope.rzSliderHigh!==undefined,this.options.draggableRange=this.range&&this.options.draggableRange,this.options.draggableRangeOnly=this.range&&this.options.draggableRangeOnly,this.options.draggableRangeOnly&&(this.options.draggableRange=!0),this.options.showTicks=this.options.showTicks||this.options.showTicksValues,this.scope.showTicks=this.options.showTicks,this.options.showSelectionBar=this.options.showSelectionBar||this.options.showSelectionBarEnd,this.options.stepsArray?(this.options.floor=0,this.options.ceil=this.options.stepsArray.length-1,this.options.step=1,this.customTrFn=function(value){return this.options.stepsArray[value]}):this.options.translate?this.customTrFn=this.options.translate:this.customTrFn=function(value){return String(value)},this.options.vertical&&(this.positionProperty="bottom",this.dimensionProperty="height")},resetSlider:function(){this.manageElementsStyle(),this.addAccessibility(),this.setMinAndMax(),this.updateCeilLab(),this.updateFloorLab(),this.unbindEvents(),this.manageEventsBindings(),this.setDisabledState(),this.calcViewDimensions()},initElemHandles:function(){angular.forEach(this.sliderElem.children(),function(elem,index){var jElem=angular.element(elem);switch(index){case 0:this.fullBar=jElem;break;case 1:this.selBar=jElem;break;case 2:this.minH=jElem;break;case 3:this.maxH=jElem;break;case 4:this.flrLab=jElem;break;case 5:this.ceilLab=jElem;break;case 6:this.minLab=jElem;break;case 7:this.maxLab=jElem;break;case 8:this.cmbLab=jElem;break;case 9:this.ticks=jElem}},this),this.selBar.rzsp=0,this.minH.rzsp=0,this.maxH.rzsp=0,this.flrLab.rzsp=0,this.ceilLab.rzsp=0,this.minLab.rzsp=0,this.maxLab.rzsp=0,this.cmbLab.rzsp=0},manageElementsStyle:function(){this.range?this.maxH.css("display",""):this.maxH.css("display","none"),this.alwaysHide(this.flrLab,this.options.showTicksValues||this.options.hideLimitLabels),this.alwaysHide(this.ceilLab,this.options.showTicksValues||this.options.hideLimitLabels),this.alwaysHide(this.minLab,this.options.showTicksValues),this.alwaysHide(this.maxLab,this.options.showTicksValues||!this.range),this.alwaysHide(this.cmbLab,this.options.showTicksValues||!this.range),this.alwaysHide(this.selBar,!this.range&&!this.options.showSelectionBar),this.options.vertical&&this.sliderElem.addClass("vertical"),this.options.draggableRange?this.selBar.addClass("rz-draggable"):this.selBar.removeClass("rz-draggable")},alwaysHide:function(el,hide){el.rzAlwaysHide=hide,hide?this.hideEl(el):this.showEl(el)},manageEventsBindings:function(){this.options.disabled||this.options.readOnly?this.unbindEvents():this.bindEvents()},setDisabledState:function(){this.options.disabled?this.sliderElem.attr("disabled","disabled"):this.sliderElem.attr("disabled",null)},resetLabelsValue:function(){this.minLab.rzsv=undefined,this.maxLab.rzsv=undefined},initHandles:function(){this.updateLowHandle(this.valueToOffset(this.scope.rzSliderModel)),this.range&&this.updateHighHandle(this.valueToOffset(this.scope.rzSliderHigh)),this.updateSelectionBar(),this.range&&this.updateCmbLabel(),this.updateTicksScale()},translateFn:function(value,label,useCustomTr){useCustomTr=useCustomTr===undefined||useCustomTr;var valStr=String(useCustomTr?this.customTrFn(value,this.options.id):value),getDimension=!1;(label.rzsv===undefined||label.rzsv.length!==valStr.length||label.rzsv.length>
760&&0===label.rzsd)&&(getDimension=!0,label.rzsv=valStr),label.text(valStr),getDimension&&this.getDimension(label)},setMinAndMax:function(){this.step=+this.options.step,this.precision=+this.options.precision,this.scope.rzSliderModel=this.roundStep(this.scope.rzSliderModel),this.range&&(this.scope.rzSliderHigh=this.roundStep(this.scope.rzSliderHigh)),this.minValue=this.roundStep(+this.options.floor),null!=this.options.ceil?this.maxValue=this.roundStep(+this.options.ceil):this.maxValue=this.options.ceil=this.range?this.scope.rzSliderHigh:this.scope.rzSliderModel,this.options.enforceRange&&(this.scope.rzSliderModel=this.sanitizeValue(this.scope.rzSliderModel),this.range&&(this.scope.rzSliderHigh=this.sanitizeValue(this.scope.rzSliderHigh))),this.valueRange=this.maxValue-this.minValue},addAccessibility:function(){this.minH.attr("role","slider"),this.updateAriaAttributes(),!this.options.keyboardSupport||this.options.readOnly||this.options.disabled?this.minH.attr("tabindex",""):this.minH.attr("tabindex","0"),this.options.vertical&&this.minH.attr("aria-orientation","vertical"),this.range&&(this.maxH.attr("role","slider"),!this.options.keyboardSupport||this.options.readOnly||this.options.disabled?this.maxH.attr("tabindex",""):this.maxH.attr("tabindex","0"),this.options.vertical&&this.maxH.attr("aria-orientation","vertical"))},updateAriaAttributes:function(){this.minH.attr({"aria-valuenow":this.scope.rzSliderModel,"aria-valuetext":this.customTrFn(this.scope.rzSliderModel),"aria-valuemin":this.minValue,"aria-valuemax":this.maxValue}),this.range&&this.maxH.attr({"aria-valuenow":this.scope.rzSliderHigh,"aria-valuetext":this.customTrFn(this.scope.rzSliderHigh),"aria-valuemin":this.minValue,"aria-valuemax":this.maxValue})},calcViewDimensions:function(){var handleWidth=this.getDimension(this.minH);this.handleHalfDim=handleWidth/2,this.barDimension=this.getDimension(this.fullBar),this.maxPos=this.barDimension-handleWidth,this.getDimension(this.sliderElem),this.sliderElem.rzsp=this.sliderElem[0].getBoundingClientRect()[this.positionProperty],this.initHasRun&&(this.updateFloorLab(),this.updateCeilLab(),this.initHandles())},updateTicksScale:function(){if(this.options.showTicks){var ticksCount=Math.round((this.maxValue-this.minValue)/this.step)+1;this.scope.ticks=[];for(var i=0;i<ticksCount;i++){var value=this.roundStep(this.minValue+i*this.step),tick={selected:this.isTickSelected(value)};tick.selected&&this.options.getSelectionBarColor&&(tick.style={"background-color":this.getSelectionBarColor()}),this.options.ticksTooltip&&(tick.tooltip=this.options.ticksTooltip(value),tick.tooltipPlacement=this.options.vertical?"right":"top"),this.options.showTicksValues&&(tick.value=this.getDisplayValue(value),this.options.ticksValuesTooltip&&(tick.valueTooltip=this.options.ticksValuesTooltip(value),tick.valueTooltipPlacement=this.options.vertical?"right":"top")),this.scope.ticks.push(tick)}}},isTickSelected:function(value){return!!(!this.range&&this.options.showSelectionBar&&value<=this.scope.rzSliderModel)||!!(this.range&&value>=this.scope.rzSliderModel&&value<=this.scope.rzSliderHigh)},updateCeilLab:function(){this.translateFn(this.maxValue,this.ceilLab),this.setPosition(this.ceilLab,this.barDimension-this.ceilLab.rzsd),this.getDimension(this.ceilLab)},updateFloorLab:function(){this.translateFn(this.minValue,this.flrLab),this.getDimension(this.flrLab)},callOnStart:function(){if(this.options.onStart){var self=this;$timeout(function(){self.options.onStart(self.options.id)})}},callOnChange:function(){if(this.options.onChange){var self=this;$timeout(function(){self.options.onChange(self.options.id)})}},callOnEnd:function(){if(this.options.onEnd){var self=this;$timeout(function(){self.options.onEnd(self.options.id)})}},updateHandles:function(which,newOffset){"rzSliderModel"===which?this.updateLowHandle(newOffset):"rzSliderHigh"===which&&this.updateHighHandle(newOffset),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCmbLabel()},updateLowHandle:function(newOffset){this.setPosition(this.minH,newOffset),this.translateFn(this.scope.rzSliderModel,this.minLab);var pos=Math.min(Math.max(newOffset-this.minLab.rzsd/2+this.handleHalfDim,0),this.barDimension-this.ceilLab.rzsd);this.setPosition(this.minLab,pos),this.shFloorCeil()},updateHighHandle:function(newOffset){this.setPosition(this.maxH,newOffset),this.translateFn(this.scope.rzSliderHigh,this.maxLab);var pos=Math.min(newOffset-this.maxLab.rzsd/2+this.handleHalfDim,this.barDimension-this.ceilLab.rzsd);this.setPosition(this.maxLab,pos),this.shFloorCeil()},shFloorCeil:function(){var flHidden=!1,clHidden=!1;this.minLab.rzsp<=this.flrLab.rzsp+this.flrLab.rzsd+5?(flHidden=!0,this.hideEl(this.flrLab)):(flHidden=!1,this.showEl(this.flrLab)),this.minLab.rzsp+this.minLab.rzsd>=this.ceilLab.rzsp-this.handleHalfDim-10?(clHidden=!0,this.hideEl(this.ceilLab)):(clHidden=!1,this.showEl(this.ceilLab)),this.range&&(this.maxLab.rzsp+this.maxLab.rzsd>=this.ceilLab.rzsp-10?this.hideEl(this.ceilLab):clHidden||this.showEl(this.ceilLab),this.maxLab.rzsp<=this.flrLab.rzsp+this.flrLab.rzsd+this.handleHalfDim?this.hideEl(this.flrLab):flHidden||this.showEl(this.flrLab))},updateSelectionBar:function(){var position=0,dimension=0;if(this.range||!this.options.showSelectionBarEnd?(dimension=Math.abs(this.maxH.rzsp-this.minH.rzsp)+this.handleHalfDim,position=this.range?this.minH.rzsp+this.handleHalfDim:0):(dimension=Math.abs(this.maxPos-this.minH.rzsp)+this.handleHalfDim,position=this.minH.rzsp+this.handleHalfDim),this.setDimension(this.selBar,dimension),this.setPosition(this.selBar,position),this.options.getSelectionBarColor){var color=this.getSelectionBarColor();this.scope.barStyle={backgroundColor:color}}},getSelectionBarColor:function(){return this.range?this.options.getSelectionBarColor(this.scope.rzSliderModel,this.scope.rzSliderHigh):this.options.getSelectionBarColor(this.scope.rzSliderModel)},updateCmbLabel:function(){var lowTr,highTr;if(this.minLab.rzsp+this.minLab.rzsd+10>=this.maxLab.rzsp){lowTr=this.getDisplayValue(this.scope.rzSliderModel),highTr=this.getDisplayValue(this.scope.rzSliderHigh),this.translateFn(lowTr+" - "+highTr,this.cmbLab,!1);var pos=Math.min(Math.max(this.selBar.rzsp+this.selBar.rzsd/2-this.cmbLab.rzsd/2,0),this.barDimension-this.cmbLab.rzsd);this.setPosition(this.cmbLab,pos),this.hideEl(this.minLab),this.hideEl(this.maxLab),this.showEl(this.cmbLab)}else this.showEl(this.maxLab),this.showEl(this.minLab),this.hideEl(this.cmbLab)},getDisplayValue:function(value){return this.customTrFn(value,this.options.id)},roundStep:function(value){var steppedValue=parseFloat(value/this.step).toPrecision(12);return+(steppedValue=(steppedValue=Math.round(steppedValue)*this.step).toFixed(this.precision))},hideEl:function(element){return element.css({opacity:0}
76)},showEl:function(element){return element.rzAlwaysHide?element:element.css({opacity:1})},setPosition:function(elem,pos){elem.rzsp=pos;var css={};return css[this.positionProperty]=pos+"px",elem.css(css),pos},getDimension:function(elem){var val=elem[0].getBoundingClientRect();return this.options.vertical?elem.rzsd=(val.bottom-val.top)*this.options.scale:elem.rzsd=(val.right-val.left)*this.options.scale,elem.rzsd},setDimension:function(elem,dim){elem.rzsd=dim;var css={};return css[this.dimensionProperty]=dim+"px",elem.css(css),dim},valueToOffset:function(val){return(this.sanitizeValue(val)-this.minValue)*this.maxPos/this.valueRange||0},sanitizeValue:function(val){return Math.min(Math.max(val,this.minValue),this.maxValue)},offsetToValue:function(offset){return offset/this.maxPos*this.valueRange+this.minValue},getEventXY:function(event){var clientXY=this.options.vertical?"clientY":"clientX";return clientXY in event?event[clientXY]:event.originalEvent===undefined?event.touches[0][clientXY]:event.originalEvent.touches[0][clientXY]},getEventPosition:function(event){var sliderPos=this.sliderElem.rzsp;return((this.options.vertical?-this.getEventXY(event)+sliderPos:this.getEventXY(event)-sliderPos)-this.handleHalfDim)*this.options.scale},getEventNames:function(event){var eventNames={moveEvent:"",endEvent:""};return event.touches||event.originalEvent!==undefined&&event.originalEvent.touches?(eventNames.moveEvent="touchmove",eventNames.endEvent="touchend"):(eventNames.moveEvent="mousemove",eventNames.endEvent="mouseup"),eventNames},getNearestHandle:function(event){if(!this.range)return this.minH;var offset=this.getEventPosition(event);return Math.abs(offset-this.minH.rzsp)<Math.abs(offset-this.maxH.rzsp)?this.minH:this.maxH},focusElement:function(el){el[0].focus()},bindEvents:function(){var barTracking,barStart,barMove;this.options.draggableRange?(barTracking="rzSliderDrag",barStart=this.onDragStart,barMove=this.onDragMove):(barTracking="rzSliderModel",barStart=this.onStart,barMove=this.onMove),this.options.onlyBindHandles||(this.selBar.on("mousedown",angular.bind(this,barStart,null,barTracking)),this.selBar.on("mousedown",angular.bind(this,barMove,this.selBar))),this.options.draggableRangeOnly?(this.minH.on("mousedown",angular.bind(this,barStart,null,barTracking)),this.maxH.on("mousedown",angular.bind(this,barStart,null,barTracking))):(this.minH.on("mousedown",angular.bind(this,this.onStart,this.minH,"rzSliderModel")),this.range&&this.maxH.on("mousedown",angular.bind(this,this.onStart,this.maxH,"rzSliderHigh")),this.options.onlyBindHandles||(this.fullBar.on("mousedown",angular.bind(this,this.onStart,null,null)),this.fullBar.on("mousedown",angular.bind(this,this.onMove,this.fullBar)),this.ticks.on("mousedown",angular.bind(this,this.onStart,null,null)),this.ticks.on("mousedown",angular.bind(this,this.onMove,this.ticks)))),this.options.onlyBindHandles||(this.selBar.on("touchstart",angular.bind(this,barStart,null,barTracking)),this.selBar.on("touchstart",angular.bind(this,barMove,this.selBar))),this.options.draggableRangeOnly?(this.minH.on("touchstart",angular.bind(this,barStart,null,barTracking)),this.maxH.on("touchstart",angular.bind(this,barStart,null,barTracking))):(this.minH.on("touchstart",angular.bind(this,this.onStart,this.minH,"rzSliderModel")),this.range&&this.maxH.on("touchstart",angular.bind(this,this.onStart,this.maxH,"rzSliderHigh")),this.options.onlyBindHandles||(this.fullBar.on("touchstart",angular.bind(this,this.onStart,null,null)),this.fullBar.on("touchstart",angular.bind(this,this.onMove,this.fullBar)),this.ticks.on("touchstart",angular.bind(this,this.onStart,null,null)),this.ticks.on("touchstart",angular.bind(this,this.onMove,this.ticks)))),this.options.keyboardSupport&&(this.minH.on("focus",angular.bind(this,this.onPointerFocus,this.minH,"rzSliderModel")),this.range&&this.maxH.on("focus",angular.bind(this,this.onPointerFocus,this.maxH,"rzSliderHigh")))},unbindEvents:function(){this.minH.off(),this.maxH.off(),this.fullBar.off(),this.selBar.off(),this.ticks.off()},onStart:function(pointer,ref,event){var ehMove,ehEnd,eventNames=this.getEventNames(event);event.stopPropagation(),event.preventDefault(),this.calcViewDimensions(),pointer?this.tracking=ref:(pointer=this.getNearestHandle(event),this.tracking=pointer===this.minH?"rzSliderModel":"rzSliderHigh"),pointer.addClass("rz-active"),this.options.keyboardSupport&&this.focusElement(pointer),ehMove=angular.bind(this,this.dragging.active?this.onDragMove:this.onMove,pointer),ehEnd=angular.bind(this,this.onEnd,ehMove),$document.on(eventNames.moveEvent,ehMove),$document.one(eventNames.endEvent,ehEnd),this.callOnStart()},onMove:function(pointer,event){var newValue,newOffset=this.getEventPosition(event);if(newOffset<=0){if(0===pointer.rzsp)return;newValue=this.minValue,newOffset=0}else if(newOffset>=this.maxPos){if(pointer.rzsp===this.maxPos)return;newValue=this.maxValue,newOffset=this.maxPos}else newValue=this.offsetToValue(newOffset),newValue=this.roundStep(newValue),newOffset=this.valueToOffset(newValue);this.positionTrackingHandle(newValue,newOffset)},onEnd:function(ehMove,event){var moveEventName=this.getEventNames(event).moveEvent;this.options.keyboardSupport||(this.minH.removeClass("rz-active"),this.maxH.removeClass("rz-active"),this.tracking=""),this.dragging.active=!1,$document.off(moveEventName,ehMove),this.scope.$emit("slideEnded"),this.callOnEnd()},onPointerFocus:function(pointer,ref){this.tracking=ref,pointer.one("blur",angular.bind(this,this.onPointerBlur,pointer)),pointer.on("key
76down",angular.bind(this,this.onKeyboardEvent)),pointer.addClass("rz-active")},onPointerBlur:function(pointer){pointer.off("keydown"),this.tracking="",pointer.removeClass("rz-active")},onKeyboardEvent:function(event){var currentValue=this.scope[this.tracking],keyCode=event.keyCode||event.which,keys={38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"},action={UP:currentValue+this.step,DOWN:currentValue-this.step,LEFT:currentValue-this.step,RIGHT:currentValue+this.step,PAGEUP:currentValue+this.valueRange/10,PAGEDOWN:currentValue-this.valueRange/10,HOME:this.minValue,END:this.maxValue}[keys[keyCode]];if(null!=action&&""!==this.tracking){event.preventDefault();var newValue=this.roundStep(this.sanitizeValue(action)),newOffset=this.valueToOffset(newValue);if(this.options.draggableRangeOnly){var newMinOffset,newMaxOffset,newMinValue,newMaxValue,difference=this.scope.rzSliderHigh-this.scope.rzSliderModel;"rzSliderModel"===this.tracking?(newMinValue=newValue,newMinOffset=newOffset,(newMaxValue=newValue+difference)>this.maxValue&&(newMinValue=(newMaxValue=this.maxValue)-difference,newMinOffset=this.valueToOffset(newMinValue)),newMaxOffset=this.valueToOffset(newMaxValue)):(newMaxValue=newValue,newMaxOffset=newOffset,(newMinValue=newValue-difference)<this.minValue&&(newMaxValue=(newMinValue=this.minValue)+difference,newMaxOffset=this.valueToOffset(newMaxValue)),newMinOffset=this.valueToOffset(newMinValue)),this.positionTrackingBar(newMinValue,newMaxValue,newMinOffset,newMaxOffset)}else this.positionTrackingHandle(newValue,newOffset)}},onDragStart:function(pointer,ref,event){var offset=this.getEventPosition(event);this.dragging={active:!0,value:this.offsetToValue(offset),difference:this.scope.rzSliderHigh-this.scope.rzSliderModel,lowLimit:offset-this.minH.rzsp,highLimit:this.maxH.rzsp-offset},this.onStart(pointer,ref,event)},onDragMove:function(pointer,event){var newMinOffset,newMaxOffset,newMinValue,newMaxValue,newOffset=this.getEventPosition(event);if(newOffset<=this.dragging.lowLimit){if(0===this.minH.rzsp)return;newMinValue=this.minValue,newMinOffset=0,newMaxValue=this.minValue+this.dragging.difference,newMaxOffset=this.valueToOffset(newMaxValue)}else if(newOffset>=this.maxPos-this.dragging.highLimit){if(this.maxH.rzsp===this.maxPos)return;newMaxValue=this.maxValue,newMaxOffset=this.maxPos,newMinValue=this.maxValue-this.dragging.difference,newMinOffset=this.valueToOffset(newMinValue)}else newMinValue=this.offsetToValue(newOffset-this.dragging.lowLimit),newMinValue=this.roundStep(newMinValue),newMinOffset=this.valueToOffset(newMinValue),newMaxValue=newMinValue+this.dragging.difference,newMaxOffset=this.valueToOffset(newMaxValue);this.positionTrackingBar(newMinValue,newMaxValue,newMinOffset,newMaxOffset)},positionTrackingBar:function(newMinValue,newMaxValue,newMinOffset,newMaxOffset){this.scope.rzSliderModel=newMinValue,this.scope.rzSliderHigh=newMaxValue,this.updateHandles("rzSliderModel",newMinOffset),this.updateHandles("rzSliderHigh",newMaxOffset),this.applyModel()},positionTrackingHandle:function(newValue,newOffset){var valueChanged=!1,switched=!1;return this.range&&("rzSliderModel"===this.tracking&&newValue>=this.scope.rzSliderHigh?(switched=!0,this.scope[this.tracking]=this.scope.rzSliderHigh,this.updateHandles(this.tracking,this.maxH.rzsp),this.updateAriaAttributes(),this.tracking="rzSliderHigh",this.minH.removeClass("rz-active"),this.maxH.addClass("rz-active"),this.options.keyboardSupport&&this.focusElement(this.maxH),valueChanged=!0):"rzSliderHigh"===this.tracking&&newValue<=this.scope.rzSliderModel&&(switched=!0,this.scope[this.tracking]=this.scope.rzSliderModel,this.updateHandles(this.tracking,this.minH.rzsp),this.updateAriaAttributes(),this.tracking="rzSliderModel",this.maxH.removeClass("rz-active"),this.minH.addClass("rz-active"),this.options.keyboardSupport&&this.focusElement(this.minH),valueChanged=!0)),this.scope[this.tracking]!==newValue&&(this.scope[this.tracking]=newValue,this.updateHandles(this.tracking,newOffset),this.updateAriaAttributes(),valueChanged=!0),valueChanged&&this.applyModel(),switched},applyModel:function(){this.internalChange=!0,this.scope.$apply(),this.callOnChange(),this.internalChange=!1}},Slider}]).directive("rzslider",["RzSlider",function(RzSlider){return{restrict:"E",scope:{rzSliderModel:"=?",rzSliderHigh:"=?",rzSliderOptions:"=?",rzSliderTplUrl:"@"},templateUrl:function(elem,attrs){return attrs.rzSliderTplUrl||"rzSliderTpl.html"},link:function(scope,elem){scope.slider=new RzSlider(scope,elem)}}}]);return module.run(["$templateCache",function($templateCache){$templateCache.put("rzSliderTpl.html",'<span class=rz-bar-wrapper><span class=rz-bar></span></span> <span class=rz-bar-wrapper><span class="rz-bar rz-selection" ng-style=barStyle></span></span> <span class=rz-pointer></span> <span class=rz-pointer></span> <span class="rz-bubble rz-limit"></span> <span class="rz-bubble rz-limit"></span> <span class=rz-bubble></span> <span class=rz-bubble></span> <span class=rz-bubble></span><ul ng-show=showTicks class=rz-ticks><li ng-repeat="t in ticks track by $index" class=tick ng-class="{selected: t.selected}" ng-style=t.style ng-attr-uib-tooltip="{{ t.tooltip }}" ng-attr-tooltip-placement={{t.tooltipPlacement}} ng-attr-tooltip-append-to-body="{{ t.tooltip ? true : undefined}}"><span ng-if="t.value != null" class=tick-value ng-attr-uib-tooltip="{{ t.valueTooltip }}" ng-attr-tooltip-placement={{t.valueTooltipPlacement}}>{{ t.value }}</span></li></ul>')}]),module}),appear=function(){"use strict";function e(){var e=window.scrollY||window.pageYOffset;null!=n&&(o.velocity=e-n,o.delta=o.velocity>=0?o.velocity:-1*o.velocity),n=e,i&&clearTimeout(i),i=setTimeout(function(){n=null},30)}function t(e,t){var n=e.getBoundingClientRect();return n.top+n.height>=0&&n.left+n.width>=0&&n.bottom-n.height<=(window.innerHeight||document.documentElement.clientHeight)+t&&n.right-n.width<=(window.innerWidth||document.documentElement.clientWidth)+t}var n=null,i=0,o={};return addEventListener("scroll",e,!1),function(e){return function(){function e(e,t){return function(){var n=this,i=arguments;clearTimeout(p),p=setTimeout(function(){e.apply(n,i)},t)}}function n(){o.delta<w.delta.speed&&(l||(l=!0,u(),setTimeout(function(){l=!1},w.delta.timeout))),e(function(){u()},w.debounce)()}function i(){u(),addEventListener("scroll",n,!1),addEventListener("resize",n,!1)}function r(){m=[],p&&clearTimeout(p),a()}function a(){removeEventListener("scroll",n,!1),removeEventListener("resize",n,!1)}function u(){s||(m.forEach(function(e,n){e&&t(e,w.bounds)?v[n]&&(v[n]=!1,h++,w.appear&&w.appear(e),w.disappear||w.reappear||(m[n]=null)):(!1===v[n]&&(w.disappear&&w.disappear(e),g++,w.reappear||(m[n]=null)),v[n]=!0)}),w.reappear||w.appear&&(!w.appear||h!==c)||w.disappear&&(!w.disappear||g!==c)||(s=!0,a(),w.done&&w.done()))}function d(){var e;if(!f&&(f=!0,w.init&&w.init(),e="function"==typeof w.elements?w.elements():w.elements)){c=e.length;for(var t=0;c>t;t+=1)m.push(e[t]),v.push(!0);i()}}
76var c,p,l,s,f=!1,m=[],v=[],h=0,g=0,w={};return function(e){return w={init:(e=e||{}).init,elements:e.elements,appear:e.appear,disappear:e.disappear,done:e.done,reappear:e.reappear,bounds:e.bounds||0,debounce:e.debounce||50,delta:{speed:e.deltaSpeed||50,timeout:e.deltaTimeout||500}},addEventListener("DOMContentLoaded",d,!1),("complete"===document.readyState||"loaded"===document.readyState||"interactive"===document.readyState)&&d(),{trigger:function(){u()},pause:function(){a()},resume:function(){i()},destroy:function(){r()}}}}()(e)}}(),function(root,factory){"function"==typeof define&&define.amd?define([],factory):"object"==typeof exports?module.exports=factory():root.download=factory()}(this,function(){return function download(data,strFileName,strMimeType){function dataUrlToBlob(strUrl){for(var parts=strUrl.split(/[:;,]/),type=parts[1],binData=("base64"==parts[strUrl.indexOf("charset")>0?3:2]?atob:decodeURIComponent)(parts.pop()),mx=binData.length,i=0,uiArr=new Uint8Array(mx);i<mx;++i)uiArr[i]=binData.charCodeAt(i);return new myBlob([uiArr],{type:type})}function saver(url,winMode){if("download"in anchor)return anchor.href=url,anchor.setAttribute("download",fileName),anchor.className="download-js-link",anchor.innerHTML="downloading...",anchor.style.display="none",anchor.addEventListener("click",function(e){e.stopPropagation(),this.removeEventListener("click",arguments.callee)}),document.body.appendChild(anchor),setTimeout(function(){anchor.click(),document.body.removeChild(anchor),!0===winMode&&setTimeout(function(){self.URL.revokeObjectURL(anchor.href)},250)},66),!0;if(/(Version)\/(\d+)\.(\d+)(?:\.(\d+))?.*Safari\//.test(navigator.userAgent))return/^data:/.test(url)&&(url="data:"+url.replace(/^data:([\w\/\-\+]+)/,defaultMime)),window.open(url)||confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")&&(location.href=url),!0;var f=document.createElement("iframe");document.body.appendChild(f),!winMode&&/^data:/.test(url)&&(url="data:"+url.replace(/^data:([\w\/\-\+]+)/,defaultMime)),f.src=url,setTimeout(function(){document.body.removeChild(f)},333)}var blob,reader,self=window,defaultMime="application/octet-stream",mimeType=strMimeType||defaultMime,payload=data,url=!strFileName&&!strMimeType&&payload,anchor=document.createElement("a"),toString=function(a){return String(a)},myBlob=self.Blob||self.MozBlob||self.WebKitBlob||toString,fileName=strFileName||"download";if(myBlob=myBlob.call?myBlob.bind(self):Blob,"true"===String(this)&&(mimeType=(payload=[payload,mimeType])[0],payload=payload[1]),url&&url.length<2048&&(fileName=url.split("/").pop().split("?")[0],anchor.href=url,-1!==anchor.href.indexOf(url))){var ajax=new XMLHttpRequest;return ajax.open("GET",url,!0),ajax.responseType="blob",ajax.onload=function(e){download(e.target.response,fileName,defaultMime)},setTimeout(function(){ajax.send()},0),ajax}if(/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(payload)){if(!(payload.length>2096103.424&&myBlob!==toString))return navigator.msSaveBlob?navigator.msSaveBlob(dataUrlToBlob(payload),fileName):saver(payload);mimeType=(payload=dataUrlToBlob(payload)).type||defaultMime}else if(/([\x80-\xff])/.test(payload)){for(var i=0,tempUiArr=new Uint8Array(payload.length),mx=tempUiArr.length;i<mx;++i)tempUiArr[i]=payload.charCodeAt(i);payload=new myBlob([tempUiArr],{type:mimeType})}if(blob=payload instanceof myBlob?payload:new myBlob([payload],{type:mimeType}),navigator.msSaveBlob)return navigator.msSaveBlob(blob,fileName);if(self.URL)saver(self.URL.createObjectURL(blob),!0);else{if("string"==typeof blob||blob.constructor===toString)try{return saver("data:"+mimeType+";base64,"+self.btoa(blob))}catch(y){return saver("data:"+mimeType+","+encodeURIComponent(blob))}(reader=new FileReader).onload=function(){saver(this.result)},reader.readAsDataURL(blob)}return!0}}),window.app=window.app||{},app.carousel=function($){"use strict";function init(){$(selector).each(function(){var options={};if($(this).hasClass("js-carousel-grouped")&&(options.margin=6,options.stagePadding=3),$(this).hasClass("carousel--homepage")&&(options.dots=!0),$(this).hasClass("carousel-listing")){var items=$(this).children().length>3?3:1;options.dots=!0,options.items=items,options.autoWidth=!0,options.responsive={0:{items:1,nav:!0,dots:!1},640:{items:3===items?2:1,nav:!0,dots:!0},720:{items:items,nav:!0,dots:!0}}}$(this).hasClass("carousel-listing--double")&&(options.dots=!0,options.items=2,options.nav=!0,options.responsive={0:{items:1,nav:!0,dots:!1},640:{items:1}}),$(this).hasClass("carousel--blog-post")&&(options.dots=!1,options.autoWidth=!0,options.responsive={640:{dots:!0}}),$(this).hasClass("carousel-listing--tenant")&&(options.dots=!0,options.items=1,options.stagePadding=120,options.autoWidth=!0,options.responsive={0:{stagePadding:24,nav:!0,dots:!1},640:{stagePadding:60,nav:!0,dots:!1},720:{stagePadding:120}}),initCarousel(this,options)})}function initCarousel(element,options){function carouselInitComplete(){$element.hasClass("carousel--content")&&$(".owl-dots",$element).addClass("owl-dots--content-aligned");$element.hasClass("carousel--pagination")&&(createPagination(),updatePagination()),$element.hasClass("carousel--featured")&&moveIconsInside(),fadeCarouselIn(),stopLinkPropagation(),loadNextLazyImg()}function moveIconsInside(){$element.closest(".listings__item").find(".listings__icons").appendTo($element)}function loadNextLazyImg(){var current=$(".owl-item.active",$element);_.times(preloadTimes,function(){current.next().find("img.owl-lazy").each(lazyLoadWithin),current=current.next()})}function loadAllLazyImg(){
77$("img.owl-lazy",$element).each(lazyLoadWithin)}function lazyLoadWithin(){$(this).removeClass("owl-lazy").attr("src",$(this).data("src"))}function updatePagination(){if($element.hasClass("carousel--pagination")){var totalItems=$(".owl-item:not(.cloned)",$element).length,activeItem=$(".owl-item.active:not(.cloned)",$element).prevAll(".owl-item:not(.cloned)").size()+1;$(".carousel__pagination-current").html(activeItem),$(".carousel__pagination-total").html(totalItems)}}
77function stopLinkPropagation(){$(carouselNext).add(carouselPrev).on("click",function(event){event.preventDefault()})}function fadeCarouselIn(){setTimeout(function(){$element.addClass("is-visible")},250)}function createPagination(){var totalItems=$(".owl-item",$element).length;$(".owl-item.active",$element).index();$element.append('<div class="carousel__pagination"><div class="carousel__pagination-current">1</div> of <div class="carousel__pagination-total">'+totalItems+"</div></div>")}var $element=$(element),preloadTimes=$(element).data("carousel-preload")||1;if($element.children().length<2)return loadAllLazyImg(),void($element.hasClass("carousel--featured")&&moveIconsInside());options=options||{},options=$.extend({items:1,nav:!0,dots:dots||!1,loop:!0,lazyLoad:!0,mouseDrag:!1,center:!0,onInitialized:carouselInitComplete,onTranslated:function(){updatePagination(),loadNextLazyImg()},onRefresh:function(){$element.next(".listings__details").addClass("u-unflex")},onRefreshed:function(){$element.next(".listings__details").removeClass("u-unflex")}},options);$element.owlCarousel(options)}var dots,selector=".js-carousel",carouselNext=".owl-next",carouselPrev=".owl-prev";return $(window).on("load",init),{initCarousel:initCarousel}}(jQuery),window.app=window.app||{},app.breakpoints=function(){"use strict";return{full:1400,large:1200,big:960,mid:820,small:600,smaller:420}}(),function($,Harvey,breakpoints){"use strict";$(function(){Harvey.attach("(min-width:"+breakpoints.mid+"px)",{})})}(jQuery,Harvey,app.breakpoints),function($,Harvey,breakpoints){"use strict";var body="body",masthead=".masthead__content",mobileNavMarkup='<div class="mobile-nav"><a href="#" class="mobile-nav__close">close</a><a href="#" class="mobile-nav__close mobile-nav__secondary-close">close</a><div class="mobile-nav__content"></div></div>',mobileNav=".mobile-nav__content",mainNav=".main-nav",mainLink=".main-nav__link",utilityNav=".utility-nav",utilityLink=".utility-nav__link",menuButtonMarkup='<a href="#" class="masthead__mobile-link"><img style="width:30px; margin-top:10px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlklEQVR4nO3ZwQkCMQAEwFV8+bEPe7Aoe7MKsQM78GcF2oDg4RFWzxnIL4TNfhKSBAAAgJcuSR4/Ok7vNrf+qJIFUUA7QJsC2gHaNhPmHJPsRgcZ5NYOAAB8r9WEOfsk29FBBrknuc5dxHvAkimgHaBNAe0AbY5BAOBvTbkIHfLbHyPnuYt4D1gyBbQDtCmgHQAAAICCJzBKlYZ09zQzAAAAAElFTkSuQmCC" /></a>',menuButton=".masthead__mobile-link",closeButton=".mobile-nav__close",hasMobileNav="has-mobile-nav",hasSubmenu=".has-submenu",isOpen="is-open",isVisible="is-visible",breakpoint="";$(function(){function bindMobileNavOpen(){$(menuButton,masthead).on("click.mobileNav",function(event){event.preventDefault(),$(body).addClass(hasMobileNav)})}function bindMobileNavClose(){$(closeButton,masthead).on("click.mobileNav",function(event){event.preventDefault(),$(body).removeClass(hasMobileNav)})}function bindMobileSubmenu(){$(utilityLink,hasSubmenu).add(mainLink,hasSubmenu).on("click.mobileNav",function(event){event.preventDefault(),$(this).toggleClass(isOpen),$(this).next().toggleClass(isVisible)})}breakpoint=$(mainNav).hasClass("admin-breakpoint")?breakpoints.large:breakpoints.big,Harvey.attach("(max-width:"+breakpoint+"px)",{on:function(){$(menuButtonMarkup).appendTo(masthead),$(mobileNavMarkup).appendTo(masthead),$(mainNav).fold().appendTo(mobileNav),$(utilityNav).fold().appendTo(mobileNav),bindMobileNavOpen(),bindMobileNavClose(),bindMobileSubmenu()},off:function(){$(mainNav).fold("restore"),$(utilityNav).fold("restore"),$(mobileNav).remove(),$(menuButton,masthead).remove(),$(body).removeClass(hasMobileNav),$(menuButton,masthead).off("click.mobileNav"),$(closeButton,masthead).off("click.mobileNav"),$(utilityLink,hasSubmenu).add(mainLink,hasSubmenu).off("click.mobileNav")}})})}(jQuery,Harvey,app.breakpoints),function($,Harvey,breakpoints){$(window).on("load",function(){function bindAccordion(){$(".accordion-toggle").unbind(),$(".accordion-content").hide(),$(".accordion-toggle").click(function(){$(this).next().slideToggle("fast"),$(".accordion-content").not($(this).next()).slideUp("fast")})}$(window).width()>breakpoints.small&&$(window).width()<breakpoints.mid&&bindAccordion(),Harvey.attach("(max-width:"+breakpoints.small+"px)",{on:function(){$(".site-footer__c
77ontact-details").detach().insertAfter(".footer-has-submenu"),bindAccordion()},off:function(){$(".site-footer__contact-details").detach().insertAfter(".site-footer__header")}}),Harvey.attach("(min-width:"+breakpoints.mid+"px)",{on:function(){$(".site-footer__contact-details").detach().insertAfter(".site-footer__header"),$(".accordion-content").slideDown("fast"),$(".accordion-toggle").unbind()},off:function(){bindAccordion()}})})}(jQuery,Harvey,app.breakpoints),function($,appear,Harvey,breakpoints){"use strict";function bindRemoveTimeout(){setTimeout(function(){$(alertBannerModifierElement).addClass(toggleClass)},2e3),setTimeout(function(){$(alertBannerModifierElement).remove()},2500)}var alertBanner=".alert-banner",alertBannerModifier="alert-banner--alt",alertBannerModifierElement=".alert-banner--alt",backTop="back-top",closeLink=".utility-links--close",toggleClass="is-hidden";$(function(){$(closeLink,alertBanner).on("click",function(element){element.preventDefault(),$(alertBanner).addClass(toggleClass),setTimeout(function(){$(alertBanner).remove()},500)})}),$(window).on("load",function(){$(alertBanner).hasClass(alertBannerModifier)?bindRemoveTimeout():appear({elements:function(){return document.getElementsByClassName(backTop)},appear:function(){$(alertBanner).addClass(toggleClass)},disappear:function(){$(alertBanner).removeClass(toggleClass)},bounds:0,reappear:!0,debounce:10}),$(alertBanner).length&&Harvey.attach("(max-width:"+breakpoints.mid+"px)",{on:function(){$(alertBanner).fold().prependTo(".l-main")},off:function(){$(alertBanner).fold("restore")}})})}(jQuery,appear,Harvey,app.breakpoints),function(){"use strict";angular.module("rennie",["rennie.shared","ngMessages","checklist-model","mgcrea.ngStrap.dropdown","mgcrea.ngStrap.collapse","brantwills.paging","rzModule","rnLeads","rnSuccess","rnSearch","rnFavourites"]).config(["$locationProvider",function($locationProvider){$locationProvider.html5Mode({enabled:!0,rewriteLinks:!1})}]).config(["$httpProvider",function($httpProvider){var email=window.config&&window.config.userId?window.config.userId:null;email&&$httpProvider.interceptors.push(function(){return{request:function(config){return config.headers["X-Hawaii-Life-User-Email"]=email,config}}})}]).config(["$modalProvider",function($modalProvider){angular.extend($modalProvider.defaults,{container:"body",backdropAnimation:"modal-backdrop--invisible"})}]).config(["$collapseProvider",function($collapseProvider){angular.extend($collapseProvider.defaults,{startCollapsed:!0})}])}(),angular.module("rennie").controller("AdvisorSearchCtrl",["$scope","$location","$q","$timeout","advisors",function($scope,$location,$q,$timeout,advisors){"use strict";function blockPushState(){return!(1!==$scope.queryString.length||!initial_load)}function track(){blockPushState()||$scope.queryString.length>1&&$scope.agentSearch()}var initial_load=!0;$scope.params=$location.search(),$scope.queryString="",$scope.agentSearch=function(){0,$scope.params.query=$scope.queryString,advisors.query($scope.params,function(data){$scope.advisors=data,setTimeout(function(){initial_load=!1},500),0})},$scope.resetSearch=function(){$scope.queryString=""},$scope.$watch("queryString",function(newValue){_.isObject(newValue)&&(window.location=newValue.path)}),$scope.$watch("queryString",track),$scope.selectAgent=function(searchTerm){var path="/agents?query="+searchTerm;window.location=path},$scope.searchAgents=function(viewValue){var deferred=$q.defer();return _.isEmpty(viewValue)?deferred.resolve([]):_.isString(viewValue)&&viewValue.length>1&&advisors.query($scope.params,function(data){deferred.resolve(data),setTimeout(function(){initial_load=!1},500)}),deferred.promise}}]),angular.module("rennie").controller("AccountAdvisorCtrl",["$scope","User","AlertService","rnLeadsService",function($scope,User,AlertService,rnLeadsService){"use strict";$scope.currentUser=User.getCurrent(),$scope.removeAdvisorId=function(){User.removeAdvisorId()},$scope.removePrompt=!1,$scope.showEmailAdvisorModal=function(advisorId,name){var options={source_type:"Advisor Page",heading:"Email Me",advisor_id:advisorId,success_mesage:"Thanks for getting in touch. "+(name=name||"We")+" will follow up with you."};rnLeadsService.showLeadModal(options)}}]),angular.module("rennie").controller("AdvisorIndexCtrl",["$scope","User","$location","advisors","$timeout","$anchorScroll","$modal","AlertService","rnLeadsService",function($scope,User,$location,advisors,$timeout,$anchorScroll,$modal,AlertService){"use strict";function blockPushState(){return!(1!==Object.getOwnPropertyNames($location.search()).length||1!==parseInt($scope.params.page)||!initial_load)}function trackPage(){blockPushState()||(updateUrlParamsFromScope(),initial_load||$scope.search())}function track(){blockPushState()||(updateUrlParamsFromScope(),initial_load||$scope.search(),initial_load||($scope.params.page=1))}
77function setFiltersFromParams(){if(console.log("$scope.params",$scope.params),$scope.params.area_of_service_id&&($scope.filtersForm.area_of_service={id:parseInt($scope.params.area_of_service_id,10)}),$scope.params.island&&($scope.filtersForm.island.slug=$scope.params.island),$scope.params.language_id&&($scope.filtersForm.language.id=$scope.params.language_id),$scope.params.product_specialty_ids){var ids=$scope.params.product_specialty_ids.split(",");angular.forEach(ids,function(val){$scope.filtersForm.product_specialties["product_specialty_"+val.toString()]=parseInt(val)})}}function updateUrlParamsFromScope(){$location.url($location.path()),Object.keys($scope.params).map(function(key){$location.search(key,$scope.params[key])}),RennieWoopra.track("agent_search","url",$location.url())}function sendGAScript(){var gaPageViewPath=(location.pathname+location.search).substring(1);ga("set","page",gaPageViewPath),ga("send","pageview")}$scope.init=function(island,area_of_services){$scope.filtersForm.island={slug:island},$scope.filters.island={slug:island},$scope.params.island=island,$scope.all_area_of_services=angular.copy(area_of_services),$scope.area_of_services=area_of_services,$scope.filters.area_of_service=null,$scope.area_of_service=null,$scope.params.island&&$scope.params.island.length&&($scope.area_of_services=$scope.all_area_of_services.filter(function(a){if(a.island===island)return!0}));var p=$scope.params;p.area_of_service_id&&($scope.filtersForm.area_of_service={id:parseInt(p.area_of_service_id)},$scope.filters.area_of_service=parseInt(p.area_of_service_id),$scope.area_of_service=p.area_of_service_id,document.querySelector("#advisor_aas").value=p.area_of_service_id);$scope.saveAdvisorFilters()},$scope.currentUser=User.getCurrent();var pendingRequests=0;$scope.linkAdvisor=function(advisorId){User.setAdvisorId(advisorId).then(function(){AlertService.success("Thank you for choosing me to be your Rennie Advisor. I will be in touch with you by email shortly.")})};var someModal=$modal({scope:$scope,templateUrl:"advisor/filters.tpl.html",show:!1});$scope.showAdvisorModal=function(){someModal.$promise.then(someModal.show)},$scope.showEmailAdvisorModal=function(advisor){name="The "+I18n.t("global.tenant.advisors.singular").toLowerCase();advisor.user_name,advisor.id,I18n.t("global.tenant.leads.advisor.success_message",{name:name});console.log("60",advisor);advisor.user_name;var email=advisor.user.email;advisor.id;HL_SHOW_EMAIL_AGENT({email:email,user_name:advisor.user_name,id:advisor.id})};var setAdvisorFilterModal=$modal({scope:$scope,templateUrl:"advisor/filters.tpl.html",show:!1}),filtersDefault={area_of_service:"",language:{},product_specialties:{},query:"",island:{}},initial_load=!0;$scope.pagination={total:0},$scope.params=$location.search(),$scope.params.page?$scope.params.page=parseInt($scope.params.page):$scope.params.page=1,$scope.search=function(){pendingRequests++,advisors.query($scope.params,function(data,headers){$scope.pagination.total=parseInt(headers().recordcount),$scope.advisors=data,initial_load||sendGAScript(),setTimeout(function(){initial_load=!1},500),pendingRequests--})},$scope.changeIsland=function(island){if($scope.filtersForm.island=island,$scope.island=island,!island||""===island)return $scope.saveAdvisorFilters(),$scope.area_of_services=angular.copy($scope.all_area_of_services),!0;$scope.area_of_services=$scope.all_area_of_services.filter(function(a){if(a.island===$scope.island.slug)return!0}),$scope.saveAdvisorFilters()},$scope.showHeader=function(){jQuery(".masthead").removeClass("is-hidden")},$scope.showAdvisorFilters=function(){setAdvisorFilterModal.$promise.then(setAdvisorFilterModal.show)},$scope.resetAdvisorFilters=function(){$timeout(function(){$scope.filtersForm=angular.copy(filtersDefault),$scope.filters=angular.copy(filtersDefault),$scope.params={page:1},updateUrlParamsFromScope(),$scope.search()},200)},$scope.cancelAdvisorFilters=function(){$scope.filtersForm=angular.copy(filtersDefault),setFiltersFromParams(),setAdvisorFilterModal.hide()},$scope.updateAreaOfService=function(){$scope.saveAdvisorFilters()}
77,$scope.saveAdvisorFilters=function(){if($scope.filters=angular.copy($scope.filtersForm),$scope.filters.area_of_service?$scope.params.area_of_service_id=$scope.filters.area_of_service&&$scope.filters.area_of_service.id?$scope.filters.area_of_service.id:$scope.filters.area_of_service:$scope.params.area_of_service_id=null,$scope.filters.island?$scope.params.island=$scope.filters.island.slug:$scope.params.island="",$scope.filters.language?$scope.params.language_id=$scope.filters.language.id:$scope.params.language_id="",$scope.filters.product_specialties&&Object.keys($scope.filters.product_specialties).length>0){var ids=[];angular.forEach(Object.keys($scope.filters.product_specialties),function(val){$scope.filters.product_specialties[val]>0&&ids.push($scope.filters.product_specialties[val])}),$scope.params.product_specialty_ids=ids.join(",")}$scope.params.page=1,updateUrlParamsFromScope(),$scope.search(),setAdvisorFilterModal.hide()},$scope.isLoading=function(){return pendingRequests>0},$scope.$watch("params.page",trackPage),$scope.$watch("params.query",track),$scope.filters=angular.extend({},filtersDefault),$scope.filtersForm=angular.copy($scope.filters),setFiltersFromParams()}]),angular.module("rennie").controller("AdvisorPageCtrl",["$scope","$q","listingsService","Advisor","Helpers","rnLeadsService","$location",function($scope,$q,listingsService,Advisor,Helpers,rnLeadsService,$location){"use strict";function getResultsPromise(statusFlag,page,numListing){page=page||1;var options={order_by_column:orderByColumn,order_by_direction:"desc",advisor_ids:$scope.currentAdvisor.id,page:page,per_page:numListing,commercial:!0};return statusFlag?options.active=!0:options.sold=!0,$q.all({listings:listingsService.query(options,function(){}).$promise}).then(function(response){options.active?$scope.activeListings=$scope.activeListings.concat(response.listings):$scope.soldListings=$scope.soldListings.concat(response.listings)})}function sendGAScript(){ga("set","page",$location.url()),ga("send","pageview")}var $,breakpoints;$scope.currentAdvisor=Advisor.getCurrent(),$scope.sold_sorting="sold_price",$=jQuery,Harvey,breakpoints=app.breakpoints,$(window).width()>breakpoints.mid?$scope.numListing=8:$scope.numListing=4;var pendingRequests=0,currentSoldPage=1,currentActivePage=1,orderByColumn=($scope.numListing,"listing_at");$scope.soldListings=[],$scope.activeListings=[],$scope.init=function(sold_sorting){$scope.sold_sorting=sold_sorting,$scope.loadSolds(),$scope.loadActives()},$scope.search=function(page){pendingRequests++,getResultsPromise($scope.statusFlag,page,$scope.numListing).then(function(){pendingRequests--})},$scope.loadSolds=function(){$scope.statusFlag=!1,orderByColumn=$scope.sold_sorting,$scope.search(currentSoldPage),currentSoldPage>1&&($location.search("sales_page",currentSoldPage),sendGAScript()),currentSoldPage+=1},$scope.loadActives=function(){$scope.statusFlag=!0,orderByColumn="asking_price",$scope.search(currentActivePage),currentActivePage>1&&($location.search("listings_page",currentActivePage),sendGAScript()),currentActivePage+=1},$scope.isLoading=function(){return pendingRequests>0},$scope.newListing=function(listing){return listing.just_listed},$scope.soldListing=function(listing){return"Sold"===listing.listing_status.name},$scope.reducedListing=function(listing){return listing.reduced},$scope.conservationListing=function(listing){return"Conservation and Legacy Land"===listing.property_type_name||listing.is_conservation},$scope.listingLabel=function(listing){return $scope.soldListing(listing)?"sold":$scope.reducedListing(listing)?"reduced":$scope.newListing(listing)?"new":$scope.conservationListing(listing)?"conservation":void 0},$scope.isLand=Helpers.isLand,$scope.getLandUnits=Helpers.getLandUnits,$scope.squareFtToAcres=Helpers.squareFtToAcres,$scope.listingPath=Helpers.buildListingSlug,$scope.showEmailAdvisorModal=function(advisorId,name){var headingName=name||"Me";name=name?"The "+I18n.t("global.tenant.advisors.singular").toLowerCase():"We",console.log("scope",$scope);I18n.t("global.tenant.leads.advisor.success_message",{name:name});var username=$scope.currentAdvisor.firstName+" "+$scope.currentAdvisor.lastName;HL_SHOW_EMAIL_AGENT({email:$scope.currentAdvisor.email,user_name:username,id:advisorId})}}]),angular.module("rennie").controller("AdvisorSalesCtrl",["$scope","$q","listingsService","Advisor","Helpers","$location","rnLeadsService",function($scope,$q,listingsService,Advisor,Helpers,$location,rnLeadsService){"use strict";function getResultsPromise(page){page=page||1;var options={order_by_column:$scope.sold_sorting,order_by_direction:"desc",advisor_ids:$scope.currentAdvisor.id,page:page,per_page:perPage,sold:!0,commercial:!0};return $q.all({listings:listingsService.query(options,function(){}).$promise}).then(function(response){$scope.soldListings=$scope.soldListings.concat(response.listings)})}function sendGAScript(){ga("set","page",$location.url()),ga("send","pageview")}var STARTING_PER_PAGE=16,mq=window.matchMedia("(max-width: 600px)"),LOAD_MORE_PER_PAGE=mq.matches?4:8,LOAD_MORE_PAGE_OFFSET=mq.matches?3:1,params=$location.search(),pendingRequests=0,perPage=STARTING_PER_PAGE;$location.path();$scope.currentAdvisor=Advisor.getCurrent(),$scope.nextSoldPage=parseInt(params.sales_page)||1,$scope.listingLabel=function(){return"sold"},$scope.soldListings=[],$scope.sold_sorting="sold_price",$scope.init=function(sold_sorting){$scope.sold_sorting=sold_sorting,$scope.loadSolds()},$scope.search=function(page){pendingRequests++,getResultsPromise(page).then(function(){pendingRequests--})},$scope.loadSolds=function(){var actualNextPage=$scope.nextSoldPage;actualNextPage>1&&(perPage=LOAD_MORE_PER_PAGE,actualNextPage+=LOAD_MORE_PAGE_OFFSET,sendGAScript()),$scope.search(actualNextPage),$scope.nextSoldPage=($scope.nextSoldPage||1)+1},$scope.isLoading=function(){return pendingRequests>0},$scope.isLand=Helpers.isLand,$scope.getLandUnits=Helpers.getLandUnits,$scope.squareFtToAcres=Helpers.squareFtToAcres,$scope.listingPath=Helpers.buildListingSlug,$scope.showEmailAdvisorModal=function(advisorId,name){var options={source_type:"Advisor Page",heading:"Email Me",advisor_id:advisorId,success_mesage:"Thanks for getting in touch. "+(name=name||"We")+" will follow up with you."};rnLeadsService.showLeadModal(options)}}]),angular.module("rennie").controller("AdvisorShowCtrl",["$scope","User","AlertService","rnLeadsService",function($scope,User,AlertService,rnLeadsService){"use strict";$scope.currentUser=User.getCurrent(),$scope.showBanner=function(){var show=!1;return $scope.currentUser&&null===$scope.currentUser.clientAdvisor&&(show=!0),show},$scope.linkAdvisor=function(advisorId){User.setAdvisorId(advisorId).then(function(){AlertService.success("Thank y
77ou for choosing me to be your Rennie Advisor. I will be in touch with you by email shortly.",{timeout:5e3})})},$scope.showEmailAdvisorModal=function(advisorId,name){name=name?"The "+I18n.t("global.tenant.advisors.singular").toLowerCase():"We";var options={source_type:"Advisor Page",heading:"Email Me",advisor_id:advisorId,successMessage:I18n.t("global.tenant.leads.advisor.success_message",{name:name})};console.log("advisorShow.js","$scope",$scope),rnLeadsService.showLeadModal(options)}}]),angular.module("rennie").controller("BlogPostIndexCtrl",["$scope","$sce","$location","blogPosts","$timeout","$anchorScroll","$modal","$q","rnLeadsService",function($scope,$sce,$location,blogPosts,$timeout,$anchorScroll,$modal,$q,rnLeadsService){"use strict";function trackPage(newValue,oldValue){initialLoad||newValue.toString()===oldValue.toString()||($location.url($location.path()),Object.keys($scope.params).map(function(key){$location.search(key,$scope.params[key])}),$scope.search())}function track(newValue,oldValue){newValue.toString()!==oldValue.toString()&&($location.url($location.path()),Object.keys($scope.params).map(function(key){$location.search(key,$scope.params[key])}),initialLoad||($scope.params.page=1),$scope.search())}var filtersDefault={category_id:0,query:"",order_by_column:"published_at",order_by_direction:"DESC",page:1};$scope.init=function(featured_id,adv_ids){$scope.params.not_in_ids=featured_id,$scope.advisor_ids=adv_ids,$scope.params.advisor_ids=adv_ids,$scope.search()},$scope.advisor_path=function(post){return post.advisor.root_path},$scope.post_path=function(post){return $location.path().match(/^\/agents\/.*/)?post.path:post.advisor_root_blog_post_path};var initialLoad=!0;$scope.pagination={total:0},$scope.params=$location.search(),$scope.params.order_by_column||($scope.params.order_by_column="published_at"),$scope.params.order_by_direction||($scope.params.order_by_direction="DESC"),$scope.params.page||($scope.params.page=1),$scope.params.query||($scope.params.query=""),$scope.search=function(){$scope.loadingBlogPosts=!0,blogPosts.query($scope.params,function(data,headers){$scope.pagination.total=parseInt(headers().recordcount),$scope.loadingBlogPosts=!1,$timeout(function(){$scope.blogPosts=data,initialLoad=!1})})},$scope.trustCategoryName=function(categoryName){return $sce.trustAsHtml(categoryName)},$scope.showHeader=function(){jQuery(".masthead").removeClass("is-hidden")},$scope.saveBlogPostFilters=function(){$scope.filters=angular.copy($scope.filtersForm),$scope.filters.category_id?$scope.params.category_id=$scope.filters.category_id:$scope.params.category_id="",$scope.params.page=1,$location.url($location.path()),Object.keys($scope.params).map(function(key){$location.search(key,$scope.params[key])}),$scope.search()},$scope.showEmailAdvisorModal=function(advisorId,name){name=name?"The "+I18n.t("global.tenant.advisors.singular").toLowerCase():"We";var options={source_type:"Advisor Page",heading:"Email Me",advisor_id:advisorId,successMessage:I18n.t("global.tenant.leads.advisor.success_message",{name:name})};rnLeadsService.showLeadModal(options)},$scope.$watch("params.page",trackPage),$scope.$watch("params.query",track),$scope.filters=angular.extend({},filtersDefault),$scope.filtersForm=angular.copy($scope.filters),$scope.params.category_id&&($scope.filtersForm.category_id=$scope.params.category_id)}]),angular.module("rennie").controller("GlobalCtrl",["$scope","$q","rnFavouritesService","$window","$modal","$sce","$anchorScroll","$location","$cookies","savedSearches","User","AnalyticService","rnLeadsService","rnSuccess","breakpointService",function($scope,$q,rnFavouritesService,$window,$modal,$sce,$anchorScroll,$location,$cookies,savedSearches,User,AnalyticService,rnLeadsService,rnSuccess,breakpointService){"use strict";function resizeSVGCollage(){hasTopSVG&&hasBottomSVG&&(breakpointService.is("small")?(agentCollageTop.setAttribute("viewBox",mobileViewBoxTop),agentCollageBottom.setAttribute("viewBox",mobileViewBoxBottom)):(agentCollageTop.setAttribute("viewBox",ViewBoxTopInit),agentCollageBottom.setAttribute("viewBox",ViewBoxBottomInit)))}function initSVGEventListner(){window.addEventListener("resize",resizeSVGCollage,!1)}$scope.currentUser=User.getCurrent();$scope.getFavListingsCount=function(){return rnFavouritesService.getFavListings().length},$scope.isFav=rnFavouritesService.isFav,$scope.removeFav=rnFavouritesService.removeFav,$scope.getSavedSearchCount=function(){return savedSearches.getCached().length}
77,$scope.getCurrentParams=function(){var obj=$location.search();return Object.keys(obj).map(function(key){return key+"="+obj[key]}).join("&")},$scope.track=AnalyticService.trackEvent,$scope.track_login_form_submit=RennieWoopra.track_login_form_submit,$scope.linkTo=function(path,$event){$event&&$event.stopPropagation(),$window.location.href=path},$scope.askQuestionModal=function(options){options=angular.extend({heading:"Ask a Question",source_type:"Listing - Ask a Question"},options),rnLeadsService.showLeadModal(options)},window.LC_API=window.LC_API||{},LC_API.on_after_load=function(){$scope.liveChatReady=!0,$scope.$apply(),$scope.onLiveChat=function(){RennieWoopra.track("customer_service","click_chat_icon",!0),parent.LC_API.open_chat_window()}},$scope.showVIPModal=function(options){options=angular.extend({heading:"Register for VIP Access",intro:"Sign up to receive notifications for new developments and in-depth real estate",source_type:"VIP Registration",source_description:""},options),rnLeadsService.showLeadModal(options)},$scope.showModal=function(templateUrl){var leadModal=$modal({scope:$scope,templateUrl:templateUrl,show:!1});leadModal.$promise.then(leadModal.show)},$scope.showLeadModal=function(options){rnLeadsService.showLeadModal(options)},$scope.signInDrawer=function($event){$event.preventDefault(),User.showLoginModal({})},$scope.allowExternalResource=function(url){return $sce.trustAsResourceUrl(url)},$scope.signInDrawer=function($event){var $element=$("body");$event&&$event.preventDefault(),$element.hasClass("has-mobile-nav")&&$element.removeClass("has-mobile-nav"),User.showLoginModal({})},$scope.isNull=function(value){return _.isNull(value)},$cookies.get("new_account")&&$cookies.remove("new_account"),$window.HLshowNewAccountSuccess=function(){var options={headline:'Your new Hawai\u2018i Life account is active. <a href="/listings">Search away</a>. Aloha!',body:""};rnSuccess.showSuccess(options)};var ViewBoxTopInit,ViewBoxBottomInit,agentCollageTop=document.getElementById("agent-collage-top"),agentCollageBottom=document.getElementById("agent-collage-bottom"),hasTopSVG=!1,hasBottomSVG=!1,mobileViewBoxTop="0 60 279 170",mobileViewBoxBottom="350.75 0 293.645 215";null!==agentCollageTop&&(ViewBoxTopInit=agentCollageTop.getAttribute("viewBox"),hasTopSVG=!0),null!==agentCollageBottom&&(ViewBoxBottomInit=agentCollageBottom.getAttribute("viewBox"),hasBottomSVG=!0),hasTopSVG&&hasBottomSVG&&(resizeSVGCollage(),initSVGEventListner())}]),angular.module("rennie").controller("HomeCtrl",["$scope","AboutPostsService",function($scope,AboutPostsService){"use strict";AboutPostsService.allHomePosts().then(function(posts){$scope.featuredPosts=posts})}]),angular.module("rennie").controller("ListingCtrl",["$scope","$modal","$location","$cookies","$anchorScroll","googleMapsLoader","rnLeadsService","savedSearches","User","$window","AlertService","Config",function($scope,$modal,$location,$cookies,$anchorScroll,googleMapsLoader,rnLeadsService,savedSearches,User,$window,AlertService,Config){"use strict";var alertModal,setAlertsModal=$modal({scope:$scope,templateUrl:"search-results/setalerts.tpl.html",show:!1}),trackMortageCalculator=!1;$scope.searchAlertProcessing=!0,$scope.DECIMAL_CHAR_CODE=".".charCodeAt(0),$scope.CHAR_CODE_0="0".charCodeAt(0),$scope.CHAR_CODE_9="9".charCodeAt(0),$scope.DELETE_CHAR_CODE=0,$scope.mCalc={loanTerm:Config.mortgageCalculator.loanTerm.toString(),interestRate:7..toFixed(2),downPaymentPercent:Config.mortgageCalculator.downpayment.toString()},$scope.init=function(askingPrice,hasAlert,listing){$scope.mCalc.askingPrice=askingPrice,$scope.changeDownPayment();var lat=listing.address.latitude,lng=listing.address.longitude;hasAlert&&(alertModal=$modal({scope:$scope,backdrop:!1,templateUrl:"modal-alert.tpl.html",show:!1,container:".listing-alert-modal"})),lat&&lng&&googleMapsLoader.mapsInitialized.then(function(){(new google.maps.StreetViewService).getPanorama({location:{lat:lat,lng:lng},radius:50},checkPanorama)}),"true"===$cookies.get("setAlert")&&($cookies.remove("setAlert"),$scope.setAlert(listing))};var checkPanorama=function(data,status){$scope.panStatus="OK"===status};$scope.changeDownPayment=function(){$scope.mCalc.downPayment=parseFloat($scope.mCalc.downPaymentPercent/100)*$scope.mCalc.askingPrice,$scope.calcPayment()},$scope.changePercentDown=function(){$scope.mCalc.downPaymentPercent=($scope.mCalc.downPayment/$scope.mCalc.askingPrice*100).toFixed(1),$scope.calcPayment()},$scope.validateNumeric=function(event){var valueArr=event.target.value.split(""),preventDecimal=(valueArr.includes(".")||0==valueArr.length)&&event.charCode==$scope.DECIMAL_CHAR_CODE,nonNumericEntry=event.charCode!=$scope.DECIMAL_CHAR_CODE&&(event.charCode<$scope.CHAR_CODE_0||event.charCode>$scope.CHAR_CODE_9);event.charCode!=$scope.DELETE_CHAR_CODE&&(preventDecimal||nonNumericEntry)&&event.preventDefault()},$scope.calcPayment=function(){var principleAmount=$scope.mCalc.askingPrice-$scope.mCalc.downPayment,monthlyInterestRate=parseFloat($scope.mCalc.interestRate/100)/12,monthlyPaymentsCount=12*parseInt($scope.mCalc.loanTerm);$scope.monthlyPayment=principleAmount*(monthlyInterestRate*Math.pow(1+monthlyInterestRate,monthlyPaymentsCount)/(Math.pow(1+monthlyInterestRate,monthlyPaymentsCount)-1))},$scope.$watch("monthlyPayment",_.debounce(function(){trackMortageCalculator&&(RennieWoopra.track("mortgage_c
77alculator","downpayment",$scope.mCalc.downPayment),RennieWoopra.track("mortgage_calculator","percent",$scope.mCalc.downPaymentPercent),RennieWoopra.track("mortgage_calculator","interest rate",$scope.mCalc.interestRate),RennieWoopra.track("mortgage_calculator","term",$scope.mCalc.loanTerm)),trackMortageCalculator=!0},1e4)),$scope.showBannerAlert=function(){alertModal.$promise.then(alertModal.show)},$scope.showMap=function(){$scope.modalTab="map",$location.hash("map"),$anchorScroll()},$scope.showStreetView=function(){$scope.modalTab="streetview",$location.hash("map"),$anchorScroll()},$scope.askQuestionModal=function(options){options=angular.extend({heading:"Ask a Question",source_type:"Listing - Ask a Question"},options),rnLeadsService.showLeadModal(options)},$scope.scheduleViewingModal=function(options){name="The "+I18n.t("global.tenant.advisors.singular").toLowerCase(),options=angular.extend({heading:"Ask a Question",source_type:"Listing Page",successMessage:I18n.t("global.tenant.leads.advisor.success_message",{name:name})},options),rnLeadsService.showLeadModal(options)},$scope.setAlert=function(listing){$scope.searchAlertProcessing=!1,$scope.listing=listing,$scope.showAlert()},$scope.showAlert=function(){var title=[$scope.listing.address.line_1,$scope.listing.area.name].join(", ");$scope.saveSearchForm={title:title,daysBetweenEmails:1},User.getCurrent()?setAlertsModal.$promise.then(function(){setAlertsModal.show()}):User.showLoginModal({action:"search-alert"}),ga("send","event","Lead","Open","Listing - Set Alert")},$scope.saveSearch=function(){$scope.searchAlertProcessing=!0;var params={title:$scope.saveSearchForm.title,days_between_emails:$scope.saveSearchForm.daysBetweenEmails,email_subscribe:!0,listing_types:"",url:$location.absUrl(),search_params:{area:$scope.listing.area&&$scope.listing.area.name,subarea:$scope.listing.sub_area&&$scope.listing.sub_area.name,neighbourhood:$scope.listing.neighbourhood&&$scope.listing.neighbourhood.name,dwelling_types:[$scope.listing.dwelling_type_name.toLowerCase()],lat_max:$scope.listing.address.latitude+.009,long_max:$scope.listing.address.longitude+.009,lat_min:$scope.listing.address.latitude-.009,long_min:$scope.listing.address.longitude-.009,lat:$scope.listing.address.latitude,long:$scope.listing.address.longitude,zoom:11,price_min:.95*$scope.listing.asking_price,
78price_max:1.05*$scope.listing.asking_price,baths_min:$scope.listing.total_bath,beds_min:$scope.listing.total_beds,square_footage_min:$scope.listing.total_floor_area}};0==$scope.listing.total_beds&&(params.search_params.beds_max=$scope.listing.total_beds),savedSearches.create(params,function(){setAlertsModal.hide(),AlertService.notice(I18n.t("global.tenant.saved_searches.notice")),ga("send","event","Lead","Create","Listing - Set Alert"),RennieWoopra.track_click("set_alert")})}}]),angular.module("rennie").controller("marketActivity",["$scope","marketActivityService",function($scope,marketActivityService){"use strict";function setStatus(listings){return _.forEach(listings,function(listing){listing.market_activity={},listing.price_changed_at&&listing.previous_asking_price>listing.asking_price?listing.market_activity.label=marketActivityLabels.price_change:listing.market_activity.label=marketActivityLabels["new"]}),listings}var marketActivityLabels={draft:"Draft",active:"Active","new":"Just Listed",sold:"Sold",reduced:"Reduced Price",expired:"Expired",escrow:"Escrow",price_change:"Reduced Price"};$scope.isLoading=!0,$scope.marketActivity=marketActivityService.query(function(data){var activeListings=_.filter(data,function(listing){return listing.listing_status.name===marketActivityLabels.active});$scope.marketActivity=setStatus(activeListings),$scope.isLoading=!1}),$scope.marketActivityTagClass=function(listingStatus){return"market-activity__tag--"+_.toLower(listingStatus)},$scope.constructListingLink=function(listingSlug){return"listings/"+listingSlug+"?ref=recent_activity&utm_medium=homepage-embed"}}]),angular.module("rennie").controller("ProjectIndexCtrl",["$scope","$location","projects","$timeout","$modal","$anchorScroll","areasService","rnLeadsService",function($scope,$location,projects,$timeout,$modal,$anchorScroll,areasService,rnLeadsService){"use strict";function blockPushState(){return 1===Object.getOwnPropertyNames($location.search()).length&&1===parseInt($scope.params.page)&&$scope.initial_load}function track(){blockPushState()||($location.url($location.path()),Object.keys($scope.params).map(function(key){$location.search(key,$scope.params[key])}),$scope.search(),$scope.initial_load||($scope.params.page=1))}function trackPage(){blockPushState()||($(".carousel-image--projects.owl-lazy").trigger("destroy.owl.carousel"),$location.url($location.path()),Object.keys($scope.params).map(function(key){$location.search(key,$scope.params[key])}),$scope.search())}var setProjectsFilterModal=$modal({scope:$scope,templateUrl:"projects/filters.tpl.html",show:!1});$scope.initial_load=!0,$scope.pagination={total:0},$scope.params=$location.search(),$scope.params.page||($scope.params.page=1),$scope.init=function(){$scope.area=null,areasService.query({},function(response){$scope.areas=response}),$scope.search()},$scope.search=function(){0,$scope.initial_load||($anchorScroll.yOffset=100,$anchorScroll("scroll-to")),projects.query($scope.params,function(data,headers){$scope.pagination.total=parseInt(headers().recordcount),$scope.projects=data,0,$scope.initial_load=!1})},$scope.showProjectsFilters=function(){setProjectsFilterModal.$promise.then(setProjectsFilterModal.show)},$scope.clearFilters=function(){setProjectsFilterModal.hide(),$scope.params={page:1},$scope.project_stage="",$scope.area="",$scope.construction_stage="",$scope.query=""},$scope.showEmailModal=function(){var options={source_type:"Project - Developer",heading:"Email Us",successMessage:I18n.t("global.tenant.leads.projects.success_message")};rnLeadsService.showLeadModal(options)},$scope.$watch("params.page",trackPage),$scope.$watch("params.city_name",track),$scope.$watch("params.project_stage_id",track),$scope.$watch("params.construction_stage_id",track),$scope.$watch("params.query",function(newValue,oldValue,scope){(newValue&&newValue.length>1||""===newValue||newValue===undefined)&&track(newValue,oldValue,scope)}),$scope.changeAreaBySlug=function(slug){$scope.area=_.find($scope.areas,{slug:slug}),$scope.params.lat_max=$scope.area.lat_max,$scope.params.long_max=$scope.area.long_max,$scope.params.lat_min=$scope.area.lat_min,$scope.params.long_min=$scope.area.long_min,$scope.search()},$scope.showAllAreas=function(){$scope.area=null,$scope.params.lat_max=null,$scope.params.long_max=null,$scope.params.lat_min=null,$scope.params.long_min=null,$scope.search()},$scope.formatLocation=function(city,area){return _.compact([city,area]).join(", ")}}]),angular.module("rennie").controller("ProjectShowCtrl",["$scope","$location","projects","$timeout","$modal","$anchorScroll","rnLeadsService",function($scope,$location,projects,$timeout,$modal,$anchorScroll,rnLeadsService){"use strict";$scope.init=function(options){$scope.mapConfig={center:{latitude:options.latitude,longitude:options.longitude},zoom:14}
78,$scope.mapData={projects:[{address:{latitude:options.latitude,longitude:options.longitude}}]}},$scope.showEmailModal=function(){var options={source_type:"Project Page - Details",heading:"Email Us",successMessage:I18n.t("global.tenant.leads.projects.success_message")};rnLeadsService.showLeadModal(options)}}]),angular.module("rennie").controller("SavedSearchesCtrl",["$scope","$location","savedSearches","$timeout","$filter","rnSearch",function($scope,$location,savedSearches,$timeout,$filter,rnSearch){"use strict";function checkSubAreaPresence(area,subArea,neighbourhood){return area&&neighbourhood&&!subArea?"/-":""}function toFriendlyURL(string){return _.toLower(_.replace(string," ","-"))}function addAreaToBaseUrl(base,area,subArea,neighbourhood){var paramArray=[area,subArea,neighbourhood];return base+_.reduce(paramArray,function(acc,param){return acc+=param?"/"+param:checkSubAreaPresence(area,subArea,neighbourhood)},"")}$scope.savedSearches=savedSearches,$scope.searchUpdated=function(s){savedSearches.update({id:s.id},{email_subscribe:s.email_subscribe,days_between_emails:s.days_between_emails}),ga("send","event","Search Results","Saved Search","Update")},$scope.removeSearch=function(s){savedSearches.destroy({id:s.id})},$scope.buildSearchUrl=function(s){var params={daysBetweenEmails:s.days_between_emails},baseWithArea=addAreaToBaseUrl("/listings",toFriendlyURL(s.search_params.area),toFriendlyURL(s.search_params.subarea),toFriendlyURL(s.search_params.neighbourhood));for(var k in angular.extend(params,s.search_params),params)"function"!=typeof params[k]&&k.match(/_/)&&(params[k.toCamel()]=params[k],delete params[k]);var keysToRemove=["area","subarea","neighbourhood"];return _.forEach(keysToRemove,function(key){params[key]&&delete params[key]}),rnSearch.buildSearchUrl(params,{base:baseWithArea})},ga("send","event","Search Results","Saved Search","Open")}]),angular.module("rennie").controller("SearchResultsCtrl",["$scope","$location","$q","$sce","$cookies","mapListings","listingsService","projects","offices","savedSearches","$modal","$filter","$timeout","User","breakpointService","AlertService","Advisor","regionsService","Config","rnSearch","Helpers","$window","rnSuccess","SearchParams","MapService","SavedSearchHelpers","$http",function($scope,$location,$q,$sce,$cookies,mapListings,listingsService,projects,offices,savedSearches,$modal,$filter,$timeout,User,breakpointService,AlertService,Advisor,regionsService,Config,rnSearch,Helpers,$window,rnSuccess,SearchParams,MapService,SavedSearchHelpers,$http){"use strict";function updatePricesFromSlider(){$scope.filtersForm.priceMin=priceArray[$scope.filtersForm.priceSlider.min],$scope.filtersForm.priceMax=priceArray[$scope.filtersForm.priceSlider.max],$scope.filters.priceMin==$scope.filtersForm.priceMin&&$scope.filters.priceMax==$scope.filtersForm.priceMax||($scope.filtersForm.priceNamed=null)}function updateSquareFootageFromSlider(){$scope.filtersForm.squareFootageMin=$scope.filtersForm.squareFootageSlider.min}function getSliderIndex(array,number){var closestIndex=0;return _.each(array,function(val,i){Math.abs(number-val)<Math.abs(number-array[closestIndex])&&(closestIndex=i)}),closestIndex}function isGridDisplay(){return Helpers.isGridDisplay($scope.displayType)}function isMapDisplay(){return Helpers.isMapDisplay($scope.displayType)}function updateScopeFromParams(params){params=angular.extend(params||{},$location.search());if(loadGeoFilters((params=rnSearch.normalizeParams(params)).areaSlug,params.subAreaSlug,params.neighbourhoodSlug,params.communitySlug),$scope.mapConfig={doUpdate:!1,zoom:parseInt(params.zoom)||Config.map.zoom},params.latMin&&params.longMin&&params.latMax&&params.longMax&&angular.extend($scope.mapConfig,{bounds:{southwest:{latitude:parseFloat(params.latMin),longitude:parseFloat(params.longMin)},northeast:{latitude:parseFloat(params.latMax),longitude:parseFloat(params.longMax)}}}),params.c){var latLng=params.c.split(",");$scope.mapConfig.center={latitude:latLng[0],longitude:latLng[1]}}$scope.mapConfig.doUpdate=!0,$scope.filters={},angular.extend($scope.filters,Config.filtersDefault,sliderConfig),angular.extend($scope.filters,SearchParams.formatParams(params)),angular.extend($scope.filters,{groups:params.groups}),Config.namedPriceRanges[$scope.filters.priceNamed]&&(delete $scope.filters.priceMin,delete $scope.filters.priceMax),params.sortColumn&&(sort.column=params.sortColumn),params.sortDirection&&(sort.direction=params.sortDirection),angular.extend($scope,{displayType:params.displayType,currentPage:parseInt(params.page)||1,closestQuery:params.closestQuery}),setAutocomplete(params.location,{}),$scope.advisorSlug=params.advisorSlug,$scope.team=params.team,$scope.teamSlug=params.teamSlug,"showFiltersModal"===$location.hash()&&($scope.alertName=params.alertName,$scope.showAlerts())}function resetRegions(){$scope.area=null,$scope.subArea=null,$scope.neighbourhood=null,$scope.community=null,updateUrlParamsFromScope()}function resetPolygon(){$scope.mapConfig.polygon=$scope.currentRegion()?$scope.currentRegion().data:null}function numberize(value){var numberish=Number(value);return isNaN(numberish)?0:numberish}function normalizePriceFiltersInScope(){var namedRange=Config.namedPriceRanges[$scope.filters.priceNamed],current_min=numberize($scope.filters.priceMin),current_max=numberize($scope.filters.priceMax);namedRange&&(current_min==namedRange[0]&&current_max==namedRange[1]?(delete $scope.filters.priceMin,delete $scope.filters.priceMax):($scope.filters.priceMin||$scope.filters.priceMax)&&delete $scope.filters.priceNamed)}function updateUrlParamsFromScope(skipPushState){var mapConfig=$scope.mapConfig,filters=$scope.filters,regions=[$scope.area,$scope.subArea,$scope.neighbourhood,$scope.community],centrepoint=centrepointData(mapConfig.center);normalizePriceFiltersInScope();var params={listingTypes:filters.listingTypes.join(","),dwellingTypes:filters.dwellingTypes,daysOnRennie:filters.daysOnRennie,priceMin:filters.priceMin,priceMax:filters.priceMax,priceNamed:filters.priceNamed,bedsMin:filters.bedsMin,bathsMin:filters.bathsMin,squareFootageMin:filters.squareFootageMin,query:filters.query,sortColumn:sort.column,sortDirection:sort.direction,zoom:mapConfig.zoom,location:getAutocompleteLabel(),closestQuery:$scope.closestQuery,displayType:$scope.displayType,page:$scope.currentPage,active:filters.active,groups:filters.groups,csv:filters.csv,export_sold:filters.export_sold,my_listings:filters.my_listings,our_listings:filters.our_listings};initialDisplayTypeForResults=$scope.displayType,params=SearchParams.assignMapCenterToParams(params,mapConfig.center),params=SearchParams.assignMapBoundsToParams(params,mapConfig.boun
78ds);var path=buildPath(params=SearchParams.filterParams(params,regions,$scope.area,$scope.displayType,mapConfig)),pathParts=path.split("?"),currentPath=$location.url();$location.path(pathParts[0]).search(pathParts[1]||"").replace(),skipPushState||path==previousPushStatePath||path==currentPath||(history.pushState({stateId:pushStateId,params:params,regions:regionData(),centrepoint:centrepoint,filters:filtersData()},null,$location.absUrl()),previousPushStatePath=path,params.map_bounds=mapConfig.bounds,RennieWoopra.track("listing_search","url",path,params)),sendGAScript(path,params),updateContent(),User.getCurrent()&&updateSearchAnalytics()}function regionData(){return{area:$scope.area,subArea:$scope.subArea,neighbourhood:$scope.neighbourhood,community:$scope.community}}function centrepointData(centrepoint){return centrepoint&&{latitude:centrepoint.latitude,longitude:centrepoint.longitude}}function filtersData(){return _.reduce(Config.filterKeys,function(obj,key){return obj[key]=_.clone($scope.filters[key]),obj},{})}
78function buildPath(params){$scope.base="/listings",$scope.base=addAdvisorToBaseUrl($scope.advisorSlug,$scope.base),$scope.base=addTeamToBaseUrl($scope.teamSlug,$scope.base);var baseWithArea=addAreaToBaseUrl($scope.base,$scope.area,$scope.subArea,$scope.neighbourhood,$scope.community);return rnSearch.buildSearchUrl(params,{base:baseWithArea})}function sendGAScript(path,params){if(initialPageLoad)previousGAPath=addDisplayTypeToBaseUrl(path,params),initialPageLoad=!1;else{var gaPageViewPath=addDisplayTypeToBaseUrl(path,params);gaPageViewPath!=previousGAPath&&(ga("set","page",gaPageViewPath),ga("send","pageview")),previousGAPath=gaPageViewPath}}function addAreaToBaseUrl(base,area,subArea,neighbourhood,community){var paramArray=[area,subArea,neighbourhood,community];return base+_.reduce(paramArray,function(acc,param){return acc+=param?"/"+param.slug:""},"")}function addAdvisorToBaseUrl(advisorSlug,base){var advisorBase;return advisorSlug&&(advisorBase="/"+advisorSlug+base,/^\/agents\//.test($location.path())&&(advisorBase="/agents"+advisorBase)),advisorBase||base}function addTeamToBaseUrl(teamSlug,base){var teamBase;return teamSlug&&(teamBase="/"+teamSlug+base,/^\/teams\//.test($location.path())&&(teamBase="/teams"+teamBase)),teamBase||base}function addDisplayTypeToBaseUrl(gaPath,params){var currentType=params.displayType==typeGrid?typeGrid:typeMap,pathMatch=displayTypePrefix+currentType;return gaPath.substring(1,gaPath.indexOf(pathMatch)+pathMatch.length)}function setAutocomplete(label,value){angular.extend($scope.autocomplete,{label:label,value:value||null})}function resetAutocomplete(){setAutocomplete($scope.area?getRegionString():"")}function getRegionString(){var regions=_.compact([$scope.community,$scope.neighbourhood,$scope.subArea,$scope.area]),firstRegion=_.first(regions),regionLabel=["(",firstRegion.label,")"].join(""),lastRegionName=_.last(regions).name;return[regions.length>1?[firstRegion.name,lastRegionName].join(", "):lastRegionName,regionLabel].join(" ")}function getAutocompleteLabel(){var label=$scope.autocomplete.label;return _.isObject(label)?label.description||label.name:label}function formatDwellingString(dwellingTypes){return dwellingTypes=_.sortBy(dwellingTypes),_.isEqual(_.sortBy(dwellingTypes),_.sortBy(Config.defaultSearchFilters.dwellingTypes))?"Type: All":SearchParams.isParamDefault("dwellingTypes",dwellingTypes)?null:_.map(dwellingTypes,_.startCase).join(", ")}function finishGeoFilterChange(area){var areaCenter=MapService.centerOfArea(area),bounds=isGridDisplay()||!MapService.areaHasCenterPoint(area)?MapService.areaBounds(area):null;$scope.mapConfig.doUpdate=!1,$location.search().c&&!$scope.mapCenterLoaded||(angular.extend($scope.mapConfig,{bounds:bounds,center:{latitude:areaCenter.lat(),longitude:areaCenter.lng()}}),area.map_zoom&&($scope.mapConfig.zoom=area.map_zoom)),$scope.mapCenterLoaded=!0,$scope.mapConfig.polygon=area.data,getAutocompleteLabel()!=area.name&&setAutocomplete(getRegionString()),sort.column==distanceSortColumn&&(sort.column=defaultSortColumn,sort.direction=defaultSortDirection),updateUrlParamsFromScope(),$scope.mapConfig.doUpdate=!0}function popstateHandler(event){var stateData=event.state||{};$location.url();if(stateData.stateId==pushStateId){var regions=stateData.regions||{},centrepoint=stateData.centrepoint,filters=stateData.filters||{};$scope.area=regions.area,$scope.subArea=regions.subArea,$scope.neighbourhood=regions.neighbourhood,$scope.community=regions.community,centrepoint&&(stateData.params=SearchParams.assignMapCenterToParams(stateData.params,centrepoint)),updateScopeFromParams(stateData.params),angular.extend($scope.filters,filters),$scope.search()}}function loadGeoFilters(areaSlug,subAreaSlug,neighbourhoodSlug,communitySlug){regionsService.query({region_level:Config.regions.geo_dropdown_first},function(response){if($scope.areas=response,$scope.areas&&$scope.areas.forEach(function(region){addParentRegion(region.children,region)}),areaSlug&&($scope.area=_.find($scope.areas,{slug:areaSlug})),$scope.area&&subAreaSlug&&($scope.subArea=_.find($scope.area.children,{slug:subAreaSlug})),$scope.subArea&&neighbourhoodSlug&&($scope.neighbourhood=_.find($scope.subArea.children,{slug:neighbourhoodSlug})),$scope.neighbourhood&&communitySlug&&($scope.community=_.find($scope.neighbourhood.children,{slug:communitySlug})),resetAutocomplete(),"undefined"==typeof google){if(isGridDisplay()){var googleCallback=window.rennieGoogleMapsInitialized;window.rennieGoogleMapsInitialized=function(){$scope.onMapIdle(),googleCallback&&googleCallback()}}needsGeoFilterChange=!0}else maybeFinishGeoFilterChange()})}function addParentRegion(regions,parentRegion){regions&&regions.forEach(function(region){region.parent=parentRegion,addParentRegion(region.children,region)})}function maybeFinishGeoFilterChange(){var currentRegion=$scope.currentRegion();currentRegion&&finishGeoFilterChange(currentRegion)}
78function loadChildRegions(region,parentRegion){var regions=[];return region?regions=region.children:parentRegion&&parentRegion.children&&(regions=_.flatten(parentRegion.children.map(function(region){return region.children}))),_.compact(regions)}function geoFilterHasBounds(option){return!!(option.lat_max&&option.lat_min&&option.long_max&&option.long_min)}function formatOptions(filters){return{days_on_rennie:filters.daysOnRennie,query:filters.query,expired:null,dwelling_types:filters.dwellingTypes.join(","),listing_types:filters.listingTypes.join(","),baths_min:filters.bathsMin,baths_max:null,beds_min:0!=filters.bedsMin?filters.bedsMin:null,beds:0==filters.bedsMin?0:null,square_footage_min:filters.squareFootageMin,square_footage_max:null,price_min:filters.priceMin,price_max:filters.priceMax,price_named:filters.priceNamed,order_by_column:sort.column,order_by_direction:sort.direction,is_rennie:filters.isRennie,advisor_ids:filters.advisorIds,advisor_id:filters.advisorId,groups:filters.groups?filters.groups.join(","):null,active:!0,csv:filters.csv,export_sold:filters.export_sold,my_listings:filters.my_listings,our_listings:filters.our_listings,team:$scope.teamSlug}}function getResultsPromise(filters,page){var mapConfig=$scope.mapConfig;page=page||1;var options=formatOptions(filters);isGridDisplay()?(angular.extend(options,{page:page,per_page:24}),mapConfig.center&&$scope.autocomplete.label&&angular.extend(options,{centre_lat:mapConfig.center.latitude,centre_long:mapConfig.center.longitude})):options.limit=1e3,mapConfig.bounds&&(angular.extend(options,{lat_max:mapConfig.bounds.northeast.latitude,lat_min:mapConfig.bounds.southwest.latitude,long_max:mapConfig.bounds.northeast.longitude,long_min:mapConfig.bounds.southwest.longitude}),options.long_min>options.long_max&&(options.long_min=-180));var promise,projectsTotal=0,listingsTotal=0,averagePrice=0,pageTitle="",pageDescription="";if(isGridDisplay()){(newOptions=JSON.parse(JSON.stringify(options))).csv=0,newOptions.export_sold=0,promise=$q.all({listings:listingsService.query(newOptions,function(data,headers){listingsTotal=parseInt(headers().recordcount),averagePrice=parseInt(headers().averageprice,10),pageTitle=headers().pagetitle,pageDescription=headers().pagedescription}).$promise}),1===options.csv&&$scope.downloadCsv(options)}else{var newOptions,listingTypes=options.listing_types.split(","),queries={};if(_.includes(listingTypes,"projects")&&Config.hasFeature("projects")&&(queries.projects=projects.query(angular.extend(options,{per_page:200}),function(data,headers){projectsTotal=parseInt(headers().recordcount)}).$promise),_.intersection(listingTypes,["mls","rennie_exclusive"]).length>0)(newOptions=JSON.parse(JSON.stringify(options))).csv=0,newOptions.export_sold=0,queries.listings=mapListings.query(newOptions,function(data,headers){listingsTotal=parseInt(headers().recordcount,10),averagePrice=parseInt(headers().averageprice,10),pageTitle=headers().pagetitle,pageDescription=headers().pagedescription}).$promise,1===options.csv&&$scope.downloadCsv(options);promise=$q.all(queries)}return $scope.onDownloadCsv=function(response){var csv=response.data.csv,now=new Date,timestamp=`${new Intl.DateTimeFormat("en",{month:"short"}).format(now)}_${new Intl.DateTimeFormat("en",{day:"2-digit"}).format(now)}_${new Intl.DateTimeFormat("en",{year:"2-digit"}).format(now)}_${new Intl.DateTimeFormat("en",{hour:"numeric",minute:"numeric",hour12:!0}).format(now).replace(":","h").replace(" ","")}`,group=""!==$scope.filters.groups.join()?`${$scope.filters.groups.join()}_`:"",filename=`${$scope.area?$scope.area.slug:"all"}_${group}listings_${timestamp}.csv`;download(new Blob([csv]),filename,"text/csv")},promise.then(function(response){var data={};if(data.listingsTotal=listingsTotal,data.projectsTotal=projectsTotal,data.averagePrice=averagePrice,data.pageTitle=pageTitle,data.pageDescription=pageDescription,_.isEmpty(options.dwelling_types)||"all"==options.dwelling_types)data.resultTypes="Listings";else{var arr=_.sortBy(_.map(options.dwelling_types.split(","),function(d){return _.capitalize(d+"s")})),last=arr.length>1?" & "+arr.pop():"";data.resultTypes=_.replace(arr.join(", ")+last,"Lands","Land")}return data.listings=response.listings,data.projects=response.projects||[],data})}function getCurrentRegionData(areaTypes){return{topLevelName:I18n.t("global.tenant.top_level_region"),areaName:areaTypes.area&&areaTypes.area.name||null,subAreaName:areaTypes.subArea&&areaTypes.subArea.name||null,neighbourhoodName:areaTypes.neighbourhood&&areaTypes.neighbourhood.name||null,communityName:areaTypes.community&&areaTypes.community.name||null,titleRegionText:function(){var text=this.communityName||this.neighbourhoodName||this.subAreaName||this.areaName||this.topLevelName;return _.clone(text)},descriptionRegionText:function(){var text="";if(this.titleRegionText()!=this.topLevelName){var town_string=_.compact([this.communityName||"",this.neighbourhoodName||"",this.subAreaName||""]).join("/");text=_.compact([town_string,this.areaName||""]).join(" ")+" "}return text}}}function replaceRegion(pageString,region){return console&&console.log("pageString",pageString),console&&console.log("region",region),pageString.replace(/\%\{region\}/g,region)}function assignTitleAndDescription(response,areaTypes){var currentRegionData=getCurrentRegionData(areaTypes);$("meta[name=description]")[0].content=replaceRegion(response.pageDescription,currentRegionData.descriptionRegionText())}function hasTooManyResults(response){return isMapDisplay()&&!!response.listings&&response.listingsTotal>response.listings.length}function hasNoResults(response){return!!response.listings&&0==response.listings.length}function displayAlerts(response){if(hasTooManyResults(response)){var tooManyResultsMessage=$filter("number")(response.listingsTotal)+" properties! Refine your search options for better results.";AlertService.alert(tooManyResultsMessage,{group:"map",key:"mapResults",timeout:1e4})}else if(hasNoResults(response)){var noResultsMessage="Sorry, but we didn't find any listings matching that search. Please try a different search term or use the filters to expand the search criteria.";
78hasNoResults(response)&&AlertService.notice(noResultsMessage,{group:"map",key:"mapResults",timeout:!1})}}function soldListing(listing){return listing.listing_status?"Sold"===listing.listing_status.name:""}function reducedListing(listing){return listing.reduced}function conservationListing(listing){return"Conservation and Legacy Land"===listing.property_type_name||listing.is_conservation}function listingBrokerageHtml(listing){var officeName=listing.office_1_name?"Listed by "+listing.office_1_name:"";return $sce.trustAsHtml(officeName)}function updateContent(){console.log("updateContent was called"),search_content_tries+=1;var url=(window.location.pathname.replace("/listings","")+window.location.search).substring(1);url.includes("?")&&(url=(url=url.split("?"))[0]),url&&0!=url.length||(url="hi");var parts=[];if($scope.area&&parts.push($scope.area.slug),$scope.subArea&&$scope.subArea.slug&&parts.push($scope.subArea.slug),$scope.neighbourhood&&$scope.neighbourhood.slug&&parts.push($scope.neighbourhood.slug),$scope.community&&$scope.community.slug&&parts.push($scope.community.slug),!parts.length&&search_content_tries<4)return console.log("we are returning"),void setTimeout(this,500);var header=document.querySelector("h1#collection-title"),subHeader=document.querySelector(".l-container #area-content .listing-info__location h2"),slug=parts.join("/");if(""===slug)window.HL_SET_AREA_CONTENT_DATA(null),$window.document.title="Hawaii Real Estate for Sale - Just Listed Hawaii Homes, Hawaii Houses, Hawaii Land - Hawaii Life",header&&(header.innerHTML="Search and Find Real Estate in Hawaii"),subHeader&&(subHeader.innerHTML="");else{var urlFetch=("/api/v1/content/"+slug).replace("//","/");$http.get(urlFetch).then(function(data){var firstContent=document.getElementsByClassName("listing-info__location content")[0];if(window.HL_SET_AREA_CONTENT_DATA&&(console.log("setting area content with data.data",data.data),data.data&&data.data.id?window.HL_SET_AREA_CONTENT_DATA(data.data):window.HL_SET_AREA_CONTENT_DATA(null)),data.data.featured_agents&&data.data.featured_agents.length?"grid"!==$scope.displayType&&setTimeout(function(){$scope.setDisplayType("grid")},300):$scope.displayType!==initialDisplayTypeForResults&&$scope.setDisplayType(initialDisplayTypeForResults),header&&(header.innerHTML=data.data&&data.data.heading?data.data.heading:""),subHeader&&(subHeader.innerHTML=data.data&&data.data.sub_heading?data.data.sub_heading:""),header||subHeader){var rawHeader=header.textContent,rawSubHeader=subHeader?subHeader.textContent:null,title="";rawSubHeader?title+=`${rawHeader} `:rawHeader&&(title+=`${rawHeader} `),rawSubHeader&&(title+=rawHeader?` - ${rawSubHeader} `:`${rawSubHeader} `),(rawHeader||rawSubHeader)&&(title+=" | "),title+="Hawaii Life",$window.document.title=title}firstContent&&(firstContent.innerHTML=data.data&&data.data.content?data.data.content:"")},function(err){console.log("Error while loading content: ",err)})}}function updateSearchAnalytics(){var params=formatOptions($scope.filters);$scope.area&&(params.area=$scope.area.slug),$scope.subArea&&$scope.subArea.slug&&(params.subArea=$scope.subArea.slug),$scope.neighbourhood&&$scope.neighbourhood.slug&&(params.neighbourhood=$scope.neighbourhood.slug),$scope.community&&$scope.community.slug&&(params.community=$scope.community.slug),$http.post("/api/v1/analytics/searches",params)}var clipboard,initialDisplayTypeForResults=null;Array.prototype.filter||(Array.prototype.filter=function(func,thisArg){if("Function"!=typeof func&&"function"!=typeof func||!this)throw new TypeError;var kValue,len=this.length>>>0,res=new Array(len),t=this,c=0,i=-1;if(thisArg===undefined)for(;++i!==len;)i in this&&(kValue=t[i],func(t[i],i,t)&&(res[c++]=kValue));else for(;++i!==len;)i in this&&(kValue=t[i],func.call(thisArg,t[i],i,t)&&(res[c++]=kValue));return res.length=c,res}),(clipboard=new Clipboard(".utility-links--referral-link",{text:function(){var currentUser=User.getCurrent(),currentAdvisor=currentUser&&currentUser.advisor,advisorSlug=currentAdvisor&&currentAdvisor.slug,link=$location.absUrl(),bounds=$scope.mapConfig&&$scope.mapConfig.boun
78ds;if(advisorSlug){var path=$location.url(),slugPrefix="/"+advisorSlug;path.startsWith(slugPrefix)||(link=link.replace(path,slugPrefix+path))}if(bounds&&!((params=$location.search()).latMin||params.latMax||params.longMin||params.longMax)){var params=SearchParams.assignMapBoundsToParams({},bounds);link=link+"&"+$.param(params)}return link}})).on("success",function(){var clipboardSuccessMessage="Referral link copied to clipboard";AlertService.success(clipboardSuccessMessage,{timeout:3e3})}),clipboard.on("error",function(){var clipboardErrorMessage="Could not copy referral link to clipboard. Please try again.";AlertService.alert(clipboardErrorMessage,{timeout:3e3})}),$scope.params=$location.search(),$scope.autocomplete={label:"",value:{}},$scope.isLand=Helpers.isLand,$scope.getLandUnits=Helpers.getLandUnits,$scope.squareFtToAcres=Helpers.squareFtToAcres,$scope.listingPath=Helpers.buildListingSlug,$scope.searchAlertProcessing=!1;var lastFilterFormPreSearchPromise,needsGeoFilterChange,reducedListing,currentAdvisor=$scope.currentAdvisor=Advisor.getCurrent(),RESORT="Resort",notStarted=!0,pendingRequests=0,previousGAPath="",previousPushStatePath="",pushStateId="listingsParams",displayTypePrefix="displayType=",typeGrid="grid",typeMap="map",initialPageLoad=!0,defaultSortColumn="listing_at",defaultSortDirection="desc",distanceSortColumn="distance",priceArray=_.range(0,101e4,1e4).concat(_.range(1e6,51e5,1e5)).concat(_.range(5e6,1005e4,5e5)).concat(_.range(1e7,705e5,5e6)),sliderConfig={priceSlider:{min:priceArray[0],max:priceArray.length-1,floor:0,ceil:priceArray.length-1,keyboardSupport:!1,onEnd:function(){$scope.preSearch()},onChange:function(){updatePricesFromSlider()}},squareFootageSlider:{min:0,floor:0,ceil:5e3,keyboardSupport:!1,onEnd:function(){$scope.preSearch()},onChange:function(){updateSquareFootageFromSlider()}}},sort={column:Config.filtersDefault.sortColumn,direction:Config.filtersDefault.sortDirection};$scope.isSorting=function(column,direction){return!$scope.showDistanceSort()&&(direction?sort.column===column&&sort.direction===direction:sort.column===column)},$scope.showDistanceSort=function(){return sort.column==distanceSortColumn},$scope.setSort=function(column,direction){$scope.showDistanceSort()&&(setAutocomplete(""),$scope.mapConfig.center=null),sort.column=column,sort.direction=direction,$scope.search(1)};var filtersModal=$modal({scope:$scope,templateUrl:"search-results/filters.tpl.html",show:!1}),setAlertsModal=$modal({scope:$scope,templateUrl:"search-results/setalerts.tpl.html",show:!1}),priceModal=$modal({scope:$scope,templateUrl:"search-results/price-dropdown.tpl.html",show:!1,prefixEvent:"price-dropdown"}),onPriceDropdownHide=function(){$scope.filters=angular.copy($scope.filtersForm),$scope.currentPage=1,updateUrlParamsFromScope(),$scope.search(1)};$scope.$on("price-dropdown.hide.before",onPriceDropdownHide),$scope.showAllAreas=function(){resetRegions(),angular.extend($scope.mapConfig,{bounds:null,polygon:null,center:{latitude:Config.map.latitude,longitude:Config.map.longitude},zoom:Config.map.zoom}),setAutocomplete(null,null)},$scope.showAllSubAreas=function(){$scope.area?$scope.changeAreaById($scope.area.id):$scope.showAllAreas()},$scope.showAllNeighbourhoods=function(){$scope.subArea?$scope.changeSubAreaById($scope.subArea.id):$scope.area?$scope.changeAreaById($scope.area.id):$scope.showAllAreas()},$scope.displayCommunities=function(){var neighbourhoods=$scope.subArea?$scope.subArea.children:null;return!(!neighbourhoods||!neighbourhoods.length)},$scope.showAllCommunities=function(){$scope.neighbourhood?$scope.changeNeighbourhoodById($scope.neighbourhood.id):$scope.subArea?$scope.changeSubAreaById($scope.subArea.id):$scope.showAllAreas()},$scope.changeAreaById=function(id){var area=$scope.area=_.find($scope.areas,{id:parseInt(id)});area&&($scope.subArea=null,$scope.neighbourhood=null,$scope.community=null,finishGeoFilterChange(area))},$scope.changeSubAreaById=function(id){var subArea=$scope.subArea=_.find($scope.area.children,{id:parseInt(id)});subArea&&($scope.neighbourhood=null,$scope.community=null,finishGeoFilterChange(subArea))},$scope.changeNeighbourhoodById=function(id){var neighbourhoods=[];$scope.subArea?neighbourhoods=$scope.subArea.children:$scope.area&&(neighbourhoods=_.flatten($scope.area.children.map(function(subArea){return subArea.children})));var neighbourhood=$scope.neighbourhood=_.find(neighbourhoods,{id:parseInt(id)});neighbourhood&&($scope.subArea=$scope.subArea||neighbourhood.parent,$scope.community=null,finishGeoFilterChange(neighbourhood))},$scope.changeCommunityById=function(id){var communities=[];$scope.neighbourhood?communities=$scope.neighbourhood.children:$scope.subArea&&(communities=_.flatten($scope.subArea.children.map(function(neighbourhood){return neighbourhood.children})));
78var community=$scope.community=_.find(communities,{id:parseInt(id)});community&&($scope.neighbourhood=$scope.neighbourhood||community.parent,finishGeoFilterChange(community))},$scope.selectNamedPrice=function(key){
79var namedRange=Config.namedPriceRanges[key];namedRange&&($scope.filtersForm.priceMin=namedRange[0],$scope.filtersForm.priceMax=namedRange[1],$scope.filtersForm.priceNamed=key)},$scope.getPriceTitle=function(){var key=$scope.filters.priceNamed,namedRange=Config.namedPriceRanges[key],priceTitle=namedRange&&namedRange[2];if(!priceTitle){var priceMin=numberize($scope.filters.priceMin),priceMax=numberize($scope.filters.priceMax);if(priceMin||priceMax)if(priceMin===Config.filtersDefault.priceMin&&priceMax===Config.filtersDefault.priceMax)priceTitle=null;else if(priceMin==priceMax)priceTitle=$filter("priceLabelFilter")(priceMin);else{if(priceMin>priceMax){var temp=priceMin;priceMin=priceMax,priceMax=temp}priceTitle=$filter("priceLabelFilter")(priceMin)+" - "+$filter("priceLabelFilter")(priceMax)}}return priceTitle},$scope.getTypesNamed=function(dwellingTypes){if(!_.isEmpty(dwellingTypes))return formatDwellingString(dwellingTypes)},$scope.changeDisplayTypeToGrid=function(){"grid"!==$scope.displayType&&$scope.setDisplayType("grid")},$scope.init=function(params){updateScopeFromParams(params),$scope.setDisplayType(params.displayType),Config.hasFeature("use_offices")&&($scope.offices=offices.query({per_page:200})),window.addEventListener("popstate",popstateHandler),$scope.setAlert=function(){$scope.showAlerts()},"true"===$cookies.get("setAlert")&&($cookies.remove("setAlert"),$scope.setAlert())},$scope.currentRegion=function(){return $scope.community||$scope.neighbourhood||$scope.subArea||$scope.area},$scope.canChangeArea=function(areaSlug){return $scope.areas&&!!_.find($scope.areas,function(a){return a.slug==areaSlug&&geoFilterHasBounds(a)})},$scope.canChangeSubArea=function(subAreaId){return $scope.area&&!!_.find($scope.area.children,function(a){return a.id==subAreaId&&geoFilterHasBounds(a)})},$scope.canChangeNeighbourhood=function(neighbourhoodId){var neighbourhoods=loadChildRegions($scope.subArea,$scope.area);return $scope.area&&!!_.find(neighbourhoods,function(a){return a.id==neighbourhoodId&&geoFilterHasBounds(a)})},$scope.canChangeCommunity=function(communityId){var communities=loadChildRegions($scope.neighbourhood,$scope.subArea);return $scope.subArea&&!!_.find(communities,function(a){return a.id==communityId&&geoFilterHasBounds(a)})},$scope.showResortType=function(){var communities=loadChildRegions($scope.neighbourhood,$scope.subArea);return communities.length&&communities.some(function(community){return community.label===RESORT})},$scope.showNeighbourhoodType=function(){var communities=loadChildRegions($scope.neighbourhood,$scope.subArea);return communities.length&&communities.some(function(community){return community.label!==RESORT})};var filtersWatched=!1;$scope.$watch("filtersForm",function(newVal){if(filtersWatched){var changed=!1;JSON.stringify(newVal)!==JSON.stringify($scope.filters)&&(changed=!0);var element=document.getElementsByClassName("map-filters__unit");changed?element[0].classList.add("is-active"):element[0].classList.remove("is-active")}else filtersWatched=!0},!0),$scope.$watch("filtersForm.priceMax",function(newVal){var index;newVal&&($scope.filtersForm.priceMax=Math.abs($scope.filtersForm.priceMax),index=getSliderIndex(priceArray,$scope.filtersForm.priceMax),$scope.filtersForm.priceSlider.max=index,$scope.filtersForm.priceMin>=$scope.filtersForm.priceMax&&($scope.filtersForm.priceSlider.min=0,updatePricesFromSlider()))}),$scope.$watch("filtersForm.priceMin",function(newVal){var index;(newVal||0===newVal)&&($scope.filtersForm.priceMin=Math.abs(newVal),index=getSliderIndex(priceArray,newVal),$scope.filtersForm.priceSlider.min=index,newVal>=$scope.filtersForm.priceMax&&($scope.filtersForm.priceSlider.max=priceArray.length-1,updatePricesFromSlider()))}),$scope.$watch("filtersForm.squareFootageMin",function(newVal){(newVal||0===newVal)&&($scope.filtersForm.squareFootageMin=Math.abs($scope.filtersForm.squareFootageMin),$scope.filtersForm.squareFootageSlider.min=Math.min($scope.filtersForm.squareFootageSlider.ceil,$scope.filtersForm.squareFootageMin))}),$scope.clickDisplayType=function(type){$scope.setDisplayType(type),initialDisplayTypeForResults=type,RennieWoopra.track_click(type+"_view")},$scope.setDisplayType=function(type){notStarted=!0,type=type||$scope.displayType||Config.filtersDefault.displayType,breakpointService.is("mid")&&(type=typeGrid),$scope.displayType=type,$scope.listings=[],$scope.projects=[],type===typeGrid?$scope.search($scope.params.page||1):$scope.params.page=1},$scope.showPriceDropdown=function($event){$scope.filtersForm=angular.copy($scope.filters);var $target=$($event.target),namedRange=Config.namedPriceRanges[$scope.filters.priceNamed],priceModalHeightOffset=$target.offset().top+$target.outerHeight();namedRange&&($scope.filtersForm.priceMin=namedRange[0],$scope.filtersForm.priceMax=namedRange[1]),$scope.filtersForm.priceSlider.max=getSliderIndex(priceArray,$scope.filtersForm.priceMax),$scope.filtersForm.priceSlider.min=getSliderIndex(priceArray,$scope.filtersForm.priceMin),priceModal.$promise.then(function(){priceModal.show();var $pm=$(priceModal.$element[0]);$($pm.children()[0]).offset({top:priceModalHeightOffset,left:$target.offset().left})}),$timeout(function(){$scope.$broadcast("rzSliderForceRender")})},$scope.finishPriceDropdown=function(){priceModal.hide()},$scope.updateMapPrices=function(){$timeout(function(){angular.isDefined(lastFilterFormPreSearchPromise)&&lastFilterFormPreSearchPromise.then(function(response){return angular.extend($scope,response),response})},300)},$scope.onPriceInputKeypress=function(myEvent){13==myEvent.which&&$scope.finishPriceDropdown()},$scope.showFilters=function(){$scope.filtersForm=angular.copy($scope.filters);var namedRange=Config.namedPriceRanges[$scope.filters.priceNamed];namedRange&&($scope.filtersForm.priceMin=namedRange[0],$scope.filtersForm.priceMax=namedRange[1]),$scope.filtersForm.priceSlider.max=getSliderIndex(priceArray,$scope.filtersForm.priceMax),$scope.filtersForm.priceSlider.min=getSliderIndex(priceArray,$scope.filtersForm.priceMin),$scope.filtersForm.squareFootageSlider.min=$scope.filtersForm.squareFootageMin,$scope.filtersResultsCount=$scope.listingsTotal+$scope.projectsTotal,filtersModal.$promise.then(filtersModal.show),$timeout(function(){$scope.$broadcast("rzSliderForceRender")})},$scope.resetFilters=function(){angular.extend($scope.filtersForm,Config.filtersDefault),$scope.preSearch()}
79,$scope.saveFilters=function(){$scope.filters=angular.copy($scope.filtersForm),$scope.currentPage=1,filtersModal.hide(),updateUrlParamsFromScope(),angular.isDefined(lastFilterFormPreSearchPromise)&&lastFilterFormPreSearchPromise.then(function(response){return angular.extend($scope,response),response})},$scope.preSearch=function(){lastFilterFormPreSearchPromise=getResultsPromise($scope.filtersForm).then(function(response){return $scope.filtersResultsCount=response.listingsTotal+response.projectsTotal,$scope.filterResults=response,response})},$scope.downloadCsv=function(options){$scope.filters.export_sold>180?alert("Max allowed export_sold range is 180 days"):$scope.filters.groups.includes("hawaiilife")?$http.get("/api/v1/listings/map_listings.csv",{params:options}).then(function(data){$scope.onDownloadCsv(data)}):alert("Only HL listings can be exported!"),$scope.filters.csv=0,$scope.filters.export_sold=0},$scope.search=function(page){pendingRequests++,angular.extend($scope,{listings:[]},{currentPage:page},{projects:[]}),AlertService.removeAlertByKey("mapResults"),getResultsPromise($scope.filters,page).then(function(response){angular.extend($scope,response),window.HL_SET_RELATED_LISTINGS&&window.HL_SET_RELATED_LISTINGS(response),pendingRequests--,notStarted=!1;var areaTypes={community:$scope.community,neighbourhood:$scope.neighbourhood,subArea:$scope.subArea,area:$scope.area},closestQuery=MapService.getClosestQuery($scope.closestQuery,$scope.closest,response);assignTitleAndDescription(response,areaTypes),displayAlerts(response),closestQuery&&angular.extend($scope,{closest:closestQuery})}),updateUrlParamsFromScope()},$scope.onMapIdle=function(){needsGeoFilterChange&&(maybeFinishGeoFilterChange(),needsGeoFilterChange=!1),$scope.search()},$scope.showHeader=function(){angular.element(".masthead").removeClass("is-hidden")},$scope.showAlerts=function($event){$scope.saveSearchForm={title:$scope.alertName||getAutocompleteLabel()||$filter("date")(Date.now(),"MMM d, yyyy"),daysBetweenEmails:1},User.getCurrent()?setAlertsModal.$promise.then(function(){if(setAlertsModal.show(),"showFiltersModal"!==$location.hash()&&$event){var $am=$(setAlertsModal.$element[0]),$modalChild=$($am.children()[0]),alertModalHeightOffset=$($event.target).offset().top+$($event.target).outerHeight(),alertModalRightOffset=$($event.target).offset().left-($modalChild.width()-$($event.target).outerWidth());$modalChild.offset({top:alertModalHeightOffset,left:alertModalRightOffset})}"showFiltersModal"===$location.hash()&&($scope.showFilters(),$location.hash(""))}):User.showLoginModal({action:"search-alert"})},$scope.newListing=function(listing){return listing.just_listed},$scope.listingLabel=function(listing){var listingLabel;return soldListing(listing)?listingLabel="sold":reducedListing(listing)?listingLabel="reduced":$scope.newListing(listing)?listingLabel="new":conservationListing(listing)&&(listingLabel="conservation"),listingLabel||"unassigned"},$scope.soldByCurrentAdvisor=function(listing){return currentAdvisor&&soldListing(listing)&&_.some(listing.advisors,{id:currentAdvisor.id})},$scope.listingAgentOrBrokerage=function(listing){return _.isEmpty(listing.advisors)?listingBrokerageHtml(listing):$scope.listingAgentsHtml(listing)},$scope.showListingAgent=function(listing){var showAgent=!1;return!_.isEmpty(listing.advisors)&&$scope.currentAdvisor&&"undefined"==typeof $scope.team?_.forEach(listing.advisors,function(advisor){advisor.id===$scope.currentAdvisor.id&&(showAgent=!0)}):_.isEmpty(listing.advisors)&&!$scope.team||(showAgent=!0),showAgent},$scope.listingAgentsHtml=function(listing){var listingAgents=[];if($scope.team){const matchingAdvisors=listing.advisors.reduce(function(accumulator,advisor){return $scope.team.advisors.find(function(a){return a===advisor.user_name})&&accumulator.push(advisor),accumulator},[]);matchingAdvisors.length>0?_.forEach(matchingAdvisors,function(advisor){listingAgents.push("<span>"+advisor.user_name+"</span>")}):listingAgents.push("<span>"+$scope.team.name+"</span>")}else $scope.currentAdvisor&&"undefined"==typeof $scope.team?_.forEach(listing.advisors,function(advisor){advisor.id===$scope.currentAdvisor.id&&listingAgents.push("<span>"+advisor.user_name+"</span>")}):_.forEach(listing.advisors,function(advisor){listingAgents.push("<span>"+advisor.user_name+"</span>")});return $sce.trustAsHtml(_.join(listingAgents,", "))}
79,$scope.saveSearch=function(){$scope.searchAlertProcessing=!0;var params=SavedSearchHelpers.buildParams($scope);savedSearches.create(params,function(){$scope.searchAlertProcessing=!1,setAlertsModal.hide();var options={headline:I18n.t("global.tenant.saved_searches.headline"),body:I18n.t("global.tenant.saved_searches.body")};rnSuccess.showSuccess(options),RennieWoopra.track_click("set_alert")})},$scope.updateGeometry=function(address){if(RennieWoopra.track("listing_search","query",address.formattedAddress||address.mls_id||address.name),AlertService.removeAlertByKey("mapResults"),address.location){setAutocomplete($scope.autocomplete.label,address),sort.column=distanceSortColumn,$scope.mapConfig.center=address.location,$scope.mapConfig.bounds=address.viewport,$scope.closest=null;var value=$scope.autocomplete.value;if(value&&_.includes(value.types,"street_address")){var formattedQuery=(value.addressComponents.streetNumber+value.addressComponents.streetName).replace(/[ -]/g,"").toLowerCase();$scope.closestQuery=formattedQuery,$scope.mapConfig.zoom=17}else $scope.closestQuery=null;resetRegions()}else if(address.mls_id&&address.id)window.location.href=$scope.base+"/"+(address.slug||address.id);else if(address.region_level){switch(address.region_level){case 1:$scope.area=address,$scope.subArea=null,$scope.neighbourhood=null,$scope.community=null;break;case 2:$scope.area=address.parent,$scope.subArea=address,$scope.neighbourhood=null,$scope.community=null;break;case 3:$scope.area=address.parent.parent,$scope.subArea=address.parent,$scope.neighbourhood=address,$scope.community=null;break;case 4:$scope.area=address.parent.parent.parent,$scope.subArea=address.parent.parent,$scope.neighbourhood=address.parent,$scope.community=address}finishGeoFilterChange(address)}},$scope.onInfoBox=function(position){$scope.closestQuery=position?Helpers.stringifyLatLng(position.latitude,position.longitude):null,updateUrlParamsFromScope(!0)},$scope.isLoading=function(){return pendingRequests>0||notStarted},$scope.woopraTrack=function(event,property,value){RennieWoopra.track(event,property,value)};var search_content_tries=0;$scope.$watch("mapConfig.bounds",function(newVal,oldVal){oldVal!==newVal&&isGridDisplay()&&$scope.search(),oldVal!==newVal&&null!=newVal&&isMapDisplay()&&[$scope.area,$scope.subArea,$scope.neighbourhood,$scope.community].forEac
79h(function(region,index){if(region&&!MapService.mapHasPartOfArea(region,$scope.mapConfig.bounds)&&!MapService.mapHasEntireArea(region,$scope.mapConfig.bounds)){switch(index){case 0:resetRegions();break;case 1:$scope.subArea=null,$scope.neighbourhood=null,$scope.community=null;break;case 2:$scope.neighbourhood=null,$scope.community=null;break;case 3:$scope.community=null}resetPolygon(),resetAutocomplete()}})},!0)}]),angular.module("rennie").controller("SearchValuationCtrl",["$scope",function($scope){"use strict";var searchUrl="/listings?displayType=grid&",displayTypePrefix="displayType=",typeGrid="grid",typeMap="map";$scope.$watch("autocompleteFindHomeGeometry",function(newVal,oldVal){oldVal!==newVal&&($scope.mapConfig.center=newVal.location,$scope.mapConfig.bounds=newVal.viewport)}),$scope.init=function(rootPath){var searchUrl=rootPath||"/listings";$scope.rootPath=rootPath,$scope.setSearchUrl(searchUrl)},$scope.setSearchUrl=function(str){str&&(searchUrl=str+"?displayType=map&")},$scope.updateGeometry=function(address){if(searchUrl.indexOf("&location=")&&(searchUrl=$scope.rootPath||"/listings",searchUrl+="?displayType=map&"),address.location)searchUrl+="location="+$scope.autocompleteSearchLocation.description,address.addressComponents&&address.addressComponents.streetNumber&&address.addressComponents.streetName?(searchUrl+="&zoom=18",searchUrl+="&c="+address.location.latitude+","+address.location.longitude,searchUrl+="&closestQuery="+(address.addressComponents.streetNumber+address.addressComponents.streetName).replace(/[ -]/g,"").toLowerCase()):(searchUrl+="&latMax="+address.viewport.northeast.latitude,searchUrl+="&longMax="+address.viewport.northeast.longitude,searchUrl+="&latMin="+address.viewport.southwest.latitude,searchUrl+="&longMin="+address.viewport.southwest.longitude),window.location.href=searchUrl;else if(address.mls_id&&address.id)window.location.href=$scope.rootPath+"/"+(address.slug||address.id);else if(address.label){for(var regionUrl=$scope.rootPath+"/",region=address,regions=[region.slug];region.parent;)regions.unshift(region.parent.slug),region=region.parent;regionUrl+=regions.join("/"),regionUrl+="?"+displayTypePrefix,regionUrl+=$scope.displayType===typeGrid?typeGrid:typeMap,window.location.href=regionUrl}},$scope.updateValuationAddress=function(data){if(data.location){var url="http://bluecma.com/Rennie?company=rennie&address=";url+=$scope.autocompleteHomeValuation,window.open(url)}}}]),angular.module("rennie").controller("uiLibraryCtrl",["$scope",function($scope){"use strict";$scope.showCTA=!0,$scope.toggleCTA=function(){$scope.showCTA=!$scope.showCTA}}]),angular.module("rennie").directive("rnCurrency",["$filter","$locale",function($filter,$locale){"use strict";return{require:"ngModel",scope:{currencySymbol:"@rnCurrencySymbol",fraction:"=rnCurrencyFraction",append:"@rnCurrencyAppend"},link:function(scope,element,attrs,ngModel){function decimalRex(dChar){return RegExp("\\d|\\-|\\"+dChar,"g")}function clearRex(dChar){return RegExp("\\-{0,1}((\\"+dChar+")|([0-9]{1,}\\"+dChar+"?))&?[0-9]{0,"+fract+"}","g")}function clearValue(value){value=String(value);var dSeparator=$locale.NUMBER_FORMATS.DECIMAL_SEP,cleared=null,neg_dummy=$filter("currency")("-1",getCurrencySymbol(),scope.fraction),neg_idx=neg_dummy.indexOf("1"),neg_str=neg_dummy.substring(0,neg_idx);return value=value.replace(neg_str,"-"),RegExp("^-[\\s]*$","g").test(value)&&(value="-0"),decimalRex(dSeparator).test(value)&&(cleared=(cleared=value.match(decimalRex(dSeparator)).join("").match(clearRex(dSeparator)))?cleared[0].replace(dSeparator,"."):null),cleared}function getCurrencySymbol(){return angular.isDefined(scope.currencySymbol)?scope.currencySymbol:$locale.NUMBER_FORMATS.CURRENCY_SYM}function reformatViewValue(){for(var formatters=ngModel.$formatters,idx=formatters.length,viewValue=ngModel.$$rawModelValue;idx--;)viewValue=formatters[idx](viewValue);ngModel.$setViewValue(viewValue),ngModel.$render()}if("false"!==attrs.rnCurrency){var fract="undefined"!=typeof scope.fraction?scope.fraction:2;ngModel.$parsers.push(function(viewValue){var cVal=clearValue(viewValue);return"."!=cVal&&"-."!=cVal||(cVal=".0"),parseFloat(cVal)}),element.on("blur",function(){ngModel.$commitViewValue(),reformatViewValue()}),element.on("focus",function(){ngModel.$setViewValue(ngModel.$modelValue),ngModel.$render()}),ngModel.$formatters.unshift(function(value){return $filter("currency")(value||0,getCurrencySymbol(),scope.fraction)+(scope.append||"")})}}}}]),angular.module("rennie").directive("rnFillHeight",["$timeout","$http","$compile","$templateCache","googleMapsLoader","listingsService",function($timeout,$http,$compile,$templateCache,googleMapsLoader){"use strict";return{restrict:"A",link:function(scope,element){googleMapsLoader.mapsInitialized.then(function(){function changeHeight(){var newHeight,modalDialog;element.closest(".modal__dialog").length?(modalDialog=element.closest(".modal__dialog"),newHeight=$(window).height()-2*parseFloat(modalDialog.css("marginTop"))):newHeight=$(window).height()-element.offset().top,element.height(newHeight)}
79function init(){changeHeight(),$(window).smartresize(changeHeight)}init()})}}}]),angular.module("rennie").directive("rnFold",["$timeout","breakpointService",function($timeout,breakpointService){"use strict";return{restrict:"A",link:function(scope,element,attrs){var source,selector=attrs.rnFold,sourcePlaceholder=document.createComment("rlDrawerItem placeholder for "+selector);Harvey.attach("screen and (max-width: "+breakpointService.get("mid")+"px)",{on:function(){$timeout(function(){(source=$(selector)).before(sourcePlaceholder),element.append(source)})},off:function(){$(sourcePlaceholder).before(source).detach()}})}}}]),angular.module("rennie").directive("rnInlineErrors",["$compile",function($compile){return{restrict:"A",require:"ngModel",scope:!1,link:function(scope,element,attrs,ctrl){scope.$watch(attrs.rnInlineErrors,function(errors){errors?ctrl.$setValidity("server",!1):ctrl.$setValidity("server",!0)}),element.change(function(){ctrl.$setValidity("server",!0)});var template=$('<div class="error__inline" ng-repeat="error in '+attrs.rnInlineErrors+'">{{error}}</div>');element.after(template),$compile(template)(scope)}}}]),angular.module("rennie").directive("rnPopover",["$filter","$locale","$compile","$http","$templateCache","$animate","$timeout",function($filter,$locale,$compile,$http,$templateCache,$animate,$timeout){"use strict";return{scope:{templateUrl:"@rnPopover"},link:function(scope,element){var $popover;$http.get(scope.templateUrl,{cache:$templateCache}).then(function(content){function hide(){$animate.leave($popover),unbindPopoverEvents(),visible=!1}function show(){(templateScope=angular.extend(scope.$parent.$new())).$hide=hide,$popover=angular.element(content.data),$compile($popover[0])(templateScope),$animate.enter($popover,document.body),setPosition(),setTimeout(bindPopoverEvents,100),visible=!0}function setPosition(){var ePosition=element.offset(),eWidth=element.outerWidth(),windowWidth=$(window).width(),css={};css.top=ePosition.top+element.parent()[0].offsetHeight,ePosition.left+$popover.outerWidth()>windowWidth?(css.right=windowWidth-(ePosition.left+eWidth),css.left="auto"):(css.left=ePosition.left-10,css.right="auto"),$popover.css(css)}function bindPopoverEvents(){$(document).on("click.rnPopover",function(e){element.is(e.target)||$popover.is(e.target)||$popover.has(e.target).length||$timeout(hide)}),$(document).on("keyup.rnPopover",function(e){27===e.keyCode&&$timeout(hide)}),$(window).on("resize.rnPopover",_.debounce(setPosition,200))}function unbindPopoverEvents(){$(document).off("click.rnPopover").off("keyup.rnPopover"),$(window).off("resize.rnPopover")}var templateScope,visible;element.on("click",function(){$timeout(visible?hide:show)})})}}}]),angular.module("rennie").directive("rnSearchvaluation",["googleMapsLoader",function(){"use strict";return{restrict:"A",link:function(scope,element){$(document).click(function(){$(".search-valuation__item").hasClass("is-active")&&($(".search-valuation").removeClass("is-active--parent"),$(".search-valuation__item").removeClass("is-active"))}),element.bind("click",function(event){event.stopImmediatePropagation(),$(this).parent($(".search-valuation")).addClass("is-active--parent"),$(".search-valuation__item").removeClass("is-active"),element.addClass("is-active"),$(event.target).is("input")||$("input",element).first().focus(),element.append($(".pac-container"))}),$(element).bind("keyup",function(){$(event.target).focus()}),$(".utility-links--close",element).bind("click",function(event){event.stopImmediatePropagation(),$(this).parents($(".search-valuation")).removeClass("is-active--parent"),$(".search-valuation__item").removeClass("is-active")})}}}]),angular.module("rennie").directive("rnStreetView",["$timeout","$http","$compile","$templateCache","googleMapsLoader","listingsService",function($timeout,$http,$compile,$templateCache,googleMapsLoader){"use strict";return{restrict:"A",scope:{config:"=rnStreetView",autoHeight:"=rnStreetViewAutoHeight"},link:function(scope,element){var center;googleMapsLoader.mapsInitialized.then(function(){function init(){center=scope.config.center?new google.maps.LatLng(scope.config.center.latitude,scope.config.center.longitude):null;var panorama=new google.maps.StreetViewPanorama(element[0],{position:{lat:center.lat(),lng:center.lng()}});setTimeout(function(){var heading=google.maps.geometry.spherical.computeHeading(panorama.getPosition(),center);panorama.setPov({heading:heading,pitch:10})},500)}scope.$watch("config.center",function(){}),scope.$on("$destroy",function(){}),setTimeout(init,500)})}}}]),angular.module("rennie").filter("formatBeds",["$filter",function(){return function(beds){return parseFloat(beds)>0?parseFloat(beds):"studio"}}]),angular.module("rennie").filter("savedSearchParam",["$filter",function($filter){return function(param,label){var num=param<0?"Any":parseInt(param);if(0===num&&"bedrooms"===label)return"Studio";var text=(isNaN(num)?" ":"+ ")+label;return isNaN(num)?num+text:$filter("number")(num,0)+text}}]),angular.module("rennie").filter("savedSearchPriceRange",["$filter","Config",function($filter,Config){return function(filters){var out,min=filters.priceMin,max=filters.priceMax;if(min||max)min=min||0,out=(min=$filter("priceLabelFilter")(min))+" to "+(max=max?$filter("priceLabelFilter")(max):"any price");else{var namedRange=Config.namedPriceRanges[filters.priceNamed];out=namedRange?namedRange[2]:"any price"}return out}}]),angular.module("rennie").filter("savedSearchDwellingType",function(){return function(type_array){var type_text="All types",display_dwelling_types=[];return type_array&&0<type_array.length&&type_array.length<3&&(_.forEach(type_array,function(dwellingType,key){display_dwelling_types[key]=_.startCase(dwellingType)}),type_text=display_dwelling_types.join(" and ")),type_text}}),angular.module("rennie").filter("urlEscape",function(){return encodeURI}),angular.module("rennie").filter("trusted",["$sce",function($sce){return function(url){return $sce.trustAsResourceUrl(url)}}]);var HLIntelligence=function(){var base="https://platform.hawaiilife.com/api/intelligence";if(window.location.href.includes("localhost"))return{enabled:!1,init:function(){},track:function(){},track_click:function(){},track_login_form_submit:function(){},track_login:function(){},identify:function(){}};var API_KEY="4814c5e0515cf80cffa9ceb4b21f423a2e364";return{identity:null,init:function(){var elem,index,woopraClickables=document.getElementsByClassName("woopra-click"),clickHandler=function(){var property=this.dataset.woopraProperty,value=this.dataset.woopraValue||!0,event=this.dataset.woopraEvent||"click";HLIntelligence.track(event,property,value)};for(index=0;index<woopraClickables.length;index++)(elem=woopraClickables[index]).dataset.woopraProperty&&(elem.onclick&&(elem.addEventListener("click",elem.onclick),elem.onclick=null),elem.addEventListener("click",clickHandler,!0))},track:function(event,property,value,params){"visit"!==event||property||value||(property="page_view",value=window.location.href);var url=window.location.href;params||(params={});var mls_id=null;if("visit"===event)try{var li=$("li#mls_id");mls_id=li&&li[0]?$(li[0]).find("strong").text():null}catch(e){console&&console.log("error",e)}property&&property.includes("carousel")&&"object"==typeof value&&value.hasOwnProperty("mls_id")&&(value=value.mls_id),mls_id&&(params.mls_id=mls_id);var identity=this.identity?this.identity:null;try{var now=new Date;params.current_time=now.toISOString()}catch(e){console&&console.log("could not get current time")}var data={event:event,property:property,value:value||{},identity:identity,url:url,params:params};if(this.enabled)try{jQuery.ajax({url:base,params:{key:API_KEY},method:"POST",dataType:"json",data:data,xhrFields:{withCredentials:!0}})}catch(e){console&&console.log(e)}},track_click:function(property,val){this.track("click",property,!0,val)},track_login_form_submit:function(event,type){var form=event.target,data={};form.user_email&&(data.email=form.user_email.value),form.user_first_name&&(data.first_name=form.user_first_name.value),form.user_last_name&&(data.last_name=form.user_last_name.value),this.track_login(data,type)},track_login:function(data,type){switch(type){case"login":this.track("login","email",data.email);break;
79case"signup":this.track("registration","fname",data.first_name||""),this.track("registration","lname",data.last_name||""),this.track("registration","email",data.email)}},identify:function(data){data.email&&data.email.length&&(this.identity=data)},enabled:!0}};window.HLIntelligence=new HLIntelligence,window.RennieWoopra=HLIntelligence,angular.module("rennie").factory("Advisor",function(){"use strict";function getCurrent(){return currentAdvisor}var currentAdvisor=this.currentAdvisor;return{getCurrent:getCurrent}}),angular.module("rennie").factory("breakpointService",["$rootScope",function(){"use strict";function isBreakpoint(breakpoint){return breakpoints[breakpoint]&&Modernizr.mq("(max-width:"+breakpoints[breakpoint]+"px)")}function getBreakpoint(name){return breakpoints[name]}var breakpoints={full:1400,large:120,big:960,mid:820,small:600,smaller:420};return{is:isBreakpoint,get:getBreakpoint}}]),angular.module("rennie").factory("errorHandler",function(){return{respondToErrors:function(response){var errors;return errors=response.errors,500==response.status||(422==response.status?response.data.errors&&(errors=response.data.errors):response.status),errors}}}),angular.module("rennie").factory("savedSearches",["$resource","User",function($resource,User){"use strict";function create(params,success,fail){service.create(params,function(response){searches.push(response),(success||angular.noop)(response)},fail||angular.noop)}function destroy(params,success,fail){service.destroy(params,function(response){_.remove(searches,{id:response.id}),(success||angular.noop)(response)},fail||angular.noop)}function refreshCached(){User.getCurrent()&&(loading=!0,service.query({},function(response){searches=response,loading=!1}))}function getCached(){return searches}function isLoading(){return loading}var service=$resource("/api/v1/saved_searches/:id",{id:"@id"},{create:{method:"POST"},update:{method:"PUT"},destroy:{method:"DELETE"}}),searches=[],loading=!1;return refreshCached(),{create:create,update:service.update,destroy:destroy,refreshCached:refreshCached,getCached:getCached,isLoading:isLoading}}]),function(w,d,s,l,i){w[l]=w[l]||[],w[l].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl="dataLayer"!=l?"&l="+l:"";j.async=!0,j.src="https://www.googletagmanager.com/gtm.js?id="+i+dl,f.parentNode.insertBefore(j,f)}(window,document,"script","dataLayer","GTM-WJQ95GMB"),function(root,factory){"function"==typeof define&&define.amd?define("i18n",function(){return factory(root)}):"object"==typeof module&&module.exports?module.exports=factory(root):root.I18n=factory(root)}(this,function(global){"use strict";var I18n=global&&global.I18n||{},slice=Array.prototype.slice,padding=function(number){return("0"+number.toString()).substr(-2)},toFixed=function(number,precision){return decimalAdjust("round",number,-precision).toFixed(precision)},isObject=function(obj){var type=typeof obj;return"function"===type||"object"===type},isFunction=function(func){return"function"===typeof func},isSet=function(value){return null!=value},isArray=function(val){return Array.isArray?Array.isArray(val):"[object Array]"===Object.prototype.toString.call(val)},isString=function(val){return"string"==typeof value||"[object String]"===Object.prototype.toString.call(val)},isNumber=function(val){return"number"==typeof val||"[object Number]"===Object.prototype.toString.call(val)},isBoolean=function(val){return!0===val||!1===val},decimalAdjust=function(type,value,exp){return void 0===exp||0==+exp?Math[type](value):(value=+value,exp=+exp,isNaN(value)||"number"!=typeof exp||exp%1!=0?NaN:(value=value.toString().split("e"),+((value=(value=Math[type](+(value[0]+"e"+(value[1]?+value[1]-exp:-exp)))).toString().split("e"))[0]+"e"+(value[1]?+value[1]+exp:exp))))},lazyEvaluate=function(message,scope){return isFunction(message)?message(scope):message},merge=function(dest,obj){var key,value;for(key in obj)obj.hasOwnProperty(key)&&(value=obj[key],isString(value)||isNumber(value)||isBoolean(value)||isArray(value)?dest[key]=value:(null==dest[key]&&(dest[key]={}),merge(dest[key],value)));return dest},DATE={day_names:["Sunday","Monday","Tuesday","Wednesday","Thursday","Frid
79ay","Saturday"],abbr_day_names:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],month_names:[null,"January","February","March","April","May","June","July","August","September","October","November","December"],abbr_month_names:[null,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridian:["AM","PM"]},NUMBER_FORMAT={precision:3,separator:".",delimiter:",",strip_insignificant_zeros:!1},CURRENCY_FORMAT={unit:"$",precision:2,format:"%u%n",sign_first:!0,delimiter:",",separator:"."},PERCENTAGE_FORMAT={unit:"%",precision:3,format:"%n%u",separator:".",delimiter:""},SIZE_UNITS=[null,"kb","mb","gb","tb"],DEFAULT_OPTIONS={defaultLocale:"en",locale:"en",defaultSeparator:".",placeholder:/(?:\{\{|%\{)(.*?)(?:\}\}?)/gm,fallbacks:!1,translations:{},missingBehaviour:"message",missingTranslationPrefix:""};return I18n.reset=function(){var key;for(key in DEFAULT_OPTIONS)this[key]=DEFAULT_OPTIONS[key]},I18n.initializeOptions=function(){var key;for(key in DEFAULT_OPTIONS)isSet(this[key])||(this[key]=DEFAULT_OPTIONS[key])},I18n.initializeOptions(),I18n.locales={},I18n.locales.get=function(locale){var result=this[locale]||this[I18n.locale]||this["default"];return isFunction(result)&&(result=result(locale)),!1===isArray(result)&&(result=[result]),result},I18n.locales["default"]=function(locale){var locales=[],list=[];return locale&&locales.push(locale),!locale&&I18n.locale&&locales.push(I18n.locale),I18n.fallbacks&&I18n.defaultLocale&&locales.push(I18n.defaultLocale),locales.forEach(function(locale){var localeParts=locale.split("-"),firstFallback=null,secondFallback=null;3===localeParts.length?(firstFallback=[localeParts[0],localeParts[1]].join("-"),secondFallback=localeParts[0]):2===localeParts.length&&(firstFallback=localeParts[0]),-1===list.indexOf(locale)&&list.push(locale),I18n.fallbacks&&[firstFallback,secondFallback].forEach(function(nullableFallbackLocale){null!=nullableFallbackLocale&&nullableFallbackLocale!==locale&&-1===list.indexOf(nullableFallbackLocale)&&list.push(nullableFallbackLocale)})}),
80locales.length||locales.push("en"),list},I18n.pluralization={},I18n.pluralization.get=function(locale){return this[locale]||this[I18n.locale]||this["default"]},I18n.pluralization["default"]=function(count){switch(count){case 0:return["zero","other"];case 1:return["one"];default:return["other"]}},I18n.currentLocale=function(){return this.locale||this.defaultLocale},I18n.isSet=isSet,I18n.lookup=function(scope,options){options=options||{};var locale,scopes,fullScope,translations,locales=this.locales.get(options.locale).slice();locales[0];for(fullScope=this.getFullScope(scope,options);locales.length;)if(locale=locales.shift(),scopes=fullScope.split(this.defaultSeparator),translations=this.translations[locale]){for(;scopes.length&&(translations=translations[scopes.shift()])!==undefined&&null!==translations;);if(translations!==undefined&&null!==translations)return translations}if(isSet(options.defaultValue))return lazyEvaluate(options.defaultValue,scope)},I18n.pluralizationLookupWithoutFallback=function(count,locale,translations){var pluralizerKey,message,pluralizerKeys=this.pluralization.get(locale)(count);if(isObject(translations))for(;pluralizerKeys.length;)if(pluralizerKey=pluralizerKeys.shift(),isSet(translations[pluralizerKey])){message=translations[pluralizerKey];break}return message},I18n.pluralizationLookup=function(count,scope,options){options=options||{};var locale,scopes,translations,message,locales=this.locales.get(options.locale).slice();locales[0];for(scope=this.getFullScope(scope,options);locales.length;)if(locale=locales.shift(),scopes=scope.split(this.defaultSeparator),translations=this.translations[locale]){for(;scopes.length&&(translations=translations[scopes.shift()],isObject(translations));)0==scopes.length&&(message=this.pluralizationLookupWithoutFallback(count,locale,translations));if(null!=message&&message!=undefined)break}return null!=message&&message!=undefined||isSet(options.defaultValue)&&(message=isObject(options.defaultValue)?this.pluralizationLookupWithoutFallback(count,options.locale,options.defaultValue):options.defaultValue,translations=options.defaultValue),{message:message,translations:translations}},I18n.meridian=function(){var time=this.lookup("time"),date=this.lookup("date");return time&&time.am&&time.pm?[time.am,time.pm]:date&&date.meridian?date.meridian:DATE.meridian},I18n.prepareOptions=function(){for(var subject,args=slice.call(arguments),options={};args.length;)if("object"==typeof(subject=args.shift()))for(var attr in subject)subject.hasOwnProperty(attr)&&(isSet(options[attr])||(options[attr]=subject[attr]));return options},I18n.createTranslationOptions=function(scope,options){var translationOptions=[{scope:scope}];return isSet(options.defaults)&&(translationOptions=translationOptions.concat(options.defaults)),isSet(options.defaultValue)&&translationOptions.push({message:options.defaultValue}),translationOptions},I18n.translate=function(scope,options){options=options||{};var translation,translationOptions=this.createTranslationOptions(scope,options),optionsWithoutDefault=this.prepareOptions(options);return delete optionsWithoutDefault.defaultValue,translationOptions.some(function(translationOption){if(isSet(translationOption.scope)?translation=this.lookup(translationOption.scope,optionsWithoutDefault):isSet(translationOption.message)&&(translation=lazyEvaluate(translationOption.message,scope)),translation!==un
80defined&&null!==translation)return!0},this)?("string"==typeof translation?translation=this.interpolate(translation,options):isObject(translation)&&isSet(options.count)&&(translation=this.pluralize(options.count,scope,options)),translation):this.missingTranslation(scope,options)},I18n.interpolate=function(message,options){options=options||{};var placeholder,name,regex,value,matches=message.match(this.placeholder);if(!matches)return message;for(;matches.length;)name=(placeholder=matches.shift()).replace(this.placeholder,"$1"),value=isSet(options[name])?options[name].toString().replace(/\$/gm,"_#$#_"):name in options?this.nullPlaceholder(placeholder,message,options):this.missingPlaceholder(placeholder,message,options),regex=new RegExp(placeholder.replace(/\{/gm,"\\{").replace(/\}/gm,"\\}")),message=message.replace(regex,value);return message.replace(/_#\$#_/g,"$")},I18n.pluralize=function(count,scope,options){var pluralizer,result;return options=this.prepareOptions({count:String(count)},options),(result=this.pluralizationLookup(count,scope,options)).translations==undefined||null==result.translations?this.missingTranslation(scope,options):result.message!=undefined&&null!=result.message?this.interpolate(result.message,options):(pluralizer=this.pluralization.get(options.locale),this.missingTranslation(scope+"."+pluralizer(count)[0],options))},I18n.missingTranslation=function(scope,options){if("guess"==this.missingBehaviour){var s=scope.split(".").slice(-1)[0];return(this.missingTranslationPrefix.length>0?this.missingTranslationPrefix:"")+s.replace("_"," ").replace(/([a-z])([A-Z])/g,function(match,p1,p2){return p1+" "+p2.toLowerCase()})}return'[missing "'+[null!=options&&null!=options.locale?options.locale:this.currentLocale(),this.getFullScope(scope,options)].join(this.defaultSeparator)+'" translation]'},I18n.missingPlaceholder=function(placeholder){return"[missing "+placeholder+" value]"},I18n.nullPlaceholder=function(){return I18n.missingPlaceholder.apply(I18n,arguments)},I18n.toNumber=function(number,options){options=this.prepareOptions(options,this.lookup("number.format"),NUMBER_FORMAT);var precision,formattedNumber,negative=number<0,parts=toFixed(Math.abs(number),options.precision).toString().split("."),buffer=[],format=options.format||"%n",sign=negative?"-":"";for(number=parts[0],precision=parts[1];number.length>0;)buffer.unshift(number.substr(Math.max(0,number.length-3),3)),number=number.substr(0,number.length-3);return formattedNumber=buffer.join(options.delimiter),options.strip_insignificant_zeros&&precision&&(precision=precision.replace(/0+$/,"")),options.precision>0&&precision&&(formattedNumber+=options.separator+precision),formattedNumber=(format=options.sign_first?"%s"+format:format.replace("%n","%s%n")).replace("%u",options.unit).replace("%n",formattedNumber).replace("%s",sign)},I18n.toCurrency=function(number,options){return options=this.prepareOptions(options,this.lookup("number.currency.format"),this.lookup("number.format"),CURRENCY_FORMAT),this.toNumber(number,options)},I18n.localize=function(scope,value,options){switch(options||(options={}),scope){case"currency":return this.toCurrency(value);case"number":return scope=this.lookup("number.format"),this.toNumber(value,scope);case"percentage":return this.toPercentage(value);default:var localizedValue;return localizedValue=scope.match(/^(date|time)/)?this.toTime(scope,value):value.toString(),this.interpolate(localizedValue,options)}},I18n.parseDate=function(date){var matches,convertedDate,fraction;if("object"==typeof date)return date;if(matches=date.toString().match(/(\d{4})-(\d{2})-(\d{2})(?:[ T](\d{2}):(\d{2}):(\d{2})([\.,]\d{1,3})?)?(Z|\+00:?00)?/)){for(var i=1;i<=6;i++)matches[i]=parseInt(matches[i],10)||0;matches[2]-=1,fraction=matches[7]?1e3*("0"+matches[7]):null,convertedDate=matches[8]?new Date(Date.UTC(matches[1],matches[2],matches[3],matches[4],matches[5],matches[6],fraction)):new Date(matches[1],matches[2],matches[3],matches[4],matches[5],matches[6],fraction)}else"number"==typeof date?(convertedDate=new Date).setTime(date):date.match(/([A-Z][a-z]{2}) ([A-Z][a-z]{2}) (\d+) (\d+:\d+:\d+) ([+-]\d+) (\d+)/)?(convertedDate=new Date).setTime(Date.parse([RegExp.$1,RegExp.$2,RegExp.$3,RegExp.$6,RegExp.$4,RegExp.$5].join(" "))):(date.match(/\d+ \d+:\d+:\d+ [+-]\d+ \d+/),(convertedDate=new Date).setTime(Date.parse(date)));return convertedDate},I18n.strftime=function(date,format){var options=this.lookup("date"),meridianOptions=I18n.meridian();if(options||(options={}),options=this.prepareOptions(options,DATE),isNaN(date.getTime()))throw new Error("I18n.strftime() requires a valid date object, but received an invali
80d date.");var weekDay=date.getDay(),day=date.getDate(),year=date.getFullYear(),month=date.getMonth()+1,hour=date.getHours(),hour12=hour,meridian=hour>11?1:0,secs=date.getSeconds(),mins=date.getMinutes(),offset=date.getTimezoneOffset(),absOffsetHours=Math.floor(Math.abs(offset/60)),absOffsetMinutes=Math.abs(offset)-60*absOffsetHours,timezoneoffset=(offset>0?"-":"+")+(absOffsetHours.toString().length<2?"0"+absOffsetHours:absOffsetHours)+(absOffsetMinutes.toString().length<2?"0"+absOffsetMinutes:absOffsetMinutes);return hour12>12?hour12-=12:0===hour12&&(hour12=12),format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=(format=format.replace("%a",options.abbr_day_names[weekDay])).replace("%A",options.day_names[weekDay])).replace("%b",options.abbr_month_names[month])).replace("%B",options.month_names[month])).replace("%d",padding(day))).replace("%e",day)).replace("%-d",day)).replace("%H",padding(hour))).replace("%-H",hour)).replace("%I",padding(hour12))).replace("%-I",hour12)).replace("%m",padding(month))).replace("%-m",month)).replace("%M",padding(mins))).replace("%-M",mins)).replace("%p",meridianOptions[meridian])).replace("%S",padding(secs))).replace("%-S",secs)).replace("%w",weekDay)).replace("%y",padding(year))).replace("%-y",padding(year).replace(/^0+/,""))).replace("%Y",year)).replace("%z",timezoneoffset)},I18n.toTime=function(scope,dateString){var date=this.parseDate(dateString),format=this.lookup(scope);return date.toString().match(/invalid/i)?date.toString():format?this.strftime(date,format):date.toString()},I18n.toPercentage=function(number,options){return options=this.prepareOptions(options,this.lookup("number.percentage.format"),this.lookup("number.format"),PERCENTAGE_FORMAT),this.toNumber(number,options)},I18n.toHumanSize=function(number,options){for(var unit,precision,kb=1024,size=number,iterations=0;size>=kb&&iterations<4;)size/=kb,iterations+=1;return 0===iterations?(unit=this.t("number.human.storage_units.units.byte",{count:size}),precision=0):(unit=this.t("number.human.storage_units.units."+SIZE_UNITS[iterations]),precision=size-Math.floor(size)==0?0:1),options=this.prepareOptions(options,{unit:unit,precision:precision,format:"%n%u",delimiter:""}),this.toNumber(size,options)},I18n.getFullScope=function(scope,options){return options=options||{},isArray(scope)&&(scope=scope.join(this.defaultSeparator)),options.scope&&(scope=[options.scope,scope].join(this.defaultSeparator)),scope},I18n.extend=function(obj1,obj2){return void 0===obj1&&void 0===obj2?{}:merge(obj1,obj2)},I18n.t=I18n.translate,I18n.l=I18n.localize,I18n.p=I18n.pluralize,I18n}),function($,Harvey,breakpoints){$(window).on("load",function(){$(window).width()>breakpoints.small&&$(".recent-posts").detach().appendTo("#featured-posts-desktop"),Harvey.attach("(min-width:"+breakpoints.small+"px)",{on:function(){$(".recent-posts").detach().appendTo("#featured-posts-desktop")},off:function(){$(".recent-posts").detach().appendTo("#featured-posts-mobile")}})})}(jQuery,Harvey,app.breakpoints),$(function(){if($('a[href*="#"]:not([href="#"])').click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var target=$(this.hash);if((target=target.length?target:$("[name="+this.hash.slice(1)+"]")).length)return $("html, body").animate({scrollTop:target.offset().top-24},1e3),!1}}),"undefined"!=typeof IntersectionObserver){var observer=new IntersectionObserver(onChange,{threshold:[.1],rootMargin:"500px 0px"});
80function onChange(changes){changes.forEach(function(change){change.isIntersecting&&(change.target.innerHTML=change.target.dataset.src,change.target.classList.add("u-visible"),observer.unobserve(change.target))})}var createObservers=function(imgElements){imgElements&&imgElements.hasOwnProperty("forEach")&&imgElements.forEach(function(img){observer.observe(img)})};window.addEventListener("load",function(){createObservers(document.querySelectorAll(".lazyload"))},!1)}}),$(document).ready(function(){$(".advisor-post__image--homepage").error(function(){$(this).attr("src","../images/small/missing.png")})}),$(document).ready(function($){$(".submenu .has-submenu").bind("click",function(){$(this).find(".submenu-inline").toggle("display")});var logoFadedOut=!1,moreEfficientScrolling=hl_debounce(function(){logoFadedOut||logoFadedOut||window.pageYOffset>0&&($(".site-name").fadeOut(),$(".masthead__advisor").addClass("no-padding-left"),logoFadedOut=!0)},100);$(window).on("scroll",function(){setTimeout(function(){moreEfficientScrolling()},3e3)}),$("body").addClass("embedded-chat")}),jQuery(function($){$(".select-office-on-change").bind("change",function(){window.open($(this).val(),"_blank")})});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.