gitextract_whh8pbvz/ ├── .csscomb.json ├── .editorconfig ├── .eslintrc ├── .github/ │ └── workflows/ │ └── test.yml ├── .gitignore ├── .npmignore ├── CONTRIBUTING.md ├── LICENSE ├── LICENSE_EN ├── README.md ├── app/ │ ├── config.js │ ├── index.html │ ├── index.js │ └── loader.js ├── assets/ │ ├── cluster_realworld.js │ └── heat_realworld.js ├── config.main.json ├── functional-tests/ │ ├── .gitignore │ ├── README.md │ ├── classes/ │ │ ├── WAPI/ │ │ │ ├── __init__.py │ │ │ ├── dataWorker.py │ │ │ └── request.py │ │ ├── __init__.py │ │ ├── components/ │ │ │ ├── __init__.py │ │ │ ├── balloon.py │ │ │ ├── callout.py │ │ │ ├── component.py │ │ │ ├── map.py │ │ │ ├── mapsapi_sources.py │ │ │ ├── marker.py │ │ │ ├── page.py │ │ │ └── zoom_control.py │ │ ├── exceptions/ │ │ │ ├── __init__.py │ │ │ └── exceptions.py │ │ ├── mapsapi_base_test.py │ │ └── util/ │ │ ├── __init__.py │ │ ├── decorators.py │ │ ├── geo_types_map.py │ │ ├── link_generator.py │ │ ├── misc.py │ │ ├── scripts.py │ │ ├── transport_types_map.py │ │ └── unescape.py │ ├── config/ │ │ ├── __init__.py │ │ ├── config.ini │ │ └── config.my.ini │ ├── pep8 │ ├── pep8-hook.sh │ ├── prepare.sh │ ├── run.sh │ ├── template_render.sh │ ├── templates/ │ │ ├── __init__.py │ │ ├── base.html │ │ └── content.py │ └── tests/ │ ├── __init__.py │ ├── balloon_test.py │ ├── bounds_test.py │ ├── event_test.py │ ├── firm_callout_test.py │ ├── geo_clicker_test.py │ ├── loader_test.py │ ├── marker_test.py │ ├── ruler_test.py │ └── zoom_test.py ├── gulp/ │ ├── deps/ │ │ ├── build.html │ │ ├── deps.js │ │ ├── index.js │ │ └── packs.js │ ├── sprite-template.mustache │ ├── tasks/ │ │ ├── build.js │ │ ├── buildLeaflet.js │ │ ├── buildScripts.js │ │ ├── buildStyles.js │ │ ├── buildTest.js │ │ ├── clean.js │ │ ├── collectImagesStats.js │ │ ├── collectImagesUsageStats.js │ │ ├── concatScripts.js │ │ ├── copyAssets.js │ │ ├── copyImg.js │ │ ├── copyIndexPage.js │ │ ├── dev.js │ │ ├── doc.js │ │ ├── generateSprites.js │ │ ├── imageMinify.js │ │ ├── lint.js │ │ ├── lintCSS.js │ │ ├── lintJS.js │ │ ├── loadProjectList.js │ │ ├── loader.js │ │ ├── rebuildStyles.js │ │ ├── server.js │ │ ├── test.js │ │ └── watch.js │ └── util/ │ ├── buildCSS.js │ ├── buildEnd.js │ ├── csslint/ │ │ ├── gulp-csslint.js │ │ └── lib/ │ │ ├── csslint.js │ │ └── parserlib.js │ ├── destCSS.js │ ├── error.js │ ├── gendoc.js │ ├── projectList.js │ ├── stat.js │ └── templateStream.js ├── gulpfile.js ├── package.json ├── src/ │ ├── DGAjax/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── src/ │ │ │ └── DGAjax.js │ │ └── test/ │ │ └── DGAjaxSpec.js │ ├── DGAttribution/ │ │ ├── lang/ │ │ │ ├── ar.js │ │ │ ├── cs.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── it.js │ │ │ └── ru.js │ │ ├── skin/ │ │ │ └── basic/ │ │ │ └── less/ │ │ │ └── dg-mapcopyright.less │ │ ├── src/ │ │ │ └── DGAttribution.js │ │ ├── templates/ │ │ │ └── copyright.dust │ │ └── test/ │ │ └── DGAttributionSpec.js │ ├── DGCore/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── skin/ │ │ │ └── basic/ │ │ │ └── less/ │ │ │ └── dg-core.less │ │ └── src/ │ │ ├── DGCore.js │ │ ├── DGplugin.js │ │ └── DGthen.js │ ├── DGCustomization/ │ │ ├── skin/ │ │ │ └── basic/ │ │ │ ├── less/ │ │ │ │ ├── dg-customization.less │ │ │ │ ├── leaflet.ie.less │ │ │ │ └── leaflet.less │ │ │ └── skin.config.js │ │ ├── src/ │ │ │ ├── DGCustomization.js │ │ │ ├── DGMap.ApiKeyValidator.js │ │ │ ├── DGMap.BaseLayer.js │ │ │ ├── DGMap.Drag.js │ │ │ ├── DGMap.TilesCheck.js │ │ │ ├── DGMap.js │ │ │ ├── DGMobileImprove.js │ │ │ └── DGPolyUtil.js │ │ └── test/ │ │ ├── CanvasSpec.js │ │ ├── DGCustomizationSpec.js │ │ ├── DGMap.BaseLayerSpec.js │ │ ├── DGMapSpec.js │ │ ├── GridLayerSpec.js │ │ ├── Map.DragSpec.js │ │ ├── MapSpec.js │ │ ├── PathSpec.js │ │ ├── PopupSpec.js │ │ ├── UtilSpec.js │ │ └── ValidatorApiKeySpec.js │ ├── DGDust/ │ │ ├── doc/ │ │ │ └── DGDust.md │ │ ├── src/ │ │ │ └── DGDust.js │ │ └── test/ │ │ └── DGDustSpec.js │ ├── DGEntrance/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── src/ │ │ │ ├── DGAnimation.js │ │ │ ├── DGArrowPathTransform.js │ │ │ ├── DGArrowTipTransform.js │ │ │ ├── DGBezierCurves.js │ │ │ ├── DGComplexPath.js │ │ │ ├── DGEntrance.js │ │ │ ├── DGEntranceArrow.js │ │ │ ├── DGEntranceArrowShape.js │ │ │ ├── DGMetric.js │ │ │ ├── DGRenderer.js │ │ │ └── DGVertexTransform.js │ │ └── test/ │ │ ├── DGArrowShapeSpec.js │ │ ├── DGBezierSpec.js │ │ ├── DGMetricSpec.js │ │ ├── DGTransformSpec.js │ │ └── EntranceSpec.js │ ├── DGFullScreen/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── lang/ │ │ │ ├── ar.js │ │ │ ├── cs.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── it.js │ │ │ └── ru.js │ │ ├── skin/ │ │ │ ├── basic/ │ │ │ │ └── less/ │ │ │ │ ├── dg-control-round.less │ │ │ │ └── dg-fullscreen.ie.less │ │ │ ├── dark/ │ │ │ │ └── less/ │ │ │ │ └── dg-control-round.less │ │ │ └── light/ │ │ │ └── less/ │ │ │ └── dg-control-round.less │ │ ├── src/ │ │ │ ├── DGFullScreen.js │ │ │ ├── DGScreenfull.js │ │ │ └── LegacyFullScreen.js │ │ └── test/ │ │ └── DGFullScreenSpec.js │ ├── DGGeoclicker/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── lang/ │ │ │ ├── cs.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── it.js │ │ │ └── ru.js │ │ ├── skin/ │ │ │ ├── basic/ │ │ │ │ └── less/ │ │ │ │ ├── dg-building-callout.less │ │ │ │ ├── dg-firm-card.less │ │ │ │ ├── dg-link.less │ │ │ │ ├── dg-map-geoclicker.less │ │ │ │ ├── dg-popup.ie.less │ │ │ │ ├── dg-popup.less │ │ │ │ ├── dg-preloader.less │ │ │ │ ├── dg-schedule.ie.less │ │ │ │ └── dg-schedule.less │ │ │ ├── dark/ │ │ │ │ └── less/ │ │ │ │ ├── dg-building-callout.less │ │ │ │ ├── dg-firm-card.less │ │ │ │ ├── dg-map-geoclicker.less │ │ │ │ ├── dg-popup.ie.less │ │ │ │ ├── dg-popup.less │ │ │ │ ├── dg-schedule.ie.less │ │ │ │ └── dg-schedule.less │ │ │ └── light/ │ │ │ └── less/ │ │ │ ├── dg-building-callout.less │ │ │ ├── dg-firm-card.less │ │ │ ├── dg-map-geoclicker.less │ │ │ ├── dg-popup.less │ │ │ ├── dg-schedule.ie.less │ │ │ └── dg-schedule.less │ │ ├── src/ │ │ │ ├── ClampHelper.js │ │ │ ├── Controller.js │ │ │ ├── DGGeoclicker.js │ │ │ ├── View.js │ │ │ ├── handler/ │ │ │ │ ├── ApiError.js │ │ │ │ ├── CityArea.js │ │ │ │ ├── Default.js │ │ │ │ ├── Handler.js │ │ │ │ ├── House.View.js │ │ │ │ ├── House.js │ │ │ │ ├── POI.js │ │ │ │ └── Sight.js │ │ │ └── provider/ │ │ │ ├── CatalogApi.js │ │ │ └── Provider.js │ │ ├── templates/ │ │ │ ├── cityarea.dust │ │ │ ├── firmCardAddr.dust │ │ │ ├── firmCardContacts.dust │ │ │ ├── firmCardHeader.dust │ │ │ ├── firmCardRubric.dust │ │ │ ├── firmCardSchedule.dust │ │ │ ├── firmlistItem.dust │ │ │ ├── frimCardPayments.dust │ │ │ ├── house.dust │ │ │ ├── loader.dust │ │ │ ├── popupFooter.dust │ │ │ ├── popupFooterBtns.dust │ │ │ ├── popupHeader.dust │ │ │ └── sight.dust │ │ └── test/ │ │ ├── CatalogApiSpec.js │ │ ├── ControllerSpec.js │ │ └── GeoclickerSpec.js │ ├── DGLabel/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── skin/ │ │ │ ├── basic/ │ │ │ │ └── less/ │ │ │ │ └── dg-label.less │ │ │ ├── dark/ │ │ │ │ └── less/ │ │ │ │ └── dg-label.less │ │ │ └── light/ │ │ │ └── less/ │ │ │ └── dg-label.less │ │ ├── src/ │ │ │ ├── DGLabel.Layer.js │ │ │ ├── DGLabel.js │ │ │ ├── Entrance.DGLabel.js │ │ │ ├── Marker.DGLabel.js │ │ │ └── Path.DGLabel.js │ │ └── test/ │ │ └── DGLabelSpec.js │ ├── DGLocale/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── src/ │ │ │ ├── DGDictionary.js │ │ │ └── DGLocale.js │ │ └── test/ │ │ └── DGLocaleSpec.js │ ├── DGLocation/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── lang/ │ │ │ ├── ar.js │ │ │ ├── cs.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── it.js │ │ │ └── ru.js │ │ ├── skin/ │ │ │ ├── basic/ │ │ │ │ └── less/ │ │ │ │ ├── dg-control-round.less │ │ │ │ └── dg-location.less │ │ │ ├── dark/ │ │ │ │ └── less/ │ │ │ │ └── dg-control-round.less │ │ │ └── light/ │ │ │ └── less/ │ │ │ └── dg-control-round.less │ │ ├── src/ │ │ │ └── DGLocation.js │ │ └── test/ │ │ └── DGLocationSpec.js │ ├── DGMeta/ │ │ ├── src/ │ │ │ ├── DGMeta.Layer.js │ │ │ └── DGMeta.Origin.js │ │ └── test/ │ │ ├── DGMetaSpec.js │ │ └── PolyUtilContainsSpec.js │ ├── DGMuseum/ │ │ ├── skin/ │ │ │ └── basic/ │ │ │ └── less/ │ │ │ └── dg-museum.less │ │ └── src/ │ │ └── DGMuseum.js │ ├── DGPoi/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── src/ │ │ │ └── DGPoi.js │ │ └── test/ │ │ └── DGPoiSpec.js │ ├── DGPopup/ │ │ ├── skin/ │ │ │ ├── basic/ │ │ │ │ ├── less/ │ │ │ │ │ ├── dg-popup.less │ │ │ │ │ ├── leaflet.ie.less │ │ │ │ │ ├── leaflet.less │ │ │ │ │ └── scroller.less │ │ │ │ └── skin.config.js │ │ │ ├── dark/ │ │ │ │ └── less/ │ │ │ │ ├── dg-popup.less │ │ │ │ ├── leaflet.ie.less │ │ │ │ ├── leaflet.less │ │ │ │ └── scroller.less │ │ │ └── light/ │ │ │ └── less/ │ │ │ ├── dg-popup.less │ │ │ ├── leaflet.ie.less │ │ │ ├── leaflet.less │ │ │ └── scroller.less │ │ ├── src/ │ │ │ └── DGPopup.js │ │ └── test/ │ │ └── DGPopupSpec.js │ ├── DGProjectDetector/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── src/ │ │ │ └── DGProjectDetector.js │ │ └── test/ │ │ ├── ProjectDetectorInSpec.js │ │ ├── ProjectDetectorInitSpec.js │ │ ├── ProjectDetectorOutOfWorldSpec.js │ │ └── ProjectDetectorUnderSpec.js │ ├── DGRoundControl/ │ │ ├── skin/ │ │ │ ├── basic/ │ │ │ │ └── less/ │ │ │ │ └── dg-control-round.less │ │ │ ├── dark/ │ │ │ │ └── less/ │ │ │ │ └── dg-control-round.less │ │ │ └── light/ │ │ │ └── less/ │ │ │ └── dg-control-round.less │ │ ├── src/ │ │ │ └── DGRoundControl.js │ │ └── test/ │ │ └── DGRoundControlSpec.js │ ├── DGRuler/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── lang/ │ │ │ ├── ar.js │ │ │ ├── cs.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── it.js │ │ │ └── ru.js │ │ ├── skin/ │ │ │ └── basic/ │ │ │ └── less/ │ │ │ ├── dg-ruler.ie.less │ │ │ └── dg-ruler.less │ │ ├── src/ │ │ │ ├── GeometryStyles.js │ │ │ ├── LayeredMarker.js │ │ │ └── Ruler.js │ │ └── test/ │ │ └── RulerSpec.js │ ├── DGRulerControl/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── lang/ │ │ │ ├── ar.js │ │ │ ├── cs.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── it.js │ │ │ └── ru.js │ │ ├── skin/ │ │ │ └── basic/ │ │ │ └── less/ │ │ │ └── dg-control-round.less │ │ ├── src/ │ │ │ └── Control.Ruler.js │ │ └── test/ │ │ └── DGRulerControlSpec.js │ ├── DGTraffic/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── lang/ │ │ │ ├── ar.js │ │ │ ├── cs.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── it.js │ │ │ └── ru.js │ │ ├── src/ │ │ │ └── DGTraffic.js │ │ └── test/ │ │ └── DGTrafficSpec.js │ ├── DGTrafficControl/ │ │ ├── demo/ │ │ │ └── index.html │ │ ├── lang/ │ │ │ ├── ar.js │ │ │ ├── cs.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── it.js │ │ │ └── ru.js │ │ ├── skin/ │ │ │ └── basic/ │ │ │ └── less/ │ │ │ ├── dg-control-round.less │ │ │ ├── dg-traffic-control.ie.less │ │ │ └── dg-traffic-control.less │ │ ├── src/ │ │ │ └── Control.Traffic.js │ │ └── test/ │ │ └── TrafficControlSpec.js │ ├── DGWkt/ │ │ ├── DGWkt.js │ │ ├── demo/ │ │ │ └── index.html │ │ └── test/ │ │ ├── DGWktSpec.js │ │ ├── DGWktToGeoJSONSpec.js │ │ └── DGWktToLatLngsSpec.js │ ├── DGZoomControl/ │ │ ├── lang/ │ │ │ ├── ar.js │ │ │ ├── cs.js │ │ │ ├── en.js │ │ │ ├── es.js │ │ │ ├── it.js │ │ │ └── ru.js │ │ ├── skin/ │ │ │ ├── basic/ │ │ │ │ └── less/ │ │ │ │ └── dg-zoom-control.less │ │ │ ├── dark/ │ │ │ │ └── less/ │ │ │ │ └── dg-zoom-control.less │ │ │ └── light/ │ │ │ └── less/ │ │ │ └── dg-zoom-control.less │ │ ├── src/ │ │ │ └── DGZoomControl.js │ │ └── test/ │ │ └── DGZoomControlSpec.js │ ├── copyright.js │ ├── doc/ │ │ ├── en/ │ │ │ ├── examples/ │ │ │ │ ├── base.md │ │ │ │ ├── bounds.md │ │ │ │ ├── controls.md │ │ │ │ ├── events.md │ │ │ │ ├── external-modules.md │ │ │ │ ├── geojson.md │ │ │ │ ├── markers.md │ │ │ │ ├── popups.md │ │ │ │ ├── vector-layers.md │ │ │ │ └── wkt.md │ │ │ ├── manual/ │ │ │ │ ├── base-classes.md │ │ │ │ ├── basic-types.md │ │ │ │ ├── controls.md │ │ │ │ ├── dg-ajax.md │ │ │ │ ├── dg-entrance.md │ │ │ │ ├── dg-external-modules.md │ │ │ │ ├── dg-label.md │ │ │ │ ├── dg-loading.md │ │ │ │ ├── dg-locale.md │ │ │ │ ├── dg-metalayers.md │ │ │ │ ├── dg-project-detector.md │ │ │ │ ├── dg-ruler.md │ │ │ │ ├── dg-traffic.md │ │ │ │ ├── dg-wkt.md │ │ │ │ ├── dom-utils.md │ │ │ │ ├── map.md │ │ │ │ ├── markers.md │ │ │ │ ├── other-layers.md │ │ │ │ ├── popup.md │ │ │ │ ├── raster-layers.md │ │ │ │ ├── utils.md │ │ │ │ └── vector-layers.md │ │ │ └── quickstart/ │ │ │ └── quickstart.md │ │ └── ru/ │ │ ├── examples/ │ │ │ ├── base.md │ │ │ ├── bounds.md │ │ │ ├── controls.md │ │ │ ├── events.md │ │ │ ├── external-modules.md │ │ │ ├── geojson.md │ │ │ ├── markers.md │ │ │ ├── popups.md │ │ │ ├── vector-layers.md │ │ │ └── wkt.md │ │ ├── manual/ │ │ │ ├── base-classes.md │ │ │ ├── basic-types.md │ │ │ ├── controls.md │ │ │ ├── dg-ajax.md │ │ │ ├── dg-entrance.md │ │ │ ├── dg-external-modules.md │ │ │ ├── dg-label.md │ │ │ ├── dg-loading.md │ │ │ ├── dg-locale.md │ │ │ ├── dg-metalayers.md │ │ │ ├── dg-migration.md │ │ │ ├── dg-project-detector.md │ │ │ ├── dg-ruler.md │ │ │ ├── dg-traffic.md │ │ │ ├── dg-wkt.md │ │ │ ├── dom-utils.md │ │ │ ├── map.md │ │ │ ├── markers.md │ │ │ ├── other-layers.md │ │ │ ├── popup.md │ │ │ ├── raster-layers.md │ │ │ ├── utils.md │ │ │ └── vector-layers.md │ │ └── quickstart/ │ │ └── quickstart.md │ ├── less/ │ │ ├── images-usage-statistics.less │ │ ├── mixins.ie8.less │ │ ├── mixins.images-usage-statistics.less │ │ └── mixins.less │ └── menu.json ├── test/ │ ├── after.js │ ├── excludedTests.js │ ├── karma.conf.js │ └── test.js └── vendors/ ├── baron/ │ ├── Gruntfile.js │ ├── baron.css │ ├── baron.js │ ├── changelog.md │ ├── demo/ │ │ ├── baron.full.js │ │ ├── index.html │ │ ├── script.js │ │ └── style.css │ ├── js/ │ │ ├── bean.js │ │ ├── bonzo.js │ │ ├── jquery-1.9.0.js │ │ └── qwery.js │ ├── package.json │ ├── readme.md │ ├── src/ │ │ ├── controls.js │ │ ├── core.js │ │ ├── fix.js │ │ ├── pull.js │ │ └── test.js │ ├── tasks/ │ │ └── mocha-phantomjs.js │ └── test/ │ ├── core.auto.html │ ├── index.html │ ├── script.js │ ├── style.css │ └── tests.js ├── firmcard/ │ ├── doc/ │ │ └── Schedule.md │ ├── src/ │ │ ├── Dictionary.js │ │ ├── FirmCard.DataHelper.js │ │ ├── FirmCard.js │ │ ├── FirmList.js │ │ ├── Schedule.js │ │ └── vendors/ │ │ ├── momentjs/ │ │ │ └── lang/ │ │ │ ├── moment.cs.js │ │ │ ├── moment.it.js │ │ │ └── moment.ru.js │ │ └── underscore1.5.1.js │ └── test/ │ ├── FirmCardSpec.html │ ├── FirmCardSpec.js │ ├── FirmListSpec.html │ ├── FirmListSpec.js │ ├── demoData.js │ ├── expect.js │ ├── mocha.css │ ├── mocha.js │ └── sinon.js └── polyfills/ ├── es5.js └── promise.js