Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@firestitch/api

Package Overview
Dependencies
Maintainers
6
Versions
125
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@firestitch/api - npm Package Compare versions

Comparing version 8.1.9 to 8.1.10

2

bundles/firestitch-api.umd.js

@@ -1041,3 +1041,3 @@ (function (global, factory) {

/** @type {?} */
var request = new http.HttpRequest(((/** @type {?} */ (method))), url, { responseType: config.responseType });
var request = new http.HttpRequest(((/** @type {?} */ (method))), url, null, { responseType: config.responseType });
/** @type {?} */

@@ -1044,0 +1044,0 @@ var INTERCEPTORS = [

@@ -15,3 +15,3 @@ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common/http"),require("@angular/core"),require("@angular/common"),require("@firestitch/common"),require("rxjs"),require("rxjs/operators"),require("date-fns"),require("lodash-es")):"function"==typeof define&&define.amd?define("@firestitch/api",["exports","@angular/common/http","@angular/core","@angular/common","@firestitch/common","rxjs","rxjs/operators","date-fns","lodash-es"],t):t(((e=e||self).firestitch=e.firestitch||{},e.firestitch.api={}),e.ng.common.http,e.ng.core,e.ng.common,e.common$1,e.rxjs,e.rxjs.operators,e.dateFns,e.lodashEs)}(this,(function(e,t,n,r,o,i,c,s,a){"use strict";

and limitations under the License.
***************************************************************************** */var p=function(e,t){return(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function u(e,t){function n(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function f(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),c=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)c.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return c}function h(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(f(arguments[t]));return e}var d=new n.InjectionToken("fs-api.request_interceptor"),l=new n.InjectionToken("fs-api.response_handler"),y=new n.InjectionToken("fs-api.config"),m={Json:"json",Text:"text",ArrayBuffer:"arraybuffer",Blob:"blob"},g=function(){function e(e){this.config=e,this.headers={},this.encoding="json",this.interceptors=!0,this.handlers=!0,this.key=null,this.query={},this.reportProgress=!1,this.responseType=m.Json,Object.assign(this,e||{})}return e.prototype.appendHeader=function(e,t){this.headers[e]=t},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:["FsApiConfig"]}]}]},e}();var _=function(){function e(e,t){this.next=e,this.interceptor=t}return e.prototype.handle=function(e){return this.interceptor.intercept(e,this.next)},e}();var v=function(){function e(e,t){this._config=e,this._data=t}return e.prototype.intercept=function(e,t){return t.handle(e)},e}();var b=function(e){function n(t,n){var r=e.call(this,t,n)||this;return r._config=t,r._data=n,r}return u(n,e),n.prototype.intercept=function(e,n){var r=new t.HttpHeaders;switch(a.forEach(this._config.headers,(function(e,t){r=r.set(t,e)})),function e(t,n){if(void 0===n&&(n=0),++n>10)throw Error("Maximum call stack size exceeded");return!!t&&Object.keys(t).some((function(r){var o=t[r];return o instanceof File||o instanceof Blob||(o instanceof Object||Array.isArray(o)?e(o,n):void 0)}))}(this._data)&&(this._config.encoding="formdata"),this._config.encoding){case"url":r=r.set("Content-Type","application/x-www-form-urlencoded");break;case"json":r=r.set("Content-Type","text/json");break;case"formdata":r=r.delete("Content-Type")}var o=e.clone({headers:r});return n.handle(o)},n}(v);function j(e,t,n,r){if(void 0===t&&(t=new FormData),void 0===n&&(n=null),void 0===r&&(r=0),++r>10)throw Error("Maximum call stack size exceeded");return null==e?t:(Object.keys(e).forEach((function(o){var i=e[o],c=n?n+"["+o+"]":o,s=i instanceof Blob;i&&"object"==typeof i&&!s?j(i,t,c,r):s&&i&&i.name?t.append(c,i,i.name):t.append(c,i)})),t)}var I=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r._config=t,r._data=n,r}return u(t,e),t.prototype.intercept=function(e,t){var n=null;switch(this._config.encoding){case"url":n=this._data;break;case"json":n=JSON.stringify(this._data);break;case"formdata":n=j(this._data)}var r=e.clone({body:n});return t.handle(r)},t}(v);var q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return u(t,e),t.prototype.encodeKey=function(e){return encodeURIComponent(e)},t.prototype.encodeValue=function(e){return encodeURIComponent(e)},t.prototype.decodeKey=function(e){return decodeURIComponent(e)},t.prototype.decodeValue=function(e){return decodeURIComponent(e)},t}(t.HttpUrlEncodingCodec),E=function(e){function n(t,n){var r=e.call(this,t,n)||this;return r._config=t,r._data=n,r}return u(n,e),n.prototype.intercept=function(e,n){var r=new t.HttpParams({encoder:new q});j(this._config.query).forEach((function(e,t){r=r.append(t,e)}));var o=e.clone({params:r,reportProgress:this._config.reportProgress});return n.handle(o)},n}(v);var w=function(){function e(){}return e.prototype.success=function(e,t){e.body=e.body.data,t.key&&(e.body=e.body[t.key])},e.prototype.error=function(e,t){},e.prototype.complete=function(e){},e}(),H=function(){function e(e){this._cache=e}return e.prototype.success=function(e,t,n){"GET"===n.method?!t.cache||"json"!==n.responseType&&"text"!==n.responseType||this._cache.set(n.url,t.query,e.body):this._cache.clear(n.url)},e.prototype.error=function(e,t){},e.prototype.complete=function(e){},e}();var T=function(){function e(){this._cache=Array()}return e.prototype.get=function(e,t){var n=this._cache[e];if(!n)return null;var r=this._paramHash(t),o=n[r];return o?(s.differenceInMinutes(new Date,o.date.getTime())>30&&delete this._cache[e][r],o.data):null},e.prototype.set=function(e,t,n){this._cache[e]||(this._cache[e]=[]),this._cache[e][this._paramHash(t)]={data:n,date:new Date}},e.prototype.clear=function(e){var t=this;Object.keys(this._cache).forEach((function(n){e.match(new RegExp("^"+n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")))&&delete t._cache[n]}))},e.prototype._paramHash=function(e){return JSON.stringify(e)},e}();var x=function(){function e(e,t,n,r,i,c,s){this.apiConfig=e,this.http=t,this.injector=n,this.config=r,this.httpInterceptors=i,this.requestInterceptors=c,this.responseHandler=s,this.events=[],this._queue=new o.Queue(5),this._cache=new T,this._queue.setLimit(this.config&&this.config.maxFileConnections||5)}return Object.defineProperty(e.prototype,"queue",{get:function(){return this._queue},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cache",{get:function(){return this._cache},enumerable:!0,configurable:!0}),e.prototype.get=function(e,t,n){return this.request("GET",e,t,n)},e.prototype.post=function(e,t,n){return this.request("POST",e,t,n)},e.prototype.put=function(e,t,n){return this.request("PUT",e,t,n)},e.prototype.delete=function(e,t,n){return this.request("DELETE",e,t,n)},e.prototype.request=function(e,n,r,o){if(o=Object.assign(new g,this.apiConfig,o),e=e.toUpperCase(),r=Object.assign({},r),this._sanitize(r),"GET"===e&&(o.query=r,r={},o.cache)){var s=this.cache.get(n,o.query);if(s)return i.of(s)}var a=new t.HttpRequest(e,n,{responseType:o.responseType}),p=[new b(o,r),new I(o,r),new E(o,r)];if(o.interceptors){if(Array.isArray(this.requestInterceptors)){var u=this.requestInterceptors.map((function(e){return e(o,r)}));p.push.apply(p,h(u))}else if(this.requestInterceptors){var f=this.requestInterceptors(o,r);p.push(f)}p.push.apply(p,h(this.httpInterceptors))}var d=[];o.handlers&&this.responseHandler&&d.push(this.responseHandler),d.push(new H(this._cache));var l=p.reduceRight((function(e,t){return new _(e,t)}),this.http).handle(a).pipe(c.filter((function(e){return o.reportProgress||e instanceof t.HttpResponse})),c.tap((function(e){e.type===t.HttpEventType.Response&&d.forEach((function(t){t.success(e,o,a)}))})),c.map((function(e){return e.type===t.HttpEventType.Response?e.body:e})),c.tap({error:function(e){d.forEach((function(t){t.error(e,o)}))},complete:function(){d.forEach((function(e){e.complete(o)}))}}));return"formdata"===o.encoding?o.customQueue?o.customQueue.push(l):this._queue.push(l):l},e.prototype._sanitize=function(e){var t=this;return a.forEach(e,(function(n,r){s.isDate(n)?s.isValid(n)?e[r]=s.format(n,"yyyy-MM-dd'T'HH:mm:ssxxx"):delete e[r]:void 0===n?delete e[r]:a.isObject(n)&&t._sanitize(n)})),e},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:g},{type:t.HttpXhrBackend},{type:n.Injector},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[y]}]},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[t.HTTP_INTERCEPTORS]}]},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[d]}]},{type:w,decorators:[{type:n.Optional},{type:n.Inject,args:[l]}]}]},e}();var O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:y,useValue:t},g,x]}},e.decorators=[{type:n.NgModule,args:[{imports:[r.CommonModule,t.HttpClientModule],declarations:[],providers:[x,g,t.HttpXhrBackend,{provide:t.HttpBackend,useExisting:t.HttpXhrBackend}],exports:[]}]}],e}();e.BodyHandlerInterceptor=I,e.CustomParamsEncoder=q,e.FS_API_CONFIG=y,e.FS_API_REQUEST_INTERCEPTOR=d,e.FS_API_RESPONSE_HANDLER=l,e.FsApi=x,e.FsApiConfig=g,e.FsApiModule=O,e.FsApiResponseHandler=w,e.HeadersHandlerInterceptor=b,e.ParamsHandlerInterceptor=E,e.RequestHandler=_,e.RequestInterceptor=v,e.ResponseType=m,e.makeInterceptorFactory=function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(function(n,r){return new(e.bind.apply(e,h([void 0,n,r],t)))})}},Object.defineProperty(e,"__esModule",{value:!0})}));
***************************************************************************** */var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function p(e,t){function n(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function f(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),c=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)c.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return c}function h(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(f(arguments[t]));return e}var d=new n.InjectionToken("fs-api.request_interceptor"),l=new n.InjectionToken("fs-api.response_handler"),y=new n.InjectionToken("fs-api.config"),m={Json:"json",Text:"text",ArrayBuffer:"arraybuffer",Blob:"blob"},g=function(){function e(e){this.config=e,this.headers={},this.encoding="json",this.interceptors=!0,this.handlers=!0,this.key=null,this.query={},this.reportProgress=!1,this.responseType=m.Json,Object.assign(this,e||{})}return e.prototype.appendHeader=function(e,t){this.headers[e]=t},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:["FsApiConfig"]}]}]},e}();var _=function(){function e(e,t){this.next=e,this.interceptor=t}return e.prototype.handle=function(e){return this.interceptor.intercept(e,this.next)},e}();var v=function(){function e(e,t){this._config=e,this._data=t}return e.prototype.intercept=function(e,t){return t.handle(e)},e}();var b=function(e){function n(t,n){var r=e.call(this,t,n)||this;return r._config=t,r._data=n,r}return p(n,e),n.prototype.intercept=function(e,n){var r=new t.HttpHeaders;switch(a.forEach(this._config.headers,(function(e,t){r=r.set(t,e)})),function e(t,n){if(void 0===n&&(n=0),++n>10)throw Error("Maximum call stack size exceeded");return!!t&&Object.keys(t).some((function(r){var o=t[r];return o instanceof File||o instanceof Blob||(o instanceof Object||Array.isArray(o)?e(o,n):void 0)}))}(this._data)&&(this._config.encoding="formdata"),this._config.encoding){case"url":r=r.set("Content-Type","application/x-www-form-urlencoded");break;case"json":r=r.set("Content-Type","text/json");break;case"formdata":r=r.delete("Content-Type")}var o=e.clone({headers:r});return n.handle(o)},n}(v);function j(e,t,n,r){if(void 0===t&&(t=new FormData),void 0===n&&(n=null),void 0===r&&(r=0),++r>10)throw Error("Maximum call stack size exceeded");return null==e?t:(Object.keys(e).forEach((function(o){var i=e[o],c=n?n+"["+o+"]":o,s=i instanceof Blob;i&&"object"==typeof i&&!s?j(i,t,c,r):s&&i&&i.name?t.append(c,i,i.name):t.append(c,i)})),t)}var I=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r._config=t,r._data=n,r}return p(t,e),t.prototype.intercept=function(e,t){var n=null;switch(this._config.encoding){case"url":n=this._data;break;case"json":n=JSON.stringify(this._data);break;case"formdata":n=j(this._data)}var r=e.clone({body:n});return t.handle(r)},t}(v);var q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype.encodeKey=function(e){return encodeURIComponent(e)},t.prototype.encodeValue=function(e){return encodeURIComponent(e)},t.prototype.decodeKey=function(e){return decodeURIComponent(e)},t.prototype.decodeValue=function(e){return decodeURIComponent(e)},t}(t.HttpUrlEncodingCodec),E=function(e){function n(t,n){var r=e.call(this,t,n)||this;return r._config=t,r._data=n,r}return p(n,e),n.prototype.intercept=function(e,n){var r=new t.HttpParams({encoder:new q});j(this._config.query).forEach((function(e,t){r=r.append(t,e)}));var o=e.clone({params:r,reportProgress:this._config.reportProgress});return n.handle(o)},n}(v);var w=function(){function e(){}return e.prototype.success=function(e,t){e.body=e.body.data,t.key&&(e.body=e.body[t.key])},e.prototype.error=function(e,t){},e.prototype.complete=function(e){},e}(),H=function(){function e(e){this._cache=e}return e.prototype.success=function(e,t,n){"GET"===n.method?!t.cache||"json"!==n.responseType&&"text"!==n.responseType||this._cache.set(n.url,t.query,e.body):this._cache.clear(n.url)},e.prototype.error=function(e,t){},e.prototype.complete=function(e){},e}();var T=function(){function e(){this._cache=Array()}return e.prototype.get=function(e,t){var n=this._cache[e];if(!n)return null;var r=this._paramHash(t),o=n[r];return o?(s.differenceInMinutes(new Date,o.date.getTime())>30&&delete this._cache[e][r],o.data):null},e.prototype.set=function(e,t,n){this._cache[e]||(this._cache[e]=[]),this._cache[e][this._paramHash(t)]={data:n,date:new Date}},e.prototype.clear=function(e){var t=this;Object.keys(this._cache).forEach((function(n){e.match(new RegExp("^"+n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")))&&delete t._cache[n]}))},e.prototype._paramHash=function(e){return JSON.stringify(e)},e}();var x=function(){function e(e,t,n,r,i,c,s){this.apiConfig=e,this.http=t,this.injector=n,this.config=r,this.httpInterceptors=i,this.requestInterceptors=c,this.responseHandler=s,this.events=[],this._queue=new o.Queue(5),this._cache=new T,this._queue.setLimit(this.config&&this.config.maxFileConnections||5)}return Object.defineProperty(e.prototype,"queue",{get:function(){return this._queue},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"cache",{get:function(){return this._cache},enumerable:!0,configurable:!0}),e.prototype.get=function(e,t,n){return this.request("GET",e,t,n)},e.prototype.post=function(e,t,n){return this.request("POST",e,t,n)},e.prototype.put=function(e,t,n){return this.request("PUT",e,t,n)},e.prototype.delete=function(e,t,n){return this.request("DELETE",e,t,n)},e.prototype.request=function(e,n,r,o){if(o=Object.assign(new g,this.apiConfig,o),e=e.toUpperCase(),r=Object.assign({},r),this._sanitize(r),"GET"===e&&(o.query=r,r={},o.cache)){var s=this.cache.get(n,o.query);if(s)return i.of(s)}var a=new t.HttpRequest(e,n,null,{responseType:o.responseType}),u=[new b(o,r),new I(o,r),new E(o,r)];if(o.interceptors){if(Array.isArray(this.requestInterceptors)){var p=this.requestInterceptors.map((function(e){return e(o,r)}));u.push.apply(u,h(p))}else if(this.requestInterceptors){var f=this.requestInterceptors(o,r);u.push(f)}u.push.apply(u,h(this.httpInterceptors))}var d=[];o.handlers&&this.responseHandler&&d.push(this.responseHandler),d.push(new H(this._cache));var l=u.reduceRight((function(e,t){return new _(e,t)}),this.http).handle(a).pipe(c.filter((function(e){return o.reportProgress||e instanceof t.HttpResponse})),c.tap((function(e){e.type===t.HttpEventType.Response&&d.forEach((function(t){t.success(e,o,a)}))})),c.map((function(e){return e.type===t.HttpEventType.Response?e.body:e})),c.tap({error:function(e){d.forEach((function(t){t.error(e,o)}))},complete:function(){d.forEach((function(e){e.complete(o)}))}}));return"formdata"===o.encoding?o.customQueue?o.customQueue.push(l):this._queue.push(l):l},e.prototype._sanitize=function(e){var t=this;return a.forEach(e,(function(n,r){s.isDate(n)?s.isValid(n)?e[r]=s.format(n,"yyyy-MM-dd'T'HH:mm:ssxxx"):delete e[r]:void 0===n?delete e[r]:a.isObject(n)&&t._sanitize(n)})),e},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:g},{type:t.HttpXhrBackend},{type:n.Injector},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[y]}]},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[t.HTTP_INTERCEPTORS]}]},{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[d]}]},{type:w,decorators:[{type:n.Optional},{type:n.Inject,args:[l]}]}]},e}();var O=function(){function e(){}return e.forRoot=function(t){return void 0===t&&(t={}),{ngModule:e,providers:[{provide:y,useValue:t},g,x]}},e.decorators=[{type:n.NgModule,args:[{imports:[r.CommonModule,t.HttpClientModule],declarations:[],providers:[x,g,t.HttpXhrBackend,{provide:t.HttpBackend,useExisting:t.HttpXhrBackend}],exports:[]}]}],e}();e.BodyHandlerInterceptor=I,e.CustomParamsEncoder=q,e.FS_API_CONFIG=y,e.FS_API_REQUEST_INTERCEPTOR=d,e.FS_API_RESPONSE_HANDLER=l,e.FsApi=x,e.FsApiConfig=g,e.FsApiModule=O,e.FsApiResponseHandler=w,e.HeadersHandlerInterceptor=b,e.ParamsHandlerInterceptor=E,e.RequestHandler=_,e.RequestInterceptor=v,e.ResponseType=m,e.makeInterceptorFactory=function(e){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(function(n,r){return new(e.bind.apply(e,h([void 0,n,r],t)))})}},Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=firestitch-api.umd.min.js.map

@@ -118,3 +118,3 @@ /**

/** @type {?} */
const request = new HttpRequest(((/** @type {?} */ (method))), url, { responseType: config.responseType });
const request = new HttpRequest(((/** @type {?} */ (method))), url, null, { responseType: config.responseType });
/** @type {?} */

@@ -324,2 +324,2 @@ const INTERCEPTORS = [

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9hcGkvIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUVkLFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVyRixPQUFPLEVBQ0wsYUFBYSxFQUNiLDBCQUEwQixFQUMxQix1QkFBdUIsR0FDeEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxP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LENBQUMsQ0FBQzthQUVqQjtpQkFBTSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN2QjtRQUNILENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzs7WUFqTEYsVUFBVTs7OztZQXJCRixXQUFXO1lBZGxCLGNBQWM7WUFKYSxRQUFROzRDQW1EaEMsUUFBUSxZQUFJLE1BQU0sU0FBQyxhQUFhOzRDQUloQyxRQUFRLFlBQUksTUFBTSxTQUFDLGlCQUFpQjs0Q0FJcEMsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7WUE1QnpDLG9CQUFvQix1QkFnQ3hCLFFBQVEsWUFBSSxNQUFNLFNBQUMsdUJBQXVCOzs7O0lBckI3Qyx1QkFBbUI7Ozs7O0lBQ25CLHVCQUF1Qzs7Ozs7SUFDdkMsdUJBQWdDOzs7OztJQUc5QiwwQkFBOEI7Ozs7O0lBQzlCLHFCQUE0Qjs7Ozs7SUFDNUIseUJBQTBCOzs7OztJQUUxQix1QkFDNkI7Ozs7O0lBRzdCLGlDQUN3Qjs7Ozs7SUFHeEIsb0NBQzJCOzs7OztJQUczQixnQ0FDNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBFdmVudFR5cGUsXG4gIEh0dHBYaHJCYWNrZW5kLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBSZXNwb25zZSxcbiAgSFRUUF9JTlRFUkNFUFRPUlMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgUXVldWUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgaXNEYXRlLCBpc1ZhbGlkLCBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBmb3JFYWNoLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IEZzQXBpQ29uZmlnIH0gZnJvbSAnLi4vY2xhc3Nlcy9hcGktY29uZmlnJztcbmltcG9ydCB7IFJlcXVlc3RIYW5kbGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9yZXF1ZXN0LWhhbmRsZXInO1xuXG5pbXBvcnQgeyBIZWFkZXJzSGFuZGxlckludGVyY2VwdG9yIH0gZnJvbSAnLi4vaW50ZXJjZXB0b3JzL2hlYWRlcnMtaGFuZGxlci5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBCb2R5SGFuZGxlckludGVyY2VwdG9yIH0gZnJvbSAnLi4vaW50ZXJjZXB0b3JzL2JvZHktaGFuZGxlci5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBQYXJhbXNIYW5kbGVySW50ZXJjZXB0b3J9IGZyb20gJy4uL2ludGVyY2VwdG9ycy9wYXJhbXMtaGFuZGxlci5pbnRlcmNlcHRvcic7XG5cbmltcG9ydCB7XG4gIEZTX0FQSV9DT05GSUcsXG4gIEZTX0FQSV9SRVFVRVNUX0lOVEVSQ0VQVE9SLFxuICBGU19BUElfUkVTUE9OU0VfSEFORExFUixcbn0gZnJvbSAnLi4vZnMtYXBpLXByb3ZpZGVycyc7XG5cbmltcG9ydCB7IEZzQXBpUmVzcG9uc2VIYW5kbGVyIH0gZnJvbSAnLi4vaGFuZGxlcnMvcmVzcG9uc2UuaGFuZGxlcic7XG5pbXBvcnQgeyBGc0FwaUNhY2hlSGFuZGxlciB9IGZyb20gJy4uL2hhbmRsZXJzL2NhY2hlLmhhbmRsZXInO1xuaW1wb3J0IHsgSU1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvbW9kdWxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVxdWVzdENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRnNBcGlCYXNlSGFuZGVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9oYW5kbGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcGlDYWNoZSB9IGZyb20gJy4uL2NsYXNzZXMvYXBpLWNhY2hlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRnNBcGkge1xuXG4gIHB1YmxpYyBldmVudHMgPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcXVldWUgPSBuZXcgUXVldWUoNSk7XG4gIHByaXZhdGUgX2NhY2hlID0gbmV3IEFwaUNhY2hlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlDb25maWc6IEZzQXBpQ29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cFhockJhY2tlbmQsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgLy8gQ3VzdG9tIGludGVyY2VwdG9yc1xuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfQVBJX0NPTkZJRylcbiAgICBwcml2YXRlIGNvbmZpZzogSU1vZHVsZUNvbmZpZyxcblxuICAgIC8vIEN1c3RvbSBpbnRlcmNlcHRvcnNcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEhUVFBfSU5URVJDRVBUT1JTKVxuICAgIHByaXZhdGUgaHR0cEludGVyY2VwdG9ycyxcblxuICAgIC8vIEN1c3RvbSBpbnRlcmNlcHRvcnNcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZTX0FQSV9SRVFVRVNUX0lOVEVSQ0VQVE9SKVxuICAgIHByaXZhdGUgcmVxdWVzdEludGVyY2VwdG9ycyxcblxuICAgIC8vIE90aGVyIGNhbGxiYWNrc1xuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfQVBJX1JFU1BPTlNFX0hBTkRMRVIpXG4gICAgcHJpdmF0ZSByZXNwb25zZUhhbmRsZXI6IEZzQXBpUmVzcG9uc2VIYW5kbGVyXG4gICkge1xuXG4gICAgLy8gUXVldWUgTGltaXRcbiAgICB0aGlzLl9xdWV1ZS5zZXRMaW1pdCgodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcubWF4RmlsZUNvbm5lY3Rpb25zKSB8fCA1KTtcbiAgfVxuXG4gIGdldCBxdWV1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVldWU7XG4gIH1cblxuICBnZXQgY2FjaGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlO1xuICB9XG5cbiAgcHVibGljIGdldCh1cmwsIHF1ZXJ5PywgY29uZmlnPzogUmVxdWVzdENvbmZpZykge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoJ0dFVCcsIHVybCwgcXVlcnksIGNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgcG9zdCh1cmwsIGRhdGE/OiBvYmplY3QsIGNvbmZpZz86IFJlcXVlc3RDb25maWcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoJ1BPU1QnLCB1cmwsIGRhdGEsIGNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgcHV0KHVybCwgZGF0YT86IG9iamVjdCwgY29uZmlnPzogUmVxdWVzdENvbmZpZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnUFVUJywgdXJsLCBkYXRhLCBjb25maWcpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZSh1cmwsIGRhdGE/OiBvYmplY3QsIGNvbmZpZz86IFJlcXVlc3RDb25maWcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoJ0RFTEVURScsIHVybCwgZGF0YSwgY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0KG1ldGhvZDogc3RyaW5nLCB1cmw6IHN0cmluZywgZGF0YT86IG9iamVjdCwgY29uZmlnPzogUmVxdWVzdENvbmZpZyk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICBjb25maWcgPSBPYmplY3QuYXNzaWduKG5ldyBGc0FwaUNvbmZpZygpLCB0aGlzLmFwaUNvbmZpZywgY29uZmlnKTtcbiAgICBtZXRob2QgPSBtZXRob2QudG9VcHBlckNhc2UoKTtcbiAgICBkYXRhID0gT2JqZWN0LmFzc2lnbih7fSwgZGF0YSk7XG5cbiAgICB0aGlzLl9zYW5pdGl6ZShkYXRhKTtcblxuICAgIGlmIChtZXRob2QgPT09ICdHRVQnKSB7XG4gICAgICBjb25maWcucXVlcnkgPSBkYXRhO1xuICAgICAgZGF0YSA9IHt9O1xuXG4gICAgICBpZiAoY29uZmlnLmNhY2hlKSB7XG4gICAgICAgIGNvbnN0IGNhY2hlID0gdGhpcy5jYWNoZS5nZXQodXJsLCBjb25maWcucXVlcnkpO1xuICAgICAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgICByZXR1cm4gb2YoY2FjaGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGNsZWFyIHJlcXVlc3RcbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEh0dHBSZXF1ZXN0KChtZXRob2QgYXMgYW55KSwgdXJsLCB7IHJlc3BvbnNlVHlwZTogY29uZmlnLnJlc3BvbnNlVHlwZSB9KTtcblxuICAgIGNvbnN0IElOVEVSQ0VQVE9SUzogYW55ID0gW1xuICAgICAgbmV3IEhlYWRlcnNIYW5kbGVySW50ZXJjZXB0b3IoY29uZmlnLCBkYXRhKSxcbiAgICAgIG5ldyBCb2R5SGFuZGxlckludGVyY2VwdG9yKGNvbmZpZywgZGF0YSksXG4gICAgICBuZXcgUGFyYW1zSGFuZGxlckludGVyY2VwdG9yKGNvbmZpZywgZGF0YSksXG4gICAgXTtcblxuICAgIGlmIChjb25maWcuaW50ZXJjZXB0b3JzKSB7XG5cbiAgICAgIC8vIEFkZCBjdXN0b20gaW50ZXJjZXB0b3JzIGludG8gY2hhaW5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucmVxdWVzdEludGVyY2VwdG9ycykpIHtcbiAgICAgICAgY29uc3QgaW50ZXJjZXB0b3JzID0gdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzXG4gICAgICAgICAgLm1hcCgoaW50ZXJjZXB0b3IpID0+IGludGVyY2VwdG9yKGNvbmZpZywgZGF0YSkpO1xuXG4gICAgICAgIElOVEVSQ0VQVE9SUy5wdXNoKC4uLmludGVyY2VwdG9ycyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucmVxdWVzdEludGVyY2VwdG9ycykge1xuICAgICAgICBjb25zdCBpbnRlcmNlcHRvciA9IHRoaXMucmVxdWVzdEludGVyY2VwdG9ycyhjb25maWcsIGRhdGEpO1xuXG4gICAgICAgIElOVEVSQ0VQVE9SUy5wdXNoKGludGVyY2VwdG9yKTtcbiAgICAgIH1cblxuICAgICAgSU5URVJDRVBUT1JTLnB1c2goLi4udGhpcy5odHRwSW50ZXJjZXB0b3JzKTtcbiAgICB9XG4gICAgY29uc3QgaGFuZGxlcnMgPSBbXTtcbiAgICBpZiAoY29uZmlnLmhhbmRsZXJzICYmIHRoaXMucmVzcG9uc2VIYW5kbGVyKSB7XG4gICAgICBoYW5kbGVycy5wdXNoKHRoaXMucmVzcG9uc2VIYW5kbGVyKTtcbiAgICB9XG5cbiAgICBoYW5kbGVycy5wdXNoKG5ldyBGc0FwaUNhY2hlSGFuZGxlcih0aGlzLl9jYWNoZSkpO1xuXG4gICAgLy8gRXhlY3V0aW5nIG9mIGludGVyY2VwdG9yc1xuICAgIGNvbnN0IGhhbmRsZXJzQ2hhaW4gPSBJTlRFUkNFUFRPUlMucmVkdWNlUmlnaHQoXG4gICAgICAobmV4dDogYW55LCBpbnRlcmNlcHRvcjogYW55KSA9PiBuZXcgUmVxdWVzdEhhbmRsZXIobmV4dCwgaW50ZXJjZXB0b3IpLCB0aGlzLmh0dHApO1xuXG4gICAgLy8gRG8gcmVxdWVzdCBhbmQgcHJvY2VzcyB0aGUgYW5zd2VyXG4gICAgY29uc3QgY2hhaW5lZFJlcXVlc3QgPSBoYW5kbGVyc0NoYWluLmhhbmRsZShyZXF1ZXN0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gY29uZmlnLnJlcG9ydFByb2dyZXNzIHx8IGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xuICAgICAgICAgICAgaGFuZGxlcnMuZm9yRWFjaCgoaGFuZGxlcjogRnNBcGlCYXNlSGFuZGVyKSA9PiB7XG4gICAgICAgICAgICAgIGhhbmRsZXIuc3VjY2VzcyhldmVudCwgY29uZmlnLCByZXF1ZXN0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgoZXZlbnQ6IEh0dHBFdmVudDxhbnk+KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSA/IGV2ZW50LmJvZHkgOiBldmVudDtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCh7XG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goKGhhbmRsZXI6IEZzQXBpQmFzZUhhbmRlcikgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVyLmVycm9yKGVyciwgY29uZmlnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goKGhhbmRsZXI6IEZzQXBpQmFzZUhhbmRlcikgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVyLmNvbXBsZXRlKGNvbmZpZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgLy8gRGVwZW5kcyBvbiBlbmNvZGluZyB3aWxsIHNlbmQgaW4gcXVldWUgb3IgcmF3XG4gICAgaWYgKGNvbmZpZy5lbmNvZGluZyA9PT0gJ2Zvcm1kYXRhJykge1xuICAgICAgaWYgKGNvbmZpZy5jdXN0b21RdWV1ZSkge1xuICAgICAgICByZXR1cm4gY29uZmlnLmN1c3RvbVF1ZXVlLnB1c2goY2hhaW5lZFJlcXVlc3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3F1ZXVlLnB1c2goY2hhaW5lZFJlcXVlc3QpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY2hhaW5lZFJlcXVlc3Q7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNhbml0aXplIHRoZSBwYXNzZWQgb2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSBvYmpcbiAgICovXG4gIHByaXZhdGUgX3Nhbml0aXplKG9iaikge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGZvckVhY2gob2JqLCBmdW5jdGlvbiAodmFsdWUsIGtleSkge1xuICAgICAgaWYgKGlzRGF0ZSh2YWx1ZSkpIHtcbiAgICAgICAgaWYgKGlzVmFsaWQodmFsdWUpKSB7XG4gICAgICAgICAgb2JqW2tleV0gPSBmb3JtYXQodmFsdWUsICd5eXl5LU1NLWRkXFwnVFxcJ0hIOm1tOnNzeHh4Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIG9ialtrZXldO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlIG9ialtrZXldO1xuXG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICBzZWxmLl9zYW5pdGl6ZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb2JqO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9hcGkvIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUNMLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUVkLFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN4RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVyRixPQUFPLEVBQ0wsYUFBYSxFQUNiLDBCQUEwQixFQUMxQix1QkFBdUIsR0FDeEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUk5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJaEQsTUFBTSxPQUFPLEtBQUs7Ozs7Ozs7Ozs7SUFNaEIsWUFDVSxTQUFzQixFQUN0QixJQUFvQixFQUNwQixRQUFrQixFQUdsQixNQUFxQixFQUlyQixnQkFBZ0IsRUFJaEIsbUJBQW1CLEVBSW5CLGVBQXFDO1FBakJyQyxjQUFTLEdBQVQsU0FBUyxDQUFhO1FBQ3RCLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFHbEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUlyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQUE7UUFJaEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFBO1FBSW5CLG9CQUFlLEdBQWYsZUFBZSxDQUFzQjtRQXRCeEMsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNGLFdBQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixXQUFNLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQXVCOUIsY0FBYztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7OztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDOzs7O0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Ozs7Ozs7SUFFTSxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQU0sRUFBRSxNQUFzQjtRQUM1QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Ozs7OztJQUVNLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBYSxFQUFFLE1BQXNCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7O0lBRU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFhLEVBQUUsTUFBc0I7UUFDbkQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7Ozs7SUFFTSxNQUFNLENBQUMsR0FBRyxFQUFFLElBQWEsRUFBRSxNQUFzQjtRQUN0RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQzs7Ozs7Ozs7SUFFTSxPQUFPLENBQUMsTUFBYyxFQUFFLEdBQVcsRUFBRSxJQUFhLEVBQUUsTUFBc0I7UUFFL0UsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxXQUFXLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckIsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksR0FBRyxFQUFFLENBQUM7WUFFVixJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7O3NCQUNWLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDL0MsSUFBSSxLQUFLLEVBQUU7b0JBQ1QsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2xCO2FBQ0Y7U0FDRjs7O2NBR0ssT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLENBQUMsbUJBQUEsTUFBTSxFQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQzs7Y0FFNUYsWUFBWSxHQUFRO1lBQ3hCLElBQUkseUJBQXlCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQztZQUMzQyxJQUFJLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDeEMsSUFBSSx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO1NBQzNDO1FBRUQsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBRXZCLHFDQUFxQztZQUNyQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUU7O3NCQUNyQyxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjtxQkFDMUMsR0FBRzs7OztnQkFBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBQztnQkFFbEQsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDO2FBQ3BDO2lCQUFNLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFOztzQkFDN0IsV0FBVyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDO2dCQUUxRCxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2hDO1lBRUQsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzdDOztjQUNLLFFBQVEsR0FBRyxFQUFFO1FBQ25CLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzNDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDOzs7Y0FHNUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxXQUFXOzs7OztRQUM1QyxDQUFDLElBQVMsRUFBRSxXQUFnQixFQUFFLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLEdBQUUsSUFBSSxDQUFDLElBQUksQ0FBQzs7O2NBRzlFLGNBQWMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNqRCxJQUFJLENBQ0gsTUFBTTs7OztRQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDZixPQUFPLE1BQU0sQ0FBQyxjQUFjLElBQUksS0FBSyxZQUFZLFlBQVksQ0FBQztRQUNoRSxDQUFDLEVBQUMsRUFDRixHQUFHOzs7O1FBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUU7WUFDNUIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3pDLFFBQVEsQ0FBQyxPQUFPOzs7O2dCQUFDLENBQUMsT0FBd0IsRUFBRSxFQUFFO29CQUM1QyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzFDLENBQUMsRUFBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLEVBQUMsRUFDRixHQUFHOzs7O1FBQUMsQ0FBQyxLQUFxQixFQUFFLEVBQUU7WUFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEUsQ0FBQyxFQUFDLEVBQ0YsR0FBRyxDQUFDO1lBQ0YsS0FBSzs7OztZQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsUUFBUSxDQUFDLE9BQU87Ozs7Z0JBQUMsQ0FBQyxPQUF3QixFQUFFLEVBQUU7b0JBQzVDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM3QixDQUFDLEVBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQTtZQUNELFFBQVE7OztZQUFFLEdBQUcsRUFBRTtnQkFDYixRQUFRLENBQUMsT0FBTzs7OztnQkFBQyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtvQkFDNUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDM0IsQ0FBQyxFQUFDLENBQUM7WUFDTCxDQUFDLENBQUE7U0FDRixDQUFDLENBQ0g7UUFFSCxnREFBZ0Q7UUFDaEQsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtZQUNsQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUU7Z0JBQ3RCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDaEQ7aUJBQU07Z0JBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUN6QztTQUNGO2FBQU07WUFDTCxPQUFPLGNBQWMsQ0FBQztTQUN2QjtJQUNILENBQUM7Ozs7Ozs7O0lBT08sU0FBUyxDQUFDLEdBQUc7O2NBQ2IsSUFBSSxHQUFHLElBQUk7UUFDakIsT0FBTyxDQUFDLEdBQUc7Ozs7O1FBQUUsVUFBVSxLQUFLLEVBQUUsR0FBRztZQUMvQixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDakIsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2xCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLDRCQUE0QixDQUFDLENBQUM7aUJBQ3hEO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUNqQjthQUNGO2lCQUFNLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtnQkFDOUIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFFakI7aUJBQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkI7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7O1lBakxGLFVBQVU7Ozs7WUFyQkYsV0FBVztZQWRsQixjQUFjO1lBSmEsUUFBUTs0Q0FtRGhDLFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTs0Q0FJaEMsUUFBUSxZQUFJLE1BQU0sU0FBQyxpQkFBaUI7NENBSXBDLFFBQVEsWUFBSSxNQUFNLFNBQUMsMEJBQTBCO1lBNUJ6QyxvQkFBb0IsdUJBZ0N4QixRQUFRLFlBQUksTUFBTSxTQUFDLHVCQUF1Qjs7OztJQXJCN0MsdUJBQW1COzs7OztJQUNuQix1QkFBdUM7Ozs7O0lBQ3ZDLHVCQUFnQzs7Ozs7SUFHOUIsMEJBQThCOzs7OztJQUM5QixxQkFBNEI7Ozs7O0lBQzVCLHlCQUEwQjs7Ozs7SUFFMUIsdUJBQzZCOzs7OztJQUc3QixpQ0FDd0I7Ozs7O0lBR3hCLG9DQUMyQjs7Ozs7SUFHM0IsZ0NBQzZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEh0dHBSZXF1ZXN0LFxuICBIdHRwRXZlbnRUeXBlLFxuICBIdHRwWGhyQmFja2VuZCxcbiAgSHR0cEV2ZW50LFxuICBIdHRwUmVzcG9uc2UsXG4gIEhUVFBfSU5URVJDRVBUT1JTLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IFF1ZXVlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGlzRGF0ZSwgaXNWYWxpZCwgZm9ybWF0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgZm9yRWFjaCwgaXNPYmplY3QgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBGc0FwaUNvbmZpZyB9IGZyb20gJy4uL2NsYXNzZXMvYXBpLWNvbmZpZyc7XG5pbXBvcnQgeyBSZXF1ZXN0SGFuZGxlciB9IGZyb20gJy4uL2NsYXNzZXMvcmVxdWVzdC1oYW5kbGVyJztcblxuaW1wb3J0IHsgSGVhZGVyc0hhbmRsZXJJbnRlcmNlcHRvciB9IGZyb20gJy4uL2ludGVyY2VwdG9ycy9oZWFkZXJzLWhhbmRsZXIuaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgQm9keUhhbmRsZXJJbnRlcmNlcHRvciB9IGZyb20gJy4uL2ludGVyY2VwdG9ycy9ib2R5LWhhbmRsZXIuaW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgUGFyYW1zSGFuZGxlckludGVyY2VwdG9yfSBmcm9tICcuLi9pbnRlcmNlcHRvcnMvcGFyYW1zLWhhbmRsZXIuaW50ZXJjZXB0b3InO1xuXG5pbXBvcnQge1xuICBGU19BUElfQ09ORklHLFxuICBGU19BUElfUkVRVUVTVF9JTlRFUkNFUFRPUixcbiAgRlNfQVBJX1JFU1BPTlNFX0hBTkRMRVIsXG59IGZyb20gJy4uL2ZzLWFwaS1wcm92aWRlcnMnO1xuXG5pbXBvcnQgeyBGc0FwaVJlc3BvbnNlSGFuZGxlciB9IGZyb20gJy4uL2hhbmRsZXJzL3Jlc3BvbnNlLmhhbmRsZXInO1xuaW1wb3J0IHsgRnNBcGlDYWNoZUhhbmRsZXIgfSBmcm9tICcuLi9oYW5kbGVycy9jYWNoZS5oYW5kbGVyJztcbmltcG9ydCB7IElNb2R1bGVDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL21vZHVsZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlcXVlc3RDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEZzQXBpQmFzZUhhbmRlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvaGFuZGxlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBpQ2FjaGUgfSBmcm9tICcuLi9jbGFzc2VzL2FwaS1jYWNoZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZzQXBpIHtcblxuICBwdWJsaWMgZXZlbnRzID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgX3F1ZXVlID0gbmV3IFF1ZXVlKDUpO1xuICBwcml2YXRlIF9jYWNoZSA9IG5ldyBBcGlDYWNoZSgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBpQ29uZmlnOiBGc0FwaUNvbmZpZyxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBYaHJCYWNrZW5kLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIC8vIEN1c3RvbSBpbnRlcmNlcHRvcnNcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZTX0FQSV9DT05GSUcpXG4gICAgcHJpdmF0ZSBjb25maWc6IElNb2R1bGVDb25maWcsXG5cbiAgICAvLyBDdXN0b20gaW50ZXJjZXB0b3JzXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChIVFRQX0lOVEVSQ0VQVE9SUylcbiAgICBwcml2YXRlIGh0dHBJbnRlcmNlcHRvcnMsXG5cbiAgICAvLyBDdXN0b20gaW50ZXJjZXB0b3JzXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGU19BUElfUkVRVUVTVF9JTlRFUkNFUFRPUilcbiAgICBwcml2YXRlIHJlcXVlc3RJbnRlcmNlcHRvcnMsXG5cbiAgICAvLyBPdGhlciBjYWxsYmFja3NcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZTX0FQSV9SRVNQT05TRV9IQU5ETEVSKVxuICAgIHByaXZhdGUgcmVzcG9uc2VIYW5kbGVyOiBGc0FwaVJlc3BvbnNlSGFuZGxlclxuICApIHtcblxuICAgIC8vIFF1ZXVlIExpbWl0XG4gICAgdGhpcy5fcXVldWUuc2V0TGltaXQoKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLm1heEZpbGVDb25uZWN0aW9ucykgfHwgNSk7XG4gIH1cblxuICBnZXQgcXVldWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXVlO1xuICB9XG5cbiAgZ2V0IGNhY2hlKCkge1xuICAgIHJldHVybiB0aGlzLl9jYWNoZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQodXJsLCBxdWVyeT8sIGNvbmZpZz86IFJlcXVlc3RDb25maWcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KCdHRVQnLCB1cmwsIHF1ZXJ5LCBjb25maWcpO1xuICB9XG5cbiAgcHVibGljIHBvc3QodXJsLCBkYXRhPzogb2JqZWN0LCBjb25maWc/OiBSZXF1ZXN0Q29uZmlnKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KCdQT1NUJywgdXJsLCBkYXRhLCBjb25maWcpO1xuICB9XG5cbiAgcHVibGljIHB1dCh1cmwsIGRhdGE/OiBvYmplY3QsIGNvbmZpZz86IFJlcXVlc3RDb25maWcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoJ1BVVCcsIHVybCwgZGF0YSwgY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGUodXJsLCBkYXRhPzogb2JqZWN0LCBjb25maWc/OiBSZXF1ZXN0Q29uZmlnKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KCdERUxFVEUnLCB1cmwsIGRhdGEsIGNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdChtZXRob2Q6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGE/OiBvYmplY3QsIGNvbmZpZz86IFJlcXVlc3RDb25maWcpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgY29uZmlnID0gT2JqZWN0LmFzc2lnbihuZXcgRnNBcGlDb25maWcoKSwgdGhpcy5hcGlDb25maWcsIGNvbmZpZyk7XG4gICAgbWV0aG9kID0gbWV0aG9kLnRvVXBwZXJDYXNlKCk7XG4gICAgZGF0YSA9IE9iamVjdC5hc3NpZ24oe30sIGRhdGEpO1xuXG4gICAgdGhpcy5fc2FuaXRpemUoZGF0YSk7XG5cbiAgICBpZiAobWV0aG9kID09PSAnR0VUJykge1xuICAgICAgY29uZmlnLnF1ZXJ5ID0gZGF0YTtcbiAgICAgIGRhdGEgPSB7fTtcblxuICAgICAgaWYgKGNvbmZpZy5jYWNoZSkge1xuICAgICAgICBjb25zdCBjYWNoZSA9IHRoaXMuY2FjaGUuZ2V0KHVybCwgY29uZmlnLnF1ZXJ5KTtcbiAgICAgICAgaWYgKGNhY2hlKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGNhY2hlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENyZWF0ZSBjbGVhciByZXF1ZXN0XG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBIdHRwUmVxdWVzdCgobWV0aG9kIGFzIGFueSksIHVybCwgbnVsbCwgeyByZXNwb25zZVR5cGU6IGNvbmZpZy5yZXNwb25zZVR5cGUgfSk7XG5cbiAgICBjb25zdCBJTlRFUkNFUFRPUlM6IGFueSA9IFtcbiAgICAgIG5ldyBIZWFkZXJzSGFuZGxlckludGVyY2VwdG9yKGNvbmZpZywgZGF0YSksXG4gICAgICBuZXcgQm9keUhhbmRsZXJJbnRlcmNlcHRvcihjb25maWcsIGRhdGEpLFxuICAgICAgbmV3IFBhcmFtc0hhbmRsZXJJbnRlcmNlcHRvcihjb25maWcsIGRhdGEpLFxuICAgIF07XG5cbiAgICBpZiAoY29uZmlnLmludGVyY2VwdG9ycykge1xuXG4gICAgICAvLyBBZGQgY3VzdG9tIGludGVyY2VwdG9ycyBpbnRvIGNoYWluXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMpKSB7XG4gICAgICAgIGNvbnN0IGludGVyY2VwdG9ycyA9IHRoaXMucmVxdWVzdEludGVyY2VwdG9yc1xuICAgICAgICAgIC5tYXAoKGludGVyY2VwdG9yKSA9PiBpbnRlcmNlcHRvcihjb25maWcsIGRhdGEpKTtcblxuICAgICAgICBJTlRFUkNFUFRPUlMucHVzaCguLi5pbnRlcmNlcHRvcnMpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMpIHtcbiAgICAgICAgY29uc3QgaW50ZXJjZXB0b3IgPSB0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMoY29uZmlnLCBkYXRhKTtcblxuICAgICAgICBJTlRFUkNFUFRPUlMucHVzaChpbnRlcmNlcHRvcik7XG4gICAgICB9XG5cbiAgICAgIElOVEVSQ0VQVE9SUy5wdXNoKC4uLnRoaXMuaHR0cEludGVyY2VwdG9ycyk7XG4gICAgfVxuICAgIGNvbnN0IGhhbmRsZXJzID0gW107XG4gICAgaWYgKGNvbmZpZy5oYW5kbGVycyAmJiB0aGlzLnJlc3BvbnNlSGFuZGxlcikge1xuICAgICAgaGFuZGxlcnMucHVzaCh0aGlzLnJlc3BvbnNlSGFuZGxlcik7XG4gICAgfVxuXG4gICAgaGFuZGxlcnMucHVzaChuZXcgRnNBcGlDYWNoZUhhbmRsZXIodGhpcy5fY2FjaGUpKTtcblxuICAgIC8vIEV4ZWN1dGluZyBvZiBpbnRlcmNlcHRvcnNcbiAgICBjb25zdCBoYW5kbGVyc0NoYWluID0gSU5URVJDRVBUT1JTLnJlZHVjZVJpZ2h0KFxuICAgICAgKG5leHQ6IGFueSwgaW50ZXJjZXB0b3I6IGFueSkgPT4gbmV3IFJlcXVlc3RIYW5kbGVyKG5leHQsIGludGVyY2VwdG9yKSwgdGhpcy5odHRwKTtcblxuICAgIC8vIERvIHJlcXVlc3QgYW5kIHByb2Nlc3MgdGhlIGFuc3dlclxuICAgIGNvbnN0IGNoYWluZWRSZXF1ZXN0ID0gaGFuZGxlcnNDaGFpbi5oYW5kbGUocmVxdWVzdClcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNvbmZpZy5yZXBvcnRQcm9ncmVzcyB8fCBldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoZXZlbnQ6IEh0dHBFdmVudDxhbnk+KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcbiAgICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goKGhhbmRsZXI6IEZzQXBpQmFzZUhhbmRlcikgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVyLnN1Y2Nlc3MoZXZlbnQsIGNvbmZpZywgcmVxdWVzdCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBtYXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuICAgICAgICAgIHJldHVybiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkgPyBldmVudC5ib2R5IDogZXZlbnQ7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoe1xuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyOiBGc0FwaUJhc2VIYW5kZXIpID0+IHtcbiAgICAgICAgICAgICAgaGFuZGxlci5lcnJvcihlcnIsIGNvbmZpZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyOiBGc0FwaUJhc2VIYW5kZXIpID0+IHtcbiAgICAgICAgICAgICAgaGFuZGxlci5jb21wbGV0ZShjb25maWcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIC8vIERlcGVuZHMgb24gZW5jb2Rpbmcgd2lsbCBzZW5kIGluIHF1ZXVlIG9yIHJhd1xuICAgIGlmIChjb25maWcuZW5jb2RpbmcgPT09ICdmb3JtZGF0YScpIHtcbiAgICAgIGlmIChjb25maWcuY3VzdG9tUXVldWUpIHtcbiAgICAgICAgcmV0dXJuIGNvbmZpZy5jdXN0b21RdWV1ZS5wdXNoKGNoYWluZWRSZXF1ZXN0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9xdWV1ZS5wdXNoKGNoYWluZWRSZXF1ZXN0KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGNoYWluZWRSZXF1ZXN0O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTYW5pdGl6ZSB0aGUgcGFzc2VkIG9iamVjdFxuICAgKlxuICAgKiBAcGFyYW0gb2JqXG4gICAqL1xuICBwcml2YXRlIF9zYW5pdGl6ZShvYmopIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBmb3JFYWNoKG9iaiwgZnVuY3Rpb24gKHZhbHVlLCBrZXkpIHtcbiAgICAgIGlmIChpc0RhdGUodmFsdWUpKSB7XG4gICAgICAgIGlmIChpc1ZhbGlkKHZhbHVlKSkge1xuICAgICAgICAgIG9ialtrZXldID0gZm9ybWF0KHZhbHVlLCAneXl5eS1NTS1kZFxcJ1RcXCdISDptbTpzc3h4eCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlbGV0ZSBvYmpba2V5XTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBvYmpba2V5XTtcblxuICAgICAgfSBlbHNlIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgc2VsZi5fc2FuaXRpemUodmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9iajtcbiAgfVxufVxuIl19

@@ -149,3 +149,3 @@ /**

/** @type {?} */
var request = new HttpRequest(((/** @type {?} */ (method))), url, { responseType: config.responseType });
var request = new HttpRequest(((/** @type {?} */ (method))), url, null, { responseType: config.responseType });
/** @type {?} */

@@ -369,2 +369,2 @@ var INTERCEPTORS = [

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9hcGkvIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLGNBQWMsRUFFZCxZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFckYsT0FBTyxFQUNMLGFBQWEsRUFDYiwwQkFBMEIsRUFDMUIsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUs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QkFDOUIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFFakI7aUJBQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkI7UUFDSCxDQUFDLEVBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7Z0JBakxGLFVBQVU7Ozs7Z0JBckJGLFdBQVc7Z0JBZGxCLGNBQWM7Z0JBSmEsUUFBUTtnREFtRGhDLFFBQVEsWUFBSSxNQUFNLFNBQUMsYUFBYTtnREFJaEMsUUFBUSxZQUFJLE1BQU0sU0FBQyxpQkFBaUI7Z0RBSXBDLFFBQVEsWUFBSSxNQUFNLFNBQUMsMEJBQTBCO2dCQTVCekMsb0JBQW9CLHVCQWdDeEIsUUFBUSxZQUFJLE1BQU0sU0FBQyx1QkFBdUI7O0lBMEovQyxZQUFDO0NBQUEsQUFsTEQsSUFrTEM7U0FqTFksS0FBSzs7O0lBRWhCLHVCQUFtQjs7Ozs7SUFDbkIsdUJBQXVDOzs7OztJQUN2Qyx1QkFBZ0M7Ozs7O0lBRzlCLDBCQUE4Qjs7Ozs7SUFDOUIscUJBQTRCOzs7OztJQUM1Qix5QkFBMEI7Ozs7O0lBRTFCLHVCQUM2Qjs7Ozs7SUFHN0IsaUNBQ3dCOzs7OztJQUd4QixvQ0FDMkI7Ozs7O0lBRzNCLGdDQUM2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBIdHRwUmVxdWVzdCxcbiAgSHR0cEV2ZW50VHlwZSxcbiAgSHR0cFhockJhY2tlbmQsXG4gIEh0dHBFdmVudCxcbiAgSHR0cFJlc3BvbnNlLFxuICBIVFRQX0lOVEVSQ0VQVE9SUyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBRdWV1ZSB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBpc0RhdGUsIGlzVmFsaWQsIGZvcm1hdCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGZvckVhY2gsIGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuaW1wb3J0IHsgRnNBcGlDb25maWcgfSBmcm9tICcuLi9jbGFzc2VzL2FwaS1jb25maWcnO1xuaW1wb3J0IHsgUmVxdWVzdEhhbmRsZXIgfSBmcm9tICcuLi9jbGFzc2VzL3JlcXVlc3QtaGFuZGxlcic7XG5cbmltcG9ydCB7IEhlYWRlcnNIYW5kbGVySW50ZXJjZXB0b3IgfSBmcm9tICcuLi9pbnRlcmNlcHRvcnMvaGVhZGVycy1oYW5kbGVyLmludGVyY2VwdG9yJztcbmltcG9ydCB7IEJvZHlIYW5kbGVySW50ZXJjZXB0b3IgfSBmcm9tICcuLi9pbnRlcmNlcHRvcnMvYm9keS1oYW5kbGVyLmludGVyY2VwdG9yJztcbmltcG9ydCB7IFBhcmFtc0hhbmRsZXJJbnRlcmNlcHRvcn0gZnJvbSAnLi4vaW50ZXJjZXB0b3JzL3BhcmFtcy1oYW5kbGVyLmludGVyY2VwdG9yJztcblxuaW1wb3J0IHtcbiAgRlNfQVBJX0NPTkZJRyxcbiAgRlNfQVBJX1JFUVVFU1RfSU5URVJDRVBUT1IsXG4gIEZTX0FQSV9SRVNQT05TRV9IQU5ETEVSLFxufSBmcm9tICcuLi9mcy1hcGktcHJvdmlkZXJzJztcblxuaW1wb3J0IHsgRnNBcGlSZXNwb25zZUhhbmRsZXIgfSBmcm9tICcuLi9oYW5kbGVycy9yZXNwb25zZS5oYW5kbGVyJztcbmltcG9ydCB7IEZzQXBpQ2FjaGVIYW5kbGVyIH0gZnJvbSAnLi4vaGFuZGxlcnMvY2FjaGUuaGFuZGxlcic7XG5pbXBvcnQgeyBJTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9tb2R1bGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXF1ZXN0Q29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBGc0FwaUJhc2VIYW5kZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2hhbmRsZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwaUNhY2hlIH0gZnJvbSAnLi4vY2xhc3Nlcy9hcGktY2FjaGUnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGc0FwaSB7XG5cbiAgcHVibGljIGV2ZW50cyA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IF9xdWV1ZSA9IG5ldyBRdWV1ZSg1KTtcbiAgcHJpdmF0ZSBfY2FjaGUgPSBuZXcgQXBpQ2FjaGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFwaUNvbmZpZzogRnNBcGlDb25maWcsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwWGhyQmFja2VuZCxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAvLyBDdXN0b20gaW50ZXJjZXB0b3JzXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGU19BUElfQ09ORklHKVxuICAgIHByaXZhdGUgY29uZmlnOiBJTW9kdWxlQ29uZmlnLFxuXG4gICAgLy8gQ3VzdG9tIGludGVyY2VwdG9yc1xuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoSFRUUF9JTlRFUkNFUFRPUlMpXG4gICAgcHJpdmF0ZSBodHRwSW50ZXJjZXB0b3JzLFxuXG4gICAgLy8gQ3VzdG9tIGludGVyY2VwdG9yc1xuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfQVBJX1JFUVVFU1RfSU5URVJDRVBUT1IpXG4gICAgcHJpdmF0ZSByZXF1ZXN0SW50ZXJjZXB0b3JzLFxuXG4gICAgLy8gT3RoZXIgY2FsbGJhY2tzXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChGU19BUElfUkVTUE9OU0VfSEFORExFUilcbiAgICBwcml2YXRlIHJlc3BvbnNlSGFuZGxlcjogRnNBcGlSZXNwb25zZUhhbmRsZXJcbiAgKSB7XG5cbiAgICAvLyBRdWV1ZSBMaW1pdFxuICAgIHRoaXMuX3F1ZXVlLnNldExpbWl0KCh0aGlzLmNvbmZpZyAmJiB0aGlzLmNvbmZpZy5tYXhGaWxlQ29ubmVjdGlvbnMpIHx8IDUpO1xuICB9XG5cbiAgZ2V0IHF1ZXVlKCkge1xuICAgIHJldHVybiB0aGlzLl9xdWV1ZTtcbiAgfVxuXG4gIGdldCBjYWNoZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fY2FjaGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0KHVybCwgcXVlcnk/LCBjb25maWc/OiBSZXF1ZXN0Q29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnR0VUJywgdXJsLCBxdWVyeSwgY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBwb3N0KHVybCwgZGF0YT86IG9iamVjdCwgY29uZmlnPzogUmVxdWVzdENvbmZpZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnUE9TVCcsIHVybCwgZGF0YSwgY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBwdXQodXJsLCBkYXRhPzogb2JqZWN0LCBjb25maWc/OiBSZXF1ZXN0Q29uZmlnKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KCdQVVQnLCB1cmwsIGRhdGEsIGNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKHVybCwgZGF0YT86IG9iamVjdCwgY29uZmlnPzogUmVxdWVzdENvbmZpZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnREVMRVRFJywgdXJsLCBkYXRhLCBjb25maWcpO1xuICB9XG5cbiAgcHVibGljIHJlcXVlc3QobWV0aG9kOiBzdHJpbmcsIHVybDogc3RyaW5nLCBkYXRhPzogb2JqZWN0LCBjb25maWc/OiBSZXF1ZXN0Q29uZmlnKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgIGNvbmZpZyA9IE9iamVjdC5hc3NpZ24obmV3IEZzQXBpQ29uZmlnKCksIHRoaXMuYXBpQ29uZmlnLCBjb25maWcpO1xuICAgIG1ldGhvZCA9IG1ldGhvZC50b1VwcGVyQ2FzZSgpO1xuICAgIGRhdGEgPSBPYmplY3QuYXNzaWduKHt9LCBkYXRhKTtcblxuICAgIHRoaXMuX3Nhbml0aXplKGRhdGEpO1xuXG4gICAgaWYgKG1ldGhvZCA9PT0gJ0dFVCcpIHtcbiAgICAgIGNvbmZpZy5xdWVyeSA9IGRhdGE7XG4gICAgICBkYXRhID0ge307XG5cbiAgICAgIGlmIChjb25maWcuY2FjaGUpIHtcbiAgICAgICAgY29uc3QgY2FjaGUgPSB0aGlzLmNhY2hlLmdldCh1cmwsIGNvbmZpZy5xdWVyeSk7XG4gICAgICAgIGlmIChjYWNoZSkge1xuICAgICAgICAgIHJldHVybiBvZihjYWNoZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgY2xlYXIgcmVxdWVzdFxuICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgSHR0cFJlcXVlc3QoKG1ldGhvZCBhcyBhbnkpLCB1cmwsIHsgcmVzcG9uc2VUeXBlOiBjb25maWcucmVzcG9uc2VUeXBlIH0pO1xuXG4gICAgY29uc3QgSU5URVJDRVBUT1JTOiBhbnkgPSBbXG4gICAgICBuZXcgSGVhZGVyc0hhbmRsZXJJbnRlcmNlcHRvcihjb25maWcsIGRhdGEpLFxuICAgICAgbmV3IEJvZHlIYW5kbGVySW50ZXJjZXB0b3IoY29uZmlnLCBkYXRhKSxcbiAgICAgIG5ldyBQYXJhbXNIYW5kbGVySW50ZXJjZXB0b3IoY29uZmlnLCBkYXRhKSxcbiAgICBdO1xuXG4gICAgaWYgKGNvbmZpZy5pbnRlcmNlcHRvcnMpIHtcblxuICAgICAgLy8gQWRkIGN1c3RvbSBpbnRlcmNlcHRvcnMgaW50byBjaGFpblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzKSkge1xuICAgICAgICBjb25zdCBpbnRlcmNlcHRvcnMgPSB0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnNcbiAgICAgICAgICAubWFwKChpbnRlcmNlcHRvcikgPT4gaW50ZXJjZXB0b3IoY29uZmlnLCBkYXRhKSk7XG5cbiAgICAgICAgSU5URVJDRVBUT1JTLnB1c2goLi4uaW50ZXJjZXB0b3JzKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzKSB7XG4gICAgICAgIGNvbnN0IGludGVyY2VwdG9yID0gdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzKGNvbmZpZywgZGF0YSk7XG5cbiAgICAgICAgSU5URVJDRVBUT1JTLnB1c2goaW50ZXJjZXB0b3IpO1xuICAgICAgfVxuXG4gICAgICBJTlRFUkNFUFRPUlMucHVzaCguLi50aGlzLmh0dHBJbnRlcmNlcHRvcnMpO1xuICAgIH1cbiAgICBjb25zdCBoYW5kbGVycyA9IFtdO1xuICAgIGlmIChjb25maWcuaGFuZGxlcnMgJiYgdGhpcy5yZXNwb25zZUhhbmRsZXIpIHtcbiAgICAgIGhhbmRsZXJzLnB1c2godGhpcy5yZXNwb25zZUhhbmRsZXIpO1xuICAgIH1cblxuICAgIGhhbmRsZXJzLnB1c2gobmV3IEZzQXBpQ2FjaGVIYW5kbGVyKHRoaXMuX2NhY2hlKSk7XG5cbiAgICAvLyBFeGVjdXRpbmcgb2YgaW50ZXJjZXB0b3JzXG4gICAgY29uc3QgaGFuZGxlcnNDaGFpbiA9IElOVEVSQ0VQVE9SUy5yZWR1Y2VSaWdodChcbiAgICAgIChuZXh0OiBhbnksIGludGVyY2VwdG9yOiBhbnkpID0+IG5ldyBSZXF1ZXN0SGFuZGxlcihuZXh0LCBpbnRlcmNlcHRvciksIHRoaXMuaHR0cCk7XG5cbiAgICAvLyBEbyByZXF1ZXN0IGFuZCBwcm9jZXNzIHRoZSBhbnN3ZXJcbiAgICBjb25zdCBjaGFpbmVkUmVxdWVzdCA9IGhhbmRsZXJzQ2hhaW4uaGFuZGxlKHJlcXVlc3QpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4ge1xuICAgICAgICAgIHJldHVybiBjb25maWcucmVwb3J0UHJvZ3Jlc3MgfHwgZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2U7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSB7XG4gICAgICAgICAgICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyOiBGc0FwaUJhc2VIYW5kZXIpID0+IHtcbiAgICAgICAgICAgICAgaGFuZGxlci5zdWNjZXNzKGV2ZW50LCBjb25maWcsIHJlcXVlc3QpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgbWFwKChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcbiAgICAgICAgICByZXR1cm4gKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpID8gZXZlbnQuYm9keSA6IGV2ZW50O1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKHtcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgaGFuZGxlcnMuZm9yRWFjaCgoaGFuZGxlcjogRnNBcGlCYXNlSGFuZGVyKSA9PiB7XG4gICAgICAgICAgICAgIGhhbmRsZXIuZXJyb3IoZXJyLCBjb25maWcpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgaGFuZGxlcnMuZm9yRWFjaCgoaGFuZGxlcjogRnNBcGlCYXNlSGFuZGVyKSA9PiB7XG4gICAgICAgICAgICAgIGhhbmRsZXIuY29tcGxldGUoY29uZmlnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICAvLyBEZXBlbmRzIG9uIGVuY29kaW5nIHdpbGwgc2VuZCBpbiBxdWV1ZSBvciByYXdcbiAgICBpZiAoY29uZmlnLmVuY29kaW5nID09PSAnZm9ybWRhdGEnKSB7XG4gICAgICBpZiAoY29uZmlnLmN1c3RvbVF1ZXVlKSB7XG4gICAgICAgIHJldHVybiBjb25maWcuY3VzdG9tUXVldWUucHVzaChjaGFpbmVkUmVxdWVzdCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fcXVldWUucHVzaChjaGFpbmVkUmVxdWVzdCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjaGFpbmVkUmVxdWVzdDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2FuaXRpemUgdGhlIHBhc3NlZCBvYmplY3RcbiAgICpcbiAgICogQHBhcmFtIG9ialxuICAgKi9cbiAgcHJpdmF0ZSBfc2FuaXRpemUob2JqKSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgZm9yRWFjaChvYmosIGZ1bmN0aW9uICh2YWx1ZSwga2V5KSB7XG4gICAgICBpZiAoaXNEYXRlKHZhbHVlKSkge1xuICAgICAgICBpZiAoaXNWYWxpZCh2YWx1ZSkpIHtcbiAgICAgICAgICBvYmpba2V5XSA9IGZvcm1hdCh2YWx1ZSwgJ3l5eXktTU0tZGRcXCdUXFwnSEg6bW06c3N4eHgnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWxldGUgb2JqW2tleV07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgb2JqW2tleV07XG5cbiAgICAgIH0gZWxzZSBpZiAoaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgIHNlbGYuX3Nhbml0aXplKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvYmo7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZmlyZXN0aXRjaC9hcGkvIiwic291cmNlcyI6WyJhcHAvc2VydmljZXMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsYUFBYSxFQUNiLGNBQWMsRUFFZCxZQUFZLEVBQ1osaUJBQWlCLEdBQ2xCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHdCQUF3QixFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFFckYsT0FBTyxFQUNMLGFBQWEsRUFDYiwwQkFBMEIsRUFDMUIsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUs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QUFTLEVBQUU7Z0JBQzlCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBRWpCO2lCQUFNLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7O2dCQWpMRixVQUFVOzs7O2dCQXJCRixXQUFXO2dCQWRsQixjQUFjO2dCQUphLFFBQVE7Z0RBbURoQyxRQUFRLFlBQUksTUFBTSxTQUFDLGFBQWE7Z0RBSWhDLFFBQVEsWUFBSSxNQUFNLFNBQUMsaUJBQWlCO2dEQUlwQyxRQUFRLFlBQUksTUFBTSxTQUFDLDBCQUEwQjtnQkE1QnpDLG9CQUFvQix1QkFnQ3hCLFFBQVEsWUFBSSxNQUFNLFNBQUMsdUJBQXVCOztJQTBKL0MsWUFBQztDQUFBLEFBbExELElBa0xDO1NBakxZLEtBQUs7OztJQUVoQix1QkFBbUI7Ozs7O0lBQ25CLHVCQUF1Qzs7Ozs7SUFDdkMsdUJBQWdDOzs7OztJQUc5QiwwQkFBOEI7Ozs7O0lBQzlCLHFCQUE0Qjs7Ozs7SUFDNUIseUJBQTBCOzs7OztJQUUxQix1QkFDNkI7Ozs7O0lBRzdCLGlDQUN3Qjs7Ozs7SUFHeEIsb0NBQzJCOzs7OztJQUczQixnQ0FDNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBFdmVudFR5cGUsXG4gIEh0dHBYaHJCYWNrZW5kLFxuICBIdHRwRXZlbnQsXG4gIEh0dHBSZXNwb25zZSxcbiAgSFRUUF9JTlRFUkNFUFRPUlMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgUXVldWUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgaXNEYXRlLCBpc1ZhbGlkLCBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBmb3JFYWNoLCBpc09iamVjdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IEZzQXBpQ29uZmlnIH0gZnJvbSAnLi4vY2xhc3Nlcy9hcGktY29uZmlnJztcbmltcG9ydCB7IFJlcXVlc3RIYW5kbGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9yZXF1ZXN0LWhhbmRsZXInO1xuXG5pbXBvcnQgeyBIZWFkZXJzSGFuZGxlckludGVyY2VwdG9yIH0gZnJvbSAnLi4vaW50ZXJjZXB0b3JzL2hlYWRlcnMtaGFuZGxlci5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBCb2R5SGFuZGxlckludGVyY2VwdG9yIH0gZnJvbSAnLi4vaW50ZXJjZXB0b3JzL2JvZHktaGFuZGxlci5pbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBQYXJhbXNIYW5kbGVySW50ZXJjZXB0b3J9IGZyb20gJy4uL2ludGVyY2VwdG9ycy9wYXJhbXMtaGFuZGxlci5pbnRlcmNlcHRvcic7XG5cbmltcG9ydCB7XG4gIEZTX0FQSV9DT05GSUcsXG4gIEZTX0FQSV9SRVFVRVNUX0lOVEVSQ0VQVE9SLFxuICBGU19BUElfUkVTUE9OU0VfSEFORExFUixcbn0gZnJvbSAnLi4vZnMtYXBpLXByb3ZpZGVycyc7XG5cbmltcG9ydCB7IEZzQXBpUmVzcG9uc2VIYW5kbGVyIH0gZnJvbSAnLi4vaGFuZGxlcnMvcmVzcG9uc2UuaGFuZGxlcic7XG5pbXBvcnQgeyBGc0FwaUNhY2hlSGFuZGxlciB9IGZyb20gJy4uL2hhbmRsZXJzL2NhY2hlLmhhbmRsZXInO1xuaW1wb3J0IHsgSU1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvbW9kdWxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVxdWVzdENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRnNBcGlCYXNlSGFuZGVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9oYW5kbGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcGlDYWNoZSB9IGZyb20gJy4uL2NsYXNzZXMvYXBpLWNhY2hlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRnNBcGkge1xuXG4gIHB1YmxpYyBldmVudHMgPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcXVldWUgPSBuZXcgUXVldWUoNSk7XG4gIHByaXZhdGUgX2NhY2hlID0gbmV3IEFwaUNhY2hlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlDb25maWc6IEZzQXBpQ29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cFhockJhY2tlbmQsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgLy8gQ3VzdG9tIGludGVyY2VwdG9yc1xuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfQVBJX0NPTkZJRylcbiAgICBwcml2YXRlIGNvbmZpZzogSU1vZHVsZUNvbmZpZyxcblxuICAgIC8vIEN1c3RvbSBpbnRlcmNlcHRvcnNcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEhUVFBfSU5URVJDRVBUT1JTKVxuICAgIHByaXZhdGUgaHR0cEludGVyY2VwdG9ycyxcblxuICAgIC8vIEN1c3RvbSBpbnRlcmNlcHRvcnNcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEZTX0FQSV9SRVFVRVNUX0lOVEVSQ0VQVE9SKVxuICAgIHByaXZhdGUgcmVxdWVzdEludGVyY2VwdG9ycyxcblxuICAgIC8vIE90aGVyIGNhbGxiYWNrc1xuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoRlNfQVBJX1JFU1BPTlNFX0hBTkRMRVIpXG4gICAgcHJpdmF0ZSByZXNwb25zZUhhbmRsZXI6IEZzQXBpUmVzcG9uc2VIYW5kbGVyXG4gICkge1xuXG4gICAgLy8gUXVldWUgTGltaXRcbiAgICB0aGlzLl9xdWV1ZS5zZXRMaW1pdCgodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcubWF4RmlsZUNvbm5lY3Rpb25zKSB8fCA1KTtcbiAgfVxuXG4gIGdldCBxdWV1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVldWU7XG4gIH1cblxuICBnZXQgY2FjaGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2NhY2hlO1xuICB9XG5cbiAgcHVibGljIGdldCh1cmwsIHF1ZXJ5PywgY29uZmlnPzogUmVxdWVzdENvbmZpZykge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoJ0dFVCcsIHVybCwgcXVlcnksIGNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgcG9zdCh1cmwsIGRhdGE/OiBvYmplY3QsIGNvbmZpZz86IFJlcXVlc3RDb25maWcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoJ1BPU1QnLCB1cmwsIGRhdGEsIGNvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgcHV0KHVybCwgZGF0YT86IG9iamVjdCwgY29uZmlnPzogUmVxdWVzdENvbmZpZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCgnUFVUJywgdXJsLCBkYXRhLCBjb25maWcpO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZSh1cmwsIGRhdGE/OiBvYmplY3QsIGNvbmZpZz86IFJlcXVlc3RDb25maWcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QoJ0RFTEVURScsIHVybCwgZGF0YSwgY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0KG1ldGhvZDogc3RyaW5nLCB1cmw6IHN0cmluZywgZGF0YT86IG9iamVjdCwgY29uZmlnPzogUmVxdWVzdENvbmZpZyk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICBjb25maWcgPSBPYmplY3QuYXNzaWduKG5ldyBGc0FwaUNvbmZpZygpLCB0aGlzLmFwaUNvbmZpZywgY29uZmlnKTtcbiAgICBtZXRob2QgPSBtZXRob2QudG9VcHBlckNhc2UoKTtcbiAgICBkYXRhID0gT2JqZWN0LmFzc2lnbih7fSwgZGF0YSk7XG5cbiAgICB0aGlzLl9zYW5pdGl6ZShkYXRhKTtcblxuICAgIGlmIChtZXRob2QgPT09ICdHRVQnKSB7XG4gICAgICBjb25maWcucXVlcnkgPSBkYXRhO1xuICAgICAgZGF0YSA9IHt9O1xuXG4gICAgICBpZiAoY29uZmlnLmNhY2hlKSB7XG4gICAgICAgIGNvbnN0IGNhY2hlID0gdGhpcy5jYWNoZS5nZXQodXJsLCBjb25maWcucXVlcnkpO1xuICAgICAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgICByZXR1cm4gb2YoY2FjaGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGNsZWFyIHJlcXVlc3RcbiAgICBjb25zdCByZXF1ZXN0ID0gbmV3IEh0dHBSZXF1ZXN0KChtZXRob2QgYXMgYW55KSwgdXJsLCBudWxsLCB7IHJlc3BvbnNlVHlwZTogY29uZmlnLnJlc3BvbnNlVHlwZSB9KTtcblxuICAgIGNvbnN0IElOVEVSQ0VQVE9SUzogYW55ID0gW1xuICAgICAgbmV3IEhlYWRlcnNIYW5kbGVySW50ZXJjZXB0b3IoY29uZmlnLCBkYXRhKSxcbiAgICAgIG5ldyBCb2R5SGFuZGxlckludGVyY2VwdG9yKGNvbmZpZywgZGF0YSksXG4gICAgICBuZXcgUGFyYW1zSGFuZGxlckludGVyY2VwdG9yKGNvbmZpZywgZGF0YSksXG4gICAgXTtcblxuICAgIGlmIChjb25maWcuaW50ZXJjZXB0b3JzKSB7XG5cbiAgICAgIC8vIEFkZCBjdXN0b20gaW50ZXJjZXB0b3JzIGludG8gY2hhaW5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMucmVxdWVzdEludGVyY2VwdG9ycykpIHtcbiAgICAgICAgY29uc3QgaW50ZXJjZXB0b3JzID0gdGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzXG4gICAgICAgICAgLm1hcCgoaW50ZXJjZXB0b3IpID0+IGludGVyY2VwdG9yKGNvbmZpZywgZGF0YSkpO1xuXG4gICAgICAgIElOVEVSQ0VQVE9SUy5wdXNoKC4uLmludGVyY2VwdG9ycyk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucmVxdWVzdEludGVyY2VwdG9ycykge1xuICAgICAgICBjb25zdCBpbnRlcmNlcHRvciA9IHRoaXMucmVxdWVzdEludGVyY2VwdG9ycyhjb25maWcsIGRhdGEpO1xuXG4gICAgICAgIElOVEVSQ0VQVE9SUy5wdXNoKGludGVyY2VwdG9yKTtcbiAgICAgIH1cblxuICAgICAgSU5URVJDRVBUT1JTLnB1c2goLi4udGhpcy5odHRwSW50ZXJjZXB0b3JzKTtcbiAgICB9XG4gICAgY29uc3QgaGFuZGxlcnMgPSBbXTtcbiAgICBpZiAoY29uZmlnLmhhbmRsZXJzICYmIHRoaXMucmVzcG9uc2VIYW5kbGVyKSB7XG4gICAgICBoYW5kbGVycy5wdXNoKHRoaXMucmVzcG9uc2VIYW5kbGVyKTtcbiAgICB9XG5cbiAgICBoYW5kbGVycy5wdXNoKG5ldyBGc0FwaUNhY2hlSGFuZGxlcih0aGlzLl9jYWNoZSkpO1xuXG4gICAgLy8gRXhlY3V0aW5nIG9mIGludGVyY2VwdG9yc1xuICAgIGNvbnN0IGhhbmRsZXJzQ2hhaW4gPSBJTlRFUkNFUFRPUlMucmVkdWNlUmlnaHQoXG4gICAgICAobmV4dDogYW55LCBpbnRlcmNlcHRvcjogYW55KSA9PiBuZXcgUmVxdWVzdEhhbmRsZXIobmV4dCwgaW50ZXJjZXB0b3IpLCB0aGlzLmh0dHApO1xuXG4gICAgLy8gRG8gcmVxdWVzdCBhbmQgcHJvY2VzcyB0aGUgYW5zd2VyXG4gICAgY29uc3QgY2hhaW5lZFJlcXVlc3QgPSBoYW5kbGVyc0NoYWluLmhhbmRsZShyZXF1ZXN0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gY29uZmlnLnJlcG9ydFByb2dyZXNzIHx8IGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFwKChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xuICAgICAgICAgICAgaGFuZGxlcnMuZm9yRWFjaCgoaGFuZGxlcjogRnNBcGlCYXNlSGFuZGVyKSA9PiB7XG4gICAgICAgICAgICAgIGhhbmRsZXIuc3VjY2VzcyhldmVudCwgY29uZmlnLCByZXF1ZXN0KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIG1hcCgoZXZlbnQ6IEh0dHBFdmVudDxhbnk+KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlKSA/IGV2ZW50LmJvZHkgOiBldmVudDtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCh7XG4gICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goKGhhbmRsZXI6IEZzQXBpQmFzZUhhbmRlcikgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVyLmVycm9yKGVyciwgY29uZmlnKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goKGhhbmRsZXI6IEZzQXBpQmFzZUhhbmRlcikgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVyLmNvbXBsZXRlKGNvbmZpZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgLy8gRGVwZW5kcyBvbiBlbmNvZGluZyB3aWxsIHNlbmQgaW4gcXVldWUgb3IgcmF3XG4gICAgaWYgKGNvbmZpZy5lbmNvZGluZyA9PT0gJ2Zvcm1kYXRhJykge1xuICAgICAgaWYgKGNvbmZpZy5jdXN0b21RdWV1ZSkge1xuICAgICAgICByZXR1cm4gY29uZmlnLmN1c3RvbVF1ZXVlLnB1c2goY2hhaW5lZFJlcXVlc3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3F1ZXVlLnB1c2goY2hhaW5lZFJlcXVlc3QpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY2hhaW5lZFJlcXVlc3Q7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNhbml0aXplIHRoZSBwYXNzZWQgb2JqZWN0XG4gICAqXG4gICAqIEBwYXJhbSBvYmpcbiAgICovXG4gIHByaXZhdGUgX3Nhbml0aXplKG9iaikge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGZvckVhY2gob2JqLCBmdW5jdGlvbiAodmFsdWUsIGtleSkge1xuICAgICAgaWYgKGlzRGF0ZSh2YWx1ZSkpIHtcbiAgICAgICAgaWYgKGlzVmFsaWQodmFsdWUpKSB7XG4gICAgICAgICAgb2JqW2tleV0gPSBmb3JtYXQodmFsdWUsICd5eXl5LU1NLWRkXFwnVFxcJ0hIOm1tOnNzeHh4Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIG9ialtrZXldO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlIG9ialtrZXldO1xuXG4gICAgICB9IGVsc2UgaWYgKGlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICBzZWxmLl9zYW5pdGl6ZSh2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb2JqO1xuICB9XG59XG4iXX0=

@@ -720,3 +720,3 @@ import { HttpHeaders, HttpUrlEncodingCodec, HttpParams, HttpRequest, HttpResponse, HttpEventType, HttpXhrBackend, HTTP_INTERCEPTORS, HttpClientModule, HttpBackend } from '@angular/common/http';

/** @type {?} */
const request = new HttpRequest(((/** @type {?} */ (method))), url, { responseType: config.responseType });
const request = new HttpRequest(((/** @type {?} */ (method))), url, null, { responseType: config.responseType });
/** @type {?} */

@@ -723,0 +723,0 @@ const INTERCEPTORS = [

@@ -848,3 +848,3 @@ import { HttpHeaders, HttpUrlEncodingCodec, HttpParams, HttpRequest, HttpResponse, HttpEventType, HttpXhrBackend, HTTP_INTERCEPTORS, HttpClientModule, HttpBackend } from '@angular/common/http';

/** @type {?} */
var request = new HttpRequest(((/** @type {?} */ (method))), url, { responseType: config.responseType });
var request = new HttpRequest(((/** @type {?} */ (method))), url, null, { responseType: config.responseType });
/** @type {?} */

@@ -851,0 +851,0 @@ var INTERCEPTORS = [

{
"name": "@firestitch/api",
"version": "8.1.9",
"version": "8.1.10",
"repository": {

@@ -5,0 +5,0 @@ "type": "git",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc