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 10.1.1 to 10.2.0

2

angular8-yandex-maps.metadata.json

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

{"__symbolic":"module","version":4,"metadata":{"AngularYandexMapsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"YaClustererComponent"},{"__symbolic":"reference","name":"YaControlComponent"},{"__symbolic":"reference","name":"YaGeoObjectComponent"},{"__symbolic":"reference","name":"YaMapComponent"},{"__symbolic":"reference","name":"YaMultirouteComponent"},{"__symbolic":"reference","name":"YaPanoramaComponent"},{"__symbolic":"reference","name":"YaPlacemarkComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":22,"character":4}],"exports":[{"__symbolic":"reference","name":"YaClustererComponent"},{"__symbolic":"reference","name":"YaControlComponent"},{"__symbolic":"reference","name":"YaGeoObjectComponent"},{"__symbolic":"reference","name":"YaMapComponent"},{"__symbolic":"reference","name":"YaMultirouteComponent"},{"__symbolic":"reference","name":"YaPanoramaComponent"},{"__symbolic":"reference","name":"YaPlacemarkComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"AngularYandexMapsModule"},"providers":[{"provide":{"__symbolic":"reference","name":"YA_MAP_CONFIG"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"IConfig":{"__symbolic":"interface"},"ILoadEvent":{"__symbolic":"interface"},"IEvent":{"__symbolic":"interface"},"YA_MAP_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":67,"character":33},"arguments":["YA_MAP_CONFIG"]},"ScriptService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":19,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":27,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":17},"arguments":[{"__symbolic":"reference","name":"YA_MAP_CONFIG"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":28,"character":12}]}]],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":27,"character":47,"context":{"typeName":"Partial"},"module":"./lib/services/script/script.service"},{"__symbolic":"error","message":"Could not resolve type","line":28,"character":40,"context":{"typeName":"Document"},"module":"./lib/services/script/script.service"}]}],"initScript":[{"__symbolic":"method"}],"_setSource":[{"__symbolic":"method"}],"_convertIntoQueryParams":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"YaClustererComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"ya-clusterer","template":"","styles":[""]}]}],"members":{"placemarks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":35,"character":3},"arguments":[{"__symbolic":"reference","name":"YaPlacemarkComponent"}]}]}],"geoObjects":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":36,"character":3},"arguments":[{"__symbolic":"reference","name":"YaGeoObjectComponent"}]}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":3}}]}],"mapChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":3}}]}],"optionsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":3}}]}],"parentChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":63,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnChanges":[{"__symbolic":"method"}],"_configClusterer":[{"__symbolic":"method"}],"initClusterer":[{"__symbolic":"method"}],"_emitEvents":[{"__symbolic":"method"}]}},"YaControlComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"ya-control","template":"","styles":[""]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"parameters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initControl":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configControl":[{"__symbolic":"method"}]}},"YaGeoObjectComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"ya-geoobject","template":"","styles":[""]}]}],"members":{"feature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"baloon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":3}}]}],"yaclick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":3}}]}],"drag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":56,"character":3}}]}],"mouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":3}}]}],"multitouch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":64,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configGeoObject":[{"__symbolic":"method"}],"_setFeature":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initGeoObject":[{"__symbolic":"method"}],"_emitEvents":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"YaMapComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":30,"character":1},"arguments":[{"selector":"ya-map","template":"<div #container></div>\r\n","styles":[""]}]}],"members":{"mapContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":37,"character":3},"arguments":["container"]}]}],"placemarks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"YaPlacemarkComponent"}]}]}],"multiroutes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":41,"character":3},"arguments":[{"__symbolic":"reference","name":"YaMultirouteComponent"}]}]}],"geoObjects":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":42,"character":3},"arguments":[{"__symbolic":"reference","name":"YaGeoObjectComponent"}]}]}],"controls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":43,"character":3},"arguments":[{"__symbolic":"reference","name":"YaControlComponent"}]}]}],"clusterers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":44,"character":3},"arguments":[{"__symbolic":"reference","name":"YaClustererComponent"}]}]}],"onlyInstance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"center":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"zoom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":73,"character":3}}]}],"action":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":77,"character":3}}]}],"baloon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":81,"character":3}}]}],"yaclick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":85,"character":3}}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":89,"character":3}}]}],"mouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":93,"character":3}}]}],"multitouch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":97,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ScriptService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configMap":[{"__symbolic":"method"}],"_setState":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"_createMap":[{"__symbolic":"method"}],"_initObjects":[{"__symbolic":"method"}],"_emitEvents":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"YaMultirouteComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"ya-multiroute","template":"","styles":[""]}]}],"members":{"referencePoints":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"model":[{"__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":37,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"activeroutechange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":3}}]}],"baloon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"yaclick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"mouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":3}}]}],"multitouch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":62,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configMultiroute":[{"__symbolic":"method"}],"_setModel":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initMultiroute":[{"__symbolic":"method"}],"_emitEvents":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"YaPanoramaComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"ya-panorama","template":"<div #container></div>\r\n","styles":[""]}]}],"members":{"panoramaContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":28,"character":3},"arguments":["container"]}]}],"point":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"layer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":3}}]}],"fullscreen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":3}}]}],"marker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ScriptService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configPanorama":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"_createPanorama":[{"__symbolic":"method"}],"emitEvents":[{"__symbolic":"method"}]}},"YaPlacemarkComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"ya-placemark","template":"","styles":[""]}]}],"members":{"geometry":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"properties":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"baloon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":3}}]}],"yaclick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"drag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":3}}]}],"mouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":62,"character":3}}]}],"multitouch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":66,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configPlacemark":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initPlacemark":[{"__symbolic":"method"}],"_emitEvents":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"AngularYandexMapsModule":"./lib/angular-yandex-maps.module","IConfig":"./lib/models/models","ILoadEvent":"./lib/models/models","IEvent":"./lib/models/models","YA_MAP_CONFIG":"./lib/models/models","ScriptService":"./lib/services/script/script.service","YaClustererComponent":"./lib/components/ya-clusterer/ya-clusterer.component","YaControlComponent":"./lib/components/ya-control/ya-control.component","YaGeoObjectComponent":"./lib/components/ya-geoobject/ya-geoobject.component","YaMapComponent":"./lib/components/ya-map/ya-map.component","YaMultirouteComponent":"./lib/components/ya-multiroute/ya-multiroute.component","YaPanoramaComponent":"./lib/components/ya-panorama/ya-panorama.component","YaPlacemarkComponent":"./lib/components/ya-placemark/ya-placemark.component"},"importAs":"angular8-yandex-maps"}
{"__symbolic":"module","version":4,"metadata":{"AngularYandexMapsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"YaClustererComponent"},{"__symbolic":"reference","name":"YaControlComponent"},{"__symbolic":"reference","name":"YaGeoObjectComponent"},{"__symbolic":"reference","name":"YaMapComponent"},{"__symbolic":"reference","name":"YaMultirouteComponent"},{"__symbolic":"reference","name":"YaPanoramaComponent"},{"__symbolic":"reference","name":"YaPlacemarkComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":22,"character":4}],"exports":[{"__symbolic":"reference","name":"YaClustererComponent"},{"__symbolic":"reference","name":"YaControlComponent"},{"__symbolic":"reference","name":"YaGeoObjectComponent"},{"__symbolic":"reference","name":"YaMapComponent"},{"__symbolic":"reference","name":"YaMultirouteComponent"},{"__symbolic":"reference","name":"YaPanoramaComponent"},{"__symbolic":"reference","name":"YaPlacemarkComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"AngularYandexMapsModule"},"providers":[{"provide":{"__symbolic":"reference","name":"YA_MAP_CONFIG"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"IConfig":{"__symbolic":"interface"},"ILoadEvent":{"__symbolic":"interface"},"IEvent":{"__symbolic":"interface"},"YA_MAP_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":67,"character":33},"arguments":["YA_MAP_CONFIG"]},"ScriptService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":19,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":27,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":17},"arguments":[{"__symbolic":"reference","name":"YA_MAP_CONFIG"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":28,"character":12}]}]],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":27,"character":47,"context":{"typeName":"Partial"},"module":"./lib/services/script/script.service"},{"__symbolic":"error","message":"Could not resolve type","line":28,"character":40,"context":{"typeName":"Document"},"module":"./lib/services/script/script.service"}]}],"initScript":[{"__symbolic":"method"}],"_setSource":[{"__symbolic":"method"}],"_convertIntoQueryParams":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"YaClustererComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":31,"character":1},"arguments":[{"selector":"ya-clusterer","template":"","styles":[""]}]}],"members":{"placemarks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":37,"character":3},"arguments":[{"__symbolic":"reference","name":"YaPlacemarkComponent"}]}]}],"geoObjects":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":38,"character":3},"arguments":[{"__symbolic":"reference","name":"YaGeoObjectComponent"}]}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":3}}]}],"mapChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":57,"character":3}}]}],"optionsChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":3}}]}],"parentChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":65,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnChanges":[{"__symbolic":"method"}],"_configClusterer":[{"__symbolic":"method"}],"initClusterer":[{"__symbolic":"method"}],"_addEventListeners":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"YaControlComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"ya-control","template":"","styles":[""]}]}],"members":{"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"parameters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initControl":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configControl":[{"__symbolic":"method"}]}},"YaGeoObjectComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"ya-geoobject","template":"","styles":[""]}]}],"members":{"feature":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"baloon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":3}}]}],"yaclick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":3}}]}],"drag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":56,"character":3}}]}],"mouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":60,"character":3}}]}],"multitouch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":64,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configGeoObject":[{"__symbolic":"method"}],"_setFeature":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initGeoObject":[{"__symbolic":"method"}],"_addEventListeners":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"YaMapComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":30,"character":1},"arguments":[{"selector":"ya-map","template":"<div #container></div>\r\n","styles":[""]}]}],"members":{"mapContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":37,"character":3},"arguments":["container"]}]}],"placemarks":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"YaPlacemarkComponent"}]}]}],"multiroutes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":41,"character":3},"arguments":[{"__symbolic":"reference","name":"YaMultirouteComponent"}]}]}],"geoObjects":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":42,"character":3},"arguments":[{"__symbolic":"reference","name":"YaGeoObjectComponent"}]}]}],"controls":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":43,"character":3},"arguments":[{"__symbolic":"reference","name":"YaControlComponent"}]}]}],"clusterers":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":44,"character":3},"arguments":[{"__symbolic":"reference","name":"YaClustererComponent"}]}]}],"onlyInstance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"center":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"zoom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":73,"character":3}}]}],"action":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":77,"character":3}}]}],"baloon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":81,"character":3}}]}],"yaclick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":85,"character":3}}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":89,"character":3}}]}],"mouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":93,"character":3}}]}],"multitouch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":97,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ScriptService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configMap":[{"__symbolic":"method"}],"_setState":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"_createMap":[{"__symbolic":"method"}],"_initObjects":[{"__symbolic":"method"}],"_addEventListeners":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"YaMultirouteComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"ya-multiroute","template":"","styles":[""]}]}],"members":{"referencePoints":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"model":[{"__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":37,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"activeroutechange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":3}}]}],"baloon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"yaclick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"mouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":3}}]}],"multitouch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":62,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configMultiroute":[{"__symbolic":"method"}],"_setModel":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initMultiroute":[{"__symbolic":"method"}],"_addEventListeners":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"YaPanoramaComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"ya-panorama","template":"<div #container></div>\r\n","styles":[""]}]}],"members":{"panoramaContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":28,"character":3},"arguments":["container"]}]}],"point":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"layer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"direction":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":3}}]}],"fullscreen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":55,"character":3}}]}],"marker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":59,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ScriptService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configPanorama":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"_createPanorama":[{"__symbolic":"method"}],"_addEventListeners":[{"__symbolic":"method"}]}},"YaPlacemarkComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"ya-placemark","template":"","styles":[""]}]}],"members":{"geometry":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"properties":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"load":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"baloon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":46,"character":3}}]}],"yaclick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":50,"character":3}}]}],"drag":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"hint":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":58,"character":3}}]}],"mouse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":62,"character":3}}]}],"multitouch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":66,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_configPlacemark":[{"__symbolic":"method"}],"_logErrors":[{"__symbolic":"method"}],"initPlacemark":[{"__symbolic":"method"}],"_addEventListeners":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}}},"origins":{"AngularYandexMapsModule":"./lib/angular-yandex-maps.module","IConfig":"./lib/models/models","ILoadEvent":"./lib/models/models","IEvent":"./lib/models/models","YA_MAP_CONFIG":"./lib/models/models","ScriptService":"./lib/services/script/script.service","YaClustererComponent":"./lib/components/ya-clusterer/ya-clusterer.component","YaControlComponent":"./lib/components/ya-control/ya-control.component","YaGeoObjectComponent":"./lib/components/ya-geoobject/ya-geoobject.component","YaMapComponent":"./lib/components/ya-map/ya-map.component","YaMultirouteComponent":"./lib/components/ya-multiroute/ya-multiroute.component","YaPanoramaComponent":"./lib/components/ya-panorama/ya-panorama.component","YaPlacemarkComponent":"./lib/components/ya-placemark/ya-placemark.component"},"importAs":"angular8-yandex-maps"}
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('rxjs'), require('rxjs/operators')) :
typeof define === 'function' && define.amd ? define('angular8-yandex-maps', ['exports', '@angular/common', '@angular/core', 'rxjs', 'rxjs/operators'], factory) :
(global = global || self, factory(global['angular8-yandex-maps'] = {}, global.ng.common, global.ng.core, global.rxjs, global.rxjs.operators));
}(this, (function (exports, i2, i0, rxjs, operators) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('rxjs/operators'), require('rxjs')) :
typeof define === 'function' && define.amd ? define('angular8-yandex-maps', ['exports', '@angular/common', '@angular/core', 'rxjs/operators', 'rxjs'], factory) :
(global = global || self, factory(global['angular8-yandex-maps'] = {}, global.ng.common, global.ng.core, global.rxjs.operators, global.rxjs));
}(this, (function (exports, i2, i0, operators, rxjs) { 'use strict';

@@ -104,17 +104,27 @@ var YA_MAP_CONFIG = new i0.InjectionToken('YA_MAP_CONFIG');

};
YaGeoObjectComponent.prototype.initGeoObject = function (ymaps, map) {
/**
* Inits GeoObject
* @param ymaps
* @param map
* @param clusterer We need this to control removing entity from Clusterer on Placemark destroy
* `this._clusterer.remove(this._geoObject)`;
*
* @returns GeoObject
*/
YaGeoObjectComponent.prototype.initGeoObject = function (ymaps, map, clusterer) {
var geoObject = new ymaps.GeoObject(this.feature, this.options);
this.id = generateRandomId();
this._clusterer = clusterer;
this._geoObject = geoObject;
this._map = map;
this._geoObject = geoObject;
map.geoObjects.add(geoObject);
this._emitEvents(ymaps, geoObject);
this._addEventListeners(ymaps, geoObject);
return geoObject;
};
/**
* Add listeners on placemark events
* Add listeners on geoObject events
* @param ymaps
* @param map
* @param geoObject
*/
YaGeoObjectComponent.prototype._emitEvents = function (ymaps, geoObject) {
YaGeoObjectComponent.prototype._addEventListeners = function (ymaps, geoObject) {
var _this = this;

@@ -142,2 +152,4 @@ this.load.emit({ ymaps: ymaps, instance: geoObject });

YaGeoObjectComponent.prototype.ngOnDestroy = function () {
var _a;
(_a = this._clusterer) === null || _a === void 0 ? void 0 : _a.remove(this._geoObject);
this._map.geoObjects.remove(this._geoObject);

@@ -215,3 +227,3 @@ };

YaPlacemarkComponent.prototype._configPlacemark = function (changes) {
var placemark = this.placemark;
var placemark = this._placemark;
if (!placemark)

@@ -236,9 +248,19 @@ return;

};
YaPlacemarkComponent.prototype.initPlacemark = function (ymaps, map) {
/**
* Inits placemark
* @param ymaps
* @param map
* @param clusterer We need this to control removing entity from Clusterer on Placemark destroy
* `this._clusterer.remove(this.placemark)`;
*
* @returns Placemark
*/
YaPlacemarkComponent.prototype.initPlacemark = function (ymaps, map, clusterer) {
var placemark = new ymaps.Placemark(this.geometry, this.properties, this.options);
this.id = generateRandomId();
this._clusterer = clusterer;
this._map = map;
this.placemark = placemark;
this._placemark = placemark;
map.geoObjects.add(placemark);
this._emitEvents(ymaps, placemark);
this._addEventListeners(ymaps, placemark);
return placemark;

@@ -251,3 +273,3 @@ };

*/
YaPlacemarkComponent.prototype._emitEvents = function (ymaps, placemark) {
YaPlacemarkComponent.prototype._addEventListeners = function (ymaps, placemark) {
var _this = this;

@@ -275,3 +297,5 @@ this.load.emit({ ymaps: ymaps, instance: placemark });

YaPlacemarkComponent.prototype.ngOnDestroy = function () {
this._map.geoObjects.remove(this.placemark);
var _a;
(_a = this._clusterer) === null || _a === void 0 ? void 0 : _a.remove(this._placemark);
this._map.geoObjects.remove(this._placemark);
};

@@ -303,4 +327,3 @@ return YaPlacemarkComponent;

* Component, geo object clusterer. Clusterizes objects in the visible area of the map.
* If the object does not fall within the visible area of the map,
* it will not be added to the map.
* If the object does not fall within the visible area of the map, it will not be added to the map.
* Note, that the clusterer does not react to changing the coordinates of objects (either programmatically,

@@ -339,2 +362,3 @@ * or as the result of dragging). If you want to change the coordinates of some object in the clusterer,

this.parentChange = new i0.EventEmitter();
this._sub = new rxjs.Subscription();
}

@@ -361,10 +385,30 @@ YaClustererComponent.prototype.ngOnChanges = function (changes) {

this._clusterer = clusterer;
this.placemarks.forEach(function (p) {
clusterer.add(p.initPlacemark(ymaps, map));
/**
* Adds new Placemarks to clusterer on changes
*/
var placemarksSub = this.placemarks.changes
.pipe(operators.startWith(this.placemarks))
.subscribe(function (list) {
list.forEach(function (placemark) {
if (!placemark.id) {
clusterer.add(placemark.initPlacemark(ymaps, map, clusterer));
}
});
});
this.geoObjects.forEach(function (o) {
clusterer.add(o.initGeoObject(ymaps, map));
this._sub.add(placemarksSub);
/**
* Adds new GeoObjects to clusterer on changes
*/
var geoObjectsSub = this.geoObjects.changes
.pipe(operators.startWith(this.geoObjects))
.subscribe(function (list) {
list.forEach(function (geoObject) {
if (!geoObject.id) {
clusterer.add(geoObject.initGeoObject(ymaps, map, clusterer));
}
});
});
this._sub.add(geoObjectsSub);
map.geoObjects.add(clusterer);
this._emitEvents(ymaps, clusterer);
this._addEventListeners(ymaps, clusterer);
};

@@ -376,3 +420,3 @@ /**

*/
YaClustererComponent.prototype._emitEvents = function (ymaps, clusterer) {
YaClustererComponent.prototype._addEventListeners = function (ymaps, clusterer) {
var _this = this;

@@ -393,2 +437,5 @@ this.load.emit({ ymaps: ymaps, instance: clusterer });

};
YaClustererComponent.prototype.ngOnDestroy = function () {
this._sub.unsubscribe();
};
return YaClustererComponent;

@@ -618,10 +665,10 @@ }());

map.geoObjects.add(multiroute);
this._emitEvents(ymaps, multiroute);
this._addEventListeners(ymaps, multiroute);
};
/**
* Add listeners on placemark events
* Add listeners on multiroute events
* @param ymaps
* @param map
*/
YaMultirouteComponent.prototype._emitEvents = function (ymaps, multiroute) {
YaMultirouteComponent.prototype._addEventListeners = function (ymaps, multiroute) {
var _this = this;

@@ -736,3 +783,3 @@ this.load.emit({ ymaps: ymaps, instance: multiroute });

// Events
_this._emitEvents(ymaps, map);
_this._addEventListeners(ymaps, map);
// Objects

@@ -812,3 +859,4 @@ _this._initObjects(ymaps, map);

/**
* Add new objects on ContentChildren changes
* Provides ContentChildren components to API.
* Subscribes on ContentChildren changes to provide them to API.
* @param ymaps

@@ -818,3 +866,3 @@ * @param map

YaMapComponent.prototype._initObjects = function (ymaps, map) {
// Placemarks
// Placemarks (async)
var placemarksSub = this.placemarks.changes

@@ -829,3 +877,4 @@ .pipe(operators.startWith(this.placemarks))

});
// Multiroutes
this._sub.add(placemarksSub);
// Multiroutes (async)
var multiroutesSub = this.multiroutes.changes

@@ -840,3 +889,4 @@ .pipe(operators.startWith(this.multiroutes))

});
// GeoObjects
this._sub.add(multiroutesSub);
// GeoObjects (async)
var geoObjectsSub = this.geoObjects.changes

@@ -851,13 +901,11 @@ .pipe(operators.startWith(this.geoObjects))

});
// Controls
this._sub.add(geoObjectsSub);
// Controls (not async)
this.controls.forEach(function (control) {
control.initControl(ymaps, map);
});
// Clusterers
// Clusterers (not async)
this.clusterers.forEach(function (clusterer) {
clusterer.initClusterer(ymaps, map);
});
this._sub.add(placemarksSub);
this._sub.add(multiroutesSub);
this._sub.add(geoObjectsSub);
};

@@ -869,3 +917,3 @@ /**

*/
YaMapComponent.prototype._emitEvents = function (ymaps, map) {
YaMapComponent.prototype._addEventListeners = function (ymaps, map) {
var _this = this;

@@ -1005,11 +1053,11 @@ this.load.emit({ ymaps: ymaps, instance: map });

_this._player = player;
_this.emitEvents(ymaps, player);
_this._addEventListeners(ymaps, player);
});
};
/**
* Emit events
* Add listeners on panorama events
* @param ymaps
* @param player Player instance
* @param player
*/
YaPanoramaComponent.prototype.emitEvents = function (ymaps, player) {
YaPanoramaComponent.prototype._addEventListeners = function (ymaps, player) {
var _this = this;

@@ -1016,0 +1064,0 @@ this.load.emit({ ymaps: ymaps, instance: player });

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

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("@angular/core"),require("rxjs"),require("rxjs/operators")):"function"==typeof define&&define.amd?define("angular8-yandex-maps",["exports","@angular/common","@angular/core","rxjs","rxjs/operators"],e):e((t=t||self)["angular8-yandex-maps"]={},t.ng.common,t.ng.core,t.rxjs,t.rxjs.operators)}(this,(function(t,e,n,o,r){"use strict";var i=new n.InjectionToken("YA_MAP_CONFIG"),s=function(){return"f"+(~~(1e8*Math.random())).toString(16)},a=function(t){return t.trim().replace(/^ +/gm,"")},p=function(){function t(){this.load=new n.EventEmitter,this.baloon=new n.EventEmitter,this.yaclick=new n.EventEmitter,this.drag=new n.EventEmitter,this.hint=new n.EventEmitter,this.mouse=new n.EventEmitter,this.multitouch=new n.EventEmitter}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype.ngOnChanges=function(t){this._configGeoObject(t)},t.prototype._configGeoObject=function(t){var e=this._geoObject;if(e){var n=t.feature,o=t.options;n&&this._setFeature(n.currentValue,e),o&&e.options.set(o.currentValue)}},t.prototype._setFeature=function(t,e){var n=t.geometry,o=t.properties;n&&console.error(a("\n The geometry of GeoObject cannot be changed after entity init.\n\n Solutions:\n 1. Use ymaps from ILoadEvent\n 2. Recreate GeoObject component with new feature.geometry\n ")),o&&e.properties.set(o)},t.prototype._logErrors=function(){this.feature||(console.error("GeoObjects: feature input is required."),this.feature={})},t.prototype.initGeoObject=function(t,e){var n=new t.GeoObject(this.feature,this.options);return this.id=s(),this._map=e,this._geoObject=n,e.geoObjects.add(n),this._emitEvents(t,n),n},t.prototype._emitEvents=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add(["balloonopen","balloonclose"],(function(o){return n.baloon.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["click","dblclick"],(function(o){return n.yaclick.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["dragstart","dragend"],(function(o){return n.drag.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["hintopen","hintclose"],(function(o){return n.hint.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mousedown","mouseenter","mouseleave","mousemove","mouseup"],(function(o){return n.mouse.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["multitouchstart","multitouchmove","multitouchend"],(function(o){return n.multitouch.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t.prototype.ngOnDestroy=function(){this._map.geoObjects.remove(this._geoObject)},t}();p.decorators=[{type:n.Component,args:[{selector:"ya-geoobject",template:"",styles:[""]}]}],p.ctorParameters=function(){return[]},p.propDecorators={feature:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],baloon:[{type:n.Output}],yaclick:[{type:n.Output}],drag:[{type:n.Output}],hint:[{type:n.Output}],mouse:[{type:n.Output}],multitouch:[{type:n.Output}]};var u=function(){function t(){this.load=new n.EventEmitter,this.baloon=new n.EventEmitter,this.yaclick=new n.EventEmitter,this.drag=new n.EventEmitter,this.hint=new n.EventEmitter,this.mouse=new n.EventEmitter,this.multitouch=new n.EventEmitter}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype.ngOnChanges=function(t){this._configPlacemark(t)},t.prototype._configPlacemark=function(t){var e=this.placemark;if(e){var n=t.geometry,o=t.properties,r=t.options;n&&e.geometry.setCoordinates(n.currentValue),o&&e.properties.set(o.currentValue),r&&e.options.set(r.currentValue)}},t.prototype._logErrors=function(){this.geometry||(console.error("Placemark: geometry input is required."),this.geometry=[])},t.prototype.initPlacemark=function(t,e){var n=new t.Placemark(this.geometry,this.properties,this.options);return this.id=s(),this._map=e,this.placemark=n,e.geoObjects.add(n),this._emitEvents(t,n),n},t.prototype._emitEvents=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add(["balloonopen","balloonclose"],(function(o){return n.baloon.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["click","dblclick"],(function(o){return n.yaclick.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["dragstart","dragend"],(function(o){return n.drag.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["hintopen","hintclose"],(function(o){return n.hint.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mousedown","mouseenter","mouseleave","mousemove","mouseup"],(function(o){return n.mouse.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["multitouchstart","multitouchmove","multitouchend"],(function(o){return n.multitouch.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t.prototype.ngOnDestroy=function(){this._map.geoObjects.remove(this.placemark)},t}();u.decorators=[{type:n.Component,args:[{selector:"ya-placemark",template:"",styles:[""]}]}],u.ctorParameters=function(){return[]},u.propDecorators={geometry:[{type:n.Input}],properties:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],baloon:[{type:n.Output}],yaclick:[{type:n.Output}],drag:[{type:n.Output}],hint:[{type:n.Output}],mouse:[{type:n.Output}],multitouch:[{type:n.Output}]};var c=function(){function t(){this.load=new n.EventEmitter,this.hint=new n.EventEmitter,this.mapChange=new n.EventEmitter,this.optionsChange=new n.EventEmitter,this.parentChange=new n.EventEmitter}return t.prototype.ngOnChanges=function(t){this._configClusterer(t)},t.prototype._configClusterer=function(t){var e=this._clusterer;if(e){var n=t.options;n&&e.options.set(n.currentValue)}},t.prototype.initClusterer=function(t,e){var n=new t.Clusterer(this.options);this._clusterer=n,this.placemarks.forEach((function(o){n.add(o.initPlacemark(t,e))})),this.geoObjects.forEach((function(o){n.add(o.initGeoObject(t,e))})),e.geoObjects.add(n),this._emitEvents(t,n)},t.prototype._emitEvents=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add(["hintclose","hintopen"],(function(o){return n.hint.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mapchange"],(function(o){return n.mapChange.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["optionschange"],(function(o){return n.optionsChange.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["parentchange"],(function(o){return n.parentChange.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t}();c.decorators=[{type:n.Component,args:[{selector:"ya-clusterer",template:"",styles:[""]}]}],c.ctorParameters=function(){return[]},c.propDecorators={placemarks:[{type:n.ContentChildren,args:[u]}],geoObjects:[{type:n.ContentChildren,args:[p]}],options:[{type:n.Input}],load:[{type:n.Output}],hint:[{type:n.Output}],mapChange:[{type:n.Output}],optionsChange:[{type:n.Output}],parentChange:[{type:n.Output}]};var m=function(){function t(){this.load=new n.EventEmitter}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype._logErrors=function(){this.type||console.error("Control: type input is required.")},t.prototype.initControl=function(t,e){var n=new t.control[this.type](this.parameters);"RoutePanel"===this.type&&this.parameters&&this.parameters.state&&n.routePanel.state.set(Object.assign({},this.parameters.state)),e.controls.add(n),this.load.emit({ymaps:t,instance:n})},t.prototype.ngOnChanges=function(t){this._configControl(t)},t.prototype._configControl=function(t){for(var e in t)if(t[e].firstChange)return;console.error(a("\n Control doesn't support dynamic configuartion.\n\n Solutions:\n 1. Use ymaps from ILoadEvent\n 2. Recreate component with new configuration\n "))},t}();m.decorators=[{type:n.Component,args:[{selector:"ya-control",template:"",styles:[""]}]}],m.ctorParameters=function(){return[]},m.propDecorators={type:[{type:n.Input}],parameters:[{type:n.Input}],load:[{type:n.Output}]};var l={apikey:null,lang:"ru_RU"},y=function(){function t(t,e){this.document=e,this._config=t||l}return t.prototype.initScript=function(){if(!this._script){var t=this.document.createElement("script");this._setSource(t,this._config),this._script=this.document.body.appendChild(t)}return"ymaps"in window?o.from(ymaps.ready()).pipe(r.map((function(){return ymaps}))):o.fromEvent(this._script,"load").pipe(r.switchMap((function(){return o.from(ymaps.ready()).pipe(r.map((function(){return ymaps})))})))},t.prototype._setSource=function(t,e){var n=this._convertIntoQueryParams(e),o=e.enterprise,r=e.version,i=void 0===r?"2.1":r;t.src="https://"+(o?"enterprise.":"")+"api-maps.yandex.ru/"+i+"/?"+n},t.prototype._convertIntoQueryParams=function(t){return Object.keys(t).map((function(e){return e+"="+t[e]})).join("&")},t}();y.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new y(n.ɵɵinject(i,8),n.ɵɵinject(e.DOCUMENT))},token:y,providedIn:"root"}),y.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],y.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[i]}]},{type:Document,decorators:[{type:n.Inject,args:[e.DOCUMENT]}]}]};var h=function(){function t(){this.load=new n.EventEmitter,this.activeroutechange=new n.EventEmitter,this.baloon=new n.EventEmitter,this.yaclick=new n.EventEmitter,this.mouse=new n.EventEmitter,this.multitouch=new n.EventEmitter}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype.ngOnChanges=function(t){this._configMultiroute(t)},t.prototype._configMultiroute=function(t){var e=this._multiroute;if(e){var n=t.referencePoints,o=t.model,r=t.options;n&&e.model.setReferencePoints(n.currentValue),o&&this._setModel(o.currentValue,e),r&&e.options.set(r.currentValue)}},t.prototype._setModel=function(t,e){var n=t.referencePoints,o=t.params;n&&e.model.setReferencePoints(n),o&&e.model.setParams(o)},t.prototype._logErrors=function(){this.referencePoints||(console.error("Multiroute: referencePoints input is required."),this.referencePoints=[])},t.prototype.initMultiroute=function(t,e){var n=new t.multiRouter.MultiRoute(Object.assign(Object.assign({},this.model),{referencePoints:this.referencePoints}),this.options);this.id=s(),this._map=e,this._multiroute=n,e.geoObjects.add(n),this._emitEvents(t,n)},t.prototype._emitEvents=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add("activeroutechange",(function(o){return n.activeroutechange.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["balloonopen","balloonclose"],(function(o){return n.baloon.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["click","dblclick"],(function(o){return n.yaclick.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mousedown","mouseenter","mouseleave","mousemove","mouseup"],(function(o){return n.mouse.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["multitouchstart","multitouchmove","multitouchend"],(function(o){return n.multitouch.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t.prototype.ngOnDestroy=function(){this._map.geoObjects.remove(this._multiroute)},t}();h.decorators=[{type:n.Component,args:[{selector:"ya-multiroute",template:"",styles:[""]}]}],h.ctorParameters=function(){return[]},h.propDecorators={referencePoints:[{type:n.Input}],model:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],activeroutechange:[{type:n.Output}],baloon:[{type:n.Output}],yaclick:[{type:n.Output}],mouse:[{type:n.Output}],multitouch:[{type:n.Output}]};var v=function(){function t(t){this._scriptService=t,this.zoom=10,this.state={},this.options={},this.load=new n.EventEmitter,this.action=new n.EventEmitter,this.baloon=new n.EventEmitter,this.yaclick=new n.EventEmitter,this.hint=new n.EventEmitter,this.mouse=new n.EventEmitter,this.multitouch=new n.EventEmitter}return t.prototype.ngOnInit=function(){var t=this;this._sub=new o.Subscription,this._logErrors(),this._scriptService.initScript().pipe(r.take(1)).subscribe((function(e){if(t.onlyInstance)t.load.emit({ymaps:e});else{var n=t._createMap(e,s());t._map=n,t._emitEvents(e,n),t._initObjects(e,n)}}))},t.prototype.ngOnChanges=function(t){this._configMap(t)},t.prototype._configMap=function(t){var e=this._map;if(e){var n=t.center,o=t.zoom,r=t.state,i=t.options;n&&e.setCenter(n.currentValue),o&&e.setZoom(o.currentValue),r&&this._setState(r.currentValue,e),i&&e.options.set(i.currentValue)}},t.prototype._setState=function(t,e){var n=t.behaviors,o=t.bounds,r=t.center,i=t.controls,s=t.margin,a=t.type,p=t.zoom;n&&e.behaviors.enable(n),o&&e.setBounds(o),r&&e.setCenter(r),i&&i.forEach((function(t){e.controls.add(t)})),s&&e.margin.setDefaultMargin(s),a&&e.setType(a),p&&e.setZoom(p)},t.prototype._logErrors=function(){this.center||this.onlyInstance||(console.error("Map: center input is required."),this.center=[])},t.prototype._createMap=function(t,e){var n=this.mapContainer.nativeElement;return n.setAttribute("id",e),n.style.cssText="width: 100%; height: 100%;",new t.Map(e,Object.assign(Object.assign({},this.state),{zoom:this.zoom,center:this.center}),this.options)},t.prototype._initObjects=function(t,e){var n=this.placemarks.changes.pipe(r.startWith(this.placemarks)).subscribe((function(n){n.forEach((function(n){n.id||n.initPlacemark(t,e)}))})),o=this.multiroutes.changes.pipe(r.startWith(this.multiroutes)).subscribe((function(n){n.forEach((function(n){n.id||n.initMultiroute(t,e)}))})),i=this.geoObjects.changes.pipe(r.startWith(this.geoObjects)).subscribe((function(n){n.forEach((function(n){n.id||n.initGeoObject(t,e)}))}));this.controls.forEach((function(n){n.initControl(t,e)})),this.clusterers.forEach((function(n){n.initClusterer(t,e)})),this._sub.add(n),this._sub.add(o),this._sub.add(i)},t.prototype._emitEvents=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add(["actionbegin","actionend"],(function(o){return n.action.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["balloonopen","balloonclose"],(function(o){return n.baloon.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["click","dblclick"],(function(o){return n.yaclick.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["hintopen","hintclose"],(function(o){return n.hint.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mousedown","mouseenter","mouseleave","mousemove","mouseup"],(function(o){return n.mouse.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["multitouchstart","multitouchmove","multitouchend"],(function(o){return n.multitouch.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t.prototype.ngOnDestroy=function(){this._sub.unsubscribe()},t}();v.decorators=[{type:n.Component,args:[{selector:"ya-map",template:"<div #container></div>\r\n",styles:[""]}]}],v.ctorParameters=function(){return[{type:y}]},v.propDecorators={mapContainer:[{type:n.ViewChild,args:["container"]}],placemarks:[{type:n.ContentChildren,args:[u]}],multiroutes:[{type:n.ContentChildren,args:[h]}],geoObjects:[{type:n.ContentChildren,args:[p]}],controls:[{type:n.ContentChildren,args:[m]}],clusterers:[{type:n.ContentChildren,args:[c]}],onlyInstance:[{type:n.Input}],center:[{type:n.Input}],zoom:[{type:n.Input}],state:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],action:[{type:n.Output}],baloon:[{type:n.Output}],yaclick:[{type:n.Output}],hint:[{type:n.Output}],mouse:[{type:n.Output}],multitouch:[{type:n.Output}]};var d=function(){function t(t){this._scriptService=t,this.load=new n.EventEmitter,this.direction=new n.EventEmitter,this.fullscreen=new n.EventEmitter,this.marker=new n.EventEmitter}return t.prototype.ngOnInit=function(){var t=this;this._logErrors(),this._scriptService.initScript().pipe(r.take(1)).subscribe((function(e){t._createPanorama(e,s())}))},t.prototype.ngOnChanges=function(t){this._configPanorama(t)},t.prototype._configPanorama=function(t){var e=this._player;if(e){var n=t.point,o=t.layer,r=t.options;n&&e.moveTo(n.currentValue,o?{layer:o.currentValue}:{}),o&&!n&&console.error("Panorama: You cannot change the layer without point"),r&&console.error(a("\n The options of Panorama cannot be changed after entity init.\n\n Solutions:\n 1. Use ymaps from ILoadEvent\n 2. Recreate Panorama component with new options\n "))}},t.prototype._logErrors=function(){this.point||(console.error("Panorama: point input is required."),this.point=[])},t.prototype._createPanorama=function(t,e){var n=this,o=this.panoramaContainer.nativeElement;o.setAttribute("id",e),o.style.cssText="width: 100%; height: 100%;",t.panorama.locate(this.point,{layer:this.layer}).then((function(o){var r=new t.panorama.Player(e,o[0],n.options);n._player=r,n.emitEvents(t,r)}))},t.prototype.emitEvents=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add("directionchange",(function(o){return n.direction.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["fullscreenenter","fullscreenexit"],(function(o){return n.fullscreen.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["markercollapse","markerexpand","markermouseenter","markermouseleave"],(function(o){return n.marker.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t}();d.decorators=[{type:n.Component,args:[{selector:"ya-panorama",template:"<div #container></div>\r\n",styles:[""]}]}],d.ctorParameters=function(){return[{type:y}]},d.propDecorators={panoramaContainer:[{type:n.ViewChild,args:["container"]}],point:[{type:n.Input}],layer:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],direction:[{type:n.Output}],fullscreen:[{type:n.Output}],marker:[{type:n.Output}]};var f=function(){function t(){}return t.forRoot=function(e){return{ngModule:t,providers:[{provide:i,useValue:e}]}},t}();f.decorators=[{type:n.NgModule,args:[{declarations:[c,m,p,v,h,d,u],imports:[e.CommonModule],exports:[c,m,p,v,h,d,u]}]}],t.AngularYandexMapsModule=f,t.ScriptService=y,t.YA_MAP_CONFIG=i,t.YaClustererComponent=c,t.YaControlComponent=m,t.YaGeoObjectComponent=p,t.YaMapComponent=v,t.YaMultirouteComponent=h,t.YaPanoramaComponent=d,t.YaPlacemarkComponent=u,Object.defineProperty(t,"__esModule",{value:!0})}));
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/common"),require("@angular/core"),require("rxjs/operators"),require("rxjs")):"function"==typeof define&&define.amd?define("angular8-yandex-maps",["exports","@angular/common","@angular/core","rxjs/operators","rxjs"],e):e((t=t||self)["angular8-yandex-maps"]={},t.ng.common,t.ng.core,t.rxjs.operators,t.rxjs)}(this,(function(t,e,n,o,r){"use strict";var i=new n.InjectionToken("YA_MAP_CONFIG"),s=function(){return"f"+(~~(1e8*Math.random())).toString(16)},a=function(t){return t.trim().replace(/^ +/gm,"")},p=function(){function t(){this.load=new n.EventEmitter,this.baloon=new n.EventEmitter,this.yaclick=new n.EventEmitter,this.drag=new n.EventEmitter,this.hint=new n.EventEmitter,this.mouse=new n.EventEmitter,this.multitouch=new n.EventEmitter}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype.ngOnChanges=function(t){this._configGeoObject(t)},t.prototype._configGeoObject=function(t){var e=this._geoObject;if(e){var n=t.feature,o=t.options;n&&this._setFeature(n.currentValue,e),o&&e.options.set(o.currentValue)}},t.prototype._setFeature=function(t,e){var n=t.geometry,o=t.properties;n&&console.error(a("\n The geometry of GeoObject cannot be changed after entity init.\n\n Solutions:\n 1. Use ymaps from ILoadEvent\n 2. Recreate GeoObject component with new feature.geometry\n ")),o&&e.properties.set(o)},t.prototype._logErrors=function(){this.feature||(console.error("GeoObjects: feature input is required."),this.feature={})},t.prototype.initGeoObject=function(t,e,n){var o=new t.GeoObject(this.feature,this.options);return this.id=s(),this._clusterer=n,this._geoObject=o,this._map=e,e.geoObjects.add(o),this._addEventListeners(t,o),o},t.prototype._addEventListeners=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add(["balloonopen","balloonclose"],(function(o){return n.baloon.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["click","dblclick"],(function(o){return n.yaclick.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["dragstart","dragend"],(function(o){return n.drag.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["hintopen","hintclose"],(function(o){return n.hint.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mousedown","mouseenter","mouseleave","mousemove","mouseup"],(function(o){return n.mouse.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["multitouchstart","multitouchmove","multitouchend"],(function(o){return n.multitouch.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t.prototype.ngOnDestroy=function(){var t;null===(t=this._clusterer)||void 0===t||t.remove(this._geoObject),this._map.geoObjects.remove(this._geoObject)},t}();p.decorators=[{type:n.Component,args:[{selector:"ya-geoobject",template:"",styles:[""]}]}],p.ctorParameters=function(){return[]},p.propDecorators={feature:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],baloon:[{type:n.Output}],yaclick:[{type:n.Output}],drag:[{type:n.Output}],hint:[{type:n.Output}],mouse:[{type:n.Output}],multitouch:[{type:n.Output}]};var u=function(){function t(){this.load=new n.EventEmitter,this.baloon=new n.EventEmitter,this.yaclick=new n.EventEmitter,this.drag=new n.EventEmitter,this.hint=new n.EventEmitter,this.mouse=new n.EventEmitter,this.multitouch=new n.EventEmitter}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype.ngOnChanges=function(t){this._configPlacemark(t)},t.prototype._configPlacemark=function(t){var e=this._placemark;if(e){var n=t.geometry,o=t.properties,r=t.options;n&&e.geometry.setCoordinates(n.currentValue),o&&e.properties.set(o.currentValue),r&&e.options.set(r.currentValue)}},t.prototype._logErrors=function(){this.geometry||(console.error("Placemark: geometry input is required."),this.geometry=[])},t.prototype.initPlacemark=function(t,e,n){var o=new t.Placemark(this.geometry,this.properties,this.options);return this.id=s(),this._clusterer=n,this._map=e,this._placemark=o,e.geoObjects.add(o),this._addEventListeners(t,o),o},t.prototype._addEventListeners=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add(["balloonopen","balloonclose"],(function(o){return n.baloon.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["click","dblclick"],(function(o){return n.yaclick.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["dragstart","dragend"],(function(o){return n.drag.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["hintopen","hintclose"],(function(o){return n.hint.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mousedown","mouseenter","mouseleave","mousemove","mouseup"],(function(o){return n.mouse.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["multitouchstart","multitouchmove","multitouchend"],(function(o){return n.multitouch.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t.prototype.ngOnDestroy=function(){var t;null===(t=this._clusterer)||void 0===t||t.remove(this._placemark),this._map.geoObjects.remove(this._placemark)},t}();u.decorators=[{type:n.Component,args:[{selector:"ya-placemark",template:"",styles:[""]}]}],u.ctorParameters=function(){return[]},u.propDecorators={geometry:[{type:n.Input}],properties:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],baloon:[{type:n.Output}],yaclick:[{type:n.Output}],drag:[{type:n.Output}],hint:[{type:n.Output}],mouse:[{type:n.Output}],multitouch:[{type:n.Output}]};var c=function(){function t(){this.load=new n.EventEmitter,this.hint=new n.EventEmitter,this.mapChange=new n.EventEmitter,this.optionsChange=new n.EventEmitter,this.parentChange=new n.EventEmitter,this._sub=new r.Subscription}return t.prototype.ngOnChanges=function(t){this._configClusterer(t)},t.prototype._configClusterer=function(t){var e=this._clusterer;if(e){var n=t.options;n&&e.options.set(n.currentValue)}},t.prototype.initClusterer=function(t,e){var n=new t.Clusterer(this.options);this._clusterer=n;var r=this.placemarks.changes.pipe(o.startWith(this.placemarks)).subscribe((function(o){o.forEach((function(o){o.id||n.add(o.initPlacemark(t,e,n))}))}));this._sub.add(r);var i=this.geoObjects.changes.pipe(o.startWith(this.geoObjects)).subscribe((function(o){o.forEach((function(o){o.id||n.add(o.initGeoObject(t,e,n))}))}));this._sub.add(i),e.geoObjects.add(n),this._addEventListeners(t,n)},t.prototype._addEventListeners=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add(["hintclose","hintopen"],(function(o){return n.hint.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mapchange"],(function(o){return n.mapChange.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["optionschange"],(function(o){return n.optionsChange.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["parentchange"],(function(o){return n.parentChange.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t.prototype.ngOnDestroy=function(){this._sub.unsubscribe()},t}();c.decorators=[{type:n.Component,args:[{selector:"ya-clusterer",template:"",styles:[""]}]}],c.ctorParameters=function(){return[]},c.propDecorators={placemarks:[{type:n.ContentChildren,args:[u]}],geoObjects:[{type:n.ContentChildren,args:[p]}],options:[{type:n.Input}],load:[{type:n.Output}],hint:[{type:n.Output}],mapChange:[{type:n.Output}],optionsChange:[{type:n.Output}],parentChange:[{type:n.Output}]};var m=function(){function t(){this.load=new n.EventEmitter}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype._logErrors=function(){this.type||console.error("Control: type input is required.")},t.prototype.initControl=function(t,e){var n=new t.control[this.type](this.parameters);"RoutePanel"===this.type&&this.parameters&&this.parameters.state&&n.routePanel.state.set(Object.assign({},this.parameters.state)),e.controls.add(n),this.load.emit({ymaps:t,instance:n})},t.prototype.ngOnChanges=function(t){this._configControl(t)},t.prototype._configControl=function(t){for(var e in t)if(t[e].firstChange)return;console.error(a("\n Control doesn't support dynamic configuartion.\n\n Solutions:\n 1. Use ymaps from ILoadEvent\n 2. Recreate component with new configuration\n "))},t}();m.decorators=[{type:n.Component,args:[{selector:"ya-control",template:"",styles:[""]}]}],m.ctorParameters=function(){return[]},m.propDecorators={type:[{type:n.Input}],parameters:[{type:n.Input}],load:[{type:n.Output}]};var l={apikey:null,lang:"ru_RU"},y=function(){function t(t,e){this.document=e,this._config=t||l}return t.prototype.initScript=function(){if(!this._script){var t=this.document.createElement("script");this._setSource(t,this._config),this._script=this.document.body.appendChild(t)}return"ymaps"in window?r.from(ymaps.ready()).pipe(o.map((function(){return ymaps}))):r.fromEvent(this._script,"load").pipe(o.switchMap((function(){return r.from(ymaps.ready()).pipe(o.map((function(){return ymaps})))})))},t.prototype._setSource=function(t,e){var n=this._convertIntoQueryParams(e),o=e.enterprise,r=e.version,i=void 0===r?"2.1":r;t.src="https://"+(o?"enterprise.":"")+"api-maps.yandex.ru/"+i+"/?"+n},t.prototype._convertIntoQueryParams=function(t){return Object.keys(t).map((function(e){return e+"="+t[e]})).join("&")},t}();y.ɵprov=n.ɵɵdefineInjectable({factory:function(){return new y(n.ɵɵinject(i,8),n.ɵɵinject(e.DOCUMENT))},token:y,providedIn:"root"}),y.decorators=[{type:n.Injectable,args:[{providedIn:"root"}]}],y.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[i]}]},{type:Document,decorators:[{type:n.Inject,args:[e.DOCUMENT]}]}]};var h=function(){function t(){this.load=new n.EventEmitter,this.activeroutechange=new n.EventEmitter,this.baloon=new n.EventEmitter,this.yaclick=new n.EventEmitter,this.mouse=new n.EventEmitter,this.multitouch=new n.EventEmitter}return t.prototype.ngOnInit=function(){this._logErrors()},t.prototype.ngOnChanges=function(t){this._configMultiroute(t)},t.prototype._configMultiroute=function(t){var e=this._multiroute;if(e){var n=t.referencePoints,o=t.model,r=t.options;n&&e.model.setReferencePoints(n.currentValue),o&&this._setModel(o.currentValue,e),r&&e.options.set(r.currentValue)}},t.prototype._setModel=function(t,e){var n=t.referencePoints,o=t.params;n&&e.model.setReferencePoints(n),o&&e.model.setParams(o)},t.prototype._logErrors=function(){this.referencePoints||(console.error("Multiroute: referencePoints input is required."),this.referencePoints=[])},t.prototype.initMultiroute=function(t,e){var n=new t.multiRouter.MultiRoute(Object.assign(Object.assign({},this.model),{referencePoints:this.referencePoints}),this.options);this.id=s(),this._map=e,this._multiroute=n,e.geoObjects.add(n),this._addEventListeners(t,n)},t.prototype._addEventListeners=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add("activeroutechange",(function(o){return n.activeroutechange.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["balloonopen","balloonclose"],(function(o){return n.baloon.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["click","dblclick"],(function(o){return n.yaclick.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mousedown","mouseenter","mouseleave","mousemove","mouseup"],(function(o){return n.mouse.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["multitouchstart","multitouchmove","multitouchend"],(function(o){return n.multitouch.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t.prototype.ngOnDestroy=function(){this._map.geoObjects.remove(this._multiroute)},t}();h.decorators=[{type:n.Component,args:[{selector:"ya-multiroute",template:"",styles:[""]}]}],h.ctorParameters=function(){return[]},h.propDecorators={referencePoints:[{type:n.Input}],model:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],activeroutechange:[{type:n.Output}],baloon:[{type:n.Output}],yaclick:[{type:n.Output}],mouse:[{type:n.Output}],multitouch:[{type:n.Output}]};var d=function(){function t(t){this._scriptService=t,this.zoom=10,this.state={},this.options={},this.load=new n.EventEmitter,this.action=new n.EventEmitter,this.baloon=new n.EventEmitter,this.yaclick=new n.EventEmitter,this.hint=new n.EventEmitter,this.mouse=new n.EventEmitter,this.multitouch=new n.EventEmitter}return t.prototype.ngOnInit=function(){var t=this;this._sub=new r.Subscription,this._logErrors(),this._scriptService.initScript().pipe(o.take(1)).subscribe((function(e){if(t.onlyInstance)t.load.emit({ymaps:e});else{var n=t._createMap(e,s());t._map=n,t._addEventListeners(e,n),t._initObjects(e,n)}}))},t.prototype.ngOnChanges=function(t){this._configMap(t)},t.prototype._configMap=function(t){var e=this._map;if(e){var n=t.center,o=t.zoom,r=t.state,i=t.options;n&&e.setCenter(n.currentValue),o&&e.setZoom(o.currentValue),r&&this._setState(r.currentValue,e),i&&e.options.set(i.currentValue)}},t.prototype._setState=function(t,e){var n=t.behaviors,o=t.bounds,r=t.center,i=t.controls,s=t.margin,a=t.type,p=t.zoom;n&&e.behaviors.enable(n),o&&e.setBounds(o),r&&e.setCenter(r),i&&i.forEach((function(t){e.controls.add(t)})),s&&e.margin.setDefaultMargin(s),a&&e.setType(a),p&&e.setZoom(p)},t.prototype._logErrors=function(){this.center||this.onlyInstance||(console.error("Map: center input is required."),this.center=[])},t.prototype._createMap=function(t,e){var n=this.mapContainer.nativeElement;return n.setAttribute("id",e),n.style.cssText="width: 100%; height: 100%;",new t.Map(e,Object.assign(Object.assign({},this.state),{zoom:this.zoom,center:this.center}),this.options)},t.prototype._initObjects=function(t,e){var n=this.placemarks.changes.pipe(o.startWith(this.placemarks)).subscribe((function(n){n.forEach((function(n){n.id||n.initPlacemark(t,e)}))}));this._sub.add(n);var r=this.multiroutes.changes.pipe(o.startWith(this.multiroutes)).subscribe((function(n){n.forEach((function(n){n.id||n.initMultiroute(t,e)}))}));this._sub.add(r);var i=this.geoObjects.changes.pipe(o.startWith(this.geoObjects)).subscribe((function(n){n.forEach((function(n){n.id||n.initGeoObject(t,e)}))}));this._sub.add(i),this.controls.forEach((function(n){n.initControl(t,e)})),this.clusterers.forEach((function(n){n.initClusterer(t,e)}))},t.prototype._addEventListeners=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add(["actionbegin","actionend"],(function(o){return n.action.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["balloonopen","balloonclose"],(function(o){return n.baloon.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["click","dblclick"],(function(o){return n.yaclick.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["hintopen","hintclose"],(function(o){return n.hint.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["mousedown","mouseenter","mouseleave","mousemove","mouseup"],(function(o){return n.mouse.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["multitouchstart","multitouchmove","multitouchend"],(function(o){return n.multitouch.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t.prototype.ngOnDestroy=function(){this._sub.unsubscribe()},t}();d.decorators=[{type:n.Component,args:[{selector:"ya-map",template:"<div #container></div>\r\n",styles:[""]}]}],d.ctorParameters=function(){return[{type:y}]},d.propDecorators={mapContainer:[{type:n.ViewChild,args:["container"]}],placemarks:[{type:n.ContentChildren,args:[u]}],multiroutes:[{type:n.ContentChildren,args:[h]}],geoObjects:[{type:n.ContentChildren,args:[p]}],controls:[{type:n.ContentChildren,args:[m]}],clusterers:[{type:n.ContentChildren,args:[c]}],onlyInstance:[{type:n.Input}],center:[{type:n.Input}],zoom:[{type:n.Input}],state:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],action:[{type:n.Output}],baloon:[{type:n.Output}],yaclick:[{type:n.Output}],hint:[{type:n.Output}],mouse:[{type:n.Output}],multitouch:[{type:n.Output}]};var v=function(){function t(t){this._scriptService=t,this.load=new n.EventEmitter,this.direction=new n.EventEmitter,this.fullscreen=new n.EventEmitter,this.marker=new n.EventEmitter}return t.prototype.ngOnInit=function(){var t=this;this._logErrors(),this._scriptService.initScript().pipe(o.take(1)).subscribe((function(e){t._createPanorama(e,s())}))},t.prototype.ngOnChanges=function(t){this._configPanorama(t)},t.prototype._configPanorama=function(t){var e=this._player;if(e){var n=t.point,o=t.layer,r=t.options;n&&e.moveTo(n.currentValue,o?{layer:o.currentValue}:{}),o&&!n&&console.error("Panorama: You cannot change the layer without point"),r&&console.error(a("\n The options of Panorama cannot be changed after entity init.\n\n Solutions:\n 1. Use ymaps from ILoadEvent\n 2. Recreate Panorama component with new options\n "))}},t.prototype._logErrors=function(){this.point||(console.error("Panorama: point input is required."),this.point=[])},t.prototype._createPanorama=function(t,e){var n=this,o=this.panoramaContainer.nativeElement;o.setAttribute("id",e),o.style.cssText="width: 100%; height: 100%;",t.panorama.locate(this.point,{layer:this.layer}).then((function(o){var r=new t.panorama.Player(e,o[0],n.options);n._player=r,n._addEventListeners(t,r)}))},t.prototype._addEventListeners=function(t,e){var n=this;this.load.emit({ymaps:t,instance:e}),e.events.add("directionchange",(function(o){return n.direction.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["fullscreenenter","fullscreenexit"],(function(o){return n.fullscreen.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})})),e.events.add(["markercollapse","markerexpand","markermouseenter","markermouseleave"],(function(o){return n.marker.emit({ymaps:t,instance:e,type:o.originalEvent.type,event:o})}))},t}();v.decorators=[{type:n.Component,args:[{selector:"ya-panorama",template:"<div #container></div>\r\n",styles:[""]}]}],v.ctorParameters=function(){return[{type:y}]},v.propDecorators={panoramaContainer:[{type:n.ViewChild,args:["container"]}],point:[{type:n.Input}],layer:[{type:n.Input}],options:[{type:n.Input}],load:[{type:n.Output}],direction:[{type:n.Output}],fullscreen:[{type:n.Output}],marker:[{type:n.Output}]};var f=function(){function t(){}return t.forRoot=function(e){return{ngModule:t,providers:[{provide:i,useValue:e}]}},t}();f.decorators=[{type:n.NgModule,args:[{declarations:[c,m,p,d,h,v,u],imports:[e.CommonModule],exports:[c,m,p,d,h,v,u]}]}],t.AngularYandexMapsModule=f,t.ScriptService=y,t.YA_MAP_CONFIG=i,t.YaClustererComponent=c,t.YaControlComponent=m,t.YaGeoObjectComponent=p,t.YaMapComponent=d,t.YaMultirouteComponent=h,t.YaPanoramaComponent=v,t.YaPlacemarkComponent=u,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=angular8-yandex-maps.umd.min.js.map
import { Component, ContentChildren, EventEmitter, Input, Output } from '@angular/core';
import { startWith } from 'rxjs/operators';
import { Subscription } from 'rxjs';
import { YaGeoObjectComponent } from '../ya-geoobject/ya-geoobject.component';

@@ -6,4 +8,3 @@ import { YaPlacemarkComponent } from '../ya-placemark/ya-placemark.component';

* Component, geo object clusterer. Clusterizes objects in the visible area of the map.
* If the object does not fall within the visible area of the map,
* it will not be added to the map.
* If the object does not fall within the visible area of the map, it will not be added to the map.
* Note, that the clusterer does not react to changing the coordinates of objects (either programmatically,

@@ -42,2 +43,3 @@ * or as the result of dragging). If you want to change the coordinates of some object in the clusterer,

this.parentChange = new EventEmitter();
this._sub = new Subscription();
}

@@ -64,10 +66,30 @@ ngOnChanges(changes) {

this._clusterer = clusterer;
this.placemarks.forEach((p) => {
clusterer.add(p.initPlacemark(ymaps, map));
/**
* Adds new Placemarks to clusterer on changes
*/
const placemarksSub = this.placemarks.changes
.pipe(startWith(this.placemarks))
.subscribe((list) => {
list.forEach((placemark) => {
if (!placemark.id) {
clusterer.add(placemark.initPlacemark(ymaps, map, clusterer));
}
});
});
this.geoObjects.forEach((o) => {
clusterer.add(o.initGeoObject(ymaps, map));
this._sub.add(placemarksSub);
/**
* Adds new GeoObjects to clusterer on changes
*/
const geoObjectsSub = this.geoObjects.changes
.pipe(startWith(this.geoObjects))
.subscribe((list) => {
list.forEach((geoObject) => {
if (!geoObject.id) {
clusterer.add(geoObject.initGeoObject(ymaps, map, clusterer));
}
});
});
this._sub.add(geoObjectsSub);
map.geoObjects.add(clusterer);
this._emitEvents(ymaps, clusterer);
this._addEventListeners(ymaps, clusterer);
}

@@ -79,3 +101,3 @@ /**

*/
_emitEvents(ymaps, clusterer) {
_addEventListeners(ymaps, clusterer) {
this.load.emit({ ymaps, instance: clusterer });

@@ -95,2 +117,5 @@ // Hint

}
ngOnDestroy() {
this._sub.unsubscribe();
}
}

@@ -115,2 +140,2 @@ YaClustererComponent.decorators = [

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtY2x1c3RlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9yb290L0Rlc2t0b3AvZGV2L2FuZ3VsYXIteWFuZGV4LW1hcHMvcHJvamVjdHMvYW5ndWxhcjgteWFuZGV4LW1hcHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveWEtY2x1c3RlcmVyL3lhLWNsdXN0ZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR0wsTUFBTSxlQUFlLENBQUM7QUFFekIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFOUU7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFNSCxNQUFNLE9BQU8sb0JBQW9CO0lBa0MvQjtRQXhCQTs7V0FFRztRQUNjLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ3ZEOztXQUVHO1FBQ2MsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkQ7O1dBRUc7UUFDYyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4RDs7V0FFRztRQUNjLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1RDs7V0FFRztRQUNjLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUszQyxDQUFDO0lBRVYsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLE9BQXNCO1FBQzdDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFbEMsSUFBSSxDQUFDLFNBQVM7WUFBRSxPQUFPO1FBRXZCLE1BQU0s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QUN4QixZQUE0Qzs7YUFFN0M7Ozs7eUJBRUUsZUFBZSxTQUFDLG9CQUFvQjt5QkFDcEMsZUFBZSxTQUFDLG9CQUFvQjtzQkFNcEMsS0FBSzttQkFLTCxNQUFNO21CQUlOLE1BQU07d0JBSU4sTUFBTTs0QkFJTixNQUFNOzJCQUlOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFNpbXBsZUNoYW5nZXNcclxuICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJRXZlbnQsIElMb2FkRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbW9kZWxzJztcclxuaW1wb3J0IHsgWWFHZW9PYmplY3RDb21wb25lbnQgfSBmcm9tICcuLi95YS1nZW9vYmplY3QveWEtZ2Vvb2JqZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFlhUGxhY2VtYXJrQ29tcG9uZW50IH0gZnJvbSAnLi4veWEtcGxhY2VtYXJrL3lhLXBsYWNlbWFyay5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCwgZ2VvIG9iamVjdCBjbHVzdGVyZXIuIENsdXN0ZXJpemVzIG9iamVjdHMgaW4gdGhlIHZpc2libGUgYXJlYSBvZiB0aGUgbWFwLlxyXG4gKiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGZhbGwgd2l0aGluIHRoZSB2aXNpYmxlIGFyZWEgb2YgdGhlIG1hcCxcclxuICogaXQgd2lsbCBub3QgYmUgYWRkZWQgdG8gdGhlIG1hcC5cclxuICogTm90ZSwgdGhhdCB0aGUgY2x1c3RlcmVyIGRvZXMgbm90IHJlYWN0IHRvIGNoYW5naW5nIHRoZSBjb29yZGluYXRlcyBvZiBvYmplY3RzIChlaXRoZXIgcHJvZ3JhbW1hdGljYWxseSxcclxuICogb3IgYXMgdGhlIHJlc3VsdCBvZiBkcmFnZ2luZykuIElmIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgY29vcmRpbmF0ZXMgb2Ygc29tZSBvYmplY3QgaW4gdGhlIGNsdXN0ZXJlcixcclxuICogeW91IHNob3VsZCBmaXJzdCBkZWxldGUgdGhlIG9iamVjdCBmcm9tIHRoZSBjbHVzdGVyZXIgYW5kIHRoZW4gYWRkIGl0IGJhY2tcclxuICpcclxuICogQGV4YW1wbGVcclxuICogPHlhLWNsdXN0ZXJlcj5cclxuICogIDx5YS1wbGFjZW1hcmsgW2dlb21ldHJ5XT1cIls1NS43NCwgMzcuNTBdXCI+PC95YS1wbGFjZW1hcms+XHJcbiAqICAgPHlhLWdlb29iamVjdCBbZmVhdHVyZV09XCJ7IGdlb21ldHJ5OiB7IHR5cGU6ICdQb2ludCcsIGNvb3JkaW5hdGVzOiBbNTUuNzMsIDM3LjUyXSB9IH1cIj48L3lhLWdlb29iamVjdD5cclxuICogPC95YS1jbHVzdGVyZXI+XHJcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGR1YnJhdmEuZ2l0aHViLmlvL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyMvY29tcG9uZW50cy9jbHVzdGVyZXJ9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3lhLWNsdXN0ZXJlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3lhLWNsdXN0ZXJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4veWEtY2x1c3RlcmVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFlhQ2x1c3RlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBAQ29udGVudENoaWxkcmVuKFlhUGxhY2VtYXJrQ29tcG9uZW50KSBwdWJsaWMgcGxhY2VtYXJrczogUXVlcnlMaXN0PFlhUGxhY2VtYXJrQ29tcG9uZW50PjtcclxuICBAQ29udGVudENoaWxkcmVuKFlhR2VvT2JqZWN0Q29tcG9uZW50KSBwdWJsaWMgZ2VvT2JqZWN0czogUXVlcnlMaXN0PFlhR2VvT2JqZWN0Q29tcG9uZW50PjtcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9ucyBmb3IgdGhlIGNsdXN0ZXJlclxyXG4gICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vdGVjaC55YW5kZXguY29tL21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL0NsdXN0ZXJlci1kb2NwYWdlLyNDbHVzdGVyZXJfX3BhcmFtLW9wdGlvbnN9XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhpcyBlbnRpdHkgaXMgYWRkZWQgaW4gcm9vdCBjb250YWluZXJcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPElMb2FkRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQWN0aW9uIHdpdGggaGludFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgaGludCA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIE1hcCByZWZlcmVuY2UgY2hhbmdlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbWFwQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQ2hhbmdlIHRvIHRoZSBvYmplY3Qgb3B0aW9uc1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb3B0aW9uc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBwYXJlbnQgb2JqZWN0IHJlZmVyZW5jZSBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBwYXJlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuXHJcbiAgLy8gWWFuZGV4Lk1hcHMgQVBJXHJcbiAgcHJpdmF0ZSBfY2x1c3RlcmVyOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWdDbHVzdGVyZXIoY2hhbmdlcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgZm9yIGR5bmFtaWMgZW50aXR5IGNvbmZpZ3VyYXRpb24uXHJcbiAgICogSGFuZGxlcyBpbnB1dCBjaGFuZ2VzIGFuZCBwcm92aWRlcyBpdCB0byBBUEkuXHJcbiAgICogQHBhcmFtIGNoYW5nZXNcclxuICAgKi9cclxuICBwcml2YXRlIF9jb25maWdDbHVzdGVyZXIoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgY2x1c3RlcmVyID0gdGhpcy5fY2x1c3RlcmVyO1xyXG5cclxuICAgIGlmICghY2x1c3RlcmVyKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgeyBvcHRpb25zIH0gPSBjaGFuZ2VzO1xyXG5cclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNsdXN0ZXJlci5vcHRpb25zLnNldChvcHRpb25zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdENsdXN0ZXJlcih5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2x1c3RlcmVyID0gbmV3IHltYXBzLkNsdXN0ZXJlcih0aGlzLm9wdGlvbnMpO1xyXG4gICAgdGhpcy5fY2x1c3RlcmVyID0gY2x1c3RlcmVyO1xyXG5cclxuICAgIHRoaXMucGxhY2VtYXJrcy5mb3JFYWNoKChwKSA9PiB7XHJcbiAgICAgIGNsdXN0ZXJlci5hZGQocC5pbml0UGxhY2VtYXJrKHltYXBzLCBtYXApKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZ2VvT2JqZWN0cy5mb3JFYWNoKChvKSA9PiB7XHJcbiAgICAgIGNsdXN0ZXJlci5hZGQoby5pbml0R2VvT2JqZWN0KHltYXBzLCBtYXApKTtcclxuICAgIH0pO1xyXG5cclxuICAgIG1hcC5nZW9PYmplY3RzLmFkZChjbHVzdGVyZXIpO1xyXG4gICAgdGhpcy5fZW1pdEV2ZW50cyh5bWFwcywgY2x1c3RlcmVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBsaXN0ZW5lcnMgb24gY2x1c3RlcmVyIGV2ZW50c1xyXG4gICAqIEBwYXJhbSB5bWFwc1xyXG4gICAqIEBwYXJhbSBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIF9lbWl0RXZlbnRzKHltYXBzOiBhbnksIGNsdXN0ZXJlcjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWQuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogY2x1c3RlcmVyIH0pO1xyXG5cclxuICAgIC8vIEhpbnRcclxuICAgIGNsdXN0ZXJlci5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2hpbnRjbG9zZScsICdoaW50b3BlbiddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuaGludC5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBjbHVzdGVyZXIsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIE1hcCBjaGFuZ2VcclxuICAgIGNsdXN0ZXJlci5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ21hcGNoYW5nZSddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMubWFwQ2hhbmdlLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IGNsdXN0ZXJlciwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gT3B0aW9ucyBjaGFuZ2VcclxuICAgIGNsdXN0ZXJlci5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ29wdGlvbnNjaGFuZ2UnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLm9wdGlvbnNDaGFuZ2UuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogY2x1c3RlcmVyLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBQYXJlbnQgY2hhbmdlXHJcbiAgICBjbHVzdGVyZXIuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydwYXJlbnRjaGFuZ2UnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLnBhcmVudENoYW5nZS5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBjbHVzdGVyZXIsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtY2x1c3RlcmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9yb290L0Rlc2t0b3AvZGV2L2FuZ3VsYXIteWFuZGV4LW1hcHMvcHJvamVjdHMvYW5ndWxhcjgteWFuZGV4LW1hcHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveWEtY2x1c3RlcmVyL3lhLWNsdXN0ZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR0wsTUFBTSxlQUFlLENBQUM7QUFFekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFOUU7Ozs7Ozs7Ozs7Ozs7R0FhRztBQU1ILE1BQU0sT0FBTyxvQkFBb0I7SUFvQy9CO1FBMUJBOztXQUVHO1FBQ2MsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDdkQ7O1dBRUc7UUFDYyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRDs7V0FFRztRQUNjLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3hEOztXQUVHO1FBQ2Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzVEOztXQUVHO1FBQ2MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRW5ELFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBS2xCLENBQUM7SUFFVixXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssZ0JBQWdCLENBQUMsT0FBc0I7UUFDN0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUVsQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFdkIsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUU1QixJQUFJLE9BQU8sRUFBRTtZQUNYLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTSxhQUFhLENBQUMsS0FBVSxFQUFFLEdBQVE7UUFDdkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztRQUU1Qjs7V0FFRztRQUNILE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTzthQUMxQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUNoQyxTQUFTLENBQUMsQ0FBQyxJQUFxQyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQStCLEVBQUUsRUFBRTtnQkFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUU7b0JBQ2pCLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7aUJBQy9EO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTdCOztXQUVHO1FBQ0gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPO2FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2hDLFNBQVMsQ0FBQyxDQUFDLElBQXFDLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBK0IsRUFBRSxFQUFFO2dCQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRTtvQkFDakIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztpQkFDL0Q7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGtCQUFrQixDQUFDLEtBQVUsRUFBRSxTQUFjO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLE9BQU87UUFDUCxTQUFTLENBQUMsTUFBTTthQUNiLEdBQUcsQ0FDRixDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDekIsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNqRyxDQUFDO1FBRUosYUFBYTtRQUNiLFNBQVMsQ0FBQyxNQUFNO2FBQ2IsR0FBRyxDQUNGLENBQUMsV0FBVyxDQUFDLEVBQ2IsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUN0RyxDQUFDO1FBRUosaUJBQWlCO1FBQ2pCLFNBQVMsQ0FBQyxNQUFNO2FBQ2IsR0FBRyxDQUNGLENBQUMsZUFBZSxDQUFDLEVBQ2pCLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDMUcsQ0FBQztRQUVKLGdCQUFnQjtRQUNoQixTQUFTLENBQUMsTUFBTTthQUNiLEdBQUcsQ0FDRixDQUFDLGNBQWMsQ0FBQyxFQUNoQixDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ3pHLENBQUM7SUFDTixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFCLENBQUM7OztZQTdJRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFlBQTRDOzthQUU3Qzs7Ozt5QkFFRSxlQUFlLFNBQUMsb0JBQW9CO3lCQUNwQyxlQUFlLFNBQUMsb0JBQW9CO3NCQU1wQyxLQUFLO21CQUtMLE1BQU07bUJBSU4sTUFBTTt3QkFJTixNQUFNOzRCQUlOLE1BQU07MkJBSU4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZHJlbixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFNpbXBsZUNoYW5nZXNcclxuICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJRXZlbnQsIElMb2FkRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbW9kZWxzJztcclxuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWWFHZW9PYmplY3RDb21wb25lbnQgfSBmcm9tICcuLi95YS1nZW9vYmplY3QveWEtZ2Vvb2JqZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFlhUGxhY2VtYXJrQ29tcG9uZW50IH0gZnJvbSAnLi4veWEtcGxhY2VtYXJrL3lhLXBsYWNlbWFyay5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCwgZ2VvIG9iamVjdCBjbHVzdGVyZXIuIENsdXN0ZXJpemVzIG9iamVjdHMgaW4gdGhlIHZpc2libGUgYXJlYSBvZiB0aGUgbWFwLlxyXG4gKiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGZhbGwgd2l0aGluIHRoZSB2aXNpYmxlIGFyZWEgb2YgdGhlIG1hcCwgaXQgd2lsbCBub3QgYmUgYWRkZWQgdG8gdGhlIG1hcC5cclxuICogTm90ZSwgdGhhdCB0aGUgY2x1c3RlcmVyIGRvZXMgbm90IHJlYWN0IHRvIGNoYW5naW5nIHRoZSBjb29yZGluYXRlcyBvZiBvYmplY3RzIChlaXRoZXIgcHJvZ3JhbW1hdGljYWxseSxcclxuICogb3IgYXMgdGhlIHJlc3VsdCBvZiBkcmFnZ2luZykuIElmIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgY29vcmRpbmF0ZXMgb2Ygc29tZSBvYmplY3QgaW4gdGhlIGNsdXN0ZXJlcixcclxuICogeW91IHNob3VsZCBmaXJzdCBkZWxldGUgdGhlIG9iamVjdCBmcm9tIHRoZSBjbHVzdGVyZXIgYW5kIHRoZW4gYWRkIGl0IGJhY2tcclxuICpcclxuICogQGV4YW1wbGVcclxuICogPHlhLWNsdXN0ZXJlcj5cclxuICogIDx5YS1wbGFjZW1hcmsgW2dlb21ldHJ5XT1cIls1NS43NCwgMzcuNTBdXCI+PC95YS1wbGFjZW1hcms+XHJcbiAqICAgPHlhLWdlb29iamVjdCBbZmVhdHVyZV09XCJ7IGdlb21ldHJ5OiB7IHR5cGU6ICdQb2ludCcsIGNvb3JkaW5hdGVzOiBbNTUuNzMsIDM3LjUyXSB9IH1cIj48L3lhLWdlb29iamVjdD5cclxuICogPC95YS1jbHVzdGVyZXI+XHJcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGR1YnJhdmEuZ2l0aHViLmlvL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyMvY29tcG9uZW50cy9jbHVzdGVyZXJ9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3lhLWNsdXN0ZXJlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3lhLWNsdXN0ZXJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4veWEtY2x1c3RlcmVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFlhQ2x1c3RlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oWWFQbGFjZW1hcmtDb21wb25lbnQpIHB1YmxpYyBwbGFjZW1hcmtzOiBRdWVyeUxpc3Q8WWFQbGFjZW1hcmtDb21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oWWFHZW9PYmplY3RDb21wb25lbnQpIHB1YmxpYyBnZW9PYmplY3RzOiBRdWVyeUxpc3Q8WWFHZW9PYmplY3RDb21wb25lbnQ+O1xyXG5cclxuICAvKipcclxuICAgKiBPcHRpb25zIGZvciB0aGUgY2x1c3RlcmVyXHJcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90ZWNoLnlhbmRleC5jb20vbWFwcy9qc2FwaS9kb2MvMi4xL3JlZi9yZWZlcmVuY2UvQ2x1c3RlcmVyLWRvY3BhZ2UvI0NsdXN0ZXJlcl9fcGFyYW0tb3B0aW9uc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBpbW1lZGlhdGVseSBhZnRlciB0aGlzIGVudGl0eSBpcyBhZGRlZCBpbiByb290IGNvbnRhaW5lclxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxvYWRFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBBY3Rpb24gd2l0aCBoaW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBoaW50ID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogTWFwIHJlZmVyZW5jZSBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtYXBDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBDaGFuZ2UgdG8gdGhlIG9iamVjdCBvcHRpb25zXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBvcHRpb25zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogVGhlIHBhcmVudCBvYmplY3QgcmVmZXJlbmNlIGNoYW5nZWRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIHBhcmVudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG5cclxuICBwcml2YXRlIF9zdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIC8vIFlhbmRleC5NYXBzIEFQSVxyXG4gIHByaXZhdGUgX2NsdXN0ZXJlcjogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29uZmlnQ2x1c3RlcmVyKGNoYW5nZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIGZvciBkeW5hbWljIGVudGl0eSBjb25maWd1cmF0aW9uLlxyXG4gICAqIEhhbmRsZXMgaW5wdXQgY2hhbmdlcyBhbmQgcHJvdmlkZXMgaXQgdG8gQVBJLlxyXG4gICAqIEBwYXJhbSBjaGFuZ2VzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY29uZmlnQ2x1c3RlcmVyKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsdXN0ZXJlciA9IHRoaXMuX2NsdXN0ZXJlcjtcclxuXHJcbiAgICBpZiAoIWNsdXN0ZXJlcikgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHsgb3B0aW9ucyB9ID0gY2hhbmdlcztcclxuXHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjbHVzdGVyZXIub3B0aW9ucy5zZXQob3B0aW9ucy5jdXJyZW50VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGluaXRDbHVzdGVyZXIoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNsdXN0ZXJlciA9IG5ldyB5bWFwcy5DbHVzdGVyZXIodGhpcy5vcHRpb25zKTtcclxuICAgIHRoaXMuX2NsdXN0ZXJlciA9IGNsdXN0ZXJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZHMgbmV3IFBsYWNlbWFya3MgdG8gY2x1c3RlcmVyIG9uIGNoYW5nZXNcclxuICAgICAqL1xyXG4gICAgY29uc3QgcGxhY2VtYXJrc1N1YiA9IHRoaXMucGxhY2VtYXJrcy5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLnBsYWNlbWFya3MpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8WWFQbGFjZW1hcmtDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgbGlzdC5mb3JFYWNoKChwbGFjZW1hcms6IFlhUGxhY2VtYXJrQ29tcG9uZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXBsYWNlbWFyay5pZCkge1xyXG4gICAgICAgICAgICBjbHVzdGVyZXIuYWRkKHBsYWNlbWFyay5pbml0UGxhY2VtYXJrKHltYXBzLCBtYXAsIGNsdXN0ZXJlcikpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9zdWIuYWRkKHBsYWNlbWFya3NTdWIpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkcyBuZXcgR2VvT2JqZWN0cyB0byBjbHVzdGVyZXIgb24gY2hhbmdlc1xyXG4gICAgICovXHJcbiAgICBjb25zdCBnZW9PYmplY3RzU3ViID0gdGhpcy5nZW9PYmplY3RzLmNoYW5nZXNcclxuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMuZ2VvT2JqZWN0cykpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxZYUdlb09iamVjdENvbXBvbmVudD4pID0+IHtcclxuICAgICAgICBsaXN0LmZvckVhY2goKGdlb09iamVjdDogWWFHZW9PYmplY3RDb21wb25lbnQpID0+IHtcclxuICAgICAgICAgIGlmICghZ2VvT2JqZWN0LmlkKSB7XHJcbiAgICAgICAgICAgIGNsdXN0ZXJlci5hZGQoZ2VvT2JqZWN0LmluaXRHZW9PYmplY3QoeW1hcHMsIG1hcCwgY2x1c3RlcmVyKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX3N1Yi5hZGQoZ2VvT2JqZWN0c1N1Yik7XHJcblxyXG4gICAgbWFwLmdlb09iamVjdHMuYWRkKGNsdXN0ZXJlcik7XHJcbiAgICB0aGlzLl9hZGRFdmVudExpc3RlbmVycyh5bWFwcywgY2x1c3RlcmVyKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBsaXN0ZW5lcnMgb24gY2x1c3RlcmVyIGV2ZW50c1xyXG4gICAqIEBwYXJhbSB5bWFwc1xyXG4gICAqIEBwYXJhbSBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIF9hZGRFdmVudExpc3RlbmVycyh5bWFwczogYW55LCBjbHVzdGVyZXI6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IGNsdXN0ZXJlciB9KTtcclxuXHJcbiAgICAvLyBIaW50XHJcbiAgICBjbHVzdGVyZXIuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydoaW50Y2xvc2UnLCAnaGludG9wZW4nXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmhpbnQuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogY2x1c3RlcmVyLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBNYXAgY2hhbmdlXHJcbiAgICBjbHVzdGVyZXIuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydtYXBjaGFuZ2UnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLm1hcENoYW5nZS5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBjbHVzdGVyZXIsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIE9wdGlvbnMgY2hhbmdlXHJcbiAgICBjbHVzdGVyZXIuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydvcHRpb25zY2hhbmdlJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5vcHRpb25zQ2hhbmdlLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IGNsdXN0ZXJlciwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gUGFyZW50IGNoYW5nZVxyXG4gICAgY2x1c3RlcmVyLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsncGFyZW50Y2hhbmdlJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5wYXJlbnRDaGFuZ2UuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogY2x1c3RlcmVyLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1Yi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=

@@ -91,17 +91,27 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';

}
initGeoObject(ymaps, map) {
/**
* Inits GeoObject
* @param ymaps
* @param map
* @param clusterer We need this to control removing entity from Clusterer on Placemark destroy
* `this._clusterer.remove(this._geoObject)`;
*
* @returns GeoObject
*/
initGeoObject(ymaps, map, clusterer) {
const geoObject = new ymaps.GeoObject(this.feature, this.options);
this.id = generateRandomId();
this._clusterer = clusterer;
this._geoObject = geoObject;
this._map = map;
this._geoObject = geoObject;
map.geoObjects.add(geoObject);
this._emitEvents(ymaps, geoObject);
this._addEventListeners(ymaps, geoObject);
return geoObject;
}
/**
* Add listeners on placemark events
* Add listeners on geoObject events
* @param ymaps
* @param map
* @param geoObject
*/
_emitEvents(ymaps, geoObject) {
_addEventListeners(ymaps, geoObject) {
this.load.emit({ ymaps, instance: geoObject });

@@ -128,2 +138,4 @@ // Baloon

ngOnDestroy() {
var _a;
(_a = this._clusterer) === null || _a === void 0 ? void 0 : _a.remove(this._geoObject);
this._map.geoObjects.remove(this._geoObject);

@@ -151,2 +163,2 @@ }

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtZ2Vvb2JqZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9yb290L0Rlc2t0b3AvZGV2L2FuZ3VsYXIteWFuZGV4LW1hcHMvcHJvamVjdHMvYW5ndWxhcjgteWFuZGV4LW1hcHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveWEtZ2Vvb2JqZWN0L3lhLWdlb29iamVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTCxNQUFNLGVBQWUsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV0RTs7Ozs7O0dBTUc7QUFNSCxNQUFNLE9BQU8sb0JBQW9CO0lBK0MvQjtRQW5DQTs7V0FFRztRQUNjLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ3ZEOztXQUVHO1FBQ2MsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDckQ7O1dBRUc7UUFDYyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN0RDs7V0FFRztRQUNjLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ25EOztXQUVHO1FBQ2MsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkQ7O1dBRUc7UUFDYyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNwRDs7V0FFRztRQUNjLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBUTFDLENBQUM7SUFFVCxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pD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QUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUN2RyxDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDOzs7WUFuTEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2dCQUN4QixZQUE0Qzs7YUFFN0M7Ozs7c0JBTUUsS0FBSztzQkFLTCxLQUFLO21CQUtMLE1BQU07cUJBSU4sTUFBTTtzQkFJTixNQUFNO21CQUlOLE1BQU07bUJBSU4sTUFBTTtvQkFJTixNQUFNO3lCQUlOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG4gIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdlbmVyYXRlUmFuZG9tSWQgfSBmcm9tICcuLi8uLi91dGlscy9nZW5lcmF0ZVJhbmRvbUlkJztcclxuaW1wb3J0IHsgSUV2ZW50LCBJTG9hZEV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21vZGVscyc7XHJcbmltcG9ydCB7IHJlbW92ZUxlYWRpbmdTcGFjZXMgfSBmcm9tICcuLi8uLi91dGlscy9yZW1vdmVMZWFkaW5nU3BhY2VzJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQsIGdlbyBvYmplY3QuIENhbiBiZSBkaXNwbGF5ZWQgYXMgYSBwbGFjZW1hcmssIHBvbHlsaW5lLCBwb2x5Z29uLCBldGMuLCBkZXBlbmRpbmcgb24gdGhlIGdlb21ldHJ5IHR5cGUuXHJcbiAqIFlvdSBjYW4gYWxzbyB1c2UgYXV4aWxpYXJ5IGNsYXNzZXMgZm9yIHNpbXBsaWZpZWQgY3JlYXRpb24gb2YgZ2VvIG9iamVjdHMgd2l0aCBhIHNwZWNpZmljIGdlb21ldHJ5IHR5cGVcclxuICpcclxuICogQGV4YW1wbGUgPHlhLWdlb29iamVjdCBbZmVhdHVyZV09XCJ7IGdlb21ldHJ5OiB7IHR5cGU6ICdSZWN0YW5nbGUnLCBjb29yZGluYXRlczogW1s1NS42NjUsIDM3LjY2XSwgWzU1LjY0LDM3LjUzXV0gfSB9XCI+PC95YS1nZW9vYmplY3Q+XHJcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGR1YnJhdmEuZ2l0aHViLmlvL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyMvY29tcG9uZW50cy9nZW9vYmplY3R9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3lhLWdlb29iamVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3lhLWdlb29iamVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4veWEtZ2Vvb2JqZWN0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFlhR2VvT2JqZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIC8qKlxyXG4gICAqIEZlYXR1cmUgZm9yIHRoZSBHZW9PYmplY3RcclxuICAgKiBAc2VlIHtAbGluayBodHRwczovL3RlY2gueWFuZGV4LnJ1L21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL0dlb09iamVjdC1kb2NwYWdlLyNHZW9PYmplY3RfX3BhcmFtLWZlYXR1cmV9XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGZlYXR1cmU6IGFueTtcclxuICAvKipcclxuICAgKiBPcHRpb25zIGZvciB0aGUgR2VvT2JqZWN0XHJcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90ZWNoLnlhbmRleC5ydS9tYXBzL2pzYXBpL2RvYy8yLjEvcmVmL3JlZmVyZW5jZS9HZW9PYmplY3QtZG9jcGFnZS8jR2VvT2JqZWN0X19wYXJhbS1vcHRpb25zfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGltbWVkaWF0ZWx5IGFmdGVyIHRoaXMgZW50aXR5IGlzIGFkZGVkIGluIHJvb3QgY29udGFpbmVyXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxJTG9hZEV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEFjdGlvbnMgd2l0aCBiYWxsb25cclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGJhbG9vbiA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIENsaWNrcyBvbiB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyB5YWNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogR2VvT2JqZWN0IGRyYWdnaW5nXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBkcmFnID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQWN0aW9uIHdpdGggaGludFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgaGludCA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIE1vdXNlIGFjdGlvbnMgb3ZlciB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb3VzZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIE11bHRpdG91Y2ggYWN0aW9ucyBvdmVyIHRoZSBvYmplY3RcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIG11bHRpdG91Y2ggPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuXHJcbiAgcHVibGljIGlkOiBzdHJpbmc7XHJcblxyXG4gIC8vIFlhbmRleC5NYXBzIEFQSVxyXG4gIHByaXZhdGUgX21hcDogYW55O1xyXG4gIHByaXZhdGUgX2dlb09iamVjdDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbmZpZ0dlb09iamVjdChjaGFuZ2VzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBmb3IgZHluYW1pYyBlbnRpdHkgY29uZmlndXJhdGlvbi5cclxuICAgKiBIYW5kbGVzIGlucHV0IGNoYW5nZXMgYW5kIHByb3ZpZGVzIGl0IHRvIEFQSS5cclxuICAgKiBAcGFyYW0gY2hhbmdlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ0dlb09iamVjdChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBnZW9PYmplY3QgPSB0aGlzLl9nZW9PYmplY3Q7XHJcblxyXG4gICAgaWYgKCFnZW9PYmplY3QpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IGZlYXR1cmUsIG9wdGlvbnMgfSA9IGNoYW5nZXM7XHJcblxyXG4gICAgaWYgKGZlYXR1cmUpIHtcclxuICAgICAgdGhpcy5fc2V0RmVhdHVyZShmZWF0dXJlLmN1cnJlbnRWYWx1ZSwgZ2VvT2JqZWN0KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBnZW9PYmplY3Qub3B0aW9ucy5zZXQob3B0aW9ucy5jdXJyZW50VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVzdHJ1Y3RzIHN0YXRlIGFuZCBwcm92aWRlcyBuZXcgdmFsdWVzIHRvIEFQSVxyXG4gICAqIEBwYXJhbSBmZWF0dXJlIGh0dHBzOi8vdGVjaC55YW5kZXgucnUvbWFwcy9qc2FwaS9kb2MvMi4xL3JlZi9yZWZlcmVuY2UvR2VvT2JqZWN0LWRvY3BhZ2UvI0dlb09iamVjdF9fcGFyYW0tZmVhdHVyZVxyXG4gICAqIEBwYXJhbSBnZW9PYmplY3RcclxuICAgKi9cclxuICBwcml2YXRlIF9zZXRGZWF0dXJlKGZlYXR1cmU6IGFueSwgZ2VvT2JqZWN0OiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgZ2VvbWV0cnksIHByb3BlcnRpZXMgfSA9IGZlYXR1cmU7XHJcblxyXG4gICAgaWYgKGdlb21ldHJ5KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IocmVtb3ZlTGVhZGluZ1NwYWNlcyhgXHJcbiAgICAgICAgVGhlIGdlb21ldHJ5IG9mIEdlb09iamVjdCBjYW5ub3QgYmUgY2hhbmdlZCBhZnRlciBlbnRpdHkgaW5pdC5cclxuXHJcbiAgICAgICAgU29sdXRpb25zOlxyXG4gICAgICAgIDEuIFVzZSB5bWFwcyBmcm9tIElMb2FkRXZlbnRcclxuICAgICAgICAyLiBSZWNyZWF0ZSBHZW9PYmplY3QgY29tcG9uZW50IHdpdGggbmV3IGZlYXR1cmUuZ2VvbWV0cnlcclxuICAgICAgYCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwcm9wZXJ0aWVzKSB7XHJcbiAgICAgIGdlb09iamVjdC5wcm9wZXJ0aWVzLnNldChwcm9wZXJ0aWVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mZWF0dXJlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0dlb09iamVjdHM6IGZlYXR1cmUgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XHJcbiAgICAgIHRoaXMuZmVhdHVyZSA9IHt9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGluaXRHZW9PYmplY3QoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgZ2VvT2JqZWN0ID0gbmV3IHltYXBzLkdlb09iamVjdCh0aGlzLmZlYXR1cmUsIHRoaXMub3B0aW9ucyk7XHJcblxyXG4gICAgdGhpcy5pZCA9IGdlbmVyYXRlUmFuZG9tSWQoKTtcclxuICAgIHRoaXMuX21hcCA9IG1hcDtcclxuICAgIHRoaXMuX2dlb09iamVjdCA9IGdlb09iamVjdDtcclxuXHJcbiAgICBtYXAuZ2VvT2JqZWN0cy5hZGQoZ2VvT2JqZWN0KTtcclxuICAgIHRoaXMuX2VtaXRFdmVudHMoeW1hcHMsIGdlb09iamVjdCk7XHJcblxyXG4gICAgcmV0dXJuIGdlb09iamVjdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBsaXN0ZW5lcnMgb24gcGxhY2VtYXJrIGV2ZW50c1xyXG4gICAqIEBwYXJhbSB5bWFwc1xyXG4gICAqIEBwYXJhbSBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIF9lbWl0RXZlbnRzKHltYXBzOiBhbnksIGdlb09iamVjdDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWQuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogZ2VvT2JqZWN0IH0pO1xyXG5cclxuICAgIC8vIEJhbG9vblxyXG4gICAgZ2VvT2JqZWN0LmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnYmFsbG9vbm9wZW4nLCAnYmFsbG9vbmNsb3NlJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5iYWxvb24uZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogZ2VvT2JqZWN0LCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBDbGlja1xyXG4gICAgZ2VvT2JqZWN0LmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnY2xpY2snLCAnZGJsY2xpY2snXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLnlhY2xpY2suZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogZ2VvT2JqZWN0LCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBEcmFnXHJcbiAgICBnZW9PYmplY3QuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydkcmFnc3RhcnQnLCAnZHJhZ2VuZCddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuZHJhZy5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBnZW9PYmplY3QsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIEhpbnRcclxuICAgIGdlb09iamVjdC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2hpbnRvcGVuJywgJ2hpbnRjbG9zZSddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuaGludC5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBnZW9PYmplY3QsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIE1vdXNlXHJcbiAgICBnZW9PYmplY3QuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydtb3VzZWRvd24nLCAnbW91c2VlbnRlcicsICdtb3VzZWxlYXZlJywgJ21vdXNlbW92ZScsICdtb3VzZXVwJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5tb3VzZS5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBnZW9PYmplY3QsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIE11bHRpdG91Y2hcclxuICAgIGdlb09iamVjdC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ211bHRpdG91Y2hzdGFydCcsICdtdWx0aXRvdWNobW92ZScsICdtdWx0aXRvdWNoZW5kJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5tdWx0aXRvdWNoLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IGdlb09iamVjdCwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tYXAuZ2VvT2JqZWN0cy5yZW1vdmUodGhpcy5fZ2VvT2JqZWN0KTtcclxuICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtZ2Vvb2JqZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9yb290L0Rlc2t0b3AvZGV2L2FuZ3VsYXIteWFuZGV4LW1hcHMvcHJvamVjdHMvYW5ndWxhcjgteWFuZGV4LW1hcHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveWEtZ2Vvb2JqZWN0L3lhLWdlb29iamVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTCxNQUFNLGVBQWUsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV0RTs7Ozs7O0dBTUc7QUFNSCxNQUFNLE9BQU8sb0JBQW9CO0lBZ0QvQjtRQXBDQTs7V0FFRztRQUNjLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ3ZEOztXQUVHO1FBQ2MsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDckQ7O1dBRUc7UUFDYyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN0RDs7V0FFRztRQUNjLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ25EOztXQUVHO1FBQ2MsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkQ7O1dBRUc7UUFDYyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNwRDs7V0FFRztRQUNjLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBUzFDLENBQUM7SUFFVCxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pD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Q0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDdkcsQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXOztRQUNoQixNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7O1lBL0xGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsWUFBNEM7O2FBRTdDOzs7O3NCQU1FLEtBQUs7c0JBS0wsS0FBSzttQkFLTCxNQUFNO3FCQUlOLE1BQU07c0JBSU4sTUFBTTttQkFJTixNQUFNO21CQUlOLE1BQU07b0JBSU4sTUFBTTt5QkFJTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXNcclxuICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBnZW5lcmF0ZVJhbmRvbUlkIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2VuZXJhdGVSYW5kb21JZCc7XHJcbmltcG9ydCB7IElFdmVudCwgSUxvYWRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RlbHMnO1xyXG5pbXBvcnQgeyByZW1vdmVMZWFkaW5nU3BhY2VzIH0gZnJvbSAnLi4vLi4vdXRpbHMvcmVtb3ZlTGVhZGluZ1NwYWNlcyc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50LCBnZW8gb2JqZWN0LiBDYW4gYmUgZGlzcGxheWVkIGFzIGEgcGxhY2VtYXJrLCBwb2x5bGluZSwgcG9seWdvbiwgZXRjLiwgZGVwZW5kaW5nIG9uIHRoZSBnZW9tZXRyeSB0eXBlLlxyXG4gKiBZb3UgY2FuIGFsc28gdXNlIGF1eGlsaWFyeSBjbGFzc2VzIGZvciBzaW1wbGlmaWVkIGNyZWF0aW9uIG9mIGdlbyBvYmplY3RzIHdpdGggYSBzcGVjaWZpYyBnZW9tZXRyeSB0eXBlXHJcbiAqXHJcbiAqIEBleGFtcGxlIDx5YS1nZW9vYmplY3QgW2ZlYXR1cmVdPVwieyBnZW9tZXRyeTogeyB0eXBlOiAnUmVjdGFuZ2xlJywgY29vcmRpbmF0ZXM6IFtbNTUuNjY1LCAzNy42Nl0sIFs1NS42NCwzNy41M11dIH0gfVwiPjwveWEtZ2Vvb2JqZWN0PlxyXG4gKiBAc2VlIHtAbGluayBodHRwczovL2RkdWJyYXZhLmdpdGh1Yi5pby9hbmd1bGFyOC15YW5kZXgtbWFwcy8jL2NvbXBvbmVudHMvZ2Vvb2JqZWN0fVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd5YS1nZW9vYmplY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi95YS1nZW9vYmplY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3lhLWdlb29iamVjdC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZYUdlb09iamVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAvKipcclxuICAgKiBGZWF0dXJlIGZvciB0aGUgR2VvT2JqZWN0XHJcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90ZWNoLnlhbmRleC5ydS9tYXBzL2pzYXBpL2RvYy8yLjEvcmVmL3JlZmVyZW5jZS9HZW9PYmplY3QtZG9jcGFnZS8jR2VvT2JqZWN0X19wYXJhbS1mZWF0dXJlfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmZWF0dXJlOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9ucyBmb3IgdGhlIEdlb09iamVjdFxyXG4gICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vdGVjaC55YW5kZXgucnUvbWFwcy9qc2FwaS9kb2MvMi4xL3JlZi9yZWZlcmVuY2UvR2VvT2JqZWN0LWRvY3BhZ2UvI0dlb09iamVjdF9fcGFyYW0tb3B0aW9uc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBpbW1lZGlhdGVseSBhZnRlciB0aGlzIGVudGl0eSBpcyBhZGRlZCBpbiByb290IGNvbnRhaW5lclxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxvYWRFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBBY3Rpb25zIHdpdGggYmFsbG9uXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBiYWxvb24gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBDbGlja3Mgb24gdGhlIG9iamVjdFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgeWFjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEdlb09iamVjdCBkcmFnZ2luZ1xyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZHJhZyA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEFjdGlvbiB3aXRoIGhpbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGhpbnQgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBNb3VzZSBhY3Rpb25zIG92ZXIgdGhlIG9iamVjdFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW91c2UgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBNdWx0aXRvdWNoIGFjdGlvbnMgb3ZlciB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtdWx0aXRvdWNoID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcblxyXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xyXG5cclxuICAvLyBZYW5kZXguTWFwcyBBUElcclxuICBwcml2YXRlIF9jbHVzdGVyZXI6IGFueTtcclxuICBwcml2YXRlIF9nZW9PYmplY3Q6IGFueTtcclxuICBwcml2YXRlIF9tYXA6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWdHZW9PYmplY3QoY2hhbmdlcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgZm9yIGR5bmFtaWMgZW50aXR5IGNvbmZpZ3VyYXRpb24uXHJcbiAgICogSGFuZGxlcyBpbnB1dCBjaGFuZ2VzIGFuZCBwcm92aWRlcyBpdCB0byBBUEkuXHJcbiAgICogQHBhcmFtIGNoYW5nZXNcclxuICAgKi9cclxuICBwcml2YXRlIF9jb25maWdHZW9PYmplY3QoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgZ2VvT2JqZWN0ID0gdGhpcy5fZ2VvT2JqZWN0O1xyXG5cclxuICAgIGlmICghZ2VvT2JqZWN0KSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgeyBmZWF0dXJlLCBvcHRpb25zIH0gPSBjaGFuZ2VzO1xyXG5cclxuICAgIGlmIChmZWF0dXJlKSB7XHJcbiAgICAgIHRoaXMuX3NldEZlYXR1cmUoZmVhdHVyZS5jdXJyZW50VmFsdWUsIGdlb09iamVjdCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgZ2VvT2JqZWN0Lm9wdGlvbnMuc2V0KG9wdGlvbnMuY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlc3RydWN0cyBzdGF0ZSBhbmQgcHJvdmlkZXMgbmV3IHZhbHVlcyB0byBBUElcclxuICAgKiBAcGFyYW0gZmVhdHVyZSBodHRwczovL3RlY2gueWFuZGV4LnJ1L21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL0dlb09iamVjdC1kb2NwYWdlLyNHZW9PYmplY3RfX3BhcmFtLWZlYXR1cmVcclxuICAgKiBAcGFyYW0gZ2VvT2JqZWN0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfc2V0RmVhdHVyZShmZWF0dXJlOiBhbnksIGdlb09iamVjdDogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGdlb21ldHJ5LCBwcm9wZXJ0aWVzIH0gPSBmZWF0dXJlO1xyXG5cclxuICAgIGlmIChnZW9tZXRyeSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKHJlbW92ZUxlYWRpbmdTcGFjZXMoYFxyXG4gICAgICAgIFRoZSBnZW9tZXRyeSBvZiBHZW9PYmplY3QgY2Fubm90IGJlIGNoYW5nZWQgYWZ0ZXIgZW50aXR5IGluaXQuXHJcblxyXG4gICAgICAgIFNvbHV0aW9uczpcclxuICAgICAgICAxLiBVc2UgeW1hcHMgZnJvbSBJTG9hZEV2ZW50XHJcbiAgICAgICAgMi4gUmVjcmVhdGUgR2VvT2JqZWN0IGNvbXBvbmVudCB3aXRoIG5ldyBmZWF0dXJlLmdlb21ldHJ5XHJcbiAgICAgIGApKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvcGVydGllcykge1xyXG4gICAgICBnZW9PYmplY3QucHJvcGVydGllcy5zZXQocHJvcGVydGllcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZmVhdHVyZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdHZW9PYmplY3RzOiBmZWF0dXJlIGlucHV0IGlzIHJlcXVpcmVkLicpO1xyXG4gICAgICB0aGlzLmZlYXR1cmUgPSB7fTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRzIEdlb09iamVjdFxyXG4gICAqIEBwYXJhbSB5bWFwc1xyXG4gICAqIEBwYXJhbSBtYXBcclxuICAgKiBAcGFyYW0gY2x1c3RlcmVyIFdlIG5lZWQgdGhpcyB0byBjb250cm9sIHJlbW92aW5nIGVudGl0eSBmcm9tIENsdXN0ZXJlciBvbiBQbGFjZW1hcmsgZGVzdHJveVxyXG4gICAqIGB0aGlzLl9jbHVzdGVyZXIucmVtb3ZlKHRoaXMuX2dlb09iamVjdClgO1xyXG4gICAqXHJcbiAgICogQHJldHVybnMgR2VvT2JqZWN0XHJcbiAgICovXHJcbiAgcHVibGljIGluaXRHZW9PYmplY3QoeW1hcHM6IGFueSwgbWFwOiBhbnksIGNsdXN0ZXJlcj86IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBnZW9PYmplY3QgPSBuZXcgeW1hcHMuR2VvT2JqZWN0KHRoaXMuZmVhdHVyZSwgdGhpcy5vcHRpb25zKTtcclxuICAgIHRoaXMuaWQgPSBnZW5lcmF0ZVJhbmRvbUlkKCk7XHJcblxyXG4gICAgdGhpcy5fY2x1c3RlcmVyID0gY2x1c3RlcmVyO1xyXG4gICAgdGhpcy5fZ2VvT2JqZWN0ID0gZ2VvT2JqZWN0O1xyXG4gICAgdGhpcy5fbWFwID0gbWFwO1xyXG5cclxuICAgIG1hcC5nZW9PYmplY3RzLmFkZChnZW9PYmplY3QpO1xyXG4gICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoeW1hcHMsIGdlb09iamVjdCk7XHJcblxyXG4gICAgcmV0dXJuIGdlb09iamVjdDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBsaXN0ZW5lcnMgb24gZ2VvT2JqZWN0IGV2ZW50c1xyXG4gICAqIEBwYXJhbSB5bWFwc1xyXG4gICAqIEBwYXJhbSBnZW9PYmplY3RcclxuICAgKi9cclxuICBwcml2YXRlIF9hZGRFdmVudExpc3RlbmVycyh5bWFwczogYW55LCBnZW9PYmplY3Q6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IGdlb09iamVjdCB9KTtcclxuXHJcbiAgICAvLyBCYWxvb25cclxuICAgIGdlb09iamVjdC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2JhbGxvb25vcGVuJywgJ2JhbGxvb25jbG9zZSddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuYmFsb29uLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IGdlb09iamVjdCwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gQ2xpY2tcclxuICAgIGdlb09iamVjdC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2NsaWNrJywgJ2RibGNsaWNrJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy55YWNsaWNrLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IGdlb09iamVjdCwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gRHJhZ1xyXG4gICAgZ2VvT2JqZWN0LmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnZHJhZ3N0YXJ0JywgJ2RyYWdlbmQnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmRyYWcuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogZ2VvT2JqZWN0LCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBIaW50XHJcbiAgICBnZW9PYmplY3QuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydoaW50b3BlbicsICdoaW50Y2xvc2UnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmhpbnQuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogZ2VvT2JqZWN0LCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBNb3VzZVxyXG4gICAgZ2VvT2JqZWN0LmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnbW91c2Vkb3duJywgJ21vdXNlZW50ZXInLCAnbW91c2VsZWF2ZScsICdtb3VzZW1vdmUnLCAnbW91c2V1cCddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMubW91c2UuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogZ2VvT2JqZWN0LCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBNdWx0aXRvdWNoXHJcbiAgICBnZW9PYmplY3QuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydtdWx0aXRvdWNoc3RhcnQnLCAnbXVsdGl0b3VjaG1vdmUnLCAnbXVsdGl0b3VjaGVuZCddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMubXVsdGl0b3VjaC5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBnZW9PYmplY3QsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY2x1c3RlcmVyPy5yZW1vdmUodGhpcy5fZ2VvT2JqZWN0KTtcclxuICAgIHRoaXMuX21hcC5nZW9PYmplY3RzLnJlbW92ZSh0aGlzLl9nZW9PYmplY3QpO1xyXG4gIH1cclxufVxyXG4iXX0=

@@ -76,3 +76,3 @@ import { generateRandomId } from '../../utils/generateRandomId';

// Events
this._emitEvents(ymaps, map);
this._addEventListeners(ymaps, map);
// Objects

@@ -152,3 +152,4 @@ this._initObjects(ymaps, map);

/**
* Add new objects on ContentChildren changes
* Provides ContentChildren components to API.
* Subscribes on ContentChildren changes to provide them to API.
* @param ymaps

@@ -158,3 +159,3 @@ * @param map

_initObjects(ymaps, map) {
// Placemarks
// Placemarks (async)
const placemarksSub = this.placemarks.changes

@@ -169,3 +170,4 @@ .pipe(startWith(this.placemarks))

});
// Multiroutes
this._sub.add(placemarksSub);
// Multiroutes (async)
const multiroutesSub = this.multiroutes.changes

@@ -180,3 +182,4 @@ .pipe(startWith(this.multiroutes))

});
// GeoObjects
this._sub.add(multiroutesSub);
// GeoObjects (async)
const geoObjectsSub = this.geoObjects.changes

@@ -191,13 +194,11 @@ .pipe(startWith(this.geoObjects))

});
// Controls
this._sub.add(geoObjectsSub);
// Controls (not async)
this.controls.forEach((control) => {
control.initControl(ymaps, map);
});
// Clusterers
// Clusterers (not async)
this.clusterers.forEach((clusterer) => {
clusterer.initClusterer(ymaps, map);
});
this._sub.add(placemarksSub);
this._sub.add(multiroutesSub);
this._sub.add(geoObjectsSub);
}

@@ -209,3 +210,3 @@ /**

*/
_emitEvents(ymaps, map) {
_addEventListeners(ymaps, map) {
this.load.emit({ ymaps, instance: map });

@@ -265,2 +266,2 @@ // Action

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9yb290L0Rlc2t0b3AvZGV2L2FuZ3VsYXIteWFuZGV4LW1hcHMvcHJvamVjdHMvYW5ndWxhcjgteWFuZGV4LW1hcHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveWEtbWFwL3lhLW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkI7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxjQUFjO0lBbUV6QixZQUFvQixjQUE2QjtRQUE3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQS9DakQ7O1dBRUc7UUFDYSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCOzs7V0FHRztRQUNhLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEM7OztXQUdHO1FBQ2EsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUVsQzs7V0FFRztRQUNjLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQ3ZEOztXQUVHO1FBQ2MsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDckQ7O1dBRUc7UUFDYyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNyRDs7V0FFRztRQUNjLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3REOztXQUVHO1FBQ2MsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkQ7O1dBRUc7UUFDYyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNwRDs7V0FFRztRQUNjLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBS0osQ0FBQztJQUUvQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9CLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUVsQixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRTthQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQzFCLE9BQU87YUFDUjtZQUVELE1BQU07WUFDTixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFFaEIsU0FBUztZQUNULElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRTdCLFVBQVU7WUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFVBQVUsQ0FBQyxPQUFzQjtRQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXRCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUVqQixNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBRWpELElBQUksTUFBTSxFQUFFO1lBQ1YsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFFRCxJQUFJLElBQUksRUFBRTtZQUNSLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDekM7UUFFRCxJQUFJLE9BQU8sRUFBRTtZQUNYLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssU0FBUyxDQUFDLEtBQVUsRUFBRSxHQUFRO1FBQ3BDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFMUUsSUFBSSxTQUFTLEVBQUU7WUFDYixHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNqQztRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2QjtRQUVELElBQUksTUFBTSxFQUFFO1lBQ1YsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2QjtRQUVELElBQUksUUFBUSxFQUFFO1lBQ1osUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFO2dCQUM3QixHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDVixHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxJQUFJLEVBQUU7WUFDUixHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO1FBRUQsSUFBSSxJQUFJLEVBQUU7WUFDUixHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsS0FBVSxFQUFFLEVBQVU7UUFDdkMsTUFBTSxhQUFhLEdBQWdCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ25FLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLDRCQUE0QixDQUFDO1FBRTNELE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUNsQixFQUFFLGtDQUFPLElBQUksQ0FBQyxLQUFLLEtBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEtBQUksSUFBSSxDQUFDLE9BQU8sQ0FDMUUsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssWUFBWSxDQUFDLEtBQVUsRUFBRSxHQUFRO1FBQ3ZDLGFBQWE7UUFDYixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU87YUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLENBQUMsSUFBcUMsRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUErQixFQUFFLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFO29CQUNqQixTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztpQkFDckM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUwsY0FBYztRQUNkLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTzthQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsQ0FBQyxJQUFzQyxFQUFFLEVBQUU7WUFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWlDLEVBQUUsRUFBRTtnQkFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUU7b0JBQ2xCLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2lCQUN2QztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFTCxhQUFhO1FBQ2IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPO2FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2hDLFNBQVMsQ0FBQyxDQUFDLElBQXFDLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBK0IsRUFBRSxFQUFFO2dCQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRTtvQkFDakIsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVMLFdBQVc7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQTJCLEVBQUUsRUFBRTtZQUNwRCxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILGFBQWE7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQStCLEVBQUUsRUFBRTtZQUMxRCxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssV0FBVyxDQUFDLEtBQVUsRUFBRSxHQUFRO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLFNBQVM7UUFDVCxHQUFHLENBQUMsTUFBTTthQUNQLEdBQUcsQ0FDRixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsRUFDNUIsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUM3RixDQUFDO1FBRUosU0FBUztRQUNULEdBQUcsQ0FBQyxNQUFNO2FBQ1AsR0FBRyxDQUNGLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxFQUMvQixDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQzdGLENBQUM7UUFFSixRQUFRO1FBQ1IsR0FBRyxDQUFDLE1BQU07YUFDUCxHQUFHLENBQ0YsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEVBQ3JCLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDOUYsQ0FBQztRQUVKLE9BQU87UUFDUCxHQUFHLENBQUMsTUFBTTthQUNQLEdBQUcsQ0FDRixDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsRUFDekIsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUMzRixDQUFDO1FBRUosUUFBUTtRQUNSLEdBQUcsQ0FBQyxNQUFNO2FBQ1AsR0FBRyxDQUNGLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxFQUNqRSxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQzVGLENBQUM7UUFFSixhQUFhO1FBQ2IsR0FBRyxDQUFDLE1BQU07YUFDUCxHQUFHLENBQ0YsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsRUFDdEQsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNqRyxDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7WUF2U0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxRQUFRO2dCQUNsQixzQ0FBc0M7O2FBRXZDOzs7WUFoQ1EsYUFBYTs7OzJCQW1DbkIsU0FBUyxTQUFDLFdBQVc7eUJBR3JCLGVBQWUsU0FBQyxvQkFBb0I7MEJBQ3BDLGVBQWUsU0FBQyxxQkFBcUI7eUJBQ3JDLGVBQWUsU0FBQyxvQkFBb0I7dUJBQ3BDLGVBQWUsU0FBQyxrQkFBa0I7eUJBQ2xDLGVBQWUsU0FBQyxvQkFBb0I7MkJBTXBDLEtBQUs7cUJBSUwsS0FBSzttQkFJTCxLQUFLO29CQUtMLEtBQUs7c0JBS0wsS0FBSzttQkFLTCxNQUFNO3FCQUlOLE1BQU07cUJBSU4sTUFBTTtzQkFJTixNQUFNO21CQUlOLE1BQU07b0JBSU4sTUFBTTt5QkFJTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2VuZXJhdGVSYW5kb21JZCB9IGZyb20gJy4uLy4uL3V0aWxzL2dlbmVyYXRlUmFuZG9tSWQnO1xyXG5pbXBvcnQgeyBJRXZlbnQsIElMb2FkRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbW9kZWxzJztcclxuaW1wb3J0IHsgU2NyaXB0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NjcmlwdC9zY3JpcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IHN0YXJ0V2l0aCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFlhQ2x1c3RlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4veWEtY2x1c3RlcmVyL3lhLWNsdXN0ZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBZYUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuLi95YS1jb250cm9sL3lhLWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWWFHZW9PYmplY3RDb21wb25lbnQgfSBmcm9tICcuLi95YS1nZW9vYmplY3QveWEtZ2Vvb2JqZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFlhTXVsdGlyb3V0ZUNvbXBvbmVudCB9IGZyb20gJy4uL3lhLW11bHRpcm91dGUveWEtbXVsdGlyb3V0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBZYVBsYWNlbWFya0NvbXBvbmVudCB9IGZyb20gJy4uL3lhLXBsYWNlbWFyay95YS1wbGFjZW1hcmsuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IGZvciBjcmVhdGluZyBhbmQgbWFuYWdpbmcgYSBtYXBcclxuICogQGV4YW1wbGUgPHlhLW1hcCBbY2VudGVyXT1cIls1NS43NTE5NTIsIDM3LjYwMDczOV1cIiBbc3RhdGVdPVwie3R5cGU6ICd5YW5kZXgjc2F0ZWxsaXRlJ31cIj48L3lhLW1hcD5cclxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9kZHVicmF2YS5naXRodWIuaW8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIy9jb21wb25lbnRzL21hcH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneWEtbWFwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4veWEtbWFwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi95YS1tYXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWWFNYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAvLyBNYXAgY29udGFpbmVyXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgcHVibGljIG1hcENvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuXHJcbiAgLy8gQ29tcG9uZW50cyBpbnNpZGUgPHlhLW1hcD5cclxuICBAQ29udGVudENoaWxkcmVuKFlhUGxhY2VtYXJrQ29tcG9uZW50KSBwdWJsaWMgcGxhY2VtYXJrczogUXVlcnlMaXN0PFlhUGxhY2VtYXJrQ29tcG9uZW50PjtcclxuICBAQ29udGVudENoaWxkcmVuKFlhTXVsdGlyb3V0ZUNvbXBvbmVudCkgcHVibGljIG11bHRpcm91dGVzOiBRdWVyeUxpc3Q8WWFNdWx0aXJvdXRlQ29tcG9uZW50PjtcclxuICBAQ29udGVudENoaWxkcmVuKFlhR2VvT2JqZWN0Q29tcG9uZW50KSBwdWJsaWMgZ2VvT2JqZWN0czogUXVlcnlMaXN0PFlhR2VvT2JqZWN0Q29tcG9uZW50PjtcclxuICBAQ29udGVudENoaWxkcmVuKFlhQ29udHJvbENvbXBvbmVudCkgcHVibGljIGNvbnRyb2xzOiBRdWVyeUxpc3Q8WWFDb250cm9sQ29tcG9uZW50PjtcclxuICBAQ29udGVudENoaWxkcmVuKFlhQ2x1c3RlcmVyQ29tcG9uZW50KSBwdWJsaWMgY2x1c3RlcmVyczogUXVlcnlMaXN0PFlhQ2x1c3RlcmVyQ29tcG9uZW50PjtcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlcHJlY2F0ZWQgVXNlIFNjcmlwdFNlcnZpY2VcclxuICAgKiBAZGVzY3JpcHRpb24gTWFwIHdpbGwgbm90IGJlIGNyZWF0ZWQsIG9ubHkgcmV0dXJucyBJTG9hZEV2ZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG9ubHlJbnN0YW5jZTogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBNYXAgY2VudGVyIGdlb2Nvb3JkaW5hdGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGNlbnRlcjogQXJyYXk8bnVtYmVyPjtcclxuICAvKipcclxuICAgKiBNYXAgem9vbSBsZXZlbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB6b29tID0gMTA7XHJcbiAgLyoqXHJcbiAgICogU3RhdGVzIGZvciB0aGUgbWFwXHJcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90ZWNoLnlhbmRleC5ydS9tYXBzL2pzYXBpL2RvYy8yLjEvcmVmL3JlZmVyZW5jZS9NYXAtZG9jcGFnZS8jTWFwX19wYXJhbS1zdGF0ZX1cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgc3RhdGU6IGFueSA9IHt9O1xyXG4gIC8qKlxyXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBtYXBcclxuICAgKiBAc2VlIHtAbGluayBodHRwczovL3RlY2gueWFuZGV4LnJ1L21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL01hcC1kb2NwYWdlLyNNYXBfX3BhcmFtLW9wdGlvbnN9XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueSA9IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBpbW1lZGlhdGVseSBhZnRlciB0aGlzIGVudGl0eSBpcyBhZGRlZCBpbiByb290IGNvbnRhaW5lclxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxvYWRFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBTbW9vdGggbWFwIG1vdmVtZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBhY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBBY3Rpb25zIHdpdGggYmFsbG9uXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBiYWxvb24gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBDbGlja3Mgb24gdGhlIG9iamVjdFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgeWFjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEFjdGlvbiB3aXRoIGhpbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGhpbnQgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBNb3VzZSBhY3Rpb25zIG92ZXIgdGhlIG9iamVjdFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW91c2UgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBNdWx0aXRvdWNoIGFjdGlvbnMgb3ZlciB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtdWx0aXRvdWNoID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcblxyXG4gIHByaXZhdGUgX3N1YjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgX21hcDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zY3JpcHRTZXJ2aWNlOiBTY3JpcHRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xyXG5cclxuICAgIHRoaXMuX3NjcmlwdFNlcnZpY2UuaW5pdFNjcmlwdCgpXHJcbiAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHltYXBzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5vbmx5SW5zdGFuY2UpIHtcclxuICAgICAgICAgIHRoaXMubG9hZC5lbWl0KHsgeW1hcHMgfSk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBNYXBcclxuICAgICAgICBjb25zdCBtYXAgPSB0aGlzLl9jcmVhdGVNYXAoeW1hcHMsIGdlbmVyYXRlUmFuZG9tSWQoKSk7XHJcbiAgICAgICAgdGhpcy5fbWFwID0gbWFwO1xyXG5cclxuICAgICAgICAvLyBFdmVudHNcclxuICAgICAgICB0aGlzLl9lbWl0RXZlbnRzKHltYXBzLCBtYXApO1xyXG5cclxuICAgICAgICAvLyBPYmplY3RzXHJcbiAgICAgICAgdGhpcy5faW5pdE9iamVjdHMoeW1hcHMsIG1hcCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbmZpZ01hcChjaGFuZ2VzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBmb3IgZHluYW1pYyBlbnRpdHkgY29uZmlndXJhdGlvbi5cclxuICAgKiBIYW5kbGVzIGlucHV0IGNoYW5nZXMgYW5kIHByb3ZpZGVzIGl0IHRvIEFQSS5cclxuICAgKiBAcGFyYW0gY2hhbmdlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ01hcChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBtYXAgPSB0aGlzLl9tYXA7XHJcblxyXG4gICAgaWYgKCFtYXApIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IGNlbnRlciwgem9vbSwgc3RhdGUsIG9wdGlvbnMgfSA9IGNoYW5nZXM7XHJcblxyXG4gICAgaWYgKGNlbnRlcikge1xyXG4gICAgICBtYXAuc2V0Q2VudGVyKGNlbnRlci5jdXJyZW50VmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh6b29tKSB7XHJcbiAgICAgIG1hcC5zZXRab29tKHpvb20uY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgdGhpcy5fc2V0U3RhdGUoc3RhdGUuY3VycmVudFZhbHVlLCBtYXApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIG1hcC5vcHRpb25zLnNldChvcHRpb25zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXN0cnVjdHMgc3RhdGUgYW5kIHByb3ZpZGVzIG5ldyB2YWx1ZXMgdG8gQVBJXHJcbiAgICogQHBhcmFtIHN0YXRlIGh0dHBzOi8vdGVjaC55YW5kZXgucnUvbWFwcy9kb2MvanNhcGkvMi4xL3JlZi9yZWZlcmVuY2UvTWFwLWRvY3BhZ2UvI01hcF9fcGFyYW0tc3RhdGVcclxuICAgKiBAcGFyYW0gbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfc2V0U3RhdGUoc3RhdGU6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgYmVoYXZpb3JzLCBib3VuZHMsIGNlbnRlciwgY29udHJvbHMsIG1hcmdpbiwgdHlwZSwgem9vbSB9ID0gc3RhdGU7XHJcblxyXG4gICAgaWYgKGJlaGF2aW9ycykge1xyXG4gICAgICBtYXAuYmVoYXZpb3JzLmVuYWJsZShiZWhhdmlvcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChib3VuZHMpIHtcclxuICAgICAgbWFwLnNldEJvdW5kcyhib3VuZHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjZW50ZXIpIHtcclxuICAgICAgbWFwLnNldENlbnRlcihjZW50ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250cm9scykge1xyXG4gICAgICBjb250cm9scy5mb3JFYWNoKChjOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBtYXAuY29udHJvbHMuYWRkKGMpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWFyZ2luKSB7XHJcbiAgICAgIG1hcC5tYXJnaW4uc2V0RGVmYXVsdE1hcmdpbihtYXJnaW4pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlKSB7XHJcbiAgICAgIG1hcC5zZXRUeXBlKHR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh6b29tKSB7XHJcbiAgICAgIG1hcC5zZXRab29tKHpvb20pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNlbnRlciAmJiAhdGhpcy5vbmx5SW5zdGFuY2UpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignTWFwOiBjZW50ZXIgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XHJcbiAgICAgIHRoaXMuY2VudGVyID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVNYXAoeW1hcHM6IGFueSwgaWQ6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBjb250YWluZXJFbGVtOiBIVE1MRWxlbWVudCA9IHRoaXMubWFwQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb250YWluZXJFbGVtLnNldEF0dHJpYnV0ZSgnaWQnLCBpZCk7XHJcbiAgICBjb250YWluZXJFbGVtLnN0eWxlLmNzc1RleHQgPSAnd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsnO1xyXG5cclxuICAgIHJldHVybiBuZXcgeW1hcHMuTWFwKFxyXG4gICAgICBpZCwgeyAuLi50aGlzLnN0YXRlLCB6b29tOiB0aGlzLnpvb20sIGNlbnRlcjogdGhpcy5jZW50ZXIgfSwgdGhpcy5vcHRpb25zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIG5ldyBvYmplY3RzIG9uIENvbnRlbnRDaGlsZHJlbiBjaGFuZ2VzXHJcbiAgICogQHBhcmFtIHltYXBzXHJcbiAgICogQHBhcmFtIG1hcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2luaXRPYmplY3RzKHltYXBzOiBhbnksIG1hcDogYW55KTogdm9pZCB7XHJcbiAgICAvLyBQbGFjZW1hcmtzXHJcbiAgICBjb25zdCBwbGFjZW1hcmtzU3ViID0gdGhpcy5wbGFjZW1hcmtzLmNoYW5nZXNcclxuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMucGxhY2VtYXJrcykpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxZYVBsYWNlbWFya0NvbXBvbmVudD4pID0+IHtcclxuICAgICAgICBsaXN0LmZvckVhY2goKHBsYWNlbWFyazogWWFQbGFjZW1hcmtDb21wb25lbnQpID0+IHtcclxuICAgICAgICAgIGlmICghcGxhY2VtYXJrLmlkKSB7XHJcbiAgICAgICAgICAgIHBsYWNlbWFyay5pbml0UGxhY2VtYXJrKHltYXBzLCBtYXApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAvLyBNdWx0aXJvdXRlc1xyXG4gICAgY29uc3QgbXVsdGlyb3V0ZXNTdWIgPSB0aGlzLm11bHRpcm91dGVzLmNoYW5nZXNcclxuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMubXVsdGlyb3V0ZXMpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8WWFNdWx0aXJvdXRlQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIGxpc3QuZm9yRWFjaCgobXVsdGlyb3V0ZTogWWFNdWx0aXJvdXRlQ29tcG9uZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoIW11bHRpcm91dGUuaWQpIHtcclxuICAgICAgICAgICAgbXVsdGlyb3V0ZS5pbml0TXVsdGlyb3V0ZSh5bWFwcywgbWFwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gR2VvT2JqZWN0c1xyXG4gICAgY29uc3QgZ2VvT2JqZWN0c1N1YiA9IHRoaXMuZ2VvT2JqZWN0cy5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLmdlb09iamVjdHMpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8WWFHZW9PYmplY3RDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgbGlzdC5mb3JFYWNoKChnZW9PYmplY3Q6IFlhR2VvT2JqZWN0Q29tcG9uZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoIWdlb09iamVjdC5pZCkge1xyXG4gICAgICAgICAgICBnZW9PYmplY3QuaW5pdEdlb09iamVjdCh5bWFwcywgbWFwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgLy8gQ29udHJvbHNcclxuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogWWFDb250cm9sQ29tcG9uZW50KSA9PiB7XHJcbiAgICAgIGNvbnRyb2wuaW5pdENvbnRyb2woeW1hcHMsIG1hcCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDbHVzdGVyZXJzXHJcbiAgICB0aGlzLmNsdXN0ZXJlcnMuZm9yRWFjaCgoY2x1c3RlcmVyOiBZYUNsdXN0ZXJlckNvbXBvbmVudCkgPT4ge1xyXG4gICAgICBjbHVzdGVyZXIuaW5pdENsdXN0ZXJlcih5bWFwcywgbWFwKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX3N1Yi5hZGQocGxhY2VtYXJrc1N1Yik7XHJcbiAgICB0aGlzLl9zdWIuYWRkKG11bHRpcm91dGVzU3ViKTtcclxuICAgIHRoaXMuX3N1Yi5hZGQoZ2VvT2JqZWN0c1N1Yik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbGlzdGVuZXJzIG9uIG1hcCBldmVudHNcclxuICAgKiBAcGFyYW0geW1hcHNcclxuICAgKiBAcGFyYW0gbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZW1pdEV2ZW50cyh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG1hcCB9KTtcclxuXHJcbiAgICAvLyBBY3Rpb25cclxuICAgIG1hcC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2FjdGlvbmJlZ2luJywgJ2FjdGlvbmVuZCddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuYWN0aW9uLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG1hcCwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gQmFsb29uXHJcbiAgICBtYXAuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydiYWxsb29ub3BlbicsICdiYWxsb29uY2xvc2UnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmJhbG9vbi5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBtYXAsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIENsaWNrXHJcbiAgICBtYXAuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydjbGljaycsICdkYmxjbGljayddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMueWFjbGljay5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBtYXAsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIEhpbnRcclxuICAgIG1hcC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2hpbnRvcGVuJywgJ2hpbnRjbG9zZSddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuaGludC5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBtYXAsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIE1vdXNlXHJcbiAgICBtYXAuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydtb3VzZWRvd24nLCAnbW91c2VlbnRlcicsICdtb3VzZWxlYXZlJywgJ21vdXNlbW92ZScsICdtb3VzZXVwJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5tb3VzZS5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBtYXAsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIE11bHRpdG91Y2hcclxuICAgIG1hcC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ211bHRpdG91Y2hzdGFydCcsICdtdWx0aXRvdWNobW92ZScsICdtdWx0aXRvdWNoZW5kJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5tdWx0aXRvdWNoLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG1hcCwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWIudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9yb290L0Rlc2t0b3AvZGV2L2FuZ3VsYXIteWFuZGV4LW1hcHMvcHJvamVjdHMvYW5ndWxhcjgteWFuZGV4LW1hcHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveWEtbWFwL3lhLW1hcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkI7Ozs7R0FJRztBQU1ILE1BQU0sT0FBTyxjQUFjO0lBbUV6QixZQUFvQixjQUE2QjtRQUE3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQS9DakQ7O1dBRUc7UUFDYSxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCOzs7V0FHRztRQUNhLFVBQUssR0FBUSxFQUFFLENBQUM7UUFDaEM7OztXQUdHO1FBQ2EsWUFBTyxHQUFRLEVB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ZVJhbmRvbUlkIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2VuZXJhdGVSYW5kb21JZCc7XHJcbmltcG9ydCB7IElFdmVudCwgSUxvYWRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTY3JpcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2NyaXB0L3NjcmlwdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgc3RhcnRXaXRoLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWWFDbHVzdGVyZXJDb21wb25lbnQgfSBmcm9tICcuLi95YS1jbHVzdGVyZXIveWEtY2x1c3RlcmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFlhQ29udHJvbENvbXBvbmVudCB9IGZyb20gJy4uL3lhLWNvbnRyb2wveWEtY29udHJvbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBZYUdlb09iamVjdENvbXBvbmVudCB9IGZyb20gJy4uL3lhLWdlb29iamVjdC95YS1nZW9vYmplY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWWFNdWx0aXJvdXRlQ29tcG9uZW50IH0gZnJvbSAnLi4veWEtbXVsdGlyb3V0ZS95YS1tdWx0aXJvdXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFlhUGxhY2VtYXJrQ29tcG9uZW50IH0gZnJvbSAnLi4veWEtcGxhY2VtYXJrL3lhLXBsYWNlbWFyay5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgZm9yIGNyZWF0aW5nIGFuZCBtYW5hZ2luZyBhIG1hcFxyXG4gKiBAZXhhbXBsZSA8eWEtbWFwIFtjZW50ZXJdPVwiWzU1Ljc1MTk1MiwgMzcuNjAwNzM5XVwiIFtzdGF0ZV09XCJ7dHlwZTogJ3lhbmRleCNzYXRlbGxpdGUnfVwiPjwveWEtbWFwPlxyXG4gKiBAc2VlIHtAbGluayBodHRwczovL2RkdWJyYXZhLmdpdGh1Yi5pby9hbmd1bGFyOC15YW5kZXgtbWFwcy8jL2NvbXBvbmVudHMvbWFwfVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd5YS1tYXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi95YS1tYXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3lhLW1hcC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZYU1hcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIC8vIE1hcCBjb250YWluZXJcclxuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBwdWJsaWMgbWFwQ29udGFpbmVyOiBFbGVtZW50UmVmO1xyXG5cclxuICAvLyBDb21wb25lbnRzIGluc2lkZSA8eWEtbWFwPlxyXG4gIEBDb250ZW50Q2hpbGRyZW4oWWFQbGFjZW1hcmtDb21wb25lbnQpIHB1YmxpYyBwbGFjZW1hcmtzOiBRdWVyeUxpc3Q8WWFQbGFjZW1hcmtDb21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oWWFNdWx0aXJvdXRlQ29tcG9uZW50KSBwdWJsaWMgbXVsdGlyb3V0ZXM6IFF1ZXJ5TGlzdDxZYU11bHRpcm91dGVDb21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oWWFHZW9PYmplY3RDb21wb25lbnQpIHB1YmxpYyBnZW9PYmplY3RzOiBRdWVyeUxpc3Q8WWFHZW9PYmplY3RDb21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oWWFDb250cm9sQ29tcG9uZW50KSBwdWJsaWMgY29udHJvbHM6IFF1ZXJ5TGlzdDxZYUNvbnRyb2xDb21wb25lbnQ+O1xyXG4gIEBDb250ZW50Q2hpbGRyZW4oWWFDbHVzdGVyZXJDb21wb25lbnQpIHB1YmxpYyBjbHVzdGVyZXJzOiBRdWVyeUxpc3Q8WWFDbHVzdGVyZXJDb21wb25lbnQ+O1xyXG5cclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZCBVc2UgU2NyaXB0U2VydmljZVxyXG4gICAqIEBkZXNjcmlwdGlvbiBNYXAgd2lsbCBub3QgYmUgY3JlYXRlZCwgb25seSByZXR1cm5zIElMb2FkRXZlbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgb25seUluc3RhbmNlOiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIE1hcCBjZW50ZXIgZ2VvY29vcmRpbmF0ZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgY2VudGVyOiBBcnJheTxudW1iZXI+O1xyXG4gIC8qKlxyXG4gICAqIE1hcCB6b29tIGxldmVsXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHpvb20gPSAxMDtcclxuICAvKipcclxuICAgKiBTdGF0ZXMgZm9yIHRoZSBtYXBcclxuICAgKiBAc2VlIHtAbGluayBodHRwczovL3RlY2gueWFuZGV4LnJ1L21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL01hcC1kb2NwYWdlLyNNYXBfX3BhcmFtLXN0YXRlfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdGF0ZTogYW55ID0ge307XHJcbiAgLyoqXHJcbiAgICogT3B0aW9ucyBmb3IgdGhlIG1hcFxyXG4gICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vdGVjaC55YW5kZXgucnUvbWFwcy9qc2FwaS9kb2MvMi4xL3JlZi9yZWZlcmVuY2UvTWFwLWRvY3BhZ2UvI01hcF9fcGFyYW0tb3B0aW9uc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55ID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGltbWVkaWF0ZWx5IGFmdGVyIHRoaXMgZW50aXR5IGlzIGFkZGVkIGluIHJvb3QgY29udGFpbmVyXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxJTG9hZEV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIFNtb290aCBtYXAgbW92ZW1lbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEFjdGlvbnMgd2l0aCBiYWxsb25cclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGJhbG9vbiA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIENsaWNrcyBvbiB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyB5YWNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQWN0aW9uIHdpdGggaGludFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgaGludCA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIE1vdXNlIGFjdGlvbnMgb3ZlciB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb3VzZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIE11bHRpdG91Y2ggYWN0aW9ucyBvdmVyIHRoZSBvYmplY3RcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIG11bHRpdG91Y2ggPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBfbWFwOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NjcmlwdFNlcnZpY2U6IFNjcmlwdFNlcnZpY2UpIHsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XHJcblxyXG4gICAgdGhpcy5fc2NyaXB0U2VydmljZS5pbml0U2NyaXB0KClcclxuICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgLnN1YnNjcmliZSgoeW1hcHM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLm9ubHlJbnN0YW5jZSkge1xyXG4gICAgICAgICAgdGhpcy5sb2FkLmVtaXQoeyB5bWFwcyB9KTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIE1hcFxyXG4gICAgICAgIGNvbnN0IG1hcCA9IHRoaXMuX2NyZWF0ZU1hcCh5bWFwcywgZ2VuZXJhdGVSYW5kb21JZCgpKTtcclxuICAgICAgICB0aGlzLl9tYXAgPSBtYXA7XHJcblxyXG4gICAgICAgIC8vIEV2ZW50c1xyXG4gICAgICAgIHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKHltYXBzLCBtYXApO1xyXG5cclxuICAgICAgICAvLyBPYmplY3RzXHJcbiAgICAgICAgdGhpcy5faW5pdE9iamVjdHMoeW1hcHMsIG1hcCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbmZpZ01hcChjaGFuZ2VzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBmb3IgZHluYW1pYyBlbnRpdHkgY29uZmlndXJhdGlvbi5cclxuICAgKiBIYW5kbGVzIGlucHV0IGNoYW5nZXMgYW5kIHByb3ZpZGVzIGl0IHRvIEFQSS5cclxuICAgKiBAcGFyYW0gY2hhbmdlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ01hcChjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBtYXAgPSB0aGlzLl9tYXA7XHJcblxyXG4gICAgaWYgKCFtYXApIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IGNlbnRlciwgem9vbSwgc3RhdGUsIG9wdGlvbnMgfSA9IGNoYW5nZXM7XHJcblxyXG4gICAgaWYgKGNlbnRlcikge1xyXG4gICAgICBtYXAuc2V0Q2VudGVyKGNlbnRlci5jdXJyZW50VmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh6b29tKSB7XHJcbiAgICAgIG1hcC5zZXRab29tKHpvb20uY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgdGhpcy5fc2V0U3RhdGUoc3RhdGUuY3VycmVudFZhbHVlLCBtYXApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIG1hcC5vcHRpb25zLnNldChvcHRpb25zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXN0cnVjdHMgc3RhdGUgYW5kIHByb3ZpZGVzIG5ldyB2YWx1ZXMgdG8gQVBJXHJcbiAgICogQHBhcmFtIHN0YXRlIGh0dHBzOi8vdGVjaC55YW5kZXgucnUvbWFwcy9kb2MvanNhcGkvMi4xL3JlZi9yZWZlcmVuY2UvTWFwLWRvY3BhZ2UvI01hcF9fcGFyYW0tc3RhdGVcclxuICAgKiBAcGFyYW0gbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfc2V0U3RhdGUoc3RhdGU6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgYmVoYXZpb3JzLCBib3VuZHMsIGNlbnRlciwgY29udHJvbHMsIG1hcmdpbiwgdHlwZSwgem9vbSB9ID0gc3RhdGU7XHJcblxyXG4gICAgaWYgKGJlaGF2aW9ycykge1xyXG4gICAgICBtYXAuYmVoYXZpb3JzLmVuYWJsZShiZWhhdmlvcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChib3VuZHMpIHtcclxuICAgICAgbWFwLnNldEJvdW5kcyhib3VuZHMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjZW50ZXIpIHtcclxuICAgICAgbWFwLnNldENlbnRlcihjZW50ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb250cm9scykge1xyXG4gICAgICBjb250cm9scy5mb3JFYWNoKChjOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBtYXAuY29udHJvbHMuYWRkKGMpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWFyZ2luKSB7XHJcbiAgICAgIG1hcC5tYXJnaW4uc2V0RGVmYXVsdE1hcmdpbihtYXJnaW4pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlKSB7XHJcbiAgICAgIG1hcC5zZXRUeXBlKHR5cGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh6b29tKSB7XHJcbiAgICAgIG1hcC5zZXRab29tKHpvb20pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNlbnRlciAmJiAhdGhpcy5vbmx5SW5zdGFuY2UpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignTWFwOiBjZW50ZXIgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XHJcbiAgICAgIHRoaXMuY2VudGVyID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVNYXAoeW1hcHM6IGFueSwgaWQ6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBjb250YWluZXJFbGVtOiBIVE1MRWxlbWVudCA9IHRoaXMubWFwQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBjb250YWluZXJFbGVtLnNldEF0dHJpYnV0ZSgnaWQnLCBpZCk7XHJcbiAgICBjb250YWluZXJFbGVtLnN0eWxlLmNzc1RleHQgPSAnd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsnO1xyXG5cclxuICAgIHJldHVybiBuZXcgeW1hcHMuTWFwKFxyXG4gICAgICBpZCwgeyAuLi50aGlzLnN0YXRlLCB6b29tOiB0aGlzLnpvb20sIGNlbnRlcjogdGhpcy5jZW50ZXIgfSwgdGhpcy5vcHRpb25zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJvdmlkZXMgQ29udGVudENoaWxkcmVuIGNvbXBvbmVudHMgdG8gQVBJLlxyXG4gICAqIFN1YnNjcmliZXMgb24gQ29udGVudENoaWxkcmVuIGNoYW5nZXMgdG8gcHJvdmlkZSB0aGVtIHRvIEFQSS5cclxuICAgKiBAcGFyYW0geW1hcHNcclxuICAgKiBAcGFyYW0gbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW5pdE9iamVjdHMoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcclxuICAgIC8vIFBsYWNlbWFya3MgKGFzeW5jKVxyXG4gICAgY29uc3QgcGxhY2VtYXJrc1N1YiA9IHRoaXMucGxhY2VtYXJrcy5jaGFuZ2VzXHJcbiAgICAgIC5waXBlKHN0YXJ0V2l0aCh0aGlzLnBsYWNlbWFya3MpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsaXN0OiBRdWVyeUxpc3Q8WWFQbGFjZW1hcmtDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgbGlzdC5mb3JFYWNoKChwbGFjZW1hcms6IFlhUGxhY2VtYXJrQ29tcG9uZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXBsYWNlbWFyay5pZCkge1xyXG4gICAgICAgICAgICBwbGFjZW1hcmsuaW5pdFBsYWNlbWFyayh5bWFwcywgbWFwKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5fc3ViLmFkZChwbGFjZW1hcmtzU3ViKTtcclxuXHJcbiAgICAvLyBNdWx0aXJvdXRlcyAoYXN5bmMpXHJcbiAgICBjb25zdCBtdWx0aXJvdXRlc1N1YiA9IHRoaXMubXVsdGlyb3V0ZXMuY2hhbmdlc1xyXG4gICAgICAucGlwZShzdGFydFdpdGgodGhpcy5tdWx0aXJvdXRlcykpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxpc3Q6IFF1ZXJ5TGlzdDxZYU11bHRpcm91dGVDb21wb25lbnQ+KSA9PiB7XHJcbiAgICAgICAgbGlzdC5mb3JFYWNoKChtdWx0aXJvdXRlOiBZYU11bHRpcm91dGVDb21wb25lbnQpID0+IHtcclxuICAgICAgICAgIGlmICghbXVsdGlyb3V0ZS5pZCkge1xyXG4gICAgICAgICAgICBtdWx0aXJvdXRlLmluaXRNdWx0aXJvdXRlKHltYXBzLCBtYXApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9zdWIuYWRkKG11bHRpcm91dGVzU3ViKTtcclxuXHJcbiAgICAvLyBHZW9PYmplY3RzIChhc3luYylcclxuICAgIGNvbnN0IGdlb09iamVjdHNTdWIgPSB0aGlzLmdlb09iamVjdHMuY2hhbmdlc1xyXG4gICAgICAucGlwZShzdGFydFdpdGgodGhpcy5nZW9PYmplY3RzKSlcclxuICAgICAgLnN1YnNjcmliZSgobGlzdDogUXVlcnlMaXN0PFlhR2VvT2JqZWN0Q29tcG9uZW50PikgPT4ge1xyXG4gICAgICAgIGxpc3QuZm9yRWFjaCgoZ2VvT2JqZWN0OiBZYUdlb09iamVjdENvbXBvbmVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKCFnZW9PYmplY3QuaWQpIHtcclxuICAgICAgICAgICAgZ2VvT2JqZWN0LmluaXRHZW9PYmplY3QoeW1hcHMsIG1hcCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX3N1Yi5hZGQoZ2VvT2JqZWN0c1N1Yik7XHJcblxyXG4gICAgLy8gQ29udHJvbHMgKG5vdCBhc3luYylcclxuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogWWFDb250cm9sQ29tcG9uZW50KSA9PiB7XHJcbiAgICAgIGNvbnRyb2wuaW5pdENvbnRyb2woeW1hcHMsIG1hcCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICAvLyBDbHVzdGVyZXJzIChub3QgYXN5bmMpXHJcbiAgICB0aGlzLmNsdXN0ZXJlcnMuZm9yRWFjaCgoY2x1c3RlcmVyOiBZYUNsdXN0ZXJlckNvbXBvbmVudCkgPT4ge1xyXG4gICAgICBjbHVzdGVyZXIuaW5pdENsdXN0ZXJlcih5bWFwcywgbWFwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGxpc3RlbmVycyBvbiBtYXAgZXZlbnRzXHJcbiAgICogQHBhcmFtIHltYXBzXHJcbiAgICogQHBhcmFtIG1hcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2FkZEV2ZW50TGlzdGVuZXJzKHltYXBzOiBhbnksIG1hcDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWQuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogbWFwIH0pO1xyXG5cclxuICAgIC8vIEFjdGlvblxyXG4gICAgbWFwLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnYWN0aW9uYmVnaW4nLCAnYWN0aW9uZW5kJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5hY3Rpb24uZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogbWFwLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBCYWxvb25cclxuICAgIG1hcC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2JhbGxvb25vcGVuJywgJ2JhbGxvb25jbG9zZSddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuYmFsb29uLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG1hcCwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gQ2xpY2tcclxuICAgIG1hcC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2NsaWNrJywgJ2RibGNsaWNrJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy55YWNsaWNrLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG1hcCwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gSGludFxyXG4gICAgbWFwLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnaGludG9wZW4nLCAnaGludGNsb3NlJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5oaW50LmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG1hcCwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gTW91c2VcclxuICAgIG1hcC5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ21vdXNlZG93bicsICdtb3VzZWVudGVyJywgJ21vdXNlbGVhdmUnLCAnbW91c2Vtb3ZlJywgJ21vdXNldXAnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLm1vdXNlLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG1hcCwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gTXVsdGl0b3VjaFxyXG4gICAgbWFwLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnbXVsdGl0b3VjaHN0YXJ0JywgJ211bHRpdG91Y2htb3ZlJywgJ211bHRpdG91Y2hlbmQnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLm11bHRpdG91Y2guZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogbWFwLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1Yi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=

@@ -87,10 +87,10 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';

map.geoObjects.add(multiroute);
this._emitEvents(ymaps, multiroute);
this._addEventListeners(ymaps, multiroute);
}
/**
* Add listeners on placemark events
* Add listeners on multiroute events
* @param ymaps
* @param map
*/
_emitEvents(ymaps, multiroute) {
_addEventListeners(ymaps, multiroute) {
this.load.emit({ ymaps, instance: multiroute });

@@ -136,2 +136,2 @@ // Activeroutechange

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtbXVsdGlyb3V0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvcm9vdC9EZXNrdG9wL2Rldi9hbmd1bGFyLXlhbmRleC1tYXBzL3Byb2plY3RzL2FuZ3VsYXI4LXlhbmRleC1tYXBzL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhLW11bHRpcm91dGUveWEtbXVsdGlyb3V0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTCxNQUFNLGVBQWUsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdoRTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHFCQUFxQjtJQWdEaEM7UUEvQkE7O1dBRUc7UUFDYyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUN2RDs7V0FFRztRQUNjLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEU7O1dBRUc7UUFDYyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNyRDs7V0FFRztRQUNjLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3REOztXQUVHO1FBQ2MsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDcEQ7O1dBRUc7UUFDYyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQVF6QyxDQUFDO0lBRVYsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGlCQUFpQixDQUFDLE9BQXNCO1FBQzlDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFcEMs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SztzQkFNTCxLQUFLO21CQUtMLE1BQU07Z0NBSU4sTUFBTTtxQkFJTixNQUFNO3NCQUlOLE1BQU07b0JBSU4sTUFBTTt5QkFJTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXNcclxuICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBnZW5lcmF0ZVJhbmRvbUlkIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2VuZXJhdGVSYW5kb21JZCc7XHJcbmltcG9ydCB7IElFdmVudCwgSUxvYWRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RlbHMnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCBmb3IgY3JlYXRpbmcgTXVsdGktcm91dGUgb24gdGhlIG1hcFxyXG4gKiBAZXhhbXBsZSA8eWEtbXVsdGlyb3V0ZSBbcmVmZXJlbmNlUG9pbnRzXT1cIltbNTUuNzUxOTUyLCAzNy42MDA3MzldLCAn0JrRgNCw0YHQvdGL0LUg0LLQvtGA0L7RgtCwLCDQnNC+0YHQutCy0LAnXVwiPjwveWEtbXVsdGlyb3V0ZT5cclxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9kZHVicmF2YS5naXRodWIuaW8vYW5ndWxhcjgteWFuZGV4LW1hcHMvIy9jb21wb25lbnRzL211bHRpcm91dGV9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3lhLW11bHRpcm91dGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi95YS1tdWx0aXJvdXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi95YS1tdWx0aXJvdXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFlhTXVsdGlyb3V0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICAvKipcclxuICAgKiBSZWZlcmVuY2UgcG9pbnRzIGZvciB0aGUgbXVsdGktcm91dGVcclxuICAgKiBAc2VlIHtAbGluayBodHRwczovL3RlY2gueWFuZGV4LnJ1L21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL0lNdWx0aVJvdXRlUmVmZXJlbmNlUG9pbnQtZG9jcGFnZS99XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHJlZmVyZW5jZVBvaW50czogQXJyYXk8YW55PjtcclxuICAvKipcclxuICAgKiBUaGUgZGF0YSBtb2RlbCBvZiBhIG11bHRpLXJvdXRlLCBvciB0aGUgbW9kZWwgZGVzY3JpcHRpb24gb2JqZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG1vZGVsOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogT3B0aW9ucyBmb3IgdGhlIG11bHRpcm91dGVcclxuICAgKiBAc2VlXHJcbiAgICoge0BsaW5rIGh0dHBzOi8vdGVjaC55YW5kZXgucnUvbWFwcy9qc2FwaS9kb2MvMi4xL3JlZi9yZWZlcmVuY2UvbXVsdGlSb3V0ZXIuTXVsdGlSb3V0ZS1kb2NwYWdlLyNtdWx0aVJvdXRlci5NdWx0aVJvdXRlX19wYXJhbS1vcHRpb25zfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGltbWVkaWF0ZWx5IGFmdGVyIHRoaXMgZW50aXR5IGlzIGFkZGVkIGluIHJvb3QgY29udGFpbmVyXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxJTG9hZEV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIENoYW5nZSB0byB0aGUgYWN0aXZlIHJvdXRlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBhY3RpdmVyb3V0ZWNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEFjdGlvbnMgd2l0aCBiYWxsb25cclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGJhbG9vbiA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIENsaWNrcyBvbiB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyB5YWNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogTW91c2UgYWN0aW9ucyBvdmVyIHRoZSBvYmplY3RcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIG1vdXNlID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogTXVsdGl0b3VjaCBhY3Rpb25zIG92ZXIgdGhlIG9iamVjdFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbXVsdGl0b3VjaCA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG5cclxuICBwdWJsaWMgaWQ6IHN0cmluZztcclxuXHJcbiAgLy8gWWFuZGV4Lk1hcHMgQVBJXHJcbiAgcHJpdmF0ZSBfbWFwOiBhbnk7XHJcbiAgcHJpdmF0ZSBfbXVsdGlyb3V0ZTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9sb2dFcnJvcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWdNdWx0aXJvdXRlKGNoYW5nZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kIGZvciBkeW5hbWljIGVudGl0eSBjb25maWd1cmF0aW9uLlxyXG4gICAqIEhhbmRsZXMgaW5wdXQgY2hhbmdlcyBhbmQgcHJvdmlkZXMgaXQgdG8gQVBJLlxyXG4gICAqIEBwYXJhbSBjaGFuZ2VzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY29uZmlnTXVsdGlyb3V0ZShjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBtdWx0aXJvdXRlID0gdGhpcy5fbXVsdGlyb3V0ZTtcclxuXHJcbiAgICBpZiAoIW11bHRpcm91dGUpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IHJlZmVyZW5jZVBvaW50cywgbW9kZWwsIG9wdGlvbnMgfSA9IGNoYW5nZXM7XHJcblxyXG4gICAgaWYgKHJlZmVyZW5jZVBvaW50cykge1xyXG4gICAgICBtdWx0aXJvdXRlLm1vZGVsLnNldFJlZmVyZW5jZVBvaW50cyhyZWZlcmVuY2VQb2ludHMuY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobW9kZWwpIHtcclxuICAgICAgdGhpcy5fc2V0TW9kZWwobW9kZWwuY3VycmVudFZhbHVlLCBtdWx0aXJvdXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBtdWx0aXJvdXRlLm9wdGlvbnMuc2V0KG9wdGlvbnMuY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlc3RydWN0cyBzdGF0ZSBhbmQgcHJvdmlkZXMgbmV3IHZhbHVlcyB0byBBUElcclxuICAgKiBAcGFyYW0gbW9kZWwgaHR0cHM6Ly90ZWNoLnlhbmRleC5jb20vbWFwcy9qc2FwaS9kb2MvMi4xL3JlZi9yZWZlcmVuY2UvbXVsdGlSb3V0ZXIuTXVsdGlSb3V0ZU1vZGVsLWRvY3BhZ2UvXHJcbiAgICogQHBhcmFtIG11bHRpcm91dGVcclxuICAgKi9cclxuICBwcml2YXRlIF9zZXRNb2RlbChtb2RlbDogYW55LCBtdWx0aXJvdXRlOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgcmVmZXJlbmNlUG9pbnRzLCBwYXJhbXMgfSA9IG1vZGVsO1xyXG5cclxuICAgIGlmIChyZWZlcmVuY2VQb2ludHMpIHtcclxuICAgICAgbXVsdGlyb3V0ZS5tb2RlbC5zZXRSZWZlcmVuY2VQb2ludHMocmVmZXJlbmNlUG9pbnRzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyYW1zKSB7XHJcbiAgICAgIG11bHRpcm91dGUubW9kZWwuc2V0UGFyYW1zKHBhcmFtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucmVmZXJlbmNlUG9pbnRzKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ011bHRpcm91dGU6IHJlZmVyZW5jZVBvaW50cyBpbnB1dCBpcyByZXF1aXJlZC4nKTtcclxuICAgICAgdGhpcy5yZWZlcmVuY2VQb2ludHMgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0TXVsdGlyb3V0ZSh5bWFwczogYW55LCBtYXA6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgbXVsdGlyb3V0ZSA9IG5ldyB5bWFwcy5tdWx0aVJvdXRlci5NdWx0aVJvdXRlKFxyXG4gICAgICB7IC4uLnRoaXMubW9kZWwsIHJlZmVyZW5jZVBvaW50czogdGhpcy5yZWZlcmVuY2VQb2ludHMgfSwgdGhpcy5vcHRpb25zXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuaWQgPSBnZW5lcmF0ZVJhbmRvbUlkKCk7XHJcbiAgICB0aGlzLl9tYXAgPSBtYXA7XHJcbiAgICB0aGlzLl9tdWx0aXJvdXRlID0gbXVsdGlyb3V0ZTtcclxuXHJcbiAgICBtYXAuZ2VvT2JqZWN0cy5hZGQobXVsdGlyb3V0ZSk7XHJcbiAgICB0aGlzLl9lbWl0RXZlbnRzKHltYXBzLCBtdWx0aXJvdXRlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBsaXN0ZW5lcnMgb24gcGxhY2VtYXJrIGV2ZW50c1xyXG4gICAqIEBwYXJhbSB5bWFwc1xyXG4gICAqIEBwYXJhbSBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIF9lbWl0RXZlbnRzKHltYXBzOiBhbnksIG11bHRpcm91dGU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG11bHRpcm91dGUgfSk7XHJcblxyXG4gICAgLy8gQWN0aXZlcm91dGVjaGFuZ2VcclxuICAgIG11bHRpcm91dGUuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgJ2FjdGl2ZXJvdXRlY2hhbmdlJyxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmFjdGl2ZXJvdXRlY2hhbmdlLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG11bHRpcm91dGUsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIEJhbG9vblxyXG4gICAgbXVsdGlyb3V0ZS5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2JhbGxvb25vcGVuJywgJ2JhbGxvb25jbG9zZSddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuYmFsb29uLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG11bHRpcm91dGUsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIENsaWNrXHJcbiAgICBtdWx0aXJvdXRlLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnY2xpY2snLCAnZGJsY2xpY2snXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLnlhY2xpY2suZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogbXVsdGlyb3V0ZSwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gTW91c2VcclxuICAgIG11bHRpcm91dGUuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydtb3VzZWRvd24nLCAnbW91c2VlbnRlcicsICdtb3VzZWxlYXZlJywgJ21vdXNlbW92ZScsICdtb3VzZXVwJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5tb3VzZS5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBtdWx0aXJvdXRlLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBNdWx0aXRvdWNoXHJcbiAgICBtdWx0aXJvdXRlLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnbXVsdGl0b3VjaHN0YXJ0JywgJ211bHRpdG91Y2htb3ZlJywgJ211bHRpdG91Y2hlbmQnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLm11bHRpdG91Y2guZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogbXVsdGlyb3V0ZSwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9tYXAuZ2VvT2JqZWN0cy5yZW1vdmUodGhpcy5fbXVsdGlyb3V0ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtbXVsdGlyb3V0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvcm9vdC9EZXNrdG9wL2Rldi9hbmd1bGFyLXlhbmRleC1tYXBzL3Byb2plY3RzL2FuZ3VsYXI4LXlhbmRleC1tYXBzL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3lhLW11bHRpcm91dGUveWEtbXVsdGlyb3V0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTCxNQUFNLGVBQWUsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdoRTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHFCQUFxQjtJQWdEaEM7UUEvQkE7O1dBRUc7UUFDYyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUN2RDs7V0FFRztRQUNjLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDaEU7O1dBRUc7UUFDYyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNyRDs7V0FFRztRQUNjLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3REOztXQUVHO1FBQ2MsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDcEQ7O1dBRUc7UUFDYyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQVF6QyxDQUFDO0lBRVYsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGlCQUFpQixDQUFDLE9BQXNCO1FBQzlDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFcEMs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LEtBQUs7c0JBTUwsS0FBSzttQkFLTCxNQUFNO2dDQUlOLE1BQU07cUJBSU4sTUFBTTtzQkFJTixNQUFNO29CQUlOLE1BQU07eUJBSU4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbiAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2VuZXJhdGVSYW5kb21JZCB9IGZyb20gJy4uLy4uL3V0aWxzL2dlbmVyYXRlUmFuZG9tSWQnO1xyXG5pbXBvcnQgeyBJRXZlbnQsIElMb2FkRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbW9kZWxzJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQgZm9yIGNyZWF0aW5nIE11bHRpLXJvdXRlIG9uIHRoZSBtYXBcclxuICogQGV4YW1wbGUgPHlhLW11bHRpcm91dGUgW3JlZmVyZW5jZVBvaW50c109XCJbWzU1Ljc1MTk1MiwgMzcuNjAwNzM5XSwgJ9Ca0YDQsNGB0L3Ri9C1INCy0L7RgNC+0YLQsCwg0JzQvtGB0LrQstCwJ11cIj48L3lhLW11bHRpcm91dGU+XHJcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGR1YnJhdmEuZ2l0aHViLmlvL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyMvY29tcG9uZW50cy9tdWx0aXJvdXRlfVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd5YS1tdWx0aXJvdXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4veWEtbXVsdGlyb3V0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4veWEtbXVsdGlyb3V0ZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZYU11bHRpcm91dGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgLyoqXHJcbiAgICogUmVmZXJlbmNlIHBvaW50cyBmb3IgdGhlIG11bHRpLXJvdXRlXHJcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90ZWNoLnlhbmRleC5ydS9tYXBzL2pzYXBpL2RvYy8yLjEvcmVmL3JlZmVyZW5jZS9JTXVsdGlSb3V0ZVJlZmVyZW5jZVBvaW50LWRvY3BhZ2UvfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWZlcmVuY2VQb2ludHM6IEFycmF5PGFueT47XHJcbiAgLyoqXHJcbiAgICogVGhlIGRhdGEgbW9kZWwgb2YgYSBtdWx0aS1yb3V0ZSwgb3IgdGhlIG1vZGVsIGRlc2NyaXB0aW9uIG9iamVjdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtb2RlbDogYW55O1xyXG4gIC8qKlxyXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBtdWx0aXJvdXRlXHJcbiAgICogQHNlZVxyXG4gICAqIHtAbGluayBodHRwczovL3RlY2gueWFuZGV4LnJ1L21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL211bHRpUm91dGVyLk11bHRpUm91dGUtZG9jcGFnZS8jbXVsdGlSb3V0ZXIuTXVsdGlSb3V0ZV9fcGFyYW0tb3B0aW9uc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBpbW1lZGlhdGVseSBhZnRlciB0aGlzIGVudGl0eSBpcyBhZGRlZCBpbiByb290IGNvbnRhaW5lclxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxvYWRFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBDaGFuZ2UgdG8gdGhlIGFjdGl2ZSByb3V0ZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgYWN0aXZlcm91dGVjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBBY3Rpb25zIHdpdGggYmFsbG9uXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBiYWxvb24gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBDbGlja3Mgb24gdGhlIG9iamVjdFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgeWFjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIE1vdXNlIGFjdGlvbnMgb3ZlciB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb3VzZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIE11bHRpdG91Y2ggYWN0aW9ucyBvdmVyIHRoZSBvYmplY3RcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIG11bHRpdG91Y2ggPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuXHJcbiAgcHVibGljIGlkOiBzdHJpbmc7XHJcblxyXG4gIC8vIFlhbmRleC5NYXBzIEFQSVxyXG4gIHByaXZhdGUgX21hcDogYW55O1xyXG4gIHByaXZhdGUgX211bHRpcm91dGU6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29uZmlnTXVsdGlyb3V0ZShjaGFuZ2VzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBmb3IgZHluYW1pYyBlbnRpdHkgY29uZmlndXJhdGlvbi5cclxuICAgKiBIYW5kbGVzIGlucHV0IGNoYW5nZXMgYW5kIHByb3ZpZGVzIGl0IHRvIEFQSS5cclxuICAgKiBAcGFyYW0gY2hhbmdlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ011bHRpcm91dGUoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgbXVsdGlyb3V0ZSA9IHRoaXMuX211bHRpcm91dGU7XHJcblxyXG4gICAgaWYgKCFtdWx0aXJvdXRlKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgeyByZWZlcmVuY2VQb2ludHMsIG1vZGVsLCBvcHRpb25zIH0gPSBjaGFuZ2VzO1xyXG5cclxuICAgIGlmIChyZWZlcmVuY2VQb2ludHMpIHtcclxuICAgICAgbXVsdGlyb3V0ZS5tb2RlbC5zZXRSZWZlcmVuY2VQb2ludHMocmVmZXJlbmNlUG9pbnRzLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1vZGVsKSB7XHJcbiAgICAgIHRoaXMuX3NldE1vZGVsKG1vZGVsLmN1cnJlbnRWYWx1ZSwgbXVsdGlyb3V0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgbXVsdGlyb3V0ZS5vcHRpb25zLnNldChvcHRpb25zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXN0cnVjdHMgc3RhdGUgYW5kIHByb3ZpZGVzIG5ldyB2YWx1ZXMgdG8gQVBJXHJcbiAgICogQHBhcmFtIG1vZGVsIGh0dHBzOi8vdGVjaC55YW5kZXguY29tL21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL211bHRpUm91dGVyLk11bHRpUm91dGVNb2RlbC1kb2NwYWdlL1xyXG4gICAqIEBwYXJhbSBtdWx0aXJvdXRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfc2V0TW9kZWwobW9kZWw6IGFueSwgbXVsdGlyb3V0ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHJlZmVyZW5jZVBvaW50cywgcGFyYW1zIH0gPSBtb2RlbDtcclxuXHJcbiAgICBpZiAocmVmZXJlbmNlUG9pbnRzKSB7XHJcbiAgICAgIG11bHRpcm91dGUubW9kZWwuc2V0UmVmZXJlbmNlUG9pbnRzKHJlZmVyZW5jZVBvaW50cyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBhcmFtcykge1xyXG4gICAgICBtdWx0aXJvdXRlLm1vZGVsLnNldFBhcmFtcyhwYXJhbXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnJlZmVyZW5jZVBvaW50cykge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdNdWx0aXJvdXRlOiByZWZlcmVuY2VQb2ludHMgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XHJcbiAgICAgIHRoaXMucmVmZXJlbmNlUG9pbnRzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdE11bHRpcm91dGUoeW1hcHM6IGFueSwgbWFwOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IG11bHRpcm91dGUgPSBuZXcgeW1hcHMubXVsdGlSb3V0ZXIuTXVsdGlSb3V0ZShcclxuICAgICAgeyAuLi50aGlzLm1vZGVsLCByZWZlcmVuY2VQb2ludHM6IHRoaXMucmVmZXJlbmNlUG9pbnRzIH0sIHRoaXMub3B0aW9uc1xyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmlkID0gZ2VuZXJhdGVSYW5kb21JZCgpO1xyXG4gICAgdGhpcy5fbWFwID0gbWFwO1xyXG4gICAgdGhpcy5fbXVsdGlyb3V0ZSA9IG11bHRpcm91dGU7XHJcblxyXG4gICAgbWFwLmdlb09iamVjdHMuYWRkKG11bHRpcm91dGUpO1xyXG4gICAgdGhpcy5fYWRkRXZlbnRMaXN0ZW5lcnMoeW1hcHMsIG11bHRpcm91dGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIGxpc3RlbmVycyBvbiBtdWx0aXJvdXRlIGV2ZW50c1xyXG4gICAqIEBwYXJhbSB5bWFwc1xyXG4gICAqIEBwYXJhbSBtYXBcclxuICAgKi9cclxuICBwcml2YXRlIF9hZGRFdmVudExpc3RlbmVycyh5bWFwczogYW55LCBtdWx0aXJvdXRlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZC5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBtdWx0aXJvdXRlIH0pO1xyXG5cclxuICAgIC8vIEFjdGl2ZXJvdXRlY2hhbmdlXHJcbiAgICBtdWx0aXJvdXRlLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgICdhY3RpdmVyb3V0ZWNoYW5nZScsXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5hY3RpdmVyb3V0ZWNoYW5nZS5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBtdWx0aXJvdXRlLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBCYWxvb25cclxuICAgIG11bHRpcm91dGUuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydiYWxsb29ub3BlbicsICdiYWxsb29uY2xvc2UnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmJhbG9vbi5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBtdWx0aXJvdXRlLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBDbGlja1xyXG4gICAgbXVsdGlyb3V0ZS5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2NsaWNrJywgJ2RibGNsaWNrJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy55YWNsaWNrLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG11bHRpcm91dGUsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIE1vdXNlXHJcbiAgICBtdWx0aXJvdXRlLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnbW91c2Vkb3duJywgJ21vdXNlZW50ZXInLCAnbW91c2VsZWF2ZScsICdtb3VzZW1vdmUnLCAnbW91c2V1cCddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMubW91c2UuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogbXVsdGlyb3V0ZSwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gTXVsdGl0b3VjaFxyXG4gICAgbXVsdGlyb3V0ZS5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ211bHRpdG91Y2hzdGFydCcsICdtdWx0aXRvdWNobW92ZScsICdtdWx0aXRvdWNoZW5kJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5tdWx0aXRvdWNoLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IG11bHRpcm91dGUsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbWFwLmdlb09iamVjdHMucmVtb3ZlKHRoaXMuX211bHRpcm91dGUpO1xyXG4gIH1cclxufVxyXG4iXX0=

@@ -87,11 +87,11 @@ import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';

this._player = player;
this.emitEvents(ymaps, player);
this._addEventListeners(ymaps, player);
});
}
/**
* Emit events
* Add listeners on panorama events
* @param ymaps
* @param player Player instance
* @param player
*/
emitEvents(ymaps, player) {
_addEventListeners(ymaps, player) {
this.load.emit({ ymaps, instance: player });

@@ -129,2 +129,2 @@ // Direction

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtcGFub3JhbWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3Jvb3QvRGVza3RvcC9kZXYvYW5ndWxhci15YW5kZXgtbWFwcy9wcm9qZWN0cy9hbmd1bGFyOC15YW5kZXgtbWFwcy9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy95YS1wYW5vcmFtYS95YS1wYW5vcmFtYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1IsTUFBTSxlQUFlLENBQUM7QUFDekIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0Qzs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLG1CQUFtQjtJQXFDOUIsWUFBb0IsY0FBNkI7UUFBN0IsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFwQmpEOztXQUVHO1FBQ2MsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDdkQ7O1dBRUc7UUFDYyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4RDs7V0FFRztRQUNjLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pEOztXQUVHO1FBQ2MsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFLQSxDQUFDO0lBRS9DLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUU7YUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGVBQWUsQ0FBQyxPQUFzQjtRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRTVCLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTztRQUVwQixNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFFMUMsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3RFO1FBRUQsSUFBSSxPQUFPLEVBQUU7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDOzs7Ozs7T0FNakMsQ0FBQyxDQUFDLENBQUM7U0FDTDtJQUNILENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxlQUFlLENBQUMsS0FBVSxFQUFFLEVBQVU7UUFDNUMsTUFBTSxhQUFhLEdBQWdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7UUFDeEUsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsNEJBQTRCLENBQUM7UUFFM0QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDckQsSUFBSSxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUV0QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLEtBQVUsRUFBRSxNQUFXO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLFlBQVk7UUFDWixNQUFNLENBQUMsTUFBTTthQUNWLEdBQUcsQ0FDRixpQkFBaUIsRUFDakIsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNuRyxDQUFDO1FBRUosYUFBYTtRQUNiLE1BQU0sQ0FBQyxNQUFNO2FBQ1YsR0FBRyxDQUNGLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsRUFDckMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUNwRyxDQUFDO1FBRUosU0FBUztRQUNULE1BQU0sQ0FBQyxNQUFNO2FBQ1YsR0FBRyxDQUNGLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLEVBQzFFLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDaEcsQ0FBQztJQUNOLENBQUM7OztZQS9JRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHNDQUEyQzs7YUFFNUM7OztZQVpRLGFBQWE7OztnQ0FjbkIsU0FBUyxTQUFDLFdBQVc7b0JBS3JCLEtBQUs7b0JBSUwsS0FBSztzQkFLTCxLQUFLO21CQUtMLE1BQU07d0JBSU4sTUFBTTt5QkFJTixNQUFNO3FCQUlOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZFxyXG4gIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGdlbmVyYXRlUmFuZG9tSWQgfSBmcm9tICcuLi8uLi91dGlscy9nZW5lcmF0ZVJhbmRvbUlkJztcclxuaW1wb3J0IHsgSUV2ZW50LCBJTG9hZEV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21vZGVscyc7XHJcbmltcG9ydCB7IHJlbW92ZUxlYWRpbmdTcGFjZXMgfSBmcm9tICcuLi8uLi91dGlscy9yZW1vdmVMZWFkaW5nU3BhY2VzJztcclxuaW1wb3J0IHsgU2NyaXB0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NjcmlwdC9zY3JpcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50IGZvciBjcmVhdGluZyBhbmQgY29udHJvbGxpbmcgdGhlIHBhbm9yYW1hIHBsYXllclxyXG4gKiBAZXhhbXBsZSA8eWEtcGFub3JhbWEgW3BvaW50XT1cIls1OS45Mzg1NTcsIDMwLjMxNjE5OF1cIiBsYXllcj1cInlhbmRleCNhaXJQYW5vcmFtYVwiPjwveWEtcGFub3JhbWE+XHJcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGR1YnJhdmEuZ2l0aHViLmlvL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyMvY29tcG9uZW50cy9wYW5vcmFtYX1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneWEtcGFub3JhbWEnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi95YS1wYW5vcmFtYS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4veWEtcGFub3JhbWEuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWWFQYW5vcmFtYUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBwdWJsaWMgcGFub3JhbWFDb250YWluZXI6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBwb2ludCBmb3Igc2VhcmNoaW5nIGZvciBuZWFyYnkgcGFub3JhbWFzXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHBvaW50OiBBcnJheTxudW1iZXI+O1xyXG4gIC8qKlxyXG4gICAqIFRoZSBsYXllciB0byBzZWFyY2ggZm9yIHBhbm9yYW1hc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBsYXllcjogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBwbGF5ZXJcclxuICAgKiBAc2VlIHtAbGluayBodHRwczovL3RlY2gueWFuZGV4LmNvbS9tYXBzL2pzYXBpL2RvYy8yLjEvcmVmL3JlZmVyZW5jZS9wYW5vcmFtYS5QbGF5ZXItZG9jcGFnZS8jcGFub3JhbWEuUGxheWVyX19wYXJhbS1vcHRpb25zfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGltbWVkaWF0ZWx5IGFmdGVyIHRoaXMgZW50aXR5IGlzIGFkZGVkIGluIHJvb3QgY29udGFpbmVyXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxJTG9hZEV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIFRoZSB2aWV3IGRpcmVjdGlvbiBjaGFuZ2VkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBkaXJlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBUaGUgcGFub3JhbWEgcGxheWVyIHNjcmVlbiBtb2RlIGlzIHN3aXRjaGVkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBmdWxsc2NyZWVuID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQWN0aW9ucyB3aXRoIG1hcmtlclxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbWFya2VyID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcblxyXG4gIC8vIFlhbmRleC5NYXBzIEFQSVxyXG4gIHByaXZhdGUgX3BsYXllcjogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zY3JpcHRTZXJ2aWNlOiBTY3JpcHRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9nRXJyb3JzKCk7XHJcblxyXG4gICAgdGhpcy5fc2NyaXB0U2VydmljZS5pbml0U2NyaXB0KClcclxuICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgLnN1YnNjcmliZSgoeW1hcHM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NyZWF0ZVBhbm9yYW1hKHltYXBzLCBnZW5lcmF0ZVJhbmRvbUlkKCkpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWdQYW5vcmFtYShjaGFuZ2VzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBmb3IgZHluYW1pYyBlbnRpdHkgY29uZmlndXJhdGlvbi5cclxuICAgKiBIYW5kbGVzIGlucHV0IGNoYW5nZXMgYW5kIHByb3ZpZGVzIGl0IHRvIEFQSS5cclxuICAgKiBAcGFyYW0gY2hhbmdlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ1Bhbm9yYW1hKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHBsYXllciA9IHRoaXMuX3BsYXllcjtcclxuXHJcbiAgICBpZiAoIXBsYXllcikgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHsgcG9pbnQsIGxheWVyLCBvcHRpb25zIH0gPSBjaGFuZ2VzO1xyXG5cclxuICAgIGlmIChwb2ludCkge1xyXG4gICAgICBwbGF5ZXIubW92ZVRvKHBvaW50LmN1cnJlbnRWYWx1ZSwgbGF5ZXIgPyB7IGxheWVyOiBsYXllci5jdXJyZW50VmFsdWUgfSA6IHt9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobGF5ZXIgJiYgIXBvaW50KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1Bhbm9yYW1hOiBZb3UgY2Fubm90IGNoYW5nZSB0aGUgbGF5ZXIgd2l0aG91dCBwb2ludCcpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IocmVtb3ZlTGVhZGluZ1NwYWNlcyhgXHJcbiAgICAgICAgVGhlIG9wdGlvbnMgb2YgUGFub3JhbWEgY2Fubm90IGJlIGNoYW5nZWQgYWZ0ZXIgZW50aXR5IGluaXQuXHJcblxyXG4gICAgICAgIFNvbHV0aW9uczpcclxuICAgICAgICAxLiBVc2UgeW1hcHMgZnJvbSBJTG9hZEV2ZW50XHJcbiAgICAgICAgMi4gUmVjcmVhdGUgUGFub3JhbWEgY29tcG9uZW50IHdpdGggbmV3IG9wdGlvbnNcclxuICAgICAgYCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9nRXJyb3JzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnBvaW50KSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1Bhbm9yYW1hOiBwb2ludCBpbnB1dCBpcyByZXF1aXJlZC4nKTtcclxuICAgICAgdGhpcy5wb2ludCA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHBhbm9yYW1hIHdpdGggcGxheWVyXHJcbiAgICogQHBhcmFtIHltYXBzXHJcbiAgICogQHBhcmFtIGlkIFVuaXF1ZSBpZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NyZWF0ZVBhbm9yYW1hKHltYXBzOiBhbnksIGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRhaW5lckVsZW06IEhUTUxFbGVtZW50ID0gdGhpcy5wYW5vcmFtYUNvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xyXG4gICAgY29udGFpbmVyRWxlbS5zZXRBdHRyaWJ1dGUoJ2lkJywgaWQpO1xyXG4gICAgY29udGFpbmVyRWxlbS5zdHlsZS5jc3NUZXh0ID0gJ3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7JztcclxuXHJcbiAgICB5bWFwcy5wYW5vcmFtYS5sb2NhdGUodGhpcy5wb2ludCwgeyBsYXllcjogdGhpcy5sYXllciB9KVxyXG4gICAgICAudGhlbigocGFub3JhbWE6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHBsYXllciA9IG5ldyB5bWFwcy5wYW5vcmFtYS5QbGF5ZXIoaWQsIHBhbm9yYW1hWzBdLCB0aGlzLm9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuX3BsYXllciA9IHBsYXllcjtcclxuXHJcbiAgICAgICAgdGhpcy5lbWl0RXZlbnRzKHltYXBzLCBwbGF5ZXIpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXQgZXZlbnRzXHJcbiAgICogQHBhcmFtIHltYXBzXHJcbiAgICogQHBhcmFtIHBsYXllciBQbGF5ZXIgaW5zdGFuY2VcclxuICAgKi9cclxuICBwdWJsaWMgZW1pdEV2ZW50cyh5bWFwczogYW55LCBwbGF5ZXI6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IHBsYXllciB9KTtcclxuXHJcbiAgICAvLyBEaXJlY3Rpb25cclxuICAgIHBsYXllci5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICAnZGlyZWN0aW9uY2hhbmdlJyxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmRpcmVjdGlvbi5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBwbGF5ZXIsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIEZ1bGxzY3JlZW5cclxuICAgIHBsYXllci5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2Z1bGxzY3JlZW5lbnRlcicsICdmdWxsc2NyZWVuZXhpdCddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuZnVsbHNjcmVlbi5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBwbGF5ZXIsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIE1hcmtlclxyXG4gICAgcGxheWVyLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnbWFya2VyY29sbGFwc2UnLCAnbWFya2VyZXhwYW5kJywgJ21hcmtlcm1vdXNlZW50ZXInLCAnbWFya2VybW91c2VsZWF2ZSddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMubWFya2VyLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IHBsYXllciwgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtcGFub3JhbWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL3Jvb3QvRGVza3RvcC9kZXYvYW5ndWxhci15YW5kZXgtbWFwcy9wcm9qZWN0cy9hbmd1bGFyOC15YW5kZXgtbWFwcy9zcmMvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy95YS1wYW5vcmFtYS95YS1wYW5vcmFtYS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1IsTUFBTSxlQUFlLENBQUM7QUFDekIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0Qzs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLG1CQUFtQjtJQXFDOUIsWUFBb0IsY0FBNkI7UUFBN0IsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFwQmpEOztXQUVHO1FBQ2MsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDdkQ7O1dBRUc7UUFDYyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUN4RDs7V0FFRztRQUNjLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pEOztXQUVHO1FBQ2MsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFLQSxDQUFDO0lBRS9DLFFBQVE7UUFDYixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUU7YUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FB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QixFQUFFLGdCQUFnQixDQUFDLEVBQ3JDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FDcEcsQ0FBQztRQUVKLFNBQVM7UUFDVCxNQUFNLENBQUMsTUFBTTthQUNWLEdBQUcsQ0FDRixDQUFDLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxFQUMxRSxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQ2hHLENBQUM7SUFDTixDQUFDOzs7WUEvSUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxhQUFhO2dCQUN2QixzQ0FBMkM7O2FBRTVDOzs7WUFaUSxhQUFhOzs7Z0NBY25CLFNBQVMsU0FBQyxXQUFXO29CQUtyQixLQUFLO29CQUlMLEtBQUs7c0JBS0wsS0FBSzttQkFLTCxNQUFNO3dCQUlOLE1BQU07eUJBSU4sTUFBTTtxQkFJTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGRcclxuICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBnZW5lcmF0ZVJhbmRvbUlkIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2VuZXJhdGVSYW5kb21JZCc7XHJcbmltcG9ydCB7IElFdmVudCwgSUxvYWRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RlbHMnO1xyXG5pbXBvcnQgeyByZW1vdmVMZWFkaW5nU3BhY2VzIH0gZnJvbSAnLi4vLi4vdXRpbHMvcmVtb3ZlTGVhZGluZ1NwYWNlcyc7XHJcbmltcG9ydCB7IFNjcmlwdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zY3JpcHQvc2NyaXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCBmb3IgY3JlYXRpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBwYW5vcmFtYSBwbGF5ZXJcclxuICogQGV4YW1wbGUgPHlhLXBhbm9yYW1hIFtwb2ludF09XCJbNTkuOTM4NTU3LCAzMC4zMTYxOThdXCIgbGF5ZXI9XCJ5YW5kZXgjYWlyUGFub3JhbWFcIj48L3lhLXBhbm9yYW1hPlxyXG4gKiBAc2VlIHtAbGluayBodHRwczovL2RkdWJyYXZhLmdpdGh1Yi5pby9hbmd1bGFyOC15YW5kZXgtbWFwcy8jL2NvbXBvbmVudHMvcGFub3JhbWF9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3lhLXBhbm9yYW1hJyxcclxuICB0ZW1wbGF0ZVVybDogJy4veWEtcGFub3JhbWEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3lhLXBhbm9yYW1hLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFlhUGFub3JhbWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgcHVibGljIHBhbm9yYW1hQ29udGFpbmVyOiBFbGVtZW50UmVmO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgcG9pbnQgZm9yIHNlYXJjaGluZyBmb3IgbmVhcmJ5IHBhbm9yYW1hc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBwb2ludDogQXJyYXk8bnVtYmVyPjtcclxuICAvKipcclxuICAgKiBUaGUgbGF5ZXIgdG8gc2VhcmNoIGZvciBwYW5vcmFtYXNcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbGF5ZXI6IHN0cmluZztcclxuICAvKipcclxuICAgKiBPcHRpb25zIGZvciB0aGUgcGxheWVyXHJcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90ZWNoLnlhbmRleC5jb20vbWFwcy9qc2FwaS9kb2MvMi4xL3JlZi9yZWZlcmVuY2UvcGFub3JhbWEuUGxheWVyLWRvY3BhZ2UvI3Bhbm9yYW1hLlBsYXllcl9fcGFyYW0tb3B0aW9uc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgb3B0aW9uczogYW55O1xyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBpbW1lZGlhdGVseSBhZnRlciB0aGlzIGVudGl0eSBpcyBhZGRlZCBpbiByb290IGNvbnRhaW5lclxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8SUxvYWRFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBUaGUgdmlldyBkaXJlY3Rpb24gY2hhbmdlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZGlyZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogVGhlIHBhbm9yYW1hIHBsYXllciBzY3JlZW4gbW9kZSBpcyBzd2l0Y2hlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZnVsbHNjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEFjdGlvbnMgd2l0aCBtYXJrZXJcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIG1hcmtlciA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG5cclxuICAvLyBZYW5kZXguTWFwcyBBUElcclxuICBwcml2YXRlIF9wbGF5ZXI6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2NyaXB0U2VydmljZTogU2NyaXB0U2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xyXG5cclxuICAgIHRoaXMuX3NjcmlwdFNlcnZpY2UuaW5pdFNjcmlwdCgpXHJcbiAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHltYXBzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLl9jcmVhdGVQYW5vcmFtYSh5bWFwcywgZ2VuZXJhdGVSYW5kb21JZCgpKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29uZmlnUGFub3JhbWEoY2hhbmdlcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2QgZm9yIGR5bmFtaWMgZW50aXR5IGNvbmZpZ3VyYXRpb24uXHJcbiAgICogSGFuZGxlcyBpbnB1dCBjaGFuZ2VzIGFuZCBwcm92aWRlcyBpdCB0byBBUEkuXHJcbiAgICogQHBhcmFtIGNoYW5nZXNcclxuICAgKi9cclxuICBwcml2YXRlIF9jb25maWdQYW5vcmFtYShjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBwbGF5ZXIgPSB0aGlzLl9wbGF5ZXI7XHJcblxyXG4gICAgaWYgKCFwbGF5ZXIpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IHBvaW50LCBsYXllciwgb3B0aW9ucyB9ID0gY2hhbmdlcztcclxuXHJcbiAgICBpZiAocG9pbnQpIHtcclxuICAgICAgcGxheWVyLm1vdmVUbyhwb2ludC5jdXJyZW50VmFsdWUsIGxheWVyID8geyBsYXllcjogbGF5ZXIuY3VycmVudFZhbHVlIH0gOiB7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGxheWVyICYmICFwb2ludCkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdQYW5vcmFtYTogWW91IGNhbm5vdCBjaGFuZ2UgdGhlIGxheWVyIHdpdGhvdXQgcG9pbnQnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zb2xlLmVycm9yKHJlbW92ZUxlYWRpbmdTcGFjZXMoYFxyXG4gICAgICAgIFRoZSBvcHRpb25zIG9mIFBhbm9yYW1hIGNhbm5vdCBiZSBjaGFuZ2VkIGFmdGVyIGVudGl0eSBpbml0LlxyXG5cclxuICAgICAgICBTb2x1dGlvbnM6XHJcbiAgICAgICAgMS4gVXNlIHltYXBzIGZyb20gSUxvYWRFdmVudFxyXG4gICAgICAgIDIuIFJlY3JlYXRlIFBhbm9yYW1hIGNvbXBvbmVudCB3aXRoIG5ldyBvcHRpb25zXHJcbiAgICAgIGApKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5wb2ludCkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdQYW5vcmFtYTogcG9pbnQgaW5wdXQgaXMgcmVxdWlyZWQuJyk7XHJcbiAgICAgIHRoaXMucG9pbnQgPSBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZSBwYW5vcmFtYSB3aXRoIHBsYXllclxyXG4gICAqIEBwYXJhbSB5bWFwc1xyXG4gICAqIEBwYXJhbSBpZCBVbmlxdWUgaWRcclxuICAgKi9cclxuICBwcml2YXRlIF9jcmVhdGVQYW5vcmFtYSh5bWFwczogYW55LCBpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb250YWluZXJFbGVtOiBIVE1MRWxlbWVudCA9IHRoaXMucGFub3JhbWFDb250YWluZXIubmF0aXZlRWxlbWVudDtcclxuICAgIGNvbnRhaW5lckVsZW0uc2V0QXR0cmlidXRlKCdpZCcsIGlkKTtcclxuICAgIGNvbnRhaW5lckVsZW0uc3R5bGUuY3NzVGV4dCA9ICd3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyc7XHJcblxyXG4gICAgeW1hcHMucGFub3JhbWEubG9jYXRlKHRoaXMucG9pbnQsIHsgbGF5ZXI6IHRoaXMubGF5ZXIgfSlcclxuICAgICAgLnRoZW4oKHBhbm9yYW1hOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBwbGF5ZXIgPSBuZXcgeW1hcHMucGFub3JhbWEuUGxheWVyKGlkLCBwYW5vcmFtYVswXSwgdGhpcy5vcHRpb25zKTtcclxuICAgICAgICB0aGlzLl9wbGF5ZXIgPSBwbGF5ZXI7XHJcblxyXG4gICAgICAgIHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKHltYXBzLCBwbGF5ZXIpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBsaXN0ZW5lcnMgb24gcGFub3JhbWEgZXZlbnRzXHJcbiAgICogQHBhcmFtIHltYXBzXHJcbiAgICogQHBhcmFtIHBsYXllclxyXG4gICAqL1xyXG4gIHB1YmxpYyBfYWRkRXZlbnRMaXN0ZW5lcnMoeW1hcHM6IGFueSwgcGxheWVyOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZC5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBwbGF5ZXIgfSk7XHJcblxyXG4gICAgLy8gRGlyZWN0aW9uXHJcbiAgICBwbGF5ZXIuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgJ2RpcmVjdGlvbmNoYW5nZScsXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5kaXJlY3Rpb24uZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogcGxheWVyLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBGdWxsc2NyZWVuXHJcbiAgICBwbGF5ZXIuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydmdWxsc2NyZWVuZW50ZXInLCAnZnVsbHNjcmVlbmV4aXQnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmZ1bGxzY3JlZW4uZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogcGxheWVyLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBNYXJrZXJcclxuICAgIHBsYXllci5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ21hcmtlcmNvbGxhcHNlJywgJ21hcmtlcmV4cGFuZCcsICdtYXJrZXJtb3VzZWVudGVyJywgJ21hcmtlcm1vdXNlbGVhdmUnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLm1hcmtlci5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBwbGF5ZXIsIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=

@@ -51,3 +51,3 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';

_configPlacemark(changes) {
const placemark = this.placemark;
const placemark = this._placemark;
if (!placemark)

@@ -72,9 +72,19 @@ return;

}
initPlacemark(ymaps, map) {
/**
* Inits placemark
* @param ymaps
* @param map
* @param clusterer We need this to control removing entity from Clusterer on Placemark destroy
* `this._clusterer.remove(this.placemark)`;
*
* @returns Placemark
*/
initPlacemark(ymaps, map, clusterer) {
const placemark = new ymaps.Placemark(this.geometry, this.properties, this.options);
this.id = generateRandomId();
this._clusterer = clusterer;
this._map = map;
this.placemark = placemark;
this._placemark = placemark;
map.geoObjects.add(placemark);
this._emitEvents(ymaps, placemark);
this._addEventListeners(ymaps, placemark);
return placemark;

@@ -87,3 +97,3 @@ }

*/
_emitEvents(ymaps, placemark) {
_addEventListeners(ymaps, placemark) {
this.load.emit({ ymaps, instance: placemark });

@@ -110,3 +120,5 @@ // Baloon

ngOnDestroy() {
this._map.geoObjects.remove(this.placemark);
var _a;
(_a = this._clusterer) === null || _a === void 0 ? void 0 : _a.remove(this._placemark);
this._map.geoObjects.remove(this._placemark);
}

@@ -134,2 +146,2 @@ }

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtcGxhY2VtYXJrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9yb290L0Rlc2t0b3AvZGV2L2FuZ3VsYXIteWFuZGV4LW1hcHMvcHJvamVjdHMvYW5ndWxhcjgteWFuZGV4LW1hcHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveWEtcGxhY2VtYXJrL3lhLXBsYWNlbWFyay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTCxNQUFNLGVBQWUsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdoRTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLG9CQUFvQjtJQW1EL0I7UUFuQ0E7O1dBRUc7UUFDYyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUN2RDs7V0FFRztRQUNjLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3JEOztXQUVHO1FBQ2MsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdEQ7O1dBRUc7UUFDYyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRDs7V0FFRztRQUNjLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ25EOztXQUVHO1FBQ2MsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDcEQ7O1dBRUc7UUFDYyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQVExQyxDQUFDO0lBRVQsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLE9BQXNCO1FBQzdD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NEM7O2FBRTdDOzs7O3VCQUtFLEtBQUs7eUJBS0wsS0FBSztzQkFLTCxLQUFLO21CQUtMLE1BQU07cUJBSU4sTUFBTTtzQkFJTixNQUFNO21CQUlOLE1BQU07bUJBSU4sTUFBTTtvQkFJTixNQUFNO3lCQUlOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXNcclxuICB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBnZW5lcmF0ZVJhbmRvbUlkIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2VuZXJhdGVSYW5kb21JZCc7XHJcbmltcG9ydCB7IElFdmVudCwgSUxvYWRFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RlbHMnO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudCwgZ2VvIG9iamVjdCB3aXRoIHRoZSBnZW9tZXRyeSBnZW9tZXRyeS5Qb2ludFxyXG4gKiBAZXhhbXBsZSA8eWEtcGxhY2VtYXJrIFtnZW9tZXRyeV09XCJbNTUuNzUxOTUyLCAzNy42MDA3MzldXCI+PC95YS1wbGFjZW1hcms+XHJcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZGR1YnJhdmEuZ2l0aHViLmlvL2FuZ3VsYXI4LXlhbmRleC1tYXBzLyMvY29tcG9uZW50cy9wbGFjZW1hcmt9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3lhLXBsYWNlbWFyaycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3lhLXBsYWNlbWFyay5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4veWEtcGxhY2VtYXJrLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFlhUGxhY2VtYXJrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogQ29vcmRpbmF0ZXMgb2YgdGhlIHBsYWNlbWFyaywgb3IgYSBoYXNoIGRlc2NyaWJpbmcgdGhlIGdlb21ldHJ5LCBvciBhIHJlZmVyZW5jZSB0byB0aGUgcG9pbnQgZ2VvbWV0cnkgb2JqZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGdlb21ldHJ5OiBhbnk7XHJcbiAgLyoqXHJcbiAgICogUHJvcGVydGllcyBmb3IgdGhlIHBsYWNlbWFya1xyXG4gICAqIEBzZWUge0BsaW5rIGh0dHBzOi8vdGVjaC55YW5kZXgucnUvbWFwcy9qc2FwaS9kb2MvMi4xL3JlZi9yZWZlcmVuY2UvUGxhY2VtYXJrLWRvY3BhZ2UvI1BsYWNlbWFya19fcGFyYW0tcHJvcGVydGllc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgcHJvcGVydGllczogYW55O1xyXG4gIC8qKlxyXG4gICAqIE9wdGlvbnMgZm9yIHRoZSBwbGFjZW1hcmtcclxuICAgKiBAc2VlIHtAbGluayBodHRwczovL3RlY2gueWFuZGV4LnJ1L21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL1BsYWNlbWFyay1kb2NwYWdlLyNQbGFjZW1hcmtfX3BhcmFtLW9wdGlvbnN9XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhpcyBlbnRpdHkgaXMgYWRkZWQgaW4gcm9vdCBjb250YWluZXJcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPElMb2FkRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQWN0aW9ucyB3aXRoIGJhbGxvblxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgYmFsb29uID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQ2xpY2tzIG9uIHRoZSBvYmplY3RcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIHlhY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBQbGFjZW1hcmsgZHJhZ2dpbmdcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGRyYWcgPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBBY3Rpb24gd2l0aCBoaW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBoaW50ID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogTW91c2UgYWN0aW9ucyBvdmVyIHRoZSBvYmplY3RcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIG1vdXNlID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogTXVsdGl0b3VjaCBhY3Rpb25zIG92ZXIgdGhlIG9iamVjdFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbXVsdGl0b3VjaCA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG5cclxuICBwdWJsaWMgaWQ6IHN0cmluZztcclxuXHJcbiAgLy8gWWFuZGV4Lk1hcHMgQVBJXHJcbiAgcHJpdmF0ZSBfbWFwOiBhbnk7XHJcbiAgcHVibGljIHBsYWNlbWFyazogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbmZpZ1BsYWNlbWFyayhjaGFuZ2VzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBmb3IgZHluYW1pYyBlbnRpdHkgY29uZmlndXJhdGlvbi5cclxuICAgKiBIYW5kbGVzIGlucHV0IGNoYW5nZXMgYW5kIHByb3ZpZGVzIGl0IHRvIEFQSS5cclxuICAgKiBAcGFyYW0gY2hhbmdlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ1BsYWNlbWFyayhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBwbGFjZW1hcmsgPSB0aGlzLnBsYWNlbWFyaztcclxuXHJcbiAgICBpZiAoIXBsYWNlbWFyaykgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHsgZ2VvbWV0cnksIHByb3BlcnRpZXMsIG9wdGlvbnMgfSA9IGNoYW5nZXM7XHJcblxyXG4gICAgaWYgKGdlb21ldHJ5KSB7XHJcbiAgICAgIHBsYWNlbWFyay5nZW9tZXRyeS5zZXRDb29yZGluYXRlcyhnZW9tZXRyeS5jdXJyZW50VmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwcm9wZXJ0aWVzKSB7XHJcbiAgICAgIHBsYWNlbWFyay5wcm9wZXJ0aWVzLnNldChwcm9wZXJ0aWVzLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgcGxhY2VtYXJrLm9wdGlvbnMuc2V0KG9wdGlvbnMuY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvZ0Vycm9ycygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5nZW9tZXRyeSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdQbGFjZW1hcms6IGdlb21ldHJ5IGlucHV0IGlzIHJlcXVpcmVkLicpO1xyXG4gICAgICB0aGlzLmdlb21ldHJ5ID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdFBsYWNlbWFyayh5bWFwczogYW55LCBtYXA6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBwbGFjZW1hcmsgPSBuZXcgeW1hcHMuUGxhY2VtYXJrKHRoaXMuZ2VvbWV0cnksIHRoaXMucHJvcGVydGllcywgdGhpcy5vcHRpb25zKTtcclxuXHJcbiAgICB0aGlzLmlkID0gZ2VuZXJhdGVSYW5kb21JZCgpO1xyXG4gICAgdGhpcy5fbWFwID0gbWFwO1xyXG4gICAgdGhpcy5wbGFjZW1hcmsgPSBwbGFjZW1hcms7XHJcblxyXG4gICAgbWFwLmdlb09iamVjdHMuYWRkKHBsYWNlbWFyayk7XHJcbiAgICB0aGlzLl9lbWl0RXZlbnRzKHltYXBzLCBwbGFjZW1hcmspO1xyXG5cclxuICAgIHJldHVybiBwbGFjZW1hcms7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbGlzdGVuZXJzIG9uIHBsYWNlbWFyayBldmVudHNcclxuICAgKiBAcGFyYW0geW1hcHNcclxuICAgKiBAcGFyYW0gbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZW1pdEV2ZW50cyh5bWFwczogYW55LCBwbGFjZW1hcms6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IHBsYWNlbWFyayB9KTtcclxuXHJcbiAgICAvLyBCYWxvb25cclxuICAgIHBsYWNlbWFyay5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2JhbGxvb25vcGVuJywgJ2JhbGxvb25jbG9zZSddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMuYmFsb29uLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IHBsYWNlbWFyaywgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gQ2xpY2tcclxuICAgIHBsYWNlbWFyay5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2NsaWNrJywgJ2RibGNsaWNrJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy55YWNsaWNrLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IHBsYWNlbWFyaywgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gRHJhZ1xyXG4gICAgcGxhY2VtYXJrLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnZHJhZ3N0YXJ0JywgJ2RyYWdlbmQnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmRyYWcuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogcGxhY2VtYXJrLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBIaW50XHJcbiAgICBwbGFjZW1hcmsuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydoaW50b3BlbicsICdoaW50Y2xvc2UnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmhpbnQuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogcGxhY2VtYXJrLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBNb3VzZVxyXG4gICAgcGxhY2VtYXJrLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnbW91c2Vkb3duJywgJ21vdXNlZW50ZXInLCAnbW91c2VsZWF2ZScsICdtb3VzZW1vdmUnLCAnbW91c2V1cCddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMubW91c2UuZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogcGxhY2VtYXJrLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuXHJcbiAgICAvLyBNdWx0aXRvdWNoXHJcbiAgICBwbGFjZW1hcmsuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydtdWx0aXRvdWNoc3RhcnQnLCAnbXVsdGl0b3VjaG1vdmUnLCAnbXVsdGl0b3VjaGVuZCddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMubXVsdGl0b3VjaC5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBwbGFjZW1hcmssIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbWFwLmdlb09iamVjdHMucmVtb3ZlKHRoaXMucGxhY2VtYXJrKTtcclxuICB9XHJcbn1cclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWEtcGxhY2VtYXJrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9yb290L0Rlc2t0b3AvZGV2L2FuZ3VsYXIteWFuZGV4LW1hcHMvcHJvamVjdHMvYW5ndWxhcjgteWFuZGV4LW1hcHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveWEtcGxhY2VtYXJrL3lhLXBsYWNlbWFyay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTCxNQUFNLGVBQWUsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdoRTs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLG9CQUFvQjtJQW9EL0I7UUFwQ0E7O1dBRUc7UUFDYyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUN2RDs7V0FFRztRQUNjLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3JEOztXQUVHO1FBQ2MsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdEQ7O1dBRUc7UUFDYyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRDs7V0FFRztRQUNjLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ25EOztXQUVHO1FBQ2MsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDcEQ7O1dBRUc7UUFDYyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQVMxQyxDQUFDO0lBRVQsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLE9BQXNCO1FBQzdD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QUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OztZQWhMRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFlBQTRDOzthQUU3Qzs7Ozt1QkFLRSxLQUFLO3lCQUtMLEtBQUs7c0JBS0wsS0FBSzttQkFLTCxNQUFNO3FCQUlOLE1BQU07c0JBSU4sTUFBTTttQkFJTixNQUFNO21CQUlOLE1BQU07b0JBSU4sTUFBTTt5QkFJTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbiAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZ2VuZXJhdGVSYW5kb21JZCB9IGZyb20gJy4uLy4uL3V0aWxzL2dlbmVyYXRlUmFuZG9tSWQnO1xyXG5pbXBvcnQgeyBJRXZlbnQsIElMb2FkRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbW9kZWxzJztcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnQsIGdlbyBvYmplY3Qgd2l0aCB0aGUgZ2VvbWV0cnkgZ2VvbWV0cnkuUG9pbnRcclxuICogQGV4YW1wbGUgPHlhLXBsYWNlbWFyayBbZ2VvbWV0cnldPVwiWzU1Ljc1MTk1MiwgMzcuNjAwNzM5XVwiPjwveWEtcGxhY2VtYXJrPlxyXG4gKiBAc2VlIHtAbGluayBodHRwczovL2RkdWJyYXZhLmdpdGh1Yi5pby9hbmd1bGFyOC15YW5kZXgtbWFwcy8jL2NvbXBvbmVudHMvcGxhY2VtYXJrfVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd5YS1wbGFjZW1hcmsnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi95YS1wbGFjZW1hcmsuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3lhLXBsYWNlbWFyay5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZYVBsYWNlbWFya0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIC8qKlxyXG4gICAqIENvb3JkaW5hdGVzIG9mIHRoZSBwbGFjZW1hcmssIG9yIGEgaGFzaCBkZXNjcmliaW5nIHRoZSBnZW9tZXRyeSwgb3IgYSByZWZlcmVuY2UgdG8gdGhlIHBvaW50IGdlb21ldHJ5IG9iamVjdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBnZW9tZXRyeTogYW55O1xyXG4gIC8qKlxyXG4gICAqIFByb3BlcnRpZXMgZm9yIHRoZSBwbGFjZW1hcmtcclxuICAgKiBAc2VlIHtAbGluayBodHRwczovL3RlY2gueWFuZGV4LnJ1L21hcHMvanNhcGkvZG9jLzIuMS9yZWYvcmVmZXJlbmNlL1BsYWNlbWFyay1kb2NwYWdlLyNQbGFjZW1hcmtfX3BhcmFtLXByb3BlcnRpZXN9XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIHByb3BlcnRpZXM6IGFueTtcclxuICAvKipcclxuICAgKiBPcHRpb25zIGZvciB0aGUgcGxhY2VtYXJrXHJcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90ZWNoLnlhbmRleC5ydS9tYXBzL2pzYXBpL2RvYy8yLjEvcmVmL3JlZmVyZW5jZS9QbGFjZW1hcmstZG9jcGFnZS8jUGxhY2VtYXJrX19wYXJhbS1vcHRpb25zfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25zOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGltbWVkaWF0ZWx5IGFmdGVyIHRoaXMgZW50aXR5IGlzIGFkZGVkIGluIHJvb3QgY29udGFpbmVyXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxJTG9hZEV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEFjdGlvbnMgd2l0aCBiYWxsb25cclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIGJhbG9vbiA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIENsaWNrcyBvbiB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyB5YWNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogUGxhY2VtYXJrIGRyYWdnaW5nXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBkcmFnID0gbmV3IEV2ZW50RW1pdHRlcjxJRXZlbnQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQWN0aW9uIHdpdGggaGludFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgaGludCA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIE1vdXNlIGFjdGlvbnMgb3ZlciB0aGUgb2JqZWN0XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb3VzZSA9IG5ldyBFdmVudEVtaXR0ZXI8SUV2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIE11bHRpdG91Y2ggYWN0aW9ucyBvdmVyIHRoZSBvYmplY3RcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcHVibGljIG11bHRpdG91Y2ggPSBuZXcgRXZlbnRFbWl0dGVyPElFdmVudD4oKTtcclxuXHJcbiAgcHVibGljIGlkOiBzdHJpbmc7XHJcblxyXG4gIC8vIFlhbmRleC5NYXBzIEFQSVxyXG4gIHByaXZhdGUgX2NsdXN0ZXJlcjogYW55O1xyXG4gIHByaXZhdGUgX21hcDogYW55O1xyXG4gIHByaXZhdGUgX3BsYWNlbWFyazogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2xvZ0Vycm9ycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbmZpZ1BsYWNlbWFyayhjaGFuZ2VzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZCBmb3IgZHluYW1pYyBlbnRpdHkgY29uZmlndXJhdGlvbi5cclxuICAgKiBIYW5kbGVzIGlucHV0IGNoYW5nZXMgYW5kIHByb3ZpZGVzIGl0IHRvIEFQSS5cclxuICAgKiBAcGFyYW0gY2hhbmdlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbmZpZ1BsYWNlbWFyayhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBwbGFjZW1hcmsgPSB0aGlzLl9wbGFjZW1hcms7XHJcblxyXG4gICAgaWYgKCFwbGFjZW1hcmspIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB7IGdlb21ldHJ5LCBwcm9wZXJ0aWVzLCBvcHRpb25zIH0gPSBjaGFuZ2VzO1xyXG5cclxuICAgIGlmIChnZW9tZXRyeSkge1xyXG4gICAgICBwbGFjZW1hcmsuZ2VvbWV0cnkuc2V0Q29vcmRpbmF0ZXMoZ2VvbWV0cnkuY3VycmVudFZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocHJvcGVydGllcykge1xyXG4gICAgICBwbGFjZW1hcmsucHJvcGVydGllcy5zZXQocHJvcGVydGllcy5jdXJyZW50VmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIHBsYWNlbWFyay5vcHRpb25zLnNldChvcHRpb25zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2dFcnJvcnMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZ2VvbWV0cnkpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignUGxhY2VtYXJrOiBnZW9tZXRyeSBpbnB1dCBpcyByZXF1aXJlZC4nKTtcclxuICAgICAgdGhpcy5nZW9tZXRyeSA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdHMgcGxhY2VtYXJrXHJcbiAgICogQHBhcmFtIHltYXBzXHJcbiAgICogQHBhcmFtIG1hcFxyXG4gICAqIEBwYXJhbSBjbHVzdGVyZXIgV2UgbmVlZCB0aGlzIHRvIGNvbnRyb2wgcmVtb3ZpbmcgZW50aXR5IGZyb20gQ2x1c3RlcmVyIG9uIFBsYWNlbWFyayBkZXN0cm95XHJcbiAgICogYHRoaXMuX2NsdXN0ZXJlci5yZW1vdmUodGhpcy5wbGFjZW1hcmspYDtcclxuICAgKlxyXG4gICAqIEByZXR1cm5zIFBsYWNlbWFya1xyXG4gICAqL1xyXG4gIHB1YmxpYyBpbml0UGxhY2VtYXJrKHltYXBzOiBhbnksIG1hcDogYW55LCBjbHVzdGVyZXI/OiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgcGxhY2VtYXJrID0gbmV3IHltYXBzLlBsYWNlbWFyayh0aGlzLmdlb21ldHJ5LCB0aGlzLnByb3BlcnRpZXMsIHRoaXMub3B0aW9ucyk7XHJcbiAgICB0aGlzLmlkID0gZ2VuZXJhdGVSYW5kb21JZCgpO1xyXG5cclxuICAgIHRoaXMuX2NsdXN0ZXJlciA9IGNsdXN0ZXJlcjtcclxuICAgIHRoaXMuX21hcCA9IG1hcDtcclxuICAgIHRoaXMuX3BsYWNlbWFyayA9IHBsYWNlbWFyaztcclxuXHJcbiAgICBtYXAuZ2VvT2JqZWN0cy5hZGQocGxhY2VtYXJrKTtcclxuICAgIHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKHltYXBzLCBwbGFjZW1hcmspO1xyXG5cclxuICAgIHJldHVybiBwbGFjZW1hcms7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgbGlzdGVuZXJzIG9uIHBsYWNlbWFyayBldmVudHNcclxuICAgKiBAcGFyYW0geW1hcHNcclxuICAgKiBAcGFyYW0gbWFwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfYWRkRXZlbnRMaXN0ZW5lcnMoeW1hcHM6IGFueSwgcGxhY2VtYXJrOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZC5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBwbGFjZW1hcmsgfSk7XHJcblxyXG4gICAgLy8gQmFsb29uXHJcbiAgICBwbGFjZW1hcmsuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydiYWxsb29ub3BlbicsICdiYWxsb29uY2xvc2UnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLmJhbG9vbi5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBwbGFjZW1hcmssIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIENsaWNrXHJcbiAgICBwbGFjZW1hcmsuZXZlbnRzXHJcbiAgICAgIC5hZGQoXHJcbiAgICAgICAgWydjbGljaycsICdkYmxjbGljayddLFxyXG4gICAgICAgIChlOiBhbnkpID0+IHRoaXMueWFjbGljay5lbWl0KHsgeW1hcHMsIGluc3RhbmNlOiBwbGFjZW1hcmssIHR5cGU6IGUub3JpZ2luYWxFdmVudC50eXBlLCBldmVudDogZSB9KVxyXG4gICAgICApO1xyXG5cclxuICAgIC8vIERyYWdcclxuICAgIHBsYWNlbWFyay5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ2RyYWdzdGFydCcsICdkcmFnZW5kJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5kcmFnLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IHBsYWNlbWFyaywgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gSGludFxyXG4gICAgcGxhY2VtYXJrLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnaGludG9wZW4nLCAnaGludGNsb3NlJ10sXHJcbiAgICAgICAgKGU6IGFueSkgPT4gdGhpcy5oaW50LmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IHBsYWNlbWFyaywgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gTW91c2VcclxuICAgIHBsYWNlbWFyay5ldmVudHNcclxuICAgICAgLmFkZChcclxuICAgICAgICBbJ21vdXNlZG93bicsICdtb3VzZWVudGVyJywgJ21vdXNlbGVhdmUnLCAnbW91c2Vtb3ZlJywgJ21vdXNldXAnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLm1vdXNlLmVtaXQoeyB5bWFwcywgaW5zdGFuY2U6IHBsYWNlbWFyaywgdHlwZTogZS5vcmlnaW5hbEV2ZW50LnR5cGUsIGV2ZW50OiBlIH0pXHJcbiAgICAgICk7XHJcblxyXG4gICAgLy8gTXVsdGl0b3VjaFxyXG4gICAgcGxhY2VtYXJrLmV2ZW50c1xyXG4gICAgICAuYWRkKFxyXG4gICAgICAgIFsnbXVsdGl0b3VjaHN0YXJ0JywgJ211bHRpdG91Y2htb3ZlJywgJ211bHRpdG91Y2hlbmQnXSxcclxuICAgICAgICAoZTogYW55KSA9PiB0aGlzLm11bHRpdG91Y2guZW1pdCh7IHltYXBzLCBpbnN0YW5jZTogcGxhY2VtYXJrLCB0eXBlOiBlLm9yaWdpbmFsRXZlbnQudHlwZSwgZXZlbnQ6IGUgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NsdXN0ZXJlcj8ucmVtb3ZlKHRoaXMuX3BsYWNlbWFyayk7XHJcbiAgICB0aGlzLl9tYXAuZ2VvT2JqZWN0cy5yZW1vdmUodGhpcy5fcGxhY2VtYXJrKTtcclxuICB9XHJcbn1cclxuIl19
import { DOCUMENT, CommonModule } from '@angular/common';
import { InjectionToken, EventEmitter, Component, Input, Output, ContentChildren, ɵɵdefineInjectable, ɵɵinject, Injectable, Optional, Inject, ViewChild, NgModule } from '@angular/core';
import { from, fromEvent, Subscription } from 'rxjs';
import { map, switchMap, take, startWith } from 'rxjs/operators';
import { startWith, map, switchMap, take } from 'rxjs/operators';
import { Subscription, from, fromEvent } from 'rxjs';

@@ -109,17 +109,27 @@ const YA_MAP_CONFIG = new InjectionToken('YA_MAP_CONFIG');

}
initGeoObject(ymaps, map) {
/**
* Inits GeoObject
* @param ymaps
* @param map
* @param clusterer We need this to control removing entity from Clusterer on Placemark destroy
* `this._clusterer.remove(this._geoObject)`;
*
* @returns GeoObject
*/
initGeoObject(ymaps, map, clusterer) {
const geoObject = new ymaps.GeoObject(this.feature, this.options);
this.id = generateRandomId();
this._clusterer = clusterer;
this._geoObject = geoObject;
this._map = map;
this._geoObject = geoObject;
map.geoObjects.add(geoObject);
this._emitEvents(ymaps, geoObject);
this._addEventListeners(ymaps, geoObject);
return geoObject;
}
/**
* Add listeners on placemark events
* Add listeners on geoObject events
* @param ymaps
* @param map
* @param geoObject
*/
_emitEvents(ymaps, geoObject) {
_addEventListeners(ymaps, geoObject) {
this.load.emit({ ymaps, instance: geoObject });

@@ -146,2 +156,4 @@ // Baloon

ngOnDestroy() {
var _a;
(_a = this._clusterer) === null || _a === void 0 ? void 0 : _a.remove(this._geoObject);
this._map.geoObjects.remove(this._geoObject);

@@ -218,3 +230,3 @@ }

_configPlacemark(changes) {
const placemark = this.placemark;
const placemark = this._placemark;
if (!placemark)

@@ -239,9 +251,19 @@ return;

}
initPlacemark(ymaps, map) {
/**
* Inits placemark
* @param ymaps
* @param map
* @param clusterer We need this to control removing entity from Clusterer on Placemark destroy
* `this._clusterer.remove(this.placemark)`;
*
* @returns Placemark
*/
initPlacemark(ymaps, map, clusterer) {
const placemark = new ymaps.Placemark(this.geometry, this.properties, this.options);
this.id = generateRandomId();
this._clusterer = clusterer;
this._map = map;
this.placemark = placemark;
this._placemark = placemark;
map.geoObjects.add(placemark);
this._emitEvents(ymaps, placemark);
this._addEventListeners(ymaps, placemark);
return placemark;

@@ -254,3 +276,3 @@ }

*/
_emitEvents(ymaps, placemark) {
_addEventListeners(ymaps, placemark) {
this.load.emit({ ymaps, instance: placemark });

@@ -277,3 +299,5 @@ // Baloon

ngOnDestroy() {
this._map.geoObjects.remove(this.placemark);
var _a;
(_a = this._clusterer) === null || _a === void 0 ? void 0 : _a.remove(this._placemark);
this._map.geoObjects.remove(this._placemark);
}

@@ -304,4 +328,3 @@ }

* Component, geo object clusterer. Clusterizes objects in the visible area of the map.
* If the object does not fall within the visible area of the map,
* it will not be added to the map.
* If the object does not fall within the visible area of the map, it will not be added to the map.
* Note, that the clusterer does not react to changing the coordinates of objects (either programmatically,

@@ -340,2 +363,3 @@ * or as the result of dragging). If you want to change the coordinates of some object in the clusterer,

this.parentChange = new EventEmitter();
this._sub = new Subscription();
}

@@ -362,10 +386,30 @@ ngOnChanges(changes) {

this._clusterer = clusterer;
this.placemarks.forEach((p) => {
clusterer.add(p.initPlacemark(ymaps, map));
/**
* Adds new Placemarks to clusterer on changes
*/
const placemarksSub = this.placemarks.changes
.pipe(startWith(this.placemarks))
.subscribe((list) => {
list.forEach((placemark) => {
if (!placemark.id) {
clusterer.add(placemark.initPlacemark(ymaps, map, clusterer));
}
});
});
this.geoObjects.forEach((o) => {
clusterer.add(o.initGeoObject(ymaps, map));
this._sub.add(placemarksSub);
/**
* Adds new GeoObjects to clusterer on changes
*/
const geoObjectsSub = this.geoObjects.changes
.pipe(startWith(this.geoObjects))
.subscribe((list) => {
list.forEach((geoObject) => {
if (!geoObject.id) {
clusterer.add(geoObject.initGeoObject(ymaps, map, clusterer));
}
});
});
this._sub.add(geoObjectsSub);
map.geoObjects.add(clusterer);
this._emitEvents(ymaps, clusterer);
this._addEventListeners(ymaps, clusterer);
}

@@ -377,3 +421,3 @@ /**

*/
_emitEvents(ymaps, clusterer) {
_addEventListeners(ymaps, clusterer) {
this.load.emit({ ymaps, instance: clusterer });

@@ -393,2 +437,5 @@ // Hint

}
ngOnDestroy() {
this._sub.unsubscribe();
}
}

@@ -621,10 +668,10 @@ YaClustererComponent.decorators = [

map.geoObjects.add(multiroute);
this._emitEvents(ymaps, multiroute);
this._addEventListeners(ymaps, multiroute);
}
/**
* Add listeners on placemark events
* Add listeners on multiroute events
* @param ymaps
* @param map
*/
_emitEvents(ymaps, multiroute) {
_addEventListeners(ymaps, multiroute) {
this.load.emit({ ymaps, instance: multiroute });

@@ -736,3 +783,3 @@ // Activeroutechange

// Events
this._emitEvents(ymaps, map);
this._addEventListeners(ymaps, map);
// Objects

@@ -812,3 +859,4 @@ this._initObjects(ymaps, map);

/**
* Add new objects on ContentChildren changes
* Provides ContentChildren components to API.
* Subscribes on ContentChildren changes to provide them to API.
* @param ymaps

@@ -818,3 +866,3 @@ * @param map

_initObjects(ymaps, map) {
// Placemarks
// Placemarks (async)
const placemarksSub = this.placemarks.changes

@@ -829,3 +877,4 @@ .pipe(startWith(this.placemarks))

});
// Multiroutes
this._sub.add(placemarksSub);
// Multiroutes (async)
const multiroutesSub = this.multiroutes.changes

@@ -840,3 +889,4 @@ .pipe(startWith(this.multiroutes))

});
// GeoObjects
this._sub.add(multiroutesSub);
// GeoObjects (async)
const geoObjectsSub = this.geoObjects.changes

@@ -851,13 +901,11 @@ .pipe(startWith(this.geoObjects))

});
// Controls
this._sub.add(geoObjectsSub);
// Controls (not async)
this.controls.forEach((control) => {
control.initControl(ymaps, map);
});
// Clusterers
// Clusterers (not async)
this.clusterers.forEach((clusterer) => {
clusterer.initClusterer(ymaps, map);
});
this._sub.add(placemarksSub);
this._sub.add(multiroutesSub);
this._sub.add(geoObjectsSub);
}

@@ -869,3 +917,3 @@ /**

*/
_emitEvents(ymaps, map) {
_addEventListeners(ymaps, map) {
this.load.emit({ ymaps, instance: map });

@@ -1007,11 +1055,11 @@ // Action

this._player = player;
this.emitEvents(ymaps, player);
this._addEventListeners(ymaps, player);
});
}
/**
* Emit events
* Add listeners on panorama events
* @param ymaps
* @param player Player instance
* @param player
*/
emitEvents(ymaps, player) {
_addEventListeners(ymaps, player) {
this.load.emit({ ymaps, instance: player });

@@ -1018,0 +1066,0 @@ // Direction

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

import { EventEmitter, OnChanges, QueryList, SimpleChanges } from '@angular/core';
import { EventEmitter, OnChanges, OnDestroy, QueryList, SimpleChanges } from '@angular/core';
import { IEvent, ILoadEvent } from '../../models/models';

@@ -7,4 +7,3 @@ import { YaGeoObjectComponent } from '../ya-geoobject/ya-geoobject.component';

* Component, geo object clusterer. Clusterizes objects in the visible area of the map.
* If the object does not fall within the visible area of the map,
* it will not be added to the map.
* If the object does not fall within the visible area of the map, it will not be added to the map.
* Note, that the clusterer does not react to changing the coordinates of objects (either programmatically,

@@ -21,3 +20,3 @@ * or as the result of dragging). If you want to change the coordinates of some object in the clusterer,

*/
export declare class YaClustererComponent implements OnChanges {
export declare class YaClustererComponent implements OnDestroy, OnChanges {
placemarks: QueryList<YaPlacemarkComponent>;

@@ -50,2 +49,3 @@ geoObjects: QueryList<YaGeoObjectComponent>;

parentChange: EventEmitter<IEvent>;
private _sub;
private _clusterer;

@@ -66,3 +66,4 @@ constructor();

*/
private _emitEvents;
private _addEventListeners;
ngOnDestroy(): void;
}

@@ -50,4 +50,5 @@ import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';

id: string;
private _clusterer;
private _geoObject;
private _map;
private _geoObject;
constructor();

@@ -69,10 +70,19 @@ ngOnInit(): void;

private _logErrors;
initGeoObject(ymaps: any, map: any): any;
/**
* Add listeners on placemark events
* Inits GeoObject
* @param ymaps
* @param map
* @param clusterer We need this to control removing entity from Clusterer on Placemark destroy
* `this._clusterer.remove(this._geoObject)`;
*
* @returns GeoObject
*/
private _emitEvents;
initGeoObject(ymaps: any, map: any, clusterer?: any): any;
/**
* Add listeners on geoObject events
* @param ymaps
* @param geoObject
*/
private _addEventListeners;
ngOnDestroy(): void;
}

@@ -93,3 +93,4 @@ import { IEvent, ILoadEvent } from '../../models/models';

/**
* Add new objects on ContentChildren changes
* Provides ContentChildren components to API.
* Subscribes on ContentChildren changes to provide them to API.
* @param ymaps

@@ -104,4 +105,4 @@ * @param map

*/
private _emitEvents;
private _addEventListeners;
ngOnDestroy(): void;
}

@@ -69,8 +69,8 @@ import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';

/**
* Add listeners on placemark events
* Add listeners on multiroute events
* @param ymaps
* @param map
*/
private _emitEvents;
private _addEventListeners;
ngOnDestroy(): void;
}

@@ -59,7 +59,7 @@ import { ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';

/**
* Emit events
* Add listeners on panorama events
* @param ymaps
* @param player Player instance
* @param player
*/
emitEvents(ymaps: any, player: any): void;
_addEventListeners(ymaps: any, player: any): void;
}

@@ -52,4 +52,5 @@ import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';

id: string;
private _clusterer;
private _map;
placemark: any;
private _placemark;
constructor();

@@ -65,4 +66,13 @@ ngOnInit(): void;

private _logErrors;
initPlacemark(ymaps: any, map: any): any;
/**
* Inits placemark
* @param ymaps
* @param map
* @param clusterer We need this to control removing entity from Clusterer on Placemark destroy
* `this._clusterer.remove(this.placemark)`;
*
* @returns Placemark
*/
initPlacemark(ymaps: any, map: any, clusterer?: any): any;
/**
* Add listeners on placemark events

@@ -72,4 +82,4 @@ * @param ymaps

*/
private _emitEvents;
private _addEventListeners;
ngOnDestroy(): void;
}
{
"name": "angular8-yandex-maps",
"version": "10.1.1",
"version": "10.2.0",
"description": "Angular components for Yandex.Maps",

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

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