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

angular8-yandex-maps

Package Overview
Dependencies
Maintainers
1
Versions
95
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

angular8-yandex-maps - npm Package Compare versions

Comparing version 1.4.0 to 1.5.1

2

angular8-yandex-maps.d.ts

@@ -5,3 +5,3 @@ /**

export * from './public_api';
export { YandexGeoobjectComponent as ɵd } from './lib/components/yandex-geoobject-component/yandex-geoobject.component';
export { YandexGeoObjectComponent as ɵd } from './lib/components/yandex-geoobject-component/yandex-geoobject.component';
export { YandexMapComponent as ɵa } from './lib/components/yandex-map-component/yandex-map.component';

@@ -8,0 +8,0 @@ export { YandexMultirouteComponent as ɵc } from './lib/components/yandex-multiroute-component/yandex-multiroute.component';

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"AngularYandexMapsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["apiKey"],"value":{"ngModule":{"__symbolic":"reference","name":"AngularYandexMapsModule"},"providers":[{"provide":"API_KEY","useValue":{"__symbolic":"reference","name":"apiKey"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"angular-yandex-map","template":"<div class=\"map-container\" #mapContainer></div>","styles":[".map-container{width:100%;height:100%}"]}]}],"members":{"mapContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":14,"character":3},"arguments":["mapContainer"]}]}],"placemarks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":15,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}]}],"multiroutes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":16,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]}],"geoObjects":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":17,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"searchControl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":18,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"center":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"zoom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵf"}]}],"ngOnInit":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"_setUniqueMapIdOfMap":[{"__symbolic":"method"}],"_createMapWithObjects":[{"__symbolic":"method"}],"_combineInputs":[{"__symbolic":"method"}],"_addObjectsOnMap":[{"__symbolic":"method"}],"_addPlacemark":[{"__symbolic":"method"}],"_addMultiroute":[{"__symbolic":"method"}],"_addGeoObject":[{"__symbolic":"method"}],"_addSearchControl":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"angular-yandex-placemark","template":"","styles":[""]}]}],"members":{"geometry":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"properties":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"angular-yandex-multiroute","template":"","styles":[""]}]}],"members":{"referencePoints":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"angular-yandex-geoobject","template":"","styles":[""]}]}],"members":{"feature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"angular-yandex-search","template":"","styles":[""]}]}],"members":{"searchRequest":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"parameters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":16,"character":33}]}],"initMap":[{"__symbolic":"method"}],"_loadScript":[{"__symbolic":"method"}],"createMap":[{"__symbolic":"method"}],"addPlacemark":[{"__symbolic":"method"}],"addMultiroute":[{"__symbolic":"method"}],"addGeoObject":[{"__symbolic":"method"}],"addSearchControl":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"AngularYandexMapsModule":"./lib/angular-yandex-maps.module","ɵa":"./lib/components/yandex-map-component/yandex-map.component","ɵb":"./lib/components/yandex-placemark-component/yandex-placemark.component","ɵc":"./lib/components/yandex-multiroute-component/yandex-multiroute.component","ɵd":"./lib/components/yandex-geoobject-component/yandex-geoobject.component","ɵe":"./lib/components/yandex-search-component/yandex-search.component","ɵf":"./lib/services/yandex-map/yandex-map.service"},"importAs":"angular8-yandex-maps"}
{"__symbolic":"module","version":4,"metadata":{"AngularYandexMapsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":4}],"exports":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["apiKey"],"value":{"ngModule":{"__symbolic":"reference","name":"AngularYandexMapsModule"},"providers":[{"provide":"API_KEY","useValue":{"__symbolic":"reference","name":"apiKey"}}]}}}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"angular-yandex-map","template":"<div class=\"map-container\" #mapContainer></div>","styles":[".map-container{width:100%;height:100%}"]}]}],"members":{"mapContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":20,"character":3},"arguments":["mapContainer"]}]}],"placemarks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":21,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}]}],"multiroutes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":22,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}]}],"geoObjects":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":23,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}]}],"searchControls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":24,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵe"}]}]}],"center":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"zoom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"clusterer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵf"}]}],"ngOnInit":[{"__symbolic":"method"}],"_logMapErrors":[{"__symbolic":"method"}],"_setUniqueMapId":[{"__symbolic":"method"}],"_createMap":[{"__symbolic":"method"}],"_addObjectsOnMap":[{"__symbolic":"method"}],"_createClusterer":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"angular-yandex-placemark","template":"","styles":[""]}]}],"members":{"geometry":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"properties":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initPlacemark":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"angular-yandex-multiroute","template":"","styles":[""]}]}],"members":{"referencePoints":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"model":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initMultiroute":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"angular-yandex-geoobject","template":"","styles":[""]}]}],"members":{"feature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initGeoObject":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"angular-yandex-search","template":"","styles":[""]}]}],"members":{"searchRequest":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"parameters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"initSearchControl":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":14,"character":33}]}],"initScript":[{"__symbolic":"method"}],"_loadScript":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}}},"origins":{"AngularYandexMapsModule":"./lib/angular-yandex-maps.module","ɵa":"./lib/components/yandex-map-component/yandex-map.component","ɵb":"./lib/components/yandex-placemark-component/yandex-placemark.component","ɵc":"./lib/components/yandex-multiroute-component/yandex-multiroute.component","ɵd":"./lib/components/yandex-geoobject-component/yandex-geoobject.component","ɵe":"./lib/components/yandex-search-component/yandex-search.component","ɵf":"./lib/services/yandex-map/yandex-map.service"},"importAs":"angular8-yandex-maps"}

@@ -7,145 +7,28 @@ (function (global, factory) {

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var YandexMapService = /** @class */ (function () {
function YandexMapService(_injector) {
this._injector = _injector;
this._isMapInited$ = new rxjs.Subject();
this._apiKey = this._injector.get('API_KEY');
}
/**
* Init ymaps script if it's not initiated
* Trigger map subject on script load
* @return {?}
*/
YandexMapService.prototype.initMap = /**
* Init ymaps script if it's not initiated
* Trigger map subject on script load
* @return {?}
*/
function () {
var _this = this;
if (!this._isScriptInited) {
this._isScriptInited = true;
this._loadScript();
}
this._scriptYmaps.onload = function () {
ymaps.ready(function () {
_this._isMapInited$.next(true);
});
};
return this._isMapInited$;
};
/**
* @return {?}
*/
YandexMapService.prototype._loadScript = /**
* @return {?}
*/
function () {
this._scriptYmaps = document.createElement('script');
this._scriptYmaps.src = "https://api-maps.yandex.ru/2.1/?apikey=" + this._apiKey + "&lang=ru_RU";
document.body.appendChild(this._scriptYmaps);
};
/**
* Create new Map class instance
* @param {?} mapId
* @param {?} state
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.createMap = /**
* Create new Map class instance
* @param {?} mapId
* @param {?} state
* @param {?} options
* @return {?}
*/
function (mapId, state, options) {
this._map = new ymaps.Map(mapId, state, options);
};
/**
* Add objects, controls on map
* @param {?} geometry
* @param {?} properties
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.addPlacemark = /**
* Add objects, controls on map
* @param {?} geometry
* @param {?} properties
* @param {?} options
* @return {?}
*/
function (geometry, properties, options) {
this._map.geoObjects
.add(new ymaps.Placemark(geometry, properties, options));
};
/**
* @param {?} model
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.addMultiroute = /**
* @param {?} model
* @param {?} options
* @return {?}
*/
function (model, options) {
this._map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(model, options));
};
/**
* @param {?} feature
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.addGeoObject = /**
* @param {?} feature
* @param {?} options
* @return {?}
*/
function (feature, options) {
this._map.geoObjects
.add(new ymaps.GeoObject(feature, options));
};
/**
* Create new SearchControl class instance with properies
* If searchRequest is provided -> force search in the current area
* @param {?} request
* @param {?} properties
* @return {?}
*/
YandexMapService.prototype.addSearchControl = /**
* Create new SearchControl class instance with properies
* If searchRequest is provided -> force search in the current area
* @param {?} request
* @param {?} properties
* @return {?}
*/
function (request, properties) {
/** @type {?} */
var searchControl = new ymaps.control.SearchControl(properties);
this._map.controls
.add(searchControl);
if (request)
searchControl.search(request);
};
YandexMapService.decorators = [
{ type: i0.Injectable, args: [{
providedIn: 'root'
},] },
];
/** @nocollapse */
YandexMapService.ctorParameters = function () {
return [
{ type: i0.Injector }
];
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
var __assign = function () {
__assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
/** @nocollapse */ YandexMapService.ngInjectableDef = i0.defineInjectable({ factory: function YandexMapService_Factory() { return new YandexMapService(i0.inject(i0.INJECTOR)); }, token: YandexMapService, providedIn: "root" });
return YandexMapService;
}());
return __assign.apply(this, arguments);
};

