/*! * angular-translate - v2.7.2 - 2015-06-01 * http://github.com/angular-translate/angular-translate * Copyright (c) 2015 ; Licensed MIT */!function(a,b){"function"==typeofdefine&&define.amd?define([],function(){returnb()}):"object"==typeofexports?module.exports=b():b()}(this,function(){functiona(a){"use strict";varb=a.storageKey(),c=a.storage(),d=function(){vard=a.preferredLanguage();angular.isString(d)?a.use(d):c.put(b,a.use())};d.displayName="fallbackFromIncorrectStorageValue",c?c.get(b)?a.use(c.get(b))["catch"](d):d():angular.isString(a.preferredLanguage())&&a.use(a.preferredLanguage())}functionb(){"use strict";vara,b,c=null,d=!1,e=!1;b={sanitize:function(a,b){return"text"===b&&(a=g(a)),a},escape:function(a,b){return"text"===b&&(a=f(a)),a},sanitizeParameters:function(a,b){return"params"===b&&(a=h(a,g)),a},escapeParameters:function(a,b){return"params"===b&&(a=h(a,f)),a}},b.escaped=b.escapeParameters,this.addStrategy=function(a,c){returnb[a]=c,this},this.removeStrategy=function(a){returndeleteb[a],this},this.useStrategy=function(a){returnd=!0,c=a,this},this.$get=["$injector","$log",function(f,g){varh=function(a,c,d){returnangular.forEach(d,function(d){if(angular.isFunction(d))a=d(a,c);else{if(!angular.isFunction(b[d]))thrownewError("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '"+d+"'");a=b[d](a,c)}}),a},i=function(){d||e||(g.warn("pascalprecht.translate.$translateSanitization: No sanitization strategy has been configured. This can have serious security implications. See http://angular-translate.github.io/docs/#/guide/19_security for details."),e=!0)};returnf.has("$sanitize")&&(a=f.get("$sanitize")),{useStrategy:function(a){returnfunction(b){a.useStrategy(b)}}(this),sanitize:function(a,b,d){if(c||i(),arguments.length<3&&(d=c),!d)returna;vare=angular.isArray(d)?d:[d];returnh(a,b,e)}}}];varf=function(a){varb=angular.element("<div></div>");returnb.text(a),b.html()},g=function(b){if(!a)thrownewError("pascalprecht.translate.$translateSanitization: Error cannot find $sanitize service. Either include the ngSanitize module (https://docs.angularjs.org/api/ngSanitize) or use a sanitization strategy which does not depend on $sanitize, such as 'escape'.");returna(b)},h=function(a,b){if(angular.isObject(a)){varc=angular.isArray(a)?[]:{};returnangular.forEach(a,function(a,d){c[d]=h(a,b)}),c}returnangular.isNumber(a)?a:b(a)}}functionc(a,b,c,d){"use strict";vare,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t={},u=[],v=a,w=[],x="translate-cloak",y=!1,z=!1,A=".",B=0,C=!0,D="default",E={"default":function(a){return(a||"").split("-").join("_")},java:function(a){varb=(a||"").split("-").join("_"),c=b.split("_");returnc.length>1?c[0].toLowerCase()+"_"+c[1].toUpperCase():b},bcp47:function(a){varb=(a||"").split("_").join("-"),c=b.split("-");returnc.length>1?c[0].toLowerCase()+"-"+c[1].toUpperCase():b}},F="2.7.2",G=function(){if(angular.isFunction(d.getLocale))returnd.getLocale();vara,c,e=b.$get().navigator,f=["language","browserLanguage","systemLanguage","userLanguage"];if(angular.isArray(e.languages))for(a=0;a<e.languages.length;a++)if(c=e.languages[a],c&&c.length)returnc;for(a=0;a<f.length;a++)if(c=e[f[a]],c&&c.length)returnc;returnnull};G.displayName="angular-translate/service: getFirstBrowserLanguage";varH=function(){vara=G()||"";returnE[D]&&(a=E[D](a)),a};H.displayName="angular-translate/service: getLocale";varI=function(a,b){for(varc=0,d=a.length;d>c;c++)if(a[c]===b)returnc;return-1},J=function(){returnthis.toString().replace(/^\s+|\s+$/g,"")},K=function(a){for(varb=[],c=angular.lowercase(a),d=0,e=u.length;e>d;d++)b.push(angular.lowercase(u[d]));if(I(b,c)>-1)returna;if(f){varg;for(varhinf){vari=!1,j=Object.prototype.hasOwnProperty.call(f,h)&&angular.lowercase(h)===angular.lowercase(a);if("*"===h.slice(-1)&&(i=h.slice(0,-1)===a.slice(0,h.length-1)),(j||i)&&(g=f[h],I(b,angular.lowercase(g))>-1))returng}}if(a){vark=a.split("_");if(k.length>1&&I(b,angular.lowercase(k[0]))>-1)returnk[0]}returna},L=function(a,b){if(!a&&!b)returnt;if(a&&!b){if(angular.isString(a))returnt[a]}elseangular.isObject(t[a])||(t[a]={}),angular.extend(t[a],M(b));returnthis};this.translations=L,this.cloakClassName=function(a){returna?(x=a,this):x};varM=function(a,b,c,d){vare,f,g,h;b||(b=[]),c||(c={});for(eina)Object.prototype.hasOwnProperty.call(a,e)&&(h=a[e],angular.isObject(h)?M(h,b.concat(e),c,e):(f=b.length?""+b.join(A)+A+e:e,b.length&&e===d&&(g=""+b.join(A),c[g]="@:"+f),c[f]=h));returnc};M.displayName="flatObject",this.addInterpolation=function(a){returnw.push(a),this},this.useMessageFormatInterpolation=function(){returnthis.useInterpolation("$translateMessageFormatInterpolation")},this.useInterpolation=function(a){returnn=a,this},this.useSanitizeValueStrategy=function(a){returnc.useStrategy(a),this},this.preferredLanguage=function(a){returnN(a),this};varN=function(a){returna&&(e=a),e};this.translationNotFoundIndicator=function(a){returnthis.translationNotFoundIndicatorLeft(a),this.translationNotFoundIndicatorRight(a),this},this.translationNotFoundIndicatorLeft=function(a){returna?(q=a,this):q},this.translationNotFoundIndicatorRight=function(a){returna?(r=a,this):r},this.fallbackLanguage=function(a){returnO(a),this};varO=function(a){returna?(angular.isString(a)?(h=!0,g=[a]):angular.isArray(a)&&(h=!1,g=a),angular.isString(e)&&I(g,e)<0&&g.push(e),this):h?g[0]:g};this.use=function(a){if(a){if(!t[a]&&!o)thrownewError("$translateProvider couldn't find translationTable for langKey: '"+a+"'");returni=a,this}returni};varP=function(a){returna?(v=a,this):l?l+v:v};this.storageKey=P,this.useUrlLoader=function(a,b){returnthis.useLoader("$translateUrlLoader",angular.extend({url:a},b))},this.useStaticFilesLoader=function(a){returnthis.useLoader("$translateStaticFilesLoader",a)},this.useLoader=function(a,b){returno=a,p=b||{},this},this.useLocalStorage=function(){returnthis.useStorage("$translateLocalStorage")},this.useCookieStorage=function(){returnthis.useStorage("$translateCookieStorage")},this.useStorage=function(a){returnk=a,this},this.storagePrefix=function(a){returna?(l=a,this):a},this.useMissingTranslationHandlerLog=function(){returnthis.useMissingTranslationHandler("$translateMissingTranslationHandlerLog")},this.useMissingTranslationHandler=function(a){returnm=a,this},this.usePostCompiling=function(a){returny=!!a,this},this.forceAsyncReload=function(a){returnz=!!a,this},this.uniformLanguageTag=function(a){returna?angular.isString(a)&&(a={standard:a}):a={},D=a.standard,this},this.determinePreferredLanguage=function(a){varb=a&&angular.isFunction(a)?a():H();returne=u.length?K(b):b,this},this.registerAvailableLanguageKeys=function(a,b){returna?(u=a,b&&(f=b),this):u},this.useLoaderCache=function(a){returna===!1?s=void0:a===!0?s=!0:"undefined"==typeofa?s="$translationCache":a&&(s=a),this},this.directivePriority=function(a){returnvoid0===a?B:(B=a,this)},this.statefulFilter=function(a){returnvoid0===a?C:(C=a,this)},this.$get=["$log","$injector","$rootScope","$q",function(a,b,c,d){varf,l,u,A=b.get(n||"$translateDefaultInterpolation"),D=!1,E={},G={},H=function(a,b,c,h){if(angular.isArray(a)){varj=function(a){for(vare={},f=[],g=function(a){varf=d.defer(),g=function(b){e[a]=b,f.resolve([a,b])};returnH(a,b,c,h).then(g,g),f.promise},i=0,j=a.length;j>i;i++)f.push(g(a[i]));returnd.all(f).then(function(){returne})};returnj(a)}varm=d.defer();a&&(a=J.apply(a));varn=function(){vara=e?G[e]:G[i];if(l=0,k&&!a){varb=f.get(v);if(a=G[b],g&&g.length){varc=I(g,b);l=0===c?1:0,I(g,e)<0&&g.push(e)}}returna}();if(n){varo=function(){ab(a,b,c,h).then(m.resolve,m.reject)};o.displayName="promiseResolved",n["finally"](o,m.reject)}elseab(a,b,c,h).then(m.resolve,m.reject);returnm.promise},Q=function(a){returnq&&(a=[q,a].join(" ")),r&&(a=[a,r].join(" ")),a},R=function(a){i=a,c.$emit("$translateChangeSuccess",{language:a}),k&&f.put(H.storageKey(),i),A.setLocale(i);varb=function(a,b){E[b].setLocale(i)};b.displayName="eachInterpolatorLocaleSetter",angular.forEach(E,b),c.$emit("$translateChangeEnd",{language:a})},S=function(a){if(!a)throw"No language key specified for loading.";vare=d.defer();c.$emit("$translateLoadingStart",{language:a}),D=!0;varf=s;"string"==typeoff&&(f=b.get(f));varg=angular.extend({},p,{key:a,$http:angular.extend({},{cache:f},p.$http)}),h=function(b){vard={};c.$emit("$translateLoadingSuccess",{language:a}),angular.isArray(b)?angular.forEach(b,function(a){angular.extend(d,M(a))}):angular.extend(d,M(b)),D=!1,e.resolve({key:a,table:d}),c.$emit("$translateLoadingEnd",{language:a})};h.displayName="onLoaderSuccess";vari=function(a){c.$emit("$translateLoadingError",{language:a}),e.reject(a),c.$emit("$translateLoadingEnd",{language:a})};returni.displayName="onLoaderError",b.get(o)(g).then(h,i),e.promise};if(k&&(f=b.get(k),!f.get||!f.put))thrownewError("Couldn't use storage '"+k+"', missing get() or put() method!");if(w.length){varT=function(a){varc=b.get(a);c.setLocale(e||i),E[c.getInterpolationIdentifier()]=c};T.displayName="interpolationFactoryAdder",angular.forEach(w,T)}varU=function(a){varb=d.defer();if(Object.prototype.hasOwnProperty.call(t,a))b.resolve(t[a]);elseif(G[a]){varc=function(a){L(a.key,a.table),b.resolve(a.table)};c.displayName="translationTableResolver",G[a].then(c,b.reject)}elseb.reject();returnb.promise},V=function(a,b,c,e){varf=d.defer(),g=function(d){if(Object.prototype.hasOwnProperty.call(d,b)){e.setLocale(a);varg=d[b];"@:"===g.substr(0,2)?V(a,g.substr(2),c,e).then(f.resolve,f.reject):f.resolve(e.interpolate(d[b],c)),e.setLocale(i)}elsef.reject()};returng.displayName="fallbackTranslationResolver",U(a).then(g,f.reject),f.promise},W=function(a,b,c,d){vare,f=t[a];if(f&&Object.prototype.hasOwnProperty.call(f,b)){if(d.setLocale(a),e=d.interpolate(f[b],c),"@:"===e.substr(0,2))returnW(a,e.substr(2),c,d);d.setLocale(i)}returne},X=function(a,c){if(m){vard=b.get(m)(a,i,c);returnvoid0!==d?d:a}returna},Y=function(a,b,c,e,f){varh=d.defer();if(a<g.length){vari=g[a];V(i,b,c,e).then(h.resolve,function(){Y(a+1,b,c,e,f).then(h.resolve)})}elseh.resolve(f?f:X(b,c));returnh.promise},Z=function(a,b,c,d){vare;if(a<g.length){varf=g[a];e=W(f,b,c,d),e||(e=Z(a+1,b,c,d))}returne},$=function(a,b,c,d){returnY(u>0?u:l,a,b,c,d)},_=function(a,b,c){returnZ(u>0?u:l,a,b,c)},ab=function(a,b,c,e){varf=d.defer(),h=i?t[i]:t,j=c?E[c]:A;if(h&&Object.prototype.hasOwnProperty.call(h,a)){vark=h[a];"@:"===k.substr(0,2)?H(k.substr(2),b,c,e).then(f.resolve,f.reject):f.resolve(j.interpolate(k,b))}else{varl;m&&!D&&(l=X(a,b)),i&&g&&g.length?$(a,b,j,e).then(function(a){f.resolve(a)},function(a){f.reject(Q(a))}):m&&!D&&l?f.resolve(e?e:l):e?f.resolve(e):f.reject(Q(a))}returnf.promise},bb=function(a,b,c){vard,e=i?t[i]:t,f=A;if(E&&Object.prototype.hasOwnProperty.call(E,c)&&(f=E[c]),e&&Object.prototype.hasOwnProperty.call(e,a)){varh=e[a];d="@:"===h.substr(0,2)?bb(h.substr(2),b,c):f.interpolate(h,b)}else{varj;m&&!D&&(j=X(a,b)),i&&g&&g.length?(l=0,d=_(a,b,f)):d=m&&!D&&j?j:Q(a)}returnd},cb=function(a){j===a&&(j=void0),G[a]=void0};if(H.preferredLanguage=function(a){returna&&N(a),e},H.cloakClassName=function(){returnx},H.fallbackLanguage=function(a){if(void0!==a&&null!==a){if(O(a),o&&g&&g.length)for(varb=0,c=g.length;c>b;b++)G[g[b]]||(G[g[b]]=S(g[b]));H.use(H.use())}returnh?g[0]:g},H.useFallbackLanguage=function(a){if(void0!==a&&null!==a)if(a){varb=I(g,a);b>-1&&(u=b)}elseu=0},H.proposedLanguage=function(){returnj},H.storage=function(){returnf},H.use=function(a){if(!a)returni;varb=d.defer();c.$emit("$translateChangeStart",{language:a});vare=K(a);returne&&(a=e),!z&&t[a]||!o||G[a]?j===a&&G[a]?G[a].then(function(a){returnb.resolve(a.key),a},function(a){returnb.reject(a),d.reject(a)}):(b.resolve(a),R(a)):(j=a,G[a]=S(a).then(function(a){returnL(a.key,a.table),b.resolve(a.key),R(a.key),a},function(a){returnc.$emit("$translateChangeError",{language:a}),b.reject(a),c.$emit("$translateChangeEnd",{language:a}),d.reject(a)}),G[a]["finally"](function(){cb(a)})),b.promise},H.storageKey=function(){returnP()},H.isPostCompilingEnabled=function(){returny},H.isForceAsyncReloadEnabled=function(){returnz},H.refresh=function(a){functionb(){f.resolve(),c.$emit("$translateRefreshEnd",{language:a})}functione(){f.reject(),c.$emit("$translateRefreshEnd",{language:a})}if(!o)thrownewError("Couldn't refresh translation table, no loader registered!");varf=d.defer();if(c.$emit("$translateRefreshStart",{language:a}),a)if(t[a]){varh=function(c){L(c.key,c.table),a===i&&R(i),b()};h.displayName="refreshPostProcessor",S(a).then(h,e)}elsee();else{varj=[],k={};if(g&&g.length)for(varl=0,m=g.length;m>l;l++)j.push(S(g[l])),k[g[l]]=!0;i&&!k[i]&&j.push(S(i));varn=function(a){t={},angular.forEach(a,function(a){L(a.key,a.table)}),i&&R(i),b()};n.displayName="refreshPostProcessor",d.all(j).then(n,e)}returnf.promise},H.instant=function(a,b,c){if(null===a||angular.isUndefined(a))returna;if(angular.isArray(a)){for(vard={},f=0,h=a.length;h>f;f++)d[a[f]]=H.instant(a[f],b,c);returnd}if(angular.isString(a)&&a.length<1)returna;a&&(a=J.apply(a));varj,k=[];e&&k.push(e),i&&k.push(i),g&&g.length&&(k=k.concat(g));for(varl=0,n=k.length;n>l;l++){varo=k[l];if(t[o]&&("undefined"!=typeoft[o][a]?j=bb(a,b,c):(q||r)&&(j=Q(a))),"undefined"!=typeofj)break}returnj||""===j||(j=A.interpolate(a,b),m&&!D&&(j=X(a,b))),j},H.versionInfo=function(){returnF},H.loaderCache=function(){returns},H.directivePriority=function(){returnB},H.statefulFilter=function(){returnC},o&&(angular.equals(t,{})&&H.use(H.use()),g&&g.length))for(vardb=function(a){returnL(a.key,a.table),c.$emit("$translateChangeEnd",{language:a.key}),a},eb=0,fb=g.length;fb>eb;eb++){vargb=g[eb];(z||!t[gb])&&(G[gb]=S(gb).then(db))}returnH}]}functiond(a,b){"use strict";varc,d={},e="default";returnd.setLocale=function(a){c=a},d.getInterpolationIdentifier=function(){returne},d.useSanitizeValueStrategy=function(a){returnb.useStrategy(a),this},d.interpolate=function(c,d){d=d||{},d=b.sanitize(d,"params");vare=a(c)(d);returne=b.sanitize(e,"text")},d}functione(a,b,c,d,e,f){"use strict";varg=function(){returnthis.toString().replace(/^\s+|\s+$/g,"")};return{restrict:"AE",scope:!0,priority:a.directivePriority(),compile:function(b,h){vari=h.translateValues?h.translateValues:void0,j=h.translateInterpolation?h.translateInterpolation:void0,k=b[0].outerHTML.match(/translate-value-+/i),l="^(.*)("+c.startSymbol()+".*"+c.endSymbol()+")(.*)",m="^(.*)"+c.startSymbol()+"(.*)"+c.endSymbol()+"(.*)";returnfunction(b,n,o){b.interpolateParams={},b.preText="",b.postText="";varp={},q=function(a,c,d){if(c.translateValues&&angular.extend(a,e(c.translateValues)(b.$parent)),k)for(varfind)if(Object.prototype.hasOwnProperty.call(c,f)&&"translateValue"===f.substr(0,14)&&"translateValues"!==f){varg=angular.lowercase(f.substr(14,1))+f.substr(15);a[g]=d[f]}},r=function(a){if(angular.isFunction(r._unwatchOld)&&(r._unwatchOld(),r._unwatchOld=void0),angular.equals(a,"")||!angular.isDefined(a)){vard=g.apply(n.text()).match(l);if(angular.isArray(d)){b.preText=d[1],b.postText=d[3],p.translate=c(d[2])(b.$parent);vare=n.text().match(m);angular.isArray(e)&&e[2]&&e[2].length&&(r._unwatchOld=b.$watch(e[2],function(a){p.translate=a,x()}))}elsep.translate=n.text().replace(/^\s+|\s+$/g,"")}elsep.translate=a;x()},s=function(a){o.$observe(a,function(b){p[a]=b,x()})};q(b.interpolateParams,o,h);vart=!0;o.$observe("translate",function(a){"undefined"==typeofa?r(""):""===a&&t||(p.translate=a,x()),t=!1});for(varuino)o.hasOwnProperty(u)&&"translateAttr"===u.substr(0,13)&&s(u);if(o.$observe("translateDefault",function(a){b.defaultText=a}),i&&o.$observe("translateValues",function(a){a&&b.$parent.$watch(function(){angular.extend(b.interpolateParams,e(a)(b.$parent))})}),k){varv=function(a){o.$observe(a,function(c){vard=angular.lowercase(a.substr(14,1))+a.substr(15);b.interpolateParams[d]=c})};for(varwino)Object.prototype.hasOwnProperty.call(o,w)&&"translateValue"===w.substr(0,14)&&"translateValues"!==w&&v(w)}varx=function(){for(varainp)p.hasOwnProperty(a)&&void0!==p[a]&&y(a,p[a],b,b.interpolateParams,b.defaultText)},y=function(b,c,d,e,f){c?a(c,e,j,f).then(function(a){z(a,d,!0,b)},function(a){z(a,d,!1,b)}):z(c,d,!1,b)},z=function(b,c,e,f){if("translate"===f){e||"undefined"==typeofc.defaultText||(b=c.defaultText),n.html(c.preText+b+c.postText);varg=a.isPostCompilingEnabled(),i="undefined"!=typeofh.translateCompile,j=i&&"false"!==h.translateCompile;(g&&!i||j)&&d(n.contents())(c)}else{e||"undefined"==typeofc.defaultText||(b=c.defaultText);vark=o.$attr[f];"data-"===k.substr(0,5)&&(k=k.substr(5)),k=k.substr(15),n.attr(k,b)}};(i||k||o.translateDefault)&&b.$watch("interpolateParams",x,!0);varA=f.$on("$translateChangeSuccess",x);n.text().length?r(o.translate?o.translate:""):o.translate&&r(o.translate),x(),b.$on("$destroy",A)}}}}functionf(a,b){"use strict";return{compile:function(c){vard=function(){c.addClass(b.cloakClassName())},e=function(){c.removeClass(b.cloakClassName())},f=a.$on("$translateChangeEnd",function(){e(),f(),f=null});returnd(),function(a,c,f){f.translateCloak&&f.translateCloak.length&&f.$observe("translateCloak",function(a){b(a).then(e,d)})}}}}functiong(a,b){"use strict";varc=function(c,d,e){returnangular.isObject(d)||(d=a(d)(this)),b.instant(c,d,e)};returnb.statefulFilter()&&(c.$stateful=!0),c}functionh(a){"use strict";returna("translations")}returnangular.module("pascalprecht.translate",["ng"]).run(a),a.$inject=["$translate"],a.displayName="runTranslate",angular.module("pascalprecht.translate").provider("$translateSanitization",b),angular.module("pascalprecht.translate").constant("pascalprechtTranslateOverrider",{}).provider("$translate",c),c.$inject=["$STORAGE_KEY","$windowProvider","$translateSanitizationProvider","pascalprechtTranslateOverrider"],c.displayName="displayName",angular.module("pascalprecht.translate").factory("$translateDefaultInterpolation",d),d.$inject=["$interpolate","$translateSanitization"],d.displayName="$translateDefaultInterpolation",angular.module("pascalprecht.translate").constant("$STORAGE_KEY","NG_TRANSLATE_LANG_KEY"),angular.module("pascalprecht.translate").directive("translate",e),e.$inject=["$translate","$q","$interpolate","$compile","$parse","$rootScope"],e.displayName="translateDirective",angular.module("pascalprecht.translate").directive("translateCloak",f),f.$inject=["$rootScope","$translate"],f.displayName="translateCloakDirective",angular.module("pascalprecht.translate").filter("translate",g),g.$inject=["$parse","$translate"],g.displayName="translateFilterFactory",angular.module("pascalprecht.translate").factory("$translationCache",h),h.$inject=["$cacheFactory"],h.displayName="$translationCache","pascalprecht.translate"});