diff --git a/pwa-backend/src/main/webapp/backoffice/app.js b/pwa-backend/src/main/webapp/backoffice/app.js deleted file mode 100644 index 374491a..0000000 --- a/pwa-backend/src/main/webapp/backoffice/app.js +++ /dev/null @@ -1,70 +0,0 @@ -var app = angular.module('backofficeApp', [ 'ui.router', 'ngResource', 'auth0.auth0', 'angular-jwt' ]); - -app.config(config); - -config.$inject = [ '$stateProvider', '$urlRouterProvider', '$locationProvider', '$httpProvider', 'angularAuth0Provider', 'jwtOptionsProvider' ]; - -function config($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider, angularAuth0Provider, jwtOptionsProvider) { - - var auth0CLientID; - var auth0Domain; - var auth0CallbakUrl; - - var origin = window.location.origin; - if (origin.indexOf('localhost') > -1) { - auth0CLientID = "32wl1L4tlptjPImhEvLIbrQSkwmAJx5s"; - auth0Domain = "growbit-development.eu.auth0.com"; - auth0CallbakUrl = "http://localhost:8080/backoffice/index.html#/callback"; - } else if (origin.indexOf('growbit-0-dev') > -1) { - auth0CLientID = "32wl1L4tlptjPImhEvLIbrQSkwmAJx5s"; - auth0Domain = "growbit-development.eu.auth0.com"; - auth0CallbakUrl = "https://growbit-0-dev.appspot.com/backoffice/index.html#/callback"; - } else if (origin.indexOf('api.growbit.xyz') > -1) { - auth0CLientID = "aB4EbELMT7MHTwZRDv2ivV5TIFItysL6"; - auth0Domain = "growbit.auth0.com"; - auth0CallbakUrl = "https://api.growbit.xyz/backoffice/index.html#/callback"; - } - - $stateProvider.state({ - name : 'home', - url : '/home', - component : 'home' - }).state({ - name : 'invitation', - url : '/invitation', - component : 'invitation' - }).state({ - name : 'callback', - url : '/callback', - component : 'callback' - }); - - // Initialization for the angular-auth0 library - angularAuth0Provider.init({ - clientID : auth0CLientID, - domain : auth0Domain, - responseType : 'token id_token', - audience : 'https://' + auth0Domain + '/userinfo', - redirectUri : auth0CallbakUrl, - scope : 'openid' - }); - - $locationProvider.hashPrefix(''); - - $urlRouterProvider.otherwise('home'); - - jwtOptionsProvider.config({ - tokenGetter : function() { - return localStorage.getItem('id_token'); - } - }); - - $httpProvider.interceptors.push('jwtInterceptor'); -} - -app.run(run); -run.$inject = [ 'authService' ]; - -function run(authService) { - authService.handleAuthentication(); -} diff --git a/pwa-backend/src/main/webapp/backoffice/components/callback/callback.html b/pwa-backend/src/main/webapp/backoffice/components/callback/callback.html deleted file mode 100644 index 1e72995..0000000 --- a/pwa-backend/src/main/webapp/backoffice/components/callback/callback.html +++ /dev/null @@ -1 +0,0 @@ -

Loading

\ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/components/callback/callback.js b/pwa-backend/src/main/webapp/backoffice/components/callback/callback.js deleted file mode 100644 index ab36af6..0000000 --- a/pwa-backend/src/main/webapp/backoffice/components/callback/callback.js +++ /dev/null @@ -1,8 +0,0 @@ -function CallbackController($state) { - var ctrl = this; -} - -angular.module('backofficeApp').component('callback', { - templateUrl : '/backoffice/components/callback/callback.html', - controller : CallbackController -}); \ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/components/home/home.html b/pwa-backend/src/main/webapp/backoffice/components/home/home.html deleted file mode 100644 index a052768..0000000 --- a/pwa-backend/src/main/webapp/backoffice/components/home/home.html +++ /dev/null @@ -1,5 +0,0 @@ - - -
-
Invitation codes -
\ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/components/home/home.js b/pwa-backend/src/main/webapp/backoffice/components/home/home.js deleted file mode 100644 index b60baf0..0000000 --- a/pwa-backend/src/main/webapp/backoffice/components/home/home.js +++ /dev/null @@ -1,16 +0,0 @@ -function HomeController(authService) { - var ctrl = this; - ctrl.authService = authService; - - ctrl.logout = logout; - - function logout(){ - authService.logout(); - location.reload(); - } -} - -angular.module('backofficeApp').component('home', { - templateUrl : '/backoffice/components/home/home.html', - controller : HomeController -}); \ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/components/invitation/invitation.css b/pwa-backend/src/main/webapp/backoffice/components/invitation/invitation.css deleted file mode 100644 index b8ea226..0000000 --- a/pwa-backend/src/main/webapp/backoffice/components/invitation/invitation.css +++ /dev/null @@ -1,14 +0,0 @@ -@charset "UTF-8"; - -table { - border-collapse: collapse; - width: 100%; -} - -th { - height: 50px; -} - -table, th, td { - border: 1px solid black; -} \ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/components/invitation/invitation.html b/pwa-backend/src/main/webapp/backoffice/components/invitation/invitation.html deleted file mode 100644 index ddf35b8..0000000 --- a/pwa-backend/src/main/webapp/backoffice/components/invitation/invitation.html +++ /dev/null @@ -1,42 +0,0 @@ -Home -
-

List

- - - - - - - - - - - - - - - - - - - -
Invitation codeSchoolSchool classSpecializationSchool yearRealated UserConfirmed
{{i.invitationCode}}{{i.school}} - {{i.schoolClass}} - {{i.specialization}} - {{i.schoolYear}} - {{i.relatedUserWebSafeKey}} - -
- -

Create

- -
- School:

- School class:

- Specialization:

- School year:

-
- -
- -
diff --git a/pwa-backend/src/main/webapp/backoffice/components/invitation/invitation.js b/pwa-backend/src/main/webapp/backoffice/components/invitation/invitation.js deleted file mode 100644 index a59ed43..0000000 --- a/pwa-backend/src/main/webapp/backoffice/components/invitation/invitation.js +++ /dev/null @@ -1,27 +0,0 @@ -function InvitationController($state, InvitationService) { - var ctrl = this; - - ctrl.save = save; - ctrl.update = update; - - ctrl.invitations = InvitationService.query(); - - function save(invitation) { - console.log(invitation) - console.log("creating...") - InvitationService.save(invitation, function(data) { - ctrl.invitations.push(data); - }); - } - - function update(invitation){ - InvitationService.save(invitation, function(){ - alert("Gone"); - }); - } -} - -angular.module('backofficeApp').component('invitation', { - templateUrl : '/backoffice/components/invitation/invitation.html', - controller : InvitationController -}); \ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/index.html b/pwa-backend/src/main/webapp/backoffice/index.html deleted file mode 100644 index 09e5eb0..0000000 --- a/pwa-backend/src/main/webapp/backoffice/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - Backoffice - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - diff --git a/pwa-backend/src/main/webapp/backoffice/libs/angular-auth0/angular-auth0.min.js b/pwa-backend/src/main/webapp/backoffice/libs/angular-auth0/angular-auth0.min.js deleted file mode 100644 index 725b379..0000000 --- a/pwa-backend/src/main/webapp/backoffice/libs/angular-auth0/angular-auth0.min.js +++ /dev/null @@ -1 +0,0 @@ -(function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.d=function(a,c,d){b.o(a,c)||Object.defineProperty(a,c,{configurable:!1,enumerable:!0,get:d})},b.n=function(a){var c=a&&a.__esModule?function(){return a['default']}:function(){return a};return b.d(c,'a',c),c},b.o=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},b.p='',b(b.s=0)})([function(a,b,c){'use strict';Object.defineProperty(b,'__esModule',{value:!0});var d=c(1),e=c.n(d),f=c(2),g=c.n(f);if('object'!=typeof e.a)throw new Error('Angular must be loaded.');if(!e.a.isObject(g.a))throw new Error('Auth0 must be loaded.');e.a.module('auth0.auth0',[]).provider('angularAuth0',function(){this.init=function(a){if(!a)throw new Error('Client ID and Domain are required to initialize Auth0.js');this.config=a},this.$get=['$rootScope',function(a){function b(b){var d=b.length-1,f=b[d];return e.a.isFunction(f)&&(b[d]=function(){var b=arguments;a.$evalAsync(function(){f.apply(c,b)})}),b}var c=new g.a.WebAuth(this.config),d={},f=[];for(var h in c)e.a.isFunction(c[h])&&f.push(h),e.a.isObject(c[h])&&(d[h]=c[h]);for(var h=0;h|:\\'+(delimiter||'')+'-]','g'),'\\$&');};local.stringToRegex=function(string){return new RegExp(local.pregQuote(string).replace(/\\\*/g,'.*').replace(/\\\?/g,'.'),'g');};this.environment='development';this.data={};this.config=function(config){this.data=config;};this.set=function(environment){this.environment=environment;};this.get=function(){return this.environment;};this.read=function(variable){if(typeof variable==='undefined'||variable===''||variable==='all'){return this.data.vars[this.get()];} -else if(typeof this.data.vars[this.get()][variable]==='undefined'){return this.data.vars.defaults[variable];} -return this.data.vars[this.get()][variable];};this.is=function(environment){return(environment===this.environment);};this.check=function(){var self=this,location=window.location.host,matches=[],keepGoing=true;angular.forEach(this.data.domains,function(v,k){angular.forEach(v,function(v){if(location.match(local.stringToRegex(v))){matches.push({environment:k,domain:v});}});});angular.forEach(matches,function(v,k){if(keepGoing){if(location===v.domain){keepGoing=false;} -void 0;self.environment=v.environment;}});};this.$get=function(){return this;};}); \ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/libs/angular-jwt/angular-jwt.min.js b/pwa-backend/src/main/webapp/backoffice/libs/angular-jwt/angular-jwt.min.js deleted file mode 100644 index a02359e..0000000 --- a/pwa-backend/src/main/webapp/backoffice/libs/angular-jwt/angular-jwt.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(){angular.module("angular-jwt",["angular-jwt.options","angular-jwt.interceptor","angular-jwt.jwt","angular-jwt.authManager"]),angular.module("angular-jwt.authManager",[]).provider("authManager",function(){this.$get=["$rootScope","$injector","$location","jwtHelper","jwtInterceptor","jwtOptions",function(t,e,r,n,a,i){function o(t){var r=null;return r=Array.isArray(t)?e.invoke(t,this,{options:null}):t()}function u(t){if(Array.isArray(t)||angular.isFunction(t))return e.invoke(t,p,{});throw new Error("unauthenticatedRedirector must be a function")}function s(){var t=o(p.tokenGetter);return t?!n.isTokenExpired(t):void 0}function h(){t.isAuthenticated=!0}function c(){t.isAuthenticated=!1}function l(){t.$on("$locationChangeStart",function(){var e=o(p.tokenGetter);e&&(n.isTokenExpired(e)?t.$broadcast("tokenHasExpired",e):h())})}function d(){t.$on("unauthenticated",function(){u(p.unauthenticatedRedirector),c()})}function f(t,e){if(!e)return!1;var r=e.$$route?e.$$route:e.data;if(r&&r.requiresLogin===!0){var a=o(p.tokenGetter);(!a||n.isTokenExpired(a))&&(t.preventDefault(),u(p.unauthenticatedRedirector))}}var p=i.getConfig();t.isAuthenticated=!1;var g=e.has("$state")?"$stateChangeStart":"$routeChangeStart";return t.$on(g,f),{authenticate:h,unauthenticate:c,getToken:function(){return o(p.tokenGetter)},redirect:function(){return u(p.unauthenticatedRedirector)},checkAuthOnRefresh:l,redirectWhenUnauthenticated:d,isAuthenticated:s}}]}),angular.module("angular-jwt.interceptor",[]).provider("jwtInterceptor",function(){this.urlParam,this.authHeader,this.authPrefix,this.whiteListedDomains,this.tokenGetter;var t=this;this.$get=["$q","$injector","$rootScope","urlUtils","jwtOptions",function(e,r,n,a,i){function o(t){if(!a.isSameOrigin(t)&&!u.whiteListedDomains.length)throw new Error("As of v0.1.0, requests to domains other than the application's origin must be white listed. Use jwtOptionsProvider.config({ whiteListedDomains: [] }); to whitelist.");for(var e=a.urlResolve(t).hostname.toLowerCase(),r=0;r(new Date).valueOf()+1e3*e)}}]),angular.module("angular-jwt.options",[]).provider("jwtOptions",function(){var t={};this.config=function(e){t=e},this.$get=function(){function e(){this.config=angular.extend({},r,t)}var r={urlParam:null,authHeader:"Authorization",authPrefix:"Bearer ",whiteListedDomains:[],tokenGetter:function(){return null},loginPath:"/",unauthenticatedRedirectPath:"/",unauthenticatedRedirector:["$location",function(t){t.path(this.unauthenticatedRedirectPath)}]};return e.prototype.getConfig=function(){return this.config},new e}}),angular.module("angular-jwt.interceptor").service("urlUtils",function(){function t(t){var e=t;return r.setAttribute("href",e),e=r.href,r.setAttribute("href",e),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}function e(e){var r=angular.isString(e)?t(e):e;return r.protocol===n.protocol&&r.host===n.host}var r=document.createElement("a"),n=t(window.location.href);return{urlResolve:t,isSameOrigin:e}})}(); \ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/libs/angular-resource/angular-resource.min.js b/pwa-backend/src/main/webapp/backoffice/libs/angular-resource/angular-resource.min.js deleted file mode 100644 index 39095c9..0000000 --- a/pwa-backend/src/main/webapp/backoffice/libs/angular-resource/angular-resource.min.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - AngularJS v1.6.6 - (c) 2010-2017 Google, Inc. http://angularjs.org - License: MIT -*/ -(function(W,b){'use strict';function L(q,g){g=g||{};b.forEach(g,function(b,h){delete g[h]});for(var h in q)!q.hasOwnProperty(h)||"$"===h.charAt(0)&&"$"===h.charAt(1)||(g[h]=q[h]);return g}var B=b.$$minErr("$resource"),Q=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;b.module("ngResource",["ng"]).info({angularVersion:"1.6.6"}).provider("$resource",function(){var q=/^https?:\/\/\[[^\]]*][^/]*/,g=this;this.defaults={stripTrailingSlashes:!0,cancellable:!1,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET", -isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}};this.$get=["$http","$log","$q","$timeout",function(h,P,G,M){function C(b,e){this.template=b;this.defaults=p({},g.defaults,e);this.urlParams={}}function y(D,e,u,n){function c(a,d){var c={};d=p({},e,d);t(d,function(d,l){z(d)&&(d=d(a));var f;if(d&&d.charAt&&"@"===d.charAt(0)){f=a;var k=d.substr(1);if(null==k||""===k||"hasOwnProperty"===k||!Q.test("."+k))throw B("badmember",k);for(var k=k.split("."),e=0,g=k.length;e=n?t.apply(null,r):function(){return e(r.concat([].slice.apply(arguments)))}}var r=[].slice.apply(arguments,[1]),n=t.length;return e(r)}function n(){var t=arguments,e=t.length-1;return function(){for(var r=e,n=t[e].apply(this,arguments);r--;)n=t[r].call(this,n);return n}}function i(){for(var t=[],e=0;e=0&&t.splice(r,1),t}function v(t,e){return t.push(e),e}function m(t){for(var e=[],r=1;r1||o.ctrlKey||o.metaKey||o.shiftKey||t.attr("target"))){var s=r(function(){e.go(u.uiState,u.uiStateParams,u.uiStateOpts)});o.preventDefault();var c=n.isAnchor&&!u.href?1:0;o.preventDefault=function(){c--<=0&&r.cancel(s)}}}}function Tt(t,e){return{relative:St(t)||e.$current,inherit:!0,source:"sref"}}function Ct(t,e,r,n){var i;n&&(i=n.events),te(i)||(i=["click"]);for(var o=t.on?"on":"bind",a=0,u=i;athis._limit&&e.shift(),t},t.prototype.dequeue=function(){if(this.size())return this._items.splice(0,1)[0]},t.prototype.clear=function(){var t=this._items;return this._items=[],t},t.prototype.size=function(){return this._items.length},t.prototype.remove=function(t){var e=this._items.indexOf(t);return e>-1&&this._items.splice(e,1)[0]},t.prototype.peekTail=function(){return this._items[this._items.length-1]},t.prototype.peekHead=function(){if(this.size())return this._items[0]},t}();!function(t){t[t.SUPERSEDED=2]="SUPERSEDED",t[t.ABORTED=3]="ABORTED",t[t.INVALID=4]="INVALID",t[t.IGNORED=5]="IGNORED",t[t.ERROR=6]="ERROR"}(t.RejectType||(t.RejectType={}));var De=0,Ne=function(){function e(t,e,r){this.$id=De++,this.type=t,this.message=e,this.detail=r}return e.prototype.toString=function(){var t=function(t){return t&&t.toString!==Object.prototype.toString?t.toString():Q(t)}(this.detail),e=this;return"Transition Rejection($id: "+e.$id+" type: "+e.type+", message: "+e.message+", detail: "+t+")"},e.prototype.toPromise=function(){return pe(He(this),{_transitionRejection:this})},e.isRejectionPromise=function(t){return t&&"function"==typeof t.then&&Nt(e)(t._transitionRejection)},e.superseded=function(r,n){var i=new e(t.RejectType.SUPERSEDED,"The transition has been superseded by a different transition",r);return n&&n.redirected&&(i.redirected=!0),i},e.redirected=function(t){return e.superseded(t,{redirected:!0})},e.invalid=function(r){return new e(t.RejectType.INVALID,"This transition is invalid",r)},e.ignored=function(r){return new e(t.RejectType.IGNORED,"The transition was ignored",r)},e.aborted=function(r){return new e(t.RejectType.ABORTED,"The transition has been aborted",r)},e.errored=function(r){return new e(t.RejectType.ERROR,"The transition errored",r)},e.normalize=function(t){return Nt(e)(t)?t:e.errored(t)},e}(),Fe=function(t){return"[ViewConfig#"+t.$id+" from '"+(t.viewDecl.$context.name||"(root)")+"' state]: target ui-view: '"+t.viewDecl.$uiViewName+"@"+t.viewDecl.$uiViewContextAnchor+"'"};!function(t){t[t.RESOLVE=0]="RESOLVE",t[t.TRANSITION=1]="TRANSITION",t[t.HOOK=2]="HOOK",t[t.UIVIEW=3]="UIVIEW",t[t.VIEWCONFIG=4]="VIEWCONFIG"}(t.Category||(t.Category={}));var Ue=At("$id"),Le=At("router.$id"),Me=function(t){return"Transition #"+Ue(t)+"-"+Le(t)},Be=function(){function e(){this._enabled={},this.approximateDigests=0}return e.prototype._set=function(e,r){var n=this;r.length||(r=Object.keys(t.Category).map(function(t){return parseInt(t,10)}).filter(function(t){return!isNaN(t)}).map(function(e){return t.Category[e]})),r.map(A).forEach(function(t){return n._enabled[t]=e})},e.prototype.enable=function(){for(var t=[],e=0;e "+Q(e))},e.prototype.traceTransitionIgnored=function(e){this.enabled(t.Category.TRANSITION)&&console.log(Me(e)+": Ignored <> "+Q(e))},e.prototype.traceHookInvocation=function(e,r,n){if(this.enabled(t.Category.HOOK)){var i=At("traceData.hookType")(n)||"internal",o=At("traceData.context.state.name")(n)||At("traceData.context")(n)||"unknown",a=z(e.registeredHook.callback);console.log(Me(r)+": Hook -> "+i+" context: "+o+", "+B(200,a))}},e.prototype.traceHookResult=function(e,r,n){this.enabled(t.Category.HOOK)&&console.log(Me(r)+": <- Hook returned: "+B(200,Q(e)))},e.prototype.traceResolvePath=function(e,r,n){this.enabled(t.Category.RESOLVE)&&console.log(Me(n)+": Resolving "+e+" ("+r+")")},e.prototype.traceResolvableResolved=function(e,r){this.enabled(t.Category.RESOLVE)&&console.log(Me(r)+": <- Resolved "+e+" to: "+B(200,Q(e.data)))},e.prototype.traceError=function(e,r){this.enabled(t.Category.TRANSITION)&&console.log(Me(r)+": <- Rejected "+Q(r)+", reason: "+e)},e.prototype.traceSuccess=function(e,r){this.enabled(t.Category.TRANSITION)&&console.log(Me(r)+": <- Success "+Q(r)+", final state: "+e.name)},e.prototype.traceUIViewEvent=function(e,r,n){void 0===n&&(n=""),this.enabled(t.Category.UIVIEW)&&console.log("ui-view: "+G(30,e)+" "+V(r)+n)},e.prototype.traceUIViewConfigUpdated=function(e,r){this.enabled(t.Category.UIVIEW)&&this.traceUIViewEvent("Updating",e," with ViewConfig from context='"+r+"'")},e.prototype.traceUIViewFill=function(e,r){this.enabled(t.Category.UIVIEW)&&this.traceUIViewEvent("Fill",e," with: "+B(200,r))},e.prototype.traceViewServiceEvent=function(e,r){this.enabled(t.Category.VIEWCONFIG)&&console.log("VIEWCONFIG: "+e+" "+Fe(r))},e.prototype.traceViewServiceUIViewEvent=function(e,r){this.enabled(t.Category.VIEWCONFIG)&&console.log("VIEWCONFIG: "+e+" "+V(r))},e}(),Ge=new Be;!function(t){t[t.CREATE=0]="CREATE",t[t.BEFORE=1]="BEFORE",t[t.RUN=2]="RUN",t[t.SUCCESS=3]="SUCCESS",t[t.ERROR=4]="ERROR"}(t.TransitionHookPhase||(t.TransitionHookPhase={})),function(t){t[t.TRANSITION=0]="TRANSITION",t[t.STATE=1]="STATE"}(t.TransitionHookScope||(t.TransitionHookScope={}));var We=function(){function t(t,e,r,n){void 0===n&&(n={}),this._identifier=t,this._definition=e,this._options=n,this._params=r||{}}return t.prototype.name=function(){return this._definition&&this._definition.name||this._identifier},t.prototype.identifier=function(){return this._identifier},t.prototype.params=function(){return this._params},t.prototype.$state=function(){return this._definition},t.prototype.state=function(){return this._definition&&this._definition.self},t.prototype.options=function(){return this._options},t.prototype.exists=function(){return!(!this._definition||!this._definition.self)},t.prototype.valid=function(){return!this.error()},t.prototype.error=function(){var t=this.options().relative;if(!this._definition&&t){var e=t.name?t.name:t;return"Could not resolve '"+this.name()+"' from state '"+e+"'"}return this._definition?this._definition.self?void 0:"State '"+this.name()+"' has an invalid definition":"No such state '"+this.name()+"'"},t.prototype.toString=function(){return"'"+this.name()+"'"+fe(this.params())},t}();We.isDef=function(t){return t&&t.state&&(Zt(t.state)||Zt(t.state.name))};var ze={current:l,transition:null,traceData:{},bind:null},Je=function(){function e(e,r,n,i){var o=this;this.transition=e,this.stateContext=r,this.registeredHook=n,this.options=i,this.isSuperseded=function(){return o.type.hookPhase===t.TransitionHookPhase.RUN&&!o.options.transition.isActive()},this.options=m(i,ze),this.type=n.eventType}return e.prototype.logError=function(t){this.transition.router.stateService.defaultErrorHandler()(t)},e.prototype.invokeHook=function(){var t=this,e=this.registeredHook;if(!e._deregistered){var r=this.getNotCurrentRejection();if(r)return r;var n=this.options;Ge.traceHookInvocation(this,this.transition,n);var i=function(t){return Ne.normalize(t).toPromise()},o=function(r){return e.eventType.getErrorHandler(t)(r)},a=function(r){return e.eventType.getResultHandler(t)(r)};try{var u=function(){return e.callback.call(n.bind,t.transition,t.stateContext)}();return!this.type.synchronous&&ie(u)?u.catch(i).then(a,o):a(u)}catch(t){return o(Ne.normalize(t))}}},e.prototype.handleHookResult=function(t){var e=this,r=this.getNotCurrentRejection();return r||(ie(t)?t.then(function(t){return e.handleHookResult(t)}):(Ge.traceHookResult(t,this.transition,this.options),!1===t?Ne.aborted("Hook aborted transition").toPromise():Nt(We)(t)?Ne.redirected(t).toPromise():void 0))},e.prototype.getNotCurrentRejection=function(){var t=this.transition.router;return t._disposed?Ne.aborted("UIRouter instance #"+t.$id+" has been stopped (disposed)").toPromise():this.transition._aborted?Ne.aborted().toPromise():this.isSuperseded()?Ne.superseded(this.options.current()).toPromise():void 0},e.prototype.toString=function(){var t=this,e=t.options,r=t.registeredHook;return(At("traceData.hookType")(e)||"internal")+" context: "+(At("traceData.context.state.name")(e)||At("traceData.context")(e)||"unknown")+", "+B(200,J(r.callback))},e.chain=function(t,e){var r=function(t,e){return t.then(function(){return e.invokeHook()})};return t.reduce(r,e||ae.$q.when())},e.invokeHooks=function(t,r){for(var n=0;n20)throw new Error("Too many consecutive Transition redirects (20+)");var n={redirectedFrom:this,source:"redirect"};"url"===this.options().source&&!1!==t.options().location&&(n.location="replace");var i=pe({},this.options(),t.options(),n);t=new We(t.identifier(),t.$state(),t.params(),i);var o=this.router.transitionService.create(this._treeChanges.from,t),a=this._treeChanges.entering,u=o._treeChanges.entering;return rr.matching(u,a,rr.nonDynamicParams).filter(Ht(function(t){return function(e){return t&&e.state.includes[t.name]}}(t.options().reloadState))).forEach(function(t,e){t.resolvables=a[e].resolvables}),o},e.prototype._changedParams=function(){var t=this._treeChanges;if(!this._options.reload&&!t.exiting.length&&!t.entering.length&&t.to.length===t.from.length){if(!T(t.to,t.from).map(function(t){return t[0].state!==t[1].state}).reduce(Re,!1)){var e=t.to.map(function(t){return t.paramSchema}),r=[t.to,t.from].map(function(t){return t.map(function(t){return t.paramValues})});return T(e,r[0],r[1]).map(function(t){var e=t[0],r=t[1],n=t[2];return tr.changed(e,r,n)}).reduce(Ee,[])}}},e.prototype.dynamic=function(){var t=this._changedParams();return!!t&&t.map(function(t){return t.dynamic}).reduce(Re,!1)},e.prototype.ignored=function(){return!!this._ignoredReason()},e.prototype._ignoredReason=function(){var t=this.router.globals.transition,e=this._options.reloadState,r=function(t,r){if(t.length!==r.length)return!1;var n=rr.matching(t,r);return t.length===n.filter(function(t){return!e||!t.state.includes[e.name]}).length},n=this.treeChanges(),i=t&&t.treeChanges();return i&&r(i.to,n.to)&&r(i.exiting,n.exiting)?"SameAsPending":0===n.exiting.length&&0===n.entering.length&&r(n.from,n.to)?"SameAsCurrent":void 0},e.prototype.run=function(){var e=this,r=Je.runAllHooks,n=function(t){return e._hookBuilder.buildHooksForPhase(t)},i=function(){Ge.traceSuccess(e.$to(),e),e.success=!0,e._deferred.resolve(e.to()),r(n(t.TransitionHookPhase.SUCCESS))},o=function(i){Ge.traceError(i,e),e.success=!1,e._deferred.reject(i),e._error=i,r(n(t.TransitionHookPhase.ERROR))},a=function(){var e=n(t.TransitionHookPhase.RUN),r=function(){return ae.$q.when(void 0)};return Je.invokeHooks(e,r)},u=function(){var t=e.router.globals;return t.lastStartedTransitionId=e.$id,t.transition=e,t.transitionHistory.enqueue(e),Ge.traceTransitionStart(e),ae.$q.when(void 0)},s=n(t.TransitionHookPhase.BEFORE);return Je.invokeHooks(s,u).then(a).then(i,o),this.promise},e.prototype.valid=function(){return!this.error()||void 0!==this.success},e.prototype.abort=function(){Wt(this.success)&&(this._aborted=!0)},e.prototype.error=function(){var t=this.$to();return t.self.abstract?"Cannot transition to abstract state '"+t.name+"'":tr.validates(t.parameters(),this.params())?!1===this.success?this._error:void 0:"Param values not valid for state '"+t.name+"'"},e.prototype.toString=function(){var t=this.from(),e=this.to(),r=function(t){return null!==t["#"]&&void 0!==t["#"]?t:w(t,["#"])};return"Transition#"+this.$id+"( '"+(Xt(t)?t.name:t)+"'"+fe(r(this._treeChanges.from.map(It("paramValues")).reduce(_e,{})))+" -> "+(this.valid()?"":"(X) ")+"'"+(Xt(e)?e.name:e)+"'"+fe(r(this.params()))+" )"},e}();pr.diToken=pr;var dr=null,vr=function(t){var e=Ne.isRejectionPromise;return(dr=dr||s([[Ht(zt),Ut("undefined")],[Jt,Ut("null")],[ie,Ut("[Promise]")],[e,function(t){return t._transitionRejection.toString()}],[Nt(Ne),u("toString")],[Nt(pr),u("toString")],[Nt(ir),u("toString")],[c,z],[Ut(!0),f]]))(t)},mr=function(t){return function(e){if(!e)return["",""];var r=e.indexOf(t);return-1===r?[e,""]:[e.substr(0,r),e.substr(r+1)]}},yr=function(){function t(){this.enqueue=!0,this.typeQueue=[],this.defaultTypes=g(t.prototype,["hash","string","query","path","int","bool","date","json","any"]);var e=function(t,e){return new Ye(pe({name:e},t))};this.types=ve(b(this.defaultTypes,e),{})}return t.prototype.dispose=function(){this.types={}},t.prototype.type=function(t,e,r){if(!zt(e))return this.types[t];if(this.types.hasOwnProperty(t))throw new Error("A type named '"+t+"' has already been defined.");return this.types[t]=new Ye(pe({name:t},e)),r&&(this.typeQueue.push({name:t,def:r}),this.enqueue||this._flushTypeQueue()),this},t.prototype._flushTypeQueue=function(){for(;this.typeQueue.length;){var t=this.typeQueue.shift();if(t.pattern)throw new Error("You cannot override a type's .pattern at runtime.");pe(this.types[t.name],ae.$injector.invoke(t.def))}},t}();!function(){var t=function(t){var e=function(t){return null!=t?t.toString():t},r={encode:e,decode:e,is:Nt(String),pattern:/.*/,equals:function(t,e){return t==e}};return pe({},r,t)};pe(yr.prototype,{string:t({}),path:t({pattern:/[^\/]*/}),query:t({}),hash:t({inherit:!1}),int:t({decode:function(t){return parseInt(t,10)},is:function(t){return!Qt(t)&&this.decode(t.toString())===t},pattern:/-?\d+/}),bool:t({encode:function(t){return t&&1||0},decode:function(t){return 0!==parseInt(t,10)},is:Nt(Boolean),pattern:/0|1/}),date:t({encode:function(t){return this.is(t)?[t.getFullYear(),("0"+(t.getMonth()+1)).slice(-2),("0"+t.getDate()).slice(-2)].join("-"):void 0},decode:function(t){if(this.is(t))return t;var e=this.capture.exec(t);return e?new Date(e[1],e[2]-1,e[3]):void 0},is:function(t){return t instanceof Date&&!isNaN(t.valueOf())},equals:function(t,e){return["getFullYear","getMonth","getDate"].reduce(function(r,n){return r&&t[n]()===e[n]()},!0)},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/}),json:t({encode:fe,decode:ce,is:Nt(Object),equals:de,pattern:/[^\/]*/}),any:t({encode:f,decode:f,is:function(){return!0},equals:de})})}();var gr=function(){function t(t){void 0===t&&(t={}),pe(this,t)}return t.prototype.$inherit=function(t,e,r){var n,i=y(e,r),o={},a=[];for(var u in i)if(i[u]&&i[u].params&&(n=Object.keys(i[u].params),n.length))for(var s in n)a.indexOf(n[s])>=0||(a.push(n[s]),o[n[s]]=this[n[s]]);return pe({},o,t)},t}(),wr=function(t){if(!Zt(t))return!1;var e="^"===t.charAt(0);return{val:e?t.substring(1):t,root:e}},_r=function(t,e){return function(r){var n=r;n&&n.url&&n.name&&n.name.match(/\.\*\*$/)&&(n.url+="{remainder:any}");var i=wr(n.url),o=r.parent,a=i?t.compile(i.val,{params:r.params||{},paramMap:function(t,e){return!1===n.reloadOnSearch&&e&&(t=pe(t||{},{dynamic:!0})),t}}):n.url;if(!a)return null;if(!t.isMatcher(a))throw new Error("Invalid url '"+a+"' in state '"+r+"'");return i&&i.root?a:(o&&o.navigable||e()).url.append(a)}},$r=function(t){return function(e){return!t(e)&&e.url?e:e.parent?e.parent.navigable:null}},Sr=function(t){return function(e){var r=function(e,r){return t.fromConfig(r,null,e)},n=e.url&&e.url.parameters({inherit:!1})||[],i=Se($e(w(e.params||{},n.map(It("id"))),r));return n.concat(i).map(function(t){return[t.id,t]}).reduce(C,{})}},br=function(){function t(t,e){function r(e){return o(e)?null:t.find(n.parentName(e))||i()}this.matcher=t;var n=this,i=function(){return t.find("")},o=function(t){return""===t.name};this.builders={name:[Z],self:[X],parent:[r],data:[tt],url:[_r(e,i)],navigable:[$r(o)],params:[Sr(e.paramFactory)],views:[],path:[et],includes:[rt],resolvables:[nt]}}return t.prototype.builder=function(t,e){var r=this.builders,n=r[t]||[];return Zt(t)&&!zt(e)?n.length>1?n:n[0]:Zt(t)&&Kt(e)?(r[t]=n,r[t].push(e),function(){return r[t].splice(r[t].indexOf(e,1))&&null}):void 0},t.prototype.build=function(t){var e=this,r=e.matcher,n=e.builders,i=this.parentName(t);if(i&&!r.find(i,void 0,!1))return null;for(var o in n)if(n.hasOwnProperty(o)){var a=n[o].reduce(function(t,e){return function(r){return e(r,t)}},l);t[o]=a(t)}return t},t.prototype.parentName=function(t){var e=t.name||"",r=e.split(".");if(r.length>1){if(t.parent)throw new Error("States that specify the 'parent:' property should not have a '.' in their name ("+e+")");return"**"===r.pop()&&r.pop(),r.join(".")}return t.parent?Zt(t.parent)?t.parent:t.parent.name:""},t.prototype.name=function(t){var e=t.name;if(-1!==e.indexOf(".")||!t.parent)return e;var r=Zt(t.parent)?t.parent:t.parent.name;return r?r+"."+e:e},t}(),Rr=function(){function t(t){this._states=t}return t.prototype.isRelative=function(t){return t=t||"",0===t.indexOf(".")||0===t.indexOf("^")},t.prototype.find=function(t,e,r){if(void 0===r&&(r=!0),t||""===t){var n=Zt(t),i=n?t:t.name;this.isRelative(i)&&(i=this.resolvePath(i,e));var o=this._states[i];if(o&&(n||!(n||o!==t&&o.self!==t)))return o;if(n&&r){var a=Se(this._states),u=a.filter(function(t){return t.__stateObjectCache.nameGlob&&t.__stateObjectCache.nameGlob.matches(i)});return u.length>1&&console.log("stateMatcher.find: Found multiple matches for "+i+" using glob: ",u.map(function(t){return t.name})),u[0]}}},t.prototype.resolvePath=function(t,e){if(!e)throw new Error("No reference point given for path '"+t+"'");for(var r=this.find(e),n=t.split("."),i=0,o=n.length,a=r;i0;){var c=r.shift(),f=c.name,l=i.build(c),h=a.indexOf(c);if(l){var p=s(f);if(p&&p.name===f)throw new Error("State '"+f+"' is already defined");var d=s(f+".**");d&&this.$registry.deregister(d),n[f]=c,this.attachRoute(c),h>=0&&a.splice(h,1),o.push(c)}else{var v=u[f];if(u[f]=r.length,h>=0&&v===r.length)return r.push(c),n;h<0&&a.push(c),r.push(c)}}return o.length&&this.listeners.forEach(function(t){return t("registered",o.map(function(t){return t.self}))}),n},t.prototype.attachRoute=function(t){!t.abstract&&t.url&&this.$urlRouter.rule(this.$urlRouter.urlRuleFactory.create(t))},t}(),Tr=function(){function t(t){this._router=t,this.states={},this.listeners=[],this.matcher=new Rr(this.states),this.builder=new br(this.matcher,t.urlMatcherFactory),this.stateQueue=new Er(this,t.urlRouter,this.states,this.builder,this.listeners),this._registerRoot()}return t.prototype._registerRoot=function(){var t={name:"",url:"^",views:null,params:{"#":{value:null,type:"hash",dynamic:!0}},abstract:!0};(this._root=this.stateQueue.register(t)).navigable=null},t.prototype.dispose=function(){var t=this;this.stateQueue.dispose(),this.listeners=[],this.get().forEach(function(e){return t.get(e)&&t.deregister(e)})},t.prototype.onStatesChanged=function(t){return this.listeners.push(t),function(){ye(this.listeners)(t)}.bind(this)},t.prototype.root=function(){return this._root},t.prototype.register=function(t){return this.stateQueue.register(t)},t.prototype._deregisterTree=function(t){var e=this,r=this.get().map(function(t){return t.$$state()}),n=function(t){var e=r.filter(function(e){return-1!==t.indexOf(e.parent)});return 0===e.length?e:e.concat(n(e))},i=n([t]),o=[t].concat(i).reverse();return o.forEach(function(t){var r=e._router.urlRouter;r.rules().filter(Vt("state",t)).forEach(r.removeRule.bind(r)),delete e.states[t.name]}),o},t.prototype.deregister=function(t){var e=this.get(t);if(!e)throw new Error("Can't deregister state; not found: "+t);var r=this._deregisterTree(e.$$state());return this.listeners.forEach(function(t){return t("deregistered",r.map(function(t){return t.self}))}),r},t.prototype.get=function(t,e){var r=this;if(0===arguments.length)return Object.keys(this.states).map(function(t){return r.states[t].self});var n=this.matcher.find(t,e);return n&&n.self||null},t.prototype.decorator=function(t,e){return this.builder.builder(t,e)},t}(),Cr=function(t,e,r){return t[e]=t[e]||r()},Pr=K("/"),kr=function(){function e(t,r,n,i){var o=this;this.config=i,this._cache={path:[this]},this._children=[],this._params=[],this._segments=[],this._compiled=[],this.pattern=t,this.config=m(this.config,{params:{},strict:!0,caseInsensitive:!1,paramMap:f});for(var a,u,s,c=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,l=/([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,h=0,p=[],d=function(r){if(!e.nameValidator.test(r))throw new Error("Invalid parameter name '"+r+"' in pattern '"+t+"'");if(S(o._params,Vt("id",r)))throw new Error("Duplicate parameter name '"+r+"' in pattern '"+t+"'")},v=function(e,n){var i=e[2]||e[3],a=n?e[4]:e[4]||("*"===e[1]?".*":null);return{id:i,regexp:a,cfg:o.config.params[i],segment:t.substring(h,e.index),type:a?r.type(a)||function(t){return ve(r.type(n?"query":"path"),{pattern:new RegExp(t,o.config.caseInsensitive?"i":void 0)})}(a):null}};(a=c.exec(t))&&(u=v(a,!1),!(u.segment.indexOf("?")>=0));)d(u.id),this._params.push(n.fromPath(u.id,u.type,this.config.paramMap(u.cfg,!1))),this._segments.push(u.segment),p.push([u.segment,P(this._params)]),h=c.lastIndex;s=t.substring(h);var y=s.indexOf("?");if(y>=0){var g=s.substring(y);if(s=s.substring(0,y),g.length>0)for(h=0;a=l.exec(g);)u=v(a,!0),d(u.id),this._params.push(n.fromSearch(u.id,u.type,this.config.paramMap(u.cfg,!0))),h=c.lastIndex}this._segments.push(s),this._compiled=p.map(function(t){return it.apply(null,t)}).concat(it(s))}return e.prototype.append=function(t){return this._children.push(t),t._cache={path:this._cache.path.concat(t),parent:this,pattern:null},t},e.prototype.isRoot=function(){return this._cache.path[0]===this},e.prototype.toString=function(){return this.pattern},e.prototype.exec=function(t,e,r,n){var i=this;void 0===e&&(e={}),void 0===n&&(n={});var o=Cr(this._cache,"pattern",function(){return new RegExp(["^",Pe(i._cache.path.map(It("_compiled"))).join(""),!1===i.config.strict?"/?":"","$"].join(""),i.config.caseInsensitive?"i":void 0)}).exec(t);if(!o)return null;var a=this.parameters(),u=a.filter(function(t){return!t.isSearch()}),s=a.filter(function(t){return t.isSearch()}),c=this._cache.path.map(function(t){return t._segments.length-1}).reduce(function(t,e){return t+e}),f={};if(c!==o.length-1)throw new Error("Unbalanced capture group in route '"+this.pattern+"'");for(var l=0;ln.weight?o:n}return n},t.prototype.sync=function(t){if(!t||!t.defaultPrevented){var e=this._router,r=e.urlService,n=e.stateService,i={path:r.path(),search:r.search(),hash:r.hash()},o=this.match(i);s([[Zt,function(t){return r.url(t,!0)}],[We.isDef,function(t){return n.go(t.state,t.params,t.options)}],[Nt(We),function(t){return n.go(t.state(),t.params(),t.options())}]])(o&&o.rule.handler(o.match,i,e))}},t.prototype.listen=function(t){var e=this;if(!1!==t)return this._stopFn=this._stopFn||this._router.urlService.onChange(function(t){return e.sync(t)});this._stopFn&&this._stopFn(),delete this._stopFn},t.prototype.update=function(t){var e=this._router.locationService;if(t)return void(this.location=e.path());e.path()!==this.location&&e.url(this.location,!0)},t.prototype.push=function(t,e,r){var n=r&&!!r.replace;this._router.urlService.url(t.format(e||{}),n)},t.prototype.href=function(t,e,r){var n=t.format(e);if(null==n)return null;r=r||{absolute:!1};var i=this._router.urlService.config,o=i.html5Mode();if(o||null===n||(n="#"+i.hashPrefix()+n),n=ot(n,o,r.absolute,i.baseHref()),!r.absolute||!n)return n;var a=!o&&n?"/":"",u=i.port();return u=80===u||443===u?"":":"+u,[i.protocol(),"://",i.host(),u,a,n].join("")},t.prototype.rule=function(t){var e=this;if(!xr.isUrlRule(t))throw new Error("invalid rule");return t.$id=this._id++,t.priority=t.priority||0,this._rules.push(t),this._sorted=!1,function(){return e.removeRule(t)}},t.prototype.removeRule=function(t){ye(this._rules,t)},t.prototype.rules=function(){return this.ensureSorted(),this._rules.slice()},t.prototype.otherwise=function(t){var e=at(t);this._otherwiseFn=this.urlRuleFactory.create(Ut(!0),e),this._sorted=!1},t.prototype.initial=function(t){var e=at(t),r=function(t,e){return 0===e.globals.transitionHistory.size()&&!!/^\/?$/.exec(t.path)};this.rule(this.urlRuleFactory.create(r,e))},t.prototype.when=function(t,e,r){var n=this.urlRuleFactory.create(t,e);return zt(r&&r.priority)&&(n.priority=r.priority),this.rule(n),n},t.prototype.deferIntercept=function(t){void 0===t&&(t=!0),this.interceptDeferred=t},t}(),Hr=function(){function t(){var t=this;this._uiViews=[],this._viewConfigs=[],this._viewConfigFactories={},this._pluginapi={_rootViewContext:this._rootViewContext.bind(this),_viewConfigFactory:this._viewConfigFactory.bind(this),_registeredUIViews:function(){return t._uiViews},_activeViewConfigs:function(){return t._viewConfigs}}}return t.prototype._rootViewContext=function(t){return this._rootContext=t||this._rootContext},t.prototype._viewConfigFactory=function(t,e){this._viewConfigFactories[t]=e},t.prototype.createViewConfig=function(t,e){var r=this._viewConfigFactories[e.$type];if(!r)throw new Error("ViewService: No view config factory registered for type "+e.$type);var n=r(t,e);return te(n)?n:[n]},t.prototype.deactivateViewConfig=function(t){Ge.traceViewServiceEvent("<- Removing",t),ye(this._viewConfigs,t)},t.prototype.activateViewConfig=function(t){Ge.traceViewServiceEvent("-> Registering",t),this._viewConfigs.push(t)},t.prototype.sync=function(){function e(t){var e=function(t){return t&&t.parent?e(t.parent)+1:1};return 1e4*t.fqn.split(".").length+e(t.creationContext)}function n(t){for(var e=t.viewDecl.$context,r=0;++r&&e.parent;)e=e.parent;return r}var i=this,o=this._uiViews.map(function(t){return[t.fqn,t]}).reduce(C,{}),a=r(function(t,e,r,n){return e*(t(r)-t(n))}),u=function(e){var r=i._viewConfigs.filter(t.matches(o,e));return r.length>1&&r.sort(a(n,-1)),[e,r[0]]},s=function(t){var e=t[0],r=t[1];-1!==i._uiViews.indexOf(e)&&e.configUpdated(r)};this._uiViews.sort(a(e,1)).map(u).forEach(s)},t.prototype.registerUIView=function(t){Ge.traceViewServiceUIViewEvent("-> Registering",t);var e=this._uiViews,r=function(e){return e.fqn===t.fqn};return e.filter(r).length&&Ge.traceViewServiceUIViewEvent("!!!! duplicate uiView named:",t),e.push(t),this.sync(),function(){if(-1===e.indexOf(t))return void Ge.traceViewServiceUIViewEvent("Tried removing non-registered uiView",t);Ge.traceViewServiceUIViewEvent("<- Deregistering",t),ye(e)(t)}},t.prototype.available=function(){return this._uiViews.map(It("fqn"))},t.prototype.active=function(){return this._uiViews.filter(It("$config")).map(It("name"))},t.normalizeUIViewTarget=function(t,e){void 0===e&&(e="");var r=e.split("@"),n=r[0]||"$default",i=Zt(r[1])?r[1]:"^",o=/^(\^(?:\.\^)*)\.(.*$)/.exec(n);(o&&(i=o[1],n=o[2]),"!"===n.charAt(0)&&(n=n.substr(1),i=""),/^(\^(?:\.\^)*)$/.exec(i))?i=i.split(".").reduce(function(t,e){return t.parent},t).name:"."===i&&(i=t.name);return{uiViewName:n,uiViewContextAnchor:i}},t}();Hr.matches=function(t,e){return function(r){if(e.$type!==r.viewDecl.$type)return!1;var n=r.viewDecl,i=n.$uiViewName.split("."),o=e.fqn.split(".");if(!de(i,o.slice(0-i.length)))return!1;var a=1-i.length||void 0,u=o.slice(0,a).join("."),s=t[u].creationContext;return n.$uiViewContextAnchor===(s&&s.name)}};var qr=function(){function t(){this.params=new gr,this.lastStartedTransitionId=-1,this.transitionHistory=new qe([],1),this.successfulTransitions=new qe([],1)}return t.prototype.dispose=function(){this.transitionHistory.clear(),this.successfulTransitions.clear(),this.transition=null},t}(),Dr=function(t){return t.reduce(function(t,e){return t[e]=oe(e),t},{dispose:l})},Nr=["url","path","search","hash","onChange"],Fr=["port","protocol","host","baseHref","html5Mode","hashPrefix"],Ur=["type","caseInsensitive","strictMode","defaultSquashPolicy"],Lr=["sort","when","initial","otherwise","rules","rule","removeRule"],Mr=["deferIntercept","listen","sync","match"],Br=function(){function t(t,e){void 0===e&&(e=!0),this.router=t,this.rules={},this.config={};var r=function(){return t.locationService};h(r,this,r,Nr,e);var n=function(){return t.locationConfig};h(n,this.config,n,Fr,e);var i=function(){return t.urlMatcherFactory};h(i,this.config,i,Ur);var o=function(){return t.urlRouter};h(o,this.rules,o,Lr),h(o,this,o,Mr)}return t.prototype.url=function(t,e,r){},t.prototype.path=function(){},t.prototype.search=function(){},t.prototype.hash=function(){},t.prototype.onChange=function(t){},t.prototype.parts=function(){return{path:this.path(),search:this.search(),hash:this.hash()}},t.prototype.dispose=function(){},t.prototype.sync=function(t){},t.prototype.listen=function(t){},t.prototype.deferIntercept=function(t){},t.prototype.match=function(t){},t}();Br.locationServiceStub=Dr(Nr),Br.locationConfigStub=Dr(Fr);var Gr=0,Wr=function(){function t(t,e){void 0===t&&(t=Br.locationServiceStub),void 0===e&&(e=Br.locationConfigStub),this.locationService=t,this.locationConfig=e,this.$id=Gr++,this._disposed=!1,this._disposables=[],this.trace=Ge,this.viewService=new Hr,this.transitionService=new $n(this),this.globals=new qr,this.urlMatcherFactory=new Or,this.urlRouter=new Ar(this),this.stateRegistry=new Tr(this),this.stateService=new Sn(this),this.urlService=new Br(this),this._plugins={},this.viewService._pluginapi._rootViewContext(this.stateRegistry.root()),this.globals.$current=this.stateRegistry.root(),this.globals.current=this.globals.$current.self,this.disposable(this.globals),this.disposable(this.stateService),this.disposable(this.stateRegistry),this.disposable(this.transitionService),this.disposable(this.urlRouter),this.disposable(t),this.disposable(e)}return t.prototype.disposable=function(t){this._disposables.push(t)},t.prototype.dispose=function(t){var e=this;if(t&&Kt(t.dispose))return void t.dispose(this);this._disposed=!0,this._disposables.slice().forEach(function(t){try{"function"==typeof t.dispose&&t.dispose(e),ye(e._disposables,t)}catch(t){}})},t.prototype.plugin=function(t,e){void 0===e&&(e={});var r=new t(this,e);if(!r.name)throw new Error("Required property `name` missing on plugin: "+r);return this._disposables.push(r),this._plugins[r.name]=r},t.prototype.getPlugin=function(t){return t?this._plugins[t]:Se(this._plugins)},t}(),zr=function(t){return t.onCreate({},ut)},Jr=function(t){function e(e){if(e)return e instanceof We?e:Zt(e)?n.target(e,t.params(),t.options()):e.state||e.params?n.target(e.state||t.to(),e.params||t.params(),t.options()):void 0}var r=t.to().redirectTo;if(r){var n=t.router.stateService;return Kt(r)?ae.$q.when(r(t)).then(e):e(r)}},Qr=function(t){return t.onStart({to:function(t){return!!t.redirectTo}},Jr)},Kr=st("onExit"),Yr=function(t){return t.onExit({exiting:function(t){return!!t.onExit}},Kr)},Zr=st("onRetain"),Xr=function(t){return t.onRetain({retained:function(t){return!!t.onRetain}},Zr)},tn=st("onEnter"),en=function(t){return t.onEnter({entering:function(t){return!!t.onEnter}},tn)},rn=function(t){return new fr(t.treeChanges().to).resolvePath("EAGER",t).then(l)},nn=function(t){return t.onStart({},rn,{priority:1e3})},on=function(t,e){return new fr(t.treeChanges().to).subContext(e.$$state()).resolvePath("LAZY",t).then(l)},an=function(t){return t.onEnter({entering:Ut(!0)},on,{priority:1e3})},un=function(t){var e=ae.$q,r=t.views("entering");if(r.length)return e.all(r.map(function(t){return e.when(t.load())})).then(l)},sn=function(t){return t.onFinish({},un)},cn=function(t){var e=t.views("entering"),r=t.views("exiting");if(e.length||r.length){var n=t.router.viewService;r.forEach(function(t){return n.deactivateViewConfig(t)}),e.forEach(function(t){return n.activateViewConfig(t)}),n.sync()}},fn=function(t){return t.onSuccess({},cn)},ln=function(t){var e=t.router.globals,r=function(){e.successfulTransitions.enqueue(t),e.$current=t.$to(),e.current=e.$current.self,le(t.params(),e.params)},n=function(){e.transition===t&&(e.transition=null)};t.onSuccess({},r,{priority:1e4}),t.promise.then(n,n)},hn=function(t){return t.onCreate({},ln)},pn=function(t){var e=t.options(),r=t.router.stateService,n=t.router.urlRouter;if("url"!==e.source&&e.location&&r.$current.navigable){var i={replace:"replace"===e.location};n.push(r.$current.navigable.url,r.params,i)}n.update(!0)},dn=function(t){return t.onSuccess({},pn,{priority:9999})},vn=function(t){function e(){if("url"!==t.originalTransition().options().source){var e=t.targetState();return r.stateService.target(e.identifier(),e.params(),e.options())}var n=r.urlService,i=n.match(n.parts()),o=i&&i.rule;if(o&&"STATE"===o.type){var a=o.state,u=i.match;return r.stateService.target(a,u,t.options())}r.urlService.sync()}var r=t.router,n=t.entering().filter(function(t){return!!t.$$state().lazyLoad}).map(function(e){return ct(t,e)});return ae.$q.all(n).then(e)},mn=function(t){return t.onBefore({entering:function(t){return!!t.lazyLoad}},vn)},yn=function(){function t(t,e,r,n,i,o,a,u){void 0===i&&(i=!1),void 0===o&&(o=Je.HANDLE_RESULT),void 0===a&&(a=Je.REJECT_ERROR),void 0===u&&(u=!1),this.name=t,this.hookPhase=e,this.hookOrder=r,this.criteriaMatchPath=n,this.reverseSort=i,this.getResultHandler=o,this.getErrorHandler=a,this.synchronous=u}return t}(),gn=function(t){return t.onBefore({},ft,{priority:-9999})},wn=function(t){return t.onBefore({},lt,{priority:-1e4})},_n={location:!0,relative:null,inherit:!1,notify:!0,reload:!1,custom:{},current:function(){return null},source:"unknown"},$n=function(){function e(t){this._transitionCount=0,this._eventTypes=[],this._registeredHooks={},this._criteriaPaths={},this._router=t,this.$view=t.viewService,this._deregisterHookFns={},this._pluginapi=h(Ut(this),{},Ut(this),["_definePathType","_defineEvent","_getPathTypes","_getEvents","getHooks"]),this._defineCorePaths(),this._defineCoreEvents(),this._registerCoreTransitionHooks()}return e.prototype.onCreate=function(t,e,r){},e.prototype.onBefore=function(t,e,r){},e.prototype.onStart=function(t,e,r){},e.prototype.onExit=function(t,e,r){},e.prototype.onRetain=function(t,e,r){},e.prototype.onEnter=function(t,e,r){},e.prototype.onFinish=function(t,e,r){},e.prototype.onSuccess=function(t,e,r){},e.prototype.onError=function(t,e,r){},e.prototype.dispose=function(t){Se(this._registeredHooks).forEach(function(t){return t.forEach(function(e){e._deregistered=!0,ye(t,e)})})},e.prototype.create=function(t,e){return new pr(t,e,this._router)},e.prototype._defineCoreEvents=function(){var e=t.TransitionHookPhase,r=Je,n=this._criteriaPaths;this._defineEvent("onCreate",e.CREATE,0,n.to,!1,r.LOG_REJECTED_RESULT,r.THROW_ERROR,!0),this._defineEvent("onBefore",e.BEFORE,0,n.to),this._defineEvent("onStart",e.RUN,0,n.to),this._defineEvent("onExit",e.RUN,100,n.exiting,!0),this._defineEvent("onRetain",e.RUN,200,n.retained),this._defineEvent("onEnter",e.RUN,300,n.entering),this._defineEvent("onFinish",e.RUN,400,n.to),this._defineEvent("onSuccess",e.SUCCESS,0,n.to,!1,r.LOG_REJECTED_RESULT,r.LOG_ERROR,!0),this._defineEvent("onError",e.ERROR,0,n.to,!1,r.LOG_REJECTED_RESULT,r.LOG_ERROR,!0)},e.prototype._defineCorePaths=function(){var e=t.TransitionHookScope.STATE,r=t.TransitionHookScope.TRANSITION;this._definePathType("to",r),this._definePathType("from",r),this._definePathType("exiting",e),this._definePathType("retained",e),this._definePathType("entering",e)},e.prototype._defineEvent=function(t,e,r,n,i,o,a,u){void 0===i&&(i=!1),void 0===o&&(o=Je.HANDLE_RESULT),void 0===a&&(a=Je.REJECT_ERROR),void 0===u&&(u=!1);var s=new yn(t,e,r,n,i,o,a,u);this._eventTypes.push(s),q(this,this,s)},e.prototype._getEvents=function(t){return(zt(t)?this._eventTypes.filter(function(e){return e.hookPhase===t}):this._eventTypes.slice()).sort(function(t,e){var r=t.hookPhase-e.hookPhase;return 0===r?t.hookOrder-e.hookOrder:r})},e.prototype._definePathType=function(t,e){this._criteriaPaths[t]={name:t,scope:e}},e.prototype._getPathTypes=function(){return this._criteriaPaths},e.prototype.getHooks=function(t){return this._registeredHooks[t]},e.prototype._registerCoreTransitionHooks=function(){var t=this._deregisterHookFns;t.addCoreResolves=zr(this),t.ignored=gn(this),t.invalid=wn(this),t.redirectTo=Qr(this),t.onExit=Yr(this),t.onRetain=Xr(this),t.onEnter=en(this),t.eagerResolve=nn(this),t.lazyResolve=an(this),t.loadViews=sn(this),t.activateViews=fn(this),t.updateGlobals=hn(this),t.updateUrl=dn(this),t.lazyLoad=mn(this)},e}(),Sn=function(){function e(t){this.router=t,this.invalidCallbacks=[],this._defaultErrorHandler=function(t){t instanceof Error&&t.stack?(console.error(t),console.error(t.stack)):t instanceof Ne?(console.error(t.toString()),t.detail&&t.detail.stack&&console.error(t.detail.stack)):console.error(t)};var r=["current","$current","params","transition"],n=Object.keys(e.prototype).filter(Ht(me(r)));h(Ut(e.prototype),this,Ut(this),n)}return Object.defineProperty(e.prototype,"transition",{get:function(){return this.router.globals.transition},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"params",{get:function(){return this.router.globals.params},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"current",{get:function(){return this.router.globals.current},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"$current",{get:function(){return this.router.globals.$current},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.defaultErrorHandler(l),this.invalidCallbacks=[]},e.prototype._handleInvalidTargetState=function(t,e){function r(){var t=s.dequeue();return void 0===t?Ne.invalid(e.error()).toPromise():ae.$q.when(t(e,i,c)).then(f).then(function(t){return t||r()})}var n=this,i=rr.makeTargetState(t),o=this.router.globals,a=function(){return o.transitionHistory.peekTail()},u=a(),s=new qe(this.invalidCallbacks.slice()),c=new fr(t).injector(),f=function(t){if(t instanceof We){var e=t;return e=n.target(e.identifier(),e.params(),e.options()),e.valid()?a()!==u?Ne.superseded().toPromise():n.transitionTo(e.identifier(),e.params(),e.options()):Ne.invalid(e.error()).toPromise()}};return r()},e.prototype.onInvalid=function(t){return this.invalidCallbacks.push(t),function(){ye(this.invalidCallbacks)(t)}.bind(this)},e.prototype.reload=function(t){return this.transitionTo(this.current,this.params,{reload:!zt(t)||t,inherit:!1,notify:!1})},e.prototype.go=function(t,e,r){var n={relative:this.$current,inherit:!0},i=m(r,n,_n);return this.transitionTo(t,e,i)},e.prototype.target=function(t,e,r){if(void 0===r&&(r={}),Xt(r.reload)&&!r.reload.name)throw new Error("Invalid reload state object");var n=this.router.stateRegistry;if(r.reloadState=!0===r.reload?n.root():n.matcher.find(r.reload,r.relative),r.reload&&!r.reloadState)throw new Error("No such reload state '"+(Zt(r.reload)?r.reload:r.reload.name)+"'");var i=n.matcher.find(t,r.relative);return new We(t,i,e,r)},e.prototype.getCurrentPath=function(){var t=this,e=this.router.globals,r=e.successfulTransitions.peekTail();return r?r.treeChanges().to:function(){return[new er(t.router.stateRegistry.root())]}()},e.prototype.transitionTo=function(e,r,n){var i=this;void 0===r&&(r={}),void 0===n&&(n={});var o=this.router,a=o.globals;n=m(n,_n),n=pe(n,{current:function(){return a.transition}});var u=this.target(e,r,n),s=this.getCurrentPath();if(!u.exists())return this._handleInvalidTargetState(s,u);if(!u.valid())return He(u.error());var c=function(e){return function(r){if(r instanceof Ne){var n=o.globals.lastStartedTransitionId===e.$id;if(r.type===t.RejectType.IGNORED)return n&&o.urlRouter.update(),ae.$q.when(a.current);var u=r.detail;if(r.type===t.RejectType.SUPERSEDED&&r.redirected&&u instanceof We){var s=e.redirect(u);return s.run().catch(c(s))}if(r.type===t.RejectType.ABORTED)return n&&o.urlRouter.update(),ae.$q.reject(r)}return i.defaultErrorHandler()(r),ae.$q.reject(r)}},f=this.router.transitionService.create(s,u),l=f.run().catch(c(f));return Ae(l),pe(l,{transition:f})},e.prototype.is=function(t,e,r){r=m(r,{relative:this.$current});var n=this.router.stateRegistry.matcher.find(t,r.relative);if(zt(n)){if(this.$current!==n)return!1;if(!e)return!0;var i=n.parameters({inherit:!0,matchingKeys:e});return tr.equals(i,tr.values(i,e),this.params)}},e.prototype.includes=function(t,e,r){r=m(r,{relative:this.$current});var n=Zt(t)&&Lt.fromString(t);if(n){if(!n.matches(this.$current.name))return!1;t=this.$current.name}var i=this.router.stateRegistry.matcher.find(t,r.relative),o=this.$current.includes;if(zt(i)){if(!zt(o[i.name]))return!1;if(!e)return!0;var a=i.parameters({inherit:!0,matchingKeys:e});return tr.equals(a,tr.values(a,e),this.params)}},e.prototype.href=function(t,e,r){r=m(r,{lossy:!0,inherit:!0,absolute:!1,relative:this.$current}),e=e||{};var n=this.router.stateRegistry.matcher.find(t,r.relative);if(!zt(n))return null;r.inherit&&(e=this.params.$inherit(e,this.$current,n));var i=n&&r.lossy?n.navigable:n;return i&&void 0!==i.url&&null!==i.url?this.router.urlRouter.href(i.url,e,{absolute:r.absolute}):null},e.prototype.defaultErrorHandler=function(t){return this._defaultErrorHandler=t||this._defaultErrorHandler},e.prototype.get=function(t,e){var r=this.router.stateRegistry;return 0===arguments.length?r.get():r.get(t,e||this.$current)},e.prototype.lazyLoad=function(t,e){var r=this.get(t);if(!r||!r.lazyLoad)throw new Error("Can not lazy load "+t);var n=this.getCurrentPath(),i=rr.makeTargetState(n);return e=e||this.router.transitionService.create(n,i),ct(e,r)},e}(),bn={when:function(t){return new Promise(function(e,r){return e(t)})},reject:function(t){return new Promise(function(e,r){r(t)})},defer:function(){var t={};return t.promise=new Promise(function(e,r){t.resolve=e,t.reject=r}),t},all:function(t){if(te(t))return Promise.all(t);if(Xt(t)){var e=Object.keys(t).map(function(e){return t[e].then(function(t){return{key:e,val:t}})});return bn.all(e).then(function(t){return t.reduce(function(t,e){return t[e.key]=e.val,t},{})})}}},Rn={},En={get:function(t){return Rn[t]},has:function(t){return null!=En.get(t)},invoke:function(t,e,r){var n=pe({},Rn,r||{}),i=En.annotate(t),o=Oe(function(t){return n.hasOwnProperty(t)},function(t){return"DI can't find injectable: '"+t+"'"}),a=i.filter(o).map(function(t){return n[t]});return Kt(t)?t.apply(e,a):t.slice(-1)[0].apply(e,a)},annotate:function(t){if(!c(t))throw new Error("Not an injectable function: "+t);if(t&&t.$inject)return t.$inject;if(te(t))return t.slice(0,-1);var e=t.toString().replace(/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,"");return e.slice(e.indexOf("(")+1,e.indexOf(")")).match(/([^\s,]+)/g)||[]}},Tn=function(t){return function(e){if(!e)return["",""];var r=e.indexOf(t);return-1===r?[e,""]:[e.substr(0,r),e.substr(r+1)]}},Cn=Tn("#"),Pn=Tn("?"),kn=Tn("="),On=function(t){return t?t.replace(/^#/,""):""},xn=function(t,e){var r=e[0],n=e[1];return t.hasOwnProperty(r)?te(t[r])?t[r].push(n):t[r]=[t[r],n]:t[r]=n,t},jn=function(t){return t.split("&").filter(f).map(kn).reduce(xn,{})},In=function(t){var e=t.path(),r=t.search(),n=t.hash(),i=Object.keys(r).map(function(t){var e=r[t];return(te(e)?e:[e]).map(function(e){return t+"="+e})}).reduce(Ee,[]).join("&");return e+(i?"?"+i:"")+(n?"#"+n:"")},Vn=function(){function t(t,e){var r=this;this.fireAfterUpdate=e,this._listener=function(t){return r._listeners.forEach(function(e){return e(t)})},this._listeners=[],this.hash=function(){return ht(r._get()).hash},this.path=function(){return ht(r._get()).path},this.search=function(){return jn(ht(r._get()).search)},this._location=window&&window.location,this._history=window&&window.history}return t.prototype.url=function(t,e){if(void 0===e&&(e=!0),zt(t)&&t!==this._get()&&(this._set(null,null,t,e),this.fireAfterUpdate)){var r=pe(new Event("locationchange"),{url:t});this._listeners.forEach(function(t){return t(r)})}return In(this)},t.prototype.onChange=function(t){var e=this;return this._listeners.push(t),function(){return ye(e._listeners,t)}},t.prototype.dispose=function(t){we(this._listeners)},t}(),An=function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Hn=function(t){function e(e){var r=t.call(this,e,!1)||this;return window.addEventListener("hashchange",r._listener,!1),r}return An(e,t),e.prototype._get=function(){return On(this._location.hash)},e.prototype._set=function(t,e,r,n){this._location.hash=r},e.prototype.dispose=function(e){t.prototype.dispose.call(this,e),window.removeEventListener("hashchange",this._listener)},e}(Vn),qn=function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Dn=function(t){function e(e){return t.call(this,e,!0)||this}return qn(e,t),e.prototype._get=function(){return this._url},e.prototype._set=function(t,e,r,n){this._url=r},e}(Vn),Nn=function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])};return function(e,r){function n(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),Fn=function(t){function e(e){var r=t.call(this,e,!0)||this;return r._config=e.urlService.config,window.addEventListener("popstate",r._listener,!1),r}return Nn(e,t),e.prototype._get=function(){var t=this._location,e=t.pathname,r=t.hash,n=t.search;return n=Pn(n)[1],r=Cn(r)[1],e+(n?"?"+n:"")+(r?"$"+n:"")},e.prototype._set=function(t,e,r,n){var i=this,o=i._config,a=i._history,u=o.baseHref()+r;n?a.replaceState(t,e,u):a.pushState(t,e,u)},e.prototype.dispose=function(e){t.prototype.dispose.call(this,e),window.removeEventListener("popstate",this._listener)},e}(Vn),Un=function(){function t(){var t=this;this._baseHref="",this._port=80,this._protocol="http",this._host="localhost",this._hashPrefix="",this.port=function(){return t._port},this.protocol=function(){return t._protocol},this.host=function(){return t._host},this.baseHref=function(){return t._baseHref},this.html5Mode=function(){return!1},this.hashPrefix=function(e){return zt(e)?t._hashPrefix=e:t._hashPrefix},this.dispose=l}return t}(),Ln=function(){function t(t,e){void 0===e&&(e=!1),this._isHtml5=e,this._baseHref=void 0,this._hashPrefix=""}return t.prototype.port=function(){return location.port?Number(location.port):"https"===this.protocol()?443:80},t.prototype.protocol=function(){return location.protocol.replace(/:/g,"")},t.prototype.host=function(){return location.host},t.prototype.html5Mode=function(){return this._isHtml5},t.prototype.hashPrefix=function(t){return zt(t)?this._hashPrefix=t:this._hashPrefix},t.prototype.baseHref=function(t){return zt(t)?this._baseHref=t:this._baseHref||this.applyDocumentBaseHref()},t.prototype.applyDocumentBaseHref=function(){var t=document.getElementsByTagName("base");return this._baseHref=t.length?t[0].href.substr(location.origin.length):""},t.prototype.dispose=function(){},t}(),Mn=pt("vanilla.hashBangLocation",!1,Hn,Ln),Bn=pt("vanilla.pushStateLocation",!0,Fn,Ln),Gn=pt("vanilla.memoryLocation",!1,Dn,Un),Wn=function(){function t(){}return t.prototype.dispose=function(t){},t}(),zn=Object.freeze({fromJson:ce,toJson:fe,copy:le,forEach:he,extend:pe,equals:de,identity:f,noop:l,createProxyFunctions:h,inherit:ve,inArray:me,_inArray:p,removeFrom:ye,_removeFrom:d,pushTo:ge,_pushTo:v,deregAll:we,defaults:m,mergeR:_e,ancestors:y,pick:g,omit:w,pluck:_,filter:$,find:S,mapObj:$e,map:b,values:Se,allTrueR:be,anyTrueR:Re,unnestR:Ee,flattenR:Te,pushR:R,uniqR:Ce,unnest:Pe,flatten:ke,assertPredicate:Oe,assertMap:xe,assertFn:E,pairs:je,arrayTuples:T,applyPairs:C,tail:P,_extend:x,sortBy:Ie,composeSort:Ve,silenceUncaughtInPromise:Ae,silentRejection:He,notImplemented:oe,services:ae,Glob:Lt,curry:r,compose:n,pipe:i,prop:It,propEq:Vt,parse:At,not:Ht,and:o,or:a,all:qt,any:Dt,is:Nt,eq:Ft,val:Ut,invoke:u,pattern:s,isUndefined:Wt,isDefined:zt,isNull:Jt,isNullOrUndefined:Qt,isFunction:Kt,isNumber:Yt,isString:Zt,isObject:Xt,isArray:te,isDate:ee,isRegExp:re,isState:ne,isInjectable:c,isPromise:ie,Queue:qe,maxLength:B,padString:G,kebobString:W,functionToString:z,fnToString:J,stringify:Q,beforeAfterSubstr:mr,splitOnDelim:K,joinNeighborsR:Y,get Category(){return t.Category},Trace:Be,trace:Ge,get DefType(){return t.DefType},Param:tr,ParamTypes:yr,StateParams:gr,ParamType:Ye,PathNode:er,PathUtils:rr,resolvePolicies:or,defaultResolvePolicy:nr,Resolvable:ir,NATIVE_INJECTOR_TOKEN:cr,ResolveContext:fr,resolvablesBuilder:nt,StateBuilder:br,StateObject:Mt,StateMatcher:Rr,StateQueueManager:Er,StateRegistry:Tr,StateService:Sn,TargetState:We,get TransitionHookPhase(){return t.TransitionHookPhase},get TransitionHookScope(){return t.TransitionHookScope},HookBuilder:Ke,matchState:H,RegisteredHook:Qe,makeEvent:q,get RejectType(){return t.RejectType},Rejection:Ne,Transition:pr,TransitionHook:Je,TransitionEventType:yn,defaultTransOpts:_n,TransitionService:$n,UrlMatcher:kr,UrlMatcherFactory:Or,UrlRouter:Ar,UrlRuleFactory:xr,BaseUrlRule:Ir,UrlService:Br,ViewService:Hr,UIRouterGlobals:qr,UIRouter:Wr,$q:bn,$injector:En,BaseLocationServices:Vn,HashLocationService:Hn,MemoryLocationService:Dn,PushStateLocationService:Fn,MemoryLocationConfig:Un,BrowserLocationConfig:Ln,splitHash:Cn,splitQuery:Pn,splitEqual:kn,trimHashVal:On,keyValsToObjectR:xn,getParams:jn,parseUrl:ht,buildUrl:In,locationPluginFactory:pt,servicesPlugin:dt,hashLocationPlugin:Mn,pushStateLocationPlugin:Bn,memoryLocationPlugin:Gn,UIRouterPluginBase:Wn}),Jn=angular,Qn=e&&e.module?e:Jn,Kn=function(t,e){return t.reduce(function(t,r){return t||zt(e[r])},!1)},Yn=0,Zn=function(){function t(t,e,r){var n=this;this.path=t,this.viewDecl=e,this.factory=r,this.$id=Yn++,this.loaded=!1,this.getTemplate=function(t,e){return n.component?n.factory.makeComponentTemplate(t,e,n.component,n.viewDecl.bindings):n.template}}return t.prototype.load=function(){var t=this,e=ae.$q,r=new fr(this.path),n=this.path.reduce(function(t,e){return pe(t,e.paramValues)},{}),i={template:e.when(this.factory.fromConfig(this.viewDecl,n,r)),controller:e.when(this.getController(r))};return e.all(i).then(function(e){return Ge.traceViewServiceEvent("Loaded",t),t.controller=e.controller,pe(t,e.template),t})},t.prototype.getController=function(t){var e=this.viewDecl.controllerProvider;if(!c(e))return this.viewDecl.controller;var r=ae.$injector.annotate(e),n=te(e)?P(e):e;return new ir("",n,r).get(t)},t}(),Xn=function(){function t(){var t=this;this._useHttp=Qn.version.minor<3,this.$get=["$http","$templateCache","$injector",function(e,r,n){return t.$templateRequest=n.has&&n.has("$templateRequest")&&n.get("$templateRequest"),t.$http=e,t.$templateCache=r,t}]} -return t.prototype.useHttpService=function(t){this._useHttp=t},t.prototype.fromConfig=function(t,e,r){var n=function(t){return ae.$q.when(t).then(function(t){return{template:t}})},i=function(t){return ae.$q.when(t).then(function(t){return{component:t}})};return zt(t.template)?n(this.fromString(t.template,e)):zt(t.templateUrl)?n(this.fromUrl(t.templateUrl,e)):zt(t.templateProvider)?n(this.fromProvider(t.templateProvider,e,r)):zt(t.component)?i(t.component):zt(t.componentProvider)?i(this.fromComponentProvider(t.componentProvider,e,r)):n("")},t.prototype.fromString=function(t,e){return Kt(t)?t(e):t},t.prototype.fromUrl=function(t,e){return Kt(t)&&(t=t(e)),null==t?null:this._useHttp?this.$http.get(t,{cache:this.$templateCache,headers:{Accept:"text/html"}}).then(function(t){return t.data}):this.$templateRequest(t)},t.prototype.fromProvider=function(t,e,r){var n=ae.$injector.annotate(t),i=te(t)?P(t):t;return new ir("",i,n).get(r)},t.prototype.fromComponentProvider=function(t,e,r){var n=ae.$injector.annotate(t),i=te(t)?P(t):t;return new ir("",i,n).get(r)},t.prototype.makeComponentTemplate=function(t,e,r,n){n=n||{};var i=Qn.version.minor>=3?"::":"",o=function(t){var e=W(t);return/^(x|data)-/.exec(e)?"x-"+e:e},a=function(r){var a=r.name,u=r.type,s=o(a);if(t.attr(s)&&!n[a])return s+"='"+t.attr(s)+"'";var c=n[a]||a;if("@"===u)return s+"='{{"+i+"$resolve."+c+"}}'";if("&"===u){var f=e.getResolvable(c),l=f&&f.data,h=l&&ae.$injector.annotate(l)||[];return s+"='$resolve."+c+(te(l)?"["+(l.length-1)+"]":"")+"("+h.join(",")+")'"}return s+"='"+i+"$resolve."+c+"'"},u=yt(r).map(a).join(" "),s=o(r);return"<"+s+" "+u+">"},t}(),ti=function(t){return ei(Xt(t.bindToController)?t.bindToController:t.scope)},ei=function(t){return Object.keys(t||{}).map(function(e){return[e,/^([=<@&])[?]?(.*)/.exec(t[e])]}).filter(function(t){return zt(t)&&te(t[1])}).map(function(t){return{name:t[1][2]||t[0],type:t[1][1]}})},ri=function(){function t(e,r){this.stateRegistry=e,this.stateService=r,h(Ut(t.prototype),this,Ut(this))}return t.prototype.decorator=function(t,e){return this.stateRegistry.decorator(t,e)||this},t.prototype.state=function(t,e){return Xt(t)?e=t:e.name=t,this.stateRegistry.register(e),this},t.prototype.onInvalid=function(t){return this.stateService.onInvalid(t)},t}(),ni=function(t){return function(e,r){function n(t,e){var r=new fr(t.treeChanges(o)),n=pe(mi(r),{$state$:e,$transition$:t});return ae.$injector.invoke(i,this,n)}var i=e[t],o="onExit"===t?"from":"to";return i?n:void 0}},ii=function(){function t(t){this._urlListeners=[],this.$locationProvider=t;var e=Ut(t);h(e,this,e,["hashPrefix"])}return t.prototype.dispose=function(){},t.prototype.onChange=function(t){var e=this;return this._urlListeners.push(t),function(){return ye(e._urlListeners)(t)}},t.prototype.html5Mode=function(){var t=this.$locationProvider.html5Mode();return(t=Xt(t)?t.enabled:t)&&this.$sniffer.history},t.prototype.url=function(t,e,r){return void 0===e&&(e=!1),t&&this.$location.url(t),e&&this.$location.replace(),r&&this.$location.state(r),this.$location.url()},t.prototype._runtimeServices=function(t,e,r,n){var i=this;this.$location=e,this.$sniffer=r,t.$on("$locationChangeSuccess",function(t){return i._urlListeners.forEach(function(e){return e(t)})});var o=Ut(e),a=Ut(n);h(o,this,o,["replace","path","search","hash"]),h(o,this,o,["port","protocol","host"]),h(a,this,a,["baseHref"])},t.monkeyPatchPathParameterType=function(t){var e=t.urlMatcherFactory.type("path");e.encode=function(t){return null!=t?t.toString().replace(/(~|\/)/g,function(t){return{"~":"~~","/":"~2F"}[t]}):t},e.decode=function(t){return null!=t?t.toString().replace(/(~~|~2F)/g,function(t){return{"~~":"~","~2F":"/"}[t]}):t}},t}(),oi=function(){function t(t){this._router=t,this._urlRouter=t.urlRouter}return t.prototype.$get=function(){var t=this._urlRouter;return t.update(!0),t.interceptDeferred||t.listen(),t},t.prototype.rule=function(t){var e=this;if(!Kt(t))throw new Error("'rule' must be a function");var r=function(){return t(ae.$injector,e._router.locationService)},n=new Ir(r,f);return this._urlRouter.rule(n),this},t.prototype.otherwise=function(t){var e=this,r=this._urlRouter;if(Zt(t))r.otherwise(t);else{if(!Kt(t))throw new Error("'rule' must be a string or function");r.otherwise(function(){return t(ae.$injector,e._router.locationService)})}return this},t.prototype.when=function(e,r){return(te(r)||Kt(r))&&(r=t.injectableHandler(this._router,r)),this._urlRouter.when(e,r),this},t.injectableHandler=function(t,e){return function(r){return ae.$injector.invoke(e,null,{$match:r,$stateParams:t.globals.params})}},t.prototype.deferIntercept=function(t){this._urlRouter.deferIntercept(t)},t}();Qn.module("ui.router.angular1",[]);var ai=Qn.module("ui.router.init",[]),ui=Qn.module("ui.router.util",["ng","ui.router.init"]),si=Qn.module("ui.router.router",["ui.router.util"]),ci=Qn.module("ui.router.state",["ui.router.router","ui.router.util","ui.router.angular1"]),fi=Qn.module("ui.router",["ui.router.init","ui.router.state","ui.router.angular1"]),li=(Qn.module("ui.router.compat",["ui.router"]),null);gt.$inject=["$locationProvider"];var hi=function(t){return["$uiRouterProvider",function(e){var r=e.router[t];return r.$get=function(){return r},r}]};wt.$inject=["$injector","$q","$uiRouter"];var pi=function(t){return t.urlRouterProvider=new oi(t)},di=function(){return pe(li.stateProvider,{$get:function(){return li.stateService}})};_t.$inject=["$rootScope"],ai.provider("$uiRouter",gt),si.provider("$urlRouter",["$uiRouterProvider",pi]),ui.provider("$urlService",hi("urlService")),ui.provider("$urlMatcherFactory",["$uiRouterProvider",function(){return li.urlMatcherFactory}]),ui.provider("$templateFactory",function(){return new Xn}),ci.provider("$stateRegistry",hi("stateRegistry")),ci.provider("$uiRouterGlobals",hi("globals")),ci.provider("$transitions",hi("transitionService")),ci.provider("$state",["$uiRouterProvider",di]),ci.factory("$stateParams",["$uiRouter",function(t){return t.globals.params}]),fi.factory("$view",function(){return li.viewService}),fi.service("$trace",function(){return Ge}),fi.run(_t),ui.run(["$urlMatcherFactory",function(t){}]),ci.run(["$state",function(t){}]),si.run(["$urlRouter",function(t){}]),ai.run(wt);var vi,mi=function(t){return t.getTokens().filter(Zt).map(function(e){var r=t.getResolvable(e);return[e,"NOWAIT"===t.getPolicy(r).async?r.promise:r.data]}).reduce(C,{})};vi=["$uiRouter","$timeout",function(t,e){var r=t.stateService;return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(n,i,o,a){function u(){var t=p();l&&l(),f&&(l=f.$$addStateInfo(t.uiState,t.uiStateParams)),null!=t.href&&o.$set(c.attr,t.href)}var s,c=Rt(i),f=a[1]||a[0],l=null,h={},p=function(){return bt(r,i,h)},d=$t(o.uiSref);h.uiState=d.state,h.uiStateOpts=o.uiSrefOpts?n.$eval(o.uiSrefOpts):{},d.paramExpr&&(n.$watch(d.paramExpr,function(t){h.uiStateParams=pe({},t),u()},!0),h.uiStateParams=pe({},n.$eval(d.paramExpr))),u(),n.$on("$destroy",t.stateRegistry.onStatesChanged(u)),n.$on("$destroy",t.transitionService.onSuccess({},u)),c.clickable&&(s=Et(i,r,e,c,p),Ct(i,n,s,h.uiStateOpts))}}}];var yi;yi=["$uiRouter","$timeout",function(t,e){var r=t.stateService;return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(n,i,o,a){function u(){var t=d();h&&h(),f&&(h=f.$$addStateInfo(t.uiState,t.uiStateParams)),null!=t.href&&o.$set(c.attr,t.href)}var s,c=Rt(i),f=a[1]||a[0],h=null,p={},d=function(){return bt(r,i,p)},v=["uiState","uiStateParams","uiStateOpts"],m=v.reduce(function(t,e){return t[e]=l,t},{});v.forEach(function(t){p[t]=o[t]?n.$eval(o[t]):null,o.$observe(t,function(e){m[t](),m[t]=n.$watch(e,function(e){p[t]=e,u()},!0)})}),u(),n.$on("$destroy",t.stateRegistry.onStatesChanged(u)),n.$on("$destroy",t.transitionService.onSuccess({},u)),c.clickable&&(s=Et(i,r,e,c,d),Ct(i,n,s,p.uiStateOpts))}}}];var gi;gi=["$state","$stateParams","$interpolate","$uiRouter",function(t,e,r,n){return{restrict:"A",controller:["$scope","$element","$attrs",function(e,i,o){function a(t){t.promise.then(s)}function u(e,r,n){var o=t.get(e,St(i)),a={state:o||{name:e},params:r,activeClass:n};return h.push(a),function(){ye(h)(a)}}function s(){var r=function(t){return t.split(/\s/).filter(f)},n=function(t){return t.map(function(t){return t.activeClass}).map(r).reduce(Ee,[])},o=n(h).concat(r(c)).reduce(Ce,[]),a=n(h.filter(function(e){return t.includes(e.state.name,e.params)})),u=!!h.filter(function(e){return t.is(e.state.name,e.params)}).length,s=u?r(c):[],l=a.concat(s).reduce(Ce,[]),p=o.filter(function(t){return!me(l,t)});e.$evalAsync(function(){l.forEach(function(t){return i.addClass(t)}),p.forEach(function(t){return i.removeClass(t)})})}var c,l,h=[];c=r(o.uiSrefActiveEq||"",!1)(e);try{l=e.$eval(o.uiSrefActive)}catch(t){}l=l||r(o.uiSrefActive||"",!1)(e),Xt(l)&&he(l,function(t,r){if(Zt(t)){var n=$t(t);u(n.state,e.$eval(n.paramExpr),r)}}),this.$$addStateInfo=function(t,e){if(!(Xt(l)&&h.length>0)){var r=u(t,e,l);return s(),r}},e.$on("$stateChangeSuccess",s),e.$on("$destroy",n.transitionService.onStart({},a)),n.globals.transition&&a(n.globals.transition),s()}]}}],Qn.module("ui.router.state").directive("uiSref",vi).directive("uiSrefActive",gi).directive("uiSrefActiveEq",gi).directive("uiState",yi),Pt.$inject=["$state"],kt.$inject=["$state"],Qn.module("ui.router.state").filter("isState",Pt).filter("includedByState",kt);var wi;wi=["$view","$animate","$uiViewScroll","$interpolate","$q",function(t,e,r,n,i){function o(t,r){return{enter:function(t,r,n){Qn.version.minor>2?e.enter(t,null,r).then(n):e.enter(t,null,r,n)},leave:function(t,r){Qn.version.minor>2?e.leave(t).then(r):e.leave(t,r)}}}function a(t,e){return t===e}var u={$cfg:{viewDecl:{$context:t._pluginapi._rootViewContext()}},$uiView:{}},s={count:0,restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(e,c,f){return function(e,c,l){function h(t){(!t||t instanceof Zn)&&(a(S,t)||(Ge.traceUIViewConfigUpdated(E,t&&t.viewDecl&&t.viewDecl.$context),S=t,d(t)))}function p(){if(v&&(Ge.traceUIViewEvent("Removing (previous) el",v.data("$uiView")),v.remove(),v=null),y&&(Ge.traceUIViewEvent("Destroying scope",E),y.$destroy(),y=null),m){var t=m.data("$uiViewAnim");Ge.traceUIViewEvent("Animate out",t),$.leave(m,function(){t.$$animLeave.resolve(),v=null}),v=m,m=null}}function d(t){var n=e.$new(),o=i.defer(),a=i.defer(),u={$cfg:t,$uiView:E},s={$animEnter:o.promise,$animLeave:a.promise,$$animLeave:a};n.$emit("$viewContentLoading",R);var l=f(n,function(t){t.data("$uiViewAnim",s),t.data("$uiView",u),$.enter(t,c,function(){o.resolve(),y&&y.$emit("$viewContentAnimationEnded"),(zt(_)&&!_||e.$eval(_))&&r(t)}),p()});m=l,y=n,y.$emit("$viewContentLoaded",t||S),y.$eval(w)}var v,m,y,g,w=l.onload||"",_=l.autoscroll,$=o(l,e),S=void 0,b=c.inheritedData("$uiView")||u,R=n(l.uiView||l.name||"")(e)||"$default",E={$type:"ng1",id:s.count++,name:R,fqn:b.$uiView.fqn?b.$uiView.fqn+"."+R:R,config:null,configUpdated:h,get creationContext(){var t=At("$cfg.viewDecl.$context")(b),e=At("$uiView.creationContext")(b);return t||e}};Ge.traceUIViewEvent("Linking",E),c.data("$uiView",{$uiView:E}),d(),g=t.registerUIView(E),e.$on("$destroy",function(){Ge.traceUIViewEvent("Destroying/Unregistering",E),g()})}}};return s}],Ot.$inject=["$compile","$controller","$transitions","$view","$q","$timeout"];var _i="function"==typeof Qn.module("ui.router").component,$i=0;Qn.module("ui.router.state").directive("uiView",wi),Qn.module("ui.router.state").directive("uiView",Ot),Qn.module("ui.router.state").provider("$uiViewScroll",jt);t.core=zn,t.default="ui.router",t.fromJson=ce,t.toJson=fe,t.copy=le,t.forEach=he,t.extend=pe,t.equals=de,t.identity=f,t.noop=l,t.createProxyFunctions=h,t.inherit=ve,t.inArray=me,t._inArray=p,t.removeFrom=ye,t._removeFrom=d,t.pushTo=ge,t._pushTo=v,t.deregAll=we,t.defaults=m,t.mergeR=_e,t.ancestors=y,t.pick=g,t.omit=w,t.pluck=_,t.filter=$,t.find=S,t.mapObj=$e,t.map=b,t.values=Se,t.allTrueR=be,t.anyTrueR=Re,t.unnestR=Ee,t.flattenR=Te,t.pushR=R,t.uniqR=Ce,t.unnest=Pe,t.flatten=ke,t.assertPredicate=Oe,t.assertMap=xe,t.assertFn=E,t.pairs=je,t.arrayTuples=T,t.applyPairs=C,t.tail=P,t._extend=x,t.sortBy=Ie,t.composeSort=Ve,t.silenceUncaughtInPromise=Ae,t.silentRejection=He,t.notImplemented=oe,t.services=ae,t.Glob=Lt,t.curry=r,t.compose=n,t.pipe=i,t.prop=It,t.propEq=Vt,t.parse=At,t.not=Ht,t.and=o,t.or=a,t.all=qt,t.any=Dt,t.is=Nt,t.eq=Ft,t.val=Ut,t.invoke=u,t.pattern=s,t.isUndefined=Wt,t.isDefined=zt,t.isNull=Jt,t.isNullOrUndefined=Qt,t.isFunction=Kt,t.isNumber=Yt,t.isString=Zt,t.isObject=Xt,t.isArray=te,t.isDate=ee,t.isRegExp=re,t.isState=ne,t.isInjectable=c,t.isPromise=ie,t.Queue=qe,t.maxLength=B,t.padString=G,t.kebobString=W,t.functionToString=z,t.fnToString=J,t.stringify=Q,t.beforeAfterSubstr=mr,t.splitOnDelim=K,t.joinNeighborsR=Y,t.Trace=Be,t.trace=Ge,t.Param=tr,t.ParamTypes=yr,t.StateParams=gr,t.ParamType=Ye,t.PathNode=er,t.PathUtils=rr,t.resolvePolicies=or,t.defaultResolvePolicy=nr,t.Resolvable=ir,t.NATIVE_INJECTOR_TOKEN=cr,t.ResolveContext=fr,t.resolvablesBuilder=nt,t.StateBuilder=br,t.StateObject=Mt,t.StateMatcher=Rr,t.StateQueueManager=Er,t.StateRegistry=Tr,t.StateService=Sn,t.TargetState=We,t.HookBuilder=Ke,t.matchState=H,t.RegisteredHook=Qe,t.makeEvent=q,t.Rejection=Ne,t.Transition=pr,t.TransitionHook=Je,t.TransitionEventType=yn,t.defaultTransOpts=_n,t.TransitionService=$n,t.UrlMatcher=kr,t.UrlMatcherFactory=Or,t.UrlRouter=Ar,t.UrlRuleFactory=xr,t.BaseUrlRule=Ir,t.UrlService=Br,t.ViewService=Hr,t.UIRouterGlobals=qr,t.UIRouter=Wr,t.$q=bn,t.$injector=En,t.BaseLocationServices=Vn,t.HashLocationService=Hn,t.MemoryLocationService=Dn,t.PushStateLocationService=Fn,t.MemoryLocationConfig=Un,t.BrowserLocationConfig=Ln,t.splitHash=Cn,t.splitQuery=Pn,t.splitEqual=kn,t.trimHashVal=On,t.keyValsToObjectR=xn,t.getParams=jn,t.parseUrl=ht,t.buildUrl=In,t.locationPluginFactory=pt,t.servicesPlugin=dt,t.hashLocationPlugin=Mn,t.pushStateLocationPlugin=Bn,t.memoryLocationPlugin=Gn,t.UIRouterPluginBase=Wn,t.watchDigests=_t,t.getLocals=mi,t.getNg1ViewConfigFactory=vt,t.ng1ViewsBuilder=mt,t.Ng1ViewConfig=Zn,t.StateProvider=ri,t.UrlRouterProvider=oi,Object.defineProperty(t,"__esModule",{value:!0})}); -//# sourceMappingURL=angular-ui-router.min.js.map diff --git a/pwa-backend/src/main/webapp/backoffice/libs/angular-ui-router/angular-ui-router.min.js.map b/pwa-backend/src/main/webapp/backoffice/libs/angular-ui-router/angular-ui-router.min.js.map deleted file mode 100644 index db20407..0000000 --- a/pwa-backend/src/main/webapp/backoffice/libs/angular-ui-router/angular-ui-router.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":null,"sources":["../node_modules/@uirouter/core/src/common/hof.ts","../node_modules/@uirouter/core/src/common/predicates.ts","../node_modules/@uirouter/core/src/common/common.ts","../node_modules/@uirouter/core/src/common/trace.ts","../node_modules/@uirouter/core/src/transition/hookRegistry.ts","../node_modules/@uirouter/core/src/transition/hookBuilder.ts","../node_modules/@uirouter/core/src/params/paramType.ts","../node_modules/@uirouter/core/src/params/param.ts","../node_modules/@uirouter/core/src/common/strings.ts","../node_modules/@uirouter/core/src/state/stateBuilder.ts","../node_modules/@uirouter/core/src/url/urlMatcher.ts","../node_modules/@uirouter/core/src/url/urlRouter.ts","../node_modules/@uirouter/core/src/hooks/coreResolvables.ts","../node_modules/@uirouter/core/src/hooks/onEnterExitRetain.ts","../node_modules/@uirouter/core/src/hooks/lazyLoad.ts","../node_modules/@uirouter/core/src/hooks/ignoredTransition.ts","../node_modules/@uirouter/core/src/hooks/invalidTransition.ts","../node_modules/@uirouter/core/src/vanilla/utils.ts","../node_modules/@uirouter/core/src/vanilla/plugins.ts","../src/statebuilders/views.ts","../src/templateFactory.ts","../src/services.ts","../src/directives/stateDirectives.ts","../src/stateFilters.ts","../src/directives/viewDirective.ts","../src/viewScroll.ts","../node_modules/@uirouter/core/src/common/glob.ts","../node_modules/@uirouter/core/src/state/stateObject.ts","../node_modules/@uirouter/core/src/common/coreservices.ts","../node_modules/@uirouter/core/src/common/queue.ts","../node_modules/@uirouter/core/src/transition/rejectFactory.ts","../node_modules/@uirouter/core/src/transition/interface.ts","../node_modules/@uirouter/core/src/state/targetState.ts","../node_modules/@uirouter/core/src/transition/transitionHook.ts","../node_modules/@uirouter/core/src/path/pathNode.ts","../node_modules/@uirouter/core/src/path/pathFactory.ts","../node_modules/@uirouter/core/src/resolve/resolvable.ts","../node_modules/@uirouter/core/src/resolve/interface.ts","../node_modules/@uirouter/core/src/resolve/resolveContext.ts","../node_modules/@uirouter/core/src/transition/transition.ts","../node_modules/@uirouter/core/src/params/paramTypes.ts","../node_modules/@uirouter/core/src/params/stateParams.ts","../node_modules/@uirouter/core/src/state/stateMatcher.ts","../node_modules/@uirouter/core/src/state/stateQueueManager.ts","../node_modules/@uirouter/core/src/state/stateRegistry.ts","../node_modules/@uirouter/core/src/url/urlMatcherFactory.ts","../node_modules/@uirouter/core/src/url/urlRule.ts","../node_modules/@uirouter/core/src/view/view.ts","../node_modules/@uirouter/core/src/globals.ts","../node_modules/@uirouter/core/src/url/urlService.ts","../node_modules/@uirouter/core/src/router.ts","../node_modules/@uirouter/core/src/hooks/redirectTo.ts","../node_modules/@uirouter/core/src/hooks/resolve.ts","../node_modules/@uirouter/core/src/hooks/views.ts","../node_modules/@uirouter/core/src/hooks/updateGlobals.ts","../node_modules/@uirouter/core/src/hooks/url.ts","../node_modules/@uirouter/core/src/transition/transitionEventType.ts","../node_modules/@uirouter/core/src/transition/transitionService.ts","../node_modules/@uirouter/core/src/state/stateService.ts","../node_modules/@uirouter/core/src/vanilla/q.ts","../node_modules/@uirouter/core/src/vanilla/injector.ts","../node_modules/@uirouter/core/src/vanilla/baseLocationService.ts","../node_modules/@uirouter/core/src/vanilla/hashLocationService.ts","../node_modules/@uirouter/core/src/vanilla/memoryLocationService.ts","../node_modules/@uirouter/core/src/vanilla/pushStateLocationService.ts","../node_modules/@uirouter/core/src/vanilla/memoryLocationConfig.ts","../node_modules/@uirouter/core/src/vanilla/browserLocationConfig.ts","../node_modules/@uirouter/core/src/interface.ts","../src/angular.ts","../src/stateProvider.ts","../src/statebuilders/onEnterExitRetain.ts","../src/locationServices.ts","../src/urlRouterProvider.ts","../src/index.ts"],"sourcesContent":[{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/hof.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/predicates.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/common.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/trace.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/hookRegistry.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/hookBuilder.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/params/paramType.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/params/param.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/strings.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateBuilder.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlMatcher.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlRouter.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/coreResolvables.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/onEnterExitRetain.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/lazyLoad.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/ignoredTransition.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/invalidTransition.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/utils.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/plugins.ts"},"/** @module ng1 */ /** */\nimport { ng as angular } from \"../angular\";\nimport {\n StateObject, pick, forEach, tail, extend,\n isArray, isInjectable, isDefined, isString, services, trace,\n ViewConfig, ViewService, ViewConfigFactory, PathNode, ResolveContext, Resolvable, IInjectable\n} from \"@uirouter/core\";\nimport { Ng1ViewDeclaration } from \"../interface\";\nimport { TemplateFactory } from \"../templateFactory\";\nimport IInjectorService = angular.auto.IInjectorService;\n\nexport function getNg1ViewConfigFactory(): ViewConfigFactory {\n let templateFactory: TemplateFactory = null;\n return (path, view) => {\n templateFactory = templateFactory || services.$injector.get(\"$templateFactory\");\n return [new Ng1ViewConfig(path, view, templateFactory)];\n };\n}\n\nconst hasAnyKey = (keys, obj) =>\n keys.reduce((acc, key) => acc || isDefined(obj[key]), false);\n\n/**\n * This is a [[StateBuilder.builder]] function for angular1 `views`.\n *\n * When the [[StateBuilder]] builds a [[StateObject]] object from a raw [[StateDeclaration]], this builder\n * handles the `views` property with logic specific to @uirouter/angularjs (ng1).\n *\n * If no `views: {}` property exists on the [[StateDeclaration]], then it creates the `views` object\n * and applies the state-level configuration to a view named `$default`.\n */\nexport function ng1ViewsBuilder(state: StateObject) {\n // Do not process root state\n if (!state.parent) return {};\n\n let tplKeys = ['templateProvider', 'templateUrl', 'template', 'notify', 'async'],\n ctrlKeys = ['controller', 'controllerProvider', 'controllerAs', 'resolveAs'],\n compKeys = ['component', 'bindings', 'componentProvider'],\n nonCompKeys = tplKeys.concat(ctrlKeys),\n allViewKeys = compKeys.concat(nonCompKeys);\n\n // Do not allow a state to have both state-level props and also a `views: {}` property.\n // A state without a `views: {}` property can declare properties for the `$default` view as properties of the state.\n // However, the `$default` approach should not be mixed with a separate `views: ` block.\n if (isDefined(state.views) && hasAnyKey(allViewKeys, state)) {\n throw new Error(`State '${state.name}' has a 'views' object. ` +\n `It cannot also have \"view properties\" at the state level. ` +\n `Move the following properties into a view (in the 'views' object): ` +\n ` ${allViewKeys.filter(key => isDefined(state[key])).join(\", \")}`);\n }\n\n let views: { [key: string]: Ng1ViewDeclaration } = {},\n viewsObject = state.views || { \"$default\": pick(state, allViewKeys) };\n\n forEach(viewsObject, function (config: Ng1ViewDeclaration, name: string) {\n // Account for views: { \"\": { template... } }\n name = name || \"$default\";\n // Account for views: { header: \"headerComponent\" }\n if (isString(config)) config = { component: config };\n\n // Make a shallow copy of the config object\n config = extend({}, config);\n\n // Do not allow a view to mix props for component-style view with props for template/controller-style view\n if (hasAnyKey(compKeys, config) && hasAnyKey(nonCompKeys, config)) {\n throw new Error(`Cannot combine: ${compKeys.join(\"|\")} with: ${nonCompKeys.join(\"|\")} in stateview: '${name}@${state.name}'`);\n }\n\n config.resolveAs = config.resolveAs || '$resolve';\n config.$type = \"ng1\";\n config.$context = state;\n config.$name = name;\n\n let normalized = ViewService.normalizeUIViewTarget(config.$context, config.$name);\n config.$uiViewName = normalized.uiViewName;\n config.$uiViewContextAnchor = normalized.uiViewContextAnchor;\n\n views[name] = config;\n });\n return views;\n}\n\nlet id = 0;\nexport class Ng1ViewConfig implements ViewConfig {\n $id = id++;\n loaded: boolean = false;\n controller: Function; // actually IInjectable|string\n template: string;\n component: string;\n locals: any; // TODO: delete me\n\n constructor(public path: PathNode[], public viewDecl: Ng1ViewDeclaration, public factory: TemplateFactory) { }\n\n load() {\n let $q = services.$q;\n let context = new ResolveContext(this.path);\n let params = this.path.reduce((acc, node) => extend(acc, node.paramValues), {});\n\n let promises: any = {\n template: $q.when(this.factory.fromConfig(this.viewDecl, params, context)),\n controller: $q.when(this.getController(context))\n };\n\n return $q.all(promises).then((results) => {\n trace.traceViewServiceEvent(\"Loaded\", this);\n this.controller = results.controller;\n extend(this, results.template); // Either { template: \"tpl\" } or { component: \"cmpName\" }\n return this;\n });\n }\n\n getTemplate = (uiView, context: ResolveContext) =>\n this.component ? this.factory.makeComponentTemplate(uiView, context, this.component, this.viewDecl.bindings) : this.template;\n\n /**\n * Gets the controller for a view configuration.\n *\n * @returns {Function|Promise.} Returns a controller, or a promise that resolves to a controller.\n */\n getController(context: ResolveContext): (IInjectable|string|Promise) {\n let provider = this.viewDecl.controllerProvider;\n if (!isInjectable(provider)) return this.viewDecl.controller;\n let deps = services.$injector.annotate(provider);\n let providerFn = isArray(provider) ? tail( provider) : provider;\n let resolvable = new Resolvable(\"\", providerFn, deps);\n return resolvable.get(context);\n }\n}\n","/** @module view */\n/** for typedoc */\nimport { ng as angular } from \"./angular\";\nimport { IAugmentedJQuery } from \"angular\";\nimport {\n isArray, isDefined, isFunction, isObject, services, Obj, IInjectable, tail, kebobString, unnestR, ResolveContext,\n Resolvable, RawParams\n} from \"@uirouter/core\";\nimport { Ng1ViewDeclaration, TemplateFactoryProvider } from \"./interface\";\n\n/**\n * Service which manages loading of templates from a ViewConfig.\n */\nexport class TemplateFactory implements TemplateFactoryProvider {\n /** @hidden */ private _useHttp = angular.version.minor < 3;\n /** @hidden */ private $templateRequest;\n /** @hidden */ private $templateCache;\n /** @hidden */ private $http;\n\n /** @hidden */ $get = ['$http', '$templateCache', '$injector', ($http, $templateCache, $injector) => {\n this.$templateRequest = $injector.has && $injector.has('$templateRequest') && $injector.get('$templateRequest');\n this.$http = $http;\n this.$templateCache = $templateCache;\n return this;\n }];\n\n /** @hidden */\n useHttpService(value: boolean) {\n this._useHttp = value;\n };\n\n /**\n * Creates a template from a configuration object.\n *\n * @param config Configuration object for which to load a template.\n * The following properties are search in the specified order, and the first one\n * that is defined is used to create the template:\n *\n * @param params Parameters to pass to the template function.\n * @param context The resolve context associated with the template's view\n *\n * @return {string|object} The template html as a string, or a promise for\n * that string,or `null` if no template is configured.\n */\n fromConfig(config: Ng1ViewDeclaration, params: any, context: ResolveContext) {\n const defaultTemplate = \"\";\n\n const asTemplate = (result) => services.$q.when(result).then(str => ({ template: str }));\n const asComponent = (result) => services.$q.when(result).then(str => ({ component: str }));\n\n return (\n isDefined(config.template) ? asTemplate(this.fromString(config.template, params)) :\n isDefined(config.templateUrl) ? asTemplate(this.fromUrl(config.templateUrl, params)) :\n isDefined(config.templateProvider) ? asTemplate(this.fromProvider(config.templateProvider, params, context)) :\n isDefined(config.component) ? asComponent(config.component) :\n isDefined(config.componentProvider) ? asComponent(this.fromComponentProvider(config.componentProvider, params, context)) :\n asTemplate(defaultTemplate)\n );\n };\n\n /**\n * Creates a template from a string or a function returning a string.\n *\n * @param template html template as a string or function that returns an html template as a string.\n * @param params Parameters to pass to the template function.\n *\n * @return {string|object} The template html as a string, or a promise for that\n * string.\n */\n fromString(template: (string | Function), params?: RawParams) {\n return isFunction(template) ? ( template)(params) : template;\n };\n\n /**\n * Loads a template from the a URL via `$http` and `$templateCache`.\n *\n * @param {string|Function} url url of the template to load, or a function\n * that returns a url.\n * @param {Object} params Parameters to pass to the url function.\n * @return {string|Promise.} The template html as a string, or a promise\n * for that string.\n */\n fromUrl(url: (string | Function), params: any) {\n if (isFunction(url)) url = ( url)(params);\n if (url == null) return null;\n\n if (this._useHttp) {\n return this.$http.get(url, { cache: this.$templateCache, headers: { Accept: 'text/html' } })\n .then(function (response) {\n return response.data;\n });\n }\n\n return this.$templateRequest(url);\n };\n\n /**\n * Creates a template by invoking an injectable provider function.\n *\n * @param provider Function to invoke via `locals`\n * @param {Function} injectFn a function used to invoke the template provider\n * @return {string|Promise.} The template html as a string, or a promise\n * for that string.\n */\n fromProvider(provider: IInjectable, params: any, context: ResolveContext) {\n let deps = services.$injector.annotate(provider);\n let providerFn = isArray(provider) ? tail( provider) : provider;\n let resolvable = new Resolvable(\"\", providerFn, deps);\n return resolvable.get(context);\n };\n\n /**\n * Creates a component's template by invoking an injectable provider function.\n *\n * @param provider Function to invoke via `locals`\n * @param {Function} injectFn a function used to invoke the template provider\n * @return {string} The template html as a string: \"\".\n */\n fromComponentProvider(provider: IInjectable, params: any, context: ResolveContext) {\n let deps = services.$injector.annotate(provider);\n let providerFn = isArray(provider) ? tail( provider) : provider;\n let resolvable = new Resolvable(\"\", providerFn, deps);\n return resolvable.get(context);\n };\n\n /**\n * Creates a template from a component's name\n *\n * This implements route-to-component.\n * It works by retrieving the component (directive) metadata from the injector.\n * It analyses the component's bindings, then constructs a template that instantiates the component.\n * The template wires input and output bindings to resolves or from the parent component.\n *\n * @param uiView {object} The parent ui-view (for binding outputs to callbacks)\n * @param context The ResolveContext (for binding outputs to callbacks returned from resolves)\n * @param component {string} Component's name in camel case.\n * @param bindings An object defining the component's bindings: {foo: '<'}\n * @return {string} The template as a string: \"\".\n */\n makeComponentTemplate(uiView: IAugmentedJQuery, context: ResolveContext, component: string, bindings?: any) {\n bindings = bindings || {};\n\n // Bind once prefix\n const prefix = angular.version.minor >= 3 ? \"::\" : \"\";\n // Convert to kebob name. Add x- prefix if the string starts with `x-` or `data-`\n const kebob = (camelCase: string) => {\n const kebobed = kebobString(camelCase);\n return /^(x|data)-/.exec(kebobed) ? `x-${kebobed}` : kebobed;\n };\n\n\n const attributeTpl = (input: BindingTuple) => {\n let { name, type } = input;\n let attrName = kebob(name);\n // If the ui-view has an attribute which matches a binding on the routed component\n // then pass that attribute through to the routed component template.\n // Prefer ui-view wired mappings to resolve data, unless the resolve was explicitly bound using `bindings:`\n if (uiView.attr(attrName) && !bindings[name])\n return `${attrName}='${uiView.attr(attrName)}'`;\n\n let resolveName = bindings[name] || name;\n // Pre-evaluate the expression for \"@\" bindings by enclosing in {{ }}\n // some-attr=\"{{ ::$resolve.someResolveName }}\"\n if (type === '@')\n return `${attrName}='{{${prefix}$resolve.${resolveName}}}'`;\n\n // Wire \"&\" callbacks to resolves that return a callback function\n // Get the result of the resolve (should be a function) and annotate it to get its arguments.\n // some-attr=\"$resolve.someResolveResultName(foo, bar)\"\n if (type === '&') {\n let res = context.getResolvable(resolveName);\n let fn = res && res.data;\n let args = fn && services.$injector.annotate(fn) || [];\n // account for array style injection, i.e., ['foo', function(foo) {}]\n let arrayIdxStr = isArray(fn) ? `[${fn.length - 1}]` : '';\n return `${attrName}='$resolve.${resolveName}${arrayIdxStr}(${args.join(\",\")})'`;\n }\n\n // some-attr=\"::$resolve.someResolveName\"\n return `${attrName}='${prefix}$resolve.${resolveName}'`;\n };\n\n let attrs = getComponentBindings(component).map(attributeTpl).join(\" \");\n let kebobName = kebob(component);\n return `<${kebobName} ${attrs}>`;\n };\n}\n\n// Gets all the directive(s)' inputs ('@', '=', and '<') and outputs ('&')\nfunction getComponentBindings(name: string) {\n let cmpDefs = services.$injector.get(name + \"Directive\"); // could be multiple\n if (!cmpDefs || !cmpDefs.length) throw new Error(`Unable to find component named '${name}'`);\n return cmpDefs.map(getBindings).reduce(unnestR, []);\n}\n\n// Given a directive definition, find its object input attributes\n// Use different properties, depending on the type of directive (component, bindToController, normal)\nconst getBindings = (def: any) => {\n if (isObject(def.bindToController)) return scopeBindings(def.bindToController);\n return scopeBindings(def.scope);\n};\n\ninterface BindingTuple {\n name: string;\n type: string;\n}\n\n// for ng 1.2 style, process the scope: { input: \"=foo\" }\n// for ng 1.3 through ng 1.5, process the component's bindToController: { input: \"=foo\" } object\nconst scopeBindings = (bindingsObj: Obj) => Object.keys(bindingsObj || {})\n // [ 'input', [ '=foo', '=', 'foo' ] ]\n .map(key => [key, /^([=<@&])[?]?(.*)/.exec(bindingsObj[key])])\n // skip malformed values\n .filter(tuple => isDefined(tuple) && isArray(tuple[1]))\n // { name: ('foo' || 'input'), type: '=' }\n .map(tuple => ({ name: tuple[1][2] || tuple[0], type: tuple[1][1] } as BindingTuple));\n\n","/**\n * # Angular 1 types\n *\n * UI-Router core provides various Typescript types which you can use for code completion and validating parameter values, etc.\n * The customizations to the core types for Angular UI-Router are documented here.\n *\n * The optional [[$resolve]] service is also documented here.\n *\n * @module ng1\n * @preferred\n */\n/** for typedoc */\nimport { ng as angular } from \"./angular\";\nimport {\n IRootScopeService, IQService, ILocationService, ILocationProvider, IHttpService, ITemplateCacheService\n} from \"angular\";\nimport {\n services, applyPairs, isString, trace, extend, UIRouter, StateService, UrlRouter, UrlMatcherFactory, ResolveContext,\n unnestR, TypedMap\n} from \"@uirouter/core\";\nimport { ng1ViewsBuilder, getNg1ViewConfigFactory } from \"./statebuilders/views\";\nimport { TemplateFactory } from \"./templateFactory\";\nimport { StateProvider } from \"./stateProvider\";\nimport { getStateHookBuilder } from \"./statebuilders/onEnterExitRetain\";\nimport { Ng1LocationServices } from \"./locationServices\";\nimport { UrlRouterProvider } from \"./urlRouterProvider\";\nimport IInjectorService = angular.auto.IInjectorService; // tslint:disable-line\n\nangular.module(\"ui.router.angular1\", []);\nlet mod_init = angular.module('ui.router.init', []);\nlet mod_util = angular.module('ui.router.util', ['ng', 'ui.router.init']);\nlet mod_rtr = angular.module('ui.router.router', ['ui.router.util']);\nlet mod_state = angular.module('ui.router.state', ['ui.router.router', 'ui.router.util', 'ui.router.angular1']);\nlet mod_main = angular.module('ui.router', ['ui.router.init', 'ui.router.state', 'ui.router.angular1']);\nlet mod_cmpt = angular.module('ui.router.compat', ['ui.router']); // tslint:disable-line\n\ndeclare module '@uirouter/core/lib/router' {\n interface UIRouter {\n /** @hidden */\n stateProvider: StateProvider;\n /** @hidden */\n urlRouterProvider: UrlRouterProvider;\n }\n}\n\nlet router: UIRouter = null;\n\n$uiRouter.$inject = ['$locationProvider'];\n/** This angular 1 provider instantiates a Router and exposes its services via the angular injector */\nfunction $uiRouter($locationProvider: ILocationProvider) {\n\n // Create a new instance of the Router when the $uiRouterProvider is initialized\n router = this.router = new UIRouter();\n router.stateProvider = new StateProvider(router.stateRegistry, router.stateService);\n\n // Apply ng1 specific StateBuilder code for `views`, `resolve`, and `onExit/Retain/Enter` properties\n router.stateRegistry.decorator(\"views\", ng1ViewsBuilder);\n router.stateRegistry.decorator(\"onExit\", getStateHookBuilder(\"onExit\"));\n router.stateRegistry.decorator(\"onRetain\", getStateHookBuilder(\"onRetain\"));\n router.stateRegistry.decorator(\"onEnter\", getStateHookBuilder(\"onEnter\"));\n\n router.viewService._pluginapi._viewConfigFactory('ng1', getNg1ViewConfigFactory());\n\n let ng1LocationService = router.locationService = router.locationConfig = new Ng1LocationServices($locationProvider);\n\n Ng1LocationServices.monkeyPatchPathParameterType(router);\n\n // backwards compat: also expose router instance as $uiRouterProvider.router\n router['router'] = router;\n router['$get'] = $get;\n $get.$inject = ['$location', '$browser', '$sniffer', '$rootScope', '$http', '$templateCache'];\n function $get($location: ILocationService, $browser: any, $sniffer: any, $rootScope: ng.IScope, $http: IHttpService, $templateCache: ITemplateCacheService) {\n ng1LocationService._runtimeServices($rootScope, $location, $sniffer, $browser);\n delete router['router'];\n delete router['$get'];\n return router;\n }\n return router;\n}\n\nconst getProviderFor = (serviceName) => [ '$uiRouterProvider', ($urp) => {\n let service = $urp.router[serviceName];\n service[\"$get\"] = () => service;\n return service;\n}];\n\n// This effectively calls $get() on `$uiRouterProvider` to trigger init (when ng enters runtime)\nrunBlock.$inject = ['$injector', '$q', '$uiRouter'];\nfunction runBlock($injector: IInjectorService, $q: IQService, $uiRouter: UIRouter) {\n services.$injector = $injector;\n services.$q = $q;\n\n // The $injector is now available.\n // Find any resolvables that had dependency annotation deferred\n $uiRouter.stateRegistry.get()\n .map(x => x.$$state().resolvables)\n .reduce(unnestR, [])\n .filter(x => x.deps === \"deferred\")\n .forEach(resolvable => resolvable.deps = $injector.annotate(resolvable.resolveFn));\n}\n\n// $urlRouter service and $urlRouterProvider\nconst getUrlRouterProvider = (uiRouter: UIRouter) =>\n uiRouter.urlRouterProvider = new UrlRouterProvider(uiRouter);\n\n// $state service and $stateProvider\n// $urlRouter service and $urlRouterProvider\nconst getStateProvider = () =>\n extend(router.stateProvider, { $get: () => router.stateService });\n\nwatchDigests.$inject = ['$rootScope'];\nexport function watchDigests($rootScope: IRootScopeService) {\n $rootScope.$watch(function() { trace.approximateDigests++; });\n}\n\nmod_init .provider(\"$uiRouter\", $uiRouter);\nmod_rtr .provider('$urlRouter', ['$uiRouterProvider', getUrlRouterProvider]);\nmod_util .provider('$urlService', getProviderFor('urlService'));\nmod_util .provider('$urlMatcherFactory', ['$uiRouterProvider', () => router.urlMatcherFactory]);\nmod_util .provider('$templateFactory', () => new TemplateFactory());\nmod_state.provider('$stateRegistry', getProviderFor('stateRegistry'));\nmod_state.provider('$uiRouterGlobals', getProviderFor('globals'));\nmod_state.provider('$transitions', getProviderFor('transitionService'));\nmod_state.provider('$state', ['$uiRouterProvider', getStateProvider]);\n\nmod_state.factory ('$stateParams', ['$uiRouter', ($uiRouter: UIRouter) => $uiRouter.globals.params]);\nmod_main .factory ('$view', () => router.viewService);\nmod_main .service (\"$trace\", () => trace);\n\nmod_main .run (watchDigests);\nmod_util .run (['$urlMatcherFactory', function ($urlMatcherFactory: UrlMatcherFactory) { }]);\nmod_state.run (['$state', function ($state: StateService) { }]);\nmod_rtr .run (['$urlRouter', function ($urlRouter: UrlRouter) { }]);\nmod_init .run (runBlock);\n\n/** @hidden TODO: find a place to move this */\nexport const getLocals = (ctx: ResolveContext): TypedMap => {\n let tokens = ctx.getTokens().filter(isString);\n\n let tuples = tokens .map(key => {\n let resolvable = ctx.getResolvable(key);\n let waitPolicy = ctx.getPolicy(resolvable).async;\n return [ key, waitPolicy === 'NOWAIT' ? resolvable.promise : resolvable.data ];\n });\n\n return tuples.reduce(applyPairs, {});\n};\n\n","/**\n * # Angular 1 Directives\n *\n * These are the directives included in UI-Router for Angular 1.\n * These directives are used in templates to create viewports and link/navigate to states.\n *\n * @ng1api\n * @preferred\n * @module directives\n */ /** for typedoc */\nimport { ng as angular } from \"../angular\";\nimport { IAugmentedJQuery, ITimeoutService, IScope, IInterpolateService } from \"angular\";\n\nimport {\n Obj, extend, forEach, tail, isString, isObject, isArray, parse, noop, unnestR, identity, uniqR, inArray, removeFrom,\n RawParams, PathNode, StateOrName, StateService, StateDeclaration, UIRouter\n} from \"@uirouter/core\";\nimport { UIViewData } from \"./viewDirective\";\n\n/** @hidden Used for typedoc */\nexport interface ng1_directive {}\n\n/** @hidden */\nfunction parseStateRef(ref: string) {\n let paramsOnly = ref.match(/^\\s*({[^}]*})\\s*$/), parsed;\n if (paramsOnly) ref = '(' + paramsOnly[1] + ')';\n\n parsed = ref.replace(/\\n/g, \" \").match(/^\\s*([^(]*?)\\s*(\\((.*)\\))?\\s*$/);\n if (!parsed || parsed.length !== 4) throw new Error(\"Invalid state ref '\" + ref + \"'\");\n return { state: parsed[1] || null, paramExpr: parsed[3] || null };\n}\n\n/** @hidden */\nfunction stateContext(el: IAugmentedJQuery) {\n let $uiView: UIViewData = (el.parent() as IAugmentedJQuery).inheritedData('$uiView');\n let path: PathNode[] = parse('$cfg.path')($uiView);\n return path ? tail(path).state.name : undefined;\n}\n\n/** @hidden */\nfunction processedDef($state: StateService, $element: IAugmentedJQuery, def: Def): Def {\n let uiState = def.uiState || $state.current.name;\n let uiStateOpts = extend(defaultOpts($element, $state), def.uiStateOpts || {});\n let href = $state.href(uiState, def.uiStateParams, uiStateOpts);\n return { uiState, uiStateParams: def.uiStateParams, uiStateOpts, href };\n}\n\n/** @hidden */\ninterface TypeInfo {\n attr: string;\n isAnchor: boolean;\n clickable: boolean;\n}\n\n/** @hidden */\nfunction getTypeInfo(el: IAugmentedJQuery): TypeInfo {\n // SVGAElement does not use the href attribute, but rather the 'xlinkHref' attribute.\n var isSvg = Object.prototype.toString.call(el.prop('href')) === '[object SVGAnimatedString]';\n var isForm = el[0].nodeName === \"FORM\";\n\n return {\n attr: isForm ? \"action\" : (isSvg ? 'xlink:href' : 'href'),\n isAnchor: el.prop(\"tagName\").toUpperCase() === \"A\",\n clickable: !isForm\n };\n}\n\n/** @hidden */\nfunction clickHook(el: IAugmentedJQuery, $state: StateService, $timeout: ITimeoutService, type: TypeInfo, getDef: () => Def) {\n return function (e: JQueryMouseEventObject) {\n var button = e.which || e.button, target = getDef();\n\n if (!(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey || el.attr('target'))) {\n // HACK: This is to allow ng-clicks to be processed before the transition is initiated:\n var transition = $timeout(function () {\n $state.go(target.uiState, target.uiStateParams, target.uiStateOpts);\n });\n e.preventDefault();\n\n // if the state has no URL, ignore one preventDefault from the directive.\n var ignorePreventDefaultCount = type.isAnchor && !target.href ? 1 : 0;\n\n e.preventDefault = function () {\n if (ignorePreventDefaultCount-- <= 0) $timeout.cancel(transition);\n };\n }\n };\n}\n\n/** @hidden */\nfunction defaultOpts(el: IAugmentedJQuery, $state: StateService) {\n return {\n relative: stateContext(el) || $state.$current,\n inherit: true,\n source: \"sref\"\n };\n}\n\n/** @hidden */\nfunction bindEvents(element: IAugmentedJQuery, scope: IScope, hookFn: (e: JQueryMouseEventObject) => void, uiStateOpts: any): void {\n let events;\n\n if (uiStateOpts) {\n events = uiStateOpts.events;\n }\n\n if (!isArray(events)) {\n events = ['click'];\n }\n\n let on = element.on ? 'on' : 'bind';\n for (let event of events) {\n element[on](event, hookFn);\n }\n\n scope.$on('$destroy', function() {\n let off = element.off ? 'off' : 'unbind';\n for (let event of events) {\n element[off](event, hookFn);\n }\n });\n}\n\n/**\n * `ui-sref`: A directive for linking to a state\n *\n * A directive which links to a state (and optionally, parameters).\n * When clicked, this directive activates the linked state with the supplied parameter values.\n *\n * ### Linked State\n * The attribute value of the `ui-sref` is the name of the state to link to.\n *\n * #### Example:\n * This will activate the `home` state when the link is clicked.\n * ```html\n * Home\n * ```\n *\n * ### Relative Links\n * You can also use relative state paths within `ui-sref`, just like a relative path passed to `$state.go()` ([[StateService.go]]).\n * You just need to be aware that the path is relative to the state that *created* the link.\n * This allows a state to create a relative `ui-sref` which always targets the same destination.\n *\n * #### Example:\n * Both these links are relative to the parent state, even when a child state is currently active.\n * ```html\n * child 1 state\n * child 2 state\n * ```\n *\n * This link activates the parent state.\n * ```html\n * Return\n * ```\n *\n * ### hrefs\n * If the linked state has a URL, the directive will automatically generate and\n * update the `href` attribute (using the [[StateService.href]] method).\n *\n * #### Example:\n * Assuming the `users` state has a url of `/users/`\n * ```html\n * Users\n * ```\n *\n * ### Parameter Values\n * In addition to the state name, a `ui-sref` can include parameter values which are applied when activating the state.\n * Param values can be provided in the `ui-sref` value after the state name, enclosed by parentheses.\n * The content inside the parentheses is an expression, evaluated to the parameter values.\n *\n * #### Example:\n * This example renders a list of links to users.\n * The state's `userId` parameter value comes from each user's `user.id` property.\n * ```html\n *
  • \n * {{ user.displayName }}\n *
  • \n * ```\n *\n * Note:\n * The parameter values expression is `$watch`ed for updates.\n *\n * ### Transition Options\n * You can specify [[TransitionOptions]] to pass to [[StateService.go]] by using the `ui-sref-opts` attribute.\n * Options are restricted to `location`, `inherit`, and `reload`.\n *\n * #### Example:\n * ```html\n * Home\n * ```\n *\n * ### Other DOM Events\n *\n * You can also customize which DOM events to respond to (instead of `click`) by\n * providing an `events` array in the `ui-sref-opts` attribute.\n *\n * #### Example:\n * ```html\n * \n * ```\n *\n * ### Highlighting the active link\n * This directive can be used in conjunction with [[uiSrefActive]] to highlight the active link.\n *\n * ### Examples\n * If you have the following template:\n *\n * ```html\n * Home\n * About\n * Next page\n *\n * \n * ```\n *\n * Then (assuming the current state is `contacts`) the rendered html including hrefs would be:\n *\n * ```html\n * Home\n * About\n * Next page\n *\n *
      \n *
    • \n * Joe\n *
    • \n *
    • \n * Alice\n *
    • \n *
    • \n * Bob\n *
    • \n *
    \n *\n * Home\n * ```\n *\n * ### Notes\n *\n * - You can use `ui-sref` to change **only the parameter values** by omitting the state name and parentheses.\n * #### Example:\n * Sets the `lang` parameter to `en` and remains on the same state.\n *\n * ```html\n * English\n * ```\n *\n * - A middle-click, right-click, or ctrl-click is handled (natively) by the browser to open the href in a new window, for example.\n *\n * - Unlike the parameter values expression, the state name is not `$watch`ed (for performance reasons).\n * If you need to dynamically update the state being linked to, use the fully dynamic [[uiState]] directive.\n */\nlet uiSref: ng1_directive;\nuiSref = ['$uiRouter', '$timeout',\n function $StateRefDirective($uiRouter: UIRouter, $timeout: ITimeoutService) {\n let $state = $uiRouter.stateService;\n\n return {\n restrict: 'A',\n require: ['?^uiSrefActive', '?^uiSrefActiveEq'],\n link: function (scope: IScope, element: IAugmentedJQuery, attrs: any, uiSrefActive: any) {\n let type = getTypeInfo(element);\n let active = uiSrefActive[1] || uiSrefActive[0];\n let unlinkInfoFn: Function = null;\n let hookFn;\n\n let rawDef = {} as Def;\n let getDef = () => processedDef($state, element, rawDef);\n\n let ref = parseStateRef(attrs.uiSref);\n rawDef.uiState = ref.state;\n rawDef.uiStateOpts = attrs.uiSrefOpts ? scope.$eval(attrs.uiSrefOpts) : {};\n\n function update() {\n let def = getDef();\n if (unlinkInfoFn) unlinkInfoFn();\n if (active) unlinkInfoFn = active.$$addStateInfo(def.uiState, def.uiStateParams);\n if (def.href != null) attrs.$set(type.attr, def.href);\n }\n\n if (ref.paramExpr) {\n scope.$watch(ref.paramExpr, function (val) {\n rawDef.uiStateParams = extend({}, val);\n update();\n }, true);\n rawDef.uiStateParams = extend({}, scope.$eval(ref.paramExpr));\n }\n\n update();\n\n scope.$on('$destroy', $uiRouter.stateRegistry.onStatesChanged(update));\n scope.$on('$destroy', $uiRouter.transitionService.onSuccess({}, update));\n\n if (!type.clickable) return;\n hookFn = clickHook(element, $state, $timeout, type, getDef);\n bindEvents(element, scope, hookFn, rawDef.uiStateOpts);\n }\n };\n }];\n\n/**\n * `ui-state`: A fully dynamic directive for linking to a state\n *\n * A directive which links to a state (and optionally, parameters).\n * When clicked, this directive activates the linked state with the supplied parameter values.\n *\n * **This directive is very similar to [[uiSref]], but it `$observe`s and `$watch`es/evaluates all its inputs.**\n *\n * A directive which links to a state (and optionally, parameters).\n * When clicked, this directive activates the linked state with the supplied parameter values.\n *\n * ### Linked State\n * The attribute value of `ui-state` is an expression which is `$watch`ed and evaluated as the state to link to.\n * **This is in contrast with `ui-sref`, which takes a state name as a string literal.**\n *\n * #### Example:\n * Create a list of links.\n * ```html\n *
  • \n * {{ link.displayName }}\n *
  • \n * ```\n *\n * ### Relative Links\n * If the expression evaluates to a relative path, it is processed like [[uiSref]].\n * You just need to be aware that the path is relative to the state that *created* the link.\n * This allows a state to create relative `ui-state` which always targets the same destination.\n *\n * ### hrefs\n * If the linked state has a URL, the directive will automatically generate and\n * update the `href` attribute (using the [[StateService.href]] method).\n *\n * ### Parameter Values\n * In addition to the state name expression, a `ui-state` can include parameter values which are applied when activating the state.\n * Param values should be provided using the `ui-state-params` attribute.\n * The `ui-state-params` attribute value is `$watch`ed and evaluated as an expression.\n *\n * #### Example:\n * This example renders a list of links with param values.\n * The state's `userId` parameter value comes from each user's `user.id` property.\n * ```html\n *
  • \n * {{ link.displayName }}\n *
  • \n * ```\n *\n * ### Transition Options\n * You can specify [[TransitionOptions]] to pass to [[StateService.go]] by using the `ui-state-opts` attribute.\n * Options are restricted to `location`, `inherit`, and `reload`.\n * The value of the `ui-state-opts` is `$watch`ed and evaluated as an expression.\n *\n * #### Example:\n * ```html\n * Home\n * ```\n *\n * ### Other DOM Events\n *\n * You can also customize which DOM events to respond to (instead of `click`) by\n * providing an `events` array in the `ui-state-opts` attribute.\n *\n * #### Example:\n * ```html\n * \n * ```\n *\n * ### Highlighting the active link\n * This directive can be used in conjunction with [[uiSrefActive]] to highlight the active link.\n *\n * ### Notes\n *\n * - You can use `ui-params` to change **only the parameter values** by omitting the state name and supplying only `ui-state-params`.\n * However, it might be simpler to use [[uiSref]] parameter-only links.\n *\n * #### Example:\n * Sets the `lang` parameter to `en` and remains on the same state.\n *\n * ```html\n * English\n * ```\n *\n * - A middle-click, right-click, or ctrl-click is handled (natively) by the browser to open the href in a new window, for example.\n * ```\n */\nlet uiState: ng1_directive;\nuiState = ['$uiRouter', '$timeout',\n function $StateRefDynamicDirective($uiRouter: UIRouter, $timeout: ITimeoutService) {\n let $state = $uiRouter.stateService;\n\n return {\n restrict: 'A',\n require: ['?^uiSrefActive', '?^uiSrefActiveEq'],\n link: function (scope: IScope, element: IAugmentedJQuery, attrs: any, uiSrefActive: any) {\n let type = getTypeInfo(element);\n let active = uiSrefActive[1] || uiSrefActive[0];\n let unlinkInfoFn: Function = null;\n let hookFn;\n\n let rawDef = {} as Def;\n let getDef = () => processedDef($state, element, rawDef);\n\n let inputAttrs = ['uiState', 'uiStateParams', 'uiStateOpts'];\n let watchDeregFns = inputAttrs.reduce((acc, attr) => (acc[attr] = noop, acc), {});\n\n function update() {\n let def = getDef();\n if (unlinkInfoFn) unlinkInfoFn();\n if (active) unlinkInfoFn = active.$$addStateInfo(def.uiState, def.uiStateParams);\n if (def.href != null) attrs.$set(type.attr, def.href);\n }\n\n inputAttrs.forEach((field) => {\n rawDef[field] = attrs[field] ? scope.$eval(attrs[field]) : null;\n\n attrs.$observe(field, (expr) => {\n watchDeregFns[field]();\n watchDeregFns[field] = scope.$watch(expr, (newval) => {\n rawDef[field] = newval;\n update();\n }, true);\n })\n });\n\n update();\n\n scope.$on('$destroy', $uiRouter.stateRegistry.onStatesChanged(update));\n scope.$on('$destroy', $uiRouter.transitionService.onSuccess({}, update));\n\n if (!type.clickable) return;\n hookFn = clickHook(element, $state, $timeout, type, getDef);\n bindEvents(element, scope, hookFn, rawDef.uiStateOpts);\n }\n };\n }];\n\n\n/**\n * `ui-sref-active` and `ui-sref-active-eq`: A directive that adds a CSS class when a `ui-sref` is active\n *\n * A directive working alongside [[uiSref]] and [[uiState]] to add classes to an element when the\n * related directive's state is active (and remove them when it is inactive).\n *\n * The primary use-case is to highlight the active link in navigation menus,\n * distinguishing it from the inactive menu items.\n *\n * ### Linking to a `ui-sref` or `ui-state`\n * `ui-sref-active` can live on the same element as `ui-sref`/`ui-state`, or it can be on a parent element.\n * If a `ui-sref-active` is a parent to more than one `ui-sref`/`ui-state`, it will apply the CSS class when **any of the links are active**.\n *\n * ### Matching\n *\n * The `ui-sref-active` directive applies the CSS class when the `ui-sref`/`ui-state`'s target state **or any child state is active**.\n * This is a \"fuzzy match\" which uses [[StateService.includes]].\n *\n * The `ui-sref-active-eq` directive applies the CSS class when the `ui-sref`/`ui-state`'s target state is directly active (not when child states are active).\n * This is an \"exact match\" which uses [[StateService.is]].\n *\n * ### Parameter values\n * If the `ui-sref`/`ui-state` includes parameter values, the current parameter values must match the link's values for the link to be highlighted.\n * This allows a list of links to the same state with different parameters to be rendered, and the correct one highlighted.\n *\n * #### Example:\n * ```html\n *
  • \n * {{ user.lastName }}\n *
  • \n * ```\n *\n * ### Examples\n *\n * Given the following template:\n * #### Example:\n * ```html\n * \n * ```\n *\n * When the app state is `app.user` (or any child state),\n * and contains the state parameter \"user\" with value \"bilbobaggins\",\n * the resulting HTML will appear as (note the 'active' class):\n *\n * ```html\n * \n * ```\n *\n * ### Glob mode\n *\n * It is possible to pass `ui-sref-active` an expression that evaluates to an object.\n * The objects keys represent active class names and values represent the respective state names/globs.\n * `ui-sref-active` will match if the current active state **includes** any of\n * the specified state names/globs, even the abstract ones.\n *\n * #### Example:\n * Given the following template, with \"admin\" being an abstract state:\n * ```html\n *
    \n * Roles\n *
    \n * ```\n *\n * When the current state is \"admin.roles\" the \"active\" class will be applied to both the
    and elements.\n * It is important to note that the state names/globs passed to `ui-sref-active` override any state provided by a linked `ui-sref`.\n *\n * ### Notes:\n *\n * - The class name is interpolated **once** during the directives link time (any further changes to the\n * interpolated value are ignored).\n *\n * - Multiple classes may be specified in a space-separated format: `ui-sref-active='class1 class2 class3'`\n */\nlet uiSrefActive: ng1_directive;\nuiSrefActive = ['$state', '$stateParams', '$interpolate', '$uiRouter',\n function $StateRefActiveDirective($state: StateService, $stateParams: Obj, $interpolate: IInterpolateService, $uiRouter: UIRouter) {\n return {\n restrict: \"A\",\n controller: ['$scope', '$element', '$attrs',\n function ($scope: IScope, $element: IAugmentedJQuery, $attrs: any) {\n let states: StateData[] = [],\n activeEqClass: string,\n uiSrefActive: any;\n\n // There probably isn't much point in $observing this\n // uiSrefActive and uiSrefActiveEq share the same directive object with some\n // slight difference in logic routing\n activeEqClass = $interpolate($attrs.uiSrefActiveEq || '', false)($scope);\n\n try {\n uiSrefActive = $scope.$eval($attrs.uiSrefActive);\n } catch (e) {\n // Do nothing. uiSrefActive is not a valid expression.\n // Fall back to using $interpolate below\n }\n uiSrefActive = uiSrefActive || $interpolate($attrs.uiSrefActive || '', false)($scope);\n if (isObject(uiSrefActive)) {\n forEach(uiSrefActive, function (stateOrName: StateOrName, activeClass: string) {\n if (isString(stateOrName)) {\n let ref = parseStateRef(stateOrName);\n addState(ref.state, $scope.$eval(ref.paramExpr), activeClass);\n }\n });\n }\n\n // Allow uiSref to communicate with uiSrefActive[Equals]\n this.$$addStateInfo = function (newState: string, newParams: Obj) {\n // we already got an explicit state provided by ui-sref-active, so we\n // shadow the one that comes from ui-sref\n if (isObject(uiSrefActive) && states.length > 0) {\n return;\n }\n let deregister = addState(newState, newParams, uiSrefActive);\n update();\n return deregister;\n };\n\n function updateAfterTransition(trans) {\n trans.promise.then(update);\n }\n\n $scope.$on('$stateChangeSuccess', update);\n $scope.$on('$destroy', $uiRouter.transitionService.onStart({}, updateAfterTransition));\n if ($uiRouter.globals.transition) {\n updateAfterTransition($uiRouter.globals.transition);\n }\n\n function addState(stateName: string, stateParams: Obj, activeClass: string) {\n var state = $state.get(stateName, stateContext($element));\n\n var stateInfo = {\n state: state || { name: stateName },\n params: stateParams,\n activeClass: activeClass\n };\n\n states.push(stateInfo);\n\n return function removeState() {\n removeFrom(states)(stateInfo);\n }\n }\n\n // Update route state\n function update() {\n const splitClasses = str =>\n str.split(/\\s/).filter(identity);\n const getClasses = (stateList: StateData[]) =>\n stateList.map(x => x.activeClass).map(splitClasses).reduce(unnestR, []);\n\n let allClasses = getClasses(states).concat(splitClasses(activeEqClass)).reduce(uniqR, []);\n let fuzzyClasses = getClasses(states.filter(x => $state.includes(x.state.name, x.params)));\n let exactlyMatchesAny = !!states.filter(x => $state.is(x.state.name, x.params)).length;\n let exactClasses = exactlyMatchesAny ? splitClasses(activeEqClass) : [];\n\n let addClasses = fuzzyClasses.concat(exactClasses).reduce(uniqR, []);\n let removeClasses = allClasses.filter(cls => !inArray(addClasses, cls));\n\n $scope.$evalAsync(() => {\n addClasses.forEach(className => $element.addClass(className));\n removeClasses.forEach(className => $element.removeClass(className));\n });\n }\n\n update();\n }]\n };\n }];\n\n/** @hidden */\ninterface Def { uiState: string; href: string; uiStateParams: Obj; uiStateOpts: any; }\n/** @hidden */\ninterface StateData { state: StateDeclaration; params: RawParams; activeClass: string; }\n\nangular.module('ui.router.state')\n .directive('uiSref', uiSref)\n .directive('uiSrefActive', uiSrefActive)\n .directive('uiSrefActiveEq', uiSrefActive)\n .directive('uiState', uiState);\n","/** @module ng1 */ /** for typedoc */\n\nimport { ng as angular } from \"./angular\";\nimport { Obj, StateService, StateOrName } from \"@uirouter/core\";\n\n/**\n * `isState` Filter: truthy if the current state is the parameter\n *\n * Translates to [[StateService.is]] `$state.is(\"stateName\")`.\n *\n * #### Example:\n * ```html\n *
    show if state is 'stateName'
    \n * ```\n */\n$IsStateFilter.$inject = ['$state'];\nexport function $IsStateFilter($state: StateService) {\n var isFilter: any = function(state: StateOrName, params: Obj, options?: { relative?: boolean }) {\n return $state.is(state, params, options);\n };\n isFilter.$stateful = true;\n return isFilter;\n}\n\n/**\n * `includedByState` Filter: truthy if the current state includes the parameter\n *\n * Translates to [[StateService.includes]]` $state.is(\"fullOrPartialStateName\")`.\n *\n * #### Example:\n * ```html\n *
    show if state includes 'fullOrPartialStateName'
    \n * ```\n */\n$IncludedByStateFilter.$inject = ['$state'];\nexport function $IncludedByStateFilter($state: StateService) {\n var includesFilter: any = function(state: StateOrName, params: Obj, options: Obj) {\n return $state.includes(state, params, options);\n };\n includesFilter.$stateful = true;\n return includesFilter;\n}\n\nangular.module('ui.router.state')\n .filter('isState', $IsStateFilter)\n .filter('includedByState', $IncludedByStateFilter);\n","/** \n * @ng1api \n * @module directives \n */ /** for typedoc */\nimport { ng as angular } from \"../angular\";\nimport {\n IInterpolateService, IScope, ITranscludeFunction, IAugmentedJQuery,\n ICompileService, IControllerService, ITimeoutService, noop\n} from \"angular\";\n\nimport {\n extend, unnestR, filter, tail, isDefined, isFunction, isString, trace, parse,\n ActiveUIView, TransitionService, ResolveContext, Transition, PathNode, StateDeclaration,\n Param, kebobString, HookRegOptions, ViewService, $QLike, Obj, TypedMap\n} from \"@uirouter/core\";\nimport {Ng1ViewConfig} from \"../statebuilders/views\";\nimport {Ng1Controller, Ng1StateDeclaration} from \"../interface\";\nimport {getLocals} from \"../services\";\nimport { ng1_directive } from \"./stateDirectives\";\n\n/** @hidden */\nexport type UIViewData = {\n $cfg: Ng1ViewConfig;\n $uiView: ActiveUIView;\n}\n\n/** @hidden */\nexport type UIViewAnimData = {\n $animEnter: Promise;\n $animLeave: Promise;\n $$animLeave: { resolve: () => any; } // \"deferred\"\n}\n\n/**\n * `ui-view`: A viewport directive which is filled in by a view from the active state.\n *\n * ### Attributes\n *\n * - `name`: (Optional) A view name.\n * The name should be unique amongst the other views in the same state.\n * You can have views of the same name that live in different states.\n * The ui-view can be targeted in a View using the name ([[Ng1StateDeclaration.views]]).\n *\n * - `autoscroll`: an expression. When it evaluates to true, the `ui-view` will be scrolled into view when it is activated.\n * Uses [[$uiViewScroll]] to do the scrolling.\n *\n * - `onload`: Expression to evaluate whenever the view updates.\n *\n * #### Example:\n * A view can be unnamed or named.\n * ```html\n * \n *
    \n *\n * \n *
    \n *\n * \n * \n * ```\n *\n * You can only have one unnamed view within any template (or root html). If you are only using a\n * single view and it is unnamed then you can populate it like so:\n *\n * ```html\n *
    \n * $stateProvider.state(\"home\", {\n * template: \"

    HELLO!

    \"\n * })\n * ```\n *\n * The above is a convenient shortcut equivalent to specifying your view explicitly with the\n * [[Ng1StateDeclaration.views]] config property, by name, in this case an empty name:\n *\n * ```js\n * $stateProvider.state(\"home\", {\n * views: {\n * \"\": {\n * template: \"

    HELLO!

    \"\n * }\n * }\n * })\n * ```\n *\n * But typically you'll only use the views property if you name your view or have more than one view\n * in the same template. There's not really a compelling reason to name a view if its the only one,\n * but you could if you wanted, like so:\n *\n * ```html\n *
    \n * ```\n *\n * ```js\n * $stateProvider.state(\"home\", {\n * views: {\n * \"main\": {\n * template: \"

    HELLO!

    \"\n * }\n * }\n * })\n * ```\n *\n * Really though, you'll use views to set up multiple views:\n *\n * ```html\n *
    \n *
    \n *
    \n * ```\n *\n * ```js\n * $stateProvider.state(\"home\", {\n * views: {\n * \"\": {\n * template: \"

    HELLO!

    \"\n * },\n * \"chart\": {\n * template: \"\"\n * },\n * \"data\": {\n * template: \"\"\n * }\n * }\n * })\n * ```\n *\n * #### Examples for `autoscroll`:\n * ```html\n * \n * \n *\n * \n * \n * \n * \n * ```\n *\n * Resolve data:\n *\n * The resolved data from the state's `resolve` block is placed on the scope as `$resolve` (this\n * can be customized using [[Ng1ViewDeclaration.resolveAs]]). This can be then accessed from the template.\n *\n * Note that when `controllerAs` is being used, `$resolve` is set on the controller instance *after* the\n * controller is instantiated. The `$onInit()` hook can be used to perform initialization code which\n * depends on `$resolve` data.\n *\n * #### Example:\n * ```js\n * $stateProvider.state('home', {\n * template: '',\n * resolve: {\n * user: function(UserService) { return UserService.fetchUser(); }\n * }\n * });\n * ```\n */\nexport let uiView: ng1_directive;\nuiView = ['$view', '$animate', '$uiViewScroll', '$interpolate', '$q',\nfunction $ViewDirective($view: ViewService, $animate: any, $uiViewScroll: any, $interpolate: IInterpolateService, $q: $QLike) {\n\n function getRenderer(attrs: Obj, scope: IScope) {\n return {\n enter: function(element: JQuery, target: any, cb: Function) {\n if (angular.version.minor > 2) {\n $animate.enter(element, null, target).then(cb);\n } else {\n $animate.enter(element, null, target, cb);\n }\n },\n leave: function(element: JQuery, cb: Function) {\n if (angular.version.minor > 2) {\n $animate.leave(element).then(cb);\n } else {\n $animate.leave(element, cb);\n }\n }\n };\n }\n\n function configsEqual(config1: Ng1ViewConfig, config2: Ng1ViewConfig) {\n return config1 === config2;\n }\n\n let rootData = {\n $cfg: { viewDecl: { $context: $view._pluginapi._rootViewContext() } },\n $uiView: { }\n };\n\n let directive = {\n count: 0,\n restrict: 'ECA',\n terminal: true,\n priority: 400,\n transclude: 'element',\n compile: function (tElement: JQuery, tAttrs: Obj, $transclude: ITranscludeFunction) {\n\n return function (scope: IScope, $element: IAugmentedJQuery, attrs: Obj) {\n let previousEl: JQuery, currentEl: JQuery,\n currentScope: IScope, unregister: Function,\n onloadExp = attrs['onload'] || '',\n autoScrollExp = attrs['autoscroll'],\n renderer = getRenderer(attrs, scope),\n viewConfig = undefined as Ng1ViewConfig,\n inherited = $element.inheritedData('$uiView') || rootData,\n name = $interpolate(attrs['uiView'] || attrs['name'] || '')(scope) || '$default';\n\n let activeUIView: ActiveUIView = {\n $type: 'ng1',\n id: directive.count++, // Global sequential ID for ui-view tags added to DOM\n name: name, // ui-view name (
    \n fqn: inherited.$uiView.fqn ? inherited.$uiView.fqn + \".\" + name : name, // fully qualified name, describes location in DOM\n config: null, // The ViewConfig loaded (from a state.views definition)\n configUpdated: configUpdatedCallback, // Called when the matching ViewConfig changes\n get creationContext() { // The context in which this ui-view \"tag\" was created\n let fromParentTagConfig = parse('$cfg.viewDecl.$context')(inherited);\n // Allow \n // See https://github.com/angular-ui/ui-router/issues/3355\n let fromParentTag = parse('$uiView.creationContext')(inherited);\n return fromParentTagConfig || fromParentTag;\n }\n };\n\n trace.traceUIViewEvent(\"Linking\", activeUIView);\n\n function configUpdatedCallback(config?: Ng1ViewConfig) {\n if (config && !(config instanceof Ng1ViewConfig)) return;\n if (configsEqual(viewConfig, config)) return;\n trace.traceUIViewConfigUpdated(activeUIView, config && config.viewDecl && config.viewDecl.$context);\n\n viewConfig = config;\n updateView(config);\n }\n\n $element.data('$uiView', { $uiView: activeUIView });\n\n updateView();\n\n unregister = $view.registerUIView(activeUIView);\n scope.$on(\"$destroy\", function() {\n trace.traceUIViewEvent(\"Destroying/Unregistering\", activeUIView);\n unregister();\n });\n\n function cleanupLastView() {\n if (previousEl) {\n trace.traceUIViewEvent(\"Removing (previous) el\", previousEl.data('$uiView'));\n previousEl.remove();\n previousEl = null;\n }\n\n if (currentScope) {\n trace.traceUIViewEvent(\"Destroying scope\", activeUIView);\n currentScope.$destroy();\n currentScope = null;\n }\n\n if (currentEl) {\n let _viewData = currentEl.data('$uiViewAnim');\n trace.traceUIViewEvent(\"Animate out\", _viewData);\n renderer.leave(currentEl, function() {\n _viewData.$$animLeave.resolve();\n previousEl = null;\n });\n\n previousEl = currentEl;\n currentEl = null;\n }\n }\n\n function updateView(config?: Ng1ViewConfig) {\n let newScope = scope.$new();\n let animEnter = $q.defer(), animLeave = $q.defer();\n\n let $uiViewData: UIViewData = {\n $cfg: config,\n $uiView: activeUIView,\n };\n\n let $uiViewAnim: UIViewAnimData = {\n $animEnter: animEnter.promise,\n $animLeave: animLeave.promise,\n $$animLeave: animLeave\n };\n\n /**\n * @ngdoc event\n * @name ui.router.state.directive:ui-view#$viewContentLoading\n * @eventOf ui.router.state.directive:ui-view\n * @eventType emits on ui-view directive scope\n * @description\n *\n * Fired once the view **begins loading**, *before* the DOM is rendered.\n *\n * @param {Object} event Event object.\n * @param {string} viewName Name of the view.\n */\n newScope.$emit('$viewContentLoading', name);\n\n let cloned = $transclude(newScope, function(clone) {\n clone.data('$uiViewAnim', $uiViewAnim);\n clone.data('$uiView', $uiViewData);\n renderer.enter(clone, $element, function onUIViewEnter() {\n animEnter.resolve();\n if (currentScope) currentScope.$emit('$viewContentAnimationEnded');\n\n if (isDefined(autoScrollExp) && !autoScrollExp || scope.$eval(autoScrollExp)) {\n $uiViewScroll(clone);\n }\n });\n\n cleanupLastView();\n });\n\n currentEl = cloned;\n currentScope = newScope;\n /**\n * @ngdoc event\n * @name ui.router.state.directive:ui-view#$viewContentLoaded\n * @eventOf ui.router.state.directive:ui-view\n * @eventType emits on ui-view directive scope\n * @description *\n * Fired once the view is **loaded**, *after* the DOM is rendered.\n *\n * @param {Object} event Event object.\n */\n currentScope.$emit('$viewContentLoaded', config || viewConfig);\n currentScope.$eval(onloadExp);\n }\n };\n }\n };\n\n return directive;\n}];\n\n$ViewDirectiveFill.$inject = ['$compile', '$controller', '$transitions', '$view', '$q', '$timeout'];\n/** @hidden */\nfunction $ViewDirectiveFill($compile: angular.ICompileService,\n $controller: angular.IControllerService,\n $transitions: TransitionService,\n $view: ViewService,\n $q: angular.IQService,\n $timeout: ITimeoutService) {\n const getControllerAs = parse('viewDecl.controllerAs');\n const getResolveAs = parse('viewDecl.resolveAs');\n\n return {\n restrict: 'ECA',\n priority: -400,\n compile: function (tElement: JQuery) {\n let initial = tElement.html();\n tElement.empty();\n\n return function (scope: IScope, $element: JQuery) {\n let data: UIViewData = $element.data('$uiView');\n if (!data) {\n $element.html(initial);\n $compile($element.contents())(scope);\n return;\n }\n\n let cfg: Ng1ViewConfig = data.$cfg || { viewDecl: {}, getTemplate: noop };\n let resolveCtx: ResolveContext = cfg.path && new ResolveContext(cfg.path);\n $element.html(cfg.getTemplate($element, resolveCtx) || initial);\n trace.traceUIViewFill(data.$uiView, $element.html());\n\n let link = $compile($element.contents());\n let controller = cfg.controller;\n let controllerAs: string = getControllerAs(cfg);\n let resolveAs: string = getResolveAs(cfg);\n let locals = resolveCtx && getLocals(resolveCtx);\n\n scope[resolveAs] = locals;\n\n if (controller) {\n let controllerInstance = $controller(controller, extend({}, locals, { $scope: scope, $element: $element }));\n if (controllerAs) {\n scope[controllerAs] = controllerInstance;\n scope[controllerAs][resolveAs] = locals;\n }\n\n // TODO: Use $view service as a central point for registering component-level hooks\n // Then, when a component is created, tell the $view service, so it can invoke hooks\n // $view.componentLoaded(controllerInstance, { $scope: scope, $element: $element });\n // scope.$on('$destroy', () => $view.componentUnloaded(controllerInstance, { $scope: scope, $element: $element }));\n\n $element.data('$ngControllerController', controllerInstance);\n $element.children().data('$ngControllerController', controllerInstance);\n\n registerControllerCallbacks($q, $transitions, controllerInstance, scope, cfg);\n }\n\n // Wait for the component to appear in the DOM\n if (isString(cfg.viewDecl.component)) {\n let cmp = cfg.viewDecl.component;\n let kebobName = kebobString(cmp);\n let tagRegexp = new RegExp(`^(x-|data-)?${kebobName}$`, \"i\");\n\n let getComponentController = () => {\n let directiveEl = [].slice.call($element[0].children)\n .filter((el: Element) => el && el.tagName && tagRegexp.exec(el.tagName)) ;\n \n return directiveEl && angular.element(directiveEl).data(`$${cmp}Controller`);\n };\n\n let deregisterWatch = scope.$watch(getComponentController, function(ctrlInstance) {\n if (!ctrlInstance) return;\n registerControllerCallbacks($q, $transitions, ctrlInstance, scope, cfg);\n deregisterWatch();\n });\n }\n\n link(scope);\n };\n }\n };\n}\n\n/** @hidden */\nlet hasComponentImpl = typeof (angular as any).module('ui.router')['component'] === 'function';\n/** @hidden incrementing id */\nlet _uiCanExitId = 0;\n\n/** @hidden TODO: move these callbacks to $view and/or `/hooks/components.ts` or something */\nfunction registerControllerCallbacks($q: angular.IQService,\n $transitions: TransitionService,\n controllerInstance: Ng1Controller,\n $scope: IScope,\n cfg: Ng1ViewConfig) {\n // Call $onInit() ASAP\n if (isFunction(controllerInstance.$onInit) && !(cfg.viewDecl.component && hasComponentImpl)) {\n controllerInstance.$onInit();\n }\n\n let viewState: Ng1StateDeclaration = tail(cfg.path).state.self;\n\n let hookOptions: HookRegOptions = { bind: controllerInstance };\n // Add component-level hook for onParamsChange\n if (isFunction(controllerInstance.uiOnParamsChanged)) {\n let resolveContext: ResolveContext = new ResolveContext(cfg.path);\n let viewCreationTrans = resolveContext.getResolvable('$transition$').data;\n\n // Fire callback on any successful transition\n const paramsUpdated = ($transition$: Transition) => {\n // Exit early if the $transition$ is the same as the view was created within.\n // Exit early if the $transition$ will exit the state the view is for.\n if ($transition$ === viewCreationTrans || $transition$.exiting().indexOf(viewState as StateDeclaration) !== -1) return;\n\n let toParams = $transition$.params(\"to\") as TypedMap;\n let fromParams = $transition$.params>(\"from\") as TypedMap;\n let toSchema: Param[] = $transition$.treeChanges().to.map((node: PathNode) => node.paramSchema).reduce(unnestR, []);\n let fromSchema: Param[] = $transition$.treeChanges().from.map((node: PathNode) => node.paramSchema).reduce(unnestR, []);\n\n // Find the to params that have different values than the from params\n let changedToParams = toSchema.filter((param: Param) => {\n let idx = fromSchema.indexOf(param);\n return idx === -1 || !fromSchema[idx].type.equals(toParams[param.id], fromParams[param.id]);\n });\n\n // Only trigger callback if a to param has changed or is new\n if (changedToParams.length) {\n let changedKeys: string[] = changedToParams.map(x => x.id);\n // Filter the params to only changed/new to params. `$transition$.params()` may be used to get all params.\n let newValues = filter(toParams, (val, key) => changedKeys.indexOf(key) !== -1);\n controllerInstance.uiOnParamsChanged(newValues, $transition$);\n }\n };\n $scope.$on('$destroy', $transitions.onSuccess({}, paramsUpdated, hookOptions));\n }\n\n // Add component-level hook for uiCanExit\n if (isFunction(controllerInstance.uiCanExit)) {\n let id = _uiCanExitId++;\n let cacheProp = '_uiCanExitIds';\n\n // Returns true if a redirect transition already answered truthy\n const prevTruthyAnswer = (trans: Transition) =>\n !!trans && (trans[cacheProp] && trans[cacheProp][id] === true || prevTruthyAnswer(trans.redirectedFrom()));\n\n // If a user answered yes, but the transition was later redirected, don't also ask for the new redirect transition\n const wrappedHook = (trans: Transition) => {\n let promise, ids = trans[cacheProp] = trans[cacheProp] || {};\n if (!prevTruthyAnswer(trans)) {\n promise = $q.when(controllerInstance.uiCanExit(trans));\n promise.then(val => ids[id] = (val !== false));\n }\n return promise;\n };\n\n let criteria = {exiting: viewState.name};\n $scope.$on('$destroy', $transitions.onBefore(criteria, wrappedHook, hookOptions));\n }\n}\n\nangular.module('ui.router.state').directive('uiView', uiView);\nangular.module('ui.router.state').directive('uiView', $ViewDirectiveFill);\n","/** @module ng1 */ /** */\nimport { ng as angular } from \"./angular\";\nimport { IServiceProviderFactory } from \"angular\";\nimport IAnchorScrollService = angular.IAnchorScrollService;\nimport ITimeoutService = angular.ITimeoutService;\n\nexport interface UIViewScrollProvider {\n /**\n * Uses standard anchorScroll behavior\n *\n * Reverts [[$uiViewScroll]] back to using the core [`$anchorScroll`](http://docs.angularjs.org/api/ng.$anchorScroll)\n * service for scrolling based on the url anchor.\n */\n useAnchorScroll(): void;\n}\n\n\n/** @hidden */\nfunction $ViewScrollProvider() {\n\n var useAnchorScroll = false;\n\n this.useAnchorScroll = function () {\n useAnchorScroll = true;\n };\n\n this.$get = ['$anchorScroll', '$timeout', function ($anchorScroll: IAnchorScrollService, $timeout: ITimeoutService): Function {\n if (useAnchorScroll) {\n return $anchorScroll;\n }\n\n return function ($element: JQuery) {\n return $timeout(function () {\n $element[0].scrollIntoView();\n }, 0, false);\n };\n }];\n}\n\nangular.module('ui.router.state').provider('$uiViewScroll', $ViewScrollProvider);\n",{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/glob.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateObject.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/coreservices.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/common/queue.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/rejectFactory.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/interface.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/targetState.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/transitionHook.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/path/pathNode.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/path/pathFactory.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/resolve/resolvable.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/resolve/interface.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/resolve/resolveContext.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/transition.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/params/paramTypes.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/params/stateParams.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateMatcher.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateQueueManager.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateRegistry.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlMatcherFactory.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlRule.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/view/view.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/globals.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/url/urlService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/router.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/redirectTo.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/resolve.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/views.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/updateGlobals.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/hooks/url.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/transitionEventType.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/transition/transitionService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/state/stateService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/q.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/injector.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/baseLocationService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/hashLocationService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/memoryLocationService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/pushStateLocationService.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/memoryLocationConfig.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/vanilla/browserLocationConfig.ts"},{"errno":-2,"code":"ENOENT","syscall":"open","path":"/Users/cthielen/projects/uirouter/angularjs/node_modules/@uirouter/core/src/interface.ts"},"/**\n * @hidden\n * @module ng1\n */ /** */\ndeclare var angular;\nimport * as ng_from_import from \"angular\";\nlet ng_from_global = angular;\n\nexport const ng = (ng_from_import && ng_from_import.module) ? ng_from_import : ng_from_global;\n","/** @module ng1 */ /** for typedoc */\nimport {\n val, isObject, createProxyFunctions, BuilderFunction, StateRegistry, StateService, OnInvalidCallback\n} from \"@uirouter/core\";\nimport { Ng1StateDeclaration } from \"./interface\";\n\n/**\n * The Angular 1 `StateProvider`\n *\n * The `$stateProvider` works similar to Angular's v1 router, but it focuses purely\n * on state.\n *\n * A state corresponds to a \"place\" in the application in terms of the overall UI and\n * navigation. A state describes (via the controller / template / view properties) what\n * the UI looks like and does at that place.\n *\n * States often have things in common, and the primary way of factoring out these\n * commonalities in this model is via the state hierarchy, i.e. parent/child states aka\n * nested states.\n *\n * The `$stateProvider` provides interfaces to declare these states for your app.\n */\nexport class StateProvider {\n constructor(private stateRegistry: StateRegistry, private stateService: StateService) {\n createProxyFunctions(val(StateProvider.prototype), this, val(this));\n }\n\n /**\n * Decorates states when they are registered\n *\n * Allows you to extend (carefully) or override (at your own peril) the\n * `stateBuilder` object used internally by [[StateRegistry]].\n * This can be used to add custom functionality to ui-router,\n * for example inferring templateUrl based on the state name.\n *\n * When passing only a name, it returns the current (original or decorated) builder\n * function that matches `name`.\n *\n * The builder functions that can be decorated are listed below. Though not all\n * necessarily have a good use case for decoration, that is up to you to decide.\n *\n * In addition, users can attach custom decorators, which will generate new\n * properties within the state's internal definition. There is currently no clear\n * use-case for this beyond accessing internal states (i.e. $state.$current),\n * however, expect this to become increasingly relevant as we introduce additional\n * meta-programming features.\n *\n * **Warning**: Decorators should not be interdependent because the order of\n * execution of the builder functions in non-deterministic. Builder functions\n * should only be dependent on the state definition object and super function.\n *\n *\n * Existing builder functions and current return values:\n *\n * - **parent** `{object}` - returns the parent state object.\n * - **data** `{object}` - returns state data, including any inherited data that is not\n * overridden by own values (if any).\n * - **url** `{object}` - returns a {@link ui.router.util.type:UrlMatcher UrlMatcher}\n * or `null`.\n * - **navigable** `{object}` - returns closest ancestor state that has a URL (aka is\n * navigable).\n * - **params** `{object}` - returns an array of state params that are ensured to\n * be a super-set of parent's params.\n * - **views** `{object}` - returns a views object where each key is an absolute view\n * name (i.e. \"viewName@stateName\") and each value is the config object\n * (template, controller) for the view. Even when you don't use the views object\n * explicitly on a state config, one is still created for you internally.\n * So by decorating this builder function you have access to decorating template\n * and controller properties.\n * - **ownParams** `{object}` - returns an array of params that belong to the state,\n * not including any params defined by ancestor states.\n * - **path** `{string}` - returns the full path from the root down to this state.\n * Needed for state activation.\n * - **includes** `{object}` - returns an object that includes every state that\n * would pass a `$state.includes()` test.\n *\n * #### Example:\n * Override the internal 'views' builder with a function that takes the state\n * definition, and a reference to the internal function being overridden:\n * ```js\n * $stateProvider.decorator('views', function (state, parent) {\n * let result = {},\n * views = parent(state);\n *\n * angular.forEach(views, function (config, name) {\n * let autoName = (state.name + '.' + name).replace('.', '/');\n * config.templateUrl = config.templateUrl || '/partials/' + autoName + '.html';\n * result[name] = config;\n * });\n * return result;\n * });\n *\n * $stateProvider.state('home', {\n * views: {\n * 'contact.list': { controller: 'ListController' },\n * 'contact.item': { controller: 'ItemController' }\n * }\n * });\n * ```\n *\n *\n * ```js\n * // Auto-populates list and item views with /partials/home/contact/list.html,\n * // and /partials/home/contact/item.html, respectively.\n * $state.go('home');\n * ```\n *\n * @param {string} name The name of the builder function to decorate.\n * @param {object} func A function that is responsible for decorating the original\n * builder function. The function receives two parameters:\n *\n * - `{object}` - state - The state config object.\n * - `{object}` - super - The original builder function.\n *\n * @return {object} $stateProvider - $stateProvider instance\n */\n decorator(name: string, func: BuilderFunction) {\n return this.stateRegistry.decorator(name, func) || this;\n }\n\n /**\n * Registers a state\n *\n * ### This is a passthrough to [[StateRegistry.register]].\n *\n * Registers a state configuration under a given state name.\n * The stateConfig object has the following acceptable properties.\n *\n *
    \n *\n * - **`template`** - {string|function=} - html template as a string or a function that returns\n * an html template as a string which should be used by the uiView directives. This property\n * takes precedence over templateUrl.\n *\n * If `template` is a function, it will be called with the following parameters:\n *\n * - {array.<object>} - state parameters extracted from the current $location.path() by\n * applying the current state\n *\n * \n *\n * - **`templateUrl`** - {string|function=} - path or function that returns a path to an html\n * template that should be used by uiView.\n *\n * If `templateUrl` is a function, it will be called with the following parameters:\n *\n * - {array.<object>} - state parameters extracted from the current $location.path() by\n * applying the current state\n *\n * \n *\n * - **`templateProvider`** - {function=} - Provider function that returns HTML content\n * string.\n *\n * \n *\n * - **`controller`** - {string|function=} - Controller fn that should be associated with newly\n * related scope or the name of a registered controller if passed as a string.\n *\n * \n *\n * - **`controllerProvider`** - {function=} - Injectable provider function that returns\n * the actual controller or string.\n *\n * \n *\n * - **`controllerAs`** – {string=} – A controller alias name. If present the controller will be\n * published to scope under the controllerAs name.\n *\n * \n *\n * - **`resolve`** - {object.<string, function>=} - An optional map of dependencies which\n * should be injected into the controller. If any of these dependencies are promises,\n * the router will wait for them all to be resolved or one to be rejected before the\n * controller is instantiated. If all the promises are resolved successfully, the values\n * of the resolved promises are injected and $stateChangeSuccess event is fired. If any\n * of the promises are rejected the $stateChangeError event is fired. The map object is:\n *\n * - key - {string}: name of dependency to be injected into controller\n * - factory - {string|function}: If string then it is alias for service. Otherwise if function,\n * it is injected and return value it treated as dependency. If result is a promise, it is\n * resolved before its value is injected into controller.\n *\n * \n *\n * - **`url`** - {string=} - A url with optional parameters. When a state is navigated or\n * transitioned to, the `$stateParams` service will be populated with any\n * parameters that were passed.\n *\n * \n *\n * - **`params`** - {object=} - An array of parameter names or regular expressions. Only\n * use this within a state if you are not using url. Otherwise you can specify your\n * parameters within the url. When a state is navigated or transitioned to, the\n * $stateParams service will be populated with any parameters that were passed.\n *\n * \n *\n * - **`views`** - {object=} - Use the views property to set up multiple views or to target views\n * manually/explicitly.\n *\n * \n *\n * - **`abstract`** - {boolean=} - An abstract state will never be directly activated,\n * but can provide inherited properties to its common children states.\n *\n * \n *\n * - **`onEnter`** - {object=} - Callback function for when a state is entered. Good way\n * to trigger an action or dispatch an event, such as opening a dialog.\n * If minifying your scripts, make sure to use the `['injection1', 'injection2', function(injection1, injection2){}]` syntax.\n *\n * \n *\n * - **`onExit`** - {object=} - Callback function for when a state is exited. Good way to\n * trigger an action or dispatch an event, such as opening a dialog.\n * If minifying your scripts, make sure to use the `['injection1', 'injection2', function(injection1, injection2){}]` syntax.\n *\n * \n *\n * - **`reloadOnSearch = true`** - {boolean=} - If `false`, will not retrigger the same state\n * just because a search/query parameter has changed (via $location.search() or $location.hash()).\n * Useful for when you'd like to modify $location.search() without triggering a reload.\n *\n * \n *\n * - **`data`** - {object=} - Arbitrary data object, useful for custom configuration.\n *\n * #### Example:\n * Some state name examples\n * ```js\n * // stateName can be a single top-level name (must be unique).\n * $stateProvider.state(\"home\", {});\n *\n * // Or it can be a nested state name. This state is a child of the\n * // above \"home\" state.\n * $stateProvider.state(\"home.newest\", {});\n *\n * // Nest states as deeply as needed.\n * $stateProvider.state(\"home.newest.abc.xyz.inception\", {});\n *\n * // state() returns $stateProvider, so you can chain state declarations.\n * $stateProvider\n * .state(\"home\", {})\n * .state(\"about\", {})\n * .state(\"contacts\", {});\n * ```\n *\n * @param {string} name A unique state name, e.g. \"home\", \"about\", \"contacts\".\n * To create a parent/child state use a dot, e.g. \"about.sales\", \"home.newest\".\n * @param {object} definition State configuration object.\n */\n state(name: string, definition: Ng1StateDeclaration): StateProvider;\n state(definition: Ng1StateDeclaration): StateProvider;\n state(name: any, definition?: any) {\n if (isObject(name)) {\n definition = name;\n } else {\n definition.name = name;\n }\n this.stateRegistry.register(definition);\n return this;\n }\n\n /**\n * Registers an invalid state handler\n *\n * This is a passthrough to [[StateService.onInvalid]] for ng1.\n */\n\n onInvalid(callback: OnInvalidCallback): Function {\n return this.stateService.onInvalid(callback);\n }\n}\n","/** @module ng1 */ /** */\nimport {\n StateObject, TransitionStateHookFn, HookResult, Transition, services, ResolveContext, extend, BuilderFunction\n} from \"@uirouter/core\";\nimport { getLocals } from \"../services\";\nimport { Ng1StateDeclaration } from '../interface';\n\n/**\n * This is a [[StateBuilder.builder]] function for angular1 `onEnter`, `onExit`,\n * `onRetain` callback hooks on a [[Ng1StateDeclaration]].\n *\n * When the [[StateBuilder]] builds a [[StateObject]] object from a raw [[StateDeclaration]], this builder\n * ensures that those hooks are injectable for @uirouter/angularjs (ng1).\n */\nexport const getStateHookBuilder = (hookName: \"onEnter\"|\"onExit\"|\"onRetain\") =>\nfunction stateHookBuilder(state: StateObject, parentFn: BuilderFunction): TransitionStateHookFn {\n let hook = state[hookName];\n let pathname = hookName === 'onExit' ? 'from' : 'to';\n\n function decoratedNg1Hook(trans: Transition, state: Ng1StateDeclaration): HookResult {\n let resolveContext = new ResolveContext(trans.treeChanges(pathname));\n let locals = extend(getLocals(resolveContext), { $state$: state, $transition$: trans });\n return services.$injector.invoke(hook, this, locals);\n }\n\n return hook ? decoratedNg1Hook : undefined;\n};\n","/**\n * @internalapi\n * @module ng1\n */ /** */\nimport { LocationConfig, LocationServices, UIRouter, ParamType } from \"@uirouter/core\";\nimport { val, createProxyFunctions, removeFrom, isObject } from \"@uirouter/core\";\nimport { ILocationService, ILocationProvider } from \"angular\";\n\n/**\n * Implements UI-Router LocationServices and LocationConfig using Angular 1's $location service\n */\nexport class Ng1LocationServices implements LocationConfig, LocationServices {\n private $locationProvider: ILocationProvider;\n private $location: ILocationService;\n private $sniffer;\n\n path;\n search;\n hash;\n hashPrefix;\n port;\n protocol;\n host;\n baseHref;\n\n // .onChange() registry\n private _urlListeners: Function[] = [];\n\n dispose() { }\n\n constructor($locationProvider: ILocationProvider) {\n this.$locationProvider = $locationProvider;\n let _lp = val($locationProvider);\n createProxyFunctions(_lp, this, _lp, ['hashPrefix']);\n }\n\n onChange(callback: Function) {\n this._urlListeners.push(callback);\n return () => removeFrom(this._urlListeners)(callback);\n }\n\n html5Mode() {\n let html5Mode: any = this.$locationProvider.html5Mode();\n html5Mode = isObject(html5Mode) ? html5Mode.enabled : html5Mode;\n return html5Mode && this.$sniffer.history;\n }\n\n url(newUrl?: string, replace = false, state?) {\n if (newUrl) this.$location.url(newUrl);\n if (replace) this.$location.replace();\n if (state) this.$location.state(state);\n return this.$location.url();\n }\n\n _runtimeServices($rootScope, $location: ILocationService, $sniffer, $browser) {\n this.$location = $location;\n this.$sniffer = $sniffer;\n\n // Bind $locationChangeSuccess to the listeners registered in LocationService.onChange\n $rootScope.$on(\"$locationChangeSuccess\", evt => this._urlListeners.forEach(fn => fn(evt)));\n let _loc = val($location);\n let _browser = val($browser);\n\n // Bind these LocationService functions to $location\n createProxyFunctions(_loc, this, _loc, [\"replace\", \"path\", \"search\", \"hash\"]);\n // Bind these LocationConfig functions to $location\n createProxyFunctions(_loc, this, _loc, ['port', 'protocol', 'host']);\n // Bind these LocationConfig functions to $browser\n createProxyFunctions(_browser, this, _browser, ['baseHref']);\n }\n\n /**\n * Applys ng1-specific path parameter encoding\n *\n * The Angular 1 `$location` service is a bit weird.\n * It doesn't allow slashes to be encoded/decoded bi-directionally.\n *\n * See the writeup at https://github.com/angular-ui/ui-router/issues/2598\n *\n * This code patches the `path` parameter type so it encoded/decodes slashes as ~2F\n *\n * @param router\n */\n static monkeyPatchPathParameterType(router: UIRouter) {\n let pathType: ParamType = router.urlMatcherFactory.type('path');\n\n pathType.encode = (val: any) =>\n val != null ? val.toString().replace(/(~|\\/)/g, m => ({ '~': '~~', '/': '~2F' }[m])) : val;\n\n pathType.decode = (val: string) =>\n val != null ? val.toString().replace(/(~~|~2F)/g, m => ({ '~~': '~', '~2F': '/' }[m])) : val;\n\n }\n}\n","/** @module url */ /** */\nimport {\n UIRouter, UrlRouter, LocationServices, $InjectorLike, BaseUrlRule, UrlRuleHandlerFn, UrlMatcher,\n IInjectable\n} from \"@uirouter/core\";\nimport { services, isString, isFunction, isArray, identity } from \"@uirouter/core\";\n\nexport interface RawNg1RuleFunction {\n ($injector: $InjectorLike, $location: LocationServices): string|void;\n}\n\n/**\n * Manages rules for client-side URL\n *\n * ### Deprecation warning:\n * This class is now considered to be an internal API\n * Use the [[UrlService]] instead.\n * For configuring URL rules, use the [[UrlRulesApi]] which can be found as [[UrlService.rules]].\n *\n * This class manages the router rules for what to do when the URL changes.\n *\n * This provider remains for backwards compatibility.\n *\n * @deprecated\n */\nexport class UrlRouterProvider {\n /** @hidden */ _router: UIRouter;\n /** @hidden */ _urlRouter: UrlRouter;\n\n /** @hidden */\n constructor(router: UIRouter) {\n this._router = router;\n this._urlRouter = router.urlRouter;\n }\n\n /** @hidden */\n $get() {\n let urlRouter = this._urlRouter;\n urlRouter.update(true);\n if (!urlRouter.interceptDeferred) urlRouter.listen();\n return urlRouter;\n }\n\n /**\n * Registers a url handler function.\n *\n * Registers a low level url handler (a `rule`).\n * A rule detects specific URL patterns and returns a redirect, or performs some action.\n *\n * If a rule returns a string, the URL is replaced with the string, and all rules are fired again.\n *\n * #### Example:\n * ```js\n * var app = angular.module('app', ['ui.router.router']);\n *\n * app.config(function ($urlRouterProvider) {\n * // Here's an example of how you might allow case insensitive urls\n * $urlRouterProvider.rule(function ($injector, $location) {\n * var path = $location.path(),\n * normalized = path.toLowerCase();\n *\n * if (path !== normalized) {\n * return normalized;\n * }\n * });\n * });\n * ```\n *\n * @param ruleFn\n * Handler function that takes `$injector` and `$location` services as arguments.\n * You can use them to detect a url and return a different url as a string.\n *\n * @return [[UrlRouterProvider]] (`this`)\n */\n rule(ruleFn: RawNg1RuleFunction): UrlRouterProvider {\n if (!isFunction(ruleFn)) throw new Error(\"'rule' must be a function\");\n\n const match = () =>\n ruleFn(services.$injector, this._router.locationService);\n\n let rule = new BaseUrlRule(match, identity);\n this._urlRouter.rule(rule);\n return this;\n };\n\n /**\n * Defines the path or behavior to use when no url can be matched.\n *\n * #### Example:\n * ```js\n * var app = angular.module('app', ['ui.router.router']);\n *\n * app.config(function ($urlRouterProvider) {\n * // if the path doesn't match any of the urls you configured\n * // otherwise will take care of routing the user to the\n * // specified url\n * $urlRouterProvider.otherwise('/index');\n *\n * // Example of using function rule as param\n * $urlRouterProvider.otherwise(function ($injector, $location) {\n * return '/a/valid/url';\n * });\n * });\n * ```\n *\n * @param rule\n * The url path you want to redirect to or a function rule that returns the url path or performs a `$state.go()`.\n * The function version is passed two params: `$injector` and `$location` services, and should return a url string.\n *\n * @return {object} `$urlRouterProvider` - `$urlRouterProvider` instance\n */\n otherwise(rule: string | RawNg1RuleFunction): UrlRouterProvider {\n let urlRouter = this._urlRouter;\n\n if (isString(rule)) {\n urlRouter.otherwise(rule);\n } else if (isFunction(rule)) {\n urlRouter.otherwise(() => rule(services.$injector, this._router.locationService));\n } else {\n throw new Error(\"'rule' must be a string or function\");\n }\n\n return this;\n };\n\n /**\n * Registers a handler for a given url matching.\n *\n * If the handler is a string, it is\n * treated as a redirect, and is interpolated according to the syntax of match\n * (i.e. like `String.replace()` for `RegExp`, or like a `UrlMatcher` pattern otherwise).\n *\n * If the handler is a function, it is injectable.\n * It gets invoked if `$location` matches.\n * You have the option of inject the match object as `$match`.\n *\n * The handler can return\n *\n * - **falsy** to indicate that the rule didn't match after all, then `$urlRouter`\n * will continue trying to find another one that matches.\n * - **string** which is treated as a redirect and passed to `$location.url()`\n * - **void** or any **truthy** value tells `$urlRouter` that the url was handled.\n *\n * #### Example:\n * ```js\n * var app = angular.module('app', ['ui.router.router']);\n *\n * app.config(function ($urlRouterProvider) {\n * $urlRouterProvider.when($state.url, function ($match, $stateParams) {\n * if ($state.$current.navigable !== state ||\n * !equalForKeys($match, $stateParams) {\n * $state.transitionTo(state, $match, false);\n * }\n * });\n * });\n * ```\n *\n * @param what A pattern string to match, compiled as a [[UrlMatcher]].\n * @param handler The path (or function that returns a path) that you want to redirect your user to.\n * @param ruleCallback [optional] A callback that receives the `rule` registered with [[UrlMatcher.rule]]\n *\n * Note: the handler may also invoke arbitrary code, such as `$state.go()`\n */\n when(what: (RegExp|UrlMatcher|string), handler: string|IInjectable) {\n if (isArray(handler) || isFunction(handler)) {\n handler = UrlRouterProvider.injectableHandler(this._router, handler);\n }\n\n this._urlRouter.when(what, handler as any);\n return this;\n };\n\n static injectableHandler(router: UIRouter, handler): UrlRuleHandlerFn {\n return match =>\n services.$injector.invoke(handler, null, { $match: match, $stateParams: router.globals.params });\n }\n\n /**\n * Disables monitoring of the URL.\n *\n * Call this method before UI-Router has bootstrapped.\n * It will stop UI-Router from performing the initial url sync.\n *\n * This can be useful to perform some asynchronous initialization before the router starts.\n * Once the initialization is complete, call [[listen]] to tell UI-Router to start watching and synchronizing the URL.\n *\n * #### Example:\n * ```js\n * var app = angular.module('app', ['ui.router']);\n *\n * app.config(function ($urlRouterProvider) {\n * // Prevent $urlRouter from automatically intercepting URL changes;\n * $urlRouterProvider.deferIntercept();\n * })\n *\n * app.run(function (MyService, $urlRouter, $http) {\n * $http.get(\"/stuff\").then(function(resp) {\n * MyService.doStuff(resp.data);\n * $urlRouter.listen();\n * $urlRouter.sync();\n * });\n * });\n * ```\n *\n * @param defer Indicates whether to defer location change interception.\n * Passing no parameter is equivalent to `true`.\n */\n deferIntercept(defer?: boolean) {\n this._urlRouter.deferIntercept(defer);\n };\n}\n","/**\n * Main entry point for angular 1.x build\n * @module ng1\n */ /** */\n\nimport * as core from \"@uirouter/core\";\nexport { core };\nexport * from \"@uirouter/core\";\n\nexport * from \"./interface\";\nexport * from \"./services\";\nexport * from \"./statebuilders/views\";\nexport * from \"./stateProvider\";\nexport * from \"./urlRouterProvider\";\n\nimport \"./injectables\";\nimport \"./directives/stateDirectives\";\nimport \"./stateFilters\";\nimport \"./directives/viewDirective\";\nimport \"./viewScroll\";\n\nexport default \"ui.router\";\n"],"names":["fn","args","length","func_args_length","apply","curried","concat","slice","arguments","initial_args","start","i","result","this","call","_i","funcs","compose","reverse","fn1","fn2","fnName","obj","struct","x","val","isArray","head","tail","filter","not","isString","isFunction","source","target","bind","fnNames","latebind","bindFunction","makeLateRebindFn","Object","keys","reduce","acc","name","array","indexOf","idx","splice","arr","push","opts","defaultsList","_defaultsList","defaultVals","extend","pick","first","second","path","n","propNames","objCopy","prop_1","inArray","key","collection","propName","map","prop","callback","accept","forEach","item","predicateOrMap","errMsg","Error","maxArrayLen","min","Math","memo","keyValTuple","value","undefined","src","dest","cb","_this","toObj","j","o1","o2","t1","tup","all","_arraysEq","isDate","getTime","isRegExp","toString","any","b","_equals","a1","a2","arrayTuples","t","viewData","id","creationContext","fqn","input","isNumber","Category","state","criterion","_state","globStrings","toMatch","glob","Glob","matches","matchGlobs","registry","transitionService","eventType","matchObject","options","registeredHook","RegisteredHook","hooks","_deregistered","removeFrom","_registeredHooks","hookRegistrationFn","reverseDepthSort","l","r","factor","depthDelta","node","hook","priority","type","mode","isDefined","allTruthyMode","arrayWrap","arrayUnwrap","val1","val2","left","right","paramTypeFn","wrapperFn","arrayEqualsHandler","arrayHandler","dynamic","pattern","inherit","is","$arrayMode","cfg","isShorthand","getStaticDefaultValue","$$fn","isInjectable","urlType","location","paramTypes","DefType","CONFIG","PATH","SEARCH","ParamType","config","isOptional","defaultPolicy","squash","arrayMode","replace","configuredKeys","from","to","max","str","substr","camelCase","$1","toLowerCase","fnStr","fnToString","namedFunctionMatch","match","toStr","_fn","o","isObject","seen","stringifyPattern","JSON","stringify","format","delim","re","RegExp","split","identity","pushR","self","$$state","parent","data","includes","annotate","$injector","services","strictDi","isResolveLiteral","token","resolveFn","isLikeNg2Provider","provide","useValue","useFactory","useExisting","useClass","isTupleFromObj","p","literal2Resolvable","Resolvable","deps","policy","dependencies","tuple2Resolvable","pipe","tuple","item2Resolvable","decl","resolve","resolveObj","resolvePolicies","resolvePolicy","string","param","surroundPattern","url","isHtml5","absolute","baseHref","handler","TargetState","isDef","trans","addResolvable","UIRouter","router","Transition","params","entering","hookName","transition","hookFn","Array","states","stateRegistry","register","lazyLoadFn","lazyLoad","promise","success","error","err","$q","reject","when","then","updateStateRegistry","ignoredReason","_ignoredReason","trace","traceTransitionIgnored","pending","globals","abort","Rejection","ignored","toPromise","valid","orEmptyString","_a","beforehash","hash","_b","search","serviceClass","configurationClass","dispose","service","configuration","locationService","locationConfig","templateFactory","view","get","Ng1ViewConfig","tplKeys","ctrlKeys","compKeys","nonCompKeys","allViewKeys","views","hasAnyKey","join","viewsObject","$default","component","resolveAs","$type","$context","$name","normalized","ViewService","normalizeUIViewTarget","$uiViewName","uiViewName","$uiViewContextAnchor","uiViewContextAnchor","cmpDefs","getBindings","unnestR","$locationProvider","$location","$browser","$sniffer","$rootScope","$http","$templateCache","ng1LocationService","_runtimeServices","stateProvider","StateProvider","stateService","decorator","ng1ViewsBuilder","getStateHookBuilder","viewService","_pluginapi","_viewConfigFactory","getNg1ViewConfigFactory","Ng1LocationServices","monkeyPatchPathParameterType","$get","$inject","$uiRouter","resolvables","resolvable","$watch","approximateDigests","ref","parsed","paramsOnly","paramExpr","el","$uiView","inheritedData","parse","$state","$element","def","uiState","current","uiStateOpts","defaultOpts","href","uiStateParams","isSvg","prototype","isForm","nodeName","attr","isAnchor","toUpperCase","clickable","$timeout","getDef","e","button","which","ctrlKey","metaKey","shiftKey","go","preventDefault","ignorePreventDefaultCount","cancel","relative","stateContext","$current","element","scope","events","on","events_1","event_1","$on","off","events_2","event_2","isFilter","$stateful","includesFilter","$compile","$controller","$transitions","$view","getControllerAs","getResolveAs","restrict","compile","tElement","initial","html","empty","contents","$cfg","viewDecl","getTemplate","noop","resolveCtx","ResolveContext","traceUIViewFill","link","controller","controllerAs","locals","getLocals","controllerInstance","$scope","children","registerControllerCallbacks","cmp_1","kebobName","kebobString","tagRegexp_1","getComponentController","directiveEl","tagName","exec","angular","deregisterWatch_1","ctrlInstance","$onInit","hasComponentImpl","viewState","hookOptions","uiOnParamsChanged","resolveContext","viewCreationTrans_1","getResolvable","paramsUpdated","$transition$","exiting","toParams","fromParams","toSchema","treeChanges","paramSchema","fromSchema","changedToParams","equals","changedKeys_1","newValues","onSuccess","uiCanExit","id_1","_uiCanExitId","prevTruthyAnswer_1","redirectedFrom","wrappedHook","ids","criteria","onBefore","useAnchorScroll","$anchorScroll","scrollIntoView","propEq","curry","ctor","constructor","eq","other","v","text","regexpString","seg","regexp","test","StateObject","create","stateDecl","isStateClass","__stateObjectCache","nameGlob","fromString","root","defaults","matchingKeys","parameters","values","hasOwnProperty","parameter","find","tis","isUndefined","isNull","isNullOrUndefined","or","isState","isPromise","and","notImplemented","fnname","w","window","fromJson","toJson","copy","_copy","_forEach","assign","_extend","extra","_inArray","_removeFrom","pushTo","_pushTo","deregAll","functions","mergeR","mapObj","allTrueR","elem","anyTrueR","flattenR","uniqR","unnest","flatten","assertPredicate","assertFn","assertMap","pairs","sortBy","propFn","checkFn","a","composeSort","sortFns","prev","silenceUncaughtInPromise","catch","silentRejection","_items","_limit","Queue","items","shift","size","RejectType","message","detail","d","_transitionRejection","rejection","SUPERSEDED","redirected","superseded","INVALID","IGNORED","ABORTED","ERROR","errored","viewConfigString","viewConfig","$id","_tid","_rid","transLbl","Trace","enabled","categories","k","parseInt","isNaN","normalizedCat","category","_enabled","_set","TRANSITION","console","log","step","HOOK","event","context","functionToString","maxLength","hookResult","transitionOptions","RESOLVE","reason","finalState","UIVIEW","padString","uiViewString","traceUIViewEvent","VIEWCONFIG","TransitionHookPhase","TransitionHookScope","_identifier","_definition","_params","_options","base","stateName","defaultOptions","traceData","hookPhase","RUN","isActive","TransitionHook","defaultErrorHandler","notCurrent","getNotCurrentRejection","traceHookInvocation","normalizeErr","normalize","handleError","getErrorHandler","handleResult","getResultHandler","synchronous","handleHookResult","traceHookResult","aborted","_disposed","_aborted","isSuperseded","waitFor","createHookChainR","nextHook","invokeHook","doneCallback","remainingHooks","chain","logError","tranSvc","matchCriteria","nodes","matching","matchState","_getPathTypes","_getDefaultMatchCriteria","mn","pathtype","isStateHook","STATE","_matchingNodes","_getMatchingNodes","every","HookBuilder","phase","_getEvents","buildHooks","hookType","matchingHooks","getMatchingHooks","baseHookOptions","makeTransitionHooks","criteriaMatchPath","transitionHook","sort","tupleSort","reverseSort","isCreate","CREATE","reg","getHooks","sub","decode","isSearch","ArrayType","hasOwn","urlMatcherFactory","unwrapShorthand","getType","arrayDefaults","arrayParamNomenclature","$asArray","raw","getSquashPolicy","defaultSquashPolicy","getReplace","Param","_defaultValueCache","defaultValue","invoke","$normalize","encoded","encode","paramValues","params_1","values1","values2","changed","validates","stateOrNode","PathNode","res","clone","getParamVal","paramDef","pDef","applyPairs","paramsFn","diff","PathUtils","targetState","applyRawParams","fromPath","toPath","buildPath","inheritParams","viewDecls","subPath","viewConfigs","createViewConfig","toKeys","toNode","toParamVals","incomingParamVals","omit","fromParamVals","nodeParamVals","noInherit","ownParamVals","makeInheritedParamsNode","reloadState","retainedNode","cloned","keep","node1","node2","nonDynamicParams","retained","retainedWithToParams","applyToParams","pathA","pathB","done","nodeA","nodeB","predicate","elementIdx","defaultResolvePolicy","async","arg1","resolved","literal","thisPolicy","statePolicy","getResolvableDependencies","getDependencies","invokeResolveFn","resolvedDeps","waitForRx","observable$","cached","cache","take","findNode","maybeWaitForRx","getPolicy","applyResolvedValue","resolvedValue","traceResolvableResolved","LAZY","EAGER","WAIT","NOWAIT","RXWAIT","ALL_WHENS","EAGER_WHENS","NATIVE_INJECTOR_TOKEN","_path","newResolvables","whenOption","matchedWhens","traceResolvePath","matchesPolicy","acceptedVals","whenOrAsync","promises","nodeResolvables","nowait","wait","subContext","getResult","_injector","UIInjectorImpl","availableResolvables","getDependency","fromInjector","injector","getNative","native","stateSelf","defer","_deferred","_targetState","_transitionCount","buildToPath","_treeChanges","createTransitionHookRegFns","onCreateHooks","_hookBuilder","buildHooksForPhase","invokeHooks","applyViewConfigs","makeEvent","enteringStates","$from","$to","compare","pathname","freeze","pathName","getTokens","topath","targetNode","addResolvables","rf","originalTransition","redirects","redirectOpts","newOptions","identifier","newTransition","originalEnteringNodes","redirectEnteringNodes","tc","reload","nodeSchemas","schema","toVals","fromVals","changes","_changedParams","same","newTC","pendTC","runAllHooks","getHooksFor","transitionSuccess","traceSuccess","SUCCESS","transitionError","traceError","_error","runTransition","allRunHooks","startTransition","lastStartedTransitionId","transitionHistory","enqueue","traceTransitionStart","allBeforeHooks","BEFORE","abstract","fromStateOrName","toStateOrName","avoidEmptyHash","stringifyPatternFn","isRejection","isRejectionPromise","beforeAfterSubstr","char","ParamTypes","makeType","definition","types","defaultTypes","definitionFn","typeQueue","_flushTypeQueue","makeDefaultType","valToString","defaultTypeBase","String","query","int","bool","Boolean","date","getFullYear","getMonth","getDate","capture","Date","valueOf","json","StateParams","newParams","parentParams","parents","ancestors","inherited","inheritList","parseUrl","charAt","substring","getUrlBuilder","$urlMatcherFactoryProvider","stateDec","paramMap","paramConfig","reloadOnSearch","isMatcher","navigable","append","getNavigableBuilder","isRoot","getParamsBuilder","paramFactory","makeConfigParam","fromConfig","urlParams","nonUrlParams","matcher","parentName","builders","nameBuilder","selfBuilder","parentBuilder","dataBuilder","pathBuilder","includesBuilder","resolvablesBuilder","StateBuilder","parentFn","segments","pop","_states","StateMatcher","stateOrName","matchGlob","isStr","isRelative","resolvePath","baseState","splitName","pathLength","relName","$registry","$urlRouter","builder","listeners","queue","StateQueueManager","flush","registered","orphans","previousQueueLength","getState","name_1","build","orphanIdx","existingState","existingFutureState","deregister","attachRoute","listener","s","rule","urlRuleFactory","_router","stateQueue","urlRouter","_registerRoot","StateRegistry","rootStateDef","#","_root","stateDefinition","getChildren","deregistered","$ur","rules","removeRule","deregisteredStates","_deregisterTree","found","func","memoizeTo","splitOnSlash","splitOnDelim","strict","caseInsensitive","m","segment","placeholder","searchPlaceholder","last","patterns","checkParamErrors","UrlMatcher","nameValidator","matchDetails","index","_segments","lastIndex","fromSearch","_compiled","quoteRegExp","_children","_cache","allParams","pathParams","searchParams","nPathSegments","urlm","reverseString","unquoteDashes","validParamVal","isValid","isDefaultValue","urlMatchers","pathSegmentsAndParams","getDetails","queryParams","isInvalid","pathString","encodeDashes","encodeURIComponent","queryString","paramDetails","c","charCodeAt","cmp","joinNeighborsR","weights","_isStrictMode","_isCaseInsensitive","UrlMatcherFactory","_defaultSquashPolicy","_getConfig","object","UrlRuleFactory","what","makeRule","_what","fromUrlMatcher","fromState","fromRegExp","BaseUrlRule","urlMatcher","optional","_handler","details","matchPriority","transitionTo","global","sticky","redirectUrlTo","Number","defaultRuleSortFn","getMatcher","URLMATCHER","REGEXP","RAW","OTHER","createProxyFunctions","UrlRouter","listen","_rules","_otherwiseFn","compareFn","_sortFn","_sorted","ensureSorted","best","weight","evt","defaultPrevented","$url","urlService","newurl","_stopFn","onChange","sync","read","html5Mode","hashPrefix","appendBasePath","slash","port","protocol","host","isUrlRule","_id","handlerFn","getHandlerFn","matchFn","urlParts","interceptDeferred","_rootViewContext","_registeredUIViews","_uiViews","_activeViewConfigs","_viewConfigs","_rootContext","viewType","factory","_viewConfigFactories","cfgFactory","cfgs","traceViewServiceEvent","uiView","stateDepth","count","uiViewsByFqn","uiv","depthCompare","depthFn","posNeg","matchingConfigPair","matchingConfigs","viewConfigDepth","configureUIView","configUpdated","uiViewDepth","traceViewServiceUIViewEvent","uiViews","fqnMatches","rawViewName","viewAtContext","relativeViewNameSugar","anchor","vc","vcSegments","uivSegments","negOffset","fqnToFirstSegment","uiViewContext","UIRouterGlobals","clear","successfulTransitions","makeStub","locationServicesFns","locationConfigFns","umfFns","rulesFns","syncFns","lateBind","locationServices","umf","UrlService","_routerInstance","locationServiceStub","locationConfigStub","TransitionService","StateService","disposable","_disposables","plugin","pluginInstance","_plugins","pluginName","registerAddCoreResolvables","onCreate","addCoreResolvables","redirectToHook","redirect","redirectTo","registerRedirectToHook","onStart","onExitHook","makeEnterExitRetainHook","registerOnExitHook","onExit","onRetainHook","registerOnRetainHook","onRetain","onEnterHook","registerOnEnterHook","onEnter","eagerResolvePath","registerEagerResolvePath","lazyResolveState","registerLazyResolveState","loadEnteringViews","enteringViews","load","registerLoadEnteringViews","onFinish","activateViews","exitingViews","deactivateViewConfig","activateViewConfig","registerActivateViews","updateGlobalState","transitionSuccessful","clearCurrentTransition","registerUpdateGlobalState","updateUrl","urlOptions","update","registerUpdateUrl","lazyLoadHook","orig","parts","lazyLoadState","retryTransition","registerLazyLoadHook","hookOrder","HANDLE_RESULT","REJECT_ERROR","registerIgnoredTransitionHook","ignoredHook","registerInvalidTransitionHook","invalidTransitionHook","defaultTransOpts","notify","custom","_deregisterHookFns","_defineCorePaths","_defineCoreEvents","_registerCoreTransitionHooks","hooksArray","Phase","TH","paths","_criteriaPaths","_defineEvent","LOG_REJECTED_RESULT","THROW_ERROR","LOG_ERROR","_definePathType","TransitionEventType","_eventTypes","cmpByPhase","hookScope","fns","addCoreResolves","invalid","eagerResolve","lazyResolve","loadViews","updateGlobals","$error$","stack","getters","boundFns","invalidCallbacks","toState","nextCallback","callbackQueue","dequeue","checkForRedirect","invokeNextCallback","makeTargetState","latestThing","peekTail","latest","defautGoOpts","transOpts","latestSuccess","currentPath","getCurrentPath","exists","_handleInvalidTargetState","rejectedTransitionHandler","isLatest","run","transitionToPromise","include","lossy","$inherit","nav","_defaultErrorHandler","Promise","deferred","has","ensureExist","splitHash","splitQuery","splitEqual","trimHashVal","keyValsToObjectR","accum","getParams","buildUrl","loc","searchObject","fireAfterUpdate","_listeners","_get","_location","_history","history","BaseLocationServices","evt_1","Event","_super","addEventListener","_listener","__extends","HashLocationService","title","removeEventListener","MemoryLocationService","_url","_config","PushStateLocationService","fullUrl","replaceState","pushState","_port","_protocol","_host","_baseHref","newval","_hashPrefix","_isHtml5","BrowserLocationConfig","newprefix","applyDocumentBaseHref","baseTags","document","getElementsByTagName","origin","hashLocationPlugin","locationPluginFactory","pushStateLocationPlugin","memoryLocationPlugin","MemoryLocationConfig","UIRouterPluginBase","ng_from_global","ng","ng_from_import","ng_from_import.module","makeComponentTemplate","bindings","template","getController","results","provider","controllerProvider","providerFn","version","minor","$templateRequest","TemplateFactory","_useHttp","asTemplate","asComponent","templateUrl","fromUrl","templateProvider","fromProvider","componentProvider","fromComponentProvider","headers","Accept","response","prefix","kebob","kebobed","attributeTpl","attrName","resolveName","attrs","getComponentBindings","scopeBindings","bindToController","bindingsObj","onInvalid","$state$","decoratedNg1Hook","_lp","_urlListeners","newUrl","_loc","_browser","pathType","~","/","~~","~2F","_urlRouter","UrlRouterProvider","ruleFn","otherwise","injectableHandler","$match","$stateParams","deferIntercept","module","mod_init","mod_util","mod_rtr","mod_state","mod_main","getProviderFor","serviceName","$urp","runBlock","getUrlRouterProvider","uiRouter","urlRouterProvider","getStateProvider","watchDigests","$urlMatcherFactory","uiSref","ctx","require","uiSrefActive","unlinkInfoFn","active","$$addStateInfo","$set","getTypeInfo","rawDef","processedDef","parseStateRef","uiSrefOpts","$eval","onStatesChanged","clickHook","bindEvents","inputAttrs","watchDeregFns","field","$observe","expr","$interpolate","$attrs","stateParams","activeClass","stateInfo","splitClasses","getClasses","stateList","allClasses","activeEqClass","fuzzyClasses","exactlyMatchesAny","exactClasses","addClasses","removeClasses","cls","$evalAsync","className","addClass","removeClass","uiSrefActiveEq","addState","newState","updateAfterTransition","directive","$IsStateFilter","$IncludedByStateFilter","$animate","$uiViewScroll","enter","leave","config1","config2","rootData","terminal","transclude","tAttrs","$transclude","configsEqual","traceUIViewConfigUpdated","activeUIView","updateView","previousEl","remove","currentScope","$destroy","currentEl","_viewData_1","renderer","$$animLeave","newScope","$new","animEnter","animLeave","$uiViewData","$uiViewAnim","$animEnter","$animLeave","$emit","autoScrollExp","cleanupLastView","onloadExp","unregister","getRenderer","configUpdatedCallback","fromParentTagConfig","fromParentTag","registerUIView","$ViewDirectiveFill","$ViewScrollProvider"],"mappings":"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"} \ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/libs/angular/angular.min.js b/pwa-backend/src/main/webapp/backoffice/libs/angular/angular.min.js deleted file mode 100644 index 45fd626..0000000 --- a/pwa-backend/src/main/webapp/backoffice/libs/angular/angular.min.js +++ /dev/null @@ -1,335 +0,0 @@ -/* - AngularJS v1.6.6 - (c) 2010-2017 Google, Inc. http://angularjs.org - License: MIT -*/ -(function(u){'use strict';function oe(a){if(E(a))t(a.objectMaxDepth)&&(Lc.objectMaxDepth=Ub(a.objectMaxDepth)?a.objectMaxDepth:NaN);else return Lc}function Ub(a){return Y(a)&&0c)return"...";var d=b.$$hashKey,g;if(I(a)){g=0;for(var f=a.length;g").append(a).html();try{return a[0].nodeType===Oa?N(b):b.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,function(a,b){return"<"+N(b)})}catch(d){return N(b)}}function Sc(a){try{return decodeURIComponent(a)}catch(b){}}function Tc(a){var b={};p((a||"").split("&"),function(a){var c,e,f;a&&(e=a=a.replace(/\+/g, -"%20"),c=a.indexOf("="),-1!==c&&(e=a.substring(0,c),f=a.substring(c+1)),e=Sc(e),t(e)&&(f=t(f)?Sc(f):!0,ra.call(b,e)?I(b[e])?b[e].push(f):b[e]=[b[e],f]:b[e]=f))});return b}function cc(a){var b=[];p(a,function(a,c){I(a)?p(a,function(a){b.push(ia(c,!0)+(!0===a?"":"="+ia(a,!0)))}):b.push(ia(c,!0)+(!0===a?"":"="+ia(a,!0)))});return b.length?b.join("&"):""}function gb(a){return ia(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ia(a,b){return encodeURIComponent(a).replace(/%40/gi, -"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function ve(a,b){var d,c,e=Ha.length;for(c=0;c protocol indicates an extension, document.location.href does not match."))}function Uc(a,b,d){E(d)||(d={});d=P({strictDi:!1},d);var c=function(){a=B(a);if(a.injector()){var c=a[0]===u.document?"document":Aa(a);throw qa("btstrpd",c.replace(//,">"));}b=b||[];b.unshift(["$provide",function(b){b.value("$rootElement",a)}]);d.debugInfoEnabled&&b.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]); -b.unshift("ng");c=hb(b,d.strictDi);c.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;u&&e.test(u.name)&&(d.debugInfoEnabled=!0,u.name=u.name.replace(e,""));if(u&&!f.test(u.name))return c();u.name=u.name.replace(f,"");$.resumeBootstrap=function(a){p(a,function(a){b.push(a)});return c()};A($.resumeDeferredBootstrap)&&$.resumeDeferredBootstrap()}function ye(){u.name= -"NG_ENABLE_DEBUG_INFO!"+u.name;u.location.reload()}function ze(a){a=$.element(a).injector();if(!a)throw qa("test");return a.get("$$testability")}function Vc(a,b){b=b||"_";return a.replace(Ae,function(a,c){return(c?b:"")+a.toLowerCase()})}function Be(){var a;if(!Wc){var b=tb();(la=w(b)?u.jQuery:b?u[b]:void 0)&&la.fn.on?(B=la,P(la.fn,{scope:Sa.scope,isolateScope:Sa.isolateScope,controller:Sa.controller,injector:Sa.injector,inheritedData:Sa.inheritedData}),a=la.cleanData,la.cleanData=function(b){for(var c, -e=0,f;null!=(f=b[e]);e++)(c=la._data(f,"events"))&&c.$destroy&&la(f).triggerHandler("$destroy");a(b)}):B=U;$.element=B;Wc=!0}}function ib(a,b,d){if(!a)throw qa("areq",b||"?",d||"required");return a}function ub(a,b,d){d&&I(a)&&(a=a[a.length-1]);ib(A(a),b,"not a function, got "+(a&&"object"===typeof a?a.constructor.name||"Object":typeof a));return a}function Ia(a,b){if("hasOwnProperty"===a)throw qa("badname",b);}function Xc(a,b,d){if(!b)return a;b=b.split(".");for(var c,e=a,f=b.length,g=0;g")+c[2];for(c=c[0];c--;)d=d.lastChild;f=eb(f,d.childNodes);d=e.firstChild;d.textContent=""}else f.push(b.createTextNode(a));e.textContent="";e.innerHTML="";p(f,function(a){e.appendChild(a)});return e}function U(a){if(a instanceof U)return a;var b;D(a)&&(a=Q(a),b=!0);if(!(this instanceof U)){if(b&&"<"!==a.charAt(0))throw hc("nosel");return new U(a)}if(b){b=u.document;var d;a=(d=fg.exec(a))?[b.createElement(d[1])]:(d=fd(a,b))?d.childNodes: -[];ic(this,a)}else A(a)?gd(a):ic(this,a)}function jc(a){return a.cloneNode(!0)}function zb(a,b){!b&&fc(a)&&B.cleanData([a]);a.querySelectorAll&&B.cleanData(a.querySelectorAll("*"))}function hd(a,b,d,c){if(t(c))throw hc("offargs");var e=(c=Ab(a))&&c.events,f=c&&c.handle;if(f)if(b){var g=function(b){var c=e[b];t(d)&&db(c||[],d);t(d)&&c&&0l&&this.remove(q.key);return b}},get:function(a){if(l";b=Ba.firstChild.attributes;var d=b[0];b.removeNamedItem(d.name);d.value=c;a.attributes.setNamedItem(d)}function na(a,b){try{a.addClass(b)}catch(c){}}function ca(a,b,c,d,e){a instanceof B||(a=B(a));var g=Va(a,b,a,c,d,e);ca.$$addScopeClass(a); -var f=null;return function(b,c,d){if(!a)throw ba("multilink");ib(b,"scope");e&&e.needsNewScope&&(b=b.$parent.$new());d=d||{};var h=d.parentBoundTranscludeFn,k=d.transcludeControllers;d=d.futureParentElement;h&&h.$$boundTransclude&&(h=h.$$boundTransclude);f||(f=(d=d&&d[0])?"foreignobject"!==za(d)&&ha.call(d).match(/SVG/)?"svg":"html":"html");d="html"!==f?B(ja(f,B("
    ").append(a).html())):c?Sa.clone.call(a):a;if(k)for(var l in k)d.data("$"+l+"Controller",k[l].instance);ca.$$addScopeInfo(d,b);c&& -c(d,b);g&&g(b,d,d,h);c||(a=g=null);return d}}function Va(a,b,c,d,e,g){function f(a,c,d,e){var g,k,l,m,q,n,H;if(s)for(H=Array(c.length),m=0;mx.priority)break;if(u=x.scope)x.templateUrl||(E(u)?(aa("new/isolated scope",K||s,x,F),K=x):aa("new/isolated scope",K,x,F)),s=s||x;W=x.name;if(!t&&(x.replace&&(x.templateUrl||x.template)||x.transclude&&!x.$$tlb)){for(u=Da+1;t=a[u++];)if(t.transclude&&!t.$$tlb||t.replace&&(t.templateUrl||t.template)){Jb=!0;break}t=!0}!x.templateUrl&&x.controller&&(J=J||S(),aa("'"+W+"' controller",J[W],x,F),J[W]=x);if(u=x.transclude)if(R=!0, -x.$$tlb||(aa("transclusion",y,x,F),y=x),"element"===u)ta=!0,n=x.priority,z=F,F=d.$$element=B(ca.$$createComment(W,d[W])),b=F[0],la(g,ya.call(z,0),b),z[0].$$parentNode=z[0].parentNode,r=V(Jb,z,e,n,f&&f.name,{nonTlbTranscludeDirective:y});else{var na=S();if(E(u)){z=[];var Va=S(),Ma=S();p(u,function(a,b){var c="?"===a.charAt(0);a=c?a.substring(1):a;Va[a]=b;na[b]=null;Ma[b]=c});p(F.contents(),function(a){var b=Va[Ea(za(a))];b?(Ma[b]=!0,na[b]=na[b]||[],na[b].push(a)):z.push(a)});p(Ma,function(a,b){if(!a)throw ba("reqslot", -b);});for(var N in na)na[N]&&(na[N]=V(Jb,na[N],e))}else z=B(jc(b)).contents();F.empty();r=V(Jb,z,e,void 0,void 0,{needsNewScope:x.$$isolateScope||x.$$newScope});r.$$slots=na}if(x.template)if(L=!0,aa("template",v,x,F),v=x,u=A(x.template)?x.template(F,d):x.template,u=Ia(u),x.replace){f=x;z=gc.test(u)?qd(ja(x.templateNamespace,Q(u))):[];b=z[0];if(1!==z.length||1!==b.nodeType)throw ba("tplrt",W,"");la(g,F,b);C={$attr:{}};u=M(b,[],C);var nc=a.splice(Da+1,a.length-(Da+1));(K||s)&&Z(u,K,s);a=a.concat(u).concat(nc); -ea(d,C);C=a.length}else F.html(u);if(x.templateUrl)L=!0,aa("template",v,x,F),v=x,x.replace&&(f=x),q=ia(a.splice(Da,a.length-Da),F,d,g,R&&r,h,k,{controllerDirectives:J,newScopeDirective:s!==x&&s,newIsolateScopeDirective:K,templateDirective:v,nonTlbTranscludeDirective:y}),C=a.length;else if(x.compile)try{O=x.compile(F,d,r);var T=x.$$originalDirective||x;A(O)?m(null,Ra(T,O),Ua,D):O&&m(Ra(T,O.pre),Ra(T,O.post),Ua,D)}catch($){c($,Aa(F))}x.terminal&&(q.terminal=!0,n=Math.max(n,x.priority))}q.scope=s&&!0=== -s.scope;q.transcludeOnThisElement=R;q.templateOnThisElement=L;q.transclude=r;l.hasElementTranscludeDirective=ta;return q}function X(a,b,c,d){var e;if(D(b)){var g=b.match(l);b=b.substring(g[0].length);var f=g[1]||g[3],g="?"===g[2];"^^"===f?c=c.parent():e=(e=d&&d[b])&&e.instance;if(!e){var h="$"+b+"Controller";e=f?c.inheritedData(h):c.data(h)}if(!e&&!g)throw ba("ctreq",b,a);}else if(I(b))for(e=[],f=0,g=b.length;fc.priority)&&-1!==c.restrict.indexOf(e)){k&&(c=Yb(c,{$$start:k,$$end:l}));if(!c.$$bindings){var s=m=c,H=c.name,J={isolateScope:null,bindToController:null};E(s.scope)&&(!0===s.bindToController?(J.bindToController=d(s.scope,H,!0),J.isolateScope={}):J.isolateScope=d(s.scope,H,!1));E(s.bindToController)&&(J.bindToController=d(s.bindToController,H,!0));if(J.bindToController&&!s.controller)throw ba("noctrl",H);m=m.$$bindings=J;E(m.isolateScope)&&(c.$$isolateBindings=m.isolateScope)}b.push(c); -m=c}}return m}function $(b){if(f.hasOwnProperty(b))for(var c=a.get(b+"Directive"),d=0,e=c.length;d"+b+"";return c.childNodes[0].childNodes;default:return b}}function va(a,b){if("srcdoc"===b)return x.HTML;var c=za(a);if("src"===b||"ngSrc"===b){if(-1===["img","video","audio","source","track"].indexOf(c))return x.RESOURCE_URL}else if("xlinkHref"===b||"form"===c&&"action"===b||"link"===c&&"href"===b)return x.RESOURCE_URL}function xa(a,c,d,e,g){var f=va(a,e),k=h[e]||g,l=b(d,!g,f,k);if(l){if("multiple"===e&&"select"===za(a))throw ba("selmulti", -Aa(a));if(m.test(e))throw ba("nodomevents");c.push({priority:100,compile:function(){return{pre:function(a,c,g){c=g.$$observers||(g.$$observers=S());var h=g[e];h!==d&&(l=h&&b(h,!0,f,k),d=h);l&&(g[e]=l(a),(c[e]||(c[e]=[])).$$inter=!0,(g.$$observers&&g.$$observers[e].$$scope||a).$watch(l,function(a,b){"class"===e&&a!==b?g.$updateClass(a,b):g.$set(e,a)}))}}}})}}function la(a,b,c){var d=b[0],e=b.length,g=d.parentNode,f,h;if(a)for(f=0,h=a.length;f=b)return a;for(;b--;){var d=a[b];(8===d.nodeType||d.nodeType===Oa&&""===d.nodeValue.trim())&&ug.call(a,b,1)}return a}function sg(a,b){if(b&&D(b))return b;if(D(a)){var d=td.exec(a);if(d)return d[3]}}function yf(){var a={},b=!1;this.has=function(b){return a.hasOwnProperty(b)};this.register=function(b,c){Ia(b,"controller");E(b)? -P(a,b):a[b]=c};this.allowGlobals=function(){b=!0};this.$get=["$injector","$window",function(d,c){function e(a,b,c,d){if(!a||!E(a.$scope))throw M("$controller")("noscp",d,b);a.$scope[b]=c}return function(f,g,k,h){var l,m,n;k=!0===k;h&&D(h)&&(n=h);if(D(f)){h=f.match(td);if(!h)throw ud("ctrlfmt",f);m=h[1];n=n||h[3];f=a.hasOwnProperty(m)?a[m]:Xc(g.$scope,m,!0)||(b?Xc(c,m,!0):void 0);if(!f)throw ud("ctrlreg",m);ub(f,m,!0)}if(k)return k=(I(f)?f[f.length-1]:f).prototype,l=Object.create(k||null),n&&e(g,n, -l,m||f.name),P(function(){var a=d.invoke(f,l,g,m);a!==l&&(E(a)||A(a))&&(l=a,n&&e(g,n,l,m||f.name));return l},{instance:l,identifier:n});l=d.instantiate(f,g,m);n&&e(g,n,l,m||f.name);return l}}]}function zf(){this.$get=["$window",function(a){return B(a.document)}]}function Af(){this.$get=["$document","$rootScope",function(a,b){function d(){e=c.hidden}var c=a[0],e=c&&c.hidden;a.on("visibilitychange",d);b.$on("$destroy",function(){a.off("visibilitychange",d)});return function(){return e}}]}function Bf(){this.$get= -["$log",function(a){return function(b,d){a.error.apply(a,arguments)}}]}function pc(a){return E(a)?ea(a)?a.toISOString():fb(a):a}function Gf(){this.$get=function(){return function(a){if(!a)return"";var b=[];Nc(a,function(a,c){null===a||w(a)||A(a)||(I(a)?p(a,function(a){b.push(ia(c)+"="+ia(pc(a)))}):b.push(ia(c)+"="+ia(pc(a))))});return b.join("&")}}}function Hf(){this.$get=function(){return function(a){function b(a,e,f){null===a||w(a)||(I(a)?p(a,function(a,c){b(a,e+"["+(E(a)?c:"")+"]")}):E(a)&&!ea(a)? -Nc(a,function(a,c){b(a,e+(f?"":"[")+c+(f?"":"]"))}):d.push(ia(e)+"="+ia(pc(a))))}if(!a)return"";var d=[];b(a,"",!0);return d.join("&")}}}function qc(a,b){if(D(a)){var d=a.replace(vg,"").trim();if(d){var c=b("Content-Type"),c=c&&0===c.indexOf(vd),e;(e=c)||(e=(e=d.match(wg))&&xg[e[0]].test(d));if(e)try{a=Qc(d)}catch(f){if(!c)return a;throw rc("baddata",a,f);}}}return a}function wd(a){var b=S(),d;D(a)?p(a.split("\n"),function(a){d=a.indexOf(":");var e=N(Q(a.substr(0,d)));a=Q(a.substr(d+1));e&&(b[e]= -b[e]?b[e]+", "+a:a)}):E(a)&&p(a,function(a,d){var f=N(d),g=Q(a);f&&(b[f]=b[f]?b[f]+", "+g:g)});return b}function xd(a){var b;return function(d){b||(b=wd(a));return d?(d=b[N(d)],void 0===d&&(d=null),d):b}}function yd(a,b,d,c){if(A(c))return c(a,b,d);p(c,function(c){a=c(a,b,d)});return a}function Ff(){var a=this.defaults={transformResponse:[qc],transformRequest:[function(a){return E(a)&&"[object File]"!==ha.call(a)&&"[object Blob]"!==ha.call(a)&&"[object FormData]"!==ha.call(a)?fb(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"}, -post:ja(sc),put:ja(sc),patch:ja(sc)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},b=!1;this.useApplyAsync=function(a){return t(a)?(b=!!a,this):b};var d=this.interceptors=[];this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function(c,e,f,g,k,h,l,m){function n(b){function d(a,b){for(var c=0,e=b.length;ca?b:h.reject(b)}if(!E(b))throw M("$http")("badreq",b);if(!D(m.valueOf(b.url)))throw M("$http")("badreq",b.url);var f=P({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer,jsonpCallbackParam:a.jsonpCallbackParam},b);f.headers= -function(b){var c=a.headers,d=P({},b.headers),g,f,h,c=P({},c.common,c[N(b.method)]);a:for(g in c){f=N(g);for(h in d)if(N(h)===f)continue a;d[g]=c[g]}return e(d,ja(b))}(b);f.method=wb(f.method);f.paramSerializer=D(f.paramSerializer)?l.get(f.paramSerializer):f.paramSerializer;c.$$incOutstandingRequestCount();var k=[],n=[];b=h.resolve(f);p(v,function(a){(a.request||a.requestError)&&k.unshift(a.request,a.requestError);(a.response||a.responseError)&&n.push(a.response,a.responseError)});b=d(b,k);b=b.then(function(b){var c= -b.headers,d=yd(b.data,xd(c),void 0,b.transformRequest);w(d)&&p(c,function(a,b){"content-type"===N(b)&&delete c[b]});w(b.withCredentials)&&!w(a.withCredentials)&&(b.withCredentials=a.withCredentials);return q(b,d).then(g,g)});b=d(b,n);return b=b.finally(function(){c.$$completeOutstandingRequest(C)})}function q(c,d){function g(a){if(a){var c={};p(a,function(a,d){c[d]=function(c){function d(){a(c)}b?k.$applyAsync(d):k.$$phase?d():k.$apply(d)}});return c}}function l(a,c,d,e,g){function f(){q(c,a,d,e, -g)}R&&(200<=a&&300>a?R.put(O,[a,c,wd(d),e,g]):R.remove(O));b?k.$applyAsync(f):(f(),k.$$phase||k.$apply())}function q(a,b,d,e,g){b=-1<=b?b:0;(200<=b&&300>b?K.resolve:K.reject)({data:a,status:b,headers:xd(d),config:c,statusText:e,xhrStatus:g})}function H(a){q(a.data,a.status,ja(a.headers()),a.statusText,a.xhrStatus)}function v(){var a=n.pendingRequests.indexOf(c);-1!==a&&n.pendingRequests.splice(a,1)}var K=h.defer(),F=K.promise,R,x,W=c.headers,r="jsonp"===N(c.method),O=c.url;r?O=m.getTrustedResourceUrl(O): -D(O)||(O=m.valueOf(O));O=G(O,c.paramSerializer(c.params));r&&(O=L(O,c.jsonpCallbackParam));n.pendingRequests.push(c);F.then(v,v);!c.cache&&!a.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(R=E(c.cache)?c.cache:E(a.cache)?a.cache:z);R&&(x=R.get(O),t(x)?x&&A(x.then)?x.then(H,H):I(x)?q(x[1],x[0],ja(x[2]),x[3],x[4]):q(x,200,{},"OK","complete"):R.put(O,F));w(x)&&((x=zd(c.url)?f()[c.xsrfCookieName||a.xsrfCookieName]:void 0)&&(W[c.xsrfHeaderName||a.xsrfHeaderName]=x),e(c.method,O,d,l,W,c.timeout, -c.withCredentials,c.responseType,g(c.eventHandlers),g(c.uploadEventHandlers)));return F}function G(a,b){0=l&&(r.resolve(v),p(ma.$$intervalId),delete g[ma.$$intervalId]);s||a.$apply()},h);g[ma.$$intervalId]=r;return ma}var g={};f.cancel=function(a){return a&&a.$$intervalId in g?(g[a.$$intervalId].promise.$$state.pur= -!0,g[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete g[a.$$intervalId],!0):!1};return f}]}function tc(a){a=a.split("/");for(var b=a.length;b--;)a[b]=gb(a[b]);return a.join("/")}function Ad(a,b){var d=ua(a);b.$$protocol=d.protocol;b.$$host=d.hostname;b.$$port=Z(d.port)||zg[d.protocol]||null}function Bd(a,b){if(Ag.test(a))throw mb("badpath",a);var d="/"!==a.charAt(0);d&&(a="/"+a);var c=ua(a);b.$$path=decodeURIComponent(d&&"/"===c.pathname.charAt(0)?c.pathname.substring(1): -c.pathname);b.$$search=Tc(c.search);b.$$hash=decodeURIComponent(c.hash);b.$$path&&"/"!==b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function uc(a,b){return a.slice(0,b.length)===b}function va(a,b){if(uc(b,a))return b.substr(a.length)}function La(a){var b=a.indexOf("#");return-1===b?a:a.substr(0,b)}function nb(a){return a.replace(/(#.+)|#$/,"$1")}function vc(a,b,d){this.$$html5=!0;d=d||"";Ad(a,this);this.$$parse=function(a){var d=va(b,a);if(!D(d))throw mb("ipthprfx",a,b);Bd(d,this);this.$$path||(this.$$path= -"/");this.$$compose()};this.$$compose=function(){var a=cc(this.$$search),d=this.$$hash?"#"+gb(this.$$hash):"";this.$$url=tc(this.$$path)+(a?"?"+a:"")+d;this.$$absUrl=b+this.$$url.substr(1);this.$$urlUpdatedByLocation=!0};this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;t(f=va(a,c))?(g=f,g=d&&t(f=va(d,f))?b+(va("/",f)||f):a+g):t(f=va(b,c))?g=b+f:b===c+"/"&&(g=b);g&&this.$$parse(g);return!!g}}function wc(a,b,d){Ad(a,this);this.$$parse=function(c){var e=va(a, -c)||va(b,c),f;w(e)||"#"!==e.charAt(0)?this.$$html5?f=e:(f="",w(e)&&(a=c,this.replace())):(f=va(d,e),w(f)&&(f=e));Bd(f,this);c=this.$$path;var e=a,g=/^\/[A-Z]:(\/.*)/;uc(f,e)&&(f=f.replace(e,""));g.exec(f)||(c=(f=g.exec(c))?f[1]:c);this.$$path=c;this.$$compose()};this.$$compose=function(){var b=cc(this.$$search),e=this.$$hash?"#"+gb(this.$$hash):"";this.$$url=tc(this.$$path)+(b?"?"+b:"")+e;this.$$absUrl=a+(this.$$url?d+this.$$url:"");this.$$urlUpdatedByLocation=!0};this.$$parseLinkUrl=function(b,d){return La(a)=== -La(b)?(this.$$parse(b),!0):!1}}function Cd(a,b,d){this.$$html5=!0;wc.apply(this,arguments);this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;a===La(c)?f=c:(g=va(b,c))?f=a+d+g:b===c+"/"&&(f=b);f&&this.$$parse(f);return!!f};this.$$compose=function(){var b=cc(this.$$search),e=this.$$hash?"#"+gb(this.$$hash):"";this.$$url=tc(this.$$path)+(b?"?"+b:"")+e;this.$$absUrl=a+d+this.$$url;this.$$urlUpdatedByLocation=!0}}function Lb(a){return function(){return this[a]}} -function Dd(a,b){return function(d){if(w(d))return this[a];this[a]=b(d);this.$$compose();return this}}function Lf(){var a="!",b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return t(b)?(a=b,this):a};this.html5Mode=function(a){if(Na(a))return b.enabled=a,this;if(E(a)){Na(a.enabled)&&(b.enabled=a.enabled);Na(a.requireBase)&&(b.requireBase=a.requireBase);if(Na(a.rewriteLinks)||D(a.rewriteLinks))b.rewriteLinks=a.rewriteLinks;return this}return b};this.$get=["$rootScope","$browser", -"$sniffer","$rootElement","$window",function(d,c,e,f,g){function k(a,b,d){var e=l.url(),g=l.$$state;try{c.url(a,b,d),l.$$state=c.state()}catch(f){throw l.url(e),l.$$state=g,f;}}function h(a,b){d.$broadcast("$locationChangeSuccess",l.absUrl(),a,l.$$state,b)}var l,m;m=c.baseHref();var n=c.url(),q;if(b.enabled){if(!m&&b.requireBase)throw mb("nobase");q=n.substring(0,n.indexOf("/",n.indexOf("//")+2))+(m||"/");m=e.history?vc:Cd}else q=La(n),m=wc;var G=q.substr(0,La(q).lastIndexOf("/")+1);l=new m(q,G,"#"+ -a);l.$$parseLinkUrl(n,n);l.$$state=c.state();var p=/^\s*(javascript|mailto):/i;f.on("click",function(a){var e=b.rewriteLinks;if(e&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!==a.which&&2!==a.button){for(var h=B(a.target);"a"!==za(h[0]);)if(h[0]===f[0]||!(h=h.parent())[0])return;if(!D(e)||!w(h.attr(e))){var e=h.prop("href"),k=h.attr("href")||h.attr("xlink:href");E(e)&&"[object SVGAnimatedString]"===e.toString()&&(e=ua(e.animVal).href);p.test(e)||!e||h.attr("target")||a.isDefaultPrevented()||!l.$$parseLinkUrl(e, -k)||(a.preventDefault(),l.absUrl()!==c.url()&&(d.$apply(),g.angular["ff-684208-preventDefault"]=!0))}}});nb(l.absUrl())!==nb(n)&&c.url(l.absUrl(),!0);var z=!0;c.onUrlChange(function(a,b){uc(a,G)?(d.$evalAsync(function(){var c=l.absUrl(),e=l.$$state,g;a=nb(a);l.$$parse(a);l.$$state=b;g=d.$broadcast("$locationChangeStart",a,c,b,e).defaultPrevented;l.absUrl()===a&&(g?(l.$$parse(c),l.$$state=e,k(c,!1,e)):(z=!1,h(c,e)))}),d.$$phase||d.$digest()):g.location.href=a});d.$watch(function(){if(z||l.$$urlUpdatedByLocation){l.$$urlUpdatedByLocation= -!1;var a=nb(c.url()),b=nb(l.absUrl()),g=c.state(),f=l.$$replace,m=a!==b||l.$$html5&&e.history&&g!==l.$$state;if(z||m)z=!1,d.$evalAsync(function(){var b=l.absUrl(),c=d.$broadcast("$locationChangeStart",b,a,l.$$state,g).defaultPrevented;l.absUrl()===b&&(c?(l.$$parse(a),l.$$state=g):(m&&k(b,f,g===l.$$state?null:l.$$state),h(a,g)))})}l.$$replace=!1});return l}]}function Mf(){var a=!0,b=this;this.debugEnabled=function(b){return t(b)?(a=b,this):a};this.$get=["$window",function(d){function c(a){$b(a)&&(a.stack&& -f?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=d.console||{},e=b[a]||b.log||C;return function(){var a=[];p(arguments,function(b){a.push(c(b))});return Function.prototype.apply.call(e,b,a)}}var f=Ca||/\bEdge\//.test(d.navigator&&d.navigator.userAgent);return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b, -arguments)}}()}}]}function Bg(a){return a+""}function Cg(a,b){return"undefined"!==typeof a?a:b}function Ed(a,b){return"undefined"===typeof a?b:"undefined"===typeof b?a:a+b}function Dg(a,b){switch(a.type){case r.MemberExpression:if(a.computed)return!1;break;case r.UnaryExpression:return 1;case r.BinaryExpression:return"+"!==a.operator?1:!1;case r.CallExpression:return!1}return void 0===b?Fd:b}function V(a,b,d){var c,e,f=a.isPure=Dg(a,d);switch(a.type){case r.Program:c=!0;p(a.body,function(a){V(a.expression, -b,f);c=c&&a.expression.constant});a.constant=c;break;case r.Literal:a.constant=!0;a.toWatch=[];break;case r.UnaryExpression:V(a.argument,b,f);a.constant=a.argument.constant;a.toWatch=a.argument.toWatch;break;case r.BinaryExpression:V(a.left,b,f);V(a.right,b,f);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case r.LogicalExpression:V(a.left,b,f);V(a.right,b,f);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.constant?[]:[a];break;case r.ConditionalExpression:V(a.test, -b,f);V(a.alternate,b,f);V(a.consequent,b,f);a.constant=a.test.constant&&a.alternate.constant&&a.consequent.constant;a.toWatch=a.constant?[]:[a];break;case r.Identifier:a.constant=!1;a.toWatch=[a];break;case r.MemberExpression:V(a.object,b,f);a.computed&&V(a.property,b,f);a.constant=a.object.constant&&(!a.computed||a.property.constant);a.toWatch=a.constant?[]:[a];break;case r.CallExpression:c=d=a.filter?!b(a.callee.name).$stateful:!1;e=[];p(a.arguments,function(a){V(a,b,f);c=c&&a.constant;e.push.apply(e, -a.toWatch)});a.constant=c;a.toWatch=d?e:[a];break;case r.AssignmentExpression:V(a.left,b,f);V(a.right,b,f);a.constant=a.left.constant&&a.right.constant;a.toWatch=[a];break;case r.ArrayExpression:c=!0;e=[];p(a.elements,function(a){V(a,b,f);c=c&&a.constant;e.push.apply(e,a.toWatch)});a.constant=c;a.toWatch=e;break;case r.ObjectExpression:c=!0;e=[];p(a.properties,function(a){V(a.value,b,f);c=c&&a.value.constant;e.push.apply(e,a.value.toWatch);a.computed&&(V(a.key,b,!1),c=c&&a.key.constant,e.push.apply(e, -a.key.toWatch))});a.constant=c;a.toWatch=e;break;case r.ThisExpression:a.constant=!1;a.toWatch=[];break;case r.LocalsExpression:a.constant=!1,a.toWatch=[]}}function Gd(a){if(1===a.length){a=a[0].expression;var b=a.toWatch;return 1!==b.length?b:b[0]!==a?b:void 0}}function Hd(a){return a.type===r.Identifier||a.type===r.MemberExpression}function Id(a){if(1===a.body.length&&Hd(a.body[0].expression))return{type:r.AssignmentExpression,left:a.body[0].expression,right:{type:r.NGValueParameter},operator:"="}} -function Jd(a){this.$filter=a}function Kd(a){this.$filter=a}function xc(a,b,d){this.ast=new r(a,d);this.astCompiler=d.csp?new Kd(b):new Jd(b)}function yc(a){return A(a.valueOf)?a.valueOf():Eg.call(a)}function Nf(){var a=S(),b={"true":!0,"false":!1,"null":null,undefined:void 0},d,c;this.addLiteral=function(a,c){b[a]=c};this.setIdentifierFns=function(a,b){d=a;c=b;return this};this.$get=["$filter",function(e){function f(a,b,c){return null==a||null==b?a===b:"object"!==typeof a||(a=yc(a),"object"!==typeof a|| -c)?a===b||a!==a&&b!==b:!1}function g(a,b,c,d,e){var g=d.inputs,h;if(1===g.length){var k=f,g=g[0];return a.$watch(function(a){var b=g(a);f(b,k,g.isPure)||(h=d(a,void 0,void 0,[b]),k=b&&yc(b));return h},b,c,e)}for(var l=[],m=[],n=0,p=g.length;n= -c.$$state.status&&e&&e.length&&a(function(){for(var a,c,g=0,f=e.length;ga)for(b in l++,f)ra.call(e,b)||(p--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$stateful=!0;var d=this,e,f,h,k=1G&&(w=4-G,v[w]||(v[w]=[]),v[w].push({msg:A(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:g,oldVal:h}));else if(a===c){p=!1;break a}}catch(E){f(E)}if(!(q=y.$$watchersCount&&y.$$childHead||y!==this&&y.$$nextSibling))for(;y!==this&&!(q=y.$$nextSibling);)y=y.$parent}while(y=q);if((p||t.length)&&!G--)throw s.$$phase= -null,d("infdig",b,v);}while(p||t.length);for(s.$$phase=null;JCa)throw wa("iequirks");var c=ja(oa);c.isEnabled=function(){return a};c.trustAs=d.trustAs;c.getTrusted=d.getTrusted;c.valueOf=d.valueOf;a||(c.trustAs=c.getTrusted=function(a,b){return b},c.valueOf=bb);c.parseAs=function(a,d){var e=b(d);return e.literal&&e.constant?e:b(d,function(b){return c.getTrusted(a,b)})};var e=c.parseAs, -f=c.getTrusted,g=c.trustAs;p(oa,function(a,b){var d=N(b);c[("parse_as_"+d).replace(Ac,jb)]=function(b){return e(a,b)};c[("get_trusted_"+d).replace(Ac,jb)]=function(b){return f(a,b)};c[("trust_as_"+d).replace(Ac,jb)]=function(b){return g(a,b)}});return c}]}function Tf(){this.$get=["$window","$document",function(a,b){var d={},c=!((!a.nw||!a.nw.process)&&a.chrome&&(a.chrome.app&&a.chrome.app.runtime||!a.chrome.app&&a.chrome.runtime&&a.chrome.runtime.id))&&a.history&&a.history.pushState,e=Z((/android (\d+)/.exec(N((a.navigator|| -{}).userAgent))||[])[1]),f=/Boxee/i.test((a.navigator||{}).userAgent),g=b[0]||{},k=g.body&&g.body.style,h=!1,l=!1;k&&(h=!!("transition"in k||"webkitTransition"in k),l=!!("animation"in k||"webkitAnimation"in k));return{history:!(!c||4>e||f),hasEvent:function(a){if("input"===a&&Ca)return!1;if(w(d[a])){var b=g.createElement("div");d[a]="on"+a in b}return d[a]},csp:Ja(),transitions:h,animations:l,android:e}}]}function Vf(){var a;this.httpOptions=function(b){return b?(a=b,this):a};this.$get=["$exceptionHandler", -"$templateCache","$http","$q","$sce",function(b,d,c,e,f){function g(k,h){g.totalPendingRequests++;if(!D(k)||w(d.get(k)))k=f.getTrustedResourceUrl(k);var l=c.defaults&&c.defaults.transformResponse;I(l)?l=l.filter(function(a){return a!==qc}):l===qc&&(l=null);return c.get(k,P({cache:d,transformResponse:l},a)).finally(function(){g.totalPendingRequests--}).then(function(a){d.put(k,a.data);return a.data},function(a){h||(a=Gg("tpload",k,a.status,a.statusText),b(a));return e.reject(a)})}g.totalPendingRequests= -0;return g}]}function Wf(){this.$get=["$rootScope","$browser","$location",function(a,b,d){return{findBindings:function(a,b,d){a=a.getElementsByClassName("ng-binding");var g=[];p(a,function(a){var c=$.element(a).data("$binding");c&&p(c,function(c){d?(new RegExp("(^|\\s)"+Md(b)+"(\\s|\\||$)")).test(c)&&g.push(a):-1!==c.indexOf(b)&&g.push(a)})});return g},findModels:function(a,b,d){for(var g=["ng-","data-ng-","ng\\:"],k=0;kc&&(c=e),c+=+a.slice(e+1),a=a.substring(0,e)):0>c&&(c=a.length);for(e=0;a.charAt(e)===Cc;e++); -if(e===(g=a.length))d=[0],c=1;else{for(g--;a.charAt(g)===Cc;)g--;c-=e;d=[];for(f=0;e<=g;e++,f++)d[f]=+a.charAt(e)}c>Wd&&(d=d.splice(0,Wd-1),b=c-1,c=1);return{d:d,e:b,i:c}}function Og(a,b,d,c){var e=a.d,f=e.length-a.i;b=w(b)?Math.min(Math.max(d,f),c):+b;d=b+a.i;c=e[d];if(0d-1){for(c=0;c>d;c--)e.unshift(0),a.i++;e.unshift(1);a.i++}else e[d- -1]++;for(;fk;)h.unshift(0),k++;0=b.lgSize&&k.unshift(h.splice(-b.lgSize,h.length).join(""));h.length> -b.gSize;)k.unshift(h.splice(-b.gSize,h.length).join(""));h.length&&k.unshift(h.join(""));h=k.join(d);f.length&&(h+=c+f.join(""));e&&(h+="e+"+e)}return 0>a&&!g?b.negPre+h+b.negSuf:b.posPre+h+b.posSuf}function Mb(a,b,d,c){var e="";if(0>a||c&&0>=a)c?a=-a+1:(a=-a,e="-");for(a=""+a;a.length-d)f+=d;0===f&&-12===d&&(f=12);return Mb(f,b,c,e)}}function ob(a,b,d){return function(c,e){var f= -c["get"+a](),g=wb((d?"STANDALONE":"")+(b?"SHORT":"")+a);return e[g][f]}}function Xd(a){var b=(new Date(a,0,1)).getDay();return new Date(a,0,(4>=b?5:12)-b)}function Yd(a){return function(b){var d=Xd(b.getFullYear());b=+new Date(b.getFullYear(),b.getMonth(),b.getDate()+(4-b.getDay()))-+d;b=1+Math.round(b/6048E5);return Mb(b,a)}}function Dc(a,b){return 0>=a.getFullYear()?b.ERAS[0]:b.ERAS[1]}function Rd(a){function b(a){var b;if(b=a.match(d)){a=new Date(0);var f=0,g=0,k=b[8]?a.setUTCFullYear:a.setFullYear, -h=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=Z(b[9]+b[10]),g=Z(b[9]+b[11]));k.call(a,Z(b[1]),Z(b[2])-1,Z(b[3]));f=Z(b[4]||0)-f;g=Z(b[5]||0)-g;k=Z(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));h.call(a,f,g,k,b)}return a}var d=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,f){var g="",k=[],h,l;d=d||"mediumDate";d=a.DATETIME_FORMATS[d]||d;D(c)&&(c=Pg.test(c)?Z(c):b(c));Y(c)&&(c=new Date(c));if(!ea(c)||!isFinite(c.getTime()))return c; -for(;d;)(l=Qg.exec(d))?(k=eb(k,l,1),d=k.pop()):(k.push(d),d=null);var m=c.getTimezoneOffset();f&&(m=Rc(f,m),c=bc(c,f,!0));p(k,function(b){h=Rg[b];g+=h?h(c,a.DATETIME_FORMATS,m):"''"===b?"'":b.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function Ig(){return function(a,b){w(b)&&(b=2);return fb(a,b)}}function Jg(){return function(a,b,d){b=Infinity===Math.abs(Number(b))?Number(b):Z(b);if(T(b))return a;Y(a)&&(a=a.toString());if(!xa(a))return a;d=!d||isNaN(d)?0:Z(d);d=0>d?Math.max(0,a.length+ -d):d;return 0<=b?Ec(a,d,d+b):0===d?Ec(a,b,a.length):Ec(a,Math.max(0,d+b),d)}}function Ec(a,b,d){return D(a)?a.slice(b,d):ya.call(a,b,d)}function Td(a){function b(b){return b.map(function(b){var c=1,d=bb;if(A(b))d=b;else if(D(b)){if("+"===b.charAt(0)||"-"===b.charAt(0))c="-"===b.charAt(0)?-1:1,b=b.substring(1);if(""!==b&&(d=a(b),d.constant))var e=d(),d=function(a){return a[e]}}return{get:d,descending:c}})}function d(a){switch(typeof a){case "number":case "boolean":case "string":return!0;default:return!1}} -function c(a,b){var c=0,d=a.type,h=b.type;if(d===h){var h=a.value,l=b.value;"string"===d?(h=h.toLowerCase(),l=l.toLowerCase()):"object"===d&&(E(h)&&(h=a.index),E(l)&&(l=b.index));h!==l&&(c=hb||37<=b&&40>=b||m(a,this,this.value)});if(e.hasEvent("paste"))b.on("paste cut",m)}b.on("change",l);if(ce[g]&&c.$$hasNativeValidators&&g===d.type)b.on("keydown wheel mousedown",function(a){if(!h){var b=this.validity,c=b.badInput,d=b.typeMismatch;h=f.defer(function(){h=null;b.badInput===c&&b.typeMismatch===d||l(a)})}});c.$render=function(){var a=c.$isEmpty(c.$viewValue)?"":c.$viewValue;b.val()!==a&&b.val(a)}}function Pb(a,b){return function(d,c){var e,f;if(ea(d))return d; -if(D(d)){'"'===d.charAt(0)&&'"'===d.charAt(d.length-1)&&(d=d.substring(1,d.length-1));if(Sg.test(d))return new Date(d);a.lastIndex=0;if(e=a.exec(d))return e.shift(),f=c?{yyyy:c.getFullYear(),MM:c.getMonth()+1,dd:c.getDate(),HH:c.getHours(),mm:c.getMinutes(),ss:c.getSeconds(),sss:c.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},p(e,function(a,c){c=z};g.$observe("min",function(a){z=q(a);k.$validate()})}if(t(g.max)||g.ngMax){var v;k.$validators.max=function(a){return!n(a)||w(v)||d(a)<=v};g.$observe("max",function(a){v=q(a);k.$validate()})}}}function Gc(a,b,d,c){(c.$$hasNativeValidators=E(b[0].validity))&&c.$parsers.push(function(a){var c=b.prop("validity")||{};return c.badInput||c.typeMismatch?void 0:a})}function de(a){a.$$parserName="number";a.$parsers.push(function(b){if(a.$isEmpty(b))return null;if(Tg.test(b))return parseFloat(b)}); -a.$formatters.push(function(b){if(!a.$isEmpty(b)){if(!Y(b))throw rb("numfmt",b);b=b.toString()}return b})}function Xa(a){t(a)&&!Y(a)&&(a=parseFloat(a));return T(a)?void 0:a}function Hc(a){var b=a.toString(),d=b.indexOf(".");return-1===d?-1a&&(a=/e-(\d+)$/.exec(b))?Number(a[1]):0:b.length-d-1}function ee(a,b,d){a=Number(a);var c=(a|0)!==a,e=(b|0)!==b,f=(d|0)!==d;if(c||e||f){var g=c?Hc(a):0,k=e?Hc(b):0,h=f?Hc(d):0,g=Math.max(g,k,h),g=Math.pow(10,g);a*=g;b*=g;d*=g;c&&(a=Math.round(a));e&&(b=Math.round(b)); -f&&(d=Math.round(d))}return 0===(a-b)%d}function fe(a,b,d,c,e){if(t(c)){a=a(c);if(!a.constant)throw rb("constexpr",d,c);return a(b)}return e}function Ic(a,b){function d(a,b){if(!a||!a.length)return[];if(!b||!b.length)return a;var c=[],d=0;a:for(;d(?:<\/\1>|)$/,gc=/<|&#?\w+;/,dg=/<([\w:-]+)/,eg=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,aa={option:[1,'"],thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};aa.optgroup=aa.option;aa.tbody=aa.tfoot=aa.colgroup=aa.caption=aa.thead;aa.th=aa.td;var lg=u.Node.prototype.contains||function(a){return!!(this.compareDocumentPosition(a)&16)},Sa=U.prototype={ready:gd,toString:function(){var a=[];p(this,function(b){a.push(""+b)});return"["+a.join(", ")+"]"}, -eq:function(a){return 0<=a?B(this[a]):B(this[this.length+a])},length:0,push:Wg,sort:[].sort,splice:[].splice},Hb={};p("multiple selected checked disabled readOnly required open".split(" "),function(a){Hb[N(a)]=a});var ld={};p("input select option textarea button form details".split(" "),function(a){ld[a]=!0});var sd={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};p({data:lc,removeData:kc,hasData:function(a){for(var b in kb[a.ng339])return!0; -return!1},cleanData:function(a){for(var b=0,d=a.length;b/,og=/^[^(]*\(\s*([^)]*)\)/m, -Zg=/,/,$g=/^\s*(_?)(\S+?)\1\s*$/,mg=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Ba=M("$injector");hb.$$annotate=function(a,b,d){var c;if("function"===typeof a){if(!(c=a.$inject)){c=[];if(a.length){if(b)throw D(d)&&d||(d=a.name||pg(a)),Ba("strictdi",d);b=nd(a);p(b[1].split(Zg),function(a){a.replace($g,function(a,b,d){c.push(d)})})}a.$inject=c}}else I(a)?(b=a.length-1,ub(a[b],"fn"),c=a.slice(0,b)):ub(a,"fn",!0);return c};var he=M("$animate"),sf=function(){this.$get=C},tf=function(){var a=new Ib,b=[];this.$get= -["$$AnimateRunner","$rootScope",function(d,c){function e(a,b,c){var d=!1;b&&(b=D(b)?b.split(" "):I(b)?b:[],p(b,function(b){b&&(d=!0,a[b]=c)}));return d}function f(){p(b,function(b){var c=a.get(b);if(c){var d=qg(b.attr("class")),e="",f="";p(c,function(a,b){a!==!!d[b]&&(a?e+=(e.length?" ":"")+b:f+=(f.length?" ":"")+b)});p(b,function(a){e&&Eb(a,e);f&&Db(a,f)});a.delete(b)}});b.length=0}return{enabled:C,on:C,off:C,pin:C,push:function(g,k,h,l){l&&l();h=h||{};h.from&&g.css(h.from);h.to&&g.css(h.to);if(h.addClass|| -h.removeClass)if(k=h.addClass,l=h.removeClass,h=a.get(g)||{},k=e(h,k,!0),l=e(h,l,!1),k||l)a.set(g,h),b.push(g),1===b.length&&c.$$postDigest(f);g=new d;g.complete();return g}}}]},qf=["$provide",function(a){var b=this,d=null,c=null;this.$$registeredAnimations=Object.create(null);this.register=function(c,d){if(c&&"."!==c.charAt(0))throw he("notcsel",c);var g=c+"-animation";b.$$registeredAnimations[c.substr(1)]=g;a.factory(g,d)};this.customFilter=function(a){1===arguments.length&&(c=A(a)?a:null);return c}; -this.classNameFilter=function(a){if(1===arguments.length&&(d=a instanceof RegExp?a:null)&&/[(\s|\/)]ng-animate[(\s|\/)]/.test(d.toString()))throw d=null,he("nongcls","ng-animate");return d};this.$get=["$$animateQueue",function(a){function b(a,c,d){if(d){var e;a:{for(e=0;e <= >= && || ! = |".split(" "),function(a){Sb[a]=!0});var ch={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},zc=function(a){this.options=a};zc.prototype={constructor:zc,lex:function(a){this.text=a;this.index=0;for(this.tokens=[];this.index=a&&"string"===typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdentifierStart:function(a){return this.options.isIdentifierStart?this.options.isIdentifierStart(a,this.codePointAt(a)):this.isValidIdentifierStart(a)},isValidIdentifierStart:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isIdentifierContinue:function(a){return this.options.isIdentifierContinue? -this.options.isIdentifierContinue(a,this.codePointAt(a)):this.isValidIdentifierContinue(a)},isValidIdentifierContinue:function(a,b){return this.isValidIdentifierStart(a,b)||this.isNumber(a)},codePointAt:function(a){return 1===a.length?a.charCodeAt(0):(a.charCodeAt(0)<<10)+a.charCodeAt(1)-56613888},peekMultichar:function(){var a=this.text.charAt(this.index),b=this.peek();if(!b)return a;var d=a.charCodeAt(0),c=b.charCodeAt(0);return 55296<=d&&56319>=d&&56320<=c&&57343>=c?a+b:a},isExpOperator:function(a){return"-"=== -a||"+"===a||this.isNumber(a)},throwError:function(a,b,d){d=d||this.index;b=t(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,d)+"]":" "+d;throw Ya("lexerr",a,b,this.text);},readNumber:function(){for(var a="",b=this.index;this.index","<=",">=");)a={type:r.BinaryExpression,operator:b.text,left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),b;b=this.expect("+","-");)a={type:r.BinaryExpression,operator:b.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),b;b=this.expect("*","/","%");)a={type:r.BinaryExpression,operator:b.text,left:a,right:this.unary()};return a}, -unary:function(){var a;return(a=this.expect("+","-","!"))?{type:r.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?a=pa(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?a={type:r.Literal,value:this.options.literals[this.consume().text]}: -this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var b;b=this.expect("(","[",".");)"("===b.text?(a={type:r.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:r.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:r.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE"); -return a},filter:function(a){a=[a];for(var b={type:r.CallExpression,callee:this.identifier(),arguments:a,filter:!0};this.expect(":");)a.push(this.expression());return b},parseArguments:function(){var a=[];if(")"!==this.peekToken().text){do a.push(this.filterChain());while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:r.Identifier,name:a.text}},constant:function(){return{type:r.Literal,value:this.consume().value}}, -arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","))}this.consume("]");return{type:r.ArrayExpression,elements:a}},object:function(){var a=[],b;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;b={type:r.Property,kind:"init"};this.peek().constant?(b.key=this.constant(),b.computed=!1,this.consume(":"),b.value=this.expression()):this.peek().identifier?(b.key=this.identifier(),b.computed=!1,this.peek(":")? -(this.consume(":"),b.value=this.expression()):b.value=b.key):this.peek("[")?(this.consume("["),b.key=this.expression(),this.consume("]"),b.computed=!0,this.consume(":"),b.value=this.expression()):this.throwError("invalid key",this.peek());a.push(b)}while(this.expect(","))}this.consume("}");return{type:r.ObjectExpression,properties:a}},throwError:function(a,b){throw Ya("syntax",b.text,a,b.index+1,this.text,this.text.substring(b.index));},consume:function(a){if(0===this.tokens.length)throw Ya("ueoe", -this.text);var b=this.expect(a);b||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return b},peekToken:function(){if(0===this.tokens.length)throw Ya("ueoe",this.text);return this.tokens[0]},peek:function(a,b,d,c){return this.peekAhead(0,a,b,d,c)},peekAhead:function(a,b,d,c,e){if(this.tokens.length>a){a=this.tokens[a];var f=a.text;if(f===b||f===d||f===c||f===e||!(b||d||c||e))return a}return!1},expect:function(a,b,d,c){return(a=this.peek(a,b,d,c))?(this.tokens.shift(),a):!1},selfReferential:{"this":{type:r.ThisExpression}, -$locals:{type:r.LocalsExpression}}};var Fd=2;Jd.prototype={compile:function(a){var b=this;this.state={nextId:0,filters:{},fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]};V(a,b.$filter);var d="",c;this.stage="assign";if(c=Id(a))this.state.computing="assign",d=this.nextId(),this.recurse(c,d),this.return_(d),d="fn.assign="+this.generateFunction("assign","s,v,l");c=Gd(a.body);b.stage="inputs";p(c,function(a,c){var d="fn"+c;b.state[d]={vars:[],body:[],own:{}};b.state.computing=d; -var k=b.nextId();b.recurse(a,k);b.return_(k);b.state.inputs.push({name:d,isPure:a.isPure});a.watchId=c});this.state.computing="fn";this.stage="main";this.recurse(a);a='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+d+this.watchFns()+"return fn;";a=(new Function("$filter","getStringValue","ifDefined","plus",a))(this.$filter,Bg,Cg,Ed);this.state=this.stage=void 0;return a},USE:"use",STRICT:"strict",watchFns:function(){var a=[],b=this.state.inputs, -d=this;p(b,function(b){a.push("var "+b.name+"="+d.generateFunction(b.name,"s"));b.isPure&&a.push(b.name,".isPure="+JSON.stringify(b.isPure)+";")});b.length&&a.push("fn.inputs=["+b.map(function(a){return a.name}).join(",")+"];");return a.join("")},generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;p(this.state.filters,function(d,c){a.push(d+"=$filter("+b.escape(c)+")")});return a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length? -"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,b,d,c,e,f){var g,k,h=this,l,m,n;c=c||C;if(!f&&t(a.watchId))b=b||this.nextId(),this.if_("i",this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,d,c,e,!0));else switch(a.type){case r.Program:p(a.body,function(b,c){h.recurse(b.expression,void 0,void 0,function(a){k=a});c!==a.body.length-1?h.current().body.push(k,";"):h.return_(k)});break;case r.Literal:m=this.escape(a.value); -this.assign(b,m);c(b||m);break;case r.UnaryExpression:this.recurse(a.argument,void 0,void 0,function(a){k=a});m=a.operator+"("+this.ifDefined(k,0)+")";this.assign(b,m);c(m);break;case r.BinaryExpression:this.recurse(a.left,void 0,void 0,function(a){g=a});this.recurse(a.right,void 0,void 0,function(a){k=a});m="+"===a.operator?this.plus(g,k):"-"===a.operator?this.ifDefined(g,0)+a.operator+this.ifDefined(k,0):"("+g+")"+a.operator+"("+k+")";this.assign(b,m);c(m);break;case r.LogicalExpression:b=b||this.nextId(); -h.recurse(a.left,b);h.if_("&&"===a.operator?b:h.not(b),h.lazyRecurse(a.right,b));c(b);break;case r.ConditionalExpression:b=b||this.nextId();h.recurse(a.test,b);h.if_(b,h.lazyRecurse(a.alternate,b),h.lazyRecurse(a.consequent,b));c(b);break;case r.Identifier:b=b||this.nextId();d&&(d.context="inputs"===h.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name);h.if_("inputs"===h.stage||h.not(h.getHasOwnProperty("l",a.name)),function(){h.if_("inputs"=== -h.stage||"s",function(){e&&1!==e&&h.if_(h.isNull(h.nonComputedMember("s",a.name)),h.lazyAssign(h.nonComputedMember("s",a.name),"{}"));h.assign(b,h.nonComputedMember("s",a.name))})},b&&h.lazyAssign(b,h.nonComputedMember("l",a.name)));c(b);break;case r.MemberExpression:g=d&&(d.context=this.nextId())||this.nextId();b=b||this.nextId();h.recurse(a.object,g,void 0,function(){h.if_(h.notNull(g),function(){a.computed?(k=h.nextId(),h.recurse(a.property,k),h.getStringValue(k),e&&1!==e&&h.if_(h.not(h.computedMember(g, -k)),h.lazyAssign(h.computedMember(g,k),"{}")),m=h.computedMember(g,k),h.assign(b,m),d&&(d.computed=!0,d.name=k)):(e&&1!==e&&h.if_(h.isNull(h.nonComputedMember(g,a.property.name)),h.lazyAssign(h.nonComputedMember(g,a.property.name),"{}")),m=h.nonComputedMember(g,a.property.name),h.assign(b,m),d&&(d.computed=!1,d.name=a.property.name))},function(){h.assign(b,"undefined")});c(b)},!!e);break;case r.CallExpression:b=b||this.nextId();a.filter?(k=h.filter(a.callee.name),l=[],p(a.arguments,function(a){var b= -h.nextId();h.recurse(a,b);l.push(b)}),m=k+"("+l.join(",")+")",h.assign(b,m),c(b)):(k=h.nextId(),g={},l=[],h.recurse(a.callee,k,g,function(){h.if_(h.notNull(k),function(){p(a.arguments,function(b){h.recurse(b,a.constant?void 0:h.nextId(),void 0,function(a){l.push(a)})});m=g.name?h.member(g.context,g.name,g.computed)+"("+l.join(",")+")":k+"("+l.join(",")+")";h.assign(b,m)},function(){h.assign(b,"undefined")});c(b)}));break;case r.AssignmentExpression:k=this.nextId();g={};this.recurse(a.left,void 0, -g,function(){h.if_(h.notNull(g.context),function(){h.recurse(a.right,k);m=h.member(g.context,g.name,g.computed)+a.operator+k;h.assign(b,m);c(b||m)})},1);break;case r.ArrayExpression:l=[];p(a.elements,function(b){h.recurse(b,a.constant?void 0:h.nextId(),void 0,function(a){l.push(a)})});m="["+l.join(",")+"]";this.assign(b,m);c(b||m);break;case r.ObjectExpression:l=[];n=!1;p(a.properties,function(a){a.computed&&(n=!0)});n?(b=b||this.nextId(),this.assign(b,"{}"),p(a.properties,function(a){a.computed? -(g=h.nextId(),h.recurse(a.key,g)):g=a.key.type===r.Identifier?a.key.name:""+a.key.value;k=h.nextId();h.recurse(a.value,k);h.assign(h.member(b,g,a.computed),k)})):(p(a.properties,function(b){h.recurse(b.value,a.constant?void 0:h.nextId(),void 0,function(a){l.push(h.escape(b.key.type===r.Identifier?b.key.name:""+b.key.value)+":"+a)})}),m="{"+l.join(",")+"}",this.assign(b,m));c(b||m);break;case r.ThisExpression:this.assign(b,"s");c(b||"s");break;case r.LocalsExpression:this.assign(b,"l");c(b||"l");break; -case r.NGValueParameter:this.assign(b,"v"),c(b||"v")}},getHasOwnProperty:function(a,b){var d=a+"."+b,c=this.current().own;c.hasOwnProperty(d)||(c[d]=this.nextId(!1,a+"&&("+this.escape(b)+" in "+a+")"));return c[d]},assign:function(a,b){if(a)return this.current().body.push(a,"=",b,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a, -b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,b,d){if(!0===a)b();else{var c=this.current().body;c.push("if(",a,"){");b();c.push("}");d&&(c.push("else{"),d(),c.push("}"))}},not:function(a){return"!("+a+")"},isNull:function(a){return a+"==null"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,b){var d=/[^$_a-zA-Z0-9]/g;return/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(b)?a+"."+b:a+'["'+b.replace(d,this.stringEscapeFn)+'"]'},computedMember:function(a, -b){return a+"["+b+"]"},member:function(a,b,d){return d?this.computedMember(a,b):this.nonComputedMember(a,b)},getStringValue:function(a){this.assign(a,"getStringValue("+a+")")},lazyRecurse:function(a,b,d,c,e,f){var g=this;return function(){g.recurse(a,b,d,c,e,f)}},lazyAssign:function(a,b){var d=this;return function(){d.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(D(a))return"'"+a.replace(this.stringEscapeRegex, -this.stringEscapeFn)+"'";if(Y(a))return a.toString();if(!0===a)return"true";if(!1===a)return"false";if(null===a)return"null";if("undefined"===typeof a)return"undefined";throw Ya("esc");},nextId:function(a,b){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(b?"="+b:""));return d},current:function(){return this.state[this.state.computing]}};Kd.prototype={compile:function(a){var b=this;V(a,b.$filter);var d,c;if(d=Id(a))c=this.recurse(d);d=Gd(a.body);var e;d&&(e=[],p(d,function(a,c){var d= -b.recurse(a);d.isPure=a.isPure;a.input=d;e.push(d);a.watchId=c}));var f=[];p(a.body,function(a){f.push(b.recurse(a.expression))});a=0===a.body.length?C:1===a.body.length?f[0]:function(a,b){var c;p(f,function(d){c=d(a,b)});return c};c&&(a.assign=function(a,b,d){return c(a,d,b)});e&&(a.inputs=e);return a},recurse:function(a,b,d){var c,e,f=this,g;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case r.Literal:return this.value(a.value,b);case r.UnaryExpression:return e=this.recurse(a.argument), -this["unary"+a.operator](e,b);case r.BinaryExpression:return c=this.recurse(a.left),e=this.recurse(a.right),this["binary"+a.operator](c,e,b);case r.LogicalExpression:return c=this.recurse(a.left),e=this.recurse(a.right),this["binary"+a.operator](c,e,b);case r.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case r.Identifier:return f.identifier(a.name,b,d);case r.MemberExpression:return c=this.recurse(a.object,!1,!!d),a.computed|| -(e=a.property.name),a.computed&&(e=this.recurse(a.property)),a.computed?this.computedMember(c,e,b,d):this.nonComputedMember(c,e,b,d);case r.CallExpression:return g=[],p(a.arguments,function(a){g.push(f.recurse(a))}),a.filter&&(e=this.$filter(a.callee.name)),a.filter||(e=this.recurse(a.callee,!0)),a.filter?function(a,c,d,f){for(var n=[],q=0;q":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)>b(c,e,f,g);return d?{value:c}:c}},"binary<=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f, -g)<=b(c,e,f,g);return d?{value:c}:c}},"binary>=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)>=b(c,e,f,g);return d?{value:c}:c}},"binary&&":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)&&b(c,e,f,g);return d?{value:c}:c}},"binary||":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)||b(c,e,f,g);return d?{value:c}:c}},"ternary?:":function(a,b,d,c){return function(e,f,g,k){e=a(e,f,g,k)?b(e,f,g,k):d(e,f,g,k);return c?{value:e}:e}},value:function(a,b){return function(){return b?{context:void 0, -name:void 0,value:a}:a}},identifier:function(a,b,d){return function(c,e,f,g){c=e&&a in e?e:c;d&&1!==d&&c&&null==c[a]&&(c[a]={});e=c?c[a]:void 0;return b?{context:c,name:a,value:e}:e}},computedMember:function(a,b,d,c){return function(e,f,g,k){var h=a(e,f,g,k),l,m;null!=h&&(l=b(e,f,g,k),l+="",c&&1!==c&&h&&!h[l]&&(h[l]={}),m=h[l]);return d?{context:h,name:l,value:m}:m}},nonComputedMember:function(a,b,d,c){return function(e,f,g,k){e=a(e,f,g,k);c&&1!==c&&e&&null==e[b]&&(e[b]={});f=null!=e?e[b]:void 0; -return d?{context:e,name:b,value:f}:f}},inputs:function(a,b){return function(d,c,e,f){return f?f[b]:a(d,c,e)}}};xc.prototype={constructor:xc,parse:function(a){a=this.ast.ast(a);var b=this.astCompiler.compile(a);b.literal=0===a.body.length||1===a.body.length&&(a.body[0].expression.type===r.Literal||a.body[0].expression.type===r.ArrayExpression||a.body[0].expression.type===r.ObjectExpression);b.constant=a.constant;return b}};var wa=M("$sce"),oa={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl", -JS:"js"},Ac=/_([a-z])/g,Gg=M("$compile"),X=u.document.createElement("a"),Od=ua(u.location.href);Pd.$inject=["$document"];ed.$inject=["$provide"];var Wd=22,Vd=".",Cc="0";Qd.$inject=["$locale"];Sd.$inject=["$locale"];var Rg={yyyy:da("FullYear",4,0,!1,!0),yy:da("FullYear",2,0,!0,!0),y:da("FullYear",1,0,!1,!0),MMMM:ob("Month"),MMM:ob("Month",!0),MM:da("Month",2,1),M:da("Month",1,1),LLLL:ob("Month",!1,!0),dd:da("Date",2),d:da("Date",1),HH:da("Hours",2),H:da("Hours",1),hh:da("Hours",2,-12),h:da("Hours", -1,-12),mm:da("Minutes",2),m:da("Minutes",1),ss:da("Seconds",2),s:da("Seconds",1),sss:da("Milliseconds",3),EEEE:ob("Day"),EEE:ob("Day",!0),a:function(a,b){return 12>a.getHours()?b.AMPMS[0]:b.AMPMS[1]},Z:function(a,b,d){a=-1*d;return a=(0<=a?"+":"")+(Mb(Math[0=a.getFullYear()?b.ERANAMES[0]:b.ERANAMES[1]}},Qg=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))([\s\S]*)/, -Pg=/^-?\d+$/;Rd.$inject=["$locale"];var Kg=ka(N),Lg=ka(wb);Td.$inject=["$parse"];var He=ka({restrict:"E",compile:function(a,b){if(!b.href&&!b.xlinkHref)return function(a,b){if("a"===b[0].nodeName.toLowerCase()){var e="[object SVGAnimatedString]"===ha.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(e)||a.preventDefault()})}}}}),xb={};p(Hb,function(a,b){function d(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}if("multiple"!==a){var c=Ea("ng-"+b),e=d;"checked"===a&&(e=function(a, -b,e){e.ngModel!==e[c]&&d(a,b,e)});xb[c]=function(){return{restrict:"A",priority:100,link:e}}}});p(sd,function(a,b){xb[b]=function(){return{priority:100,link:function(a,c,e){if("ngPattern"===b&&"/"===e.ngPattern.charAt(0)&&(c=e.ngPattern.match(Vg))){e.$set("ngPattern",new RegExp(c[1],c[2]));return}a.$watch(e[b],function(a){e.$set(b,a)})}}}});p(["src","srcset","href"],function(a){var b=Ea("ng-"+a);xb[b]=function(){return{priority:99,link:function(d,c,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"=== -ha.call(c.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null);e.$observe(b,function(b){b?(e.$set(g,b),Ca&&f&&c.prop(f,e[g])):"href"===a&&e.$set(g,null)})}}}});var Ob={$addControl:C,$$renameControl:function(a,b){a.$name=b},$removeControl:C,$setValidity:C,$setDirty:C,$setPristine:C,$setSubmitted:C};Nb.$inject=["$element","$attrs","$scope","$animate","$interpolate"];Nb.prototype={$rollbackViewValue:function(){p(this.$$controls,function(a){a.$rollbackViewValue()})},$commitViewValue:function(){p(this.$$controls, -function(a){a.$commitViewValue()})},$addControl:function(a){Ia(a.$name,"input");this.$$controls.push(a);a.$name&&(this[a.$name]=a);a.$$parentForm=this},$$renameControl:function(a,b){var d=a.$name;this[d]===a&&delete this[d];this[b]=a;a.$name=b},$removeControl:function(a){a.$name&&this[a.$name]===a&&delete this[a.$name];p(this.$pending,function(b,d){this.$setValidity(d,null,a)},this);p(this.$error,function(b,d){this.$setValidity(d,null,a)},this);p(this.$$success,function(b,d){this.$setValidity(d,null, -a)},this);db(this.$$controls,a);a.$$parentForm=Ob},$setDirty:function(){this.$$animate.removeClass(this.$$element,Za);this.$$animate.addClass(this.$$element,Tb);this.$dirty=!0;this.$pristine=!1;this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,Za,Tb+" ng-submitted");this.$dirty=!1;this.$pristine=!0;this.$submitted=!1;p(this.$$controls,function(a){a.$setPristine()})},$setUntouched:function(){p(this.$$controls,function(a){a.$setUntouched()})},$setSubmitted:function(){this.$$animate.addClass(this.$$element, -"ng-submitted");this.$submitted=!0;this.$$parentForm.$setSubmitted()}};ae({clazz:Nb,set:function(a,b,d){var c=a[b];c?-1===c.indexOf(d)&&c.push(d):a[b]=[d]},unset:function(a,b,d){var c=a[b];c&&(db(c,d),0===c.length&&delete a[b])}});var ie=function(a){return["$timeout","$parse",function(b,d){function c(a){return""===a?d('this[""]').assign:d(a).assign||C}return{name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:Nb,compile:function(d,f){d.addClass(Za).addClass(pb);var g=f.name?"name": -a&&f.ngForm?"ngForm":!1;return{pre:function(a,d,e,f){var n=f[0];if(!("action"in e)){var q=function(b){a.$apply(function(){n.$commitViewValue();n.$setSubmitted()});b.preventDefault()};d[0].addEventListener("submit",q);d.on("$destroy",function(){b(function(){d[0].removeEventListener("submit",q)},0,!1)})}(f[1]||n.$$parentForm).$addControl(n);var p=g?c(n.$name):C;g&&(p(a,n),e.$observe(g,function(b){n.$name!==b&&(p(a,void 0),n.$$parentForm.$$renameControl(n,b),p=c(n.$name),p(a,n))}));d.on("$destroy",function(){n.$$parentForm.$removeControl(n); -p(a,void 0);P(n,Ob)})}}}}}]},Ie=ie(),Ue=ie(!0),Sg=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,dh=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,eh=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Tg=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,je=/^(\d{4,})-(\d{2})-(\d{2})$/, -ke=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Kc=/^(\d{4,})-W(\d\d)$/,le=/^(\d{4,})-(\d\d)$/,me=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,ce=S();p(["date","datetime-local","month","time","week"],function(a){ce[a]=!0});var ne={text:function(a,b,d,c,e,f){Wa(a,b,d,c,e,f);Fc(c)},date:qb("date",je,Pb(je,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":qb("datetimelocal",ke,Pb(ke,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:qb("time",me,Pb(me,["HH","mm", -"ss","sss"]),"HH:mm:ss.sss"),week:qb("week",Kc,function(a,b){if(ea(a))return a;if(D(a)){Kc.lastIndex=0;var d=Kc.exec(a);if(d){var c=+d[1],e=+d[2],f=d=0,g=0,k=0,h=Xd(c),e=7*(e-1);b&&(d=b.getHours(),f=b.getMinutes(),g=b.getSeconds(),k=b.getMilliseconds());return new Date(c,0,h.getDate()+e,d,f,g,k)}}return NaN},"yyyy-Www"),month:qb("month",le,Pb(le,["yyyy","MM"]),"yyyy-MM"),number:function(a,b,d,c,e,f){Gc(a,b,d,c);de(c);Wa(a,b,d,c,e,f);var g,k;if(t(d.min)||d.ngMin)c.$validators.min=function(a){return c.$isEmpty(a)|| -w(g)||a>=g},d.$observe("min",function(a){g=Xa(a);c.$validate()});if(t(d.max)||d.ngMax)c.$validators.max=function(a){return c.$isEmpty(a)||w(k)||a<=k},d.$observe("max",function(a){k=Xa(a);c.$validate()});if(t(d.step)||d.ngStep){var h;c.$validators.step=function(a,b){return c.$isEmpty(b)||w(h)||ee(b,g||0,h)};d.$observe("step",function(a){h=Xa(a);c.$validate()})}},url:function(a,b,d,c,e,f){Wa(a,b,d,c,e,f);Fc(c);c.$$parserName="url";c.$validators.url=function(a,b){var d=a||b;return c.$isEmpty(d)||dh.test(d)}}, -email:function(a,b,d,c,e,f){Wa(a,b,d,c,e,f);Fc(c);c.$$parserName="email";c.$validators.email=function(a,b){var d=a||b;return c.$isEmpty(d)||eh.test(d)}},radio:function(a,b,d,c){var e=!d.ngTrim||"false"!==Q(d.ngTrim);w(d.name)&&b.attr("name",++sb);b.on("click",function(a){var g;b[0].checked&&(g=d.value,e&&(g=Q(g)),c.$setViewValue(g,a&&a.type))});c.$render=function(){var a=d.value;e&&(a=Q(a));b[0].checked=a===c.$viewValue};d.$observe("value",c.$render)},range:function(a,b,d,c,e,f){function g(a,c){b.attr(a, -d[a]);d.$observe(a,c)}function k(a){n=Xa(a);T(c.$modelValue)||(m?(a=b.val(),n>a&&(a=n,b.val(a)),c.$setViewValue(a)):c.$validate())}function h(a){q=Xa(a);T(c.$modelValue)||(m?(a=b.val(),q=n},g("min",k));e&&(c.$validators.max=m?function(){return!0}:function(a,b){return c.$isEmpty(b)||w(q)||b<=q},g("max",h));f&&(c.$validators.step=m?function(){return!r.stepMismatch}:function(a,b){return c.$isEmpty(b)||w(p)||ee(b,n||0,p)},g("step",l))},checkbox:function(a,b,d,c,e, -f,g,k){var h=fe(k,a,"ngTrueValue",d.ngTrueValue,!0),l=fe(k,a,"ngFalseValue",d.ngFalseValue,!1);b.on("click",function(a){c.$setViewValue(b[0].checked,a&&a.type)});c.$render=function(){b[0].checked=c.$viewValue};c.$isEmpty=function(a){return!1===a};c.$formatters.push(function(a){return sa(a,h)});c.$parsers.push(function(a){return a?h:l})},hidden:C,button:C,submit:C,reset:C,file:C},Zc=["$browser","$sniffer","$filter","$parse",function(a,b,d,c){return{restrict:"E",require:["?ngModel"],link:{pre:function(e, -f,g,k){k[0]&&(ne[N(g.type)]||ne.text)(e,f,g,k[0],b,a,d,c)}}}}],fh=/^(true|false|\d+)$/,mf=function(){function a(a,d,c){var e=t(c)?c:9===Ca?"":null;a.prop("value",e);d.$set("value",c)}return{restrict:"A",priority:100,compile:function(b,d){return fh.test(d.ngValue)?function(b,d,f){b=b.$eval(f.ngValue);a(d,f,b)}:function(b,d,f){b.$watch(f.ngValue,function(b){a(d,f,b)})}}}},Me=["$compile",function(a){return{restrict:"AC",compile:function(b){a.$$addBindingClass(b);return function(b,c,e){a.$$addBindingInfo(c, -e.ngBind);c=c[0];b.$watch(e.ngBind,function(a){c.textContent=dc(a)})}}}}],Oe=["$interpolate","$compile",function(a,b){return{compile:function(d){b.$$addBindingClass(d);return function(c,d,f){c=a(d.attr(f.$attr.ngBindTemplate));b.$$addBindingInfo(d,c.expressions);d=d[0];f.$observe("ngBindTemplate",function(a){d.textContent=w(a)?"":a})}}}}],Ne=["$sce","$parse","$compile",function(a,b,d){return{restrict:"A",compile:function(c,e){var f=b(e.ngBindHtml),g=b(e.ngBindHtml,function(b){return a.valueOf(b)}); -d.$$addBindingClass(c);return function(b,c,e){d.$$addBindingInfo(c,e.ngBindHtml);b.$watch(g,function(){var d=f(b);c.html(a.getTrustedHtml(d)||"")})}}}}],lf=ka({restrict:"A",require:"ngModel",link:function(a,b,d,c){c.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Pe=Ic("",!0),Re=Ic("Odd",0),Qe=Ic("Even",1),Se=Qa({compile:function(a,b){b.$set("ngCloak",void 0);a.removeClass("ng-cloak")}}),Te=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],dd={},gh={blur:!0,focus:!0}; -p("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=Ea("ng-"+a);dd[b]=["$parse","$rootScope",function(d,c){return{restrict:"A",compile:function(e,f){var g=d(f[b]);return function(b,d){d.on(a,function(d){var e=function(){g(b,{$event:d})};gh[a]&&c.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var We=["$animate","$compile",function(a,b){return{multiElement:!0,transclude:"element",priority:600, -terminal:!0,restrict:"A",$$tlb:!0,link:function(d,c,e,f,g){var k,h,l;d.$watch(e.ngIf,function(d){d?h||g(function(d,f){h=f;d[d.length++]=b.$$createComment("end ngIf",e.ngIf);k={clone:d};a.enter(d,c.parent(),c)}):(l&&(l.remove(),l=null),h&&(h.$destroy(),h=null),k&&(l=vb(k.clone),a.leave(l).done(function(a){!1!==a&&(l=null)}),k=null))})}}}],Xe=["$templateRequest","$anchorScroll","$animate",function(a,b,d){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:$.noop,compile:function(c, -e){var f=e.ngInclude||e.src,g=e.onload||"",k=e.autoscroll;return function(c,e,m,n,q){var p=0,r,z,v,s=function(){z&&(z.remove(),z=null);r&&(r.$destroy(),r=null);v&&(d.leave(v).done(function(a){!1!==a&&(z=null)}),z=v,v=null)};c.$watch(f,function(f){var m=function(a){!1===a||!t(k)||k&&!c.$eval(k)||b()},y=++p;f?(a(f,!0).then(function(a){if(!c.$$destroyed&&y===p){var b=c.$new();n.template=a;a=q(b,function(a){s();d.enter(a,null,e).done(m)});r=b;v=a;r.$emit("$includeContentLoaded",f);c.$eval(g)}},function(){c.$$destroyed|| -y!==p||(s(),c.$emit("$includeContentError",f))}),c.$emit("$includeContentRequested",f)):(s(),n.template=null)})}}}}],of=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(b,d,c,e){ha.call(d[0]).match(/SVG/)?(d.empty(),a(fd(e.template,u.document).childNodes)(b,function(a){d.append(a)},{futureParentElement:d})):(d.html(e.template),a(d.contents())(b))}}}],Ye=Qa({priority:450,compile:function(){return{pre:function(a,b,d){a.$eval(d.ngInit)}}}}),kf=function(){return{restrict:"A", -priority:100,require:"ngModel",link:function(a,b,d,c){var e=d.ngList||", ",f="false"!==d.ngTrim,g=f?Q(e):e;c.$parsers.push(function(a){if(!w(a)){var b=[];a&&p(a.split(g),function(a){a&&b.push(f?Q(a):a)});return b}});c.$formatters.push(function(a){if(I(a))return a.join(e)});c.$isEmpty=function(a){return!a||!a.length}}}},pb="ng-valid",$d="ng-invalid",Za="ng-pristine",Tb="ng-dirty",rb=M("ngModel");Qb.$inject="$scope $exceptionHandler $attrs $element $parse $animate $timeout $q $interpolate".split(" "); -Qb.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var a=this.$$parse(this.$$attr.ngModel+"()"),b=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function(b){var c=this.$$parsedNgModel(b);A(c)&&(c=a(b));return c};this.$$ngModelSet=function(a,c){A(this.$$parsedNgModel(a))?b(a,{$$$p:c}):this.$$parsedNgModelAssign(a,c)}}else if(!this.$$parsedNgModel.assign)throw rb("nonassign",this.$$attr.ngModel,Aa(this.$$element));},$render:C,$isEmpty:function(a){return w(a)|| -""===a||null===a||a!==a},$$updateEmptyClasses:function(a){this.$isEmpty(a)?(this.$$animate.removeClass(this.$$element,"ng-not-empty"),this.$$animate.addClass(this.$$element,"ng-empty")):(this.$$animate.removeClass(this.$$element,"ng-empty"),this.$$animate.addClass(this.$$element,"ng-not-empty"))},$setPristine:function(){this.$dirty=!1;this.$pristine=!0;this.$$animate.removeClass(this.$$element,Tb);this.$$animate.addClass(this.$$element,Za)},$setDirty:function(){this.$dirty=!0;this.$pristine=!1;this.$$animate.removeClass(this.$$element, -Za);this.$$animate.addClass(this.$$element,Tb);this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1;this.$untouched=!0;this.$$animate.setClass(this.$$element,"ng-untouched","ng-touched")},$setTouched:function(){this.$touched=!0;this.$untouched=!1;this.$$animate.setClass(this.$$element,"ng-touched","ng-untouched")},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce);this.$viewValue=this.$$lastCommittedViewValue;this.$render()},$validate:function(){if(!T(this.$modelValue)){var a= -this.$$lastCommittedViewValue,b=this.$$rawModelValue,d=this.$valid,c=this.$modelValue,e=this.$options.getOption("allowInvalid"),f=this;this.$$runValidators(b,a,function(a){e||d===a||(f.$modelValue=a?b:void 0,f.$modelValue!==c&&f.$$writeModelToScope())})}},$$runValidators:function(a,b,d){function c(){var c=!0;p(h.$validators,function(d,e){var g=Boolean(d(a,b));c=c&&g;f(e,g)});return c?!0:(p(h.$asyncValidators,function(a,b){f(b,null)}),!1)}function e(){var c=[],d=!0;p(h.$asyncValidators,function(e, -g){var h=e(a,b);if(!h||!A(h.then))throw rb("nopromise",h);f(g,void 0);c.push(h.then(function(){f(g,!0)},function(){d=!1;f(g,!1)}))});c.length?h.$$q.all(c).then(function(){g(d)},C):g(!0)}function f(a,b){k===h.$$currentValidationRunId&&h.$setValidity(a,b)}function g(a){k===h.$$currentValidationRunId&&d(a)}this.$$currentValidationRunId++;var k=this.$$currentValidationRunId,h=this;(function(){var a=h.$$parserName||"parse";if(w(h.$$parserValid))f(a,null);else return h.$$parserValid||(p(h.$validators,function(a, -b){f(b,null)}),p(h.$asyncValidators,function(a,b){f(b,null)})),f(a,h.$$parserValid),h.$$parserValid;return!0})()?c()?e():g(!1):g(!1)},$commitViewValue:function(){var a=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce);if(this.$$lastCommittedViewValue!==a||""===a&&this.$$hasNativeValidators)this.$$updateEmptyClasses(a),this.$$lastCommittedViewValue=a,this.$pristine&&this.$setDirty(),this.$$parseAndValidate()},$$parseAndValidate:function(){var a=this.$$lastCommittedViewValue,b=this;if(this.$$parserValid= -w(a)?void 0:!0)for(var d=0;de||c.$isEmpty(b)||b.length<=e}}}}},bd=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,d,c){if(c){var e=0;d.$observe("minlength",function(a){e=Z(a)||0;c.$validate()});c.$validators.minlength=function(a,b){return c.$isEmpty(b)||b.length>=e}}}}};u.angular.bootstrap?u.console&&console.log("WARNING: Tried to load angular more than once."): -(Be(),Ee($),$.module("ngLocale",[],["$provide",function(a){function b(a){a+="";var b=a.indexOf(".");return-1==b?0:a.length-b-1}a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:"January February March April May June July August September October November December".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), -STANDALONEMONTH:"January February March April May June July August September October November December".split(" "),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:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(a,c){var e=a|0,f=c;void 0===f&&(f=Math.min(b(a),3));Math.pow(10,f);return 1==e&&0==f?"one":"other"}})}]),B(function(){we(u.document,Uc)}))})(window);!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(''); -//# sourceMappingURL=angular.min.js.map diff --git a/pwa-backend/src/main/webapp/backoffice/libs/angular/angular.min.js.map b/pwa-backend/src/main/webapp/backoffice/libs/angular/angular.min.js.map deleted file mode 100644 index e34cafc..0000000 --- a/pwa-backend/src/main/webapp/backoffice/libs/angular/angular.min.js.map +++ /dev/null @@ -1,8 +0,0 @@ -{ -"version":3, -"file":"angular.min.js", -"lineCount":334, -"mappings":"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", -"sources":["angular.js"], -"names":["window","errorHandlingConfig","config","isObject","isDefined","objectMaxDepth","minErrConfig","isValidObjectMaxDepth","NaN","maxDepth","isNumber","minErr","isArrayLike","obj","isWindow","isArray","isString","jqLite","length","Object","Array","item","forEach","iterator","context","key","isFunction","hasOwnProperty","call","isPrimitive","isBlankObject","forEachSorted","keys","sort","i","reverseParams","iteratorFn","value","nextUid","uid","baseExtend","dst","objs","deep","h","$$hashKey","ii","j","jj","src","isDate","Date","valueOf","isRegExp","RegExp","nodeName","cloneNode","isElement","clone","extend","slice","arguments","merge","toInt","str","parseInt","inherit","parent","extra","create","noop","identity","$","valueFn","valueRef","hasCustomToString","toString","isUndefined","getPrototypeOf","isError","tag","Error","isScope","$evalAsync","$watch","isBoolean","isTypedArray","TYPED_ARRAY_REGEXP","test","node","prop","attr","find","makeMap","items","split","nodeName_","element","lowercase","arrayRemove","array","index","indexOf","splice","copy","source","destination","copyRecurse","push","copyElement","stackSource","stackDest","ngMinErr","needsRecurse","copyType","undefined","constructor","buffer","byteOffset","copied","ArrayBuffer","byteLength","set","Uint8Array","re","match","lastIndex","type","simpleCompare","a","b","equals","o1","o2","t1","t2","getTime","keySet","createMap","charAt","concat","array1","array2","bind","self","fn","curryArgs","startIndex","apply","toJsonReplacer","val","document","toJson","pretty","JSON","stringify","fromJson","json","parse","timezoneToOffset","timezone","fallback","replace","ALL_COLONS","requestedTimezoneOffset","isNumberNaN","convertTimezoneToLocal","date","reverse","dateTimezoneOffset","getTimezoneOffset","timezoneOffset","setMinutes","getMinutes","minutes","startingTag","empty","elemHtml","append","html","nodeType","NODE_TYPE_TEXT","e","tryDecodeURIComponent","decodeURIComponent","parseKeyValue","keyValue","splitPoint","substring","toKeyValue","parts","arrayValue","encodeUriQuery","join","encodeUriSegment","pctEncodeSpaces","encodeURIComponent","getNgAttribute","ngAttr","ngAttrPrefixes","getAttribute","angularInit","bootstrap","appElement","module","prefix","name","hasAttribute","candidate","querySelector","isAutoBootstrapAllowed","strictDi","console","error","modules","defaultConfig","doBootstrap","injector","unshift","$provide","debugInfoEnabled","$compileProvider","createInjector","invoke","bootstrapApply","scope","compile","$apply","data","NG_ENABLE_DEBUG_INFO","NG_DEFER_BOOTSTRAP","angular","resumeBootstrap","angular.resumeBootstrap","extraModules","resumeDeferredBootstrap","reloadWithDebugInfo","location","reload","getTestability","rootElement","get","snake_case","separator","SNAKE_CASE_REGEXP","letter","pos","toLowerCase","bindJQuery","originalCleanData","bindJQueryFired","jqName","jq","jQuery","on","JQLitePrototype","isolateScope","controller","inheritedData","cleanData","jQuery.cleanData","elems","events","elem","_data","$destroy","triggerHandler","JQLite","assertArg","arg","reason","assertArgFn","acceptArrayAnnotation","assertNotHasOwnProperty","getter","path","bindFnToScope","lastInstance","len","getBlockNodes","nodes","endNode","blockNodes","nextSibling","setupModuleLoader","ensure","factory","$injectorMinErr","$$minErr","requires","configFn","info","invokeLater","provider","method","insertMethod","queue","invokeQueue","moduleInstance","invokeLaterAndSetModuleName","recipeName","factoryFunction","$$moduleName","configBlocks","runBlocks","_invokeQueue","_configBlocks","_runBlocks","service","constant","decorator","animation","filter","directive","component","run","block","shallowCopy","serializeObject","seen","publishExternalAPI","version","uppercase","$$counter","csp","angularModule","ngModule","$$sanitizeUri","$$SanitizeUriProvider","$CompileProvider","htmlAnchorDirective","input","inputDirective","textarea","form","formDirective","script","scriptDirective","select","selectDirective","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","required","requiredDirective","ngRequired","minlength","minlengthDirective","ngMinlength","maxlength","maxlengthDirective","ngMaxlength","ngValue","ngValueDirective","ngModelOptions","ngModelOptionsDirective","ngIncludeFillContentDirective","ngAttributeAliasDirectives","ngEventDirectives","$anchorScroll","$AnchorScrollProvider","$animate","$AnimateProvider","$animateCss","$CoreAnimateCssProvider","$$animateJs","$$CoreAnimateJsProvider","$$animateQueue","$$CoreAnimateQueueProvider","$$AnimateRunner","$$AnimateRunnerFactoryProvider","$$animateAsyncRun","$$AnimateAsyncRunFactoryProvider","$browser","$BrowserProvider","$cacheFactory","$CacheFactoryProvider","$controller","$ControllerProvider","$document","$DocumentProvider","$$isDocumentHidden","$$IsDocumentHiddenProvider","$exceptionHandler","$ExceptionHandlerProvider","$filter","$FilterProvider","$$forceReflow","$$ForceReflowProvider","$interpolate","$InterpolateProvider","$interval","$IntervalProvider","$http","$HttpProvider","$httpParamSerializer","$HttpParamSerializerProvider","$httpParamSerializerJQLike","$HttpParamSerializerJQLikeProvider","$httpBackend","$HttpBackendProvider","$xhrFactory","$xhrFactoryProvider","$jsonpCallbacks","$jsonpCallbacksProvider","$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","$$Map","$$MapProvider","$$cookieReader","$$CookieReaderProvider","angularVersion","fnCamelCaseReplace","all","toUpperCase","kebabToCamel","DASH_LOWERCASE_REGEXP","jqLiteAcceptsData","NODE_TYPE_ELEMENT","NODE_TYPE_DOCUMENT","jqLiteBuildFragment","tmp","fragment","createDocumentFragment","HTML_REGEXP","appendChild","createElement","TAG_NAME_REGEXP","exec","wrap","wrapMap","_default","innerHTML","XHTML_TAG_REGEXP","lastChild","childNodes","firstChild","textContent","createTextNode","argIsString","trim","jqLiteMinErr","parsed","SINGLE_TAG_REGEXP","jqLiteAddNodes","jqLiteReady","jqLiteClone","jqLiteDealoc","onlyDescendants","querySelectorAll","jqLiteOff","unsupported","expandoStore","jqLiteExpandoStore","handle","removeHandler","listenerFns","removeEventListener","MOUSE_EVENT_MAP","jqLiteRemoveData","expandoId","ng339","jqCache","createIfNecessary","jqId","jqLiteData","isSimpleSetter","isSimpleGetter","massGetter","jqLiteHasClass","selector","jqLiteRemoveClass","cssClasses","setAttribute","cssClass","jqLiteAddClass","existingClasses","root","elements","jqLiteController","jqLiteInheritedData","documentElement","names","parentNode","NODE_TYPE_DOCUMENT_FRAGMENT","host","jqLiteEmpty","removeChild","jqLiteRemove","keepData","jqLiteDocumentLoaded","action","win","readyState","setTimeout","trigger","addEventListener","getBooleanAttrName","booleanAttr","BOOLEAN_ATTR","BOOLEAN_ELEMENTS","createEventHandler","eventHandler","event","isDefaultPrevented","event.isDefaultPrevented","defaultPrevented","eventFns","eventFnsLength","immediatePropagationStopped","originalStopImmediatePropagation","stopImmediatePropagation","event.stopImmediatePropagation","stopPropagation","isImmediatePropagationStopped","event.isImmediatePropagationStopped","handlerWrapper","specialHandlerWrapper","defaultHandlerWrapper","handler","specialMouseHandlerWrapper","target","related","relatedTarget","jqLiteContains","$get","this.$get","hasClass","classes","addClass","removeClass","hashKey","nextUidFn","objType","NgMapShim","_keys","_values","_lastKey","_lastIndex","extractArgs","fnText","Function","prototype","STRIP_COMMENTS","ARROW_ARG","FN_ARGS","anonFn","args","modulesToLoad","supportObject","delegate","provider_","providerInjector","instantiate","providerCache","providerSuffix","enforceReturnValue","enforcedReturnValue","result","instanceInjector","factoryFn","enforce","loadModules","moduleFn","runInvokeQueue","invokeArgs","loadedModules","message","stack","createInternalInjector","cache","getService","serviceName","caller","INSTANTIATING","err","shift","injectionArgs","locals","$inject","$$annotate","msie","func","$$ngIsClass","Type","ctor","annotate","has","NgMap","$injector","instanceCache","decorFn","origProvider","orig$get","origProvider.$get","origInstance","$delegate","protoInstanceInjector","autoScrollingEnabled","disableAutoScrolling","this.disableAutoScrolling","getFirstAnchor","list","some","scrollTo","scrollIntoView","offset","scroll","yOffset","getComputedStyle","style","position","getBoundingClientRect","bottom","elemTop","top","scrollBy","hash","elm","getElementById","getElementsByName","autoScrollWatch","autoScrollWatchAction","newVal","oldVal","mergeClasses","splitClasses","klass","prepareAnimateOptions","options","Browser","completeOutstandingRequest","outstandingRequestCount","outstandingRequestCallbacks","pop","cacheStateAndFireUrlChange","pendingLocation","fireStateOrUrlChange","cacheState","cachedState","getCurrentState","lastCachedState","lastHistoryState","prevLastHistoryState","lastBrowserUrl","url","urlChangeListeners","listener","history","clearTimeout","pendingDeferIds","isMock","$$completeOutstandingRequest","$$incOutstandingRequestCount","self.$$incOutstandingRequestCount","notifyWhenNoOutstandingRequests","self.notifyWhenNoOutstandingRequests","callback","href","baseElement","state","self.url","sameState","sameBase","stripHash","substr","self.state","urlChangeInit","onUrlChange","self.onUrlChange","$$applicationDestroyed","self.$$applicationDestroyed","off","$$checkUrlChange","baseHref","self.baseHref","defer","self.defer","delay","timeoutId","cancel","self.defer.cancel","deferId","cacheFactory","cacheId","refresh","entry","freshEnd","staleEnd","n","link","p","nextEntry","prevEntry","caches","size","stats","id","capacity","Number","MAX_VALUE","lruHash","put","lruEntry","remove","removeAll","destroy","cacheFactory.info","cacheFactory.get","$$sanitizeUriProvider","parseIsolateBindings","directiveName","isController","LOCAL_REGEXP","bindings","definition","scopeName","bindingCache","$compileMinErr","mode","collection","optional","attrName","assertValidDirectiveName","getDirectiveRequire","require","REQUIRE_PREFIX_REGEXP","hasDirectives","COMMENT_DIRECTIVE_REGEXP","CLASS_DIRECTIVE_REGEXP","ALL_OR_NOTHING_ATTRS","EVENT_HANDLER_ATTR_REGEXP","this.directive","registerDirective","directiveFactory","Suffix","directives","priority","restrict","this.component","registerComponent","makeInjectable","tElement","tAttrs","$element","$attrs","template","templateUrl","ddo","controllerAs","identifierForController","transclude","bindToController","aHrefSanitizationWhitelist","this.aHrefSanitizationWhitelist","regexp","imgSrcSanitizationWhitelist","this.imgSrcSanitizationWhitelist","this.debugInfoEnabled","enabled","preAssignBindingsEnabled","this.preAssignBindingsEnabled","strictComponentBindingsEnabled","this.strictComponentBindingsEnabled","TTL","onChangesTtl","this.onChangesTtl","commentDirectivesEnabledConfig","commentDirectivesEnabled","this.commentDirectivesEnabled","cssClassDirectivesEnabledConfig","cssClassDirectivesEnabled","this.cssClassDirectivesEnabled","flushOnChangesQueue","onChangesQueue","errors","Attributes","attributesToCopy","l","$attr","$$element","setSpecialAttr","specialAttrHolder","attributes","attribute","removeNamedItem","setNamedItem","safeAddClass","className","$compileNodes","transcludeFn","maxPriority","ignoreDirective","previousCompileContext","compositeLinkFn","compileNodes","$$addScopeClass","namespace","publicLinkFn","cloneConnectFn","needsNewScope","$parent","$new","parentBoundTranscludeFn","transcludeControllers","futureParentElement","$$boundTransclude","$linkNode","wrapTemplate","controllerName","instance","$$addScopeInfo","nodeList","$rootElement","childLinkFn","childScope","childBoundTranscludeFn","stableNodeList","nodeLinkFnFound","linkFns","idx","nodeLinkFn","transcludeOnThisElement","createBoundTranscludeFn","templateOnThisElement","notLiveList","attrs","linkFnFound","mergeConsecutiveTextNodes","collectDirectives","applyDirectivesToNode","terminal","sibling","nodeValue","previousBoundTranscludeFn","boundTranscludeFn","transcludedScope","cloneFn","controllers","containingScope","$$transcluded","boundSlots","$$slots","slotName","attrsMap","addDirective","directiveNormalize","isNgAttr","nAttrs","attrStartName","attrEndName","ngAttrName","NG_ATTR_BINDING","PREFIX_REGEXP","multiElementMatch","MULTI_ELEMENT_DIR_RE","directiveIsMultiElement","nName","addAttrInterpolateDirective","animVal","addTextInterpolateDirective","NODE_TYPE_COMMENT","collectCommentDirectives","byPriority","groupScan","attrStart","attrEnd","depth","groupElementsLinkFnWrapper","linkFn","groupedElementsLink","compilationGenerator","eager","compiled","lazyCompilation","compileNode","templateAttrs","jqCollection","originalReplaceDirective","preLinkFns","postLinkFns","addLinkFns","pre","post","newIsolateScopeDirective","$$isolateScope","cloneAndAnnotateFn","linkNode","controllersBoundTransclude","cloneAttachFn","hasElementTranscludeDirective","elementControllers","slotTranscludeFn","scopeToChild","controllerScope","newScopeDirective","isSlotFilled","transcludeFn.isSlotFilled","controllerDirectives","setupControllers","templateDirective","$$originalDirective","$$isolateBindings","scopeBindingInfo","initializeDirectiveBindings","removeWatches","$on","controllerDirective","$$bindings","bindingInfo","controllerResult","getControllers","controllerInstance","$onChanges","initialChanges","$onInit","$doCheck","$onDestroy","callOnDestroyHook","invokeLinkFn","$postLink","terminalPriority","nonTlbTranscludeDirective","hasTranscludeDirective","hasTemplate","$compileNode","$template","childTranscludeFn","didScanForMultipleTransclusion","mightHaveMultipleTransclusionError","directiveValue","$$start","$$end","assertNoDuplicate","$$tlb","scanningIndex","candidateDirective","$$createComment","replaceWith","$$parentNode","replaceDirective","slots","slotMap","filledSlots","elementSelector","contents","filled","$$newScope","denormalizeTemplate","removeComments","templateNamespace","newTemplateAttrs","templateDirectives","unprocessedDirectives","markDirectiveScope","mergeTemplateAttributes","compileTemplateUrl","Math","max","inheritType","dataName","property","controllerKey","$scope","$transclude","newScope","tDirectives","startAttrName","endAttrName","multiElement","srcAttr","dstAttr","$set","linkQueue","afterTemplateNodeLinkFn","afterTemplateChildLinkFn","beforeTemplateCompileNode","origAsyncDirective","derivedSyncDirective","then","content","tempTemplateAttrs","beforeTemplateLinkNode","linkRootElement","$$destroyed","oldClasses","catch","delayedNodeLinkFn","ignoreChildLinkFn","diff","what","previousDirective","wrapModuleNameIfDefined","moduleName","text","interpolateFn","textInterpolateCompileFn","templateNode","templateNodeParent","hasCompileParent","$$addBindingClass","textInterpolateLinkFn","$$addBindingInfo","expressions","interpolateFnWatchAction","wrapper","getTrustedContext","attrNormalizedName","HTML","RESOURCE_URL","trustedContext","allOrNothing","mustHaveExpression","attrInterpolatePreLinkFn","$$observers","newValue","$$inter","$$scope","oldValue","$updateClass","elementsToRemove","newNode","firstElementToRemove","removeCount","j2","replaceChild","hasData","annotation","strictBindingsCheck","recordChanges","currentValue","previousValue","$$postDigest","changes","triggerOnChangesHook","SimpleChange","removeWatchCollection","initializeBinding","lastValue","parentGet","parentSet","compare","removeWatch","$observe","_UNINITIALIZED_VALUE","literal","assign","parentValueWatch","parentValue","$stateful","$watchCollection","deepWatch","initialValue","parentValueWatchAction","SIMPLE_ATTR_NAME","$normalize","$addClass","classVal","$removeClass","newClasses","toAdd","tokenDifference","toRemove","writeAttr","booleanKey","aliasedKey","ALIASED_ATTR","observer","trimmedSrcset","srcPattern","rawUris","nbrUrisWith2parts","floor","innerIdx","lastTuple","removeAttr","listeners","startSymbol","endSymbol","binding","isolated","noTemplate","compile.$$createComment","comment","createComment","previous","current","SPECIAL_CHARS_REGEXP","str1","str2","values","tokens1","tokens2","token","jqNodes","ident","CNTRL_REG","globals","this.has","register","this.register","allowGlobals","this.allowGlobals","addIdentifier","identifier","expression","later","$controllerMinErr","controllerPrototype","$controllerInit","changeListener","hidden","doc","exception","cause","serializeValue","v","toISOString","ngParamSerializer","params","jQueryLikeParamSerializer","serialize","toSerialize","topLevel","defaultHttpResponseTransform","headers","tempData","JSON_PROTECTION_PREFIX","contentType","hasJsonContentType","APPLICATION_JSON","jsonStart","JSON_START","JSON_ENDS","$httpMinErr","parseHeaders","line","headerVal","headerKey","headersGetter","headersObj","transformData","status","fns","defaults","transformResponse","transformRequest","d","common","CONTENT_TYPE_APPLICATION_JSON","patch","xsrfCookieName","xsrfHeaderName","paramSerializer","jsonpCallbackParam","useApplyAsync","this.useApplyAsync","interceptorFactories","interceptors","requestConfig","chainInterceptors","promise","thenFn","rejectFn","executeHeaderFns","headerContent","processedHeaders","headerFn","header","response","resp","reject","mergeHeaders","defHeaders","reqHeaders","defHeaderName","lowercaseDefHeaderName","reqHeaderName","requestInterceptors","responseInterceptors","resolve","reversedInterceptors","interceptor","request","requestError","responseError","serverRequest","reqData","withCredentials","sendReq","finally","createApplyHandlers","eventHandlers","applyHandlers","callEventHandler","$applyAsync","$$phase","done","headersString","statusText","xhrStatus","resolveHttpPromise","resolvePromise","deferred","resolvePromiseWithResult","removePendingReq","pendingRequests","cachedResp","isJsonp","getTrustedResourceUrl","buildUrl","sanitizeJsonpCallbackParam","defaultCache","xsrfValue","urlIsSameOrigin","timeout","responseType","uploadEventHandlers","serializedParams","callbackParamRegex","interceptorFactory","createShortMethods","createShortMethodsWithData","createXhr","XMLHttpRequest","createHttpBackend","$browserDefer","callbacks","rawDocument","jsonpReq","callbackPath","async","body","wasCalled","timeoutRequest","jsonpDone","xhr","abort","completeRequest","createCallback","getResponse","removeCallback","open","setRequestHeader","onload","xhr.onload","responseText","urlResolve","protocol","getAllResponseHeaders","onerror","onabort","requestAborted","ontimeout","requestTimeout","upload","send","this.startSymbol","this.endSymbol","escape","ch","unescapeText","escapedStartRegexp","escapedEndRegexp","constantWatchDelegate","objectEquality","constantInterp","unwatch","constantInterpolateWatch","parseStringifyInterceptor","getTrusted","$interpolateMinErr","interr","unescapedText","exp","$$watchDelegate","endIndex","parseFns","textLength","expressionPositions","startSymbolLength","endSymbolLength","throwNoconcat","compute","interpolationFn","$watchGroup","interpolateFnWatcher","oldValues","currValue","$interpolate.startSymbol","$interpolate.endSymbol","interval","count","invokeApply","hasParams","iteration","setInterval","clearInterval","skipApply","$$intervalId","tick","notify","intervals","interval.cancel","$$state","pur","encodePath","segments","parseAbsoluteUrl","absoluteUrl","locationObj","parsedUrl","$$protocol","$$host","hostname","$$port","port","DEFAULT_PORTS","parseAppUrl","DOUBLE_SLASH_REGEX","$locationMinErr","prefixed","$$path","pathname","$$search","search","$$hash","startsWith","stripBaseUrl","base","trimEmptyHash","LocationHtml5Url","appBase","appBaseNoFile","basePrefix","$$html5","$$parse","this.$$parse","pathUrl","$$compose","this.$$compose","$$url","$$absUrl","$$urlUpdatedByLocation","$$parseLinkUrl","this.$$parseLinkUrl","relHref","appUrl","prevAppUrl","rewrittenUrl","LocationHashbangUrl","hashPrefix","withoutBaseUrl","withoutHashUrl","windowsFilePathExp","firstPathSegmentMatch","LocationHashbangInHtml5Url","locationGetter","locationGetterSetter","preprocess","html5Mode","requireBase","rewriteLinks","this.hashPrefix","this.html5Mode","setBrowserUrlWithFallback","oldUrl","oldState","afterLocationChange","$broadcast","absUrl","LocationMode","initialUrl","lastIndexOf","IGNORE_URI_REGEXP","ctrlKey","metaKey","shiftKey","which","button","absHref","preventDefault","initializing","newUrl","newState","$digest","$locationWatch","currentReplace","$$replace","urlOrStateChanged","debug","debugEnabled","this.debugEnabled","flag","formatError","formatStackTrace","sourceURL","consoleLog","logFn","log","navigator","userAgent","warn","getStringValue","ifDefined","plusFn","r","isPure","parentIsPure","AST","MemberExpression","computed","UnaryExpression","PURITY_ABSOLUTE","BinaryExpression","operator","CallExpression","PURITY_RELATIVE","findConstantAndWatchExpressions","ast","allConstants","argsToWatch","astIsPure","Program","expr","Literal","toWatch","argument","left","right","LogicalExpression","ConditionalExpression","alternate","consequent","Identifier","object","isStatelessFilter","callee","AssignmentExpression","ArrayExpression","ObjectExpression","properties","ThisExpression","LocalsExpression","getInputs","lastExpression","isAssignable","assignableAST","NGValueParameter","ASTCompiler","ASTInterpreter","Parser","lexer","astCompiler","getValueOf","objectValueOf","literals","identStart","identContinue","addLiteral","this.addLiteral","literalName","literalValue","setIdentifierFns","this.setIdentifierFns","identifierStart","identifierContinue","expressionInputDirtyCheck","oldValueOfValue","compareObjectIdentity","inputsWatchDelegate","parsedExpression","prettyPrintExpression","inputExpressions","inputs","lastResult","oldInputValueOf","expressionInputWatch","newInputValue","oldInputValueOfValues","oldInputValues","expressionInputsWatch","changed","oneTimeWatchDelegate","oneTimeWatch","oneTimeListener","old","oneTimeLiteralWatchDelegate","isAllDefined","allDefined","constantWatch","addInterceptor","interceptorFn","watchDelegate","useInputs","regularInterceptedExpression","oneTimeInterceptedExpression","map","depurifier","s","$parseOptions","noUnsafeEval","isIdentifierStart","isIdentifierContinue","oneTime","cacheKey","Lexer","parser","errorOnUnhandledRejections","qFactory","this.errorOnUnhandledRejections","nextTick","exceptionHandler","Deferred","Promise","this.resolve","this.reject","rejectPromise","this.notify","progress","notifyPromise","processChecks","queueSize","checkQueue","toCheck","errorMessage","scheduleProcessQueue","pending","processScheduled","$$reject","$qMinErr","$$resolve","doResolve","doReject","doNotify","handleCallback","resolver","callbackOutput","when","errback","progressBack","$Q","resolveFn","TypeError","onFulfilled","onRejected","promises","counter","results","race","requestAnimationFrame","webkitRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","webkitCancelRequestAnimationFrame","rafSupported","raf","timer","supported","createChildScopeClass","ChildScope","$$watchers","$$nextSibling","$$childHead","$$childTail","$$listeners","$$listenerCount","$$watchersCount","$id","$$ChildScope","$rootScopeMinErr","lastDirtyWatch","applyAsyncId","digestTtl","this.digestTtl","destroyChildScope","$event","currentScope","cleanUpScope","$$prevSibling","$root","Scope","beginPhase","phase","incrementWatchersCount","decrementListenerCount","initWatchVal","flushApplyAsync","applyAsyncQueue","scheduleApplyAsync","isolate","child","watchExp","watcher","last","eq","$$digestWatchIndex","deregisterWatch","watchExpressions","watchGroupAction","changeReactionScheduled","firstRun","newValues","deregisterFns","shouldCall","deregisterWatchGroup","unwatchFn","watchGroupSubAction","$watchCollectionInterceptor","_value","bothNaN","newItem","oldItem","internalArray","oldLength","changeDetected","newLength","internalObject","veryOldValue","trackVeryOldValue","changeDetector","initRun","$watchCollectionAction","watch","watchers","dirty","ttl","watchLog","logIdx","asyncTask","asyncQueuePosition","asyncQueue","msg","next","postDigestQueuePosition","postDigestQueue","eventName","this.$watchGroup","$eval","$applyAsyncExpression","namedListeners","indexOfListener","$emit","targetScope","listenerArgs","$$asyncQueue","$$postDigestQueue","$$applyAsyncQueue","sanitizeUri","uri","isImage","regex","normalizedVal","adjustMatcher","matcher","$sceMinErr","escapeForRegexp","adjustMatchers","matchers","adjustedMatchers","SCE_CONTEXTS","resourceUrlWhitelist","resourceUrlBlacklist","this.resourceUrlWhitelist","this.resourceUrlBlacklist","matchUrl","generateHolderType","Base","holderType","trustedValue","$$unwrapTrustedValue","this.$$unwrapTrustedValue","holderType.prototype.valueOf","holderType.prototype.toString","htmlSanitizer","trustedValueHolderBase","byType","CSS","URL","JS","trustAs","Constructor","maybeTrusted","allowed","this.enabled","sce","isEnabled","sce.isEnabled","sce.getTrusted","parseAs","sce.parseAs","enumValue","lName","UNDERSCORE_LOWERCASE_REGEXP","eventSupport","hasHistoryPushState","nw","process","chrome","app","runtime","pushState","android","boxee","bodyStyle","transitions","animations","hasEvent","divElm","httpOptions","this.httpOptions","handleRequestFn","tpl","ignoreRequestError","totalPendingRequests","transformer","handleError","$templateRequestMinErr","testability","testability.findBindings","opt_exactMatch","getElementsByClassName","matches","dataBinding","bindingName","testability.findModels","prefixes","attributeEquals","testability.getLocation","testability.setLocation","testability.whenStable","deferreds","$$timeoutId","timeout.cancel","urlParsingNode","requestUrl","originUrl","$$CookieReader","safeDecodeURIComponent","lastCookies","lastCookieString","cookieArray","cookie","currentCookieString","filters","suffix","currencyFilter","dateFilter","filterFilter","jsonFilter","limitToFilter","lowercaseFilter","numberFilter","orderByFilter","uppercaseFilter","comparator","anyPropertyKey","matchAgainstAnyProp","getTypeForFilter","expressionType","predicateFn","createPredicateFn","shouldMatchPrimitives","actual","expected","deepCompare","dontMatchWholeObject","actualType","expectedType","expectedVal","matchAnyProperty","actualVal","$locale","formats","NUMBER_FORMATS","amount","currencySymbol","fractionSize","CURRENCY_SYM","PATTERNS","maxFrac","formatNumber","GROUP_SEP","DECIMAL_SEP","number","numStr","exponent","digits","numberOfIntegerDigits","zeros","ZERO_CHAR","MAX_DIGITS","roundNumber","parsedNumber","minFrac","fractionLen","min","roundAt","digit","k","carry","reduceRight","groupSep","decimalSep","isNaN","isInfinity","isFinite","isZero","abs","formattedText","integerLen","decimals","reduce","groups","lgSize","gSize","negPre","negSuf","posPre","posSuf","padNumber","num","negWrap","neg","dateGetter","dateStrGetter","shortForm","standAlone","getFirstThursdayOfYear","year","dayOfWeekOnFirst","getDay","weekGetter","firstThurs","getFullYear","thisThurs","getMonth","getDate","round","eraGetter","ERAS","jsonStringToDate","string","R_ISO8601_STR","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","m","ms","parseFloat","format","DATETIME_FORMATS","NUMBER_STRING","DATE_FORMATS_SPLIT","DATE_FORMATS","spacing","limit","begin","Infinity","sliceFn","end","processPredicates","sortPredicates","predicate","descending","defaultCompare","v1","v2","type1","type2","value1","value2","sortPredicate","reverseOrder","compareFn","predicates","compareValues","getComparisonObject","tieBreaker","predicateValues","doComparison","ngDirective","FormController","$$controls","$error","$$success","$pending","$name","$dirty","$valid","$pristine","$submitted","$invalid","$$parentForm","nullFormCtrl","$$animate","setupValidity","$$classCache","INVALID_CLASS","VALID_CLASS","addSetValidityMethod","cachedToggleClass","ctrl","switchValue","toggleValidationCss","validationErrorKey","isValid","unset","clazz","$setValidity","clazz.prototype.$setValidity","isObjectEmpty","PENDING_CLASS","combinedState","stringBasedInputType","$formatters","$isEmpty","baseInputType","composing","ev","ngTrim","$viewValue","$$hasNativeValidators","$setViewValue","deferListener","origValue","keyCode","PARTIAL_VALIDATION_TYPES","PARTIAL_VALIDATION_EVENTS","validity","origBadInput","badInput","origTypeMismatch","typeMismatch","$render","ctrl.$render","createDateParser","mapping","iso","ISO_DATE_REGEXP","yyyy","MM","dd","HH","getHours","mm","ss","getSeconds","sss","getMilliseconds","part","createDateInputType","parseDate","dynamicDateInputType","isValidDate","parseObservedDateValue","badInputChecker","$options","getOption","previousDate","$$parserName","$parsers","parsedDate","ngModelMinErr","ngMin","minVal","$validators","ctrl.$validators.min","$validate","ngMax","maxVal","ctrl.$validators.max","VALIDITY_STATE_PROPERTY","numberFormatterParser","NUMBER_REGEXP","parseNumberAttrVal","countDecimals","numString","decimalSymbolIndex","isValidForStep","viewValue","stepBase","step","isNonIntegerValue","isNonIntegerStepBase","isNonIntegerStep","valueDecimals","stepBaseDecimals","stepDecimals","decimalCount","multiplier","pow","parseConstantExpr","parseFn","classDirective","arrayDifference","toClassString","classValue","classString","toFlatValue","flatValue","hasUndefined","indexWatchExpression","digestClassCounts","classArray","classesToUpdate","classCounts","ngClassIndexWatchAction","newModulo","oldClassString","oldModulo","ngClassOneTimeWatchAction","newClassValue","newClassString","ngClassWatchAction","oldClassArray","newClassArray","toRemoveArray","toAddArray","toRemoveString","toAddString","isOneTime","watchExpression","watchInterceptor","watchAction","moduloTwo","$index","NgModelController","$modelValue","$$rawModelValue","$asyncValidators","$viewChangeListeners","$untouched","$touched","defaultModelOptions","$$parsedNgModel","$$parsedNgModelAssign","$$ngModelGet","$$ngModelSet","$$pendingDebounce","$$parserValid","$$currentValidationRunId","defineProperty","$$attr","$$timeout","$$exceptionHandler","setupModelWatcher","ngModelWatch","modelValue","formatters","$$updateEmptyClasses","$$lastCommittedViewValue","$$runValidators","ModelOptions","$$options","setOptionSelectedStatus","optionEl","REGEX_STRING_REGEXP","documentMode","rules","ngCspElement","ngCspAttribute","noInlineStyle","name_","el","allowAutoBootstrap","currentScript","HTMLScriptElement","SVGScriptElement","srcs","getNamedItem","every","origin","full","major","minor","dot","codeName","expando","JQLite._data","MS_HACK_REGEXP","mouseleave","mouseenter","optgroup","tbody","tfoot","colgroup","caption","thead","th","td","Node","contains","compareDocumentPosition","ready","removeData","jqLiteHasData","jqLiteCleanData","removeAttribute","css","NODE_TYPE_ATTRIBUTE","lowercasedName","isBooleanAttr","ret","getText","$dv","multiple","selected","arg1","arg2","nodeCount","jqLiteOn","types","addHandler","noEventListener","one","onFn","replaceNode","insertBefore","children","contentDocument","prepend","wrapNode","detach","after","newElement","toggleClass","condition","classCondition","nextElementSibling","getElementsByTagName","extraParameters","dummyEvent","handlerArgs","eventFnsCopy","arg3","unbind","nanKey","_idx","_transformKey","delete","FN_ARG_SPLIT","FN_ARG","argDecl","underscore","$animateMinErr","postDigestElements","updateData","handleCSSClassChanges","existing","pin","domOperation","from","to","classesAdded","add","classesRemoved","runner","complete","classNameFilter","customFilter","$$registeredAnimations","this.customFilter","filterFn","this.classNameFilter","reservedRegex","NG_ANIMATE_CLASSNAME","domInsert","parentElement","afterElement","afterNode","ELEMENT_NODE","previousElementSibling","enter","move","leave","addclass","setClass","animate","tempClasses","waitForTick","waitQueue","passed","AnimateRunner","setHost","rafTick","_doneCallbacks","_tick","this._tick","_state","chain","AnimateRunner.chain","AnimateRunner.all","runners","onProgress","DONE_COMPLETE_STATE","getPromise","resolveHandler","rejectHandler","pause","resume","_resolve","INITIAL_STATE","DONE_PENDING_STATE","initialOptions","closed","$$prepared","cleanupStyles","start","UNINITIALIZED_VALUE","isFirstChange","SimpleChange.prototype.isFirstChange","domNode","offsetWidth","$interpolateMinErr.throwNoconcat","$interpolateMinErr.interr","callbackId","called","callbackMap","PATH_MATCH","locationPrototype","paramValue","Location","Location.prototype.state","$parseMinErr","OPERATORS","ESCAPE","lex","tokens","readString","peek","readNumber","peekMultichar","readIdent","is","isWhitespace","ch2","ch3","op2","op3","op1","throwError","chars","codePointAt","isValidIdentifierStart","isValidIdentifierContinue","cp","charCodeAt","cp1","cp2","isExpOperator","colStr","peekCh","quote","rawString","hex","String","fromCharCode","rep","ExpressionStatement","Property","program","expressionStatement","expect","filterChain","assignment","ternary","logicalOR","consume","logicalAND","equality","relational","additive","multiplicative","unary","primary","arrayDeclaration","selfReferential","parseArguments","baseExpression","peekToken","kind","e1","e2","e3","e4","peekAhead","t","nextId","vars","own","assignable","stage","computing","recurse","return_","generateFunction","fnKey","intoId","watchId","fnString","USE","STRICT","filterPrefix","watchFns","varsPrefix","section","nameId","recursionFn","skipWatchIdCheck","if_","lazyAssign","computedMember","lazyRecurse","plus","not","getHasOwnProperty","isNull","nonComputedMember","notNull","member","filterName","defaultValue","UNSAFE_CHARACTERS","SAFE_IDENTIFIER","stringEscapeFn","stringEscapeRegex","c","skip","init","fn.assign","rhs","lhs","unary+","unary-","unary!","binary+","binary-","binary*","binary/","binary%","binary===","binary!==","binary==","binary!=","binary<","binary>","binary<=","binary>=","binary&&","binary||","ternary?:","yy","y","MMMM","MMM","M","LLLL","H","hh","EEEE","EEE","ampmGetter","AMPMS","Z","timeZoneGetter","zone","paddedZone","ww","w","G","GG","GGG","GGGG","longEraGetter","ERANAMES","xlinkHref","propName","defaultLinkFn","normalized","ngBooleanAttrWatchAction","htmlAttr","ngAttrAliasWatchAction","$addControl","$$renameControl","nullFormRenameControl","control","$removeControl","$setDirty","$setPristine","$setSubmitted","$rollbackViewValue","$commitViewValue","newName","oldName","PRISTINE_CLASS","DIRTY_CLASS","SUBMITTED_CLASS","$setUntouched","formDirectiveFactory","isNgForm","getSetter","ngFormCompile","formElement","nameAttr","ngFormPreLink","ctrls","handleFormSubmission","setter","URL_REGEXP","EMAIL_REGEXP","DATE_REGEXP","DATETIMELOCAL_REGEXP","WEEK_REGEXP","MONTH_REGEXP","TIME_REGEXP","inputType","textInputType","weekParser","isoWeek","existingDate","week","hours","seconds","milliseconds","addDays","numberInputType","ngStep","stepVal","ctrl.$validators.step","urlInputType","ctrl.$validators.url","emailInputType","email","ctrl.$validators.email","radioInputType","doTrim","checked","rangeInputType","setInitialValueAndObserver","htmlAttrName","changeFn","minChange","supportsRange","elVal","maxChange","stepChange","hasMinAttr","hasMaxAttr","hasStepAttr","originalRender","rangeUnderflow","rangeOverflow","rangeRender","noopMinValidator","minValidator","noopMaxValidator","maxValidator","nativeStepValidator","stepMismatch","stepValidator","checkboxInputType","trueValue","ngTrueValue","falseValue","ngFalseValue","ctrl.$isEmpty","CONSTANT_VALUE_REGEXP","updateElementValue","propValue","tplAttr","ngValueConstantLink","ngValueLink","valueWatchAction","$compile","ngBindCompile","templateElement","ngBindLink","ngBindWatchAction","ngBindTemplateCompile","ngBindTemplateLink","ngBindHtmlCompile","ngBindHtmlGetter","ngBindHtmlWatch","sceValueOf","ngBindHtmlLink","ngBindHtmlWatchAction","getTrustedHtml","forceAsyncEvents","ngEventHandler","previousElements","ngIfWatchAction","srcExp","onloadExp","autoScrollExp","autoscroll","changeCounter","previousElement","currentElement","cleanupLastIncludeContent","ngIncludeWatchAction","afterAnimation","thisChangeId","namespaceAdaptedClone","trimValues","$$initGetterSetters","invokeModelGetter","invokeModelSetter","this.$$ngModelGet","this.$$ngModelSet","$$$p","NOT_EMPTY_CLASS","EMPTY_CLASS","UNTOUCHED_CLASS","TOUCHED_CLASS","$setTouched","prevValid","prevModelValue","allowInvalid","that","allValid","$$writeModelToScope","doneCallback","processSyncValidators","syncValidatorsValid","validator","Boolean","setValidity","processAsyncValidators","validatorPromises","validationDone","localValidationRunId","processParseErrors","errorKey","$$parseAndValidate","$$debounceViewValueCommit","debounceDelay","$overrideModelOptions","createChild","ngModelCompile","ngModelPreLink","modelCtrl","formCtrl","optionsCtrl","ngModelPostLink","setTouched","DEFAULT_REGEXP","inheritAll","updateOnDefault","updateOn","debounce","getterSetter","NgModelOptionsController","$$attrs","parentOptions","parentCtrl","modelOptionsDefinition","ngOptionsMinErr","NG_OPTIONS_REGEXP","parseOptionsExpression","optionsExp","selectElement","Option","selectValue","label","group","disabled","getOptionValuesKeys","optionValues","optionValuesKeys","keyName","itemKey","valueName","selectAs","trackBy","viewValueFn","trackByFn","getTrackByValueFn","getHashOfValue","getTrackByValue","getLocals","displayFn","groupByFn","disableWhenFn","valuesFn","getWatchables","watchedArray","optionValuesLength","disableWhen","getOptions","optionItems","selectValueMap","optionItem","getOptionFromViewValue","getViewValueFromOption","optionTemplate","optGroupTemplate","ngOptionsPreLink","registerOption","ngOptionsPostLink","getAndUpdateSelectedOption","updateOptionElement","selectCtrl","ngModelCtrl","hasEmptyOption","emptyOption","providedEmptyOption","unknownOption","listFragment","generateUnknownOptionValue","selectCtrl.generateUnknownOptionValue","writeValue","selectCtrl.writeValue","selectedOptions","readValue","selectCtrl.readValue","selectedValues","selections","selectedOption","selectedIndex","removeUnknownOption","selectUnknownOrEmptyOption","unselectEmptyOption","selectCtrl.registerOption","optionScope","needsRerender","$isEmptyOptionSelected","updateOptions","groupElementMap","addOption","groupElement","optionElement","nextValue","BRACE","IS_WHEN","updateElementText","newText","numberExp","whenExp","whens","whensExpFns","braceReplacement","watchRemover","lastCount","attributeName","tmpMatch","whenKey","ngPluralizeWatchAction","countIsNaN","pluralCat","whenExpFn","ngRepeatMinErr","updateScope","valueIdentifier","keyIdentifier","arrayLength","$first","$last","$middle","$odd","$even","ngRepeatCompile","ngRepeatEndComment","aliasAs","trackByExp","trackByExpGetter","trackByIdExpFn","trackByIdArrayFn","trackByIdObjFn","hashFnLocals","ngRepeatLink","lastBlockMap","ngRepeatAction","previousNode","nextNode","nextBlockMap","collectionLength","trackById","collectionKeys","nextBlockOrder","trackByIdFn","blockKey","ngRepeatTransclude","ngShowWatchAction","NG_HIDE_CLASS","NG_HIDE_IN_PROGRESS_CLASS","ngHideWatchAction","ngStyleWatchAction","newStyles","oldStyles","NgSwitchController","cases","ngSwitchController","selectedTranscludes","selectedElements","previousLeaveAnimations","selectedScopes","spliceFactory","ngSwitchWatchAction","selectedTransclude","caseElement","selectedScope","anchor","ngSwitchWhenSeparator","whenCase","ngTranscludeMinErr","ngTranscludeCompile","fallbackLinkFn","ngTranscludePostLink","useFallbackContent","ngTranscludeSlot","ngTranscludeCloneAttachFn","noopNgModelController","SelectController","scheduleRender","renderScheduled","scheduleViewValueUpdate","renderAfter","updateScheduled","optionsMap","renderUnknownOption","self.renderUnknownOption","unknownVal","updateUnknownOption","self.updateUnknownOption","self.generateUnknownOptionValue","self.removeUnknownOption","selectEmptyOption","self.selectEmptyOption","self.unselectEmptyOption","self.readValue","realVal","hasOption","self.writeValue","currentlySelectedOption","hashedVal","self.addOption","removeOption","self.removeOption","self.hasOption","$hasEmptyOption","self.$hasEmptyOption","$isUnknownOptionSelected","self.$isUnknownOptionSelected","self.$isEmptyOptionSelected","self.selectUnknownOrEmptyOption","self.registerOption","optionAttrs","interpolateValueFn","interpolateTextFn","valueAttributeObserveAction","removal","previouslySelected","interpolateWatchAction","removeValue","selectPreLink","shouldBeSelected","lastView","lastViewRef","selectMultipleWatch","ngModelCtrl.$isEmpty","selectPostLink","ngModelCtrl.$render","selectCtrlName","ctrl.$validators.required","patternExp","ctrl.$validators.pattern","intVal","ctrl.$validators.maxlength","ctrl.$validators.minlength","getDecimals","opt_precision","ONE","OTHER","$$csp","head"] -} diff --git a/pwa-backend/src/main/webapp/backoffice/libs/auth0-js/auth0.min.js b/pwa-backend/src/main/webapp/backoffice/libs/auth0-js/auth0.min.js deleted file mode 100644 index 9a3c342..0000000 --- a/pwa-backend/src/main/webapp/backoffice/libs/auth0-js/auth0.min.js +++ /dev/null @@ -1,13 +0,0 @@ -/*! - * auth0.min.js v8.9.3 - * - * Author: Auth0 - * Date: 8/21/2017, 6:52:30 PM - * License: MIT - * - */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("auth0-js",[],e):"object"==typeof exports?exports["auth0-js"]=e():t.auth0=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return t[r].call(i.exports,i,i.exports,e),i.loaded=!0,i.exports}var n={};return e.m=t,e.c=n,e.p="",e(0)}([function(t,e,n){t.exports=n(54)},function(t,e,n){var r,i;!function(o,s,a){"undefined"!=typeof t&&t.exports?t.exports=a():(r=a,i="function"==typeof r?r.call(e,n,e,t):r,!(void 0!==i&&(t.exports=i)))}("urljoin",this,function(){function t(t,e){return t=t.replace(/:\//g,"://"),t=t.replace(/([^:\s])\/+/g,"$1/"),t=t.replace(/\/(\?|&|#[^!])/g,"$1"),t=t.replace(/(\?.+)\?/g,"$1&")}return function(){var e=arguments,n={};"object"==typeof arguments[0]&&(e=arguments[0],n=arguments[1]||{});var r=[].slice.call(e,0).join("/");return t(r,n)}})},function(t,e,n){function r(t,e){return e.reduce(function(e,n){return t[n]&&(e[n]=t[n]),e},{})}function i(t,e){var n=[];for(var r in t)e.indexOf(r)===-1&&n.push(r);return n}function o(t){var e=[];for(var n in t)e.push(t[n]);return e}function s(){var t=o(arguments);return t.unshift({}),f.get().apply(void 0,t)}function a(t,e){return{base:e?r(t,e):t,with:function(t,e){return t=e?r(t,e):t,s(this.base,t)}}}function p(t,e){return Object.keys(t).reduce(function(n,r){return e.indexOf(r)===-1&&(n[r]=t[r]),n},{})}function u(t){for(var e,n="",r=0,i=!0,o=!0;r=65&&e<=90||!i&&e>=48&&e<=57?(n+="_",n+=t[r].toLowerCase()):n+=t[r].toLowerCase(),i=e>=48&&e<=57,o=e>=65&&e<=90,r++;return n}function c(t){var e=t.split("_");return e.reduce(function(t,e){return t+e.charAt(0).toUpperCase()+e.slice(1)},e.shift())}function h(t,e){return"object"!=typeof t||d.isArray(t)||null===t?t:(e=e||[],Object.keys(t).reduce(function(n,r){var i=e.indexOf(r)===-1?u(r):r;return n[i]=h(t[r]),n},{}))}function l(t,e){return"object"!=typeof t||d.isArray(t)||null===t?t:(e=e||[],Object.keys(t).reduce(function(n,r){var i=e.indexOf(r)===-1?c(r):r;return n[i]=l(t[r]),n},{}))}var d=n(4),f=n(44);t.exports={toSnakeCase:h,toCamelCase:l,blacklist:p,merge:a,pick:r,getKeysNotIn:i,extend:s}},function(t,e){(function(e){function n(t){e.window.location=t}function r(){return e.window.document}function i(){return e.window}t.exports={redirect:n,getDocument:r,getWindow:i}}).call(e,function(){return this}())},function(t,e){function n(t,e,n,r){if(n="array"===n?"object":n,t&&typeof t[e]!==n)throw new Error(r)}function r(t,e,n){if(typeof t!==e)throw new Error(n)}function i(t,e,n){if(e.indexOf(t)===-1)throw new Error(n)}function o(t,e,o){if(e.optional&&!t||r(t,e.type,e.message),"object"===e.type&&o)for(var s=Object.keys(o),a=0;a=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?n+=e.charAt(i):o<128?n+=r[o]:o<2048?n+=r[192|o>>6]+r[128|63&o]:o<55296||o>=57344?n+=r[224|o>>12]+r[128|o>>6&63]+r[128|63&o]:(i+=1,o=65536+((1023&o)<<10|1023&e.charCodeAt(i)),n+=r[240|o>>18]+r[128|o>>12&63]+r[128|o>>6&63]+r[128|63&o])}return n},e.compact=function(t,n){if("object"!=typeof t||null===t)return t;var r=n||[],i=r.indexOf(t);if(i!==-1)return r[i];if(r.push(t),Array.isArray(t)){for(var o=[],s=0;s0&&(t=t.retry(this._timesToRetryFailedRequests)),t},o.prototype.getTelemetryData=function(){var t=this._telemetryInfo||{name:"auth0.js",version:p.raw},e=JSON.stringify(t);return a.encode(e)},o.prototype.get=function(t,e){return new i(this.setCommonConfiguration(s.get(t),e))},o.prototype.post=function(t,e){return new i(this.setCommonConfiguration(s.post(t),e))},o.prototype.patch=function(t,e){return new i(this.setCommonConfiguration(s.patch(t),e))},t.exports=o},function(t,e){function n(t){this.disableWarnings=t.disableWarnings}n.prototype.warning=function(t){this.disableWarnings||console.warn(t)},t.exports=n},function(t,e,n){"use strict";var r=n(8),i=Object.prototype.hasOwnProperty,o={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:r.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},s=function(t,e){for(var n={},r=t.split(e.delimiter,e.parameterLimit===1/0?void 0:e.parameterLimit),o=0;o=0&&n.parseArrays&&s<=n.arrayLimit?(r=[],r[s]=a(t,e,n)):r[o]=a(t,e,n)}return r},p=function(t,e,n){if(t){var r=n.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,o=/(\[[^[\]]*])/,s=/(\[[^[\]]*])/g,p=o.exec(r),u=p?r.slice(0,p.index):r,c=[];if(u){if(!n.plainObjects&&i.call(Object.prototype,u)&&!n.allowPrototypes)return;c.push(u)}for(var h=0;null!==(p=s.exec(r))&&h0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function r(t){return 3*t.length/4-n(t)}function i(t){var e,r,i,o,s,a,p=t.length;s=n(t),a=new c(3*p/4-s),i=s>0?p-4:p;var h=0;for(e=0,r=0;e>16&255,a[h++]=o>>8&255,a[h++]=255&o;return 2===s?(o=u[t.charCodeAt(e)]<<2|u[t.charCodeAt(e+1)]>>4,a[h++]=255&o):1===s&&(o=u[t.charCodeAt(e)]<<10|u[t.charCodeAt(e+1)]<<4|u[t.charCodeAt(e+2)]>>2,a[h++]=o>>8&255,a[h++]=255&o),a}function o(t){return p[t>>18&63]+p[t>>12&63]+p[t>>6&63]+p[63&t]}function s(t,e,n){for(var r,i=[],s=e;sc?c:u+a));return 1===r?(e=t[n-1],i+=p[e>>2],i+=p[e<<4&63],i+="=="):2===r&&(e=(t[n-2]<<8)+t[n-1],i+=p[e>>10],i+=p[e>>4&63],i+=p[e<<2&63],i+="="),o.push(i),o.join("")}e.byteLength=r,e.toByteArray=i,e.fromByteArray=a;for(var p=[],u=[],c="undefined"!=typeof Uint8Array?Uint8Array:Array,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=0,d=h.length;l=0?"&":"?")+t),this._sort){var e=this.url.indexOf("?");if(e>=0){var n=this.url.substring(e+1).split("&");m(this._sort)?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,e)+"?"+n.join("&")}}},c.prototype._isHost=function(t){return t&&"object"==typeof t&&!Array.isArray(t)&&"[object Object]"!==Object.prototype.toString.call(t)},c.prototype.end=function(t){return this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=t||r,this._appendQueryString(),this._end()},c.prototype._end=function(){var t=this,e=this.xhr=b.getXHR(),n=this._formData||this._data;this._setTimeouts(),e.onreadystatechange=function(){var n=e.readyState;if(n>=2&&t._responseTimeoutTimer&&clearTimeout(t._responseTimeoutTimer),4==n){var r;try{r=e.status}catch(t){r=0}if(!r){if(t.timedout||t._aborted)return;return t.crossDomainError()}t.emit("end")}};var r=function(e,n){n.total>0&&(n.percent=n.loaded/n.total*100),n.direction=e,t.emit("progress",n)};if(this.hasListeners("progress"))try{e.onprogress=r.bind(null,"download"),e.upload&&(e.upload.onprogress=r.bind(null,"upload"))}catch(t){}try{this.username&&this.password?e.open(this.method,this.url,!0,this.username,this.password):e.open(this.method,this.url,!0)}catch(t){return this.callback(t)}if(this._withCredentials&&(e.withCredentials=!0),!this._formData&&"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof n&&!this._isHost(n)){var i=this._header["content-type"],o=this._serializer||b.serialize[i?i.split(";")[0]:""];!o&&p(i)&&(o=b.serialize["application/json"]),o&&(n=o(n))}for(var s in this.header)null!=this.header[s]&&e.setRequestHeader(s,this.header[s]);return this._responseType&&(e.responseType=this._responseType),this.emit("request",this),e.send("undefined"!=typeof n?n:null),this},b.get=function(t,e,n){var r=b("GET",t);return"function"==typeof e&&(n=e,e=null),e&&r.query(e),n&&r.end(n),r},b.head=function(t,e,n){var r=b("HEAD",t);return"function"==typeof e&&(n=e,e=null),e&&r.send(e),n&&r.end(n),r},b.options=function(t,e,n){var r=b("OPTIONS",t);return"function"==typeof e&&(n=e,e=null),e&&r.send(e),n&&r.end(n),r},b.del=h,b.delete=h,b.patch=function(t,e,n){var r=b("PATCH",t);return"function"==typeof e&&(n=e,e=null),e&&r.send(e),n&&r.end(n),r},b.post=function(t,e,n){var r=b("POST",t);return"function"==typeof e&&(n=e,e=null),e&&r.send(e),n&&r.end(n),r},b.put=function(t,e,n){var r=b("PUT",t);return"function"==typeof e&&(n=e,e=null),e&&r.send(e),n&&r.end(n),r}},function(t,e){var n=function(){function t(t,e,n){t.attachEvent?t.attachEvent("on"+e,n):t.addEventListener&&t.addEventListener(e,n,!1)}function e(t,e,n){t.detachEvent?t.detachEvent("on"+e,n):t.removeEventListener&&t.removeEventListener(e,n,!1)}function n(){if("undefined"==typeof navigator)return!1;var t=-1,e=navigator.userAgent;if("Microsoft Internet Explorer"===navigator.appName){var n=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");null!=n.exec(e)&&(t=parseFloat(RegExp.$1))}else if(e.indexOf("Trident")>-1){var n=new RegExp("rv:([0-9]{2,2}[.0-9]{0,})");null!==n.exec(e)&&(t=parseFloat(RegExp.$1))}return t>=8}function r(){try{var t=navigator.userAgent;return t.indexOf("Fennec/")!=-1||t.indexOf("Firefox/")!=-1&&t.indexOf("Android")!=-1}catch(t){}return!1}function i(){return"undefined"!=typeof window&&window.JSON&&window.JSON.stringify&&window.JSON.parse&&window.postMessage}function o(t){/^https?:\/\//.test(t)||(t=window.location.href);var e=/^(https?:\/\/[\-_a-zA-Z\.0-9:]+)/.exec(t);return e?e[1]:t}function s(){for(var t=(window.location,window.opener.frames),e=t.length-1;e>=0;e--)try{if(t[e].location.protocol===window.location.protocol&&t[e].location.host===window.location.host&&t[e].name===a)return t[e]}catch(t){}}var a="__winchan_relay_frame",p="die",u=n();return i()?{open:function(n,i){function s(){if(l&&document.body.removeChild(l),l=void 0,m&&(m=clearInterval(m)),e(window,"message",c),e(window,"unload",s),y)try{y.close()}catch(t){f.postMessage(p,d)}y=f=void 0}function c(t){if(t.origin===d){try{var e=JSON.parse(t.data)}catch(t){if(!i)throw t;i(t)}"ready"===e.a?f.postMessage(g,d):"error"===e.a?(s(),i&&(i(e.d),i=null)):"response"===e.a&&(s(),i&&(i(null,e.d),i=null))}}if(!i)throw"missing required callback argument";var h;n.url||(h="missing required 'url' parameter"),n.relay_url||(h="missing required 'relay_url' parameter"),h&&setTimeout(function(){i(h)},0),n.window_name||(n.window_name=null),n.window_features&&!r()||(n.window_features=void 0);var l,d=n.origin||o(n.url);if(d!==o(n.relay_url))return setTimeout(function(){i("invalid arguments: origin of url and relay_url must match")},0);var f;u&&(l=document.createElement("iframe"),l.setAttribute("src",n.relay_url),l.style.display="none",l.setAttribute("name",a),document.body.appendChild(l),f=l.contentWindow);var y=n.popup||window.open(n.url,n.window_name,n.window_features);n.popup&&(y.location.href=n.url),f||(f=y);var m=setInterval(function(){y&&y.closed&&(s(),i&&(i("User closed the popup window"),i=null))},500),g=JSON.stringify({a:"request",d:n.params});return t(window,"unload",s),t(window,"message",c),{close:s,focus:function(){if(y)try{y.focus()}catch(t){}}}},onOpen:function(n){function r(t){t=JSON.stringify(t),u?c.doPost(t,a):c.postMessage(t,a)}function i(t){var o;try{o=JSON.parse(t.data)}catch(t){}o&&"request"===o.a&&(e(window,"message",i),a=t.origin,n&&setTimeout(function(){n(a,o.d,function(t){n=void 0,r({a:"response",d:t})})},0))}function o(t){if(t.data===p)try{window.close()}catch(t){}}var a="*",c=u?s():window.opener;if(!c)throw"can't find relay frame";t(u?c:window,"message",i),t(u?c:window,"message",o);try{r({a:"ready"})}catch(e){t(c,"load",function(t){r({a:"ready"})})}var h=function(){try{e(u?c:window,"message",o)}catch(t){}n&&r({a:"error",d:"client closed window"}),n=void 0;try{window.close()}catch(t){}};return t(window,"unload",h),{detach:function(){e(window,"unload",h)}}}}:{open:function(t,e,n,r){setTimeout(function(){r("unsupported browser")},0)},onOpen:function(t){setTimeout(function(){t("unsupported browser")},0)}}}();"undefined"!=typeof t&&t.exports&&(t.exports=n)},function(t,e,n){function r(t){p.check(t,{type:"object",message:"options parameter is not valid"},{domain:{type:"string",message:"domain option is required"},clientID:{type:"string",message:"clientID option is required"},responseType:{optional:!0,type:"string",message:"responseType is not valid"},responseMode:{optional:!0,type:"string",message:"responseMode is not valid"},redirectUri:{optional:!0,type:"string",message:"redirectUri is not valid"},scope:{optional:!0,type:"string",message:"scope is not valid"},audience:{optional:!0,type:"string",message:"audience is not valid"},_disableDeprecationWarnings:{optional:!0,type:"boolean",message:"_disableDeprecationWarnings option is not valid"},_sendTelemetry:{optional:!0,type:"boolean",message:"_sendTelemetry option is not valid"},_telemetryInfo:{optional:!0,type:"object",message:"_telemetryInfo option is not valid"}}),this.baseOptions=t,this.baseOptions._sendTelemetry=this.baseOptions._sendTelemetry!==!1||this.baseOptions._sendTelemetry,this.baseOptions.rootUrl="https://"+this.baseOptions.domain,this.request=new o(this.baseOptions),this.passwordless=new l(this.request,this.baseOptions),this.dbConnection=new d(this.request,this.baseOptions),this.warn=new h({disableWarnings:!!t._disableDeprecationWarnings})}var i=n(1),o=n(10),s=n(5),a=n(2),p=n(4),u=n(6),c=n(45),h=n(11),l=n(41),d=n(40);r.prototype.buildAuthorizeUrl=function(t){var e,n;return p.check(t,{type:"object",message:"options parameter is not valid"}),e=a.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience"]).with(t),p.check(e,{type:"object",message:"options parameter is not valid"},{clientID:{type:"string",message:"clientID option is required"},redirectUri:{optional:!0,type:"string",message:"redirectUri option is required"},responseType:{type:"string",message:"responseType option is required"},nonce:{type:"string",message:"nonce option is required",condition:function(t){return t.responseType.indexOf("code")===-1&&t.responseType.indexOf("id_token")!==-1}},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),this.baseOptions._sendTelemetry&&(e.auth0Client=this.request.getTelemetryData()),e.connection_scope&&p.isArray(e.connection_scope)&&(e.connection_scope=e.connection_scope.join(",")),e=a.toSnakeCase(e,["auth0Client"]),e=c.oauthAuthorizeParams(this.warn,e),n=s.stringify(e),i(this.baseOptions.rootUrl,"authorize","?"+n)},r.prototype.buildLogoutUrl=function(t){var e,n;return p.check(t,{optional:!0,type:"object",message:"options parameter is not valid"}),e=a.merge(this.baseOptions,["clientID"]).with(t||{}),this.baseOptions._sendTelemetry&&(e.auth0Client=this.request.getTelemetryData()),e=a.toSnakeCase(e,["auth0Client","returnTo"]),n=s.stringify(e),i(this.baseOptions.rootUrl,"v2","logout","?"+n)},r.prototype.loginWithDefaultDirectory=function(t,e){return p.check(t,{type:"object",message:"options parameter is not valid"},{username:{type:"string",message:"username option is required"},password:{type:"string",message:"password option is required"},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),t.grantType="password",this.oauthToken(t,e)},r.prototype.login=function(t,e){return p.check(t,{type:"object",message:"options parameter is not valid"},{username:{type:"string",message:"username option is required"},password:{type:"string",message:"password option is required"},realm:{type:"string",message:"realm option is required"},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),t.grantType="http://auth0.com/oauth/grant-type/password-realm",this.oauthToken(t,e)},r.prototype.oauthToken=function(t,e){var n,r;return p.check(t,{type:"object",message:"options parameter is not valid"}),p.check(e,{type:"function",message:"cb parameter is not valid"}),n=i(this.baseOptions.rootUrl,"oauth","token"),r=a.merge(this.baseOptions,["clientID","scope","audience"]).with(t),p.check(r,{type:"object",message:"options parameter is not valid"},{clientID:{type:"string",message:"clientID option is required"},grantType:{type:"string",message:"grantType option is required"},scope:{optional:!0,type:"string",message:"scope option is required"},audience:{optional:!0,type:"string",message:"audience option is required"}}),r=a.toSnakeCase(r,["auth0Client"]),r=c.oauthTokenParams(this.warn,r),r.grant_type=r.grant_type,this.request.post(n).send(r).end(u(e))},r.prototype.loginWithResourceOwner=function(t,e){ -var n,r;return p.check(t,{type:"object",message:"options parameter is not valid"},{username:{type:"string",message:"username option is required"},password:{type:"string",message:"password option is required"},connection:{type:"string",message:"connection option is required"},scope:{optional:!0,type:"string",message:"scope option is required"}}),p.check(e,{type:"function",message:"cb parameter is not valid"}),n=i(this.baseOptions.rootUrl,"oauth","ro"),r=a.merge(this.baseOptions,["clientID","scope"]).with(t,["username","password","scope","connection","device"]),r=a.toSnakeCase(r,["auth0Client"]),r.grant_type=r.grant_type||"password",this.request.post(n).send(r).end(u(e))},r.prototype.getSSOData=function(t,e){var n,r="";return"function"==typeof t&&(e=t,t=!1),p.check(t,{type:"boolean",message:"withActiveDirectories parameter is not valid"}),p.check(e,{type:"function",message:"cb parameter is not valid"}),t&&(r="?"+s.stringify({ldaps:1,client_id:this.baseOptions.clientID})),n=i(this.baseOptions.rootUrl,"user","ssodata",r),this.request.get(n,{noHeaders:!0}).withCredentials().end(u(e))},r.prototype.userInfo=function(t,e){var n;return p.check(t,{type:"string",message:"accessToken parameter is not valid"}),p.check(e,{type:"function",message:"cb parameter is not valid"}),n=i(this.baseOptions.rootUrl,"userinfo"),this.request.get(n).set("Authorization","Bearer "+t).end(u(e,{ignoreCasing:!0}))},r.prototype.delegation=function(t,e){var n,r;return p.check(t,{type:"object",message:"options parameter is not valid"},{grant_type:{type:"string",message:"grant_type option is required"}}),p.check(e,{type:"function",message:"cb parameter is not valid"}),n=i(this.baseOptions.rootUrl,"delegation"),r=a.merge(this.baseOptions,["clientID"]).with(t),r=a.toSnakeCase(r,["auth0Client"]),this.request.post(n).send(r).end(u(e))},r.prototype.getUserCountry=function(t){var e;return p.check(t,{type:"function",message:"cb parameter is not valid"}),e=i(this.baseOptions.rootUrl,"user","geoloc","country"),this.request.get(e).end(u(t))},t.exports=r},function(t,e,n){function r(t){var e=t.length%4,n=4-e;return 0===e?t:t+new Array(1+n).join("=")}function i(t){for(var e=new Array(t.length),n=0;n>>2]>>>24-o%4*8&255;e[r+o>>>2]|=s<<24-(r+o)%4*8}else for(var o=0;o>>2]=n[o>>>2];return this.sigBytes+=i,this},clamp:function(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-n%4*8,e.length=t.ceil(n/4)},clone:function(){var t=o.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var n,r=[],i=function(e){var e=e,n=987654321,r=4294967295;return function(){n=36969*(65535&n)+(n>>16)&r,e=18e3*(65535&e)+(e>>16)&r;var i=(n<<16)+e&r;return i/=4294967296,i+=.5,i*(t.random()>.5?1:-1)}},o=0;o>>2]>>>24-i%4*8&255;r.push((o>>>4).toString(16)),r.push((15&o).toString(16))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r>>3]|=parseInt(t.substr(r,2),16)<<24-r%8*4;return new s.init(n,e/2)}},u=a.Latin1={stringify:function(t){for(var e=t.words,n=t.sigBytes,r=[],i=0;i>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(o))}return r.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r>>2]|=(255&t.charCodeAt(r))<<24-r%4*8;return new s.init(n,e)}},c=a.Utf8={stringify:function(t){try{return decodeURIComponent(escape(u.stringify(t)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(t){return u.parse(unescape(encodeURIComponent(t)))}},h=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new s.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=c.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var n=this._data,r=n.words,i=n.sigBytes,o=this.blockSize,a=4*o,p=i/a;p=e?t.ceil(p):t.max((0|p)-this._minBufferSize,0);var u=p*o,c=t.min(4*u,i);if(u){for(var h=0;h>>7)^(f<<14|f>>>18)^f>>>3,m=u[d-2],g=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[d]=y+u[d-7]+g+u[d-16]}var v=a&c^~a&h,b=r&i^r&o^i&o,w=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),_=(a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25),T=l+_+v+p[d]+u[d],k=w+b;l=h,h=c,c=a,a=s+T|0,s=o,o=i,i=r,r=T+k|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+a|0,n[5]=n[5]+c|0,n[6]=n[6]+h|0,n[7]=n[7]+l|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[(i+64>>>9<<4)+14]=e.floor(r/4294967296),n[(i+64>>>9<<4)+15]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});n.SHA256=o._createHelper(c),n.HmacSHA256=o._createHmacHelper(c)}(Math),t.SHA256})},function(t,e){function n(){}n.prototype.get=function(){return null},n.prototype.has=function(){return!1},n.prototype.set=function(){},t.exports=n},function(t,e){function n(t){this.name="ConfigurationError",this.message=t||""}function r(t){this.name="TokenValidationError",this.message=t||""}n.prototype=Error.prototype,r.prototype=Error.prototype,t.exports={ConfigurationError:n,TokenValidationError:r}},function(t,e,n){function r(t){var e=s.decodeToHEX(t.n),n=s.decodeToHEX(t.e);return{modulus:e,exp:n}}function i(t,e){var n=o(t.iss,".well-known","jwks.json");return a.get(n).end(function(n,i){var o,s,a=null;for(n&&e(n),o=0;o0&&e.length>0))throw new Error("Invalid key data");this.n=new o(t,16),this.e=parseInt(e,16)}function i(t){for(var e in a){var n=a[e],r=n.length;if(t.substring(0,r)===n)return{alg:e,hash:t.substring(r)}}return[]}var o=n(31).BigInteger,s=n(25),a={sha1:"3021300906052b0e03021a05000414",sha224:"302d300d06096086480165030402040500041c",sha256:"3031300d060960864801650304020105000420",sha384:"3041300d060960864801650304020205000430",sha512:"3051300d060960864801650304020305000440",md2:"3020300c06082a864886f70d020205000410",md5:"3020300c06082a864886f70d020505000410",ripemd160:"3021300906052b2403020105000414"},p={sha256:s};r.prototype.verify=function(t,e){e=e.replace(/[^0-9a-f]|[\s\n]]/gi,"");var n=new o(e,16);if(n.bitLength()>this.n.bitLength())throw new Error("Signature does not match with the key modulus.");var r=n.modPowInt(this.e,this.n),s=r.toString(16).replace(/^1f+00/,""),a=i(s);if(0===a.length)return!1;if(!p.hasOwnProperty(a.alg))throw new Error("Hashing algorithm is not supported.");var u=p[a.alg](t).toString();return a.hash===u},t.exports=r},function(t,e,n){function r(t){var e=t||{};if(this.jwksCache=e.jwksCache||new p,this.expectedAlg=e.expectedAlg||"RS256",this.issuer=e.issuer,this.audience=e.audience,this.leeway=e.leeway||0,this.__disableExpirationCheck=e.__disableExpirationCheck||!1,this.leeway<0||this.leeway>60)throw new a.ConfigurationError("The leeway should be positive and lower than a minute.");if(u.indexOf(this.expectedAlg)===-1)throw new a.ConfigurationError("Algorithm "+this.expectedAlg+" is not supported. (Expected algs: ["+u.join(",")+"])")}var i=n(29),o=n(16),s=n(28),a=n(27),p=n(26),u=["RS256"];r.prototype.verify=function(t,e,n){var r=this.decode(t);if(r instanceof Error)return n(r,!1);var i=r.encoded.header+"."+r.encoded.payload,s=o.decodeToHEX(r.encoded.signature),p=r.header.alg,c=r.header.kid,h=r.payload.aud,l=r.payload.iss,d=r.payload.exp,f=r.payload.nbf,y=r.payload.nonce||null;if(this.issuer!==l)return n(new a.TokenValidationError("Issuer "+l+" is not valid."),!1);if(this.audience!==h)return n(new a.TokenValidationError("Audience "+h+" is not valid."),!1);if(this.expectedAlg!==p)return n(new a.TokenValidationError("Algorithm "+p+" is not supported. (Expected algs: ["+u.join(",")+"])"),!1);if(y!==e)return n(new a.TokenValidationError("Nonce does not match."),!1);var m=this.verifyExpAndNbf(d,f);return m?n(m,!1):this.getRsaVerifier(l,c,function(t,e){return t?n(t):e.verify(i,s)?n(null,r.payload):n(new a.TokenValidationError("Invalid signature."))})},r.prototype.verifyExpAndNbf=function(t,e){var n=new Date,r=new Date(0),i=new Date(0);return this.__disableExpirationCheck?null:(r.setUTCSeconds(t+this.leeway),n>r?new a.TokenValidationError("Expired token."):"undefined"==typeof e?null:(i.setUTCSeconds(e-this.leeway),nr?new a.TokenValidationError("Expired token."):(i.setUTCSeconds(e-this.leeway),n=0;){var s=e*this[t++]+n[r]+i;i=Math.floor(s/67108864),n[r++]=67108863&s}return i}function o(t,e,n,r,i,o){for(var s=32767&e,a=e>>15;--o>=0;){var p=32767&this[t],u=this[t++]>>15,c=a*p+u*s;p=s*p+((32767&c)<<15)+n[r]+(1073741823&i),i=(p>>>30)+(c>>>15)+a*u+(i>>>30),n[r++]=1073741823&p}return i}function s(t,e,n,r,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var p=16383&this[t],u=this[t++]>>14,c=a*p+u*s;p=s*p+((16383&c)<<14)+n[r]+i,i=(p>>28)+(c>>14)+a*u,n[r++]=268435455&p}return i}function a(t){return me.charAt(t)}function p(t,e){var n=ge[t.charCodeAt(e)];return null==n?-1:n}function u(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s}function c(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0}function h(t){var e=r();return e.fromInt(t),e}function l(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var i=t.length,o=!1,s=0;--i>=0;){var a=8==r?255&t[i]:p(t,i);a<0?"-"==t.charAt(i)&&(o=!0):(o=!1,0==s?this[this.t++]=a:s+r>this.DB?(this[this.t-1]|=(a&(1<>this.DB-s):this[this.t-1]|=a<=this.DB&&(s-=this.DB))}8==r&&0!=(128&t[0])&&(this.s=-1,s>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==t;)--this.t}function f(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var n,r=(1<0)for(p>p)>0&&(i=!0,o=a(n));s>=0;)p>(p+=this.DB-e)):(n=this[s]>>(p-=e)&r,p<=0&&(p+=this.DB,--s)),n>0&&(i=!0),i&&(o+=a(n));return i?o:"0"}function y(){var t=r();return n.ZERO.subTo(this,t),t}function m(){return this.s<0?this.negate():this}function g(t){var e=this.s-t.s;if(0!=e)return e;var n=this.t;if(e=n-t.t,0!=e)return this.s<0?-e:e;for(;--n>=0;)if(0!=(e=this[n]-t[n]))return e;return 0}function v(t){var e,n=1;return 0!=(e=t>>>16)&&(t=e,n+=16),0!=(e=t>>8)&&(t=e,n+=8),0!=(e=t>>4)&&(t=e,n+=4),0!=(e=t>>2)&&(t=e,n+=2),0!=(e=t>>1)&&(t=e,n+=1),n}function b(){return this.t<=0?0:this.DB*(this.t-1)+v(this[this.t-1]^this.s&this.DM)}function w(t,e){var n;for(n=this.t-1;n>=0;--n)e[n+t]=this[n];for(n=t-1;n>=0;--n)e[n]=0;e.t=this.t+t,e.s=this.s}function _(t,e){for(var n=t;n=0;--n)e[n+s+1]=this[n]>>i|a,a=(this[n]&o)<=0;--n)e[n]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()}function k(t,e){e.s=this.s;var n=Math.floor(t/this.DB);if(n>=this.t)return void(e.t=0);var r=t%this.DB,i=this.DB-r,o=(1<>r;for(var s=n+1;s>r;r>0&&(e[this.t-n-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;r+=this.s}else{for(r+=this.s;n>=this.DB;r-=t.s}e.s=r<0?-1:0,r<-1?e[n++]=this.DV+r:r>0&&(e[n++]=r),e.t=n,e.clamp()}function x(t,e){var r=this.abs(),i=t.abs(),o=r.t;for(e.t=o+i.t;--o>=0;)e[o]=0;for(o=0;o=0;)t[n]=0;for(n=0;n=e.DV&&(t[n+e.t]-=e.DV,t[n+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(n,e[n],t,2*n,0,1)),t.s=0,t.clamp()}function D(t,e,i){var o=t.abs();if(!(o.t<=0)){var s=this.abs();if(s.t0?(o.lShiftTo(c,a),s.lShiftTo(c,i)):(o.copyTo(a),s.copyTo(i));var h=a.t,l=a[h-1];if(0!=l){var d=l*(1<1?a[h-2]>>this.F2:0),f=this.FV/d,y=(1<=0&&(i[i.t++]=1,i.subTo(w,i)),n.ONE.dlShiftTo(h,w),w.subTo(a,a);a.t=0;){var _=i[--g]==l?this.DM:Math.floor(i[g]*f+(i[g-1]+m)*y);if((i[g]+=a.am(0,_,i,b,0,h))<_)for(a.dlShiftTo(b,w),i.subTo(w,i);i[g]<--_;)i.subTo(w,i)}null!=e&&(i.drShiftTo(h,e),p!=u&&n.ZERO.subTo(e,e)),i.t=h,i.clamp(),c>0&&i.rShiftTo(c,i),p<0&&n.ZERO.subTo(i,i)}}}function S(t){var e=r();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(n.ZERO)>0&&t.subTo(e,e),e}function A(t){this.m=t}function E(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function q(t){return t}function j(t){t.divRemTo(this.m,null,t)}function I(t,e,n){t.multiplyTo(e,n),this.reduce(n)}function R(t,e){t.squareTo(e),this.reduce(e)}function M(){if(this.t<1)return 0;var t=this[0];if(0==(1&t))return 0;var e=3&t;return e=e*(2-(15&t)*e)&15,e=e*(2-(255&t)*e)&255,e=e*(2-((65535&t)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function B(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(e,e),e}function P(t){var e=r();return t.copyTo(e),this.reduce(e),e}function H(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e>15)*this.mpl&this.um)<<15)&t.DM;for(n=e+this.m.t,t[n]+=this.m.am(0,r,t,e,0,this.m.t);t[n]>=t.DV;)t[n]-=t.DV,t[++n]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function L(t,e){t.squareTo(e),this.reduce(e)}function N(t,e,n){t.multiplyTo(e,n),this.reduce(n)}function V(){return 0==(this.t>0?1&this[0]:this.s)}function W(t,e){if(t>4294967295||t<1)return n.ONE;var i=r(),o=r(),s=e.convert(this),a=v(t)-1;for(s.copyTo(i);--a>=0;)if(e.sqrTo(i,o),(t&1<0)e.mulTo(o,s,i);else{var p=i;i=o,o=p}return e.revert(i)}function z(t,e){var n;return n=t<256||e.isEven()?new A(e):new B(e),this.exp(t,n)}function F(){var t=r();return this.copyTo(t),t}function J(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function Z(){return 0==this.t?this.s:this[0]<<16>>16}function $(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function K(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function G(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),n=Math.pow(t,e),i=h(n),o=r(),s=r(),a="";for(this.divRemTo(i,o,s);o.signum()>0;)a=(n+s.intValue()).toString(t).substr(1)+a,o.divRemTo(i,o,s);return s.intValue().toString(t)+a}function Q(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),i=Math.pow(e,r),o=!1,s=0,a=0,u=0;u=r&&(this.dMultiply(i),this.dAddOffset(a,0),s=0,a=0))}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(a,0)),o&&n.ZERO.subTo(this,this)}function Y(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(n.ONE.shiftLeft(t-1),at,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(n.ONE.shiftLeft(t-1),this);else{var i=new Array,o=7&t;i.length=(t>>3)+1,e.nextBytes(i),o>0?i[0]&=(1<0)for(r>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<=0;)r<8?(n=(this[t]&(1<>(r+=this.DB-8)):(n=this[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),0!=(128&n)&&(n|=-256),0==i&&(128&this.s)!=(128&n)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function et(t){return 0==this.compareTo(t)}function nt(t){return this.compareTo(t)<0?this:t}function rt(t){return this.compareTo(t)>0?this:t}function it(t,e,n){var r,i,o=Math.min(t.t,this.t);for(r=0;r>=16,e+=16),0==(255&t)&&(t>>=8,e+=8),0==(15&t)&&(t>>=4,e+=4),0==(3&t)&&(t>>=2,e+=2),0==(1&t)&&++e,e}function gt(){for(var t=0;t=this.t?0!=this.s:0!=(this[e]&1<>=this.DB;if(t.t>=this.DB;r+=this.s}else{for(r+=this.s;n>=this.DB;r+=t.s}e.s=r<0?-1:0,r>0?e[n++]=r:r<-1&&(e[n++]=this.DV+r),e.t=n,e.clamp()}function Ct(t){var e=r();return this.addTo(t,e),e}function Dt(t){var e=r();return this.subTo(t,e),e}function St(t){var e=r();return this.multiplyTo(t,e),e}function At(){var t=r();return this.squareTo(t),t}function Et(t){var e=r();return this.divRemTo(t,e,null),e}function qt(t){var e=r();return this.divRemTo(t,null,e),e}function jt(t){var e=r(),n=r();return this.divRemTo(t,e,n),new Array(e,n)}function It(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Rt(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}}function Mt(){}function Bt(t){return t}function Ut(t,e,n){t.multiplyTo(e,n)}function Pt(t,e){t.squareTo(e)}function Ht(t){return this.exp(t,new Mt)}function Lt(t,e,n){var r=Math.min(this.t+t.t,e);for(n.s=0,n.t=r;r>0;)n[--r]=0;var i;for(i=n.t-this.t;r=0;)n[r]=0;for(r=Math.max(e-this.t,0);r2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=r();return t.copyTo(e),this.reduce(e),e}function zt(t){return t}function Ft(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Jt(t,e){t.squareTo(e),this.reduce(e)}function Xt(t,e,n){t.multiplyTo(e,n),this.reduce(n)}function Zt(t,e){var n,i,o=t.bitLength(),s=h(1);if(o<=0)return s;n=o<18?1:o<48?3:o<144?4:o<768?5:6,i=o<8?new A(e):e.isEven()?new Vt(e):new B(e);var a=new Array,p=3,u=n-1,c=(1<1){var l=r();for(i.sqrTo(a[1],l);p<=c;)a[p]=r(),i.mulTo(l,a[p-2],a[p]),p+=2}var d,f,y=t.t-1,m=!0,g=r();for(o=v(t[y])-1;y>=0;){for(o>=u?d=t[y]>>o-u&c:(d=(t[y]&(1<0&&(d|=t[y-1]>>this.DB+o-u)),p=n;0==(1&d);)d>>=1,--p;if((o-=p)<0&&(o+=this.DB,--y),m)a[d].copyTo(s),m=!1;else{for(;p>1;)i.sqrTo(s,g),i.sqrTo(g,s),p-=2;p>0?i.sqrTo(s,g):(f=s,s=g,g=f),i.mulTo(g,a[d],s)}for(;y>=0&&0==(t[y]&1<0&&(e.rShiftTo(o,e),n.rShiftTo(o,n));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=n.getLowestSetBit())>0&&n.rShiftTo(i,n),e.compareTo(n)>=0?(e.subTo(n,e),e.rShiftTo(1,e)):(n.subTo(e,n),n.rShiftTo(1,n));return o>0&&n.lShiftTo(o,n),n}function Kt(t){if(t<=0)return 0;var e=this.DV%t,n=this.s<0?t-1:0;if(this.t>0)if(0==e)n=this[0]%t;else for(var r=this.t-1;r>=0;--r)n=(e*n+this[r])%t;return n}function Gt(t){var e=t.isEven();if(this.isEven()&&e||0==t.signum())return n.ZERO;for(var r=t.clone(),i=this.clone(),o=h(1),s=h(0),a=h(0),p=h(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),e?(o.isEven()&&s.isEven()||(o.addTo(this,o),s.subTo(t,s)),o.rShiftTo(1,o)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;i.isEven();)i.rShiftTo(1,i),e?(a.isEven()&&p.isEven()||(a.addTo(this,a),p.subTo(t,p)),a.rShiftTo(1,a)):p.isEven()||p.subTo(t,p),p.rShiftTo(1,p);r.compareTo(i)>=0?(r.subTo(i,r),e&&o.subTo(a,o),s.subTo(p,s)):(i.subTo(r,i),e&&a.subTo(o,a),p.subTo(s,p))}return 0!=i.compareTo(n.ONE)?n.ZERO:p.compareTo(t)>=0?p.subtract(t):p.signum()<0?(p.addTo(t,p),p.signum()<0?p.add(t):p):p}function Qt(t){var e,n=this.abs();if(1==n.t&&n[0]<=ve[ve.length-1]){for(e=0;e>1,t>ve.length&&(t=ve.length);for(var s=r(),a=0;a>8&255,_e[Te++]^=t>>16&255,_e[Te++]^=t>>24&255,Te>=Ce&&(Te-=Ce)}function ee(){te((new Date).getTime())}function ne(){if(null==we){for(ee(),we=pe(),we.init(_e),Te=0;Te<_e.length;++Te)_e[Te]=0;Te=0}return we.next()}function re(t){var e;for(e=0;e>>8,_e[Te++]=255&ke;Te=0,ee()}ie.prototype.nextBytes=re,oe.prototype.init=se,oe.prototype.next=ae;var Ce=256;n.SecureRandom=ie,n.BigInteger=n,e=t.exports=n}).call(this)},function(t,e,n){function r(t){var e=i(t)?Object.prototype.toString.call(t):"";return"[object Function]"===e}var i=n(14);t.exports=r},function(t,e,n){function r(t){if(t)return i(t)}function i(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}var o=n(14);t.exports=r,r.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,this},r.prototype.parse=function(t){return this._parser=t,this},r.prototype.responseType=function(t){return this._responseType=t,this},r.prototype.serialize=function(t){return this._serializer=t,this},r.prototype.timeout=function(t){if(!t||"object"!=typeof t)return this._timeout=t,this._responseTimeout=0,this;for(var e in t)switch(e){case"deadline":this._timeout=t.deadline;break;case"response":this._responseTimeout=t.response;break;default:console.warn("Unknown timeout option",e)}return this},r.prototype.retry=function(t){return 0!==arguments.length&&t!==!0||(t=1),t<=0&&(t=0),this._maxRetries=t,this._retries=0,this},r.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},r.prototype.then=function(t,e){if(!this._fullfilledPromise){var n=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(t,e){n.end(function(n,r){n?e(n):t(r)})})}return this._fullfilledPromise.then(t,e)},r.prototype.catch=function(t){return this.then(void 0,t)},r.prototype.use=function(t){return t(this),this},r.prototype.ok=function(t){if("function"!=typeof t)throw Error("Callback required");return this._okCallback=t,this},r.prototype._isResponseOK=function(t){return!!t&&(this._okCallback?this._okCallback(t):t.status>=200&&t.status<300)},r.prototype.get=function(t){return this._header[t.toLowerCase()]},r.prototype.getHeader=r.prototype.get,r.prototype.set=function(t,e){if(o(t)){for(var n in t)this.set(n,t[n]);return this}return this._header[t.toLowerCase()]=e,this.header[t]=e,this},r.prototype.unset=function(t){return delete this._header[t.toLowerCase()],delete this.header[t],this},r.prototype.field=function(t,e){if(null===t||void 0===t)throw new Error(".field(name, val) name can not be empty");if(this._data&&console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"),o(t)){for(var n in t)this.field(n,t[n]);return this}if(Array.isArray(e)){for(var r in e)this.field(t,e[r]);return this}if(null===e||void 0===e)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof e&&(e=""+e),this._getFormData().append(t,e),this},r.prototype.abort=function(){return this._aborted?this:(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort"),this)},r.prototype.withCredentials=function(t){return void 0==t&&(t=!0),this._withCredentials=t,this},r.prototype.redirects=function(t){return this._maxRedirects=t,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(t){var e=o(t),n=this._header["content-type"];if(this._formData&&console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"),e&&!this._data)Array.isArray(t)?this._data=[]:this._isHost(t)||(this._data={});else if(t&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(e&&o(this._data))for(var r in t)this._data[r]=t[r];else"string"==typeof t?(n||this.type("form"),n=this._header["content-type"],"application/x-www-form-urlencoded"==n?this._data=this._data?this._data+"&"+t:t:this._data=(this._data||"")+t):this._data=t;return!e||this._isHost(t)?this:(n||this.type("json"),this)},r.prototype.sortQuery=function(t){return this._sort="undefined"==typeof t||t,this},r.prototype._timeoutError=function(t,e,n){if(!this._aborted){var r=new Error(t+e+"ms exceeded");r.timeout=e,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.abort(),this.callback(r)}},r.prototype._setTimeouts=function(){var t=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){t._timeoutError("Timeout of ",t._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){t._timeoutError("Response timeout of ",t._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},function(t,e,n){function r(t){if(t)return i(t)}function i(t){for(var e in r.prototype)t[e]=r.prototype[e];return t}var o=n(36);t.exports=r,r.prototype.get=function(t){return this.header[t.toLowerCase()]},r.prototype._setHeaderProperties=function(t){var e=t["content-type"]||"";this.type=o.type(e);var n=o.params(e);for(var r in n)this[r]=n[r];this.links={};try{t.link&&(this.links=o.parseLinks(t.link))}catch(t){}},r.prototype._setStatusProperties=function(t){var e=t/100|0;this.status=this.statusCode=t,this.statusType=e,this.info=1==e,this.ok=2==e,this.redirect=3==e,this.clientError=4==e,this.serverError=5==e,this.error=(4==e||5==e)&&this.toError(),this.accepted=202==t,this.noContent=204==t,this.badRequest=400==t,this.unauthorized=401==t,this.notAcceptable=406==t,this.forbidden=403==t,this.notFound=404==t}},function(t,e){var n=["ECONNRESET","ETIMEDOUT","EADDRINFO","ESOCKETTIMEDOUT"];t.exports=function(t,e){return!!(t&&t.code&&~n.indexOf(t.code))||(!!(e&&e.status&&e.status>=500)||!!(t&&"timeout"in t&&"ECONNABORTED"==t.code))}},function(t,e){e.type=function(t){return t.split(/ *; */).shift()},e.params=function(t){return t.split(/ *; */).reduce(function(t,e){var n=e.split(/ *= */),r=n.shift(),i=n.shift();return r&&i&&(t[r]=i),t},{})},e.parseLinks=function(t){return t.split(/ *, */).reduce(function(t,e){var n=e.split(/ *; */),r=n[0].slice(1,-1),i=n[1].split(/ *= */)[1].slice(1,-1);return t[i]=r,t},{})},e.cleanHeader=function(t,e){return delete t["content-type"],delete t["content-length"],delete t["transfer-encoding"],delete t.host,e&&delete t.cookie,t}},,,,function(t,e,n){function r(t,e){this.baseOptions=e,this.request=t}var i=n(1),o=n(2),s=n(4),a=n(6);r.prototype.signup=function(t,e){var n,r,p;return s.check(t,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},email:{type:"string",message:"email option is required"},password:{type:"string",message:"password option is required"}}),s.check(e,{type:"function",message:"cb parameter is not valid"}),n=i(this.baseOptions.rootUrl,"dbconnections","signup"),r=o.merge(this.baseOptions,["clientID"]).with(t),p=r.user_metadata||r.userMetadata,r=o.blacklist(r,["scope","userMetadata","user_metadata"]),r=o.toSnakeCase(r,["auth0Client"]),p&&(r.user_metadata=p),this.request.post(n).send(r).end(a(e))},r.prototype.changePassword=function(t,e){var n,r;return s.check(t,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},email:{type:"string",message:"email option is required"}}),s.check(e,{type:"function",message:"cb parameter is not valid"}),n=i(this.baseOptions.rootUrl,"dbconnections","change_password"),r=o.merge(this.baseOptions,["clientID"]).with(t,["email","connection"]),r=o.toSnakeCase(r,["auth0Client"]),this.request.post(n).send(r).end(a(e))},t.exports=r},function(t,e,n){function r(t,e){this.baseOptions=e,this.request=t}var i=n(1),o=n(2),s=n(4),a=n(5),p=n(6);r.prototype.buildVerifyUrl=function(t){var e,n;return s.check(t,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},verificationCode:{type:"string",message:"verificationCode option is required"},phoneNumber:{optional:!1,type:"string",message:"phoneNumber option is required",condition:function(t){return!t.email}},email:{optional:!1,type:"string",message:"email option is required",condition:function(t){return!t.phoneNumber}}}),e=o.merge(this.baseOptions,["clientID","responseType","responseMode","redirectUri","scope","audience","_csrf","state","_intstate","protocol","nonce"]).with(t),this.baseOptions._sendTelemetry&&(e.auth0Client=this.request.getTelemetryData()),e=o.toSnakeCase(e,["auth0Client"]),n=a.stringify(e),i(this.baseOptions.rootUrl,"passwordless","verify_redirect","?"+n)},r.prototype.start=function(t,e){var n,r;return s.check(t,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},send:{type:"string",message:"send option is required",values:["link","code"],value_message:"send is not valid ([link, code])"},phoneNumber:{optional:!0,type:"string",message:"phoneNumber option is required",condition:function(t){return"code"===t.send||!t.email}},email:{optional:!0,type:"string",message:"email option is required",condition:function(t){return"link"===t.send||!t.phoneNumber}},authParams:{optional:!0,type:"object",message:"authParams option is required"}}),s.check(e,{type:"function",message:"cb parameter is not valid"}),n=i(this.baseOptions.rootUrl,"passwordless","start"),r=o.merge(this.baseOptions,["clientID","responseType","redirectUri","scope"]).with(t),r.scope&&(r.authParams=r.authParams||{},r.authParams.scope=r.scope),r.redirectUri&&(r.authParams=r.authParams||{},r.authParams.redirect_uri=r.redirectUri),r.responseType&&(r.authParams=r.authParams||{},r.authParams.response_type=r.responseType),delete r.redirectUri,delete r.responseType,delete r.scope,r=o.toSnakeCase(r,["auth0Client","authParams"]),this.request.post(n).send(r).end(p(e))},r.prototype.verify=function(t,e){var n,r;return s.check(t,{type:"object",message:"options parameter is not valid"},{connection:{type:"string",message:"connection option is required"},verificationCode:{type:"string",message:"verificationCode option is required"},phoneNumber:{optional:!1,type:"string",message:"phoneNumber option is required",condition:function(t){return!t.email}},email:{optional:!1,type:"string",message:"email option is required",condition:function(t){return!t.phoneNumber}}}),s.check(e,{type:"function",message:"cb parameter is not valid"}),r=o.pick(t,["connection","verificationCode","phoneNumber","email","auth0Client"]),r=o.toSnakeCase(r,["auth0Client"]),n=i(this.baseOptions.rootUrl,"passwordless","verify"),this.request.post(n).send(r).end(p(e))},t.exports=r},function(t,e,n){function r(t,e,n){var r,i;if(void 0===s.getDocument().cookie||null===s.getDocument().cookie)throw new Error("cookie storage not available");if(n){var o=24*n*60*60*1e3;r=new Date,r.setTime(r.getTime()+o),i="; expires="+r.toGMTString()}else i="";s.getDocument().cookie=t+"="+a.encode(e)+i+"; path=/"}function i(t){var e,n,r,i=t+"=";if(void 0===s.getDocument().cookie||null===s.getDocument().cookie)throw new Error("cookie storage not available");for(r=s.getDocument().cookie.split(";"),e=0;e0&&t.warning("Following parameters are not allowed on the `/authorize` endpoint: ["+n.join(",")+"]"),e}function i(t,e){return o.pick(e,s)}var o=n(2),s=["realm","audience","client_id","client_secret","redirect_uri","scope","code","grant_type","username","password","refresh_token","assertion","client_assertion","client_assertion_type","code_verifier"],a=["connection","connection_scope","auth0Client","owp","device","protocol","_csrf","_intstate","login_ticket","client_id","response_type","response_mode","redirect_uri","audience","scope","state","nonce","display","prompt","max_age","ui_locales","claims_locales","id_token_hint","login_hint","acr_values","claims","registration","request","request_uri","code_challenge","code_challenge_method"];t.exports={oauthTokenParams:i,oauthAuthorizeParams:r}},function(t,e,n){function r(t,e){this.plugins=e;for(var n=0;n= 65 && code <= 90) ||\n\t (!wasPrevNumber && code >= 48 && code <= 57)\n\t ) {\n\t newKey += '_';\n\t newKey += str[index].toLowerCase();\n\t } else {\n\t newKey += str[index].toLowerCase();\n\t }\n\t wasPrevNumber = code >= 48 && code <= 57;\n\t wasPrevUppercase = code >= 65 && code <= 90;\n\t index++;\n\t }\n\t\n\t return newKey;\n\t}\n\t\n\tfunction snakeToCamel(str) {\n\t var parts = str.split('_');\n\t return parts.reduce(function(p, c) {\n\t return p + c.charAt(0).toUpperCase() + c.slice(1);\n\t }, parts.shift());\n\t}\n\t\n\tfunction toSnakeCase(object, exceptions) {\n\t if (typeof object !== 'object' || assert.isArray(object) || object === null) {\n\t return object;\n\t }\n\t exceptions = exceptions || [];\n\t\n\t return Object.keys(object).reduce(function(p, key) {\n\t var newKey = exceptions.indexOf(key) === -1 ? camelToSnake(key) : key;\n\t p[newKey] = toSnakeCase(object[key]);\n\t return p;\n\t }, {});\n\t}\n\t\n\tfunction toCamelCase(object, exceptions) {\n\t if (typeof object !== 'object' || assert.isArray(object) || object === null) {\n\t return object;\n\t }\n\t\n\t exceptions = exceptions || [];\n\t\n\t return Object.keys(object).reduce(function(p, key) {\n\t var newKey = exceptions.indexOf(key) === -1 ? snakeToCamel(key) : key;\n\t p[newKey] = toCamelCase(object[key]);\n\t return p;\n\t }, {});\n\t}\n\t\n\tmodule.exports = {\n\t toSnakeCase: toSnakeCase,\n\t toCamelCase: toCamelCase,\n\t blacklist: blacklist,\n\t merge: merge,\n\t pick: pick,\n\t getKeysNotIn: getKeysNotIn,\n\t extend: extend\n\t};\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {function redirect(url) {\n\t global.window.location = url;\n\t}\n\t\n\tfunction getDocument() {\n\t return global.window.document;\n\t}\n\t\n\tfunction getWindow() {\n\t return global.window;\n\t}\n\t\n\tmodule.exports = {\n\t redirect: redirect,\n\t getDocument: getDocument,\n\t getWindow: getWindow\n\t};\n\t\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ },\n/* 4 */\n/***/ function(module, exports) {\n\n\tvar toString = Object.prototype.toString;\n\t\n\tfunction attribute(o, attr, type, text) {\n\t type = type === 'array' ? 'object' : type;\n\t if (o && typeof o[attr] !== type) {\n\t throw new Error(text);\n\t }\n\t}\n\t\n\tfunction variable(o, type, text) {\n\t if (typeof o !== type) {\n\t throw new Error(text);\n\t }\n\t}\n\t\n\tfunction value(o, values, text) {\n\t if (values.indexOf(o) === -1) {\n\t throw new Error(text);\n\t }\n\t}\n\t\n\tfunction check(o, config, attributes) {\n\t if (!config.optional || o) {\n\t variable(o, config.type, config.message);\n\t }\n\t if (config.type === 'object' && attributes) {\n\t var keys = Object.keys(attributes);\n\t\n\t for (var index = 0; index < keys.length; index++) {\n\t var a = keys[index];\n\t if (!attributes[a].optional || o[a]) {\n\t if (!attributes[a].condition || attributes[a].condition(o)) {\n\t attribute(o, a, attributes[a].type, attributes[a].message);\n\t if (attributes[a].values) {\n\t value(o[a], attributes[a].values, attributes[a].value_message);\n\t }\n\t }\n\t }\n\t }\n\t }\n\t}\n\t\n\t/**\n\t * Wrap `Array.isArray` Polyfill for IE9\n\t * source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray\n\t *\n\t * @param {Array} array\n\t * @private\n\t */\n\tfunction isArray(array) {\n\t if (this.supportsIsArray()) {\n\t return Array.isArray(array);\n\t }\n\t\n\t return toString.call(array) === '[object Array]';\n\t}\n\t\n\tfunction supportsIsArray() {\n\t return Array.isArray != null;\n\t}\n\t\n\tmodule.exports = {\n\t check: check,\n\t attribute: attribute,\n\t variable: variable,\n\t value: value,\n\t isArray: isArray,\n\t supportsIsArray: supportsIsArray\n\t};\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar stringify = __webpack_require__(13);\n\tvar parse = __webpack_require__(12);\n\tvar formats = __webpack_require__(7);\n\t\n\tmodule.exports = {\n\t formats: formats,\n\t parse: parse,\n\t stringify: stringify\n\t};\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar error = __webpack_require__(21);\n\tvar objectHelper = __webpack_require__(2);\n\t\n\tfunction wrapCallback(cb, options) {\n\t options = options || {};\n\t options.ignoreCasing = options.ignoreCasing ? options.ignoreCasing : false;\n\t\n\t return function(err, data) {\n\t var errObj;\n\t\n\t if (!err && !data) {\n\t return cb(error.buildResponse('generic_error', 'Something went wrong'));\n\t }\n\t\n\t if (!err && data.err) {\n\t err = data.err;\n\t data = null;\n\t }\n\t\n\t if (!err && data.error) {\n\t err = data;\n\t data = null;\n\t }\n\t\n\t if (err) {\n\t errObj = {\n\t original: err\n\t };\n\t\n\t if (err.response && err.response.statusCode) {\n\t errObj.statusCode = err.response.statusCode;\n\t }\n\t\n\t if (err.response && err.response.statusText) {\n\t errObj.statusText = err.response.statusText;\n\t }\n\t\n\t if (err.response && err.response.body) {\n\t err = err.response.body;\n\t }\n\t\n\t if (err.err) {\n\t err = err.err;\n\t }\n\t\n\t errObj.code = err.error || err.code || err.error_code || err.status || null;\n\t errObj.description =\n\t err.errorDescription ||\n\t err.error_description ||\n\t err.description ||\n\t err.error ||\n\t err.details ||\n\t err.err ||\n\t null;\n\t\n\t if (err.name) {\n\t errObj.name = err.name;\n\t }\n\t\n\t if (err.policy) {\n\t errObj.policy = err.policy;\n\t }\n\t\n\t return cb(errObj);\n\t }\n\t\n\t if (data.type && (data.type === 'text/html' || data.type === 'text/plain')) {\n\t return cb(null, data.text);\n\t }\n\t\n\t if (options.ignoreCasing) {\n\t return cb(null, data.body || data);\n\t }\n\t\n\t return cb(null, objectHelper.toCamelCase(data.body || data));\n\t };\n\t}\n\t\n\tmodule.exports = wrapCallback;\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar replace = String.prototype.replace;\n\tvar percentTwenties = /%20/g;\n\t\n\tmodule.exports = {\n\t 'default': 'RFC3986',\n\t formatters: {\n\t RFC1738: function (value) {\n\t return replace.call(value, percentTwenties, '+');\n\t },\n\t RFC3986: function (value) {\n\t return value;\n\t }\n\t },\n\t RFC1738: 'RFC1738',\n\t RFC3986: 'RFC3986'\n\t};\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports) {\n\n\t'use strict';\n\t\n\tvar has = Object.prototype.hasOwnProperty;\n\t\n\tvar hexTable = (function () {\n\t var array = [];\n\t for (var i = 0; i < 256; ++i) {\n\t array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n\t }\n\t\n\t return array;\n\t}());\n\t\n\texports.arrayToObject = function (source, options) {\n\t var obj = options && options.plainObjects ? Object.create(null) : {};\n\t for (var i = 0; i < source.length; ++i) {\n\t if (typeof source[i] !== 'undefined') {\n\t obj[i] = source[i];\n\t }\n\t }\n\t\n\t return obj;\n\t};\n\t\n\texports.merge = function (target, source, options) {\n\t if (!source) {\n\t return target;\n\t }\n\t\n\t if (typeof source !== 'object') {\n\t if (Array.isArray(target)) {\n\t target.push(source);\n\t } else if (typeof target === 'object') {\n\t if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {\n\t target[source] = true;\n\t }\n\t } else {\n\t return [target, source];\n\t }\n\t\n\t return target;\n\t }\n\t\n\t if (typeof target !== 'object') {\n\t return [target].concat(source);\n\t }\n\t\n\t var mergeTarget = target;\n\t if (Array.isArray(target) && !Array.isArray(source)) {\n\t mergeTarget = exports.arrayToObject(target, options);\n\t }\n\t\n\t if (Array.isArray(target) && Array.isArray(source)) {\n\t source.forEach(function (item, i) {\n\t if (has.call(target, i)) {\n\t if (target[i] && typeof target[i] === 'object') {\n\t target[i] = exports.merge(target[i], item, options);\n\t } else {\n\t target.push(item);\n\t }\n\t } else {\n\t target[i] = item;\n\t }\n\t });\n\t return target;\n\t }\n\t\n\t return Object.keys(source).reduce(function (acc, key) {\n\t var value = source[key];\n\t\n\t if (Object.prototype.hasOwnProperty.call(acc, key)) {\n\t acc[key] = exports.merge(acc[key], value, options);\n\t } else {\n\t acc[key] = value;\n\t }\n\t return acc;\n\t }, mergeTarget);\n\t};\n\t\n\texports.decode = function (str) {\n\t try {\n\t return decodeURIComponent(str.replace(/\\+/g, ' '));\n\t } catch (e) {\n\t return str;\n\t }\n\t};\n\t\n\texports.encode = function (str) {\n\t // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n\t // It has been adapted here for stricter adherence to RFC 3986\n\t if (str.length === 0) {\n\t return str;\n\t }\n\t\n\t var string = typeof str === 'string' ? str : String(str);\n\t\n\t var out = '';\n\t for (var i = 0; i < string.length; ++i) {\n\t var c = string.charCodeAt(i);\n\t\n\t if (\n\t c === 0x2D || // -\n\t c === 0x2E || // .\n\t c === 0x5F || // _\n\t c === 0x7E || // ~\n\t (c >= 0x30 && c <= 0x39) || // 0-9\n\t (c >= 0x41 && c <= 0x5A) || // a-z\n\t (c >= 0x61 && c <= 0x7A) // A-Z\n\t ) {\n\t out += string.charAt(i);\n\t continue;\n\t }\n\t\n\t if (c < 0x80) {\n\t out = out + hexTable[c];\n\t continue;\n\t }\n\t\n\t if (c < 0x800) {\n\t out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n\t continue;\n\t }\n\t\n\t if (c < 0xD800 || c >= 0xE000) {\n\t out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n\t continue;\n\t }\n\t\n\t i += 1;\n\t c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n\t out += hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]; // eslint-disable-line max-len\n\t }\n\t\n\t return out;\n\t};\n\t\n\texports.compact = function (obj, references) {\n\t if (typeof obj !== 'object' || obj === null) {\n\t return obj;\n\t }\n\t\n\t var refs = references || [];\n\t var lookup = refs.indexOf(obj);\n\t if (lookup !== -1) {\n\t return refs[lookup];\n\t }\n\t\n\t refs.push(obj);\n\t\n\t if (Array.isArray(obj)) {\n\t var compacted = [];\n\t\n\t for (var i = 0; i < obj.length; ++i) {\n\t if (obj[i] && typeof obj[i] === 'object') {\n\t compacted.push(exports.compact(obj[i], refs));\n\t } else if (typeof obj[i] !== 'undefined') {\n\t compacted.push(obj[i]);\n\t }\n\t }\n\t\n\t return compacted;\n\t }\n\t\n\t var keys = Object.keys(obj);\n\t keys.forEach(function (key) {\n\t obj[key] = exports.compact(obj[key], refs);\n\t });\n\t\n\t return obj;\n\t};\n\t\n\texports.isRegExp = function (obj) {\n\t return Object.prototype.toString.call(obj) === '[object RegExp]';\n\t};\n\t\n\texports.isBuffer = function (obj) {\n\t if (obj === null || typeof obj === 'undefined') {\n\t return false;\n\t }\n\t\n\t return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n\t};\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports) {\n\n\tmodule.exports = { raw: '8.9.3' };\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* eslint-disable no-param-reassign */\n\tvar request = __webpack_require__(17);\n\tvar base64Url = __webpack_require__(20);\n\tvar version = __webpack_require__(9);\n\t\n\t// ------------------------------------------------ RequestWrapper\n\t\n\tfunction RequestWrapper(req) {\n\t this.request = req;\n\t this.method = req.method;\n\t this.url = req.url;\n\t this.body = req._data;\n\t this.headers = req._header;\n\t}\n\t\n\tRequestWrapper.prototype.abort = function() {\n\t this.request.abort();\n\t};\n\t\n\tRequestWrapper.prototype.getMethod = function() {\n\t return this.method;\n\t};\n\t\n\tRequestWrapper.prototype.getBody = function() {\n\t return this.body;\n\t};\n\t\n\tRequestWrapper.prototype.getUrl = function() {\n\t return this.url;\n\t};\n\t\n\tRequestWrapper.prototype.getHeaders = function() {\n\t return this.headers;\n\t};\n\t\n\t// ------------------------------------------------ RequestObj\n\t\n\tfunction RequestObj(req) {\n\t this.request = req;\n\t}\n\t\n\tRequestObj.prototype.set = function(key, value) {\n\t this.request = this.request.set(key, value);\n\t return this;\n\t};\n\t\n\tRequestObj.prototype.send = function(body) {\n\t this.request = this.request.send(body);\n\t return this;\n\t};\n\t\n\tRequestObj.prototype.withCredentials = function() {\n\t this.request = this.request.withCredentials();\n\t return this;\n\t};\n\t\n\tRequestObj.prototype.end = function(cb) {\n\t this.request = this.request.end(cb);\n\t return new RequestWrapper(this.request);\n\t};\n\t\n\t// ------------------------------------------------ RequestBuilder\n\t\n\tfunction RequestBuilder(options) {\n\t this._sendTelemetry = options._sendTelemetry === false ? options._sendTelemetry : true;\n\t this._telemetryInfo = options._telemetryInfo || null;\n\t this._timesToRetryFailedRequests = options._timesToRetryFailedRequests;\n\t this.headers = options.headers || {};\n\t}\n\t\n\tRequestBuilder.prototype.setCommonConfiguration = function(ongoingRequest, options) {\n\t options = options || {};\n\t\n\t if (options.noHeaders) {\n\t return ongoingRequest;\n\t }\n\t\n\t var headers = this.headers;\n\t ongoingRequest = ongoingRequest.set('Content-Type', 'application/json');\n\t\n\t var keys = Object.keys(this.headers);\n\t\n\t for (var a = 0; a < keys.length; a++) {\n\t ongoingRequest = ongoingRequest.set(keys[a], headers[keys[a]]);\n\t }\n\t\n\t if (this._sendTelemetry) {\n\t ongoingRequest = ongoingRequest.set('Auth0-Client', this.getTelemetryData());\n\t }\n\t if (this._timesToRetryFailedRequests > 0) {\n\t ongoingRequest = ongoingRequest.retry(this._timesToRetryFailedRequests);\n\t }\n\t return ongoingRequest;\n\t};\n\t\n\tRequestBuilder.prototype.getTelemetryData = function() {\n\t var clientInfo = this._telemetryInfo || { name: 'auth0.js', version: version.raw };\n\t var jsonClientInfo = JSON.stringify(clientInfo);\n\t return base64Url.encode(jsonClientInfo);\n\t};\n\t\n\tRequestBuilder.prototype.get = function(url, options) {\n\t return new RequestObj(this.setCommonConfiguration(request.get(url), options));\n\t};\n\t\n\tRequestBuilder.prototype.post = function(url, options) {\n\t return new RequestObj(this.setCommonConfiguration(request.post(url), options));\n\t};\n\t\n\tRequestBuilder.prototype.patch = function(url, options) {\n\t return new RequestObj(this.setCommonConfiguration(request.patch(url), options));\n\t};\n\t\n\tmodule.exports = RequestBuilder;\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports) {\n\n\t/* eslint-disable no-console */\n\t\n\tfunction Warn(options) {\n\t this.disableWarnings = options.disableWarnings;\n\t}\n\t\n\tWarn.prototype.warning = function(message) {\n\t if (this.disableWarnings) {\n\t return;\n\t }\n\t\n\t console.warn(message);\n\t};\n\t\n\tmodule.exports = Warn;\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(8);\n\t\n\tvar has = Object.prototype.hasOwnProperty;\n\t\n\tvar defaults = {\n\t allowDots: false,\n\t allowPrototypes: false,\n\t arrayLimit: 20,\n\t decoder: utils.decode,\n\t delimiter: '&',\n\t depth: 5,\n\t parameterLimit: 1000,\n\t plainObjects: false,\n\t strictNullHandling: false\n\t};\n\t\n\tvar parseValues = function parseQueryStringValues(str, options) {\n\t var obj = {};\n\t var parts = str.split(options.delimiter, options.parameterLimit === Infinity ? undefined : options.parameterLimit);\n\t\n\t for (var i = 0; i < parts.length; ++i) {\n\t var part = parts[i];\n\t var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1;\n\t\n\t var key, val;\n\t if (pos === -1) {\n\t key = options.decoder(part);\n\t val = options.strictNullHandling ? null : '';\n\t } else {\n\t key = options.decoder(part.slice(0, pos));\n\t val = options.decoder(part.slice(pos + 1));\n\t }\n\t if (has.call(obj, key)) {\n\t obj[key] = [].concat(obj[key]).concat(val);\n\t } else {\n\t obj[key] = val;\n\t }\n\t }\n\t\n\t return obj;\n\t};\n\t\n\tvar parseObject = function parseObjectRecursive(chain, val, options) {\n\t if (!chain.length) {\n\t return val;\n\t }\n\t\n\t var root = chain.shift();\n\t\n\t var obj;\n\t if (root === '[]') {\n\t obj = [];\n\t obj = obj.concat(parseObject(chain, val, options));\n\t } else {\n\t obj = options.plainObjects ? Object.create(null) : {};\n\t var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n\t var index = parseInt(cleanRoot, 10);\n\t if (\n\t !isNaN(index) &&\n\t root !== cleanRoot &&\n\t String(index) === cleanRoot &&\n\t index >= 0 &&\n\t (options.parseArrays && index <= options.arrayLimit)\n\t ) {\n\t obj = [];\n\t obj[index] = parseObject(chain, val, options);\n\t } else {\n\t obj[cleanRoot] = parseObject(chain, val, options);\n\t }\n\t }\n\t\n\t return obj;\n\t};\n\t\n\tvar parseKeys = function parseQueryStringKeys(givenKey, val, options) {\n\t if (!givenKey) {\n\t return;\n\t }\n\t\n\t // Transform dot notation to bracket notation\n\t var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\t\n\t // The regex chunks\n\t\n\t var brackets = /(\\[[^[\\]]*])/;\n\t var child = /(\\[[^[\\]]*])/g;\n\t\n\t // Get the parent\n\t\n\t var segment = brackets.exec(key);\n\t var parent = segment ? key.slice(0, segment.index) : key;\n\t\n\t // Stash the parent if it exists\n\t\n\t var keys = [];\n\t if (parent) {\n\t // If we aren't using plain objects, optionally prefix keys\n\t // that would overwrite object prototype properties\n\t if (!options.plainObjects && has.call(Object.prototype, parent)) {\n\t if (!options.allowPrototypes) {\n\t return;\n\t }\n\t }\n\t\n\t keys.push(parent);\n\t }\n\t\n\t // Loop through children appending to the array until we hit depth\n\t\n\t var i = 0;\n\t while ((segment = child.exec(key)) !== null && i < options.depth) {\n\t i += 1;\n\t if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n\t if (!options.allowPrototypes) {\n\t return;\n\t }\n\t }\n\t keys.push(segment[1]);\n\t }\n\t\n\t // If there's a remainder, just add whatever is left\n\t\n\t if (segment) {\n\t keys.push('[' + key.slice(segment.index) + ']');\n\t }\n\t\n\t return parseObject(keys, val, options);\n\t};\n\t\n\tmodule.exports = function (str, opts) {\n\t var options = opts || {};\n\t\n\t if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {\n\t throw new TypeError('Decoder has to be a function.');\n\t }\n\t\n\t options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;\n\t options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;\n\t options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;\n\t options.parseArrays = options.parseArrays !== false;\n\t options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;\n\t options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;\n\t options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;\n\t options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;\n\t options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;\n\t options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n\t\n\t if (str === '' || str === null || typeof str === 'undefined') {\n\t return options.plainObjects ? Object.create(null) : {};\n\t }\n\t\n\t var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n\t var obj = options.plainObjects ? Object.create(null) : {};\n\t\n\t // Iterate over the keys and setup the new object\n\t\n\t var keys = Object.keys(tempObj);\n\t for (var i = 0; i < keys.length; ++i) {\n\t var key = keys[i];\n\t var newObj = parseKeys(key, tempObj[key], options);\n\t obj = utils.merge(obj, newObj, options);\n\t }\n\t\n\t return utils.compact(obj);\n\t};\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\t\n\tvar utils = __webpack_require__(8);\n\tvar formats = __webpack_require__(7);\n\t\n\tvar arrayPrefixGenerators = {\n\t brackets: function brackets(prefix) { // eslint-disable-line func-name-matching\n\t return prefix + '[]';\n\t },\n\t indices: function indices(prefix, key) { // eslint-disable-line func-name-matching\n\t return prefix + '[' + key + ']';\n\t },\n\t repeat: function repeat(prefix) { // eslint-disable-line func-name-matching\n\t return prefix;\n\t }\n\t};\n\t\n\tvar toISO = Date.prototype.toISOString;\n\t\n\tvar defaults = {\n\t delimiter: '&',\n\t encode: true,\n\t encoder: utils.encode,\n\t encodeValuesOnly: false,\n\t serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching\n\t return toISO.call(date);\n\t },\n\t skipNulls: false,\n\t strictNullHandling: false\n\t};\n\t\n\tvar stringify = function stringify( // eslint-disable-line func-name-matching\n\t object,\n\t prefix,\n\t generateArrayPrefix,\n\t strictNullHandling,\n\t skipNulls,\n\t encoder,\n\t filter,\n\t sort,\n\t allowDots,\n\t serializeDate,\n\t formatter,\n\t encodeValuesOnly\n\t) {\n\t var obj = object;\n\t if (typeof filter === 'function') {\n\t obj = filter(prefix, obj);\n\t } else if (obj instanceof Date) {\n\t obj = serializeDate(obj);\n\t } else if (obj === null) {\n\t if (strictNullHandling) {\n\t return encoder && !encodeValuesOnly ? encoder(prefix) : prefix;\n\t }\n\t\n\t obj = '';\n\t }\n\t\n\t if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {\n\t if (encoder) {\n\t var keyValue = encodeValuesOnly ? prefix : encoder(prefix);\n\t return [formatter(keyValue) + '=' + formatter(encoder(obj))];\n\t }\n\t return [formatter(prefix) + '=' + formatter(String(obj))];\n\t }\n\t\n\t var values = [];\n\t\n\t if (typeof obj === 'undefined') {\n\t return values;\n\t }\n\t\n\t var objKeys;\n\t if (Array.isArray(filter)) {\n\t objKeys = filter;\n\t } else {\n\t var keys = Object.keys(obj);\n\t objKeys = sort ? keys.sort(sort) : keys;\n\t }\n\t\n\t for (var i = 0; i < objKeys.length; ++i) {\n\t var key = objKeys[i];\n\t\n\t if (skipNulls && obj[key] === null) {\n\t continue;\n\t }\n\t\n\t if (Array.isArray(obj)) {\n\t values = values.concat(stringify(\n\t obj[key],\n\t generateArrayPrefix(prefix, key),\n\t generateArrayPrefix,\n\t strictNullHandling,\n\t skipNulls,\n\t encoder,\n\t filter,\n\t sort,\n\t allowDots,\n\t serializeDate,\n\t formatter,\n\t encodeValuesOnly\n\t ));\n\t } else {\n\t values = values.concat(stringify(\n\t obj[key],\n\t prefix + (allowDots ? '.' + key : '[' + key + ']'),\n\t generateArrayPrefix,\n\t strictNullHandling,\n\t skipNulls,\n\t encoder,\n\t filter,\n\t sort,\n\t allowDots,\n\t serializeDate,\n\t formatter,\n\t encodeValuesOnly\n\t ));\n\t }\n\t }\n\t\n\t return values;\n\t};\n\t\n\tmodule.exports = function (object, opts) {\n\t var obj = object;\n\t var options = opts || {};\n\t\n\t if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {\n\t throw new TypeError('Encoder has to be a function.');\n\t }\n\t\n\t var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;\n\t var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n\t var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;\n\t var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;\n\t var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;\n\t var sort = typeof options.sort === 'function' ? options.sort : null;\n\t var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;\n\t var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;\n\t var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;\n\t if (typeof options.format === 'undefined') {\n\t options.format = formats.default;\n\t } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {\n\t throw new TypeError('Unknown format option provided.');\n\t }\n\t var formatter = formats.formatters[options.format];\n\t var objKeys;\n\t var filter;\n\t\n\t if (typeof options.filter === 'function') {\n\t filter = options.filter;\n\t obj = filter('', obj);\n\t } else if (Array.isArray(options.filter)) {\n\t filter = options.filter;\n\t objKeys = filter;\n\t }\n\t\n\t var keys = [];\n\t\n\t if (typeof obj !== 'object' || obj === null) {\n\t return '';\n\t }\n\t\n\t var arrayFormat;\n\t if (options.arrayFormat in arrayPrefixGenerators) {\n\t arrayFormat = options.arrayFormat;\n\t } else if ('indices' in options) {\n\t arrayFormat = options.indices ? 'indices' : 'repeat';\n\t } else {\n\t arrayFormat = 'indices';\n\t }\n\t\n\t var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\t\n\t if (!objKeys) {\n\t objKeys = Object.keys(obj);\n\t }\n\t\n\t if (sort) {\n\t objKeys.sort(sort);\n\t }\n\t\n\t for (var i = 0; i < objKeys.length; ++i) {\n\t var key = objKeys[i];\n\t\n\t if (skipNulls && obj[key] === null) {\n\t continue;\n\t }\n\t\n\t keys = keys.concat(stringify(\n\t obj[key],\n\t key,\n\t generateArrayPrefix,\n\t strictNullHandling,\n\t skipNulls,\n\t encode ? encoder : null,\n\t filter,\n\t sort,\n\t allowDots,\n\t serializeDate,\n\t formatter,\n\t encodeValuesOnly\n\t ));\n\t }\n\t\n\t return keys.join(delimiter);\n\t};\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports) {\n\n\t/**\n\t * Check if `obj` is an object.\n\t *\n\t * @param {Object} obj\n\t * @return {Boolean}\n\t * @api private\n\t */\n\t\n\tfunction isObject(obj) {\n\t return null !== obj && 'object' === typeof obj;\n\t}\n\t\n\tmodule.exports = isObject;\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports) {\n\n\t'use strict'\n\t\n\texports.byteLength = byteLength\n\texports.toByteArray = toByteArray\n\texports.fromByteArray = fromByteArray\n\t\n\tvar lookup = []\n\tvar revLookup = []\n\tvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\t\n\tvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\n\tfor (var i = 0, len = code.length; i < len; ++i) {\n\t lookup[i] = code[i]\n\t revLookup[code.charCodeAt(i)] = i\n\t}\n\t\n\trevLookup['-'.charCodeAt(0)] = 62\n\trevLookup['_'.charCodeAt(0)] = 63\n\t\n\tfunction placeHoldersCount (b64) {\n\t var len = b64.length\n\t if (len % 4 > 0) {\n\t throw new Error('Invalid string. Length must be a multiple of 4')\n\t }\n\t\n\t // the number of equal signs (place holders)\n\t // if there are two placeholders, than the two characters before it\n\t // represent one byte\n\t // if there is only one, then the three characters before it represent 2 bytes\n\t // this is just a cheap hack to not do indexOf twice\n\t return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n\t}\n\t\n\tfunction byteLength (b64) {\n\t // base64 is 4/3 + up to two characters of the original data\n\t return b64.length * 3 / 4 - placeHoldersCount(b64)\n\t}\n\t\n\tfunction toByteArray (b64) {\n\t var i, j, l, tmp, placeHolders, arr\n\t var len = b64.length\n\t placeHolders = placeHoldersCount(b64)\n\t\n\t arr = new Arr(len * 3 / 4 - placeHolders)\n\t\n\t // if there are placeholders, only get up to the last complete 4 chars\n\t l = placeHolders > 0 ? len - 4 : len\n\t\n\t var L = 0\n\t\n\t for (i = 0, j = 0; i < l; i += 4, j += 3) {\n\t tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n\t arr[L++] = (tmp >> 16) & 0xFF\n\t arr[L++] = (tmp >> 8) & 0xFF\n\t arr[L++] = tmp & 0xFF\n\t }\n\t\n\t if (placeHolders === 2) {\n\t tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n\t arr[L++] = tmp & 0xFF\n\t } else if (placeHolders === 1) {\n\t tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n\t arr[L++] = (tmp >> 8) & 0xFF\n\t arr[L++] = tmp & 0xFF\n\t }\n\t\n\t return arr\n\t}\n\t\n\tfunction tripletToBase64 (num) {\n\t return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n\t}\n\t\n\tfunction encodeChunk (uint8, start, end) {\n\t var tmp\n\t var output = []\n\t for (var i = start; i < end; i += 3) {\n\t tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n\t output.push(tripletToBase64(tmp))\n\t }\n\t return output.join('')\n\t}\n\t\n\tfunction fromByteArray (uint8) {\n\t var tmp\n\t var len = uint8.length\n\t var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n\t var output = ''\n\t var parts = []\n\t var maxChunkLength = 16383 // must be multiple of 3\n\t\n\t // go through the array every three bytes, we'll deal with trailing stuff later\n\t for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n\t parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n\t }\n\t\n\t // pad the end with zeros, but make sure to not forget the extra bytes\n\t if (extraBytes === 1) {\n\t tmp = uint8[len - 1]\n\t output += lookup[tmp >> 2]\n\t output += lookup[(tmp << 4) & 0x3F]\n\t output += '=='\n\t } else if (extraBytes === 2) {\n\t tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n\t output += lookup[tmp >> 10]\n\t output += lookup[(tmp >> 4) & 0x3F]\n\t output += lookup[(tmp << 2) & 0x3F]\n\t output += '='\n\t }\n\t\n\t parts.push(output)\n\t\n\t return parts.join('')\n\t}\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar base64 = __webpack_require__(15);\n\t\n\tfunction padding(str) {\n\t var mod = (str.length % 4);\n\t var pad = 4 - mod;\n\t\n\t if (mod === 0) {\n\t return str;\n\t }\n\t\n\t return str + (new Array(1 + pad)).join('=');\n\t}\n\t\n\tfunction byteArrayToString(array) {\n\t var result = \"\";\n\t for (var i = 0; i < array.length; i++) {\n\t result += String.fromCharCode(array[i]);\n\t }\n\t return result;\n\t}\n\t\n\tfunction stringToByteArray(str) {\n\t var arr = new Array(str.length);\n\t for (var a = 0; a < str.length; a++) {\n\t arr[a] = str.charCodeAt(a);\n\t }\n\t return arr;\n\t}\n\t\n\tfunction byteArrayToHex(raw) {\n\t var HEX = '';\n\t\n\t for (var i = 0; i < raw.length; i++) {\n\t var _hex = raw[i].toString(16);\n\t HEX += (_hex.length === 2 ? _hex : '0' + _hex);\n\t }\n\t\n\t return HEX;\n\t}\n\t\n\tfunction encodeString(str) {\n\t return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n\t return String.fromCharCode('0x' + p1);\n\t }))\n\t .replace(/\\+/g, '-') // Convert '+' to '-'\n\t .replace(/\\//g, '_'); // Convert '/' to '_';\n\t}\n\t\n\tfunction decodeToString(str) {\n\t str = padding(str)\n\t .replace(/\\-/g, '+') // Convert '-' to '+'\n\t .replace(/_/g, '/'); // Convert '_' to '/'\n\t\n\t return decodeURIComponent(atob(str).split('').map(function (c) {\n\t return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n\t }).join(''));\n\t}\n\t\n\tfunction decodeToHEX(str) {\n\t return byteArrayToHex(base64.toByteArray(padding(str)));\n\t}\n\t\n\tmodule.exports = {\n\t encodeString: encodeString,\n\t decodeToString: decodeToString,\n\t byteArrayToString: byteArrayToString,\n\t stringToByteArray: stringToByteArray,\n\t padding: padding,\n\t byteArrayToHex: byteArrayToHex,\n\t decodeToHEX: decodeToHEX\n\t};\n\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Root reference for iframes.\n\t */\n\t\n\tvar root;\n\tif (typeof window !== 'undefined') { // Browser window\n\t root = window;\n\t} else if (typeof self !== 'undefined') { // Web Worker\n\t root = self;\n\t} else { // Other environments\n\t console.warn(\"Using browser-only version of superagent in non-browser environment\");\n\t root = this;\n\t}\n\t\n\tvar Emitter = __webpack_require__(23);\n\tvar RequestBase = __webpack_require__(33);\n\tvar isObject = __webpack_require__(14);\n\tvar isFunction = __webpack_require__(32);\n\tvar ResponseBase = __webpack_require__(34);\n\tvar shouldRetry = __webpack_require__(35);\n\t\n\t/**\n\t * Noop.\n\t */\n\t\n\tfunction noop(){};\n\t\n\t/**\n\t * Expose `request`.\n\t */\n\t\n\tvar request = exports = module.exports = function(method, url) {\n\t // callback\n\t if ('function' == typeof url) {\n\t return new exports.Request('GET', method).end(url);\n\t }\n\t\n\t // url first\n\t if (1 == arguments.length) {\n\t return new exports.Request('GET', method);\n\t }\n\t\n\t return new exports.Request(method, url);\n\t}\n\t\n\texports.Request = Request;\n\t\n\t/**\n\t * Determine XHR.\n\t */\n\t\n\trequest.getXHR = function () {\n\t if (root.XMLHttpRequest\n\t && (!root.location || 'file:' != root.location.protocol\n\t || !root.ActiveXObject)) {\n\t return new XMLHttpRequest;\n\t } else {\n\t try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch(e) {}\n\t try { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); } catch(e) {}\n\t try { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); } catch(e) {}\n\t try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) {}\n\t }\n\t throw Error(\"Browser-only verison of superagent could not find XHR\");\n\t};\n\t\n\t/**\n\t * Removes leading and trailing whitespace, added to support IE.\n\t *\n\t * @param {String} s\n\t * @return {String}\n\t * @api private\n\t */\n\t\n\tvar trim = ''.trim\n\t ? function(s) { return s.trim(); }\n\t : function(s) { return s.replace(/(^\\s*|\\s*$)/g, ''); };\n\t\n\t/**\n\t * Serialize the given `obj`.\n\t *\n\t * @param {Object} obj\n\t * @return {String}\n\t * @api private\n\t */\n\t\n\tfunction serialize(obj) {\n\t if (!isObject(obj)) return obj;\n\t var pairs = [];\n\t for (var key in obj) {\n\t pushEncodedKeyValuePair(pairs, key, obj[key]);\n\t }\n\t return pairs.join('&');\n\t}\n\t\n\t/**\n\t * Helps 'serialize' with serializing arrays.\n\t * Mutates the pairs array.\n\t *\n\t * @param {Array} pairs\n\t * @param {String} key\n\t * @param {Mixed} val\n\t */\n\t\n\tfunction pushEncodedKeyValuePair(pairs, key, val) {\n\t if (val != null) {\n\t if (Array.isArray(val)) {\n\t val.forEach(function(v) {\n\t pushEncodedKeyValuePair(pairs, key, v);\n\t });\n\t } else if (isObject(val)) {\n\t for(var subkey in val) {\n\t pushEncodedKeyValuePair(pairs, key + '[' + subkey + ']', val[subkey]);\n\t }\n\t } else {\n\t pairs.push(encodeURIComponent(key)\n\t + '=' + encodeURIComponent(val));\n\t }\n\t } else if (val === null) {\n\t pairs.push(encodeURIComponent(key));\n\t }\n\t}\n\t\n\t/**\n\t * Expose serialization method.\n\t */\n\t\n\t request.serializeObject = serialize;\n\t\n\t /**\n\t * Parse the given x-www-form-urlencoded `str`.\n\t *\n\t * @param {String} str\n\t * @return {Object}\n\t * @api private\n\t */\n\t\n\tfunction parseString(str) {\n\t var obj = {};\n\t var pairs = str.split('&');\n\t var pair;\n\t var pos;\n\t\n\t for (var i = 0, len = pairs.length; i < len; ++i) {\n\t pair = pairs[i];\n\t pos = pair.indexOf('=');\n\t if (pos == -1) {\n\t obj[decodeURIComponent(pair)] = '';\n\t } else {\n\t obj[decodeURIComponent(pair.slice(0, pos))] =\n\t decodeURIComponent(pair.slice(pos + 1));\n\t }\n\t }\n\t\n\t return obj;\n\t}\n\t\n\t/**\n\t * Expose parser.\n\t */\n\t\n\trequest.parseString = parseString;\n\t\n\t/**\n\t * Default MIME type map.\n\t *\n\t * superagent.types.xml = 'application/xml';\n\t *\n\t */\n\t\n\trequest.types = {\n\t html: 'text/html',\n\t json: 'application/json',\n\t xml: 'application/xml',\n\t urlencoded: 'application/x-www-form-urlencoded',\n\t 'form': 'application/x-www-form-urlencoded',\n\t 'form-data': 'application/x-www-form-urlencoded'\n\t};\n\t\n\t/**\n\t * Default serialization map.\n\t *\n\t * superagent.serialize['application/xml'] = function(obj){\n\t * return 'generated xml here';\n\t * };\n\t *\n\t */\n\t\n\t request.serialize = {\n\t 'application/x-www-form-urlencoded': serialize,\n\t 'application/json': JSON.stringify\n\t };\n\t\n\t /**\n\t * Default parsers.\n\t *\n\t * superagent.parse['application/xml'] = function(str){\n\t * return { object parsed from str };\n\t * };\n\t *\n\t */\n\t\n\trequest.parse = {\n\t 'application/x-www-form-urlencoded': parseString,\n\t 'application/json': JSON.parse\n\t};\n\t\n\t/**\n\t * Parse the given header `str` into\n\t * an object containing the mapped fields.\n\t *\n\t * @param {String} str\n\t * @return {Object}\n\t * @api private\n\t */\n\t\n\tfunction parseHeader(str) {\n\t var lines = str.split(/\\r?\\n/);\n\t var fields = {};\n\t var index;\n\t var line;\n\t var field;\n\t var val;\n\t\n\t lines.pop(); // trailing CRLF\n\t\n\t for (var i = 0, len = lines.length; i < len; ++i) {\n\t line = lines[i];\n\t index = line.indexOf(':');\n\t field = line.slice(0, index).toLowerCase();\n\t val = trim(line.slice(index + 1));\n\t fields[field] = val;\n\t }\n\t\n\t return fields;\n\t}\n\t\n\t/**\n\t * Check if `mime` is json or has +json structured syntax suffix.\n\t *\n\t * @param {String} mime\n\t * @return {Boolean}\n\t * @api private\n\t */\n\t\n\tfunction isJSON(mime) {\n\t return /[\\/+]json\\b/.test(mime);\n\t}\n\t\n\t/**\n\t * Initialize a new `Response` with the given `xhr`.\n\t *\n\t * - set flags (.ok, .error, etc)\n\t * - parse header\n\t *\n\t * Examples:\n\t *\n\t * Aliasing `superagent` as `request` is nice:\n\t *\n\t * request = superagent;\n\t *\n\t * We can use the promise-like API, or pass callbacks:\n\t *\n\t * request.get('/').end(function(res){});\n\t * request.get('/', function(res){});\n\t *\n\t * Sending data can be chained:\n\t *\n\t * request\n\t * .post('/user')\n\t * .send({ name: 'tj' })\n\t * .end(function(res){});\n\t *\n\t * Or passed to `.send()`:\n\t *\n\t * request\n\t * .post('/user')\n\t * .send({ name: 'tj' }, function(res){});\n\t *\n\t * Or passed to `.post()`:\n\t *\n\t * request\n\t * .post('/user', { name: 'tj' })\n\t * .end(function(res){});\n\t *\n\t * Or further reduced to a single call for simple cases:\n\t *\n\t * request\n\t * .post('/user', { name: 'tj' }, function(res){});\n\t *\n\t * @param {XMLHTTPRequest} xhr\n\t * @param {Object} options\n\t * @api private\n\t */\n\t\n\tfunction Response(req) {\n\t this.req = req;\n\t this.xhr = this.req.xhr;\n\t // responseText is accessible only if responseType is '' or 'text' and on older browsers\n\t this.text = ((this.req.method !='HEAD' && (this.xhr.responseType === '' || this.xhr.responseType === 'text')) || typeof this.xhr.responseType === 'undefined')\n\t ? this.xhr.responseText\n\t : null;\n\t this.statusText = this.req.xhr.statusText;\n\t var status = this.xhr.status;\n\t // handle IE9 bug: http://stackoverflow.com/questions/10046972/msie-returns-status-code-of-1223-for-ajax-request\n\t if (status === 1223) {\n\t status = 204;\n\t }\n\t this._setStatusProperties(status);\n\t this.header = this.headers = parseHeader(this.xhr.getAllResponseHeaders());\n\t // getAllResponseHeaders sometimes falsely returns \"\" for CORS requests, but\n\t // getResponseHeader still works. so we get content-type even if getting\n\t // other headers fails.\n\t this.header['content-type'] = this.xhr.getResponseHeader('content-type');\n\t this._setHeaderProperties(this.header);\n\t\n\t if (null === this.text && req._responseType) {\n\t this.body = this.xhr.response;\n\t } else {\n\t this.body = this.req.method != 'HEAD'\n\t ? this._parseBody(this.text ? this.text : this.xhr.response)\n\t : null;\n\t }\n\t}\n\t\n\tResponseBase(Response.prototype);\n\t\n\t/**\n\t * Parse the given body `str`.\n\t *\n\t * Used for auto-parsing of bodies. Parsers\n\t * are defined on the `superagent.parse` object.\n\t *\n\t * @param {String} str\n\t * @return {Mixed}\n\t * @api private\n\t */\n\t\n\tResponse.prototype._parseBody = function(str){\n\t var parse = request.parse[this.type];\n\t if(this.req._parser) {\n\t return this.req._parser(this, str);\n\t }\n\t if (!parse && isJSON(this.type)) {\n\t parse = request.parse['application/json'];\n\t }\n\t return parse && str && (str.length || str instanceof Object)\n\t ? parse(str)\n\t : null;\n\t};\n\t\n\t/**\n\t * Return an `Error` representative of this response.\n\t *\n\t * @return {Error}\n\t * @api public\n\t */\n\t\n\tResponse.prototype.toError = function(){\n\t var req = this.req;\n\t var method = req.method;\n\t var url = req.url;\n\t\n\t var msg = 'cannot ' + method + ' ' + url + ' (' + this.status + ')';\n\t var err = new Error(msg);\n\t err.status = this.status;\n\t err.method = method;\n\t err.url = url;\n\t\n\t return err;\n\t};\n\t\n\t/**\n\t * Expose `Response`.\n\t */\n\t\n\trequest.Response = Response;\n\t\n\t/**\n\t * Initialize a new `Request` with the given `method` and `url`.\n\t *\n\t * @param {String} method\n\t * @param {String} url\n\t * @api public\n\t */\n\t\n\tfunction Request(method, url) {\n\t var self = this;\n\t this._query = this._query || [];\n\t this.method = method;\n\t this.url = url;\n\t this.header = {}; // preserves header name case\n\t this._header = {}; // coerces header names to lowercase\n\t this.on('end', function(){\n\t var err = null;\n\t var res = null;\n\t\n\t try {\n\t res = new Response(self);\n\t } catch(e) {\n\t err = new Error('Parser is unable to parse the response');\n\t err.parse = true;\n\t err.original = e;\n\t // issue #675: return the raw response if the response parsing fails\n\t if (self.xhr) {\n\t // ie9 doesn't have 'response' property\n\t err.rawResponse = typeof self.xhr.responseType == 'undefined' ? self.xhr.responseText : self.xhr.response;\n\t // issue #876: return the http status code if the response parsing fails\n\t err.status = self.xhr.status ? self.xhr.status : null;\n\t err.statusCode = err.status; // backwards-compat only\n\t } else {\n\t err.rawResponse = null;\n\t err.status = null;\n\t }\n\t\n\t return self.callback(err);\n\t }\n\t\n\t self.emit('response', res);\n\t\n\t var new_err;\n\t try {\n\t if (!self._isResponseOK(res)) {\n\t new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n\t new_err.original = err;\n\t new_err.response = res;\n\t new_err.status = res.status;\n\t }\n\t } catch(e) {\n\t new_err = e; // #985 touching res may cause INVALID_STATE_ERR on old Android\n\t }\n\t\n\t // #1000 don't catch errors from the callback to avoid double calling it\n\t if (new_err) {\n\t self.callback(new_err, res);\n\t } else {\n\t self.callback(null, res);\n\t }\n\t });\n\t}\n\t\n\t/**\n\t * Mixin `Emitter` and `RequestBase`.\n\t */\n\t\n\tEmitter(Request.prototype);\n\tRequestBase(Request.prototype);\n\t\n\t/**\n\t * Set Content-Type to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.xml = 'application/xml';\n\t *\n\t * request.post('/')\n\t * .type('xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * request.post('/')\n\t * .type('application/xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * @param {String} type\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.type = function(type){\n\t this.set('Content-Type', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Accept to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.json = 'application/json';\n\t *\n\t * request.get('/agent')\n\t * .accept('json')\n\t * .end(callback);\n\t *\n\t * request.get('/agent')\n\t * .accept('application/json')\n\t * .end(callback);\n\t *\n\t * @param {String} accept\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.accept = function(type){\n\t this.set('Accept', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Authorization field value with `user` and `pass`.\n\t *\n\t * @param {String} user\n\t * @param {String} [pass] optional in case of using 'bearer' as type\n\t * @param {Object} options with 'type' property 'auto', 'basic' or 'bearer' (default 'basic')\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.auth = function(user, pass, options){\n\t if (typeof pass === 'object' && pass !== null) { // pass is optional and can substitute for options\n\t options = pass;\n\t }\n\t if (!options) {\n\t options = {\n\t type: 'function' === typeof btoa ? 'basic' : 'auto',\n\t }\n\t }\n\t\n\t switch (options.type) {\n\t case 'basic':\n\t this.set('Authorization', 'Basic ' + btoa(user + ':' + pass));\n\t break;\n\t\n\t case 'auto':\n\t this.username = user;\n\t this.password = pass;\n\t break;\n\t \n\t case 'bearer': // usage would be .auth(accessToken, { type: 'bearer' })\n\t this.set('Authorization', 'Bearer ' + user);\n\t break; \n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Add query-string `val`.\n\t *\n\t * Examples:\n\t *\n\t * request.get('/shoes')\n\t * .query('size=10')\n\t * .query({ color: 'blue' })\n\t *\n\t * @param {Object|String} val\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.query = function(val){\n\t if ('string' != typeof val) val = serialize(val);\n\t if (val) this._query.push(val);\n\t return this;\n\t};\n\t\n\t/**\n\t * Queue the given `file` as an attachment to the specified `field`,\n\t * with optional `options` (or filename).\n\t *\n\t * ``` js\n\t * request.post('/upload')\n\t * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n\t * .end(callback);\n\t * ```\n\t *\n\t * @param {String} field\n\t * @param {Blob|File} file\n\t * @param {String|Object} options\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.attach = function(field, file, options){\n\t if (file) {\n\t if (this._data) {\n\t throw Error(\"superagent can't mix .send() and .attach()\");\n\t }\n\t\n\t this._getFormData().append(field, file, options || file.name);\n\t }\n\t return this;\n\t};\n\t\n\tRequest.prototype._getFormData = function(){\n\t if (!this._formData) {\n\t this._formData = new root.FormData();\n\t }\n\t return this._formData;\n\t};\n\t\n\t/**\n\t * Invoke the callback with `err` and `res`\n\t * and handle arity check.\n\t *\n\t * @param {Error} err\n\t * @param {Response} res\n\t * @api private\n\t */\n\t\n\tRequest.prototype.callback = function(err, res){\n\t // console.log(this._retries, this._maxRetries)\n\t if (this._maxRetries && this._retries++ < this._maxRetries && shouldRetry(err, res)) {\n\t return this._retry();\n\t }\n\t\n\t var fn = this._callback;\n\t this.clearTimeout();\n\t\n\t if (err) {\n\t if (this._maxRetries) err.retries = this._retries - 1;\n\t this.emit('error', err);\n\t }\n\t\n\t fn(err, res);\n\t};\n\t\n\t/**\n\t * Invoke callback with x-domain error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype.crossDomainError = function(){\n\t var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n\t err.crossDomain = true;\n\t\n\t err.status = this.status;\n\t err.method = this.method;\n\t err.url = this.url;\n\t\n\t this.callback(err);\n\t};\n\t\n\t// This only warns, because the request is still likely to work\n\tRequest.prototype.buffer = Request.prototype.ca = Request.prototype.agent = function(){\n\t console.warn(\"This is not supported in browser version of superagent\");\n\t return this;\n\t};\n\t\n\t// This throws, because it can't send/receive data as expected\n\tRequest.prototype.pipe = Request.prototype.write = function(){\n\t throw Error(\"Streaming is not supported in browser version of superagent\");\n\t};\n\t\n\t/**\n\t * Compose querystring to append to req.url\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype._appendQueryString = function(){\n\t var query = this._query.join('&');\n\t if (query) {\n\t this.url += (this.url.indexOf('?') >= 0 ? '&' : '?') + query;\n\t }\n\t\n\t if (this._sort) {\n\t var index = this.url.indexOf('?');\n\t if (index >= 0) {\n\t var queryArr = this.url.substring(index + 1).split('&');\n\t if (isFunction(this._sort)) {\n\t queryArr.sort(this._sort);\n\t } else {\n\t queryArr.sort();\n\t }\n\t this.url = this.url.substring(0, index) + '?' + queryArr.join('&');\n\t }\n\t }\n\t};\n\t\n\t/**\n\t * Check if `obj` is a host object,\n\t * we don't want to serialize these :)\n\t *\n\t * @param {Object} obj\n\t * @return {Boolean}\n\t * @api private\n\t */\n\tRequest.prototype._isHost = function _isHost(obj) {\n\t // Native objects stringify to [object File], [object Blob], [object FormData], etc.\n\t return obj && 'object' === typeof obj && !Array.isArray(obj) && Object.prototype.toString.call(obj) !== '[object Object]';\n\t}\n\t\n\t/**\n\t * Initiate request, invoking callback `fn(res)`\n\t * with an instanceof `Response`.\n\t *\n\t * @param {Function} fn\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.end = function(fn){\n\t if (this._endCalled) {\n\t console.warn(\"Warning: .end() was called twice. This is not supported in superagent\");\n\t }\n\t this._endCalled = true;\n\t\n\t // store callback\n\t this._callback = fn || noop;\n\t\n\t // querystring\n\t this._appendQueryString();\n\t\n\t return this._end();\n\t};\n\t\n\tRequest.prototype._end = function() {\n\t var self = this;\n\t var xhr = this.xhr = request.getXHR();\n\t var data = this._formData || this._data;\n\t\n\t this._setTimeouts();\n\t\n\t // state change\n\t xhr.onreadystatechange = function(){\n\t var readyState = xhr.readyState;\n\t if (readyState >= 2 && self._responseTimeoutTimer) {\n\t clearTimeout(self._responseTimeoutTimer);\n\t }\n\t if (4 != readyState) {\n\t return;\n\t }\n\t\n\t // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n\t // result in the error \"Could not complete the operation due to error c00c023f\"\n\t var status;\n\t try { status = xhr.status } catch(e) { status = 0; }\n\t\n\t if (!status) {\n\t if (self.timedout || self._aborted) return;\n\t return self.crossDomainError();\n\t }\n\t self.emit('end');\n\t };\n\t\n\t // progress\n\t var handleProgress = function(direction, e) {\n\t if (e.total > 0) {\n\t e.percent = e.loaded / e.total * 100;\n\t }\n\t e.direction = direction;\n\t self.emit('progress', e);\n\t }\n\t if (this.hasListeners('progress')) {\n\t try {\n\t xhr.onprogress = handleProgress.bind(null, 'download');\n\t if (xhr.upload) {\n\t xhr.upload.onprogress = handleProgress.bind(null, 'upload');\n\t }\n\t } catch(e) {\n\t // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n\t // Reported here:\n\t // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n\t }\n\t }\n\t\n\t // initiate request\n\t try {\n\t if (this.username && this.password) {\n\t xhr.open(this.method, this.url, true, this.username, this.password);\n\t } else {\n\t xhr.open(this.method, this.url, true);\n\t }\n\t } catch (err) {\n\t // see #1149\n\t return this.callback(err);\n\t }\n\t\n\t // CORS\n\t if (this._withCredentials) xhr.withCredentials = true;\n\t\n\t // body\n\t if (!this._formData && 'GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n\t // serialize stuff\n\t var contentType = this._header['content-type'];\n\t var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n\t if (!serialize && isJSON(contentType)) {\n\t serialize = request.serialize['application/json'];\n\t }\n\t if (serialize) data = serialize(data);\n\t }\n\t\n\t // set header fields\n\t for (var field in this.header) {\n\t if (null == this.header[field]) continue;\n\t xhr.setRequestHeader(field, this.header[field]);\n\t }\n\t\n\t if (this._responseType) {\n\t xhr.responseType = this._responseType;\n\t }\n\t\n\t // send stuff\n\t this.emit('request', this);\n\t\n\t // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n\t // We need null here if data is undefined\n\t xhr.send(typeof data !== 'undefined' ? data : null);\n\t return this;\n\t};\n\t\n\t/**\n\t * GET `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} [data] or fn\n\t * @param {Function} [fn]\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.get = function(url, data, fn){\n\t var req = request('GET', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.query(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * HEAD `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} [data] or fn\n\t * @param {Function} [fn]\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.head = function(url, data, fn){\n\t var req = request('HEAD', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * OPTIONS query to `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} [data] or fn\n\t * @param {Function} [fn]\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.options = function(url, data, fn){\n\t var req = request('OPTIONS', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * DELETE `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} [data]\n\t * @param {Function} [fn]\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\tfunction del(url, data, fn){\n\t var req = request('DELETE', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\trequest['del'] = del;\n\trequest['delete'] = del;\n\t\n\t/**\n\t * PATCH `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} [data]\n\t * @param {Function} [fn]\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.patch = function(url, data, fn){\n\t var req = request('PATCH', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * POST `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} [data]\n\t * @param {Function} [fn]\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.post = function(url, data, fn){\n\t var req = request('POST', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * PUT `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} [data] or fn\n\t * @param {Function} [fn]\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.put = function(url, data, fn){\n\t var req = request('PUT', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports) {\n\n\tvar WinChan = (function() {\n\t var RELAY_FRAME_NAME = \"__winchan_relay_frame\";\n\t var CLOSE_CMD = \"die\";\n\t\n\t // a portable addListener implementation\n\t function addListener(w, event, cb) {\n\t if(w.attachEvent) w.attachEvent('on' + event, cb);\n\t else if (w.addEventListener) w.addEventListener(event, cb, false);\n\t }\n\t\n\t // a portable removeListener implementation\n\t function removeListener(w, event, cb) {\n\t if(w.detachEvent) w.detachEvent('on' + event, cb);\n\t else if (w.removeEventListener) w.removeEventListener(event, cb, false);\n\t }\n\t\n\t\n\t // checking for IE8 or above\n\t function isInternetExplorer() {\n\t if (typeof navigator === 'undefined') {\n\t return false;\n\t }\n\t\n\t var rv = -1; // Return value assumes failure.\n\t var ua = navigator.userAgent;\n\t if (navigator.appName === 'Microsoft Internet Explorer') {\n\t var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\n\t if (re.exec(ua) != null)\n\t rv = parseFloat(RegExp.$1);\n\t }\n\t // IE > 11\n\t else if (ua.indexOf(\"Trident\") > -1) {\n\t var re = new RegExp(\"rv:([0-9]{2,2}[\\.0-9]{0,})\");\n\t if (re.exec(ua) !== null) {\n\t rv = parseFloat(RegExp.$1);\n\t }\n\t }\n\t\n\t return rv >= 8;\n\t }\n\t\n\t // checking Mobile Firefox (Fennec)\n\t function isFennec() {\n\t try {\n\t // We must check for both XUL and Java versions of Fennec. Both have\n\t // distinct UA strings.\n\t var userAgent = navigator.userAgent;\n\t return (userAgent.indexOf('Fennec/') != -1) || // XUL\n\t (userAgent.indexOf('Firefox/') != -1 && userAgent.indexOf('Android') != -1); // Java\n\t } catch(e) {}\n\t return false;\n\t }\n\t\n\t // feature checking to see if this platform is supported at all\n\t function isSupported() {\n\t return (typeof window !== 'undefined' && window.JSON && window.JSON.stringify &&\n\t window.JSON.parse && window.postMessage);\n\t }\n\t\n\t // given a URL, extract the origin. Taken from: https://github.com/firebase/firebase-simple-login/blob/d2cb95b9f812d8488bdbfba51c3a7c153ba1a074/js/src/simple-login/transports/WinChan.js#L25-L30\n\t function extractOrigin(url) {\n\t if (!/^https?:\\/\\//.test(url)) url = window.location.href;\n\t var m = /^(https?:\\/\\/[\\-_a-zA-Z\\.0-9:]+)/.exec(url);\n\t if (m) return m[1];\n\t return url;\n\t }\n\t\n\t // find the relay iframe in the opener\n\t function findRelay() {\n\t var loc = window.location;\n\t var frames = window.opener.frames;\n\t for (var i = frames.length - 1; i >= 0; i--) {\n\t try {\n\t if (frames[i].location.protocol === window.location.protocol &&\n\t frames[i].location.host === window.location.host &&\n\t frames[i].name === RELAY_FRAME_NAME)\n\t {\n\t return frames[i];\n\t }\n\t } catch(e) { }\n\t }\n\t return;\n\t }\n\t\n\t var isIE = isInternetExplorer();\n\t\n\t if (isSupported()) {\n\t /* General flow:\n\t * 0. user clicks\n\t * (IE SPECIFIC) 1. caller adds relay iframe (served from trusted domain) to DOM\n\t * 2. caller opens window (with content from trusted domain)\n\t * 3. window on opening adds a listener to 'message'\n\t * (IE SPECIFIC) 4. window on opening finds iframe\n\t * 5. window checks if iframe is \"loaded\" - has a 'doPost' function yet\n\t * (IE SPECIFIC5) 5a. if iframe.doPost exists, window uses it to send ready event to caller\n\t * (IE SPECIFIC5) 5b. if iframe.doPost doesn't exist, window waits for frame ready\n\t * (IE SPECIFIC5) 5bi. once ready, window calls iframe.doPost to send ready event\n\t * 6. caller upon reciept of 'ready', sends args\n\t */\n\t return {\n\t open: function(opts, cb) {\n\t if (!cb) throw \"missing required callback argument\";\n\t\n\t // test required options\n\t var err;\n\t if (!opts.url) err = \"missing required 'url' parameter\";\n\t if (!opts.relay_url) err = \"missing required 'relay_url' parameter\";\n\t if (err) setTimeout(function() { cb(err); }, 0);\n\t\n\t // supply default options\n\t if (!opts.window_name) opts.window_name = null;\n\t if (!opts.window_features || isFennec()) opts.window_features = undefined;\n\t\n\t // opts.params may be undefined\n\t\n\t var iframe;\n\t\n\t // sanity check, are url and relay_url the same origin?\n\t var origin = opts.origin || extractOrigin(opts.url);\n\t if (origin !== extractOrigin(opts.relay_url)) {\n\t return setTimeout(function() {\n\t cb('invalid arguments: origin of url and relay_url must match');\n\t }, 0);\n\t }\n\t\n\t var messageTarget;\n\t\n\t if (isIE) {\n\t // first we need to add a \"relay\" iframe to the document that's served\n\t // from the target domain. We can postmessage into a iframe, but not a\n\t // window\n\t iframe = document.createElement(\"iframe\");\n\t // iframe.setAttribute('name', framename);\n\t iframe.setAttribute('src', opts.relay_url);\n\t iframe.style.display = \"none\";\n\t iframe.setAttribute('name', RELAY_FRAME_NAME);\n\t document.body.appendChild(iframe);\n\t messageTarget = iframe.contentWindow;\n\t }\n\t\n\t var w = opts.popup || window.open(opts.url, opts.window_name, opts.window_features);\n\t if (opts.popup) {\n\t w.location.href = opts.url;\n\t }\n\t\n\t if (!messageTarget) messageTarget = w;\n\t\n\t // lets listen in case the window blows up before telling us\n\t var closeInterval = setInterval(function() {\n\t if (w && w.closed) {\n\t cleanup();\n\t if (cb) {\n\t cb('User closed the popup window');\n\t cb = null;\n\t }\n\t }\n\t }, 500);\n\t\n\t var req = JSON.stringify({a: 'request', d: opts.params});\n\t\n\t // cleanup on unload\n\t function cleanup() {\n\t if (iframe) document.body.removeChild(iframe);\n\t iframe = undefined;\n\t if (closeInterval) closeInterval = clearInterval(closeInterval);\n\t removeListener(window, 'message', onMessage);\n\t removeListener(window, 'unload', cleanup);\n\t if (w) {\n\t try {\n\t w.close();\n\t } catch (securityViolation) {\n\t // This happens in Opera 12 sometimes\n\t // see https://github.com/mozilla/browserid/issues/1844\n\t messageTarget.postMessage(CLOSE_CMD, origin);\n\t }\n\t }\n\t w = messageTarget = undefined;\n\t }\n\t\n\t addListener(window, 'unload', cleanup);\n\t\n\t function onMessage(e) {\n\t if (e.origin !== origin) { return; }\n\t try {\n\t var d = JSON.parse(e.data);\n\t } catch(err) {\n\t if (cb) {\n\t cb(err);\n\t } else {\n\t throw err;\n\t }\n\t }\n\t\n\t if (d.a === 'ready') {\n\t messageTarget.postMessage(req, origin);\n\t } else if (d.a === 'error') {\n\t cleanup();\n\t if (cb) {\n\t cb(d.d);\n\t cb = null;\n\t }\n\t } else if (d.a === 'response') {\n\t cleanup();\n\t if (cb) {\n\t cb(null, d.d);\n\t cb = null;\n\t }\n\t }\n\t }\n\t\n\t addListener(window, 'message', onMessage);\n\t\n\t return {\n\t close: cleanup,\n\t focus: function() {\n\t if (w) {\n\t try {\n\t w.focus();\n\t } catch (e) {\n\t // IE7 blows up here, do nothing\n\t }\n\t }\n\t }\n\t };\n\t },\n\t onOpen: function(cb) {\n\t var o = \"*\";\n\t var msgTarget = isIE ? findRelay() : window.opener;\n\t if (!msgTarget) throw \"can't find relay frame\";\n\t function doPost(msg) {\n\t msg = JSON.stringify(msg);\n\t if (isIE) msgTarget.doPost(msg, o);\n\t else msgTarget.postMessage(msg, o);\n\t }\n\t\n\t function onMessage(e) {\n\t // only one message gets through, but let's make sure it's actually\n\t // the message we're looking for (other code may be using\n\t // postmessage) - we do this by ensuring the payload can\n\t // be parsed, and it's got an 'a' (action) value of 'request'.\n\t var d;\n\t try {\n\t d = JSON.parse(e.data);\n\t } catch(err) { }\n\t if (!d || d.a !== 'request') return;\n\t removeListener(window, 'message', onMessage);\n\t o = e.origin;\n\t if (cb) {\n\t // this setTimeout is critically important for IE8 -\n\t // in ie8 sometimes addListener for 'message' can synchronously\n\t // cause your callback to be invoked. awesome.\n\t setTimeout(function() {\n\t cb(o, d.d, function(r) {\n\t cb = undefined;\n\t doPost({a: 'response', d: r});\n\t });\n\t }, 0);\n\t }\n\t }\n\t\n\t function onDie(e) {\n\t if (e.data === CLOSE_CMD) {\n\t try { window.close(); } catch (o_O) {}\n\t }\n\t }\n\t addListener(isIE ? msgTarget : window, 'message', onMessage);\n\t addListener(isIE ? msgTarget : window, 'message', onDie);\n\t\n\t // we cannot post to our parent that we're ready before the iframe\n\t // is loaded. (IE specific possible failure)\n\t try {\n\t doPost({a: \"ready\"});\n\t } catch(e) {\n\t // this code should never be exectued outside IE\n\t addListener(msgTarget, 'load', function(e) {\n\t doPost({a: \"ready\"});\n\t });\n\t }\n\t\n\t // if window is unloaded and the client hasn't called cb, it's an error\n\t var onUnload = function() {\n\t try {\n\t // IE8 doesn't like this...\n\t removeListener(isIE ? msgTarget : window, 'message', onDie);\n\t } catch (ohWell) { }\n\t if (cb) doPost({ a: 'error', d: 'client closed window' });\n\t cb = undefined;\n\t // explicitly close the window, in case the client is trying to reload or nav\n\t try { window.close(); } catch (e) { }\n\t };\n\t addListener(window, 'unload', onUnload);\n\t return {\n\t detach: function() {\n\t removeListener(window, 'unload', onUnload);\n\t }\n\t };\n\t }\n\t };\n\t } else {\n\t return {\n\t open: function(url, winopts, arg, cb) {\n\t setTimeout(function() { cb(\"unsupported browser\"); }, 0);\n\t },\n\t onOpen: function(cb) {\n\t setTimeout(function() { cb(\"unsupported browser\"); }, 0);\n\t }\n\t };\n\t }\n\t})();\n\t\n\tif (typeof module !== 'undefined' && module.exports) {\n\t module.exports = WinChan;\n\t}\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar urljoin = __webpack_require__(1);\n\t\n\tvar RequestBuilder = __webpack_require__(10);\n\tvar qs = __webpack_require__(5);\n\tvar objectHelper = __webpack_require__(2);\n\tvar assert = __webpack_require__(4);\n\tvar responseHandler = __webpack_require__(6);\n\tvar parametersWhitelist = __webpack_require__(45);\n\tvar Warn = __webpack_require__(11);\n\t\n\tvar PasswordlessAuthentication = __webpack_require__(41);\n\tvar DBConnection = __webpack_require__(40);\n\t\n\t/**\n\t * Creates a new Auth0 Authentication API client\n\t * @constructor\n\t * @param {Object} options\n\t * @param {String} options.domain your Auth0 domain\n\t * @param {String} options.clientID your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n\t * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n\t * @param {String} [options.responseType] type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n\t * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n\t * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n\t * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n\t * @see {@link https://auth0.com/docs/api/authentication}\n\t */\n\tfunction Authentication(options) {\n\t /* eslint-disable */\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t domain: { type: 'string', message: 'domain option is required' },\n\t clientID: { type: 'string', message: 'clientID option is required' },\n\t responseType: { optional: true, type: 'string', message: 'responseType is not valid' },\n\t responseMode: { optional: true, type: 'string', message: 'responseMode is not valid' },\n\t redirectUri: { optional: true, type: 'string', message: 'redirectUri is not valid' },\n\t scope: { optional: true, type: 'string', message: 'scope is not valid' },\n\t audience: { optional: true, type: 'string', message: 'audience is not valid' },\n\t _disableDeprecationWarnings: {\n\t optional: true,\n\t type: 'boolean',\n\t message: '_disableDeprecationWarnings option is not valid'\n\t },\n\t _sendTelemetry: {\n\t optional: true,\n\t type: 'boolean',\n\t message: '_sendTelemetry option is not valid'\n\t },\n\t _telemetryInfo: {\n\t optional: true,\n\t type: 'object',\n\t message: '_telemetryInfo option is not valid'\n\t }\n\t }\n\t );\n\t /* eslint-enable */\n\t\n\t this.baseOptions = options;\n\t\n\t this.baseOptions._sendTelemetry = this.baseOptions._sendTelemetry === false\n\t ? this.baseOptions._sendTelemetry\n\t : true;\n\t\n\t this.baseOptions.rootUrl = 'https://' + this.baseOptions.domain;\n\t\n\t this.request = new RequestBuilder(this.baseOptions);\n\t\n\t this.passwordless = new PasswordlessAuthentication(this.request, this.baseOptions);\n\t this.dbConnection = new DBConnection(this.request, this.baseOptions);\n\t\n\t this.warn = new Warn({\n\t disableWarnings: !!options._disableDeprecationWarnings\n\t });\n\t}\n\t\n\t/**\n\t * Builds and returns the `/authorize` url in order to initialize a new authN/authZ transaction\n\t *\n\t * @method buildAuthorizeUrl\n\t * @param {Object} options\n\t * @param {String} [options.domain] your Auth0 domain\n\t * @param {String} [options.clientID] your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n\t * @param {String} options.redirectUri url that the Auth0 will redirect after Auth with the Authorization Response\n\t * @param {String} options.responseType type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n\t * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n\t * @param {String} [options.state] value used to mitigate XSRF attacks. {@link https://auth0.com/docs/protocols/oauth2/oauth-state}\n\t * @param {String} [options.nonce] value used to mitigate replay attacks when using Implicit Grant. {@link https://auth0.com/docs/api-auth/tutorials/nonce}\n\t * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n\t * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n\t * @see {@link https://auth0.com/docs/api/authentication#authorize-client}\n\t * @see {@link https://auth0.com/docs/api/authentication#social}\n\t */\n\tAuthentication.prototype.buildAuthorizeUrl = function(options) {\n\t var params;\n\t var qString;\n\t\n\t assert.check(options, { type: 'object', message: 'options parameter is not valid' });\n\t\n\t params = objectHelper\n\t .merge(this.baseOptions, [\n\t 'clientID',\n\t 'responseType',\n\t 'responseMode',\n\t 'redirectUri',\n\t 'scope',\n\t 'audience'\n\t ])\n\t .with(options);\n\t\n\t /* eslint-disable */\n\t assert.check(\n\t params,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t clientID: { type: 'string', message: 'clientID option is required' },\n\t redirectUri: { optional: true, type: 'string', message: 'redirectUri option is required' },\n\t responseType: { type: 'string', message: 'responseType option is required' },\n\t nonce: {\n\t type: 'string',\n\t message: 'nonce option is required',\n\t condition: function(o) {\n\t return o.responseType.indexOf('code') === -1 && o.responseType.indexOf('id_token') !== -1;\n\t }\n\t },\n\t scope: { optional: true, type: 'string', message: 'scope option is required' },\n\t audience: { optional: true, type: 'string', message: 'audience option is required' }\n\t }\n\t );\n\t /* eslint-enable */\n\t\n\t // eslint-disable-next-line\n\t if (this.baseOptions._sendTelemetry) {\n\t params.auth0Client = this.request.getTelemetryData();\n\t }\n\t\n\t if (params.connection_scope && assert.isArray(params.connection_scope)) {\n\t params.connection_scope = params.connection_scope.join(',');\n\t }\n\t\n\t params = objectHelper.toSnakeCase(params, ['auth0Client']);\n\t params = parametersWhitelist.oauthAuthorizeParams(this.warn, params);\n\t\n\t qString = qs.stringify(params);\n\t\n\t return urljoin(this.baseOptions.rootUrl, 'authorize', '?' + qString);\n\t};\n\t\n\t/**\n\t * Builds and returns the Logout url in order to initialize a new authN/authZ transaction\n\t *\n\t * If you want to navigate the user to a specific URL after the logout, set that URL at the returnTo parameter. The URL should be included in any the appropriate Allowed Logout URLs list:\n\t *\n\t * - If the client_id parameter is included, the returnTo URL must be listed in the Allowed Logout URLs set at the client level (see Setting Allowed Logout URLs at the App Level).\n\t * - If the client_id parameter is NOT included, the returnTo URL must be listed in the Allowed Logout URLs set at the account level (see Setting Allowed Logout URLs at the Account Level).\n\t * @method buildLogoutUrl\n\t * @param {Object} options\n\t * @param {String} [options.clientID] identifier of your client\n\t * @param {String} [options.returnTo] URL to be redirected after the logout\n\t * @param {Boolean} [options.federated] tells Auth0 if it should logout the user also from the IdP.\n\t * @see {@link https://auth0.com/docs/api/authentication#logout}\n\t */\n\tAuthentication.prototype.buildLogoutUrl = function(options) {\n\t var params;\n\t var qString;\n\t\n\t assert.check(options, {\n\t optional: true,\n\t type: 'object',\n\t message: 'options parameter is not valid'\n\t });\n\t\n\t params = objectHelper.merge(this.baseOptions, ['clientID']).with(options || {});\n\t\n\t // eslint-disable-next-line\n\t if (this.baseOptions._sendTelemetry) {\n\t params.auth0Client = this.request.getTelemetryData();\n\t }\n\t\n\t params = objectHelper.toSnakeCase(params, ['auth0Client', 'returnTo']);\n\t\n\t qString = qs.stringify(params);\n\t\n\t return urljoin(this.baseOptions.rootUrl, 'v2', 'logout', '?' + qString);\n\t};\n\t\n\t/**\n\t * @callback authorizeCallback\n\t * @param {Error} [err] error returned by Auth0 with the reason of the Auth failure\n\t * @param {Object} [result] result of the Auth request\n\t * @param {String} [result.accessToken] token that allows access to the specified resource server (identified by the audience parameter or by default Auth0's /userinfo endpoint)\n\t * @param {Number} [result.expiresIn] number of seconds until the access token expires\n\t * @param {String} [result.idToken] token that identifies the user\n\t * @param {String} [result.refreshToken] token that can be used to get new access tokens from Auth0. Note that not all clients can request them or the resource server might not allow them.\n\t */\n\t\n\t/**\n\t * @callback tokenCallback\n\t * @param {Error} [err] error returned by Auth0 with the reason of the Auth failure\n\t * @param {Object} [result] result of the Auth request\n\t * @param {String} result.accessToken token that allows access to the specified resource server (identified by the audience parameter or by default Auth0's /userinfo endpoint)\n\t * @param {Number} result.expiresIn number of seconds until the access token expires\n\t * @param {String} [result.idToken] token that identifies the user\n\t * @param {String} [result.refreshToken] token that can be used to get new access tokens from Auth0. Note that not all clients can request them or the resource server might not allow them.\n\t */\n\t\n\t/**\n\t * Makes a call to the `oauth/token` endpoint with `password` grant type to login to the default directory.\n\t *\n\t * @method loginWithDefaultDirectory\n\t * @param {Object} options\n\t * @param {String} options.username email or username of the user that will perform Auth\n\t * @param {String} options.password the password of the user that will perform Auth\n\t * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n\t * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n\t * @param {tokenCallback} cb function called with the result of the request\n\t * @see {@link https://auth0.com/docs/api-auth/grant/password}\n\t */\n\tAuthentication.prototype.loginWithDefaultDirectory = function(options, cb) {\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t username: { type: 'string', message: 'username option is required' },\n\t password: { type: 'string', message: 'password option is required' },\n\t scope: { optional: true, type: 'string', message: 'scope option is required' },\n\t audience: { optional: true, type: 'string', message: 'audience option is required' }\n\t }\n\t );\n\t\n\t options.grantType = 'password';\n\t\n\t return this.oauthToken(options, cb);\n\t};\n\t\n\t/**\n\t * Makes a call to the `oauth/token` endpoint with `password-realm` grant type\n\t *\n\t * @method login\n\t * @param {Object} options\n\t * @param {String} options.username email or username of the user that will perform Auth\n\t * @param {String} options.password the password of the user that will perform Auth\n\t * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n\t * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n\t * @param {Object} options.realm the HRD domain or the connection name where the user belongs to. e.g. `Username-Password-Authentication`\n\t * @param {tokenCallback} cb function called with the result of the request\n\t * @see {@link https://auth0.com/docs/api-auth/grant/password}\n\t */\n\tAuthentication.prototype.login = function(options, cb) {\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t username: { type: 'string', message: 'username option is required' },\n\t password: { type: 'string', message: 'password option is required' },\n\t realm: { type: 'string', message: 'realm option is required' },\n\t scope: { optional: true, type: 'string', message: 'scope option is required' },\n\t audience: { optional: true, type: 'string', message: 'audience option is required' }\n\t }\n\t );\n\t\n\t options.grantType = 'http://auth0.com/oauth/grant-type/password-realm';\n\t\n\t return this.oauthToken(options, cb);\n\t};\n\t\n\t/**\n\t * Makes a call to the `oauth/token` endpoint\n\t *\n\t * @method oauthToken\n\t * @private\n\t */\n\tAuthentication.prototype.oauthToken = function(options, cb) {\n\t var url;\n\t var body;\n\t\n\t assert.check(options, { type: 'object', message: 'options parameter is not valid' });\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'oauth', 'token');\n\t\n\t body = objectHelper.merge(this.baseOptions, ['clientID', 'scope', 'audience']).with(options);\n\t\n\t assert.check(\n\t body,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t clientID: { type: 'string', message: 'clientID option is required' },\n\t grantType: { type: 'string', message: 'grantType option is required' },\n\t scope: { optional: true, type: 'string', message: 'scope option is required' },\n\t audience: { optional: true, type: 'string', message: 'audience option is required' }\n\t }\n\t );\n\t\n\t body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\t body = parametersWhitelist.oauthTokenParams(this.warn, body);\n\t\n\t body.grant_type = body.grant_type;\n\t\n\t return this.request.post(url).send(body).end(responseHandler(cb));\n\t};\n\t\n\t/**\n\t * Performs authentication calling `/oauth/ro` endpoint with username\n\t * and password for a given connection name.\n\t *\n\t * This method is not compatible with API Auth so if you need to fetch API tokens with audience\n\t * you should use {@link login} or {@link loginWithDefaultDirectory}.\n\t *\n\t * @method loginWithResourceOwner\n\t * @param {Object} options\n\t * @param {String} options.username email or username of the user that will perform Auth\n\t * @param {String} options.password the password of the user that will perform Auth\n\t * @param {Object} options.connection the connection name where the user belongs to. e.g. `Username-Password-Authentication`\n\t * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n\t * @param {String} [options.device] name of the device/browser where the Auth was requested\n\t * @param {tokenCallback} cb function called with the result of the request\n\t */\n\tAuthentication.prototype.loginWithResourceOwner = function(options, cb) {\n\t var url;\n\t var body;\n\t\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t username: { type: 'string', message: 'username option is required' },\n\t password: { type: 'string', message: 'password option is required' },\n\t connection: { type: 'string', message: 'connection option is required' },\n\t scope: { optional: true, type: 'string', message: 'scope option is required' }\n\t }\n\t );\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'oauth', 'ro');\n\t\n\t body = objectHelper\n\t .merge(this.baseOptions, ['clientID', 'scope'])\n\t .with(options, ['username', 'password', 'scope', 'connection', 'device']);\n\t\n\t body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\t\n\t body.grant_type = body.grant_type || 'password';\n\t\n\t return this.request.post(url).send(body).end(responseHandler(cb));\n\t};\n\t\n\t/**\n\t * Makes a call to the `/ssodata` endpoint.\n\t * We recommend to avoid using this method and rely on your tenant hosted login page and using prompt=none via {@link renewAuth} method.\n\t *\n\t * @method getSSOData\n\t * @param {Boolean} withActiveDirectories tells Auth0 to return AD data\n\t * @param {Function} cb\n\t */\n\tAuthentication.prototype.getSSOData = function(withActiveDirectories, cb) {\n\t var url;\n\t var params = '';\n\t\n\t if (typeof withActiveDirectories === 'function') {\n\t cb = withActiveDirectories;\n\t withActiveDirectories = false;\n\t }\n\t\n\t assert.check(withActiveDirectories, {\n\t type: 'boolean',\n\t message: 'withActiveDirectories parameter is not valid'\n\t });\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t if (withActiveDirectories) {\n\t params =\n\t '?' +\n\t qs.stringify({\n\t ldaps: 1,\n\t client_id: this.baseOptions.clientID\n\t });\n\t }\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'user', 'ssodata', params);\n\t\n\t return this.request.get(url, { noHeaders: true }).withCredentials().end(responseHandler(cb));\n\t};\n\t\n\t/**\n\t * @callback userInfoCallback\n\t * @param {Error} [err] error returned by Auth0\n\t * @param {Object} [userInfo] user information\n\t */\n\t\n\t/**\n\t * Makes a call to the `/userinfo` endpoint and returns the user profile\n\t *\n\t * @method userInfo\n\t * @param {String} accessToken token issued to a user after Auth\n\t * @param {userInfoCallback} cb\n\t * @see {@link https://auth0.com/docs/api/authentication#get-user-info}\n\t */\n\tAuthentication.prototype.userInfo = function(accessToken, cb) {\n\t var url;\n\t\n\t assert.check(accessToken, { type: 'string', message: 'accessToken parameter is not valid' });\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'userinfo');\n\t\n\t return this.request\n\t .get(url)\n\t .set('Authorization', 'Bearer ' + accessToken)\n\t .end(responseHandler(cb, { ignoreCasing: true }));\n\t};\n\t\n\t/**\n\t * @callback delegationCallback\n\t * @param {Error} [err] error returned by Auth0 with the reason why the delegation failed\n\t * @param {Object} [result] result of the delegation request. The payload depends on what ai type was used\n\t */\n\t\n\t/**\n\t * Makes a call to the `/delegation` endpoint with either an `id_token` or `refresh_token`\n\t *\n\t * @method delegation\n\t * @param {Object} options\n\t * @param {String} [options.clientID] client identifier\n\t * @param {String} options.grantType grant type used for delegation. The only valid value is `urn:ietf:params:oauth:grant-type:jwt-bearer`\n\t * @param {String} [options.idToken] valid token of the user issued after Auth. If no `refresh_token` is provided this parameter is required\n\t * @param {String} [options.refreshToken] valid refresh token of the user issued after Auth. If no `id_token` is provided this parameter is required\n\t * @param {String} [options.target] the target client id of the delegation\n\t * @param {String} [options.scope] either `openid` or `openid profile email`\n\t * @param {String} [options.apiType] the api to be called\n\t * @param {delegationCallback} cb\n\t * @see {@link https://auth0.com/docs/api/authentication#delegation}\n\t */\n\tAuthentication.prototype.delegation = function(options, cb) {\n\t var url;\n\t var body;\n\t\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t grant_type: { type: 'string', message: 'grant_type option is required' }\n\t }\n\t );\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'delegation');\n\t\n\t body = objectHelper.merge(this.baseOptions, ['clientID']).with(options);\n\t\n\t body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\t\n\t return this.request.post(url).send(body).end(responseHandler(cb));\n\t};\n\t\n\t/**\n\t * Fetches the user country based on the ip.\n\t *\n\t * @method getUserCountry\n\t * @private\n\t * @param {Function} cb\n\t */\n\tAuthentication.prototype.getUserCountry = function(cb) {\n\t var url;\n\t\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'user', 'geoloc', 'country');\n\t\n\t return this.request.get(url).end(responseHandler(cb));\n\t};\n\t\n\tmodule.exports = Authentication;\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar base64 = __webpack_require__(15);\n\t\n\tfunction padding(str) {\n\t var mod = str.length % 4;\n\t var pad = 4 - mod;\n\t\n\t if (mod === 0) {\n\t return str;\n\t }\n\t\n\t return str + new Array(1 + pad).join('=');\n\t}\n\t\n\tfunction stringToByteArray(str) {\n\t var arr = new Array(str.length);\n\t for (var a = 0; a < str.length; a++) {\n\t arr[a] = str.charCodeAt(a);\n\t }\n\t return arr;\n\t}\n\t\n\tfunction byteArrayToString(array) {\n\t var result = '';\n\t for (var i = 0; i < array.length; i++) {\n\t result += String.fromCharCode(array[i]);\n\t }\n\t return result;\n\t}\n\t\n\tfunction encode(str) {\n\t return base64\n\t .fromByteArray(stringToByteArray(str))\n\t .replace(/\\+/g, '-') // Convert '+' to '-'\n\t .replace(/\\//g, '_'); // Convert '/' to '_'\n\t}\n\t\n\tfunction decode(str) {\n\t str = padding(str)\n\t .replace(/-/g, '+') // Convert '-' to '+'\n\t .replace(/_/g, '/'); // Convert '_' to '/'\n\t\n\t return byteArrayToString(base64.toByteArray(str));\n\t}\n\t\n\tmodule.exports = {\n\t encode: encode,\n\t decode: decode\n\t};\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports) {\n\n\tfunction buildResponse(error, description) {\n\t return {\n\t error: error,\n\t errorDescription: description\n\t };\n\t}\n\t\n\tfunction invalidJwt(description) {\n\t return buildResponse('invalid_token', description);\n\t}\n\t\n\tmodule.exports = {\n\t buildResponse: buildResponse,\n\t invalidJwt: invalidJwt\n\t};\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar random = __webpack_require__(48);\n\tvar storage = __webpack_require__(49);\n\t\n\tvar DEFAULT_NAMESPACE = 'com.auth0.auth.';\n\t\n\tfunction TransactionManager(options) {\n\t options = options || {};\n\t this.namespace = options.namespace || DEFAULT_NAMESPACE;\n\t this.keyLength = options.keyLength || 32;\n\t}\n\t\n\tTransactionManager.prototype.process = function(options) {\n\t var transaction;\n\t\n\t if (options.responseType.indexOf('code') !== -1) {\n\t return options;\n\t }\n\t\n\t if (options.responseType.indexOf('id_token') !== -1 && !!options.nonce) {\n\t return options;\n\t }\n\t\n\t transaction = this.generateTransaction(options.appState, options.state, options.nonce);\n\t\n\t options.state = transaction.state;\n\t\n\t if (options.responseType.indexOf('id_token') !== -1) {\n\t options.nonce = transaction.nonce;\n\t }\n\t\n\t return options;\n\t};\n\t\n\tTransactionManager.prototype.generateTransaction = function(appState, state, nonce) {\n\t var transaction = state || random.randomString(this.keyLength);\n\t nonce = nonce || random.randomString(this.keyLength);\n\t\n\t storage.setItem(this.namespace + transaction, {\n\t nonce: nonce,\n\t appState: appState\n\t });\n\t\n\t return {\n\t state: transaction,\n\t nonce: nonce\n\t };\n\t};\n\t\n\tTransactionManager.prototype.getStoredTransaction = function(transaction) {\n\t var transactionData;\n\t\n\t transactionData = storage.getItem(this.namespace + transaction);\n\t storage.removeItem(this.namespace + transaction);\n\t return transactionData;\n\t};\n\t\n\tmodule.exports = TransactionManager;\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\r\n\t/**\r\n\t * Expose `Emitter`.\r\n\t */\r\n\t\r\n\tif (true) {\r\n\t module.exports = Emitter;\r\n\t}\r\n\t\r\n\t/**\r\n\t * Initialize a new `Emitter`.\r\n\t *\r\n\t * @api public\r\n\t */\r\n\t\r\n\tfunction Emitter(obj) {\r\n\t if (obj) return mixin(obj);\r\n\t};\r\n\t\r\n\t/**\r\n\t * Mixin the emitter properties.\r\n\t *\r\n\t * @param {Object} obj\r\n\t * @return {Object}\r\n\t * @api private\r\n\t */\r\n\t\r\n\tfunction mixin(obj) {\r\n\t for (var key in Emitter.prototype) {\r\n\t obj[key] = Emitter.prototype[key];\r\n\t }\r\n\t return obj;\r\n\t}\r\n\t\r\n\t/**\r\n\t * Listen on the given `event` with `fn`.\r\n\t *\r\n\t * @param {String} event\r\n\t * @param {Function} fn\r\n\t * @return {Emitter}\r\n\t * @api public\r\n\t */\r\n\t\r\n\tEmitter.prototype.on =\r\n\tEmitter.prototype.addEventListener = function(event, fn){\r\n\t this._callbacks = this._callbacks || {};\r\n\t (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n\t .push(fn);\r\n\t return this;\r\n\t};\r\n\t\r\n\t/**\r\n\t * Adds an `event` listener that will be invoked a single\r\n\t * time then automatically removed.\r\n\t *\r\n\t * @param {String} event\r\n\t * @param {Function} fn\r\n\t * @return {Emitter}\r\n\t * @api public\r\n\t */\r\n\t\r\n\tEmitter.prototype.once = function(event, fn){\r\n\t function on() {\r\n\t this.off(event, on);\r\n\t fn.apply(this, arguments);\r\n\t }\r\n\t\r\n\t on.fn = fn;\r\n\t this.on(event, on);\r\n\t return this;\r\n\t};\r\n\t\r\n\t/**\r\n\t * Remove the given callback for `event` or all\r\n\t * registered callbacks.\r\n\t *\r\n\t * @param {String} event\r\n\t * @param {Function} fn\r\n\t * @return {Emitter}\r\n\t * @api public\r\n\t */\r\n\t\r\n\tEmitter.prototype.off =\r\n\tEmitter.prototype.removeListener =\r\n\tEmitter.prototype.removeAllListeners =\r\n\tEmitter.prototype.removeEventListener = function(event, fn){\r\n\t this._callbacks = this._callbacks || {};\r\n\t\r\n\t // all\r\n\t if (0 == arguments.length) {\r\n\t this._callbacks = {};\r\n\t return this;\r\n\t }\r\n\t\r\n\t // specific event\r\n\t var callbacks = this._callbacks['$' + event];\r\n\t if (!callbacks) return this;\r\n\t\r\n\t // remove all handlers\r\n\t if (1 == arguments.length) {\r\n\t delete this._callbacks['$' + event];\r\n\t return this;\r\n\t }\r\n\t\r\n\t // remove specific handler\r\n\t var cb;\r\n\t for (var i = 0; i < callbacks.length; i++) {\r\n\t cb = callbacks[i];\r\n\t if (cb === fn || cb.fn === fn) {\r\n\t callbacks.splice(i, 1);\r\n\t break;\r\n\t }\r\n\t }\r\n\t return this;\r\n\t};\r\n\t\r\n\t/**\r\n\t * Emit `event` with the given args.\r\n\t *\r\n\t * @param {String} event\r\n\t * @param {Mixed} ...\r\n\t * @return {Emitter}\r\n\t */\r\n\t\r\n\tEmitter.prototype.emit = function(event){\r\n\t this._callbacks = this._callbacks || {};\r\n\t var args = [].slice.call(arguments, 1)\r\n\t , callbacks = this._callbacks['$' + event];\r\n\t\r\n\t if (callbacks) {\r\n\t callbacks = callbacks.slice(0);\r\n\t for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n\t callbacks[i].apply(this, args);\r\n\t }\r\n\t }\r\n\t\r\n\t return this;\r\n\t};\r\n\t\r\n\t/**\r\n\t * Return array of callbacks for `event`.\r\n\t *\r\n\t * @param {String} event\r\n\t * @return {Array}\r\n\t * @api public\r\n\t */\r\n\t\r\n\tEmitter.prototype.listeners = function(event){\r\n\t this._callbacks = this._callbacks || {};\r\n\t return this._callbacks['$' + event] || [];\r\n\t};\r\n\t\r\n\t/**\r\n\t * Check if this emitter has `event` handlers.\r\n\t *\r\n\t * @param {String} event\r\n\t * @return {Boolean}\r\n\t * @api public\r\n\t */\r\n\t\r\n\tEmitter.prototype.hasListeners = function(event){\r\n\t return !! this.listeners(event).length;\r\n\t};\r\n\n\n/***/ },\n/* 24 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t;(function (root, factory) {\n\t\tif (true) {\n\t\t\t// CommonJS\n\t\t\tmodule.exports = exports = factory();\n\t\t}\n\t\telse if (typeof define === \"function\" && define.amd) {\n\t\t\t// AMD\n\t\t\tdefine([], factory);\n\t\t}\n\t\telse {\n\t\t\t// Global (browser)\n\t\t\troot.CryptoJS = factory();\n\t\t}\n\t}(this, function () {\n\t\n\t\t/**\n\t\t * CryptoJS core components.\n\t\t */\n\t\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\t\t /*\n\t\t * Local polyfil of Object.create\n\t\t */\n\t\t var create = Object.create || (function () {\n\t\t function F() {};\n\t\n\t\t return function (obj) {\n\t\t var subtype;\n\t\n\t\t F.prototype = obj;\n\t\n\t\t subtype = new F();\n\t\n\t\t F.prototype = null;\n\t\n\t\t return subtype;\n\t\t };\n\t\t }())\n\t\n\t\t /**\n\t\t * CryptoJS namespace.\n\t\t */\n\t\t var C = {};\n\t\n\t\t /**\n\t\t * Library namespace.\n\t\t */\n\t\t var C_lib = C.lib = {};\n\t\n\t\t /**\n\t\t * Base object for prototypal inheritance.\n\t\t */\n\t\t var Base = C_lib.Base = (function () {\n\t\n\t\n\t\t return {\n\t\t /**\n\t\t * Creates a new object that inherits from this object.\n\t\t *\n\t\t * @param {Object} overrides Properties to copy into the new object.\n\t\t *\n\t\t * @return {Object} The new object.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var MyType = CryptoJS.lib.Base.extend({\n\t\t * field: 'value',\n\t\t *\n\t\t * method: function () {\n\t\t * }\n\t\t * });\n\t\t */\n\t\t extend: function (overrides) {\n\t\t // Spawn\n\t\t var subtype = create(this);\n\t\n\t\t // Augment\n\t\t if (overrides) {\n\t\t subtype.mixIn(overrides);\n\t\t }\n\t\n\t\t // Create default initializer\n\t\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t\t subtype.init = function () {\n\t\t subtype.$super.init.apply(this, arguments);\n\t\t };\n\t\t }\n\t\n\t\t // Initializer's prototype is the subtype object\n\t\t subtype.init.prototype = subtype;\n\t\n\t\t // Reference supertype\n\t\t subtype.$super = this;\n\t\n\t\t return subtype;\n\t\t },\n\t\n\t\t /**\n\t\t * Extends this object and runs the init method.\n\t\t * Arguments to create() will be passed to init().\n\t\t *\n\t\t * @return {Object} The new object.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var instance = MyType.create();\n\t\t */\n\t\t create: function () {\n\t\t var instance = this.extend();\n\t\t instance.init.apply(instance, arguments);\n\t\n\t\t return instance;\n\t\t },\n\t\n\t\t /**\n\t\t * Initializes a newly created object.\n\t\t * Override this method to add some logic when your objects are created.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var MyType = CryptoJS.lib.Base.extend({\n\t\t * init: function () {\n\t\t * // ...\n\t\t * }\n\t\t * });\n\t\t */\n\t\t init: function () {\n\t\t },\n\t\n\t\t /**\n\t\t * Copies properties into this object.\n\t\t *\n\t\t * @param {Object} properties The properties to mix in.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * MyType.mixIn({\n\t\t * field: 'value'\n\t\t * });\n\t\t */\n\t\t mixIn: function (properties) {\n\t\t for (var propertyName in properties) {\n\t\t if (properties.hasOwnProperty(propertyName)) {\n\t\t this[propertyName] = properties[propertyName];\n\t\t }\n\t\t }\n\t\n\t\t // IE won't copy toString using the loop above\n\t\t if (properties.hasOwnProperty('toString')) {\n\t\t this.toString = properties.toString;\n\t\t }\n\t\t },\n\t\n\t\t /**\n\t\t * Creates a copy of this object.\n\t\t *\n\t\t * @return {Object} The clone.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var clone = instance.clone();\n\t\t */\n\t\t clone: function () {\n\t\t return this.init.prototype.extend(this);\n\t\t }\n\t\t };\n\t\t }());\n\t\n\t\t /**\n\t\t * An array of 32-bit words.\n\t\t *\n\t\t * @property {Array} words The array of 32-bit words.\n\t\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t\t */\n\t\t var WordArray = C_lib.WordArray = Base.extend({\n\t\t /**\n\t\t * Initializes a newly created word array.\n\t\t *\n\t\t * @param {Array} words (Optional) An array of 32-bit words.\n\t\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t\t */\n\t\t init: function (words, sigBytes) {\n\t\t words = this.words = words || [];\n\t\n\t\t if (sigBytes != undefined) {\n\t\t this.sigBytes = sigBytes;\n\t\t } else {\n\t\t this.sigBytes = words.length * 4;\n\t\t }\n\t\t },\n\t\n\t\t /**\n\t\t * Converts this word array to a string.\n\t\t *\n\t\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t\t *\n\t\t * @return {string} The stringified word array.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var string = wordArray + '';\n\t\t * var string = wordArray.toString();\n\t\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t\t */\n\t\t toString: function (encoder) {\n\t\t return (encoder || Hex).stringify(this);\n\t\t },\n\t\n\t\t /**\n\t\t * Concatenates a word array to this word array.\n\t\t *\n\t\t * @param {WordArray} wordArray The word array to append.\n\t\t *\n\t\t * @return {WordArray} This word array.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * wordArray1.concat(wordArray2);\n\t\t */\n\t\t concat: function (wordArray) {\n\t\t // Shortcuts\n\t\t var thisWords = this.words;\n\t\t var thatWords = wordArray.words;\n\t\t var thisSigBytes = this.sigBytes;\n\t\t var thatSigBytes = wordArray.sigBytes;\n\t\n\t\t // Clamp excess bits\n\t\t this.clamp();\n\t\n\t\t // Concat\n\t\t if (thisSigBytes % 4) {\n\t\t // Copy one byte at a time\n\t\t for (var i = 0; i < thatSigBytes; i++) {\n\t\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t\t }\n\t\t } else {\n\t\t // Copy one word at a time\n\t\t for (var i = 0; i < thatSigBytes; i += 4) {\n\t\t thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2];\n\t\t }\n\t\t }\n\t\t this.sigBytes += thatSigBytes;\n\t\n\t\t // Chainable\n\t\t return this;\n\t\t },\n\t\n\t\t /**\n\t\t * Removes insignificant bits.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * wordArray.clamp();\n\t\t */\n\t\t clamp: function () {\n\t\t // Shortcuts\n\t\t var words = this.words;\n\t\t var sigBytes = this.sigBytes;\n\t\n\t\t // Clamp\n\t\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t\t words.length = Math.ceil(sigBytes / 4);\n\t\t },\n\t\n\t\t /**\n\t\t * Creates a copy of this word array.\n\t\t *\n\t\t * @return {WordArray} The clone.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var clone = wordArray.clone();\n\t\t */\n\t\t clone: function () {\n\t\t var clone = Base.clone.call(this);\n\t\t clone.words = this.words.slice(0);\n\t\n\t\t return clone;\n\t\t },\n\t\n\t\t /**\n\t\t * Creates a word array filled with random bytes.\n\t\t *\n\t\t * @param {number} nBytes The number of random bytes to generate.\n\t\t *\n\t\t * @return {WordArray} The random word array.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t\t */\n\t\t random: function (nBytes) {\n\t\t var words = [];\n\t\n\t\t var r = (function (m_w) {\n\t\t var m_w = m_w;\n\t\t var m_z = 0x3ade68b1;\n\t\t var mask = 0xffffffff;\n\t\n\t\t return function () {\n\t\t m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask;\n\t\t m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask;\n\t\t var result = ((m_z << 0x10) + m_w) & mask;\n\t\t result /= 0x100000000;\n\t\t result += 0.5;\n\t\t return result * (Math.random() > .5 ? 1 : -1);\n\t\t }\n\t\t });\n\t\n\t\t for (var i = 0, rcache; i < nBytes; i += 4) {\n\t\t var _r = r((rcache || Math.random()) * 0x100000000);\n\t\n\t\t rcache = _r() * 0x3ade67b7;\n\t\t words.push((_r() * 0x100000000) | 0);\n\t\t }\n\t\n\t\t return new WordArray.init(words, nBytes);\n\t\t }\n\t\t });\n\t\n\t\t /**\n\t\t * Encoder namespace.\n\t\t */\n\t\t var C_enc = C.enc = {};\n\t\n\t\t /**\n\t\t * Hex encoding strategy.\n\t\t */\n\t\t var Hex = C_enc.Hex = {\n\t\t /**\n\t\t * Converts a word array to a hex string.\n\t\t *\n\t\t * @param {WordArray} wordArray The word array.\n\t\t *\n\t\t * @return {string} The hex string.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t\t */\n\t\t stringify: function (wordArray) {\n\t\t // Shortcuts\n\t\t var words = wordArray.words;\n\t\t var sigBytes = wordArray.sigBytes;\n\t\n\t\t // Convert\n\t\t var hexChars = [];\n\t\t for (var i = 0; i < sigBytes; i++) {\n\t\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t\t hexChars.push((bite >>> 4).toString(16));\n\t\t hexChars.push((bite & 0x0f).toString(16));\n\t\t }\n\t\n\t\t return hexChars.join('');\n\t\t },\n\t\n\t\t /**\n\t\t * Converts a hex string to a word array.\n\t\t *\n\t\t * @param {string} hexStr The hex string.\n\t\t *\n\t\t * @return {WordArray} The word array.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t\t */\n\t\t parse: function (hexStr) {\n\t\t // Shortcut\n\t\t var hexStrLength = hexStr.length;\n\t\n\t\t // Convert\n\t\t var words = [];\n\t\t for (var i = 0; i < hexStrLength; i += 2) {\n\t\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t\t }\n\t\n\t\t return new WordArray.init(words, hexStrLength / 2);\n\t\t }\n\t\t };\n\t\n\t\t /**\n\t\t * Latin1 encoding strategy.\n\t\t */\n\t\t var Latin1 = C_enc.Latin1 = {\n\t\t /**\n\t\t * Converts a word array to a Latin1 string.\n\t\t *\n\t\t * @param {WordArray} wordArray The word array.\n\t\t *\n\t\t * @return {string} The Latin1 string.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t\t */\n\t\t stringify: function (wordArray) {\n\t\t // Shortcuts\n\t\t var words = wordArray.words;\n\t\t var sigBytes = wordArray.sigBytes;\n\t\n\t\t // Convert\n\t\t var latin1Chars = [];\n\t\t for (var i = 0; i < sigBytes; i++) {\n\t\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t\t latin1Chars.push(String.fromCharCode(bite));\n\t\t }\n\t\n\t\t return latin1Chars.join('');\n\t\t },\n\t\n\t\t /**\n\t\t * Converts a Latin1 string to a word array.\n\t\t *\n\t\t * @param {string} latin1Str The Latin1 string.\n\t\t *\n\t\t * @return {WordArray} The word array.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t\t */\n\t\t parse: function (latin1Str) {\n\t\t // Shortcut\n\t\t var latin1StrLength = latin1Str.length;\n\t\n\t\t // Convert\n\t\t var words = [];\n\t\t for (var i = 0; i < latin1StrLength; i++) {\n\t\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t\t }\n\t\n\t\t return new WordArray.init(words, latin1StrLength);\n\t\t }\n\t\t };\n\t\n\t\t /**\n\t\t * UTF-8 encoding strategy.\n\t\t */\n\t\t var Utf8 = C_enc.Utf8 = {\n\t\t /**\n\t\t * Converts a word array to a UTF-8 string.\n\t\t *\n\t\t * @param {WordArray} wordArray The word array.\n\t\t *\n\t\t * @return {string} The UTF-8 string.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t\t */\n\t\t stringify: function (wordArray) {\n\t\t try {\n\t\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t\t } catch (e) {\n\t\t throw new Error('Malformed UTF-8 data');\n\t\t }\n\t\t },\n\t\n\t\t /**\n\t\t * Converts a UTF-8 string to a word array.\n\t\t *\n\t\t * @param {string} utf8Str The UTF-8 string.\n\t\t *\n\t\t * @return {WordArray} The word array.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t\t */\n\t\t parse: function (utf8Str) {\n\t\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t\t }\n\t\t };\n\t\n\t\t /**\n\t\t * Abstract buffered block algorithm template.\n\t\t *\n\t\t * The property blockSize must be implemented in a concrete subtype.\n\t\t *\n\t\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t\t */\n\t\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t\t /**\n\t\t * Resets this block algorithm's data buffer to its initial state.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * bufferedBlockAlgorithm.reset();\n\t\t */\n\t\t reset: function () {\n\t\t // Initial values\n\t\t this._data = new WordArray.init();\n\t\t this._nDataBytes = 0;\n\t\t },\n\t\n\t\t /**\n\t\t * Adds new data to this block algorithm's buffer.\n\t\t *\n\t\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * bufferedBlockAlgorithm._append('data');\n\t\t * bufferedBlockAlgorithm._append(wordArray);\n\t\t */\n\t\t _append: function (data) {\n\t\t // Convert string to WordArray, else assume WordArray already\n\t\t if (typeof data == 'string') {\n\t\t data = Utf8.parse(data);\n\t\t }\n\t\n\t\t // Append\n\t\t this._data.concat(data);\n\t\t this._nDataBytes += data.sigBytes;\n\t\t },\n\t\n\t\t /**\n\t\t * Processes available data blocks.\n\t\t *\n\t\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t\t *\n\t\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t\t *\n\t\t * @return {WordArray} The processed data.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var processedData = bufferedBlockAlgorithm._process();\n\t\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t\t */\n\t\t _process: function (doFlush) {\n\t\t // Shortcuts\n\t\t var data = this._data;\n\t\t var dataWords = data.words;\n\t\t var dataSigBytes = data.sigBytes;\n\t\t var blockSize = this.blockSize;\n\t\t var blockSizeBytes = blockSize * 4;\n\t\n\t\t // Count blocks ready\n\t\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t\t if (doFlush) {\n\t\t // Round up to include partial blocks\n\t\t nBlocksReady = Math.ceil(nBlocksReady);\n\t\t } else {\n\t\t // Round down to include only full blocks,\n\t\t // less the number of blocks that must remain in the buffer\n\t\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t\t }\n\t\n\t\t // Count words ready\n\t\t var nWordsReady = nBlocksReady * blockSize;\n\t\n\t\t // Count bytes ready\n\t\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\t\n\t\t // Process blocks\n\t\t if (nWordsReady) {\n\t\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t\t // Perform concrete-algorithm logic\n\t\t this._doProcessBlock(dataWords, offset);\n\t\t }\n\t\n\t\t // Remove processed words\n\t\t var processedWords = dataWords.splice(0, nWordsReady);\n\t\t data.sigBytes -= nBytesReady;\n\t\t }\n\t\n\t\t // Return processed words\n\t\t return new WordArray.init(processedWords, nBytesReady);\n\t\t },\n\t\n\t\t /**\n\t\t * Creates a copy of this object.\n\t\t *\n\t\t * @return {Object} The clone.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var clone = bufferedBlockAlgorithm.clone();\n\t\t */\n\t\t clone: function () {\n\t\t var clone = Base.clone.call(this);\n\t\t clone._data = this._data.clone();\n\t\n\t\t return clone;\n\t\t },\n\t\n\t\t _minBufferSize: 0\n\t\t });\n\t\n\t\t /**\n\t\t * Abstract hasher template.\n\t\t *\n\t\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t\t */\n\t\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t\t /**\n\t\t * Configuration options.\n\t\t */\n\t\t cfg: Base.extend(),\n\t\n\t\t /**\n\t\t * Initializes a newly created hasher.\n\t\t *\n\t\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var hasher = CryptoJS.algo.SHA256.create();\n\t\t */\n\t\t init: function (cfg) {\n\t\t // Apply config defaults\n\t\t this.cfg = this.cfg.extend(cfg);\n\t\n\t\t // Set initial values\n\t\t this.reset();\n\t\t },\n\t\n\t\t /**\n\t\t * Resets this hasher to its initial state.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * hasher.reset();\n\t\t */\n\t\t reset: function () {\n\t\t // Reset data buffer\n\t\t BufferedBlockAlgorithm.reset.call(this);\n\t\n\t\t // Perform concrete-hasher logic\n\t\t this._doReset();\n\t\t },\n\t\n\t\t /**\n\t\t * Updates this hasher with a message.\n\t\t *\n\t\t * @param {WordArray|string} messageUpdate The message to append.\n\t\t *\n\t\t * @return {Hasher} This hasher.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * hasher.update('message');\n\t\t * hasher.update(wordArray);\n\t\t */\n\t\t update: function (messageUpdate) {\n\t\t // Append\n\t\t this._append(messageUpdate);\n\t\n\t\t // Update the hash\n\t\t this._process();\n\t\n\t\t // Chainable\n\t\t return this;\n\t\t },\n\t\n\t\t /**\n\t\t * Finalizes the hash computation.\n\t\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t\t *\n\t\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t\t *\n\t\t * @return {WordArray} The hash.\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var hash = hasher.finalize();\n\t\t * var hash = hasher.finalize('message');\n\t\t * var hash = hasher.finalize(wordArray);\n\t\t */\n\t\t finalize: function (messageUpdate) {\n\t\t // Final message update\n\t\t if (messageUpdate) {\n\t\t this._append(messageUpdate);\n\t\t }\n\t\n\t\t // Perform concrete-hasher logic\n\t\t var hash = this._doFinalize();\n\t\n\t\t return hash;\n\t\t },\n\t\n\t\t blockSize: 512/32,\n\t\n\t\t /**\n\t\t * Creates a shortcut function to a hasher's object interface.\n\t\t *\n\t\t * @param {Hasher} hasher The hasher to create a helper for.\n\t\t *\n\t\t * @return {Function} The shortcut function.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t\t */\n\t\t _createHelper: function (hasher) {\n\t\t return function (message, cfg) {\n\t\t return new hasher.init(cfg).finalize(message);\n\t\t };\n\t\t },\n\t\n\t\t /**\n\t\t * Creates a shortcut function to the HMAC's object interface.\n\t\t *\n\t\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t\t *\n\t\t * @return {Function} The shortcut function.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t\t */\n\t\t _createHmacHelper: function (hasher) {\n\t\t return function (message, key) {\n\t\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t\t };\n\t\t }\n\t\t });\n\t\n\t\t /**\n\t\t * Algorithm namespace.\n\t\t */\n\t\t var C_algo = C.algo = {};\n\t\n\t\t return C;\n\t\t}(Math));\n\t\n\t\n\t\treturn CryptoJS;\n\t\n\t}));\n\n/***/ },\n/* 25 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t;(function (root, factory) {\n\t\tif (true) {\n\t\t\t// CommonJS\n\t\t\tmodule.exports = exports = factory(__webpack_require__(24));\n\t\t}\n\t\telse if (typeof define === \"function\" && define.amd) {\n\t\t\t// AMD\n\t\t\tdefine([\"./core\"], factory);\n\t\t}\n\t\telse {\n\t\t\t// Global (browser)\n\t\t\tfactory(root.CryptoJS);\n\t\t}\n\t}(this, function (CryptoJS) {\n\t\n\t\t(function (Math) {\n\t\t // Shortcuts\n\t\t var C = CryptoJS;\n\t\t var C_lib = C.lib;\n\t\t var WordArray = C_lib.WordArray;\n\t\t var Hasher = C_lib.Hasher;\n\t\t var C_algo = C.algo;\n\t\n\t\t // Initialization and round constants tables\n\t\t var H = [];\n\t\t var K = [];\n\t\n\t\t // Compute constants\n\t\t (function () {\n\t\t function isPrime(n) {\n\t\t var sqrtN = Math.sqrt(n);\n\t\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t\t if (!(n % factor)) {\n\t\t return false;\n\t\t }\n\t\t }\n\t\n\t\t return true;\n\t\t }\n\t\n\t\t function getFractionalBits(n) {\n\t\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t\t }\n\t\n\t\t var n = 2;\n\t\t var nPrime = 0;\n\t\t while (nPrime < 64) {\n\t\t if (isPrime(n)) {\n\t\t if (nPrime < 8) {\n\t\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t\t }\n\t\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\t\n\t\t nPrime++;\n\t\t }\n\t\n\t\t n++;\n\t\t }\n\t\t }());\n\t\n\t\t // Reusable object\n\t\t var W = [];\n\t\n\t\t /**\n\t\t * SHA-256 hash algorithm.\n\t\t */\n\t\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t\t _doReset: function () {\n\t\t this._hash = new WordArray.init(H.slice(0));\n\t\t },\n\t\n\t\t _doProcessBlock: function (M, offset) {\n\t\t // Shortcut\n\t\t var H = this._hash.words;\n\t\n\t\t // Working variables\n\t\t var a = H[0];\n\t\t var b = H[1];\n\t\t var c = H[2];\n\t\t var d = H[3];\n\t\t var e = H[4];\n\t\t var f = H[5];\n\t\t var g = H[6];\n\t\t var h = H[7];\n\t\n\t\t // Computation\n\t\t for (var i = 0; i < 64; i++) {\n\t\t if (i < 16) {\n\t\t W[i] = M[offset + i] | 0;\n\t\t } else {\n\t\t var gamma0x = W[i - 15];\n\t\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t\t (gamma0x >>> 3);\n\t\n\t\t var gamma1x = W[i - 2];\n\t\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t\t (gamma1x >>> 10);\n\t\n\t\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t\t }\n\t\n\t\t var ch = (e & f) ^ (~e & g);\n\t\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\t\n\t\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\t\n\t\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t\t var t2 = sigma0 + maj;\n\t\n\t\t h = g;\n\t\t g = f;\n\t\t f = e;\n\t\t e = (d + t1) | 0;\n\t\t d = c;\n\t\t c = b;\n\t\t b = a;\n\t\t a = (t1 + t2) | 0;\n\t\t }\n\t\n\t\t // Intermediate hash value\n\t\t H[0] = (H[0] + a) | 0;\n\t\t H[1] = (H[1] + b) | 0;\n\t\t H[2] = (H[2] + c) | 0;\n\t\t H[3] = (H[3] + d) | 0;\n\t\t H[4] = (H[4] + e) | 0;\n\t\t H[5] = (H[5] + f) | 0;\n\t\t H[6] = (H[6] + g) | 0;\n\t\t H[7] = (H[7] + h) | 0;\n\t\t },\n\t\n\t\t _doFinalize: function () {\n\t\t // Shortcuts\n\t\t var data = this._data;\n\t\t var dataWords = data.words;\n\t\n\t\t var nBitsTotal = this._nDataBytes * 8;\n\t\t var nBitsLeft = data.sigBytes * 8;\n\t\n\t\t // Add padding\n\t\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t\t data.sigBytes = dataWords.length * 4;\n\t\n\t\t // Hash final blocks\n\t\t this._process();\n\t\n\t\t // Return final computed hash\n\t\t return this._hash;\n\t\t },\n\t\n\t\t clone: function () {\n\t\t var clone = Hasher.clone.call(this);\n\t\t clone._hash = this._hash.clone();\n\t\n\t\t return clone;\n\t\t }\n\t\t });\n\t\n\t\t /**\n\t\t * Shortcut function to the hasher's object interface.\n\t\t *\n\t\t * @param {WordArray|string} message The message to hash.\n\t\t *\n\t\t * @return {WordArray} The hash.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var hash = CryptoJS.SHA256('message');\n\t\t * var hash = CryptoJS.SHA256(wordArray);\n\t\t */\n\t\t C.SHA256 = Hasher._createHelper(SHA256);\n\t\n\t\t /**\n\t\t * Shortcut function to the HMAC's object interface.\n\t\t *\n\t\t * @param {WordArray|string} message The message to hash.\n\t\t * @param {WordArray|string} key The secret key.\n\t\t *\n\t\t * @return {WordArray} The HMAC.\n\t\t *\n\t\t * @static\n\t\t *\n\t\t * @example\n\t\t *\n\t\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t\t */\n\t\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t\t}(Math));\n\t\n\t\n\t\treturn CryptoJS.SHA256;\n\t\n\t}));\n\n/***/ },\n/* 26 */\n/***/ function(module, exports) {\n\n\tfunction DummyCache() {}\n\t\n\tDummyCache.prototype.get = function () {\n\t return null;\n\t};\n\t\n\tDummyCache.prototype.has = function () {\n\t return false;\n\t};\n\t\n\tDummyCache.prototype.set = function () {\n\t};\n\t\n\tmodule.exports = DummyCache;\n\n\n/***/ },\n/* 27 */\n/***/ function(module, exports) {\n\n\tfunction ConfigurationError(message) {\n\t this.name = 'ConfigurationError';\n\t this.message = (message || '');\n\t}\n\tConfigurationError.prototype = Error.prototype;\n\t\n\tfunction TokenValidationError(message) {\n\t this.name = 'TokenValidationError';\n\t this.message = (message || '');\n\t}\n\tTokenValidationError.prototype = Error.prototype;\n\t\n\tmodule.exports = {\n\t ConfigurationError: ConfigurationError,\n\t TokenValidationError: TokenValidationError\n\t};\n\n\n/***/ },\n/* 28 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar urljoin = __webpack_require__(1);\n\tvar base64 = __webpack_require__(16);\n\tvar request = __webpack_require__(17);\n\t\n\tfunction process(jwks) {\n\t var modulus = base64.decodeToHEX(jwks.n);\n\t var exp = base64.decodeToHEX(jwks.e);\n\t\n\t return {\n\t modulus: modulus,\n\t exp: exp\n\t };\n\t}\n\t\n\tfunction getJWKS(options, cb) {\n\t var url = urljoin(options.iss, '.well-known', 'jwks.json');\n\t\n\t return request\n\t .get(url)\n\t .end(function (err, data) {\n\t var matchingKey = null;\n\t var a;\n\t var key;\n\t\n\t if (err) {\n\t cb(err);\n\t }\n\t\n\t // eslint-disable-next-line no-plusplus\n\t for (a = 0; a < data.body.keys.length && matchingKey === null; a++) {\n\t key = data.body.keys[a];\n\t if (key.kid === options.kid) {\n\t matchingKey = key;\n\t }\n\t }\n\t\n\t cb(null, process(matchingKey));\n\t });\n\t}\n\t\n\tmodule.exports = {\n\t process: process,\n\t getJWKS: getJWKS\n\t};\n\n\n/***/ },\n/* 29 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/*\n\tBased on the work of Tom Wu\n\thttp://www-cs-students.stanford.edu/~tjw/jsbn/\n\thttp://www-cs-students.stanford.edu/~tjw/jsbn/LICENSE\n\t*/\n\t\n\tvar BigInteger = __webpack_require__(31).BigInteger;\n\tvar SHA256 = __webpack_require__(25);\n\t\n\tvar DigestInfoHead = {\n\t sha1: '3021300906052b0e03021a05000414',\n\t sha224: '302d300d06096086480165030402040500041c',\n\t sha256: '3031300d060960864801650304020105000420',\n\t sha384: '3041300d060960864801650304020205000430',\n\t sha512: '3051300d060960864801650304020305000440',\n\t md2: '3020300c06082a864886f70d020205000410',\n\t md5: '3020300c06082a864886f70d020505000410',\n\t ripemd160: '3021300906052b2403020105000414'\n\t};\n\t\n\tvar DigestAlgs = {\n\t sha256: SHA256\n\t};\n\t\n\tfunction RSAVerifier(modulus, exp) {\n\t this.n = null;\n\t this.e = 0;\n\t\n\t if (modulus != null && exp != null && modulus.length > 0 && exp.length > 0) {\n\t this.n = new BigInteger(modulus, 16);\n\t this.e = parseInt(exp, 16);\n\t } else {\n\t throw new Error('Invalid key data');\n\t }\n\t}\n\t\n\tfunction getAlgorithmFromDigest(hDigestInfo) {\n\t for (var algName in DigestInfoHead) {\n\t var head = DigestInfoHead[algName];\n\t var len = head.length;\n\t\n\t if (hDigestInfo.substring(0, len) === head) {\n\t return {\n\t alg: algName,\n\t hash: hDigestInfo.substring(len)\n\t };\n\t }\n\t }\n\t return [];\n\t}\n\t\n\t\n\tRSAVerifier.prototype.verify = function (msg, encsig) {\n\t encsig = encsig.replace(/[^0-9a-f]|[\\s\\n]]/ig, '');\n\t\n\t var sig = new BigInteger(encsig, 16);\n\t if (sig.bitLength() > this.n.bitLength()) {\n\t throw new Error('Signature does not match with the key modulus.');\n\t }\n\t\n\t var decryptedSig = sig.modPowInt(this.e, this.n);\n\t var digest = decryptedSig.toString(16).replace(/^1f+00/, '');\n\t\n\t var digestInfo = getAlgorithmFromDigest(digest);\n\t if (digestInfo.length === 0) {\n\t return false;\n\t }\n\t\n\t if (!DigestAlgs.hasOwnProperty(digestInfo.alg)) {\n\t throw new Error('Hashing algorithm is not supported.');\n\t }\n\t\n\t var msgHash = DigestAlgs[digestInfo.alg](msg).toString();\n\t return (digestInfo.hash === msgHash);\n\t};\n\t\n\tmodule.exports = RSAVerifier;\n\n\n/***/ },\n/* 30 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar RSAVerifier = __webpack_require__(29);\n\tvar base64 = __webpack_require__(16);\n\tvar jwks = __webpack_require__(28);\n\tvar error = __webpack_require__(27);\n\tvar DummyCache = __webpack_require__(26);\n\tvar supportedAlgs = ['RS256'];\n\t\n\t/**\n\t * Creates a new id_token verifier\n\t * @constructor\n\t * @param {Object} parameters\n\t * @param {String} parameters.issuer name of the issuer of the token\n\t * that should match the `iss` claim in the id_token\n\t * @param {String} parameters.audience identifies the recipients that the JWT is intended for\n\t * and should match the `aud` claim\n\t * @param {Object} [parameters.jwksCache] cache for JSON Web Token Keys. By default it has no cache\n\t * @param {String} [parameters.expectedAlg='RS256'] algorithm in which the id_token was signed\n\t * and will be used to validate\n\t * @param {number} [parameters.leeway=0] number of seconds that the clock can be out of sync\n\t * while validating expiration of the id_token\n\t */\n\tfunction IdTokenVerifier(parameters) {\n\t var options = parameters || {};\n\t\n\t this.jwksCache = options.jwksCache || new DummyCache();\n\t this.expectedAlg = options.expectedAlg || 'RS256';\n\t this.issuer = options.issuer;\n\t this.audience = options.audience;\n\t this.leeway = options.leeway || 0;\n\t this.__disableExpirationCheck = options.__disableExpirationCheck || false;\n\t\n\t if (this.leeway < 0 || this.leeway > 60) {\n\t throw new error.ConfigurationError('The leeway should be positive and lower than a minute.');\n\t }\n\t\n\t if (supportedAlgs.indexOf(this.expectedAlg) === -1) {\n\t throw new error.ConfigurationError('Algorithm ' + this.expectedAlg +\n\t ' is not supported. (Expected algs: [' + supportedAlgs.join(',') + '])');\n\t }\n\t}\n\t\n\t/**\n\t * @callback verifyCallback\n\t * @param {Error} [err] error returned if the verify cannot be performed\n\t * @param {boolean} [status] if the token is valid or not\n\t */\n\t\n\t/**\n\t * Verifies an id_token\n\t *\n\t * It will validate:\n\t * - signature according to the algorithm configured in the verifier.\n\t * - if nonce is present and matches the one provided\n\t * - if `iss` and `aud` claims matches the configured issuer and audience\n\t * - if token is not expired and valid (if the `nbf` claim is in the past)\n\t *\n\t * @method verify\n\t * @param {String} token id_token to verify\n\t * @param {String} [nonce] nonce value that should match the one in the id_token claims\n\t * @param {verifyCallback} cb callback used to notify the results of the validation\n\t */\n\tIdTokenVerifier.prototype.verify = function (token, nonce, cb) {\n\t var jwt = this.decode(token);\n\t\n\t if (jwt instanceof Error) {\n\t return cb(jwt, false);\n\t }\n\t\n\t /* eslint-disable vars-on-top */\n\t var headAndPayload = jwt.encoded.header + '.' + jwt.encoded.payload;\n\t var signature = base64.decodeToHEX(jwt.encoded.signature);\n\t\n\t var alg = jwt.header.alg;\n\t var kid = jwt.header.kid;\n\t\n\t var aud = jwt.payload.aud;\n\t var iss = jwt.payload.iss;\n\t var exp = jwt.payload.exp;\n\t var nbf = jwt.payload.nbf;\n\t var tnonce = jwt.payload.nonce || null;\n\t /* eslint-enable vars-on-top */\n\t\n\t if (this.issuer !== iss) {\n\t return cb(new error.TokenValidationError('Issuer ' + iss + ' is not valid.'), false);\n\t }\n\t\n\t if (this.audience !== aud) {\n\t return cb(new error.TokenValidationError('Audience ' + aud + ' is not valid.'), false);\n\t }\n\t\n\t if (this.expectedAlg !== alg) {\n\t return cb(new error.TokenValidationError('Algorithm ' + alg +\n\t ' is not supported. (Expected algs: [' + supportedAlgs.join(',') + '])'), false);\n\t }\n\t\n\t if (tnonce !== nonce) {\n\t return cb(new error.TokenValidationError('Nonce does not match.'), false);\n\t }\n\t\n\t var expirationError = this.verifyExpAndNbf(exp, nbf); // eslint-disable-line vars-on-top\n\t\n\t if (expirationError) {\n\t return cb(expirationError, false);\n\t }\n\t\n\t return this.getRsaVerifier(iss, kid, function (err, rsaVerifier) {\n\t if (err) {\n\t return cb(err);\n\t }\n\t if (rsaVerifier.verify(headAndPayload, signature)) {\n\t return cb(null, jwt.payload);\n\t }\n\t return cb(new error.TokenValidationError('Invalid signature.'));\n\t });\n\t};\n\t\n\t/**\n\t * Verifies that the `exp` and `nbf` claims are valid in the current moment.\n\t *\n\t * @method verifyExpAndNbf\n\t * @param {String} exp value of `exp` claim\n\t * @param {String} nbf value of `nbf` claim\n\t * @return {boolean} if token is valid according to `exp` and `nbf`\n\t */\n\tIdTokenVerifier.prototype.verifyExpAndNbf = function (exp, nbf) {\n\t var now = new Date();\n\t var expDate = new Date(0);\n\t var nbfDate = new Date(0);\n\t\n\t if (this.__disableExpirationCheck) {\n\t return null;\n\t }\n\t\n\t expDate.setUTCSeconds(exp + this.leeway);\n\t\n\t if (now > expDate) {\n\t return new error.TokenValidationError('Expired token.');\n\t }\n\t\n\t if (typeof nbf === 'undefined') {\n\t return null;\n\t }\n\t nbfDate.setUTCSeconds(nbf - this.leeway);\n\t if (now < nbfDate) {\n\t return new error.TokenValidationError('The token is not valid until later in the future. ' +\n\t 'Please check your computed clock.');\n\t }\n\t\n\t return null;\n\t};\n\t\n\t/**\n\t * Verifies that the `exp` and `iat` claims are valid in the current moment.\n\t *\n\t * @method verifyExpAndIat\n\t * @param {String} exp value of `exp` claim\n\t * @param {String} iat value of `iat` claim\n\t * @return {boolean} if token is valid according to `exp` and `iat`\n\t */\n\tIdTokenVerifier.prototype.verifyExpAndIat = function (exp, iat) {\n\t var now = new Date();\n\t var expDate = new Date(0);\n\t var iatDate = new Date(0);\n\t\n\t if (this.__disableExpirationCheck) {\n\t return null;\n\t }\n\t\n\t expDate.setUTCSeconds(exp + this.leeway);\n\t\n\t if (now > expDate) {\n\t return new error.TokenValidationError('Expired token.');\n\t }\n\t\n\t iatDate.setUTCSeconds(iat - this.leeway);\n\t\n\t if (now < iatDate) {\n\t return new error.TokenValidationError('The token was issued in the future. ' +\n\t 'Please check your computed clock.');\n\t }\n\t return null;\n\t};\n\t\n\tIdTokenVerifier.prototype.getRsaVerifier = function (iss, kid, cb) {\n\t var _this = this;\n\t var cachekey = iss + kid;\n\t\n\t if (!this.jwksCache.has(cachekey)) {\n\t jwks.getJWKS({\n\t iss: iss,\n\t kid: kid\n\t }, function (err, keyInfo) {\n\t if (err) {\n\t cb(err);\n\t }\n\t _this.jwksCache.set(cachekey, keyInfo);\n\t cb(null, new RSAVerifier(keyInfo.modulus, keyInfo.exp));\n\t });\n\t } else {\n\t var keyInfo = this.jwksCache.get(cachekey); // eslint-disable-line vars-on-top\n\t cb(null, new RSAVerifier(keyInfo.modulus, keyInfo.exp));\n\t }\n\t};\n\t\n\t\n\t/**\n\t * @typedef DecodedToken\n\t * @type {Object}\n\t * @property {Object} header - content of the JWT header.\n\t * @property {Object} payload - token claims.\n\t * @property {Object} encoded - encoded parts of the token.\n\t */\n\t\n\t/**\n\t * Decodes a well formed JWT without any verification\n\t *\n\t * @method decode\n\t * @param {String} token decodes the token\n\t * @return {DecodedToken} if token is valid according to `exp` and `nbf`\n\t */\n\tIdTokenVerifier.prototype.decode = function (token) {\n\t var parts = token.split('.');\n\t var header;\n\t var payload;\n\t\n\t if (parts.length !== 3) {\n\t return new error.TokenValidationError('Cannot decode a malformed JWT');\n\t }\n\t\n\t try {\n\t header = JSON.parse(base64.decodeToString(parts[0]));\n\t payload = JSON.parse(base64.decodeToString(parts[1]));\n\t } catch (e) {\n\t return new error.TokenValidationError('Token header or payload is not valid JSON');\n\t }\n\t\n\t return {\n\t header: header,\n\t payload: payload,\n\t encoded: {\n\t header: parts[0],\n\t payload: parts[1],\n\t signature: parts[2]\n\t }\n\t };\n\t};\n\t\n\tmodule.exports = IdTokenVerifier;\n\n\n/***/ },\n/* 31 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t(function(){\n\t\n\t // Copyright (c) 2005 Tom Wu\n\t // All Rights Reserved.\n\t // See \"LICENSE\" for details.\n\t\n\t // Basic JavaScript BN library - subset useful for RSA encryption.\n\t\n\t // Bits per digit\n\t var dbits;\n\t\n\t // JavaScript engine analysis\n\t var canary = 0xdeadbeefcafe;\n\t var j_lm = ((canary&0xffffff)==0xefcafe);\n\t\n\t // (public) Constructor\n\t function BigInteger(a,b,c) {\n\t if(a != null)\n\t if(\"number\" == typeof a) this.fromNumber(a,b,c);\n\t else if(b == null && \"string\" != typeof a) this.fromString(a,256);\n\t else this.fromString(a,b);\n\t }\n\t\n\t // return new, unset BigInteger\n\t function nbi() { return new BigInteger(null); }\n\t\n\t // am: Compute w_j += (x*this_i), propagate carries,\n\t // c is initial carry, returns final carry.\n\t // c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n\t // We need to select the fastest one that works in this environment.\n\t\n\t // am1: use a single mult and divide to get the high bits,\n\t // max digit bits should be 26 because\n\t // max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n\t function am1(i,x,w,j,c,n) {\n\t while(--n >= 0) {\n\t var v = x*this[i++]+w[j]+c;\n\t c = Math.floor(v/0x4000000);\n\t w[j++] = v&0x3ffffff;\n\t }\n\t return c;\n\t }\n\t // am2 avoids a big mult-and-extract completely.\n\t // Max digit bits should be <= 30 because we do bitwise ops\n\t // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n\t function am2(i,x,w,j,c,n) {\n\t var xl = x&0x7fff, xh = x>>15;\n\t while(--n >= 0) {\n\t var l = this[i]&0x7fff;\n\t var h = this[i++]>>15;\n\t var m = xh*l+h*xl;\n\t l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);\n\t c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);\n\t w[j++] = l&0x3fffffff;\n\t }\n\t return c;\n\t }\n\t // Alternately, set max digit bits to 28 since some\n\t // browsers slow down when dealing with 32-bit numbers.\n\t function am3(i,x,w,j,c,n) {\n\t var xl = x&0x3fff, xh = x>>14;\n\t while(--n >= 0) {\n\t var l = this[i]&0x3fff;\n\t var h = this[i++]>>14;\n\t var m = xh*l+h*xl;\n\t l = xl*l+((m&0x3fff)<<14)+w[j]+c;\n\t c = (l>>28)+(m>>14)+xh*h;\n\t w[j++] = l&0xfffffff;\n\t }\n\t return c;\n\t }\n\t var inBrowser = typeof navigator !== \"undefined\";\n\t if(inBrowser && j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\n\t BigInteger.prototype.am = am2;\n\t dbits = 30;\n\t }\n\t else if(inBrowser && j_lm && (navigator.appName != \"Netscape\")) {\n\t BigInteger.prototype.am = am1;\n\t dbits = 26;\n\t }\n\t else { // Mozilla/Netscape seems to prefer am3\n\t BigInteger.prototype.am = am3;\n\t dbits = 28;\n\t }\n\t\n\t BigInteger.prototype.DB = dbits;\n\t BigInteger.prototype.DM = ((1<= 0; --i) r[i] = this[i];\n\t r.t = this.t;\n\t r.s = this.s;\n\t }\n\t\n\t // (protected) set from integer value x, -DV <= x < DV\n\t function bnpFromInt(x) {\n\t this.t = 1;\n\t this.s = (x<0)?-1:0;\n\t if(x > 0) this[0] = x;\n\t else if(x < -1) this[0] = x+this.DV;\n\t else this.t = 0;\n\t }\n\t\n\t // return bigint initialized to value\n\t function nbv(i) { var r = nbi(); r.fromInt(i); return r; }\n\t\n\t // (protected) set from string and radix\n\t function bnpFromString(s,b) {\n\t var k;\n\t if(b == 16) k = 4;\n\t else if(b == 8) k = 3;\n\t else if(b == 256) k = 8; // byte array\n\t else if(b == 2) k = 1;\n\t else if(b == 32) k = 5;\n\t else if(b == 4) k = 2;\n\t else { this.fromRadix(s,b); return; }\n\t this.t = 0;\n\t this.s = 0;\n\t var i = s.length, mi = false, sh = 0;\n\t while(--i >= 0) {\n\t var x = (k==8)?s[i]&0xff:intAt(s,i);\n\t if(x < 0) {\n\t if(s.charAt(i) == \"-\") mi = true;\n\t continue;\n\t }\n\t mi = false;\n\t if(sh == 0)\n\t this[this.t++] = x;\n\t else if(sh+k > this.DB) {\n\t this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh));\n\t }\n\t else\n\t this[this.t-1] |= x<= this.DB) sh -= this.DB;\n\t }\n\t if(k == 8 && (s[0]&0x80) != 0) {\n\t this.s = -1;\n\t if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this[this.t-1] == c) --this.t;\n\t }\n\t\n\t // (public) return string representation in given radix\n\t function bnToString(b) {\n\t if(this.s < 0) return \"-\"+this.negate().toString(b);\n\t var k;\n\t if(b == 16) k = 4;\n\t else if(b == 8) k = 3;\n\t else if(b == 2) k = 1;\n\t else if(b == 32) k = 5;\n\t else if(b == 4) k = 2;\n\t else return this.toRadix(b);\n\t var km = (1< 0) {\n\t if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }\n\t while(i >= 0) {\n\t if(p < k) {\n\t d = (this[i]&((1<>(p+=this.DB-k);\n\t }\n\t else {\n\t d = (this[i]>>(p-=k))&km;\n\t if(p <= 0) { p += this.DB; --i; }\n\t }\n\t if(d > 0) m = true;\n\t if(m) r += int2char(d);\n\t }\n\t }\n\t return m?r:\"0\";\n\t }\n\t\n\t // (public) -this\n\t function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; }\n\t\n\t // (public) |this|\n\t function bnAbs() { return (this.s<0)?this.negate():this; }\n\t\n\t // (public) return + if this > a, - if this < a, 0 if equal\n\t function bnCompareTo(a) {\n\t var r = this.s-a.s;\n\t if(r != 0) return r;\n\t var i = this.t;\n\t r = i-a.t;\n\t if(r != 0) return (this.s<0)?-r:r;\n\t while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;\n\t return 0;\n\t }\n\t\n\t // returns bit length of the integer x\n\t function nbits(x) {\n\t var r = 1, t;\n\t if((t=x>>>16) != 0) { x = t; r += 16; }\n\t if((t=x>>8) != 0) { x = t; r += 8; }\n\t if((t=x>>4) != 0) { x = t; r += 4; }\n\t if((t=x>>2) != 0) { x = t; r += 2; }\n\t if((t=x>>1) != 0) { x = t; r += 1; }\n\t return r;\n\t }\n\t\n\t // (public) return the number of bits in \"this\"\n\t function bnBitLength() {\n\t if(this.t <= 0) return 0;\n\t return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));\n\t }\n\t\n\t // (protected) r = this << n*DB\n\t function bnpDLShiftTo(n,r) {\n\t var i;\n\t for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];\n\t for(i = n-1; i >= 0; --i) r[i] = 0;\n\t r.t = this.t+n;\n\t r.s = this.s;\n\t }\n\t\n\t // (protected) r = this >> n*DB\n\t function bnpDRShiftTo(n,r) {\n\t for(var i = n; i < this.t; ++i) r[i-n] = this[i];\n\t r.t = Math.max(this.t-n,0);\n\t r.s = this.s;\n\t }\n\t\n\t // (protected) r = this << n\n\t function bnpLShiftTo(n,r) {\n\t var bs = n%this.DB;\n\t var cbs = this.DB-bs;\n\t var bm = (1<= 0; --i) {\n\t r[i+ds+1] = (this[i]>>cbs)|c;\n\t c = (this[i]&bm)<= 0; --i) r[i] = 0;\n\t r[ds] = c;\n\t r.t = this.t+ds+1;\n\t r.s = this.s;\n\t r.clamp();\n\t }\n\t\n\t // (protected) r = this >> n\n\t function bnpRShiftTo(n,r) {\n\t r.s = this.s;\n\t var ds = Math.floor(n/this.DB);\n\t if(ds >= this.t) { r.t = 0; return; }\n\t var bs = n%this.DB;\n\t var cbs = this.DB-bs;\n\t var bm = (1<>bs;\n\t for(var i = ds+1; i < this.t; ++i) {\n\t r[i-ds-1] |= (this[i]&bm)<>bs;\n\t }\n\t if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<>= this.DB;\n\t }\n\t if(a.t < this.t) {\n\t c -= a.s;\n\t while(i < this.t) {\n\t c += this[i];\n\t r[i++] = c&this.DM;\n\t c >>= this.DB;\n\t }\n\t c += this.s;\n\t }\n\t else {\n\t c += this.s;\n\t while(i < a.t) {\n\t c -= a[i];\n\t r[i++] = c&this.DM;\n\t c >>= this.DB;\n\t }\n\t c -= a.s;\n\t }\n\t r.s = (c<0)?-1:0;\n\t if(c < -1) r[i++] = this.DV+c;\n\t else if(c > 0) r[i++] = c;\n\t r.t = i;\n\t r.clamp();\n\t }\n\t\n\t // (protected) r = this * a, r != this,a (HAC 14.12)\n\t // \"this\" should be the larger one if appropriate.\n\t function bnpMultiplyTo(a,r) {\n\t var x = this.abs(), y = a.abs();\n\t var i = x.t;\n\t r.t = i+y.t;\n\t while(--i >= 0) r[i] = 0;\n\t for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);\n\t r.s = 0;\n\t r.clamp();\n\t if(this.s != a.s) BigInteger.ZERO.subTo(r,r);\n\t }\n\t\n\t // (protected) r = this^2, r != this (HAC 14.16)\n\t function bnpSquareTo(r) {\n\t var x = this.abs();\n\t var i = r.t = 2*x.t;\n\t while(--i >= 0) r[i] = 0;\n\t for(i = 0; i < x.t-1; ++i) {\n\t var c = x.am(i,x[i],r,2*i,0,1);\n\t if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {\n\t r[i+x.t] -= x.DV;\n\t r[i+x.t+1] = 1;\n\t }\n\t }\n\t if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);\n\t r.s = 0;\n\t r.clamp();\n\t }\n\t\n\t // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n\t // r != q, this != m. q or r may be null.\n\t function bnpDivRemTo(m,q,r) {\n\t var pm = m.abs();\n\t if(pm.t <= 0) return;\n\t var pt = this.abs();\n\t if(pt.t < pm.t) {\n\t if(q != null) q.fromInt(0);\n\t if(r != null) this.copyTo(r);\n\t return;\n\t }\n\t if(r == null) r = nbi();\n\t var y = nbi(), ts = this.s, ms = m.s;\n\t var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus\n\t if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }\n\t else { pm.copyTo(y); pt.copyTo(r); }\n\t var ys = y.t;\n\t var y0 = y[ys-1];\n\t if(y0 == 0) return;\n\t var yt = y0*(1<1)?y[ys-2]>>this.F2:0);\n\t var d1 = this.FV/yt, d2 = (1<= 0) {\n\t r[r.t++] = 1;\n\t r.subTo(t,r);\n\t }\n\t BigInteger.ONE.dlShiftTo(ys,t);\n\t t.subTo(y,y); // \"negative\" y so we can replace sub with am later\n\t while(y.t < ys) y[y.t++] = 0;\n\t while(--j >= 0) {\n\t // Estimate quotient digit\n\t var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);\n\t if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out\n\t y.dlShiftTo(j,t);\n\t r.subTo(t,r);\n\t while(r[i] < --qd) r.subTo(t,r);\n\t }\n\t }\n\t if(q != null) {\n\t r.drShiftTo(ys,q);\n\t if(ts != ms) BigInteger.ZERO.subTo(q,q);\n\t }\n\t r.t = ys;\n\t r.clamp();\n\t if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder\n\t if(ts < 0) BigInteger.ZERO.subTo(r,r);\n\t }\n\t\n\t // (public) this mod a\n\t function bnMod(a) {\n\t var r = nbi();\n\t this.abs().divRemTo(a,null,r);\n\t if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r);\n\t return r;\n\t }\n\t\n\t // Modular reduction using \"classic\" algorithm\n\t function Classic(m) { this.m = m; }\n\t function cConvert(x) {\n\t if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);\n\t else return x;\n\t }\n\t function cRevert(x) { return x; }\n\t function cReduce(x) { x.divRemTo(this.m,null,x); }\n\t function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }\n\t function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }\n\t\n\t Classic.prototype.convert = cConvert;\n\t Classic.prototype.revert = cRevert;\n\t Classic.prototype.reduce = cReduce;\n\t Classic.prototype.mulTo = cMulTo;\n\t Classic.prototype.sqrTo = cSqrTo;\n\t\n\t // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n\t // justification:\n\t // xy == 1 (mod m)\n\t // xy = 1+km\n\t // xy(2-xy) = (1+km)(1-km)\n\t // x[y(2-xy)] = 1-k^2m^2\n\t // x[y(2-xy)] == 1 (mod m^2)\n\t // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n\t // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n\t // JS multiply \"overflows\" differently from C/C++, so care is needed here.\n\t function bnpInvDigit() {\n\t if(this.t < 1) return 0;\n\t var x = this[0];\n\t if((x&1) == 0) return 0;\n\t var y = x&3; // y == 1/x mod 2^2\n\t y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4\n\t y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8\n\t y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16\n\t // last step - calculate inverse mod DV directly;\n\t // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n\t y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits\n\t // we really want the negative inverse, and -DV < y < DV\n\t return (y>0)?this.DV-y:-y;\n\t }\n\t\n\t // Montgomery reduction\n\t function Montgomery(m) {\n\t this.m = m;\n\t this.mp = m.invDigit();\n\t this.mpl = this.mp&0x7fff;\n\t this.mph = this.mp>>15;\n\t this.um = (1<<(m.DB-15))-1;\n\t this.mt2 = 2*m.t;\n\t }\n\t\n\t // xR mod m\n\t function montConvert(x) {\n\t var r = nbi();\n\t x.abs().dlShiftTo(this.m.t,r);\n\t r.divRemTo(this.m,null,r);\n\t if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r);\n\t return r;\n\t }\n\t\n\t // x/R mod m\n\t function montRevert(x) {\n\t var r = nbi();\n\t x.copyTo(r);\n\t this.reduce(r);\n\t return r;\n\t }\n\t\n\t // x = x/R mod m (HAC 14.32)\n\t function montReduce(x) {\n\t while(x.t <= this.mt2) // pad x so am has enough room later\n\t x[x.t++] = 0;\n\t for(var i = 0; i < this.m.t; ++i) {\n\t // faster way of calculating u0 = x[i]*mp mod DV\n\t var j = x[i]&0x7fff;\n\t var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;\n\t // use am to combine the multiply-shift-add into one call\n\t j = i+this.m.t;\n\t x[j] += this.m.am(0,u0,x,i,0,this.m.t);\n\t // propagate carry\n\t while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }\n\t }\n\t x.clamp();\n\t x.drShiftTo(this.m.t,x);\n\t if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);\n\t }\n\t\n\t // r = \"x^2/R mod m\"; x != r\n\t function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }\n\t\n\t // r = \"xy/R mod m\"; x,y != r\n\t function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }\n\t\n\t Montgomery.prototype.convert = montConvert;\n\t Montgomery.prototype.revert = montRevert;\n\t Montgomery.prototype.reduce = montReduce;\n\t Montgomery.prototype.mulTo = montMulTo;\n\t Montgomery.prototype.sqrTo = montSqrTo;\n\t\n\t // (protected) true iff this is even\n\t function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }\n\t\n\t // (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\n\t function bnpExp(e,z) {\n\t if(e > 0xffffffff || e < 1) return BigInteger.ONE;\n\t var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;\n\t g.copyTo(r);\n\t while(--i >= 0) {\n\t z.sqrTo(r,r2);\n\t if((e&(1< 0) z.mulTo(r2,g,r);\n\t else { var t = r; r = r2; r2 = t; }\n\t }\n\t return z.revert(r);\n\t }\n\t\n\t // (public) this^e % m, 0 <= e < 2^32\n\t function bnModPowInt(e,m) {\n\t var z;\n\t if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);\n\t return this.exp(e,z);\n\t }\n\t\n\t // protected\n\t BigInteger.prototype.copyTo = bnpCopyTo;\n\t BigInteger.prototype.fromInt = bnpFromInt;\n\t BigInteger.prototype.fromString = bnpFromString;\n\t BigInteger.prototype.clamp = bnpClamp;\n\t BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\n\t BigInteger.prototype.drShiftTo = bnpDRShiftTo;\n\t BigInteger.prototype.lShiftTo = bnpLShiftTo;\n\t BigInteger.prototype.rShiftTo = bnpRShiftTo;\n\t BigInteger.prototype.subTo = bnpSubTo;\n\t BigInteger.prototype.multiplyTo = bnpMultiplyTo;\n\t BigInteger.prototype.squareTo = bnpSquareTo;\n\t BigInteger.prototype.divRemTo = bnpDivRemTo;\n\t BigInteger.prototype.invDigit = bnpInvDigit;\n\t BigInteger.prototype.isEven = bnpIsEven;\n\t BigInteger.prototype.exp = bnpExp;\n\t\n\t // public\n\t BigInteger.prototype.toString = bnToString;\n\t BigInteger.prototype.negate = bnNegate;\n\t BigInteger.prototype.abs = bnAbs;\n\t BigInteger.prototype.compareTo = bnCompareTo;\n\t BigInteger.prototype.bitLength = bnBitLength;\n\t BigInteger.prototype.mod = bnMod;\n\t BigInteger.prototype.modPowInt = bnModPowInt;\n\t\n\t // \"constants\"\n\t BigInteger.ZERO = nbv(0);\n\t BigInteger.ONE = nbv(1);\n\t\n\t // Copyright (c) 2005-2009 Tom Wu\n\t // All Rights Reserved.\n\t // See \"LICENSE\" for details.\n\t\n\t // Extended JavaScript BN functions, required for RSA private ops.\n\t\n\t // Version 1.1: new BigInteger(\"0\", 10) returns \"proper\" zero\n\t // Version 1.2: square() API, isProbablePrime fix\n\t\n\t // (public)\n\t function bnClone() { var r = nbi(); this.copyTo(r); return r; }\n\t\n\t // (public) return value as integer\n\t function bnIntValue() {\n\t if(this.s < 0) {\n\t if(this.t == 1) return this[0]-this.DV;\n\t else if(this.t == 0) return -1;\n\t }\n\t else if(this.t == 1) return this[0];\n\t else if(this.t == 0) return 0;\n\t // assumes 16 < DB < 32\n\t return ((this[1]&((1<<(32-this.DB))-1))<>24; }\n\t\n\t // (public) return value as short (assumes DB>=16)\n\t function bnShortValue() { return (this.t==0)?this.s:(this[0]<<16)>>16; }\n\t\n\t // (protected) return x s.t. r^x < DV\n\t function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); }\n\t\n\t // (public) 0 if this == 0, 1 if this > 0\n\t function bnSigNum() {\n\t if(this.s < 0) return -1;\n\t else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0;\n\t else return 1;\n\t }\n\t\n\t // (protected) convert to radix string\n\t function bnpToRadix(b) {\n\t if(b == null) b = 10;\n\t if(this.signum() == 0 || b < 2 || b > 36) return \"0\";\n\t var cs = this.chunkSize(b);\n\t var a = Math.pow(b,cs);\n\t var d = nbv(a), y = nbi(), z = nbi(), r = \"\";\n\t this.divRemTo(d,y,z);\n\t while(y.signum() > 0) {\n\t r = (a+z.intValue()).toString(b).substr(1) + r;\n\t y.divRemTo(d,y,z);\n\t }\n\t return z.intValue().toString(b) + r;\n\t }\n\t\n\t // (protected) convert from radix string\n\t function bnpFromRadix(s,b) {\n\t this.fromInt(0);\n\t if(b == null) b = 10;\n\t var cs = this.chunkSize(b);\n\t var d = Math.pow(b,cs), mi = false, j = 0, w = 0;\n\t for(var i = 0; i < s.length; ++i) {\n\t var x = intAt(s,i);\n\t if(x < 0) {\n\t if(s.charAt(i) == \"-\" && this.signum() == 0) mi = true;\n\t continue;\n\t }\n\t w = b*w+x;\n\t if(++j >= cs) {\n\t this.dMultiply(d);\n\t this.dAddOffset(w,0);\n\t j = 0;\n\t w = 0;\n\t }\n\t }\n\t if(j > 0) {\n\t this.dMultiply(Math.pow(b,j));\n\t this.dAddOffset(w,0);\n\t }\n\t if(mi) BigInteger.ZERO.subTo(this,this);\n\t }\n\t\n\t // (protected) alternate constructor\n\t function bnpFromNumber(a,b,c) {\n\t if(\"number\" == typeof b) {\n\t // new BigInteger(int,int,RNG)\n\t if(a < 2) this.fromInt(1);\n\t else {\n\t this.fromNumber(a,c);\n\t if(!this.testBit(a-1))\t// force MSB set\n\t this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this);\n\t if(this.isEven()) this.dAddOffset(1,0); // force odd\n\t while(!this.isProbablePrime(b)) {\n\t this.dAddOffset(2,0);\n\t if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this);\n\t }\n\t }\n\t }\n\t else {\n\t // new BigInteger(int,RNG)\n\t var x = new Array(), t = a&7;\n\t x.length = (a>>3)+1;\n\t b.nextBytes(x);\n\t if(t > 0) x[0] &= ((1< 0) {\n\t if(p < this.DB && (d = this[i]>>p) != (this.s&this.DM)>>p)\n\t r[k++] = d|(this.s<<(this.DB-p));\n\t while(i >= 0) {\n\t if(p < 8) {\n\t d = (this[i]&((1<>(p+=this.DB-8);\n\t }\n\t else {\n\t d = (this[i]>>(p-=8))&0xff;\n\t if(p <= 0) { p += this.DB; --i; }\n\t }\n\t if((d&0x80) != 0) d |= -256;\n\t if(k == 0 && (this.s&0x80) != (d&0x80)) ++k;\n\t if(k > 0 || d != this.s) r[k++] = d;\n\t }\n\t }\n\t return r;\n\t }\n\t\n\t function bnEquals(a) { return(this.compareTo(a)==0); }\n\t function bnMin(a) { return(this.compareTo(a)<0)?this:a; }\n\t function bnMax(a) { return(this.compareTo(a)>0)?this:a; }\n\t\n\t // (protected) r = this op a (bitwise)\n\t function bnpBitwiseTo(a,op,r) {\n\t var i, f, m = Math.min(a.t,this.t);\n\t for(i = 0; i < m; ++i) r[i] = op(this[i],a[i]);\n\t if(a.t < this.t) {\n\t f = a.s&this.DM;\n\t for(i = m; i < this.t; ++i) r[i] = op(this[i],f);\n\t r.t = this.t;\n\t }\n\t else {\n\t f = this.s&this.DM;\n\t for(i = m; i < a.t; ++i) r[i] = op(f,a[i]);\n\t r.t = a.t;\n\t }\n\t r.s = op(this.s,a.s);\n\t r.clamp();\n\t }\n\t\n\t // (public) this & a\n\t function op_and(x,y) { return x&y; }\n\t function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; }\n\t\n\t // (public) this | a\n\t function op_or(x,y) { return x|y; }\n\t function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; }\n\t\n\t // (public) this ^ a\n\t function op_xor(x,y) { return x^y; }\n\t function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; }\n\t\n\t // (public) this & ~a\n\t function op_andnot(x,y) { return x&~y; }\n\t function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; }\n\t\n\t // (public) ~this\n\t function bnNot() {\n\t var r = nbi();\n\t for(var i = 0; i < this.t; ++i) r[i] = this.DM&~this[i];\n\t r.t = this.t;\n\t r.s = ~this.s;\n\t return r;\n\t }\n\t\n\t // (public) this << n\n\t function bnShiftLeft(n) {\n\t var r = nbi();\n\t if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r);\n\t return r;\n\t }\n\t\n\t // (public) this >> n\n\t function bnShiftRight(n) {\n\t var r = nbi();\n\t if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r);\n\t return r;\n\t }\n\t\n\t // return index of lowest 1-bit in x, x < 2^31\n\t function lbit(x) {\n\t if(x == 0) return -1;\n\t var r = 0;\n\t if((x&0xffff) == 0) { x >>= 16; r += 16; }\n\t if((x&0xff) == 0) { x >>= 8; r += 8; }\n\t if((x&0xf) == 0) { x >>= 4; r += 4; }\n\t if((x&3) == 0) { x >>= 2; r += 2; }\n\t if((x&1) == 0) ++r;\n\t return r;\n\t }\n\t\n\t // (public) returns index of lowest 1-bit (or -1 if none)\n\t function bnGetLowestSetBit() {\n\t for(var i = 0; i < this.t; ++i)\n\t if(this[i] != 0) return i*this.DB+lbit(this[i]);\n\t if(this.s < 0) return this.t*this.DB;\n\t return -1;\n\t }\n\t\n\t // return number of 1 bits in x\n\t function cbit(x) {\n\t var r = 0;\n\t while(x != 0) { x &= x-1; ++r; }\n\t return r;\n\t }\n\t\n\t // (public) return number of set bits\n\t function bnBitCount() {\n\t var r = 0, x = this.s&this.DM;\n\t for(var i = 0; i < this.t; ++i) r += cbit(this[i]^x);\n\t return r;\n\t }\n\t\n\t // (public) true iff nth bit is set\n\t function bnTestBit(n) {\n\t var j = Math.floor(n/this.DB);\n\t if(j >= this.t) return(this.s!=0);\n\t return((this[j]&(1<<(n%this.DB)))!=0);\n\t }\n\t\n\t // (protected) this op (1<>= this.DB;\n\t }\n\t if(a.t < this.t) {\n\t c += a.s;\n\t while(i < this.t) {\n\t c += this[i];\n\t r[i++] = c&this.DM;\n\t c >>= this.DB;\n\t }\n\t c += this.s;\n\t }\n\t else {\n\t c += this.s;\n\t while(i < a.t) {\n\t c += a[i];\n\t r[i++] = c&this.DM;\n\t c >>= this.DB;\n\t }\n\t c += a.s;\n\t }\n\t r.s = (c<0)?-1:0;\n\t if(c > 0) r[i++] = c;\n\t else if(c < -1) r[i++] = this.DV+c;\n\t r.t = i;\n\t r.clamp();\n\t }\n\t\n\t // (public) this + a\n\t function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; }\n\t\n\t // (public) this - a\n\t function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; }\n\t\n\t // (public) this * a\n\t function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; }\n\t\n\t // (public) this^2\n\t function bnSquare() { var r = nbi(); this.squareTo(r); return r; }\n\t\n\t // (public) this / a\n\t function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; }\n\t\n\t // (public) this % a\n\t function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; }\n\t\n\t // (public) [this/a,this%a]\n\t function bnDivideAndRemainder(a) {\n\t var q = nbi(), r = nbi();\n\t this.divRemTo(a,q,r);\n\t return new Array(q,r);\n\t }\n\t\n\t // (protected) this *= n, this >= 0, 1 < n < DV\n\t function bnpDMultiply(n) {\n\t this[this.t] = this.am(0,n-1,this,0,0,this.t);\n\t ++this.t;\n\t this.clamp();\n\t }\n\t\n\t // (protected) this += n << w words, this >= 0\n\t function bnpDAddOffset(n,w) {\n\t if(n == 0) return;\n\t while(this.t <= w) this[this.t++] = 0;\n\t this[w] += n;\n\t while(this[w] >= this.DV) {\n\t this[w] -= this.DV;\n\t if(++w >= this.t) this[this.t++] = 0;\n\t ++this[w];\n\t }\n\t }\n\t\n\t // A \"null\" reducer\n\t function NullExp() {}\n\t function nNop(x) { return x; }\n\t function nMulTo(x,y,r) { x.multiplyTo(y,r); }\n\t function nSqrTo(x,r) { x.squareTo(r); }\n\t\n\t NullExp.prototype.convert = nNop;\n\t NullExp.prototype.revert = nNop;\n\t NullExp.prototype.mulTo = nMulTo;\n\t NullExp.prototype.sqrTo = nSqrTo;\n\t\n\t // (public) this^e\n\t function bnPow(e) { return this.exp(e,new NullExp()); }\n\t\n\t // (protected) r = lower n words of \"this * a\", a.t <= n\n\t // \"this\" should be the larger one if appropriate.\n\t function bnpMultiplyLowerTo(a,n,r) {\n\t var i = Math.min(this.t+a.t,n);\n\t r.s = 0; // assumes a,this >= 0\n\t r.t = i;\n\t while(i > 0) r[--i] = 0;\n\t var j;\n\t for(j = r.t-this.t; i < j; ++i) r[i+this.t] = this.am(0,a[i],r,i,0,this.t);\n\t for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a[i],r,i,0,n-i);\n\t r.clamp();\n\t }\n\t\n\t // (protected) r = \"this * a\" without lower n words, n > 0\n\t // \"this\" should be the larger one if appropriate.\n\t function bnpMultiplyUpperTo(a,n,r) {\n\t --n;\n\t var i = r.t = this.t+a.t-n;\n\t r.s = 0; // assumes a,this >= 0\n\t while(--i >= 0) r[i] = 0;\n\t for(i = Math.max(n-this.t,0); i < a.t; ++i)\n\t r[this.t+i-n] = this.am(n-i,a[i],r,0,0,this.t+i-n);\n\t r.clamp();\n\t r.drShiftTo(1,r);\n\t }\n\t\n\t // Barrett modular reduction\n\t function Barrett(m) {\n\t // setup Barrett\n\t this.r2 = nbi();\n\t this.q3 = nbi();\n\t BigInteger.ONE.dlShiftTo(2*m.t,this.r2);\n\t this.mu = this.r2.divide(m);\n\t this.m = m;\n\t }\n\t\n\t function barrettConvert(x) {\n\t if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m);\n\t else if(x.compareTo(this.m) < 0) return x;\n\t else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; }\n\t }\n\t\n\t function barrettRevert(x) { return x; }\n\t\n\t // x = x mod m (HAC 14.42)\n\t function barrettReduce(x) {\n\t x.drShiftTo(this.m.t-1,this.r2);\n\t if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); }\n\t this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);\n\t this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);\n\t while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1);\n\t x.subTo(this.r2,x);\n\t while(x.compareTo(this.m) >= 0) x.subTo(this.m,x);\n\t }\n\t\n\t // r = x^2 mod m; x != r\n\t function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); }\n\t\n\t // r = x*y mod m; x,y != r\n\t function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }\n\t\n\t Barrett.prototype.convert = barrettConvert;\n\t Barrett.prototype.revert = barrettRevert;\n\t Barrett.prototype.reduce = barrettReduce;\n\t Barrett.prototype.mulTo = barrettMulTo;\n\t Barrett.prototype.sqrTo = barrettSqrTo;\n\t\n\t // (public) this^e % m (HAC 14.85)\n\t function bnModPow(e,m) {\n\t var i = e.bitLength(), k, r = nbv(1), z;\n\t if(i <= 0) return r;\n\t else if(i < 18) k = 1;\n\t else if(i < 48) k = 3;\n\t else if(i < 144) k = 4;\n\t else if(i < 768) k = 5;\n\t else k = 6;\n\t if(i < 8)\n\t z = new Classic(m);\n\t else if(m.isEven())\n\t z = new Barrett(m);\n\t else\n\t z = new Montgomery(m);\n\t\n\t // precomputation\n\t var g = new Array(), n = 3, k1 = k-1, km = (1< 1) {\n\t var g2 = nbi();\n\t z.sqrTo(g[1],g2);\n\t while(n <= km) {\n\t g[n] = nbi();\n\t z.mulTo(g2,g[n-2],g[n]);\n\t n += 2;\n\t }\n\t }\n\t\n\t var j = e.t-1, w, is1 = true, r2 = nbi(), t;\n\t i = nbits(e[j])-1;\n\t while(j >= 0) {\n\t if(i >= k1) w = (e[j]>>(i-k1))&km;\n\t else {\n\t w = (e[j]&((1<<(i+1))-1))<<(k1-i);\n\t if(j > 0) w |= e[j-1]>>(this.DB+i-k1);\n\t }\n\t\n\t n = k;\n\t while((w&1) == 0) { w >>= 1; --n; }\n\t if((i -= n) < 0) { i += this.DB; --j; }\n\t if(is1) {\t// ret == 1, don't bother squaring or multiplying it\n\t g[w].copyTo(r);\n\t is1 = false;\n\t }\n\t else {\n\t while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; }\n\t if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; }\n\t z.mulTo(r2,g[w],r);\n\t }\n\t\n\t while(j >= 0 && (e[j]&(1< 0) {\n\t x.rShiftTo(g,x);\n\t y.rShiftTo(g,y);\n\t }\n\t while(x.signum() > 0) {\n\t if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x);\n\t if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y);\n\t if(x.compareTo(y) >= 0) {\n\t x.subTo(y,x);\n\t x.rShiftTo(1,x);\n\t }\n\t else {\n\t y.subTo(x,y);\n\t y.rShiftTo(1,y);\n\t }\n\t }\n\t if(g > 0) y.lShiftTo(g,y);\n\t return y;\n\t }\n\t\n\t // (protected) this % n, n < 2^26\n\t function bnpModInt(n) {\n\t if(n <= 0) return 0;\n\t var d = this.DV%n, r = (this.s<0)?n-1:0;\n\t if(this.t > 0)\n\t if(d == 0) r = this[0]%n;\n\t else for(var i = this.t-1; i >= 0; --i) r = (d*r+this[i])%n;\n\t return r;\n\t }\n\t\n\t // (public) 1/this % m (HAC 14.61)\n\t function bnModInverse(m) {\n\t var ac = m.isEven();\n\t if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO;\n\t var u = m.clone(), v = this.clone();\n\t var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);\n\t while(u.signum() != 0) {\n\t while(u.isEven()) {\n\t u.rShiftTo(1,u);\n\t if(ac) {\n\t if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); }\n\t a.rShiftTo(1,a);\n\t }\n\t else if(!b.isEven()) b.subTo(m,b);\n\t b.rShiftTo(1,b);\n\t }\n\t while(v.isEven()) {\n\t v.rShiftTo(1,v);\n\t if(ac) {\n\t if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); }\n\t c.rShiftTo(1,c);\n\t }\n\t else if(!d.isEven()) d.subTo(m,d);\n\t d.rShiftTo(1,d);\n\t }\n\t if(u.compareTo(v) >= 0) {\n\t u.subTo(v,u);\n\t if(ac) a.subTo(c,a);\n\t b.subTo(d,b);\n\t }\n\t else {\n\t v.subTo(u,v);\n\t if(ac) c.subTo(a,c);\n\t d.subTo(b,d);\n\t }\n\t }\n\t if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;\n\t if(d.compareTo(m) >= 0) return d.subtract(m);\n\t if(d.signum() < 0) d.addTo(m,d); else return d;\n\t if(d.signum() < 0) return d.add(m); else return d;\n\t }\n\t\n\t var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];\n\t var lplim = (1<<26)/lowprimes[lowprimes.length-1];\n\t\n\t // (public) test primality with certainty >= 1-.5^t\n\t function bnIsProbablePrime(t) {\n\t var i, x = this.abs();\n\t if(x.t == 1 && x[0] <= lowprimes[lowprimes.length-1]) {\n\t for(i = 0; i < lowprimes.length; ++i)\n\t if(x[0] == lowprimes[i]) return true;\n\t return false;\n\t }\n\t if(x.isEven()) return false;\n\t i = 1;\n\t while(i < lowprimes.length) {\n\t var m = lowprimes[i], j = i+1;\n\t while(j < lowprimes.length && m < lplim) m *= lowprimes[j++];\n\t m = x.modInt(m);\n\t while(i < j) if(m%lowprimes[i++] == 0) return false;\n\t }\n\t return x.millerRabin(t);\n\t }\n\t\n\t // (protected) true if probably prime (HAC 4.24, Miller-Rabin)\n\t function bnpMillerRabin(t) {\n\t var n1 = this.subtract(BigInteger.ONE);\n\t var k = n1.getLowestSetBit();\n\t if(k <= 0) return false;\n\t var r = n1.shiftRight(k);\n\t t = (t+1)>>1;\n\t if(t > lowprimes.length) t = lowprimes.length;\n\t var a = nbi();\n\t for(var i = 0; i < t; ++i) {\n\t //Pick bases at random, instead of starting at 2\n\t a.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);\n\t var y = a.modPow(r,this);\n\t if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n\t var j = 1;\n\t while(j++ < k && y.compareTo(n1) != 0) {\n\t y = y.modPowInt(2,this);\n\t if(y.compareTo(BigInteger.ONE) == 0) return false;\n\t }\n\t if(y.compareTo(n1) != 0) return false;\n\t }\n\t }\n\t return true;\n\t }\n\t\n\t // protected\n\t BigInteger.prototype.chunkSize = bnpChunkSize;\n\t BigInteger.prototype.toRadix = bnpToRadix;\n\t BigInteger.prototype.fromRadix = bnpFromRadix;\n\t BigInteger.prototype.fromNumber = bnpFromNumber;\n\t BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\n\t BigInteger.prototype.changeBit = bnpChangeBit;\n\t BigInteger.prototype.addTo = bnpAddTo;\n\t BigInteger.prototype.dMultiply = bnpDMultiply;\n\t BigInteger.prototype.dAddOffset = bnpDAddOffset;\n\t BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\n\t BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\n\t BigInteger.prototype.modInt = bnpModInt;\n\t BigInteger.prototype.millerRabin = bnpMillerRabin;\n\t\n\t // public\n\t BigInteger.prototype.clone = bnClone;\n\t BigInteger.prototype.intValue = bnIntValue;\n\t BigInteger.prototype.byteValue = bnByteValue;\n\t BigInteger.prototype.shortValue = bnShortValue;\n\t BigInteger.prototype.signum = bnSigNum;\n\t BigInteger.prototype.toByteArray = bnToByteArray;\n\t BigInteger.prototype.equals = bnEquals;\n\t BigInteger.prototype.min = bnMin;\n\t BigInteger.prototype.max = bnMax;\n\t BigInteger.prototype.and = bnAnd;\n\t BigInteger.prototype.or = bnOr;\n\t BigInteger.prototype.xor = bnXor;\n\t BigInteger.prototype.andNot = bnAndNot;\n\t BigInteger.prototype.not = bnNot;\n\t BigInteger.prototype.shiftLeft = bnShiftLeft;\n\t BigInteger.prototype.shiftRight = bnShiftRight;\n\t BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\n\t BigInteger.prototype.bitCount = bnBitCount;\n\t BigInteger.prototype.testBit = bnTestBit;\n\t BigInteger.prototype.setBit = bnSetBit;\n\t BigInteger.prototype.clearBit = bnClearBit;\n\t BigInteger.prototype.flipBit = bnFlipBit;\n\t BigInteger.prototype.add = bnAdd;\n\t BigInteger.prototype.subtract = bnSubtract;\n\t BigInteger.prototype.multiply = bnMultiply;\n\t BigInteger.prototype.divide = bnDivide;\n\t BigInteger.prototype.remainder = bnRemainder;\n\t BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;\n\t BigInteger.prototype.modPow = bnModPow;\n\t BigInteger.prototype.modInverse = bnModInverse;\n\t BigInteger.prototype.pow = bnPow;\n\t BigInteger.prototype.gcd = bnGCD;\n\t BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\n\t\n\t // JSBN-specific extension\n\t BigInteger.prototype.square = bnSquare;\n\t\n\t // Expose the Barrett function\n\t BigInteger.prototype.Barrett = Barrett\n\t\n\t // BigInteger interfaces not implemented in jsbn:\n\t\n\t // BigInteger(int signum, byte[] magnitude)\n\t // double doubleValue()\n\t // float floatValue()\n\t // int hashCode()\n\t // long longValue()\n\t // static BigInteger valueOf(long val)\n\t\n\t\t// Random number generator - requires a PRNG backend, e.g. prng4.js\n\t\n\t\t// For best results, put code like\n\t\t// \n\t\t// in your main HTML document.\n\t\n\t\tvar rng_state;\n\t\tvar rng_pool;\n\t\tvar rng_pptr;\n\t\n\t\t// Mix in a 32-bit integer into the pool\n\t\tfunction rng_seed_int(x) {\n\t\t rng_pool[rng_pptr++] ^= x & 255;\n\t\t rng_pool[rng_pptr++] ^= (x >> 8) & 255;\n\t\t rng_pool[rng_pptr++] ^= (x >> 16) & 255;\n\t\t rng_pool[rng_pptr++] ^= (x >> 24) & 255;\n\t\t if(rng_pptr >= rng_psize) rng_pptr -= rng_psize;\n\t\t}\n\t\n\t\t// Mix in the current time (w/milliseconds) into the pool\n\t\tfunction rng_seed_time() {\n\t\t rng_seed_int(new Date().getTime());\n\t\t}\n\t\n\t\t// Initialize the pool with junk if needed.\n\t\tif(rng_pool == null) {\n\t\t rng_pool = new Array();\n\t\t rng_pptr = 0;\n\t\t var t;\n\t\t if(typeof window !== \"undefined\" && window.crypto) {\n\t\t\tif (window.crypto.getRandomValues) {\n\t\t\t // Use webcrypto if available\n\t\t\t var ua = new Uint8Array(32);\n\t\t\t window.crypto.getRandomValues(ua);\n\t\t\t for(t = 0; t < 32; ++t)\n\t\t\t\trng_pool[rng_pptr++] = ua[t];\n\t\t\t}\n\t\t\telse if(navigator.appName == \"Netscape\" && navigator.appVersion < \"5\") {\n\t\t\t // Extract entropy (256 bits) from NS4 RNG if available\n\t\t\t var z = window.crypto.random(32);\n\t\t\t for(t = 0; t < z.length; ++t)\n\t\t\t\trng_pool[rng_pptr++] = z.charCodeAt(t) & 255;\n\t\t\t}\n\t\t }\n\t\t while(rng_pptr < rng_psize) { // extract some randomness from Math.random()\n\t\t\tt = Math.floor(65536 * Math.random());\n\t\t\trng_pool[rng_pptr++] = t >>> 8;\n\t\t\trng_pool[rng_pptr++] = t & 255;\n\t\t }\n\t\t rng_pptr = 0;\n\t\t rng_seed_time();\n\t\t //rng_seed_int(window.screenX);\n\t\t //rng_seed_int(window.screenY);\n\t\t}\n\t\n\t\tfunction rng_get_byte() {\n\t\t if(rng_state == null) {\n\t\t\trng_seed_time();\n\t\t\trng_state = prng_newstate();\n\t\t\trng_state.init(rng_pool);\n\t\t\tfor(rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr)\n\t\t\t rng_pool[rng_pptr] = 0;\n\t\t\trng_pptr = 0;\n\t\t\t//rng_pool = null;\n\t\t }\n\t\t // TODO: allow reseeding after first request\n\t\t return rng_state.next();\n\t\t}\n\t\n\t\tfunction rng_get_bytes(ba) {\n\t\t var i;\n\t\t for(i = 0; i < ba.length; ++i) ba[i] = rng_get_byte();\n\t\t}\n\t\n\t\tfunction SecureRandom() {}\n\t\n\t\tSecureRandom.prototype.nextBytes = rng_get_bytes;\n\t\n\t\t// prng4.js - uses Arcfour as a PRNG\n\t\n\t\tfunction Arcfour() {\n\t\t this.i = 0;\n\t\t this.j = 0;\n\t\t this.S = new Array();\n\t\t}\n\t\n\t\t// Initialize arcfour context from key, an array of ints, each from [0..255]\n\t\tfunction ARC4init(key) {\n\t\t var i, j, t;\n\t\t for(i = 0; i < 256; ++i)\n\t\t\tthis.S[i] = i;\n\t\t j = 0;\n\t\t for(i = 0; i < 256; ++i) {\n\t\t\tj = (j + this.S[i] + key[i % key.length]) & 255;\n\t\t\tt = this.S[i];\n\t\t\tthis.S[i] = this.S[j];\n\t\t\tthis.S[j] = t;\n\t\t }\n\t\t this.i = 0;\n\t\t this.j = 0;\n\t\t}\n\t\n\t\tfunction ARC4next() {\n\t\t var t;\n\t\t this.i = (this.i + 1) & 255;\n\t\t this.j = (this.j + this.S[this.i]) & 255;\n\t\t t = this.S[this.i];\n\t\t this.S[this.i] = this.S[this.j];\n\t\t this.S[this.j] = t;\n\t\t return this.S[(t + this.S[this.i]) & 255];\n\t\t}\n\t\n\t\tArcfour.prototype.init = ARC4init;\n\t\tArcfour.prototype.next = ARC4next;\n\t\n\t\t// Plug in your RNG constructor here\n\t\tfunction prng_newstate() {\n\t\t return new Arcfour();\n\t\t}\n\t\n\t\t// Pool size must be a multiple of 4 and greater than 32.\n\t\t// An array of bytes the size of the pool will be passed to init()\n\t\tvar rng_psize = 256;\n\t\n\t BigInteger.SecureRandom = SecureRandom;\n\t BigInteger.BigInteger = BigInteger;\n\t if (true) {\n\t exports = module.exports = BigInteger;\n\t } else {\n\t this.BigInteger = BigInteger;\n\t this.SecureRandom = SecureRandom;\n\t }\n\t\n\t}).call(this);\n\n\n/***/ },\n/* 32 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Check if `fn` is a function.\n\t *\n\t * @param {Function} fn\n\t * @return {Boolean}\n\t * @api private\n\t */\n\tvar isObject = __webpack_require__(14);\n\t\n\tfunction isFunction(fn) {\n\t var tag = isObject(fn) ? Object.prototype.toString.call(fn) : '';\n\t return tag === '[object Function]';\n\t}\n\t\n\tmodule.exports = isFunction;\n\n\n/***/ },\n/* 33 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/**\n\t * Module of mixed-in functions shared between node and client code\n\t */\n\tvar isObject = __webpack_require__(14);\n\t\n\t/**\n\t * Expose `RequestBase`.\n\t */\n\t\n\tmodule.exports = RequestBase;\n\t\n\t/**\n\t * Initialize a new `RequestBase`.\n\t *\n\t * @api public\n\t */\n\t\n\tfunction RequestBase(obj) {\n\t if (obj) return mixin(obj);\n\t}\n\t\n\t/**\n\t * Mixin the prototype properties.\n\t *\n\t * @param {Object} obj\n\t * @return {Object}\n\t * @api private\n\t */\n\t\n\tfunction mixin(obj) {\n\t for (var key in RequestBase.prototype) {\n\t obj[key] = RequestBase.prototype[key];\n\t }\n\t return obj;\n\t}\n\t\n\t/**\n\t * Clear previous timeout.\n\t *\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.clearTimeout = function _clearTimeout(){\n\t clearTimeout(this._timer);\n\t clearTimeout(this._responseTimeoutTimer);\n\t delete this._timer;\n\t delete this._responseTimeoutTimer;\n\t return this;\n\t};\n\t\n\t/**\n\t * Override default response body parser\n\t *\n\t * This function will be called to convert incoming data into request.body\n\t *\n\t * @param {Function}\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.parse = function parse(fn){\n\t this._parser = fn;\n\t return this;\n\t};\n\t\n\t/**\n\t * Set format of binary response body.\n\t * In browser valid formats are 'blob' and 'arraybuffer',\n\t * which return Blob and ArrayBuffer, respectively.\n\t *\n\t * In Node all values result in Buffer.\n\t *\n\t * Examples:\n\t *\n\t * req.get('/')\n\t * .responseType('blob')\n\t * .end(callback);\n\t *\n\t * @param {String} val\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.responseType = function(val){\n\t this._responseType = val;\n\t return this;\n\t};\n\t\n\t/**\n\t * Override default request body serializer\n\t *\n\t * This function will be called to convert data set via .send or .attach into payload to send\n\t *\n\t * @param {Function}\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.serialize = function serialize(fn){\n\t this._serializer = fn;\n\t return this;\n\t};\n\t\n\t/**\n\t * Set timeouts.\n\t *\n\t * - response timeout is time between sending request and receiving the first byte of the response. Includes DNS and connection time.\n\t * - deadline is the time from start of the request to receiving response body in full. If the deadline is too short large files may not load at all on slow connections.\n\t *\n\t * Value of 0 or false means no timeout.\n\t *\n\t * @param {Number|Object} ms or {response, read, deadline}\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.timeout = function timeout(options){\n\t if (!options || 'object' !== typeof options) {\n\t this._timeout = options;\n\t this._responseTimeout = 0;\n\t return this;\n\t }\n\t\n\t for(var option in options) {\n\t switch(option) {\n\t case 'deadline':\n\t this._timeout = options.deadline;\n\t break;\n\t case 'response':\n\t this._responseTimeout = options.response;\n\t break;\n\t default:\n\t console.warn(\"Unknown timeout option\", option);\n\t }\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t * Set number of retry attempts on error.\n\t *\n\t * Failed requests will be retried 'count' times if timeout or err.code >= 500.\n\t *\n\t * @param {Number} count\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.retry = function retry(count){\n\t // Default to 1 if no count passed or true\n\t if (arguments.length === 0 || count === true) count = 1;\n\t if (count <= 0) count = 0;\n\t this._maxRetries = count;\n\t this._retries = 0;\n\t return this;\n\t};\n\t\n\t/**\n\t * Retry request\n\t *\n\t * @return {Request} for chaining\n\t * @api private\n\t */\n\t\n\tRequestBase.prototype._retry = function() {\n\t this.clearTimeout();\n\t\n\t // node\n\t if (this.req) {\n\t this.req = null;\n\t this.req = this.request();\n\t }\n\t\n\t this._aborted = false;\n\t this.timedout = false;\n\t\n\t return this._end();\n\t};\n\t\n\t/**\n\t * Promise support\n\t *\n\t * @param {Function} resolve\n\t * @param {Function} [reject]\n\t * @return {Request}\n\t */\n\t\n\tRequestBase.prototype.then = function then(resolve, reject) {\n\t if (!this._fullfilledPromise) {\n\t var self = this;\n\t if (this._endCalled) {\n\t console.warn(\"Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises\");\n\t }\n\t this._fullfilledPromise = new Promise(function(innerResolve, innerReject){\n\t self.end(function(err, res){\n\t if (err) innerReject(err); else innerResolve(res);\n\t });\n\t });\n\t }\n\t return this._fullfilledPromise.then(resolve, reject);\n\t}\n\t\n\tRequestBase.prototype.catch = function(cb) {\n\t return this.then(undefined, cb);\n\t};\n\t\n\t/**\n\t * Allow for extension\n\t */\n\t\n\tRequestBase.prototype.use = function use(fn) {\n\t fn(this);\n\t return this;\n\t}\n\t\n\tRequestBase.prototype.ok = function(cb) {\n\t if ('function' !== typeof cb) throw Error(\"Callback required\");\n\t this._okCallback = cb;\n\t return this;\n\t};\n\t\n\tRequestBase.prototype._isResponseOK = function(res) {\n\t if (!res) {\n\t return false;\n\t }\n\t\n\t if (this._okCallback) {\n\t return this._okCallback(res);\n\t }\n\t\n\t return res.status >= 200 && res.status < 300;\n\t};\n\t\n\t\n\t/**\n\t * Get request header `field`.\n\t * Case-insensitive.\n\t *\n\t * @param {String} field\n\t * @return {String}\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.get = function(field){\n\t return this._header[field.toLowerCase()];\n\t};\n\t\n\t/**\n\t * Get case-insensitive header `field` value.\n\t * This is a deprecated internal API. Use `.get(field)` instead.\n\t *\n\t * (getHeader is no longer used internally by the superagent code base)\n\t *\n\t * @param {String} field\n\t * @return {String}\n\t * @api private\n\t * @deprecated\n\t */\n\t\n\tRequestBase.prototype.getHeader = RequestBase.prototype.get;\n\t\n\t/**\n\t * Set header `field` to `val`, or multiple fields with one object.\n\t * Case-insensitive.\n\t *\n\t * Examples:\n\t *\n\t * req.get('/')\n\t * .set('Accept', 'application/json')\n\t * .set('X-API-Key', 'foobar')\n\t * .end(callback);\n\t *\n\t * req.get('/')\n\t * .set({ Accept: 'application/json', 'X-API-Key': 'foobar' })\n\t * .end(callback);\n\t *\n\t * @param {String|Object} field\n\t * @param {String} val\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.set = function(field, val){\n\t if (isObject(field)) {\n\t for (var key in field) {\n\t this.set(key, field[key]);\n\t }\n\t return this;\n\t }\n\t this._header[field.toLowerCase()] = val;\n\t this.header[field] = val;\n\t return this;\n\t};\n\t\n\t/**\n\t * Remove header `field`.\n\t * Case-insensitive.\n\t *\n\t * Example:\n\t *\n\t * req.get('/')\n\t * .unset('User-Agent')\n\t * .end(callback);\n\t *\n\t * @param {String} field\n\t */\n\tRequestBase.prototype.unset = function(field){\n\t delete this._header[field.toLowerCase()];\n\t delete this.header[field];\n\t return this;\n\t};\n\t\n\t/**\n\t * Write the field `name` and `val`, or multiple fields with one object\n\t * for \"multipart/form-data\" request bodies.\n\t *\n\t * ``` js\n\t * request.post('/upload')\n\t * .field('foo', 'bar')\n\t * .end(callback);\n\t *\n\t * request.post('/upload')\n\t * .field({ foo: 'bar', baz: 'qux' })\n\t * .end(callback);\n\t * ```\n\t *\n\t * @param {String|Object} name\n\t * @param {String|Blob|File|Buffer|fs.ReadStream} val\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\tRequestBase.prototype.field = function(name, val) {\n\t\n\t // name should be either a string or an object.\n\t if (null === name || undefined === name) {\n\t throw new Error('.field(name, val) name can not be empty');\n\t }\n\t\n\t if (this._data) {\n\t console.error(\".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()\");\n\t }\n\t\n\t if (isObject(name)) {\n\t for (var key in name) {\n\t this.field(key, name[key]);\n\t }\n\t return this;\n\t }\n\t\n\t if (Array.isArray(val)) {\n\t for (var i in val) {\n\t this.field(name, val[i]);\n\t }\n\t return this;\n\t }\n\t\n\t // val should be defined now\n\t if (null === val || undefined === val) {\n\t throw new Error('.field(name, val) val can not be empty');\n\t }\n\t if ('boolean' === typeof val) {\n\t val = '' + val;\n\t }\n\t this._getFormData().append(name, val);\n\t return this;\n\t};\n\t\n\t/**\n\t * Abort the request, and clear potential timeout.\n\t *\n\t * @return {Request}\n\t * @api public\n\t */\n\tRequestBase.prototype.abort = function(){\n\t if (this._aborted) {\n\t return this;\n\t }\n\t this._aborted = true;\n\t this.xhr && this.xhr.abort(); // browser\n\t this.req && this.req.abort(); // node\n\t this.clearTimeout();\n\t this.emit('abort');\n\t return this;\n\t};\n\t\n\t/**\n\t * Enable transmission of cookies with x-domain requests.\n\t *\n\t * Note that for this to work the origin must not be\n\t * using \"Access-Control-Allow-Origin\" with a wildcard,\n\t * and also must set \"Access-Control-Allow-Credentials\"\n\t * to \"true\".\n\t *\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.withCredentials = function(on){\n\t // This is browser-only functionality. Node side is no-op.\n\t if(on==undefined) on = true;\n\t this._withCredentials = on;\n\t return this;\n\t};\n\t\n\t/**\n\t * Set the max redirects to `n`. Does noting in browser XHR implementation.\n\t *\n\t * @param {Number} n\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.redirects = function(n){\n\t this._maxRedirects = n;\n\t return this;\n\t};\n\t\n\t/**\n\t * Convert to a plain javascript object (not JSON string) of scalar properties.\n\t * Note as this method is designed to return a useful non-this value,\n\t * it cannot be chained.\n\t *\n\t * @return {Object} describing method, url, and data of this request\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.toJSON = function(){\n\t return {\n\t method: this.method,\n\t url: this.url,\n\t data: this._data,\n\t headers: this._header\n\t };\n\t};\n\t\n\t\n\t/**\n\t * Send `data` as the request body, defaulting the `.type()` to \"json\" when\n\t * an object is given.\n\t *\n\t * Examples:\n\t *\n\t * // manual json\n\t * request.post('/user')\n\t * .type('json')\n\t * .send('{\"name\":\"tj\"}')\n\t * .end(callback)\n\t *\n\t * // auto json\n\t * request.post('/user')\n\t * .send({ name: 'tj' })\n\t * .end(callback)\n\t *\n\t * // manual x-www-form-urlencoded\n\t * request.post('/user')\n\t * .type('form')\n\t * .send('name=tj')\n\t * .end(callback)\n\t *\n\t * // auto x-www-form-urlencoded\n\t * request.post('/user')\n\t * .type('form')\n\t * .send({ name: 'tj' })\n\t * .end(callback)\n\t *\n\t * // defaults to x-www-form-urlencoded\n\t * request.post('/user')\n\t * .send('name=tobi')\n\t * .send('species=ferret')\n\t * .end(callback)\n\t *\n\t * @param {String|Object} data\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.send = function(data){\n\t var isObj = isObject(data);\n\t var type = this._header['content-type'];\n\t\n\t if (this._formData) {\n\t console.error(\".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()\");\n\t }\n\t\n\t if (isObj && !this._data) {\n\t if (Array.isArray(data)) {\n\t this._data = [];\n\t } else if (!this._isHost(data)) {\n\t this._data = {};\n\t }\n\t } else if (data && this._data && this._isHost(this._data)) {\n\t throw Error(\"Can't merge these send calls\");\n\t }\n\t\n\t // merge\n\t if (isObj && isObject(this._data)) {\n\t for (var key in data) {\n\t this._data[key] = data[key];\n\t }\n\t } else if ('string' == typeof data) {\n\t // default to x-www-form-urlencoded\n\t if (!type) this.type('form');\n\t type = this._header['content-type'];\n\t if ('application/x-www-form-urlencoded' == type) {\n\t this._data = this._data\n\t ? this._data + '&' + data\n\t : data;\n\t } else {\n\t this._data = (this._data || '') + data;\n\t }\n\t } else {\n\t this._data = data;\n\t }\n\t\n\t if (!isObj || this._isHost(data)) {\n\t return this;\n\t }\n\t\n\t // default to json\n\t if (!type) this.type('json');\n\t return this;\n\t};\n\t\n\t\n\t/**\n\t * Sort `querystring` by the sort function\n\t *\n\t *\n\t * Examples:\n\t *\n\t * // default order\n\t * request.get('/user')\n\t * .query('name=Nick')\n\t * .query('search=Manny')\n\t * .sortQuery()\n\t * .end(callback)\n\t *\n\t * // customized sort function\n\t * request.get('/user')\n\t * .query('name=Nick')\n\t * .query('search=Manny')\n\t * .sortQuery(function(a, b){\n\t * return a.length - b.length;\n\t * })\n\t * .end(callback)\n\t *\n\t *\n\t * @param {Function} sort\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequestBase.prototype.sortQuery = function(sort) {\n\t // _sort default to true but otherwise can be a function or boolean\n\t this._sort = typeof sort === 'undefined' ? true : sort;\n\t return this;\n\t};\n\t\n\t/**\n\t * Invoke callback with timeout error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequestBase.prototype._timeoutError = function(reason, timeout, errno){\n\t if (this._aborted) {\n\t return;\n\t }\n\t var err = new Error(reason + timeout + 'ms exceeded');\n\t err.timeout = timeout;\n\t err.code = 'ECONNABORTED';\n\t err.errno = errno;\n\t this.timedout = true;\n\t this.abort();\n\t this.callback(err);\n\t};\n\t\n\tRequestBase.prototype._setTimeouts = function() {\n\t var self = this;\n\t\n\t // deadline\n\t if (this._timeout && !this._timer) {\n\t this._timer = setTimeout(function(){\n\t self._timeoutError('Timeout of ', self._timeout, 'ETIME');\n\t }, this._timeout);\n\t }\n\t // response timeout\n\t if (this._responseTimeout && !this._responseTimeoutTimer) {\n\t this._responseTimeoutTimer = setTimeout(function(){\n\t self._timeoutError('Response timeout of ', self._responseTimeout, 'ETIMEDOUT');\n\t }, this._responseTimeout);\n\t }\n\t}\n\n\n/***/ },\n/* 34 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\n\t/**\n\t * Module dependencies.\n\t */\n\t\n\tvar utils = __webpack_require__(36);\n\t\n\t/**\n\t * Expose `ResponseBase`.\n\t */\n\t\n\tmodule.exports = ResponseBase;\n\t\n\t/**\n\t * Initialize a new `ResponseBase`.\n\t *\n\t * @api public\n\t */\n\t\n\tfunction ResponseBase(obj) {\n\t if (obj) return mixin(obj);\n\t}\n\t\n\t/**\n\t * Mixin the prototype properties.\n\t *\n\t * @param {Object} obj\n\t * @return {Object}\n\t * @api private\n\t */\n\t\n\tfunction mixin(obj) {\n\t for (var key in ResponseBase.prototype) {\n\t obj[key] = ResponseBase.prototype[key];\n\t }\n\t return obj;\n\t}\n\t\n\t/**\n\t * Get case-insensitive `field` value.\n\t *\n\t * @param {String} field\n\t * @return {String}\n\t * @api public\n\t */\n\t\n\tResponseBase.prototype.get = function(field){\n\t return this.header[field.toLowerCase()];\n\t};\n\t\n\t/**\n\t * Set header related properties:\n\t *\n\t * - `.type` the content type without params\n\t *\n\t * A response of \"Content-Type: text/plain; charset=utf-8\"\n\t * will provide you with a `.type` of \"text/plain\".\n\t *\n\t * @param {Object} header\n\t * @api private\n\t */\n\t\n\tResponseBase.prototype._setHeaderProperties = function(header){\n\t // TODO: moar!\n\t // TODO: make this a util\n\t\n\t // content-type\n\t var ct = header['content-type'] || '';\n\t this.type = utils.type(ct);\n\t\n\t // params\n\t var params = utils.params(ct);\n\t for (var key in params) this[key] = params[key];\n\t\n\t this.links = {};\n\t\n\t // links\n\t try {\n\t if (header.link) {\n\t this.links = utils.parseLinks(header.link);\n\t }\n\t } catch (err) {\n\t // ignore\n\t }\n\t};\n\t\n\t/**\n\t * Set flags such as `.ok` based on `status`.\n\t *\n\t * For example a 2xx response will give you a `.ok` of __true__\n\t * whereas 5xx will be __false__ and `.error` will be __true__. The\n\t * `.clientError` and `.serverError` are also available to be more\n\t * specific, and `.statusType` is the class of error ranging from 1..5\n\t * sometimes useful for mapping respond colors etc.\n\t *\n\t * \"sugar\" properties are also defined for common cases. Currently providing:\n\t *\n\t * - .noContent\n\t * - .badRequest\n\t * - .unauthorized\n\t * - .notAcceptable\n\t * - .notFound\n\t *\n\t * @param {Number} status\n\t * @api private\n\t */\n\t\n\tResponseBase.prototype._setStatusProperties = function(status){\n\t var type = status / 100 | 0;\n\t\n\t // status / class\n\t this.status = this.statusCode = status;\n\t this.statusType = type;\n\t\n\t // basics\n\t this.info = 1 == type;\n\t this.ok = 2 == type;\n\t this.redirect = 3 == type;\n\t this.clientError = 4 == type;\n\t this.serverError = 5 == type;\n\t this.error = (4 == type || 5 == type)\n\t ? this.toError()\n\t : false;\n\t\n\t // sugar\n\t this.accepted = 202 == status;\n\t this.noContent = 204 == status;\n\t this.badRequest = 400 == status;\n\t this.unauthorized = 401 == status;\n\t this.notAcceptable = 406 == status;\n\t this.forbidden = 403 == status;\n\t this.notFound = 404 == status;\n\t};\n\n\n/***/ },\n/* 35 */\n/***/ function(module, exports) {\n\n\tvar ERROR_CODES = [\n\t 'ECONNRESET',\n\t 'ETIMEDOUT',\n\t 'EADDRINFO',\n\t 'ESOCKETTIMEDOUT'\n\t];\n\t\n\t/**\n\t * Determine if a request should be retried.\n\t * (Borrowed from segmentio/superagent-retry)\n\t *\n\t * @param {Error} err\n\t * @param {Response} [res]\n\t * @returns {Boolean}\n\t */\n\tmodule.exports = function shouldRetry(err, res) {\n\t if (err && err.code && ~ERROR_CODES.indexOf(err.code)) return true;\n\t if (res && res.status && res.status >= 500) return true;\n\t // Superagent timeout\n\t if (err && 'timeout' in err && err.code == 'ECONNABORTED') return true;\n\t return false;\n\t};\n\n/***/ },\n/* 36 */\n/***/ function(module, exports) {\n\n\t\n\t/**\n\t * Return the mime type for the given `str`.\n\t *\n\t * @param {String} str\n\t * @return {String}\n\t * @api private\n\t */\n\t\n\texports.type = function(str){\n\t return str.split(/ *; */).shift();\n\t};\n\t\n\t/**\n\t * Return header field parameters.\n\t *\n\t * @param {String} str\n\t * @return {Object}\n\t * @api private\n\t */\n\t\n\texports.params = function(str){\n\t return str.split(/ *; */).reduce(function(obj, str){\n\t var parts = str.split(/ *= */);\n\t var key = parts.shift();\n\t var val = parts.shift();\n\t\n\t if (key && val) obj[key] = val;\n\t return obj;\n\t }, {});\n\t};\n\t\n\t/**\n\t * Parse Link header fields.\n\t *\n\t * @param {String} str\n\t * @return {Object}\n\t * @api private\n\t */\n\t\n\texports.parseLinks = function(str){\n\t return str.split(/ *, */).reduce(function(obj, str){\n\t var parts = str.split(/ *; */);\n\t var url = parts[0].slice(1, -1);\n\t var rel = parts[1].split(/ *= */)[1].slice(1, -1);\n\t obj[rel] = url;\n\t return obj;\n\t }, {});\n\t};\n\t\n\t/**\n\t * Strip content related fields from `header`.\n\t *\n\t * @param {Object} header\n\t * @return {Object} header\n\t * @api private\n\t */\n\t\n\texports.cleanHeader = function(header, shouldStripCookie){\n\t delete header['content-type'];\n\t delete header['content-length'];\n\t delete header['transfer-encoding'];\n\t delete header['host'];\n\t if (shouldStripCookie) {\n\t delete header['cookie'];\n\t }\n\t return header;\n\t};\n\n/***/ },\n/* 37 */,\n/* 38 */,\n/* 39 */,\n/* 40 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar urljoin = __webpack_require__(1);\n\t\n\tvar objectHelper = __webpack_require__(2);\n\tvar assert = __webpack_require__(4);\n\tvar responseHandler = __webpack_require__(6);\n\t\n\tfunction DBConnection(request, options) {\n\t this.baseOptions = options;\n\t this.request = request;\n\t}\n\t\n\t/**\n\t * @callback signUpCallback\n\t * @param {Error} [err] error returned by Auth0 with the reason why the signup failed\n\t * @param {Object} [result] result of the signup request\n\t * @param {Object} result.email user's email\n\t * @param {Object} result.emailVerified if the user's email was verified\n\t */\n\t\n\t/**\n\t * Creates a new user in a Auth0 Database connection\n\t *\n\t * @method signup\n\t * @param {Object} options\n\t * @param {String} options.email user email address\n\t * @param {String} options.password user password\n\t * @param {String} options.connection name of the connection where the user will be created\n\t * @param {Object} [options.userMetadata] additional signup attributes used for creating the user. Will be stored in `user_metadata`\n\t * @param {signUpCallback} cb\n\t * @see {@link https://auth0.com/docs/api/authentication#signup}\n\t */\n\tDBConnection.prototype.signup = function(options, cb) {\n\t var url;\n\t var body;\n\t var metadata;\n\t\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t connection: { type: 'string', message: 'connection option is required' },\n\t email: { type: 'string', message: 'email option is required' },\n\t password: { type: 'string', message: 'password option is required' }\n\t }\n\t );\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'dbconnections', 'signup');\n\t\n\t body = objectHelper.merge(this.baseOptions, ['clientID']).with(options);\n\t\n\t metadata = body.user_metadata || body.userMetadata;\n\t\n\t body = objectHelper.blacklist(body, ['scope', 'userMetadata', 'user_metadata']);\n\t\n\t body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\t\n\t if (metadata) {\n\t body.user_metadata = metadata;\n\t }\n\t\n\t return this.request.post(url).send(body).end(responseHandler(cb));\n\t};\n\t\n\t/**\n\t * @callback changePasswordCallback\n\t * @param {Error} [err] error returned by Auth0 with the reason why the request failed\n\t */\n\t\n\t/**\n\t * Request an email with instruction to change a user's password\n\t *\n\t * @method changePassword\n\t * @param {Object} options\n\t * @param {String} options.email address where the user will recieve the change password email. It should match the user's email in Auth0\n\t * @param {String} options.connection name of the connection where the user was created\n\t * @param {changePasswordCallback} cb\n\t * @see {@link https://auth0.com/docs/api/authentication#change-password}\n\t */\n\tDBConnection.prototype.changePassword = function(options, cb) {\n\t var url;\n\t var body;\n\t\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t connection: { type: 'string', message: 'connection option is required' },\n\t email: { type: 'string', message: 'email option is required' }\n\t }\n\t );\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'dbconnections', 'change_password');\n\t\n\t body = objectHelper.merge(this.baseOptions, ['clientID']).with(options, ['email', 'connection']);\n\t\n\t body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\t\n\t return this.request.post(url).send(body).end(responseHandler(cb));\n\t};\n\t\n\tmodule.exports = DBConnection;\n\n\n/***/ },\n/* 41 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar urljoin = __webpack_require__(1);\n\t\n\tvar objectHelper = __webpack_require__(2);\n\tvar assert = __webpack_require__(4);\n\tvar qs = __webpack_require__(5);\n\tvar responseHandler = __webpack_require__(6);\n\t\n\tfunction PasswordlessAuthentication(request, options) {\n\t this.baseOptions = options;\n\t this.request = request;\n\t}\n\t\n\tPasswordlessAuthentication.prototype.buildVerifyUrl = function(options) {\n\t var params;\n\t var qString;\n\t\n\t /* eslint-disable */\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t connection: { type: 'string', message: 'connection option is required' },\n\t verificationCode: { type: 'string', message: 'verificationCode option is required' },\n\t phoneNumber: {\n\t optional: false,\n\t type: 'string',\n\t message: 'phoneNumber option is required',\n\t condition: function(o) {\n\t return !o.email;\n\t }\n\t },\n\t email: {\n\t optional: false,\n\t type: 'string',\n\t message: 'email option is required',\n\t condition: function(o) {\n\t return !o.phoneNumber;\n\t }\n\t }\n\t }\n\t );\n\t /* eslint-enable */\n\t\n\t params = objectHelper\n\t .merge(this.baseOptions, [\n\t 'clientID',\n\t 'responseType',\n\t 'responseMode',\n\t 'redirectUri',\n\t 'scope',\n\t 'audience',\n\t '_csrf',\n\t 'state',\n\t '_intstate',\n\t 'protocol',\n\t 'nonce'\n\t ])\n\t .with(options);\n\t\n\t // eslint-disable-next-line\n\t if (this.baseOptions._sendTelemetry) {\n\t params.auth0Client = this.request.getTelemetryData();\n\t }\n\t\n\t params = objectHelper.toSnakeCase(params, ['auth0Client']);\n\t\n\t qString = qs.stringify(params);\n\t\n\t return urljoin(this.baseOptions.rootUrl, 'passwordless', 'verify_redirect', '?' + qString);\n\t};\n\t\n\tPasswordlessAuthentication.prototype.start = function(options, cb) {\n\t var url;\n\t var body;\n\t\n\t /* eslint-disable */\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t connection: { type: 'string', message: 'connection option is required' },\n\t send: {\n\t type: 'string',\n\t message: 'send option is required',\n\t values: ['link', 'code'],\n\t value_message: 'send is not valid ([link, code])'\n\t },\n\t phoneNumber: {\n\t optional: true,\n\t type: 'string',\n\t message: 'phoneNumber option is required',\n\t condition: function(o) {\n\t return o.send === 'code' || !o.email;\n\t }\n\t },\n\t email: {\n\t optional: true,\n\t type: 'string',\n\t message: 'email option is required',\n\t condition: function(o) {\n\t return o.send === 'link' || !o.phoneNumber;\n\t }\n\t },\n\t authParams: { optional: true, type: 'object', message: 'authParams option is required' }\n\t }\n\t );\n\t /* eslint-enable */\n\t\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'passwordless', 'start');\n\t\n\t body = objectHelper\n\t .merge(this.baseOptions, ['clientID', 'responseType', 'redirectUri', 'scope'])\n\t .with(options);\n\t\n\t if (body.scope) {\n\t body.authParams = body.authParams || {};\n\t body.authParams.scope = body.scope;\n\t }\n\t\n\t if (body.redirectUri) {\n\t body.authParams = body.authParams || {};\n\t body.authParams.redirect_uri = body.redirectUri;\n\t }\n\t\n\t if (body.responseType) {\n\t body.authParams = body.authParams || {};\n\t body.authParams.response_type = body.responseType;\n\t }\n\t\n\t delete body.redirectUri;\n\t delete body.responseType;\n\t delete body.scope;\n\t\n\t body = objectHelper.toSnakeCase(body, ['auth0Client', 'authParams']);\n\t\n\t return this.request.post(url).send(body).end(responseHandler(cb));\n\t};\n\t\n\tPasswordlessAuthentication.prototype.verify = function(options, cb) {\n\t var url;\n\t var cleanOption;\n\t\n\t /* eslint-disable */\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t connection: { type: 'string', message: 'connection option is required' },\n\t verificationCode: { type: 'string', message: 'verificationCode option is required' },\n\t phoneNumber: {\n\t optional: false,\n\t type: 'string',\n\t message: 'phoneNumber option is required',\n\t condition: function(o) {\n\t return !o.email;\n\t }\n\t },\n\t email: {\n\t optional: false,\n\t type: 'string',\n\t message: 'email option is required',\n\t condition: function(o) {\n\t return !o.phoneNumber;\n\t }\n\t }\n\t }\n\t );\n\t /* eslint-enable */\n\t\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t cleanOption = objectHelper.pick(options, [\n\t 'connection',\n\t 'verificationCode',\n\t 'phoneNumber',\n\t 'email',\n\t 'auth0Client'\n\t ]);\n\t cleanOption = objectHelper.toSnakeCase(cleanOption, ['auth0Client']);\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'passwordless', 'verify');\n\t\n\t return this.request.post(url).send(cleanOption).end(responseHandler(cb));\n\t};\n\t\n\tmodule.exports = PasswordlessAuthentication;\n\n\n/***/ },\n/* 42 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar windowHandler = __webpack_require__(3);\n\tvar base64Url = __webpack_require__(20);\n\t\n\tfunction create(name, value, days) {\n\t var date;\n\t var expires;\n\t\n\t if (\n\t windowHandler.getDocument().cookie === undefined ||\n\t windowHandler.getDocument().cookie === null\n\t ) {\n\t throw new Error('cookie storage not available');\n\t }\n\t\n\t if (days) {\n\t var timeToExpire = days * 24 * 60 * 60 * 1000;\n\t date = new Date();\n\t date.setTime(date.getTime() + timeToExpire);\n\t expires = '; expires=' + date.toGMTString();\n\t } else {\n\t expires = '';\n\t }\n\t\n\t windowHandler.getDocument().cookie = name + '=' + base64Url.encode(value) + expires + '; path=/';\n\t}\n\t\n\tfunction read(name) {\n\t var i;\n\t var cookie;\n\t var cookies;\n\t var nameEQ = name + '=';\n\t\n\t if (\n\t windowHandler.getDocument().cookie === undefined ||\n\t windowHandler.getDocument().cookie === null\n\t ) {\n\t throw new Error('cookie storage not available');\n\t }\n\t\n\t cookies = windowHandler.getDocument().cookie.split(';');\n\t\n\t for (i = 0; i < cookies.length; i++) {\n\t cookie = cookies[i];\n\t while (cookie.charAt(0) === ' ') {\n\t cookie = cookie.substring(1, cookie.length);\n\t }\n\t if (cookie.indexOf(nameEQ) === 0) {\n\t return base64Url.decode(cookie.substring(nameEQ.length, cookie.length));\n\t }\n\t }\n\t\n\t return null;\n\t}\n\t\n\tfunction erase(name) {\n\t create(name, '', -1);\n\t}\n\t\n\tmodule.exports = {\n\t create: create,\n\t read: read,\n\t erase: erase\n\t};\n\n\n/***/ },\n/* 43 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar windowHelper = __webpack_require__(3);\n\t\n\tfunction IframeHandler(options) {\n\t this.url = options.url;\n\t this.callback = options.callback;\n\t this.timeout = options.timeout || 60 * 1000;\n\t this.timeoutCallback = options.timeoutCallback || null;\n\t this.eventListenerType = options.eventListenerType || 'message';\n\t this.iframe = null;\n\t this.timeoutHandle = null;\n\t this._destroyTimeout = null;\n\t this.transientMessageEventListener = null;\n\t this.proxyEventListener = null;\n\t // If no event identifier specified, set default\n\t this.eventValidator = options.eventValidator || {\n\t isValid: function() {\n\t return true;\n\t }\n\t };\n\t\n\t if (typeof this.callback !== 'function') {\n\t throw new Error('options.callback must be a function');\n\t }\n\t}\n\t\n\tIframeHandler.prototype.init = function() {\n\t var _this = this;\n\t var _window = windowHelper.getWindow();\n\t\n\t this.iframe = _window.document.createElement('iframe');\n\t this.iframe.style.display = 'none';\n\t this.iframe.src = this.url;\n\t\n\t // Workaround to avoid using bind that does not work in IE8\n\t this.proxyEventListener = function(e) {\n\t _this.eventListener(e);\n\t };\n\t\n\t switch (this.eventListenerType) {\n\t case 'message':\n\t this.eventSourceObject = _window;\n\t break;\n\t case 'load':\n\t this.eventSourceObject = this.iframe;\n\t break;\n\t default:\n\t throw new Error('Unsupported event listener type: ' + this.eventListenerType);\n\t }\n\t\n\t this.eventSourceObject.addEventListener(this.eventListenerType, this.proxyEventListener, false);\n\t\n\t _window.document.body.appendChild(this.iframe);\n\t\n\t this.timeoutHandle = setTimeout(function() {\n\t _this.timeoutHandler();\n\t }, this.timeout);\n\t};\n\t\n\tIframeHandler.prototype.eventListener = function(event) {\n\t var eventData = { event: event, sourceObject: this.eventSourceObject };\n\t\n\t if (!this.eventValidator.isValid(eventData)) {\n\t return;\n\t }\n\t\n\t this.destroy();\n\t this.callback(eventData);\n\t};\n\t\n\tIframeHandler.prototype.timeoutHandler = function() {\n\t this.destroy();\n\t if (this.timeoutCallback) {\n\t this.timeoutCallback();\n\t }\n\t};\n\t\n\tIframeHandler.prototype.destroy = function() {\n\t var _this = this;\n\t var _window = windowHelper.getWindow();\n\t\n\t clearTimeout(this.timeoutHandle);\n\t\n\t this._destroyTimeout = setTimeout(function() {\n\t _this.eventSourceObject.removeEventListener(\n\t _this.eventListenerType,\n\t _this.proxyEventListener,\n\t false\n\t );\n\t _window.document.body.removeChild(_this.iframe);\n\t }, 0);\n\t};\n\t\n\tmodule.exports = IframeHandler;\n\n\n/***/ },\n/* 44 */\n/***/ function(module, exports) {\n\n\t/* eslint-disable no-continue */\n\t\n\tfunction get() {\n\t if (!Object.assign) {\n\t return objectAssignPolyfill;\n\t }\n\t\n\t return Object.assign;\n\t}\n\t\n\tfunction objectAssignPolyfill(target) {\n\t 'use strict';\n\t if (target === undefined || target === null) {\n\t throw new TypeError('Cannot convert first argument to object');\n\t }\n\t\n\t var to = Object(target);\n\t for (var i = 1; i < arguments.length; i++) {\n\t var nextSource = arguments[i];\n\t if (nextSource === undefined || nextSource === null) {\n\t continue;\n\t }\n\t\n\t var keysArray = Object.keys(Object(nextSource));\n\t for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n\t var nextKey = keysArray[nextIndex];\n\t var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\t if (desc !== undefined && desc.enumerable) {\n\t to[nextKey] = nextSource[nextKey];\n\t }\n\t }\n\t }\n\t return to;\n\t}\n\t\n\tmodule.exports = {\n\t get: get,\n\t objectAssignPolyfill: objectAssignPolyfill\n\t};\n\n\n/***/ },\n/* 45 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar objectHelper = __webpack_require__(2);\n\t\n\tvar tokenParams = [\n\t // auth0\n\t 'realm',\n\t 'audience',\n\t // oauth2\n\t 'client_id',\n\t 'client_secret',\n\t 'redirect_uri',\n\t 'scope',\n\t 'code',\n\t 'grant_type',\n\t 'username',\n\t 'password',\n\t 'refresh_token',\n\t 'assertion',\n\t 'client_assertion',\n\t 'client_assertion_type',\n\t 'code_verifier'\n\t];\n\t\n\tvar authorizeParams = [\n\t // auth0\n\t 'connection',\n\t 'connection_scope',\n\t 'auth0Client',\n\t 'owp',\n\t 'device',\n\t\n\t 'protocol',\n\t '_csrf',\n\t '_intstate',\n\t 'login_ticket',\n\t\n\t // oauth2\n\t 'client_id',\n\t 'response_type',\n\t 'response_mode',\n\t 'redirect_uri',\n\t 'audience',\n\t 'scope',\n\t 'state',\n\t 'nonce',\n\t 'display',\n\t 'prompt',\n\t 'max_age',\n\t 'ui_locales',\n\t 'claims_locales',\n\t 'id_token_hint',\n\t 'login_hint',\n\t 'acr_values',\n\t 'claims',\n\t 'registration',\n\t 'request',\n\t 'request_uri',\n\t 'code_challenge',\n\t 'code_challenge_method'\n\t];\n\t\n\tfunction oauthAuthorizeParams(warn, params) {\n\t var notAllowed = objectHelper.getKeysNotIn(params, authorizeParams);\n\t\n\t if (notAllowed.length > 0) {\n\t warn.warning(\n\t 'Following parameters are not allowed on the `/authorize` endpoint: [' +\n\t notAllowed.join(',') +\n\t ']'\n\t );\n\t }\n\t\n\t return params;\n\t}\n\t\n\tfunction oauthTokenParams(warn, params) {\n\t return objectHelper.pick(params, tokenParams);\n\t}\n\t\n\tmodule.exports = {\n\t oauthTokenParams: oauthTokenParams,\n\t oauthAuthorizeParams: oauthAuthorizeParams\n\t};\n\n\n/***/ },\n/* 46 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar version = __webpack_require__(9);\n\t\n\tfunction PluginHandler(webAuth, plugins) {\n\t this.plugins = plugins;\n\t\n\t for (var a = 0; a < this.plugins.length; a++) {\n\t if (this.plugins[a].version !== version.raw) {\n\t var pluginName = '';\n\t\n\t if (this.plugins[a].constructor && this.plugins[a].constructor.name) {\n\t pluginName = this.plugins[a].constructor.name;\n\t }\n\t\n\t throw new Error(\n\t 'Plugin ' +\n\t pluginName +\n\t ' version (' +\n\t this.plugins[a].version +\n\t ') ' +\n\t 'is not compatible with the SDK version (' +\n\t version.raw +\n\t ')'\n\t );\n\t }\n\t\n\t this.plugins[a].setWebAuth(webAuth);\n\t }\n\t}\n\t\n\tPluginHandler.prototype.get = function(extensibilityPoint) {\n\t for (var a = 0; a < this.plugins.length; a++) {\n\t if (this.plugins[a].supports(extensibilityPoint)) {\n\t return this.plugins[a].init();\n\t }\n\t }\n\t\n\t return null;\n\t};\n\t\n\tmodule.exports = PluginHandler;\n\n\n/***/ },\n/* 47 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t/* eslint-disable no-restricted-syntax */\n\t/* eslint-disable guard-for-in */\n\tvar WinChan = __webpack_require__(18);\n\t\n\tvar windowHandler = __webpack_require__(3);\n\tvar objectHelper = __webpack_require__(2);\n\tvar qs = __webpack_require__(5);\n\t\n\tfunction PopupHandler() {\n\t this._current_popup = null;\n\t}\n\t\n\tPopupHandler.prototype.calculatePosition = function(options) {\n\t var width = options.width || 500;\n\t var height = options.height || 600;\n\t var _window = windowHandler.getWindow();\n\t\n\t var screenX = typeof _window.screenX !== 'undefined' ? _window.screenX : _window.screenLeft;\n\t var screenY = typeof _window.screenY !== 'undefined' ? _window.screenY : _window.screenTop;\n\t\n\t var outerWidth = typeof _window.outerWidth !== 'undefined'\n\t ? _window.outerWidth\n\t : _window.document.body.clientWidth;\n\t\n\t var outerHeight = typeof _window.outerHeight !== 'undefined'\n\t ? _window.outerHeight\n\t : _window.document.body.clientHeight;\n\t\n\t var left = (outerWidth - width) / 2;\n\t var top = (outerHeight - height) / 2;\n\t\n\t return { width: width, height: height, left: screenX + left, top: screenY + top };\n\t};\n\t\n\tPopupHandler.prototype.preload = function(options) {\n\t var _this = this;\n\t var _window = windowHandler.getWindow();\n\t var popupPosition = this.calculatePosition(options.popupOptions || {});\n\t var popupOptions = objectHelper.merge(popupPosition).with(options.popupOptions);\n\t var url = options.url || 'about:blank';\n\t var windowFeatures = qs.stringify(popupOptions, {\n\t encode: false,\n\t delimiter: ','\n\t });\n\t\n\t if (this._current_popup && !this._current_popup.closed) {\n\t return this._current_popup;\n\t }\n\t\n\t this._current_popup = _window.open(url, 'auth0_signup_popup', windowFeatures);\n\t\n\t this._current_popup.kill = function() {\n\t this.close();\n\t _this._current_popup = null;\n\t };\n\t\n\t return this._current_popup;\n\t};\n\t\n\tPopupHandler.prototype.load = function(url, relayUrl, options, cb) {\n\t var _this = this;\n\t var popupPosition = this.calculatePosition(options.popupOptions || {});\n\t var popupOptions = objectHelper.merge(popupPosition).with(options.popupOptions);\n\t\n\t var winchanOptions = objectHelper\n\t .merge({\n\t url: url,\n\t relay_url: relayUrl,\n\t window_features: qs.stringify(popupOptions, {\n\t delimiter: ',',\n\t encode: false\n\t }),\n\t popup: this._current_popup\n\t })\n\t .with(options);\n\t\n\t var popup = WinChan.open(winchanOptions, function(err, data) {\n\t _this._current_popup = null;\n\t return cb(err, data);\n\t });\n\t\n\t popup.focus();\n\t\n\t return popup;\n\t};\n\t\n\tmodule.exports = PopupHandler;\n\n\n/***/ },\n/* 48 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar windowHelper = __webpack_require__(3);\n\t\n\tfunction randomString(length) {\n\t // eslint-disable-next-line\n\t var bytes = new Uint8Array(length);\n\t var result = [];\n\t var charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._~';\n\t\n\t var cryptoObj = windowHelper.getWindow().crypto || windowHelper.getWindow().msCrypto;\n\t if (!cryptoObj) {\n\t return null;\n\t }\n\t\n\t var random = cryptoObj.getRandomValues(bytes);\n\t\n\t for (var a = 0; a < random.length; a++) {\n\t result.push(charset[random[a] % charset.length]);\n\t }\n\t\n\t return result.join('');\n\t}\n\t\n\tmodule.exports = {\n\t randomString: randomString\n\t};\n\n\n/***/ },\n/* 49 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar StorageHandler = __webpack_require__(52);\n\tvar storage;\n\t\n\tfunction getStorage(force) {\n\t if (!storage || force) {\n\t storage = new StorageHandler();\n\t }\n\t return storage;\n\t}\n\t\n\tmodule.exports = {\n\t getItem: function(key) {\n\t var value = getStorage().getItem(key);\n\t return value ? JSON.parse(value) : value;\n\t },\n\t removeItem: function(key) {\n\t return getStorage().removeItem(key);\n\t },\n\t setItem: function(key, value) {\n\t var json = JSON.stringify(value);\n\t return getStorage().setItem(key, json);\n\t },\n\t reload: function() {\n\t getStorage(true);\n\t }\n\t};\n\n\n/***/ },\n/* 50 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar cookies = __webpack_require__(42);\n\t\n\tfunction CookieStorage() {}\n\t\n\tCookieStorage.prototype.getItem = function(key) {\n\t return cookies.read(key);\n\t};\n\t\n\tCookieStorage.prototype.removeItem = function(key) {\n\t cookies.erase(key);\n\t};\n\t\n\tCookieStorage.prototype.setItem = function(key, value) {\n\t cookies.create(key, value, 1);\n\t};\n\t\n\tmodule.exports = CookieStorage;\n\n\n/***/ },\n/* 51 */\n/***/ function(module, exports) {\n\n\tfunction DummyStorage() {}\n\t\n\tDummyStorage.prototype.getItem = function() {\n\t return null;\n\t};\n\t\n\tDummyStorage.prototype.removeItem = function() {};\n\t\n\tDummyStorage.prototype.setItem = function() {};\n\t\n\tmodule.exports = DummyStorage;\n\n\n/***/ },\n/* 52 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar windowHandler = __webpack_require__(3);\n\tvar DummyStorage = __webpack_require__(51);\n\tvar CookieStorage = __webpack_require__(50);\n\tvar Warn = __webpack_require__(11);\n\t\n\tfunction StorageHandler() {\n\t this.warn = new Warn({});\n\t this.storage = windowHandler.getWindow().localStorage || new CookieStorage();\n\t}\n\t\n\tStorageHandler.prototype.failover = function() {\n\t if (this.storage instanceof DummyStorage) {\n\t this.warn.warning('DummyStorage: ignore failover');\n\t return;\n\t } else if (this.storage instanceof CookieStorage) {\n\t this.warn.warning('CookieStorage: failing over DummyStorage');\n\t this.storage = new DummyStorage();\n\t } else {\n\t this.warn.warning('LocalStorage: failing over CookieStorage');\n\t this.storage = new CookieStorage();\n\t }\n\t};\n\t\n\tStorageHandler.prototype.getItem = function(key) {\n\t try {\n\t return this.storage.getItem(key);\n\t } catch (e) {\n\t this.warn.warning(e);\n\t this.failover();\n\t return this.getItem(key);\n\t }\n\t};\n\t\n\tStorageHandler.prototype.removeItem = function(key) {\n\t try {\n\t return this.storage.removeItem(key);\n\t } catch (e) {\n\t this.warn.warning(e);\n\t this.failover();\n\t return this.removeItem(key);\n\t }\n\t};\n\t\n\tStorageHandler.prototype.setItem = function(key, value) {\n\t try {\n\t return this.storage.setItem(key, value);\n\t } catch (e) {\n\t this.warn.warning(e);\n\t this.failover();\n\t return this.setItem(key, value);\n\t }\n\t};\n\t\n\tmodule.exports = StorageHandler;\n\n\n/***/ },\n/* 53 */\n/***/ function(module, exports) {\n\n\t// given a URL, extract the origin. Taken from: https://github.com/firebase/firebase-simple-login/blob/d2cb95b9f812d8488bdbfba51c3a7c153ba1a074/js/src/simple-login/transports/WinChan.js#L25-L30\n\tfunction extractOrigin(url) {\n\t if (!/^https?:\\/\\//.test(url)) url = window.location.href;\n\t var m = /^(https?:\\/\\/[-_a-zA-Z.0-9:]+)/.exec(url);\n\t if (m) return m[1];\n\t return url;\n\t}\n\t\n\tmodule.exports = {\n\t extractOrigin: extractOrigin\n\t};\n\n\n/***/ },\n/* 54 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar Authentication = __webpack_require__(19);\n\tvar Management = __webpack_require__(55);\n\tvar WebAuth = __webpack_require__(57);\n\tvar version = __webpack_require__(9);\n\t\n\tmodule.exports = {\n\t Authentication: Authentication,\n\t Management: Management,\n\t WebAuth: WebAuth,\n\t version: version.raw\n\t};\n\n\n/***/ },\n/* 55 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar urljoin = __webpack_require__(1);\n\t\n\tvar RequestBuilder = __webpack_require__(10);\n\tvar assert = __webpack_require__(4);\n\tvar responseHandler = __webpack_require__(6);\n\t\n\t/**\n\t * Auth0 Management API Client (methods allowed to be called from the browser only)\n\t * @constructor\n\t * @param {Object} options\n\t * @param {Object} options.domain your Auth0 acount domain\n\t * @param {Object} options.token a valid API token\n\t */\n\tfunction Management(options) {\n\t /* eslint-disable */\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t domain: { type: 'string', message: 'domain option is required' },\n\t token: { type: 'string', message: 'token option is required' },\n\t _sendTelemetry: {\n\t optional: true,\n\t type: 'boolean',\n\t message: '_sendTelemetry option is not valid'\n\t },\n\t _telemetryInfo: {\n\t optional: true,\n\t type: 'object',\n\t message: '_telemetryInfo option is not valid'\n\t }\n\t }\n\t );\n\t /* eslint-enable */\n\t\n\t this.baseOptions = options;\n\t\n\t this.baseOptions.headers = { Authorization: 'Bearer ' + this.baseOptions.token };\n\t\n\t this.request = new RequestBuilder(this.baseOptions);\n\t this.baseOptions.rootUrl = urljoin('https://' + this.baseOptions.domain, 'api', 'v2');\n\t}\n\t\n\t/**\n\t * @callback userCallback\n\t * @param {Error} [err] failure reason for the failed request to Management API\n\t * @param {Object} [result] user profile\n\t */\n\t\n\t/**\n\t * Returns the user profile\n\t *\n\t * @method getUser\n\t * @param {String} userId identifier of the user to retrieve\n\t * @param {userCallback} cb\n\t * @see https://auth0.com/docs/api/management/v2#!/Users/get_users_by_id\n\t */\n\tManagement.prototype.getUser = function(userId, cb) {\n\t var url;\n\t\n\t assert.check(userId, { type: 'string', message: 'userId parameter is not valid' });\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'users', userId);\n\t\n\t return this.request.get(url).end(responseHandler(cb, { ignoreCasing: true }));\n\t};\n\t\n\t/**\n\t * Updates the user metdata. It will patch the user metdata with the attributes sent.\n\t *\n\t *\n\t * @method patchUserMetadata\n\t * @param {String} userId\n\t * @param {Object} userMetadata\n\t * @param {userCallback} cb\n\t * @see {@link https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id}\n\t */\n\tManagement.prototype.patchUserMetadata = function(userId, userMetadata, cb) {\n\t var url;\n\t\n\t assert.check(userId, { type: 'string', message: 'userId parameter is not valid' });\n\t assert.check(userMetadata, { type: 'object', message: 'userMetadata parameter is not valid' });\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'users', userId);\n\t\n\t return this.request\n\t .patch(url)\n\t .send({ user_metadata: userMetadata })\n\t .end(responseHandler(cb, { ignoreCasing: true }));\n\t};\n\t\n\t/**\n\t * Link two users\n\t *\n\t * @method linkUser\n\t * @param {String} userId\n\t * @param {String} secondaryUserToken\n\t * @param {userCallback} cb\n\t * @see {@link https://auth0.com/docs/api/management/v2#!/Users/post_identities}\n\t */\n\tManagement.prototype.linkUser = function(userId, secondaryUserToken, cb) {\n\t var url;\n\t /* eslint-disable */\n\t assert.check(userId, { type: 'string', message: 'userId parameter is not valid' });\n\t assert.check(secondaryUserToken, {\n\t type: 'string',\n\t message: 'secondaryUserToken parameter is not valid'\n\t });\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t /* eslint-enable */\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'users', userId, 'identities');\n\t\n\t return this.request\n\t .post(url)\n\t .send({ link_with: secondaryUserToken })\n\t .end(responseHandler(cb, { ignoreCasing: true }));\n\t};\n\t\n\tmodule.exports = Management;\n\n\n/***/ },\n/* 56 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar urljoin = __webpack_require__(1);\n\t\n\tvar windowHelper = __webpack_require__(3);\n\tvar objectHelper = __webpack_require__(2);\n\tvar RequestBuilder = __webpack_require__(10);\n\t\n\tfunction CrossOriginAuthentication(webAuth, options) {\n\t this.webAuth = webAuth;\n\t this.baseOptions = options;\n\t this.request = new RequestBuilder(options);\n\t}\n\t\n\tfunction getFragment(name) {\n\t var theWindow = windowHelper.getWindow();\n\t var value = '&' + theWindow.location.hash.substring(1);\n\t var parts = value.split('&' + name + '=');\n\t if (parts.length === 2) {\n\t return parts.pop().split('&').shift();\n\t }\n\t}\n\t\n\tfunction createKey(origin, coId) {\n\t return ['co/verifier', encodeURIComponent(origin), encodeURIComponent(coId)].join('/');\n\t}\n\t\n\t/**\n\t * Logs in the user with username and password using the cross origin authentication (/co/authenticate) flow. You can use either `username` or `email` to identify the user, but `username` will take precedence over `email`.\n\t * This only works when 3rd party cookies are enabled in the browser. After the /co/authenticate call, you'll have to use the {@link parseHash} function at the `redirectUri` specified in the constructor.\n\t *\n\t * @method login\n\t * @param {Object} options options used in the {@link authorize} call after the login_ticket is acquired\n\t * @param {String} [options.username] Username (mutually exclusive with email)\n\t * @param {String} [options.email] Email (mutually exclusive with username)\n\t * @param {String} options.password Password\n\t * @param {String} [options.realm] Realm used to authenticate the user, it can be a realm name or a database connection name\n\t * @param {crossOriginLoginCallback} cb Callback function called only when an authentication error, like invalid username or password, occurs. For other types of errors, there will be a redirect to the `redirectUri`.\n\t */\n\tCrossOriginAuthentication.prototype.login = function(options, cb) {\n\t var _this = this;\n\t var theWindow = windowHelper.getWindow();\n\t var url = urljoin(this.baseOptions.rootUrl, '/co/authenticate');\n\t var authenticateBody = {\n\t client_id: options.clientID || this.baseOptions.clientID,\n\t username: options.username || options.email\n\t };\n\t if (options.password) {\n\t authenticateBody.password = options.password;\n\t }\n\t if (options.otp) {\n\t authenticateBody.otp = options.otp;\n\t }\n\t var realm = options.realm || this.baseOptions.realm;\n\t\n\t if (realm) {\n\t var credentialType =\n\t options.credentialType ||\n\t this.baseOptions.credentialType ||\n\t 'http://auth0.com/oauth/grant-type/password-realm';\n\t authenticateBody.realm = realm;\n\t authenticateBody.credential_type = credentialType;\n\t } else {\n\t authenticateBody.credential_type = 'password';\n\t }\n\t this.request.post(url).withCredentials().send(authenticateBody).end(function(err, data) {\n\t if (err) {\n\t var errorObject = (err.response && err.response.body) || {\n\t error: 'request_error',\n\t error_description: JSON.stringify(err)\n\t };\n\t return cb(errorObject);\n\t }\n\t options = objectHelper.blacklist(options, ['username', 'password', 'credentialType', 'otp']);\n\t var authorizeOptions = objectHelper\n\t .merge(options)\n\t .with({ loginTicket: data.body.login_ticket });\n\t var key = createKey(_this.baseOptions.rootUrl, data.body.co_id);\n\t theWindow.sessionStorage[key] = data.body.co_verifier;\n\t _this.webAuth.authorize(authorizeOptions);\n\t });\n\t};\n\t\n\tfunction tryGetVerifier(theWindow, key) {\n\t try {\n\t var verifier = theWindow.sessionStorage[key];\n\t theWindow.sessionStorage.removeItem(key);\n\t return verifier;\n\t } catch (e) {\n\t return '';\n\t }\n\t}\n\t\n\t/**\n\t * Runs the callback code for the cross origin authentication call. This method is meant to be called by the cross origin authentication callback url.\n\t *\n\t * @method callback\n\t */\n\tCrossOriginAuthentication.prototype.callback = function() {\n\t var targetOrigin = decodeURIComponent(getFragment('origin'));\n\t var theWindow = windowHelper.getWindow();\n\t\n\t theWindow.addEventListener('message', function(evt) {\n\t if (evt.data.type !== 'co_verifier_request') {\n\t return;\n\t }\n\t var key = createKey(evt.origin, evt.data.request.id);\n\t var verifier = tryGetVerifier(theWindow, key);\n\t\n\t evt.source.postMessage(\n\t {\n\t type: 'co_verifier_response',\n\t response: {\n\t verifier: verifier\n\t }\n\t },\n\t evt.origin\n\t );\n\t });\n\t\n\t theWindow.parent.postMessage({ type: 'ready' }, targetOrigin);\n\t};\n\t\n\tmodule.exports = CrossOriginAuthentication;\n\n\n/***/ },\n/* 57 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar IdTokenVerifier = __webpack_require__(30);\n\t\n\tvar assert = __webpack_require__(4);\n\tvar error = __webpack_require__(21);\n\tvar qs = __webpack_require__(5);\n\tvar PluginHandler = __webpack_require__(46);\n\tvar windowHelper = __webpack_require__(3);\n\tvar objectHelper = __webpack_require__(2);\n\tvar TransactionManager = __webpack_require__(22);\n\tvar Authentication = __webpack_require__(19);\n\tvar Redirect = __webpack_require__(59);\n\tvar Popup = __webpack_require__(58);\n\tvar SilentAuthenticationHandler = __webpack_require__(60);\n\tvar CrossOriginAuthentication = __webpack_require__(56);\n\t/**\n\t * Handles all the browser's AuthN/AuthZ flows\n\t * @constructor\n\t * @param {Object} options\n\t * @param {String} options.domain your Auth0 domain\n\t * @param {String} options.clientID your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n\t * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n\t * @param {String} [options.responseType] type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n\t * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n\t * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n\t * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n\t * @param {Array} [options.plugins]\n\t * @param {Number} [options._timesToRetryFailedRequests] Number of times to retry a failed request, according to {@link https://github.com/visionmedia/superagent/blob/master/lib/should-retry.js}\n\t * @see {@link https://auth0.com/docs/api/authentication}\n\t */\n\tfunction WebAuth(options) {\n\t /* eslint-disable */\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t domain: { type: 'string', message: 'domain option is required' },\n\t clientID: { type: 'string', message: 'clientID option is required' },\n\t responseType: { optional: true, type: 'string', message: 'responseType is not valid' },\n\t responseMode: { optional: true, type: 'string', message: 'responseMode is not valid' },\n\t redirectUri: { optional: true, type: 'string', message: 'redirectUri is not valid' },\n\t scope: { optional: true, type: 'string', message: 'scope is not valid' },\n\t audience: { optional: true, type: 'string', message: 'audience is not valid' },\n\t leeway: { optional: true, type: 'number', message: 'leeway is not valid' },\n\t plugins: { optional: true, type: 'array', message: 'plugins is not valid' },\n\t _disableDeprecationWarnings: {\n\t optional: true,\n\t type: 'boolean',\n\t message: '_disableDeprecationWarnings option is not valid'\n\t },\n\t _sendTelemetry: {\n\t optional: true,\n\t type: 'boolean',\n\t message: '_sendTelemetry option is not valid'\n\t },\n\t _telemetryInfo: {\n\t optional: true,\n\t type: 'object',\n\t message: '_telemetryInfo option is not valid'\n\t },\n\t _timesToRetryFailedRequests: {\n\t optional: true,\n\t type: 'number',\n\t message: '_timesToRetryFailedRequests option is not valid'\n\t }\n\t }\n\t );\n\t\n\t if (options.overrides) {\n\t assert.check(\n\t options.overrides,\n\t { type: 'object', message: 'overrides option is not valid' },\n\t {\n\t __tenant: { type: 'string', message: '__tenant option is required' },\n\t __token_issuer: { type: 'string', message: '__token_issuer option is required' }\n\t }\n\t );\n\t }\n\t /* eslint-enable */\n\t\n\t this.baseOptions = options;\n\t this.baseOptions.plugins = new PluginHandler(this, this.baseOptions.plugins || []);\n\t\n\t this.baseOptions._sendTelemetry = this.baseOptions._sendTelemetry === false\n\t ? this.baseOptions._sendTelemetry\n\t : true;\n\t\n\t this.baseOptions._timesToRetryFailedRequests = options._timesToRetryFailedRequests\n\t ? parseInt(options._timesToRetryFailedRequests, 0)\n\t : 0;\n\t\n\t this.baseOptions.tenant =\n\t (this.baseOptions.overrides && this.baseOptions.overrides.__tenant) ||\n\t this.baseOptions.domain.split('.')[0];\n\t\n\t this.baseOptions.token_issuer =\n\t (this.baseOptions.overrides && this.baseOptions.overrides.__token_issuer) ||\n\t 'https://' + this.baseOptions.domain + '/';\n\t\n\t this.transactionManager = new TransactionManager(this.baseOptions.transaction);\n\t\n\t this.client = new Authentication(this.baseOptions);\n\t this.redirect = new Redirect(this.client, this.baseOptions);\n\t this.popup = new Popup(this, this.baseOptions);\n\t this.crossOriginAuthentication = new CrossOriginAuthentication(this, this.baseOptions);\n\t}\n\t\n\t/**\n\t * Parse the url hash and extract the Auth response from a Auth flow started with {@link authorize}\n\t *\n\t * Only validates id_tokens signed by Auth0 using the RS256 algorithm using the public key exposed\n\t * by the `/.well-known/jwks.json` endpoint of your account.\n\t * Tokens signed with other algorithms, e.g. HS256 will not be accepted.\n\t *\n\t * @method parseHash\n\t * @param {Object} options\n\t * @param {String} options.hash the url hash. If not provided it will extract from window.location.hash\n\t * @param {String} [options.state] value originally sent in `state` parameter to {@link authorize} to mitigate XSRF\n\t * @param {String} [options.nonce] value originally sent in `nonce` parameter to {@link authorize} to prevent replay attacks\n\t * @param {String} [options._idTokenVerification] makes parseHash perform or skip `id_token` verification. We **strongly** recommend validating the `id_token` yourself if you disable the verification.\n\t * @param {authorizeCallback} cb\n\t */\n\tWebAuth.prototype.parseHash = function(options, cb) {\n\t var parsedQs;\n\t var err;\n\t var state;\n\t var transaction;\n\t var transactionNonce;\n\t\n\t if (!cb && typeof options === 'function') {\n\t cb = options;\n\t options = {};\n\t } else {\n\t options = options || {};\n\t }\n\t\n\t options._idTokenVerification = !(options._idTokenVerification === false);\n\t\n\t var _window = windowHelper.getWindow();\n\t\n\t var hashStr = options.hash === undefined ? _window.location.hash : options.hash;\n\t hashStr = hashStr.replace(/^#?\\/?/, '');\n\t\n\t parsedQs = qs.parse(hashStr);\n\t\n\t if (parsedQs.hasOwnProperty('error')) {\n\t err = error.buildResponse(parsedQs.error, parsedQs.error_description);\n\t\n\t if (parsedQs.state) {\n\t err.state = parsedQs.state;\n\t }\n\t\n\t return cb(err);\n\t }\n\t\n\t if (\n\t !parsedQs.hasOwnProperty('access_token') &&\n\t !parsedQs.hasOwnProperty('id_token') &&\n\t !parsedQs.hasOwnProperty('refresh_token')\n\t ) {\n\t return cb(null, null);\n\t }\n\t\n\t state = parsedQs.state || options.state;\n\t\n\t transaction = this.transactionManager.getStoredTransaction(state);\n\t transactionNonce = options.nonce || (transaction && transaction.nonce) || null;\n\t\n\t var applicationStatus = (transaction && transaction.appStatus) || null;\n\t if (parsedQs.id_token && options._idTokenVerification) {\n\t return this.validateToken(parsedQs.id_token, transactionNonce, function(\n\t validationError,\n\t payload\n\t ) {\n\t if (validationError) {\n\t return cb(validationError);\n\t }\n\t return cb(null, buildParseHashResponse(parsedQs, applicationStatus, payload));\n\t });\n\t }\n\t\n\t if (parsedQs.id_token) {\n\t var verifier = new IdTokenVerifier({\n\t issuer: this.baseOptions.token_issuer,\n\t audience: this.baseOptions.clientID,\n\t leeway: this.baseOptions.leeway || 0,\n\t __disableExpirationCheck: this.baseOptions.__disableExpirationCheck\n\t });\n\t\n\t var decodedToken = verifier.decode(parsedQs.id_token);\n\t cb(null, buildParseHashResponse(parsedQs, applicationStatus, decodedToken.payload));\n\t } else {\n\t cb(null, buildParseHashResponse(parsedQs, applicationStatus, null));\n\t }\n\t};\n\t\n\tfunction buildParseHashResponse(qsParams, appStatus, token) {\n\t return {\n\t accessToken: qsParams.access_token || null,\n\t idToken: qsParams.id_token || null,\n\t idTokenPayload: token || null,\n\t appStatus: appStatus || null,\n\t refreshToken: qsParams.refresh_token || null,\n\t state: qsParams.state || null,\n\t expiresIn: qsParams.expires_in ? parseInt(qsParams.expires_in, 10) : null,\n\t tokenType: qsParams.token_type || null,\n\t scope: qsParams.scope || null\n\t };\n\t}\n\t\n\t/**\n\t * @callback validateTokenCallback\n\t * @param {Error} [err] error returned by while validating the token\n\t * @param {Object} [payload] claims stored in the token\n\t */\n\t\n\t/**\n\t * Decodes the a JWT and verifies its nonce value\n\t *\n\t * @method validateToken\n\t * @private\n\t * @param {String} token\n\t * @param {String} nonce\n\t * @param {validateTokenCallback} cb\n\t */\n\tWebAuth.prototype.validateToken = function(token, nonce, cb) {\n\t var verifier = new IdTokenVerifier({\n\t issuer: this.baseOptions.token_issuer,\n\t audience: this.baseOptions.clientID,\n\t leeway: this.baseOptions.leeway || 0,\n\t __disableExpirationCheck: this.baseOptions.__disableExpirationCheck\n\t });\n\t\n\t verifier.verify(token, nonce, function(err, payload) {\n\t if (err) {\n\t return cb(error.invalidJwt(err.message));\n\t }\n\t\n\t cb(null, payload);\n\t });\n\t};\n\t\n\t/**\n\t * Executes a silent authentication transaction under the hood in order to fetch a new tokens for the current session.\n\t * This method requires that all Auth is performed with {@link authorize}\n\t * Watch out! If you're not using the hosted login page to do social logins, you have to use your own [social connection keys](https://manage.auth0.com/#/connections/social). If you use Auth0's dev keys, you'll always get `login_required` as an error when calling this method.\n\t *\n\t * @method renewAuth\n\t * @param {Object} options\n\t * @param {String} [options.domain] your Auth0 domain\n\t * @param {String} [options.clientID] your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n\t * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n\t * @param {String} [options.responseType] type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n\t * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n\t * @param {String} [options.state] value used to mitigate XSRF attacks. {@link https://auth0.com/docs/protocols/oauth2/oauth-state}\n\t * @param {String} [options.nonce] value used to mitigate replay attacks when using Implicit Grant. {@link https://auth0.com/docs/api-auth/tutorials/nonce}\n\t * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n\t * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n\t * @param {String} [options.postMessageDataType] identifier data type to look for in postMessage event data, where events are initiated from silent callback urls, before accepting a message event is the event expected. A value of false means any postMessage event will trigger a callback.\n\t * @see {@link https://auth0.com/docs/api/authentication#authorize-client}\n\t */\n\tWebAuth.prototype.renewAuth = function(options, cb) {\n\t var handler;\n\t var usePostMessage = !!options.usePostMessage;\n\t var postMessageDataType = options.postMessageDataType || false;\n\t var _this = this;\n\t\n\t var params = objectHelper\n\t .merge(this.baseOptions, [\n\t 'clientID',\n\t 'redirectUri',\n\t 'responseType',\n\t 'scope',\n\t 'audience',\n\t '_csrf',\n\t 'state',\n\t '_intstate',\n\t 'nonce'\n\t ])\n\t .with(options);\n\t\n\t params.responseType = params.responseType || 'token';\n\t params.responseMode = params.responseMode || 'fragment';\n\t if (!options.nonce) {\n\t params = this.transactionManager.process(params);\n\t }\n\t\n\t assert.check(params, { type: 'object', message: 'options parameter is not valid' });\n\t assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\t\n\t params.prompt = 'none';\n\t\n\t params = objectHelper.blacklist(params, ['usePostMessage', 'tenant', 'postMessageDataType']);\n\t\n\t handler = SilentAuthenticationHandler.create({\n\t authenticationUrl: this.client.buildAuthorizeUrl(params),\n\t postMessageDataType: postMessageDataType\n\t });\n\t\n\t handler.login(usePostMessage, function(err, hash) {\n\t if (typeof hash === 'object') {\n\t // hash was already parsed, so we just return it.\n\t // it's here to be backwards compatible and should be removed in the next major version.\n\t return cb(err, hash);\n\t }\n\t var transaction = _this.transactionManager.getStoredTransaction(params.state);\n\t var transactionNonce = options.nonce || (transaction && transaction.nonce) || null;\n\t var transactionState = options.state || (transaction && transaction.state) || null;\n\t _this.parseHash({ hash: hash, nonce: transactionNonce, state: transactionState }, cb);\n\t });\n\t};\n\t\n\t/**\n\t * Request an email with instruction to change a user's password\n\t *\n\t * @method changePassword\n\t * @param {Object} options\n\t * @param {String} options.email address where the user will recieve the change password email. It should match the user's email in Auth0\n\t * @param {String} options.connection name of the connection where the user was created\n\t * @param {changePasswordCallback} cb\n\t * @see {@link https://auth0.com/docs/api/authentication#change-password}\n\t */\n\tWebAuth.prototype.changePassword = function(options, cb) {\n\t return this.client.dbConnection.changePassword(options, cb);\n\t};\n\t\n\t/**\n\t * Starts a passwordless authentication transaction.\n\t *\n\t * @method passwordlessStart\n\t * @param {Object} options\n\t * @param {String} options.send what will be sent via email which could be `link` or `code`. For SMS `code` is the only one valud\n\t * @param {String} [options.phoneNumber] phone number where to send the `code`. This parameter is mutually exclusive with `email`\n\t * @param {String} [options.email] email where to send the `code` or `link`. This parameter is mutually exclusive with `phoneNumber`\n\t * @param {String} options.connection name of the passwordless connection\n\t * @param {Object} [options.authParams] additional Auth parameters when using `link`\n\t * @param {Function} cb\n\t * @see {@link https://auth0.com/docs/api/authentication#passwordless}\n\t */\n\tWebAuth.prototype.passwordlessStart = function(options, cb) {\n\t var authParams = objectHelper\n\t .merge(this.baseOptions, [\n\t 'responseType',\n\t 'responseMode',\n\t 'redirectUri',\n\t 'scope',\n\t 'audience',\n\t '_csrf',\n\t 'state',\n\t '_intstate',\n\t 'nonce'\n\t ])\n\t .with(options.authParams);\n\t\n\t options.authParams = this.transactionManager.process(authParams);\n\t return this.client.passwordless.start(options, cb);\n\t};\n\t\n\t/**\n\t * Creates a new user in a Auth0 Database connection\n\t *\n\t * @method signup\n\t * @param {Object} options\n\t * @param {String} options.email user email address\n\t * @param {String} options.password user password\n\t * @param {String} options.connection name of the connection where the user will be created\n\t * @param {signUpCallback} cb\n\t * @see {@link https://auth0.com/docs/api/authentication#signup}\n\t */\n\tWebAuth.prototype.signup = function(options, cb) {\n\t return this.client.dbConnection.signup(options, cb);\n\t};\n\t\n\t/**\n\t * Redirects to the hosted login page (`/authorize`) in order to start a new authN/authZ transaction.\n\t * After that, you'll have to use the {@link parseHash} function at the specified `redirectUri`.\n\t *\n\t * @method authorize\n\t * @param {Object} options\n\t * @param {String} [options.domain] your Auth0 domain\n\t * @param {String} [options.clientID] your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n\t * @param {String} options.redirectUri url that the Auth0 will redirect after Auth with the Authorization Response\n\t * @param {String} options.responseType type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n\t * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n\t * @param {String} [options.state] value used to mitigate XSRF attacks. {@link https://auth0.com/docs/protocols/oauth2/oauth-state}\n\t * @param {String} [options.nonce] value used to mitigate replay attacks when using Implicit Grant. {@link https://auth0.com/docs/api-auth/tutorials/nonce}\n\t * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n\t * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n\t * @see {@link https://auth0.com/docs/api/authentication#authorize-client}\n\t */\n\tWebAuth.prototype.authorize = function(options) {\n\t var params = objectHelper\n\t .merge(this.baseOptions, [\n\t 'clientID',\n\t 'responseType',\n\t 'responseMode',\n\t 'redirectUri',\n\t 'scope',\n\t 'audience',\n\t '_csrf',\n\t 'state',\n\t '_intstate',\n\t 'nonce'\n\t ])\n\t .with(options);\n\t\n\t assert.check(\n\t params,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t responseType: { type: 'string', message: 'responseType option is required' }\n\t }\n\t );\n\t\n\t params = this.transactionManager.process(params);\n\t\n\t windowHelper.redirect(this.client.buildAuthorizeUrl(params));\n\t};\n\t\n\t/**\n\t * Signs up a new user, automatically logs the user in after the signup and returns the user token.\n\t * The login will be done using /oauth/token with password-realm grant type.\n\t *\n\t * @method signupAndAuthorize\n\t * @param {Object} options\n\t * @param {String} options.email user email address\n\t * @param {String} options.password user password\n\t * @param {String} options.connection name of the connection where the user will be created\n\t * @param {tokenCallback} cb\n\t * @see {@link https://auth0.com/docs/api/authentication#signup}\n\t * @see {@link https://auth0.com/docs/api-auth/grant/password}\n\t */\n\tWebAuth.prototype.signupAndAuthorize = function(options, cb) {\n\t var _this = this;\n\t\n\t return this.client.dbConnection.signup(\n\t objectHelper.blacklist(options, ['popupHandler']),\n\t function(err) {\n\t if (err) {\n\t return cb(err);\n\t }\n\t options.realm = options.connection;\n\t if (!options.username) {\n\t options.username = options.email;\n\t }\n\t _this.client.login(options, cb);\n\t }\n\t );\n\t};\n\t\n\t/**\n\t * @callback crossOriginLoginCallback\n\t * @param {Error} [err] Authentication error returned by Auth0 with the reason why the request failed\n\t */\n\t\n\t/**\n\t * Logs in the user with username and password using the cross origin authentication (/co/authenticate) flow. You can use either `username` or `email` to identify the user, but `username` will take precedence over `email`.\n\t * This only works when 3rd party cookies are enabled in the browser. After the /co/authenticate call, you'll have to use the {@link parseHash} function at the `redirectUri` specified in the constructor.\n\t *\n\t * @method login\n\t * @param {Object} options options used in the {@link authorize} call after the login_ticket is acquired\n\t * @param {String} [options.username] Username (mutually exclusive with email)\n\t * @param {String} [options.email] Email (mutually exclusive with username)\n\t * @param {String} options.password Password\n\t * @param {String} [options.realm] Realm used to authenticate the user, it can be a realm name or a database connection name\n\t * @param {crossOriginLoginCallback} cb Callback function called only when an authentication error, like invalid username or password, occurs. For other types of errors, there will be a redirect to the `redirectUri`.\n\t */\n\tWebAuth.prototype.login = function(options, cb) {\n\t this.crossOriginAuthentication.login(options, cb);\n\t};\n\t\n\t/**\n\t * Logs in the user by verifying the verification code (OTP) using the cross origin authentication (/co/authenticate) flow. You can use either `phoneNumber` or `email` to identify the user.\n\t * This only works when 3rd party cookies are enabled in the browser. After the /co/authenticate call, you'll have to use the {@link parseHash} function at the `redirectUri` specified in the constructor.\n\t *\n\t * @method login\n\t * @param {Object} options options used in the {@link authorize} call after the login_ticket is acquired\n\t * @param {String} [options.phoneNumber] Phone Number (mutually exclusive with email)\n\t * @param {String} [options.email] Email (mutually exclusive with username)\n\t * @param {String} options.verificationCode Verification Code (OTP)\n\t * @param {String} options.connection Passwordless connection to use. It can either be 'sms' or 'email'.\n\t * @param {crossOriginLoginCallback} cb Callback function called only when an authentication error, like invalid username or password, occurs. For other types of errors, there will be a redirect to the `redirectUri`.\n\t */\n\tWebAuth.prototype.passwordlessLogin = function(options, cb) {\n\t var loginOptions = objectHelper.extend(\n\t {\n\t credentialType: 'http://auth0.com/oauth/grant-type/passwordless/otp',\n\t realm: options.connection,\n\t username: options.email || options.phoneNumber,\n\t otp: options.verificationCode\n\t },\n\t objectHelper.blacklist(options, ['connection', 'email', 'phoneNumber', 'verificationCode'])\n\t );\n\t this.crossOriginAuthentication.login(loginOptions, cb);\n\t};\n\t\n\t/**\n\t * Runs the callback code for the cross origin authentication call. This method is meant to be called by the cross origin authentication callback url.\n\t *\n\t * @method crossOriginAuthenticationCallback\n\t */\n\tWebAuth.prototype.crossOriginAuthenticationCallback = function() {\n\t this.crossOriginAuthentication.callback();\n\t};\n\t\n\t/**\n\t * Redirects to the auth0 logout endpoint\n\t *\n\t * If you want to navigate the user to a specific URL after the logout, set that URL at the returnTo parameter. The URL should be included in any the appropriate Allowed Logout URLs list:\n\t *\n\t * - If the client_id parameter is included, the returnTo URL must be listed in the Allowed Logout URLs set at the client level (see Setting Allowed Logout URLs at the App Level).\n\t * - If the client_id parameter is NOT included, the returnTo URL must be listed in the Allowed Logout URLs set at the account level (see Setting Allowed Logout URLs at the Account Level).\n\t *\n\t * @method logout\n\t * @param {Object} options\n\t * @param {String} [options.clientID] identifier of your client\n\t * @param {String} [options.returnTo] URL to be redirected after the logout\n\t * @param {Boolean} [options.federated] tells Auth0 if it should logout the user also from the IdP.\n\t * @see {@link https://auth0.com/docs/api/authentication#logout}\n\t */\n\tWebAuth.prototype.logout = function(options) {\n\t windowHelper.redirect(this.client.buildLogoutUrl(options));\n\t};\n\t\n\t/**\n\t * Verifies the passwordless TOTP and redirects to finish the passwordless transaction\n\t *\n\t * @method passwordlessVerify\n\t * @param {Object} options\n\t * @param {String} options.type `sms` or `email`\n\t * @param {String} options.phoneNumber only if type = sms\n\t * @param {String} options.email only if type = email\n\t * @param {String} options.connection the connection name\n\t * @param {String} options.verificationCode the TOTP code\n\t * @param {Function} cb\n\t */\n\tWebAuth.prototype.passwordlessVerify = function(options, cb) {\n\t var _this = this;\n\t var params = objectHelper\n\t .merge(this.baseOptions, [\n\t 'clientID',\n\t 'responseType',\n\t 'responseMode',\n\t 'redirectUri',\n\t 'scope',\n\t 'audience',\n\t '_csrf',\n\t 'state',\n\t '_intstate',\n\t 'nonce'\n\t ])\n\t .with(options);\n\t\n\t assert.check(\n\t params,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t responseType: { type: 'string', message: 'responseType option is required' }\n\t }\n\t );\n\t\n\t params = this.transactionManager.process(params);\n\t return this.client.passwordless.verify(params, function(err) {\n\t if (err) {\n\t return cb(err);\n\t }\n\t return windowHelper.redirect(_this.client.passwordless.buildVerifyUrl(params));\n\t });\n\t};\n\t\n\tmodule.exports = WebAuth;\n\n\n/***/ },\n/* 58 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar urljoin = __webpack_require__(1);\n\tvar WinChan = __webpack_require__(18);\n\t\n\tvar urlHelper = __webpack_require__(53);\n\tvar assert = __webpack_require__(4);\n\tvar responseHandler = __webpack_require__(6);\n\tvar PopupHandler = __webpack_require__(47);\n\tvar objectHelper = __webpack_require__(2);\n\tvar Warn = __webpack_require__(11);\n\tvar TransactionManager = __webpack_require__(22);\n\t\n\tfunction Popup(webAuth, options) {\n\t this.baseOptions = options;\n\t this.client = webAuth.client;\n\t this.webAuth = webAuth;\n\t\n\t this.transactionManager = new TransactionManager(this.baseOptions.transaction);\n\t this.warn = new Warn({\n\t disableWarnings: !!options._disableDeprecationWarnings\n\t });\n\t}\n\t\n\t/**\n\t * Returns a new instance of the popup handler\n\t *\n\t * @method buildPopupHandler\n\t * @private\n\t */\n\tPopup.prototype.buildPopupHandler = function() {\n\t var pluginHandler = this.baseOptions.plugins.get('popup.getPopupHandler');\n\t\n\t if (pluginHandler) {\n\t return pluginHandler.getPopupHandler();\n\t }\n\t\n\t return new PopupHandler();\n\t};\n\t\n\t/**\n\t * Initializes the popup window and returns the instance to be used later in order to avoid being blocked by the browser.\n\t *\n\t * @method preload\n\t * @param {Object} options receives the window height and width and any other window feature to be sent to window.open\n\t */\n\tPopup.prototype.preload = function(options) {\n\t options = options || {};\n\t\n\t var popup = this.buildPopupHandler();\n\t\n\t popup.preload(options);\n\t return popup;\n\t};\n\t\n\t/**\n\t * Internal use.\n\t *\n\t * @method getPopupHandler\n\t * @private\n\t */\n\tPopup.prototype.getPopupHandler = function(options, preload) {\n\t if (options.popupHandler) {\n\t return options.popupHandler;\n\t }\n\t\n\t if (preload) {\n\t return this.preload(options);\n\t }\n\t\n\t return this.buildPopupHandler();\n\t};\n\t\n\t/**\n\t * Handles the popup logic for the callback page.\n\t *\n\t * @method callback\n\t * @param {Object} options\n\t * @param {String} options.hash the url hash. If not provided it will extract from window.location.hash\n\t * @param {String} [options.state] value originally sent in `state` parameter to {@link authorize} to mitigate XSRF\n\t * @param {String} [options.nonce] value originally sent in `nonce` parameter to {@link authorize} to prevent replay attacks\n\t * @param {String} [options._idTokenVerification] makes parseHash perform or skip `id_token` verification. We **strongly** recommend validating the `id_token` yourself if you disable the verification.\n\t * @see {@link parseHash}\n\t */\n\tPopup.prototype.callback = function(options) {\n\t var _this = this;\n\t WinChan.onOpen(function(popupOrigin, r, cb) {\n\t _this.webAuth.parseHash(options || {}, function(err, data) {\n\t return cb(err || data);\n\t });\n\t });\n\t};\n\t\n\t/**\n\t * Shows inside a new window the hosted login page (`/authorize`) in order to start a new authN/authZ transaction and post its result using `postMessage`.\n\t *\n\t * @method authorize\n\t * @param {Object} options\n\t * @param {String} [options.domain] your Auth0 domain\n\t * @param {String} [options.clientID] your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n\t * @param {String} options.redirectUri url that the Auth0 will redirect after Auth with the Authorization Response\n\t * @param {String} options.responseType type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n\t * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n\t * @param {String} [options.state] value used to mitigate XSRF attacks. {@link https://auth0.com/docs/protocols/oauth2/oauth-state}\n\t * @param {String} [options.nonce] value used to mitigate replay attacks when using Implicit Grant. {@link https://auth0.com/docs/api-auth/tutorials/nonce}\n\t * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n\t * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n\t * @param {Boolean} [options.owp] determines if Auth0 should render the relay page or not and the caller is responsible of handling the response.\n\t * @param {authorizeCallback} cb\n\t * @see {@link https://auth0.com/docs/api/authentication#authorize-client}\n\t */\n\tPopup.prototype.authorize = function(options, cb) {\n\t var popup;\n\t var url;\n\t var relayUrl;\n\t var popOpts = {};\n\t\n\t var pluginHandler = this.baseOptions.plugins.get('popup.authorize');\n\t\n\t var params = objectHelper\n\t .merge(this.baseOptions, [\n\t 'clientID',\n\t 'scope',\n\t 'domain',\n\t 'audience',\n\t 'responseType',\n\t 'redirectUri',\n\t '_csrf',\n\t 'state',\n\t '_intstate',\n\t 'nonce'\n\t ])\n\t .with(objectHelper.blacklist(options, ['popupHandler']));\n\t\n\t assert.check(\n\t params,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t responseType: { type: 'string', message: 'responseType option is required' }\n\t }\n\t );\n\t\n\t // the relay page should not be necesary as long it happens in the same domain\n\t // (a redirectUri shoul be provided). It is necesary when using OWP\n\t relayUrl = urljoin(this.baseOptions.rootUrl, 'relay.html');\n\t\n\t // if a owp is enabled, it should use the owp flag\n\t if (options.owp) {\n\t // used by server to render the relay page instead of sending the chunk in the\n\t // url to the callback\n\t params.owp = true;\n\t } else {\n\t popOpts.origin = urlHelper.extractOrigin(params.redirectUri);\n\t relayUrl = params.redirectUri;\n\t }\n\t\n\t if (options.popupOptions) {\n\t popOpts.popupOptions = objectHelper.pick(options.popupOptions, ['width', 'height']);\n\t }\n\t\n\t if (pluginHandler) {\n\t params = pluginHandler.processParams(params);\n\t }\n\t\n\t params = this.transactionManager.process(params);\n\t\n\t delete params.domain;\n\t\n\t url = this.client.buildAuthorizeUrl(params);\n\t\n\t popup = this.getPopupHandler(options);\n\t\n\t return popup.load(url, relayUrl, popOpts, responseHandler(cb));\n\t};\n\t\n\t/**\n\t * Performs authentication with username/email and password with a database connection inside a new window\n\t *\n\t * This method is not compatible with API Auth so if you need to fetch API tokens with audience\n\t * you should use {@link authorize} or {@link login}.\n\t *\n\t * @method loginWithCredentials\n\t * @param {Object} options\n\t * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n\t * @param {String} [options.responseType] type of the response used. It can be any of the values `code` and `token`\n\t * @param {String} [options.responseMode] how the AuthN response is encoded and redirected back to the client. Supported values are `query` and `fragment`\n\t * @param {String} [options.scope] scopes to be requested during AuthN. e.g. `openid email`\n\t * @param {credentialsCallback} cb\n\t */\n\tPopup.prototype.loginWithCredentials = function(options, cb) {\n\t var params;\n\t var popup;\n\t var url;\n\t var relayUrl;\n\t\n\t /* eslint-disable */\n\t assert.check(\n\t options,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t clientID: { optional: true, type: 'string', message: 'clientID option is required' },\n\t redirectUri: { optional: true, type: 'string', message: 'redirectUri option is required' },\n\t responseType: { optional: true, type: 'string', message: 'responseType option is required' },\n\t scope: { optional: true, type: 'string', message: 'scope option is required' },\n\t audience: { optional: true, type: 'string', message: 'audience option is required' }\n\t }\n\t );\n\t /* eslint-enable */\n\t\n\t popup = this.getPopupHandler(options);\n\t\n\t options = objectHelper\n\t .merge(this.baseOptions, [\n\t 'clientID',\n\t 'scope',\n\t 'domain',\n\t 'audience',\n\t '_csrf',\n\t 'state',\n\t '_intstate',\n\t 'nonce'\n\t ])\n\t .with(objectHelper.blacklist(options, ['popupHandler']));\n\t\n\t params = objectHelper.pick(options, ['clientID', 'domain']);\n\t params.options = objectHelper.toSnakeCase(\n\t objectHelper.pick(options, ['password', 'connection', 'state', 'scope', '_csrf', 'device'])\n\t );\n\t params.options.username = options.username || options.email;\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'sso_dbconnection_popup', options.clientID);\n\t relayUrl = urljoin(this.baseOptions.rootUrl, 'relay.html');\n\t\n\t return popup.load(url, relayUrl, { params: params }, responseHandler(cb));\n\t};\n\t\n\t/**\n\t * Verifies the passwordless TOTP and redirects to finish the passwordless transaction\n\t *\n\t * @method passwordlessVerify\n\t * @param {Object} options\n\t * @param {String} options.type `sms` or `email`\n\t * @param {String} options.phoneNumber only if type = sms\n\t * @param {String} options.email only if type = email\n\t * @param {String} options.connection the connection name\n\t * @param {String} options.verificationCode the TOTP code\n\t * @param {Function} cb\n\t */\n\tPopup.prototype.passwordlessVerify = function(options, cb) {\n\t var _this = this;\n\t return this.client.passwordless.verify(\n\t objectHelper.blacklist(options, ['popupHandler']),\n\t function(err) {\n\t if (err) {\n\t return cb(err);\n\t }\n\t\n\t options.username = options.phoneNumber || options.email;\n\t options.password = options.verificationCode;\n\t\n\t delete options.email;\n\t delete options.phoneNumber;\n\t delete options.verificationCode;\n\t delete options.type;\n\t\n\t _this.client.loginWithResourceOwner(options, cb);\n\t }\n\t );\n\t};\n\t\n\t/**\n\t * Signs up a new user and automatically logs the user in after the signup.\n\t *\n\t * This method is not compatible with API Auth so if you need to fetch API tokens with audience\n\t * you should use {@link authorize} or {@link signupAndAuthorize}.\n\t *\n\t * @method signupAndLogin\n\t * @param {Object} options\n\t * @param {String} options.email user email address\n\t * @param {String} options.password user password\n\t * @param {String} options.connection name of the connection where the user will be created\n\t * @param {credentialsCallback} cb\n\t */\n\tPopup.prototype.signupAndLogin = function(options, cb) {\n\t var _this = this;\n\t\n\t // Preload popup to avoid the browser to block it since the login happens later\n\t var popupHandler = this.getPopupHandler(options, true);\n\t options.popupHandler = popupHandler;\n\t\n\t return this.client.dbConnection.signup(\n\t objectHelper.blacklist(options, ['popupHandler']),\n\t function(err) {\n\t if (err) {\n\t if (popupHandler._current_popup) {\n\t popupHandler._current_popup.kill();\n\t }\n\t return cb(err);\n\t }\n\t _this.loginWithCredentials(options, cb);\n\t }\n\t );\n\t};\n\t\n\tmodule.exports = Popup;\n\n\n/***/ },\n/* 59 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar UsernamePassword = __webpack_require__(61);\n\tvar objectHelper = __webpack_require__(2);\n\tvar Warn = __webpack_require__(11);\n\tvar assert = __webpack_require__(4);\n\t\n\tfunction Redirect(client, options) {\n\t this.baseOptions = options;\n\t this.client = client;\n\t\n\t this.warn = new Warn({\n\t disableWarnings: !!options._disableDeprecationWarnings\n\t });\n\t}\n\t\n\t/**\n\t * @callback credentialsCallback\n\t * @param {Error} [err] error returned by Auth0 with the reason of the Auth failure\n\t * @param {Object} [result] result of the AuthN request\n\t * @param {String} result.accessToken token that can be used with {@link userinfo}\n\t * @param {String} [result.idToken] token that identifies the user\n\t * @param {String} [result.refreshToken] token that can be used to get new access tokens from Auth0. Note that not all clients can request them or the resource server might not allow them.\n\t */\n\t\n\t/**\n\t * Performs authentication with username/email and password with a database connection\n\t *\n\t * This method is not compatible with API Auth so if you need to fetch API tokens with audience\n\t * you should use {@link authorize} or {@link login}.\n\t *\n\t * @method loginWithCredentials\n\t * @param {Object} options\n\t * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n\t * @param {String} [options.responseType] type of the response used. It can be any of the values `code` and `token`\n\t * @param {String} [options.responseMode] how the AuthN response is encoded and redirected back to the client. Supported values are `query` and `fragment`\n\t * @param {String} [options.scope] scopes to be requested during AuthN. e.g. `openid email`\n\t * @param {credentialsCallback} cb\n\t */\n\tRedirect.prototype.loginWithCredentials = function(options, cb) {\n\t var usernamePassword;\n\t\n\t var params = objectHelper\n\t .merge(this.baseOptions, [\n\t 'clientID',\n\t 'redirectUri',\n\t 'tenant',\n\t 'responseType',\n\t 'responseMode',\n\t 'scope',\n\t 'audience',\n\t '_csrf',\n\t 'state',\n\t '_intstate',\n\t 'nonce'\n\t ])\n\t .with(options);\n\t\n\t assert.check(\n\t params,\n\t { type: 'object', message: 'options parameter is not valid' },\n\t {\n\t responseType: { type: 'string', message: 'responseType option is required' }\n\t }\n\t );\n\t\n\t usernamePassword = new UsernamePassword(this.baseOptions);\n\t return usernamePassword.login(params, function(err, data) {\n\t if (err) {\n\t return cb(err);\n\t }\n\t return usernamePassword.callback(data);\n\t });\n\t};\n\t\n\t/**\n\t * Signs up a new user and automatically logs the user in after the signup.\n\t *\n\t * @method signupAndLogin\n\t * @param {Object} options\n\t * @param {String} options.email user email address\n\t * @param {String} options.password user password\n\t * @param {String} options.connection name of the connection where the user will be created\n\t * @param {credentialsCallback} cb\n\t */\n\tRedirect.prototype.signupAndLogin = function(options, cb) {\n\t var _this = this;\n\t return this.client.dbConnection.signup(options, function(err) {\n\t if (err) {\n\t return cb(err);\n\t }\n\t return _this.loginWithCredentials(options, cb);\n\t });\n\t};\n\t\n\tmodule.exports = Redirect;\n\n\n/***/ },\n/* 60 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar IframeHandler = __webpack_require__(43);\n\t\n\tfunction SilentAuthenticationHandler(options) {\n\t this.authenticationUrl = options.authenticationUrl;\n\t this.timeout = options.timeout || 60 * 1000;\n\t this.handler = null;\n\t this.postMessageDataType = options.postMessageDataType || false;\n\t}\n\t\n\tSilentAuthenticationHandler.create = function(options) {\n\t return new SilentAuthenticationHandler(options);\n\t};\n\t\n\tSilentAuthenticationHandler.prototype.login = function(usePostMessage, callback) {\n\t this.handler = new IframeHandler({\n\t auth0: this.auth0,\n\t url: this.authenticationUrl,\n\t eventListenerType: usePostMessage ? 'message' : 'load',\n\t callback: this.getCallbackHandler(callback, usePostMessage),\n\t timeout: this.timeout,\n\t eventValidator: this.getEventValidator(),\n\t timeoutCallback: function() {\n\t callback(null, '#error=timeout&error_description=Timeout+during+authentication+renew.');\n\t },\n\t usePostMessage: usePostMessage || false\n\t });\n\t\n\t this.handler.init();\n\t};\n\t\n\tSilentAuthenticationHandler.prototype.getEventValidator = function() {\n\t var _this = this;\n\t return {\n\t isValid: function(eventData) {\n\t switch (eventData.event.type) {\n\t case 'message':\n\t // Default behaviour, return all message events.\n\t if (_this.postMessageDataType === false) {\n\t return true;\n\t }\n\t\n\t return (\n\t eventData.event.data.type && eventData.event.data.type === _this.postMessageDataType\n\t );\n\t\n\t case 'load': // Fall through to default\n\t default:\n\t return true;\n\t }\n\t }\n\t };\n\t};\n\t\n\tSilentAuthenticationHandler.prototype.getCallbackHandler = function(callback, usePostMessage) {\n\t return function(eventData) {\n\t var callbackValue;\n\t if (!usePostMessage) {\n\t callbackValue = eventData.sourceObject.contentWindow.location.hash;\n\t } else if (typeof eventData.event.data === 'object' && eventData.event.data.hash) {\n\t callbackValue = eventData.event.data.hash;\n\t } else {\n\t callbackValue = eventData.event.data;\n\t }\n\t callback(null, callbackValue);\n\t };\n\t};\n\t\n\tmodule.exports = SilentAuthenticationHandler;\n\n\n/***/ },\n/* 61 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar urljoin = __webpack_require__(1);\n\t\n\tvar objectHelper = __webpack_require__(2);\n\tvar RequestBuilder = __webpack_require__(10);\n\tvar responseHandler = __webpack_require__(6);\n\tvar windowHelper = __webpack_require__(3);\n\t\n\tfunction UsernamePassword(options) {\n\t this.baseOptions = options;\n\t this.request = new RequestBuilder(options);\n\t}\n\t\n\tUsernamePassword.prototype.login = function(options, cb) {\n\t var url;\n\t var body;\n\t\n\t url = urljoin(this.baseOptions.rootUrl, 'usernamepassword', 'login');\n\t\n\t options.username = options.username || options.email; // eslint-disable-line\n\t\n\t options = objectHelper.blacklist(options, ['email']); // eslint-disable-line\n\t\n\t body = objectHelper\n\t .merge(this.baseOptions, [\n\t 'clientID',\n\t 'redirectUri',\n\t 'tenant',\n\t 'responseType',\n\t 'responseMode',\n\t 'scope',\n\t 'audience'\n\t ])\n\t .with(options);\n\t\n\t body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\t\n\t return this.request.post(url).send(body).end(responseHandler(cb));\n\t};\n\t\n\tUsernamePassword.prototype.callback = function(formHtml) {\n\t var div;\n\t var form;\n\t var _document = windowHelper.getDocument();\n\t\n\t div = _document.createElement('div');\n\t div.innerHTML = formHtml;\n\t form = _document.body.appendChild(div).children[0];\n\t\n\t form.submit();\n\t};\n\t\n\tmodule.exports = UsernamePassword;\n\n\n/***/ }\n/******/ ])\n});\n;\n\n\n// WEBPACK FOOTER //\n// auth0.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 7012a34629fc90fc0fc9","(function (name, context, definition) {\n if (typeof module !== 'undefined' && module.exports) module.exports = definition();\n else if (typeof define === 'function' && define.amd) define(definition);\n else context[name] = definition();\n})('urljoin', this, function () {\n\n function normalize (str, options) {\n\n // make sure protocol is followed by two slashes\n str = str.replace(/:\\//g, '://');\n\n // remove consecutive slashes\n str = str.replace(/([^:\\s])\\/+/g, '$1/');\n\n // remove trailing slash before parameters or hash\n str = str.replace(/\\/(\\?|&|#[^!])/g, '$1');\n\n // replace ? in parameters with &\n str = str.replace(/(\\?.+)\\?/g, '$1&');\n\n return str;\n }\n\n return function () {\n var input = arguments;\n var options = {};\n\n if (typeof arguments[0] === 'object') {\n // new syntax with array and options\n input = arguments[0];\n options = arguments[1] || {};\n }\n\n var joined = [].slice.call(input, 0).join('/');\n return normalize(joined, options);\n };\n\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/url-join/lib/url-join.js\n// module id = 1\n// module chunks = 0 1","/* eslint-disable no-param-reassign */\n/* eslint-disable no-restricted-syntax */\n/* eslint-disable guard-for-in */\n\nvar assert = require('./assert');\nvar objectAssign = require('./object-assign');\n\nfunction pick(object, keys) {\n return keys.reduce(function(prev, key) {\n if (object[key]) {\n prev[key] = object[key];\n }\n return prev;\n }, {});\n}\n\nfunction getKeysNotIn(obj, allowedKeys) {\n var notAllowed = [];\n for (var key in obj) {\n if (allowedKeys.indexOf(key) === -1) {\n notAllowed.push(key);\n }\n }\n return notAllowed;\n}\n\nfunction objectValues(obj) {\n var values = [];\n for (var key in obj) {\n values.push(obj[key]);\n }\n return values;\n}\n\nfunction extend() {\n var params = objectValues(arguments);\n params.unshift({});\n return objectAssign.get().apply(undefined, params);\n}\n\nfunction merge(object, keys) {\n return {\n base: keys ? pick(object, keys) : object,\n with: function(object2, keys2) {\n object2 = keys2 ? pick(object2, keys2) : object2;\n return extend(this.base, object2);\n }\n };\n}\n\nfunction blacklist(object, blacklistedKeys) {\n return Object.keys(object).reduce(function(p, key) {\n if (blacklistedKeys.indexOf(key) === -1) {\n p[key] = object[key];\n }\n return p;\n }, {});\n}\n\nfunction camelToSnake(str) {\n var newKey = '';\n var index = 0;\n var code;\n var wasPrevNumber = true;\n var wasPrevUppercase = true;\n\n while (index < str.length) {\n code = str.charCodeAt(index);\n if (\n (!wasPrevUppercase && code >= 65 && code <= 90) ||\n (!wasPrevNumber && code >= 48 && code <= 57)\n ) {\n newKey += '_';\n newKey += str[index].toLowerCase();\n } else {\n newKey += str[index].toLowerCase();\n }\n wasPrevNumber = code >= 48 && code <= 57;\n wasPrevUppercase = code >= 65 && code <= 90;\n index++;\n }\n\n return newKey;\n}\n\nfunction snakeToCamel(str) {\n var parts = str.split('_');\n return parts.reduce(function(p, c) {\n return p + c.charAt(0).toUpperCase() + c.slice(1);\n }, parts.shift());\n}\n\nfunction toSnakeCase(object, exceptions) {\n if (typeof object !== 'object' || assert.isArray(object) || object === null) {\n return object;\n }\n exceptions = exceptions || [];\n\n return Object.keys(object).reduce(function(p, key) {\n var newKey = exceptions.indexOf(key) === -1 ? camelToSnake(key) : key;\n p[newKey] = toSnakeCase(object[key]);\n return p;\n }, {});\n}\n\nfunction toCamelCase(object, exceptions) {\n if (typeof object !== 'object' || assert.isArray(object) || object === null) {\n return object;\n }\n\n exceptions = exceptions || [];\n\n return Object.keys(object).reduce(function(p, key) {\n var newKey = exceptions.indexOf(key) === -1 ? snakeToCamel(key) : key;\n p[newKey] = toCamelCase(object[key]);\n return p;\n }, {});\n}\n\nmodule.exports = {\n toSnakeCase: toSnakeCase,\n toCamelCase: toCamelCase,\n blacklist: blacklist,\n merge: merge,\n pick: pick,\n getKeysNotIn: getKeysNotIn,\n extend: extend\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/object.js\n// module id = 2\n// module chunks = 0","function redirect(url) {\n global.window.location = url;\n}\n\nfunction getDocument() {\n return global.window.document;\n}\n\nfunction getWindow() {\n return global.window;\n}\n\nmodule.exports = {\n redirect: redirect,\n getDocument: getDocument,\n getWindow: getWindow\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/window.js\n// module id = 3\n// module chunks = 0 1","var toString = Object.prototype.toString;\n\nfunction attribute(o, attr, type, text) {\n type = type === 'array' ? 'object' : type;\n if (o && typeof o[attr] !== type) {\n throw new Error(text);\n }\n}\n\nfunction variable(o, type, text) {\n if (typeof o !== type) {\n throw new Error(text);\n }\n}\n\nfunction value(o, values, text) {\n if (values.indexOf(o) === -1) {\n throw new Error(text);\n }\n}\n\nfunction check(o, config, attributes) {\n if (!config.optional || o) {\n variable(o, config.type, config.message);\n }\n if (config.type === 'object' && attributes) {\n var keys = Object.keys(attributes);\n\n for (var index = 0; index < keys.length; index++) {\n var a = keys[index];\n if (!attributes[a].optional || o[a]) {\n if (!attributes[a].condition || attributes[a].condition(o)) {\n attribute(o, a, attributes[a].type, attributes[a].message);\n if (attributes[a].values) {\n value(o[a], attributes[a].values, attributes[a].value_message);\n }\n }\n }\n }\n }\n}\n\n/**\n * Wrap `Array.isArray` Polyfill for IE9\n * source: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray\n *\n * @param {Array} array\n * @private\n */\nfunction isArray(array) {\n if (this.supportsIsArray()) {\n return Array.isArray(array);\n }\n\n return toString.call(array) === '[object Array]';\n}\n\nfunction supportsIsArray() {\n return Array.isArray != null;\n}\n\nmodule.exports = {\n check: check,\n attribute: attribute,\n variable: variable,\n value: value,\n isArray: isArray,\n supportsIsArray: supportsIsArray\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/assert.js\n// module id = 4\n// module chunks = 0","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/qs/lib/index.js\n// module id = 5\n// module chunks = 0 1","var error = require('./error');\nvar objectHelper = require('./object');\n\nfunction wrapCallback(cb, options) {\n options = options || {};\n options.ignoreCasing = options.ignoreCasing ? options.ignoreCasing : false;\n\n return function(err, data) {\n var errObj;\n\n if (!err && !data) {\n return cb(error.buildResponse('generic_error', 'Something went wrong'));\n }\n\n if (!err && data.err) {\n err = data.err;\n data = null;\n }\n\n if (!err && data.error) {\n err = data;\n data = null;\n }\n\n if (err) {\n errObj = {\n original: err\n };\n\n if (err.response && err.response.statusCode) {\n errObj.statusCode = err.response.statusCode;\n }\n\n if (err.response && err.response.statusText) {\n errObj.statusText = err.response.statusText;\n }\n\n if (err.response && err.response.body) {\n err = err.response.body;\n }\n\n if (err.err) {\n err = err.err;\n }\n\n errObj.code = err.error || err.code || err.error_code || err.status || null;\n errObj.description =\n err.errorDescription ||\n err.error_description ||\n err.description ||\n err.error ||\n err.details ||\n err.err ||\n null;\n\n if (err.name) {\n errObj.name = err.name;\n }\n\n if (err.policy) {\n errObj.policy = err.policy;\n }\n\n return cb(errObj);\n }\n\n if (data.type && (data.type === 'text/html' || data.type === 'text/plain')) {\n return cb(null, data.text);\n }\n\n if (options.ignoreCasing) {\n return cb(null, data.body || data);\n }\n\n return cb(null, objectHelper.toCamelCase(data.body || data));\n };\n}\n\nmodule.exports = wrapCallback;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/response-handler.js\n// module id = 6\n// module chunks = 0","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nmodule.exports = {\n 'default': 'RFC3986',\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return value;\n }\n },\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/qs/lib/formats.js\n// module id = 7\n// module chunks = 0 1","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nexports.arrayToObject = function (source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nexports.merge = function (target, source, options) {\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (Array.isArray(target)) {\n target.push(source);\n } else if (typeof target === 'object') {\n if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (Array.isArray(target) && !Array.isArray(source)) {\n mergeTarget = exports.arrayToObject(target, options);\n }\n\n if (Array.isArray(target) && Array.isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n if (target[i] && typeof target[i] === 'object') {\n target[i] = exports.merge(target[i], item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (Object.prototype.hasOwnProperty.call(acc, key)) {\n acc[key] = exports.merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nexports.decode = function (str) {\n try {\n return decodeURIComponent(str.replace(/\\+/g, ' '));\n } catch (e) {\n return str;\n }\n};\n\nexports.encode = function (str) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = typeof str === 'string' ? str : String(str);\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D || // -\n c === 0x2E || // .\n c === 0x5F || // _\n c === 0x7E || // ~\n (c >= 0x30 && c <= 0x39) || // 0-9\n (c >= 0x41 && c <= 0x5A) || // a-z\n (c >= 0x61 && c <= 0x7A) // A-Z\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]; // eslint-disable-line max-len\n }\n\n return out;\n};\n\nexports.compact = function (obj, references) {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n\n var refs = references || [];\n var lookup = refs.indexOf(obj);\n if (lookup !== -1) {\n return refs[lookup];\n }\n\n refs.push(obj);\n\n if (Array.isArray(obj)) {\n var compacted = [];\n\n for (var i = 0; i < obj.length; ++i) {\n if (obj[i] && typeof obj[i] === 'object') {\n compacted.push(exports.compact(obj[i], refs));\n } else if (typeof obj[i] !== 'undefined') {\n compacted.push(obj[i]);\n }\n }\n\n return compacted;\n }\n\n var keys = Object.keys(obj);\n keys.forEach(function (key) {\n obj[key] = exports.compact(obj[key], refs);\n });\n\n return obj;\n};\n\nexports.isRegExp = function (obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nexports.isBuffer = function (obj) {\n if (obj === null || typeof obj === 'undefined') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/qs/lib/utils.js\n// module id = 8\n// module chunks = 0 1","module.exports = { raw: '8.9.3' };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/version.js\n// module id = 9\n// module chunks = 0 1","/* eslint-disable no-param-reassign */\nvar request = require('superagent');\nvar base64Url = require('./base64_url');\nvar version = require('../version');\n\n// ------------------------------------------------ RequestWrapper\n\nfunction RequestWrapper(req) {\n this.request = req;\n this.method = req.method;\n this.url = req.url;\n this.body = req._data;\n this.headers = req._header;\n}\n\nRequestWrapper.prototype.abort = function() {\n this.request.abort();\n};\n\nRequestWrapper.prototype.getMethod = function() {\n return this.method;\n};\n\nRequestWrapper.prototype.getBody = function() {\n return this.body;\n};\n\nRequestWrapper.prototype.getUrl = function() {\n return this.url;\n};\n\nRequestWrapper.prototype.getHeaders = function() {\n return this.headers;\n};\n\n// ------------------------------------------------ RequestObj\n\nfunction RequestObj(req) {\n this.request = req;\n}\n\nRequestObj.prototype.set = function(key, value) {\n this.request = this.request.set(key, value);\n return this;\n};\n\nRequestObj.prototype.send = function(body) {\n this.request = this.request.send(body);\n return this;\n};\n\nRequestObj.prototype.withCredentials = function() {\n this.request = this.request.withCredentials();\n return this;\n};\n\nRequestObj.prototype.end = function(cb) {\n this.request = this.request.end(cb);\n return new RequestWrapper(this.request);\n};\n\n// ------------------------------------------------ RequestBuilder\n\nfunction RequestBuilder(options) {\n this._sendTelemetry = options._sendTelemetry === false ? options._sendTelemetry : true;\n this._telemetryInfo = options._telemetryInfo || null;\n this._timesToRetryFailedRequests = options._timesToRetryFailedRequests;\n this.headers = options.headers || {};\n}\n\nRequestBuilder.prototype.setCommonConfiguration = function(ongoingRequest, options) {\n options = options || {};\n\n if (options.noHeaders) {\n return ongoingRequest;\n }\n\n var headers = this.headers;\n ongoingRequest = ongoingRequest.set('Content-Type', 'application/json');\n\n var keys = Object.keys(this.headers);\n\n for (var a = 0; a < keys.length; a++) {\n ongoingRequest = ongoingRequest.set(keys[a], headers[keys[a]]);\n }\n\n if (this._sendTelemetry) {\n ongoingRequest = ongoingRequest.set('Auth0-Client', this.getTelemetryData());\n }\n if (this._timesToRetryFailedRequests > 0) {\n ongoingRequest = ongoingRequest.retry(this._timesToRetryFailedRequests);\n }\n return ongoingRequest;\n};\n\nRequestBuilder.prototype.getTelemetryData = function() {\n var clientInfo = this._telemetryInfo || { name: 'auth0.js', version: version.raw };\n var jsonClientInfo = JSON.stringify(clientInfo);\n return base64Url.encode(jsonClientInfo);\n};\n\nRequestBuilder.prototype.get = function(url, options) {\n return new RequestObj(this.setCommonConfiguration(request.get(url), options));\n};\n\nRequestBuilder.prototype.post = function(url, options) {\n return new RequestObj(this.setCommonConfiguration(request.post(url), options));\n};\n\nRequestBuilder.prototype.patch = function(url, options) {\n return new RequestObj(this.setCommonConfiguration(request.patch(url), options));\n};\n\nmodule.exports = RequestBuilder;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/request-builder.js\n// module id = 10\n// module chunks = 0","/* eslint-disable no-console */\n\nfunction Warn(options) {\n this.disableWarnings = options.disableWarnings;\n}\n\nWarn.prototype.warning = function(message) {\n if (this.disableWarnings) {\n return;\n }\n\n console.warn(message);\n};\n\nmodule.exports = Warn;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/warn.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n arrayLimit: 20,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n parameterLimit: 1000,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var parts = str.split(options.delimiter, options.parameterLimit === Infinity ? undefined : options.parameterLimit);\n\n for (var i = 0; i < parts.length; ++i) {\n var part = parts[i];\n var pos = part.indexOf(']=') === -1 ? part.indexOf('=') : part.indexOf(']=') + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part);\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos));\n val = options.decoder(part.slice(pos + 1));\n }\n if (has.call(obj, key)) {\n obj[key] = [].concat(obj[key]).concat(val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function parseObjectRecursive(chain, val, options) {\n if (!chain.length) {\n return val;\n }\n\n var root = chain.shift();\n\n var obj;\n if (root === '[]') {\n obj = [];\n obj = obj.concat(parseObject(chain, val, options));\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (\n !isNaN(index) &&\n root !== cleanRoot &&\n String(index) === cleanRoot &&\n index >= 0 &&\n (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = parseObject(chain, val, options);\n } else {\n obj[cleanRoot] = parseObject(chain, val, options);\n }\n }\n\n return obj;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys\n // that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while ((segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options);\n};\n\nmodule.exports = function (str, opts) {\n var options = opts || {};\n\n if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;\n options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;\n options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;\n options.parseArrays = options.parseArrays !== false;\n options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;\n options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;\n options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;\n options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;\n options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;\n options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options);\n obj = utils.merge(obj, newObj, options);\n }\n\n return utils.compact(obj);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/qs/lib/parse.js\n// module id = 12\n// module chunks = 0 1","'use strict';\n\nvar utils = require('./utils');\nvar formats = require('./formats');\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) { // eslint-disable-line func-name-matching\n return prefix + '[]';\n },\n indices: function indices(prefix, key) { // eslint-disable-line func-name-matching\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) { // eslint-disable-line func-name-matching\n return prefix;\n }\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaults = {\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar stringify = function stringify( // eslint-disable-line func-name-matching\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n) {\n var obj = object;\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix) : prefix;\n }\n\n obj = '';\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix);\n return [formatter(keyValue) + '=' + formatter(encoder(obj))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (Array.isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n if (Array.isArray(obj)) {\n values = values.concat(stringify(\n obj[key],\n generateArrayPrefix(prefix, key),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n } else {\n values = values.concat(stringify(\n obj[key],\n prefix + (allowDots ? '.' + key : '[' + key + ']'),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n }\n\n return values;\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = opts || {};\n\n if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;\n var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;\n var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;\n var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;\n var sort = typeof options.sort === 'function' ? options.sort : null;\n var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;\n var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;\n var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;\n if (typeof options.format === 'undefined') {\n options.format = formats.default;\n } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n var formatter = formats.formatters[options.format];\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (Array.isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (options.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = options.arrayFormat;\n } else if ('indices' in options) {\n arrayFormat = options.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (sort) {\n objKeys.sort(sort);\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n keys = keys.concat(stringify(\n obj[key],\n key,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encode ? encoder : null,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n\n return keys.join(delimiter);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/qs/lib/stringify.js\n// module id = 13\n// module chunks = 0 1","/**\n * Check if `obj` is an object.\n *\n * @param {Object} obj\n * @return {Boolean}\n * @api private\n */\n\nfunction isObject(obj) {\n return null !== obj && 'object' === typeof obj;\n}\n\nmodule.exports = isObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/superagent/lib/is-object.js\n// module id = 14\n// module chunks = 0","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return b64.length * 3 / 4 - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, j, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr(len * 3 / 4 - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0, j = 0; i < l; i += 4, j += 3) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/base64-js/index.js\n// module id = 15\n// module chunks = 0","var base64 = require('base64-js');\n\nfunction padding(str) {\n var mod = (str.length % 4);\n var pad = 4 - mod;\n\n if (mod === 0) {\n return str;\n }\n\n return str + (new Array(1 + pad)).join('=');\n}\n\nfunction byteArrayToString(array) {\n var result = \"\";\n for (var i = 0; i < array.length; i++) {\n result += String.fromCharCode(array[i]);\n }\n return result;\n}\n\nfunction stringToByteArray(str) {\n var arr = new Array(str.length);\n for (var a = 0; a < str.length; a++) {\n arr[a] = str.charCodeAt(a);\n }\n return arr;\n}\n\nfunction byteArrayToHex(raw) {\n var HEX = '';\n\n for (var i = 0; i < raw.length; i++) {\n var _hex = raw[i].toString(16);\n HEX += (_hex.length === 2 ? _hex : '0' + _hex);\n }\n\n return HEX;\n}\n\nfunction encodeString(str) {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n return String.fromCharCode('0x' + p1);\n }))\n .replace(/\\+/g, '-') // Convert '+' to '-'\n .replace(/\\//g, '_'); // Convert '/' to '_';\n}\n\nfunction decodeToString(str) {\n str = padding(str)\n .replace(/\\-/g, '+') // Convert '-' to '+'\n .replace(/_/g, '/'); // Convert '_' to '/'\n\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n}\n\nfunction decodeToHEX(str) {\n return byteArrayToHex(base64.toByteArray(padding(str)));\n}\n\nmodule.exports = {\n encodeString: encodeString,\n decodeToString: decodeToString,\n byteArrayToString: byteArrayToString,\n stringToByteArray: stringToByteArray,\n padding: padding,\n byteArrayToHex: byteArrayToHex,\n decodeToHEX: decodeToHEX\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/idtoken-verifier/src/helpers/base64.js\n// module id = 16\n// module chunks = 0","/**\n * Root reference for iframes.\n */\n\nvar root;\nif (typeof window !== 'undefined') { // Browser window\n root = window;\n} else if (typeof self !== 'undefined') { // Web Worker\n root = self;\n} else { // Other environments\n console.warn(\"Using browser-only version of superagent in non-browser environment\");\n root = this;\n}\n\nvar Emitter = require('component-emitter');\nvar RequestBase = require('./request-base');\nvar isObject = require('./is-object');\nvar isFunction = require('./is-function');\nvar ResponseBase = require('./response-base');\nvar shouldRetry = require('./should-retry');\n\n/**\n * Noop.\n */\n\nfunction noop(){};\n\n/**\n * Expose `request`.\n */\n\nvar request = exports = module.exports = function(method, url) {\n // callback\n if ('function' == typeof url) {\n return new exports.Request('GET', method).end(url);\n }\n\n // url first\n if (1 == arguments.length) {\n return new exports.Request('GET', method);\n }\n\n return new exports.Request(method, url);\n}\n\nexports.Request = Request;\n\n/**\n * Determine XHR.\n */\n\nrequest.getXHR = function () {\n if (root.XMLHttpRequest\n && (!root.location || 'file:' != root.location.protocol\n || !root.ActiveXObject)) {\n return new XMLHttpRequest;\n } else {\n try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch(e) {}\n try { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); } catch(e) {}\n try { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); } catch(e) {}\n try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) {}\n }\n throw Error(\"Browser-only verison of superagent could not find XHR\");\n};\n\n/**\n * Removes leading and trailing whitespace, added to support IE.\n *\n * @param {String} s\n * @return {String}\n * @api private\n */\n\nvar trim = ''.trim\n ? function(s) { return s.trim(); }\n : function(s) { return s.replace(/(^\\s*|\\s*$)/g, ''); };\n\n/**\n * Serialize the given `obj`.\n *\n * @param {Object} obj\n * @return {String}\n * @api private\n */\n\nfunction serialize(obj) {\n if (!isObject(obj)) return obj;\n var pairs = [];\n for (var key in obj) {\n pushEncodedKeyValuePair(pairs, key, obj[key]);\n }\n return pairs.join('&');\n}\n\n/**\n * Helps 'serialize' with serializing arrays.\n * Mutates the pairs array.\n *\n * @param {Array} pairs\n * @param {String} key\n * @param {Mixed} val\n */\n\nfunction pushEncodedKeyValuePair(pairs, key, val) {\n if (val != null) {\n if (Array.isArray(val)) {\n val.forEach(function(v) {\n pushEncodedKeyValuePair(pairs, key, v);\n });\n } else if (isObject(val)) {\n for(var subkey in val) {\n pushEncodedKeyValuePair(pairs, key + '[' + subkey + ']', val[subkey]);\n }\n } else {\n pairs.push(encodeURIComponent(key)\n + '=' + encodeURIComponent(val));\n }\n } else if (val === null) {\n pairs.push(encodeURIComponent(key));\n }\n}\n\n/**\n * Expose serialization method.\n */\n\n request.serializeObject = serialize;\n\n /**\n * Parse the given x-www-form-urlencoded `str`.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nfunction parseString(str) {\n var obj = {};\n var pairs = str.split('&');\n var pair;\n var pos;\n\n for (var i = 0, len = pairs.length; i < len; ++i) {\n pair = pairs[i];\n pos = pair.indexOf('=');\n if (pos == -1) {\n obj[decodeURIComponent(pair)] = '';\n } else {\n obj[decodeURIComponent(pair.slice(0, pos))] =\n decodeURIComponent(pair.slice(pos + 1));\n }\n }\n\n return obj;\n}\n\n/**\n * Expose parser.\n */\n\nrequest.parseString = parseString;\n\n/**\n * Default MIME type map.\n *\n * superagent.types.xml = 'application/xml';\n *\n */\n\nrequest.types = {\n html: 'text/html',\n json: 'application/json',\n xml: 'application/xml',\n urlencoded: 'application/x-www-form-urlencoded',\n 'form': 'application/x-www-form-urlencoded',\n 'form-data': 'application/x-www-form-urlencoded'\n};\n\n/**\n * Default serialization map.\n *\n * superagent.serialize['application/xml'] = function(obj){\n * return 'generated xml here';\n * };\n *\n */\n\n request.serialize = {\n 'application/x-www-form-urlencoded': serialize,\n 'application/json': JSON.stringify\n };\n\n /**\n * Default parsers.\n *\n * superagent.parse['application/xml'] = function(str){\n * return { object parsed from str };\n * };\n *\n */\n\nrequest.parse = {\n 'application/x-www-form-urlencoded': parseString,\n 'application/json': JSON.parse\n};\n\n/**\n * Parse the given header `str` into\n * an object containing the mapped fields.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nfunction parseHeader(str) {\n var lines = str.split(/\\r?\\n/);\n var fields = {};\n var index;\n var line;\n var field;\n var val;\n\n lines.pop(); // trailing CRLF\n\n for (var i = 0, len = lines.length; i < len; ++i) {\n line = lines[i];\n index = line.indexOf(':');\n field = line.slice(0, index).toLowerCase();\n val = trim(line.slice(index + 1));\n fields[field] = val;\n }\n\n return fields;\n}\n\n/**\n * Check if `mime` is json or has +json structured syntax suffix.\n *\n * @param {String} mime\n * @return {Boolean}\n * @api private\n */\n\nfunction isJSON(mime) {\n return /[\\/+]json\\b/.test(mime);\n}\n\n/**\n * Initialize a new `Response` with the given `xhr`.\n *\n * - set flags (.ok, .error, etc)\n * - parse header\n *\n * Examples:\n *\n * Aliasing `superagent` as `request` is nice:\n *\n * request = superagent;\n *\n * We can use the promise-like API, or pass callbacks:\n *\n * request.get('/').end(function(res){});\n * request.get('/', function(res){});\n *\n * Sending data can be chained:\n *\n * request\n * .post('/user')\n * .send({ name: 'tj' })\n * .end(function(res){});\n *\n * Or passed to `.send()`:\n *\n * request\n * .post('/user')\n * .send({ name: 'tj' }, function(res){});\n *\n * Or passed to `.post()`:\n *\n * request\n * .post('/user', { name: 'tj' })\n * .end(function(res){});\n *\n * Or further reduced to a single call for simple cases:\n *\n * request\n * .post('/user', { name: 'tj' }, function(res){});\n *\n * @param {XMLHTTPRequest} xhr\n * @param {Object} options\n * @api private\n */\n\nfunction Response(req) {\n this.req = req;\n this.xhr = this.req.xhr;\n // responseText is accessible only if responseType is '' or 'text' and on older browsers\n this.text = ((this.req.method !='HEAD' && (this.xhr.responseType === '' || this.xhr.responseType === 'text')) || typeof this.xhr.responseType === 'undefined')\n ? this.xhr.responseText\n : null;\n this.statusText = this.req.xhr.statusText;\n var status = this.xhr.status;\n // handle IE9 bug: http://stackoverflow.com/questions/10046972/msie-returns-status-code-of-1223-for-ajax-request\n if (status === 1223) {\n status = 204;\n }\n this._setStatusProperties(status);\n this.header = this.headers = parseHeader(this.xhr.getAllResponseHeaders());\n // getAllResponseHeaders sometimes falsely returns \"\" for CORS requests, but\n // getResponseHeader still works. so we get content-type even if getting\n // other headers fails.\n this.header['content-type'] = this.xhr.getResponseHeader('content-type');\n this._setHeaderProperties(this.header);\n\n if (null === this.text && req._responseType) {\n this.body = this.xhr.response;\n } else {\n this.body = this.req.method != 'HEAD'\n ? this._parseBody(this.text ? this.text : this.xhr.response)\n : null;\n }\n}\n\nResponseBase(Response.prototype);\n\n/**\n * Parse the given body `str`.\n *\n * Used for auto-parsing of bodies. Parsers\n * are defined on the `superagent.parse` object.\n *\n * @param {String} str\n * @return {Mixed}\n * @api private\n */\n\nResponse.prototype._parseBody = function(str){\n var parse = request.parse[this.type];\n if(this.req._parser) {\n return this.req._parser(this, str);\n }\n if (!parse && isJSON(this.type)) {\n parse = request.parse['application/json'];\n }\n return parse && str && (str.length || str instanceof Object)\n ? parse(str)\n : null;\n};\n\n/**\n * Return an `Error` representative of this response.\n *\n * @return {Error}\n * @api public\n */\n\nResponse.prototype.toError = function(){\n var req = this.req;\n var method = req.method;\n var url = req.url;\n\n var msg = 'cannot ' + method + ' ' + url + ' (' + this.status + ')';\n var err = new Error(msg);\n err.status = this.status;\n err.method = method;\n err.url = url;\n\n return err;\n};\n\n/**\n * Expose `Response`.\n */\n\nrequest.Response = Response;\n\n/**\n * Initialize a new `Request` with the given `method` and `url`.\n *\n * @param {String} method\n * @param {String} url\n * @api public\n */\n\nfunction Request(method, url) {\n var self = this;\n this._query = this._query || [];\n this.method = method;\n this.url = url;\n this.header = {}; // preserves header name case\n this._header = {}; // coerces header names to lowercase\n this.on('end', function(){\n var err = null;\n var res = null;\n\n try {\n res = new Response(self);\n } catch(e) {\n err = new Error('Parser is unable to parse the response');\n err.parse = true;\n err.original = e;\n // issue #675: return the raw response if the response parsing fails\n if (self.xhr) {\n // ie9 doesn't have 'response' property\n err.rawResponse = typeof self.xhr.responseType == 'undefined' ? self.xhr.responseText : self.xhr.response;\n // issue #876: return the http status code if the response parsing fails\n err.status = self.xhr.status ? self.xhr.status : null;\n err.statusCode = err.status; // backwards-compat only\n } else {\n err.rawResponse = null;\n err.status = null;\n }\n\n return self.callback(err);\n }\n\n self.emit('response', res);\n\n var new_err;\n try {\n if (!self._isResponseOK(res)) {\n new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n new_err.original = err;\n new_err.response = res;\n new_err.status = res.status;\n }\n } catch(e) {\n new_err = e; // #985 touching res may cause INVALID_STATE_ERR on old Android\n }\n\n // #1000 don't catch errors from the callback to avoid double calling it\n if (new_err) {\n self.callback(new_err, res);\n } else {\n self.callback(null, res);\n }\n });\n}\n\n/**\n * Mixin `Emitter` and `RequestBase`.\n */\n\nEmitter(Request.prototype);\nRequestBase(Request.prototype);\n\n/**\n * Set Content-Type to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.xml = 'application/xml';\n *\n * request.post('/')\n * .type('xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * request.post('/')\n * .type('application/xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * @param {String} type\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.type = function(type){\n this.set('Content-Type', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Accept to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.json = 'application/json';\n *\n * request.get('/agent')\n * .accept('json')\n * .end(callback);\n *\n * request.get('/agent')\n * .accept('application/json')\n * .end(callback);\n *\n * @param {String} accept\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.accept = function(type){\n this.set('Accept', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Authorization field value with `user` and `pass`.\n *\n * @param {String} user\n * @param {String} [pass] optional in case of using 'bearer' as type\n * @param {Object} options with 'type' property 'auto', 'basic' or 'bearer' (default 'basic')\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.auth = function(user, pass, options){\n if (typeof pass === 'object' && pass !== null) { // pass is optional and can substitute for options\n options = pass;\n }\n if (!options) {\n options = {\n type: 'function' === typeof btoa ? 'basic' : 'auto',\n }\n }\n\n switch (options.type) {\n case 'basic':\n this.set('Authorization', 'Basic ' + btoa(user + ':' + pass));\n break;\n\n case 'auto':\n this.username = user;\n this.password = pass;\n break;\n \n case 'bearer': // usage would be .auth(accessToken, { type: 'bearer' })\n this.set('Authorization', 'Bearer ' + user);\n break; \n }\n return this;\n};\n\n/**\n * Add query-string `val`.\n *\n * Examples:\n *\n * request.get('/shoes')\n * .query('size=10')\n * .query({ color: 'blue' })\n *\n * @param {Object|String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.query = function(val){\n if ('string' != typeof val) val = serialize(val);\n if (val) this._query.push(val);\n return this;\n};\n\n/**\n * Queue the given `file` as an attachment to the specified `field`,\n * with optional `options` (or filename).\n *\n * ``` js\n * request.post('/upload')\n * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n * .end(callback);\n * ```\n *\n * @param {String} field\n * @param {Blob|File} file\n * @param {String|Object} options\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.attach = function(field, file, options){\n if (file) {\n if (this._data) {\n throw Error(\"superagent can't mix .send() and .attach()\");\n }\n\n this._getFormData().append(field, file, options || file.name);\n }\n return this;\n};\n\nRequest.prototype._getFormData = function(){\n if (!this._formData) {\n this._formData = new root.FormData();\n }\n return this._formData;\n};\n\n/**\n * Invoke the callback with `err` and `res`\n * and handle arity check.\n *\n * @param {Error} err\n * @param {Response} res\n * @api private\n */\n\nRequest.prototype.callback = function(err, res){\n // console.log(this._retries, this._maxRetries)\n if (this._maxRetries && this._retries++ < this._maxRetries && shouldRetry(err, res)) {\n return this._retry();\n }\n\n var fn = this._callback;\n this.clearTimeout();\n\n if (err) {\n if (this._maxRetries) err.retries = this._retries - 1;\n this.emit('error', err);\n }\n\n fn(err, res);\n};\n\n/**\n * Invoke callback with x-domain error.\n *\n * @api private\n */\n\nRequest.prototype.crossDomainError = function(){\n var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n err.crossDomain = true;\n\n err.status = this.status;\n err.method = this.method;\n err.url = this.url;\n\n this.callback(err);\n};\n\n// This only warns, because the request is still likely to work\nRequest.prototype.buffer = Request.prototype.ca = Request.prototype.agent = function(){\n console.warn(\"This is not supported in browser version of superagent\");\n return this;\n};\n\n// This throws, because it can't send/receive data as expected\nRequest.prototype.pipe = Request.prototype.write = function(){\n throw Error(\"Streaming is not supported in browser version of superagent\");\n};\n\n/**\n * Compose querystring to append to req.url\n *\n * @api private\n */\n\nRequest.prototype._appendQueryString = function(){\n var query = this._query.join('&');\n if (query) {\n this.url += (this.url.indexOf('?') >= 0 ? '&' : '?') + query;\n }\n\n if (this._sort) {\n var index = this.url.indexOf('?');\n if (index >= 0) {\n var queryArr = this.url.substring(index + 1).split('&');\n if (isFunction(this._sort)) {\n queryArr.sort(this._sort);\n } else {\n queryArr.sort();\n }\n this.url = this.url.substring(0, index) + '?' + queryArr.join('&');\n }\n }\n};\n\n/**\n * Check if `obj` is a host object,\n * we don't want to serialize these :)\n *\n * @param {Object} obj\n * @return {Boolean}\n * @api private\n */\nRequest.prototype._isHost = function _isHost(obj) {\n // Native objects stringify to [object File], [object Blob], [object FormData], etc.\n return obj && 'object' === typeof obj && !Array.isArray(obj) && Object.prototype.toString.call(obj) !== '[object Object]';\n}\n\n/**\n * Initiate request, invoking callback `fn(res)`\n * with an instanceof `Response`.\n *\n * @param {Function} fn\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.end = function(fn){\n if (this._endCalled) {\n console.warn(\"Warning: .end() was called twice. This is not supported in superagent\");\n }\n this._endCalled = true;\n\n // store callback\n this._callback = fn || noop;\n\n // querystring\n this._appendQueryString();\n\n return this._end();\n};\n\nRequest.prototype._end = function() {\n var self = this;\n var xhr = this.xhr = request.getXHR();\n var data = this._formData || this._data;\n\n this._setTimeouts();\n\n // state change\n xhr.onreadystatechange = function(){\n var readyState = xhr.readyState;\n if (readyState >= 2 && self._responseTimeoutTimer) {\n clearTimeout(self._responseTimeoutTimer);\n }\n if (4 != readyState) {\n return;\n }\n\n // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n // result in the error \"Could not complete the operation due to error c00c023f\"\n var status;\n try { status = xhr.status } catch(e) { status = 0; }\n\n if (!status) {\n if (self.timedout || self._aborted) return;\n return self.crossDomainError();\n }\n self.emit('end');\n };\n\n // progress\n var handleProgress = function(direction, e) {\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n e.direction = direction;\n self.emit('progress', e);\n }\n if (this.hasListeners('progress')) {\n try {\n xhr.onprogress = handleProgress.bind(null, 'download');\n if (xhr.upload) {\n xhr.upload.onprogress = handleProgress.bind(null, 'upload');\n }\n } catch(e) {\n // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n // Reported here:\n // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n }\n }\n\n // initiate request\n try {\n if (this.username && this.password) {\n xhr.open(this.method, this.url, true, this.username, this.password);\n } else {\n xhr.open(this.method, this.url, true);\n }\n } catch (err) {\n // see #1149\n return this.callback(err);\n }\n\n // CORS\n if (this._withCredentials) xhr.withCredentials = true;\n\n // body\n if (!this._formData && 'GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n // serialize stuff\n var contentType = this._header['content-type'];\n var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n if (!serialize && isJSON(contentType)) {\n serialize = request.serialize['application/json'];\n }\n if (serialize) data = serialize(data);\n }\n\n // set header fields\n for (var field in this.header) {\n if (null == this.header[field]) continue;\n xhr.setRequestHeader(field, this.header[field]);\n }\n\n if (this._responseType) {\n xhr.responseType = this._responseType;\n }\n\n // send stuff\n this.emit('request', this);\n\n // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n // We need null here if data is undefined\n xhr.send(typeof data !== 'undefined' ? data : null);\n return this;\n};\n\n/**\n * GET `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.get = function(url, data, fn){\n var req = request('GET', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * HEAD `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.head = function(url, data, fn){\n var req = request('HEAD', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * OPTIONS query to `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.options = function(url, data, fn){\n var req = request('OPTIONS', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * DELETE `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nfunction del(url, data, fn){\n var req = request('DELETE', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\nrequest['del'] = del;\nrequest['delete'] = del;\n\n/**\n * PATCH `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.patch = function(url, data, fn){\n var req = request('PATCH', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * POST `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.post = function(url, data, fn){\n var req = request('POST', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * PUT `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.put = function(url, data, fn){\n var req = request('PUT', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/superagent/lib/client.js\n// module id = 17\n// module chunks = 0","var WinChan = (function() {\n var RELAY_FRAME_NAME = \"__winchan_relay_frame\";\n var CLOSE_CMD = \"die\";\n\n // a portable addListener implementation\n function addListener(w, event, cb) {\n if(w.attachEvent) w.attachEvent('on' + event, cb);\n else if (w.addEventListener) w.addEventListener(event, cb, false);\n }\n\n // a portable removeListener implementation\n function removeListener(w, event, cb) {\n if(w.detachEvent) w.detachEvent('on' + event, cb);\n else if (w.removeEventListener) w.removeEventListener(event, cb, false);\n }\n\n\n // checking for IE8 or above\n function isInternetExplorer() {\n if (typeof navigator === 'undefined') {\n return false;\n }\n\n var rv = -1; // Return value assumes failure.\n var ua = navigator.userAgent;\n if (navigator.appName === 'Microsoft Internet Explorer') {\n var re = new RegExp(\"MSIE ([0-9]{1,}[\\.0-9]{0,})\");\n if (re.exec(ua) != null)\n rv = parseFloat(RegExp.$1);\n }\n // IE > 11\n else if (ua.indexOf(\"Trident\") > -1) {\n var re = new RegExp(\"rv:([0-9]{2,2}[\\.0-9]{0,})\");\n if (re.exec(ua) !== null) {\n rv = parseFloat(RegExp.$1);\n }\n }\n\n return rv >= 8;\n }\n\n // checking Mobile Firefox (Fennec)\n function isFennec() {\n try {\n // We must check for both XUL and Java versions of Fennec. Both have\n // distinct UA strings.\n var userAgent = navigator.userAgent;\n return (userAgent.indexOf('Fennec/') != -1) || // XUL\n (userAgent.indexOf('Firefox/') != -1 && userAgent.indexOf('Android') != -1); // Java\n } catch(e) {}\n return false;\n }\n\n // feature checking to see if this platform is supported at all\n function isSupported() {\n return (typeof window !== 'undefined' && window.JSON && window.JSON.stringify &&\n window.JSON.parse && window.postMessage);\n }\n\n // given a URL, extract the origin. Taken from: https://github.com/firebase/firebase-simple-login/blob/d2cb95b9f812d8488bdbfba51c3a7c153ba1a074/js/src/simple-login/transports/WinChan.js#L25-L30\n function extractOrigin(url) {\n if (!/^https?:\\/\\//.test(url)) url = window.location.href;\n var m = /^(https?:\\/\\/[\\-_a-zA-Z\\.0-9:]+)/.exec(url);\n if (m) return m[1];\n return url;\n }\n\n // find the relay iframe in the opener\n function findRelay() {\n var loc = window.location;\n var frames = window.opener.frames;\n for (var i = frames.length - 1; i >= 0; i--) {\n try {\n if (frames[i].location.protocol === window.location.protocol &&\n frames[i].location.host === window.location.host &&\n frames[i].name === RELAY_FRAME_NAME)\n {\n return frames[i];\n }\n } catch(e) { }\n }\n return;\n }\n\n var isIE = isInternetExplorer();\n\n if (isSupported()) {\n /* General flow:\n * 0. user clicks\n * (IE SPECIFIC) 1. caller adds relay iframe (served from trusted domain) to DOM\n * 2. caller opens window (with content from trusted domain)\n * 3. window on opening adds a listener to 'message'\n * (IE SPECIFIC) 4. window on opening finds iframe\n * 5. window checks if iframe is \"loaded\" - has a 'doPost' function yet\n * (IE SPECIFIC5) 5a. if iframe.doPost exists, window uses it to send ready event to caller\n * (IE SPECIFIC5) 5b. if iframe.doPost doesn't exist, window waits for frame ready\n * (IE SPECIFIC5) 5bi. once ready, window calls iframe.doPost to send ready event\n * 6. caller upon reciept of 'ready', sends args\n */\n return {\n open: function(opts, cb) {\n if (!cb) throw \"missing required callback argument\";\n\n // test required options\n var err;\n if (!opts.url) err = \"missing required 'url' parameter\";\n if (!opts.relay_url) err = \"missing required 'relay_url' parameter\";\n if (err) setTimeout(function() { cb(err); }, 0);\n\n // supply default options\n if (!opts.window_name) opts.window_name = null;\n if (!opts.window_features || isFennec()) opts.window_features = undefined;\n\n // opts.params may be undefined\n\n var iframe;\n\n // sanity check, are url and relay_url the same origin?\n var origin = opts.origin || extractOrigin(opts.url);\n if (origin !== extractOrigin(opts.relay_url)) {\n return setTimeout(function() {\n cb('invalid arguments: origin of url and relay_url must match');\n }, 0);\n }\n\n var messageTarget;\n\n if (isIE) {\n // first we need to add a \"relay\" iframe to the document that's served\n // from the target domain. We can postmessage into a iframe, but not a\n // window\n iframe = document.createElement(\"iframe\");\n // iframe.setAttribute('name', framename);\n iframe.setAttribute('src', opts.relay_url);\n iframe.style.display = \"none\";\n iframe.setAttribute('name', RELAY_FRAME_NAME);\n document.body.appendChild(iframe);\n messageTarget = iframe.contentWindow;\n }\n\n var w = opts.popup || window.open(opts.url, opts.window_name, opts.window_features);\n if (opts.popup) {\n w.location.href = opts.url;\n }\n\n if (!messageTarget) messageTarget = w;\n\n // lets listen in case the window blows up before telling us\n var closeInterval = setInterval(function() {\n if (w && w.closed) {\n cleanup();\n if (cb) {\n cb('User closed the popup window');\n cb = null;\n }\n }\n }, 500);\n\n var req = JSON.stringify({a: 'request', d: opts.params});\n\n // cleanup on unload\n function cleanup() {\n if (iframe) document.body.removeChild(iframe);\n iframe = undefined;\n if (closeInterval) closeInterval = clearInterval(closeInterval);\n removeListener(window, 'message', onMessage);\n removeListener(window, 'unload', cleanup);\n if (w) {\n try {\n w.close();\n } catch (securityViolation) {\n // This happens in Opera 12 sometimes\n // see https://github.com/mozilla/browserid/issues/1844\n messageTarget.postMessage(CLOSE_CMD, origin);\n }\n }\n w = messageTarget = undefined;\n }\n\n addListener(window, 'unload', cleanup);\n\n function onMessage(e) {\n if (e.origin !== origin) { return; }\n try {\n var d = JSON.parse(e.data);\n } catch(err) {\n if (cb) {\n cb(err);\n } else {\n throw err;\n }\n }\n\n if (d.a === 'ready') {\n messageTarget.postMessage(req, origin);\n } else if (d.a === 'error') {\n cleanup();\n if (cb) {\n cb(d.d);\n cb = null;\n }\n } else if (d.a === 'response') {\n cleanup();\n if (cb) {\n cb(null, d.d);\n cb = null;\n }\n }\n }\n\n addListener(window, 'message', onMessage);\n\n return {\n close: cleanup,\n focus: function() {\n if (w) {\n try {\n w.focus();\n } catch (e) {\n // IE7 blows up here, do nothing\n }\n }\n }\n };\n },\n onOpen: function(cb) {\n var o = \"*\";\n var msgTarget = isIE ? findRelay() : window.opener;\n if (!msgTarget) throw \"can't find relay frame\";\n function doPost(msg) {\n msg = JSON.stringify(msg);\n if (isIE) msgTarget.doPost(msg, o);\n else msgTarget.postMessage(msg, o);\n }\n\n function onMessage(e) {\n // only one message gets through, but let's make sure it's actually\n // the message we're looking for (other code may be using\n // postmessage) - we do this by ensuring the payload can\n // be parsed, and it's got an 'a' (action) value of 'request'.\n var d;\n try {\n d = JSON.parse(e.data);\n } catch(err) { }\n if (!d || d.a !== 'request') return;\n removeListener(window, 'message', onMessage);\n o = e.origin;\n if (cb) {\n // this setTimeout is critically important for IE8 -\n // in ie8 sometimes addListener for 'message' can synchronously\n // cause your callback to be invoked. awesome.\n setTimeout(function() {\n cb(o, d.d, function(r) {\n cb = undefined;\n doPost({a: 'response', d: r});\n });\n }, 0);\n }\n }\n\n function onDie(e) {\n if (e.data === CLOSE_CMD) {\n try { window.close(); } catch (o_O) {}\n }\n }\n addListener(isIE ? msgTarget : window, 'message', onMessage);\n addListener(isIE ? msgTarget : window, 'message', onDie);\n\n // we cannot post to our parent that we're ready before the iframe\n // is loaded. (IE specific possible failure)\n try {\n doPost({a: \"ready\"});\n } catch(e) {\n // this code should never be exectued outside IE\n addListener(msgTarget, 'load', function(e) {\n doPost({a: \"ready\"});\n });\n }\n\n // if window is unloaded and the client hasn't called cb, it's an error\n var onUnload = function() {\n try {\n // IE8 doesn't like this...\n removeListener(isIE ? msgTarget : window, 'message', onDie);\n } catch (ohWell) { }\n if (cb) doPost({ a: 'error', d: 'client closed window' });\n cb = undefined;\n // explicitly close the window, in case the client is trying to reload or nav\n try { window.close(); } catch (e) { }\n };\n addListener(window, 'unload', onUnload);\n return {\n detach: function() {\n removeListener(window, 'unload', onUnload);\n }\n };\n }\n };\n } else {\n return {\n open: function(url, winopts, arg, cb) {\n setTimeout(function() { cb(\"unsupported browser\"); }, 0);\n },\n onOpen: function(cb) {\n setTimeout(function() { cb(\"unsupported browser\"); }, 0);\n }\n };\n }\n})();\n\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = WinChan;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/winchan/winchan.js\n// module id = 18\n// module chunks = 0","var urljoin = require('url-join');\n\nvar RequestBuilder = require('../helper/request-builder');\nvar qs = require('qs');\nvar objectHelper = require('../helper/object');\nvar assert = require('../helper/assert');\nvar responseHandler = require('../helper/response-handler');\nvar parametersWhitelist = require('../helper/parameters-whitelist');\nvar Warn = require('../helper/warn');\n\nvar PasswordlessAuthentication = require('./passwordless-authentication');\nvar DBConnection = require('./db-connection');\n\n/**\n * Creates a new Auth0 Authentication API client\n * @constructor\n * @param {Object} options\n * @param {String} options.domain your Auth0 domain\n * @param {String} options.clientID your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n * @param {String} [options.responseType] type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n * @see {@link https://auth0.com/docs/api/authentication}\n */\nfunction Authentication(options) {\n /* eslint-disable */\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n domain: { type: 'string', message: 'domain option is required' },\n clientID: { type: 'string', message: 'clientID option is required' },\n responseType: { optional: true, type: 'string', message: 'responseType is not valid' },\n responseMode: { optional: true, type: 'string', message: 'responseMode is not valid' },\n redirectUri: { optional: true, type: 'string', message: 'redirectUri is not valid' },\n scope: { optional: true, type: 'string', message: 'scope is not valid' },\n audience: { optional: true, type: 'string', message: 'audience is not valid' },\n _disableDeprecationWarnings: {\n optional: true,\n type: 'boolean',\n message: '_disableDeprecationWarnings option is not valid'\n },\n _sendTelemetry: {\n optional: true,\n type: 'boolean',\n message: '_sendTelemetry option is not valid'\n },\n _telemetryInfo: {\n optional: true,\n type: 'object',\n message: '_telemetryInfo option is not valid'\n }\n }\n );\n /* eslint-enable */\n\n this.baseOptions = options;\n\n this.baseOptions._sendTelemetry = this.baseOptions._sendTelemetry === false\n ? this.baseOptions._sendTelemetry\n : true;\n\n this.baseOptions.rootUrl = 'https://' + this.baseOptions.domain;\n\n this.request = new RequestBuilder(this.baseOptions);\n\n this.passwordless = new PasswordlessAuthentication(this.request, this.baseOptions);\n this.dbConnection = new DBConnection(this.request, this.baseOptions);\n\n this.warn = new Warn({\n disableWarnings: !!options._disableDeprecationWarnings\n });\n}\n\n/**\n * Builds and returns the `/authorize` url in order to initialize a new authN/authZ transaction\n *\n * @method buildAuthorizeUrl\n * @param {Object} options\n * @param {String} [options.domain] your Auth0 domain\n * @param {String} [options.clientID] your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n * @param {String} options.redirectUri url that the Auth0 will redirect after Auth with the Authorization Response\n * @param {String} options.responseType type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n * @param {String} [options.state] value used to mitigate XSRF attacks. {@link https://auth0.com/docs/protocols/oauth2/oauth-state}\n * @param {String} [options.nonce] value used to mitigate replay attacks when using Implicit Grant. {@link https://auth0.com/docs/api-auth/tutorials/nonce}\n * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n * @see {@link https://auth0.com/docs/api/authentication#authorize-client}\n * @see {@link https://auth0.com/docs/api/authentication#social}\n */\nAuthentication.prototype.buildAuthorizeUrl = function(options) {\n var params;\n var qString;\n\n assert.check(options, { type: 'object', message: 'options parameter is not valid' });\n\n params = objectHelper\n .merge(this.baseOptions, [\n 'clientID',\n 'responseType',\n 'responseMode',\n 'redirectUri',\n 'scope',\n 'audience'\n ])\n .with(options);\n\n /* eslint-disable */\n assert.check(\n params,\n { type: 'object', message: 'options parameter is not valid' },\n {\n clientID: { type: 'string', message: 'clientID option is required' },\n redirectUri: { optional: true, type: 'string', message: 'redirectUri option is required' },\n responseType: { type: 'string', message: 'responseType option is required' },\n nonce: {\n type: 'string',\n message: 'nonce option is required',\n condition: function(o) {\n return o.responseType.indexOf('code') === -1 && o.responseType.indexOf('id_token') !== -1;\n }\n },\n scope: { optional: true, type: 'string', message: 'scope option is required' },\n audience: { optional: true, type: 'string', message: 'audience option is required' }\n }\n );\n /* eslint-enable */\n\n // eslint-disable-next-line\n if (this.baseOptions._sendTelemetry) {\n params.auth0Client = this.request.getTelemetryData();\n }\n\n if (params.connection_scope && assert.isArray(params.connection_scope)) {\n params.connection_scope = params.connection_scope.join(',');\n }\n\n params = objectHelper.toSnakeCase(params, ['auth0Client']);\n params = parametersWhitelist.oauthAuthorizeParams(this.warn, params);\n\n qString = qs.stringify(params);\n\n return urljoin(this.baseOptions.rootUrl, 'authorize', '?' + qString);\n};\n\n/**\n * Builds and returns the Logout url in order to initialize a new authN/authZ transaction\n *\n * If you want to navigate the user to a specific URL after the logout, set that URL at the returnTo parameter. The URL should be included in any the appropriate Allowed Logout URLs list:\n *\n * - If the client_id parameter is included, the returnTo URL must be listed in the Allowed Logout URLs set at the client level (see Setting Allowed Logout URLs at the App Level).\n * - If the client_id parameter is NOT included, the returnTo URL must be listed in the Allowed Logout URLs set at the account level (see Setting Allowed Logout URLs at the Account Level).\n * @method buildLogoutUrl\n * @param {Object} options\n * @param {String} [options.clientID] identifier of your client\n * @param {String} [options.returnTo] URL to be redirected after the logout\n * @param {Boolean} [options.federated] tells Auth0 if it should logout the user also from the IdP.\n * @see {@link https://auth0.com/docs/api/authentication#logout}\n */\nAuthentication.prototype.buildLogoutUrl = function(options) {\n var params;\n var qString;\n\n assert.check(options, {\n optional: true,\n type: 'object',\n message: 'options parameter is not valid'\n });\n\n params = objectHelper.merge(this.baseOptions, ['clientID']).with(options || {});\n\n // eslint-disable-next-line\n if (this.baseOptions._sendTelemetry) {\n params.auth0Client = this.request.getTelemetryData();\n }\n\n params = objectHelper.toSnakeCase(params, ['auth0Client', 'returnTo']);\n\n qString = qs.stringify(params);\n\n return urljoin(this.baseOptions.rootUrl, 'v2', 'logout', '?' + qString);\n};\n\n/**\n * @callback authorizeCallback\n * @param {Error} [err] error returned by Auth0 with the reason of the Auth failure\n * @param {Object} [result] result of the Auth request\n * @param {String} [result.accessToken] token that allows access to the specified resource server (identified by the audience parameter or by default Auth0's /userinfo endpoint)\n * @param {Number} [result.expiresIn] number of seconds until the access token expires\n * @param {String} [result.idToken] token that identifies the user\n * @param {String} [result.refreshToken] token that can be used to get new access tokens from Auth0. Note that not all clients can request them or the resource server might not allow them.\n */\n\n/**\n * @callback tokenCallback\n * @param {Error} [err] error returned by Auth0 with the reason of the Auth failure\n * @param {Object} [result] result of the Auth request\n * @param {String} result.accessToken token that allows access to the specified resource server (identified by the audience parameter or by default Auth0's /userinfo endpoint)\n * @param {Number} result.expiresIn number of seconds until the access token expires\n * @param {String} [result.idToken] token that identifies the user\n * @param {String} [result.refreshToken] token that can be used to get new access tokens from Auth0. Note that not all clients can request them or the resource server might not allow them.\n */\n\n/**\n * Makes a call to the `oauth/token` endpoint with `password` grant type to login to the default directory.\n *\n * @method loginWithDefaultDirectory\n * @param {Object} options\n * @param {String} options.username email or username of the user that will perform Auth\n * @param {String} options.password the password of the user that will perform Auth\n * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n * @param {tokenCallback} cb function called with the result of the request\n * @see {@link https://auth0.com/docs/api-auth/grant/password}\n */\nAuthentication.prototype.loginWithDefaultDirectory = function(options, cb) {\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n username: { type: 'string', message: 'username option is required' },\n password: { type: 'string', message: 'password option is required' },\n scope: { optional: true, type: 'string', message: 'scope option is required' },\n audience: { optional: true, type: 'string', message: 'audience option is required' }\n }\n );\n\n options.grantType = 'password';\n\n return this.oauthToken(options, cb);\n};\n\n/**\n * Makes a call to the `oauth/token` endpoint with `password-realm` grant type\n *\n * @method login\n * @param {Object} options\n * @param {String} options.username email or username of the user that will perform Auth\n * @param {String} options.password the password of the user that will perform Auth\n * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n * @param {Object} options.realm the HRD domain or the connection name where the user belongs to. e.g. `Username-Password-Authentication`\n * @param {tokenCallback} cb function called with the result of the request\n * @see {@link https://auth0.com/docs/api-auth/grant/password}\n */\nAuthentication.prototype.login = function(options, cb) {\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n username: { type: 'string', message: 'username option is required' },\n password: { type: 'string', message: 'password option is required' },\n realm: { type: 'string', message: 'realm option is required' },\n scope: { optional: true, type: 'string', message: 'scope option is required' },\n audience: { optional: true, type: 'string', message: 'audience option is required' }\n }\n );\n\n options.grantType = 'http://auth0.com/oauth/grant-type/password-realm';\n\n return this.oauthToken(options, cb);\n};\n\n/**\n * Makes a call to the `oauth/token` endpoint\n *\n * @method oauthToken\n * @private\n */\nAuthentication.prototype.oauthToken = function(options, cb) {\n var url;\n var body;\n\n assert.check(options, { type: 'object', message: 'options parameter is not valid' });\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'oauth', 'token');\n\n body = objectHelper.merge(this.baseOptions, ['clientID', 'scope', 'audience']).with(options);\n\n assert.check(\n body,\n { type: 'object', message: 'options parameter is not valid' },\n {\n clientID: { type: 'string', message: 'clientID option is required' },\n grantType: { type: 'string', message: 'grantType option is required' },\n scope: { optional: true, type: 'string', message: 'scope option is required' },\n audience: { optional: true, type: 'string', message: 'audience option is required' }\n }\n );\n\n body = objectHelper.toSnakeCase(body, ['auth0Client']);\n body = parametersWhitelist.oauthTokenParams(this.warn, body);\n\n body.grant_type = body.grant_type;\n\n return this.request.post(url).send(body).end(responseHandler(cb));\n};\n\n/**\n * Performs authentication calling `/oauth/ro` endpoint with username\n * and password for a given connection name.\n *\n * This method is not compatible with API Auth so if you need to fetch API tokens with audience\n * you should use {@link login} or {@link loginWithDefaultDirectory}.\n *\n * @method loginWithResourceOwner\n * @param {Object} options\n * @param {String} options.username email or username of the user that will perform Auth\n * @param {String} options.password the password of the user that will perform Auth\n * @param {Object} options.connection the connection name where the user belongs to. e.g. `Username-Password-Authentication`\n * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n * @param {String} [options.device] name of the device/browser where the Auth was requested\n * @param {tokenCallback} cb function called with the result of the request\n */\nAuthentication.prototype.loginWithResourceOwner = function(options, cb) {\n var url;\n var body;\n\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n username: { type: 'string', message: 'username option is required' },\n password: { type: 'string', message: 'password option is required' },\n connection: { type: 'string', message: 'connection option is required' },\n scope: { optional: true, type: 'string', message: 'scope option is required' }\n }\n );\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'oauth', 'ro');\n\n body = objectHelper\n .merge(this.baseOptions, ['clientID', 'scope'])\n .with(options, ['username', 'password', 'scope', 'connection', 'device']);\n\n body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\n body.grant_type = body.grant_type || 'password';\n\n return this.request.post(url).send(body).end(responseHandler(cb));\n};\n\n/**\n * Makes a call to the `/ssodata` endpoint.\n * We recommend to avoid using this method and rely on your tenant hosted login page and using prompt=none via {@link renewAuth} method.\n *\n * @method getSSOData\n * @param {Boolean} withActiveDirectories tells Auth0 to return AD data\n * @param {Function} cb\n */\nAuthentication.prototype.getSSOData = function(withActiveDirectories, cb) {\n var url;\n var params = '';\n\n if (typeof withActiveDirectories === 'function') {\n cb = withActiveDirectories;\n withActiveDirectories = false;\n }\n\n assert.check(withActiveDirectories, {\n type: 'boolean',\n message: 'withActiveDirectories parameter is not valid'\n });\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n if (withActiveDirectories) {\n params =\n '?' +\n qs.stringify({\n ldaps: 1,\n client_id: this.baseOptions.clientID\n });\n }\n\n url = urljoin(this.baseOptions.rootUrl, 'user', 'ssodata', params);\n\n return this.request.get(url, { noHeaders: true }).withCredentials().end(responseHandler(cb));\n};\n\n/**\n * @callback userInfoCallback\n * @param {Error} [err] error returned by Auth0\n * @param {Object} [userInfo] user information\n */\n\n/**\n * Makes a call to the `/userinfo` endpoint and returns the user profile\n *\n * @method userInfo\n * @param {String} accessToken token issued to a user after Auth\n * @param {userInfoCallback} cb\n * @see {@link https://auth0.com/docs/api/authentication#get-user-info}\n */\nAuthentication.prototype.userInfo = function(accessToken, cb) {\n var url;\n\n assert.check(accessToken, { type: 'string', message: 'accessToken parameter is not valid' });\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'userinfo');\n\n return this.request\n .get(url)\n .set('Authorization', 'Bearer ' + accessToken)\n .end(responseHandler(cb, { ignoreCasing: true }));\n};\n\n/**\n * @callback delegationCallback\n * @param {Error} [err] error returned by Auth0 with the reason why the delegation failed\n * @param {Object} [result] result of the delegation request. The payload depends on what ai type was used\n */\n\n/**\n * Makes a call to the `/delegation` endpoint with either an `id_token` or `refresh_token`\n *\n * @method delegation\n * @param {Object} options\n * @param {String} [options.clientID] client identifier\n * @param {String} options.grantType grant type used for delegation. The only valid value is `urn:ietf:params:oauth:grant-type:jwt-bearer`\n * @param {String} [options.idToken] valid token of the user issued after Auth. If no `refresh_token` is provided this parameter is required\n * @param {String} [options.refreshToken] valid refresh token of the user issued after Auth. If no `id_token` is provided this parameter is required\n * @param {String} [options.target] the target client id of the delegation\n * @param {String} [options.scope] either `openid` or `openid profile email`\n * @param {String} [options.apiType] the api to be called\n * @param {delegationCallback} cb\n * @see {@link https://auth0.com/docs/api/authentication#delegation}\n */\nAuthentication.prototype.delegation = function(options, cb) {\n var url;\n var body;\n\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n grant_type: { type: 'string', message: 'grant_type option is required' }\n }\n );\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'delegation');\n\n body = objectHelper.merge(this.baseOptions, ['clientID']).with(options);\n\n body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\n return this.request.post(url).send(body).end(responseHandler(cb));\n};\n\n/**\n * Fetches the user country based on the ip.\n *\n * @method getUserCountry\n * @private\n * @param {Function} cb\n */\nAuthentication.prototype.getUserCountry = function(cb) {\n var url;\n\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'user', 'geoloc', 'country');\n\n return this.request.get(url).end(responseHandler(cb));\n};\n\nmodule.exports = Authentication;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/authentication/index.js\n// module id = 19\n// module chunks = 0","var base64 = require('base64-js');\n\nfunction padding(str) {\n var mod = str.length % 4;\n var pad = 4 - mod;\n\n if (mod === 0) {\n return str;\n }\n\n return str + new Array(1 + pad).join('=');\n}\n\nfunction stringToByteArray(str) {\n var arr = new Array(str.length);\n for (var a = 0; a < str.length; a++) {\n arr[a] = str.charCodeAt(a);\n }\n return arr;\n}\n\nfunction byteArrayToString(array) {\n var result = '';\n for (var i = 0; i < array.length; i++) {\n result += String.fromCharCode(array[i]);\n }\n return result;\n}\n\nfunction encode(str) {\n return base64\n .fromByteArray(stringToByteArray(str))\n .replace(/\\+/g, '-') // Convert '+' to '-'\n .replace(/\\//g, '_'); // Convert '/' to '_'\n}\n\nfunction decode(str) {\n str = padding(str)\n .replace(/-/g, '+') // Convert '-' to '+'\n .replace(/_/g, '/'); // Convert '_' to '/'\n\n return byteArrayToString(base64.toByteArray(str));\n}\n\nmodule.exports = {\n encode: encode,\n decode: decode\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/base64_url.js\n// module id = 20\n// module chunks = 0","function buildResponse(error, description) {\n return {\n error: error,\n errorDescription: description\n };\n}\n\nfunction invalidJwt(description) {\n return buildResponse('invalid_token', description);\n}\n\nmodule.exports = {\n buildResponse: buildResponse,\n invalidJwt: invalidJwt\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/error.js\n// module id = 21\n// module chunks = 0","var random = require('../helper/random');\nvar storage = require('../helper/storage');\n\nvar DEFAULT_NAMESPACE = 'com.auth0.auth.';\n\nfunction TransactionManager(options) {\n options = options || {};\n this.namespace = options.namespace || DEFAULT_NAMESPACE;\n this.keyLength = options.keyLength || 32;\n}\n\nTransactionManager.prototype.process = function(options) {\n var transaction;\n\n if (options.responseType.indexOf('code') !== -1) {\n return options;\n }\n\n if (options.responseType.indexOf('id_token') !== -1 && !!options.nonce) {\n return options;\n }\n\n transaction = this.generateTransaction(options.appState, options.state, options.nonce);\n\n options.state = transaction.state;\n\n if (options.responseType.indexOf('id_token') !== -1) {\n options.nonce = transaction.nonce;\n }\n\n return options;\n};\n\nTransactionManager.prototype.generateTransaction = function(appState, state, nonce) {\n var transaction = state || random.randomString(this.keyLength);\n nonce = nonce || random.randomString(this.keyLength);\n\n storage.setItem(this.namespace + transaction, {\n nonce: nonce,\n appState: appState\n });\n\n return {\n state: transaction,\n nonce: nonce\n };\n};\n\nTransactionManager.prototype.getStoredTransaction = function(transaction) {\n var transactionData;\n\n transactionData = storage.getItem(this.namespace + transaction);\n storage.removeItem(this.namespace + transaction);\n return transactionData;\n};\n\nmodule.exports = TransactionManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/web-auth/transaction-manager.js\n// module id = 22\n// module chunks = 0","\r\n/**\r\n * Expose `Emitter`.\r\n */\r\n\r\nif (typeof module !== 'undefined') {\r\n module.exports = Emitter;\r\n}\r\n\r\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\r\n\r\nfunction Emitter(obj) {\r\n if (obj) return mixin(obj);\r\n};\r\n\r\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\r\n\r\nfunction mixin(obj) {\r\n for (var key in Emitter.prototype) {\r\n obj[key] = Emitter.prototype[key];\r\n }\r\n return obj;\r\n}\r\n\r\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.on =\r\nEmitter.prototype.addEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n .push(fn);\r\n return this;\r\n};\r\n\r\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.once = function(event, fn){\r\n function on() {\r\n this.off(event, on);\r\n fn.apply(this, arguments);\r\n }\r\n\r\n on.fn = fn;\r\n this.on(event, on);\r\n return this;\r\n};\r\n\r\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.off =\r\nEmitter.prototype.removeListener =\r\nEmitter.prototype.removeAllListeners =\r\nEmitter.prototype.removeEventListener = function(event, fn){\r\n this._callbacks = this._callbacks || {};\r\n\r\n // all\r\n if (0 == arguments.length) {\r\n this._callbacks = {};\r\n return this;\r\n }\r\n\r\n // specific event\r\n var callbacks = this._callbacks['$' + event];\r\n if (!callbacks) return this;\r\n\r\n // remove all handlers\r\n if (1 == arguments.length) {\r\n delete this._callbacks['$' + event];\r\n return this;\r\n }\r\n\r\n // remove specific handler\r\n var cb;\r\n for (var i = 0; i < callbacks.length; i++) {\r\n cb = callbacks[i];\r\n if (cb === fn || cb.fn === fn) {\r\n callbacks.splice(i, 1);\r\n break;\r\n }\r\n }\r\n return this;\r\n};\r\n\r\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\r\n\r\nEmitter.prototype.emit = function(event){\r\n this._callbacks = this._callbacks || {};\r\n var args = [].slice.call(arguments, 1)\r\n , callbacks = this._callbacks['$' + event];\r\n\r\n if (callbacks) {\r\n callbacks = callbacks.slice(0);\r\n for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n callbacks[i].apply(this, args);\r\n }\r\n }\r\n\r\n return this;\r\n};\r\n\r\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.listeners = function(event){\r\n this._callbacks = this._callbacks || {};\r\n return this._callbacks['$' + event] || [];\r\n};\r\n\r\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.hasListeners = function(event){\r\n return !! this.listeners(event).length;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/component-emitter/index.js\n// module id = 23\n// module chunks = 0",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\t /*\n\t * Local polyfil of Object.create\n\t */\n\t var create = Object.create || (function () {\n\t function F() {};\n\n\t return function (obj) {\n\t var subtype;\n\n\t F.prototype = obj;\n\n\t subtype = new F();\n\n\t F.prototype = null;\n\n\t return subtype;\n\t };\n\t }())\n\n\t /**\n\t * CryptoJS namespace.\n\t */\n\t var C = {};\n\n\t /**\n\t * Library namespace.\n\t */\n\t var C_lib = C.lib = {};\n\n\t /**\n\t * Base object for prototypal inheritance.\n\t */\n\t var Base = C_lib.Base = (function () {\n\n\n\t return {\n\t /**\n\t * Creates a new object that inherits from this object.\n\t *\n\t * @param {Object} overrides Properties to copy into the new object.\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * field: 'value',\n\t *\n\t * method: function () {\n\t * }\n\t * });\n\t */\n\t extend: function (overrides) {\n\t // Spawn\n\t var subtype = create(this);\n\n\t // Augment\n\t if (overrides) {\n\t subtype.mixIn(overrides);\n\t }\n\n\t // Create default initializer\n\t if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t subtype.init = function () {\n\t subtype.$super.init.apply(this, arguments);\n\t };\n\t }\n\n\t // Initializer's prototype is the subtype object\n\t subtype.init.prototype = subtype;\n\n\t // Reference supertype\n\t subtype.$super = this;\n\n\t return subtype;\n\t },\n\n\t /**\n\t * Extends this object and runs the init method.\n\t * Arguments to create() will be passed to init().\n\t *\n\t * @return {Object} The new object.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var instance = MyType.create();\n\t */\n\t create: function () {\n\t var instance = this.extend();\n\t instance.init.apply(instance, arguments);\n\n\t return instance;\n\t },\n\n\t /**\n\t * Initializes a newly created object.\n\t * Override this method to add some logic when your objects are created.\n\t *\n\t * @example\n\t *\n\t * var MyType = CryptoJS.lib.Base.extend({\n\t * init: function () {\n\t * // ...\n\t * }\n\t * });\n\t */\n\t init: function () {\n\t },\n\n\t /**\n\t * Copies properties into this object.\n\t *\n\t * @param {Object} properties The properties to mix in.\n\t *\n\t * @example\n\t *\n\t * MyType.mixIn({\n\t * field: 'value'\n\t * });\n\t */\n\t mixIn: function (properties) {\n\t for (var propertyName in properties) {\n\t if (properties.hasOwnProperty(propertyName)) {\n\t this[propertyName] = properties[propertyName];\n\t }\n\t }\n\n\t // IE won't copy toString using the loop above\n\t if (properties.hasOwnProperty('toString')) {\n\t this.toString = properties.toString;\n\t }\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = instance.clone();\n\t */\n\t clone: function () {\n\t return this.init.prototype.extend(this);\n\t }\n\t };\n\t }());\n\n\t /**\n\t * An array of 32-bit words.\n\t *\n\t * @property {Array} words The array of 32-bit words.\n\t * @property {number} sigBytes The number of significant bytes in this word array.\n\t */\n\t var WordArray = C_lib.WordArray = Base.extend({\n\t /**\n\t * Initializes a newly created word array.\n\t *\n\t * @param {Array} words (Optional) An array of 32-bit words.\n\t * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.create();\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t */\n\t init: function (words, sigBytes) {\n\t words = this.words = words || [];\n\n\t if (sigBytes != undefined) {\n\t this.sigBytes = sigBytes;\n\t } else {\n\t this.sigBytes = words.length * 4;\n\t }\n\t },\n\n\t /**\n\t * Converts this word array to a string.\n\t *\n\t * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t *\n\t * @return {string} The stringified word array.\n\t *\n\t * @example\n\t *\n\t * var string = wordArray + '';\n\t * var string = wordArray.toString();\n\t * var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t */\n\t toString: function (encoder) {\n\t return (encoder || Hex).stringify(this);\n\t },\n\n\t /**\n\t * Concatenates a word array to this word array.\n\t *\n\t * @param {WordArray} wordArray The word array to append.\n\t *\n\t * @return {WordArray} This word array.\n\t *\n\t * @example\n\t *\n\t * wordArray1.concat(wordArray2);\n\t */\n\t concat: function (wordArray) {\n\t // Shortcuts\n\t var thisWords = this.words;\n\t var thatWords = wordArray.words;\n\t var thisSigBytes = this.sigBytes;\n\t var thatSigBytes = wordArray.sigBytes;\n\n\t // Clamp excess bits\n\t this.clamp();\n\n\t // Concat\n\t if (thisSigBytes % 4) {\n\t // Copy one byte at a time\n\t for (var i = 0; i < thatSigBytes; i++) {\n\t var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t }\n\t } else {\n\t // Copy one word at a time\n\t for (var i = 0; i < thatSigBytes; i += 4) {\n\t thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2];\n\t }\n\t }\n\t this.sigBytes += thatSigBytes;\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Removes insignificant bits.\n\t *\n\t * @example\n\t *\n\t * wordArray.clamp();\n\t */\n\t clamp: function () {\n\t // Shortcuts\n\t var words = this.words;\n\t var sigBytes = this.sigBytes;\n\n\t // Clamp\n\t words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t words.length = Math.ceil(sigBytes / 4);\n\t },\n\n\t /**\n\t * Creates a copy of this word array.\n\t *\n\t * @return {WordArray} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = wordArray.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone.words = this.words.slice(0);\n\n\t return clone;\n\t },\n\n\t /**\n\t * Creates a word array filled with random bytes.\n\t *\n\t * @param {number} nBytes The number of random bytes to generate.\n\t *\n\t * @return {WordArray} The random word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.lib.WordArray.random(16);\n\t */\n\t random: function (nBytes) {\n\t var words = [];\n\n\t var r = (function (m_w) {\n\t var m_w = m_w;\n\t var m_z = 0x3ade68b1;\n\t var mask = 0xffffffff;\n\n\t return function () {\n\t m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask;\n\t m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask;\n\t var result = ((m_z << 0x10) + m_w) & mask;\n\t result /= 0x100000000;\n\t result += 0.5;\n\t return result * (Math.random() > .5 ? 1 : -1);\n\t }\n\t });\n\n\t for (var i = 0, rcache; i < nBytes; i += 4) {\n\t var _r = r((rcache || Math.random()) * 0x100000000);\n\n\t rcache = _r() * 0x3ade67b7;\n\t words.push((_r() * 0x100000000) | 0);\n\t }\n\n\t return new WordArray.init(words, nBytes);\n\t }\n\t });\n\n\t /**\n\t * Encoder namespace.\n\t */\n\t var C_enc = C.enc = {};\n\n\t /**\n\t * Hex encoding strategy.\n\t */\n\t var Hex = C_enc.Hex = {\n\t /**\n\t * Converts a word array to a hex string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The hex string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var hexChars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t hexChars.push((bite >>> 4).toString(16));\n\t hexChars.push((bite & 0x0f).toString(16));\n\t }\n\n\t return hexChars.join('');\n\t },\n\n\t /**\n\t * Converts a hex string to a word array.\n\t *\n\t * @param {string} hexStr The hex string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t */\n\t parse: function (hexStr) {\n\t // Shortcut\n\t var hexStrLength = hexStr.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < hexStrLength; i += 2) {\n\t words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t }\n\n\t return new WordArray.init(words, hexStrLength / 2);\n\t }\n\t };\n\n\t /**\n\t * Latin1 encoding strategy.\n\t */\n\t var Latin1 = C_enc.Latin1 = {\n\t /**\n\t * Converts a word array to a Latin1 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The Latin1 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t // Shortcuts\n\t var words = wordArray.words;\n\t var sigBytes = wordArray.sigBytes;\n\n\t // Convert\n\t var latin1Chars = [];\n\t for (var i = 0; i < sigBytes; i++) {\n\t var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t latin1Chars.push(String.fromCharCode(bite));\n\t }\n\n\t return latin1Chars.join('');\n\t },\n\n\t /**\n\t * Converts a Latin1 string to a word array.\n\t *\n\t * @param {string} latin1Str The Latin1 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t */\n\t parse: function (latin1Str) {\n\t // Shortcut\n\t var latin1StrLength = latin1Str.length;\n\n\t // Convert\n\t var words = [];\n\t for (var i = 0; i < latin1StrLength; i++) {\n\t words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t }\n\n\t return new WordArray.init(words, latin1StrLength);\n\t }\n\t };\n\n\t /**\n\t * UTF-8 encoding strategy.\n\t */\n\t var Utf8 = C_enc.Utf8 = {\n\t /**\n\t * Converts a word array to a UTF-8 string.\n\t *\n\t * @param {WordArray} wordArray The word array.\n\t *\n\t * @return {string} The UTF-8 string.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t */\n\t stringify: function (wordArray) {\n\t try {\n\t return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t } catch (e) {\n\t throw new Error('Malformed UTF-8 data');\n\t }\n\t },\n\n\t /**\n\t * Converts a UTF-8 string to a word array.\n\t *\n\t * @param {string} utf8Str The UTF-8 string.\n\t *\n\t * @return {WordArray} The word array.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t */\n\t parse: function (utf8Str) {\n\t return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t }\n\t };\n\n\t /**\n\t * Abstract buffered block algorithm template.\n\t *\n\t * The property blockSize must be implemented in a concrete subtype.\n\t *\n\t * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t */\n\t var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t /**\n\t * Resets this block algorithm's data buffer to its initial state.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm.reset();\n\t */\n\t reset: function () {\n\t // Initial values\n\t this._data = new WordArray.init();\n\t this._nDataBytes = 0;\n\t },\n\n\t /**\n\t * Adds new data to this block algorithm's buffer.\n\t *\n\t * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t *\n\t * @example\n\t *\n\t * bufferedBlockAlgorithm._append('data');\n\t * bufferedBlockAlgorithm._append(wordArray);\n\t */\n\t _append: function (data) {\n\t // Convert string to WordArray, else assume WordArray already\n\t if (typeof data == 'string') {\n\t data = Utf8.parse(data);\n\t }\n\n\t // Append\n\t this._data.concat(data);\n\t this._nDataBytes += data.sigBytes;\n\t },\n\n\t /**\n\t * Processes available data blocks.\n\t *\n\t * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t *\n\t * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t *\n\t * @return {WordArray} The processed data.\n\t *\n\t * @example\n\t *\n\t * var processedData = bufferedBlockAlgorithm._process();\n\t * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t */\n\t _process: function (doFlush) {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\t var dataSigBytes = data.sigBytes;\n\t var blockSize = this.blockSize;\n\t var blockSizeBytes = blockSize * 4;\n\n\t // Count blocks ready\n\t var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t if (doFlush) {\n\t // Round up to include partial blocks\n\t nBlocksReady = Math.ceil(nBlocksReady);\n\t } else {\n\t // Round down to include only full blocks,\n\t // less the number of blocks that must remain in the buffer\n\t nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t }\n\n\t // Count words ready\n\t var nWordsReady = nBlocksReady * blockSize;\n\n\t // Count bytes ready\n\t var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t // Process blocks\n\t if (nWordsReady) {\n\t for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t // Perform concrete-algorithm logic\n\t this._doProcessBlock(dataWords, offset);\n\t }\n\n\t // Remove processed words\n\t var processedWords = dataWords.splice(0, nWordsReady);\n\t data.sigBytes -= nBytesReady;\n\t }\n\n\t // Return processed words\n\t return new WordArray.init(processedWords, nBytesReady);\n\t },\n\n\t /**\n\t * Creates a copy of this object.\n\t *\n\t * @return {Object} The clone.\n\t *\n\t * @example\n\t *\n\t * var clone = bufferedBlockAlgorithm.clone();\n\t */\n\t clone: function () {\n\t var clone = Base.clone.call(this);\n\t clone._data = this._data.clone();\n\n\t return clone;\n\t },\n\n\t _minBufferSize: 0\n\t });\n\n\t /**\n\t * Abstract hasher template.\n\t *\n\t * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t */\n\t var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t /**\n\t * Configuration options.\n\t */\n\t cfg: Base.extend(),\n\n\t /**\n\t * Initializes a newly created hasher.\n\t *\n\t * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t *\n\t * @example\n\t *\n\t * var hasher = CryptoJS.algo.SHA256.create();\n\t */\n\t init: function (cfg) {\n\t // Apply config defaults\n\t this.cfg = this.cfg.extend(cfg);\n\n\t // Set initial values\n\t this.reset();\n\t },\n\n\t /**\n\t * Resets this hasher to its initial state.\n\t *\n\t * @example\n\t *\n\t * hasher.reset();\n\t */\n\t reset: function () {\n\t // Reset data buffer\n\t BufferedBlockAlgorithm.reset.call(this);\n\n\t // Perform concrete-hasher logic\n\t this._doReset();\n\t },\n\n\t /**\n\t * Updates this hasher with a message.\n\t *\n\t * @param {WordArray|string} messageUpdate The message to append.\n\t *\n\t * @return {Hasher} This hasher.\n\t *\n\t * @example\n\t *\n\t * hasher.update('message');\n\t * hasher.update(wordArray);\n\t */\n\t update: function (messageUpdate) {\n\t // Append\n\t this._append(messageUpdate);\n\n\t // Update the hash\n\t this._process();\n\n\t // Chainable\n\t return this;\n\t },\n\n\t /**\n\t * Finalizes the hash computation.\n\t * Note that the finalize operation is effectively a destructive, read-once operation.\n\t *\n\t * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @example\n\t *\n\t * var hash = hasher.finalize();\n\t * var hash = hasher.finalize('message');\n\t * var hash = hasher.finalize(wordArray);\n\t */\n\t finalize: function (messageUpdate) {\n\t // Final message update\n\t if (messageUpdate) {\n\t this._append(messageUpdate);\n\t }\n\n\t // Perform concrete-hasher logic\n\t var hash = this._doFinalize();\n\n\t return hash;\n\t },\n\n\t blockSize: 512/32,\n\n\t /**\n\t * Creates a shortcut function to a hasher's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to create a helper for.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHelper: function (hasher) {\n\t return function (message, cfg) {\n\t return new hasher.init(cfg).finalize(message);\n\t };\n\t },\n\n\t /**\n\t * Creates a shortcut function to the HMAC's object interface.\n\t *\n\t * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t *\n\t * @return {Function} The shortcut function.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t */\n\t _createHmacHelper: function (hasher) {\n\t return function (message, key) {\n\t return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t };\n\t }\n\t });\n\n\t /**\n\t * Algorithm namespace.\n\t */\n\t var C_algo = C.algo = {};\n\n\t return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/crypto-js/core.js\n// module id = 24\n// module chunks = 0",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t // Shortcuts\n\t var C = CryptoJS;\n\t var C_lib = C.lib;\n\t var WordArray = C_lib.WordArray;\n\t var Hasher = C_lib.Hasher;\n\t var C_algo = C.algo;\n\n\t // Initialization and round constants tables\n\t var H = [];\n\t var K = [];\n\n\t // Compute constants\n\t (function () {\n\t function isPrime(n) {\n\t var sqrtN = Math.sqrt(n);\n\t for (var factor = 2; factor <= sqrtN; factor++) {\n\t if (!(n % factor)) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t }\n\n\t function getFractionalBits(n) {\n\t return ((n - (n | 0)) * 0x100000000) | 0;\n\t }\n\n\t var n = 2;\n\t var nPrime = 0;\n\t while (nPrime < 64) {\n\t if (isPrime(n)) {\n\t if (nPrime < 8) {\n\t H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t }\n\t K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t nPrime++;\n\t }\n\n\t n++;\n\t }\n\t }());\n\n\t // Reusable object\n\t var W = [];\n\n\t /**\n\t * SHA-256 hash algorithm.\n\t */\n\t var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t _doReset: function () {\n\t this._hash = new WordArray.init(H.slice(0));\n\t },\n\n\t _doProcessBlock: function (M, offset) {\n\t // Shortcut\n\t var H = this._hash.words;\n\n\t // Working variables\n\t var a = H[0];\n\t var b = H[1];\n\t var c = H[2];\n\t var d = H[3];\n\t var e = H[4];\n\t var f = H[5];\n\t var g = H[6];\n\t var h = H[7];\n\n\t // Computation\n\t for (var i = 0; i < 64; i++) {\n\t if (i < 16) {\n\t W[i] = M[offset + i] | 0;\n\t } else {\n\t var gamma0x = W[i - 15];\n\t var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^\n\t ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t (gamma0x >>> 3);\n\n\t var gamma1x = W[i - 2];\n\t var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t (gamma1x >>> 10);\n\n\t W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t }\n\n\t var ch = (e & f) ^ (~e & g);\n\t var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));\n\n\t var t1 = h + sigma1 + ch + K[i] + W[i];\n\t var t2 = sigma0 + maj;\n\n\t h = g;\n\t g = f;\n\t f = e;\n\t e = (d + t1) | 0;\n\t d = c;\n\t c = b;\n\t b = a;\n\t a = (t1 + t2) | 0;\n\t }\n\n\t // Intermediate hash value\n\t H[0] = (H[0] + a) | 0;\n\t H[1] = (H[1] + b) | 0;\n\t H[2] = (H[2] + c) | 0;\n\t H[3] = (H[3] + d) | 0;\n\t H[4] = (H[4] + e) | 0;\n\t H[5] = (H[5] + f) | 0;\n\t H[6] = (H[6] + g) | 0;\n\t H[7] = (H[7] + h) | 0;\n\t },\n\n\t _doFinalize: function () {\n\t // Shortcuts\n\t var data = this._data;\n\t var dataWords = data.words;\n\n\t var nBitsTotal = this._nDataBytes * 8;\n\t var nBitsLeft = data.sigBytes * 8;\n\n\t // Add padding\n\t dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t data.sigBytes = dataWords.length * 4;\n\n\t // Hash final blocks\n\t this._process();\n\n\t // Return final computed hash\n\t return this._hash;\n\t },\n\n\t clone: function () {\n\t var clone = Hasher.clone.call(this);\n\t clone._hash = this._hash.clone();\n\n\t return clone;\n\t }\n\t });\n\n\t /**\n\t * Shortcut function to the hasher's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t *\n\t * @return {WordArray} The hash.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hash = CryptoJS.SHA256('message');\n\t * var hash = CryptoJS.SHA256(wordArray);\n\t */\n\t C.SHA256 = Hasher._createHelper(SHA256);\n\n\t /**\n\t * Shortcut function to the HMAC's object interface.\n\t *\n\t * @param {WordArray|string} message The message to hash.\n\t * @param {WordArray|string} key The secret key.\n\t *\n\t * @return {WordArray} The HMAC.\n\t *\n\t * @static\n\t *\n\t * @example\n\t *\n\t * var hmac = CryptoJS.HmacSHA256(message, key);\n\t */\n\t C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/crypto-js/sha256.js\n// module id = 25\n// module chunks = 0","function DummyCache() {}\n\nDummyCache.prototype.get = function () {\n return null;\n};\n\nDummyCache.prototype.has = function () {\n return false;\n};\n\nDummyCache.prototype.set = function () {\n};\n\nmodule.exports = DummyCache;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/idtoken-verifier/src/helpers/dummy-cache.js\n// module id = 26\n// module chunks = 0","function ConfigurationError(message) {\n this.name = 'ConfigurationError';\n this.message = (message || '');\n}\nConfigurationError.prototype = Error.prototype;\n\nfunction TokenValidationError(message) {\n this.name = 'TokenValidationError';\n this.message = (message || '');\n}\nTokenValidationError.prototype = Error.prototype;\n\nmodule.exports = {\n ConfigurationError: ConfigurationError,\n TokenValidationError: TokenValidationError\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/idtoken-verifier/src/helpers/error.js\n// module id = 27\n// module chunks = 0","var urljoin = require('url-join');\nvar base64 = require('./base64');\nvar request = require('superagent');\n\nfunction process(jwks) {\n var modulus = base64.decodeToHEX(jwks.n);\n var exp = base64.decodeToHEX(jwks.e);\n\n return {\n modulus: modulus,\n exp: exp\n };\n}\n\nfunction getJWKS(options, cb) {\n var url = urljoin(options.iss, '.well-known', 'jwks.json');\n\n return request\n .get(url)\n .end(function (err, data) {\n var matchingKey = null;\n var a;\n var key;\n\n if (err) {\n cb(err);\n }\n\n // eslint-disable-next-line no-plusplus\n for (a = 0; a < data.body.keys.length && matchingKey === null; a++) {\n key = data.body.keys[a];\n if (key.kid === options.kid) {\n matchingKey = key;\n }\n }\n\n cb(null, process(matchingKey));\n });\n}\n\nmodule.exports = {\n process: process,\n getJWKS: getJWKS\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/idtoken-verifier/src/helpers/jwks.js\n// module id = 28\n// module chunks = 0","/*\nBased on the work of Tom Wu\nhttp://www-cs-students.stanford.edu/~tjw/jsbn/\nhttp://www-cs-students.stanford.edu/~tjw/jsbn/LICENSE\n*/\n\nvar BigInteger = require('jsbn').BigInteger;\nvar SHA256 = require('crypto-js/sha256');\n\nvar DigestInfoHead = {\n sha1: '3021300906052b0e03021a05000414',\n sha224: '302d300d06096086480165030402040500041c',\n sha256: '3031300d060960864801650304020105000420',\n sha384: '3041300d060960864801650304020205000430',\n sha512: '3051300d060960864801650304020305000440',\n md2: '3020300c06082a864886f70d020205000410',\n md5: '3020300c06082a864886f70d020505000410',\n ripemd160: '3021300906052b2403020105000414'\n};\n\nvar DigestAlgs = {\n sha256: SHA256\n};\n\nfunction RSAVerifier(modulus, exp) {\n this.n = null;\n this.e = 0;\n\n if (modulus != null && exp != null && modulus.length > 0 && exp.length > 0) {\n this.n = new BigInteger(modulus, 16);\n this.e = parseInt(exp, 16);\n } else {\n throw new Error('Invalid key data');\n }\n}\n\nfunction getAlgorithmFromDigest(hDigestInfo) {\n for (var algName in DigestInfoHead) {\n var head = DigestInfoHead[algName];\n var len = head.length;\n\n if (hDigestInfo.substring(0, len) === head) {\n return {\n alg: algName,\n hash: hDigestInfo.substring(len)\n };\n }\n }\n return [];\n}\n\n\nRSAVerifier.prototype.verify = function (msg, encsig) {\n encsig = encsig.replace(/[^0-9a-f]|[\\s\\n]]/ig, '');\n\n var sig = new BigInteger(encsig, 16);\n if (sig.bitLength() > this.n.bitLength()) {\n throw new Error('Signature does not match with the key modulus.');\n }\n\n var decryptedSig = sig.modPowInt(this.e, this.n);\n var digest = decryptedSig.toString(16).replace(/^1f+00/, '');\n\n var digestInfo = getAlgorithmFromDigest(digest);\n if (digestInfo.length === 0) {\n return false;\n }\n\n if (!DigestAlgs.hasOwnProperty(digestInfo.alg)) {\n throw new Error('Hashing algorithm is not supported.');\n }\n\n var msgHash = DigestAlgs[digestInfo.alg](msg).toString();\n return (digestInfo.hash === msgHash);\n};\n\nmodule.exports = RSAVerifier;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/idtoken-verifier/src/helpers/rsa-verifier.js\n// module id = 29\n// module chunks = 0","var RSAVerifier = require('./helpers/rsa-verifier');\nvar base64 = require('./helpers/base64');\nvar jwks = require('./helpers/jwks');\nvar error = require('./helpers/error');\nvar DummyCache = require('./helpers/dummy-cache');\nvar supportedAlgs = ['RS256'];\n\n/**\n * Creates a new id_token verifier\n * @constructor\n * @param {Object} parameters\n * @param {String} parameters.issuer name of the issuer of the token\n * that should match the `iss` claim in the id_token\n * @param {String} parameters.audience identifies the recipients that the JWT is intended for\n * and should match the `aud` claim\n * @param {Object} [parameters.jwksCache] cache for JSON Web Token Keys. By default it has no cache\n * @param {String} [parameters.expectedAlg='RS256'] algorithm in which the id_token was signed\n * and will be used to validate\n * @param {number} [parameters.leeway=0] number of seconds that the clock can be out of sync\n * while validating expiration of the id_token\n */\nfunction IdTokenVerifier(parameters) {\n var options = parameters || {};\n\n this.jwksCache = options.jwksCache || new DummyCache();\n this.expectedAlg = options.expectedAlg || 'RS256';\n this.issuer = options.issuer;\n this.audience = options.audience;\n this.leeway = options.leeway || 0;\n this.__disableExpirationCheck = options.__disableExpirationCheck || false;\n\n if (this.leeway < 0 || this.leeway > 60) {\n throw new error.ConfigurationError('The leeway should be positive and lower than a minute.');\n }\n\n if (supportedAlgs.indexOf(this.expectedAlg) === -1) {\n throw new error.ConfigurationError('Algorithm ' + this.expectedAlg +\n ' is not supported. (Expected algs: [' + supportedAlgs.join(',') + '])');\n }\n}\n\n/**\n * @callback verifyCallback\n * @param {Error} [err] error returned if the verify cannot be performed\n * @param {boolean} [status] if the token is valid or not\n */\n\n/**\n * Verifies an id_token\n *\n * It will validate:\n * - signature according to the algorithm configured in the verifier.\n * - if nonce is present and matches the one provided\n * - if `iss` and `aud` claims matches the configured issuer and audience\n * - if token is not expired and valid (if the `nbf` claim is in the past)\n *\n * @method verify\n * @param {String} token id_token to verify\n * @param {String} [nonce] nonce value that should match the one in the id_token claims\n * @param {verifyCallback} cb callback used to notify the results of the validation\n */\nIdTokenVerifier.prototype.verify = function (token, nonce, cb) {\n var jwt = this.decode(token);\n\n if (jwt instanceof Error) {\n return cb(jwt, false);\n }\n\n /* eslint-disable vars-on-top */\n var headAndPayload = jwt.encoded.header + '.' + jwt.encoded.payload;\n var signature = base64.decodeToHEX(jwt.encoded.signature);\n\n var alg = jwt.header.alg;\n var kid = jwt.header.kid;\n\n var aud = jwt.payload.aud;\n var iss = jwt.payload.iss;\n var exp = jwt.payload.exp;\n var nbf = jwt.payload.nbf;\n var tnonce = jwt.payload.nonce || null;\n /* eslint-enable vars-on-top */\n\n if (this.issuer !== iss) {\n return cb(new error.TokenValidationError('Issuer ' + iss + ' is not valid.'), false);\n }\n\n if (this.audience !== aud) {\n return cb(new error.TokenValidationError('Audience ' + aud + ' is not valid.'), false);\n }\n\n if (this.expectedAlg !== alg) {\n return cb(new error.TokenValidationError('Algorithm ' + alg +\n ' is not supported. (Expected algs: [' + supportedAlgs.join(',') + '])'), false);\n }\n\n if (tnonce !== nonce) {\n return cb(new error.TokenValidationError('Nonce does not match.'), false);\n }\n\n var expirationError = this.verifyExpAndNbf(exp, nbf); // eslint-disable-line vars-on-top\n\n if (expirationError) {\n return cb(expirationError, false);\n }\n\n return this.getRsaVerifier(iss, kid, function (err, rsaVerifier) {\n if (err) {\n return cb(err);\n }\n if (rsaVerifier.verify(headAndPayload, signature)) {\n return cb(null, jwt.payload);\n }\n return cb(new error.TokenValidationError('Invalid signature.'));\n });\n};\n\n/**\n * Verifies that the `exp` and `nbf` claims are valid in the current moment.\n *\n * @method verifyExpAndNbf\n * @param {String} exp value of `exp` claim\n * @param {String} nbf value of `nbf` claim\n * @return {boolean} if token is valid according to `exp` and `nbf`\n */\nIdTokenVerifier.prototype.verifyExpAndNbf = function (exp, nbf) {\n var now = new Date();\n var expDate = new Date(0);\n var nbfDate = new Date(0);\n\n if (this.__disableExpirationCheck) {\n return null;\n }\n\n expDate.setUTCSeconds(exp + this.leeway);\n\n if (now > expDate) {\n return new error.TokenValidationError('Expired token.');\n }\n\n if (typeof nbf === 'undefined') {\n return null;\n }\n nbfDate.setUTCSeconds(nbf - this.leeway);\n if (now < nbfDate) {\n return new error.TokenValidationError('The token is not valid until later in the future. ' +\n 'Please check your computed clock.');\n }\n\n return null;\n};\n\n/**\n * Verifies that the `exp` and `iat` claims are valid in the current moment.\n *\n * @method verifyExpAndIat\n * @param {String} exp value of `exp` claim\n * @param {String} iat value of `iat` claim\n * @return {boolean} if token is valid according to `exp` and `iat`\n */\nIdTokenVerifier.prototype.verifyExpAndIat = function (exp, iat) {\n var now = new Date();\n var expDate = new Date(0);\n var iatDate = new Date(0);\n\n if (this.__disableExpirationCheck) {\n return null;\n }\n\n expDate.setUTCSeconds(exp + this.leeway);\n\n if (now > expDate) {\n return new error.TokenValidationError('Expired token.');\n }\n\n iatDate.setUTCSeconds(iat - this.leeway);\n\n if (now < iatDate) {\n return new error.TokenValidationError('The token was issued in the future. ' +\n 'Please check your computed clock.');\n }\n return null;\n};\n\nIdTokenVerifier.prototype.getRsaVerifier = function (iss, kid, cb) {\n var _this = this;\n var cachekey = iss + kid;\n\n if (!this.jwksCache.has(cachekey)) {\n jwks.getJWKS({\n iss: iss,\n kid: kid\n }, function (err, keyInfo) {\n if (err) {\n cb(err);\n }\n _this.jwksCache.set(cachekey, keyInfo);\n cb(null, new RSAVerifier(keyInfo.modulus, keyInfo.exp));\n });\n } else {\n var keyInfo = this.jwksCache.get(cachekey); // eslint-disable-line vars-on-top\n cb(null, new RSAVerifier(keyInfo.modulus, keyInfo.exp));\n }\n};\n\n\n/**\n * @typedef DecodedToken\n * @type {Object}\n * @property {Object} header - content of the JWT header.\n * @property {Object} payload - token claims.\n * @property {Object} encoded - encoded parts of the token.\n */\n\n/**\n * Decodes a well formed JWT without any verification\n *\n * @method decode\n * @param {String} token decodes the token\n * @return {DecodedToken} if token is valid according to `exp` and `nbf`\n */\nIdTokenVerifier.prototype.decode = function (token) {\n var parts = token.split('.');\n var header;\n var payload;\n\n if (parts.length !== 3) {\n return new error.TokenValidationError('Cannot decode a malformed JWT');\n }\n\n try {\n header = JSON.parse(base64.decodeToString(parts[0]));\n payload = JSON.parse(base64.decodeToString(parts[1]));\n } catch (e) {\n return new error.TokenValidationError('Token header or payload is not valid JSON');\n }\n\n return {\n header: header,\n payload: payload,\n encoded: {\n header: parts[0],\n payload: parts[1],\n signature: parts[2]\n }\n };\n};\n\nmodule.exports = IdTokenVerifier;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/idtoken-verifier/src/index.js\n// module id = 30\n// module chunks = 0","(function(){\n\n // Copyright (c) 2005 Tom Wu\n // All Rights Reserved.\n // See \"LICENSE\" for details.\n\n // Basic JavaScript BN library - subset useful for RSA encryption.\n\n // Bits per digit\n var dbits;\n\n // JavaScript engine analysis\n var canary = 0xdeadbeefcafe;\n var j_lm = ((canary&0xffffff)==0xefcafe);\n\n // (public) Constructor\n function BigInteger(a,b,c) {\n if(a != null)\n if(\"number\" == typeof a) this.fromNumber(a,b,c);\n else if(b == null && \"string\" != typeof a) this.fromString(a,256);\n else this.fromString(a,b);\n }\n\n // return new, unset BigInteger\n function nbi() { return new BigInteger(null); }\n\n // am: Compute w_j += (x*this_i), propagate carries,\n // c is initial carry, returns final carry.\n // c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n // We need to select the fastest one that works in this environment.\n\n // am1: use a single mult and divide to get the high bits,\n // max digit bits should be 26 because\n // max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n function am1(i,x,w,j,c,n) {\n while(--n >= 0) {\n var v = x*this[i++]+w[j]+c;\n c = Math.floor(v/0x4000000);\n w[j++] = v&0x3ffffff;\n }\n return c;\n }\n // am2 avoids a big mult-and-extract completely.\n // Max digit bits should be <= 30 because we do bitwise ops\n // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n function am2(i,x,w,j,c,n) {\n var xl = x&0x7fff, xh = x>>15;\n while(--n >= 0) {\n var l = this[i]&0x7fff;\n var h = this[i++]>>15;\n var m = xh*l+h*xl;\n l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);\n c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);\n w[j++] = l&0x3fffffff;\n }\n return c;\n }\n // Alternately, set max digit bits to 28 since some\n // browsers slow down when dealing with 32-bit numbers.\n function am3(i,x,w,j,c,n) {\n var xl = x&0x3fff, xh = x>>14;\n while(--n >= 0) {\n var l = this[i]&0x3fff;\n var h = this[i++]>>14;\n var m = xh*l+h*xl;\n l = xl*l+((m&0x3fff)<<14)+w[j]+c;\n c = (l>>28)+(m>>14)+xh*h;\n w[j++] = l&0xfffffff;\n }\n return c;\n }\n var inBrowser = typeof navigator !== \"undefined\";\n if(inBrowser && j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\n BigInteger.prototype.am = am2;\n dbits = 30;\n }\n else if(inBrowser && j_lm && (navigator.appName != \"Netscape\")) {\n BigInteger.prototype.am = am1;\n dbits = 26;\n }\n else { // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n }\n\n BigInteger.prototype.DB = dbits;\n BigInteger.prototype.DM = ((1<= 0; --i) r[i] = this[i];\n r.t = this.t;\n r.s = this.s;\n }\n\n // (protected) set from integer value x, -DV <= x < DV\n function bnpFromInt(x) {\n this.t = 1;\n this.s = (x<0)?-1:0;\n if(x > 0) this[0] = x;\n else if(x < -1) this[0] = x+this.DV;\n else this.t = 0;\n }\n\n // return bigint initialized to value\n function nbv(i) { var r = nbi(); r.fromInt(i); return r; }\n\n // (protected) set from string and radix\n function bnpFromString(s,b) {\n var k;\n if(b == 16) k = 4;\n else if(b == 8) k = 3;\n else if(b == 256) k = 8; // byte array\n else if(b == 2) k = 1;\n else if(b == 32) k = 5;\n else if(b == 4) k = 2;\n else { this.fromRadix(s,b); return; }\n this.t = 0;\n this.s = 0;\n var i = s.length, mi = false, sh = 0;\n while(--i >= 0) {\n var x = (k==8)?s[i]&0xff:intAt(s,i);\n if(x < 0) {\n if(s.charAt(i) == \"-\") mi = true;\n continue;\n }\n mi = false;\n if(sh == 0)\n this[this.t++] = x;\n else if(sh+k > this.DB) {\n this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh));\n }\n else\n this[this.t-1] |= x<= this.DB) sh -= this.DB;\n }\n if(k == 8 && (s[0]&0x80) != 0) {\n this.s = -1;\n if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this[this.t-1] == c) --this.t;\n }\n\n // (public) return string representation in given radix\n function bnToString(b) {\n if(this.s < 0) return \"-\"+this.negate().toString(b);\n var k;\n if(b == 16) k = 4;\n else if(b == 8) k = 3;\n else if(b == 2) k = 1;\n else if(b == 32) k = 5;\n else if(b == 4) k = 2;\n else return this.toRadix(b);\n var km = (1< 0) {\n if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }\n while(i >= 0) {\n if(p < k) {\n d = (this[i]&((1<>(p+=this.DB-k);\n }\n else {\n d = (this[i]>>(p-=k))&km;\n if(p <= 0) { p += this.DB; --i; }\n }\n if(d > 0) m = true;\n if(m) r += int2char(d);\n }\n }\n return m?r:\"0\";\n }\n\n // (public) -this\n function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; }\n\n // (public) |this|\n function bnAbs() { return (this.s<0)?this.negate():this; }\n\n // (public) return + if this > a, - if this < a, 0 if equal\n function bnCompareTo(a) {\n var r = this.s-a.s;\n if(r != 0) return r;\n var i = this.t;\n r = i-a.t;\n if(r != 0) return (this.s<0)?-r:r;\n while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;\n return 0;\n }\n\n // returns bit length of the integer x\n function nbits(x) {\n var r = 1, t;\n if((t=x>>>16) != 0) { x = t; r += 16; }\n if((t=x>>8) != 0) { x = t; r += 8; }\n if((t=x>>4) != 0) { x = t; r += 4; }\n if((t=x>>2) != 0) { x = t; r += 2; }\n if((t=x>>1) != 0) { x = t; r += 1; }\n return r;\n }\n\n // (public) return the number of bits in \"this\"\n function bnBitLength() {\n if(this.t <= 0) return 0;\n return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));\n }\n\n // (protected) r = this << n*DB\n function bnpDLShiftTo(n,r) {\n var i;\n for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];\n for(i = n-1; i >= 0; --i) r[i] = 0;\n r.t = this.t+n;\n r.s = this.s;\n }\n\n // (protected) r = this >> n*DB\n function bnpDRShiftTo(n,r) {\n for(var i = n; i < this.t; ++i) r[i-n] = this[i];\n r.t = Math.max(this.t-n,0);\n r.s = this.s;\n }\n\n // (protected) r = this << n\n function bnpLShiftTo(n,r) {\n var bs = n%this.DB;\n var cbs = this.DB-bs;\n var bm = (1<= 0; --i) {\n r[i+ds+1] = (this[i]>>cbs)|c;\n c = (this[i]&bm)<= 0; --i) r[i] = 0;\n r[ds] = c;\n r.t = this.t+ds+1;\n r.s = this.s;\n r.clamp();\n }\n\n // (protected) r = this >> n\n function bnpRShiftTo(n,r) {\n r.s = this.s;\n var ds = Math.floor(n/this.DB);\n if(ds >= this.t) { r.t = 0; return; }\n var bs = n%this.DB;\n var cbs = this.DB-bs;\n var bm = (1<>bs;\n for(var i = ds+1; i < this.t; ++i) {\n r[i-ds-1] |= (this[i]&bm)<>bs;\n }\n if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<>= this.DB;\n }\n if(a.t < this.t) {\n c -= a.s;\n while(i < this.t) {\n c += this[i];\n r[i++] = c&this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while(i < a.t) {\n c -= a[i];\n r[i++] = c&this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = (c<0)?-1:0;\n if(c < -1) r[i++] = this.DV+c;\n else if(c > 0) r[i++] = c;\n r.t = i;\n r.clamp();\n }\n\n // (protected) r = this * a, r != this,a (HAC 14.12)\n // \"this\" should be the larger one if appropriate.\n function bnpMultiplyTo(a,r) {\n var x = this.abs(), y = a.abs();\n var i = x.t;\n r.t = i+y.t;\n while(--i >= 0) r[i] = 0;\n for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);\n r.s = 0;\n r.clamp();\n if(this.s != a.s) BigInteger.ZERO.subTo(r,r);\n }\n\n // (protected) r = this^2, r != this (HAC 14.16)\n function bnpSquareTo(r) {\n var x = this.abs();\n var i = r.t = 2*x.t;\n while(--i >= 0) r[i] = 0;\n for(i = 0; i < x.t-1; ++i) {\n var c = x.am(i,x[i],r,2*i,0,1);\n if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {\n r[i+x.t] -= x.DV;\n r[i+x.t+1] = 1;\n }\n }\n if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);\n r.s = 0;\n r.clamp();\n }\n\n // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n // r != q, this != m. q or r may be null.\n function bnpDivRemTo(m,q,r) {\n var pm = m.abs();\n if(pm.t <= 0) return;\n var pt = this.abs();\n if(pt.t < pm.t) {\n if(q != null) q.fromInt(0);\n if(r != null) this.copyTo(r);\n return;\n }\n if(r == null) r = nbi();\n var y = nbi(), ts = this.s, ms = m.s;\n var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus\n if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }\n else { pm.copyTo(y); pt.copyTo(r); }\n var ys = y.t;\n var y0 = y[ys-1];\n if(y0 == 0) return;\n var yt = y0*(1<1)?y[ys-2]>>this.F2:0);\n var d1 = this.FV/yt, d2 = (1<= 0) {\n r[r.t++] = 1;\n r.subTo(t,r);\n }\n BigInteger.ONE.dlShiftTo(ys,t);\n t.subTo(y,y); // \"negative\" y so we can replace sub with am later\n while(y.t < ys) y[y.t++] = 0;\n while(--j >= 0) {\n // Estimate quotient digit\n var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);\n if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out\n y.dlShiftTo(j,t);\n r.subTo(t,r);\n while(r[i] < --qd) r.subTo(t,r);\n }\n }\n if(q != null) {\n r.drShiftTo(ys,q);\n if(ts != ms) BigInteger.ZERO.subTo(q,q);\n }\n r.t = ys;\n r.clamp();\n if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder\n if(ts < 0) BigInteger.ZERO.subTo(r,r);\n }\n\n // (public) this mod a\n function bnMod(a) {\n var r = nbi();\n this.abs().divRemTo(a,null,r);\n if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r);\n return r;\n }\n\n // Modular reduction using \"classic\" algorithm\n function Classic(m) { this.m = m; }\n function cConvert(x) {\n if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);\n else return x;\n }\n function cRevert(x) { return x; }\n function cReduce(x) { x.divRemTo(this.m,null,x); }\n function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }\n function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }\n\n Classic.prototype.convert = cConvert;\n Classic.prototype.revert = cRevert;\n Classic.prototype.reduce = cReduce;\n Classic.prototype.mulTo = cMulTo;\n Classic.prototype.sqrTo = cSqrTo;\n\n // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n // justification:\n // xy == 1 (mod m)\n // xy = 1+km\n // xy(2-xy) = (1+km)(1-km)\n // x[y(2-xy)] = 1-k^2m^2\n // x[y(2-xy)] == 1 (mod m^2)\n // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n // JS multiply \"overflows\" differently from C/C++, so care is needed here.\n function bnpInvDigit() {\n if(this.t < 1) return 0;\n var x = this[0];\n if((x&1) == 0) return 0;\n var y = x&3; // y == 1/x mod 2^2\n y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4\n y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8\n y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return (y>0)?this.DV-y:-y;\n }\n\n // Montgomery reduction\n function Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp&0x7fff;\n this.mph = this.mp>>15;\n this.um = (1<<(m.DB-15))-1;\n this.mt2 = 2*m.t;\n }\n\n // xR mod m\n function montConvert(x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t,r);\n r.divRemTo(this.m,null,r);\n if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r);\n return r;\n }\n\n // x/R mod m\n function montRevert(x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n }\n\n // x = x/R mod m (HAC 14.32)\n function montReduce(x) {\n while(x.t <= this.mt2) // pad x so am has enough room later\n x[x.t++] = 0;\n for(var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i]&0x7fff;\n var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i+this.m.t;\n x[j] += this.m.am(0,u0,x,i,0,this.m.t);\n // propagate carry\n while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }\n }\n x.clamp();\n x.drShiftTo(this.m.t,x);\n if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);\n }\n\n // r = \"x^2/R mod m\"; x != r\n function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }\n\n // r = \"xy/R mod m\"; x,y != r\n function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }\n\n Montgomery.prototype.convert = montConvert;\n Montgomery.prototype.revert = montRevert;\n Montgomery.prototype.reduce = montReduce;\n Montgomery.prototype.mulTo = montMulTo;\n Montgomery.prototype.sqrTo = montSqrTo;\n\n // (protected) true iff this is even\n function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }\n\n // (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\n function bnpExp(e,z) {\n if(e > 0xffffffff || e < 1) return BigInteger.ONE;\n var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;\n g.copyTo(r);\n while(--i >= 0) {\n z.sqrTo(r,r2);\n if((e&(1< 0) z.mulTo(r2,g,r);\n else { var t = r; r = r2; r2 = t; }\n }\n return z.revert(r);\n }\n\n // (public) this^e % m, 0 <= e < 2^32\n function bnModPowInt(e,m) {\n var z;\n if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);\n return this.exp(e,z);\n }\n\n // protected\n BigInteger.prototype.copyTo = bnpCopyTo;\n BigInteger.prototype.fromInt = bnpFromInt;\n BigInteger.prototype.fromString = bnpFromString;\n BigInteger.prototype.clamp = bnpClamp;\n BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\n BigInteger.prototype.drShiftTo = bnpDRShiftTo;\n BigInteger.prototype.lShiftTo = bnpLShiftTo;\n BigInteger.prototype.rShiftTo = bnpRShiftTo;\n BigInteger.prototype.subTo = bnpSubTo;\n BigInteger.prototype.multiplyTo = bnpMultiplyTo;\n BigInteger.prototype.squareTo = bnpSquareTo;\n BigInteger.prototype.divRemTo = bnpDivRemTo;\n BigInteger.prototype.invDigit = bnpInvDigit;\n BigInteger.prototype.isEven = bnpIsEven;\n BigInteger.prototype.exp = bnpExp;\n\n // public\n BigInteger.prototype.toString = bnToString;\n BigInteger.prototype.negate = bnNegate;\n BigInteger.prototype.abs = bnAbs;\n BigInteger.prototype.compareTo = bnCompareTo;\n BigInteger.prototype.bitLength = bnBitLength;\n BigInteger.prototype.mod = bnMod;\n BigInteger.prototype.modPowInt = bnModPowInt;\n\n // \"constants\"\n BigInteger.ZERO = nbv(0);\n BigInteger.ONE = nbv(1);\n\n // Copyright (c) 2005-2009 Tom Wu\n // All Rights Reserved.\n // See \"LICENSE\" for details.\n\n // Extended JavaScript BN functions, required for RSA private ops.\n\n // Version 1.1: new BigInteger(\"0\", 10) returns \"proper\" zero\n // Version 1.2: square() API, isProbablePrime fix\n\n // (public)\n function bnClone() { var r = nbi(); this.copyTo(r); return r; }\n\n // (public) return value as integer\n function bnIntValue() {\n if(this.s < 0) {\n if(this.t == 1) return this[0]-this.DV;\n else if(this.t == 0) return -1;\n }\n else if(this.t == 1) return this[0];\n else if(this.t == 0) return 0;\n // assumes 16 < DB < 32\n return ((this[1]&((1<<(32-this.DB))-1))<>24; }\n\n // (public) return value as short (assumes DB>=16)\n function bnShortValue() { return (this.t==0)?this.s:(this[0]<<16)>>16; }\n\n // (protected) return x s.t. r^x < DV\n function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); }\n\n // (public) 0 if this == 0, 1 if this > 0\n function bnSigNum() {\n if(this.s < 0) return -1;\n else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0;\n else return 1;\n }\n\n // (protected) convert to radix string\n function bnpToRadix(b) {\n if(b == null) b = 10;\n if(this.signum() == 0 || b < 2 || b > 36) return \"0\";\n var cs = this.chunkSize(b);\n var a = Math.pow(b,cs);\n var d = nbv(a), y = nbi(), z = nbi(), r = \"\";\n this.divRemTo(d,y,z);\n while(y.signum() > 0) {\n r = (a+z.intValue()).toString(b).substr(1) + r;\n y.divRemTo(d,y,z);\n }\n return z.intValue().toString(b) + r;\n }\n\n // (protected) convert from radix string\n function bnpFromRadix(s,b) {\n this.fromInt(0);\n if(b == null) b = 10;\n var cs = this.chunkSize(b);\n var d = Math.pow(b,cs), mi = false, j = 0, w = 0;\n for(var i = 0; i < s.length; ++i) {\n var x = intAt(s,i);\n if(x < 0) {\n if(s.charAt(i) == \"-\" && this.signum() == 0) mi = true;\n continue;\n }\n w = b*w+x;\n if(++j >= cs) {\n this.dMultiply(d);\n this.dAddOffset(w,0);\n j = 0;\n w = 0;\n }\n }\n if(j > 0) {\n this.dMultiply(Math.pow(b,j));\n this.dAddOffset(w,0);\n }\n if(mi) BigInteger.ZERO.subTo(this,this);\n }\n\n // (protected) alternate constructor\n function bnpFromNumber(a,b,c) {\n if(\"number\" == typeof b) {\n // new BigInteger(int,int,RNG)\n if(a < 2) this.fromInt(1);\n else {\n this.fromNumber(a,c);\n if(!this.testBit(a-1))\t// force MSB set\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this);\n if(this.isEven()) this.dAddOffset(1,0); // force odd\n while(!this.isProbablePrime(b)) {\n this.dAddOffset(2,0);\n if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this);\n }\n }\n }\n else {\n // new BigInteger(int,RNG)\n var x = new Array(), t = a&7;\n x.length = (a>>3)+1;\n b.nextBytes(x);\n if(t > 0) x[0] &= ((1< 0) {\n if(p < this.DB && (d = this[i]>>p) != (this.s&this.DM)>>p)\n r[k++] = d|(this.s<<(this.DB-p));\n while(i >= 0) {\n if(p < 8) {\n d = (this[i]&((1<>(p+=this.DB-8);\n }\n else {\n d = (this[i]>>(p-=8))&0xff;\n if(p <= 0) { p += this.DB; --i; }\n }\n if((d&0x80) != 0) d |= -256;\n if(k == 0 && (this.s&0x80) != (d&0x80)) ++k;\n if(k > 0 || d != this.s) r[k++] = d;\n }\n }\n return r;\n }\n\n function bnEquals(a) { return(this.compareTo(a)==0); }\n function bnMin(a) { return(this.compareTo(a)<0)?this:a; }\n function bnMax(a) { return(this.compareTo(a)>0)?this:a; }\n\n // (protected) r = this op a (bitwise)\n function bnpBitwiseTo(a,op,r) {\n var i, f, m = Math.min(a.t,this.t);\n for(i = 0; i < m; ++i) r[i] = op(this[i],a[i]);\n if(a.t < this.t) {\n f = a.s&this.DM;\n for(i = m; i < this.t; ++i) r[i] = op(this[i],f);\n r.t = this.t;\n }\n else {\n f = this.s&this.DM;\n for(i = m; i < a.t; ++i) r[i] = op(f,a[i]);\n r.t = a.t;\n }\n r.s = op(this.s,a.s);\n r.clamp();\n }\n\n // (public) this & a\n function op_and(x,y) { return x&y; }\n function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; }\n\n // (public) this | a\n function op_or(x,y) { return x|y; }\n function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; }\n\n // (public) this ^ a\n function op_xor(x,y) { return x^y; }\n function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; }\n\n // (public) this & ~a\n function op_andnot(x,y) { return x&~y; }\n function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; }\n\n // (public) ~this\n function bnNot() {\n var r = nbi();\n for(var i = 0; i < this.t; ++i) r[i] = this.DM&~this[i];\n r.t = this.t;\n r.s = ~this.s;\n return r;\n }\n\n // (public) this << n\n function bnShiftLeft(n) {\n var r = nbi();\n if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r);\n return r;\n }\n\n // (public) this >> n\n function bnShiftRight(n) {\n var r = nbi();\n if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r);\n return r;\n }\n\n // return index of lowest 1-bit in x, x < 2^31\n function lbit(x) {\n if(x == 0) return -1;\n var r = 0;\n if((x&0xffff) == 0) { x >>= 16; r += 16; }\n if((x&0xff) == 0) { x >>= 8; r += 8; }\n if((x&0xf) == 0) { x >>= 4; r += 4; }\n if((x&3) == 0) { x >>= 2; r += 2; }\n if((x&1) == 0) ++r;\n return r;\n }\n\n // (public) returns index of lowest 1-bit (or -1 if none)\n function bnGetLowestSetBit() {\n for(var i = 0; i < this.t; ++i)\n if(this[i] != 0) return i*this.DB+lbit(this[i]);\n if(this.s < 0) return this.t*this.DB;\n return -1;\n }\n\n // return number of 1 bits in x\n function cbit(x) {\n var r = 0;\n while(x != 0) { x &= x-1; ++r; }\n return r;\n }\n\n // (public) return number of set bits\n function bnBitCount() {\n var r = 0, x = this.s&this.DM;\n for(var i = 0; i < this.t; ++i) r += cbit(this[i]^x);\n return r;\n }\n\n // (public) true iff nth bit is set\n function bnTestBit(n) {\n var j = Math.floor(n/this.DB);\n if(j >= this.t) return(this.s!=0);\n return((this[j]&(1<<(n%this.DB)))!=0);\n }\n\n // (protected) this op (1<>= this.DB;\n }\n if(a.t < this.t) {\n c += a.s;\n while(i < this.t) {\n c += this[i];\n r[i++] = c&this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while(i < a.t) {\n c += a[i];\n r[i++] = c&this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = (c<0)?-1:0;\n if(c > 0) r[i++] = c;\n else if(c < -1) r[i++] = this.DV+c;\n r.t = i;\n r.clamp();\n }\n\n // (public) this + a\n function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; }\n\n // (public) this - a\n function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; }\n\n // (public) this * a\n function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; }\n\n // (public) this^2\n function bnSquare() { var r = nbi(); this.squareTo(r); return r; }\n\n // (public) this / a\n function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; }\n\n // (public) this % a\n function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; }\n\n // (public) [this/a,this%a]\n function bnDivideAndRemainder(a) {\n var q = nbi(), r = nbi();\n this.divRemTo(a,q,r);\n return new Array(q,r);\n }\n\n // (protected) this *= n, this >= 0, 1 < n < DV\n function bnpDMultiply(n) {\n this[this.t] = this.am(0,n-1,this,0,0,this.t);\n ++this.t;\n this.clamp();\n }\n\n // (protected) this += n << w words, this >= 0\n function bnpDAddOffset(n,w) {\n if(n == 0) return;\n while(this.t <= w) this[this.t++] = 0;\n this[w] += n;\n while(this[w] >= this.DV) {\n this[w] -= this.DV;\n if(++w >= this.t) this[this.t++] = 0;\n ++this[w];\n }\n }\n\n // A \"null\" reducer\n function NullExp() {}\n function nNop(x) { return x; }\n function nMulTo(x,y,r) { x.multiplyTo(y,r); }\n function nSqrTo(x,r) { x.squareTo(r); }\n\n NullExp.prototype.convert = nNop;\n NullExp.prototype.revert = nNop;\n NullExp.prototype.mulTo = nMulTo;\n NullExp.prototype.sqrTo = nSqrTo;\n\n // (public) this^e\n function bnPow(e) { return this.exp(e,new NullExp()); }\n\n // (protected) r = lower n words of \"this * a\", a.t <= n\n // \"this\" should be the larger one if appropriate.\n function bnpMultiplyLowerTo(a,n,r) {\n var i = Math.min(this.t+a.t,n);\n r.s = 0; // assumes a,this >= 0\n r.t = i;\n while(i > 0) r[--i] = 0;\n var j;\n for(j = r.t-this.t; i < j; ++i) r[i+this.t] = this.am(0,a[i],r,i,0,this.t);\n for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a[i],r,i,0,n-i);\n r.clamp();\n }\n\n // (protected) r = \"this * a\" without lower n words, n > 0\n // \"this\" should be the larger one if appropriate.\n function bnpMultiplyUpperTo(a,n,r) {\n --n;\n var i = r.t = this.t+a.t-n;\n r.s = 0; // assumes a,this >= 0\n while(--i >= 0) r[i] = 0;\n for(i = Math.max(n-this.t,0); i < a.t; ++i)\n r[this.t+i-n] = this.am(n-i,a[i],r,0,0,this.t+i-n);\n r.clamp();\n r.drShiftTo(1,r);\n }\n\n // Barrett modular reduction\n function Barrett(m) {\n // setup Barrett\n this.r2 = nbi();\n this.q3 = nbi();\n BigInteger.ONE.dlShiftTo(2*m.t,this.r2);\n this.mu = this.r2.divide(m);\n this.m = m;\n }\n\n function barrettConvert(x) {\n if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m);\n else if(x.compareTo(this.m) < 0) return x;\n else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; }\n }\n\n function barrettRevert(x) { return x; }\n\n // x = x mod m (HAC 14.42)\n function barrettReduce(x) {\n x.drShiftTo(this.m.t-1,this.r2);\n if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); }\n this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3);\n this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);\n while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1);\n x.subTo(this.r2,x);\n while(x.compareTo(this.m) >= 0) x.subTo(this.m,x);\n }\n\n // r = x^2 mod m; x != r\n function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); }\n\n // r = x*y mod m; x,y != r\n function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }\n\n Barrett.prototype.convert = barrettConvert;\n Barrett.prototype.revert = barrettRevert;\n Barrett.prototype.reduce = barrettReduce;\n Barrett.prototype.mulTo = barrettMulTo;\n Barrett.prototype.sqrTo = barrettSqrTo;\n\n // (public) this^e % m (HAC 14.85)\n function bnModPow(e,m) {\n var i = e.bitLength(), k, r = nbv(1), z;\n if(i <= 0) return r;\n else if(i < 18) k = 1;\n else if(i < 48) k = 3;\n else if(i < 144) k = 4;\n else if(i < 768) k = 5;\n else k = 6;\n if(i < 8)\n z = new Classic(m);\n else if(m.isEven())\n z = new Barrett(m);\n else\n z = new Montgomery(m);\n\n // precomputation\n var g = new Array(), n = 3, k1 = k-1, km = (1< 1) {\n var g2 = nbi();\n z.sqrTo(g[1],g2);\n while(n <= km) {\n g[n] = nbi();\n z.mulTo(g2,g[n-2],g[n]);\n n += 2;\n }\n }\n\n var j = e.t-1, w, is1 = true, r2 = nbi(), t;\n i = nbits(e[j])-1;\n while(j >= 0) {\n if(i >= k1) w = (e[j]>>(i-k1))&km;\n else {\n w = (e[j]&((1<<(i+1))-1))<<(k1-i);\n if(j > 0) w |= e[j-1]>>(this.DB+i-k1);\n }\n\n n = k;\n while((w&1) == 0) { w >>= 1; --n; }\n if((i -= n) < 0) { i += this.DB; --j; }\n if(is1) {\t// ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n }\n else {\n while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; }\n if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; }\n z.mulTo(r2,g[w],r);\n }\n\n while(j >= 0 && (e[j]&(1< 0) {\n x.rShiftTo(g,x);\n y.rShiftTo(g,y);\n }\n while(x.signum() > 0) {\n if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x);\n if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y);\n if(x.compareTo(y) >= 0) {\n x.subTo(y,x);\n x.rShiftTo(1,x);\n }\n else {\n y.subTo(x,y);\n y.rShiftTo(1,y);\n }\n }\n if(g > 0) y.lShiftTo(g,y);\n return y;\n }\n\n // (protected) this % n, n < 2^26\n function bnpModInt(n) {\n if(n <= 0) return 0;\n var d = this.DV%n, r = (this.s<0)?n-1:0;\n if(this.t > 0)\n if(d == 0) r = this[0]%n;\n else for(var i = this.t-1; i >= 0; --i) r = (d*r+this[i])%n;\n return r;\n }\n\n // (public) 1/this % m (HAC 14.61)\n function bnModInverse(m) {\n var ac = m.isEven();\n if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO;\n var u = m.clone(), v = this.clone();\n var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);\n while(u.signum() != 0) {\n while(u.isEven()) {\n u.rShiftTo(1,u);\n if(ac) {\n if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); }\n a.rShiftTo(1,a);\n }\n else if(!b.isEven()) b.subTo(m,b);\n b.rShiftTo(1,b);\n }\n while(v.isEven()) {\n v.rShiftTo(1,v);\n if(ac) {\n if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); }\n c.rShiftTo(1,c);\n }\n else if(!d.isEven()) d.subTo(m,d);\n d.rShiftTo(1,d);\n }\n if(u.compareTo(v) >= 0) {\n u.subTo(v,u);\n if(ac) a.subTo(c,a);\n b.subTo(d,b);\n }\n else {\n v.subTo(u,v);\n if(ac) c.subTo(a,c);\n d.subTo(b,d);\n }\n }\n if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;\n if(d.compareTo(m) >= 0) return d.subtract(m);\n if(d.signum() < 0) d.addTo(m,d); else return d;\n if(d.signum() < 0) return d.add(m); else return d;\n }\n\n var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];\n var lplim = (1<<26)/lowprimes[lowprimes.length-1];\n\n // (public) test primality with certainty >= 1-.5^t\n function bnIsProbablePrime(t) {\n var i, x = this.abs();\n if(x.t == 1 && x[0] <= lowprimes[lowprimes.length-1]) {\n for(i = 0; i < lowprimes.length; ++i)\n if(x[0] == lowprimes[i]) return true;\n return false;\n }\n if(x.isEven()) return false;\n i = 1;\n while(i < lowprimes.length) {\n var m = lowprimes[i], j = i+1;\n while(j < lowprimes.length && m < lplim) m *= lowprimes[j++];\n m = x.modInt(m);\n while(i < j) if(m%lowprimes[i++] == 0) return false;\n }\n return x.millerRabin(t);\n }\n\n // (protected) true if probably prime (HAC 4.24, Miller-Rabin)\n function bnpMillerRabin(t) {\n var n1 = this.subtract(BigInteger.ONE);\n var k = n1.getLowestSetBit();\n if(k <= 0) return false;\n var r = n1.shiftRight(k);\n t = (t+1)>>1;\n if(t > lowprimes.length) t = lowprimes.length;\n var a = nbi();\n for(var i = 0; i < t; ++i) {\n //Pick bases at random, instead of starting at 2\n a.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);\n var y = a.modPow(r,this);\n if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n var j = 1;\n while(j++ < k && y.compareTo(n1) != 0) {\n y = y.modPowInt(2,this);\n if(y.compareTo(BigInteger.ONE) == 0) return false;\n }\n if(y.compareTo(n1) != 0) return false;\n }\n }\n return true;\n }\n\n // protected\n BigInteger.prototype.chunkSize = bnpChunkSize;\n BigInteger.prototype.toRadix = bnpToRadix;\n BigInteger.prototype.fromRadix = bnpFromRadix;\n BigInteger.prototype.fromNumber = bnpFromNumber;\n BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\n BigInteger.prototype.changeBit = bnpChangeBit;\n BigInteger.prototype.addTo = bnpAddTo;\n BigInteger.prototype.dMultiply = bnpDMultiply;\n BigInteger.prototype.dAddOffset = bnpDAddOffset;\n BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\n BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\n BigInteger.prototype.modInt = bnpModInt;\n BigInteger.prototype.millerRabin = bnpMillerRabin;\n\n // public\n BigInteger.prototype.clone = bnClone;\n BigInteger.prototype.intValue = bnIntValue;\n BigInteger.prototype.byteValue = bnByteValue;\n BigInteger.prototype.shortValue = bnShortValue;\n BigInteger.prototype.signum = bnSigNum;\n BigInteger.prototype.toByteArray = bnToByteArray;\n BigInteger.prototype.equals = bnEquals;\n BigInteger.prototype.min = bnMin;\n BigInteger.prototype.max = bnMax;\n BigInteger.prototype.and = bnAnd;\n BigInteger.prototype.or = bnOr;\n BigInteger.prototype.xor = bnXor;\n BigInteger.prototype.andNot = bnAndNot;\n BigInteger.prototype.not = bnNot;\n BigInteger.prototype.shiftLeft = bnShiftLeft;\n BigInteger.prototype.shiftRight = bnShiftRight;\n BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\n BigInteger.prototype.bitCount = bnBitCount;\n BigInteger.prototype.testBit = bnTestBit;\n BigInteger.prototype.setBit = bnSetBit;\n BigInteger.prototype.clearBit = bnClearBit;\n BigInteger.prototype.flipBit = bnFlipBit;\n BigInteger.prototype.add = bnAdd;\n BigInteger.prototype.subtract = bnSubtract;\n BigInteger.prototype.multiply = bnMultiply;\n BigInteger.prototype.divide = bnDivide;\n BigInteger.prototype.remainder = bnRemainder;\n BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;\n BigInteger.prototype.modPow = bnModPow;\n BigInteger.prototype.modInverse = bnModInverse;\n BigInteger.prototype.pow = bnPow;\n BigInteger.prototype.gcd = bnGCD;\n BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\n\n // JSBN-specific extension\n BigInteger.prototype.square = bnSquare;\n\n // Expose the Barrett function\n BigInteger.prototype.Barrett = Barrett\n\n // BigInteger interfaces not implemented in jsbn:\n\n // BigInteger(int signum, byte[] magnitude)\n // double doubleValue()\n // float floatValue()\n // int hashCode()\n // long longValue()\n // static BigInteger valueOf(long val)\n\n\t// Random number generator - requires a PRNG backend, e.g. prng4.js\n\n\t// For best results, put code like\n\t// \n\t// in your main HTML document.\n\n\tvar rng_state;\n\tvar rng_pool;\n\tvar rng_pptr;\n\n\t// Mix in a 32-bit integer into the pool\n\tfunction rng_seed_int(x) {\n\t rng_pool[rng_pptr++] ^= x & 255;\n\t rng_pool[rng_pptr++] ^= (x >> 8) & 255;\n\t rng_pool[rng_pptr++] ^= (x >> 16) & 255;\n\t rng_pool[rng_pptr++] ^= (x >> 24) & 255;\n\t if(rng_pptr >= rng_psize) rng_pptr -= rng_psize;\n\t}\n\n\t// Mix in the current time (w/milliseconds) into the pool\n\tfunction rng_seed_time() {\n\t rng_seed_int(new Date().getTime());\n\t}\n\n\t// Initialize the pool with junk if needed.\n\tif(rng_pool == null) {\n\t rng_pool = new Array();\n\t rng_pptr = 0;\n\t var t;\n\t if(typeof window !== \"undefined\" && window.crypto) {\n\t\tif (window.crypto.getRandomValues) {\n\t\t // Use webcrypto if available\n\t\t var ua = new Uint8Array(32);\n\t\t window.crypto.getRandomValues(ua);\n\t\t for(t = 0; t < 32; ++t)\n\t\t\trng_pool[rng_pptr++] = ua[t];\n\t\t}\n\t\telse if(navigator.appName == \"Netscape\" && navigator.appVersion < \"5\") {\n\t\t // Extract entropy (256 bits) from NS4 RNG if available\n\t\t var z = window.crypto.random(32);\n\t\t for(t = 0; t < z.length; ++t)\n\t\t\trng_pool[rng_pptr++] = z.charCodeAt(t) & 255;\n\t\t}\n\t }\n\t while(rng_pptr < rng_psize) { // extract some randomness from Math.random()\n\t\tt = Math.floor(65536 * Math.random());\n\t\trng_pool[rng_pptr++] = t >>> 8;\n\t\trng_pool[rng_pptr++] = t & 255;\n\t }\n\t rng_pptr = 0;\n\t rng_seed_time();\n\t //rng_seed_int(window.screenX);\n\t //rng_seed_int(window.screenY);\n\t}\n\n\tfunction rng_get_byte() {\n\t if(rng_state == null) {\n\t\trng_seed_time();\n\t\trng_state = prng_newstate();\n\t\trng_state.init(rng_pool);\n\t\tfor(rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr)\n\t\t rng_pool[rng_pptr] = 0;\n\t\trng_pptr = 0;\n\t\t//rng_pool = null;\n\t }\n\t // TODO: allow reseeding after first request\n\t return rng_state.next();\n\t}\n\n\tfunction rng_get_bytes(ba) {\n\t var i;\n\t for(i = 0; i < ba.length; ++i) ba[i] = rng_get_byte();\n\t}\n\n\tfunction SecureRandom() {}\n\n\tSecureRandom.prototype.nextBytes = rng_get_bytes;\n\n\t// prng4.js - uses Arcfour as a PRNG\n\n\tfunction Arcfour() {\n\t this.i = 0;\n\t this.j = 0;\n\t this.S = new Array();\n\t}\n\n\t// Initialize arcfour context from key, an array of ints, each from [0..255]\n\tfunction ARC4init(key) {\n\t var i, j, t;\n\t for(i = 0; i < 256; ++i)\n\t\tthis.S[i] = i;\n\t j = 0;\n\t for(i = 0; i < 256; ++i) {\n\t\tj = (j + this.S[i] + key[i % key.length]) & 255;\n\t\tt = this.S[i];\n\t\tthis.S[i] = this.S[j];\n\t\tthis.S[j] = t;\n\t }\n\t this.i = 0;\n\t this.j = 0;\n\t}\n\n\tfunction ARC4next() {\n\t var t;\n\t this.i = (this.i + 1) & 255;\n\t this.j = (this.j + this.S[this.i]) & 255;\n\t t = this.S[this.i];\n\t this.S[this.i] = this.S[this.j];\n\t this.S[this.j] = t;\n\t return this.S[(t + this.S[this.i]) & 255];\n\t}\n\n\tArcfour.prototype.init = ARC4init;\n\tArcfour.prototype.next = ARC4next;\n\n\t// Plug in your RNG constructor here\n\tfunction prng_newstate() {\n\t return new Arcfour();\n\t}\n\n\t// Pool size must be a multiple of 4 and greater than 32.\n\t// An array of bytes the size of the pool will be passed to init()\n\tvar rng_psize = 256;\n\n BigInteger.SecureRandom = SecureRandom;\n BigInteger.BigInteger = BigInteger;\n if (typeof exports !== 'undefined') {\n exports = module.exports = BigInteger;\n } else {\n this.BigInteger = BigInteger;\n this.SecureRandom = SecureRandom;\n }\n\n}).call(this);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/jsbn/index.js\n// module id = 31\n// module chunks = 0","/**\n * Check if `fn` is a function.\n *\n * @param {Function} fn\n * @return {Boolean}\n * @api private\n */\nvar isObject = require('./is-object');\n\nfunction isFunction(fn) {\n var tag = isObject(fn) ? Object.prototype.toString.call(fn) : '';\n return tag === '[object Function]';\n}\n\nmodule.exports = isFunction;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/superagent/lib/is-function.js\n// module id = 32\n// module chunks = 0","/**\n * Module of mixed-in functions shared between node and client code\n */\nvar isObject = require('./is-object');\n\n/**\n * Expose `RequestBase`.\n */\n\nmodule.exports = RequestBase;\n\n/**\n * Initialize a new `RequestBase`.\n *\n * @api public\n */\n\nfunction RequestBase(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the prototype properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in RequestBase.prototype) {\n obj[key] = RequestBase.prototype[key];\n }\n return obj;\n}\n\n/**\n * Clear previous timeout.\n *\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.clearTimeout = function _clearTimeout(){\n clearTimeout(this._timer);\n clearTimeout(this._responseTimeoutTimer);\n delete this._timer;\n delete this._responseTimeoutTimer;\n return this;\n};\n\n/**\n * Override default response body parser\n *\n * This function will be called to convert incoming data into request.body\n *\n * @param {Function}\n * @api public\n */\n\nRequestBase.prototype.parse = function parse(fn){\n this._parser = fn;\n return this;\n};\n\n/**\n * Set format of binary response body.\n * In browser valid formats are 'blob' and 'arraybuffer',\n * which return Blob and ArrayBuffer, respectively.\n *\n * In Node all values result in Buffer.\n *\n * Examples:\n *\n * req.get('/')\n * .responseType('blob')\n * .end(callback);\n *\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.responseType = function(val){\n this._responseType = val;\n return this;\n};\n\n/**\n * Override default request body serializer\n *\n * This function will be called to convert data set via .send or .attach into payload to send\n *\n * @param {Function}\n * @api public\n */\n\nRequestBase.prototype.serialize = function serialize(fn){\n this._serializer = fn;\n return this;\n};\n\n/**\n * Set timeouts.\n *\n * - response timeout is time between sending request and receiving the first byte of the response. Includes DNS and connection time.\n * - deadline is the time from start of the request to receiving response body in full. If the deadline is too short large files may not load at all on slow connections.\n *\n * Value of 0 or false means no timeout.\n *\n * @param {Number|Object} ms or {response, read, deadline}\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.timeout = function timeout(options){\n if (!options || 'object' !== typeof options) {\n this._timeout = options;\n this._responseTimeout = 0;\n return this;\n }\n\n for(var option in options) {\n switch(option) {\n case 'deadline':\n this._timeout = options.deadline;\n break;\n case 'response':\n this._responseTimeout = options.response;\n break;\n default:\n console.warn(\"Unknown timeout option\", option);\n }\n }\n return this;\n};\n\n/**\n * Set number of retry attempts on error.\n *\n * Failed requests will be retried 'count' times if timeout or err.code >= 500.\n *\n * @param {Number} count\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.retry = function retry(count){\n // Default to 1 if no count passed or true\n if (arguments.length === 0 || count === true) count = 1;\n if (count <= 0) count = 0;\n this._maxRetries = count;\n this._retries = 0;\n return this;\n};\n\n/**\n * Retry request\n *\n * @return {Request} for chaining\n * @api private\n */\n\nRequestBase.prototype._retry = function() {\n this.clearTimeout();\n\n // node\n if (this.req) {\n this.req = null;\n this.req = this.request();\n }\n\n this._aborted = false;\n this.timedout = false;\n\n return this._end();\n};\n\n/**\n * Promise support\n *\n * @param {Function} resolve\n * @param {Function} [reject]\n * @return {Request}\n */\n\nRequestBase.prototype.then = function then(resolve, reject) {\n if (!this._fullfilledPromise) {\n var self = this;\n if (this._endCalled) {\n console.warn(\"Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises\");\n }\n this._fullfilledPromise = new Promise(function(innerResolve, innerReject){\n self.end(function(err, res){\n if (err) innerReject(err); else innerResolve(res);\n });\n });\n }\n return this._fullfilledPromise.then(resolve, reject);\n}\n\nRequestBase.prototype.catch = function(cb) {\n return this.then(undefined, cb);\n};\n\n/**\n * Allow for extension\n */\n\nRequestBase.prototype.use = function use(fn) {\n fn(this);\n return this;\n}\n\nRequestBase.prototype.ok = function(cb) {\n if ('function' !== typeof cb) throw Error(\"Callback required\");\n this._okCallback = cb;\n return this;\n};\n\nRequestBase.prototype._isResponseOK = function(res) {\n if (!res) {\n return false;\n }\n\n if (this._okCallback) {\n return this._okCallback(res);\n }\n\n return res.status >= 200 && res.status < 300;\n};\n\n\n/**\n * Get request header `field`.\n * Case-insensitive.\n *\n * @param {String} field\n * @return {String}\n * @api public\n */\n\nRequestBase.prototype.get = function(field){\n return this._header[field.toLowerCase()];\n};\n\n/**\n * Get case-insensitive header `field` value.\n * This is a deprecated internal API. Use `.get(field)` instead.\n *\n * (getHeader is no longer used internally by the superagent code base)\n *\n * @param {String} field\n * @return {String}\n * @api private\n * @deprecated\n */\n\nRequestBase.prototype.getHeader = RequestBase.prototype.get;\n\n/**\n * Set header `field` to `val`, or multiple fields with one object.\n * Case-insensitive.\n *\n * Examples:\n *\n * req.get('/')\n * .set('Accept', 'application/json')\n * .set('X-API-Key', 'foobar')\n * .end(callback);\n *\n * req.get('/')\n * .set({ Accept: 'application/json', 'X-API-Key': 'foobar' })\n * .end(callback);\n *\n * @param {String|Object} field\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.set = function(field, val){\n if (isObject(field)) {\n for (var key in field) {\n this.set(key, field[key]);\n }\n return this;\n }\n this._header[field.toLowerCase()] = val;\n this.header[field] = val;\n return this;\n};\n\n/**\n * Remove header `field`.\n * Case-insensitive.\n *\n * Example:\n *\n * req.get('/')\n * .unset('User-Agent')\n * .end(callback);\n *\n * @param {String} field\n */\nRequestBase.prototype.unset = function(field){\n delete this._header[field.toLowerCase()];\n delete this.header[field];\n return this;\n};\n\n/**\n * Write the field `name` and `val`, or multiple fields with one object\n * for \"multipart/form-data\" request bodies.\n *\n * ``` js\n * request.post('/upload')\n * .field('foo', 'bar')\n * .end(callback);\n *\n * request.post('/upload')\n * .field({ foo: 'bar', baz: 'qux' })\n * .end(callback);\n * ```\n *\n * @param {String|Object} name\n * @param {String|Blob|File|Buffer|fs.ReadStream} val\n * @return {Request} for chaining\n * @api public\n */\nRequestBase.prototype.field = function(name, val) {\n\n // name should be either a string or an object.\n if (null === name || undefined === name) {\n throw new Error('.field(name, val) name can not be empty');\n }\n\n if (this._data) {\n console.error(\".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()\");\n }\n\n if (isObject(name)) {\n for (var key in name) {\n this.field(key, name[key]);\n }\n return this;\n }\n\n if (Array.isArray(val)) {\n for (var i in val) {\n this.field(name, val[i]);\n }\n return this;\n }\n\n // val should be defined now\n if (null === val || undefined === val) {\n throw new Error('.field(name, val) val can not be empty');\n }\n if ('boolean' === typeof val) {\n val = '' + val;\n }\n this._getFormData().append(name, val);\n return this;\n};\n\n/**\n * Abort the request, and clear potential timeout.\n *\n * @return {Request}\n * @api public\n */\nRequestBase.prototype.abort = function(){\n if (this._aborted) {\n return this;\n }\n this._aborted = true;\n this.xhr && this.xhr.abort(); // browser\n this.req && this.req.abort(); // node\n this.clearTimeout();\n this.emit('abort');\n return this;\n};\n\n/**\n * Enable transmission of cookies with x-domain requests.\n *\n * Note that for this to work the origin must not be\n * using \"Access-Control-Allow-Origin\" with a wildcard,\n * and also must set \"Access-Control-Allow-Credentials\"\n * to \"true\".\n *\n * @api public\n */\n\nRequestBase.prototype.withCredentials = function(on){\n // This is browser-only functionality. Node side is no-op.\n if(on==undefined) on = true;\n this._withCredentials = on;\n return this;\n};\n\n/**\n * Set the max redirects to `n`. Does noting in browser XHR implementation.\n *\n * @param {Number} n\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.redirects = function(n){\n this._maxRedirects = n;\n return this;\n};\n\n/**\n * Convert to a plain javascript object (not JSON string) of scalar properties.\n * Note as this method is designed to return a useful non-this value,\n * it cannot be chained.\n *\n * @return {Object} describing method, url, and data of this request\n * @api public\n */\n\nRequestBase.prototype.toJSON = function(){\n return {\n method: this.method,\n url: this.url,\n data: this._data,\n headers: this._header\n };\n};\n\n\n/**\n * Send `data` as the request body, defaulting the `.type()` to \"json\" when\n * an object is given.\n *\n * Examples:\n *\n * // manual json\n * request.post('/user')\n * .type('json')\n * .send('{\"name\":\"tj\"}')\n * .end(callback)\n *\n * // auto json\n * request.post('/user')\n * .send({ name: 'tj' })\n * .end(callback)\n *\n * // manual x-www-form-urlencoded\n * request.post('/user')\n * .type('form')\n * .send('name=tj')\n * .end(callback)\n *\n * // auto x-www-form-urlencoded\n * request.post('/user')\n * .type('form')\n * .send({ name: 'tj' })\n * .end(callback)\n *\n * // defaults to x-www-form-urlencoded\n * request.post('/user')\n * .send('name=tobi')\n * .send('species=ferret')\n * .end(callback)\n *\n * @param {String|Object} data\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.send = function(data){\n var isObj = isObject(data);\n var type = this._header['content-type'];\n\n if (this._formData) {\n console.error(\".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()\");\n }\n\n if (isObj && !this._data) {\n if (Array.isArray(data)) {\n this._data = [];\n } else if (!this._isHost(data)) {\n this._data = {};\n }\n } else if (data && this._data && this._isHost(this._data)) {\n throw Error(\"Can't merge these send calls\");\n }\n\n // merge\n if (isObj && isObject(this._data)) {\n for (var key in data) {\n this._data[key] = data[key];\n }\n } else if ('string' == typeof data) {\n // default to x-www-form-urlencoded\n if (!type) this.type('form');\n type = this._header['content-type'];\n if ('application/x-www-form-urlencoded' == type) {\n this._data = this._data\n ? this._data + '&' + data\n : data;\n } else {\n this._data = (this._data || '') + data;\n }\n } else {\n this._data = data;\n }\n\n if (!isObj || this._isHost(data)) {\n return this;\n }\n\n // default to json\n if (!type) this.type('json');\n return this;\n};\n\n\n/**\n * Sort `querystring` by the sort function\n *\n *\n * Examples:\n *\n * // default order\n * request.get('/user')\n * .query('name=Nick')\n * .query('search=Manny')\n * .sortQuery()\n * .end(callback)\n *\n * // customized sort function\n * request.get('/user')\n * .query('name=Nick')\n * .query('search=Manny')\n * .sortQuery(function(a, b){\n * return a.length - b.length;\n * })\n * .end(callback)\n *\n *\n * @param {Function} sort\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.sortQuery = function(sort) {\n // _sort default to true but otherwise can be a function or boolean\n this._sort = typeof sort === 'undefined' ? true : sort;\n return this;\n};\n\n/**\n * Invoke callback with timeout error.\n *\n * @api private\n */\n\nRequestBase.prototype._timeoutError = function(reason, timeout, errno){\n if (this._aborted) {\n return;\n }\n var err = new Error(reason + timeout + 'ms exceeded');\n err.timeout = timeout;\n err.code = 'ECONNABORTED';\n err.errno = errno;\n this.timedout = true;\n this.abort();\n this.callback(err);\n};\n\nRequestBase.prototype._setTimeouts = function() {\n var self = this;\n\n // deadline\n if (this._timeout && !this._timer) {\n this._timer = setTimeout(function(){\n self._timeoutError('Timeout of ', self._timeout, 'ETIME');\n }, this._timeout);\n }\n // response timeout\n if (this._responseTimeout && !this._responseTimeoutTimer) {\n this._responseTimeoutTimer = setTimeout(function(){\n self._timeoutError('Response timeout of ', self._responseTimeout, 'ETIMEDOUT');\n }, this._responseTimeout);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/superagent/lib/request-base.js\n// module id = 33\n// module chunks = 0","\n/**\n * Module dependencies.\n */\n\nvar utils = require('./utils');\n\n/**\n * Expose `ResponseBase`.\n */\n\nmodule.exports = ResponseBase;\n\n/**\n * Initialize a new `ResponseBase`.\n *\n * @api public\n */\n\nfunction ResponseBase(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the prototype properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in ResponseBase.prototype) {\n obj[key] = ResponseBase.prototype[key];\n }\n return obj;\n}\n\n/**\n * Get case-insensitive `field` value.\n *\n * @param {String} field\n * @return {String}\n * @api public\n */\n\nResponseBase.prototype.get = function(field){\n return this.header[field.toLowerCase()];\n};\n\n/**\n * Set header related properties:\n *\n * - `.type` the content type without params\n *\n * A response of \"Content-Type: text/plain; charset=utf-8\"\n * will provide you with a `.type` of \"text/plain\".\n *\n * @param {Object} header\n * @api private\n */\n\nResponseBase.prototype._setHeaderProperties = function(header){\n // TODO: moar!\n // TODO: make this a util\n\n // content-type\n var ct = header['content-type'] || '';\n this.type = utils.type(ct);\n\n // params\n var params = utils.params(ct);\n for (var key in params) this[key] = params[key];\n\n this.links = {};\n\n // links\n try {\n if (header.link) {\n this.links = utils.parseLinks(header.link);\n }\n } catch (err) {\n // ignore\n }\n};\n\n/**\n * Set flags such as `.ok` based on `status`.\n *\n * For example a 2xx response will give you a `.ok` of __true__\n * whereas 5xx will be __false__ and `.error` will be __true__. The\n * `.clientError` and `.serverError` are also available to be more\n * specific, and `.statusType` is the class of error ranging from 1..5\n * sometimes useful for mapping respond colors etc.\n *\n * \"sugar\" properties are also defined for common cases. Currently providing:\n *\n * - .noContent\n * - .badRequest\n * - .unauthorized\n * - .notAcceptable\n * - .notFound\n *\n * @param {Number} status\n * @api private\n */\n\nResponseBase.prototype._setStatusProperties = function(status){\n var type = status / 100 | 0;\n\n // status / class\n this.status = this.statusCode = status;\n this.statusType = type;\n\n // basics\n this.info = 1 == type;\n this.ok = 2 == type;\n this.redirect = 3 == type;\n this.clientError = 4 == type;\n this.serverError = 5 == type;\n this.error = (4 == type || 5 == type)\n ? this.toError()\n : false;\n\n // sugar\n this.accepted = 202 == status;\n this.noContent = 204 == status;\n this.badRequest = 400 == status;\n this.unauthorized = 401 == status;\n this.notAcceptable = 406 == status;\n this.forbidden = 403 == status;\n this.notFound = 404 == status;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/superagent/lib/response-base.js\n// module id = 34\n// module chunks = 0","var ERROR_CODES = [\n 'ECONNRESET',\n 'ETIMEDOUT',\n 'EADDRINFO',\n 'ESOCKETTIMEDOUT'\n];\n\n/**\n * Determine if a request should be retried.\n * (Borrowed from segmentio/superagent-retry)\n *\n * @param {Error} err\n * @param {Response} [res]\n * @returns {Boolean}\n */\nmodule.exports = function shouldRetry(err, res) {\n if (err && err.code && ~ERROR_CODES.indexOf(err.code)) return true;\n if (res && res.status && res.status >= 500) return true;\n // Superagent timeout\n if (err && 'timeout' in err && err.code == 'ECONNABORTED') return true;\n return false;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/superagent/lib/should-retry.js\n// module id = 35\n// module chunks = 0","\n/**\n * Return the mime type for the given `str`.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nexports.type = function(str){\n return str.split(/ *; */).shift();\n};\n\n/**\n * Return header field parameters.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nexports.params = function(str){\n return str.split(/ *; */).reduce(function(obj, str){\n var parts = str.split(/ *= */);\n var key = parts.shift();\n var val = parts.shift();\n\n if (key && val) obj[key] = val;\n return obj;\n }, {});\n};\n\n/**\n * Parse Link header fields.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nexports.parseLinks = function(str){\n return str.split(/ *, */).reduce(function(obj, str){\n var parts = str.split(/ *; */);\n var url = parts[0].slice(1, -1);\n var rel = parts[1].split(/ *= */)[1].slice(1, -1);\n obj[rel] = url;\n return obj;\n }, {});\n};\n\n/**\n * Strip content related fields from `header`.\n *\n * @param {Object} header\n * @return {Object} header\n * @api private\n */\n\nexports.cleanHeader = function(header, shouldStripCookie){\n delete header['content-type'];\n delete header['content-length'];\n delete header['transfer-encoding'];\n delete header['host'];\n if (shouldStripCookie) {\n delete header['cookie'];\n }\n return header;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/superagent/lib/utils.js\n// module id = 36\n// module chunks = 0","var urljoin = require('url-join');\n\nvar objectHelper = require('../helper/object');\nvar assert = require('../helper/assert');\nvar responseHandler = require('../helper/response-handler');\n\nfunction DBConnection(request, options) {\n this.baseOptions = options;\n this.request = request;\n}\n\n/**\n * @callback signUpCallback\n * @param {Error} [err] error returned by Auth0 with the reason why the signup failed\n * @param {Object} [result] result of the signup request\n * @param {Object} result.email user's email\n * @param {Object} result.emailVerified if the user's email was verified\n */\n\n/**\n * Creates a new user in a Auth0 Database connection\n *\n * @method signup\n * @param {Object} options\n * @param {String} options.email user email address\n * @param {String} options.password user password\n * @param {String} options.connection name of the connection where the user will be created\n * @param {Object} [options.userMetadata] additional signup attributes used for creating the user. Will be stored in `user_metadata`\n * @param {signUpCallback} cb\n * @see {@link https://auth0.com/docs/api/authentication#signup}\n */\nDBConnection.prototype.signup = function(options, cb) {\n var url;\n var body;\n var metadata;\n\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n connection: { type: 'string', message: 'connection option is required' },\n email: { type: 'string', message: 'email option is required' },\n password: { type: 'string', message: 'password option is required' }\n }\n );\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'dbconnections', 'signup');\n\n body = objectHelper.merge(this.baseOptions, ['clientID']).with(options);\n\n metadata = body.user_metadata || body.userMetadata;\n\n body = objectHelper.blacklist(body, ['scope', 'userMetadata', 'user_metadata']);\n\n body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\n if (metadata) {\n body.user_metadata = metadata;\n }\n\n return this.request.post(url).send(body).end(responseHandler(cb));\n};\n\n/**\n * @callback changePasswordCallback\n * @param {Error} [err] error returned by Auth0 with the reason why the request failed\n */\n\n/**\n * Request an email with instruction to change a user's password\n *\n * @method changePassword\n * @param {Object} options\n * @param {String} options.email address where the user will recieve the change password email. It should match the user's email in Auth0\n * @param {String} options.connection name of the connection where the user was created\n * @param {changePasswordCallback} cb\n * @see {@link https://auth0.com/docs/api/authentication#change-password}\n */\nDBConnection.prototype.changePassword = function(options, cb) {\n var url;\n var body;\n\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n connection: { type: 'string', message: 'connection option is required' },\n email: { type: 'string', message: 'email option is required' }\n }\n );\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'dbconnections', 'change_password');\n\n body = objectHelper.merge(this.baseOptions, ['clientID']).with(options, ['email', 'connection']);\n\n body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\n return this.request.post(url).send(body).end(responseHandler(cb));\n};\n\nmodule.exports = DBConnection;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/authentication/db-connection.js\n// module id = 40\n// module chunks = 0","var urljoin = require('url-join');\n\nvar objectHelper = require('../helper/object');\nvar assert = require('../helper/assert');\nvar qs = require('qs');\nvar responseHandler = require('../helper/response-handler');\n\nfunction PasswordlessAuthentication(request, options) {\n this.baseOptions = options;\n this.request = request;\n}\n\nPasswordlessAuthentication.prototype.buildVerifyUrl = function(options) {\n var params;\n var qString;\n\n /* eslint-disable */\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n connection: { type: 'string', message: 'connection option is required' },\n verificationCode: { type: 'string', message: 'verificationCode option is required' },\n phoneNumber: {\n optional: false,\n type: 'string',\n message: 'phoneNumber option is required',\n condition: function(o) {\n return !o.email;\n }\n },\n email: {\n optional: false,\n type: 'string',\n message: 'email option is required',\n condition: function(o) {\n return !o.phoneNumber;\n }\n }\n }\n );\n /* eslint-enable */\n\n params = objectHelper\n .merge(this.baseOptions, [\n 'clientID',\n 'responseType',\n 'responseMode',\n 'redirectUri',\n 'scope',\n 'audience',\n '_csrf',\n 'state',\n '_intstate',\n 'protocol',\n 'nonce'\n ])\n .with(options);\n\n // eslint-disable-next-line\n if (this.baseOptions._sendTelemetry) {\n params.auth0Client = this.request.getTelemetryData();\n }\n\n params = objectHelper.toSnakeCase(params, ['auth0Client']);\n\n qString = qs.stringify(params);\n\n return urljoin(this.baseOptions.rootUrl, 'passwordless', 'verify_redirect', '?' + qString);\n};\n\nPasswordlessAuthentication.prototype.start = function(options, cb) {\n var url;\n var body;\n\n /* eslint-disable */\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n connection: { type: 'string', message: 'connection option is required' },\n send: {\n type: 'string',\n message: 'send option is required',\n values: ['link', 'code'],\n value_message: 'send is not valid ([link, code])'\n },\n phoneNumber: {\n optional: true,\n type: 'string',\n message: 'phoneNumber option is required',\n condition: function(o) {\n return o.send === 'code' || !o.email;\n }\n },\n email: {\n optional: true,\n type: 'string',\n message: 'email option is required',\n condition: function(o) {\n return o.send === 'link' || !o.phoneNumber;\n }\n },\n authParams: { optional: true, type: 'object', message: 'authParams option is required' }\n }\n );\n /* eslint-enable */\n\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'passwordless', 'start');\n\n body = objectHelper\n .merge(this.baseOptions, ['clientID', 'responseType', 'redirectUri', 'scope'])\n .with(options);\n\n if (body.scope) {\n body.authParams = body.authParams || {};\n body.authParams.scope = body.scope;\n }\n\n if (body.redirectUri) {\n body.authParams = body.authParams || {};\n body.authParams.redirect_uri = body.redirectUri;\n }\n\n if (body.responseType) {\n body.authParams = body.authParams || {};\n body.authParams.response_type = body.responseType;\n }\n\n delete body.redirectUri;\n delete body.responseType;\n delete body.scope;\n\n body = objectHelper.toSnakeCase(body, ['auth0Client', 'authParams']);\n\n return this.request.post(url).send(body).end(responseHandler(cb));\n};\n\nPasswordlessAuthentication.prototype.verify = function(options, cb) {\n var url;\n var cleanOption;\n\n /* eslint-disable */\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n connection: { type: 'string', message: 'connection option is required' },\n verificationCode: { type: 'string', message: 'verificationCode option is required' },\n phoneNumber: {\n optional: false,\n type: 'string',\n message: 'phoneNumber option is required',\n condition: function(o) {\n return !o.email;\n }\n },\n email: {\n optional: false,\n type: 'string',\n message: 'email option is required',\n condition: function(o) {\n return !o.phoneNumber;\n }\n }\n }\n );\n /* eslint-enable */\n\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n cleanOption = objectHelper.pick(options, [\n 'connection',\n 'verificationCode',\n 'phoneNumber',\n 'email',\n 'auth0Client'\n ]);\n cleanOption = objectHelper.toSnakeCase(cleanOption, ['auth0Client']);\n\n url = urljoin(this.baseOptions.rootUrl, 'passwordless', 'verify');\n\n return this.request.post(url).send(cleanOption).end(responseHandler(cb));\n};\n\nmodule.exports = PasswordlessAuthentication;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/authentication/passwordless-authentication.js\n// module id = 41\n// module chunks = 0","var windowHandler = require('./window');\nvar base64Url = require('./base64_url');\n\nfunction create(name, value, days) {\n var date;\n var expires;\n\n if (\n windowHandler.getDocument().cookie === undefined ||\n windowHandler.getDocument().cookie === null\n ) {\n throw new Error('cookie storage not available');\n }\n\n if (days) {\n var timeToExpire = days * 24 * 60 * 60 * 1000;\n date = new Date();\n date.setTime(date.getTime() + timeToExpire);\n expires = '; expires=' + date.toGMTString();\n } else {\n expires = '';\n }\n\n windowHandler.getDocument().cookie = name + '=' + base64Url.encode(value) + expires + '; path=/';\n}\n\nfunction read(name) {\n var i;\n var cookie;\n var cookies;\n var nameEQ = name + '=';\n\n if (\n windowHandler.getDocument().cookie === undefined ||\n windowHandler.getDocument().cookie === null\n ) {\n throw new Error('cookie storage not available');\n }\n\n cookies = windowHandler.getDocument().cookie.split(';');\n\n for (i = 0; i < cookies.length; i++) {\n cookie = cookies[i];\n while (cookie.charAt(0) === ' ') {\n cookie = cookie.substring(1, cookie.length);\n }\n if (cookie.indexOf(nameEQ) === 0) {\n return base64Url.decode(cookie.substring(nameEQ.length, cookie.length));\n }\n }\n\n return null;\n}\n\nfunction erase(name) {\n create(name, '', -1);\n}\n\nmodule.exports = {\n create: create,\n read: read,\n erase: erase\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/cookies.js\n// module id = 42\n// module chunks = 0","var windowHelper = require('./window');\n\nfunction IframeHandler(options) {\n this.url = options.url;\n this.callback = options.callback;\n this.timeout = options.timeout || 60 * 1000;\n this.timeoutCallback = options.timeoutCallback || null;\n this.eventListenerType = options.eventListenerType || 'message';\n this.iframe = null;\n this.timeoutHandle = null;\n this._destroyTimeout = null;\n this.transientMessageEventListener = null;\n this.proxyEventListener = null;\n // If no event identifier specified, set default\n this.eventValidator = options.eventValidator || {\n isValid: function() {\n return true;\n }\n };\n\n if (typeof this.callback !== 'function') {\n throw new Error('options.callback must be a function');\n }\n}\n\nIframeHandler.prototype.init = function() {\n var _this = this;\n var _window = windowHelper.getWindow();\n\n this.iframe = _window.document.createElement('iframe');\n this.iframe.style.display = 'none';\n this.iframe.src = this.url;\n\n // Workaround to avoid using bind that does not work in IE8\n this.proxyEventListener = function(e) {\n _this.eventListener(e);\n };\n\n switch (this.eventListenerType) {\n case 'message':\n this.eventSourceObject = _window;\n break;\n case 'load':\n this.eventSourceObject = this.iframe;\n break;\n default:\n throw new Error('Unsupported event listener type: ' + this.eventListenerType);\n }\n\n this.eventSourceObject.addEventListener(this.eventListenerType, this.proxyEventListener, false);\n\n _window.document.body.appendChild(this.iframe);\n\n this.timeoutHandle = setTimeout(function() {\n _this.timeoutHandler();\n }, this.timeout);\n};\n\nIframeHandler.prototype.eventListener = function(event) {\n var eventData = { event: event, sourceObject: this.eventSourceObject };\n\n if (!this.eventValidator.isValid(eventData)) {\n return;\n }\n\n this.destroy();\n this.callback(eventData);\n};\n\nIframeHandler.prototype.timeoutHandler = function() {\n this.destroy();\n if (this.timeoutCallback) {\n this.timeoutCallback();\n }\n};\n\nIframeHandler.prototype.destroy = function() {\n var _this = this;\n var _window = windowHelper.getWindow();\n\n clearTimeout(this.timeoutHandle);\n\n this._destroyTimeout = setTimeout(function() {\n _this.eventSourceObject.removeEventListener(\n _this.eventListenerType,\n _this.proxyEventListener,\n false\n );\n _window.document.body.removeChild(_this.iframe);\n }, 0);\n};\n\nmodule.exports = IframeHandler;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/iframe-handler.js\n// module id = 43\n// module chunks = 0","/* eslint-disable no-continue */\n\nfunction get() {\n if (!Object.assign) {\n return objectAssignPolyfill;\n }\n\n return Object.assign;\n}\n\nfunction objectAssignPolyfill(target) {\n 'use strict';\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n\n var keysArray = Object.keys(Object(nextSource));\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n}\n\nmodule.exports = {\n get: get,\n objectAssignPolyfill: objectAssignPolyfill\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/object-assign.js\n// module id = 44\n// module chunks = 0","var objectHelper = require('./object');\n\nvar tokenParams = [\n // auth0\n 'realm',\n 'audience',\n // oauth2\n 'client_id',\n 'client_secret',\n 'redirect_uri',\n 'scope',\n 'code',\n 'grant_type',\n 'username',\n 'password',\n 'refresh_token',\n 'assertion',\n 'client_assertion',\n 'client_assertion_type',\n 'code_verifier'\n];\n\nvar authorizeParams = [\n // auth0\n 'connection',\n 'connection_scope',\n 'auth0Client',\n 'owp',\n 'device',\n\n 'protocol',\n '_csrf',\n '_intstate',\n 'login_ticket',\n\n // oauth2\n 'client_id',\n 'response_type',\n 'response_mode',\n 'redirect_uri',\n 'audience',\n 'scope',\n 'state',\n 'nonce',\n 'display',\n 'prompt',\n 'max_age',\n 'ui_locales',\n 'claims_locales',\n 'id_token_hint',\n 'login_hint',\n 'acr_values',\n 'claims',\n 'registration',\n 'request',\n 'request_uri',\n 'code_challenge',\n 'code_challenge_method'\n];\n\nfunction oauthAuthorizeParams(warn, params) {\n var notAllowed = objectHelper.getKeysNotIn(params, authorizeParams);\n\n if (notAllowed.length > 0) {\n warn.warning(\n 'Following parameters are not allowed on the `/authorize` endpoint: [' +\n notAllowed.join(',') +\n ']'\n );\n }\n\n return params;\n}\n\nfunction oauthTokenParams(warn, params) {\n return objectHelper.pick(params, tokenParams);\n}\n\nmodule.exports = {\n oauthTokenParams: oauthTokenParams,\n oauthAuthorizeParams: oauthAuthorizeParams\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/parameters-whitelist.js\n// module id = 45\n// module chunks = 0","var version = require('../version');\n\nfunction PluginHandler(webAuth, plugins) {\n this.plugins = plugins;\n\n for (var a = 0; a < this.plugins.length; a++) {\n if (this.plugins[a].version !== version.raw) {\n var pluginName = '';\n\n if (this.plugins[a].constructor && this.plugins[a].constructor.name) {\n pluginName = this.plugins[a].constructor.name;\n }\n\n throw new Error(\n 'Plugin ' +\n pluginName +\n ' version (' +\n this.plugins[a].version +\n ') ' +\n 'is not compatible with the SDK version (' +\n version.raw +\n ')'\n );\n }\n\n this.plugins[a].setWebAuth(webAuth);\n }\n}\n\nPluginHandler.prototype.get = function(extensibilityPoint) {\n for (var a = 0; a < this.plugins.length; a++) {\n if (this.plugins[a].supports(extensibilityPoint)) {\n return this.plugins[a].init();\n }\n }\n\n return null;\n};\n\nmodule.exports = PluginHandler;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/plugins.js\n// module id = 46\n// module chunks = 0","/* eslint-disable no-restricted-syntax */\n/* eslint-disable guard-for-in */\nvar WinChan = require('winchan');\n\nvar windowHandler = require('./window');\nvar objectHelper = require('./object');\nvar qs = require('qs');\n\nfunction PopupHandler() {\n this._current_popup = null;\n}\n\nPopupHandler.prototype.calculatePosition = function(options) {\n var width = options.width || 500;\n var height = options.height || 600;\n var _window = windowHandler.getWindow();\n\n var screenX = typeof _window.screenX !== 'undefined' ? _window.screenX : _window.screenLeft;\n var screenY = typeof _window.screenY !== 'undefined' ? _window.screenY : _window.screenTop;\n\n var outerWidth = typeof _window.outerWidth !== 'undefined'\n ? _window.outerWidth\n : _window.document.body.clientWidth;\n\n var outerHeight = typeof _window.outerHeight !== 'undefined'\n ? _window.outerHeight\n : _window.document.body.clientHeight;\n\n var left = (outerWidth - width) / 2;\n var top = (outerHeight - height) / 2;\n\n return { width: width, height: height, left: screenX + left, top: screenY + top };\n};\n\nPopupHandler.prototype.preload = function(options) {\n var _this = this;\n var _window = windowHandler.getWindow();\n var popupPosition = this.calculatePosition(options.popupOptions || {});\n var popupOptions = objectHelper.merge(popupPosition).with(options.popupOptions);\n var url = options.url || 'about:blank';\n var windowFeatures = qs.stringify(popupOptions, {\n encode: false,\n delimiter: ','\n });\n\n if (this._current_popup && !this._current_popup.closed) {\n return this._current_popup;\n }\n\n this._current_popup = _window.open(url, 'auth0_signup_popup', windowFeatures);\n\n this._current_popup.kill = function() {\n this.close();\n _this._current_popup = null;\n };\n\n return this._current_popup;\n};\n\nPopupHandler.prototype.load = function(url, relayUrl, options, cb) {\n var _this = this;\n var popupPosition = this.calculatePosition(options.popupOptions || {});\n var popupOptions = objectHelper.merge(popupPosition).with(options.popupOptions);\n\n var winchanOptions = objectHelper\n .merge({\n url: url,\n relay_url: relayUrl,\n window_features: qs.stringify(popupOptions, {\n delimiter: ',',\n encode: false\n }),\n popup: this._current_popup\n })\n .with(options);\n\n var popup = WinChan.open(winchanOptions, function(err, data) {\n _this._current_popup = null;\n return cb(err, data);\n });\n\n popup.focus();\n\n return popup;\n};\n\nmodule.exports = PopupHandler;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/popup-handler.js\n// module id = 47\n// module chunks = 0","var windowHelper = require('./window');\n\nfunction randomString(length) {\n // eslint-disable-next-line\n var bytes = new Uint8Array(length);\n var result = [];\n var charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._~';\n\n var cryptoObj = windowHelper.getWindow().crypto || windowHelper.getWindow().msCrypto;\n if (!cryptoObj) {\n return null;\n }\n\n var random = cryptoObj.getRandomValues(bytes);\n\n for (var a = 0; a < random.length; a++) {\n result.push(charset[random[a] % charset.length]);\n }\n\n return result.join('');\n}\n\nmodule.exports = {\n randomString: randomString\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/random.js\n// module id = 48\n// module chunks = 0","var StorageHandler = require('./storage/handler');\nvar storage;\n\nfunction getStorage(force) {\n if (!storage || force) {\n storage = new StorageHandler();\n }\n return storage;\n}\n\nmodule.exports = {\n getItem: function(key) {\n var value = getStorage().getItem(key);\n return value ? JSON.parse(value) : value;\n },\n removeItem: function(key) {\n return getStorage().removeItem(key);\n },\n setItem: function(key, value) {\n var json = JSON.stringify(value);\n return getStorage().setItem(key, json);\n },\n reload: function() {\n getStorage(true);\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/storage.js\n// module id = 49\n// module chunks = 0","var cookies = require('../cookies');\n\nfunction CookieStorage() {}\n\nCookieStorage.prototype.getItem = function(key) {\n return cookies.read(key);\n};\n\nCookieStorage.prototype.removeItem = function(key) {\n cookies.erase(key);\n};\n\nCookieStorage.prototype.setItem = function(key, value) {\n cookies.create(key, value, 1);\n};\n\nmodule.exports = CookieStorage;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/storage/cookie.js\n// module id = 50\n// module chunks = 0","function DummyStorage() {}\n\nDummyStorage.prototype.getItem = function() {\n return null;\n};\n\nDummyStorage.prototype.removeItem = function() {};\n\nDummyStorage.prototype.setItem = function() {};\n\nmodule.exports = DummyStorage;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/storage/dummy.js\n// module id = 51\n// module chunks = 0","var windowHandler = require('../window');\nvar DummyStorage = require('./dummy');\nvar CookieStorage = require('./cookie');\nvar Warn = require('../warn');\n\nfunction StorageHandler() {\n this.warn = new Warn({});\n this.storage = windowHandler.getWindow().localStorage || new CookieStorage();\n}\n\nStorageHandler.prototype.failover = function() {\n if (this.storage instanceof DummyStorage) {\n this.warn.warning('DummyStorage: ignore failover');\n return;\n } else if (this.storage instanceof CookieStorage) {\n this.warn.warning('CookieStorage: failing over DummyStorage');\n this.storage = new DummyStorage();\n } else {\n this.warn.warning('LocalStorage: failing over CookieStorage');\n this.storage = new CookieStorage();\n }\n};\n\nStorageHandler.prototype.getItem = function(key) {\n try {\n return this.storage.getItem(key);\n } catch (e) {\n this.warn.warning(e);\n this.failover();\n return this.getItem(key);\n }\n};\n\nStorageHandler.prototype.removeItem = function(key) {\n try {\n return this.storage.removeItem(key);\n } catch (e) {\n this.warn.warning(e);\n this.failover();\n return this.removeItem(key);\n }\n};\n\nStorageHandler.prototype.setItem = function(key, value) {\n try {\n return this.storage.setItem(key, value);\n } catch (e) {\n this.warn.warning(e);\n this.failover();\n return this.setItem(key, value);\n }\n};\n\nmodule.exports = StorageHandler;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/storage/handler.js\n// module id = 52\n// module chunks = 0","// given a URL, extract the origin. Taken from: https://github.com/firebase/firebase-simple-login/blob/d2cb95b9f812d8488bdbfba51c3a7c153ba1a074/js/src/simple-login/transports/WinChan.js#L25-L30\nfunction extractOrigin(url) {\n if (!/^https?:\\/\\//.test(url)) url = window.location.href;\n var m = /^(https?:\\/\\/[-_a-zA-Z.0-9:]+)/.exec(url);\n if (m) return m[1];\n return url;\n}\n\nmodule.exports = {\n extractOrigin: extractOrigin\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/helper/url.js\n// module id = 53\n// module chunks = 0","var Authentication = require('./authentication');\nvar Management = require('./management');\nvar WebAuth = require('./web-auth');\nvar version = require('./version');\n\nmodule.exports = {\n Authentication: Authentication,\n Management: Management,\n WebAuth: WebAuth,\n version: version.raw\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.js\n// module id = 54\n// module chunks = 0","var urljoin = require('url-join');\n\nvar RequestBuilder = require('../helper/request-builder');\nvar assert = require('../helper/assert');\nvar responseHandler = require('../helper/response-handler');\n\n/**\n * Auth0 Management API Client (methods allowed to be called from the browser only)\n * @constructor\n * @param {Object} options\n * @param {Object} options.domain your Auth0 acount domain\n * @param {Object} options.token a valid API token\n */\nfunction Management(options) {\n /* eslint-disable */\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n domain: { type: 'string', message: 'domain option is required' },\n token: { type: 'string', message: 'token option is required' },\n _sendTelemetry: {\n optional: true,\n type: 'boolean',\n message: '_sendTelemetry option is not valid'\n },\n _telemetryInfo: {\n optional: true,\n type: 'object',\n message: '_telemetryInfo option is not valid'\n }\n }\n );\n /* eslint-enable */\n\n this.baseOptions = options;\n\n this.baseOptions.headers = { Authorization: 'Bearer ' + this.baseOptions.token };\n\n this.request = new RequestBuilder(this.baseOptions);\n this.baseOptions.rootUrl = urljoin('https://' + this.baseOptions.domain, 'api', 'v2');\n}\n\n/**\n * @callback userCallback\n * @param {Error} [err] failure reason for the failed request to Management API\n * @param {Object} [result] user profile\n */\n\n/**\n * Returns the user profile\n *\n * @method getUser\n * @param {String} userId identifier of the user to retrieve\n * @param {userCallback} cb\n * @see https://auth0.com/docs/api/management/v2#!/Users/get_users_by_id\n */\nManagement.prototype.getUser = function(userId, cb) {\n var url;\n\n assert.check(userId, { type: 'string', message: 'userId parameter is not valid' });\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'users', userId);\n\n return this.request.get(url).end(responseHandler(cb, { ignoreCasing: true }));\n};\n\n/**\n * Updates the user metdata. It will patch the user metdata with the attributes sent.\n *\n *\n * @method patchUserMetadata\n * @param {String} userId\n * @param {Object} userMetadata\n * @param {userCallback} cb\n * @see {@link https://auth0.com/docs/api/management/v2#!/Users/patch_users_by_id}\n */\nManagement.prototype.patchUserMetadata = function(userId, userMetadata, cb) {\n var url;\n\n assert.check(userId, { type: 'string', message: 'userId parameter is not valid' });\n assert.check(userMetadata, { type: 'object', message: 'userMetadata parameter is not valid' });\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n url = urljoin(this.baseOptions.rootUrl, 'users', userId);\n\n return this.request\n .patch(url)\n .send({ user_metadata: userMetadata })\n .end(responseHandler(cb, { ignoreCasing: true }));\n};\n\n/**\n * Link two users\n *\n * @method linkUser\n * @param {String} userId\n * @param {String} secondaryUserToken\n * @param {userCallback} cb\n * @see {@link https://auth0.com/docs/api/management/v2#!/Users/post_identities}\n */\nManagement.prototype.linkUser = function(userId, secondaryUserToken, cb) {\n var url;\n /* eslint-disable */\n assert.check(userId, { type: 'string', message: 'userId parameter is not valid' });\n assert.check(secondaryUserToken, {\n type: 'string',\n message: 'secondaryUserToken parameter is not valid'\n });\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n /* eslint-enable */\n\n url = urljoin(this.baseOptions.rootUrl, 'users', userId, 'identities');\n\n return this.request\n .post(url)\n .send({ link_with: secondaryUserToken })\n .end(responseHandler(cb, { ignoreCasing: true }));\n};\n\nmodule.exports = Management;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/management/index.js\n// module id = 55\n// module chunks = 0","var urljoin = require('url-join');\n\nvar windowHelper = require('../helper/window');\nvar objectHelper = require('../helper/object');\nvar RequestBuilder = require('../helper/request-builder');\n\nfunction CrossOriginAuthentication(webAuth, options) {\n this.webAuth = webAuth;\n this.baseOptions = options;\n this.request = new RequestBuilder(options);\n}\n\nfunction getFragment(name) {\n var theWindow = windowHelper.getWindow();\n var value = '&' + theWindow.location.hash.substring(1);\n var parts = value.split('&' + name + '=');\n if (parts.length === 2) {\n return parts.pop().split('&').shift();\n }\n}\n\nfunction createKey(origin, coId) {\n return ['co/verifier', encodeURIComponent(origin), encodeURIComponent(coId)].join('/');\n}\n\n/**\n * Logs in the user with username and password using the cross origin authentication (/co/authenticate) flow. You can use either `username` or `email` to identify the user, but `username` will take precedence over `email`.\n * This only works when 3rd party cookies are enabled in the browser. After the /co/authenticate call, you'll have to use the {@link parseHash} function at the `redirectUri` specified in the constructor.\n *\n * @method login\n * @param {Object} options options used in the {@link authorize} call after the login_ticket is acquired\n * @param {String} [options.username] Username (mutually exclusive with email)\n * @param {String} [options.email] Email (mutually exclusive with username)\n * @param {String} options.password Password\n * @param {String} [options.realm] Realm used to authenticate the user, it can be a realm name or a database connection name\n * @param {crossOriginLoginCallback} cb Callback function called only when an authentication error, like invalid username or password, occurs. For other types of errors, there will be a redirect to the `redirectUri`.\n */\nCrossOriginAuthentication.prototype.login = function(options, cb) {\n var _this = this;\n var theWindow = windowHelper.getWindow();\n var url = urljoin(this.baseOptions.rootUrl, '/co/authenticate');\n var authenticateBody = {\n client_id: options.clientID || this.baseOptions.clientID,\n username: options.username || options.email\n };\n if (options.password) {\n authenticateBody.password = options.password;\n }\n if (options.otp) {\n authenticateBody.otp = options.otp;\n }\n var realm = options.realm || this.baseOptions.realm;\n\n if (realm) {\n var credentialType =\n options.credentialType ||\n this.baseOptions.credentialType ||\n 'http://auth0.com/oauth/grant-type/password-realm';\n authenticateBody.realm = realm;\n authenticateBody.credential_type = credentialType;\n } else {\n authenticateBody.credential_type = 'password';\n }\n this.request.post(url).withCredentials().send(authenticateBody).end(function(err, data) {\n if (err) {\n var errorObject = (err.response && err.response.body) || {\n error: 'request_error',\n error_description: JSON.stringify(err)\n };\n return cb(errorObject);\n }\n options = objectHelper.blacklist(options, ['username', 'password', 'credentialType', 'otp']);\n var authorizeOptions = objectHelper\n .merge(options)\n .with({ loginTicket: data.body.login_ticket });\n var key = createKey(_this.baseOptions.rootUrl, data.body.co_id);\n theWindow.sessionStorage[key] = data.body.co_verifier;\n _this.webAuth.authorize(authorizeOptions);\n });\n};\n\nfunction tryGetVerifier(theWindow, key) {\n try {\n var verifier = theWindow.sessionStorage[key];\n theWindow.sessionStorage.removeItem(key);\n return verifier;\n } catch (e) {\n return '';\n }\n}\n\n/**\n * Runs the callback code for the cross origin authentication call. This method is meant to be called by the cross origin authentication callback url.\n *\n * @method callback\n */\nCrossOriginAuthentication.prototype.callback = function() {\n var targetOrigin = decodeURIComponent(getFragment('origin'));\n var theWindow = windowHelper.getWindow();\n\n theWindow.addEventListener('message', function(evt) {\n if (evt.data.type !== 'co_verifier_request') {\n return;\n }\n var key = createKey(evt.origin, evt.data.request.id);\n var verifier = tryGetVerifier(theWindow, key);\n\n evt.source.postMessage(\n {\n type: 'co_verifier_response',\n response: {\n verifier: verifier\n }\n },\n evt.origin\n );\n });\n\n theWindow.parent.postMessage({ type: 'ready' }, targetOrigin);\n};\n\nmodule.exports = CrossOriginAuthentication;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/web-auth/cross-origin-authentication.js\n// module id = 56\n// module chunks = 0","var IdTokenVerifier = require('idtoken-verifier');\n\nvar assert = require('../helper/assert');\nvar error = require('../helper/error');\nvar qs = require('qs');\nvar PluginHandler = require('../helper/plugins');\nvar windowHelper = require('../helper/window');\nvar objectHelper = require('../helper/object');\nvar TransactionManager = require('./transaction-manager');\nvar Authentication = require('../authentication');\nvar Redirect = require('./redirect');\nvar Popup = require('./popup');\nvar SilentAuthenticationHandler = require('./silent-authentication-handler');\nvar CrossOriginAuthentication = require('./cross-origin-authentication');\n/**\n * Handles all the browser's AuthN/AuthZ flows\n * @constructor\n * @param {Object} options\n * @param {String} options.domain your Auth0 domain\n * @param {String} options.clientID your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n * @param {String} [options.responseType] type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n * @param {Array} [options.plugins]\n * @param {Number} [options._timesToRetryFailedRequests] Number of times to retry a failed request, according to {@link https://github.com/visionmedia/superagent/blob/master/lib/should-retry.js}\n * @see {@link https://auth0.com/docs/api/authentication}\n */\nfunction WebAuth(options) {\n /* eslint-disable */\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n domain: { type: 'string', message: 'domain option is required' },\n clientID: { type: 'string', message: 'clientID option is required' },\n responseType: { optional: true, type: 'string', message: 'responseType is not valid' },\n responseMode: { optional: true, type: 'string', message: 'responseMode is not valid' },\n redirectUri: { optional: true, type: 'string', message: 'redirectUri is not valid' },\n scope: { optional: true, type: 'string', message: 'scope is not valid' },\n audience: { optional: true, type: 'string', message: 'audience is not valid' },\n leeway: { optional: true, type: 'number', message: 'leeway is not valid' },\n plugins: { optional: true, type: 'array', message: 'plugins is not valid' },\n _disableDeprecationWarnings: {\n optional: true,\n type: 'boolean',\n message: '_disableDeprecationWarnings option is not valid'\n },\n _sendTelemetry: {\n optional: true,\n type: 'boolean',\n message: '_sendTelemetry option is not valid'\n },\n _telemetryInfo: {\n optional: true,\n type: 'object',\n message: '_telemetryInfo option is not valid'\n },\n _timesToRetryFailedRequests: {\n optional: true,\n type: 'number',\n message: '_timesToRetryFailedRequests option is not valid'\n }\n }\n );\n\n if (options.overrides) {\n assert.check(\n options.overrides,\n { type: 'object', message: 'overrides option is not valid' },\n {\n __tenant: { type: 'string', message: '__tenant option is required' },\n __token_issuer: { type: 'string', message: '__token_issuer option is required' }\n }\n );\n }\n /* eslint-enable */\n\n this.baseOptions = options;\n this.baseOptions.plugins = new PluginHandler(this, this.baseOptions.plugins || []);\n\n this.baseOptions._sendTelemetry = this.baseOptions._sendTelemetry === false\n ? this.baseOptions._sendTelemetry\n : true;\n\n this.baseOptions._timesToRetryFailedRequests = options._timesToRetryFailedRequests\n ? parseInt(options._timesToRetryFailedRequests, 0)\n : 0;\n\n this.baseOptions.tenant =\n (this.baseOptions.overrides && this.baseOptions.overrides.__tenant) ||\n this.baseOptions.domain.split('.')[0];\n\n this.baseOptions.token_issuer =\n (this.baseOptions.overrides && this.baseOptions.overrides.__token_issuer) ||\n 'https://' + this.baseOptions.domain + '/';\n\n this.transactionManager = new TransactionManager(this.baseOptions.transaction);\n\n this.client = new Authentication(this.baseOptions);\n this.redirect = new Redirect(this.client, this.baseOptions);\n this.popup = new Popup(this, this.baseOptions);\n this.crossOriginAuthentication = new CrossOriginAuthentication(this, this.baseOptions);\n}\n\n/**\n * Parse the url hash and extract the Auth response from a Auth flow started with {@link authorize}\n *\n * Only validates id_tokens signed by Auth0 using the RS256 algorithm using the public key exposed\n * by the `/.well-known/jwks.json` endpoint of your account.\n * Tokens signed with other algorithms, e.g. HS256 will not be accepted.\n *\n * @method parseHash\n * @param {Object} options\n * @param {String} options.hash the url hash. If not provided it will extract from window.location.hash\n * @param {String} [options.state] value originally sent in `state` parameter to {@link authorize} to mitigate XSRF\n * @param {String} [options.nonce] value originally sent in `nonce` parameter to {@link authorize} to prevent replay attacks\n * @param {String} [options._idTokenVerification] makes parseHash perform or skip `id_token` verification. We **strongly** recommend validating the `id_token` yourself if you disable the verification.\n * @param {authorizeCallback} cb\n */\nWebAuth.prototype.parseHash = function(options, cb) {\n var parsedQs;\n var err;\n var state;\n var transaction;\n var transactionNonce;\n\n if (!cb && typeof options === 'function') {\n cb = options;\n options = {};\n } else {\n options = options || {};\n }\n\n options._idTokenVerification = !(options._idTokenVerification === false);\n\n var _window = windowHelper.getWindow();\n\n var hashStr = options.hash === undefined ? _window.location.hash : options.hash;\n hashStr = hashStr.replace(/^#?\\/?/, '');\n\n parsedQs = qs.parse(hashStr);\n\n if (parsedQs.hasOwnProperty('error')) {\n err = error.buildResponse(parsedQs.error, parsedQs.error_description);\n\n if (parsedQs.state) {\n err.state = parsedQs.state;\n }\n\n return cb(err);\n }\n\n if (\n !parsedQs.hasOwnProperty('access_token') &&\n !parsedQs.hasOwnProperty('id_token') &&\n !parsedQs.hasOwnProperty('refresh_token')\n ) {\n return cb(null, null);\n }\n\n state = parsedQs.state || options.state;\n\n transaction = this.transactionManager.getStoredTransaction(state);\n transactionNonce = options.nonce || (transaction && transaction.nonce) || null;\n\n var applicationStatus = (transaction && transaction.appStatus) || null;\n if (parsedQs.id_token && options._idTokenVerification) {\n return this.validateToken(parsedQs.id_token, transactionNonce, function(\n validationError,\n payload\n ) {\n if (validationError) {\n return cb(validationError);\n }\n return cb(null, buildParseHashResponse(parsedQs, applicationStatus, payload));\n });\n }\n\n if (parsedQs.id_token) {\n var verifier = new IdTokenVerifier({\n issuer: this.baseOptions.token_issuer,\n audience: this.baseOptions.clientID,\n leeway: this.baseOptions.leeway || 0,\n __disableExpirationCheck: this.baseOptions.__disableExpirationCheck\n });\n\n var decodedToken = verifier.decode(parsedQs.id_token);\n cb(null, buildParseHashResponse(parsedQs, applicationStatus, decodedToken.payload));\n } else {\n cb(null, buildParseHashResponse(parsedQs, applicationStatus, null));\n }\n};\n\nfunction buildParseHashResponse(qsParams, appStatus, token) {\n return {\n accessToken: qsParams.access_token || null,\n idToken: qsParams.id_token || null,\n idTokenPayload: token || null,\n appStatus: appStatus || null,\n refreshToken: qsParams.refresh_token || null,\n state: qsParams.state || null,\n expiresIn: qsParams.expires_in ? parseInt(qsParams.expires_in, 10) : null,\n tokenType: qsParams.token_type || null,\n scope: qsParams.scope || null\n };\n}\n\n/**\n * @callback validateTokenCallback\n * @param {Error} [err] error returned by while validating the token\n * @param {Object} [payload] claims stored in the token\n */\n\n/**\n * Decodes the a JWT and verifies its nonce value\n *\n * @method validateToken\n * @private\n * @param {String} token\n * @param {String} nonce\n * @param {validateTokenCallback} cb\n */\nWebAuth.prototype.validateToken = function(token, nonce, cb) {\n var verifier = new IdTokenVerifier({\n issuer: this.baseOptions.token_issuer,\n audience: this.baseOptions.clientID,\n leeway: this.baseOptions.leeway || 0,\n __disableExpirationCheck: this.baseOptions.__disableExpirationCheck\n });\n\n verifier.verify(token, nonce, function(err, payload) {\n if (err) {\n return cb(error.invalidJwt(err.message));\n }\n\n cb(null, payload);\n });\n};\n\n/**\n * Executes a silent authentication transaction under the hood in order to fetch a new tokens for the current session.\n * This method requires that all Auth is performed with {@link authorize}\n * Watch out! If you're not using the hosted login page to do social logins, you have to use your own [social connection keys](https://manage.auth0.com/#/connections/social). If you use Auth0's dev keys, you'll always get `login_required` as an error when calling this method.\n *\n * @method renewAuth\n * @param {Object} options\n * @param {String} [options.domain] your Auth0 domain\n * @param {String} [options.clientID] your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n * @param {String} [options.responseType] type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n * @param {String} [options.state] value used to mitigate XSRF attacks. {@link https://auth0.com/docs/protocols/oauth2/oauth-state}\n * @param {String} [options.nonce] value used to mitigate replay attacks when using Implicit Grant. {@link https://auth0.com/docs/api-auth/tutorials/nonce}\n * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n * @param {String} [options.postMessageDataType] identifier data type to look for in postMessage event data, where events are initiated from silent callback urls, before accepting a message event is the event expected. A value of false means any postMessage event will trigger a callback.\n * @see {@link https://auth0.com/docs/api/authentication#authorize-client}\n */\nWebAuth.prototype.renewAuth = function(options, cb) {\n var handler;\n var usePostMessage = !!options.usePostMessage;\n var postMessageDataType = options.postMessageDataType || false;\n var _this = this;\n\n var params = objectHelper\n .merge(this.baseOptions, [\n 'clientID',\n 'redirectUri',\n 'responseType',\n 'scope',\n 'audience',\n '_csrf',\n 'state',\n '_intstate',\n 'nonce'\n ])\n .with(options);\n\n params.responseType = params.responseType || 'token';\n params.responseMode = params.responseMode || 'fragment';\n if (!options.nonce) {\n params = this.transactionManager.process(params);\n }\n\n assert.check(params, { type: 'object', message: 'options parameter is not valid' });\n assert.check(cb, { type: 'function', message: 'cb parameter is not valid' });\n\n params.prompt = 'none';\n\n params = objectHelper.blacklist(params, ['usePostMessage', 'tenant', 'postMessageDataType']);\n\n handler = SilentAuthenticationHandler.create({\n authenticationUrl: this.client.buildAuthorizeUrl(params),\n postMessageDataType: postMessageDataType\n });\n\n handler.login(usePostMessage, function(err, hash) {\n if (typeof hash === 'object') {\n // hash was already parsed, so we just return it.\n // it's here to be backwards compatible and should be removed in the next major version.\n return cb(err, hash);\n }\n var transaction = _this.transactionManager.getStoredTransaction(params.state);\n var transactionNonce = options.nonce || (transaction && transaction.nonce) || null;\n var transactionState = options.state || (transaction && transaction.state) || null;\n _this.parseHash({ hash: hash, nonce: transactionNonce, state: transactionState }, cb);\n });\n};\n\n/**\n * Request an email with instruction to change a user's password\n *\n * @method changePassword\n * @param {Object} options\n * @param {String} options.email address where the user will recieve the change password email. It should match the user's email in Auth0\n * @param {String} options.connection name of the connection where the user was created\n * @param {changePasswordCallback} cb\n * @see {@link https://auth0.com/docs/api/authentication#change-password}\n */\nWebAuth.prototype.changePassword = function(options, cb) {\n return this.client.dbConnection.changePassword(options, cb);\n};\n\n/**\n * Starts a passwordless authentication transaction.\n *\n * @method passwordlessStart\n * @param {Object} options\n * @param {String} options.send what will be sent via email which could be `link` or `code`. For SMS `code` is the only one valud\n * @param {String} [options.phoneNumber] phone number where to send the `code`. This parameter is mutually exclusive with `email`\n * @param {String} [options.email] email where to send the `code` or `link`. This parameter is mutually exclusive with `phoneNumber`\n * @param {String} options.connection name of the passwordless connection\n * @param {Object} [options.authParams] additional Auth parameters when using `link`\n * @param {Function} cb\n * @see {@link https://auth0.com/docs/api/authentication#passwordless}\n */\nWebAuth.prototype.passwordlessStart = function(options, cb) {\n var authParams = objectHelper\n .merge(this.baseOptions, [\n 'responseType',\n 'responseMode',\n 'redirectUri',\n 'scope',\n 'audience',\n '_csrf',\n 'state',\n '_intstate',\n 'nonce'\n ])\n .with(options.authParams);\n\n options.authParams = this.transactionManager.process(authParams);\n return this.client.passwordless.start(options, cb);\n};\n\n/**\n * Creates a new user in a Auth0 Database connection\n *\n * @method signup\n * @param {Object} options\n * @param {String} options.email user email address\n * @param {String} options.password user password\n * @param {String} options.connection name of the connection where the user will be created\n * @param {signUpCallback} cb\n * @see {@link https://auth0.com/docs/api/authentication#signup}\n */\nWebAuth.prototype.signup = function(options, cb) {\n return this.client.dbConnection.signup(options, cb);\n};\n\n/**\n * Redirects to the hosted login page (`/authorize`) in order to start a new authN/authZ transaction.\n * After that, you'll have to use the {@link parseHash} function at the specified `redirectUri`.\n *\n * @method authorize\n * @param {Object} options\n * @param {String} [options.domain] your Auth0 domain\n * @param {String} [options.clientID] your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n * @param {String} options.redirectUri url that the Auth0 will redirect after Auth with the Authorization Response\n * @param {String} options.responseType type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n * @param {String} [options.state] value used to mitigate XSRF attacks. {@link https://auth0.com/docs/protocols/oauth2/oauth-state}\n * @param {String} [options.nonce] value used to mitigate replay attacks when using Implicit Grant. {@link https://auth0.com/docs/api-auth/tutorials/nonce}\n * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n * @see {@link https://auth0.com/docs/api/authentication#authorize-client}\n */\nWebAuth.prototype.authorize = function(options) {\n var params = objectHelper\n .merge(this.baseOptions, [\n 'clientID',\n 'responseType',\n 'responseMode',\n 'redirectUri',\n 'scope',\n 'audience',\n '_csrf',\n 'state',\n '_intstate',\n 'nonce'\n ])\n .with(options);\n\n assert.check(\n params,\n { type: 'object', message: 'options parameter is not valid' },\n {\n responseType: { type: 'string', message: 'responseType option is required' }\n }\n );\n\n params = this.transactionManager.process(params);\n\n windowHelper.redirect(this.client.buildAuthorizeUrl(params));\n};\n\n/**\n * Signs up a new user, automatically logs the user in after the signup and returns the user token.\n * The login will be done using /oauth/token with password-realm grant type.\n *\n * @method signupAndAuthorize\n * @param {Object} options\n * @param {String} options.email user email address\n * @param {String} options.password user password\n * @param {String} options.connection name of the connection where the user will be created\n * @param {tokenCallback} cb\n * @see {@link https://auth0.com/docs/api/authentication#signup}\n * @see {@link https://auth0.com/docs/api-auth/grant/password}\n */\nWebAuth.prototype.signupAndAuthorize = function(options, cb) {\n var _this = this;\n\n return this.client.dbConnection.signup(\n objectHelper.blacklist(options, ['popupHandler']),\n function(err) {\n if (err) {\n return cb(err);\n }\n options.realm = options.connection;\n if (!options.username) {\n options.username = options.email;\n }\n _this.client.login(options, cb);\n }\n );\n};\n\n/**\n * @callback crossOriginLoginCallback\n * @param {Error} [err] Authentication error returned by Auth0 with the reason why the request failed\n */\n\n/**\n * Logs in the user with username and password using the cross origin authentication (/co/authenticate) flow. You can use either `username` or `email` to identify the user, but `username` will take precedence over `email`.\n * This only works when 3rd party cookies are enabled in the browser. After the /co/authenticate call, you'll have to use the {@link parseHash} function at the `redirectUri` specified in the constructor.\n *\n * @method login\n * @param {Object} options options used in the {@link authorize} call after the login_ticket is acquired\n * @param {String} [options.username] Username (mutually exclusive with email)\n * @param {String} [options.email] Email (mutually exclusive with username)\n * @param {String} options.password Password\n * @param {String} [options.realm] Realm used to authenticate the user, it can be a realm name or a database connection name\n * @param {crossOriginLoginCallback} cb Callback function called only when an authentication error, like invalid username or password, occurs. For other types of errors, there will be a redirect to the `redirectUri`.\n */\nWebAuth.prototype.login = function(options, cb) {\n this.crossOriginAuthentication.login(options, cb);\n};\n\n/**\n * Logs in the user by verifying the verification code (OTP) using the cross origin authentication (/co/authenticate) flow. You can use either `phoneNumber` or `email` to identify the user.\n * This only works when 3rd party cookies are enabled in the browser. After the /co/authenticate call, you'll have to use the {@link parseHash} function at the `redirectUri` specified in the constructor.\n *\n * @method login\n * @param {Object} options options used in the {@link authorize} call after the login_ticket is acquired\n * @param {String} [options.phoneNumber] Phone Number (mutually exclusive with email)\n * @param {String} [options.email] Email (mutually exclusive with username)\n * @param {String} options.verificationCode Verification Code (OTP)\n * @param {String} options.connection Passwordless connection to use. It can either be 'sms' or 'email'.\n * @param {crossOriginLoginCallback} cb Callback function called only when an authentication error, like invalid username or password, occurs. For other types of errors, there will be a redirect to the `redirectUri`.\n */\nWebAuth.prototype.passwordlessLogin = function(options, cb) {\n var loginOptions = objectHelper.extend(\n {\n credentialType: 'http://auth0.com/oauth/grant-type/passwordless/otp',\n realm: options.connection,\n username: options.email || options.phoneNumber,\n otp: options.verificationCode\n },\n objectHelper.blacklist(options, ['connection', 'email', 'phoneNumber', 'verificationCode'])\n );\n this.crossOriginAuthentication.login(loginOptions, cb);\n};\n\n/**\n * Runs the callback code for the cross origin authentication call. This method is meant to be called by the cross origin authentication callback url.\n *\n * @method crossOriginAuthenticationCallback\n */\nWebAuth.prototype.crossOriginAuthenticationCallback = function() {\n this.crossOriginAuthentication.callback();\n};\n\n/**\n * Redirects to the auth0 logout endpoint\n *\n * If you want to navigate the user to a specific URL after the logout, set that URL at the returnTo parameter. The URL should be included in any the appropriate Allowed Logout URLs list:\n *\n * - If the client_id parameter is included, the returnTo URL must be listed in the Allowed Logout URLs set at the client level (see Setting Allowed Logout URLs at the App Level).\n * - If the client_id parameter is NOT included, the returnTo URL must be listed in the Allowed Logout URLs set at the account level (see Setting Allowed Logout URLs at the Account Level).\n *\n * @method logout\n * @param {Object} options\n * @param {String} [options.clientID] identifier of your client\n * @param {String} [options.returnTo] URL to be redirected after the logout\n * @param {Boolean} [options.federated] tells Auth0 if it should logout the user also from the IdP.\n * @see {@link https://auth0.com/docs/api/authentication#logout}\n */\nWebAuth.prototype.logout = function(options) {\n windowHelper.redirect(this.client.buildLogoutUrl(options));\n};\n\n/**\n * Verifies the passwordless TOTP and redirects to finish the passwordless transaction\n *\n * @method passwordlessVerify\n * @param {Object} options\n * @param {String} options.type `sms` or `email`\n * @param {String} options.phoneNumber only if type = sms\n * @param {String} options.email only if type = email\n * @param {String} options.connection the connection name\n * @param {String} options.verificationCode the TOTP code\n * @param {Function} cb\n */\nWebAuth.prototype.passwordlessVerify = function(options, cb) {\n var _this = this;\n var params = objectHelper\n .merge(this.baseOptions, [\n 'clientID',\n 'responseType',\n 'responseMode',\n 'redirectUri',\n 'scope',\n 'audience',\n '_csrf',\n 'state',\n '_intstate',\n 'nonce'\n ])\n .with(options);\n\n assert.check(\n params,\n { type: 'object', message: 'options parameter is not valid' },\n {\n responseType: { type: 'string', message: 'responseType option is required' }\n }\n );\n\n params = this.transactionManager.process(params);\n return this.client.passwordless.verify(params, function(err) {\n if (err) {\n return cb(err);\n }\n return windowHelper.redirect(_this.client.passwordless.buildVerifyUrl(params));\n });\n};\n\nmodule.exports = WebAuth;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/web-auth/index.js\n// module id = 57\n// module chunks = 0","var urljoin = require('url-join');\nvar WinChan = require('winchan');\n\nvar urlHelper = require('../helper/url');\nvar assert = require('../helper/assert');\nvar responseHandler = require('../helper/response-handler');\nvar PopupHandler = require('../helper/popup-handler');\nvar objectHelper = require('../helper/object');\nvar Warn = require('../helper/warn');\nvar TransactionManager = require('./transaction-manager');\n\nfunction Popup(webAuth, options) {\n this.baseOptions = options;\n this.client = webAuth.client;\n this.webAuth = webAuth;\n\n this.transactionManager = new TransactionManager(this.baseOptions.transaction);\n this.warn = new Warn({\n disableWarnings: !!options._disableDeprecationWarnings\n });\n}\n\n/**\n * Returns a new instance of the popup handler\n *\n * @method buildPopupHandler\n * @private\n */\nPopup.prototype.buildPopupHandler = function() {\n var pluginHandler = this.baseOptions.plugins.get('popup.getPopupHandler');\n\n if (pluginHandler) {\n return pluginHandler.getPopupHandler();\n }\n\n return new PopupHandler();\n};\n\n/**\n * Initializes the popup window and returns the instance to be used later in order to avoid being blocked by the browser.\n *\n * @method preload\n * @param {Object} options receives the window height and width and any other window feature to be sent to window.open\n */\nPopup.prototype.preload = function(options) {\n options = options || {};\n\n var popup = this.buildPopupHandler();\n\n popup.preload(options);\n return popup;\n};\n\n/**\n * Internal use.\n *\n * @method getPopupHandler\n * @private\n */\nPopup.prototype.getPopupHandler = function(options, preload) {\n if (options.popupHandler) {\n return options.popupHandler;\n }\n\n if (preload) {\n return this.preload(options);\n }\n\n return this.buildPopupHandler();\n};\n\n/**\n * Handles the popup logic for the callback page.\n *\n * @method callback\n * @param {Object} options\n * @param {String} options.hash the url hash. If not provided it will extract from window.location.hash\n * @param {String} [options.state] value originally sent in `state` parameter to {@link authorize} to mitigate XSRF\n * @param {String} [options.nonce] value originally sent in `nonce` parameter to {@link authorize} to prevent replay attacks\n * @param {String} [options._idTokenVerification] makes parseHash perform or skip `id_token` verification. We **strongly** recommend validating the `id_token` yourself if you disable the verification.\n * @see {@link parseHash}\n */\nPopup.prototype.callback = function(options) {\n var _this = this;\n WinChan.onOpen(function(popupOrigin, r, cb) {\n _this.webAuth.parseHash(options || {}, function(err, data) {\n return cb(err || data);\n });\n });\n};\n\n/**\n * Shows inside a new window the hosted login page (`/authorize`) in order to start a new authN/authZ transaction and post its result using `postMessage`.\n *\n * @method authorize\n * @param {Object} options\n * @param {String} [options.domain] your Auth0 domain\n * @param {String} [options.clientID] your Auth0 client identifier obtained when creating the client in the Auth0 Dashboard\n * @param {String} options.redirectUri url that the Auth0 will redirect after Auth with the Authorization Response\n * @param {String} options.responseType type of the response used by OAuth 2.0 flow. It can be any space separated list of the values `code`, `token`, `id_token`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0}\n * @param {String} [options.responseMode] how the Auth response is encoded and redirected back to the client. Supported values are `query`, `fragment` and `form_post`. {@link https://openid.net/specs/oauth-v2-multiple-response-types-1_0.html#ResponseModes}\n * @param {String} [options.state] value used to mitigate XSRF attacks. {@link https://auth0.com/docs/protocols/oauth2/oauth-state}\n * @param {String} [options.nonce] value used to mitigate replay attacks when using Implicit Grant. {@link https://auth0.com/docs/api-auth/tutorials/nonce}\n * @param {String} [options.scope] scopes to be requested during Auth. e.g. `openid email`\n * @param {String} [options.audience] identifier of the resource server who will consume the access token issued after Auth\n * @param {Boolean} [options.owp] determines if Auth0 should render the relay page or not and the caller is responsible of handling the response.\n * @param {authorizeCallback} cb\n * @see {@link https://auth0.com/docs/api/authentication#authorize-client}\n */\nPopup.prototype.authorize = function(options, cb) {\n var popup;\n var url;\n var relayUrl;\n var popOpts = {};\n\n var pluginHandler = this.baseOptions.plugins.get('popup.authorize');\n\n var params = objectHelper\n .merge(this.baseOptions, [\n 'clientID',\n 'scope',\n 'domain',\n 'audience',\n 'responseType',\n 'redirectUri',\n '_csrf',\n 'state',\n '_intstate',\n 'nonce'\n ])\n .with(objectHelper.blacklist(options, ['popupHandler']));\n\n assert.check(\n params,\n { type: 'object', message: 'options parameter is not valid' },\n {\n responseType: { type: 'string', message: 'responseType option is required' }\n }\n );\n\n // the relay page should not be necesary as long it happens in the same domain\n // (a redirectUri shoul be provided). It is necesary when using OWP\n relayUrl = urljoin(this.baseOptions.rootUrl, 'relay.html');\n\n // if a owp is enabled, it should use the owp flag\n if (options.owp) {\n // used by server to render the relay page instead of sending the chunk in the\n // url to the callback\n params.owp = true;\n } else {\n popOpts.origin = urlHelper.extractOrigin(params.redirectUri);\n relayUrl = params.redirectUri;\n }\n\n if (options.popupOptions) {\n popOpts.popupOptions = objectHelper.pick(options.popupOptions, ['width', 'height']);\n }\n\n if (pluginHandler) {\n params = pluginHandler.processParams(params);\n }\n\n params = this.transactionManager.process(params);\n\n delete params.domain;\n\n url = this.client.buildAuthorizeUrl(params);\n\n popup = this.getPopupHandler(options);\n\n return popup.load(url, relayUrl, popOpts, responseHandler(cb));\n};\n\n/**\n * Performs authentication with username/email and password with a database connection inside a new window\n *\n * This method is not compatible with API Auth so if you need to fetch API tokens with audience\n * you should use {@link authorize} or {@link login}.\n *\n * @method loginWithCredentials\n * @param {Object} options\n * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n * @param {String} [options.responseType] type of the response used. It can be any of the values `code` and `token`\n * @param {String} [options.responseMode] how the AuthN response is encoded and redirected back to the client. Supported values are `query` and `fragment`\n * @param {String} [options.scope] scopes to be requested during AuthN. e.g. `openid email`\n * @param {credentialsCallback} cb\n */\nPopup.prototype.loginWithCredentials = function(options, cb) {\n var params;\n var popup;\n var url;\n var relayUrl;\n\n /* eslint-disable */\n assert.check(\n options,\n { type: 'object', message: 'options parameter is not valid' },\n {\n clientID: { optional: true, type: 'string', message: 'clientID option is required' },\n redirectUri: { optional: true, type: 'string', message: 'redirectUri option is required' },\n responseType: { optional: true, type: 'string', message: 'responseType option is required' },\n scope: { optional: true, type: 'string', message: 'scope option is required' },\n audience: { optional: true, type: 'string', message: 'audience option is required' }\n }\n );\n /* eslint-enable */\n\n popup = this.getPopupHandler(options);\n\n options = objectHelper\n .merge(this.baseOptions, [\n 'clientID',\n 'scope',\n 'domain',\n 'audience',\n '_csrf',\n 'state',\n '_intstate',\n 'nonce'\n ])\n .with(objectHelper.blacklist(options, ['popupHandler']));\n\n params = objectHelper.pick(options, ['clientID', 'domain']);\n params.options = objectHelper.toSnakeCase(\n objectHelper.pick(options, ['password', 'connection', 'state', 'scope', '_csrf', 'device'])\n );\n params.options.username = options.username || options.email;\n\n url = urljoin(this.baseOptions.rootUrl, 'sso_dbconnection_popup', options.clientID);\n relayUrl = urljoin(this.baseOptions.rootUrl, 'relay.html');\n\n return popup.load(url, relayUrl, { params: params }, responseHandler(cb));\n};\n\n/**\n * Verifies the passwordless TOTP and redirects to finish the passwordless transaction\n *\n * @method passwordlessVerify\n * @param {Object} options\n * @param {String} options.type `sms` or `email`\n * @param {String} options.phoneNumber only if type = sms\n * @param {String} options.email only if type = email\n * @param {String} options.connection the connection name\n * @param {String} options.verificationCode the TOTP code\n * @param {Function} cb\n */\nPopup.prototype.passwordlessVerify = function(options, cb) {\n var _this = this;\n return this.client.passwordless.verify(\n objectHelper.blacklist(options, ['popupHandler']),\n function(err) {\n if (err) {\n return cb(err);\n }\n\n options.username = options.phoneNumber || options.email;\n options.password = options.verificationCode;\n\n delete options.email;\n delete options.phoneNumber;\n delete options.verificationCode;\n delete options.type;\n\n _this.client.loginWithResourceOwner(options, cb);\n }\n );\n};\n\n/**\n * Signs up a new user and automatically logs the user in after the signup.\n *\n * This method is not compatible with API Auth so if you need to fetch API tokens with audience\n * you should use {@link authorize} or {@link signupAndAuthorize}.\n *\n * @method signupAndLogin\n * @param {Object} options\n * @param {String} options.email user email address\n * @param {String} options.password user password\n * @param {String} options.connection name of the connection where the user will be created\n * @param {credentialsCallback} cb\n */\nPopup.prototype.signupAndLogin = function(options, cb) {\n var _this = this;\n\n // Preload popup to avoid the browser to block it since the login happens later\n var popupHandler = this.getPopupHandler(options, true);\n options.popupHandler = popupHandler;\n\n return this.client.dbConnection.signup(\n objectHelper.blacklist(options, ['popupHandler']),\n function(err) {\n if (err) {\n if (popupHandler._current_popup) {\n popupHandler._current_popup.kill();\n }\n return cb(err);\n }\n _this.loginWithCredentials(options, cb);\n }\n );\n};\n\nmodule.exports = Popup;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/web-auth/popup.js\n// module id = 58\n// module chunks = 0","var UsernamePassword = require('./username-password');\nvar objectHelper = require('../helper/object');\nvar Warn = require('../helper/warn');\nvar assert = require('../helper/assert');\n\nfunction Redirect(client, options) {\n this.baseOptions = options;\n this.client = client;\n\n this.warn = new Warn({\n disableWarnings: !!options._disableDeprecationWarnings\n });\n}\n\n/**\n * @callback credentialsCallback\n * @param {Error} [err] error returned by Auth0 with the reason of the Auth failure\n * @param {Object} [result] result of the AuthN request\n * @param {String} result.accessToken token that can be used with {@link userinfo}\n * @param {String} [result.idToken] token that identifies the user\n * @param {String} [result.refreshToken] token that can be used to get new access tokens from Auth0. Note that not all clients can request them or the resource server might not allow them.\n */\n\n/**\n * Performs authentication with username/email and password with a database connection\n *\n * This method is not compatible with API Auth so if you need to fetch API tokens with audience\n * you should use {@link authorize} or {@link login}.\n *\n * @method loginWithCredentials\n * @param {Object} options\n * @param {String} [options.redirectUri] url that the Auth0 will redirect after Auth with the Authorization Response\n * @param {String} [options.responseType] type of the response used. It can be any of the values `code` and `token`\n * @param {String} [options.responseMode] how the AuthN response is encoded and redirected back to the client. Supported values are `query` and `fragment`\n * @param {String} [options.scope] scopes to be requested during AuthN. e.g. `openid email`\n * @param {credentialsCallback} cb\n */\nRedirect.prototype.loginWithCredentials = function(options, cb) {\n var usernamePassword;\n\n var params = objectHelper\n .merge(this.baseOptions, [\n 'clientID',\n 'redirectUri',\n 'tenant',\n 'responseType',\n 'responseMode',\n 'scope',\n 'audience',\n '_csrf',\n 'state',\n '_intstate',\n 'nonce'\n ])\n .with(options);\n\n assert.check(\n params,\n { type: 'object', message: 'options parameter is not valid' },\n {\n responseType: { type: 'string', message: 'responseType option is required' }\n }\n );\n\n usernamePassword = new UsernamePassword(this.baseOptions);\n return usernamePassword.login(params, function(err, data) {\n if (err) {\n return cb(err);\n }\n return usernamePassword.callback(data);\n });\n};\n\n/**\n * Signs up a new user and automatically logs the user in after the signup.\n *\n * @method signupAndLogin\n * @param {Object} options\n * @param {String} options.email user email address\n * @param {String} options.password user password\n * @param {String} options.connection name of the connection where the user will be created\n * @param {credentialsCallback} cb\n */\nRedirect.prototype.signupAndLogin = function(options, cb) {\n var _this = this;\n return this.client.dbConnection.signup(options, function(err) {\n if (err) {\n return cb(err);\n }\n return _this.loginWithCredentials(options, cb);\n });\n};\n\nmodule.exports = Redirect;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/web-auth/redirect.js\n// module id = 59\n// module chunks = 0","var IframeHandler = require('../helper/iframe-handler');\n\nfunction SilentAuthenticationHandler(options) {\n this.authenticationUrl = options.authenticationUrl;\n this.timeout = options.timeout || 60 * 1000;\n this.handler = null;\n this.postMessageDataType = options.postMessageDataType || false;\n}\n\nSilentAuthenticationHandler.create = function(options) {\n return new SilentAuthenticationHandler(options);\n};\n\nSilentAuthenticationHandler.prototype.login = function(usePostMessage, callback) {\n this.handler = new IframeHandler({\n auth0: this.auth0,\n url: this.authenticationUrl,\n eventListenerType: usePostMessage ? 'message' : 'load',\n callback: this.getCallbackHandler(callback, usePostMessage),\n timeout: this.timeout,\n eventValidator: this.getEventValidator(),\n timeoutCallback: function() {\n callback(null, '#error=timeout&error_description=Timeout+during+authentication+renew.');\n },\n usePostMessage: usePostMessage || false\n });\n\n this.handler.init();\n};\n\nSilentAuthenticationHandler.prototype.getEventValidator = function() {\n var _this = this;\n return {\n isValid: function(eventData) {\n switch (eventData.event.type) {\n case 'message':\n // Default behaviour, return all message events.\n if (_this.postMessageDataType === false) {\n return true;\n }\n\n return (\n eventData.event.data.type && eventData.event.data.type === _this.postMessageDataType\n );\n\n case 'load': // Fall through to default\n default:\n return true;\n }\n }\n };\n};\n\nSilentAuthenticationHandler.prototype.getCallbackHandler = function(callback, usePostMessage) {\n return function(eventData) {\n var callbackValue;\n if (!usePostMessage) {\n callbackValue = eventData.sourceObject.contentWindow.location.hash;\n } else if (typeof eventData.event.data === 'object' && eventData.event.data.hash) {\n callbackValue = eventData.event.data.hash;\n } else {\n callbackValue = eventData.event.data;\n }\n callback(null, callbackValue);\n };\n};\n\nmodule.exports = SilentAuthenticationHandler;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/web-auth/silent-authentication-handler.js\n// module id = 60\n// module chunks = 0","var urljoin = require('url-join');\n\nvar objectHelper = require('../helper/object');\nvar RequestBuilder = require('../helper/request-builder');\nvar responseHandler = require('../helper/response-handler');\nvar windowHelper = require('../helper/window');\n\nfunction UsernamePassword(options) {\n this.baseOptions = options;\n this.request = new RequestBuilder(options);\n}\n\nUsernamePassword.prototype.login = function(options, cb) {\n var url;\n var body;\n\n url = urljoin(this.baseOptions.rootUrl, 'usernamepassword', 'login');\n\n options.username = options.username || options.email; // eslint-disable-line\n\n options = objectHelper.blacklist(options, ['email']); // eslint-disable-line\n\n body = objectHelper\n .merge(this.baseOptions, [\n 'clientID',\n 'redirectUri',\n 'tenant',\n 'responseType',\n 'responseMode',\n 'scope',\n 'audience'\n ])\n .with(options);\n\n body = objectHelper.toSnakeCase(body, ['auth0Client']);\n\n return this.request.post(url).send(body).end(responseHandler(cb));\n};\n\nUsernamePassword.prototype.callback = function(formHtml) {\n var div;\n var form;\n var _document = windowHelper.getDocument();\n\n div = _document.createElement('div');\n div.innerHTML = formHtml;\n form = _document.body.appendChild(div).children[0];\n\n form.submit();\n};\n\nmodule.exports = UsernamePassword;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/web-auth/username-password.js\n// module id = 61\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/pwa-backend/src/main/webapp/backoffice/services/auth.service.js b/pwa-backend/src/main/webapp/backoffice/services/auth.service.js deleted file mode 100644 index ad3ac66..0000000 --- a/pwa-backend/src/main/webapp/backoffice/services/auth.service.js +++ /dev/null @@ -1,62 +0,0 @@ -(function () { - - 'use strict'; - - angular - .module('backofficeApp') - .service('authService', authService); - - authService.$inject = ['$state', 'angularAuth0', '$timeout']; - - function authService($state, angularAuth0, $timeout) { - - function login() { - angularAuth0.authorize(); - } - - function handleAuthentication() { - angularAuth0.parseHash(function(err, authResult) { - if (authResult && authResult.accessToken && authResult.idToken) { - setSession(authResult); - $state.go('home'); - } else if (err) { - $timeout(function() { - $state.go('home'); - }); - console.log(err); - alert('Error: ' + err.error + '. Check the console for further details.'); - } - }); - } - - function setSession(authResult) { - // Set the time that the access token will expire at - let expiresAt = JSON.stringify((authResult.expiresIn * 1000) + new Date().getTime()); - localStorage.setItem('access_token', authResult.accessToken); - localStorage.setItem('id_token', authResult.idToken); - localStorage.setItem('expires_at', expiresAt); - } - - function logout() { - // Remove tokens and expiry time from localStorage - localStorage.removeItem('access_token'); - localStorage.removeItem('id_token'); - localStorage.removeItem('expires_at'); - $state.go('home'); - } - - function isAuthenticated() { - // Check whether the current time is past the - // access token's expiry time - let expiresAt = JSON.parse(localStorage.getItem('expires_at')); - return new Date().getTime() < expiresAt; - } - - return { - login: login, - handleAuthentication: handleAuthentication, - logout: logout, - isAuthenticated: isAuthenticated - } - } -})(); diff --git a/pwa-backend/src/main/webapp/backoffice/services/invitationService.js b/pwa-backend/src/main/webapp/backoffice/services/invitationService.js deleted file mode 100644 index ffafc63..0000000 --- a/pwa-backend/src/main/webapp/backoffice/services/invitationService.js +++ /dev/null @@ -1,8 +0,0 @@ -angular.module('backofficeApp').factory('InvitationService', - function($resource) { - return $resource('/backoffice/invitation/:id', { id: '@_id' }, { - update: { - method: 'PUT' - } - }); - });