@@ -180,2 +63,18 @@ /**

};
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexPlacemarkComponent.prototype.initPlacemark = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
/** @type {?} */
var placemark = new ymaps.Placemark(this.geometry, this.properties, this.options);
map.geoObjects.add(placemark);
return placemark;
};
YandexPlacemarkComponent.decorators = [

@@ -226,2 +125,16 @@ { type: i0.Component, args: [{

};
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexMultirouteComponent.prototype.initMultiroute = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(__assign({}, this.model, { referencePoints: this.referencePoints }), this.options));
};
YandexMultirouteComponent.decorators = [

@@ -248,4 +161,4 @@ { type: i0.Component, args: [{

*/
var YandexGeoobjectComponent = /** @class */ (function () {
function YandexGeoobjectComponent() {
var YandexGeoObjectComponent = /** @class */ (function () {
function YandexGeoObjectComponent() {
}

@@ -255,3 +168,3 @@ /**

*/
YandexGeoobjectComponent.prototype.ngOnInit = /**
YandexGeoObjectComponent.prototype.ngOnInit = /**
* @return {?}

@@ -265,3 +178,3 @@ */

*/
YandexGeoobjectComponent.prototype._logErrors = /**
YandexGeoObjectComponent.prototype._logErrors = /**
* @return {?}

@@ -275,3 +188,17 @@ */

};
YandexGeoobjectComponent.decorators = [
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexGeoObjectComponent.prototype.initGeoObject = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
map.geoObjects
.add(new ymaps.GeoObject(this.feature, this.options));
};
YandexGeoObjectComponent.decorators = [
{ type: i0.Component, args: [{

@@ -284,8 +211,8 @@ selector: 'angular-yandex-geoobject',

/** @nocollapse */
YandexGeoobjectComponent.ctorParameters = function () { return []; };
YandexGeoobjectComponent.propDecorators = {
YandexGeoObjectComponent.ctorParameters = function () { return []; };
YandexGeoObjectComponent.propDecorators = {
feature: [{ type: i0.Input }],
options: [{ type: i0.Input }]
};
return YandexGeoobjectComponent;
return YandexGeoObjectComponent;
}());

@@ -307,2 +234,21 @@

function () { };
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexSearchComponent.prototype.initSearchControl = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
/** @type {?} */
var searchControl = new ymaps.control.SearchControl(this.parameters);
/** @type {?} */
var request = this.searchRequest;
map.controls.add(searchControl);
if (request)
searchControl.search(request);
};
YandexSearchComponent.decorators = [

@@ -328,2 +274,58 @@ { type: i0.Component, args: [{

*/
var YandexMapService = /** @class */ (function () {
function YandexMapService(_injector) {
this._injector = _injector;
this._ymaps$ = new rxjs.Subject();
this._apiKey = this._injector.get('API_KEY');
}
/**
* Init ymaps script if it's not initiated
* Return ymaps subject
* @return {?}
*/
YandexMapService.prototype.initScript = /**
* Init ymaps script if it's not initiated
* Return ymaps subject
* @return {?}
*/
function () {
var _this = this;
if (!this._scriptYmaps) {
this._loadScript();
this._scriptYmaps.onload = function () {
ymaps.ready(function () { return _this._ymaps$.next(ymaps); });
};
}
return this._ymaps$;
};
/**
* @return {?}
*/
YandexMapService.prototype._loadScript = /**
* @return {?}
*/
function () {
this._scriptYmaps = document.createElement('script');
this._scriptYmaps.src = "https://api-maps.yandex.ru/2.1/?apikey=" + this._apiKey + "&lang=ru_RU";
document.body.appendChild(this._scriptYmaps);
};
YandexMapService.decorators = [
{ type: i0.Injectable, args: [{
providedIn: 'root'
},] },
];
/** @nocollapse */
YandexMapService.ctorParameters = function () {
return [
{ type: i0.Injector }
];
};
/** @nocollapse */ YandexMapService.ngInjectableDef = i0.defineInjectable({ factory: function YandexMapService_Factory() { return new YandexMapService(i0.inject(i0.INJECTOR)); }, token: YandexMapService, providedIn: "root" });
return YandexMapService;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var YandexMapComponent = /** @class */ (function () {

@@ -343,5 +345,12 @@ function YandexMapComponent(_yandexMapService) {

function () {
this._logErrors();
this._setUniqueMapIdOfMap();
this._createMapWithObjects();
var _this = this;
this._logMapErrors();
this._setUniqueMapId();
this._yandexMapService.initScript()
.pipe(operators.take(1))
.subscribe(function (ymaps) {
/** @type {?} */
var map = _this._createMap(ymaps);
_this._addObjectsOnMap(ymaps, map);
});
};

@@ -351,3 +360,3 @@ /**

*/
YandexMapComponent.prototype._logErrors = /**
YandexMapComponent.prototype._logMapErrors = /**
* @return {?}

@@ -364,3 +373,3 @@ */

*/
YandexMapComponent.prototype._setUniqueMapIdOfMap = /**
YandexMapComponent.prototype._setUniqueMapId = /**
* @return {?}

@@ -373,102 +382,63 @@ */

/**
* @param {?} ymaps
* @return {?}
*/
YandexMapComponent.prototype._createMapWithObjects = /**
YandexMapComponent.prototype._createMap = /**
* @param {?} ymaps
* @return {?}
*/
function () {
var _this = this;
this._yandexMapService.initMap()
.pipe(operators.take(1))
.subscribe(function () {
_this._combineInputs();
_this._yandexMapService.createMap(_this._uniqueMapId, _this.state, _this.options);
_this._addObjectsOnMap();
});
function (ymaps) {
return new ymaps.Map(this._uniqueMapId, __assign({}, this.state, { zoom: this.zoom, center: this.center }), this.options);
};
/**
* Combine separated inputs in objects required for API
* Add ymaps entities/objects on map
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexMapComponent.prototype._combineInputs = /**
* Combine separated inputs in objects required for API
* @return {?}
*/
function () {
// Map
this.state.zoom = this.zoom;
this.state.center = this.center;
// Multiroute
this.multiroutes.forEach(function (multiroute) {
if (!multiroute.model)
multiroute.model = {};
multiroute.model.referencePoints = multiroute.referencePoints;
});
};
/**
* @return {?}
*/
YandexMapComponent.prototype._addObjectsOnMap = /**
* Add ymaps entities/objects on map
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function () {
var _this = this;
function (ymaps, map) {
/** @type {?} */
var placemarks = [];
this.placemarks.forEach(function (placemark) {
_this._addPlacemark(placemark);
placemarks.push(placemark.initPlacemark(ymaps, map));
});
if (this.clusterer)
this._createClusterer(ymaps, map, placemarks);
// Multiroutes
this.multiroutes.forEach(function (multiroute) {
_this._addMultiroute(multiroute);
multiroute.initMultiroute(ymaps, map);
});
// GeoObjects
this.geoObjects.forEach(function (geoObject) {
_this._addGeoObject(geoObject);
geoObject.initGeoObject(ymaps, map);
});
if (this.searchControl.first)
this._addSearchControl(this.searchControl.first);
// SearchControls
this.searchControls.forEach(function (searchControl) {
searchControl.initSearchControl(ymaps, map);
});
};
/**
* Add objects, controls on map
* @param {?} placemark
* @param {?} ymaps
* @param {?} map
* @param {?} geoObjects
* @return {?}
*/
YandexMapComponent.prototype._addPlacemark = /**
* Add objects, controls on map
* @param {?} placemark
YandexMapComponent.prototype._createClusterer = /**
* @param {?} ymaps
* @param {?} map
* @param {?} geoObjects
* @return {?}
*/
function (placemark) {
this._yandexMapService.addPlacemark(placemark.geometry, placemark.properties, placemark.options);
function (ymaps, map, geoObjects) {
/** @type {?} */
var clusterer = new ymaps.Clusterer(this.clusterer);
clusterer.add(geoObjects);
map.geoObjects.add(clusterer);
};
/**
* @param {?} multiroute
* @return {?}
*/
YandexMapComponent.prototype._addMultiroute = /**
* @param {?} multiroute
* @return {?}
*/
function (multiroute) {
this._yandexMapService.addMultiroute(multiroute.model, multiroute.options);
};
/**
* @param {?} geoObject
* @return {?}
*/
YandexMapComponent.prototype._addGeoObject = /**
* @param {?} geoObject
* @return {?}
*/
function (geoObject) {
this._yandexMapService.addGeoObject(geoObject.feature, geoObject.options);
};
/**
* @param {?} search
* @return {?}
*/
YandexMapComponent.prototype._addSearchControl = /**
* @param {?} search
* @return {?}
*/
function (search) {
this._yandexMapService.addSearchControl(search.searchRequest, search.parameters);
};
YandexMapComponent.decorators = [

@@ -491,8 +461,9 @@ { type: i0.Component, args: [{

multiroutes: [{ type: i0.ContentChildren, args: [YandexMultirouteComponent,] }],
geoObjects: [{ type: i0.ContentChildren, args: [YandexGeoobjectComponent,] }],
searchControl: [{ type: i0.ContentChildren, args: [YandexSearchComponent,] }],
geoObjects: [{ type: i0.ContentChildren, args: [YandexGeoObjectComponent,] }],
searchControls: [{ type: i0.ContentChildren, args: [YandexSearchComponent,] }],
center: [{ type: i0.Input }],
zoom: [{ type: i0.Input }],
state: [{ type: i0.Input }],
options: [{ type: i0.Input }]
options: [{ type: i0.Input }],
clusterer: [{ type: i0.Input }]
};

@@ -531,3 +502,3 @@ return YandexMapComponent;

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -542,3 +513,3 @@ ],

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -562,3 +533,3 @@ ]

exports.AngularYandexMapsModule = AngularYandexMapsModule;
exports.ɵd = YandexGeoobjectComponent;
exports.ɵd = YandexGeoObjectComponent;
exports.ɵa = YandexMapComponent;

@@ -574,2 +545,2 @@ exports.ɵc = YandexMultirouteComponent;

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMudW1kLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvc2VydmljZXMveWFuZGV4LW1hcC95YW5kZXgtbWFwLnNlcnZpY2UudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvYW5ndWxhci15YW5kZXgtbWFwcy5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElZYW5kZXhNYXBTZXJ2aWNlIH0gZnJvbSAnLi95YW5kZXgtc2VydmljZS50eXBlJztcblxuZGVjbGFyZSBjb25zdCB5bWFwczogYW55O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNYXBTZXJ2aWNlIGltcGxlbWVudHMgSVlhbmRleE1hcFNlcnZpY2Uge1xuICBwcml2YXRlIF9pc01hcEluaXRlZCQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9zY3JpcHRZbWFwczogSFRNTFNjcmlwdEVsZW1lbnQ7XG4gIHByaXZhdGUgX2FwaUtleTogc3RyaW5nO1xuICBwcml2YXRlIF9pc1NjcmlwdEluaXRlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfbWFwOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5fYXBpS2V5ID0gdGhpcy5faW5qZWN0b3IuZ2V0KCdBUElfS0VZJyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdCB5bWFwcyBzY3JpcHQgaWYgaXQncyBub3QgaW5pdGlhdGVkXG4gICAqIFRyaWdnZXIgbWFwIHN1YmplY3Qgb24gc2NyaXB0IGxvYWRcbiAgICovXG4gIHB1YmxpYyBpbml0TWFwKCk6IFN1YmplY3Q8Ym9vbGVhbj4ge1xuICAgIGlmICghdGhpcy5faXNTY3JpcHRJbml0ZWQpIHtcbiAgICAgIHRoaXMuX2lzU2NyaXB0SW5pdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2xvYWRTY3JpcHQoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zY3JpcHRZbWFwcy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICB5bWFwcy5yZWFkeSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2lzTWFwSW5pdGVkJC5uZXh0KHRydWUpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLl9pc01hcEluaXRlZCQ7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkU2NyaXB0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NjcmlwdFltYXBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgdGhpcy5fc2NyaXB0WW1hcHMuc3JjID0gYGh0dHBzOi8vYXBpLW1hcHMueWFuZGV4LnJ1LzIuMS8/YXBpa2V5PSR7dGhpcy5fYXBpS2V5fSZsYW5nPXJ1X1JVYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX3NjcmlwdFltYXBzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbmV3IE1hcCBjbGFzcyBpbnN0YW5jZVxuICAgKiBAcGFyYW0gbWFwSWRcbiAgICogQHBhcmFtIHN0YXRlXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlTWFwKG1hcElkOiBzdHJpbmcsIHN0YXRlOiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX21hcCA9IG5ldyB5bWFwcy5NYXAobWFwSWQsIHN0YXRlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgb2JqZWN0cywgY29udHJvbHMgb24gbWFwXG4gICAqL1xuICBwdWJsaWMgYWRkUGxhY2VtYXJrKGdlb21ldHJ5OiBhbnksIHByb3BlcnRpZXM6IGFueSwgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbWFwLmdlb09iamVjdHNcbiAgICAgIC5hZGQobmV3IHltYXBzLlBsYWNlbWFyayhnZW9tZXRyeSwgcHJvcGVydGllcywgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFkZE11bHRpcm91dGUobW9kZWw6IGFueSwgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbWFwLmdlb09iamVjdHNcbiAgICAgIC5hZGQobmV3IHltYXBzLm11bHRpUm91dGVyLk11bHRpUm91dGUobW9kZWwsIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRHZW9PYmplY3QoZmVhdHVyZTogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMuR2VvT2JqZWN0KGZlYXR1cmUsIG9wdGlvbnMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbmV3IFNlYXJjaENvbnRyb2wgY2xhc3MgaW5zdGFuY2Ugd2l0aCBwcm9wZXJpZXNcbiAgICogSWYgc2VhcmNoUmVxdWVzdCBpcyBwcm92aWRlZCAtPiBmb3JjZSBzZWFyY2ggaW4gdGhlIGN1cnJlbnQgYXJlYVxuICAgKiBAcGFyYW0gcmVxdWVzdFxuICAgKiBAcGFyYW0gcHJvcGVydGllc1xuICAgKi9cbiAgcHVibGljIGFkZFNlYXJjaENvbnRyb2wocmVxdWVzdDogc3RyaW5nLCBwcm9wZXJ0aWVzOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDb250cm9sID0gbmV3IHltYXBzLmNvbnRyb2wuU2VhcmNoQ29udHJvbChwcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX21hcC5jb250cm9sc1xuICAgICAgLmFkZChzZWFyY2hDb250cm9sKTtcblxuICAgIGlmIChyZXF1ZXN0KSBzZWFyY2hDb250cm9sLnNlYXJjaChyZXF1ZXN0KTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXBsYWNlbWFyaycsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBnZW9tZXRyeTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgcHJvcGVydGllczogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmdlb21ldHJ5KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdQbGFjZW1hcms6IGdlb21ldHJ5IGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5nZW9tZXRyeSA9IFtdO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LW11bHRpcm91dGUnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHJlZmVyZW5jZVBvaW50czogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcHVibGljIG1vZGVsOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVBvaW50cykge1xuICAgICAgY29uc29sZS5lcnJvcignTXVsdGlyb3V0ZTogcmVmZXJlbmNlUG9pbnRzIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5yZWZlcmVuY2VQb2ludHMgPSBbXTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1nZW9vYmplY3QnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhHZW9vYmplY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZmVhdHVyZTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZlYXR1cmUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0dlb09iamVjdHM6IGZlYXR1cmUgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmZlYXR1cmUgPSB7fTtcbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1zZWFyY2gnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoUmVxdWVzdDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcGFyYW1ldGVyczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBDb250ZW50Q2hpbGRyZW4sIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgWWFuZGV4TWFwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3lhbmRleC1tYXAveWFuZGV4LW1hcC5zZXJ2aWNlJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtcGxhY2VtYXJrLWNvbXBvbmVudC95YW5kZXgtcGxhY2VtYXJrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50IH0gZnJvbSAnLi4veWFuZGV4LW11bHRpcm91dGUtY29tcG9uZW50L3lhbmRleC1tdWx0aXJvdXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhHZW9vYmplY3RDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtc2VhcmNoLWNvbXBvbmVudC95YW5kZXgtc2VhcmNoLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LW1hcCcsXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cIm1hcC1jb250YWluZXJcIiAjbWFwQ29udGFpbmVyPjwvZGl2PmAsXG4gIHN0eWxlczogW2AubWFwLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfWBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE1hcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIHB1YmxpYyBtYXBDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50KSBwbGFjZW1hcmtzOiBRdWVyeUxpc3Q8WWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50KSBtdWx0aXJvdXRlczogUXVlcnlMaXN0PFlhbmRleE11bHRpcm91dGVDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleEdlb29iamVjdENvbXBvbmVudCkgZ2VvT2JqZWN0czogUXVlcnlMaXN0PFlhbmRleEdlb29iamVjdENvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4U2VhcmNoQ29tcG9uZW50KSBzZWFyY2hDb250cm9sOiBRdWVyeUxpc3Q8WWFuZGV4U2VhcmNoQ29tcG9uZW50PjtcblxuICBASW5wdXQoKSBwdWJsaWMgY2VudGVyOiBBcnJheTxudW1iZXI+O1xuICBASW5wdXQoKSBwdWJsaWMgem9vbTogbnVtYmVyID0gMTA7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdGF0ZTogYW55ID0ge307XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnkgPSB7fTtcblxuICBwcml2YXRlIF91bmlxdWVNYXBJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3lhbmRleE1hcFNlcnZpY2U6IFlhbmRleE1hcFNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcblxuICAgIHRoaXMuX3NldFVuaXF1ZU1hcElkT2ZNYXAoKTtcbiAgICB0aGlzLl9jcmVhdGVNYXBXaXRoT2JqZWN0cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jZW50ZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ01hcDogY2VudGVyIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5jZW50ZXIgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRVbmlxdWVNYXBJZE9mTWFwKCk6IHZvaWQge1xuICAgIHRoaXMuX3VuaXF1ZU1hcElkID0gYGYkeyh+fihNYXRoLnJhbmRvbSgpICogMWU4KSkudG9TdHJpbmcoMTYpfWA7XG4gICAgdGhpcy5tYXBDb250YWluZXIubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2lkJywgdGhpcy5fdW5pcXVlTWFwSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlTWFwV2l0aE9iamVjdHMoKTogdm9pZCB7XG4gICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5pbml0TWFwKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fY29tYmluZUlucHV0cygpO1xuXG4gICAgICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuY3JlYXRlTWFwKHRoaXMuX3VuaXF1ZU1hcElkLCB0aGlzLnN0YXRlLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB0aGlzLl9hZGRPYmplY3RzT25NYXAoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbWJpbmUgc2VwYXJhdGVkIGlucHV0cyBpbiBvYmplY3RzIHJlcXVpcmVkIGZvciBBUElcbiAgICovXG4gIHByaXZhdGUgX2NvbWJpbmVJbnB1dHMoKTogdm9pZCB7XG4gICAgLy8gTWFwXG4gICAgdGhpcy5zdGF0ZS56b29tID0gdGhpcy56b29tO1xuICAgIHRoaXMuc3RhdGUuY2VudGVyID0gdGhpcy5jZW50ZXI7XG5cbiAgICAvLyBNdWx0aXJvdXRlXG4gICAgdGhpcy5tdWx0aXJvdXRlcy5mb3JFYWNoKChtdWx0aXJvdXRlKSA9PiB7XG4gICAgICBpZiAoIW11bHRpcm91dGUubW9kZWwpIG11bHRpcm91dGUubW9kZWwgPSB7fTtcbiAgICAgIG11bHRpcm91dGUubW9kZWwucmVmZXJlbmNlUG9pbnRzID0gbXVsdGlyb3V0ZS5yZWZlcmVuY2VQb2ludHM7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRPYmplY3RzT25NYXAoKTogdm9pZCB7XG4gICAgdGhpcy5wbGFjZW1hcmtzLmZvckVhY2goKHBsYWNlbWFyaykgPT4ge1xuICAgICAgdGhpcy5fYWRkUGxhY2VtYXJrKHBsYWNlbWFyayk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm11bHRpcm91dGVzLmZvckVhY2goKG11bHRpcm91dGUpID0+IHtcbiAgICAgIHRoaXMuX2FkZE11bHRpcm91dGUobXVsdGlyb3V0ZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmdlb09iamVjdHMuZm9yRWFjaCgoZ2VvT2JqZWN0KSA9PiB7XG4gICAgICB0aGlzLl9hZGRHZW9PYmplY3QoZ2VvT2JqZWN0KTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNlYXJjaENvbnRyb2wuZmlyc3QpIHRoaXMuX2FkZFNlYXJjaENvbnRyb2wodGhpcy5zZWFyY2hDb250cm9sLmZpcnN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgb2JqZWN0cywgY29udHJvbHMgb24gbWFwXG4gICAqL1xuICBwcml2YXRlIF9hZGRQbGFjZW1hcmsocGxhY2VtYXJrOiBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmFkZFBsYWNlbWFyayhwbGFjZW1hcmsuZ2VvbWV0cnksIHBsYWNlbWFyay5wcm9wZXJ0aWVzLCBwbGFjZW1hcmsub3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRNdWx0aXJvdXRlKG11bHRpcm91dGU6IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmFkZE11bHRpcm91dGUobXVsdGlyb3V0ZS5tb2RlbCwgbXVsdGlyb3V0ZS5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEdlb09iamVjdChnZW9PYmplY3Q6IFlhbmRleEdlb29iamVjdENvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuYWRkR2VvT2JqZWN0KGdlb09iamVjdC5mZWF0dXJlLCBnZW9PYmplY3Qub3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRTZWFyY2hDb250cm9sKHNlYXJjaDogWWFuZGV4U2VhcmNoQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5hZGRTZWFyY2hDb250cm9sKHNlYXJjaC5zZWFyY2hSZXF1ZXN0LCBzZWFyY2gucGFyYW1ldGVycyk7XG4gIH1cbn1cbiIsImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgWWFuZGV4TWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvY29yZSc7XG5pbXBvcnQgeyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXBsYWNlbWFyay1jb21wb25lbnQveWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb29iamVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQW5ndWxhcllhbmRleE1hcHNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChhcGlLZXk6IHN0cmluZyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhcllhbmRleE1hcHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiAnQVBJX0tFWScsIHVzZVZhbHVlOiBhcGlLZXkgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTdWJqZWN0IiwiSW5qZWN0YWJsZSIsIkluamVjdG9yIiwiQ29tcG9uZW50IiwiSW5wdXQiLCJ0YWtlIiwiVmlld0NoaWxkIiwiQ29udGVudENoaWxkcmVuIiwiTmdNb2R1bGUiLCJDb21tb25Nb2R1bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtRQWdCRSwwQkFBb0IsU0FBbUI7WUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTtpQ0FORyxJQUFJQSxZQUFPLEVBQUU7WUFPckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM5Qzs7Ozs7O1FBTU0sa0NBQU87Ozs7Ozs7Z0JBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFB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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMudW1kLmpzLm1hcCIsInNvdXJjZXMiOltudWxsLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZS50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LW1hcC1jb21wb25lbnQveWFuZGV4LW1hcC5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9hbmd1bGFyLXlhbmRleC1tYXBzLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXkgbm90IHVzZVxyXG50aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZVxyXG5MaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxyXG5cclxuVEhJUyBDT0RFIElTIFBST1ZJREVEIE9OIEFOICpBUyBJUyogQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWVxyXG5LSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIEFOWSBJTVBMSUVEXHJcbldBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsXHJcbk1FUkNIQU5UQUJMSVRZIE9SIE5PTi1JTkZSSU5HRU1FTlQuXHJcblxyXG5TZWUgdGhlIEFwYWNoZSBWZXJzaW9uIDIuMCBMaWNlbnNlIGZvciBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcclxuYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSAqL1xyXG5cclxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XHJcbiAgICBleHRlbmRTdGF0aWNzID0gT2JqZWN0LnNldFByb3RvdHlwZU9mIHx8XHJcbiAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxyXG4gICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xyXG4gICAgcmV0dXJuIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19leHRlbmRzKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZShyZXN1bHQudmFsdWUpOyB9KS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl0sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3NwcmVhZEFycmF5cygpIHtcclxuICAgIGZvciAodmFyIHMgPSAwLCBpID0gMCwgaWwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgaWw7IGkrKykgcyArPSBhcmd1bWVudHNbaV0ubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxyXG4gICAgICAgIGZvciAodmFyIGEgPSBhcmd1bWVudHNbaV0sIGogPSAwLCBqbCA9IGEubGVuZ3RoOyBqIDwgamw7IGorKywgaysrKVxyXG4gICAgICAgICAgICByW2tdID0gYVtqXTtcclxuICAgIHJldHVybiByO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXQodikge1xyXG4gICAgcmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBfX2F3YWl0ID8gKHRoaXMudiA9IHYsIHRoaXMpIDogbmV3IF9fYXdhaXQodik7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jR2VuZXJhdG9yKHRoaXNBcmcsIF9hcmd1bWVudHMsIGdlbmVyYXRvcikge1xyXG4gICAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgIHZhciBnID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pLCBpLCBxID0gW107XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgaWYgKGdbbl0pIGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBuID09PSBcInJldHVyblwiIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgbSA9IG9bU3ltYm9sLmFzeW5jSXRlcmF0b3JdLCBpO1xyXG4gICAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlbbl0gPSBvW25dICYmIGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7IHYgPSBvW25dKHYpLCBzZXR0bGUocmVzb2x2ZSwgcmVqZWN0LCB2LmRvbmUsIHYudmFsdWUpOyB9KTsgfTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgZCwgdikgeyBQcm9taXNlLnJlc29sdmUodikudGhlbihmdW5jdGlvbih2KSB7IHJlc29sdmUoeyB2YWx1ZTogdiwgZG9uZTogZCB9KTsgfSwgcmVqZWN0KTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tYWtlVGVtcGxhdGVPYmplY3QoY29va2VkLCByYXcpIHtcclxuICAgIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XHJcbiAgICByZXR1cm4gY29va2VkO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgaW4gbW9kKSBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwobW9kLCBrKSkgcmVzdWx0W2tdID0gbW9kW2tdO1xyXG4gICAgcmVzdWx0LmRlZmF1bHQgPSBtb2Q7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xyXG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBkZWZhdWx0OiBtb2QgfTtcclxufVxyXG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJUGxhY2VtYXJrIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1wbGFjZW1hcmsnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZ2VvbWV0cnk6IGFueTtcbiAgQElucHV0KCkgcHVibGljIHByb3BlcnRpZXM6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5nZW9tZXRyeSkge1xuICAgICAgY29uc29sZS5lcnJvcignUGxhY2VtYXJrOiBnZW9tZXRyeSBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuZ2VvbWV0cnkgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdFBsYWNlbWFyayh5bWFwczogYW55LCBtYXA6IGFueSk6IElQbGFjZW1hcmsge1xuICAgIGNvbnN0IHBsYWNlbWFyayA9IG5ldyB5bWFwcy5QbGFjZW1hcmsodGhpcy5nZW9tZXRyeSwgdGhpcy5wcm9wZXJ0aWVzLCB0aGlzLm9wdGlvbnMpO1xuXG4gICAgbWFwLmdlb09iamVjdHMuYWRkKHBsYWNlbWFyayk7XG4gICAgcmV0dXJuIHBsYWNlbWFyaztcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LW11bHRpcm91dGUnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHJlZmVyZW5jZVBvaW50czogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcHVibGljIG1vZGVsOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVBvaW50cykge1xuICAgICAgY29uc29sZS5lcnJvcignTXVsdGlyb3V0ZTogcmVmZXJlbmNlUG9pbnRzIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5yZWZlcmVuY2VQb2ludHMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdE11bHRpcm91dGUoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcbiAgICBtYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMubXVsdGlSb3V0ZXIuTXVsdGlSb3V0ZShcbiAgICAgICAgeyAuLi50aGlzLm1vZGVsLCByZWZlcmVuY2VQb2ludHM6IHRoaXMucmVmZXJlbmNlUG9pbnRzIH0sIHRoaXMub3B0aW9uc1xuICAgICAgKSk7XG4gIH1cbn1cbiIsImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1nZW9vYmplY3QnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhHZW9PYmplY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZmVhdHVyZTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZlYXR1cmUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0dlb09iamVjdHM6IGZlYXR1cmUgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmZlYXR1cmUgPSB7fTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdEdlb09iamVjdCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIG1hcC5nZW9PYmplY3RzXG4gICAgICAuYWRkKG5ldyB5bWFwcy5HZW9PYmplY3QodGhpcy5mZWF0dXJlLCB0aGlzLm9wdGlvbnMpKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBpbml0U2VhcmNoQ29udHJvbCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaENvbnRyb2wgPSBuZXcgeW1hcHMuY29udHJvbC5TZWFyY2hDb250cm9sKHRoaXMucGFyYW1ldGVycyk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuc2VhcmNoUmVxdWVzdDtcblxuICAgIG1hcC5jb250cm9scy5hZGQoc2VhcmNoQ29udHJvbCk7XG4gICAgaWYgKHJlcXVlc3QpIHNlYXJjaENvbnRyb2wuc2VhcmNoKHJlcXVlc3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVlhbmRleE1hcFNlcnZpY2UgfSBmcm9tICcuL3lhbmRleC1zZXJ2aWNlLnR5cGUnO1xuXG5kZWNsYXJlIGNvbnN0IHltYXBzOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE1hcFNlcnZpY2UgaW1wbGVtZW50cyBJWWFuZGV4TWFwU2VydmljZSB7XG4gIHByaXZhdGUgX3ltYXBzJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgcHJpdmF0ZSBfc2NyaXB0WW1hcHM6IEhUTUxTY3JpcHRFbGVtZW50O1xuICBwcml2YXRlIF9hcGlLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLl9hcGlLZXkgPSB0aGlzLl9pbmplY3Rvci5nZXQoJ0FQSV9LRVknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHltYXBzIHNjcmlwdCBpZiBpdCdzIG5vdCBpbml0aWF0ZWRcbiAgICogUmV0dXJuIHltYXBzIHN1YmplY3RcbiAgICovXG4gIHB1YmxpYyBpbml0U2NyaXB0KCk6IFN1YmplY3Q8YW55PiB7XG4gICAgaWYgKCF0aGlzLl9zY3JpcHRZbWFwcykge1xuICAgICAgdGhpcy5fbG9hZFNjcmlwdCgpO1xuXG4gICAgICB0aGlzLl9zY3JpcHRZbWFwcy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHltYXBzLnJlYWR5KCgpID0+IHRoaXMuX3ltYXBzJC5uZXh0KHltYXBzKSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl95bWFwcyQ7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkU2NyaXB0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NjcmlwdFltYXBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgdGhpcy5fc2NyaXB0WW1hcHMuc3JjID0gYGh0dHBzOi8vYXBpLW1hcHMueWFuZGV4LnJ1LzIuMS8/YXBpa2V5PSR7dGhpcy5fYXBpS2V5fSZsYW5nPXJ1X1JVYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX3NjcmlwdFltYXBzKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb09iamVjdENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuaW1wb3J0IHsgWWFuZGV4TWFwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3lhbmRleC1tYXAveWFuZGV4LW1hcC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbWFwJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwibWFwLWNvbnRhaW5lclwiICNtYXBDb250YWluZXI+PC9kaXY+YCxcbiAgc3R5bGVzOiBbYC5tYXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEdldCBNYXBDb250YWluZXIgJiBjb21wb25lbnRzIGluc2lkZSBNYXBDb250YWluZXJcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIHB1YmxpYyBtYXBDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50KSBwbGFjZW1hcmtzOiBRdWVyeUxpc3Q8WWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50KSBtdWx0aXJvdXRlczogUXVlcnlMaXN0PFlhbmRleE11bHRpcm91dGVDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleEdlb09iamVjdENvbXBvbmVudCkgZ2VvT2JqZWN0czogUXVlcnlMaXN0PFlhbmRleEdlb09iamVjdENvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4U2VhcmNoQ29tcG9uZW50KSBzZWFyY2hDb250cm9sczogUXVlcnlMaXN0PFlhbmRleFNlYXJjaENvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIE1hcCBpbnB1dHNcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBjZW50ZXI6IEFycmF5PG51bWJlcj47XG4gIEBJbnB1dCgpIHB1YmxpYyB6b29tOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgcHVibGljIHN0YXRlOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueSA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgY2x1c3RlcmVyOiBhbnk7XG5cbiAgcHJpdmF0ZSBfdW5pcXVlTWFwSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF95YW5kZXhNYXBTZXJ2aWNlOiBZYW5kZXhNYXBTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nTWFwRXJyb3JzKCk7XG4gICAgdGhpcy5fc2V0VW5pcXVlTWFwSWQoKTtcblxuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuaW5pdFNjcmlwdCgpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoeW1hcHM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBtYXAgPSB0aGlzLl9jcmVhdGVNYXAoeW1hcHMpO1xuICAgICAgICB0aGlzLl9hZGRPYmplY3RzT25NYXAoeW1hcHMsIG1hcCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ01hcEVycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2VudGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdNYXA6IGNlbnRlciBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuY2VudGVyID0gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VW5pcXVlTWFwSWQoKTogdm9pZCB7XG4gICAgdGhpcy5fdW5pcXVlTWFwSWQgPSBgZiR7KH5+KE1hdGgucmFuZG9tKCkgKiAxZTgpKS50b1N0cmluZygxNil9YDtcbiAgICB0aGlzLm1hcENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLl91bmlxdWVNYXBJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVNYXAoeW1hcHM6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyB5bWFwcy5NYXAoXG4gICAgICB0aGlzLl91bmlxdWVNYXBJZCwgeyAuLi50aGlzLnN0YXRlLCB6b29tOiB0aGlzLnpvb20sIGNlbnRlcjogdGhpcy5jZW50ZXIgfSwgdGhpcy5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgeW1hcHMgZW50aXRpZXMvb2JqZWN0cyBvbiBtYXBcbiAgICogQHBhcmFtIHltYXBzXG4gICAqIEBwYXJhbSBtYXBcbiAgICovXG4gIHByaXZhdGUgX2FkZE9iamVjdHNPbk1hcCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIC8vIFBsYWNlbWFya3Mgd2l0aCBjbHVzdGVyZXJcbiAgICBjb25zdCBwbGFjZW1hcmtzID0gW107XG5cbiAgICB0aGlzLnBsYWNlbWFya3MuZm9yRWFjaCgocGxhY2VtYXJrKSA9PiB7XG4gICAgICBwbGFjZW1hcmtzLnB1c2gocGxhY2VtYXJrLmluaXRQbGFjZW1hcmsoeW1hcHMsIG1hcCkpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY2x1c3RlcmVyKSB0aGlzLl9jcmVhdGVDbHVzdGVyZXIoeW1hcHMsIG1hcCwgcGxhY2VtYXJrcyk7XG5cbiAgICAvLyBNdWx0aXJvdXRlc1xuICAgIHRoaXMubXVsdGlyb3V0ZXMuZm9yRWFjaCgobXVsdGlyb3V0ZSkgPT4ge1xuICAgICAgbXVsdGlyb3V0ZS5pbml0TXVsdGlyb3V0ZSh5bWFwcywgbWFwKTtcbiAgICB9KTtcblxuICAgIC8vIEdlb09iamVjdHNcbiAgICB0aGlzLmdlb09iamVjdHMuZm9yRWFjaCgoZ2VvT2JqZWN0KSA9PiB7XG4gICAgICBnZW9PYmplY3QuaW5pdEdlb09iamVjdCh5bWFwcywgbWFwKTtcbiAgICB9KTtcblxuICAgIC8vIFNlYXJjaENvbnRyb2xzXG4gICAgdGhpcy5zZWFyY2hDb250cm9scy5mb3JFYWNoKChzZWFyY2hDb250cm9sKSA9PiB7XG4gICAgICBzZWFyY2hDb250cm9sLmluaXRTZWFyY2hDb250cm9sKHltYXBzLCBtYXApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2x1c3RlcmVyKHltYXBzOiBhbnksIG1hcDogYW55LCBnZW9PYmplY3RzOiBBcnJheTxhbnk+KSB7XG4gICAgY29uc3QgY2x1c3RlcmVyID0gbmV3IHltYXBzLkNsdXN0ZXJlcih0aGlzLmNsdXN0ZXJlcik7XG5cbiAgICBjbHVzdGVyZXIuYWRkKGdlb09iamVjdHMpO1xuICAgIG1hcC5nZW9PYmplY3RzLmFkZChjbHVzdGVyZXIpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFlhbmRleE1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtbWFwLWNvbXBvbmVudC95YW5kZXgtbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL2NvcmUnO1xuaW1wb3J0IHsgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LW11bHRpcm91dGUtY29tcG9uZW50L3lhbmRleC1tdWx0aXJvdXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhHZW9PYmplY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LWdlb29iamVjdC1jb21wb25lbnQveWFuZGV4LWdlb29iamVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4U2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgWWFuZGV4TWFwQ29tcG9uZW50LFxuICAgIFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCxcbiAgICBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50LFxuICAgIFlhbmRleEdlb09iamVjdENvbXBvbmVudCxcbiAgICBZYW5kZXhTZWFyY2hDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgWWFuZGV4TWFwQ29tcG9uZW50LFxuICAgIFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCxcbiAgICBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50LFxuICAgIFlhbmRleEdlb09iamVjdENvbXBvbmVudCxcbiAgICBZYW5kZXhTZWFyY2hDb21wb25lbnRcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJZYW5kZXhNYXBzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoYXBpS2V5OiBzdHJpbmcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJZYW5kZXhNYXBzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogJ0FQSV9LRVknLCB1c2VWYWx1ZTogYXBpS2V5IH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOlsiQ29tcG9uZW50IiwiSW5wdXQiLCJTdWJqZWN0IiwiSW5qZWN0YWJsZSIsIkluamVjdG9yIiwidGFrZSIsIlZpZXdDaGlsZCIsIkNvbnRlbnRDaGlsZHJlbiIsIk5nTW9kdWxlIiwiQ29tbW9uTW9kdWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7SUFBQTs7Ozs7Ozs7Ozs7Ozs7QUFjQSxJQWVPLElBQUksUUFBUSxHQUFHO1FBQ2xCLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLGtCQUFrQixDQUFDO1lBQzNDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFB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

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular8-yandex-maps",["exports","@angular/core","rxjs","rxjs/operators","@angular/common"],e):e(t["angular8-yandex-maps"]={},t.ng.core,t.rxjs,t.rxjs.operators,t.ng.common)}(this,function(t,r,e,o,n){"use strict";var i=function(){function t(t){this._injector=t,this._isMapInited$=new e.Subject,this._apiKey=this._injector.get("API_KEY")}return t.prototype.initMap=function(){var t=this;return this._isScriptInited||(this._isScriptInited=!0,this._loadScript()),this._scriptYmaps.onload=function(){ymaps.ready(function(){t._isMapInited$.next(!0)})},this._isMapInited$},t.prototype._loadScript=function(){this._scriptYmaps=document.createElement("script"),this._scriptYmaps.src="https://api-maps.yandex.ru/2.1/?apikey="+this._apiKey+"&lang=ru_RU",document.body.appendChild(this._scriptYmaps)},t.prototype.createMap=function(t,e,r){this._map=new ymaps.Map(t,e,r)},t.prototype.addPlacemark=function(t,e,r){this._map.geoObjects.add(new ymaps.Placemark(t,e,r))},t.prototype.addMultiroute=function(t,e){this._map.geoObjects.add(new ymaps.multiRouter.MultiRoute(t,e))},t.prototype.addGeoObject=function(t,e){this._map.geoObjects.add(new ymaps.GeoObject(t,e))},t.prototype.addSearchControl=function(t,e){var r=new ymaps.control.SearchControl(e);this._map.controls.add(r),t&&r.search(t)},t.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:r.Injector}]},t.ngInjectableDef=r.defineInjectable({factory:function(){return new t(r.inject(r.INJECTOR))},token:t,providedIn:"root"}),t}(),a=function(){function t(){}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype._logErrors=function(){this.geometry||(console.error("Placemark: geometry input is required."),this.geometry=[])},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-placemark",template:"",styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={geometry:[{type:r.Input}],properties:[{type:r.Input}],options:[{type:r.Input}]},t}(),s=function(){function t(){}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype._logErrors=function(){this.referencePoints||(console.error("Multiroute: referencePoints input is required."),this.referencePoints=[])},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-multiroute",template:"",styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={referencePoints:[{type:r.Input}],model:[{type:r.Input}],options:[{type:r.Input}]},t}(),p=function(){function t(){}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype._logErrors=function(){this.feature||(console.error("GeoObjects: feature input is required."),this.feature={})},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-geoobject",template:"",styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={feature:[{type:r.Input}],options:[{type:r.Input}]},t}(),c=function(){function t(){}return t.prototype.ngOnInit=function(){},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-search",template:"",styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={searchRequest:[{type:r.Input}],parameters:[{type:r.Input}]},t}(),u=function(){function t(t){this._yandexMapService=t,this.zoom=10,this.state={},this.options={}}return t.prototype.ngOnInit=function(){this._logErrors(),this._setUniqueMapIdOfMap(),this._createMapWithObjects()},t.prototype._logErrors=function(){this.center||(console.error("Map: center input is required."),this.center=[])},t.prototype._setUniqueMapIdOfMap=function(){this._uniqueMapId="f"+(~~(1e8*Math.random())).toString(16),this.mapContainer.nativeElement.setAttribute("id",this._uniqueMapId)},t.prototype._createMapWithObjects=function(){var t=this;this._yandexMapService.initMap().pipe(o.take(1)).subscribe(function(){t._combineInputs(),t._yandexMapService.createMap(t._uniqueMapId,t.state,t.options),t._addObjectsOnMap()})},t.prototype._combineInputs=function(){this.state.zoom=this.zoom,this.state.center=this.center,this.multiroutes.forEach(function(t){t.model||(t.model={}),t.model.referencePoints=t.referencePoints})},t.prototype._addObjectsOnMap=function(){var e=this;this.placemarks.forEach(function(t){e._addPlacemark(t)}),this.multiroutes.forEach(function(t){e._addMultiroute(t)}),this.geoObjects.forEach(function(t){e._addGeoObject(t)}),this.searchControl.first&&this._addSearchControl(this.searchControl.first)},t.prototype._addPlacemark=function(t){this._yandexMapService.addPlacemark(t.geometry,t.properties,t.options)},t.prototype._addMultiroute=function(t){this._yandexMapService.addMultiroute(t.model,t.options)},t.prototype._addGeoObject=function(t){this._yandexMapService.addGeoObject(t.feature,t.options)},t.prototype._addSearchControl=function(t){this._yandexMapService.addSearchControl(t.searchRequest,t.parameters)},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-map",template:'<div class="map-container" #mapContainer></div>',styles:[".map-container{width:100%;height:100%}"]}]}],t.ctorParameters=function(){return[{type:i}]},t.propDecorators={mapContainer:[{type:r.ViewChild,args:["mapContainer"]}],placemarks:[{type:r.ContentChildren,args:[a]}],multiroutes:[{type:r.ContentChildren,args:[s]}],geoObjects:[{type:r.ContentChildren,args:[p]}],searchControl:[{type:r.ContentChildren,args:[c]}],center:[{type:r.Input}],zoom:[{type:r.Input}],state:[{type:r.Input}],options:[{type:r.Input}]},t}(),d=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:"API_KEY",useValue:t}]}},e.decorators=[{type:r.NgModule,args:[{declarations:[u,a,s,p,c],imports:[n.CommonModule],exports:[u,a,s,p,c]}]}],e}();t.AngularYandexMapsModule=d,t.ɵd=p,t.ɵa=u,t.ɵc=s,t.ɵb=a,t.ɵe=c,t.ɵf=i,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("rxjs"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("angular8-yandex-maps",["exports","@angular/core","rxjs","rxjs/operators","@angular/common"],e):e(t["angular8-yandex-maps"]={},t.ng.core,t.rxjs,t.rxjs.operators,t.ng.common)}(this,function(t,r,e,n,o){"use strict";var i=function(){return(i=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},s=function(){function t(){}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype._logErrors=function(){this.geometry||(console.error("Placemark: geometry input is required."),this.geometry=[])},t.prototype.initPlacemark=function(t,e){var r=new t.Placemark(this.geometry,this.properties,this.options);return e.geoObjects.add(r),r},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-placemark",template:"",styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={geometry:[{type:r.Input}],properties:[{type:r.Input}],options:[{type:r.Input}]},t}(),a=function(){function t(){}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype._logErrors=function(){this.referencePoints||(console.error("Multiroute: referencePoints input is required."),this.referencePoints=[])},t.prototype.initMultiroute=function(t,e){e.geoObjects.add(new t.multiRouter.MultiRoute(i({},this.model,{referencePoints:this.referencePoints}),this.options))},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-multiroute",template:"",styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={referencePoints:[{type:r.Input}],model:[{type:r.Input}],options:[{type:r.Input}]},t}(),p=function(){function t(){}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype._logErrors=function(){this.feature||(console.error("GeoObjects: feature input is required."),this.feature={})},t.prototype.initGeoObject=function(t,e){e.geoObjects.add(new t.GeoObject(this.feature,this.options))},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-geoobject",template:"",styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={feature:[{type:r.Input}],options:[{type:r.Input}]},t}(),c=function(){function t(){}return t.prototype.ngOnInit=function(){},t.prototype.initSearchControl=function(t,e){var r=new t.control.SearchControl(this.parameters),n=this.searchRequest;e.controls.add(r),n&&r.search(n)},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-search",template:"",styles:[""]}]}],t.ctorParameters=function(){return[]},t.propDecorators={searchRequest:[{type:r.Input}],parameters:[{type:r.Input}]},t}(),u=function(){function t(t){this._injector=t,this._ymaps$=new e.Subject,this._apiKey=this._injector.get("API_KEY")}return t.prototype.initScript=function(){var t=this;return this._scriptYmaps||(this._loadScript(),this._scriptYmaps.onload=function(){ymaps.ready(function(){return t._ymaps$.next(ymaps)})}),this._ymaps$},t.prototype._loadScript=function(){this._scriptYmaps=document.createElement("script"),this._scriptYmaps.src="https://api-maps.yandex.ru/2.1/?apikey="+this._apiKey+"&lang=ru_RU",document.body.appendChild(this._scriptYmaps)},t.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],t.ctorParameters=function(){return[{type:r.Injector}]},t.ngInjectableDef=r.defineInjectable({factory:function(){return new t(r.inject(r.INJECTOR))},token:t,providedIn:"root"}),t}(),l=function(){function t(t){this._yandexMapService=t,this.zoom=10,this.state={},this.options={}}return t.prototype.ngOnInit=function(){var r=this;this._logMapErrors(),this._setUniqueMapId(),this._yandexMapService.initScript().pipe(n.take(1)).subscribe(function(t){var e=r._createMap(t);r._addObjectsOnMap(t,e)})},t.prototype._logMapErrors=function(){this.center||(console.error("Map: center input is required."),this.center=[])},t.prototype._setUniqueMapId=function(){this._uniqueMapId="f"+(~~(1e8*Math.random())).toString(16),this.mapContainer.nativeElement.setAttribute("id",this._uniqueMapId)},t.prototype._createMap=function(t){return new t.Map(this._uniqueMapId,i({},this.state,{zoom:this.zoom,center:this.center}),this.options)},t.prototype._addObjectsOnMap=function(e,r){var n=[];this.placemarks.forEach(function(t){n.push(t.initPlacemark(e,r))}),this.clusterer&&this._createClusterer(e,r,n),this.multiroutes.forEach(function(t){t.initMultiroute(e,r)}),this.geoObjects.forEach(function(t){t.initGeoObject(e,r)}),this.searchControls.forEach(function(t){t.initSearchControl(e,r)})},t.prototype._createClusterer=function(t,e,r){var n=new t.Clusterer(this.clusterer);n.add(r),e.geoObjects.add(n)},t.decorators=[{type:r.Component,args:[{selector:"angular-yandex-map",template:'<div class="map-container" #mapContainer></div>',styles:[".map-container{width:100%;height:100%}"]}]}],t.ctorParameters=function(){return[{type:u}]},t.propDecorators={mapContainer:[{type:r.ViewChild,args:["mapContainer"]}],placemarks:[{type:r.ContentChildren,args:[s]}],multiroutes:[{type:r.ContentChildren,args:[a]}],geoObjects:[{type:r.ContentChildren,args:[p]}],searchControls:[{type:r.ContentChildren,args:[c]}],center:[{type:r.Input}],zoom:[{type:r.Input}],state:[{type:r.Input}],options:[{type:r.Input}],clusterer:[{type:r.Input}]},t}(),d=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[{provide:"API_KEY",useValue:t}]}},e.decorators=[{type:r.NgModule,args:[{declarations:[l,s,a,p,c],imports:[o.CommonModule],exports:[l,s,a,p,c]}]}],e}();t.AngularYandexMapsModule=d,t.ɵd=p,t.ɵa=l,t.ɵc=a,t.ɵb=s,t.ɵe=c,t.ɵf=u,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=angular8-yandex-maps.umd.min.js.map

@@ -12,3 +12,3 @@ /**

export { AngularYandexMapsModule } from './public_api';
export { YandexGeoobjectComponent as ɵd } from './lib/components/yandex-geoobject-component/yandex-geoobject.component';
export { YandexGeoObjectComponent as ɵd } from './lib/components/yandex-geoobject-component/yandex-geoobject.component';
export { YandexMapComponent as ɵa } from './lib/components/yandex-map-component/yandex-map.component';

@@ -20,2 +20,2 @@ export { YandexMultirouteComponent as ɵc } from './lib/components/yandex-multiroute-component/yandex-multiroute.component';

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImFuZ3VsYXI4LXlhbmRleC1tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxBQUpBOztHQUVHO3dDQUVXLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtZYW5kZXhHZW9vYmplY3RDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmV4cG9ydCB7WWFuZGV4TWFwQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy95YW5kZXgtbWFwLWNvbXBvbmVudC95YW5kZXgtbWFwLmNvbXBvbmVudCc7XG5leHBvcnQge1lhbmRleE11bHRpcm91dGVDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmV4cG9ydCB7WWFuZGV4U2VhcmNoQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy95YW5kZXgtc2VhcmNoLWNvbXBvbmVudC95YW5kZXgtc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQge1lhbmRleE1hcFNlcnZpY2UgYXMgybVmfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZSc7Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImFuZ3VsYXI4LXlhbmRleC1tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxBQUpBOztHQUVHO3dDQUVXLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtZYW5kZXhHZW9PYmplY3RDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmV4cG9ydCB7WWFuZGV4TWFwQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy95YW5kZXgtbWFwLWNvbXBvbmVudC95YW5kZXgtbWFwLmNvbXBvbmVudCc7XG5leHBvcnQge1lhbmRleE11bHRpcm91dGVDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmV4cG9ydCB7WWFuZGV4U2VhcmNoQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy95YW5kZXgtc2VhcmNoLWNvbXBvbmVudC95YW5kZXgtc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQge1lhbmRleE1hcFNlcnZpY2UgYXMgybVmfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZSc7Il19

@@ -10,3 +10,3 @@ /**

import { YandexMultirouteComponent } from './components/yandex-multiroute-component/yandex-multiroute.component';
import { YandexGeoobjectComponent } from './components/yandex-geoobject-component/yandex-geoobject.component';
import { YandexGeoObjectComponent } from './components/yandex-geoobject-component/yandex-geoobject.component';
import { YandexSearchComponent } from './components/yandex-search-component/yandex-search.component';

@@ -33,3 +33,3 @@ export class AngularYandexMapsModule {

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -44,3 +44,3 @@ ],

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -51,2 +51,2 @@ ]

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci15YW5kZXgtbWFwcy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLXlhbmRleC1tYXBzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDOUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDakgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFzQnJHLE1BQU07Ozs7O0lBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFjO1FBQzNCLE9BQU87WUFDTCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUN6QztTQUNGLENBQUM7S0FDSDs7O1lBNUJGLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osa0JBQWtCO29CQUNsQix3QkFBd0I7b0JBQ3hCLHlCQUF5QjtvQkFDekIsd0JBQXdCO29CQUN4QixxQkFBcUI7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix3QkFBd0I7b0JBQ3hCLHFCQUFxQjtpQkFDdEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgWWFuZGV4TWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvY29yZSc7XG5pbXBvcnQgeyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXBsYWNlbWFyay1jb21wb25lbnQveWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb29iamVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQW5ndWxhcllhbmRleE1hcHNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChhcGlLZXk6IHN0cmluZyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhcllhbmRleE1hcHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiAnQVBJX0tFWScsIHVzZVZhbHVlOiBhcGlLZXkgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci15YW5kZXgtbWFwcy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLXlhbmRleC1tYXBzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDOUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDakgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFzQnJHLE1BQU07Ozs7O0lBQ0osTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFjO1FBQzNCLE9BQU87WUFDTCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUN6QztTQUNGLENBQUM7S0FDSDs7O1lBNUJGLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osa0JBQWtCO29CQUNsQix3QkFBd0I7b0JBQ3hCLHlCQUF5QjtvQkFDekIsd0JBQXdCO29CQUN4QixxQkFBcUI7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix3QkFBd0I7b0JBQ3hCLHFCQUFxQjtpQkFDdEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgWWFuZGV4TWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvY29yZSc7XG5pbXBvcnQgeyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXBsYWNlbWFyay1jb21wb25lbnQveWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb09iamVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2VvT2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2VvT2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQW5ndWxhcllhbmRleE1hcHNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChhcGlLZXk6IHN0cmluZyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhcllhbmRleE1hcHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiAnQVBJX0tFWScsIHVzZVZhbHVlOiBhcGlLZXkgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==

@@ -6,3 +6,3 @@ /**

import { Component, Input } from '@angular/core';
export class YandexGeoobjectComponent {
export class YandexGeoObjectComponent {
constructor() { }

@@ -24,4 +24,13 @@ /**

}
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
initGeoObject(ymaps, map) {
map.geoObjects
.add(new ymaps.GeoObject(this.feature, this.options));
}
}
YandexGeoobjectComponent.decorators = [
YandexGeoObjectComponent.decorators = [
{ type: Component, args: [{

@@ -34,4 +43,4 @@ selector: 'angular-yandex-geoobject',

/** @nocollapse */
YandexGeoobjectComponent.ctorParameters = () => [];
YandexGeoobjectComponent.propDecorators = {
YandexGeoObjectComponent.ctorParameters = () => [];
YandexGeoObjectComponent.propDecorators = {
feature: [{ type: Input }],

@@ -42,7 +51,7 @@ options: [{ type: Input }]

/** @type {?} */
YandexGeoobjectComponent.prototype.feature;
YandexGeoObjectComponent.prototype.feature;
/** @type {?} */
YandexGeoobjectComponent.prototype.options;
YandexGeoObjectComponent.prototype.options;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LWdlb29iamVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RCxNQUFNO0lBSUosaUJBQWdCOzs7O0lBRVQsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWixVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztTQUNuQjs7OztZQW5CSixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ2I7Ozs7O3NCQUVFLEtBQUs7c0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1nZW9vYmplY3QnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhHZW9vYmplY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZmVhdHVyZTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZlYXR1cmUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0dlb09iamVjdHM6IGZlYXR1cmUgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmZlYXR1cmUgPSB7fTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LWdlb29iamVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RCxNQUFNO0lBSUosaUJBQWdCOzs7O0lBRVQsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWixVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztTQUNuQjs7Ozs7OztJQUdJLGFBQWEsQ0FBQyxLQUFVLEVBQUUsR0FBUTtRQUN2QyxHQUFHLENBQUMsVUFBVTthQUNYLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzs7OztZQXhCM0QsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFFBQVEsRUFBRSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUNiOzs7OztzQkFFRSxLQUFLO3NCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtZ2Vvb2JqZWN0JyxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4R2VvT2JqZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGZlYXR1cmU6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5mZWF0dXJlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdHZW9PYmplY3RzOiBmZWF0dXJlIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5mZWF0dXJlID0ge307XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRHZW9PYmplY3QoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcbiAgICBtYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMuR2VvT2JqZWN0KHRoaXMuZmVhdHVyZSwgdGhpcy5vcHRpb25zKSk7XG4gIH1cbn1cbiJdfQ==

@@ -6,8 +6,8 @@ /**

import { Component, Input, ViewChild, ElementRef, ContentChildren, QueryList } from '@angular/core';
import { YandexMapService } from '../../services/yandex-map/yandex-map.service';
import { take } from 'rxjs/operators';
import { YandexPlacemarkComponent } from '../yandex-placemark-component/yandex-placemark.component';
import { YandexMultirouteComponent } from '../yandex-multiroute-component/yandex-multiroute.component';
import { YandexGeoobjectComponent } from '../yandex-geoobject-component/yandex-geoobject.component';
import { YandexGeoObjectComponent } from '../yandex-geoobject-component/yandex-geoobject.component';
import { YandexSearchComponent } from '../yandex-search-component/yandex-search.component';
import { YandexMapService } from '../../services/yandex-map/yandex-map.service';
import { take } from 'rxjs/operators';
export class YandexMapComponent {

@@ -27,5 +27,11 @@ /**

ngOnInit() {
this._logErrors();
this._setUniqueMapIdOfMap();
this._createMapWithObjects();
this._logMapErrors();
this._setUniqueMapId();
this._yandexMapService.initScript()
.pipe(take(1))
.subscribe((ymaps) => {
/** @type {?} */
const map = this._createMap(ymaps);
this._addObjectsOnMap(ymaps, map);
});
}

@@ -35,3 +41,3 @@ /**

*/
_logErrors() {
_logMapErrors() {
if (!this.center) {

@@ -45,3 +51,3 @@ console.error('Map: center input is required.');

*/
_setUniqueMapIdOfMap() {
_setUniqueMapId() {
this._uniqueMapId = `f${(~~(Math.random() * 1e8)).toString(16)}`;

@@ -51,73 +57,47 @@ this.mapContainer.nativeElement.setAttribute('id', this._uniqueMapId);

/**
* @param {?} ymaps
* @return {?}
*/
_createMapWithObjects() {
this._yandexMapService.initMap()
.pipe(take(1))
.subscribe(() => {
this._combineInputs();
this._yandexMapService.createMap(this._uniqueMapId, this.state, this.options);
this._addObjectsOnMap();
});
_createMap(ymaps) {
return new ymaps.Map(this._uniqueMapId, Object.assign({}, this.state, { zoom: this.zoom, center: this.center }), this.options);
}
/**
* Combine separated inputs in objects required for API
* Add ymaps entities/objects on map
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
_combineInputs() {
// Map
this.state.zoom = this.zoom;
this.state.center = this.center;
// Multiroute
this.multiroutes.forEach((multiroute) => {
if (!multiroute.model)
multiroute.model = {};
multiroute.model.referencePoints = multiroute.referencePoints;
});
}
/**
* @return {?}
*/
_addObjectsOnMap() {
_addObjectsOnMap(ymaps, map) {
/** @type {?} */
const placemarks = [];
this.placemarks.forEach((placemark) => {
this._addPlacemark(placemark);
placemarks.push(placemark.initPlacemark(ymaps, map));
});
if (this.clusterer)
this._createClusterer(ymaps, map, placemarks);
// Multiroutes
this.multiroutes.forEach((multiroute) => {
this._addMultiroute(multiroute);
multiroute.initMultiroute(ymaps, map);
});
// GeoObjects
this.geoObjects.forEach((geoObject) => {
this._addGeoObject(geoObject);
geoObject.initGeoObject(ymaps, map);
});
if (this.searchControl.first)
this._addSearchControl(this.searchControl.first);
// SearchControls
this.searchControls.forEach((searchControl) => {
searchControl.initSearchControl(ymaps, map);
});
}
/**
* Add objects, controls on map
* @param {?} placemark
* @param {?} ymaps
* @param {?} map
* @param {?} geoObjects
* @return {?}
*/
_addPlacemark(placemark) {
this._yandexMapService.addPlacemark(placemark.geometry, placemark.properties, placemark.options);
_createClusterer(ymaps, map, geoObjects) {
/** @type {?} */
const clusterer = new ymaps.Clusterer(this.clusterer);
clusterer.add(geoObjects);
map.geoObjects.add(clusterer);
}
/**
* @param {?} multiroute
* @return {?}
*/
_addMultiroute(multiroute) {
this._yandexMapService.addMultiroute(multiroute.model, multiroute.options);
}
/**
* @param {?} geoObject
* @return {?}
*/
_addGeoObject(geoObject) {
this._yandexMapService.addGeoObject(geoObject.feature, geoObject.options);
}
/**
* @param {?} search
* @return {?}
*/
_addSearchControl(search) {
this._yandexMapService.addSearchControl(search.searchRequest, search.parameters);
}
}

@@ -139,11 +119,15 @@ YandexMapComponent.decorators = [

multiroutes: [{ type: ContentChildren, args: [YandexMultirouteComponent,] }],
geoObjects: [{ type: ContentChildren, args: [YandexGeoobjectComponent,] }],
searchControl: [{ type: ContentChildren, args: [YandexSearchComponent,] }],
geoObjects: [{ type: ContentChildren, args: [YandexGeoObjectComponent,] }],
searchControls: [{ type: ContentChildren, args: [YandexSearchComponent,] }],
center: [{ type: Input }],
zoom: [{ type: Input }],
state: [{ type: Input }],
options: [{ type: Input }]
options: [{ type: Input }],
clusterer: [{ type: Input }]
};
if (false) {
/** @type {?} */
/**
* Get MapContainer & components inside MapContainer
* @type {?}
*/
YandexMapComponent.prototype.mapContainer;

@@ -157,4 +141,7 @@ /** @type {?} */

/** @type {?} */
YandexMapComponent.prototype.searchControl;
/** @type {?} */
YandexMapComponent.prototype.searchControls;
/**
* Map inputs
* @type {?}
*/
YandexMapComponent.prototype.center;

@@ -168,2 +155,4 @@ /** @type {?} */

/** @type {?} */
YandexMapComponent.prototype.clusterer;
/** @type {?} */
YandexMapComponent.prototype._uniqueMapId;

@@ -174,2 +163,2 @@ /** @type {?} */

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBTzNGLE1BQU07Ozs7SUFjSixZQUFvQixpQkFBbUM7UUFBbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtvQkFOeEIsRUFBRTtxQkFDSixFQUFFO3VCQUNBLEVBQUU7S0FJMkI7Ozs7SUFFckQsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQzs7Ozs7SUFHdkIsVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7WUFDaEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7U0FDbEI7Ozs7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QUFvQjtnQkFDOUIsUUFBUSxFQUFFLGlEQUFpRDtnQkFDM0QsTUFBTSxFQUFFLENBQUMsd0NBQXdDLENBQUM7YUFDbkQ7Ozs7WUFYUSxnQkFBZ0I7OzsyQkFhdEIsU0FBUyxTQUFDLGNBQWM7eUJBQ3hCLGVBQWUsU0FBQyx3QkFBd0I7MEJBQ3hDLGVBQWUsU0FBQyx5QkFBeUI7eUJBQ3pDLGVBQWUsU0FBQyx3QkFBd0I7NEJBQ3hDLGVBQWUsU0FBQyxxQkFBcUI7cUJBRXJDLEtBQUs7bUJBQ0wsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFlhbmRleE1hcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50IH0gZnJvbSAnLi4veWFuZGV4LXBsYWNlbWFyay1jb21wb25lbnQveWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4veWFuZGV4LWdlb29iamVjdC1jb21wb25lbnQveWFuZGV4LWdlb29iamVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4U2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4veWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1tYXAnLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJtYXAtY29udGFpbmVyXCIgI21hcENvbnRhaW5lcj48L2Rpdj5gLFxuICBzdHlsZXM6IFtgLm1hcC1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX1gXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdtYXBDb250YWluZXInKSBwdWJsaWMgbWFwQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCkgcGxhY2VtYXJrczogUXVlcnlMaXN0PFlhbmRleFBsYWNlbWFya0NvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCkgbXVsdGlyb3V0ZXM6IFF1ZXJ5TGlzdDxZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhHZW9vYmplY3RDb21wb25lbnQpIGdlb09iamVjdHM6IFF1ZXJ5TGlzdDxZYW5kZXhHZW9vYmplY3RDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleFNlYXJjaENvbXBvbmVudCkgc2VhcmNoQ29udHJvbDogUXVlcnlMaXN0PFlhbmRleFNlYXJjaENvbXBvbmVudD47XG5cbiAgQElucHV0KCkgcHVibGljIGNlbnRlcjogQXJyYXk8bnVtYmVyPjtcbiAgQElucHV0KCkgcHVibGljIHpvb206IG51bWJlciA9IDEwO1xuICBASW5wdXQoKSBwdWJsaWMgc3RhdGU6IGFueSA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55ID0ge307XG5cbiAgcHJpdmF0ZSBfdW5pcXVlTWFwSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF95YW5kZXhNYXBTZXJ2aWNlOiBZYW5kZXhNYXBTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG5cbiAgICB0aGlzLl9zZXRVbmlxdWVNYXBJZE9mTWFwKCk7XG4gICAgdGhpcy5fY3JlYXRlTWFwV2l0aE9iamVjdHMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2VudGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdNYXA6IGNlbnRlciBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuY2VudGVyID0gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VW5pcXVlTWFwSWRPZk1hcCgpOiB2b2lkIHtcbiAgICB0aGlzLl91bmlxdWVNYXBJZCA9IGBmJHsofn4oTWF0aC5yYW5kb20oKSAqIDFlOCkpLnRvU3RyaW5nKDE2KX1gO1xuICAgIHRoaXMubWFwQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsIHRoaXMuX3VuaXF1ZU1hcElkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU1hcFdpdGhPYmplY3RzKCk6IHZvaWQge1xuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuaW5pdE1hcCgpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NvbWJpbmVJbnB1dHMoKTtcblxuICAgICAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmNyZWF0ZU1hcCh0aGlzLl91bmlxdWVNYXBJZCwgdGhpcy5zdGF0ZSwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgdGhpcy5fYWRkT2JqZWN0c09uTWFwKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21iaW5lIHNlcGFyYXRlZCBpbnB1dHMgaW4gb2JqZWN0cyByZXF1aXJlZCBmb3IgQVBJXG4gICAqL1xuICBwcml2YXRlIF9jb21iaW5lSW5wdXRzKCk6IHZvaWQge1xuICAgIC8vIE1hcFxuICAgIHRoaXMuc3RhdGUuem9vbSA9IHRoaXMuem9vbTtcbiAgICB0aGlzLnN0YXRlLmNlbnRlciA9IHRoaXMuY2VudGVyO1xuXG4gICAgLy8gTXVsdGlyb3V0ZVxuICAgIHRoaXMubXVsdGlyb3V0ZXMuZm9yRWFjaCgobXVsdGlyb3V0ZSkgPT4ge1xuICAgICAgaWYgKCFtdWx0aXJvdXRlLm1vZGVsKSBtdWx0aXJvdXRlLm1vZGVsID0ge307XG4gICAgICBtdWx0aXJvdXRlLm1vZGVsLnJlZmVyZW5jZVBvaW50cyA9IG11bHRpcm91dGUucmVmZXJlbmNlUG9pbnRzO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkT2JqZWN0c09uTWFwKCk6IHZvaWQge1xuICAgIHRoaXMucGxhY2VtYXJrcy5mb3JFYWNoKChwbGFjZW1hcmspID0+IHtcbiAgICAgIHRoaXMuX2FkZFBsYWNlbWFyayhwbGFjZW1hcmspO1xuICAgIH0pO1xuXG4gICAgdGhpcy5tdWx0aXJvdXRlcy5mb3JFYWNoKChtdWx0aXJvdXRlKSA9PiB7XG4gICAgICB0aGlzLl9hZGRNdWx0aXJvdXRlKG11bHRpcm91dGUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5nZW9PYmplY3RzLmZvckVhY2goKGdlb09iamVjdCkgPT4ge1xuICAgICAgdGhpcy5fYWRkR2VvT2JqZWN0KGdlb09iamVjdCk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5zZWFyY2hDb250cm9sLmZpcnN0KSB0aGlzLl9hZGRTZWFyY2hDb250cm9sKHRoaXMuc2VhcmNoQ29udHJvbC5maXJzdCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG9iamVjdHMsIGNvbnRyb2xzIG9uIG1hcFxuICAgKi9cbiAgcHJpdmF0ZSBfYWRkUGxhY2VtYXJrKHBsYWNlbWFyazogWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5hZGRQbGFjZW1hcmsocGxhY2VtYXJrLmdlb21ldHJ5LCBwbGFjZW1hcmsucHJvcGVydGllcywgcGxhY2VtYXJrLm9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkTXVsdGlyb3V0ZShtdWx0aXJvdXRlOiBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5hZGRNdWx0aXJvdXRlKG11bHRpcm91dGUubW9kZWwsIG11bHRpcm91dGUub3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRHZW9PYmplY3QoZ2VvT2JqZWN0OiBZYW5kZXhHZW9vYmplY3RDb21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmFkZEdlb09iamVjdChnZW9PYmplY3QuZmVhdHVyZSwgZ2VvT2JqZWN0Lm9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkU2VhcmNoQ29udHJvbChzZWFyY2g6IFlhbmRleFNlYXJjaENvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuYWRkU2VhcmNoQ29udHJvbChzZWFyY2guc2VhcmNoUmVxdWVzdCwgc2VhcmNoLnBhcmFtZXRlcnMpO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdkcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFM0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFaEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3RDLE1BQU07Ozs7SUFxQkosWUFBb0IsaUJBQW1DO1FBQW5DLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7b0JBUHhCLEVBQUU7cUJBQ0osRUFBRTt1QkFDQSxFQUFFO0tBSzJCOzs7O0lBRXJELFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUU7YUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFOztZQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lB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QUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50IH0gZnJvbSAnLi4veWFuZGV4LXBsYWNlbWFyay1jb21wb25lbnQveWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4R2VvT2JqZWN0Q29tcG9uZW50IH0gZnJvbSAnLi4veWFuZGV4LWdlb29iamVjdC1jb21wb25lbnQveWFuZGV4LWdlb29iamVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4U2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4veWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBZYW5kZXhNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMveWFuZGV4LW1hcC95YW5kZXgtbWFwLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1tYXAnLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJtYXAtY29udGFpbmVyXCIgI21hcENvbnRhaW5lcj48L2Rpdj5gLFxuICBzdHlsZXM6IFtgLm1hcC1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX1gXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogR2V0IE1hcENvbnRhaW5lciAmIGNvbXBvbmVudHMgaW5zaWRlIE1hcENvbnRhaW5lclxuICAgKi9cbiAgQFZpZXdDaGlsZCgnbWFwQ29udGFpbmVyJykgcHVibGljIG1hcENvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQpIHBsYWNlbWFya3M6IFF1ZXJ5TGlzdDxZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleE11bHRpcm91dGVDb21wb25lbnQpIG11bHRpcm91dGVzOiBRdWVyeUxpc3Q8WWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4R2VvT2JqZWN0Q29tcG9uZW50KSBnZW9PYmplY3RzOiBRdWVyeUxpc3Q8WWFuZGV4R2VvT2JqZWN0Q29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhTZWFyY2hDb21wb25lbnQpIHNlYXJjaENvbnRyb2xzOiBRdWVyeUxpc3Q8WWFuZGV4U2VhcmNoQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogTWFwIGlucHV0c1xuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGNlbnRlcjogQXJyYXk8bnVtYmVyPjtcbiAgQElucHV0KCkgcHVibGljIHpvb206IG51bWJlciA9IDEwO1xuICBASW5wdXQoKSBwdWJsaWMgc3RhdGU6IGFueSA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55ID0ge307XG4gIEBJbnB1dCgpIHB1YmxpYyBjbHVzdGVyZXI6IGFueTtcblxuICBwcml2YXRlIF91bmlxdWVNYXBJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3lhbmRleE1hcFNlcnZpY2U6IFlhbmRleE1hcFNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dNYXBFcnJvcnMoKTtcbiAgICB0aGlzLl9zZXRVbmlxdWVNYXBJZCgpO1xuXG4gICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5pbml0U2NyaXB0KClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCh5bWFwczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcCA9IHRoaXMuX2NyZWF0ZU1hcCh5bWFwcyk7XG4gICAgICAgIHRoaXMuX2FkZE9iamVjdHNPbk1hcCh5bWFwcywgbWFwKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nTWFwRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jZW50ZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ01hcDogY2VudGVyIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5jZW50ZXIgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRVbmlxdWVNYXBJZCgpOiB2b2lkIHtcbiAgICB0aGlzLl91bmlxdWVNYXBJZCA9IGBmJHsofn4oTWF0aC5yYW5kb20oKSAqIDFlOCkpLnRvU3RyaW5nKDE2KX1gO1xuICAgIHRoaXMubWFwQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdpZCcsIHRoaXMuX3VuaXF1ZU1hcElkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU1hcCh5bWFwczogYW55KTogYW55IHtcbiAgICByZXR1cm4gbmV3IHltYXBzLk1hcChcbiAgICAgIHRoaXMuX3VuaXF1ZU1hcElkLCB7IC4uLnRoaXMuc3RhdGUsIHpvb206IHRoaXMuem9vbSwgY2VudGVyOiB0aGlzLmNlbnRlciB9LCB0aGlzLm9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCB5bWFwcyBlbnRpdGllcy9vYmplY3RzIG9uIG1hcFxuICAgKiBAcGFyYW0geW1hcHNcbiAgICogQHBhcmFtIG1hcFxuICAgKi9cbiAgcHJpdmF0ZSBfYWRkT2JqZWN0c09uTWFwKHltYXBzOiBhbnksIG1hcDogYW55KTogdm9pZCB7XG4gICAgLy8gUGxhY2VtYXJrcyB3aXRoIGNsdXN0ZXJlclxuICAgIGNvbnN0IHBsYWNlbWFya3MgPSBbXTtcblxuICAgIHRoaXMucGxhY2VtYXJrcy5mb3JFYWNoKChwbGFjZW1hcmspID0+IHtcbiAgICAgIHBsYWNlbWFya3MucHVzaChwbGFjZW1hcmsuaW5pdFBsYWNlbWFyayh5bWFwcywgbWFwKSk7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5jbHVzdGVyZXIpIHRoaXMuX2NyZWF0ZUNsdXN0ZXJlcih5bWFwcywgbWFwLCBwbGFjZW1hcmtzKTtcblxuICAgIC8vIE11bHRpcm91dGVzXG4gICAgdGhpcy5tdWx0aXJvdXRlcy5mb3JFYWNoKChtdWx0aXJvdXRlKSA9PiB7XG4gICAgICBtdWx0aXJvdXRlLmluaXRNdWx0aXJvdXRlKHltYXBzLCBtYXApO1xuICAgIH0pO1xuXG4gICAgLy8gR2VvT2JqZWN0c1xuICAgIHRoaXMuZ2VvT2JqZWN0cy5mb3JFYWNoKChnZW9PYmplY3QpID0+IHtcbiAgICAgIGdlb09iamVjdC5pbml0R2VvT2JqZWN0KHltYXBzLCBtYXApO1xuICAgIH0pO1xuXG4gICAgLy8gU2VhcmNoQ29udHJvbHNcbiAgICB0aGlzLnNlYXJjaENvbnRyb2xzLmZvckVhY2goKHNlYXJjaENvbnRyb2wpID0+IHtcbiAgICAgIHNlYXJjaENvbnRyb2wuaW5pdFNlYXJjaENvbnRyb2woeW1hcHMsIG1hcCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVDbHVzdGVyZXIoeW1hcHM6IGFueSwgbWFwOiBhbnksIGdlb09iamVjdHM6IEFycmF5PGFueT4pIHtcbiAgICBjb25zdCBjbHVzdGVyZXIgPSBuZXcgeW1hcHMuQ2x1c3RlcmVyKHRoaXMuY2x1c3RlcmVyKTtcblxuICAgIGNsdXN0ZXJlci5hZGQoZ2VvT2JqZWN0cyk7XG4gICAgbWFwLmdlb09iamVjdHMuYWRkKGNsdXN0ZXJlcik7XG4gIH1cbn1cbiJdfQ==

@@ -23,2 +23,11 @@ /**

}
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
initMultiroute(ymaps, map) {
map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(Object.assign({}, this.model, { referencePoints: this.referencePoints }), this.options));
}
}

@@ -48,2 +57,2 @@ YandexMultirouteComponent.decorators = [

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU96RCxNQUFNO0lBS0osaUJBQWlCOzs7O0lBRVYsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWixVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztTQUMzQjs7OztZQXBCSixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ2I7Ozs7OzhCQUVFLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LW11bHRpcm91dGUnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHJlZmVyZW5jZVBvaW50czogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcHVibGljIG1vZGVsOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVBvaW50cykge1xuICAgICAgY29uc29sZS5lcnJvcignTXVsdGlyb3V0ZTogcmVmZXJlbmNlUG9pbnRzIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5yZWZlcmVuY2VQb2ludHMgPSBbXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU96RCxNQUFNO0lBS0osaUJBQWlCOzs7O0lBRVYsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWixVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztTQUMzQjs7Ozs7OztJQUdJLGNBQWMsQ0FBQyxLQUFVLEVBQUUsR0FBUTtRQUN4QyxHQUFHLENBQUMsVUFBVTthQUNYLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxtQkFDOUIsSUFBSSxDQUFDLEtBQUssSUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsS0FBSSxJQUFJLENBQUMsT0FBTyxDQUN2RSxDQUFDLENBQUM7Ozs7WUEzQlIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFFBQVEsRUFBRSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUNiOzs7Ozs4QkFFRSxLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1tdWx0aXJvdXRlJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyByZWZlcmVuY2VQb2ludHM6IEFycmF5PGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RlbDogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VQb2ludHMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ011bHRpcm91dGU6IHJlZmVyZW5jZVBvaW50cyBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMucmVmZXJlbmNlUG9pbnRzID0gW107XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRNdWx0aXJvdXRlKHltYXBzOiBhbnksIG1hcDogYW55KTogdm9pZCB7XG4gICAgbWFwLmdlb09iamVjdHNcbiAgICAgIC5hZGQobmV3IHltYXBzLm11bHRpUm91dGVyLk11bHRpUm91dGUoXG4gICAgICAgIHsgLi4udGhpcy5tb2RlbCwgcmVmZXJlbmNlUG9pbnRzOiB0aGlzLnJlZmVyZW5jZVBvaW50cyB9LCB0aGlzLm9wdGlvbnNcbiAgICAgICkpO1xuICB9XG59XG4iXX0=

@@ -6,2 +6,6 @@ /**

import { Component, Input } from '@angular/core';
/**
* @record
*/
export function IPlacemark() { }
export class YandexPlacemarkComponent {

@@ -24,2 +28,13 @@ constructor() { }

}
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
initPlacemark(ymaps, map) {
/** @type {?} */
const placemark = new ymaps.Placemark(this.geometry, this.properties, this.options);
map.geoObjects.add(placemark);
return placemark;
}
}

@@ -49,2 +64,2 @@ YandexPlacemarkComponent.decorators = [

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RCxNQUFNO0lBS0osaUJBQWdCOzs7O0lBRVQsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWixVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUNwQjs7OztZQXBCSixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ2I7Ozs7O3VCQUVFLEtBQUs7eUJBQ0wsS0FBSztzQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXBsYWNlbWFyaycsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBnZW9tZXRyeTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgcHJvcGVydGllczogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmdlb21ldHJ5KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdQbGFjZW1hcms6IGdlb21ldHJ5IGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5nZW9tZXRyeSA9IFtdO1xuICAgIH1cbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFXekQsTUFBTTtJQUtKLGlCQUFnQjs7OztJQUVULFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Ozs7O0lBR1osVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7U0FDcEI7Ozs7Ozs7SUFHSSxhQUFhLENBQUMsS0FBVSxFQUFFLEdBQVE7O1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBGLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sU0FBUyxDQUFDOzs7O1lBM0JwQixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFDcEMsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ2I7Ozs7O3VCQUVFLEtBQUs7eUJBQ0wsS0FBSztzQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBsYWNlbWFyayB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtcGxhY2VtYXJrJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGdlb21ldHJ5OiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBwcm9wZXJ0aWVzOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZ2VvbWV0cnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1BsYWNlbWFyazogZ2VvbWV0cnkgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmdlb21ldHJ5ID0gW107XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRQbGFjZW1hcmsoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiBJUGxhY2VtYXJrIHtcbiAgICBjb25zdCBwbGFjZW1hcmsgPSBuZXcgeW1hcHMuUGxhY2VtYXJrKHRoaXMuZ2VvbWV0cnksIHRoaXMucHJvcGVydGllcywgdGhpcy5vcHRpb25zKTtcblxuICAgIG1hcC5nZW9PYmplY3RzLmFkZChwbGFjZW1hcmspO1xuICAgIHJldHVybiBwbGFjZW1hcms7XG4gIH1cbn1cbiJdfQ==

@@ -12,2 +12,16 @@ /**

ngOnInit() { }
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
initSearchControl(ymaps, map) {
/** @type {?} */
const searchControl = new ymaps.control.SearchControl(this.parameters);
/** @type {?} */
const request = this.searchRequest;
map.controls.add(searchControl);
if (request)
searchControl.search(request);
}
}

@@ -34,2 +48,2 @@ YandexSearchComponent.decorators = [

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RCxNQUFNO0lBSUosaUJBQWdCOzs7O0lBQ1QsUUFBUTs7O1lBVmhCLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxRQUFRLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDYjs7Ozs7NEJBRUUsS0FBSzt5QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU96RCxNQUFNO0lBSUosaUJBQWdCOzs7O0lBQ1QsUUFBUTs7Ozs7O0lBRVIsaUJBQWlCLENBQUMsS0FBVSxFQUFFLEdBQVE7O1FBQzNDLE1BQU0sYUFBYSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDOztRQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRW5DLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksT0FBTztZQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7Ozs7WUFqQjlDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxRQUFRLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDYjs7Ozs7NEJBRUUsS0FBSzt5QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBpbml0U2VhcmNoQ29udHJvbCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaENvbnRyb2wgPSBuZXcgeW1hcHMuY29udHJvbC5TZWFyY2hDb250cm9sKHRoaXMucGFyYW1ldGVycyk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuc2VhcmNoUmVxdWVzdDtcblxuICAgIG1hcC5jb250cm9scy5hZGQoc2VhcmNoQ29udHJvbCk7XG4gICAgaWYgKHJlcXVlc3QpIHNlYXJjaENvbnRyb2wuc2VhcmNoKHJlcXVlc3QpO1xuICB9XG59XG4iXX0=

@@ -14,3 +14,3 @@ /**

this._injector = _injector;
this._isMapInited$ = new Subject();
this._ymaps$ = new Subject();
this._apiKey = this._injector.get('API_KEY');

@@ -20,16 +20,13 @@ }

* Init ymaps script if it's not initiated
* Trigger map subject on script load
* Return ymaps subject
* @return {?}
*/
initMap() {
if (!this._isScriptInited) {
this._isScriptInited = true;
initScript() {
if (!this._scriptYmaps) {
this._loadScript();
this._scriptYmaps.onload = () => {
ymaps.ready(() => this._ymaps$.next(ymaps));
};
}
this._scriptYmaps.onload = () => {
ymaps.ready(() => {
this._isMapInited$.next(true);
});
};
return this._isMapInited$;
return this._ymaps$;
}

@@ -44,56 +41,2 @@ /**

}
/**
* Create new Map class instance
* @param {?} mapId
* @param {?} state
* @param {?} options
* @return {?}
*/
createMap(mapId, state, options) {
this._map = new ymaps.Map(mapId, state, options);
}
/**
* Add objects, controls on map
* @param {?} geometry
* @param {?} properties
* @param {?} options
* @return {?}
*/
addPlacemark(geometry, properties, options) {
this._map.geoObjects
.add(new ymaps.Placemark(geometry, properties, options));
}
/**
* @param {?} model
* @param {?} options
* @return {?}
*/
addMultiroute(model, options) {
this._map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(model, options));
}
/**
* @param {?} feature
* @param {?} options
* @return {?}
*/
addGeoObject(feature, options) {
this._map.geoObjects
.add(new ymaps.GeoObject(feature, options));
}
/**
* Create new SearchControl class instance with properies
* If searchRequest is provided -> force search in the current area
* @param {?} request
* @param {?} properties
* @return {?}
*/
addSearchControl(request, properties) {
/** @type {?} */
const searchControl = new ymaps.control.SearchControl(properties);
this._map.controls
.add(searchControl);
if (request)
searchControl.search(request);
}
}

@@ -112,3 +55,3 @@ YandexMapService.decorators = [

/** @type {?} */
YandexMapService.prototype._isMapInited$;
YandexMapService.prototype._ymaps$;
/** @type {?} */

@@ -119,9 +62,5 @@ YandexMapService.prototype._scriptYmaps;

/** @type {?} */
YandexMapService.prototype._isScriptInited;
/** @type {?} */
YandexMapService.prototype._map;
/** @type {?} */
YandexMapService.prototype._injector;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW1hcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMveWFuZGV4LW1hcC95YW5kZXgtbWFwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUS9CLE1BQU07Ozs7SUFPSixZQUFvQixTQUFtQjtRQUFuQixjQUFTLEdBQVQsU0FBUyxDQUFVOzZCQU5HLElBQUksT0FBTyxFQUFFO1FBT3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDOUM7Ozs7OztJQU1NLE9BQU87UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDOUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0IsQ0FBQyxDQUFDO1NBQ0osQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQzs7Ozs7SUFHcEIsV0FBVztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsMENBQTBDLElBQUksQ0FBQyxPQUFPLGFBQWEsQ0FBQztRQUM1RixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Ozs7Ozs7OztJQVN4QyxTQUFTLENBQUMsS0FBYSxFQUFFLEtBQVUsRUFBRSxPQUFZO1FBQ3RELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7Ozs7Ozs7OztJQU01QyxZQUFZLENBQUMsUUFBYSxFQUFFLFVBQWUsRUFBRSxPQUFZO1FBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTthQUNqQixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQzs7Ozs7OztJQUd0RCxhQUFhLENBQUMsS0FBVSxFQUFFLE9BQVk7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO2FBQ2pCLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDOzs7Ozs7O0lBR3BELFlBQVksQ0FBQyxPQUFZLEVBQUUsT0FBWTtRQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7YUFDakIsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQzs7Ozs7Ozs7O0lBU3pDLGdCQUFnQixDQUFDLE9BQWUsRUFBRSxVQUFlOztRQUN0RCxNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWxFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTthQUNmLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QixJQUFJLE9BQU87WUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDOzs7O1lBL0U5QyxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFSb0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJWWFuZGV4TWFwU2VydmljZSB9IGZyb20gJy4veWFuZGV4LXNlcnZpY2UudHlwZSc7XG5cbmRlY2xhcmUgY29uc3QgeW1hcHM6IGFueTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TWFwU2VydmljZSBpbXBsZW1lbnRzIElZYW5kZXhNYXBTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfaXNNYXBJbml0ZWQkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSBfc2NyaXB0WW1hcHM6IEhUTUxTY3JpcHRFbGVtZW50O1xuICBwcml2YXRlIF9hcGlLZXk6IHN0cmluZztcbiAgcHJpdmF0ZSBfaXNTY3JpcHRJbml0ZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX21hcDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2luamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHRoaXMuX2FwaUtleSA9IHRoaXMuX2luamVjdG9yLmdldCgnQVBJX0tFWScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXQgeW1hcHMgc2NyaXB0IGlmIGl0J3Mgbm90IGluaXRpYXRlZFxuICAgKiBUcmlnZ2VyIG1hcCBzdWJqZWN0IG9uIHNjcmlwdCBsb2FkXG4gICAqL1xuICBwdWJsaWMgaW5pdE1hcCgpOiBTdWJqZWN0PGJvb2xlYW4+IHtcbiAgICBpZiAoIXRoaXMuX2lzU2NyaXB0SW5pdGVkKSB7XG4gICAgICB0aGlzLl9pc1NjcmlwdEluaXRlZCA9IHRydWU7XG4gICAgICB0aGlzLl9sb2FkU2NyaXB0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5fc2NyaXB0WW1hcHMub25sb2FkID0gKCkgPT4ge1xuICAgICAgeW1hcHMucmVhZHkoKCkgPT4ge1xuICAgICAgICB0aGlzLl9pc01hcEluaXRlZCQubmV4dCh0cnVlKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5faXNNYXBJbml0ZWQkO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZFNjcmlwdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JpcHRZbWFwcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHRoaXMuX3NjcmlwdFltYXBzLnNyYyA9IGBodHRwczovL2FwaS1tYXBzLnlhbmRleC5ydS8yLjEvP2FwaWtleT0ke3RoaXMuX2FwaUtleX0mbGFuZz1ydV9SVWA7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9zY3JpcHRZbWFwcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG5ldyBNYXAgY2xhc3MgaW5zdGFuY2VcbiAgICogQHBhcmFtIG1hcElkXG4gICAqIEBwYXJhbSBzdGF0ZVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIGNyZWF0ZU1hcChtYXBJZDogc3RyaW5nLCBzdGF0ZTogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAgPSBuZXcgeW1hcHMuTWFwKG1hcElkLCBzdGF0ZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG9iamVjdHMsIGNvbnRyb2xzIG9uIG1hcFxuICAgKi9cbiAgcHVibGljIGFkZFBsYWNlbWFyayhnZW9tZXRyeTogYW55LCBwcm9wZXJ0aWVzOiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX21hcC5nZW9PYmplY3RzXG4gICAgICAuYWRkKG5ldyB5bWFwcy5QbGFjZW1hcmsoZ2VvbWV0cnksIHByb3BlcnRpZXMsIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRNdWx0aXJvdXRlKG1vZGVsOiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX21hcC5nZW9PYmplY3RzXG4gICAgICAuYWRkKG5ldyB5bWFwcy5tdWx0aVJvdXRlci5NdWx0aVJvdXRlKG1vZGVsLCBvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgYWRkR2VvT2JqZWN0KGZlYXR1cmU6IGFueSwgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbWFwLmdlb09iamVjdHNcbiAgICAgIC5hZGQobmV3IHltYXBzLkdlb09iamVjdChmZWF0dXJlLCBvcHRpb25zKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIG5ldyBTZWFyY2hDb250cm9sIGNsYXNzIGluc3RhbmNlIHdpdGggcHJvcGVyaWVzXG4gICAqIElmIHNlYXJjaFJlcXVlc3QgaXMgcHJvdmlkZWQgLT4gZm9yY2Ugc2VhcmNoIGluIHRoZSBjdXJyZW50IGFyZWFcbiAgICogQHBhcmFtIHJlcXVlc3RcbiAgICogQHBhcmFtIHByb3BlcnRpZXNcbiAgICovXG4gIHB1YmxpYyBhZGRTZWFyY2hDb250cm9sKHJlcXVlc3Q6IHN0cmluZywgcHJvcGVydGllczogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoQ29udHJvbCA9IG5ldyB5bWFwcy5jb250cm9sLlNlYXJjaENvbnRyb2wocHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9tYXAuY29udHJvbHNcbiAgICAgIC5hZGQoc2VhcmNoQ29udHJvbCk7XG5cbiAgICBpZiAocmVxdWVzdCkgc2VhcmNoQ29udHJvbC5zZWFyY2gocmVxdWVzdCk7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW1hcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMveWFuZGV4LW1hcC95YW5kZXgtbWFwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUS9CLE1BQU07Ozs7SUFLSixZQUFvQixTQUFtQjtRQUFuQixjQUFTLEdBQVQsU0FBUyxDQUFVO3VCQUpyQixJQUFJLE9BQU8sRUFBTztRQUtsQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzlDOzs7Ozs7SUFNTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBRW5CLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDOUIsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQzdDLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQzs7Ozs7SUFHZCxXQUFXO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRywwQ0FBMEMsSUFBSSxDQUFDLE9BQU8sYUFBYSxDQUFDO1FBQzVGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7OztZQS9CaEQsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBUm9CLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVlhbmRleE1hcFNlcnZpY2UgfSBmcm9tICcuL3lhbmRleC1zZXJ2aWNlLnR5cGUnO1xuXG5kZWNsYXJlIGNvbnN0IHltYXBzOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE1hcFNlcnZpY2UgaW1wbGVtZW50cyBJWWFuZGV4TWFwU2VydmljZSB7XG4gIHByaXZhdGUgX3ltYXBzJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgcHJpdmF0ZSBfc2NyaXB0WW1hcHM6IEhUTUxTY3JpcHRFbGVtZW50O1xuICBwcml2YXRlIF9hcGlLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLl9hcGlLZXkgPSB0aGlzLl9pbmplY3Rvci5nZXQoJ0FQSV9LRVknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHltYXBzIHNjcmlwdCBpZiBpdCdzIG5vdCBpbml0aWF0ZWRcbiAgICogUmV0dXJuIHltYXBzIHN1YmplY3RcbiAgICovXG4gIHB1YmxpYyBpbml0U2NyaXB0KCk6IFN1YmplY3Q8YW55PiB7XG4gICAgaWYgKCF0aGlzLl9zY3JpcHRZbWFwcykge1xuICAgICAgdGhpcy5fbG9hZFNjcmlwdCgpO1xuXG4gICAgICB0aGlzLl9zY3JpcHRZbWFwcy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHltYXBzLnJlYWR5KCgpID0+IHRoaXMuX3ltYXBzJC5uZXh0KHltYXBzKSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl95bWFwcyQ7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkU2NyaXB0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NjcmlwdFltYXBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgdGhpcy5fc2NyaXB0WW1hcHMuc3JjID0gYGh0dHBzOi8vYXBpLW1hcHMueWFuZGV4LnJ1LzIuMS8/YXBpa2V5PSR7dGhpcy5fYXBpS2V5fSZsYW5nPXJ1X1JVYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX3NjcmlwdFltYXBzKTtcbiAgfVxufVxuIl19

@@ -10,14 +10,4 @@ /**

/** @type {?} */
IYandexMapService.prototype.initMap;
/** @type {?} */
IYandexMapService.prototype.createMap;
/** @type {?} */
IYandexMapService.prototype.addPlacemark;
/** @type {?} */
IYandexMapService.prototype.addMultiroute;
/** @type {?} */
IYandexMapService.prototype.addGeoObject;
/** @type {?} */
IYandexMapService.prototype.addSearchControl;
IYandexMapService.prototype.initScript;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXNlcnZpY2UudHlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3lhbmRleC1tYXAveWFuZGV4LXNlcnZpY2UudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElZYW5kZXhNYXBTZXJ2aWNlIHtcbiAgaW5pdE1hcCgpOiBTdWJqZWN0PGJvb2xlYW4+O1xuICBjcmVhdGVNYXAobWFwSWQ6IHN0cmluZywgc3RhdGU6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgYWRkUGxhY2VtYXJrKGdlb21ldHJ5OiBhbnksIHByb3BlcnRpZXM6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgYWRkTXVsdGlyb3V0ZShtb2RlbDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICBhZGRHZW9PYmplY3QoZmVhdHVyZTogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICBhZGRTZWFyY2hDb250cm9sKHJlcXVlc3Q6IHN0cmluZywgcHJvcGVydGllczogYW55KTogdm9pZFxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXNlcnZpY2UudHlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3lhbmRleC1tYXAveWFuZGV4LXNlcnZpY2UudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElZYW5kZXhNYXBTZXJ2aWNlIHtcbiAgaW5pdFNjcmlwdCgpOiBTdWJqZWN0PGFueT47XG59XG4iXX0=

@@ -12,3 +12,3 @@ /**

export { AngularYandexMapsModule } from './public_api';
export { YandexGeoobjectComponent as ɵd } from './lib/components/yandex-geoobject-component/yandex-geoobject.component';
export { YandexGeoObjectComponent as ɵd } from './lib/components/yandex-geoobject-component/yandex-geoobject.component';
export { YandexMapComponent as ɵa } from './lib/components/yandex-map-component/yandex-map.component';

@@ -20,2 +20,2 @@ export { YandexMultirouteComponent as ɵc } from './lib/components/yandex-multiroute-component/yandex-multiroute.component';

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImFuZ3VsYXI4LXlhbmRleC1tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxBQUpBOztHQUVHO3dDQUVXLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtZYW5kZXhHZW9vYmplY3RDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmV4cG9ydCB7WWFuZGV4TWFwQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy95YW5kZXgtbWFwLWNvbXBvbmVudC95YW5kZXgtbWFwLmNvbXBvbmVudCc7XG5leHBvcnQge1lhbmRleE11bHRpcm91dGVDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmV4cG9ydCB7WWFuZGV4U2VhcmNoQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy95YW5kZXgtc2VhcmNoLWNvbXBvbmVudC95YW5kZXgtc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQge1lhbmRleE1hcFNlcnZpY2UgYXMgybVmfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZSc7Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImFuZ3VsYXI4LXlhbmRleC1tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFJQSxBQUpBOztHQUVHO3dDQUVXLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwRUFBMEUsQ0FBQztBQUN6SCxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDdEgsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtZYW5kZXhHZW9PYmplY3RDb21wb25lbnQgYXMgybVkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmV4cG9ydCB7WWFuZGV4TWFwQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy95YW5kZXgtbWFwLWNvbXBvbmVudC95YW5kZXgtbWFwLmNvbXBvbmVudCc7XG5leHBvcnQge1lhbmRleE11bHRpcm91dGVDb21wb25lbnQgYXMgybVjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQnO1xuZXhwb3J0IHtZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmV4cG9ydCB7WWFuZGV4U2VhcmNoQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy95YW5kZXgtc2VhcmNoLWNvbXBvbmVudC95YW5kZXgtc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQge1lhbmRleE1hcFNlcnZpY2UgYXMgybVmfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZSc7Il19

@@ -10,3 +10,3 @@ /**

import { YandexMultirouteComponent } from './components/yandex-multiroute-component/yandex-multiroute.component';
import { YandexGeoobjectComponent } from './components/yandex-geoobject-component/yandex-geoobject.component';
import { YandexGeoObjectComponent } from './components/yandex-geoobject-component/yandex-geoobject.component';
import { YandexSearchComponent } from './components/yandex-search-component/yandex-search.component';

@@ -38,3 +38,3 @@ var AngularYandexMapsModule = /** @class */ (function () {

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -49,3 +49,3 @@ ],

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -59,2 +59,2 @@ ]

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci15YW5kZXgtbWFwcy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLXlhbmRleC1tYXBzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDOUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDakgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7Ozs7O0lBdUI1RiwrQkFBTzs7OztJQUFkLFVBQWUsTUFBYztRQUMzQixPQUFPO1lBQ0wsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7YUFDekM7U0FDRixDQUFDO0tBQ0g7O2dCQTVCRixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixxQkFBcUI7cUJBQ3RCO2lCQUNGOztrQ0EzQkQ7O1NBNkJhLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgWWFuZGV4TWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvY29yZSc7XG5pbXBvcnQgeyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXBsYWNlbWFyay1jb21wb25lbnQveWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb29iamVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQW5ndWxhcllhbmRleE1hcHNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChhcGlLZXk6IHN0cmluZyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhcllhbmRleE1hcHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiAnQVBJX0tFWScsIHVzZVZhbHVlOiBhcGlLZXkgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci15YW5kZXgtbWFwcy5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLXlhbmRleC1tYXBzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFFNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDOUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDakgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7Ozs7O0lBdUI1RiwrQkFBTzs7OztJQUFkLFVBQWUsTUFBYztRQUMzQixPQUFPO1lBQ0wsUUFBUSxFQUFFLHVCQUF1QjtZQUNqQyxTQUFTLEVBQUU7Z0JBQ1QsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUU7YUFDekM7U0FDRixDQUFDO0tBQ0g7O2dCQTVCRixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixxQkFBcUI7cUJBQ3RCO2lCQUNGOztrQ0EzQkQ7O1NBNkJhLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgWWFuZGV4TWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvY29yZSc7XG5pbXBvcnQgeyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXBsYWNlbWFyay1jb21wb25lbnQveWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb09iamVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2VvT2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBZYW5kZXhNYXBDb21wb25lbnQsXG4gICAgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50LFxuICAgIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQsXG4gICAgWWFuZGV4R2VvT2JqZWN0Q29tcG9uZW50LFxuICAgIFlhbmRleFNlYXJjaENvbXBvbmVudFxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQW5ndWxhcllhbmRleE1hcHNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChhcGlLZXk6IHN0cmluZyk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQW5ndWxhcllhbmRleE1hcHNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiAnQVBJX0tFWScsIHVzZVZhbHVlOiBhcGlLZXkgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==

@@ -6,4 +6,4 @@ /**

import { Component, Input } from '@angular/core';
var YandexGeoobjectComponent = /** @class */ (function () {
function YandexGeoobjectComponent() {
var YandexGeoObjectComponent = /** @class */ (function () {
function YandexGeoObjectComponent() {
}

@@ -13,3 +13,3 @@ /**

*/
YandexGeoobjectComponent.prototype.ngOnInit = /**
YandexGeoObjectComponent.prototype.ngOnInit = /**
* @return {?}

@@ -23,3 +23,3 @@ */

*/
YandexGeoobjectComponent.prototype._logErrors = /**
YandexGeoObjectComponent.prototype._logErrors = /**
* @return {?}

@@ -33,3 +33,17 @@ */

};
YandexGeoobjectComponent.decorators = [
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexGeoObjectComponent.prototype.initGeoObject = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
map.geoObjects
.add(new ymaps.GeoObject(this.feature, this.options));
};
YandexGeoObjectComponent.decorators = [
{ type: Component, args: [{

@@ -42,17 +56,17 @@ selector: 'angular-yandex-geoobject',

/** @nocollapse */
YandexGeoobjectComponent.ctorParameters = function () { return []; };
YandexGeoobjectComponent.propDecorators = {
YandexGeoObjectComponent.ctorParameters = function () { return []; };
YandexGeoObjectComponent.propDecorators = {
feature: [{ type: Input }],
options: [{ type: Input }]
};
return YandexGeoobjectComponent;
return YandexGeoObjectComponent;
}());
export { YandexGeoobjectComponent };
export { YandexGeoObjectComponent };
if (false) {
/** @type {?} */
YandexGeoobjectComponent.prototype.feature;
YandexGeoObjectComponent.prototype.feature;
/** @type {?} */
YandexGeoobjectComponent.prototype.options;
YandexGeoObjectComponent.prototype.options;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LWdlb29iamVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7SUFXdkQ7S0FBZ0I7Ozs7SUFFVCwyQ0FBUTs7OztRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWiw2Q0FBVTs7OztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7U0FDbkI7OztnQkFuQkosU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDYjs7Ozs7MEJBRUUsS0FBSzswQkFDTCxLQUFLOzttQ0FUUjs7U0FPYSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtZ2Vvb2JqZWN0JyxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGZlYXR1cmU6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5mZWF0dXJlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdHZW9PYmplY3RzOiBmZWF0dXJlIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5mZWF0dXJlID0ge307XG4gICAgfVxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LWdlb29iamVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7SUFXdkQ7S0FBZ0I7Ozs7SUFFVCwyQ0FBUTs7OztRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWiw2Q0FBVTs7OztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7U0FDbkI7Ozs7Ozs7SUFHSSxnREFBYTs7Ozs7Y0FBQyxLQUFVLEVBQUUsR0FBUTtRQUN2QyxHQUFHLENBQUMsVUFBVTthQUNYLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzs7O2dCQXhCM0QsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDYjs7Ozs7MEJBRUUsS0FBSzswQkFDTCxLQUFLOzttQ0FUUjs7U0FPYSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtZ2Vvb2JqZWN0JyxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4R2VvT2JqZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGZlYXR1cmU6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5mZWF0dXJlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdHZW9PYmplY3RzOiBmZWF0dXJlIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5mZWF0dXJlID0ge307XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRHZW9PYmplY3QoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcbiAgICBtYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMuR2VvT2JqZWN0KHRoaXMuZmVhdHVyZSwgdGhpcy5vcHRpb25zKSk7XG4gIH1cbn1cbiJdfQ==

@@ -5,9 +5,10 @@ /**

*/
import * as tslib_1 from "tslib";
import { Component, Input, ViewChild, ElementRef, ContentChildren, QueryList } from '@angular/core';
import { YandexMapService } from '../../services/yandex-map/yandex-map.service';
import { take } from 'rxjs/operators';
import { YandexPlacemarkComponent } from '../yandex-placemark-component/yandex-placemark.component';
import { YandexMultirouteComponent } from '../yandex-multiroute-component/yandex-multiroute.component';
import { YandexGeoobjectComponent } from '../yandex-geoobject-component/yandex-geoobject.component';
import { YandexGeoObjectComponent } from '../yandex-geoobject-component/yandex-geoobject.component';
import { YandexSearchComponent } from '../yandex-search-component/yandex-search.component';
import { YandexMapService } from '../../services/yandex-map/yandex-map.service';
import { take } from 'rxjs/operators';
var YandexMapComponent = /** @class */ (function () {

@@ -27,5 +28,12 @@ function YandexMapComponent(_yandexMapService) {

function () {
this._logErrors();
this._setUniqueMapIdOfMap();
this._createMapWithObjects();
var _this = this;
this._logMapErrors();
this._setUniqueMapId();
this._yandexMapService.initScript()
.pipe(take(1))
.subscribe(function (ymaps) {
/** @type {?} */
var map = _this._createMap(ymaps);
_this._addObjectsOnMap(ymaps, map);
});
};

@@ -35,3 +43,3 @@ /**

*/
YandexMapComponent.prototype._logErrors = /**
YandexMapComponent.prototype._logMapErrors = /**
* @return {?}

@@ -48,3 +56,3 @@ */

*/
YandexMapComponent.prototype._setUniqueMapIdOfMap = /**
YandexMapComponent.prototype._setUniqueMapId = /**
* @return {?}

@@ -57,102 +65,63 @@ */

/**
* @param {?} ymaps
* @return {?}
*/
YandexMapComponent.prototype._createMapWithObjects = /**
YandexMapComponent.prototype._createMap = /**
* @param {?} ymaps
* @return {?}
*/
function () {
var _this = this;
this._yandexMapService.initMap()
.pipe(take(1))
.subscribe(function () {
_this._combineInputs();
_this._yandexMapService.createMap(_this._uniqueMapId, _this.state, _this.options);
_this._addObjectsOnMap();
});
function (ymaps) {
return new ymaps.Map(this._uniqueMapId, tslib_1.__assign({}, this.state, { zoom: this.zoom, center: this.center }), this.options);
};
/**
* Combine separated inputs in objects required for API
* Add ymaps entities/objects on map
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexMapComponent.prototype._combineInputs = /**
* Combine separated inputs in objects required for API
* @return {?}
*/
function () {
// Map
this.state.zoom = this.zoom;
this.state.center = this.center;
// Multiroute
this.multiroutes.forEach(function (multiroute) {
if (!multiroute.model)
multiroute.model = {};
multiroute.model.referencePoints = multiroute.referencePoints;
});
};
/**
* @return {?}
*/
YandexMapComponent.prototype._addObjectsOnMap = /**
* Add ymaps entities/objects on map
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function () {
var _this = this;
function (ymaps, map) {
/** @type {?} */
var placemarks = [];
this.placemarks.forEach(function (placemark) {
_this._addPlacemark(placemark);
placemarks.push(placemark.initPlacemark(ymaps, map));
});
if (this.clusterer)
this._createClusterer(ymaps, map, placemarks);
// Multiroutes
this.multiroutes.forEach(function (multiroute) {
_this._addMultiroute(multiroute);
multiroute.initMultiroute(ymaps, map);
});
// GeoObjects
this.geoObjects.forEach(function (geoObject) {
_this._addGeoObject(geoObject);
geoObject.initGeoObject(ymaps, map);
});
if (this.searchControl.first)
this._addSearchControl(this.searchControl.first);
// SearchControls
this.searchControls.forEach(function (searchControl) {
searchControl.initSearchControl(ymaps, map);
});
};
/**
* Add objects, controls on map
* @param {?} placemark
* @param {?} ymaps
* @param {?} map
* @param {?} geoObjects
* @return {?}
*/
YandexMapComponent.prototype._addPlacemark = /**
* Add objects, controls on map
* @param {?} placemark
YandexMapComponent.prototype._createClusterer = /**
* @param {?} ymaps
* @param {?} map
* @param {?} geoObjects
* @return {?}
*/
function (placemark) {
this._yandexMapService.addPlacemark(placemark.geometry, placemark.properties, placemark.options);
function (ymaps, map, geoObjects) {
/** @type {?} */
var clusterer = new ymaps.Clusterer(this.clusterer);
clusterer.add(geoObjects);
map.geoObjects.add(clusterer);
};
/**
* @param {?} multiroute
* @return {?}
*/
YandexMapComponent.prototype._addMultiroute = /**
* @param {?} multiroute
* @return {?}
*/
function (multiroute) {
this._yandexMapService.addMultiroute(multiroute.model, multiroute.options);
};
/**
* @param {?} geoObject
* @return {?}
*/
YandexMapComponent.prototype._addGeoObject = /**
* @param {?} geoObject
* @return {?}
*/
function (geoObject) {
this._yandexMapService.addGeoObject(geoObject.feature, geoObject.options);
};
/**
* @param {?} search
* @return {?}
*/
YandexMapComponent.prototype._addSearchControl = /**
* @param {?} search
* @return {?}
*/
function (search) {
this._yandexMapService.addSearchControl(search.searchRequest, search.parameters);
};
YandexMapComponent.decorators = [

@@ -173,8 +142,9 @@ { type: Component, args: [{

multiroutes: [{ type: ContentChildren, args: [YandexMultirouteComponent,] }],
geoObjects: [{ type: ContentChildren, args: [YandexGeoobjectComponent,] }],
searchControl: [{ type: ContentChildren, args: [YandexSearchComponent,] }],
geoObjects: [{ type: ContentChildren, args: [YandexGeoObjectComponent,] }],
searchControls: [{ type: ContentChildren, args: [YandexSearchComponent,] }],
center: [{ type: Input }],
zoom: [{ type: Input }],
state: [{ type: Input }],
options: [{ type: Input }]
options: [{ type: Input }],
clusterer: [{ type: Input }]
};

@@ -185,3 +155,6 @@ return YandexMapComponent;

if (false) {
/** @type {?} */
/**
* Get MapContainer & components inside MapContainer
* @type {?}
*/
YandexMapComponent.prototype.mapContainer;

@@ -195,4 +168,7 @@ /** @type {?} */

/** @type {?} */
YandexMapComponent.prototype.searchControl;
/** @type {?} */
YandexMapComponent.prototype.searchControls;
/**
* Map inputs
* @type {?}
*/
YandexMapComponent.prototype.center;

@@ -206,2 +182,4 @@ /** @type {?} */

/** @type {?} */
YandexMapComponent.prototype.clusterer;
/** @type {?} */
YandexMapComponent.prototype._uniqueMapId;

@@ -212,2 +190,2 @@ /** @type {?} */

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOztJQXFCekYsNEJBQW9CLGlCQUFtQztRQUFuQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO29CQU54QixFQUFFO3FCQUNKLEVBQUU7dUJBQ0EsRUFBRTtLQUkyQjs7OztJQUVyRCxxQ0FBUTs7OztRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQzs7Ozs7SUFHdkIsdUNBQVU7Ozs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2xCOzs7OztJ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QWlEO29CQUMzRCxNQUFNLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztpQkFDbkQ7Ozs7Z0JBWFEsZ0JBQWdCOzs7K0JBYXRCLFNBQVMsU0FBQyxjQUFjOzZCQUN4QixlQUFlLFNBQUMsd0JBQXdCOzhCQUN4QyxlQUFlLFNBQUMseUJBQXlCOzZCQUN6QyxlQUFlLFNBQUMsd0JBQXdCO2dDQUN4QyxlQUFlLFNBQUMscUJBQXFCO3lCQUVyQyxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLOzs2QkF2QlI7O1NBYWEsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBZYW5kZXhNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMveWFuZGV4LW1hcC95YW5kZXgtbWFwLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb29iamVjdENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbWFwJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwibWFwLWNvbnRhaW5lclwiICNtYXBDb250YWluZXI+PC9kaXY+YCxcbiAgc3R5bGVzOiBbYC5tYXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnbWFwQ29udGFpbmVyJykgcHVibGljIG1hcENvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQpIHBsYWNlbWFya3M6IFF1ZXJ5TGlzdDxZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleE11bHRpcm91dGVDb21wb25lbnQpIG11bHRpcm91dGVzOiBRdWVyeUxpc3Q8WWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50KSBnZW9PYmplY3RzOiBRdWVyeUxpc3Q8WWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhTZWFyY2hDb21wb25lbnQpIHNlYXJjaENvbnRyb2w6IFF1ZXJ5TGlzdDxZYW5kZXhTZWFyY2hDb21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjZW50ZXI6IEFycmF5PG51bWJlcj47XG4gIEBJbnB1dCgpIHB1YmxpYyB6b29tOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgcHVibGljIHN0YXRlOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gIHByaXZhdGUgX3VuaXF1ZU1hcElkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfeWFuZGV4TWFwU2VydmljZTogWWFuZGV4TWFwU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuXG4gICAgdGhpcy5fc2V0VW5pcXVlTWFwSWRPZk1hcCgpO1xuICAgIHRoaXMuX2NyZWF0ZU1hcFdpdGhPYmplY3RzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNlbnRlcikge1xuICAgICAgY29uc29sZS5lcnJvcignTWFwOiBjZW50ZXIgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmNlbnRlciA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFVuaXF1ZU1hcElkT2ZNYXAoKTogdm9pZCB7XG4gICAgdGhpcy5fdW5pcXVlTWFwSWQgPSBgZiR7KH5+KE1hdGgucmFuZG9tKCkgKiAxZTgpKS50b1N0cmluZygxNil9YDtcbiAgICB0aGlzLm1hcENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLl91bmlxdWVNYXBJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVNYXBXaXRoT2JqZWN0cygpOiB2b2lkIHtcbiAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmluaXRNYXAoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jb21iaW5lSW5wdXRzKCk7XG5cbiAgICAgICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5jcmVhdGVNYXAodGhpcy5fdW5pcXVlTWFwSWQsIHRoaXMuc3RhdGUsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIHRoaXMuX2FkZE9iamVjdHNPbk1hcCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tYmluZSBzZXBhcmF0ZWQgaW5wdXRzIGluIG9iamVjdHMgcmVxdWlyZWQgZm9yIEFQSVxuICAgKi9cbiAgcHJpdmF0ZSBfY29tYmluZUlucHV0cygpOiB2b2lkIHtcbiAgICAvLyBNYXBcbiAgICB0aGlzLnN0YXRlLnpvb20gPSB0aGlzLnpvb207XG4gICAgdGhpcy5zdGF0ZS5jZW50ZXIgPSB0aGlzLmNlbnRlcjtcblxuICAgIC8vIE11bHRpcm91dGVcbiAgICB0aGlzLm11bHRpcm91dGVzLmZvckVhY2goKG11bHRpcm91dGUpID0+IHtcbiAgICAgIGlmICghbXVsdGlyb3V0ZS5tb2RlbCkgbXVsdGlyb3V0ZS5tb2RlbCA9IHt9O1xuICAgICAgbXVsdGlyb3V0ZS5tb2RlbC5yZWZlcmVuY2VQb2ludHMgPSBtdWx0aXJvdXRlLnJlZmVyZW5jZVBvaW50cztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE9iamVjdHNPbk1hcCgpOiB2b2lkIHtcbiAgICB0aGlzLnBsYWNlbWFya3MuZm9yRWFjaCgocGxhY2VtYXJrKSA9PiB7XG4gICAgICB0aGlzLl9hZGRQbGFjZW1hcmsocGxhY2VtYXJrKTtcbiAgICB9KTtcblxuICAgIHRoaXMubXVsdGlyb3V0ZXMuZm9yRWFjaCgobXVsdGlyb3V0ZSkgPT4ge1xuICAgICAgdGhpcy5fYWRkTXVsdGlyb3V0ZShtdWx0aXJvdXRlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZ2VvT2JqZWN0cy5mb3JFYWNoKChnZW9PYmplY3QpID0+IHtcbiAgICAgIHRoaXMuX2FkZEdlb09iamVjdChnZW9PYmplY3QpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc2VhcmNoQ29udHJvbC5maXJzdCkgdGhpcy5fYWRkU2VhcmNoQ29udHJvbCh0aGlzLnNlYXJjaENvbnRyb2wuZmlyc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBvYmplY3RzLCBjb250cm9scyBvbiBtYXBcbiAgICovXG4gIHByaXZhdGUgX2FkZFBsYWNlbWFyayhwbGFjZW1hcms6IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuYWRkUGxhY2VtYXJrKHBsYWNlbWFyay5nZW9tZXRyeSwgcGxhY2VtYXJrLnByb3BlcnRpZXMsIHBsYWNlbWFyay5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE11bHRpcm91dGUobXVsdGlyb3V0ZTogWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuYWRkTXVsdGlyb3V0ZShtdWx0aXJvdXRlLm1vZGVsLCBtdWx0aXJvdXRlLm9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkR2VvT2JqZWN0KGdlb09iamVjdDogWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5hZGRHZW9PYmplY3QoZ2VvT2JqZWN0LmZlYXR1cmUsIGdlb09iamVjdC5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFNlYXJjaENvbnRyb2woc2VhcmNoOiBZYW5kZXhTZWFyY2hDb21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmFkZFNlYXJjaENvbnRyb2woc2VhcmNoLnNlYXJjaFJlcXVlc3QsIHNlYXJjaC5wYXJhbWV0ZXJzKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1tYXAtY29tcG9uZW50L3lhbmRleC1tYXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7SUE0QnBDLDRCQUFvQixpQkFBbUM7UUFBbkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtvQkFQeEIsRUFBRTtxQkFDSixFQUFFO3VCQUNBLEVBQUU7S0FLMkI7Ozs7SUFFckQscUNBQVE7Ozs7O1FBQ2IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFO2FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsVUFBQyxLQUFVOztZQUNwQixJQUFNLEdBQUcsR0FBRyxLQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLEtBQUksQ0FBQyxn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bnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb09iamVjdENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuaW1wb3J0IHsgWWFuZGV4TWFwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3lhbmRleC1tYXAveWFuZGV4LW1hcC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbWFwJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwibWFwLWNvbnRhaW5lclwiICNtYXBDb250YWluZXI+PC9kaXY+YCxcbiAgc3R5bGVzOiBbYC5tYXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEdldCBNYXBDb250YWluZXIgJiBjb21wb25lbnRzIGluc2lkZSBNYXBDb250YWluZXJcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIHB1YmxpYyBtYXBDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50KSBwbGFjZW1hcmtzOiBRdWVyeUxpc3Q8WWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50KSBtdWx0aXJvdXRlczogUXVlcnlMaXN0PFlhbmRleE11bHRpcm91dGVDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleEdlb09iamVjdENvbXBvbmVudCkgZ2VvT2JqZWN0czogUXVlcnlMaXN0PFlhbmRleEdlb09iamVjdENvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4U2VhcmNoQ29tcG9uZW50KSBzZWFyY2hDb250cm9sczogUXVlcnlMaXN0PFlhbmRleFNlYXJjaENvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIE1hcCBpbnB1dHNcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBjZW50ZXI6IEFycmF5PG51bWJlcj47XG4gIEBJbnB1dCgpIHB1YmxpYyB6b29tOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgcHVibGljIHN0YXRlOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueSA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgY2x1c3RlcmVyOiBhbnk7XG5cbiAgcHJpdmF0ZSBfdW5pcXVlTWFwSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF95YW5kZXhNYXBTZXJ2aWNlOiBZYW5kZXhNYXBTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nTWFwRXJyb3JzKCk7XG4gICAgdGhpcy5fc2V0VW5pcXVlTWFwSWQoKTtcblxuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuaW5pdFNjcmlwdCgpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoeW1hcHM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBtYXAgPSB0aGlzLl9jcmVhdGVNYXAoeW1hcHMpO1xuICAgICAgICB0aGlzLl9hZGRPYmplY3RzT25NYXAoeW1hcHMsIG1hcCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ01hcEVycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2VudGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdNYXA6IGNlbnRlciBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuY2VudGVyID0gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VW5pcXVlTWFwSWQoKTogdm9pZCB7XG4gICAgdGhpcy5fdW5pcXVlTWFwSWQgPSBgZiR7KH5+KE1hdGgucmFuZG9tKCkgKiAxZTgpKS50b1N0cmluZygxNil9YDtcbiAgICB0aGlzLm1hcENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLl91bmlxdWVNYXBJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVNYXAoeW1hcHM6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyB5bWFwcy5NYXAoXG4gICAgICB0aGlzLl91bmlxdWVNYXBJZCwgeyAuLi50aGlzLnN0YXRlLCB6b29tOiB0aGlzLnpvb20sIGNlbnRlcjogdGhpcy5jZW50ZXIgfSwgdGhpcy5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgeW1hcHMgZW50aXRpZXMvb2JqZWN0cyBvbiBtYXBcbiAgICogQHBhcmFtIHltYXBzXG4gICAqIEBwYXJhbSBtYXBcbiAgICovXG4gIHByaXZhdGUgX2FkZE9iamVjdHNPbk1hcCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIC8vIFBsYWNlbWFya3Mgd2l0aCBjbHVzdGVyZXJcbiAgICBjb25zdCBwbGFjZW1hcmtzID0gW107XG5cbiAgICB0aGlzLnBsYWNlbWFya3MuZm9yRWFjaCgocGxhY2VtYXJrKSA9PiB7XG4gICAgICBwbGFjZW1hcmtzLnB1c2gocGxhY2VtYXJrLmluaXRQbGFjZW1hcmsoeW1hcHMsIG1hcCkpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY2x1c3RlcmVyKSB0aGlzLl9jcmVhdGVDbHVzdGVyZXIoeW1hcHMsIG1hcCwgcGxhY2VtYXJrcyk7XG5cbiAgICAvLyBNdWx0aXJvdXRlc1xuICAgIHRoaXMubXVsdGlyb3V0ZXMuZm9yRWFjaCgobXVsdGlyb3V0ZSkgPT4ge1xuICAgICAgbXVsdGlyb3V0ZS5pbml0TXVsdGlyb3V0ZSh5bWFwcywgbWFwKTtcbiAgICB9KTtcblxuICAgIC8vIEdlb09iamVjdHNcbiAgICB0aGlzLmdlb09iamVjdHMuZm9yRWFjaCgoZ2VvT2JqZWN0KSA9PiB7XG4gICAgICBnZW9PYmplY3QuaW5pdEdlb09iamVjdCh5bWFwcywgbWFwKTtcbiAgICB9KTtcblxuICAgIC8vIFNlYXJjaENvbnRyb2xzXG4gICAgdGhpcy5zZWFyY2hDb250cm9scy5mb3JFYWNoKChzZWFyY2hDb250cm9sKSA9PiB7XG4gICAgICBzZWFyY2hDb250cm9sLmluaXRTZWFyY2hDb250cm9sKHltYXBzLCBtYXApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2x1c3RlcmVyKHltYXBzOiBhbnksIG1hcDogYW55LCBnZW9PYmplY3RzOiBBcnJheTxhbnk+KSB7XG4gICAgY29uc3QgY2x1c3RlcmVyID0gbmV3IHltYXBzLkNsdXN0ZXJlcih0aGlzLmNsdXN0ZXJlcik7XG5cbiAgICBjbHVzdGVyZXIuYWRkKGdlb09iamVjdHMpO1xuICAgIG1hcC5nZW9PYmplY3RzLmFkZChjbHVzdGVyZXIpO1xuICB9XG59XG4iXX0=

@@ -5,2 +5,3 @@ /**

*/
import * as tslib_1 from "tslib";
import { Component, Input } from '@angular/core';

@@ -31,2 +32,16 @@ var YandexMultirouteComponent = /** @class */ (function () {

};
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexMultirouteComponent.prototype.initMultiroute = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(tslib_1.__assign({}, this.model, { referencePoints: this.referencePoints }), this.options));
};
YandexMultirouteComponent.decorators = [

@@ -58,2 +73,2 @@ { type: Component, args: [{

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7SUFZdkQ7S0FBaUI7Ozs7SUFFViw0Q0FBUTs7OztRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWiw4Q0FBVTs7OztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7U0FDM0I7OztnQkFwQkosU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRSxFQUFFO29CQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDYjs7Ozs7a0NBRUUsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7O29DQVZSOztTQU9hLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1tdWx0aXJvdXRlJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyByZWZlcmVuY2VQb2ludHM6IEFycmF5PGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RlbDogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5yZWZlcmVuY2VQb2ludHMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ011bHRpcm91dGU6IHJlZmVyZW5jZVBvaW50cyBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMucmVmZXJlbmNlUG9pbnRzID0gW107XG4gICAgfVxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7O0lBWXZEO0tBQWlCOzs7O0lBRVYsNENBQVE7Ozs7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Ozs7O0lBR1osOENBQVU7Ozs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1NBQzNCOzs7Ozs7O0lBR0ksa0RBQWM7Ozs7O2NBQUMsS0FBVSxFQUFFLEdBQVE7UUFDeEMsR0FBRyxDQUFDLFVBQVU7YUFDWCxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsc0JBQzlCLElBQUksQ0FBQyxLQUFLLElBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlLEtBQUksSUFBSSxDQUFDLE9BQU8sQ0FDdkUsQ0FBQyxDQUFDOzs7Z0JBM0JSLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUJBQ2I7Ozs7O2tDQUVFLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLOztvQ0FWUjs7U0FPYSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbXVsdGlyb3V0ZScsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgcmVmZXJlbmNlUG9pbnRzOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgbW9kZWw6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlUG9pbnRzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdNdWx0aXJvdXRlOiByZWZlcmVuY2VQb2ludHMgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLnJlZmVyZW5jZVBvaW50cyA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbml0TXVsdGlyb3V0ZSh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIG1hcC5nZW9PYmplY3RzXG4gICAgICAuYWRkKG5ldyB5bWFwcy5tdWx0aVJvdXRlci5NdWx0aVJvdXRlKFxuICAgICAgICB7IC4uLnRoaXMubW9kZWwsIHJlZmVyZW5jZVBvaW50czogdGhpcy5yZWZlcmVuY2VQb2ludHMgfSwgdGhpcy5vcHRpb25zXG4gICAgICApKTtcbiAgfVxufVxuIl19

@@ -6,2 +6,6 @@ /**

import { Component, Input } from '@angular/core';
/**
* @record
*/
export function IPlacemark() { }
var YandexPlacemarkComponent = /** @class */ (function () {

@@ -31,2 +35,18 @@ function YandexPlacemarkComponent() {

};
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexPlacemarkComponent.prototype.initPlacemark = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
/** @type {?} */
var placemark = new ymaps.Placemark(this.geometry, this.properties, this.options);
map.geoObjects.add(placemark);
return placemark;
};
YandexPlacemarkComponent.decorators = [

@@ -58,2 +78,2 @@ { type: Component, args: [{

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7SUFZdkQ7S0FBZ0I7Ozs7SUFFVCwyQ0FBUTs7OztRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWiw2Q0FBVTs7OztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7U0FDcEI7OztnQkFwQkosU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDYjs7Ozs7MkJBRUUsS0FBSzs2QkFDTCxLQUFLOzBCQUNMLEtBQUs7O21DQVZSOztTQU9hLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1wbGFjZW1hcmsnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZ2VvbWV0cnk6IGFueTtcbiAgQElucHV0KCkgcHVibGljIHByb3BlcnRpZXM6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5nZW9tZXRyeSkge1xuICAgICAgY29uc29sZS5lcnJvcignUGxhY2VtYXJrOiBnZW9tZXRyeSBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuZ2VvbWV0cnkgPSBbXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lBZ0J2RDtLQUFnQjs7OztJQUVULDJDQUFROzs7O1FBQ2IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDOzs7OztJQUdaLDZDQUFVOzs7O1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUNwQjs7Ozs7OztJQUdJLGdEQUFhOzs7OztjQUFDLEtBQVUsRUFBRSxHQUFROztRQUN2QyxJQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwRixHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixPQUFPLFNBQVMsQ0FBQzs7O2dCQTNCcEIsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDYjs7Ozs7MkJBRUUsS0FBSzs2QkFDTCxLQUFLOzBCQUNMLEtBQUs7O21DQWRSOztTQVdhLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElQbGFjZW1hcmsge1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXBsYWNlbWFyaycsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBnZW9tZXRyeTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgcHJvcGVydGllczogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmdlb21ldHJ5KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdQbGFjZW1hcms6IGdlb21ldHJ5IGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5nZW9tZXRyeSA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbml0UGxhY2VtYXJrKHltYXBzOiBhbnksIG1hcDogYW55KTogSVBsYWNlbWFyayB7XG4gICAgY29uc3QgcGxhY2VtYXJrID0gbmV3IHltYXBzLlBsYWNlbWFyayh0aGlzLmdlb21ldHJ5LCB0aGlzLnByb3BlcnRpZXMsIHRoaXMub3B0aW9ucyk7XG5cbiAgICBtYXAuZ2VvT2JqZWN0cy5hZGQocGxhY2VtYXJrKTtcbiAgICByZXR1cm4gcGxhY2VtYXJrO1xuICB9XG59XG4iXX0=

@@ -16,2 +16,21 @@ /**

function () { };
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexSearchComponent.prototype.initSearchControl = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
/** @type {?} */
var searchControl = new ymaps.control.SearchControl(this.parameters);
/** @type {?} */
var request = this.searchRequest;
map.controls.add(searchControl);
if (request)
searchControl.search(request);
};
YandexSearchComponent.decorators = [

@@ -40,2 +59,2 @@ { type: Component, args: [{

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7SUFXdkQ7S0FBZ0I7Ozs7SUFDVCx3Q0FBUTs7Ozs7Z0JBVmhCLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUJBQ2I7Ozs7O2dDQUVFLEtBQUs7NkJBQ0wsS0FBSzs7Z0NBVFI7O1NBT2EscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7SUFXdkQ7S0FBZ0I7Ozs7SUFDVCx3Q0FBUTs7Ozs7Ozs7O0lBRVIsaURBQWlCOzs7OztjQUFDLEtBQVUsRUFBRSxHQUFROztRQUMzQyxJQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzs7UUFDdkUsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVuQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoQyxJQUFJLE9BQU87WUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDOzs7Z0JBakI5QyxTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzs7OztnQ0FFRSxLQUFLOzZCQUNMLEtBQUs7O2dDQVRSOztTQU9hLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1zZWFyY2gnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoUmVxdWVzdDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcGFyYW1ldGVyczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBwdWJsaWMgaW5pdFNlYXJjaENvbnRyb2woeW1hcHM6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDb250cm9sID0gbmV3IHltYXBzLmNvbnRyb2wuU2VhcmNoQ29udHJvbCh0aGlzLnBhcmFtZXRlcnMpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLnNlYXJjaFJlcXVlc3Q7XG5cbiAgICBtYXAuY29udHJvbHMuYWRkKHNlYXJjaENvbnRyb2wpO1xuICAgIGlmIChyZXF1ZXN0KSBzZWFyY2hDb250cm9sLnNlYXJjaChyZXF1ZXN0KTtcbiAgfVxufVxuIl19

@@ -11,3 +11,3 @@ /**

this._injector = _injector;
this._isMapInited$ = new Subject();
this._ymaps$ = new Subject();
this._apiKey = this._injector.get('API_KEY');

@@ -17,8 +17,8 @@ }

* Init ymaps script if it's not initiated
* Trigger map subject on script load
* Return ymaps subject
* @return {?}
*/
YandexMapService.prototype.initMap = /**
YandexMapService.prototype.initScript = /**
* Init ymaps script if it's not initiated
* Trigger map subject on script load
* Return ymaps subject
* @return {?}

@@ -28,12 +28,9 @@ */

var _this = this;
if (!this._isScriptInited) {
this._isScriptInited = true;
if (!this._scriptYmaps) {
this._loadScript();
this._scriptYmaps.onload = function () {
ymaps.ready(function () { return _this._ymaps$.next(ymaps); });
};
}
this._scriptYmaps.onload = function () {
ymaps.ready(function () {
_this._isMapInited$.next(true);
});
};
return this._isMapInited$;
return this._ymaps$;
};

@@ -51,87 +48,2 @@ /**

};
/**
* Create new Map class instance
* @param {?} mapId
* @param {?} state
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.createMap = /**
* Create new Map class instance
* @param {?} mapId
* @param {?} state
* @param {?} options
* @return {?}
*/
function (mapId, state, options) {
this._map = new ymaps.Map(mapId, state, options);
};
/**
* Add objects, controls on map
* @param {?} geometry
* @param {?} properties
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.addPlacemark = /**
* Add objects, controls on map
* @param {?} geometry
* @param {?} properties
* @param {?} options
* @return {?}
*/
function (geometry, properties, options) {
this._map.geoObjects
.add(new ymaps.Placemark(geometry, properties, options));
};
/**
* @param {?} model
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.addMultiroute = /**
* @param {?} model
* @param {?} options
* @return {?}
*/
function (model, options) {
this._map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(model, options));
};
/**
* @param {?} feature
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.addGeoObject = /**
* @param {?} feature
* @param {?} options
* @return {?}
*/
function (feature, options) {
this._map.geoObjects
.add(new ymaps.GeoObject(feature, options));
};
/**
* Create new SearchControl class instance with properies
* If searchRequest is provided -> force search in the current area
* @param {?} request
* @param {?} properties
* @return {?}
*/
YandexMapService.prototype.addSearchControl = /**
* Create new SearchControl class instance with properies
* If searchRequest is provided -> force search in the current area
* @param {?} request
* @param {?} properties
* @return {?}
*/
function (request, properties) {
/** @type {?} */
var searchControl = new ymaps.control.SearchControl(properties);
this._map.controls
.add(searchControl);
if (request)
searchControl.search(request);
};
YandexMapService.decorators = [

@@ -152,3 +64,3 @@ { type: Injectable, args: [{

/** @type {?} */
YandexMapService.prototype._isMapInited$;
YandexMapService.prototype._ymaps$;
/** @type {?} */

@@ -159,9 +71,5 @@ YandexMapService.prototype._scriptYmaps;

/** @type {?} */
YandexMapService.prototype._isScriptInited;
/** @type {?} */
YandexMapService.prototype._map;
/** @type {?} */
YandexMapService.prototype._injector;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW1hcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMveWFuZGV4LW1hcC95YW5kZXgtbWFwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7OztJQWU3QiwwQkFBb0IsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTs2QkFORyxJQUFJLE9BQU8sRUFBRTtRQU9yRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzlDOzs7Ozs7SUFNTSxrQ0FBTzs7Ozs7OztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHO1lBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQ1YsS0FBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0IsQ0FBQyxDQUFDO1NBQ0osQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQzs7Ozs7SUFHcEIsc0NBQVc7Ozs7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLDRDQUEwQyxJQUFJLENBQUMsT0FBTyxnQkFBYSxDQUFDO1FBQzVGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7Ozs7Ozs7O0lBU3hDLG9DQUFTOzs7Ozs7O2NBQUMsS0FBYSxFQUFFLEtBQVUsRUFBRSxPQUFZO1FBQ3RELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7Ozs7Ozs7OztJQU01Qyx1Q0FBWTs7Ozs7OztjQUFDLFFBQWEsRUFBRSxVQUFlLEVBQUUsT0FBWTtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7YUFDakIsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7SUFHdEQsd0NBQWE7Ozs7O2NBQUMsS0FBVSxFQUFFLE9BQVk7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO2FBQ2pCLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDOzs7Ozs7O0lBR3BELHVDQUFZOzs7OztjQUFDLE9BQVksRUFBRSxPQUFZO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTthQUNqQixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDOzs7Ozs7Ozs7SUFTekMsMkNBQWdCOzs7Ozs7O2NBQUMsT0FBZSxFQUFFLFVBQWU7O1FBQ3RELElBQU0sYUFBYSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO2FBQ2YsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRCLElBQUksT0FBTztZQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7OztnQkEvRTlDLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBUm9CLFFBQVE7OzsyQkFBN0I7O1NBU2EsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElZYW5kZXhNYXBTZXJ2aWNlIH0gZnJvbSAnLi95YW5kZXgtc2VydmljZS50eXBlJztcblxuZGVjbGFyZSBjb25zdCB5bWFwczogYW55O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNYXBTZXJ2aWNlIGltcGxlbWVudHMgSVlhbmRleE1hcFNlcnZpY2Uge1xuICBwcml2YXRlIF9pc01hcEluaXRlZCQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9zY3JpcHRZbWFwczogSFRNTFNjcmlwdEVsZW1lbnQ7XG4gIHByaXZhdGUgX2FwaUtleTogc3RyaW5nO1xuICBwcml2YXRlIF9pc1NjcmlwdEluaXRlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfbWFwOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5fYXBpS2V5ID0gdGhpcy5faW5qZWN0b3IuZ2V0KCdBUElfS0VZJyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdCB5bWFwcyBzY3JpcHQgaWYgaXQncyBub3QgaW5pdGlhdGVkXG4gICAqIFRyaWdnZXIgbWFwIHN1YmplY3Qgb24gc2NyaXB0IGxvYWRcbiAgICovXG4gIHB1YmxpYyBpbml0TWFwKCk6IFN1YmplY3Q8Ym9vbGVhbj4ge1xuICAgIGlmICghdGhpcy5faXNTY3JpcHRJbml0ZWQpIHtcbiAgICAgIHRoaXMuX2lzU2NyaXB0SW5pdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuX2xvYWRTY3JpcHQoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zY3JpcHRZbWFwcy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICB5bWFwcy5yZWFkeSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2lzTWFwSW5pdGVkJC5uZXh0KHRydWUpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLl9pc01hcEluaXRlZCQ7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkU2NyaXB0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NjcmlwdFltYXBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgdGhpcy5fc2NyaXB0WW1hcHMuc3JjID0gYGh0dHBzOi8vYXBpLW1hcHMueWFuZGV4LnJ1LzIuMS8/YXBpa2V5PSR7dGhpcy5fYXBpS2V5fSZsYW5nPXJ1X1JVYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX3NjcmlwdFltYXBzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbmV3IE1hcCBjbGFzcyBpbnN0YW5jZVxuICAgKiBAcGFyYW0gbWFwSWRcbiAgICogQHBhcmFtIHN0YXRlXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlTWFwKG1hcElkOiBzdHJpbmcsIHN0YXRlOiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX21hcCA9IG5ldyB5bWFwcy5NYXAobWFwSWQsIHN0YXRlLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgb2JqZWN0cywgY29udHJvbHMgb24gbWFwXG4gICAqL1xuICBwdWJsaWMgYWRkUGxhY2VtYXJrKGdlb21ldHJ5OiBhbnksIHByb3BlcnRpZXM6IGFueSwgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbWFwLmdlb09iamVjdHNcbiAgICAgIC5hZGQobmV3IHltYXBzLlBsYWNlbWFyayhnZW9tZXRyeSwgcHJvcGVydGllcywgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFkZE11bHRpcm91dGUobW9kZWw6IGFueSwgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbWFwLmdlb09iamVjdHNcbiAgICAgIC5hZGQobmV3IHltYXBzLm11bHRpUm91dGVyLk11bHRpUm91dGUobW9kZWwsIG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRHZW9PYmplY3QoZmVhdHVyZTogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMuR2VvT2JqZWN0KGZlYXR1cmUsIG9wdGlvbnMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbmV3IFNlYXJjaENvbnRyb2wgY2xhc3MgaW5zdGFuY2Ugd2l0aCBwcm9wZXJpZXNcbiAgICogSWYgc2VhcmNoUmVxdWVzdCBpcyBwcm92aWRlZCAtPiBmb3JjZSBzZWFyY2ggaW4gdGhlIGN1cnJlbnQgYXJlYVxuICAgKiBAcGFyYW0gcmVxdWVzdFxuICAgKiBAcGFyYW0gcHJvcGVydGllc1xuICAgKi9cbiAgcHVibGljIGFkZFNlYXJjaENvbnRyb2wocmVxdWVzdDogc3RyaW5nLCBwcm9wZXJ0aWVzOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hDb250cm9sID0gbmV3IHltYXBzLmNvbnRyb2wuU2VhcmNoQ29udHJvbChwcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX21hcC5jb250cm9sc1xuICAgICAgLmFkZChzZWFyY2hDb250cm9sKTtcblxuICAgIGlmIChyZXF1ZXN0KSBzZWFyY2hDb250cm9sLnNlYXJjaChyZXF1ZXN0KTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LW1hcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMveWFuZGV4LW1hcC95YW5kZXgtbWFwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7OztJQWE3QiwwQkFBb0IsU0FBbUI7UUFBbkIsY0FBUyxHQUFULFNBQVMsQ0FBVTt1QkFKckIsSUFBSSxPQUFPLEVBQU87UUFLbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUM5Qzs7Ozs7O0lBTU0scUNBQVU7Ozs7Ozs7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUc7Z0JBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUF4QixDQUF3QixDQUFDLENBQUM7YUFDN0MsQ0FBQztTQUNIO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDOzs7OztJQUdkLHNDQUFXOzs7O1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyw0Q0FBMEMsSUFBSSxDQUFDLE9BQU8sZ0JBQWEsQ0FBQztRQUM1RixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7OztnQkEvQmhELFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBUm9CLFFBQVE7OzsyQkFBN0I7O1NBU2EsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElZYW5kZXhNYXBTZXJ2aWNlIH0gZnJvbSAnLi95YW5kZXgtc2VydmljZS50eXBlJztcblxuZGVjbGFyZSBjb25zdCB5bWFwczogYW55O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNYXBTZXJ2aWNlIGltcGxlbWVudHMgSVlhbmRleE1hcFNlcnZpY2Uge1xuICBwcml2YXRlIF95bWFwcyQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gIHByaXZhdGUgX3NjcmlwdFltYXBzOiBIVE1MU2NyaXB0RWxlbWVudDtcbiAgcHJpdmF0ZSBfYXBpS2V5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5fYXBpS2V5ID0gdGhpcy5faW5qZWN0b3IuZ2V0KCdBUElfS0VZJyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdCB5bWFwcyBzY3JpcHQgaWYgaXQncyBub3QgaW5pdGlhdGVkXG4gICAqIFJldHVybiB5bWFwcyBzdWJqZWN0XG4gICAqL1xuICBwdWJsaWMgaW5pdFNjcmlwdCgpOiBTdWJqZWN0PGFueT4ge1xuICAgIGlmICghdGhpcy5fc2NyaXB0WW1hcHMpIHtcbiAgICAgIHRoaXMuX2xvYWRTY3JpcHQoKTtcblxuICAgICAgdGhpcy5fc2NyaXB0WW1hcHMub25sb2FkID0gKCkgPT4ge1xuICAgICAgICB5bWFwcy5yZWFkeSgoKSA9PiB0aGlzLl95bWFwcyQubmV4dCh5bWFwcykpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5feW1hcHMkO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9hZFNjcmlwdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zY3JpcHRZbWFwcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHRoaXMuX3NjcmlwdFltYXBzLnNyYyA9IGBodHRwczovL2FwaS1tYXBzLnlhbmRleC5ydS8yLjEvP2FwaWtleT0ke3RoaXMuX2FwaUtleX0mbGFuZz1ydV9SVWA7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl9zY3JpcHRZbWFwcyk7XG4gIH1cbn1cbiJdfQ==

@@ -10,14 +10,4 @@ /**

/** @type {?} */
IYandexMapService.prototype.initMap;
/** @type {?} */
IYandexMapService.prototype.createMap;
/** @type {?} */
IYandexMapService.prototype.addPlacemark;
/** @type {?} */
IYandexMapService.prototype.addMultiroute;
/** @type {?} */
IYandexMapService.prototype.addGeoObject;
/** @type {?} */
IYandexMapService.prototype.addSearchControl;
IYandexMapService.prototype.initScript;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXNlcnZpY2UudHlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3lhbmRleC1tYXAveWFuZGV4LXNlcnZpY2UudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElZYW5kZXhNYXBTZXJ2aWNlIHtcbiAgaW5pdE1hcCgpOiBTdWJqZWN0PGJvb2xlYW4+O1xuICBjcmVhdGVNYXAobWFwSWQ6IHN0cmluZywgc3RhdGU6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgYWRkUGxhY2VtYXJrKGdlb21ldHJ5OiBhbnksIHByb3BlcnRpZXM6IGFueSwgb3B0aW9uczogYW55KTogdm9pZDtcbiAgYWRkTXVsdGlyb3V0ZShtb2RlbDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICBhZGRHZW9PYmplY3QoZmVhdHVyZTogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkO1xuICBhZGRTZWFyY2hDb250cm9sKHJlcXVlc3Q6IHN0cmluZywgcHJvcGVydGllczogYW55KTogdm9pZFxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFuZGV4LXNlcnZpY2UudHlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3lhbmRleC1tYXAveWFuZGV4LXNlcnZpY2UudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElZYW5kZXhNYXBTZXJ2aWNlIHtcbiAgaW5pdFNjcmlwdCgpOiBTdWJqZWN0PGFueT47XG59XG4iXX0=

@@ -1,2 +0,2 @@

import { Injectable, Injector, Component, Input, ViewChild, ContentChildren, NgModule, defineInjectable, inject, INJECTOR } from '@angular/core';
import { Component, Input, Injectable, Injector, ViewChild, ContentChildren, NgModule, defineInjectable, inject, INJECTOR } from '@angular/core';
import { Subject } from 'rxjs';

@@ -10,106 +10,2 @@ import { take } from 'rxjs/operators';

*/
class YandexMapService {
/**
* @param {?} _injector
*/
constructor(_injector) {
this._injector = _injector;
this._isMapInited$ = new Subject();
this._apiKey = this._injector.get('API_KEY');
}
/**
* Init ymaps script if it's not initiated
* Trigger map subject on script load
* @return {?}
*/
initMap() {
if (!this._isScriptInited) {
this._isScriptInited = true;
this._loadScript();
}
this._scriptYmaps.onload = () => {
ymaps.ready(() => {
this._isMapInited$.next(true);
});
};
return this._isMapInited$;
}
/**
* @return {?}
*/
_loadScript() {
this._scriptYmaps = document.createElement('script');
this._scriptYmaps.src = `https://api-maps.yandex.ru/2.1/?apikey=${this._apiKey}&lang=ru_RU`;
document.body.appendChild(this._scriptYmaps);
}
/**
* Create new Map class instance
* @param {?} mapId
* @param {?} state
* @param {?} options
* @return {?}
*/
createMap(mapId, state, options) {
this._map = new ymaps.Map(mapId, state, options);
}
/**
* Add objects, controls on map
* @param {?} geometry
* @param {?} properties
* @param {?} options
* @return {?}
*/
addPlacemark(geometry, properties, options) {
this._map.geoObjects
.add(new ymaps.Placemark(geometry, properties, options));
}
/**
* @param {?} model
* @param {?} options
* @return {?}
*/
addMultiroute(model, options) {
this._map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(model, options));
}
/**
* @param {?} feature
* @param {?} options
* @return {?}
*/
addGeoObject(feature, options) {
this._map.geoObjects
.add(new ymaps.GeoObject(feature, options));
}
/**
* Create new SearchControl class instance with properies
* If searchRequest is provided -> force search in the current area
* @param {?} request
* @param {?} properties
* @return {?}
*/
addSearchControl(request, properties) {
/** @type {?} */
const searchControl = new ymaps.control.SearchControl(properties);
this._map.controls
.add(searchControl);
if (request)
searchControl.search(request);
}
}
YandexMapService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] },
];
/** @nocollapse */
YandexMapService.ctorParameters = () => [
{ type: Injector }
];
/** @nocollapse */ YandexMapService.ngInjectableDef = defineInjectable({ factory: function YandexMapService_Factory() { return new YandexMapService(inject(INJECTOR)); }, token: YandexMapService, providedIn: "root" });
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
class YandexPlacemarkComponent {

@@ -132,2 +28,13 @@ constructor() { }

}
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
initPlacemark(ymaps, map) {
/** @type {?} */
const placemark = new ymaps.Placemark(this.geometry, this.properties, this.options);
map.geoObjects.add(placemark);
return placemark;
}
}

@@ -170,2 +77,11 @@ YandexPlacemarkComponent.decorators = [

}
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
initMultiroute(ymaps, map) {
map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(Object.assign({}, this.model, { referencePoints: this.referencePoints }), this.options));
}
}

@@ -191,3 +107,3 @@ YandexMultirouteComponent.decorators = [

*/
class YandexGeoobjectComponent {
class YandexGeoObjectComponent {
constructor() { }

@@ -209,4 +125,13 @@ /**

}
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
initGeoObject(ymaps, map) {
map.geoObjects
.add(new ymaps.GeoObject(this.feature, this.options));
}
}
YandexGeoobjectComponent.decorators = [
YandexGeoObjectComponent.decorators = [
{ type: Component, args: [{

@@ -219,4 +144,4 @@ selector: 'angular-yandex-geoobject',

/** @nocollapse */
YandexGeoobjectComponent.ctorParameters = () => [];
YandexGeoobjectComponent.propDecorators = {
YandexGeoObjectComponent.ctorParameters = () => [];
YandexGeoObjectComponent.propDecorators = {
feature: [{ type: Input }],

@@ -236,2 +161,16 @@ options: [{ type: Input }]

ngOnInit() { }
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
initSearchControl(ymaps, map) {
/** @type {?} */
const searchControl = new ymaps.control.SearchControl(this.parameters);
/** @type {?} */
const request = this.searchRequest;
map.controls.add(searchControl);
if (request)
searchControl.search(request);
}
}

@@ -256,2 +195,49 @@ YandexSearchComponent.decorators = [

*/
class YandexMapService {
/**
* @param {?} _injector
*/
constructor(_injector) {
this._injector = _injector;
this._ymaps$ = new Subject();
this._apiKey = this._injector.get('API_KEY');
}
/**
* Init ymaps script if it's not initiated
* Return ymaps subject
* @return {?}
*/
initScript() {
if (!this._scriptYmaps) {
this._loadScript();
this._scriptYmaps.onload = () => {
ymaps.ready(() => this._ymaps$.next(ymaps));
};
}
return this._ymaps$;
}
/**
* @return {?}
*/
_loadScript() {
this._scriptYmaps = document.createElement('script');
this._scriptYmaps.src = `https://api-maps.yandex.ru/2.1/?apikey=${this._apiKey}&lang=ru_RU`;
document.body.appendChild(this._scriptYmaps);
}
}
YandexMapService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] },
];
/** @nocollapse */
YandexMapService.ctorParameters = () => [
{ type: Injector }
];
/** @nocollapse */ YandexMapService.ngInjectableDef = defineInjectable({ factory: function YandexMapService_Factory() { return new YandexMapService(inject(INJECTOR)); }, token: YandexMapService, providedIn: "root" });
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
class YandexMapComponent {

@@ -271,5 +257,11 @@ /**

ngOnInit() {
this._logErrors();
this._setUniqueMapIdOfMap();
this._createMapWithObjects();
this._logMapErrors();
this._setUniqueMapId();
this._yandexMapService.initScript()
.pipe(take(1))
.subscribe((ymaps) => {
/** @type {?} */
const map = this._createMap(ymaps);
this._addObjectsOnMap(ymaps, map);
});
}

@@ -279,3 +271,3 @@ /**

*/
_logErrors() {
_logMapErrors() {
if (!this.center) {

@@ -289,3 +281,3 @@ console.error('Map: center input is required.');

*/
_setUniqueMapIdOfMap() {
_setUniqueMapId() {
this._uniqueMapId = `f${(~~(Math.random() * 1e8)).toString(16)}`;

@@ -295,73 +287,47 @@ this.mapContainer.nativeElement.setAttribute('id', this._uniqueMapId);

/**
* @param {?} ymaps
* @return {?}
*/
_createMapWithObjects() {
this._yandexMapService.initMap()
.pipe(take(1))
.subscribe(() => {
this._combineInputs();
this._yandexMapService.createMap(this._uniqueMapId, this.state, this.options);
this._addObjectsOnMap();
});
_createMap(ymaps) {
return new ymaps.Map(this._uniqueMapId, Object.assign({}, this.state, { zoom: this.zoom, center: this.center }), this.options);
}
/**
* Combine separated inputs in objects required for API
* Add ymaps entities/objects on map
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
_combineInputs() {
// Map
this.state.zoom = this.zoom;
this.state.center = this.center;
// Multiroute
this.multiroutes.forEach((multiroute) => {
if (!multiroute.model)
multiroute.model = {};
multiroute.model.referencePoints = multiroute.referencePoints;
});
}
/**
* @return {?}
*/
_addObjectsOnMap() {
_addObjectsOnMap(ymaps, map) {
/** @type {?} */
const placemarks = [];
this.placemarks.forEach((placemark) => {
this._addPlacemark(placemark);
placemarks.push(placemark.initPlacemark(ymaps, map));
});
if (this.clusterer)
this._createClusterer(ymaps, map, placemarks);
// Multiroutes
this.multiroutes.forEach((multiroute) => {
this._addMultiroute(multiroute);
multiroute.initMultiroute(ymaps, map);
});
// GeoObjects
this.geoObjects.forEach((geoObject) => {
this._addGeoObject(geoObject);
geoObject.initGeoObject(ymaps, map);
});
if (this.searchControl.first)
this._addSearchControl(this.searchControl.first);
// SearchControls
this.searchControls.forEach((searchControl) => {
searchControl.initSearchControl(ymaps, map);
});
}
/**
* Add objects, controls on map
* @param {?} placemark
* @param {?} ymaps
* @param {?} map
* @param {?} geoObjects
* @return {?}
*/
_addPlacemark(placemark) {
this._yandexMapService.addPlacemark(placemark.geometry, placemark.properties, placemark.options);
_createClusterer(ymaps, map, geoObjects) {
/** @type {?} */
const clusterer = new ymaps.Clusterer(this.clusterer);
clusterer.add(geoObjects);
map.geoObjects.add(clusterer);
}
/**
* @param {?} multiroute
* @return {?}
*/
_addMultiroute(multiroute) {
this._yandexMapService.addMultiroute(multiroute.model, multiroute.options);
}
/**
* @param {?} geoObject
* @return {?}
*/
_addGeoObject(geoObject) {
this._yandexMapService.addGeoObject(geoObject.feature, geoObject.options);
}
/**
* @param {?} search
* @return {?}
*/
_addSearchControl(search) {
this._yandexMapService.addSearchControl(search.searchRequest, search.parameters);
}
}

@@ -383,8 +349,9 @@ YandexMapComponent.decorators = [

multiroutes: [{ type: ContentChildren, args: [YandexMultirouteComponent,] }],
geoObjects: [{ type: ContentChildren, args: [YandexGeoobjectComponent,] }],
searchControl: [{ type: ContentChildren, args: [YandexSearchComponent,] }],
geoObjects: [{ type: ContentChildren, args: [YandexGeoObjectComponent,] }],
searchControls: [{ type: ContentChildren, args: [YandexSearchComponent,] }],
center: [{ type: Input }],
zoom: [{ type: Input }],
state: [{ type: Input }],
options: [{ type: Input }]
options: [{ type: Input }],
clusterer: [{ type: Input }]
};

@@ -416,3 +383,3 @@

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -427,3 +394,3 @@ ],

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -444,4 +411,4 @@ ]

export { AngularYandexMapsModule, YandexGeoobjectComponent as ɵd, YandexMapComponent as ɵa, YandexMultirouteComponent as ɵc, YandexPlacemarkComponent as ɵb, YandexSearchComponent as ɵe, YandexMapService as ɵf };
export { AngularYandexMapsModule, YandexGeoObjectComponent as ɵd, YandexMapComponent as ɵa, YandexMultirouteComponent as ɵc, YandexPlacemarkComponent as ɵb, YandexSearchComponent as ɵe, YandexMapService as ɵf };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMuanMubWFwIiwic291cmNlcyI6WyJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZS50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LXBsYWNlbWFyay1jb21wb25lbnQveWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9jb21wb25lbnRzL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtc2VhcmNoLWNvbXBvbmVudC95YW5kZXgtc2VhcmNoLmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LW1hcC1jb21wb25lbnQveWFuZGV4LW1hcC5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9hbmd1bGFyLXlhbmRleC1tYXBzLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVlhbmRleE1hcFNlcnZpY2UgfSBmcm9tICcuL3lhbmRleC1zZXJ2aWNlLnR5cGUnO1xuXG5kZWNsYXJlIGNvbnN0IHltYXBzOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE1hcFNlcnZpY2UgaW1wbGVtZW50cyBJWWFuZGV4TWFwU2VydmljZSB7XG4gIHByaXZhdGUgX2lzTWFwSW5pdGVkJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX3NjcmlwdFltYXBzOiBIVE1MU2NyaXB0RWxlbWVudDtcbiAgcHJpdmF0ZSBfYXBpS2V5OiBzdHJpbmc7XG4gIHByaXZhdGUgX2lzU2NyaXB0SW5pdGVkOiBib29sZWFuO1xuICBwcml2YXRlIF9tYXA6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLl9hcGlLZXkgPSB0aGlzLl9pbmplY3Rvci5nZXQoJ0FQSV9LRVknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHltYXBzIHNjcmlwdCBpZiBpdCdzIG5vdCBpbml0aWF0ZWRcbiAgICogVHJpZ2dlciBtYXAgc3ViamVjdCBvbiBzY3JpcHQgbG9hZFxuICAgKi9cbiAgcHVibGljIGluaXRNYXAoKTogU3ViamVjdDxib29sZWFuPiB7XG4gICAgaWYgKCF0aGlzLl9pc1NjcmlwdEluaXRlZCkge1xuICAgICAgdGhpcy5faXNTY3JpcHRJbml0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fbG9hZFNjcmlwdCgpO1xuICAgIH1cblxuICAgIHRoaXMuX3NjcmlwdFltYXBzLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIHltYXBzLnJlYWR5KCgpID0+IHtcbiAgICAgICAgdGhpcy5faXNNYXBJbml0ZWQkLm5leHQodHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuX2lzTWFwSW5pdGVkJDtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRTY3JpcHQoKTogdm9pZCB7XG4gICAgdGhpcy5fc2NyaXB0WW1hcHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICB0aGlzLl9zY3JpcHRZbWFwcy5zcmMgPSBgaHR0cHM6Ly9hcGktbWFwcy55YW5kZXgucnUvMi4xLz9hcGlrZXk9JHt0aGlzLl9hcGlLZXl9Jmxhbmc9cnVfUlVgO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fc2NyaXB0WW1hcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgTWFwIGNsYXNzIGluc3RhbmNlXG4gICAqIEBwYXJhbSBtYXBJZFxuICAgKiBAcGFyYW0gc3RhdGVcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBjcmVhdGVNYXAobWFwSWQ6IHN0cmluZywgc3RhdGU6IGFueSwgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbWFwID0gbmV3IHltYXBzLk1hcChtYXBJZCwgc3RhdGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBvYmplY3RzLCBjb250cm9scyBvbiBtYXBcbiAgICovXG4gIHB1YmxpYyBhZGRQbGFjZW1hcmsoZ2VvbWV0cnk6IGFueSwgcHJvcGVydGllczogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMuUGxhY2VtYXJrKGdlb21ldHJ5LCBwcm9wZXJ0aWVzLCBvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgYWRkTXVsdGlyb3V0ZShtb2RlbDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMubXVsdGlSb3V0ZXIuTXVsdGlSb3V0ZShtb2RlbCwgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFkZEdlb09iamVjdChmZWF0dXJlOiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX21hcC5nZW9PYmplY3RzXG4gICAgICAuYWRkKG5ldyB5bWFwcy5HZW9PYmplY3QoZmVhdHVyZSwgb3B0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgU2VhcmNoQ29udHJvbCBjbGFzcyBpbnN0YW5jZSB3aXRoIHByb3Blcmllc1xuICAgKiBJZiBzZWFyY2hSZXF1ZXN0IGlzIHByb3ZpZGVkIC0+IGZvcmNlIHNlYXJjaCBpbiB0aGUgY3VycmVudCBhcmVhXG4gICAqIEBwYXJhbSByZXF1ZXN0XG4gICAqIEBwYXJhbSBwcm9wZXJ0aWVzXG4gICAqL1xuICBwdWJsaWMgYWRkU2VhcmNoQ29udHJvbChyZXF1ZXN0OiBzdHJpbmcsIHByb3BlcnRpZXM6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaENvbnRyb2wgPSBuZXcgeW1hcHMuY29udHJvbC5TZWFyY2hDb250cm9sKHByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fbWFwLmNvbnRyb2xzXG4gICAgICAuYWRkKHNlYXJjaENvbnRyb2wpO1xuXG4gICAgaWYgKHJlcXVlc3QpIHNlYXJjaENvbnRyb2wuc2VhcmNoKHJlcXVlc3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtcGxhY2VtYXJrJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGdlb21ldHJ5OiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBwcm9wZXJ0aWVzOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZ2VvbWV0cnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1BsYWNlbWFyazogZ2VvbWV0cnkgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmdlb21ldHJ5ID0gW107XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbXVsdGlyb3V0ZScsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgcmVmZXJlbmNlUG9pbnRzOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgbW9kZWw6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlUG9pbnRzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdNdWx0aXJvdXRlOiByZWZlcmVuY2VQb2ludHMgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLnJlZmVyZW5jZVBvaW50cyA9IFtdO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LWdlb29iamVjdCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleEdlb29iamVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmZWF0dXJlOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZmVhdHVyZSkge1xuICAgICAgY29uc29sZS5lcnJvcignR2VvT2JqZWN0czogZmVhdHVyZSBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuZmVhdHVyZSA9IHt9O1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBZYW5kZXhNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMveWFuZGV4LW1hcC95YW5kZXgtbWFwLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb29iamVjdENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbWFwJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwibWFwLWNvbnRhaW5lclwiICNtYXBDb250YWluZXI+PC9kaXY+YCxcbiAgc3R5bGVzOiBbYC5tYXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnbWFwQ29udGFpbmVyJykgcHVibGljIG1hcENvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQpIHBsYWNlbWFya3M6IFF1ZXJ5TGlzdDxZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleE11bHRpcm91dGVDb21wb25lbnQpIG11bHRpcm91dGVzOiBRdWVyeUxpc3Q8WWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50KSBnZW9PYmplY3RzOiBRdWVyeUxpc3Q8WWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhTZWFyY2hDb21wb25lbnQpIHNlYXJjaENvbnRyb2w6IFF1ZXJ5TGlzdDxZYW5kZXhTZWFyY2hDb21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjZW50ZXI6IEFycmF5PG51bWJlcj47XG4gIEBJbnB1dCgpIHB1YmxpYyB6b29tOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgcHVibGljIHN0YXRlOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gIHByaXZhdGUgX3VuaXF1ZU1hcElkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfeWFuZGV4TWFwU2VydmljZTogWWFuZGV4TWFwU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuXG4gICAgdGhpcy5fc2V0VW5pcXVlTWFwSWRPZk1hcCgpO1xuICAgIHRoaXMuX2NyZWF0ZU1hcFdpdGhPYmplY3RzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNlbnRlcikge1xuICAgICAgY29uc29sZS5lcnJvcignTWFwOiBjZW50ZXIgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmNlbnRlciA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFVuaXF1ZU1hcElkT2ZNYXAoKTogdm9pZCB7XG4gICAgdGhpcy5fdW5pcXVlTWFwSWQgPSBgZiR7KH5+KE1hdGgucmFuZG9tKCkgKiAxZTgpKS50b1N0cmluZygxNil9YDtcbiAgICB0aGlzLm1hcENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLl91bmlxdWVNYXBJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVNYXBXaXRoT2JqZWN0cygpOiB2b2lkIHtcbiAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmluaXRNYXAoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jb21iaW5lSW5wdXRzKCk7XG5cbiAgICAgICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5jcmVhdGVNYXAodGhpcy5fdW5pcXVlTWFwSWQsIHRoaXMuc3RhdGUsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIHRoaXMuX2FkZE9iamVjdHNPbk1hcCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tYmluZSBzZXBhcmF0ZWQgaW5wdXRzIGluIG9iamVjdHMgcmVxdWlyZWQgZm9yIEFQSVxuICAgKi9cbiAgcHJpdmF0ZSBfY29tYmluZUlucHV0cygpOiB2b2lkIHtcbiAgICAvLyBNYXBcbiAgICB0aGlzLnN0YXRlLnpvb20gPSB0aGlzLnpvb207XG4gICAgdGhpcy5zdGF0ZS5jZW50ZXIgPSB0aGlzLmNlbnRlcjtcblxuICAgIC8vIE11bHRpcm91dGVcbiAgICB0aGlzLm11bHRpcm91dGVzLmZvckVhY2goKG11bHRpcm91dGUpID0+IHtcbiAgICAgIGlmICghbXVsdGlyb3V0ZS5tb2RlbCkgbXVsdGlyb3V0ZS5tb2RlbCA9IHt9O1xuICAgICAgbXVsdGlyb3V0ZS5tb2RlbC5yZWZlcmVuY2VQb2ludHMgPSBtdWx0aXJvdXRlLnJlZmVyZW5jZVBvaW50cztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE9iamVjdHNPbk1hcCgpOiB2b2lkIHtcbiAgICB0aGlzLnBsYWNlbWFya3MuZm9yRWFjaCgocGxhY2VtYXJrKSA9PiB7XG4gICAgICB0aGlzLl9hZGRQbGFjZW1hcmsocGxhY2VtYXJrKTtcbiAgICB9KTtcblxuICAgIHRoaXMubXVsdGlyb3V0ZXMuZm9yRWFjaCgobXVsdGlyb3V0ZSkgPT4ge1xuICAgICAgdGhpcy5fYWRkTXVsdGlyb3V0ZShtdWx0aXJvdXRlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZ2VvT2JqZWN0cy5mb3JFYWNoKChnZW9PYmplY3QpID0+IHtcbiAgICAgIHRoaXMuX2FkZEdlb09iamVjdChnZW9PYmplY3QpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc2VhcmNoQ29udHJvbC5maXJzdCkgdGhpcy5fYWRkU2VhcmNoQ29udHJvbCh0aGlzLnNlYXJjaENvbnRyb2wuZmlyc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBvYmplY3RzLCBjb250cm9scyBvbiBtYXBcbiAgICovXG4gIHByaXZhdGUgX2FkZFBsYWNlbWFyayhwbGFjZW1hcms6IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuYWRkUGxhY2VtYXJrKHBsYWNlbWFyay5nZW9tZXRyeSwgcGxhY2VtYXJrLnByb3BlcnRpZXMsIHBsYWNlbWFyay5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE11bHRpcm91dGUobXVsdGlyb3V0ZTogWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuYWRkTXVsdGlyb3V0ZShtdWx0aXJvdXRlLm1vZGVsLCBtdWx0aXJvdXRlLm9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkR2VvT2JqZWN0KGdlb09iamVjdDogWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5hZGRHZW9PYmplY3QoZ2VvT2JqZWN0LmZlYXR1cmUsIGdlb09iamVjdC5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFNlYXJjaENvbnRyb2woc2VhcmNoOiBZYW5kZXhTZWFyY2hDb21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmFkZFNlYXJjaENvbnRyb2woc2VhcmNoLnNlYXJjaFJlcXVlc3QsIHNlYXJjaC5wYXJhbWV0ZXJzKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBZYW5kZXhNYXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LW1hcC1jb21wb25lbnQveWFuZGV4LW1hcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9jb3JlJztcbmltcG9ydCB7IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtcGxhY2VtYXJrLWNvbXBvbmVudC95YW5kZXgtcGxhY2VtYXJrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtc2VhcmNoLWNvbXBvbmVudC95YW5kZXgtc2VhcmNoLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFlhbmRleE1hcENvbXBvbmVudCxcbiAgICBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQsXG4gICAgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCxcbiAgICBZYW5kZXhHZW9vYmplY3RDb21wb25lbnQsXG4gICAgWWFuZGV4U2VhcmNoQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFlhbmRleE1hcENvbXBvbmVudCxcbiAgICBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQsXG4gICAgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCxcbiAgICBZYW5kZXhHZW9vYmplY3RDb21wb25lbnQsXG4gICAgWWFuZGV4U2VhcmNoQ29tcG9uZW50XG4gIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBBbmd1bGFyWWFuZGV4TWFwc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGFwaUtleTogc3RyaW5nKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyWWFuZGV4TWFwc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6ICdBUElfS0VZJywgdXNlVmFsdWU6IGFwaUtleSB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7O0lBZ0JFLFlBQW9CLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7NkJBTkcsSUFBSSxPQUFPLEVBQUU7UUFPckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUM5Qzs7Ozs7O0lBTU0sT0FBTztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHO1lBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FB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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMuanMubWFwIiwic291cmNlcyI6WyJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZS50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LW1hcC1jb21wb25lbnQveWFuZGV4LW1hcC5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9hbmd1bGFyLXlhbmRleC1tYXBzLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJUGxhY2VtYXJrIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1wbGFjZW1hcmsnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZ2VvbWV0cnk6IGFueTtcbiAgQElucHV0KCkgcHVibGljIHByb3BlcnRpZXM6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5nZW9tZXRyeSkge1xuICAgICAgY29uc29sZS5lcnJvcignUGxhY2VtYXJrOiBnZW9tZXRyeSBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuZ2VvbWV0cnkgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdFBsYWNlbWFyayh5bWFwczogYW55LCBtYXA6IGFueSk6IElQbGFjZW1hcmsge1xuICAgIGNvbnN0IHBsYWNlbWFyayA9IG5ldyB5bWFwcy5QbGFjZW1hcmsodGhpcy5nZW9tZXRyeSwgdGhpcy5wcm9wZXJ0aWVzLCB0aGlzLm9wdGlvbnMpO1xuXG4gICAgbWFwLmdlb09iamVjdHMuYWRkKHBsYWNlbWFyayk7XG4gICAgcmV0dXJuIHBsYWNlbWFyaztcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LW11bHRpcm91dGUnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHJlZmVyZW5jZVBvaW50czogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcHVibGljIG1vZGVsOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVBvaW50cykge1xuICAgICAgY29uc29sZS5lcnJvcignTXVsdGlyb3V0ZTogcmVmZXJlbmNlUG9pbnRzIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5yZWZlcmVuY2VQb2ludHMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdE11bHRpcm91dGUoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcbiAgICBtYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMubXVsdGlSb3V0ZXIuTXVsdGlSb3V0ZShcbiAgICAgICAgeyAuLi50aGlzLm1vZGVsLCByZWZlcmVuY2VQb2ludHM6IHRoaXMucmVmZXJlbmNlUG9pbnRzIH0sIHRoaXMub3B0aW9uc1xuICAgICAgKSk7XG4gIH1cbn1cbiIsImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1nZW9vYmplY3QnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhHZW9PYmplY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZmVhdHVyZTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZlYXR1cmUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0dlb09iamVjdHM6IGZlYXR1cmUgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmZlYXR1cmUgPSB7fTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdEdlb09iamVjdCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIG1hcC5nZW9PYmplY3RzXG4gICAgICAuYWRkKG5ldyB5bWFwcy5HZW9PYmplY3QodGhpcy5mZWF0dXJlLCB0aGlzLm9wdGlvbnMpKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBpbml0U2VhcmNoQ29udHJvbCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaENvbnRyb2wgPSBuZXcgeW1hcHMuY29udHJvbC5TZWFyY2hDb250cm9sKHRoaXMucGFyYW1ldGVycyk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuc2VhcmNoUmVxdWVzdDtcblxuICAgIG1hcC5jb250cm9scy5hZGQoc2VhcmNoQ29udHJvbCk7XG4gICAgaWYgKHJlcXVlc3QpIHNlYXJjaENvbnRyb2wuc2VhcmNoKHJlcXVlc3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVlhbmRleE1hcFNlcnZpY2UgfSBmcm9tICcuL3lhbmRleC1zZXJ2aWNlLnR5cGUnO1xuXG5kZWNsYXJlIGNvbnN0IHltYXBzOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE1hcFNlcnZpY2UgaW1wbGVtZW50cyBJWWFuZGV4TWFwU2VydmljZSB7XG4gIHByaXZhdGUgX3ltYXBzJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgcHJpdmF0ZSBfc2NyaXB0WW1hcHM6IEhUTUxTY3JpcHRFbGVtZW50O1xuICBwcml2YXRlIF9hcGlLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLl9hcGlLZXkgPSB0aGlzLl9pbmplY3Rvci5nZXQoJ0FQSV9LRVknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHltYXBzIHNjcmlwdCBpZiBpdCdzIG5vdCBpbml0aWF0ZWRcbiAgICogUmV0dXJuIHltYXBzIHN1YmplY3RcbiAgICovXG4gIHB1YmxpYyBpbml0U2NyaXB0KCk6IFN1YmplY3Q8YW55PiB7XG4gICAgaWYgKCF0aGlzLl9zY3JpcHRZbWFwcykge1xuICAgICAgdGhpcy5fbG9hZFNjcmlwdCgpO1xuXG4gICAgICB0aGlzLl9zY3JpcHRZbWFwcy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHltYXBzLnJlYWR5KCgpID0+IHRoaXMuX3ltYXBzJC5uZXh0KHltYXBzKSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl95bWFwcyQ7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkU2NyaXB0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NjcmlwdFltYXBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgdGhpcy5fc2NyaXB0WW1hcHMuc3JjID0gYGh0dHBzOi8vYXBpLW1hcHMueWFuZGV4LnJ1LzIuMS8/YXBpa2V5PSR7dGhpcy5fYXBpS2V5fSZsYW5nPXJ1X1JVYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX3NjcmlwdFltYXBzKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb09iamVjdENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuaW1wb3J0IHsgWWFuZGV4TWFwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3lhbmRleC1tYXAveWFuZGV4LW1hcC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbWFwJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwibWFwLWNvbnRhaW5lclwiICNtYXBDb250YWluZXI+PC9kaXY+YCxcbiAgc3R5bGVzOiBbYC5tYXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEdldCBNYXBDb250YWluZXIgJiBjb21wb25lbnRzIGluc2lkZSBNYXBDb250YWluZXJcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIHB1YmxpYyBtYXBDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50KSBwbGFjZW1hcmtzOiBRdWVyeUxpc3Q8WWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50KSBtdWx0aXJvdXRlczogUXVlcnlMaXN0PFlhbmRleE11bHRpcm91dGVDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleEdlb09iamVjdENvbXBvbmVudCkgZ2VvT2JqZWN0czogUXVlcnlMaXN0PFlhbmRleEdlb09iamVjdENvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4U2VhcmNoQ29tcG9uZW50KSBzZWFyY2hDb250cm9sczogUXVlcnlMaXN0PFlhbmRleFNlYXJjaENvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIE1hcCBpbnB1dHNcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBjZW50ZXI6IEFycmF5PG51bWJlcj47XG4gIEBJbnB1dCgpIHB1YmxpYyB6b29tOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgcHVibGljIHN0YXRlOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueSA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgY2x1c3RlcmVyOiBhbnk7XG5cbiAgcHJpdmF0ZSBfdW5pcXVlTWFwSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF95YW5kZXhNYXBTZXJ2aWNlOiBZYW5kZXhNYXBTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nTWFwRXJyb3JzKCk7XG4gICAgdGhpcy5fc2V0VW5pcXVlTWFwSWQoKTtcblxuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuaW5pdFNjcmlwdCgpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoeW1hcHM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBtYXAgPSB0aGlzLl9jcmVhdGVNYXAoeW1hcHMpO1xuICAgICAgICB0aGlzLl9hZGRPYmplY3RzT25NYXAoeW1hcHMsIG1hcCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ01hcEVycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2VudGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdNYXA6IGNlbnRlciBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuY2VudGVyID0gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VW5pcXVlTWFwSWQoKTogdm9pZCB7XG4gICAgdGhpcy5fdW5pcXVlTWFwSWQgPSBgZiR7KH5+KE1hdGgucmFuZG9tKCkgKiAxZTgpKS50b1N0cmluZygxNil9YDtcbiAgICB0aGlzLm1hcENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLl91bmlxdWVNYXBJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVNYXAoeW1hcHM6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyB5bWFwcy5NYXAoXG4gICAgICB0aGlzLl91bmlxdWVNYXBJZCwgeyAuLi50aGlzLnN0YXRlLCB6b29tOiB0aGlzLnpvb20sIGNlbnRlcjogdGhpcy5jZW50ZXIgfSwgdGhpcy5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgeW1hcHMgZW50aXRpZXMvb2JqZWN0cyBvbiBtYXBcbiAgICogQHBhcmFtIHltYXBzXG4gICAqIEBwYXJhbSBtYXBcbiAgICovXG4gIHByaXZhdGUgX2FkZE9iamVjdHNPbk1hcCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIC8vIFBsYWNlbWFya3Mgd2l0aCBjbHVzdGVyZXJcbiAgICBjb25zdCBwbGFjZW1hcmtzID0gW107XG5cbiAgICB0aGlzLnBsYWNlbWFya3MuZm9yRWFjaCgocGxhY2VtYXJrKSA9PiB7XG4gICAgICBwbGFjZW1hcmtzLnB1c2gocGxhY2VtYXJrLmluaXRQbGFjZW1hcmsoeW1hcHMsIG1hcCkpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY2x1c3RlcmVyKSB0aGlzLl9jcmVhdGVDbHVzdGVyZXIoeW1hcHMsIG1hcCwgcGxhY2VtYXJrcyk7XG5cbiAgICAvLyBNdWx0aXJvdXRlc1xuICAgIHRoaXMubXVsdGlyb3V0ZXMuZm9yRWFjaCgobXVsdGlyb3V0ZSkgPT4ge1xuICAgICAgbXVsdGlyb3V0ZS5pbml0TXVsdGlyb3V0ZSh5bWFwcywgbWFwKTtcbiAgICB9KTtcblxuICAgIC8vIEdlb09iamVjdHNcbiAgICB0aGlzLmdlb09iamVjdHMuZm9yRWFjaCgoZ2VvT2JqZWN0KSA9PiB7XG4gICAgICBnZW9PYmplY3QuaW5pdEdlb09iamVjdCh5bWFwcywgbWFwKTtcbiAgICB9KTtcblxuICAgIC8vIFNlYXJjaENvbnRyb2xzXG4gICAgdGhpcy5zZWFyY2hDb250cm9scy5mb3JFYWNoKChzZWFyY2hDb250cm9sKSA9PiB7XG4gICAgICBzZWFyY2hDb250cm9sLmluaXRTZWFyY2hDb250cm9sKHltYXBzLCBtYXApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2x1c3RlcmVyKHltYXBzOiBhbnksIG1hcDogYW55LCBnZW9PYmplY3RzOiBBcnJheTxhbnk+KSB7XG4gICAgY29uc3QgY2x1c3RlcmVyID0gbmV3IHltYXBzLkNsdXN0ZXJlcih0aGlzLmNsdXN0ZXJlcik7XG5cbiAgICBjbHVzdGVyZXIuYWRkKGdlb09iamVjdHMpO1xuICAgIG1hcC5nZW9PYmplY3RzLmFkZChjbHVzdGVyZXIpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFlhbmRleE1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtbWFwLWNvbXBvbmVudC95YW5kZXgtbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL2NvcmUnO1xuaW1wb3J0IHsgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LW11bHRpcm91dGUtY29tcG9uZW50L3lhbmRleC1tdWx0aXJvdXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhHZW9PYmplY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LWdlb29iamVjdC1jb21wb25lbnQveWFuZGV4LWdlb29iamVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4U2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgWWFuZGV4TWFwQ29tcG9uZW50LFxuICAgIFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCxcbiAgICBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50LFxuICAgIFlhbmRleEdlb09iamVjdENvbXBvbmVudCxcbiAgICBZYW5kZXhTZWFyY2hDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgWWFuZGV4TWFwQ29tcG9uZW50LFxuICAgIFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCxcbiAgICBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50LFxuICAgIFlhbmRleEdlb09iamVjdENvbXBvbmVudCxcbiAgICBZYW5kZXhTZWFyY2hDb21wb25lbnRcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJZYW5kZXhNYXBzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoYXBpS2V5OiBzdHJpbmcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJZYW5kZXhNYXBzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogJ0FQSV9LRVknLCB1c2VWYWx1ZTogYXBpS2V5IH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7SUFnQkUsaUJBQWdCOzs7O0lBRVQsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWixVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUNwQjs7Ozs7OztJQUdJLGFBQWEsQ0FBQyxLQUFVLEVBQUUsR0FBUTs7UUFDdkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEYsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsT0FBTyxTQUFTLENBQUM7Ozs7WUEzQnBCLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxRQUFRLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDYjs7Ozs7dUJBRUUsS0FBSzt5QkFDTCxLQUFLO3NCQUNMLEtBQUs7Ozs7Ozs7QUNkUjtJQVlFLGlCQUFpQjs7OztJQUVWLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Ozs7O0lBR1osVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUM7WUFDaEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7U0FDM0I7Ozs7Ozs7SUFHSSxjQUFjLENBQUMsS0FBVSxFQUFFLEdBQVE7UUFDeEMsR0FBRyxDQUFDLFVBQVU7YUFDWCxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsbUJBQzlCLElBQUksQ0FBQyxLQUFLLElBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlLEtBQUksSUFBSSxDQUFDLE9BQU8sQ0FDdkUsQ0FBQyxDQUFDOzs7O1lBM0JSLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDYjs7Ozs7OEJBRUUsS0FBSztvQkFDTCxLQUFLO3NCQUNMLEtBQUs7Ozs7Ozs7QUNWUjtJQVdFLGlCQUFnQjs7OztJQUVULFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Ozs7O0lBR1osVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7U0FDbkI7Ozs7Ozs7SUFHSSxhQUFhLENBQUMsS0FBVSxFQUFFLEdBQVE7UUFDdkMsR0FBRyxDQUFDLFVBQVU7YUFDWCxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Ozs7WUF4QjNELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMEJBQTBCO2dCQUNwQyxRQUFRLEVBQUUsRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDYjs7Ozs7c0JBRUUsS0FBSztzQkFDTCxLQUFLOzs7Ozs7O0FDVFI7SUFXRSxpQkFBZ0I7Ozs7SUFDVCxRQUFROzs7Ozs7SUFFUixpQkFBaUIsQ0FBQyxLQUFVLEVBQUUsR0FBUTs7UUFDM0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7O1FBQ3ZFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFFbkMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsSUFBSSxPQUFPO1lBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzs7OztZQWpCOUMsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUNiOzs7Ozs0QkFFRSxLQUFLO3lCQUNMLEtBQUs7Ozs7Ozs7QUNUUjs7OztJQWNFLFlBQW9CLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7dUJBSnJCLElBQUksT0FBTyxFQUFPO1FBS2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDOUM7Ozs7OztJQU1NLFVBQVU7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFFbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUc7Z0JBQ3pCLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQzdDLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQzs7Ozs7SUFHZCxXQUFXO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRywwQ0FBMEMsSUFBSSxDQUFDLE9BQU8sYUFBYSxDQUFDO1FBQzVGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7OztZQS9CaEQsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBUm9CLFFBQVE7Ozs7Ozs7O0FDQTdCOzs7O0lBcUNFLFlBQW9CLGlCQUFtQztRQUFuQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO29CQVB4QixFQUFFO3FCQUNKLEVBQUU7dUJBQ0EsRUFBRTtLQUsyQjs7OztJQUVyRCxRQUFRO1FBQ2IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFO2FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxLQUFVOztZQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDbkMsQ0FBQyxDQUFDOzs7OztJQUdDLGFBQWE7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2xCOzs7OztJQUdLLGVBQWU7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7Ozs7O0lBR2hFLFVBQVUsQ0FBQyxLQUFVO1FBQzNCLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsWUFBWSxvQkFBTyxJQUFJLENBQUMsS0FBSyxJQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxLQUFJLElBQUksQ0FBQyxPQUFPLENBQ3pGLENBQUM7Ozs7Ozs7O0lBUUksZ0JBQWdCLENBQUMsS0FBVSxFQUFFLEdBQVE7O1FBRTNDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUV0QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVM7WUFDaEMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RELENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFNBQVM7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQzs7UUFHbEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVO1lBQ2xDLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZDLENBQUMsQ0FBQzs7UUFHSCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVM7WUFDaEMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDckMsQ0FBQyxDQUFDOztRQUdILElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYTtZQUN4QyxhQUFhLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzdDLENBQUMsQ0FBQzs7Ozs7Ozs7SUFHRyxnQkFBZ0IsQ0FBQyxLQUFVLEVBQUUsR0FBUSxFQUFFLFVBQXNCOztRQUNuRSxNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRELFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7Ozs7WUE3RmpDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixRQUFRLEVBQUUsaURBQWlEO2dCQUMzRCxNQUFNLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQzthQUNuRDs7OztZQVJRLGdCQUFnQjs7OzJCQWF0QixTQUFTLFNBQUMsY0FBYzt5QkFDeEIsZUFBZSxTQUFDLHdCQUF3QjswQkFDeEMsZUFBZSxTQUFDLHlCQUF5Qjt5QkFDekMsZUFBZSxTQUFDLHdCQUF3Qjs2QkFDeEMsZUFBZSxTQUFDLHFCQUFxQjtxQkFLckMsS0FBSzttQkFDTCxLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSzt3QkFDTCxLQUFLOzs7Ozs7O0FDakNSOzs7OztJQThCRSxPQUFPLE9BQU8sQ0FBQyxNQUFjO1FBQzNCLE9BQU87WUFDTCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUN6QztTQUNGLENBQUM7S0FDSDs7O1lBNUJGLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osa0JBQWtCO29CQUNsQix3QkFBd0I7b0JBQ3hCLHlCQUF5QjtvQkFDekIsd0JBQXdCO29CQUN4QixxQkFBcUI7aUJBQ3RCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO2lCQUNiO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix3QkFBd0I7b0JBQ3hCLHFCQUFxQjtpQkFDdEI7YUFDRjs7Ozs7Ozs7Ozs7Ozs7OyJ9

@@ -1,2 +0,3 @@

import { Injectable, Injector, Component, Input, ViewChild, ContentChildren, NgModule, defineInjectable, inject, INJECTOR } from '@angular/core';
import { Component, Input, Injectable, Injector, NgModule, defineInjectable, inject, INJECTOR, ViewChild, ContentChildren } from '@angular/core';
import { __assign } from 'tslib';
import { Subject } from 'rxjs';

@@ -10,144 +11,2 @@ import { take } from 'rxjs/operators';

*/
var YandexMapService = /** @class */ (function () {
function YandexMapService(_injector) {
this._injector = _injector;
this._isMapInited$ = new Subject();
this._apiKey = this._injector.get('API_KEY');
}
/**
* Init ymaps script if it's not initiated
* Trigger map subject on script load
* @return {?}
*/
YandexMapService.prototype.initMap = /**
* Init ymaps script if it's not initiated
* Trigger map subject on script load
* @return {?}
*/
function () {
var _this = this;
if (!this._isScriptInited) {
this._isScriptInited = true;
this._loadScript();
}
this._scriptYmaps.onload = function () {
ymaps.ready(function () {
_this._isMapInited$.next(true);
});
};
return this._isMapInited$;
};
/**
* @return {?}
*/
YandexMapService.prototype._loadScript = /**
* @return {?}
*/
function () {
this._scriptYmaps = document.createElement('script');
this._scriptYmaps.src = "https://api-maps.yandex.ru/2.1/?apikey=" + this._apiKey + "&lang=ru_RU";
document.body.appendChild(this._scriptYmaps);
};
/**
* Create new Map class instance
* @param {?} mapId
* @param {?} state
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.createMap = /**
* Create new Map class instance
* @param {?} mapId
* @param {?} state
* @param {?} options
* @return {?}
*/
function (mapId, state, options) {
this._map = new ymaps.Map(mapId, state, options);
};
/**
* Add objects, controls on map
* @param {?} geometry
* @param {?} properties
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.addPlacemark = /**
* Add objects, controls on map
* @param {?} geometry
* @param {?} properties
* @param {?} options
* @return {?}
*/
function (geometry, properties, options) {
this._map.geoObjects
.add(new ymaps.Placemark(geometry, properties, options));
};
/**
* @param {?} model
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.addMultiroute = /**
* @param {?} model
* @param {?} options
* @return {?}
*/
function (model, options) {
this._map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(model, options));
};
/**
* @param {?} feature
* @param {?} options
* @return {?}
*/
YandexMapService.prototype.addGeoObject = /**
* @param {?} feature
* @param {?} options
* @return {?}
*/
function (feature, options) {
this._map.geoObjects
.add(new ymaps.GeoObject(feature, options));
};
/**
* Create new SearchControl class instance with properies
* If searchRequest is provided -> force search in the current area
* @param {?} request
* @param {?} properties
* @return {?}
*/
YandexMapService.prototype.addSearchControl = /**
* Create new SearchControl class instance with properies
* If searchRequest is provided -> force search in the current area
* @param {?} request
* @param {?} properties
* @return {?}
*/
function (request, properties) {
/** @type {?} */
var searchControl = new ymaps.control.SearchControl(properties);
this._map.controls
.add(searchControl);
if (request)
searchControl.search(request);
};
YandexMapService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] },
];
/** @nocollapse */
YandexMapService.ctorParameters = function () { return [
{ type: Injector }
]; };
/** @nocollapse */ YandexMapService.ngInjectableDef = defineInjectable({ factory: function YandexMapService_Factory() { return new YandexMapService(inject(INJECTOR)); }, token: YandexMapService, providedIn: "root" });
return YandexMapService;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var YandexPlacemarkComponent = /** @class */ (function () {

@@ -177,2 +36,18 @@ function YandexPlacemarkComponent() {

};
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexPlacemarkComponent.prototype.initPlacemark = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
/** @type {?} */
var placemark = new ymaps.Placemark(this.geometry, this.properties, this.options);
map.geoObjects.add(placemark);
return placemark;
};
YandexPlacemarkComponent.decorators = [

@@ -223,2 +98,16 @@ { type: Component, args: [{

};
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexMultirouteComponent.prototype.initMultiroute = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
map.geoObjects
.add(new ymaps.multiRouter.MultiRoute(__assign({}, this.model, { referencePoints: this.referencePoints }), this.options));
};
YandexMultirouteComponent.decorators = [

@@ -245,4 +134,4 @@ { type: Component, args: [{

*/
var YandexGeoobjectComponent = /** @class */ (function () {
function YandexGeoobjectComponent() {
var YandexGeoObjectComponent = /** @class */ (function () {
function YandexGeoObjectComponent() {
}

@@ -252,3 +141,3 @@ /**

*/
YandexGeoobjectComponent.prototype.ngOnInit = /**
YandexGeoObjectComponent.prototype.ngOnInit = /**
* @return {?}

@@ -262,3 +151,3 @@ */

*/
YandexGeoobjectComponent.prototype._logErrors = /**
YandexGeoObjectComponent.prototype._logErrors = /**
* @return {?}

@@ -272,3 +161,17 @@ */

};
YandexGeoobjectComponent.decorators = [
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexGeoObjectComponent.prototype.initGeoObject = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
map.geoObjects
.add(new ymaps.GeoObject(this.feature, this.options));
};
YandexGeoObjectComponent.decorators = [
{ type: Component, args: [{

@@ -281,8 +184,8 @@ selector: 'angular-yandex-geoobject',

/** @nocollapse */
YandexGeoobjectComponent.ctorParameters = function () { return []; };
YandexGeoobjectComponent.propDecorators = {
YandexGeoObjectComponent.ctorParameters = function () { return []; };
YandexGeoObjectComponent.propDecorators = {
feature: [{ type: Input }],
options: [{ type: Input }]
};
return YandexGeoobjectComponent;
return YandexGeoObjectComponent;
}());

@@ -304,2 +207,21 @@

function () { };
/**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexSearchComponent.prototype.initSearchControl = /**
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function (ymaps, map) {
/** @type {?} */
var searchControl = new ymaps.control.SearchControl(this.parameters);
/** @type {?} */
var request = this.searchRequest;
map.controls.add(searchControl);
if (request)
searchControl.search(request);
};
YandexSearchComponent.decorators = [

@@ -325,2 +247,56 @@ { type: Component, args: [{

*/
var YandexMapService = /** @class */ (function () {
function YandexMapService(_injector) {
this._injector = _injector;
this._ymaps$ = new Subject();
this._apiKey = this._injector.get('API_KEY');
}
/**
* Init ymaps script if it's not initiated
* Return ymaps subject
* @return {?}
*/
YandexMapService.prototype.initScript = /**
* Init ymaps script if it's not initiated
* Return ymaps subject
* @return {?}
*/
function () {
var _this = this;
if (!this._scriptYmaps) {
this._loadScript();
this._scriptYmaps.onload = function () {
ymaps.ready(function () { return _this._ymaps$.next(ymaps); });
};
}
return this._ymaps$;
};
/**
* @return {?}
*/
YandexMapService.prototype._loadScript = /**
* @return {?}
*/
function () {
this._scriptYmaps = document.createElement('script');
this._scriptYmaps.src = "https://api-maps.yandex.ru/2.1/?apikey=" + this._apiKey + "&lang=ru_RU";
document.body.appendChild(this._scriptYmaps);
};
YandexMapService.decorators = [
{ type: Injectable, args: [{
providedIn: 'root'
},] },
];
/** @nocollapse */
YandexMapService.ctorParameters = function () { return [
{ type: Injector }
]; };
/** @nocollapse */ YandexMapService.ngInjectableDef = defineInjectable({ factory: function YandexMapService_Factory() { return new YandexMapService(inject(INJECTOR)); }, token: YandexMapService, providedIn: "root" });
return YandexMapService;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
var YandexMapComponent = /** @class */ (function () {

@@ -340,5 +316,12 @@ function YandexMapComponent(_yandexMapService) {

function () {
this._logErrors();
this._setUniqueMapIdOfMap();
this._createMapWithObjects();
var _this = this;
this._logMapErrors();
this._setUniqueMapId();
this._yandexMapService.initScript()
.pipe(take(1))
.subscribe(function (ymaps) {
/** @type {?} */
var map = _this._createMap(ymaps);
_this._addObjectsOnMap(ymaps, map);
});
};

@@ -348,3 +331,3 @@ /**

*/
YandexMapComponent.prototype._logErrors = /**
YandexMapComponent.prototype._logMapErrors = /**
* @return {?}

@@ -361,3 +344,3 @@ */

*/
YandexMapComponent.prototype._setUniqueMapIdOfMap = /**
YandexMapComponent.prototype._setUniqueMapId = /**
* @return {?}

@@ -370,102 +353,63 @@ */

/**
* @param {?} ymaps
* @return {?}
*/
YandexMapComponent.prototype._createMapWithObjects = /**
YandexMapComponent.prototype._createMap = /**
* @param {?} ymaps
* @return {?}
*/
function () {
var _this = this;
this._yandexMapService.initMap()
.pipe(take(1))
.subscribe(function () {
_this._combineInputs();
_this._yandexMapService.createMap(_this._uniqueMapId, _this.state, _this.options);
_this._addObjectsOnMap();
});
function (ymaps) {
return new ymaps.Map(this._uniqueMapId, __assign({}, this.state, { zoom: this.zoom, center: this.center }), this.options);
};
/**
* Combine separated inputs in objects required for API
* Add ymaps entities/objects on map
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
YandexMapComponent.prototype._combineInputs = /**
* Combine separated inputs in objects required for API
* @return {?}
*/
function () {
// Map
this.state.zoom = this.zoom;
this.state.center = this.center;
// Multiroute
this.multiroutes.forEach(function (multiroute) {
if (!multiroute.model)
multiroute.model = {};
multiroute.model.referencePoints = multiroute.referencePoints;
});
};
/**
* @return {?}
*/
YandexMapComponent.prototype._addObjectsOnMap = /**
* Add ymaps entities/objects on map
* @param {?} ymaps
* @param {?} map
* @return {?}
*/
function () {
var _this = this;
function (ymaps, map) {
/** @type {?} */
var placemarks = [];
this.placemarks.forEach(function (placemark) {
_this._addPlacemark(placemark);
placemarks.push(placemark.initPlacemark(ymaps, map));
});
if (this.clusterer)
this._createClusterer(ymaps, map, placemarks);
// Multiroutes
this.multiroutes.forEach(function (multiroute) {
_this._addMultiroute(multiroute);
multiroute.initMultiroute(ymaps, map);
});
// GeoObjects
this.geoObjects.forEach(function (geoObject) {
_this._addGeoObject(geoObject);
geoObject.initGeoObject(ymaps, map);
});
if (this.searchControl.first)
this._addSearchControl(this.searchControl.first);
// SearchControls
this.searchControls.forEach(function (searchControl) {
searchControl.initSearchControl(ymaps, map);
});
};
/**
* Add objects, controls on map
* @param {?} placemark
* @param {?} ymaps
* @param {?} map
* @param {?} geoObjects
* @return {?}
*/
YandexMapComponent.prototype._addPlacemark = /**
* Add objects, controls on map
* @param {?} placemark
YandexMapComponent.prototype._createClusterer = /**
* @param {?} ymaps
* @param {?} map
* @param {?} geoObjects
* @return {?}
*/
function (placemark) {
this._yandexMapService.addPlacemark(placemark.geometry, placemark.properties, placemark.options);
function (ymaps, map, geoObjects) {
/** @type {?} */
var clusterer = new ymaps.Clusterer(this.clusterer);
clusterer.add(geoObjects);
map.geoObjects.add(clusterer);
};
/**
* @param {?} multiroute
* @return {?}
*/
YandexMapComponent.prototype._addMultiroute = /**
* @param {?} multiroute
* @return {?}
*/
function (multiroute) {
this._yandexMapService.addMultiroute(multiroute.model, multiroute.options);
};
/**
* @param {?} geoObject
* @return {?}
*/
YandexMapComponent.prototype._addGeoObject = /**
* @param {?} geoObject
* @return {?}
*/
function (geoObject) {
this._yandexMapService.addGeoObject(geoObject.feature, geoObject.options);
};
/**
* @param {?} search
* @return {?}
*/
YandexMapComponent.prototype._addSearchControl = /**
* @param {?} search
* @return {?}
*/
function (search) {
this._yandexMapService.addSearchControl(search.searchRequest, search.parameters);
};
YandexMapComponent.decorators = [

@@ -486,8 +430,9 @@ { type: Component, args: [{

multiroutes: [{ type: ContentChildren, args: [YandexMultirouteComponent,] }],
geoObjects: [{ type: ContentChildren, args: [YandexGeoobjectComponent,] }],
searchControl: [{ type: ContentChildren, args: [YandexSearchComponent,] }],
geoObjects: [{ type: ContentChildren, args: [YandexGeoObjectComponent,] }],
searchControls: [{ type: ContentChildren, args: [YandexSearchComponent,] }],
center: [{ type: Input }],
zoom: [{ type: Input }],
state: [{ type: Input }],
options: [{ type: Input }]
options: [{ type: Input }],
clusterer: [{ type: Input }]
};

@@ -526,3 +471,3 @@ return YandexMapComponent;

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -537,3 +482,3 @@ ],

YandexMultirouteComponent,
YandexGeoobjectComponent,
YandexGeoObjectComponent,
YandexSearchComponent

@@ -556,4 +501,4 @@ ]

export { AngularYandexMapsModule, YandexGeoobjectComponent as ɵd, YandexMapComponent as ɵa, YandexMultirouteComponent as ɵc, YandexPlacemarkComponent as ɵb, YandexSearchComponent as ɵe, YandexMapService as ɵf };
export { AngularYandexMapsModule, YandexGeoObjectComponent as ɵd, YandexMapComponent as ɵa, YandexMultirouteComponent as ɵc, YandexPlacemarkComponent as ɵb, YandexSearchComponent as ɵe, YandexMapService as ɵf };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMuanMubWFwIiwic291cmNlcyI6WyJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZS50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LXBsYWNlbWFyay1jb21wb25lbnQveWFuZGV4LXBsYWNlbWFyay5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9jb21wb25lbnRzL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtc2VhcmNoLWNvbXBvbmVudC95YW5kZXgtc2VhcmNoLmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LW1hcC1jb21wb25lbnQveWFuZGV4LW1hcC5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9hbmd1bGFyLXlhbmRleC1tYXBzLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVlhbmRleE1hcFNlcnZpY2UgfSBmcm9tICcuL3lhbmRleC1zZXJ2aWNlLnR5cGUnO1xuXG5kZWNsYXJlIGNvbnN0IHltYXBzOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE1hcFNlcnZpY2UgaW1wbGVtZW50cyBJWWFuZGV4TWFwU2VydmljZSB7XG4gIHByaXZhdGUgX2lzTWFwSW5pdGVkJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX3NjcmlwdFltYXBzOiBIVE1MU2NyaXB0RWxlbWVudDtcbiAgcHJpdmF0ZSBfYXBpS2V5OiBzdHJpbmc7XG4gIHByaXZhdGUgX2lzU2NyaXB0SW5pdGVkOiBib29sZWFuO1xuICBwcml2YXRlIF9tYXA6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLl9hcGlLZXkgPSB0aGlzLl9pbmplY3Rvci5nZXQoJ0FQSV9LRVknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHltYXBzIHNjcmlwdCBpZiBpdCdzIG5vdCBpbml0aWF0ZWRcbiAgICogVHJpZ2dlciBtYXAgc3ViamVjdCBvbiBzY3JpcHQgbG9hZFxuICAgKi9cbiAgcHVibGljIGluaXRNYXAoKTogU3ViamVjdDxib29sZWFuPiB7XG4gICAgaWYgKCF0aGlzLl9pc1NjcmlwdEluaXRlZCkge1xuICAgICAgdGhpcy5faXNTY3JpcHRJbml0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fbG9hZFNjcmlwdCgpO1xuICAgIH1cblxuICAgIHRoaXMuX3NjcmlwdFltYXBzLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgIHltYXBzLnJlYWR5KCgpID0+IHtcbiAgICAgICAgdGhpcy5faXNNYXBJbml0ZWQkLm5leHQodHJ1ZSk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuX2lzTWFwSW5pdGVkJDtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWRTY3JpcHQoKTogdm9pZCB7XG4gICAgdGhpcy5fc2NyaXB0WW1hcHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICB0aGlzLl9zY3JpcHRZbWFwcy5zcmMgPSBgaHR0cHM6Ly9hcGktbWFwcy55YW5kZXgucnUvMi4xLz9hcGlrZXk9JHt0aGlzLl9hcGlLZXl9Jmxhbmc9cnVfUlVgO1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5fc2NyaXB0WW1hcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgTWFwIGNsYXNzIGluc3RhbmNlXG4gICAqIEBwYXJhbSBtYXBJZFxuICAgKiBAcGFyYW0gc3RhdGVcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBjcmVhdGVNYXAobWFwSWQ6IHN0cmluZywgc3RhdGU6IGFueSwgb3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbWFwID0gbmV3IHltYXBzLk1hcChtYXBJZCwgc3RhdGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBvYmplY3RzLCBjb250cm9scyBvbiBtYXBcbiAgICovXG4gIHB1YmxpYyBhZGRQbGFjZW1hcmsoZ2VvbWV0cnk6IGFueSwgcHJvcGVydGllczogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMuUGxhY2VtYXJrKGdlb21ldHJ5LCBwcm9wZXJ0aWVzLCBvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgYWRkTXVsdGlyb3V0ZShtb2RlbDogYW55LCBvcHRpb25zOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMubXVsdGlSb3V0ZXIuTXVsdGlSb3V0ZShtb2RlbCwgb3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFkZEdlb09iamVjdChmZWF0dXJlOiBhbnksIG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX21hcC5nZW9PYmplY3RzXG4gICAgICAuYWRkKG5ldyB5bWFwcy5HZW9PYmplY3QoZmVhdHVyZSwgb3B0aW9ucykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBuZXcgU2VhcmNoQ29udHJvbCBjbGFzcyBpbnN0YW5jZSB3aXRoIHByb3Blcmllc1xuICAgKiBJZiBzZWFyY2hSZXF1ZXN0IGlzIHByb3ZpZGVkIC0+IGZvcmNlIHNlYXJjaCBpbiB0aGUgY3VycmVudCBhcmVhXG4gICAqIEBwYXJhbSByZXF1ZXN0XG4gICAqIEBwYXJhbSBwcm9wZXJ0aWVzXG4gICAqL1xuICBwdWJsaWMgYWRkU2VhcmNoQ29udHJvbChyZXF1ZXN0OiBzdHJpbmcsIHByb3BlcnRpZXM6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaENvbnRyb2wgPSBuZXcgeW1hcHMuY29udHJvbC5TZWFyY2hDb250cm9sKHByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fbWFwLmNvbnRyb2xzXG4gICAgICAuYWRkKHNlYXJjaENvbnRyb2wpO1xuXG4gICAgaWYgKHJlcXVlc3QpIHNlYXJjaENvbnRyb2wuc2VhcmNoKHJlcXVlc3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtcGxhY2VtYXJrJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBzdHlsZXM6IFtgYF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGdlb21ldHJ5OiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBwcm9wZXJ0aWVzOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZ2VvbWV0cnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1BsYWNlbWFyazogZ2VvbWV0cnkgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmdlb21ldHJ5ID0gW107XG4gICAgfVxuICB9XG59XG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbXVsdGlyb3V0ZScsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgcmVmZXJlbmNlUG9pbnRzOiBBcnJheTxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgbW9kZWw6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlUG9pbnRzKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdNdWx0aXJvdXRlOiByZWZlcmVuY2VQb2ludHMgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLnJlZmVyZW5jZVBvaW50cyA9IFtdO1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LWdlb29iamVjdCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleEdlb29iamVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBmZWF0dXJlOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZmVhdHVyZSkge1xuICAgICAgY29uc29sZS5lcnJvcignR2VvT2JqZWN0czogZmVhdHVyZSBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuZmVhdHVyZSA9IHt9O1xuICAgIH1cbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBZYW5kZXhNYXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMveWFuZGV4LW1hcC95YW5kZXgtbWFwLnNlcnZpY2UnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb29iamVjdENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbWFwJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwibWFwLWNvbnRhaW5lclwiICNtYXBDb250YWluZXI+PC9kaXY+YCxcbiAgc3R5bGVzOiBbYC5tYXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnbWFwQ29udGFpbmVyJykgcHVibGljIG1hcENvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQpIHBsYWNlbWFya3M6IFF1ZXJ5TGlzdDxZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleE11bHRpcm91dGVDb21wb25lbnQpIG11bHRpcm91dGVzOiBRdWVyeUxpc3Q8WWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50KSBnZW9PYmplY3RzOiBRdWVyeUxpc3Q8WWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhTZWFyY2hDb21wb25lbnQpIHNlYXJjaENvbnRyb2w6IFF1ZXJ5TGlzdDxZYW5kZXhTZWFyY2hDb21wb25lbnQ+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjZW50ZXI6IEFycmF5PG51bWJlcj47XG4gIEBJbnB1dCgpIHB1YmxpYyB6b29tOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgcHVibGljIHN0YXRlOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueSA9IHt9O1xuXG4gIHByaXZhdGUgX3VuaXF1ZU1hcElkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfeWFuZGV4TWFwU2VydmljZTogWWFuZGV4TWFwU2VydmljZSkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuXG4gICAgdGhpcy5fc2V0VW5pcXVlTWFwSWRPZk1hcCgpO1xuICAgIHRoaXMuX2NyZWF0ZU1hcFdpdGhPYmplY3RzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNlbnRlcikge1xuICAgICAgY29uc29sZS5lcnJvcignTWFwOiBjZW50ZXIgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmNlbnRlciA9IFtdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFVuaXF1ZU1hcElkT2ZNYXAoKTogdm9pZCB7XG4gICAgdGhpcy5fdW5pcXVlTWFwSWQgPSBgZiR7KH5+KE1hdGgucmFuZG9tKCkgKiAxZTgpKS50b1N0cmluZygxNil9YDtcbiAgICB0aGlzLm1hcENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLl91bmlxdWVNYXBJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVNYXBXaXRoT2JqZWN0cygpOiB2b2lkIHtcbiAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmluaXRNYXAoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jb21iaW5lSW5wdXRzKCk7XG5cbiAgICAgICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5jcmVhdGVNYXAodGhpcy5fdW5pcXVlTWFwSWQsIHRoaXMuc3RhdGUsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIHRoaXMuX2FkZE9iamVjdHNPbk1hcCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29tYmluZSBzZXBhcmF0ZWQgaW5wdXRzIGluIG9iamVjdHMgcmVxdWlyZWQgZm9yIEFQSVxuICAgKi9cbiAgcHJpdmF0ZSBfY29tYmluZUlucHV0cygpOiB2b2lkIHtcbiAgICAvLyBNYXBcbiAgICB0aGlzLnN0YXRlLnpvb20gPSB0aGlzLnpvb207XG4gICAgdGhpcy5zdGF0ZS5jZW50ZXIgPSB0aGlzLmNlbnRlcjtcblxuICAgIC8vIE11bHRpcm91dGVcbiAgICB0aGlzLm11bHRpcm91dGVzLmZvckVhY2goKG11bHRpcm91dGUpID0+IHtcbiAgICAgIGlmICghbXVsdGlyb3V0ZS5tb2RlbCkgbXVsdGlyb3V0ZS5tb2RlbCA9IHt9O1xuICAgICAgbXVsdGlyb3V0ZS5tb2RlbC5yZWZlcmVuY2VQb2ludHMgPSBtdWx0aXJvdXRlLnJlZmVyZW5jZVBvaW50cztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE9iamVjdHNPbk1hcCgpOiB2b2lkIHtcbiAgICB0aGlzLnBsYWNlbWFya3MuZm9yRWFjaCgocGxhY2VtYXJrKSA9PiB7XG4gICAgICB0aGlzLl9hZGRQbGFjZW1hcmsocGxhY2VtYXJrKTtcbiAgICB9KTtcblxuICAgIHRoaXMubXVsdGlyb3V0ZXMuZm9yRWFjaCgobXVsdGlyb3V0ZSkgPT4ge1xuICAgICAgdGhpcy5fYWRkTXVsdGlyb3V0ZShtdWx0aXJvdXRlKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZ2VvT2JqZWN0cy5mb3JFYWNoKChnZW9PYmplY3QpID0+IHtcbiAgICAgIHRoaXMuX2FkZEdlb09iamVjdChnZW9PYmplY3QpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc2VhcmNoQ29udHJvbC5maXJzdCkgdGhpcy5fYWRkU2VhcmNoQ29udHJvbCh0aGlzLnNlYXJjaENvbnRyb2wuZmlyc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBvYmplY3RzLCBjb250cm9scyBvbiBtYXBcbiAgICovXG4gIHByaXZhdGUgX2FkZFBsYWNlbWFyayhwbGFjZW1hcms6IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuYWRkUGxhY2VtYXJrKHBsYWNlbWFyay5nZW9tZXRyeSwgcGxhY2VtYXJrLnByb3BlcnRpZXMsIHBsYWNlbWFyay5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE11bHRpcm91dGUobXVsdGlyb3V0ZTogWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuYWRkTXVsdGlyb3V0ZShtdWx0aXJvdXRlLm1vZGVsLCBtdWx0aXJvdXRlLm9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWRkR2VvT2JqZWN0KGdlb09iamVjdDogWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgdGhpcy5feWFuZGV4TWFwU2VydmljZS5hZGRHZW9PYmplY3QoZ2VvT2JqZWN0LmZlYXR1cmUsIGdlb09iamVjdC5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZFNlYXJjaENvbnRyb2woc2VhcmNoOiBZYW5kZXhTZWFyY2hDb21wb25lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl95YW5kZXhNYXBTZXJ2aWNlLmFkZFNlYXJjaENvbnRyb2woc2VhcmNoLnNlYXJjaFJlcXVlc3QsIHNlYXJjaC5wYXJhbWV0ZXJzKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBZYW5kZXhNYXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LW1hcC1jb21wb25lbnQveWFuZGV4LW1hcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9jb3JlJztcbmltcG9ydCB7IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtcGxhY2VtYXJrLWNvbXBvbmVudC95YW5kZXgtcGxhY2VtYXJrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1tdWx0aXJvdXRlLWNvbXBvbmVudC95YW5kZXgtbXVsdGlyb3V0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4R2Vvb2JqZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtc2VhcmNoLWNvbXBvbmVudC95YW5kZXgtc2VhcmNoLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFlhbmRleE1hcENvbXBvbmVudCxcbiAgICBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQsXG4gICAgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCxcbiAgICBZYW5kZXhHZW9vYmplY3RDb21wb25lbnQsXG4gICAgWWFuZGV4U2VhcmNoQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFlhbmRleE1hcENvbXBvbmVudCxcbiAgICBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQsXG4gICAgWWFuZGV4TXVsdGlyb3V0ZUNvbXBvbmVudCxcbiAgICBZYW5kZXhHZW9vYmplY3RDb21wb25lbnQsXG4gICAgWWFuZGV4U2VhcmNoQ29tcG9uZW50XG4gIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBBbmd1bGFyWWFuZGV4TWFwc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGFwaUtleTogc3RyaW5nKTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBbmd1bGFyWWFuZGV4TWFwc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6ICdBUElfS0VZJywgdXNlVmFsdWU6IGFwaUtleSB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0lBZ0JFLDBCQUFvQixTQUFtQjtRQUFuQixjQUFTLEdBQVQsU0FBUyxDQUFVOzZCQU5HLElBQUksT0FBTyxFQUFFO1FBT3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDOUM7Ozs7OztJQU1NLGtDQUFPOzs7Ozs7O1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUc7WUFDekIsS0FBSyxDQUFDLEtBQUssQ0FBQztnQkFDVixLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMvQixDQUFDLENBQUM7U0FDSixDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDOzs7OztJQUdwQixzQ0FBVzs7OztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsNENBQTBDLElBQUksQ0FBQyxPQUFPLGdCQUFhLENBQUM7UUFDNUYsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDOzs7Ozs7Ozs7SUFTeEMsb0NBQVM7Ozs7Ozs7Y0FBQyxLQUFhLEVBQUUsS0FBVSxFQUFFLE9BQVk7UUFDdEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQzs7Ozs7Ozs7O0lBTTVDLHVDQUFZOzs7Ozs7O2NBQUMsUUFBYSxFQUFFLFVBQWUsRUFBRSxPQUFZO1FBQzlELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTthQUNqQixHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQzs7Ozs7OztJQUd0RCx3Q0FBYTs7Ozs7Y0FBQyxLQUFVLEVBQUUsT0FBWTtRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7YUFDakIsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7SUFHcEQsdUNBQVk7Ozs7O2NBQUMsT0FBWSxFQUFFLE9BQVk7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO2FBQ2pCLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7OztJQVN6QywyQ0FBZ0I7Ozs7Ozs7Y0FBQyxPQUFlLEVBQUUsVUFBZTs7UUFDdEQsSUFBTSxhQUFhLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7YUFDZixHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEIsSUFBSSxPQUFPO1lBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzs7O2dCQS9FOUMsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7OztnQkFSb0IsUUFBUTs7OzJCQUE3Qjs7Ozs7OztBQ0FBO0lBWUU7S0FBZ0I7Ozs7SUFFVCwyQ0FBUTs7OztRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzs7Ozs7SUFHWiw2Q0FBVTs7OztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7U0FDcEI7OztnQkFwQkosU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDYjs7Ozs7MkJBRUUsS0FBSzs2QkFDTCxLQUFLOzBCQUNMLEtBQUs7O21DQVZSOzs7Ozs7O0FDQUE7SUFZRTtLQUFpQjs7OztJQUVWLDRDQUFROzs7O1FBQ2IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDOzs7OztJQUdaLDhDQUFVOzs7O1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztTQUMzQjs7O2dCQXBCSixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzs7OztrQ0FFRSxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzs7b0NBVlI7Ozs7Ozs7QUNBQTtJQVdFO0tBQWdCOzs7O0lBRVQsMkNBQVE7Ozs7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Ozs7O0lBR1osNkNBQVU7Ozs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1NBQ25COzs7Z0JBbkJKLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUUsRUFBRTtvQkFDWixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7aUJBQ2I7Ozs7OzBCQUVFLEtBQUs7MEJBQ0wsS0FBSzs7bUNBVFI7Ozs7Ozs7QUNBQTtJQVdFO0tBQWdCOzs7O0lBQ1Qsd0NBQVE7Ozs7O2dCQVZoQixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2lCQUNiOzs7OztnQ0FFRSxLQUFLOzZCQUNMLEtBQUs7O2dDQVRSOzs7Ozs7O0FDQUE7SUEyQkUsNEJBQW9CLGlCQUFtQztRQUFuQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO29CQU54QixFQUFFO3FCQUNKLEVBQUU7dUJBQ0EsRUFBRTtLQUkyQjs7OztJQUVyRCxxQ0FBUTs7OztRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQzs7Ozs7SUFHdkIsdUNBQVU7Ozs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2xCOzs7OztJQUdLLGlEQUFvQjs7OztRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUcsQ0FBQztRQUNqRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7Ozs7SUFHaEUsa0RBQXFCOzs7OztRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFO2FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUM7WUFDVCxLQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFdEIsS0FBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxLQUFJLENBQUMsWUFBWSxFQUFFLEtBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlFLEtBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCLENBQUMsQ0FBQzs7Ozs7O0lBTUMsMkNBQWM7Ozs7OztRQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7O1FBR2hDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQUMsVUFBVTtZQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7Z0JBQUUsVUFBVSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDN0MsVUFBVSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQztTQUMvRCxDQUFDLENBQUM7Ozs7O0lBR0csNkNBQWdCOzs7OztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFDLFNBQVM7WUFDaEMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxVQUFDLFVBQVU7WUFDbEMsS0FBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFDLFNBQVM7WUFDaEMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMvQixDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDOzs7Ozs7O0lBTXpFLDBDQUFhOzs7OztjQUFDLFNBQW1DO1FBQ3ZELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0lBRzNGLDJDQUFjOzs7O2NBQUMsVUFBcUM7UUFDMUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0lBR3JFLDBDQUFhOzs7O2NBQUMsU0FBbUM7UUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Ozs7O0lBR3BFLDhDQUFpQjs7OztjQUFDLE1BQTZCO1FBQ3JELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQzs7O2dCQWxHcEYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSxtREFBaUQ7b0JBQzNELE1BQU0sRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2lCQUNuRDs7OztnQkFYUSxnQkFBZ0I7OzsrQkFhdEIsU0FBUyxTQUFDLGNBQWM7NkJBQ3hCLGVBQWUsU0FBQyx3QkFBd0I7OEJBQ3hDLGVBQWUsU0FBQyx5QkFBeUI7NkJBQ3pDLGVBQWUsU0FBQyx3QkFBd0I7Z0NBQ3hDLGVBQWUsU0FBQyxxQkFBcUI7eUJBRXJDLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7OzZCQXZCUjs7Ozs7OztBQ0FBOzs7Ozs7O0lBOEJTLCtCQUFPOzs7O0lBQWQsVUFBZSxNQUFjO1FBQzNCLE9BQU87WUFDTCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTthQUN6QztTQUNGLENBQUM7S0FDSDs7Z0JBNUJGLFFBQVEsU0FBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjtxQkFDdEI7aUJBQ0Y7O2tDQTNCRDs7Ozs7Ozs7Ozs7Ozs7OyJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcjgteWFuZGV4LW1hcHMuanMubWFwIiwic291cmNlcyI6WyJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50LnRzIiwibmc6Ly9hbmd1bGFyOC15YW5kZXgtbWFwcy9saWIvY29tcG9uZW50cy95YW5kZXgtZ2Vvb2JqZWN0LWNvbXBvbmVudC95YW5kZXgtZ2Vvb2JqZWN0LmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LXNlYXJjaC1jb21wb25lbnQveWFuZGV4LXNlYXJjaC5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9zZXJ2aWNlcy95YW5kZXgtbWFwL3lhbmRleC1tYXAuc2VydmljZS50cyIsIm5nOi8vYW5ndWxhcjgteWFuZGV4LW1hcHMvbGliL2NvbXBvbmVudHMveWFuZGV4LW1hcC1jb21wb25lbnQveWFuZGV4LW1hcC5jb21wb25lbnQudHMiLCJuZzovL2FuZ3VsYXI4LXlhbmRleC1tYXBzL2xpYi9hbmd1bGFyLXlhbmRleC1tYXBzLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBJUGxhY2VtYXJrIHtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1wbGFjZW1hcmsnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhQbGFjZW1hcmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZ2VvbWV0cnk6IGFueTtcbiAgQElucHV0KCkgcHVibGljIHByb3BlcnRpZXM6IGFueTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5nZW9tZXRyeSkge1xuICAgICAgY29uc29sZS5lcnJvcignUGxhY2VtYXJrOiBnZW9tZXRyeSBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuZ2VvbWV0cnkgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdFBsYWNlbWFyayh5bWFwczogYW55LCBtYXA6IGFueSk6IElQbGFjZW1hcmsge1xuICAgIGNvbnN0IHBsYWNlbWFyayA9IG5ldyB5bWFwcy5QbGFjZW1hcmsodGhpcy5nZW9tZXRyeSwgdGhpcy5wcm9wZXJ0aWVzLCB0aGlzLm9wdGlvbnMpO1xuXG4gICAgbWFwLmdlb09iamVjdHMuYWRkKHBsYWNlbWFyayk7XG4gICAgcmV0dXJuIHBsYWNlbWFyaztcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LW11bHRpcm91dGUnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHJlZmVyZW5jZVBvaW50czogQXJyYXk8YW55PjtcbiAgQElucHV0KCkgcHVibGljIG1vZGVsOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVBvaW50cykge1xuICAgICAgY29uc29sZS5lcnJvcignTXVsdGlyb3V0ZTogcmVmZXJlbmNlUG9pbnRzIGlucHV0IGlzIHJlcXVpcmVkLicpO1xuICAgICAgdGhpcy5yZWZlcmVuY2VQb2ludHMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdE11bHRpcm91dGUoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcbiAgICBtYXAuZ2VvT2JqZWN0c1xuICAgICAgLmFkZChuZXcgeW1hcHMubXVsdGlSb3V0ZXIuTXVsdGlSb3V0ZShcbiAgICAgICAgeyAuLi50aGlzLm1vZGVsLCByZWZlcmVuY2VQb2ludHM6IHRoaXMucmVmZXJlbmNlUG9pbnRzIH0sIHRoaXMub3B0aW9uc1xuICAgICAgKSk7XG4gIH1cbn1cbiIsImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbmd1bGFyLXlhbmRleC1nZW9vYmplY3QnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlczogW2BgXVxufSlcbmV4cG9ydCBjbGFzcyBZYW5kZXhHZW9PYmplY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgZmVhdHVyZTogYW55O1xuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XG4gIH1cblxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmZlYXR1cmUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0dlb09iamVjdHM6IGZlYXR1cmUgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XG4gICAgICB0aGlzLmZlYXR1cmUgPSB7fTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaW5pdEdlb09iamVjdCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIG1hcC5nZW9PYmplY3RzXG4gICAgICAuYWRkKG5ldyB5bWFwcy5HZW9PYmplY3QodGhpcy5mZWF0dXJlLCB0aGlzLm9wdGlvbnMpKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXIteWFuZGV4LXNlYXJjaCcsXG4gIHRlbXBsYXRlOiBgYCxcbiAgc3R5bGVzOiBbYGBdXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleFNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHB1YmxpYyBpbml0U2VhcmNoQ29udHJvbCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHNlYXJjaENvbnRyb2wgPSBuZXcgeW1hcHMuY29udHJvbC5TZWFyY2hDb250cm9sKHRoaXMucGFyYW1ldGVycyk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHRoaXMuc2VhcmNoUmVxdWVzdDtcblxuICAgIG1hcC5jb250cm9scy5hZGQoc2VhcmNoQ29udHJvbCk7XG4gICAgaWYgKHJlcXVlc3QpIHNlYXJjaENvbnRyb2wuc2VhcmNoKHJlcXVlc3QpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSVlhbmRleE1hcFNlcnZpY2UgfSBmcm9tICcuL3lhbmRleC1zZXJ2aWNlLnR5cGUnO1xuXG5kZWNsYXJlIGNvbnN0IHltYXBzOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFlhbmRleE1hcFNlcnZpY2UgaW1wbGVtZW50cyBJWWFuZGV4TWFwU2VydmljZSB7XG4gIHByaXZhdGUgX3ltYXBzJCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgcHJpdmF0ZSBfc2NyaXB0WW1hcHM6IEhUTUxTY3JpcHRFbGVtZW50O1xuICBwcml2YXRlIF9hcGlLZXk6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLl9hcGlLZXkgPSB0aGlzLl9pbmplY3Rvci5nZXQoJ0FQSV9LRVknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0IHltYXBzIHNjcmlwdCBpZiBpdCdzIG5vdCBpbml0aWF0ZWRcbiAgICogUmV0dXJuIHltYXBzIHN1YmplY3RcbiAgICovXG4gIHB1YmxpYyBpbml0U2NyaXB0KCk6IFN1YmplY3Q8YW55PiB7XG4gICAgaWYgKCF0aGlzLl9zY3JpcHRZbWFwcykge1xuICAgICAgdGhpcy5fbG9hZFNjcmlwdCgpO1xuXG4gICAgICB0aGlzLl9zY3JpcHRZbWFwcy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIHltYXBzLnJlYWR5KCgpID0+IHRoaXMuX3ltYXBzJC5uZXh0KHltYXBzKSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl95bWFwcyQ7XG4gIH1cblxuICBwcml2YXRlIF9sb2FkU2NyaXB0KCk6IHZvaWQge1xuICAgIHRoaXMuX3NjcmlwdFltYXBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgdGhpcy5fc2NyaXB0WW1hcHMuc3JjID0gYGh0dHBzOi8vYXBpLW1hcHMueWFuZGV4LnJ1LzIuMS8/YXBpa2V5PSR7dGhpcy5fYXBpS2V5fSZsYW5nPXJ1X1JVYDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX3NjcmlwdFltYXBzKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuLi95YW5kZXgtbXVsdGlyb3V0ZS1jb21wb25lbnQveWFuZGV4LW11bHRpcm91dGUuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleEdlb09iamVjdENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1nZW9vYmplY3QtY29tcG9uZW50L3lhbmRleC1nZW9vYmplY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuaW1wb3J0IHsgWWFuZGV4TWFwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3lhbmRleC1tYXAveWFuZGV4LW1hcC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW5ndWxhci15YW5kZXgtbWFwJyxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwibWFwLWNvbnRhaW5lclwiICNtYXBDb250YWluZXI+PC9kaXY+YCxcbiAgc3R5bGVzOiBbYC5tYXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YF1cbn0pXG5leHBvcnQgY2xhc3MgWWFuZGV4TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEdldCBNYXBDb250YWluZXIgJiBjb21wb25lbnRzIGluc2lkZSBNYXBDb250YWluZXJcbiAgICovXG4gIEBWaWV3Q2hpbGQoJ21hcENvbnRhaW5lcicpIHB1YmxpYyBtYXBDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50KSBwbGFjZW1hcmtzOiBRdWVyeUxpc3Q8WWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50PjtcbiAgQENvbnRlbnRDaGlsZHJlbihZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50KSBtdWx0aXJvdXRlczogUXVlcnlMaXN0PFlhbmRleE11bHRpcm91dGVDb21wb25lbnQ+O1xuICBAQ29udGVudENoaWxkcmVuKFlhbmRleEdlb09iamVjdENvbXBvbmVudCkgZ2VvT2JqZWN0czogUXVlcnlMaXN0PFlhbmRleEdlb09iamVjdENvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oWWFuZGV4U2VhcmNoQ29tcG9uZW50KSBzZWFyY2hDb250cm9sczogUXVlcnlMaXN0PFlhbmRleFNlYXJjaENvbXBvbmVudD47XG5cbiAgLyoqXG4gICAqIE1hcCBpbnB1dHNcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBjZW50ZXI6IEFycmF5PG51bWJlcj47XG4gIEBJbnB1dCgpIHB1YmxpYyB6b29tOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgcHVibGljIHN0YXRlOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueSA9IHt9O1xuICBASW5wdXQoKSBwdWJsaWMgY2x1c3RlcmVyOiBhbnk7XG5cbiAgcHJpdmF0ZSBfdW5pcXVlTWFwSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF95YW5kZXhNYXBTZXJ2aWNlOiBZYW5kZXhNYXBTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbG9nTWFwRXJyb3JzKCk7XG4gICAgdGhpcy5fc2V0VW5pcXVlTWFwSWQoKTtcblxuICAgIHRoaXMuX3lhbmRleE1hcFNlcnZpY2UuaW5pdFNjcmlwdCgpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoeW1hcHM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBtYXAgPSB0aGlzLl9jcmVhdGVNYXAoeW1hcHMpO1xuICAgICAgICB0aGlzLl9hZGRPYmplY3RzT25NYXAoeW1hcHMsIG1hcCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xvZ01hcEVycm9ycygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2VudGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdNYXA6IGNlbnRlciBpbnB1dCBpcyByZXF1aXJlZC4nKTtcbiAgICAgIHRoaXMuY2VudGVyID0gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0VW5pcXVlTWFwSWQoKTogdm9pZCB7XG4gICAgdGhpcy5fdW5pcXVlTWFwSWQgPSBgZiR7KH5+KE1hdGgucmFuZG9tKCkgKiAxZTgpKS50b1N0cmluZygxNil9YDtcbiAgICB0aGlzLm1hcENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnaWQnLCB0aGlzLl91bmlxdWVNYXBJZCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVNYXAoeW1hcHM6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIG5ldyB5bWFwcy5NYXAoXG4gICAgICB0aGlzLl91bmlxdWVNYXBJZCwgeyAuLi50aGlzLnN0YXRlLCB6b29tOiB0aGlzLnpvb20sIGNlbnRlcjogdGhpcy5jZW50ZXIgfSwgdGhpcy5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgeW1hcHMgZW50aXRpZXMvb2JqZWN0cyBvbiBtYXBcbiAgICogQHBhcmFtIHltYXBzXG4gICAqIEBwYXJhbSBtYXBcbiAgICovXG4gIHByaXZhdGUgX2FkZE9iamVjdHNPbk1hcCh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xuICAgIC8vIFBsYWNlbWFya3Mgd2l0aCBjbHVzdGVyZXJcbiAgICBjb25zdCBwbGFjZW1hcmtzID0gW107XG5cbiAgICB0aGlzLnBsYWNlbWFya3MuZm9yRWFjaCgocGxhY2VtYXJrKSA9PiB7XG4gICAgICBwbGFjZW1hcmtzLnB1c2gocGxhY2VtYXJrLmluaXRQbGFjZW1hcmsoeW1hcHMsIG1hcCkpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY2x1c3RlcmVyKSB0aGlzLl9jcmVhdGVDbHVzdGVyZXIoeW1hcHMsIG1hcCwgcGxhY2VtYXJrcyk7XG5cbiAgICAvLyBNdWx0aXJvdXRlc1xuICAgIHRoaXMubXVsdGlyb3V0ZXMuZm9yRWFjaCgobXVsdGlyb3V0ZSkgPT4ge1xuICAgICAgbXVsdGlyb3V0ZS5pbml0TXVsdGlyb3V0ZSh5bWFwcywgbWFwKTtcbiAgICB9KTtcblxuICAgIC8vIEdlb09iamVjdHNcbiAgICB0aGlzLmdlb09iamVjdHMuZm9yRWFjaCgoZ2VvT2JqZWN0KSA9PiB7XG4gICAgICBnZW9PYmplY3QuaW5pdEdlb09iamVjdCh5bWFwcywgbWFwKTtcbiAgICB9KTtcblxuICAgIC8vIFNlYXJjaENvbnRyb2xzXG4gICAgdGhpcy5zZWFyY2hDb250cm9scy5mb3JFYWNoKChzZWFyY2hDb250cm9sKSA9PiB7XG4gICAgICBzZWFyY2hDb250cm9sLmluaXRTZWFyY2hDb250cm9sKHltYXBzLCBtYXApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2x1c3RlcmVyKHltYXBzOiBhbnksIG1hcDogYW55LCBnZW9PYmplY3RzOiBBcnJheTxhbnk+KSB7XG4gICAgY29uc3QgY2x1c3RlcmVyID0gbmV3IHltYXBzLkNsdXN0ZXJlcih0aGlzLmNsdXN0ZXJlcik7XG5cbiAgICBjbHVzdGVyZXIuYWRkKGdlb09iamVjdHMpO1xuICAgIG1hcC5nZW9PYmplY3RzLmFkZChjbHVzdGVyZXIpO1xuICB9XG59XG4iLCJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFlhbmRleE1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy95YW5kZXgtbWFwLWNvbXBvbmVudC95YW5kZXgtbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL2NvcmUnO1xuaW1wb3J0IHsgWWFuZGV4UGxhY2VtYXJrQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1wbGFjZW1hcmstY29tcG9uZW50L3lhbmRleC1wbGFjZW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFlhbmRleE11bHRpcm91dGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LW11bHRpcm91dGUtY29tcG9uZW50L3lhbmRleC1tdWx0aXJvdXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBZYW5kZXhHZW9PYmplY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMveWFuZGV4LWdlb29iamVjdC1jb21wb25lbnQveWFuZGV4LWdlb29iamVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgWWFuZGV4U2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3lhbmRleC1zZWFyY2gtY29tcG9uZW50L3lhbmRleC1zZWFyY2guY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgWWFuZGV4TWFwQ29tcG9uZW50LFxuICAgIFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCxcbiAgICBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50LFxuICAgIFlhbmRleEdlb09iamVjdENvbXBvbmVudCxcbiAgICBZYW5kZXhTZWFyY2hDb21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgWWFuZGV4TWFwQ29tcG9uZW50LFxuICAgIFlhbmRleFBsYWNlbWFya0NvbXBvbmVudCxcbiAgICBZYW5kZXhNdWx0aXJvdXRlQ29tcG9uZW50LFxuICAgIFlhbmRleEdlb09iamVjdENvbXBvbmVudCxcbiAgICBZYW5kZXhTZWFyY2hDb21wb25lbnRcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJZYW5kZXhNYXBzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoYXBpS2V5OiBzdHJpbmcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEFuZ3VsYXJZYW5kZXhNYXBzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogJ0FQSV9LRVknLCB1c2VWYWx1ZTogYXBpS2V5IH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0lBZ0JFO0tBQWdCOzs7O0lBRVQsMkNBQVE7Ozs7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Ozs7O0lBR1osNkNBQVU7Ozs7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1NBQ3BCOzs7Ozs7O0lBR0ksZ0RBQWE7Ozs7O2NBQUMsS0FBVSxFQUFFLEdBQVE7O1FBQ3ZDLElB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
import { OnInit } from '@angular/core';
export declare class YandexGeoobjectComponent implements OnInit {
export declare class YandexGeoObjectComponent implements OnInit {
feature: any;

@@ -8,2 +8,3 @@ options: any;

private _logErrors();
initGeoObject(ymaps: any, map: any): void;
}
import { OnInit, ElementRef, QueryList } from '@angular/core';
import { YandexMapService } from '../../services/yandex-map/yandex-map.service';
import { YandexPlacemarkComponent } from '../yandex-placemark-component/yandex-placemark.component';
import { YandexMultirouteComponent } from '../yandex-multiroute-component/yandex-multiroute.component';
import { YandexGeoobjectComponent } from '../yandex-geoobject-component/yandex-geoobject.component';
import { YandexGeoObjectComponent } from '../yandex-geoobject-component/yandex-geoobject.component';
import { YandexSearchComponent } from '../yandex-search-component/yandex-search.component';
import { YandexMapService } from '../../services/yandex-map/yandex-map.service';
export declare class YandexMapComponent implements OnInit {
private _yandexMapService;
/**
* Get MapContainer & components inside MapContainer
*/
mapContainer: ElementRef;
placemarks: QueryList<YandexPlacemarkComponent>;
multiroutes: QueryList<YandexMultirouteComponent>;
geoObjects: QueryList<YandexGeoobjectComponent>;
searchControl: QueryList<YandexSearchComponent>;
geoObjects: QueryList<YandexGeoObjectComponent>;
searchControls: QueryList<YandexSearchComponent>;
/**
* Map inputs
*/
center: Array<number>;

@@ -18,20 +24,16 @@ zoom: number;

options: any;
clusterer: any;
private _uniqueMapId;
constructor(_yandexMapService: YandexMapService);
ngOnInit(): void;
private _logErrors();
private _setUniqueMapIdOfMap();
private _createMapWithObjects();
private _logMapErrors();
private _setUniqueMapId();
private _createMap(ymaps);
/**
* Combine separated inputs in objects required for API
* Add ymaps entities/objects on map
* @param ymaps
* @param map
*/
private _combineInputs();
private _addObjectsOnMap();
/**
* Add objects, controls on map
*/
private _addPlacemark(placemark);
private _addMultiroute(multiroute);
private _addGeoObject(geoObject);
private _addSearchControl(search);
private _addObjectsOnMap(ymaps, map);
private _createClusterer(ymaps, map, geoObjects);
}

@@ -9,2 +9,3 @@ import { OnInit } from '@angular/core';

private _logErrors();
initMultiroute(ymaps: any, map: any): void;
}
import { OnInit } from '@angular/core';
export interface IPlacemark {
[key: string]: any;
}
export declare class YandexPlacemarkComponent implements OnInit {

@@ -9,2 +12,3 @@ geometry: any;

private _logErrors();
initPlacemark(ymaps: any, map: any): IPlacemark;
}

@@ -7,2 +7,3 @@ import { OnInit } from '@angular/core';

ngOnInit(): void;
initSearchControl(ymaps: any, map: any): void;
}

@@ -6,34 +6,12 @@ import { Injector } from '@angular/core';

private _injector;
private _isMapInited$;
private _ymaps$;
private _scriptYmaps;
private _apiKey;
private _isScriptInited;
private _map;
constructor(_injector: Injector);
/**
* Init ymaps script if it's not initiated
* Trigger map subject on script load
* Return ymaps subject
*/
initMap(): Subject<boolean>;
initScript(): Subject<any>;
private _loadScript();
/**
* Create new Map class instance
* @param mapId
* @param state
* @param options
*/
createMap(mapId: string, state: any, options: any): void;
/**
* Add objects, controls on map
*/
addPlacemark(geometry: any, properties: any, options: any): void;
addMultiroute(model: any, options: any): void;
addGeoObject(feature: any, options: any): void;
/**
* Create new SearchControl class instance with properies
* If searchRequest is provided -> force search in the current area
* @param request
* @param properties
*/
addSearchControl(request: string, properties: any): void;
}
import { Subject } from 'rxjs';
export interface IYandexMapService {
initMap(): Subject<boolean>;
createMap(mapId: string, state: any, options: any): void;
addPlacemark(geometry: any, properties: any, options: any): void;
addMultiroute(model: any, options: any): void;
addGeoObject(feature: any, options: any): void;
addSearchControl(request: string, properties: any): void;
initScript(): Subject<any>;
}
{
"name": "angular8-yandex-maps",
"version": "1.4.0",
"version": "1.5.1",
"description": "Angular module for Yandex Maps",

@@ -5,0 +5,0 @@ "repository": {

@@ -6,5 +6,7 @@ [![npm version](https://badge.fury.io/js/angular8-yandex-maps.svg)](https://badge.fury.io/js/angular8-yandex-maps) ![GitHub stars](https://img.shields.io/github/stars/ddubrava/angular-yandex-maps?style=social)

If you liked the project and want to support the development please star the package on [GitHub page](https://github.com/ddubrava/angular-yandex-maps "GitHub page"). Thanks!
## Examples
- [Custom placemark](https://stackblitz.com/edit/custom-placemark)
- [Placemark clusterer](https://stackblitz.com/edit/placemark-clusterer)
- [Multiroute](https://stackblitz.com/edit/multiroute)

@@ -38,4 +40,4 @@ - [Rectangle](https://stackblitz.com/edit/rectangle)

<div class="map">
<angular-yandex-map [center]="[60.167987, 24.942206]" [zoom]="12">
<angular-yandex-placemark [geometry]="[60.167987, 24.942206]"></angular-yandex-placemark>
<angular-yandex-map [center]="[55.751952, 37.600739]" [zoom]="12">
<angular-yandex-placemark [geometry]="[55.751952, 37.600739]"></angular-yandex-placemark>
</angular-yandex-map>

@@ -57,14 +59,19 @@ </div>

| Name | Type | Default | Required | Description |
|---------|--------------|---------|----------|---------------------------|
| center | Number[] | | yes | Map center geocoordinates |
| zoom | Number | 10 | no | Map zoom level |
| state | [MapState] | | no | States for the map |
| options | [MapOptions] | | no | Options for the map |
| Name | Type | Default | Required | Description |
|-----------|--------------|---------|----------|-------------------------------------------------------------------------------------|
| center | Number[] | | yes | Map center geocoordinates |
| zoom | Number | 10 | no | Map zoom level |
| state | [MapState] | | no | States for the map |
| options | [MapOptions] | | no | Options for the map |
| clusterer | [Clusterer] | | no | Options for the Clusterer. Clusters ONLY Placemarks in the visible area of the map. |
[MapState]: https://tech.yandex.ru/maps/jsapi/doc/2.1/ref/reference/Map-docpage/#Map__param-state
[MapOptions]: https://tech.yandex.ru/maps/jsapi/doc/2.1/ref/reference/Map-docpage/#Map__param-options
[Clusterer]: https://tech.yandex.ru/maps/jsapi/doc/2.1/ref/reference/Clusterer-docpage/
------------
```
<angular-yandex-map [center]="[60.167987, 24.942206]" [zoom]="8" [state]="{type: 'yandex#satellite'}"></angular-yandex-map>
<angular-yandex-map [center]="[55.751952, 37.600739]" [zoom]="12" [state]="{type: 'yandex#satellite'}"></angular-yandex-map>
```

@@ -85,4 +92,6 @@

------------
```
<angular-yandex-placemark [geometry]="[60.167987, 24.942206]" [properties]="{iconCaption: 'Stockmann'}"></angular-yandex-placemark>
<angular-yandex-placemark [geometry]="[55.751952, 37.600739]" [properties]="{iconCaption: 'Moscow'}"></angular-yandex-placemark>
```

@@ -95,3 +104,3 @@

|-----------------|---------------------------------------------------------|---------|----------|-------------------------------------|
| referencePoints | [IMultiRouteReferencePoint][][] | | yes | Reference points of the multi-route |
| referencePoints | [IMultiRouteReferencePoint][][] | | yes | Reference points for the multi-route |
| model | [multiRouter.MultiRouteModel] or [MultiRouteModelJson] | | no | Properties for the multiroute |

@@ -106,4 +115,6 @@ | options | [MultiRouteOptions] | | no | Options for the multiroute |

------------
```
<angular-yandex-multiroute [referencePoints]="[[60.181711, 24.927661], 'helsinki']" [options]="{routeActiveStrokeColor: 'ff0000'}"></angular-yandex-multiroute>
<angular-yandex-multiroute [referencePoints]="[[55.751952, 37.600739], 'Красные ворота, Москва']" [options]="{routeActiveStrokeColor: 'ff0000'}"></angular-yandex-multiroute>
```

@@ -122,4 +133,6 @@

------------
```
<angular-yandex-geoobject [feature]="{ geometry: { type: 'Rectangle', coordinates: [[60.183155, 24.911892], [60.156454, 24.962433]] } }"></angular-yandex-geoobject>
<angular-yandex-geoobject [feature]="{ geometry: { type: 'Rectangle', coordinates: [[55.665, 37.66], [55.64,37.53]] } }"></angular-yandex-geoobject>
```

@@ -138,2 +151,4 @@

------------
```

@@ -140,0 +155,0 @@ <angular-yandex-search [parameters]="{ options: { float: 'right' } }"></angular-yandex-search>

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