/* Maps api created at 2GIS. Build on Leaflet. (c) 2013-2016, 2GIS */ !function(){function t(e,i,o){function n(s,a){if(!i[s]){if(!e[s]){var l="function"==typeof require&&require;if(!a&&l)return l(s,!0);if(r)return r(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var c=i[s]={exports:{}};e[s][0].call(c.exports,function(t){var i=e[s][1][t];return n(i||t)},c,c.exports,t,e,i,o)}return i[s].exports}for(var r="function"==typeof require&&require,s=0;s>>0,r=!1;for(1i;++i)this.hasOwnProperty(i)&&(r?o=t(o,this[i],i,this):(o=this[i],r=!0));if(!r)throw new TypeError("Reduce of empty array with no initial value");return o}),Array.prototype.forEach||(Array.prototype.forEach=function(t,e){"use strict";var i,o;if(null==this)throw new TypeError("this is null or not defined");var n,r=Object(this),s=r.length>>>0;if("[object Function]"!=={}.toString.call(t))throw new TypeError(t+" is not a function");for(arguments.length>=2&&(i=e),o=0;o>>0;if("function"!=typeof t)throw new TypeError;for(var o=arguments.length>=2?arguments[1]:void 0,n=0;n>>0;if("function"!=typeof t)throw new TypeError;for(var o=new Array(i),n=arguments.length>=2?arguments[1]:void 0,r=0;r>>0;if("function"!=typeof t)throw new TypeError;for(var o=[],n=arguments.length>=2?arguments[1]:void 0,r=0;r>>0;for(e=+e||0,Math.abs(e)===1/0&&(e=0),e<0&&(e+=i,e<0&&(e=0));e1){for(var o=this._map.getCenter(),n=e[0],r=1;ro.distanceTo(s.defaultPos)&&(n=s)}e=[n]}}var a=e[0]||null;if(this._project!==a){var l=this;null!==this._project&&(this._project=null,setTimeout(function(){l._map.fire("projectleave")},1)),a&&(this._project=a,setTimeout(function(){l._map.fire("projectchange",{getProject:l.getProject.bind(l)})},1))}},_testProjectIntersects:function(t,e){return e.latLngBounds.intersects(t)},_testProjectContains:function(t,e){return DG.PolyUtil.inside([t.lng,t.lat],e.bound)},_centerInProject:function(t,e){return this.isProjectHere(this._map.getCenter(),t,e)},_zoomInProject:function(t){return this._map.getZoom()>=t.minZoom}}),DG.Map.mergeOptions({projectDetector:!0}),DG.Map.addInitHook("addHandler","projectDetector",DG.ProjectDetector),DG.Metric=function(){},DG.Metric.Segments=function(){this.length=0},DG.Metric.Segments.prototype={push:function(t){return this[this.length]=this.length>0?this[this.length-1]+t:t,this.length+=1,this},getLength:function(){return this[this.length-1]},getReverse:function(){var t=new DG.Metric.Segments,e=this.length-1;if(e<0)return t;for(;e--;)t.push(this[e+1]-this[e]);return t.push(this[0])},getIndex:function(t){var e=this.length-1;if(e<0)return e;for(;e--&&!(this[e]<=t););return e+1},getSegRatio:function(t){var e=this.getIndex(t),i=e>0?this[e-1]:0;return(t-i)/(this[e]-i)},getSegLength:function(t){var e=this.getIndex(t),i=e>0?this[e-1]:0;return t-i}},DG.VertexTransform=DG.Class.extend({initialize:function(t){this._vertices=t,this._scale=null,this._angle=null,this._trans=null,this._matrix=null,this.load()},load:function(){return this.vertices=this._vertices.map(function(t){return t.clone()}),this.vertices.clone=DG.VertexTransform.clone,this},save:function(){return this._vertices=this.vertices.map(function(t){return t.clone()}),this},setScale:function(t){return this._scale=t,this},getScale:function(){return this._scale},setAngle:function(t){return this._angle=t,this},getAngle:function(){return this._angle},setTranslation:function(t){return this._trans=t,this},getTranslation:function(){return this._trans},setMatrix:function(t){return this._matrix=t,this},getMatrix:function(){return this._matrix},scale:function(t){var e=this.vertices,i=e.length;for(t=t||this._scale||1;i--;)e[i].x*=t,e[i].y*=t;return this},unScale:function(t){return t=t||this._scale||1,this.scale(1/t)},rotate:function(t){for(var e,i,o=t?t.cos:this._angle?this._angle.cos:1,n=t?t.sin:this._angle?this._angle.sin:0,r=this.vertices,s=r.length;s--;)e=r[s].x,i=r[s].y,r[s].x=e*o-i*n,r[s].y=e*n+i*o;return this},unRotate:function(t){var e=t?t.cos:this._angle?this._angle.cos:1,i=t?t.sin:this._angle?this._angle.sin:0;return this.rotate({cos:e,sin:-i})},translate:function(t){for(var e=t?t.x:this._trans?this._trans.x:0,i=t?t.y:this._trans?this._trans.y:0,o=this.vertices,n=o.length;n--;)o[n].x+=e,o[n].y+=i;return this},unTranslate:function(t){var e=t?t.x:this._trans?this._trans.x:0,i=t?t.y:this._trans?this._trans.y:0;return this.translate({x:-e,y:-i})},transform:function(t){var e,i,o,n,r,s,a,l,u=this.vertices,c=u.length;for(t?(e=t[0],i=t[1],r=t[2],o=t[3],n=t[4],s=t[5]):this._matrix?(e=this._matrix[0],i=this._matrix[1],r=this._matrix[2],o=this._matrix[3],n=this._matrix[4],s=this._matrix[5]):(e=1,i=0,r=0,o=0,n=1,s=0);c--;)a=u[c].x,l=u[c].y,u[c].x=a*e+l*i+r,u[c].y=a*o+l*n+s;return this},statics:{scale:function(t,e){var i,o,n=t.vertices,r=[];e=e||1;for(var s=0;s0?{cos:t/o,sin:e/o}:{cos:1,sin:0}):(r=t.x,s=t.y,a=e.x,l=e.y,i&&(r-=i.x,s-=i.y,a-=i.x,l-=i.y),n=Math.sqrt(r*r+s*s)*Math.sqrt(a*a+l*l),{cos:(r*a+s*l)/n,sin:(r*l-a*s)/n})},getAnglesSum:function(t,e){return{cos:t.cos*e.cos-t.sin*e.sin,sin:t.sin*e.cos+t.cos*e.sin}},getAnglesDif:function(t,e){return{cos:t.cos*e.cos+t.sin*e.sin,sin:t.sin*e.cos-t.cos*e.sin}}}}),DG.ArrowPathTransform=DG.VertexTransform.extend({initialize:function(t){this._lengths=new DG.Metric.Segments,this._vertices=[[],[]],this._drawings=[[],[]],this._setPath(t),this.subPath(1)},load:function(){return this.subPath(1)},save:function(){return this},_setPath:function(t){var e,i,o,n,r,s,a,l=DG.ArrowPathTransform.transform,u=this._vertices,c=this._drawings,h=DG.Point,d=t.width,_=[[],[],[]],p=[];for(u.push(t.vertices),u[0].push(new DG.Point(t.offset,(+d))),u[1].push(new DG.Point(t.offset,(-d))),s=DG.ArrowPathTransform.getAngles(t),r=-t.offset,e=0;e0?(u[0].push(new h(i+o,(+d))),c[0].push("L"),_[2].push(1),_[1].push(u[1].length),u[1].push(new h(i+o,(-d))),u[1].push(new h(i+o-n,(-d))),l(u,s[e],{x:i,y:0}),u[1].push(new h(0-o+n,(-d))),u[1].push(new h(0-o,(-d))),c[1].push("L","C"),p.push(Math.abs(i+o)-r),r=+o):(u[1].push(new h(i-o,(-d))),c[1].push("L"),_[2].push(0),_[0].push(u[0].length),u[0].push(new h(i-o,(+d))),u[0].push(new h(i-o+n,(+d))),l(u,s[e],{x:i,y:0}),u[0].push(new h(0+o-n,(+d))),u[0].push(new h(0+o,(+d))),c[0].push("L","C"),p.push(Math.abs(i-o)-r),r=-o);o=t.vertices[e+1].x,n=4*d/3,u[0].push(new h(o,(+d))),u[1].push(new h(o,(-d))),u[0].push(new h(o-n,(+d))),u[1].push(new h(o-n,(-d))),c[0].push("L"),c[1].push("L"),p.push(Math.abs(o)-r),u[1].reverse(),c[1].reverse(),a=DG.VertexTransform.getAnglesSum(s.fullAngle,t.getAngle()),l(u,a,u.pop()[0]),o=u[0].length,n=u[1].length,this._arcs=_[2].map(function(t){return r=_[t].shift(),t>0?new DG.ArcBezier(u[1].slice(n-r-4,n-r)):new DG.ArcBezier(u[0].slice(r,r+4).reverse())}).reverse(),this._lengths.push(p.pop()),p.reverse().forEach(function(t,e){this._lengths.push(this._arcs[e].getLength()).push(t)},this),this[0]={vertices:[u[0][o-2],u[0][o-1],u[1][0],u[1][1]],drawings:["M","C"]},this[1]={vertices:u[0].concat(u[1]),drawings:["M"].concat(c[0],"C",c[1])}},_setAngleAndDisplacement:function(t,e){this.angle=DG.VertexTransform.getAngle({x:t.x-e.x,y:t.y-e.y},{x:0,y:1}),this.displ=e.clone()},subPath:function(t){if(t=t>1?1:t,0===t||1===t)return this.vertices=this[t].vertices.map(function(t){return t.clone()}),this.drawings=this[t].drawings,this._setAngleAndDisplacement(this.vertices[0],this.vertices[this.vertices.length-1]),this;for(var e,i,o=DG.VertexTransform.getScaled,n=this._vertices,r=this._drawings,s=this._lengths,a=s.getLength()*t,l=s.getIndex(a),u=s.getSegRatio(a),c=n[0].length-2,h=1,d=r[0].length-1,_=0,p=0,m=0;m++0?s:0), t.vertices.length<3&&r>-10&&(t.offset+=2.5),this._vertices=this.load().unTranslate(i).vertices},subShape:function(t){return this.load().unRotate(t.angle).translate(t.displ),this}}),DG.ComplexPath=DG.Path.extend({options:{fill:!0,fillOpacity:1,interactive:!1},initialize:function(t){DG.setOptions(this,t),this._empty=[],this._pxEmpty=DG.bounds(DG.point(0,0),DG.point(0,0)),this._pxBounds=this._pxEmpty,this._vertices=[this._empty],this._drawings=[this._empty]},getEvents:function(){return{}},_project:function(){var t,e,i=this.options;this._map&&(t=this._map.getZoom(),i.visibility.isShown&&i.transform[t]?(e=2.2-.2*(19-t),i.weight!==e&&this.setStyle({weight:+e.toFixed(2)}),this._vertices[0]=i.transform[t].vertices,this._drawings[0]=i.transform[t].drawings,this._pxBounds=i.transform[t]._pxBounds):(this._vertices[0]=this._empty,this._drawings[0]=this._empty,this._pxBounds=this._pxEmpty))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateComplexPath(this)}}),DG.extend(L.Canvas.prototype,{_updateComplexPath:function(t,e){var i,o,n,r,s,a,l,u,c,h,d,_=t._drawings,p=t._vertices,m=this._ctx;for(this._drawnLayers[t._leaflet_id]=t,m.beginPath(),i=0;i2?(n=i*e,r=i*t*3,s=e*o*3,a=t*o):(l=[l[0],l[1],l[2],{x:0,y:0}],n=i,r=e*t*2,s=o,a=0),new DG.Point(n*l[0].x+r*l[1].x+s*l[2].x+a*l[3].x,n*l[0].y+r*l[1].y+s*l[2].y+a*l[3].y))},derivative:function(t){var e,i,o,n=this.dpoints[0],r=1-t;return this.order>2?(e=r*r,i=r*t*2,o=t*t):(n=[n[0],n[1],{x:0,y:0}],e=r,i=t,o=0),new DG.Point(e*n[0].x+i*n[1].x+o*n[2].x,e*n[0].y+i*n[1].y+o*n[2].y)},getLength:function(){for(var t,e,i,o=DG.Bezier.WEIGHT,n=DG.Bezier.ABSCISSA,r=.5,s=0,a=0;a2&&(i=e*t,r=n*o,a=e*o*3,l=t*n*3,u[3]=new DG.Point(i*c[3].x-a*c[2].x+l*c[1].x-r*c[0].x,i*c[3].y-a*c[2].y+l*c[1].y-r*c[0].y)),new DG.Bezier(u))},getCurveAfter:function(t){var e,i,o,n,r,s,a,l,u,c=this.points,h=this.order;return 1===t?this.clone():(u=[],e=t*t,o=t-1,n=o*o,u[h]=new DG.Point(c[h].x,c[h].y),u[--h]=new DG.Point(t*c[h+1].x-o*c[h].x,t*c[h+1].y-o*c[h].y),s=t*o*2,u[--h]=new DG.Point(e*c[h+2].x-s*c[h+1].x+n*c[h].x,e*c[h+2].y-s*c[h+1].y+n*c[h].y),this.order>2&&(i=e*t,r=n*o,a=e*o*3,l=t*n*3,u[--h]=new DG.Point(i*c[h+3].x-a*c[h+2].x+l*c[h+1].x-r*c[h].x,i*c[h+3].y-a*c[h+2].y+l*c[h+1].y-r*c[h].y)),new DG.Bezier(u))},_getDerivatives:function(){var t,e,i,o,n=this.points,r=[];for(t=n.length,e=t-1;t>1;t--,e--){for(o=[],i=0;i2?this._setLUT3(t):this._setLUT2(t)),this._lut},_setLUT2:function(t){var e,i,o,n,r,s=this._lut=[],a=this.points;s.push({x:a[0].x,y:a[0].y,l:0});for(var l=1;l=1)return 1;for(;;)if(e=n+(o-n>>1),t=n[r].l)return 1;for(;;)if(e=s+(r-s>>1),t2?i.animation=this._animations.path:(i.animation=this._animations.bounce,i.distance=!0)),this.addLayer(DG.entrance.arrow(i))},this)},_animate:function(){this._isShown&&(this._animations.bounce.start(),this._animations.path.start())},fitBounds:function(){var t,e=this._map,i=this.getBounds();return e.getBounds().contains(i)&&this._isAllowedZoom()||(t=this._getFitZoom(),e.projectDetector.getProject()||e.once("moveend",function(){e.setZoom(this._getFitZoom())},this),e.setView(i.getCenter(),t,{animate:!0})),this},_getFitZoom:function(){var t=this._map.projectDetector.getProject();return t?t.maxZoom:DG.Entrance.SHOW_FROM_ZOOM},_isAllowedZoom:function(){return this._map.getZoom()>=DG.Entrance.SHOW_FROM_ZOOM},_removeEntrance:function(t){(t.layer instanceof DG.Popup||t.layer instanceof DG.Entrance&&t.layer!==this)&&this.remove()}}),DG.entrance=function(t){return new DG.Entrance(t)},DG.Entrance.SHOW_FROM_ZOOM=16,DG.Entrance.PATH_ANIMATION={animation:{"function":DG.Animation.EASE_IN_OUT,duration:750}},DG.Entrance.BOUNCE_ANIMATION={animation:[{"function":DG.Animation.EASE_IN_OUT,duration:250,frames:{distance:{from:0,to:.6}}},{"function":DG.Animation.EASE_IN,duration:135,frames:{distance:{from:.6,to:0}}},{"function":DG.Animation.EASE_OUT,duration:135,frames:{distance:{from:0,to:.16}}},{"function":DG.Animation.EASE_IN,duration:90,frames:{distance:{from:.16,to:0}}},{"function":DG.Animation.EASE_OUT,duration:90,frames:{distance:{from:0,to:.06}}},{"function":DG.Animation.EASE_IN,duration:50,frames:{distance:{from:.06,to:0}}}]},DG.Entrance.Arrow=DG.FeatureGroup.extend({initialize:function(t){DG.LayerGroup.prototype.initialize.call(this),DG.setOptions(this,t),this._progress=1,this._distance=0,this._visibility={isShown:!1},this._position=t.latlngs[t.latlngs.length-1],this._shape=this.options.shape||DG.Entrance.Arrow.SHAPE,this._apt={},this._att={}},beforeAdd:function(t){var e=this.options;!e.animation||t.options.preferCanvas||DG.Browser.ielt9?e.animation=null:e.animation.on("step",this._animation,this),this.projection(),this.addLayer(new DG.ComplexPath({lineCap:"butt",color:e.color,fillColor:e.fillColor,interactive:e.interactive,visibility:this._visibility,transform:this._apt})),this.addLayer(new DG.ComplexPath({lineJoin:"miter",color:e.color,fillColor:e.fillColor,interactive:e.interactive,visibility:this._visibility,transform:this._att}))},getEvents:function(){return{zoomend:this._project,moveend:this._update,viewreset:this._reset}},setVisibility:function(t){this._visibility.isShown!==t&&(this._visibility.isShown=t,t?this.options.animation||this._reset():this._reset())},getBounds:function(){return this.options.bounds},projection:function(){var t,e,i,o,n=this._map||this._mapToAdd,r=n?n.getZoom():0,s=this._shape.vertices[r],a=this._shape.drawings[r],l=this.options.latlngs;return r&&s&&a&&(this._att[r]||(e=DG.ArrowPathTransform.getTranslatedPath(n,l),t={vertices:s,drawings:a},this._att[r]=new DG.ArrowTipTransform(e,t),this._apt[r]=new DG.ArrowPathTransform(e)),i=n.latLngToLayerPoint(this._position),o=n.latLngToLayerPoint(l[l.length-2]),this._apt[r]._pxBounds||this._setBounds(i,o,this._apt[r],this._att[r]),this.options.distance&&(i=DG.VertexTransform.getScaled(i,o,this._distance)),this._apt[r].subPath(this._progress).translate(i),this._att[r].subShape(this._apt[r]).translate(i)),this},_animation:function(t){void 0!=t.distance?this._distance=t.distance:this._progress=t.progress,this._visibility.isShown&&(this._project(),this._update())},_project:function(){this.projection().invoke("_project")},_update:function(){this.invoke("_update")},_reset:function(){this._resetBounds(),this._project(),this._update()},_resetBounds:function(){var t;for(t in this._apt)this._apt[t]._pxBounds=null;for(t in this._att)this._att[t]._pxBounds=null},_setBounds:function(t,e,i,o){var n=i.subPath(1).translate(t).vertices,r=o.subShape(i).translate(t).vertices;i._pxBounds=new DG.Bounds(n),o._pxBounds=new DG.Bounds(r)}}),DG.entrance.arrow=function(t){return new DG.Entrance.Arrow(t)},DG.Entrance.Arrow.SHAPE={vertices:{16:[[-6.5,-1.8],[-6.0522,-1.8],[-7.0975,-5.2537],[-6.6619,-6.2565],[-6.598,-6.355],[-6.1757,-6.147],[.8371,-.3552],[.9275,-.1764],[.9275,.1764],[.8371,.3552],[-6.1757,6.147],[-6.598,6.355],[-6.6619,6.2565],[-7.0975,5.2537],[-6.0522,1.8],[-6.5,1.8]],17:[[-9,-2.4],[-7.889,-2.4],[-9.9245,-7.2548],[-9.3363,-8.6404],[-9.3448,-8.6448],[-8.8717,-8.3508],[1.0285,-.3552],[1.119,-.1764],[1.119,.1764],[1.0285,.3552],[-8.8717,8.3508],[-9.3448,8.6448],[-9.3363,8.6404],[-9.9245,7.2548],[-7.889,2.4],[-9,2.4]],18:[[-11.5,-3],[-10.0795,-3],[-12.4909,-9.3173],[-11.8402,-10.7654],[-11.5986,-10.7073],[-10.938,-10.2258],[1.1497,-.3552],[1.2402,-.1764],[1.2402,.1764],[1.1497,.3552],[-10.938,10.2258],[-11.5986,10.7073],[-11.8402,10.7654],[-12.4909,9.3173],[-10.0795,3],[-11.5,3]],19:[[-13,-3.6],[-11.66,-3.6],[-14.1696,-10.8351],[-13.5189,-12.2832],[-13.2773,-12.2251],[-12.6167,-11.7436],[1.3061,-.3552],[1.3966,-.1764],[1.3966,.1764],[1.3061,.3552],[-12.6167,11.7436],[-13.2773,12.2251],[-13.5189,12.2832],[-14.1696,10.8351],[-11.66,3.6],[-13,3.6]]},drawings:{16:["M","L","L","C","L","C","L","C","L","L"],17:["M","L","L","C","L","C","L","C","L","L"],18:["M","L","L","C","L","C","L","C","L","L"],19:["M","L","L","C","L","C","L","C","L","L"]}},function(t){for(var e in t)t[e]=t[e].map(function(t){return DG.point(t)})}(DG.Entrance.Arrow.SHAPE.vertices),DG.Label=DG.Layer.extend({options:{offset:new DG.Point(12,15),className:"dg-label",zIndexOffset:0,textDirection:"auto"},_typeOfString:Object.prototype.toString.call("s"),_defaultZIndex:100,initialize:function(t,e){DG.Util.setOptions(this,e),this._animated=DG.Browser.any3d,this._content=t},onAdd:function(t){this._map=t,this._el||this._initDOM(),this._visible=!0,this.setContent(this._content)._onViewReset(),t.on("viewreset",this._onViewReset,this).on("zoomanim",this._onZoomAnimation,this)},onRemove:function(t){t.off("viewreset",this._onViewReset,this).off("zoomanim",this._onZoomAnimation,this),this._visible=!1,this._el.removeChild(this._container),DG.Util.falseFn(this._container.offsetWidth),this._container=null,t.getPanes().tooltipPane.removeChild(this._el),this._el=null},_initDOM:function(){this._el=DG.DomUtil.create("div",this.options.className+" leaflet-zoom-"+(this._animated?"animated":"hide"),this._map.getPanes().tooltipPane),this._el.style.zIndex=this._defaultZIndex+this.options.zIndexOffset,this._container=DG.DomUtil.create("div",this.options.className+"__content",this._el),this._container.setAttribute("dir",this.options.textDirection),DG.DomEvent.disableClickPropagation(this._el).on(this._container,"mousewheel",DG.DomEvent.stopPropagation).on(this._container,"contextmenu",DG.DomEvent.stopPropagation)},_onViewReset:function(){this._visible&&this._latlng&&DG.DomUtil.setPosition(this._el,this._map.latLngToLayerPoint(this._latlng).add(this.options.offset),DG.Browser.ie)},_onZoomAnimation:function(t){this._latlng&&DG.DomUtil.setPosition(this._el,this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).add(this.options.offset))},setOffset:function(t){return t instanceof DG.Point&&(this.options.offset=t,this._onViewReset()),this},setZIndexOffset:function(t){return isNaN(+t)||(this.options.zIndexOffset=+t,this._visible&&(this._el.style.zIndex=this._defaultZIndex+this.options.zIndexOffset)),this},setContent:function(t){return Object.prototype.toString.call(t)!==this._typeOfString?this:(this._content=t,this._visible&&(this._container.innerHTML=t),this)},setPosition:function(t){return t instanceof DG.LatLng?(this._latlng=t,this._onViewReset(),this):this}}),DG.label=function(t,e){return new DG.Label(t,e)},DG.Marker.include({bindLabel:function(t,e){return this._label?(this._label.setContent(t),e&&(this.options.offset!==e.offset&&this._label.setOffset(this.options.offset=e.offset),this.options["static"]!==e["static"]&&this.unbindLabel().bindLabel(t,e))):(e=DG.extend({offset:new DG.Point(5,5)},e),this._label=DG.label(t,e),this.once("remove",this._onMarkerRemove),e["static"]?this.showLabel():this.on("mouseover",this._mouseOverLabel).on("mouseout",this._mouseOutLabel).on("dragstart",this._dragStartLabel).on("dragend",this._dragEndLabel),"undefined"!=typeof this._map?this._updateLabelZIndex():this.once("add",this._updateLabelZIndex)),this},unbindLabel:function(){return this._label&&(this.hideLabel().off("remove",this.unbindLabel).off("mouseover",this._mouseOverLabel).off("mouseout",this._mouseOutLabel).off("dragstart",this._dragStartLabel).off("dragend",this._dragEndLabel).off("move",this._updatePosition).off("add",this._updateLabelZIndex),this._label=null),this},_onMarkerRemove:function(){if(this._label){var t=this._label._content;this.once("add",function(){this._label||this.bindLabel(t)}),this.unbindLabel()}},getLabel:function(){return this._label?this._label:null},_originalUpdateZIndex:DG.Marker.prototype._updateZIndex,_updateZIndex:function(t){return this._zIndex||(this._zIndex=0),this._originalUpdateZIndex(t),this._updateLabelZIndex(),this},_updateLabelZIndex:function(){return this._label&&this._icon&&this._label.setZIndexOffset(this._icon.style.zIndex),this},showLabel:function(){return this._label&&this.on("move",this._updatePosition)._map.addLayer(this._label.setPosition(this.getLatLng())),this},hideLabel:function(){return this._label&&this.off("move",this._updatePosition)._map.removeLayer(this._label),this},_updatePosition:function(){this._label.setPosition(this.getLatLng())},_dragStartLabel:function(){this._label.isMarkerDragging=!0,this.hideLabel()},_dragEndLabel:function(){this._label.isMarkerDragging=!1,this._label.isMouseOverMarker&&this.showLabel()},_mouseOverLabel:function(){this._label.isMouseOverMarker=!0,this._label.isMarkerDragging||this.showLabel()},_mouseOutLabel:function(){this._label.isMouseOverMarker=!1,this.hideLabel()}}),DG.Marker.addInitHook(function(){"undefined"!=typeof this.options.label&&this.bindLabel(this.options.label)}),DG.Path.include({bindLabel:function(t,e){return this._label?(this._label.setContent(t),this._label.options.offset!==e.offset&&this._label.setOffset(e.offset)):(this._label=DG.label(t,e),this.on(this._labelEvents,this)),this},unbindLabel:function(){return this._label&&(this.off(this._labelEvents,this),this._map.removeLayer(this._label),this._label=null),this},getLabel:function(){return this._label?this._label:null},_labelEvents:{mouseover:function(t){this._map.addLayer(this._label.setPosition(t.latlng)),DG.DomEvent.stop(t)},mousemove:function(t){this._label.setPosition(t.latlng),DG.DomEvent.stop(t)},mouseout:function(t){this._map.removeLayer(this._label),DG.DomEvent.stop(t)},remove:function(){this._map.removeLayer(this._label)}}}),DG.Path.addInitHook(function(){"undefined"!=typeof this.options.label&&this.bindLabel(this.options.label)}),DG.Entrance.include({bindLabel:function(t,e){return this._label?(this._label.setContent(t),this._label.options.offset!==e.offset&&this._label.setOffset(e.offset)):(this._label=DG.label(t,e),this.on(this._labelEvents,this)),this},unbindLabel:function(){return this._label&&(this.off(this._labelEvents,this),this._map.removeLayer(this._label),this._label=null),this},getLabel:function(){return this._label?this._label:null},_labelEvents:{mouseover:function(t){this._map.addLayer(this._label.setPosition(t.latlng)),DG.DomEvent.stop(t)},mousemove:function(t){this._label.setPosition(t.latlng),DG.DomEvent.stop(t)},mouseout:function(){this._label.remove()},remove:function(){this._label.remove()}}}),DG.Entrance.addInitHook(function(){"undefined"!=typeof this.options.label&&this.bindLabel(this.options.label)}),DG.configTheme=DG.configTheme||{},DG.configTheme.balloonOptions={offset:{x:1,y:-43}},_dereq_("../../../vendors/baron"),function(){var t=DG.configTheme.balloonOptions.offset.x,e=DG.configTheme.balloonOptions.offset.y,i=DG.Popup.prototype.initialize,o=DG.Popup.prototype._initLayout,n=DG.Popup.prototype.onAdd,r=baron.noConflict(),s=function(t){this[0]=t,this.length=1};s.prototype={setAttribute:function(t,e){return this[0].setAttribute(t,e),this},getAttribute:function(t){return this[0].getAttribute(t)},removeAttribute:function(t){return this[0].removeAttribute(t),this},css:function(t,e){return e?(this[0].style[t]=e,this):DG.DomUtil.getStyle(this[0],t)}},DG.Popup.prototype.options.offset=DG.point(t,e),DG.Popup.mergeOptions({border:16,mapControlsWidth:60,textDirection:"auto"}),DG.Popup.include({_headerContent:null,_footerContent:null,_scroller:null,_scrollerBar:null,_barWrapper:null,_baron:null,_isBaronExist:!1,_popupShowClass:"leaflet-popup_show_true",_popupHideClass:"leaflet-popup_show_false",_popupTipClass:"leaflet-popup-tip-container",_tipSVGPath:"M0 0c12.643 0 28 7.115 28 44h2c0-36.885 15.358-44 28-44h-58z",_isAutoPanPaddingUserDefined:!1,initialize:function(t,e){this._popupStructure={},this._isAutoPanPaddingUserDefined=t&&t.hasOwnProperty("autoPanPadding"),i.call(this,t,e)},onAdd:function(t){t.on({entranceshow:this._closePopup,resize:this.resize},this),n.call(this,t),this._animateOpening(),void 0!==typeof ga&&ga(DG.config.gaName+".send","event","Popup","Use")},onRemove:function(t){this._animateClosing(),t.off({entranceshow:this._closePopup,resize:this.resize},this),DG.DomUtil.TRANSITION?this._removeTimeout=setTimeout(L.bind(L.DomUtil.remove,L.DomUtil,this._container),200):L.DomUtil.remove(this._container),t.fire("popupclose",{popup:this}),this._source&&this._source.fire("popupclose",{popup:this},!0)},setContent:function(t){return this._isNode(t)||"object"!=typeof t?this._bodyContent=t:Object.keys(t).forEach(function(e){this["_"+e+"Content"]=t[e]},this),this.update(),this},setHeaderContent:function(t){return this._headerContent=t,this.update(),this},setFooterContent:function(t){return this._footerContent=t,this.update(),this},getContent:function(){return this._bodyContent},getHeaderContent:function(){return this._headerContent},getFooterContent:function(){return this._footerContent},clear:function(){return Object.keys(this._popupStructure).forEach(this._clearElement,this),this._isBaronExist=!1,this},clearHeader:function(){return this._clearElement("header")},clearFooter:function(){return this._clearElement("footer")},findElement:function(t){return this._contentNode.querySelector(t)},_animateOpening:function(){DG.DomUtil.addClass(this._innerContainer,this._popupShowClass),DG.DomUtil.removeClass(this._innerContainer,this._popupHideClass)},_animateClosing:function(){DG.DomUtil.addClass(this._innerContainer,this._popupHideClass),DG.DomUtil.removeClass(this._innerContainer,this._popupShowClass)},_closePopup:function(){this._map.closePopup(this)},_isNode:function(t){return!!t.nodeName},_onCloseButtonClick:function(t){this._map&&this._map.closePopup(this),L.DomEvent.stop(t)},_close:function(){this._map&&(DG.Browser.mobile&&this._map.geoclicker&&(this.options.closeOnClick||this._map.options.closePopupOnClick)&&(this._map.geoclicker.popupWasOpen=!0),this._map.closePopup(this))},_initLayout:function(){o.call(this),DG.DomEvent.on(this._contentNode,"wheel",function(t){var e;if(t.composedPath)e=t.composedPath();else{var i=t.target;for(e=[];i.parentNode;)e.push(i),i=i.parentNode}e.indexOf(this._scroller)!==-1&&e.indexOf(this._barWrapper)===-1||t.preventDefault()},this),this._innerContainer=DG.DomUtil.create("div","leaflet-popup-inner "+this._popupHideClass,this._container),DG.DomEvent.disableClickPropagation(this._innerContainer),this.options.closeButton&&this._innerContainer.appendChild(this._detachEl(this._closeButton)),this._innerContainer.appendChild(this._detachEl(this._wrapper));var t=this._detachEl(this._tipContainer);if(DG.Browser.svg){var e=DG.SVG.create("path"),i=this._popupTipClass+" "+this._popupTipClass+"_svg";e.setAttribute("d",this._tipSVGPath),t=DG.SVG.create("svg"),t.setAttribute("class",i),t.appendChild(e),DG.DomEvent.disableClickPropagation(e)}else DG.DomUtil.addClass(t,this._popupTipClass+"_image"),DG.DomEvent.disableClickPropagation(t);this._innerContainer.appendChild(t)},_clearElement:function(t){return this["_"+t+"Content"]=null,this._detachEl(this._popupStructure[t]),delete this._popupStructure[t],this},_updateScrollPosition:function(){this._baron&&this._baron.update()},resize:function(){var t=this._updateLayout();if(this._updatePosition(),t)if(this._isBaronExist){DG.DomUtil.removeClass(this._scroller,"dg-scroller_hidden_true"),DG.DomUtil.addClass(this._scroller,"dg-scroller");var e=!!this._isBaronExist&&this._scroller.scrollTop;e&&(this._scroller.scrollTop=e);var i=this.options.maxHeight-2*this.options.border-this._getDelta();this._scrollerWrapper.style.height=i+"px",this._updateScrollPosition()}else this._isContentHeightEnough()||(this._initBaronScroller(),this._initBaron());else this._isBaronExist&&(this._scrollerWrapper.style.height="",DG.DomUtil.removeClass(this._scroller,"dg-scroller"),DG.DomUtil.addClass(this._scroller,"dg-scroller_hidden_true"),DG.DomUtil.removeClass(this._scroller,"dg-scroller"),DG.DomEvent.off(this._scroller,"scroll",this._onScroll));this._adjustPan(),this._bindAdjustPanOnTransitionEnd()},_adjustPan:function(t){if(this._map){if(t){if("max-height"!==t.propertyName)return;DG.DomEvent.off(this._wrapper,DG.DomUtil.TRANSITION_END,this._adjustPan)}var e=this.options;if(e.autoPan){var i=this._map,o=this._container.offsetHeight,n=this._containerWidth,r=new L.Point(this._containerLeft,-o-this._containerBottom);this._zoomAnimated&&r._add(L.DomUtil.getPosition(this._container));var s=[e.autoPanPadding[0],e.autoPanPadding[1]];!this._isAutoPanPaddingUserDefined&&this._map._container.offsetWidth>=e.maxWidth+2*e.mapControlsWidth&&(s[0]=e.mapControlsWidth);var a=i.layerPointToContainerPoint(r),l=L.point(s),u=L.point(e.autoPanPaddingTopLeft||l),c=L.point(e.autoPanPaddingBottomRight||l),h=i.getSize(),d=0,_=0;0!==h.x&&0!==h.y&&(a.x+n+c.x>h.x&&(d=a.x+n-h.x+c.x),a.x-d-u.x<0&&(d=a.x-u.x),a.y+o+c.y>h.y&&(_=a.y+o-h.y+c.y),a.y-_-u.y<0&&(_=a.y-u.y),(d||_)&&i.fire("autopanstart").panBy([d,_]))}}},_bindAdjustPanOnTransitionEnd:function(){DG.DomUtil.TRANSITION?DG.DomEvent.on(this._wrapper,DG.DomUtil.TRANSITION_END,this._adjustPan,this):this._adjustPan()},_isContentHeightEnough:function(){var t=this.options;if(!t.maxHeight)return!0;var e=this._popupStructure.body?this._popupStructure.body.offsetHeight+this._getDelta():this._contentNode.offsetHeight;return e+=2*t.border,e<=t.maxHeight},_initBaronScroller:function(){var t=this._popupStructure.body.parentNode,e=this._scrollerWrapper=DG.DomUtil.create("div","dg-scroller__wrapper",t),i=this._scroller=DG.DomUtil.create("div","dg-scroller",e),o=this._barWrapper=DG.DomUtil.create("div","dg-scroller__bar-wrapper",i),n=this.options.maxHeight-2*this.options.border;this._scrollerBar=DG.DomUtil.create("div","dg-scroller__bar",o),i.appendChild(this._detachEl(this._popupStructure.body)),n-=this._getDelta(),e.style.height=Math.max(18,n)+"px",e.style.width=t.offsetWidth+5+"px",this._isBaronExist=!0,this._switchEvents()},_onScroll:function(t){this.fire("scroll",{originalEvent:t})},_onClick:function(t){t.target=t.target||t.srcElement,this._moving||this.fire("click",{originalEvent:t})},_onStart:function(t){if(this._moved=!1,!this._moving){var e=t.touches?t.touches[0]:t;this._startPoint=new DG.Point(e.clientX,e.clientY),this._toggleTouchEvents()}},_onEnd:function(t){this._toggleTouchEvents(!0),this._onClick(t),this._moving=!1},_onMove:function(t){if(t.touches&&t.touches.length>1)return void(this._moved=!0);var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=DG.point(e.clientX,e.clientY),o=Math.abs(i.subtract(this._startPoint).y);!o||o<10||(this._moving=this._moved=!0)},_initBaron:function(){var t=this._scrollerWrapper;this._baron=r({scroller:".dg-scroller",bar:".dg-scroller__bar",track:".dg-scroller__bar-wrapper",$:function(e){var i="[object String]"==={}.toString.call(e)?t.querySelector(e):e;return new s(i)},event:function(t,e,i,o){e.split(" ").forEach(function(e){DG.DomEvent[o||"on"](t,e,i)})}})},_initHeader:function(){this._popupStructure.header=DG.DomUtil.create("header","dg-popup__header",this._contentNode),this._popupStructure.header.setAttribute("dir",this.options.textDirection)},_initFooter:function(){this._popupStructure.footer=DG.DomUtil.create("footer","dg-popup__footer",this._contentNode),this._popupStructure.footer.setAttribute("dir",this.options.textDirection)},_initBodyContainer:function(){this._popupStructure.wrapper=DG.DomUtil.create("div","dg-popup__container-wrapper",this._contentNode),this._popupStructure.body=DG.DomUtil.create("div","dg-popup__container",this._popupStructure.wrapper), this._popupStructure.body.setAttribute("dir",this.options.textDirection)},update:function(){if(this._map){if(DG.Browser.ielt9||(this._container.style.visibility="hidden"),this._switchEvents(!0),this._clearNode(this._contentNode),this._isBaronExist=!1,this._headerContent&&this._initHeader(),this._bodyContent&&this._initBodyContainer(),this._footerContent&&this._initFooter(),this._updatePopupStructure(),this.resize(),DG.DomEvent.on(this._wrapper,"click",DG.DomEvent.stopPropagation),this._switchEvents(),DG.Browser.ielt9){var t=this._popupStructure.footer;t&&(t.className+=" ie8")}DG.Browser.ielt9||(this._container.style.visibility="")}},_getDelta:function(){var t=0,e=this._popupStructure;return e.header&&(t+=e.header.offsetHeight),e.footer&&(t+=e.footer.offsetHeight),t},_updateLayout:function(){var t,e=this.options,i=this._contentNode,o=this._wrapper,n=i.style,r=o.style,s="leaflet-popup-scrolled",a=!1;n.margin=e.border+"px",DG.DomUtil.removeClass(i,s),this._isContentHeightEnough()?r.maxHeight=i.offsetHeight+2*e.border+"px":(r.maxHeight=e.maxHeight+"px",DG.DomUtil.addClass(i,s),a=!0);var l=2*e.autoPanPadding[0];return e.sprawling?(t=e.maxWidth,t=Math.min(t,this._map._container.offsetWidth-l),t=Math.max(t,e.minWidth)):(r.width="",n.whiteSpace="nowrap",t=o.offsetWidth,n.whiteSpace="",t=Math.min(t,this._map._container.offsetWidth-l),t=Math.min(Math.max(t,e.minWidth),e.maxWidth)),r.width=t+"px",this._containerWidth=this._container.offsetWidth,a},_updatePopupStructure:function(){Object.keys(this._popupStructure).forEach(function(t){this._insertContent(this["_"+t+"Content"],this._popupStructure[t])},this),this.fire("contentupdate")},_insertContent:function(t,e){t&&e&&(t="function"==typeof t?t(this._source||this):t,"string"==typeof t?e.innerHTML=t:(this._clearNode(e),e.appendChild(t)))},_clearNode:function(t){for(;t.hasChildNodes();)t.removeChild(t.firstChild)},_detachEl:function(t){return t.parentNode&&t.parentNode.removeChild(t),t},_switchEvents:function(t){var e=t?"off":"on";DG.Browser.touch?DG.DomEvent[e](this._contentNode,"touchstart mousedown mousemove",this._onStart,this):DG.DomEvent[e](this._contentNode,"click",this._onClick,this),this._isBaronExist&&DG.DomEvent[e](this._scroller,"scroll",this._onScroll,this)},_toggleTouchEvents:function(t){var e=t?"off":"on";DG.DomEvent[e](this._contentNode,"touchmove",this._onMove,this),DG.DomEvent[e](this._contentNode,"touchend",this._onEnd,this)}})}(),DG.Map.include({_markerClass:"dg-customization__marker_type_mushroom",_markerShowClass:"dg-customization__marker_appear",_markerHideClass:"dg-customization__marker_disappear",_dgHideClass:"dg-popup_hidden_true",openPopup:function(t,e,i){if(!(t instanceof L.Popup)){var o=t;t=new L.Popup(i).setContent(o)}return e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,t._source&&t._source._icon&&(t._source._icon.className.indexOf(this._markerClass)!==-1?(DG.DomUtil.removeClass(t._source._icon,this._markerShowClass),DG.DomUtil.addClass(t._source._icon,this._markerHideClass)):(DG.DomUtil.addClass(t._source._icon,this._dgHideClass),t._source._shadow&&DG.DomUtil.addClass(t._source._shadow,this._dgHideClass))),this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&(t._source&&t._source._icon&&(t._source._icon.className.indexOf(this._markerClass)!==-1?(DG.DomUtil.removeClass(t._source._icon,this._markerHideClass),DG.DomUtil.addClass(t._source._icon,this._markerShowClass)):(DG.DomUtil.removeClass(t._source._icon,this._dgHideClass),t._source._shadow&&DG.DomUtil.removeClass(t._source._shadow,this._dgHideClass))),this.removeLayer(t)),this}}),DG.Dictionary={},DG.Dictionary.ru={pluralRules:function(t){return t%10===1&&t%100!==11?0:t%10>=2&&t%10<=4&&t%10%1===0&&(t%100<12||t%100>14)?1:t%10===0||t%10>=5&&t%10<=9&&t%10%1===0||t%100>=11&&t%100<=14&&t%100%1===0?2:void 0}},DG.Dictionary.en={pluralRules:function(t){return 1===t?0:1}},DG.Dictionary.it={pluralRules:function(t){return 1===t?0:1}},DG.Dictionary.cs={pluralRules:function(t){return 1===t?0:t>=2&&t<=4?1:2}},DG.Dictionary.es={pluralRules:function(t){return t>=2?1:0}},DG.Dictionary.ar={pluralRules:function(){return 0}},DG.Locale={t:function(t,e){var i,o,n,r=this._map.getLang(),s=!1;return"undefined"==typeof this.constructor.Dictionary[r]&&(r="ar"===r?"en":DG.config.defaultLang),o=this.constructor.Dictionary[r][t],(s="undefined"!=typeof o)?(i=s?o:t,void 0!==e&&(e=parseInt(e,10),e=isNaN(e)?0:e,n=this.constructor.Dictionary[r].pluralRules(e),i=o[n]),i=DG.Util.template(i,{n:e})):t}},DG.Map.include({setLang:function(t){t&&"[object String]"===Object.prototype.toString.call(t)&&(this.options.currentLang=t,this.fire("langchange",{lang:t}))},getLang:function(){if(!this.options.currentLang){var t=document.documentElement,e=t.lang||t.getAttributeNS&&t.getAttributeNS("http://www.w3.org/XML/1998/namespace","lang")||DG.config.defaultLang;this.options.currentLang=e}return this.options.currentLang}}),DG.RoundControl=DG.Control.extend({includes:DG.Mixin.Events,options:{position:"topright",iconClass:"default"},onAdd:function(t){var e=this._controlCLass="dg-control-round",i=this._controlIconCLass=this._controlCLass+"__icon",o=DG.DomUtil.create("div","");if(this._disable)return o;DG.DomUtil.addClass(o,e);var n=this._link=DG.DomUtil.create("a",i+" "+i+"_name_"+this.options.iconClass,o);return n.href="#",this._renderTranslation(),this._map=t,DG.DomEvent.on(o,"click",this._toggleControl,this).on(o,"dblclick",DG.DomEvent.stopPropagation).on(n,"mousedown",DG.DomEvent.stopPropagation),this.fireEvent("add"),o},onRemove:function(){this.fireEvent("remove"),DG.DomEvent.off(this._link,"click",this._toggleControl)},setState:function(t){return this._link&&this._container?(this._state&&(DG.DomUtil.removeClass(this._container,this._controlCLass+"_state_"+this._state),DG.DomUtil.removeClass(this._link,this._controlIconCLass+"_state_"+this._state),this._state=null),t&&(this._state=t,DG.DomUtil.addClass(this._container,this._controlCLass+"_state_"+this._state),DG.DomUtil.addClass(this._link,this._controlIconCLass+"_state_"+this._state)),this):this},_toggleControl:function(t){DG.DomEvent.stop(t),this.fireEvent("click")}}),DG.RoundControl.include(DG.Locale),DG.roundControl=function(t){return new DG.RoundControl(t)};var ie9=function(){var t=document.createElement("div"),e=t.getElementsByTagName("i");return t.innerHTML="",Boolean(e[0])}(),safari51=DG.Browser.safari&&navigator.userAgent.indexOf("Version/5.1")!==-1,wasPreviouslyDisabled=!1;try{wasPreviouslyDisabled="false"===localStorage.getItem("DGMuseum")}catch(err){}DG.Map.mergeOptions({museum:!wasPreviouslyDisabled&&(DG.Browser.ielt9||ie9||DG.Browser.opera12||safari51)}),DG.Map.Museum=DG.Handler.extend({statics:{Dictionary:{ar:{wearesorry:"لا نضمن لك تشغيل ثابت للتطبيق على متصفحك. حاول التحديث:"},cs:{wearesorry:"Nezaručujeme stabilní fungování aplikace ve Vašem prohlížeči. Zkuste provést aktualizaci:"},en:{wearesorry:"We do not guarantee stable operation of the application in your browser. Try updating:"},es:{wearesorry:"No garantizamos un funcionamiento estable de la aplicación en su buscador. Intente actualizarlo:"},it:{wearesorry:"Non garantiamo il funzionamento stabile dell'applicazione nel tuo browser. Prova ad aggiornare:"},ru:{wearesorry:"Мы не гарантируем стабильную работу приложения в вашем браузере. Попробуйте обновиться:"}}},includes:[DG.Locale],initialize:function(t){this._map=t,this._element=document.createElement("div"),this._element.className="dg-museum",this._element.innerHTML='',this._text=this._element.children[0],this._closeButton=document.createElement("span"),this._closeButton.className="dg-museum__close",this._element.appendChild(this._closeButton),this._renderTranslation()},addHooks:function(){this._map.getContainer().appendChild(this._element),this._map.on("langchange",this._renderTranslation,this),DG.DomEvent.on(this._closeButton,"click",this._onCloseButtonClick,this)},removeHooks:function(){this._map.getContainer().removeChild(this._element),this._map.off("langchange",this._renderTranslation,this),DG.DomEvent.off(this._closeButton,"click",this._onCloseButtonClick,this)},_onCloseButtonClick:function(t){DG.DomEvent.stop(t);try{localStorage.setItem("DGMuseum","false")}catch(e){}this.disable()},_renderTranslation:function(){var t=this._map.getLang();this._text.innerHTML=this.t("wearesorry"),this._element.setAttribute("dir","ar"===t?"rtl":"ltr")}}),DG.Map.addInitHook("addHandler","museum",DG.Map.Museum),DG.configTheme=DG.configTheme||{},DG.configTheme.markersData={iconSize:[22,34],className:"dg-customization__marker dg-customization__marker_type_mushroom",iconAnchor:[10,32]},DG.Map.mergeOptions({bounceAtZoomLimits:!1});var controlAddTo=DG.Control.prototype.addTo;DG.Control.include({addTo:function(t){return t.on("langchange",this._renderTranslation,this),controlAddTo.call(this,t)},_renderTranslation:function(){}}),DG.DivIcon.include({createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),i=this.options;if(i.html instanceof Element?(DG.DomUtil.empty(e),e.appendChild(i.html)):e.innerHTML=i.html!==!1?i.html:"",i.bgPos){var o=toPoint(i.bgPos);e.style.backgroundPosition=-o.x+"px "+-o.y+"px"}return this._setIconStyles(e,"icon"),e}}),DG.Browser.safari51=DG.Browser.safari&&navigator.userAgent.indexOf("Version/5.1")!==-1;var msPointer=navigator.msPointerEnabled&&navigator.msMaxTouchPoints&&!window.PointerEvent,pointer=window.PointerEvent&&navigator.pointerEnabled&&navigator.maxTouchPoints||msPointer,documentTouch=window.DocumentTouch&&document instanceof window.DocumentTouch;DG.Browser.touchEnabled=pointer||"ontouchstart"in window||documentTouch,DG.Marker.prototype.options.icon=DG.divIcon(DG.configTheme.markersData);var utilSetOptions=DG.Util.setOptions;if(DG.setOptions=L.setOptions=DG.Util.setOptions=function(t,e){return e&&"undefined"!=typeof e.clickable&&(e.interactive=e.clickable),utilSetOptions.call(this,t,e)},DG.Layer.mergeOptions({nonBubblingEvents:["click","dblclick","mouseover","mouseout","contextmenu"]}),L.Canvas.include({_initContainer:function(){var t=this._container=document.createElement("canvas");L.DomEvent.on(t,"mousemove",this._onMouseMove,this).on(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this).on(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")}}),DG.Path){var pathInitialize=DG.Path.prototype.onAdd,loggedGeometryTypes={};DG.Path.include({onAdd:function(t){var e="Unknown";return DG.Rectangle&&this instanceof DG.Rectangle?e="Rectangle":DG.Circle&&this instanceof DG.Circle?e="Circle":DG.CircleMarker&&this instanceof DG.CircleMarker?e="CircleMarker":DG.Polygon&&this instanceof DG.Polygon?e="Polygon":DG.Polyline&&this instanceof DG.Polyline&&(e="Polyline"),loggedGeometryTypes[e]||(loggedGeometryTypes[e]=!0,void 0!==typeof ga&&ga(DG.config.gaName+".send","event","Geometry","Use",e)),pathInitialize.call(this,t)}})}var initMap=DG.Map.prototype.initialize,panBy=DG.Map.prototype.panBy,getBoundsZoom=DG.Map.prototype.getBoundsZoom,setMaxZoom=DG.Map.prototype.setMaxZoom;DG.Map.include({_tileLayersNumber:0,_mapMaxZoomCache:null,initialize:function(t,e){e=DG.extend({wheelPxPerZoomLevel:1e4},e),this.metaLayers=[],initMap.call(this,t,e),this.options.center&&void 0!==this.options.zoom&&this.setView(DG.latLng(this.options.center),this.options.zoom,{reset:!0}),this._lastMetalayer={layer:void 0,entity:void 0}},setView:function(t,e,i){if(this._restrictZoom(t,e),e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(DG.latLng(t),e,this.options.maxBounds),i=i||{},i.animate&&(i.animate=this._testAnimation(t)),this._stop(),this._loaded&&!i.reset&&i!==!0){void 0!==i.animate&&(i.zoom=DG.extend({animate:i.animate,duration:i.duration},i.zoom),i.pan=DG.extend({animate:i.animate,duration:i.duration},i.pan));var o=this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan);if(o)return clearTimeout(this._sizeTimer),this}return this._resetView(t,e),this},panBy:function(t,e){var i=panBy.call(this,t,e),o=this._restrictZoom(this.getCenter());return this.getZoom()>o&&this.setZoom(o),i},getBoundsZoom:function(t,e,i){return t=DG.latLngBounds(t),this._restrictZoom(t),getBoundsZoom.call(this,t,e,i)},getTileLayersNumber:function(){return this._tileLayersNumber},setMaxZoom:function(t){return this._mapMaxZoomCache=null,setMaxZoom.call(this,t)},_testAnimation:function(t){if(this.projectDetector.enabled()){var e=this.projectDetector.getProject(),i=this.projectDetector.isProjectHere(t);if(e&&i)return e.code===i.code}return!0},_updateTileLayers:function(t){t.layer instanceof DG.TileLayer&&!t.layer._isDg&&("layeradd"===t.type?this._tileLayersNumber++:this._tileLayersNumber--)},_getNewBounds:function(t,e){if(t instanceof DG.LatLngBounds)return t;var i=this.project(t,e),o=this.getSize().divideBy(2),n=this.unproject(i.subtract(o),e),r=this.unproject(i.add(o),e);return DG.latLngBounds(n,r)},_restrictZoom:function(t,e){if(this._layers&&this.projectDetector.enabled()&&0===this._tileLayersNumber){var i=this.options,o=!!i.maxZoom,n=this.baseLayer,r=this._getNewBounds(t,e),s=this.projectDetector.isProjectHere(r);return o?(this._mapMaxZoomCache||(this.baseLayer.options.detectRetina&&DG.Browser.retina&&i.maxZoom>0&&i.maxZoom--,this._mapMaxZoomCache=i.maxZoom),i.maxZoom=this._mapMaxZoomCache&&s?this._mapMaxZoomCache:DG.config.projectLeaveMaxZoom,s&&(this._mapMaxZoomCache=i.maxZoom),i.maxZoom):(s?n.options.detectRetina&&DG.Browser.retina&&s.maxZoom>0?n.options.maxZoom=s.maxZoom-1:n.options.maxZoom=s.maxZoom:n.options.maxZoom=DG.config.projectLeaveMaxZoom,n.options.maxNativeZoom=n.options.maxZoom,this._updateZoomLevels(),n.options.maxZoom)}},_fireDOMEvent:function(t,e,i){if(13!==t.keyCode){if("click"===t.type){var o=L.Util.extend({},t);o.type="preclick",this._fireDOMEvent(o,o.type,i)}if(!t._stopped&&(i=(i||[]).concat(this._findEventTargets(t,e)),i.length)){var n=i[0];"contextmenu"===e&&n.listens(e,!0)&&L.DomEvent.preventDefault(t);var r={originalEvent:t,eventTargets:i,eventTargetsMapIndex:i.indexOf(this)};if("keypress"!==t.type){var s=n instanceof L.Marker;r.containerPoint=s?this.latLngToContainerPoint(n.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=s?n.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var a=0;a=0;o--){var n=this.metaLayers[o].getHoveredObject(t);if(n)return{layer:this.metaLayers[o],entity:n};if(i)return{layer:this.metaLayers[o],entity:void 0}}return{layer:void 0,entity:void 0}},_fireMetalayerEvent:function(t,e,i){if((e.entity||"click"===t)&&e.layer){var o=e.layer.mapEvents[t];o&&(i.entity=e.entity,o.call(e.layer,i))}}}),DG.Map.addInitHook(function(){this.on("layeradd layerremove",this._updateTileLayers)}),DG.Map.addInitHook(function(){0==this.options.dragging&&0==this.options.tap&&DG.DomUtil.addClass(this._container,"dg-dragging-false")}),DG.Map.addInitHook(function(){function t(){var t=this.getLang(),o=this.projectDetector&&this.projectDetector.getProject();"ru"!==t||o?this.baseLayer.options.errorTileUrl=e:this.baseLayer.options.errorTileUrl=i,""===u&&"ar"===t&&o&&"ae"===o.country_code?(u="ar",this.baseLayer.setUrl(s),this.baseLayer.setPreviewUrl&&this.baseLayer.setPreviewUrl(l)):"ar"!==u||"ar"===t&&o&&"ae"===o.country_code||(u="",this.baseLayer.setUrl(r),this.baseLayer.setPreviewUrl&&this.baseLayer.setPreviewUrl(a))}var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAAA1BMVEX28t5R0k5UAAAAH0lEQVR4Xu3AAQkAAADCMPunNsdhWxwAAAAAAAAAwAEhAAABg2UP5AAAAABJRU5ErkJggg==",i=DG.config.protocol+DG.config.baseUrl+"/img/nomap_ru.png",o=DG.Browser.mobile?DG.MobileTileLayer:DG.TileLayer,n=o.extend({initialize:function(t,e){this._isDg=!0,o.prototype.initialize.call(this,t,e)},getTiles:function(){return this._tiles}}),r=DG.config.protocol+(DG.Browser.retina?DG.config.retinaTileServer:DG.config.tileServer),s=DG.config.protocol+(DG.Browser.retina?DG.config.arabicRetinaTileServer:DG.config.arabicTileServer),a=DG.config.protocol+(DG.Browser.retina?DG.config.previewRetinaTileServer:DG.config.previewTileServer),l=DG.config.protocol+(DG.Browser.retina?DG.config.arabicPreviewRetinaTileServer:DG.config.arabicPreviewTileServer);this.baseLayer=new n(r,{subdomains:"0123",errorTileUrl:"ru"===this.getLang()?i:e,detectRetina:DG.config.detectRetina,maxZoom:19,maxNativeZoom:19,zIndex:0,updateWhenIdle:!1,previewUrl:a});var u="";t.call(this),this.baseLayer.addTo(this),this.on({langchange:t,projectchange:t,projectleave:t},this)}),DG.Map.mergeOptions({tilesCheck:!0}),DG.Map.TilesCheck=DG.Handler.extend({initialize:function(t){this._map=t,this._layer=t.baseLayer,this._moveStartEventCounter=0,this._moveEndEventCounter=0,this._loadingEventCounter=0,this._loadEventCounter=0},addHooks:function(){this._map.on(this._mapEvents,this),this._layer.on(this._layerEvents,this)},removeHooks:function(){this._map.off(this._mapEvents,this),this._layer.off(this._layerEvents,this)},_mapEvents:{layeradd:function(t){t.layer==this._layer&&this.enable()},layerremove:function(t){t.layer==this._layer&&this.disable()},movestart:function(){this._stopWaiting(),this._moveStartEventCounter++,this._isWaiting=!0},moveend:function(){this._moveEndEventCounter++,(this._isWaiting||this._moveStartEventCounter===this._moveEndEventCounter)&&(this._isMoveEnd=!0,this._checkWaiting())}},_layerEvents:{loading:function(){this._loadingEventCounter++},load:function(){this._loadEventCounter++,(this._isWaiting||this._loadingEventCounter===this._loadEventCounter)&&(this._isLoad=!0,this._checkWaiting())}},_stopWaiting:function(){this._isWaiting=!1,this._isMoveEnd=!1,this._isLoad=!1},_checkWaiting:function(){this._isWaiting&&this._isLoad&&this._isMoveEnd&&(this._stopWaiting(),this._resetCounters(),this._checkTiles())},_checkTiles:function(){if(0===this._map.getTileLayersNumber()&&this._map._loaded){var t=this._layer._tileZoom,e=this._layer.options.errorTileUrl,i=this._layer.getTiles();for(var o in i)if(i[o].coords.z===t&&i[o].el.src!==e)return;this._map.zoomOut()}},_resetCounters:function(){this._moveStartEventCounter=0,this._moveEndEventCounter=0,this._loadingEventCounter=0,this._loadEventCounter=0}}),DG.Map.addInitHook("addHandler","tilesCheck",DG.Map.TilesCheck);var onDragEnd=DG.Map.Drag.prototype._onDragEnd;DG.Map.Drag.include({_rememberTimeAndPosition:function(){var t=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos;for(this._positions.push(e),this._times.push(t);t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onDrag:function(t){this._map.options.inertia&&this._rememberTimeAndPosition(),this._map.fire("move",t).fire("drag",t)},_onDragEnd:function(){this._map.options.inertia&&!DG.Browser.touch&&this._rememberTimeAndPosition(),onDragEnd.call(this)}}),DG.PolyUtil.inside=function(t,e,i){i=i||DG.PolyUtil._defaultPointReduce;var o=e.coordinates,n=i(t);"Polygon"===e.type&&(o=[o]);for(var r=!1,s=0;st[1]!=h>t[1]&&t[0]<(c-l)*(t[1]-u)/(h-u)+l;d&&(o=!o)}return o},DG.PolyUtil._defaultPointReduce=function(t){return t},DG.Browser.mobile&&!function(){var t=L.DomUtil.addClass;L.DomUtil.addClass=function(e,i){"leaflet-dragging"!==i&&"leaflet-drag-target"!==i&&t(e,i)};var e=L.DomUtil.removeClass;L.DomUtil.removeClass=function(t,i){"leaflet-dragging"!==i&&"leaflet-drag-target"!==i&&e(t,i)},L.Draggable.include({_onMove:function(t){if(!t._simulated&&this._enabled){if(t.touches&&t.touches.length>1)return void(this._moved=!0);var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new L.Point(e.clientX,e.clientY),o=i.subtract(this._startPoint);if((o.x||o.y)&&!(Math.abs(o.x)+Math.abs(o.y)1)return void this._setView(t,i);for(var h=n.min.y;h<=n.max.y;h++)for(var d=n.min.x;d<=n.max.x;d++){var _=new L.Point(d,h);if(_.z=this._tileZoom,this._isValidTile(_)){var p=this._tiles[this._tileCoordsToKey(_)];p?p.current=!0:s.push(_)}}if(s.sort(function(t,e){return t.distanceTo(r)-e.distanceTo(r)}),0!==s.length)for(this._loading||(this._loading=!0,this.fire("loading")),d=0;d0?!this._existTileFromLowerZoom(t):!this._existTilesFromHigherZoom(t)},_existTileFromLowerZoom:function(t){var e=L.point(t.x/2,t.y/2)._floor();e.z=t.z-1;var i=this._tileCoordsToKey(e),o=this._tiles[i];return o&&!o.preview},_existTilesFromHigherZoom:function(t){for(var e=t.x,i=t.y,o=2*e;o<2*e+2;o++)for(var n=2*i;n<2*i+2;n++){var r=new L.Point(o,n);r.z=t.z+1;var s=this._tileCoordsToKey(r);if(!this._tiles[s])return!1}return!0},_addTile:function(t,e){var i=this._getTilePos(t),o=this._tileCoordsToKey(t),n=this._wrapCoords(t),r=this._needPreviewTile(n),s=r?this._previewUrl:this._url,a=this.createTile(n,L.bind(this._tileReady,this,t),s);this._initTile(a),L.DomUtil.setPosition(a,i),this._tiles[o]={el:a,preview:r,coords:t,current:!0},e.appendChild(a),this.fire("tileloadstart",{tile:a,coords:t})},_tileReady:function(t,e,i){if(this._map){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var o=this._tileCoordsToKey(t);i=this._tiles[o],i&&(i.originalEl&&i.el.parentNode?(i.el.parentNode.replaceChild(i.originalEl,i.el),i.el=i.originalEl,i.originalEl=null,i.preview=!1):i.preview&&(i.originalEl=this.createTile(this._wrapCoords(t),L.bind(this._tileReady,this,t),this._url),this._initTile(i.originalEl),L.DomUtil.setPosition(i.originalEl,this._getTilePos(t))),i.loaded=+new Date,i.active=!0,this._pruneTiles(),e||(i.el.style.visibility="",this.fire("tileload",{tile:i.el,preview:i.preview,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),L.Browser.ielt9||!this._map._fadeAnimated?L.Util.requestAnimFrame(this._pruneTiles,this):setTimeout(L.bind(this._pruneTiles,this),250)))}},getTileUrl:function(t,e){var i={r:L.Browser.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var o=this._globalTileRange.max.y-t.y;this.options.tms&&(i.y=o),i["-y"]=o}return L.Util.template(e,L.extend(i,this.options))}}),DG.Control.Zoom.include(DG.Locale),DG.Control.Zoom.Dictionary={},DG.Control.Zoom.include({onAdd:function(t){var e="dg-zoom",i='
',o=DG.DomUtil.create("div",e);return this._map=t,this._zoomInButton=this._createButton(DG.Util.template(i,{type:"in"}),this.t("zoom_in"),"dg-control-round "+e+"__in",o,this._zoomIn,this),this._zoomOutButton=this._createButton(DG.Util.template(i,{type:"out"}),this.t("zoom_out"),"dg-control-round "+e+"__out",o,this._zoomOut,this),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),o},_originalCreateButton:DG.Control.Zoom.prototype._createButton,_createButton:function(){var t=Array.prototype.slice.call(arguments),e=this._originalCreateButton.apply(this,t),i=e.children[0],o="dg-control-round_state_active",n="dg-control-round__icon_state_active";return DG.DomEvent.on(e,"touchstart",function(){DG.DomUtil.addClass(e,o),DG.DomUtil.addClass(i,n)}).on(e,"touchend touchcancel",function(){DG.DomUtil.removeClass(e,o),DG.DomUtil.removeClass(i,n)}),e},_renderTranslation:function(){this._zoomInButton&&this._zoomOutButton&&(this._zoomInButton.title=this.t("zoom_in"),this._zoomOutButton.title=this.t("zoom_out"))}}),DG.Control.Zoom.Dictionary.ru={zoom_in:"Приблизить",zoom_out:"Отдалить"},DG.Control.Zoom.Dictionary.it={zoom_in:"Zoom avanti",zoom_out:"Zoom indietro"},DG.Control.Zoom.Dictionary.cs={zoom_in:"Přiblížit",zoom_out:"Oddálit"},DG.Control.Zoom.Dictionary.en={zoom_in:"Zoom in",zoom_out:"Zoom out"},DG.Control.Zoom.Dictionary.es={zoom_in:"Acercar",zoom_out:"Alejar"},DG.Control.Zoom.Dictionary.ar={zoom_in:"",zoom_out:""};var dust=_dereq_("dustjs-linkedin");_dereq_("dustjs-helpers"),DG.dust=function(t,e){var i;return dust.render(t,e,function(t,e){i=e}),i},DG.Control.Attribution.include(DG.Locale),DG.Control.Attribution.Dictionary={},DG.Control.Attribution.include({options:{position:"bottomright"},_getLink:function(t){var e={ru:{copyright_logo:"https://2gis.ru/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_apilink:"https://dev.2gis.ru/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_license:"https://law.2gis.ru/api-rules/",open_link:"https://2gis.ru"},it:{copyright_logo:"https://2gis.it/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_apilink:"https://dev.2gis.com/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_license:"https://law.2gis.it/licensing-agreement/",open_link:"https://2gis.ru"},cz:{copyright_logo:"https://praha.2gis.cz/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_apilink:"https://dev.2gis.com/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_license:"https://law.2gis.cz/api-rules/",open_link:"https://2gis.ru"},cl:{copyright_logo:"https://santiago.2gis.cl/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_apilink:"https://dev.2gis.com/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_license:"https://law.2gis.cl/api-rules/",open_link:"https://2gis.ru"},cy:{copyright_logo:"https://info.2gis.com.cy/lemesos?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_apilink:"https://dev.2gis.com/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_license:"https://law.2gis.com.cy/api-rules/",open_link:"https://2gis.ru"},ae:{copyright_logo:"https://2gis.ae/dubai?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_apilink:"http://dev.2gis.com/?utm_source=copyright&utm_medium=map&utm_campaign=partners",copyright_license:"https://law.2gis.ae/api-rules/",open_link:"https://2gis.ae"}},i=this._countryCode in e?this._countryCode:"ru";return e[i][t]},_markerToRoute:void 0,_markers:[],_checkMarkerLayers:function(){this._markerToRoute=1!=this._markers.length?void 0:this._markers[0],this._update()},_mapEvents:{layeradd:function(t){t.layer instanceof DG.Marker&&(this._markers.push(t.layer),this._markers.length<=2&&this._checkMarkerLayers())},layerremove:function(t){if(t.layer instanceof DG.Marker){for(var e=[],i=0;i11?"bus":"car",point:this._markerToRoute._latlng.lng+","+this._markerToRoute._latlng.lat}):DG.Util.template(DG.config.openLink2gis,{gislink:this._getLink("open_link"),center:this._map.getCenter().lng+","+this._map.getCenter().lat,zoom:this._map.getZoom()})},_getData:function(t){t=t||this._map.getLang();var e={name:"open",label:this._markerToRoute?this.t("route_on"):this.t("open_on")},i="open_on"==e.label||"route_on"==e.label||this._logotype;return{logotype:i,work_on:this.t("work_on"),lang:t,copyright_apilink:this._getLink("copyright_apilink"),copyright_license:this._getLink("copyright_license"),copyright_logo:this._getLink("copyright_logo"),open2gis_link:this._open2gis,open2gis_name:"linkButton",license_agreement:this.t("license_agreement"),dir:"ar"!==t?"ltr":"rtl",btn:e}},_getAttributionHTML:function(t){return DG.dust("DGAttribution/copyright",this._getData(t))},_renderTranslation:function(t){this._update(t.lang)}}),DG.Map.addInitHook(function(){this._copyright||DG.control.attribution().addTo(this)}),DG.Control.Attribution.Dictionary.ru={license_agreement:"Лицензионное соглашение",work_on:"Работает на API 2ГИС",open_on:"Открыть в 2ГИС",route_on:"Доехать с 2ГИС"},DG.Control.Attribution.Dictionary.it={license_agreement:"Accordo di licenza",work_on:"2GIS API"},DG.Control.Attribution.Dictionary.cs={license_agreement:"Licenční smlouva",work_on:"Pracuje na API 2GIS"},DG.Control.Attribution.Dictionary.en={license_agreement:"License agreement",work_on:"Uses 2GIS API"},DG.Control.Attribution.Dictionary.es={license_agreement:"Acuerdo de licencia",work_on:"2GIS API"},DG.Control.Attribution.Dictionary.ar={license_agreement:"إتفاقية ترخيص",work_on:"يعمل بتطبيق 2GIS",open_on:"Open in 2GIS",route_on:"Route on 2GIS"},DG.Control.Location=DG.RoundControl.extend({statics:{Dictionary:{}},options:{iconClass:"locate",position:DG.Browser.mobile?"bottomright":"topleft",drawCircle:!0,follow:!0,stopFollowingOnDrag:!1,metric:!0,onLocationError:function(){},onLocationOutsideMapBounds:function(){},locateOptions:{}},initialize:function(t){return DG.Util.setOptions(this,t),navigator.geolocation?(this._event=void 0,this._locateOptions={watch:!0,setView:!0,maximumAge:1/0,maxZoom:1/0},DG.extend(this._locateOptions,this.options.locateOptions),this._resetVariables(),void this.on({click:this._handleLocate,add:this._initLocate})):void(this._disable=!0)},_initLocate:function(){this._layer=new DG.LayerGroup,this._layer.addTo(this._map),this._map.on({locationfound:this._onLocationFound,locationerror:this._onLocationError},this)},_handleLocate:function(){this._active&&(!this._event||this._map.getBounds().contains(this._event.latlng)||this._isOutsideMapBounds())?this._stopLocate():(this._locateOnNextLocationFound=!0,this._active||this._map.locate(this._locateOptions),this._active=!0,this.options.follow&&this._startFollowing(),this._clearError(),this._event?this._visualizeLocation():this.setState("requesting"))},_onLocationFound:function(t){this._event&&this._event.latlng.lat===t.latlng.lat&&this._event.latlng.lng===t.latlng.lng&&this._event.accuracy===t.accuracy||this._active&&(this._event=t,this.options.follow&&this._following&&(this._locateOnNextLocationFound=!0),this._visualizeLocation())},_startFollowing:function(){this._following=!0,this.options.stopFollowingOnDrag&&this._map.on("dragstart",this._stopFollowing,this)},_stopFollowing:function(){this._following=!1,this.options.stopFollowingOnDrag&&this._map.off("dragstart",this._stopFollowing,this),this._visualizeLocation()},_isOutsideMapBounds:function(){return void 0!==this._event&&(this._map.options.maxBounds&&!this._map.options.maxBounds.contains(this._event.latlng))},_visualizeLocation:function(){void 0===this._event.accuracy&&(this._event.accuracy=0);var t=this._event.accuracy;if(this._locateOnNextLocationFound){if(this._isOutsideMapBounds())this.options.onLocationOutsideMapBounds(this);else if(this._locateOptions.setView){var e=this._map.projectDetector.getProject(),i=e?e.maxZoom:DG.config.projectLeaveMaxZoom;i=Math.min(this._locateOptions.maxZoom,i),this._map.setView(this._event.latlng,i)}this._locateOnNextLocationFound=!1}var o={clickable:!1,color:"#FFF",fillColor:"#FFF",fillOpacity:.4,weight:0,opacity:.3};this.options.drawCircle&&(this._circle?this._circle.setLatLng(this._event.latlng).setRadius(t):this._circle=DG.circle(this._event.latlng,t,o).addTo(this._layer));var n="dg-location__pin";n+=this._following?" "+n+"state_following":"";var r={icon:DG.divIcon({className:n,iconSize:[20,20]})};this._marker?this._marker.setLatLng(this._event.latlng):this._marker=DG.marker(this._event.latlng,r).bindLabel(this.t("you_are_here")).addTo(this._layer),DG.DomEvent.on(this._marker,"click",function(){this._map.fireEvent("dgLocateClick")},this),this._container&&this.setState("active")},_resetVariables:function(){this._active=!1,this._following=!1},_stopLocate:function(){this._map.stopLocate(),this._map.off("dragstart",this._stopFollowing),this.setState(),this._resetVariables(),this._layer.clearLayers(),this._marker=void 0,this._circle=void 0,this._event=void 0},_onLocationError:function(t){if(3!==t.code||!this._locateOptions.watch){this._stopLocate(),this._error=DG.DomUtil.create("div","dg-label dg-label_name_location-error",this._container),this._errorText=DG.DomUtil.create("div","dg-label__content",this._error),this._errorText.innerHTML=this.t("cant_find");var e=this;setTimeout(function(){e._clearError()},3e3),this.options.onLocationError(t)}},_clearError:function(){this._error&&(this._container.removeChild(this._error),this._error=void 0,this._errorText=void 0)},_renderTranslation:function(){this._link&&(this._link.title=this.t("button_title")),this._marker&&this._marker.bindLabel(this.t("you_are_here"))}}),DG.control.location=function(t){return new DG.Control.Location(t)},DG.Map.addInitHook(function(){this.options.locationControl&&(this.locationControl=DG.control.location(this.options.locationControl),this.addControl(this.locationControl))}),DG.Control.Location.Dictionary.ru={cant_find:"Мы не смогли Вас найти",you_are_here:"Вы здесь",button_title:"Найти Вас на карте"},DG.Control.Location.Dictionary.it={cant_find:"Non siamo riusciti a localizzarti",you_are_here:"Voi siete qui",button_title:"Trova la tua posizione sulla mappa"},DG.Control.Location.Dictionary.cs={cant_find:"Nepodařilo se nám určit Vaši polohu",you_are_here:"Jste tady",button_title:"Určit Vaši polohu na mapě"},DG.Control.Location.Dictionary.en={cant_find:"We can't find you",you_are_here:"You are here",button_title:"Show your location"},DG.Control.Location.Dictionary.es={cant_find:"No pudimos encontrarte",you_are_here:"Tú estás aquí",button_title:"Encontrarte en el mapa"},DG.Control.Location.Dictionary.ar={cant_find:"لم نستطع تحديد موقعك",you_are_here:"أنت هنا",button_title:"موقعي"},DG.Screenfull=DG.Class.extend({_apiMap:[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],initialize:function(){this.api=this._api()},request:function(t){var e=this.api.requestFullscreen;t=t||document.documentElement,t[e](Element.ALLOW_KEYBOARD_INPUT)},exit:function(){document[this.api.exitFullscreen]()},isFullscreen:function(){return!!document[this.api.fullscreenElement]},isAvailable:function(){return Boolean(this.api)},_api:function(){var t={},e=this._apiMap;return e.forEach(function(i){i&&i[1]in document&&i.forEach(function(i,o){t[e[0][o]]=i})}),!!t.requestFullscreen&&t}}),DG.screenfull=new DG.Screenfull,DG.Control.Fullscreen=DG.RoundControl.extend({statics:{Dictionary:{}},options:{position:"topright",iconClass:"fullscreen"},initialize:function(t){DG.Util.setOptions(this,t),this._isFullscreen=!1,this.on("click",this._toggleFullscreen)},_toggleFullscreen:function(){this._isFullscreen?this._toggle(!1,"exit","on","cancelfullscreen"):this._toggle(!0,"request","on","requestfullscreen"),this._renderTranslation(),this._map.invalidateSize()},_renderTranslation:function(){this._link.title=this.t(this._isFullscreen?"title_min":"title_max")},_toggle:function(t,e,i,o){var n=this._map._container;this._isFullscreen=t,this.setState(t?"active":""),DG.screenfull[e](n),DG.DomEvent[i](document,DG.screenfull.api.fullscreenchange,this._onFullScreenStateChange,this),this._map.fire(o)},_onFullScreenStateChange:function(){DG.screenfull.isFullscreen()||this._toggle(!1,"exit","on","cancelfullscreen")}}),DG.control.fullscreen=function(t){return new DG.Control.Fullscreen(t)},DG.Map.mergeOptions({fullscreenControl:!0}),DG.Map.addInitHook(function(){this.options.fullscreenControl&&(this.fullscreenControl=DG.control.fullscreen(this.options.fullscreenControl),DG.screenfull.isAvailable()&&this.addControl(this.fullscreenControl))}),DG.Control.Fullscreen.Dictionary.ru={title_max:"Развернуть",title_min:"Восстановить"},DG.Control.Fullscreen.Dictionary.it={title_max:"Espandi",title_min:"Ripristina"},DG.Control.Fullscreen.Dictionary.cs={title_max:"Rozbalit",title_min:"Obnovit"},DG.Control.Fullscreen.Dictionary.en={title_max:"Expand",title_min:"Restore"},DG.Control.Fullscreen.Dictionary.es={title_max:"Maximizar",title_min:"Restaurar"},DG.Control.Fullscreen.Dictionary.ar={title_max:"",title_min:""},DG.Meta={},DG.Meta.Layer=DG.Layer.extend({options:{tileSize:256,minZoom:0,maxZoom:19,zoomOffset:0,eventBubbling:"transparent"},initialize:function(t,e){DG.TileLayer.prototype.initialize.call(this,null,e),delete this._url,this._currentTileKey="",this._currentTileData=[],this._lastEntity=void 0,this._dispatchMouseEvents=!0,this._origin=DG.Meta.origin(t,{dataFilter:this.options.dataFilter})},getOrigin:function(){return this._origin},onAdd:function(t){this._resetView(),t.metaLayers.push(this),t.on("rulerstart",this._disableDispatchMouseEvents,this),t.on("rulerend",this._enableDispatchMouseEvents,this);var e=this;DG.Browser.touchEnabled&&this.options.isPoi&&t.eachLayer(function(t){if(t instanceof L.TileLayer){t.on("tileloadstart",e._onTileLoadStart,e);for(var i in t._tiles)e._onTileLoadStart({coords:t._tiles[i].coords})}})},onRemove:function(t){var e=this;DG.Browser.touchEnabled&&this.options.isPoi&&t.eachLayer(function(t){t instanceof L.TileLayer&&t.off("tileloadstart",e._onTileLoadStart)}),this._tileZoom=null;var i=t.metaLayers.indexOf(this);i!==-1&&t.metaLayers.splice(i,1),t.off("rulerstart",this._disableDispatchMouseEvents,this),t.off("rulerend",this._enableDispatchMouseEvents,this)},getEvents:function(){return{viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd}},setUrl:function(t){this._currentTileKey="",this._currentTileData=[],this._lastEntity=void 0,this._dispatchMouseEvents=!0,this._origin.setURL(t,!0)},getHoveredObject:function(t){var e,i=this.getTileSize(),o=this._map.mouseEventToLayerPoint(t.originalEvent),n=this._map.getPixelOrigin().add(o),r=n.unscaleBy(i).floor(),s=DG.point(n.x%i.x,n.y%i.y),a=this._map.getZoom(),l=this;if(!(a>this.options.maxZoom+this.options.zoomOffset||a=e[o]&&i.push(o)}),i.length?i.join(","):null},_performRequest:function(t,e){var i=DG.extend({key:this._key},t),o="get";return this.cancelLastRequest(),DG.ajax.corsSupport||(o=i.format="jsonp"),this._lastRequest=DG.ajax(e,{type:o,data:i,timeout:this._timeoutMs,withCredentials:!0}),this._lastRequest},_filterResponse:function(t,e){var i,o,n,r,s,a={};if(this._isNotFound(t))return!1;for(r=t.result.items,i=r.length-1;i>=0;i--)o=r[i],s=o.type,o.subtype&&(s+="."+o.subtype),e&&e.indexOf(s)===-1||(a[s]=o,n=!0);return!!n&&a},_isNotFound:function(t){return!(t&&(!t.meta||!t.meta.error)&&t.result&&t.result.items&&t.result.items.length)}}),DG.Geoclicker.Handler={},DG.Geoclicker.Handler.Default=DG.Class.extend({includes:DG.Locale,statics:{Dictionary:{}},_eventHandlers:{},initialize:function(t,e,i){this._controller=t,this._view=e,this._map=i},handle:function(){return Promise.resolve({tmpl:"popupHeader",data:{title:this.t("we_have_not")}})},addClickEvent:function(){this._view._popup.on("click",this._runEventHandlers,this),this._map.once("popupclose",this._removeClickEvent,this)},_removeClickEvent:function(){this._view._popup.off("click",this._runEventHandlers,this)},_addEventHandler:function(t,e){this._eventHandlers[t]=e},_runEventHandlers:function(t){var e=t.originalEvent.target;for(var i in this._eventHandlers)if(this._eventHandlers.hasOwnProperty(i)&&e.className.indexOf(i)>-1)return DG.DomEvent.preventDefault(t.originalEvent),void this._eventHandlers[i].call(this,e)},_clearEventHandlers:function(){this._eventHandlers={}},_getDirectionsUrl:function(t){var e=this._map.projectDetector.getProject();return e?DG.Util.template(DG.config.ppnotLink,{domain:e.domain,projectCode:e.code,center:this._map.getCenter().lng+","+this._map.getCenter().lat,zoom:this._map.getZoom(),name:encodeURIComponent(t),rsType:e.transport?"bus":"car",point:this._popup._latlng.lng+","+this._popup._latlng.lat}):""},_getDrilldown:function(t){var e,i=[];return t.adm_div&&(i=t.adm_div.reduce(function(t,e){return e.name&&t.push(e.name),t},[]).reverse()),i.length&&t.address&&t.address.postcode&&i.push(t.address.postcode),e=i.join(", ")}}),DG.Geoclicker.Handler.HandlerExample=DG.Geoclicker.Handler.Default.extend({handle:function(t,e){return Promise.resolve({tmpl:e+":
"+t[e].id})}}),DG.Geoclicker.Handler.ApiError=DG.Geoclicker.Handler.Default.extend({handle:function(){var t=this._view.render({tmpl:"popupHeader",data:{title:this.t("apiErrorTitle")}});return Promise.resolve({header:t,tmpl:this.t("apiErrorBody")})}}),DG.Geoclicker.Handler.CityArea=DG.Geoclicker.Handler.Default.extend({_polylineStyleDefault:{fillColor:"#ff9387",color:"#ff9387",noClip:!0,opacity:1},_polylineStyles:{11:{fillOpacity:.18,weight:1},12:{fillOpacity:.12,weight:1},13:{fillOpacity:.08,weight:2},18:{fillOpacity:0,weight:3}},handle:function(t,e){return!!t[e]&&(this._stylesInited||this._initStyles(),this._geometry&&this._map.removeLayer(this._geometry),this._popup=this._view.getPopup(),this._geometryZoomStyle=this._getPolyStyleNum(),this._geometry=DG.Wkt.geoJsonLayer(t[e].geometry.selection,{style:this._polylineStyles[this._geometryZoomStyle],interactive:!1}).addTo(this._map),this._map.on("zoomend",this._updateGeometry,this).once("popupclose",this._clearPopup,this),Promise.resolve(this._fillCityAreaObject(t,e)))},_fillCityAreaObject:function(t,e){var i={name:this.t("noname"),drilldown:"",purpose:this.t(e),type:e.split(".").join("_")};return i.drilldown=this._getDrilldown(t[e]),t[e].name&&(i.name=t[e].name),{tmpl:"cityarea",data:i,header:this._view.render({tmpl:"popupHeader",data:{title:i.name}})}},_initStyles:function(){this._stylesInited=!0,Object.keys(this._polylineStyles).forEach(function(t){DG.extend(this._polylineStyles[t],this._polylineStyleDefault)},this)},_getPolyStyleNum:function(){var t=this._map.getZoom();return Object.keys(this._polylineStyles).filter(function(e){return t<=e})[0]||!1},_updateGeometry:function(){var t=this._getPolyStyleNum();t&&t!==this._geometryZoomStyle&&(this._geometryZoomStyle=t,this._geometry.setStyle(this._polylineStyles[t]))},_clearPopup:function(){this._map.removeLayer(this._geometry).off("zoomend",this._updateGeometry,this)}}),DG.Geoclicker.Handler.House=DG.Geoclicker.Handler.Default.extend({_firmsOnPage:20,_scrollThrottleInterval:400,_scrollHeightReserve:60,options:{showBooklet:!0,showPhotos:!0,showRouteSearch:!0},handle:function(t){return!!t.building&&(this.firmCard=null,this._page=1,this._houseObject=null,this._firmList=null,this._firmListObject=null,this._firmCardObject=null,this._onScroll=!1,this._isFirmlistOpen=!1,this._id=t.building.id,this._totalPages=1,this._api=this._controller.getCatalogApi(),this._popup=this._view.getPopup(),this._initedPopupClose=!1,this._directionsUrl=this._getDirectionsUrl(t.building.name),this._firmListLoader=this._view.initLoader(!0),this._houseObject=this._fillHouseObject(t.building),Promise.resolve(this._houseObject))},_isRouteSearchAllowed:function(){var t=this._controller.getMap().projectDetector.getProject();return t.transport||t.roads},_firmCardSetup:function(){var t=this._controller.getMap().projectDetector.getProject();return{render:this._view.renderTemplate,lang:this._map.getLang(),domain:t?t.domain:"ru",ajax:DG.bind(this._api.getFirmInfo,this._api),timezoneOffset:t?t.timeOffset:0,map:this._map,popup:this._popup,isMobile:DG.Browser.mobile,showEntrance:DG.Entrance,gotoUrl:this._directionsUrl,onFirmReady:DG.bind(this._onFirmReady,this),onToggle:DG.bind(this._popup.resize,this._popup),showBooklet:this.options.showBooklet,showPhotos:this.options.showPhotos,showRouteSearch:this.options.showRouteSearch&&this._isRouteSearchAllowed(),t:DG.bind(this.t,this)}},_fillFirmCardObject:function(t){var e=this._firmCardSetup();return this.firmCard=new FirmCard(t,e),this._initPopupClose(),this.firmCard.getContainer()},_firmListSetup:function(){var t=this._firmCardSetup();return DG.extend(t,{backBtn:DG.bind(this._showHousePopup,this),onFirmClick:DG.bind(this._onFirmListClick,this),onShowLess:DG.bind(this._showHousePopup,this),pasteLoader:DG.bind(this._pasteLoader,this)}),{firmCard:t,firmlistItemTmpl:"firmlistItem",onListReady:DG.bind(this._renderFirmList,this)}},_initShortFirmList:function(t){var e=this._firmListSetup();return this._shortFirmList=new FirmCard.List(t,e),this._shortFirmList.renderList()},_initFirmList:function(t){if(!t)return!1;var e=t.result.items,i=this._firmListSetup();i.firmCard.backBtn=DG.bind(this._showListPopup,this),this._shortFirmList&&this._shortFirmList._toggleEventHandlers(!0),this._firmList=new FirmCard.List(e,i),this._firmListObject=this._fillFirmListObject(this._firmList.renderList()),this._clearAndRenderPopup(this._firmListObject)},_fillFirmListObject:function(t){var e=this;return{tmpl:t,header:this._header,footer:this._view.render({tmpl:"popupFooterBtns",data:{btns:[{name:"back",label:this.t("back_button"),icon:!0}]}}),afterRender:function(){e._initPopupClose(),e._totalPages>1&&e._firmListLoader&&this.tmpl.parentNode.appendChild(e._firmListLoader)}}},_onFirmReady:function(t){var e=this;t.afterRender=function(){var t=e._popup._popupStructure.header.firstChild;DG.Browser.ielt9||t.offsetHeight>72&&(DG.DomUtil.addClass(t,"dg-popup__header-teaser"),DG.Browser.webkit||DG.Geoclicker.clampHelper(t,3))},this._clearAndRenderPopup(t)},_showHousePopup:function(){this._popup.off("scroll",this._onScroll),this._clearAndRenderPopup(this._houseObject),this._shortFirmList&&this._shortFirmList._toggleEventHandlers()},_onFirmListClick:function(){this._popup.off("scroll",this._onScroll)},_pasteLoader:function(){var t=DG.DomUtil.create("div","dg-map-geoclicker__preloader-wrapper"),e=this._view.initLoader();t.insertBefore(e,t.firstChild),t.style.height=this._popup._contentNode.offsetHeight-1+"px",t.style.width=this._popup._contentNode.offsetWidth+"px",this._clearAndRenderPopup({tmpl:t}); },_initPopupClose:function(){this._initedPopupClose||(this._controller.getMap().once("popupclose",DG.bind(this._onPopupClose,this)),this._initedPopupClose=!0)},_showListPopup:function(){var t=this._firmListObject;this._pasteLoader(),t?(this._clearAndRenderPopup(t),this._firmList._toggleEventHandlers()):t=this._api.firmsInHouse(this._id).then(DG.bind(this._initFirmList,this)),this._onScroll||(this._onScroll=DG.Util.throttle(this._handlePopupScroll,this._scrollThrottleInterval,this)),this._popup.on("scroll",this._onScroll)},_renderFirmList:function(){this._isFirmlistOpen||(this._popup.resize(),this._isFirmlistOpen=!0)},_onPopupClose:function(){this._initedPopupClose=!1,this._firmList&&(this._firmList.clearList(),this._firmList=null,this._popup.off("scroll",this._onScroll)),this._firmId=null,this.firmCard&&(this.firmCard._toggleEventHandlers(!0),this.firmCard=null),this._firmListLoader=null,this._page=1,this._clearEventHandlers()},_initShowMore:function(){var t=this._popup.findElement(".dg-popup__button_name_all");t&&this._addEventHandler("dg-popup__button_name_all",DG.bind(this._showListPopup,this))},_clearAndRenderPopup:function(t){this._clearEventHandlers(),this._popup.clear("header","footer"),this._view.renderPopup(t)},_appendFirmList:function(t){this._firmList.addFirms(t.result.items),this._popup._updateScrollPosition()},_handlePopupScroll:function(t){var e=t.originalEvent.target||t.target._scroller;DG.DomEvent.stop(t),this._totalPages<=1||e&&e.scrollHeight<=e.scrollTop+e.offsetHeight+this._scrollHeightReserve&&this._handlePaging()},_handlePaging:function(){if(this._page++,this._totalPages&&this._page<=this._totalPages&&this._api.firmsInHouse(this._id,{page:this._page}).then(DG.bind(this._appendFirmList,this)),this._page===this._totalPages){var t=this._firmListLoader;t&&t.parentNode&&t.parentNode.removeChild(t),this._popup.off("scroll",this._onScroll)}}}),DG.Geoclicker.Handler.House.include({_getAddressString:function(t){return t.address&&t.address.components?t.address.components.filter(function(t){return"street_number"===t.type}).map(function(t){return t.street+", "+t.number}).join(" / "):""},_fillBody:function(t){var e={},i=DG.DomUtil.create("div","dg-building-callout__body"),o=t.links&&t.links.branches,n=this._getDrilldown(t);return t.building_name?e.address={header:this._getAddressString(t),drilldown:n}:n&&(e.address={drilldown:n}),e.purpose=t.purpose_name+(t.floors?", "+this.t("n_floors",t.floors.ground_count):""),o&&o.count>0&&(this._totalPages=Math.ceil(t.links.branches.count/this._firmsOnPage)),t.links&&t.links.attractions&&t.links.attractions.length&&(e.attractions=t.links.attractions.reduce(function(t,e){return e.name&&t.push(e.name),t},[])),i.innerHTML=this._view.render({tmpl:"house",data:e}),o&&o.items&&i.appendChild(this._initShortFirmList(o.items)),i},_fillHeader:function(t){var e={};return t.building_name?e.title=t.building_name:t.address&&t.address.components?e.title=this._getAddressString(t):e.title=t.purpose_name,this._header=this._view.render({tmpl:"popupHeader",data:e}),this._header},_fillFooter:function(t){var e=[],i=t.links&&t.links.branches,o=i&&i.items&&i.items.length||0;return i&&i.count>o&&e.push(this._getShowAllData(i.count)),this._isRouteSearchAllowed()&&e.push({name:"goto",label:this.t("go_to"),icon:!0,href:this._directionsUrl}),this._view.render({tmpl:"popupFooterBtns",data:{btns:e}})},_getShowAllData:function(t){return{name:"all",label:this.t("show_organization_in_building",t)}},_fillHouseObject:function(t){var e=this;return{header:this._fillHeader(t),tmpl:this._fillBody(t),footer:this._fillFooter(t),afterRender:function(){e._initShowMore(),e._initPopupClose()}}}}),DG.Geoclicker.Handler.Poi=DG.Geoclicker.Handler.House.extend({handle:function(t){if(!t.poi)return!1;if(this.firmCard=null,this._page=1,this._houseObject=null,this._firmList=null,this._firmListObject=null,this._firmCardObject=null,this._onScroll=!1,this._isFirmlistOpen=!1,this._id=t.poi.reference.id,this._totalPages=1,this._api=this._controller.getCatalogApi(),this._popup=this._view.getPopup(),this._initedPopupClose=!1,this._directionsUrl=this._getDirectionsUrl(t.poi.reference.name),this._firmListLoader=this._view.initLoader(!0),"building"===t.poi.reference.type){var e=this;return e._api.geoGet(t.poi.reference.id).then(function(t){return e._houseObject=e._fillHouseObject(t.result.items[0]),Promise.resolve(e._houseObject)})}return"branch"===t.poi.reference.type&&(this._fillFirmCardObject(t.poi.reference.id),!0)}}),DG.Geoclicker.Handler.Sight=DG.Geoclicker.Handler.Default.extend({handle:function(t){return!!t.attraction&&(this._popup=this._view.getPopup(),this._initedPopupClose=!1,Promise.resolve(this._fillSightObject(t)))},_fillSightObject:function(t){var e=t.attraction,i={},o=this,n={btns:[{name:"goto",label:this.t("go_to"),icon:!0}]};return e.name?(i.buildingName=e.name,i.purpose=e.subtype_name):i.buildingName=e.subtype_name,i.description=e.description,i.drillDown=this._getDrilldown(e),this._checkDescFieldHeight(i.description)&&(i.showMoreText=this.t("show_more_about_sight")),n.btns[0].href=this._getDirectionsUrl(i.buildingName),{tmpl:"sight",data:i,header:this._view.render({tmpl:"popupHeader",data:{title:i.buildingName}}),footer:this._view.render({tmpl:"popupFooterBtns",data:n}),afterRender:function(){o._needShowMore&&o._initShowMore(),o._initPopupClose()}}},_initPopupClose:function(){this._initedPopupClose||(this._controller.getMap().once("popupclose",DG.bind(this._clearPopup,this)),this._initedPopupClose=!0)},_clearPopup:function(){this._initedPopupClose=!1,this._clearEventHandlers()},_showMoreText:function(){this._desc.style.maxHeight="100%",this._link.parentNode.removeChild(this._link),this._popup.resize()},_initShowMore:function(){this._link=this._popup.findElement(".dg-map-geoclicker__show-more-sights-link"),this._desc=this._popup.findElement(".dg-map-geoclicker__sight-description"),this._link&&this._desc&&this._addEventHandler("dg-map-geoclicker__show-more-sights-link",DG.bind(this._showMoreText,this))},_checkDescFieldHeight:function(t){var e,i=DG.DomUtil.create("div","");return i.style.visibility="hidden",i.innerHTML=t,this._popup._contentNode.appendChild(i),e=i.offsetHeight,this._popup._contentNode.removeChild(i),this._needShowMore=e>40,this._needShowMore}}),DG.Geoclicker.View=DG.Class.extend({initialize:function(t,e){this._map=t,this._popup=DG.popup({maxHeight:300,minHeight:50,maxWidth:385,minWidth:310,sprawling:!0,closeOnClick:!0}),e&&DG.Util.setOptions(this,e)},initLoader:function(t){var e=document.createElement("div");return e.innerHTML=DG.dust("DGGeoclicker/loader",{small:t,anim:this._detectCssAnimation()}),e.firstChild},showPopup:function(t,e){this._popup.setContent(e).setLatLng(t).openOn(this._map)},render:function(t){var e,i={};return t=t||{},t.tmpl=t.tmpl||"",e=t.data?this.renderTemplate(t.tmpl,t.data):t.tmpl,t.beforeRender&&t.beforeRender(),t.popup&&(t.header&&(i.header=t.header),t.footer&&(i.footer=t.footer),i.body=e,this._popup.setContent(i)),t.afterRender&&t.afterRender(),e},renderTemplate:function(t,e){return DG.dust("DGGeoclicker/"+t,e)},renderPopup:function(t){return t.popup=!0,this.render(t)},getPopup:function(){return this._popup},_detectCssAnimation:function(){var t=!1,e="Webkit Moz O ms Khtml".split(" "),i=document.createElement("div");if(i.style.animationName&&(t=!0),t===!1)for(var o=0;o-1)return DG.DomEvent.preventDefault(t.originalEvent),void this._events[i].call(this,e)},_onClose:function(t){this._toggleEventHandlers(!0)},_onToggleSchedule:function(){var t=this._container.querySelector(".dg-schedule__table"),e=this._container.querySelector(".dg-schedule__now"),i=this._container.querySelector(".dg-schedule__today"),o=" dg-schedule__today_shown_true";t&&("block"===t.style.display?(t.style.display="none",e.style.display="block",i.className=i.className.replace(o,"")):(e.style.display="none",t.style.display="block",i.className+=o),this.options.onToggle&&this.options.onToggle())},_setOptions:function(t){var e,t=t||{};this.options=t,t.lang=t.lang||"ru";for(e in t)t.hasOwnProperty(e)&&(this.options[e]=t[e])},_hasTouch:function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}},FirmCard.DataHelper={payMethods:["americanexpress","cash","dinersclub","goldcrown","internet","mastercard","noncash","visa"],_msgs:{},getFlampUrl:function(t){return DG.config.flampUrl.concat(t,"?",DG.config.flampGoogleAnalytics)},msg:function(t){return this._msgs.hasOwnProperty(t)?this._msgs[t]:(console&&console.log("Cant't find translation for '"+t+"'."),t.toString().replace("_"," "))},getProjectTime:function(t,e){var i,o;return i=e?new Date(e):new Date,t?(o=i.getTime()+6e4*i.getTimezoneOffset(),new Date(o+6e4*t)):i}},function(){FirmCard.List=function(t,e){this._firms={},this._setOptions(e),this._container=e&&e.container||document.createElement("ul"),this._container.setAttribute("class","dg-building-callout__list"),this._eventHandlersInited=!1,this._firmCard=this._createFirm(),this.renderList(t)},FirmCard.List.prototype={renderList:function(t){return t&&(this._toggleEventHandlers(),this.addFirms(t)),this.options.onListReady&&this.options.onListReady(this._container),this._container},_processFirms:function(t,e){if(t){var i="_"+e+"Firm";if(this._isArray(t))for(var o=0,n=t.length;o-1)return DG.DomEvent.preventDefault(t.originalEvent),void this._events[i].call(this,e)},_clearContainer:function(){for(var t=this._container;t.hasChildNodes();)t.removeChild(t.firstChild)},_setOptions:function(t){t||(t={}),this.options=t,this.options.firmCard||(this.options.firmCard={}),t.firmCard.lang||(this.options.firmCard.lang="ru");for(var e in t)t.hasOwnProperty(e)&&(this.options[e]=t[e])}}}(),FirmCard.Schedule=function(t){return t=t||{},this.localLang=t.localLang||"ru",this.dict=t.dict,this},FirmCard.Schedule.prototype={setLang:function(t){return this.localLang=t||"ru",this},transform:function(t,e){function i(t,e){var i=arguments.length>2?Array.prototype.slice.call(arguments,2):null;return function(){return t.apply(e,i||arguments)}}function o(t){return t.charAt(0).toUpperCase()+t.slice(1)}function n(t){return t.substr(0,2)}function r(t){return t.substr(3,2)}function s(t){var e=+n(t)%24+"";return 1===e.length&&(e="0"+e),e+":"+r(t)}function a(t){return(t+70)%7}function l(t,e){if(null!=t)return null==e?t[t.length-1]:slice.call(t,Math.max(t.length-e,0))}function u(t,e){if(t===e)return!0;if(!(t instanceof Object&&e instanceof Object))return!1;if(t.constructor!==e.constructor)return!1;for(var i in t)if(t.hasOwnProperty(i)){if(!e.hasOwnProperty(i))return!1;if(t[i]!==e[i]){if("object"!=typeof t[i])return!1;if(!u(t[i],e[i]))return!1}}for(i in e)if(e.hasOwnProperty(i)&&!t.hasOwnProperty(i))return!1;return!0}function c(t,e,i){arguments.length<=1&&(e=t||0,t=0),i=arguments[2]||1;for(var o=Math.max(Math.ceil((e-t)/i),0),n=0,r=new Array(o);no||void 0===i)return 1;if(iN)return U(S,"tommorow");if(e>1)switch(i){case 0:return U(S,"nextSun");case 1:return U(S,"nextMon");case 2:return U(S,"nextTue");case 3:return U(S,"nextWed");case 4:return U(S,"nextThu");case 5:return U(S,"nextFri");case 6:return U(S,"nextSat")}}function g(t,e){var i,o=864e5,n=new Date(t.ts);return i=Math.round((n-e)/o),"open"===t.type&&n.getHours()<1&&i++,i}function v(e){var i,o,n=[];G.now={},o=m(t),o.length||(G.always=!0,G.now.open=!0);for(var r=0;r=(o[r-1]&&o[r-1].ts||0)&&C0&&(G.lunch=n,G.lunchStr=U(S,"lunch"))}}function y(){for(var e=[],i=!1,o=0;o<7;o++){var n=T[o],r=0;if(e[o]={},t[n]){for(var a=t[n],l=_(p(a),"time"),u=[],d=2;d2){for(var r=n.dayList.pop(),s=1;s=0;o--)i.push(b(t[o],e));return i}if(t){e=e||{};for(var k,D,L,x,P=e.zoneOffset||0,G={},C=e.now||FirmCard.DataHelper.getProjectTime(P).getTime(),T=[],z=[],O=[],E=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],M=["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],S=e.localLang||this.localLang,A=e.localWorkingDays||[0,1,1,1,1,1,0],B=e.firstdayOffset||1,N=e.minHoursToDisplayClosure||4,U=i(this.dict.t,this.dict),R=0;R<7;R++)T[R]=E[R],z[R]=this.dict.t(S,E[R].toLowerCase()),O[R]=this.dict.t(S,M[R]);k=E[a(new Date(C).getDay()-B)],D=t[k],v(D);var j=[],I=0,Z=0,H=[];if(Object.keys(t).forEach(function(e){t[e]&&t[e].working_hours&&(I++,u(t[e],l(j))||j.push(t[e]))}),Z=j.length,I<7&&Z++,Z>2)G.week=y(t);else if(1===Z)G.week={evently:[b(t[T[0]],t)]};else{for(R=0;R=2&&t%10<=4&&t%10%1===0&&(t%100<12||t%100>14)?1:t%10===0||t%10>=5&&t%10<=9&&t%10%1===0||t%100>=11&&t%100<=14&&t%100%1===0?2:void 0},btnBack:"Назад",btnFindWay:"Проехать сюда",btnEntrance:"Найти вход",linkReviews:["отзыв","отзыва","отзывов"],linkPhoto:["фото","фото","фото"],linkBooklet:"Буклет",tommorow:"завтра",afterTommorow:"послезавтра",afterWeek:"через неделю",nextSun:"в воскресенье",nextMon:"в понедельник",nextTue:"во вторник",nextWed:"в среду",nextThu:"в четверг",nextFri:"в пятницу",nextSat:"в субботу",willOpen:"откроется",willClose:"закроется",isOpen:"Открыто",openTill:"Открыто до ",closeIn:"Закроется через ",openAt:"Откроется в ",openIn:"Откроется через ",open:"Откроется ",nHours:["час","часа","часов"],nMins:["минуту","минуты","минут"],lunch:"обед",Lunch:"Обед. ",workingDays:"Рабочие дни",weekdays:"Будние дни",restDay:["выходной","выходные","выходные"],reviewsOnFlamp:"Отзывы на Флампе",writeReviewOnFlamp:"Написать отзыв на Флампе",payment:"оплата",everyday:"Ежедневно c",worksAroundTheClock:"Работает круглосуточно",aroundTheClock:"Круглосуточно",knowMore:"узнать больше",toClose:"до закрытия",monday:"понедельник",tuesday:"вторник", wednesday:"среда",thursday:"четверг",friday:"пятница",saturday:"суббота",sunday:"воскресенье",mon:"пон",tue:"втр",wed:"срд",thu:"чтв",fri:"птн",sat:"сбт",sun:"вск",toLunch:"до обеда",today:"Сегодня",lessThenHour:"менее часа",youCouldLate:"вы можете не успеть",workingTime:"рабочее время",showAllOrgInRubric:"Показать все организации рубрики",todayIsRestDay:"Сегодня выходной",internet:"Оплата через Интернет",noncash:"Безналичный расчет",goldcrown:"Золотая Корона",dinersclub:"Diners Club",mastercard:"Mastercard",maestrocard:"MaestroCard",visa:"Visa",cash:"Наличный расчет",americanexpress:"American Express",hour:"час",less:"менее",_in:"Через",isClosingOnDinner:" закрывается на обед"},it:{pluralRules:function(t){return 1===t?0:1},btnBack:"Indietro",btnFindWay:"Come arrivare ",btnEntrance:"Trova l'ingresso",linkReviews:["recensione","recensioni"],linkPhoto:["fotografia","fotografie"],linkBooklet:"Sull'azienda",tommorow:"domani",afterTommorow:"dopodomani",afterWeek:"tra una settimana",nextSun:"la domenica",nextMon:"il lunedi",nextTue:"il martedì",nextWed:"il mercoledì",nextThu:"il giovedi",nextFri:"il venerdì",nextSat:"il sabato",willOpen:"apre",willClose:"ciuso",isOpen:"Aperto",openTill:"Aperto fino alle ",closeIn:"Chiude tra ",openAt:"Apre alle ",openIn:"Apre tra ",open:"Apre ",nHours:["ora","ore"],nMins:["minuto","minuti"],lunch:"pausa pranzo",Lunch:"Pausa pranzo. ",workingDays:"Giorni feriali",weekdays:"Giorni feriali",restDay:["chiusura","chiusura"],reviewsOnFlamp:"Recensioni su Flamp",writeReviewOnFlamp:"Scrivi una recensione su Flamp",payment:"pagamento",everyday:"Ogni giorno dalole",worksAroundTheClock:"Operativo 24 ore su 24",aroundTheClock:"24 ore su 24",knowMore:"ulteriori informazioni",toClose:"fino alla chiusura",monday:"lunedi",tuesday:"martedì",wednesday:"mercoledì",thursday:"giovedi",friday:"venerdì",saturday:"sabato",sunday:"domenica",mon:"lun",tue:"mar",wed:"mer",thu:"gio",fri:"ven",sat:"sab",sun:"dom",toLunch:"fino alla pausa pranzo",today:"Oggi",lessThenHour:"meno di un'ora",youCouldLate:"affrettarsi, chiusura imminente",workingTime:"orario di lavoro",showAllOrgInRubric:"Visualizza tutte le aziende della categoria",todayIsRestDay:"oggi chiuso",internet:"Pagamento on-line",noncash:"Pagamento non in contanti",goldcrown:"Zolotaja Korona",dinersclub:"Diners Club",mastercard:"MasterCard",maestrocard:"MaestroCard",visa:"Visa",cash:"Pagamento in contanti",americanexpress:"American Express",hour:"un'ora",less:"meno di",_in:"Tra",isClosingOnDinner:"chiude per pausa pranzo"},en:{pluralRules:function(t){return 1===t?0:1},btnBack:"Back",btnFindWay:"Get here",btnEntrance:"Find entrance",linkReviews:["review","reviews"],linkPhoto:["photo","photos"],linkBooklet:"About company",tommorow:"tomorrow",afterTommorow:"the day after tomorrow",afterWeek:"in a week",nextSun:"on Sunday",nextMon:"on Monday",nextTue:"on Tuesday",nextWed:"on Wednesday",nextThu:"on Thursday",nextFri:"on Friday",nextSat:"on Saturday",willOpen:"opens ",willClose:"closes",isOpen:"Open",openTill:"Open till ",closeIn:"Closes in ",openAt:"Opens at ",openIn:"Opens in ",open:"Opens ",nHours:["hour","hours"],nMins:["minute","minutes"],lunch:"lunch break",Lunch:"Lunch break. ",workingDays:"Working days",weekdays:"Weekdays",restDay:["day off","days off"],reviewsOnFlamp:"Reviews on Flamp",writeReviewOnFlamp:"Write a review on Flamp",payment:"payment",everyday:"Daily from",worksAroundTheClock:"Open 24 hours",aroundTheClock:"24h",knowMore:"see also",toClose:"until closing",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",sunday:"Sunday",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat",sun:"Sun",toLunch:"until lunch",today:"Today",lessThenHour:"less then one hour",youCouldLate:"you might be late",workingTime:"working hours",showAllOrgInRubric:"Show all organizations in the category",todayIsRestDay:"closed today",internet:"Online",noncash:" No-cash",goldcrown:"Golden Crown",dinersclub:"Diners Club",mastercard:"Mastercard",maestrocard:"MaestroCard",visa:"Visa",cash:"Cash",americanexpress:"American Express",hour:"hour",less:"less",_in:"In",isClosingOnDinner:"will be closing for lunch"},cs:{pluralRules:function(t){return 1===t?0:t>=2&&t<=4?1:2},btnBack:"Zpět",btnFindWay:"Jet sem",btnEntrance:"Hledat vstup",linkReviews:["recenze","recenze","recenzí"],linkPhoto:["fotografie","fotografie","fotografií"],linkBooklet:"Leták",tommorow:"zítra",afterTommorow:"pozítří",afterWeek:"za týden",nextSun:"v neděli",nextMon:"v pondělí",nextTue:"v úterý",nextWed:"ve středu",nextThu:"ve čtvrtek",nextFri:"v pátek",nextSat:"v sobotu",willOpen:"otevře se",willClose:"zavře se",isOpen:"Otevřeno",openTill:"Otevřeno do ",closeIn:"Zavře se za ",openAt:"Otevře se v ",openIn:"Otevře se za ",open:"Otevře se ",nHours:["hodinu","hodiny","hodin"],nMins:["minutu","minuty","minut"],lunch:"polední přestávka",Lunch:"Polední přestávka. ",workingDays:"Všední dny",weekdays:"Všední dny",restDay:["zavřeno","zavřeno"],reviewsOnFlamp:"Recenze na Flampu",writeReviewOnFlamp:"Napsat recenzi na Flampu",payment:"platba",everyday:"Denně od ",worksAroundTheClock:"Pracuje nonstop",aroundTheClock:"Nonstop",knowMore:"dozvědět se více",toClose:"do uzavření",monday:"pondělí",tuesday:"úterý",wednesday:"středa",thursday:"čtvrtek",friday:"pátek",saturday:"sobota",sunday:"neděle",mon:"po",tue:"út",wed:"st",thu:"čt",fri:"pá",sat:"so",sun:"ne",toLunch:"do polední přestávky",today:"Dnes",lessThenHour:"méně než hodinu",youCouldLate:"nemusíte to stihnout",workingTime:"pracovní doba",showAllOrgInRubric:"Zobrazit všechny organizace v rubrice",todayIsRestDay:"Dnes je zavřeno",internet:"Platba prostřednictvím Internetu",noncash:"Bezhotovostní platba",goldcrown:"Zolotaja Korona",dinersclub:"Diners Club",mastercard:"Mastercard",maestrocard:"MaestroCard",visa:"Visa",cash:"Platba hotově",americanexpress:"American Express",hour:"hodinu",less:"méně",_in:"Za",isClosingOnDinner:"začíná polední přestávka"},es:{pluralRules:function(t){return 1===t?0:t>=2&&t<=4?1:2},btnBack:"Atrás",btnFindWay:"Ir para allá",btnEntrance:"Buscar acceso",linkReviews:["comentario","comentarios","comentarios"],linkPhoto:["foto","fotos","fotos"],linkBooklet:"Folleto",tommorow:"mañana",afterTommorow:"pasado mañana",afterWeek:"en una semana más",nextSun:"el domingo",nextMon:"el lunes",nextTue:"el martes",nextWed:"el miércoles",nextThu:"el jueves",nextFri:"el viernes",nextSat:"el sábado",willOpen:"se abrirá",willClose:"se cerrará",isOpen:"Abierto",openTill:"Abierto hasta ",closeIn:"Se cerrará dentro de ",openAt:"Se abrirá el ",openIn:"Se abrirá dentro de ",open:"Se abrirá ",nHours:["hora","horas","horas"],nMins:["minuto","minutos","minutos"],lunch:"hora de colación",Lunch:"Hora de colación. ",workingDays:"Días laborables",weekdays:"Días laborables",restDay:["cerrado","cerrado"],reviewsOnFlamp:"Comentarios en Flamp",writeReviewOnFlamp:"Escribir un comentario en Flamp",payment:"pago",everyday:"Cada día desde",worksAroundTheClock:"Abierto las 24 horas",aroundTheClock:"24 horas",knowMore:"para saber más",toClose:"hasta el cierre",monday:"lunes",tuesday:"martes",wednesday:"miércoles",thursday:"jueves",friday:"viernes",saturday:"sábado",sunday:"domingo",mon:"lun",tue:"mar",wed:"mié",thu:"jue",fri:"vie",sat:"sáb",sun:"dom",toLunch:"antes de la hora de colación",today:"Hoy",lessThenHour:"menos de una hora",youCouldLate:"puede ser que no alcanzas a llegar",workingTime:"horario de trabajo",showAllOrgInRubric:"Mostrar todas las empresas de la categoría",todayIsRestDay:"Hoy cerrado",internet:"Pago por Internet",noncash:"Pago sin efectivo",goldcrown:"Zolotaya Korona",dinersclub:"Diners Club",mastercard:"Mastercard",maestrocard:"MaestroCard",visa:"Visa",cash:"Pago en efectivo",americanexpress:"American Express",hour:"hora",less:"menos de",_in:"Dentro de",isClosingOnDinner:"se cierra por hora de colación"}},DG.Traffic=DG.TileLayer.extend({options:{period:0,disableLabel:!1,updateWhenIdle:!1},statics:{Dictionary:{}},initialize:function(t){this._tileUrl=DG.config.protocol+(DG.Browser.retina?DG.config.retinaTrafficTileServer:DG.config.trafficTileServer),this._metaUrl=DG.config.protocol+(DG.Browser.retina?DG.config.retinaTrafficMetaServer:DG.config.trafficMetaServer),this._timeUrl=DG.config.protocol+DG.config.trafficTimestampServer,this._updateInterval=DG.config.trafficLayerUpdateInterval,this._layersOptions={errorTileUrl:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",subdomains:"012345679",maxNativeZoom:18,detectRetina:DG.config.detectRetina,minZoom:DG.config.trafficLayerMinZoom},t=DG.setOptions(this,DG.extend(t||{},this._layersOptions)),this._metaLayer=DG.Meta.layer(null,{detectRetina:t.detectRetina,maxNativeZoom:t.maxNativeZoom,dataFilter:DG.bind(this._processData,this),minZoom:t.minZoom}),this._isDg=!0,this._isOnRequest=!1,this._onTimer=DG.bind(this._onTimer,this),DG.TileLayer.prototype.initialize.call(this,this._tileUrl,t)},onAdd:function(t){if(this._initContainer(),this._levels={},this._tiles={},this.options.period)this.options.timestampString="",this._onAddSetParams(t);else{var e=this;this._isOnRequest=!0,this._getTimestampString().then(function(t){e.options.timestampString="?"+t},function(){e.options.timestampString="?"+(new Date).getTime()}).then(function(){e._isOnRequest=!1,e._map&&e._onAddSetParams(t)})}},onRemove:function(t){this._isOnRequest?(L.DomUtil.remove(this._container),t._removeZoomLimit(this),this._container=null):(clearInterval(this._updateTimer),t.removeLayer(this._metaLayer).off("projectchange projectleave",this._onMapProjectChange,this),this.options.disableLabel||(this._metaLayer.off(this._layerEventsListeners,this),this._map.removeLayer(this._labelHelper),this._labelHelper=null,this._map.off("langchange",this._updateLang,this)),DG.TileLayer.prototype.onRemove.call(this,t))},update:function(){var t=this;this._getTimestampString().then(function(e){t.options.timestampString="?"+e},function(){t.options.timestampString="?"+(new Date).getTime()}).then(function(){t.fire("update",{timestamp:t.options.timestampString}),t._layerEventsListeners.mouseout.call(t),t._metaLayer.getOrigin().setURL(t._prepareMetaURL(),t),t.redraw()})},getSubdomain:function(){return this._layersOptions.subdomains[Math.floor(Math.random()*this._layersOptions.subdomains.length)]},_updateLang:function(){var t=this._map.getLang();"ar"===t?this._labelHelper.options.textDirection="rtl":this._labelHelper.options.textDirection="auto"},_getTimestampString:function(){return DG.ajax(DG.Util.template(this._timeUrl,DG.extend({s:this.getSubdomain(),projectCode:this._map.projectDetector.getProject().code},this.options||{})),{type:"get"})},_onTimer:function(){0===this.options.period&&this.update()},_processData:function(t,e){var i=e.scaleBy(this.getTileSize()),o=DG.bind(this._polygonLngLatToPoints,this,i),n={};return DG.Util.isArray(t)?(t[1].forEach(function(t){this[t.graph_id]=t.speed_text},n),t[0].map(function(t){return{id:t.graph_id,speed:n[t.graph_id],geometry:DG.Wkt.toGeoJSON(t.geometry[0].object[0])}}).filter(function(t){return"Polygon"==t.geometry.type||"MultiPolygon"==t.geometry.type}).map(function(t){var e=t.geometry;return"Polygon"==e.type?e.coordinates=o(e.coordinates):"MultiPolygon"==e.type&&(e.coordinates=e.coordinates.map(o)),t})):[]},_polygonLngLatToPoints:function(t,e){var i=this._map;return e.map(function(e){return e.map(function(e){return i.project([e[1],e[0]]).round().subtract(t)})})},_prepareMetaURL:function(){return DG.Util.template(this._metaUrl,DG.extend({x:"{x}",y:"{y}",z:"{z}",s:"{s}"},this.options))},_updateLayerProject:function(){var t=this._map.projectDetector.getProject();DG.setOptions(this,t&&t.traffic?{projectCode:t.code,bounds:t.latLngBounds,minZoom:Math.max(t.minZoom,this._layersOptions.minZoom),maxZoom:t.maxZoom}:{maxZoom:t?t.maxZoom:DG.config.projectLeaveMaxZoom,minZoom:0}),this._metaLayer.getOrigin().setURL(this._prepareMetaURL())},_onMapProjectChange:function(){this._updateLayerProject(),this.redraw()},_layerEventsListeners:{mouseover:function(t){this._setCursor("pointer"),this._labelHelper&&t.meta.speed&&this._labelHelper.setPosition(t.latlng).setContent(t.meta.speed+" "+this.t("speed_unit_km_h")).addTo(this._map)},mouseout:function(){this._setCursor(""),this._labelHelper&&this._map.removeLayer(this._labelHelper)},mousemove:function(t){this._labelHelper&&this._labelHelper.setPosition(t.latlng)}},_setCursor:function(t){this._map.getContainer().style.cursor=t},_onAddSetParams:function(t){this._updateLayerProject(),t.addLayer(this._metaLayer).on("projectchange projectleave",this._onMapProjectChange,this),this.options.disableLabel||(this._metaLayer.on(this._layerEventsListeners,this),this._labelHelper=DG.label(),this._map.on("langchange",this._updateLang,this)),this._updateInterval&&(this._updateTimer=setInterval(this._onTimer,this._updateInterval)),this._resetView(),this._update()},_update:function(t){this._isOnRequest||DG.TileLayer.prototype._update.call(this,t)}}),DG.Traffic.include(DG.Locale),DG.traffic=function(t){return new DG.Traffic(t)},DG.Traffic.Dictionary.ru={speed_unit_km_h:"км/ч"},DG.Traffic.Dictionary.it={speed_unit_km_h:"km/h"},DG.Traffic.Dictionary.cs={speed_unit_km_h:"km/h"},DG.Traffic.Dictionary.es={speed_unit_km_h:"km/h"},DG.Traffic.Dictionary.en={speed_unit_km_h:"km/h"},DG.Traffic.Dictionary.ar={speed_unit_km_h:"كم/ساعة"},DG.Control.Traffic=DG.RoundControl.extend({options:{position:"topright",iconClass:"traffic"},statics:{Dictionary:{}},initialize:function(t){this._trafficClass="dg-traffic-control",this._controlHideClass="dg-control-round_is-hidden_true",DG.setOptions(this,t),DG.extend(this,{_active:!1,_trafficLayer:null}).on(this._controlEvents,this)},_controlEvents:{add:function(){this._trafficLayer=DG.traffic(),this._map.on("zoomend projectchange projectleave",this._updateControlVisibility,this)},click:function(){this._active=!this._active,this._active?(this.setState("active"),this._showTraffic()):(this.setState(""),this._hideTraffic())},remove:function(){this.off(this._controlEvents,this),this._map.off("zoomend projectchange projectleave",this._updateControlVisibility,this),this._active&&(this._map.removeLayer(this._trafficLayer),this._active=!1),this._trafficLayer=null}},_showTraffic:function(){this._updateTrafficScore(),this._map.addLayer(this._trafficLayer)},_hideTraffic:function(){this._handleDom("remove"),this._map.removeLayer(this._trafficLayer)},_handleDom:function(t,e){var i=this._link;i.innerHTML=isNaN(e)?"":e,DG.DomUtil[t+"Class"](i,this._trafficClass),DG.DomUtil[t+"Class"](i,this._trafficClass+"_color_"+this._scoreRate)},_getTrafficColor:function(t){var e="green";return t>7?e="red":t>4&&(e="yellow"),e},_updateControlVisibility:function(){var t=this._map.projectDetector.getProject(),e=t&&t.traffic,i=this._map.getZoom()=0?Math.min(t,e):e-t,o=Array.prototype.splice.apply(this._points,arguments).map(function(t){return this._layers.mouse.removeLayer(t),t.off().getLatLng()},this),n=this._points.length;if(n){for(var r=i;r0&&e1&&this._points[i-1].setPointStyle(this.options.iconStyles.small),this._updateDistance(),this._normalizeRulerPoints()}return DG.Browser.touch&&this._lineMarkerHelper&&this._lineMarkerHelper.collapse(),this._fireChangeEvent(),o},addLatLng:function(t){var e=this._points[this._points.length-1]||null;return t=DG.latLng(t),e&&(t=this._normalizeLatLng(t,e.getLatLng())),this.spliceLatLngs(this._points.length,0,t),this},getLatLngs:function(){return this._points.map(function(t){return t.getLatLng()})},setLatLngs:function(t){var e=t.slice();return e.unshift(0,this._points.length),this.spliceLatLngs.apply(this,e),this},_reset:function(){DG.extend(this,{_lineMarkerHelper:null,_morphingNow:!1})},_lineMouseEvents:{click:function(t){var e=t.layer;if(e instanceof DG.Marker&&e._pos!==this._points.length-1)this._lineMarkerHelper&&this._lineMarkerHelper.collapse(),e.setText(this._getFormatedDistance(e)),this._lineMarkerHelper=e;else if(e instanceof DG.Path&&this.options.editable){var i=t.latlng,o=e._point._pos+1;this.spliceLatLngs(o,0,i)}},mouseover:function(t){var e=t.layer;if(e._hovered=!0,!this._morphingNow)if(e instanceof DG.Marker&&e._pos!==this._points.length-1)e.setText(this._getFormatedDistance(e));else if(e instanceof DG.Path&&!this._lineMarkerHelper){var i=e._point;this._lineMarkerHelper=this._addRunningLabel(this._nearestPoint(i._legs.middle,t.latlng),i)}},mouseout:function(t){var e=t.layer,i=t.originalEvent;e._hovered=!1,this._morphingNow||e._pos===this._points.length-1||(e instanceof DG.Marker?(!i.relatedTarget||i.relatedTarget!==e.querySelector("container")&&i.relatedTarget.parentNode!==e.querySelector("container"))&&e.collapse():this._removeRunningLabel())},mousemove:function(t){if(!this._morphingNow&&this._lineMarkerHelper){var e=t.layer._point,i=this._nearestPoint(e._legs.middle,t.latlng);this._lineMarkerHelper.setLatLng(i).setText(this._getFormatedDistance(e,e.getLatLng().distanceTo(i)))}},layeradd:function(){Object.keys(this._layers).forEach(function(t){this._layers[t].bringToFront()},this)}},_fireChangeEvent:function(){this.fire("changed",{latlngs:this.getLatLngs()})},_addRunningLabel:function(t,e){var i=this._createPoint(t).addTo(this._layers.mouse,this._layers),o=this._map.getPane("rulerPane");return o.insertBefore(i._icon,o.lastElementChild),i.setText(this._getFormatedDistance(e,e.getLatLng().distanceTo(t)))},_removeRunningLabel:function(){this._lineMarkerHelper&&(this._layers.mouse.removeLayer(this._lineMarkerHelper),this._lineMarkerHelper=null)},_insertPointInLine:function(t){var e,i=this._lineMarkerHelper.getLatLng(),o=t.target._point._pos+1;if(L.Browser.ie){var n=t.originalEvent.target||t.originalEvent.srcElement,r=n.parentNode;r.appendChild(n)}L.DomEvent.stopPropagation(t.originalEvent),this.spliceLatLngs(o,0,i),e=this._points[o],e.setText(this._getFormatedDistance(e)),setTimeout(function(){if(document.createEvent){var t=document.createEvent("MouseEvents");t.initMouseEvent("mouseup",!1,!1,document.defaultView,1,0,0,0,0,!1,!1,!1,!1,1,e._icon),document.dispatchEvent(t),t=document.createEvent("MouseEvents"),t.initMouseEvent("mousedown",!1,!1,document.defaultView,1,0,0,0,0,!1,!1,!1,!1,1,e._icon),e._icon.dispatchEvent(t)}else e._icon.fireEvent("onMouseUp",DG.extend(document.createEventObject(),{button:1,bubbles:!1,cancelable:!1})),e._icon.fireEvent("onMouseDown",DG.extend(document.createEventObject(),{button:1,bubbles:!1,cancelable:!1}))},0),this._removeRunningLabel(),this._updateLegs(e)},_nearestPoint:function(t,e){for(var i,o,n=this,r=this._project(e),s=t.getLatLngs().map(function(t){return n._project(t)}),a=0;a180;)o+=i;return DG.latLng(t.lat,o)},_normalizeRulerPoints:function(t){t=t||this._points[0];var e,i,o,n,r,s=this,a=t._pos,l=[];for(e=a+1;e=0;e--)i=this._points[e],o=this._points[e+1],n=i.getLatLng(),r=this._normalizeLatLng(n,o.getLatLng()),r.equals(n)||(i.setLatLng(r),l.push(e));l.sort().reduce(function(t,e){var i=t&&t===e-1;return s._updateLegs(s._points[e],i),e},null)},_pointEvents:{drag:function(t){var e=t.target;this._normalizeRulerPoints(e),DG.Browser.touch||e===this._points[this._points.length-1]||e.setText(this._getFormatedDistance(e)),this._updateLegs(e),this._updateDistance()},dragend:function(t){var e=t.target;this._morphingNow=!1,e._hovered||e===this._points[this._points.length-1]||e.collapse(),this._fireChangeEvent()},dragstart:function(){DG.Browser.touch&&this._lineMarkerHelper&&this._lineMarkerHelper.collapse(),this._morphingNow=!0}},_deletePoint:function(t){var e=t.originalEvent,i=e.target||e.srcElement;"dg-ruler__label-remove-link"!==i.className&&"dg-ruler__remove-link-overlay"!==i.className||(DG.DomEvent.stop(t.originalEvent),this.spliceLatLngs(t.target._pos,1))},_degToRad:function(t){return Math.PI/180*t},_radToDeg:function(t){return 180/Math.PI*t},_project:function(t){return this._map?this._map.project(t):DG.CRS.EPSG3857.latLngToPoint(t,1)},_unproject:function(t){return this._map?this._map.unproject(t):DG.CRS.EPSG3857.pointToLatLng(t,1)},_calcAngle:function(t,e,i){e=this._normalizeLatLng(e,t),i=this._normalizeLatLng(i,t),t=this._project(t),e=this._project(e),i=this._project(i);var o=e.x-t.x,n=i.x-t.x,r=e.y-t.y,s=i.y-t.y,a=o*n+r*s,l=Math.sqrt(o*o+r*r),u=Math.sqrt(n*n+s*s);return Math.acos(a/(l*u))},_calcMidPoint:function(t,e){var i=this._degToRad(t.lng),o=this._degToRad(t.lat),n=this._degToRad(e.lng),r=this._degToRad(e.lat),s=Math.acos(Math.sin(o)*Math.sin(r)+Math.cos(o)*Math.cos(r)*Math.cos(i-n)),a=.5,l=Math.sin((1-a)*s)/Math.sin(s),u=Math.sin(a*s)/Math.sin(s),c=l*Math.cos(o)*Math.cos(i)+u*Math.cos(r)*Math.cos(n),h=l*Math.cos(o)*Math.sin(i)+u*Math.cos(r)*Math.sin(n),d=l*Math.sin(o)+u*Math.sin(r),_=Math.atan2(d,Math.sqrt(c*c+h*h)),p=Math.atan2(h,c);return DG.latLng(this._radToDeg(_),this._radToDeg(p))},_adaptiveSample:function(t,e,i,o){if(i>9)return[];o=o||this._calcMidPoint(t,e);var n=this._calcMidPoint(t,o),r=this._calcMidPoint(o,e),s=this._calcAngle(n,o,t),a=this._calcAngle(o,t,e),l=this._calcAngle(r,o,e),u=3.1;if(s>u&&a>u&&l>u)return[];var c=[];return c=c.concat(this._adaptiveSample(t,o,i+1,n)),c.push(o),c=c.concat(this._adaptiveSample(o,e,i+1,r))},_calcGreatCircle:function(t,e){if(e=this._normalizeLatLng(e,t),t.equals(e,1))return[t,e];if(180==Math.abs(e.lng-t.lng)){var i=t.lat+e.lat>0?90:-90;return[t,DG.latLng(i,t.lng),DG.latLng(i,e.lng),e]}var o=[];o.push(t),o=o.concat(this._adaptiveSample(t,e,0)),o.push(e);for(var n=1;n1e3?(t/=1e3,e="km",t>1e3?(t=t.toFixed(),t=t.slice(0,-3)+" "+t.slice(-3)):t=t.toFixed(2).split(".").join(this.t("delimiter"))):t=Math.round(t),[t||0," ",this.t(e)].join("")},_updateDistance:function(){this._map&&this._points.length&&this._points[this._points.length-1].setText(this._getFormatedDistance())}}),DG.ruler=function(t,e){return new DG.Ruler(t,e)},DG.Ruler.LayeredMarker=DG.Marker.extend({options:{draggable:!1,keyboard:!1,riseOnHover:!0,pane:"rulerMarkerPane",textDirection:"auto",iconHTML:['','
','
',' 0 км',' ',' ',"
"].join("\n")},statics:{domClass:"dg-ruler__label"},addTo:function(t,e){return Object.keys(this._layers).forEach(function(t){e[t].addLayer(this._layers[t])},this),this._viewport=e,DG.Marker.prototype.addTo.call(this.on("move",this._onMove),t)},onRemove:function(t){return Object.keys(this._layers).forEach(function(t){this._viewport[t].removeLayer(this._layers[t])},this),this.off("move",this._onMove),this._viewport=null,this._style=null,DG.Marker.prototype.onRemove.call(this,t)},setText:function(t){return this._iconCollapsed&&this.expand(),this._iconNodes.label.innerHTML=t,this._iconNodes.label.setAttribute("dir",this.options.textDirection),this},setPointStyle:function(t){return this._style!==t&&Object.keys(this._style=t).forEach(function(e){this._layers[e].setStyle(t[e])},this),this},expand:function(){return this._iconCollapsed=!1,this._iconNodes.container.style.display="block",this._iconNodes.spacer.style.display="none",this},collapse:function(){return this._iconCollapsed=!0,this._iconNodes.container.style.display="none",this._iconNodes.spacer.style.display="block",this},querySelector:function(t){return this._icon.querySelector("."+DG.Ruler.LayeredMarker.domClass+"-"+t)},_onMove:function(t){var e=t.latlng;Object.keys(this._layers).forEach(function(t){this._layers[t].setLatLng(e)},this)},_initIcon:function(){DG.Marker.prototype._initIcon.call(this),this._iconCollapsed=!0,this._icon.style.width="",this._iconNodes={label:this.querySelector("distance"),spacer:this.querySelector("spacer"),container:this.querySelector("container")}},_setPos:function(t){L.DomUtil.setPosition(this._icon,t),this._shadow&&L.DomUtil.setPosition(this._shadow,t)},_afterInit:function(){this._layers=this.options.layers||null,this.options.icon=DG.divIcon({className:DG.Ruler.LayeredMarker.domClass,iconSize:[26,26],iconAnchor:[13,13],html:this.options.iconHTML})}}),DG.Ruler.LayeredMarker.addInitHook("_afterInit"),DG.Ruler.layeredMarker=function(t,e){return new DG.Ruler.LayeredMarker(t,e)};var rulerRenderer=DG.svg({pane:"rulerPane"}),hoverRenderer=DG.svg({pane:"rulerPane"});DG.Ruler.mergeOptions({pathStyles:{back:{color:"#fff",opacity:1,weight:12,pointerEvents:"none",noClip:!0,renderer:rulerRenderer,smoothFactor:0},middle:{color:"#0da5d5",opacity:1,weight:4,pointerEvents:"none",noClip:!0,renderer:rulerRenderer,smoothFactor:0},mouse:{color:"#fff",opacity:DG.Browser.vml?.1:0,weight:DG.Browser.touch?40:20,pointerEvents:"painted",noClip:!0,renderer:hoverRenderer,smoothFactor:0}},iconStyles:{large:{back:{color:"#fff",opacity:1,fillColor:"#fff",fillOpacity:1,weight:1,radius:13,renderer:rulerRenderer},middle:{color:"#0da5d5",opacity:1,fillColor:"#0da5d5",fillOpacity:1,weight:1,radius:9,renderer:rulerRenderer},front:{color:"#fff",opacity:1,fillColor:"#0da5d5",fillOpacity:1,weight:4,radius:5,renderer:rulerRenderer}},small:{back:{color:"#fff",opacity:1,fillColor:"#fff",fillOpacity:1,weight:1,radius:9,renderer:rulerRenderer},middle:{color:"#0da5d5",opacity:1,fillColor:"#0da5d5",fillOpacity:1,weight:1,radius:5,renderer:rulerRenderer},front:{color:"#fff",opacity:1,fillColor:"#0da5d5",fillOpacity:1,weight:4,radius:2,renderer:rulerRenderer}}}}),DG.Ruler.Dictionary.ru={km:"км",m:"м",delimiter:","},DG.Ruler.Dictionary.it={km:"km",m:"m",delimiter:","},DG.Ruler.Dictionary.cs={km:"km",m:"m",delimiter:","},DG.Ruler.Dictionary.es={km:"km",m:"m",delimiter:","},DG.Ruler.Dictionary.en={km:"km",m:"m",delimiter:"."},DG.Ruler.Dictionary.ar={km:"كم",m:"م",delimiter:"."},DG.Control.Ruler=DG.RoundControl.extend({options:{position:"topright",iconClass:"ruler"},statics:{Dictionary:{}},initialize:function(t){DG.setOptions(this,t),DG.extend(this,{_active:!1,_drawingHelper:null,_geoclickerNeedRestore:!1}).on(this._controlEvents,this)},_controlEvents:{add:function(){this._drawingHelper=DG.ruler([])},click:function(){this._active=!this._active,this._active?(this.setState("active"),this._startDrawing()):(this.setState(""),this._finishDrawing())},remove:function(){this.off(this._controlEvents,this),this._active&&(this._map.removeLayer(this._drawingHelper),this._active=!1),this._drawingHelper=null}},_startDrawing:function(){this._map.addLayer(this._drawingHelper).on("click",this._handleMapClick,this),this._map.fire("rulerstart")},_finishDrawing:function(){this._map.off("click",this._handleMapClick,this).removeLayer(this._drawingHelper),this._drawingHelper.setLatLngs([]),this._map.fire("rulerend")},_handleMapClick:function(t){this._drawingHelper.addLatLng(t.latlng)},_renderTranslation:function(){this._link.title=this.t("button_title"); }}),DG.control.ruler=function(t){return new DG.Control.Ruler(t)},DG.Map.mergeOptions({rulerControl:!1}),DG.Map.addInitHook(function(){this.options.rulerControl&&(this.rulerControl=DG.control.ruler(this.options.rulerControl),this.addControl(this.rulerControl))}),DG.Control.Ruler.Dictionary.ru={button_title:"Линейка"},DG.Control.Ruler.Dictionary.it={button_title:"Righello"},DG.Control.Ruler.Dictionary.cs={button_title:"Pravítko"},DG.Control.Ruler.Dictionary.es={button_title:"Regla"},DG.Control.Ruler.Dictionary.en={button_title:"Ruler"},DG.Control.Ruler.Dictionary.ar={button_title:"مسطرة"},function(t){function e(t,e){return t.w('")}function i(t,e){return t.s(e.get(["btn"],!1),e,{block:o},{})}function o(t,e){return t.w('")}function n(t,e){return t.w('href="javascript:void(0)"')}function r(t,e){return t.w("href=").f(e.get(["open2gis_link"],!1),e,"h").w(' target="_blank" name=').f(e.get(["open2gis_name"],!1),e,"h")}function s(t,e){return t.w('')}return t.register("DGAttribution/copyright",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,n.__dustBody=!0,r.__dustBody=!0,s.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.w('
').f(e.get(["purpose"],!1),e,"h").w("
").s(e.get(["drilldown"],!1),e,{block:i},{})}function i(t,e){return t.w('
').f(e.get(["drilldown"],!1),e,"h").w("
")}return t.register("DGGeoclicker/cityarea",e),e.__dustBody=!0,i.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.w('
').f(e.get(["address"],!1),e,"h").s(e.get(["comment"],!1),e,{block:i},{}).w("
")}function i(t,e){return t.w('— ').f(e.getPath(!0,[]),e,"h").w("")}return t.register("DGGeoclicker/firmCardAddr",e),e.__dustBody=!0,i.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.s(e.get(["groups"],!1),e,{block:i},{})}function i(t,e){return t.s(e.get(["contacts"],!1),e,{block:o},{})}function o(t,e){return t.h("select",e,{block:n},{key:e.get(["type"],!1),type:"string"},"h")}function n(t,e){return t.h("eq",e,{block:r},{value:"phone",type:"string"},"h").h("eq",e,{block:a},{value:"fax",type:"string"},"h").h("eq",e,{block:u},{value:"website",type:"string"},"h").h("eq",e,{block:c},{value:"email",type:"string"},"h")}function r(t,e){return t.w('
').f(e.get(["text"],!1),e,"h").s(e.get(["comment"],!1),e,{block:s},{}).w("
")}function s(t,e){return t.w('—  ').f(e.getPath(!0,[]),e,"h").w("")}function a(t,e){return t.w('
').f(e.get(["text"],!1),e,"h").s(e.get(["comment"],!1),e,{block:l},{}).w("
")}function l(t,e){return t.w('—  ').f(e.getPath(!0,[]),e,"h").w("")}function u(t,e){return t.w('")}function c(t,e){return t.w('")}return t.register("DGGeoclicker/firmCardContacts",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,n.__dustBody=!0,r.__dustBody=!0,s.__dustBody=!0,a.__dustBody=!0,l.__dustBody=!0,u.__dustBody=!0,c.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.w('
').f(e.get(["firmName"],!1),e,"h").w("
").x(e.get(["links"],!1),e,{block:i},{})}function i(t,e){return t.w('")}function o(t,e){return t.h("eq",e,{"else":n,block:a},{key:l,value:"flamp_stars",type:"string"},"h")}function n(t,e){return t.w('").f(e.get(["label"],!1),e,"h").w("")}function r(t,e){return t.w('href="javascript:void(0)"')}function s(t,e){return t.w("href=").f(e.get(["href"],!1),e,"h").w(' target="_blank"')}function a(t,e){return t.w('
')}function l(t,e){return t.f(e.get(["name"],!1),e,"h")}return t.register("DGGeoclicker/firmCardHeader",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,n.__dustBody=!0,r.__dustBody=!0,s.__dustBody=!0,a.__dustBody=!0,l.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.s(e.get(["rubrics"],!1),e,{block:i},{})}function i(t,e){return t.w('
').x(e.get(["primary"],!1),e,{block:o},{}).x(e.get(["additional"],!1),e,{block:r},{}).w("
")}function o(t,e){return t.w('
    ').s(e.get(["primary"],!1),e,{block:n},{}).w("
")}function n(t,e){return t.w('
  • ').f(e.get(["name"],!1),e,"h").w("
  • ")}function r(t,e){return t.w('
      ').s(e.get(["additional"],!1),e,{block:s},{}).w("
    ")}function s(t,e){return t.w('
  • ').f(e.get(["name"],!1),e,"h").w("
  • ")}return t.register("DGGeoclicker/firmCardRubric",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,n.__dustBody=!0,r.__dustBody=!0,s.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.w('
    ').x(e.get(["schedule"],!1),e,{block:s},{}).w("
    ")}function i(t,e){return t.w("false")}function o(t,e){return t.w("true")}function n(t,e){return t.w("false")}function r(t,e){return t.w("true")}function s(t,e){return t.x(e.getPath(!1,["forecast","today"]),e,{block:a},{}).s(e.getPath(!1,["forecast","now"]),e,{block:h},{}).nx(e.getPath(!1,["schedule","everyday"]),e,{block:_},{})}function a(t,e){return t.w('
    ').f(e.getPath(!1,["forecast","today","text"]),e,"h").w(" ").x(e.getPath(!1,["forecast","today","from"]),e,{block:l},{}).x(e.getPath(!1,["schedule","lunch"]),e,{block:u},{}).w("
    ")}function l(t,e){return t.f(e.getPath(!1,["forecast","today","from"]),e,"h").w("–").f(e.getPath(!1,["forecast","today","to"]),e,"h")}function u(t,e){return t.w(", ").f(e.getPath(!1,["forecast","today","lunchStr"]),e,"h").w(" ").s(e.getPath(!1,["schedule","lunch"]),e,{block:c},{})}function c(t,e){return t.f(e.get(["from"],!1),e,"h").w("–").f(e.get(["to"],!1),e,"h")}function h(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").s(e.getPath(!1,["schedule","comment"]),e,{block:d},{}).w("
    ")}function d(t,e){return t.w(", ").f(e.getPath(!0,[]),e,"h")}function _(t,e){return t.x(e.getPath(!1,["schedule","week"]),e,{block:p},{})}function p(t,e){return t.x(e.getPath(!1,["schedule","week","evently"]),e,{block:m},{}).x(e.getPath(!1,["schedule","week","table"]),e,{block:D},{})}function m(t,e){return t.w('
    ').s(e.getPath(!1,["schedule","week","evently"]),e,{block:f},{}).w("
    ")}function f(t,e){return t.w('
    ').x(e.get(["alltime"],!1),e,{block:g},{}).x(e.get(["everyday"],!1),e,{"else":v,block:y},{}).x(e.get(["holiday"],!1),e,{"else":b,block:k},{}).w("
    ")}function g(t,e){return t.f(e.get(["alltimeStr"],!1),e,"h")}function v(t,e){return t.f(e.get(["dayList"],!1),e,"h")}function y(t,e){return t.f(e.getPath(!1,["forecast","today","text"]),e,"h")}function b(t,e){return t.w(' ').f(e.get(["from"],!1),e,"h").w("–").f(e.get(["to"],!1),e,"h").w("").s(e.get(["lunch"],!1),e,{block:w},{})}function w(t,e){return t.w("

    ").f(e.get(["lunchStr"],!1),e,"h").w('—').f(e.get(["from"],!1),e,"h").w("–").f(e.get(["to"],!1),e,"h").w("

    ")}function k(t,e){return t.w(' — ').f(e.get(["holidayStr"],!1),e,"h").w("")}function D(t,e){return t.w('
     
    ').x(e.getPath(!1,["schedule","week","hasLunch"]),e,{block:L},{}).w("
    ").s(e.getPath(!1,["schedule","week","table"]),e,{block:x},{}).w("
    ")}function L(t,e){return t.w('
    ')}function x(t,e){return t.h("if",e,{block:P},{cond:G},"h").w('
    ').f(e.get(["key"],!1),e,"h").w('
    ').x(e.get(["from"],!1),e,{"else":T,block:z},{}).w("
    ").s(e.get(["lunch"],!1),e,{block:O},{}).w("
    ").h("if",e,{block:S},{cond:A},"h")}function P(t,e){return t.w('')}function G(t,e){return t.w("(").f(e.get(["$idx"],!1),e,"h").w(" == ").f(e.get(["$len"],!1),e,"h").w(" - 2)")}function C(t,e){return t.w(" dg-schedule__tc_active_true")}function T(t,e){return t.w("–")}function z(t,e){return t.f(e.get(["from"],!1),e,"h").w(" ").f(e.get(["to"],!1),e,"h")}function O(t,e){return t.w('
    ').x(e.get(["from"],!1),e,{"else":E,block:M},{}).w("
    ")}function E(t,e){return t.w("–")}function M(t,e){return t.f(e.get(["from"],!1),e,"h").w(" ").f(e.get(["to"],!1),e,"h")}function S(t,e){return t.w("
    ")}function A(t,e){return t.w("(").f(e.get(["$idx"],!1),e,"h").w(" == ").f(e.get(["$len"],!1),e,"h").w(")")}return t.register("DGGeoclicker/firmCardSchedule",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,n.__dustBody=!0,r.__dustBody=!0,s.__dustBody=!0,a.__dustBody=!0,l.__dustBody=!0,u.__dustBody=!0,c.__dustBody=!0,h.__dustBody=!0,d.__dustBody=!0,_.__dustBody=!0,p.__dustBody=!0,m.__dustBody=!0,f.__dustBody=!0,g.__dustBody=!0,v.__dustBody=!0,y.__dustBody=!0,b.__dustBody=!0,w.__dustBody=!0,k.__dustBody=!0,D.__dustBody=!0,L.__dustBody=!0,x.__dustBody=!0,P.__dustBody=!0,G.__dustBody=!0,C.__dustBody=!0,T.__dustBody=!0,z.__dustBody=!0,O.__dustBody=!0,E.__dustBody=!0,M.__dustBody=!0,S.__dustBody=!0,A.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.w('').f(e.getPath(!1,["firm","name"]),e,"h").w("")}return t.register("DGGeoclicker/firmlistItem",e),e.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.x(e.get(["payments"],!1),e,{block:i},{})}function i(t,e){return t.w('
      ').s(e.get(["payments"],!1),e,{block:o},{}).w("
    ")}function o(t,e){return t.w('
  • ').f(e.getPath(!0,[]),e,"h").w("
  • ")}return t.register("DGGeoclicker/frimCardPayments",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.s(e.get(["address"],!1),e,{block:i},{}).s(e.get(["purpose"],!1),e,{block:r},{}).s(e.get(["attractions"],!1),e,{block:s},{})}function i(t,e){return t.w('
    ').s(e.getPath(!1,["address","header"]),e,{block:o},{}).s(e.getPath(!1,["address","drilldown"]),e,{block:n},{}).w("
    ")}function o(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").w("
    ")}function n(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").w("
    ")}function r(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").w("
    ")}function s(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").w("
    ")}return t.register("DGGeoclicker/house",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,n.__dustBody=!0,r.__dustBody=!0,s.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.w('
    ')}function i(t,e){return t.w("false")}function o(t,e){return t.w("true")}function n(t,e){return t.w(" dg-preloader_size_small")}return t.register("DGGeoclicker/loader",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,n.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.w('")}return t.register("DGGeoclicker/popupFooter",e),e.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.x(e.get(["btns"],!1),e,{block:i},{})}function i(t,e){return t.w('
    ').s(e.get(["btns"],!1),e,{block:o},{}).w("
    ")}function o(t,e){return t.w('")}function n(t,e){return t.w(" dg-popup__footer-icon-button")}function r(t,e){return t.w('href="javascript:void(0)"')}function s(t,e){return t.w("href=").f(e.get(["href"],!1),e,"h").w(' target="_blank"')}return t.register("DGGeoclicker/popupFooterBtns",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,n.__dustBody=!0,r.__dustBody=!0,s.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.s(e.get(["title"],!1),e,{block:i},{})}function i(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").w("
    ")}return t.register("DGGeoclicker/popupHeader",e),e.__dustBody=!0,i.__dustBody=!0,e}(dust),function(t){function e(t,e){return t.s(e.get(["purpose"],!1),e,{block:i},{}).s(e.get(["address"],!1),e,{block:o},{}).s(e.get(["description"],!1),e,{block:s},{})}function i(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").w("
    ")}function o(t,e){return t.w('
    ').s(e.getPath(!1,["address","header"]),e,{block:n},{}).s(e.getPath(!1,["address","drilldown"]),e,{block:r},{}).w("
    ")}function n(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").w("
    ")}function r(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").w("
    ")}function s(t,e){return t.w('
    ').f(e.getPath(!0,[]),e,"h").w("
    ").s(e.get(["showMoreText"],!1),e,{block:a},{})}function a(t,e){return t.w('').f(e.getPath(!0,[]),e,"h").w("")}return t.register("DGGeoclicker/sight",e),e.__dustBody=!0,i.__dustBody=!0,o.__dustBody=!0,n.__dustBody=!0,r.__dustBody=!0,s.__dustBody=!0,a.__dustBody=!0,e}(dust),DG.fallbackProjectsList=JSON.parse('[{"bounds":"POLYGON((89.710795 54.632572,89.917767 54.765465,90.308713 54.738921,90.33171 54.77873,90.400701 54.844991,90.515685 54.911144,90.768651 54.911144,90.860638 54.85823,90.929629 54.85823,90.929629 54.8185,90.952626 54.805248,90.929629 54.725643,90.906632 54.71236,90.906632 54.659186,91.06761 54.59262,91.136601 54.579294,91.136601 54.552628,91.205591 54.539289,91.274582 54.485888,91.251585 54.419038,91.274582 54.405655,91.596538 54.432417,91.619535 54.419038,91.757516 54.419038,91.872501 54.35208,91.872501 54.311852,91.826507 54.285012,91.826507 54.150548,91.757516 54.09664,91.780513 54.056163,91.80351 53.961562,91.849504 53.920953,91.826507 53.880305,91.826507 53.771716,91.849504 53.758122,91.826507 53.635583,91.80351 53.485328,91.941491 53.444257,91.964488 53.361995,91.872501 53.307066,91.826507 53.265822,91.80351 53.196994,91.665529 53.155645,91.619535 53.100449,91.642532 52.920575,91.665529 52.906708,91.688526 52.865079,91.665529 52.851193,91.596538 52.753872,91.458557 52.712096,91.297579 52.712096,91.297579 52.726026,91.021617 52.920575,90.768651 53.072825,90.653667 53.196994,90.653667 53.224539,90.69966 53.279574,90.768651 53.320805,90.791648 53.361995,90.906632 53.403146,90.929629 53.444257,91.044613 53.485328,91.044613 53.540028,90.69966 53.608304,90.446695 53.676469,90.33171 53.717316,90.193729 53.839617,90.216726 53.934494,90.193729 53.97509,90.124739 54.042661,89.986757 54.204386,89.96376 54.204386,89.96376 54.217835,89.917767 54.271585,89.825779 54.405655,89.710795 54.632572))","code":"abakan","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"69","name":"Абакан","time_zone":{"name":"Asia/Krasnoyarsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((39.876575 43.201679,39.876575 43.21844,40.014556 43.385799,40.037553 43.485993,40.083547 43.519355,40.106544 43.569362,40.221528 43.569362,40.244525 43.586022,40.405503 43.552697,40.520487 43.536028,40.543484 43.519355,40.612475 43.536028,40.635472 43.552697,40.658468 43.552697,40.727459 43.536028,40.842443 43.485993,40.934431 43.452614,40.980425 43.419216,41.210393 43.385799,41.210393 43.369084,41.325378 43.352364,41.417365 43.352364,41.440362 43.302177,41.463359 43.302177,41.60134 43.235197,41.693328 43.21844,41.716324 43.235197,41.739321 43.21844,41.854306 43.21844,41.877303 43.235197,42.038281 43.201679,42.107271 43.201679,42.130268 43.151368,42.107271 43.134588,42.038281 43.050621,41.900299 43.033813,41.900299 42.7136,41.946293 42.679797,41.923296 42.629058,41.854306 42.578277,41.831309 42.5444,41.785315 42.5444,41.785315 42.527455,41.716324 42.510505,41.578343 42.408709,41.279384 42.408709,41.256387 42.425686,41.23339 42.5444,41.210393 42.5444,41.210393 42.578277,41.049415 42.595208,41.026418 42.612135,40.957428 42.629058,40.842443 42.798028,40.773453 42.8149,40.750456 42.865487,40.681465 42.865487,40.405503 42.916033,40.336512 42.966538,40.267522 42.983364,40.198531 42.983364,40.06055 43.033813,39.968562 43.184913,39.876575 43.201679))","code":"abkhazia","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":false,"road_network":true,"truck_graph":true},"id":"248","name":"Абхазия","time_zone":{"name":"Asia/Tbilisi","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((49.788226 44.903867,49.788226 45.017774,49.880214 45.163892,49.972201 45.196313,50.133179 45.212516,50.363148 45.212516,50.547123 45.147675,50.708101 45.098997,50.869079 45.131454,51.099048 45.309637,51.168039 45.390445,51.283023 45.503383,51.765957 45.616094,52.156904 45.551715,52.294885 45.567817,52.455863 45.616094,52.570848 45.776718,52.731826 45.88888,52.823813 46.000816,52.84681 46.016789,53.697694 46.016789,53.789682 46.080632,53.95066 46.160333,53.996654 46.239918,54.249619 46.255822,54.341607 46.255822,54.548579 46.303504,54.68656 46.319388,54.847538 46.367015,55.05451 46.367015,55.077507 46.382882,55.284479 46.367015,55.468454 46.493817,55.537444 46.477983,55.629432 46.4146,55.767413 46.4146,55.836403 46.398743,55.8594 46.287614,55.836403 46.27172,55.997382 46.22401,56.020378 46.208098,56.089369 46.192181,56.15836 46.144402,56.22735 46.128466,56.273344 46.144402,56.480316 46.128466,56.52631 46.080632,56.549306 46.000816,56.5953 45.920885,56.641294 45.66433,56.664291 45.648256,56.733281 45.180105,56.319338 45.082761,55.997382 45.001515,55.997382 41.3126,55.905394 41.3126,55.79041 41.260759,55.767413 41.278044,55.652428 41.260759,55.445457 41.24347,55.330472 41.364399,55.261482 41.416158,55.100504 41.605586,55.05451 41.691506,54.939525 41.811602,54.916529 41.845874,54.939525 41.897247,54.709557 42.068194,54.456591 42.221653,54.341607 42.272723,54.272616 42.340753,54.157632 42.357749,53.996654 42.323752,53.927663 42.323752,53.58271 42.272723,53.490723 42.238681,53.444729 42.238681,53.191763 42.153495,53.076779 42.136444,53.053782 42.119388,52.984791 42.085263,52.685832 41.897247,52.501857 41.76016,52.340879 41.708677,52.248892 41.708677,52.225895 41.76016,52.225895 41.99987,52.202898 42.119388,52.225895 42.20462,52.294885 42.289737,52.40987 42.476591,52.386873 42.5444,52.317882 42.595208,52.202898 42.629058,51.903938 42.662889,51.74296 42.7136,51.719963 42.764271,51.67397 42.798028,51.604979 42.899189,51.535989 42.949708,51.421004 42.966538,51.260026 42.983364,51.122045 43.033813,51.099048 43.050621,51.053054 43.117804,51.076051 43.452614,50.984064 43.519355,50.93807 43.602677,50.892076 43.635974,50.823086 43.768976,50.708101 43.934814,50.547123 44.116703,50.478132 44.13321,50.317154 44.149714,50.179173 44.199195,50.087186 44.281572,50.018195 44.380272,50.018195 44.544403,49.903211 44.757084,49.788226 44.903867))","code":"aktau","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true},"id":"196","name":"Актау","time_zone":{"name":"Asia/Aqtau","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((56.871263 50.308299,56.871263 50.367011,56.89426 50.410998,57.078235 50.557325,57.193219 50.586536,57.285206 50.571932,57.308203 50.528096,57.377194 50.513474,57.538172 50.528096,57.584166 50.498848,57.745144 50.484218,57.768141 50.440299,57.745144 50.367011,57.768141 50.322984,57.745144 50.278916,57.69915 50.249514,57.676153 50.190657,57.607163 50.190657,57.492178 50.146466,57.446184 50.116983,57.354197 50.116983,57.285206 50.131727,57.170222 50.116983,57.055238 50.131727,56.940253 50.175931,56.940253 50.264217,56.871263 50.308299))","code":"aktobe","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true},"id":"167","name":"Актобе","time_zone":{"name":"Asia/Aqtobe","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((73.727969 45.196313,73.727969 45.244908,73.773963 45.293462,74.003932 45.293462,74.003932 45.325808,73.980935 45.374293,73.911944 45.74463,73.980935 45.856857,74.026929 45.88888,74.049926 46.000816,74.16491 46.144402,74.739832 46.525471,75.015794 46.557107,75.33775 46.683467,75.521725 46.715011,75.590716 46.699241,75.797688 46.715011,75.820685 46.730776,76.07365 46.730776,76.211631 46.636117,76.372609 46.651905,76.4416 46.620324,76.533588 46.620324,76.533588 46.636117,76.602578 46.667688,76.625575 46.667688,76.763556 46.604527,76.855544 46.588725,76.901538 46.557107,76.924534 46.572919,76.924534 46.620324,77.039519 46.636117,77.108509 46.572919,77.131506 46.525471,77.200497 46.525471,77.292484 46.557107,77.315481 46.604527,77.453462 46.604527,77.54545 46.636117,77.54545 46.715011,77.522453 46.730776,77.522453 46.79379,77.476459 47.15469,77.614441 47.217206,77.798416 47.185957,77.890403 47.185957,78.005387 47.264045,78.074378 47.248437,78.120372 47.217206,78.189362 47.217206,78.258353 47.295248,78.327344 47.310843,78.465325 47.232824,78.603306 47.185957,78.672297 47.139049,78.741287 47.139049,78.833275 47.045108,79.040247 47.060777,79.270215 47.07644,79.707156 46.919596,79.868134 46.888172,80.098103 46.903887,80.1211 46.888172,80.19009 46.872453,80.213087 46.79379,80.305074 46.778043,80.374065 46.730776,80.420059 46.730776,80.443056 46.715011,80.650028 46.636117,80.856999 46.572919,81.155959 46.557107,81.247946 46.493817,81.385927 46.541292,81.477915 46.557107,81.546906 46.493817,81.523909 46.398743,81.569902 46.319388,81.684887 46.239918,81.753877 46.160333,81.868862 46.112526,81.960849 45.904885,81.983846 45.88888,82.052837 45.824815,82.121827 45.712524,82.144824 45.696464,82.259809 45.583914,82.282805 45.583914,82.39779 45.503383,82.420787 45.503383,82.420787 45.487263,82.535771 45.438875,82.558768 45.422736,82.604762 45.358136,82.604762 45.212516,82.489777 45.163892,82.420787 45.163892,82.420787 45.180105,82.305802 45.196313,82.282805 45.212516,82.075834 45.196313,82.052837 45.228714,81.937852 45.212516,81.822868 45.293462,81.776874 45.358136,81.66189 45.341974,81.500912 45.261097,81.431921 45.244908,81.408924 45.261097,81.132962 45.196313,81.109965 45.180105,81.017977 45.147675,80.902993 45.131454,80.879996 45.115228,80.765012 45.131454,80.650028 45.115228,80.627031 45.098997,80.489049 45.098997,80.397062 45.034027,80.282078 45.034027,80.213087 45.017774,80.144096 45.034027,79.937125 44.920153,80.006115 44.838676,80.029112 44.822367,80.167093 44.838676,80.236084 44.740751,80.351068 44.708073,80.420059 44.626296,80.397062 44.495212,80.374065 44.478806,80.420059 44.31449,80.420059 44.149714,80.466053 44.083674,80.466053 44.01756,80.535043 43.901683,80.535043 43.835366,80.696021 43.619328,80.742015 43.552697,80.765012 43.435917,80.742015 43.352364,80.719018 43.33564,80.788009 43.318911,80.811006 43.168143,80.811006 43.134588,80.742015 43.117804,80.719018 43.134588,80.627031 43.134588,80.55804 43.084221,80.420059 43.033813,80.443056 42.983364,80.581037 42.932873,80.604034 42.916033,80.581037 42.865487,80.535043 42.865487,80.397062 42.8149,80.282078 42.8149,80.259081 42.696701,80.19009 42.645975,80.213087 42.561341,80.236084 42.5444,80.259081 42.5444,80.236084 42.425686,80.305074 42.272723,80.305074 42.221653,80.236084 42.20462,80.167093 42.20462,80.1211 42.306747,80.006115 42.357749,79.937125 42.442659,79.799143 42.442659,79.707156 42.476591,79.546178 42.459627,79.45419 42.49355,79.431193 42.5444,79.408197 42.5444,79.339206 42.595208,79.178228 42.679797,79.178228 42.747385,79.155231 42.798028,79.132234 42.781152,78.902265 42.781152,78.810278 42.8149,78.695293 42.8149,78.511319 42.882341,78.465325 42.882341,78.304347 42.865487,78.005387 42.865487,77.660434 42.916033,77.591444 42.916033,77.568447 42.932873,77.246491 42.916033,77.131506 42.966538,77.016522 42.966538,76.993525 42.983364,76.763556 42.949708,76.740559 42.916033,76.533588 42.916033,76.418603 42.865487,76.349613 42.865487,76.280622 42.916033,76.211631 42.916033,76.188635 42.932873,76.027656 42.916033,76.00466 42.932873,75.912672 42.949708,75.797688 42.932873,75.774691 42.949708,75.613713 43.000185,75.63671 43.017001,75.613713 43.067423,75.544722 43.084221,75.360747 43.151368,75.291757 43.285439,75.291757 43.352364,75.406741 43.435917,75.406741 43.485993,75.383744 43.536028,75.176772 43.519355,75.038791 43.602677,74.992797 43.635974,75.107782 43.719135,75.26876 43.818776,75.26876 43.934814,75.314753 43.967926,75.314753 44.13321,75.199769 44.23216,74.946803 44.347391,74.739832 44.363834,74.509863 44.478806,74.509863 44.708073,74.325888 44.854981,74.2339 44.871281,74.141913 44.920153,74.095919 45.082761,74.072922 45.131454,74.003932 45.131454,73.750966 45.115228,73.727969 45.196313))","code":"almaty","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"67","name":"Алматы","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((51.535989 55.095794,51.558985 55.135251,51.627976 55.135251,51.811951 55.043123,51.880942 55.056298,52.04192 55.056298,52.225895 55.108951,52.386873 55.095794,52.547851 55.135251,52.639838 55.135251,52.869807 55.082633,52.984791 55.043123,52.984791 55.029945,53.076779 54.977188,53.191763 54.963988,53.237757 54.884696,53.076779 54.725643,53.007788 54.672486,52.984791 54.659186,52.984791 54.645881,52.938798 54.619259,52.961795 54.565963,52.984791 54.565963,52.984791 54.472527,52.915801 54.459161,52.639838 54.459161,52.570848 54.472527,52.501857 54.459161,52.47886 54.472527,52.386873 54.472527,52.340879 54.525945,52.294885 54.552628,52.225895 54.659186,52.156904 54.699073,52.087913 54.765465,51.857945 54.897922,51.535989 55.095794))","code":"almetevsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"108","name":"Альметьевск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((177.328874 64.723829,177.351871 64.753271,177.466856 64.74346,177.535846 64.74346,177.535846 64.704183,177.512849 64.635311,177.466856 64.635311,177.351871 64.674688,177.328874 64.723829))","code":"anadyr","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"155","name":"Анадырь","time_zone":{"name":"Asia/Anadyr","offset":720},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.819447 44.806053,40.819447 44.871281,40.888437 44.887576,40.888437 45.001515,40.86544 45.050277,40.888437 45.066521,40.888437 45.196313,40.934431 45.244908,41.026418 45.244908,41.049415 45.228714,41.279384 45.228714,41.348375 45.212516,41.348375 45.115228,41.325378 45.115228,41.302381 45.034027,41.348375 44.920153,41.302381 44.871281,41.325378 44.854981,41.325378 44.740751,41.279384 44.691727,41.210393 44.691727,41.118406 44.675376,41.072412 44.708073,40.934431 44.757084,40.819447 44.806053))","code":"armawir","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"106","name":"Армавир","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((39.462631 64.308265,39.462631 64.821843,39.531622 64.831625,40.612475 64.821843,40.819447 64.821843,41.210393 64.812058,41.302381 64.812058,41.325378 64.78268,41.302381 64.655007,41.302381 64.566264,41.279384 64.338158,41.279384 64.298293,41.210393 64.288318,41.049415 64.288318,40.198531 64.298293,39.531622 64.298293,39.462631 64.308265))","code":"arkhangelsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"49","name":"Архангельск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.520487 18.089269,40.520487 18.154838,40.635472 18.176688,40.681465 18.220381,41.210393 18.482309,41.325378 18.547729,41.371371 18.591328,41.394368 18.656706,41.60134 18.678493,41.60134 18.743837,41.624337 18.743837,41.578343 18.852688,41.463359 19.004961,41.509353 19.048442,41.555346 19.048442,41.624337 19.222252,41.716324 19.222252,41.831309 19.113642,41.900299 19.200535,41.923296 19.265675,41.923296 19.417568,41.854306 19.482621,41.831309 19.547649,41.831309 19.720927,41.739321 19.699277,41.762318 19.764217,41.785315 19.785858,41.785315 19.872391,41.831309 19.91564,41.900299 20.196469,41.96929 20.261205,42.015284 20.369037,42.107271 20.412148,42.130268 20.412148,42.153265 20.325913,42.222256 20.282777,42.291246 20.304346,42.314243 20.325913,42.406231 20.325913,42.429227 20.282777,42.544212 20.261205,42.636199 20.390594,42.70519 20.390594,42.70519 20.476793,42.797177 20.519875,42.912162 20.519875,42.981152 20.584474,43.07314 20.606001,43.165127 20.778109,43.234118 20.799608,43.44109 20.778109,43.625065 20.7351,43.625065 20.713591,43.740049 20.692079,43.80904 20.670565,43.87803 20.606001,43.993015 20.519875,44.039008 20.519875,44.039008 20.282777,44.062005 20.261205,44.085002 20.110114,44.107999 20.002103,44.17699 19.93726,44.222983 19.699277,44.222983 19.569319,44.153993 19.547649,44.153993 19.482621,44.222983 19.46094,44.337968 19.482621,44.383962 19.417568,44.383962 19.33079,44.452952 19.309088,44.452952 19.200535,44.383962 19.091912,44.383962 18.961469,44.314971 18.939718,44.24598 18.939718,44.199987 18.896209,44.130996 18.87445,44.107999 18.809156,44.107999 18.743837,43.993015 18.634916,43.970018 18.525925,43.947021 18.504119,43.947021 18.438682,43.87803 18.373221,43.855034 18.307735,43.855034 18.264064,43.763046 18.242224,43.763046 18.176688,43.717052 18.132984,43.671059 17.936181,43.625065 17.9143,43.602068 17.761061,43.625065 17.563846,43.671059 17.519991,43.717052 17.388363,43.602068 17.388363,43.464087 17.519991,43.395096 17.54192,43.326105 17.519991,43.303109 17.498059,43.280112 17.519991,43.257115 17.498059,43.188124 17.498059,43.165127 17.585769,43.07314 17.585769,43.004149 17.629608,42.981152 17.695347,42.889165 17.717254,42.866168 17.78296,42.728187 17.761061,42.70519 17.78296,42.498218 17.804857,42.406231 17.739159,42.360237 17.826751,42.245253 17.892417,42.245253 17.979934,42.222256 18.045543,42.084274 18.045543,42.084274 17.9143,42.038281 17.848643,41.96929 17.78296,41.279384 17.54192,41.210393 17.519991,40.911434 17.410307,40.86544 17.454189,40.750456 17.651524,40.612475 17.9143,40.589478 17.936181,40.520487 18.089269))","code":"asir","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"223","name":"Асир","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((71.129323 51.123677,71.129323 51.253399,71.336295 51.310935,71.382288 51.310935,71.635254 51.325308,71.681248 51.354041,71.750238 51.354041,71.750238 51.339677,71.842226 51.224603,71.865223 51.152536,71.88822 51.008062,71.796232 50.950147,71.612257 50.921162,71.382288 50.935657,71.267304 50.950147,71.15232 51.02253,71.129323 51.123677))","code":"nur_sultan","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"68","name":"Астана","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((47.62652 46.335269,47.62652 46.683467,47.718508 46.778043,47.787499 46.778043,47.810495 46.762292,47.879486 46.746536,47.902483 46.730776,47.948477 46.730776,47.948477 46.715011,48.132452 46.715011,48.316427 46.683467,48.36242 46.636117,48.408414 46.477983,48.36242 46.287614,48.36242 46.22401,48.408414 46.192181,48.408414 46.144402,48.36242 46.112526,48.36242 46.064678,48.270433 46.04872,48.247436 46.064678,48.201442 46.04872,47.971473 46.016789,47.833492 46.064678,47.764502 46.04872,47.695511 46.064678,47.62652 46.335269))","code":"astrakhan","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"8","name":"Астрахань","time_zone":{"name":"Europe/Astrakhan","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((47.074595 47.946266,47.074595 47.992457,47.097592 48.007845,47.097592 48.023228,47.18958 48.084715,47.120589 48.100075,47.120589 48.238112,47.18958 48.222793,47.281567 48.222793,47.787499 48.161471,48.684376 48.100075,48.960339 48.053981,49.328289 47.946266,49.443273 47.930859,49.443273 48.007845,49.512264 48.023228,49.673242 48.007845,49.765229 48.007845,49.811223 48.038607,49.995198 48.038607,50.248164 48.207469,50.731098 48.421583,50.823086 48.421583,50.892076 48.467348,51.00706 48.513071,51.076051 48.619599,51.283023 48.634798,51.398007 48.665185,51.834948 48.619599,51.811951 48.528303,51.834948 48.513071,51.949932 48.528303,52.04192 48.467348,52.202898 48.482593,52.432867 48.406319,52.501857 48.406319,52.547851 48.467348,52.547851 48.634798,52.570848 48.649994,52.593845 48.74107,52.708829 48.771392,52.708829 48.983134,52.77782 48.998224,52.84681 49.043467,52.984791 49.02839,53.21476 49.02839,53.237757 49.013309,53.398735 49.043467,53.398735 49.11878,53.559713 49.178949,53.628704 49.224027,53.743688 49.163914,53.858673 49.11878,53.904666 49.11878,53.927663 49.163914,53.996654 49.163914,54.019651 48.968039,54.019651 48.892497,54.042647 48.756233,54.295613 48.710729,54.31861 48.695552,54.341607 48.695552,54.479588 48.634798,54.548579 48.649994,54.571576 48.695552,54.571576 48.771392,54.68656 48.786546,54.732554 48.786546,54.755551 48.74107,54.870535 48.725902,54.916529 48.695552,54.939525 48.589185,54.893532 48.467348,54.893532 48.345217,54.962522 48.268736,54.939525 48.161471,54.939525 48.100075,55.100504 47.961667,55.100504 47.822887,55.1235 47.776545,55.077507 47.668251,55.05451 47.575249,55.077507 47.559732,55.077507 47.450988,55.031513 47.419877,55.031513 47.373176,55.008516 47.201584,55.1235 47.060777,55.1235 47.013758,55.169494 46.982389,55.238485 46.872453,55.445457 46.730776,55.468454 46.730776,55.49145 46.715011,55.698422 46.651905,56.296341 46.509647,56.319338 46.382882,56.434322 46.239918,56.434322 46.208098,56.457319 46.192181,56.480316 46.128466,56.273344 46.144402,56.22735 46.128466,56.15836 46.144402,56.089369 46.192181,56.020378 46.208098,55.997382 46.22401,55.836403 46.27172,55.8594 46.287614,55.836403 46.398743,55.767413 46.4146,55.629432 46.4146,55.537444 46.477983,55.468454 46.493817,55.284479 46.367015,55.077507 46.382882,55.05451 46.367015,54.847538 46.367015,54.68656 46.319388,54.548579 46.303504,54.341607 46.255822,54.249619 46.255822,53.996654 46.239918,53.95066 46.160333,53.789682 46.080632,53.697694 46.016789,52.84681 46.016789,52.754823 46.208098,52.708829 46.367015,52.708829 46.430453,52.77782 46.604527,52.639838 46.683467,52.501857 46.651905,52.386873 46.604527,52.202898 46.604527,52.133907 46.620324,51.834948 46.572919,51.719963 46.572919,51.512992 46.604527,51.444001 46.651905,51.421004 46.730776,51.398007 46.730776,51.352014 46.825269,51.283023 46.841002,51.122045 46.730776,51.099048 46.730776,50.179173 46.096581,50.133179 46.080632,50.064189 46.096581,49.673242 46.144402,49.443273 46.208098,49.397279 46.239918,49.259298 46.287614,49.190308 46.382882,49.09832 46.382882,49.075323 46.398743,48.891348 46.462144,48.822358 46.477983,48.753367 46.557107,48.569392 46.557107,48.546395 46.604527,48.569392 46.620324,48.523398 46.651905,48.523398 46.699241,48.592389 46.715011,48.707373 46.715011,48.753367 46.683467,48.914345 46.699241,48.960339 46.730776,48.983336 46.730776,48.983336 46.778043,48.914345 46.888172,48.73037 47.07644,48.523398 47.404314,48.454408 47.404314,48.385417 47.482081,48.339423 47.513155,48.247436 47.637269,48.178445 47.71469,48.063461 47.761088,47.948477 47.745627,47.649517 47.761088,47.488539 47.807444,47.488539 47.822887,47.419549 47.822887,47.419549 47.776545,47.396552 47.699215,47.327561 47.699215,47.304564 47.71469,47.143586 47.791997,47.143586 47.838326,47.120589 47.915449,47.097592 47.930859,47.097592 47.946266,47.074595 47.946266))","code":"atyrau","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true},"id":"168","name":"Атырау","time_zone":{"name":"Asia/Atyrau","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((77.039519 53.730922,77.108509 53.826046,77.131506 53.893859,77.085513 53.94803,77.085513 53.97509,77.154503 53.988613,77.246491 54.042661,77.315481 54.042661,77.338478 54.083152,77.315481 54.123603,77.292484 54.137078,77.315481 54.177476,77.361475 54.204386,77.384472 54.204386,77.384472 54.217835,77.775419 54.217835,77.798416 54.204386,77.890403 54.204386,77.9134 54.217835,78.028384 54.231279,78.028384 54.244719,78.120372 54.258154,78.120372 54.311852,78.212359 54.338675,78.327344 54.298434,78.327344 54.271585,78.35034 54.271585,78.327344 54.217835,78.304347 54.204386,78.304347 54.177476,78.327344 54.164014,78.35034 54.09664,78.235356 54.09664,78.235356 54.056163,78.258353 54.042661,78.235356 54.029156,78.166365 54.015646,78.166365 53.94803,78.074378 53.920953,77.98239 53.920953,77.959394 53.880305,77.9134 53.853184,77.9134 53.798889,77.867406 53.798889,77.798416 53.826046,77.683431 53.81247,77.660434 53.785305,77.54545 53.785305,77.499456 53.717316,77.384472 53.703705,77.361475 53.717316,77.246491 53.703705,77.1775 53.676469,77.108509 53.676469,77.062516 53.717316,77.039519 53.730922))","code":"bagan","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false,"truck_graph":true},"id":"176","name":"Баган","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((49.512264 40.705231,49.535261 40.705231,49.581254 40.670355,49.742233 40.618007,49.857217 40.600548,50.041192 40.635461,50.225167 40.600548,50.317154 40.530669,50.386145 40.425713,50.432139 40.250422,50.409142 40.197746,50.340151 40.197746,50.041192 40.250422,49.719236 40.232868,49.696239 40.21531,49.604251 40.197746,49.535261 40.21531,49.535261 40.267972,49.558258 40.285517,49.535261 40.443217,49.512264 40.705231))","code":"baku","country_code":"az","domain":"az","flags":{"2gis_reviews":true,"flamp":false,"metro":true,"parking_layer":true,"public_transport":true,"road_network":true,"traffic":true},"id":"209","name":"Баку","time_zone":{"name":"Asia/Baku","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((47.718508 51.967438,47.718508 52.052369,47.810495 52.052369,47.902483 52.024077,47.902483 51.981605,47.787499 51.967438,47.764502 51.953267,47.718508 51.967438))","code":"balakovo","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"121","name":"Балаково","time_zone":{"name":"Europe/Saratov","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((77.407469 55.082633,77.407469 55.17467,77.522453 55.214049,77.660434 55.227167,77.683431 55.25339,77.591444 55.279595,77.591444 55.345033,77.660434 55.358108,77.844409 55.358108,77.9134 55.345033,78.120372 55.331954,78.28135 55.358108,78.373337 55.410363,78.442328 55.397306,78.534315 55.423416,78.626303 55.423416,78.695293 55.371178,78.741287 55.345033,78.902265 55.345033,78.925262 55.305783,78.902265 55.292691,78.925262 55.25339,78.948259 55.24028,78.925262 55.135251,78.971256 55.108951,78.994253 55.043123,78.994253 55.003575,78.695293 55.016762,78.695293 55.003575,78.488322 54.924361,78.419331 54.911144,78.373337 54.85823,78.189362 54.8185,77.959394 54.738921,77.959394 54.685782,77.936397 54.672486,77.890403 54.685782,77.775419 54.672486,77.614441 54.752195,77.614441 54.871465,77.522453 54.871465,77.499456 54.990384,77.476459 54.990384,77.407469 55.082633))","code":"barabinsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true,"truck_graph":true},"id":"177","name":"Барабинск","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((82.351796 53.457952,82.351796 53.512687,82.420787 53.512687,82.420787 53.49901,82.535771 53.49901,82.558768 53.512687,82.535771 53.553692,82.650755 53.635583,82.650755 53.690089,82.742743 53.744525,82.76574 53.798889,83.20268 54.056163,83.317665 54.056163,83.340661 53.94803,83.409652 53.934494,83.478643 54.002132,83.478643 54.069659,83.57063 54.110123,83.777602 54.110123,83.846593 54.123603,83.915583 54.09664,83.984574 54.110123,83.984574 54.029156,84.007571 53.961562,84.214543 53.961562,84.283533 53.853184,84.352524 53.853184,84.398518 53.798889,84.467508 53.798889,84.490505 53.758122,84.467508 53.717316,84.421514 53.676469,84.352524 53.676469,84.283533 53.662845,84.283533 53.621946,84.30653 53.608304,84.352524 53.540028,84.444511 53.540028,84.559496 53.52636,84.582493 53.540028,84.651483 53.553692,84.720474 53.540028,84.743471 53.49901,84.858455 53.485328,84.904449 53.430558,85.019433 53.430558,85.088424 53.389434,85.019433 53.34827,85.065427 53.265822,84.996436 53.210769,85.04243 53.183216,85.203408 53.196994,85.226405 53.210769,85.387383 53.224539,85.387383 53.128056,85.479371 53.114255,85.479371 53.072825,85.433377 53.017524,85.364386 53.017524,85.226405 52.989846,85.203408 52.948297,85.249402 52.920575,85.249402 52.865079,85.111421 52.767788,84.789464 52.767788,84.743471 52.712096,84.743471 52.67028,84.720474 52.600498,84.67448 52.558575,84.605489 52.516612,84.559496 52.530604,84.536499 52.586528,84.467508 52.586528,84.30653 52.544592,84.283533 52.530604,84.099558 52.460599,84.030568 52.460599,83.93858 52.628424,83.961577 52.64238,84.122555 52.67028,84.122555 52.698162,84.099558 52.767788,84.030568 52.809511,83.984574 52.878959,83.86959 52.865079,83.800599 52.878959,83.823596 52.948297,83.754605 52.989846,83.754605 53.059007,83.777602 53.072825,83.754605 53.128056,83.524636 53.141852,83.432649 53.169432,83.432649 53.210769,83.317665 53.196994,83.271671 53.155645,83.156687 53.128056,83.110693 53.100449,82.972712 53.059007,82.880724 53.003687,82.788737 52.989846,82.719746 53.017524,82.673752 53.045183,82.696749 53.114255,82.627758 53.210769,82.604762 53.224539,82.581765 53.265822,82.420787 53.361995,82.420787 53.389434,82.39779 53.389434,82.351796 53.457952))","code":"barnaul","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"4","name":"Барнаул","time_zone":{"name":"Asia/Barnaul","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((47.695511 30.564505,47.741505 30.584304,47.856489 30.524893,47.856489 30.465446,47.810495 30.425794,47.764502 30.445622,47.695511 30.564505))","code":"basra","country_code":"iq","domain":"iq","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false},"id":"243","name":"Басра","time_zone":{"name":"Asia/Baghdad","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((50.294157 25.885932,50.294157 26.03067,50.317154 26.257754,50.340151 26.360827,50.386145 26.402031,50.386145 26.484394,50.409142 26.546128,50.478132 26.566699,50.501129 26.648944,50.616114 26.710589,50.777092 26.648944,50.823086 26.566699,50.823086 26.484394,50.869079 26.44322,50.93807 26.298994,50.93807 26.257754,50.915073 26.237128,50.915073 26.07199,50.846082 26.010004,50.823086 25.885932,50.869079 25.76173,50.846082 25.658129,50.823086 25.637398,50.800089 25.575183,50.731098 25.575183,50.57012 25.595925,50.547123 25.595925,50.409142 25.7203,50.340151 25.865241,50.294157 25.885932))","code":"bahrain","country_code":"bh","domain":"bh","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"233","name":"Бахрейн","time_zone":{"name":"Asia/Bahrain","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((36.358053 50.630318,36.358053 50.67406,36.496035 50.703199,36.611019 50.688632,36.749 50.717761,36.932975 50.688632,36.932975 50.659484,36.886982 50.615729,36.840988 50.615729,36.726003 50.528096,36.68001 50.498848,36.565025 50.484218,36.427044 50.498848,36.427044 50.528096,36.450041 50.542712,36.38105 50.615729,36.358053 50.630318))","code":"belgorod","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"46","name":"Белгород","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((58.205081 53.907408,58.205081 53.961562,58.228078 54.002132,58.458047 54.015646,58.527037 54.002132,58.527037 53.920953,58.458047 53.907408,58.274072 53.893859,58.205081 53.907408))","code":"beloretsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":false,"road_network":false,"truck_graph":true},"id":"246","name":"Белорецк","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((84.467508 51.981605,84.513502 52.009924,84.536499 52.052369,84.513502 52.066509,84.490505 52.1089,84.559496 52.1089,84.559496 52.16536,84.513502 52.221748,84.513502 52.263992,84.559496 52.292132,84.605489 52.362405,84.605489 52.516612,84.67448 52.558575,84.720474 52.600498,84.858455 52.614463,84.881452 52.628424,84.950442 52.628424,85.088424 52.67028,85.134417 52.67028,85.157414 52.628424,85.249402 52.628424,85.295396 52.656332,85.364386 52.656332,85.433377 52.586528,85.479371 52.502615,85.571358 52.460599,85.870317 52.446585,86.008299 52.306195,86.238267 52.16536,86.238267 52.038225,86.21527 52.024077,86.100286 52.080644,85.939308 52.094774,85.916311 52.123022,85.77833 52.1089,85.709339 52.094774,85.686342 52.052369,85.594355 51.981605,85.571358 51.967438,85.548361 51.910728,85.41038 51.882346,85.157414 51.868148,85.134417 51.882346,84.973439 51.868148,84.927446 51.839739,84.858455 51.853946,84.766468 51.896539,84.651483 51.882346,84.605489 51.896539,84.559496 51.924912,84.490505 51.939092,84.467508 51.981605))","code":"biysk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"20","name":"Бийск","time_zone":{"name":"Asia/Barnaul","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((132.806932 48.725902,132.829928 48.862248,132.875922 48.892497,133.105891 48.756233,133.082894 48.710729,133.013903 48.710729,132.806932 48.725902))","code":"birobidzhan","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"157","name":"Биробиджан","time_zone":{"name":"Asia/Vladivostok","offset":600},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((70.876357 42.306747,70.876357 42.340753,70.945348 42.391727,70.991342 42.49355,71.060332 42.49355,71.037335 42.5444,71.014338 42.5444,71.014338 42.595208,71.15232 42.595208,71.175317 42.645975,71.267304 42.7136,71.267304 42.764271,71.336295 42.764271,71.428282 42.798028,71.497273 42.798028,71.612257 42.781152,71.704245 42.8149,71.865223 42.831767,72.003204 42.781152,72.049198 42.781152,72.118188 42.747385,72.279166 42.764271,72.348157 42.747385,72.509135 42.679797,72.624119 42.679797,72.716107 42.645975,72.854088 42.561341,72.877085 42.5444,73.084057 42.5444,73.107054 42.527455,73.222038 42.527455,73.291029 42.510505,73.337022 42.425686,73.498001 42.425686,73.498001 42.459627,73.42901 42.5444,73.475004 42.730495,73.520997 42.798028,73.520997 42.916033,73.543994 42.932873,73.566991 43.033813,73.612985 43.033813,73.635982 43.050621,73.704972 43.067423,73.819957 43.117804,73.888947 43.117804,73.957938 43.151368,73.957938 43.201679,74.095919 43.184913,74.16491 43.201679,74.2339 43.251949,74.302891 43.235197,74.463869 43.151368,74.578854 43.134588,74.716835 43.000185,74.854816 43.000185,74.9698 42.949708,75.130778 42.899189,75.130778 42.882341,75.360747 42.848629,75.452735 42.848629,75.475732 42.831767,75.7057 42.8149,75.774691 42.831767,75.797688 42.932873,75.912672 42.949708,76.00466 42.932873,76.027656 42.916033,76.188635 42.932873,76.211631 42.916033,76.280622 42.916033,76.349613 42.865487,76.418603 42.865487,76.533588 42.916033,76.740559 42.916033,76.763556 42.949708,76.993525 42.983364,77.016522 42.966538,77.131506 42.966538,77.246491 42.916033,77.568447 42.932873,77.591444 42.916033,77.660434 42.916033,78.005387 42.865487,78.258353 42.865487,78.511319 42.882341,78.695293 42.8149,78.810278 42.8149,78.902265 42.781152,79.132234 42.781152,79.155231 42.798028,79.178228 42.747385,79.178228 42.679797,79.339206 42.595208,79.408197 42.5444,79.431193 42.5444,79.45419 42.49355,79.546178 42.459627,79.707156 42.476591,79.799143 42.442659,79.937125 42.442659,80.006115 42.357749,80.098103 42.323752,80.167093 42.221653,80.144096 42.136444,80.213087 42.085263,80.213087 42.034041,80.075106 42.034041,80.006115 42.05112,79.983118 42.034041,79.868134 42.034041,79.776146 41.897247,79.661162 41.897247,79.592171 41.845874,79.431193 41.845874,79.316209 41.794459,79.224222 41.725842,79.155231 41.725842,79.132234 41.708677,79.063243 41.691506,79.040247 41.674331,78.971256 41.657152,78.856272 41.571186,78.764284 41.553979,78.695293 41.536767,78.672297 41.485105,78.557312 41.467875,78.534315 41.450641,78.373337 41.39891,78.212359 41.39891,78.143369 41.364399,78.143369 41.278044,78.028384 41.191574,77.936397 41.191574,77.798416 41.122316,77.798416 41.03564,77.660434 41.000938,77.522453 41.000938,77.361475 41.03564,77.338478 41.018291,77.154503 41.018291,77.108509 41.052984,76.970528 41.052984,76.740559 40.931478,76.717563 40.809749,76.648572 40.75751,76.648572 40.670355,76.625575 40.618007,76.556584 40.548146,76.533588 40.530669,76.533588 40.460717,76.418603 40.373174,76.349613 40.373174,76.303619 40.408205,76.234628 40.408205,76.188635 40.373174,76.096647 40.373174,75.935669 40.355652,75.935669 40.320593,75.682703 40.303058,75.682703 40.373174,75.7057 40.460717,75.63671 40.530669,75.613713 40.548146,75.613713 40.65291,75.498728 40.635461,75.245763 40.443217,75.130778 40.460717,75.107782 40.443217,74.9698 40.460717,74.90081 40.513188,74.693838 40.513188,74.60185 40.548146,74.578854 40.565618,74.555857 40.618007,74.417875 40.670355,74.371882 40.670355,74.187907 40.844551,74.049926 40.94885,74.072922 41.070324,73.911944 41.191574,73.911944 41.260759,73.957938 41.467875,73.934941 41.485105,73.934941 41.622779,73.911944 41.639968,73.888947 41.725842,73.957938 41.743003,73.957938 41.811602,73.911944 41.845874,73.750966 41.863003,73.773963 41.948579,73.750966 41.99987,73.658979 41.99987,73.360019 42.016958,73.314026 42.085263,73.199041 42.119388,73.038063 42.119388,73.015066 42.136444,72.946076 42.119388,72.877085 42.068194,72.808094 42.05112,72.69311 42.119388,72.670113 42.136444,72.463141 42.153495,72.348157 42.20462,72.302163 42.20462,72.279166 42.221653,72.210176 42.20462,72.187179 42.119388,72.164182 42.068194,72.095191 42.068194,71.88822 42.136444,71.704245 42.170541,71.704245 42.187583,71.58926 42.20462,71.428282 42.187583,71.405285 42.20462,71.244307 42.20462,71.175317 42.221653,71.129323 42.255704,71.060332 42.272723,70.991342 42.238681,70.945348 42.238681,70.876357 42.306747))","code":"bishkek","country_code":"kg","domain":"kg","flags":{"2gis_reviews":true,"flamp":false,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true},"id":"112","name":"Бишкек","time_zone":{"name":"Asia/Bishkek","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((127.264686 50.469583,127.310679 50.542712,127.333676 50.557325,127.333676 50.615729,127.310679 50.615729,127.310679 50.630318,127.333676 50.644903,127.356673 50.688632,127.37967 50.703199,127.448661 50.790506,127.494654 50.819572,127.471657 50.892159,127.517651 50.935657,127.517651 51.008062,127.563645 51.036993,127.563645 51.123677,127.678629 51.166958,127.770617 51.181376,127.839607 51.166958,127.931595 51.19579,127.931595 51.310935,128.000586 51.382755,128.023582 51.44013,128.092573 51.46879,128.253551 51.483114,128.345539 51.526057,128.391532 51.497433,128.391532 51.44013,128.460523 51.397106,128.48352 51.296558,128.506517 51.296558,128.529514 51.19579,128.575507 51.152536,128.575507 51.065906,128.621501 50.99359,128.667495 50.964632,128.667495 50.848621,128.529514 50.819572,128.414529 50.775966,128.299545 50.67406,128.18456 50.67406,128.138567 50.630318,128.138567 50.615729,128.11557 50.615729,128.11557 50.601134,128.069576 50.601134,128.000586 50.586536,128.000586 50.542712,128.069576 50.484218,128.000586 50.425651,127.885601 50.29361,127.770617 50.264217,127.770617 50.234807,127.678629 50.205378,127.586642 50.205378,127.540648 50.234807,127.425664 50.249514,127.402667 50.264217,127.333676 50.278916,127.310679 50.35234,127.333676 50.425651,127.264686 50.469583))","code":"blagoveshensk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"52","name":"Благовещенск","time_zone":{"name":"Asia/Yakutsk","offset":540},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((101.071249 55.967759,101.071249 56.224312,101.094246 56.491856,101.163237 56.50455,101.50819 56.491856,101.830146 56.491856,102.037118 56.479159,102.060115 56.44104,102.037118 56.249873,102.037118 56.134713,102.014121 55.967759,101.991124 55.929128,101.600177 55.942009,101.163237 55.942009,101.071249 55.967759))","code":"bratsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"51","name":"Братск","time_zone":{"name":"Asia/Irkutsk","offset":480},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((34.10436 53.155645,34.10436 53.293322,34.127357 53.307066,34.150354 53.403146,34.173351 53.444257,34.242341 53.444257,34.357326 53.485328,34.47231 53.471642,34.564298 53.375717,34.610291 53.252065,34.610291 53.183216,34.403319 53.141852,34.334329 53.169432,34.265338 53.155645,34.242341 53.141852,34.173351 53.128056,34.10436 53.155645))","code":"bryansk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"62","name":"Брянск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((31.068773 58.481344,31.114767 58.50538,31.137764 58.637286,31.206754 58.685128,31.344736 58.709025,31.505714 58.697079,31.505714 58.673174,31.528711 58.61334,31.620698 58.565399,31.620698 58.517392,31.597701 58.517392,31.551707 58.493364,31.436723 58.457292,31.367732 58.421182,31.275745 58.421182,31.252748 58.457292,31.09177 58.445259,31.068773 58.481344))","code":"v_novgorod","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"77","name":"Великий Новгород","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((76.142641 55.514667,76.142641 55.553709,76.211631 55.592713,76.211631 55.696535,76.188635 55.761284,76.234628 55.851751,76.372609 55.877561,76.372609 55.903353,76.395606 56.070585,76.349613 56.096249,76.349613 56.147525,76.280622 56.160334,76.211631 56.211525,76.211631 56.224312,76.280622 56.224312,76.326616 56.275417,76.395606 56.275417,76.4416 56.224312,76.533588 56.224312,76.625575 56.275417,76.717563 56.275417,76.786553 56.237095,76.924534 56.237095,76.993525 56.224312,77.223494 56.249873,77.200497 56.313702,77.1775 56.351948,77.246491 56.390156,77.292484 56.390156,77.292484 56.351948,77.315481 56.313702,77.430466 56.300945,77.568447 56.326455,77.660434 56.313702,77.706428 56.275417,77.706428 56.262647,77.637437 56.198733,77.660434 56.160334,77.729425 56.147525,77.798416 56.173138,77.867406 56.173138,77.867406 56.160334,77.752422 56.096249,77.637437 56.083419,77.568447 56.019206,77.499456 56.019206,77.430466 56.006351,77.430466 55.967759,77.522453 55.877561,77.54545 55.761284,77.499456 55.735397,77.499456 55.696535,77.430466 55.605706,77.407469 55.592713,77.154503 55.605706,77.085513 55.566715,76.970528 55.540699,76.832547 55.566715,76.763556 55.553709,76.694566 55.488617,76.602578 55.488617,76.602578 55.514667,76.418603 55.514667,76.395606 55.553709,76.303619 55.553709,76.280622 55.514667,76.142641 55.514667))","code":"vengerovo","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false,"truck_graph":true},"id":"178","name":"Венгерово","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((131.381126 43.469306,131.404122 43.485993,131.565101 43.536028,131.634091 43.569362,131.703082 43.652615,131.841063 43.652615,131.910054 43.669252,131.979044 43.652615,132.048035 43.602677,132.346994 43.502676,132.369991 43.452614,132.369991 43.40251,132.255007 43.084221,132.117025 42.916033,131.956047 42.831767,131.818066 42.798028,131.680085 42.781152,131.565101 42.831767,131.588097 43.000185,131.473113 43.151368,131.404122 43.385799,131.381126 43.469306))","code":"vladivostok","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"25","name":"Владивосток","time_zone":{"name":"Asia/Vladivostok","offset":600},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((44.54494 42.747385,44.567937 42.882341,44.61393 42.983364,44.567937 43.017001,44.567937 43.067423,44.636927 43.117804,44.705918 43.101015,44.751911 43.000185,44.705918 42.848629,44.682921 42.798028,44.682921 42.730495,44.567937 42.730495,44.54494 42.747385))","code":"vladikavkaz","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"114","name":"Владикавказ","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.152537 56.070585,40.175534 56.211525,40.175534 56.313702,40.198531 56.453751,40.267522 56.466457,40.704462 56.466457,40.727459 56.428326,40.704462 56.390156,40.681465 56.198733,40.704462 56.109074,40.658468 56.083419,40.635472 56.019206,40.474493 56.019206,40.175534 56.032057,40.152537 56.070585))","code":"vladimir","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"59","name":"Владимир","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((43.87803 48.604394,43.947021 48.710729,43.924024 48.725902,43.901027 48.771392,43.924024 48.81684,44.062005 48.862248,44.085002 48.922727,44.199987 48.907614,44.291974 48.922727,44.314971 48.968039,44.360965 48.968039,44.567937 48.95294,44.590933 48.968039,44.61393 48.95294,44.682921 48.95294,44.866896 48.922727,44.935886 48.877375,45.050871 48.831981,45.073868 48.786546,45.004877 48.74107,44.98188 48.695552,45.027874 48.573971,44.98188 48.467348,45.027874 48.421583,45.027874 48.39105,44.958883 48.284042,44.728915 48.284042,44.61393 48.268736,44.590933 48.253426,44.360965 48.32993,44.24598 48.253426,44.17699 48.253426,44.062005 48.299342,43.970018 48.360499,43.993015 48.467348,43.970018 48.497834,43.901027 48.54353,43.87803 48.604394))","code":"volgograd","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"33","name":"Волгоград","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((42.015284 47.668251,42.038281 47.683735,42.107271 47.683735,42.130268 47.668251,42.176262 47.62177,42.383234 47.62177,42.383234 47.575249,42.314243 47.559732,42.314243 47.513155,42.291246 47.466537,42.130268 47.482081,42.061278 47.513155,42.015284 47.668251))","code":"volgodonsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"122","name":"Волгодонск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((37.668875 59.218851,37.78386 59.218851,37.78386 59.277644,37.875847 59.336337,38.036825 59.336337,38.059822 59.348063,38.2208 59.336337,38.335784 59.301133,38.427772 59.312872,38.58875 59.301133,38.611747 59.289391,38.841716 59.289391,39.048687 59.301133,39.232662 59.324606,39.301653 59.336337,39.370644 59.324606,39.462631 59.359785,39.531622 59.348063,39.554619 59.336337,39.6926 59.348063,39.784587 59.394928,39.945565 59.394928,39.991559 59.371503,40.083547 59.359785,40.12954 59.383218,40.244525 59.383218,40.221528 59.277644,40.198531 59.24238,40.313515 59.183526,40.290518 59.12457,40.244525 59.100959,40.221528 59.065512,40.152537 59.030028,40.037553 59.018192,39.945565 59.065512,39.669603 59.04186,39.209666 59.065512,38.818719 59.065512,38.795722 59.077332,38.58875 59.112766,38.358781 59.100959,38.266794 59.077332,37.875847 59.006352,37.714869 59.030028,37.691872 59.065512,37.668875 59.218851))","code":"vologda","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"78","name":"Вологда","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((38.9567 51.497433,39.002694 51.654644,38.9567 51.711677,39.025691 51.811313,39.025691 51.868148,39.048687 51.910728,39.163672 51.910728,39.255659 51.939092,39.39364 51.910728,39.508625 51.910728,39.531622 51.896539,39.669603 51.882346,39.669603 51.839739,39.623609 51.782868,39.600612 51.56896,39.577615 51.56896,39.600612 51.483114,39.531622 51.46879,39.278656 51.483114,39.094681 51.483114,39.048687 51.454462,38.979697 51.454462,38.9567 51.497433))","code":"voronezh","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"31","name":"Воронеж","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((45.34983 43.084221,45.34983 43.134588,45.418821 43.134588,45.579799 43.285439,45.579799 43.318911,45.487811 43.385799,45.579799 43.419216,45.71778 43.419216,45.740777 43.40251,45.855761 43.369084,45.970746 43.369084,45.993743 43.385799,46.039736 43.452614,46.338696 43.435917,46.338696 43.40251,46.407686 43.302177,46.407686 43.201679,46.200714 43.117804,46.177718 43.067423,46.062733 43.084221,45.901755 43.000185,45.671786 42.966538,45.648789 42.983364,45.579799 43.000185,45.533805 42.966538,45.464815 42.949708,45.395824 42.983364,45.395824 43.050621,45.34983 43.084221))","code":"grozny","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"115","name":"Грозный","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.911434 17.366415,40.911434 17.410307,41.210393 17.519991,41.279384 17.54192,41.96929 17.78296,42.038281 17.848643,42.084274 17.9143,42.084274 18.045543,42.222256 18.045543,42.245253 17.979934,42.245253 17.892417,42.360237 17.826751,42.406231 17.739159,42.498218 17.804857,42.70519 17.78296,42.728187 17.761061,42.866168 17.78296,42.889165 17.717254,42.981152 17.695347,43.004149 17.629608,43.07314 17.585769,43.165127 17.585769,43.188124 17.498059,43.257115 17.498059,43.280112 17.519991,43.303109 17.498059,43.280112 17.432249,43.280112 17.388363,43.303109 17.388363,43.349102 17.322513,43.234118 17.212711,43.188124 17.146799,43.257115 17.058879,43.234118 16.992912,43.211121 16.970918,43.188124 16.882916,43.257115 16.816887,43.280112 16.750835,43.257115 16.728813,43.257115 16.640698,43.188124 16.618663,43.165127 16.596626,43.119134 16.50845,43.004149 16.50845,42.958156 16.442293,42.935159 16.376112,42.820174 16.354047,42.797177 16.376112,42.544212 16.376112,42.429227 16.243684,42.475221 16.089071,42.383234 16.044874,42.130268 15.97856,42.061278 16.089071,41.992287 16.066974,41.808312 16.111166,41.785315 16.199521,41.716324 16.265761,41.60134 16.287836,41.486356 16.398175,41.394368 16.552543,41.325378 16.618663,41.23339 16.750835,41.210393 16.772855,41.210393 16.816887,41.1644 16.860909,40.911434 17.366415))","code":"jizan","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"227","name":"Джизан","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((49.006333 53.866747,49.006333 53.907408,49.02933 53.94803,49.167311 54.042661,49.236301 54.056163,49.236301 54.09664,49.167311 54.164014,49.09832 54.177476,49.09832 54.204386,49.121317 54.204386,49.144314 54.217835,49.144314 54.258154,49.167311 54.298434,49.236301 54.298434,49.259298 54.338675,49.328289 54.35208,49.604251 54.311852,49.627248 54.271585,49.742233 54.204386,49.765229 54.204386,49.788226 54.190933,49.880214 54.164014,49.903211 54.150548,49.903211 54.083152,49.811223 53.920953,49.811223 53.880305,49.788226 53.880305,49.719236 53.839617,49.627248 53.839617,49.604251 53.826046,49.581254 53.839617,49.351286 53.866747,49.328289 53.853184,49.259298 53.839617,49.213305 53.866747,49.006333 53.866747))","code":"dimitrovgrad","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"124","name":"Димитровград","time_zone":{"name":"Europe/Ulyanovsk","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((78.879268 54.459161,78.879268 54.485888,79.01725 54.485888,79.063243 54.552628,79.08624 54.565963,79.08624 54.645881,79.132234 54.645881,79.132234 54.605942,79.201225 54.565963,79.431193 54.645881,79.45419 54.659186,79.569175 54.699073,79.569175 54.738921,79.477187 54.738921,79.431193 54.71236,79.362203 54.725643,79.293212 54.77873,79.316209 54.805248,79.431193 54.805248,79.546178 54.831748,79.569175 54.85823,79.661162 54.85823,79.707156 54.884696,79.776146 54.871465,79.868134 54.8185,79.960121 54.8185,80.144096 54.844991,80.167093 54.805248,80.167093 54.632572,80.213087 54.552628,80.351068 54.552628,80.397062 54.512597,80.397062 54.459161,80.328071 54.445791,80.213087 54.378876,80.075106 54.378876,80.029112 54.338675,80.029112 54.258154,79.914128 54.231279,79.891131 54.204386,79.477187 54.204386,79.45419 54.244719,79.431193 54.258154,79.431193 54.311852,79.362203 54.325266,79.247218 54.311852,79.224222 54.271585,79.178228 54.271585,79.109237 54.285012,78.948259 54.35208,78.948259 54.419038,78.879268 54.459161))","code":"dovolnoe","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false,"truck_graph":true},"id":"179","name":"Довольное","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((59.699878 56.820507,59.722875 56.883381,59.722875 56.971227,59.745872 57.008812,59.814862 57.008812,59.860856 57.033848,59.998837 57.046359,60.113822 57.008812,60.2748 56.996288,60.389784 57.058866,60.64275 57.046359,60.665746 57.033848,60.757734 57.058866,60.895715 57.021332,60.941709 57.021332,60.964706 56.95869,60.987703 56.946149,60.964706 56.870815,60.987703 56.83309,61.125684 56.83309,61.263665 56.870815,61.424643 56.870815,61.516631 56.795328,61.493634 56.732306,61.401646 56.707067,61.217671 56.707067,61.125684 56.669178,61.102687 56.631251,61.033696 56.593285,61.033696 56.542605,61.125684 56.491856,61.125684 56.44104,61.148681 56.351948,61.125684 56.351948,61.102687 56.313702,61.148681 56.288183,61.171678 56.198733,61.125684 56.198733,61.056693 56.185938,61.033696 56.198733,60.918712 56.198733,60.895715 56.211525,60.734737 56.237095,60.665746 56.249873,60.688743 56.275417,60.665746 56.313702,60.596756 56.313702,60.527765 56.224312,60.435778 56.224312,60.412781 56.237095,60.435778 56.275417,60.435778 56.339204,60.458775 56.351948,60.435778 56.390156,60.182812 56.390156,60.113822 56.415607,60.113822 56.453751,60.090825 56.466457,60.067828 56.555281,59.952843 56.593285,59.814862 56.593285,59.745872 56.6186,59.745872 56.719689,59.699878 56.820507))","code":"ekaterinburg","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"9","name":"Екатеринбург","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((38.427772 52.628424,38.450769 52.67028,38.519759 52.656332,38.58875 52.656332,38.611747 52.614463,38.58875 52.572554,38.519759 52.572554,38.427772 52.628424))","code":"elets","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"126","name":"Елец","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((67.518814 47.900033,67.541811 47.946266,67.702789 47.930859,67.794777 47.900033,67.794777 47.745627,67.77178 47.699215,67.679792 47.699215,67.541811 47.853759,67.518814 47.900033))","code":"zhezkazgan","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"242","name":"Жезказган","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((77.936397 54.605942,77.936397 54.672486,77.959394 54.685782,77.959394 54.738921,78.189362 54.8185,78.373337 54.85823,78.419331 54.911144,78.488322 54.924361,78.695293 55.003575,78.695293 55.016762,78.994253 55.003575,79.178228 54.924361,79.178228 54.871465,79.270215 54.844991,79.293212 54.805248,79.316209 54.805248,79.293212 54.77873,79.362203 54.725643,79.431193 54.71236,79.477187 54.738921,79.569175 54.738921,79.569175 54.699073,79.45419 54.659186,79.431193 54.645881,79.201225 54.565963,79.132234 54.605942,79.132234 54.645881,79.08624 54.645881,79.08624 54.565963,79.063243 54.552628,79.01725 54.485888,78.879268 54.485888,78.879268 54.459161,78.948259 54.419038,78.948259 54.35208,78.810278 54.338675,78.787281 54.325266,78.71829 54.311852,78.672297 54.285012,78.488322 54.298434,78.442328 54.298434,78.419331 54.285012,78.35034 54.271585,78.327344 54.271585,78.327344 54.298434,78.212359 54.338675,78.189362 54.378876,78.097375 54.432417,78.120372 54.525945,77.936397 54.605942))","code":"zdvinsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false,"truck_graph":true},"id":"180","name":"Здвинск","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.79645 57.046359,40.842443 57.096363,40.934431 57.096363,41.141403 57.083868,41.210393 57.07137,41.210393 56.98376,41.187396 56.971227,41.187396 56.933604,41.210393 56.933604,41.210393 56.908501,41.095409 56.870815,40.934431 56.870815,40.86544 56.883381,40.819447 56.908501,40.79645 57.046359))","code":"ivanovo","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"65","name":"Иваново","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((52.915801 56.845669,52.938798 56.858244,52.938798 57.021332,52.984791 57.046359,52.984791 57.058866,53.076779 57.058866,53.467726 57.046359,53.58271 56.996288,53.766685 56.946149,53.789682 56.807919,53.789682 56.795328,53.766685 56.782732,53.766685 56.707067,53.812679 56.605944,53.835676 56.605944,53.835676 56.593285,53.904666 56.555281,54.180629 56.479159,54.203626 56.479159,54.226622 56.466457,54.433594 56.402883,54.479588 56.402883,54.594572 56.326455,54.732554 56.313702,54.732554 56.288183,54.68656 56.249873,54.548579 56.224312,54.479588 56.160334,54.387601 56.147525,54.387601 56.083419,54.341607 56.032057,54.226622 56.032057,54.157632 56.070585,54.088641 56.083419,53.973657 56.160334,53.789682 56.275417,53.398735 56.428326,53.237757 56.466457,53.099776 56.529924,53.076779 56.529924,53.053782 56.567953,53.030785 56.580621,53.007788 56.65654,52.984791 56.65654,52.984791 56.669178,52.938798 56.681812,52.938798 56.782732,52.915801 56.845669))","code":"izhevsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"41","name":"Ижевск","time_zone":{"name":"Europe/Samara","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((103.554911 52.767788,103.554911 52.809511,103.623902 52.823409,103.715889 52.823409,103.738886 52.7817,103.761883 52.712096,103.830874 52.684223,103.899864 52.67028,103.945858 52.64238,104.198824 52.64238,104.290811 52.739951,104.451789 52.823409,104.543777 52.865079,104.842736 52.948297,105.118699 52.962151,105.302674 53.003687,105.532642 53.114255,105.601633 53.114255,105.877595 52.948297,105.946586 52.920575,105.969583 52.920575,105.969583 52.906708,106.038573 52.892836,106.06157 52.878959,106.291539 52.837304,106.42952 52.865079,107.027439 53.307066,107.119426 53.334539,107.119426 53.34827,107.188417 53.361995,107.280404 53.416854,107.349395 53.416854,107.418386 53.471642,107.556367 53.649216,107.579364 53.662845,107.671351 53.662845,107.786336 53.581007,108.016304 53.403146,108.085295 53.361995,108.085295 53.320805,108.016304 53.238304,107.418386 52.934438,107.004442 52.712096,106.521508 52.502615,106.176555 52.362405,105.99258 52.179463,105.969583 52.16536,105.969583 52.137139,105.946586 52.137139,105.831602 51.995766,105.578636 51.839739,105.371664 51.768639,105.302674 51.754405,105.279677 51.740167,105.118699 51.711677,105.095702 51.697426,104.796742 51.654644,104.635764 51.640375,104.589771 51.611822,104.635764 51.46879,104.612767 51.425793,104.52078 51.44013,104.244817 51.46879,104.129833 51.483114,103.899864 51.554663,103.876868 51.56896,103.715889 51.583252,103.600905 51.597539,103.600905 51.654644,103.623902 51.668909,103.646899 51.740167,103.646899 51.882346,103.623902 52.348359,103.600905 52.474609,103.623902 52.488614,103.623902 52.64238,103.554911 52.767788))","code":"irkutsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"11","name":"Иркутск","time_zone":{"name":"Asia/Irkutsk","offset":480},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((69.427554 56.070585,69.427554 56.096249,69.450551 56.134713,69.542539 56.147525,69.565536 56.109074,69.542539 56.070585,69.427554 56.070585))","code":"ishim","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":true,"road_network":false},"id":"205","name":"Ишим","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((47.580527 56.529924,47.580527 56.719689,47.603524 56.757527,47.971473 56.757527,48.086458 56.744919,48.155448 56.732306,48.132452 56.542605,48.109455 56.50455,47.902483 56.517239,47.649517 56.517239,47.580527 56.529924))","code":"yoshkarola","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"70","name":"Йошкар-Ола","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.911434 43.435917,40.980425 43.485993,41.072412 43.586022,41.348375 43.652615,41.463359 43.752367,41.53235 43.885111,41.60134 43.901683,41.923296 43.918251,42.061278 43.818776,42.153265 43.818776,42.383234 43.934814,42.452224 43.951372,42.452224 43.967926,42.498218 44.00102,42.498218 44.034095,42.590206 44.034095,42.613202 44.149714,42.567209 44.248635,42.590206 44.265106,42.613202 44.265106,42.774181 44.298034,42.889165 44.298034,42.912162 44.281572,43.027146 44.298034,43.234118 44.298034,43.303109 44.31449,43.395096 44.265106,43.533077 44.23216,43.556074 44.182706,43.533077 44.166212,43.533077 44.050626,43.51008 44.034095,43.533077 43.967926,43.602068 43.918251,43.602068 43.851952,43.464087 43.851952,43.44109 43.80218,43.579071 43.735753,43.602068 43.685884,43.579071 43.635974,43.464087 43.602677,43.280112 43.586022,43.165127 43.502676,43.050143 43.452614,43.050143 43.40251,42.935159 43.369084,42.70519 43.235197,42.590206 43.151368,42.498218 43.168143,42.406231 43.235197,42.314243 43.201679,42.199259 43.21844,42.176262 43.201679,42.038281 43.184913,41.923296 43.201679,41.900299 43.21844,41.808312 43.184913,41.716324 43.21844,41.693328 43.201679,41.53235 43.235197,41.486356 43.268696,41.371371 43.33564,41.302381 43.318911,41.210393 43.352364,41.210393 43.369084,41.095409 43.385799,40.934431 43.40251,40.911434 43.435917))","code":"minvody","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"89","name":"КавМинВоды","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((48.224439 55.890459,48.224439 55.929128,48.247436 55.942009,48.270433 55.980627,48.569392 55.967759,48.615386 55.993491,48.73037 55.993491,48.799361 56.006351,48.822358 56.019206,49.075323 56.006351,49.236301 55.993491,49.236301 56.006351,49.328289 56.019206,49.351286 56.006351,49.535261 56.006351,49.581254 55.954886,49.581254 55.916243,49.604251 55.877561,49.558258 55.825925,49.581254 55.735397,49.604251 55.696535,49.696239 55.696535,49.696239 55.631679,49.673242 55.566715,49.627248 55.527685,49.535261 55.527685,49.420276 55.566715,49.328289 55.553709,49.167311 55.462549,49.075323 55.462549,49.052326 55.501644,48.960339 55.579716,48.822358 55.579716,48.753367 55.540699,48.684376 55.540699,48.684376 55.566715,48.500402 55.566715,48.454408 55.540699,48.385417 55.540699,48.316427 55.553709,48.316427 55.696535,48.270433 55.722447,48.29343 55.825925,48.224439 55.890459))","code":"kazan","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"21","name":"Казань","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((19.524344 54.71236,19.547341 54.765465,19.570337 54.77873,19.570337 54.85823,19.547341 54.871465,19.593334 54.990384,19.685322 55.095794,19.754312 55.135251,19.961284 55.17467,20.21425 55.17467,20.375228 55.1878,20.421222 55.214049,20.559203 55.331954,20.65119 55.384244,20.720181 55.384244,20.720181 55.371178,21.01914 55.279595,21.134125 55.266495,21.134125 54.897922,21.180118 54.871465,21.180118 54.77873,21.134125 54.725643,21.157122 54.632572,21.180118 54.565963,21.157122 54.552628,20.835165 54.552628,20.789172 54.525945,20.674187 54.525945,20.490212 54.499245,20.375228 54.512597,20.352231 54.525945,20.168256 54.512597,20.145259 54.525945,19.984281 54.539289,19.823303 54.59262,19.547341 54.71236,19.524344 54.71236))","code":"kaliningrad","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"40","name":"Калининград","time_zone":{"name":"Europe/Kaliningrad","offset":120},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((35.898116 54.725643,35.94411 54.765465,36.105088 54.765465,36.151082 54.791991,36.220072 54.844991,36.197075 54.911144,36.243069 54.950783,36.38105 54.977188,36.404047 55.016762,36.450041 55.043123,36.542028 55.148395,36.657013 55.161535,36.703007 55.095794,36.634016 55.029945,36.611019 55.016762,36.611019 54.924361,36.542028 54.911144,36.542028 54.897922,36.473038 54.831748,36.496035 54.791991,36.473038 54.699073,36.473038 54.36548,36.427044 54.325266,36.31206 54.325266,36.151082 54.311852,36.128085 54.325266,35.990104 54.325266,35.921113 54.338675,35.921113 54.392268,35.898116 54.725643))","code":"kaluga","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"61","name":"Калуга","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((61.539628 56.428326,61.585621 56.466457,61.723602 56.491856,61.723602 56.529924,61.746599 56.567953,61.930574 56.567953,62.18354 56.580621,62.252531 56.567953,62.252531 56.313702,62.229534 56.275417,61.723602 56.275417,61.700606 56.313702,61.608618 56.313702,61.608618 56.326455,61.562624 56.364688,61.539628 56.428326))","code":"k_uralskiy","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"109","name":"Каменск-Уральский","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((45.303836 50.057963,45.303836 50.102235,45.372827 50.146466,45.487811 50.131727,45.464815 50.057963,45.441818 50.057963,45.418821 50.013649,45.326833 50.013649,45.303836 50.057963))","code":"kamyshin","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"127","name":"Камышин","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((72.670113 49.969295,72.670113 49.998869,72.831091 50.072725,72.831091 50.131727,72.900082 50.190657,73.015066 50.190657,73.314026 50.146466,73.383016 50.102235,73.406013 50.028425,73.406013 49.821152,73.383016 49.687435,73.222038 49.64278,73.015066 49.65767,72.923079 49.672555,72.877085 49.702311,72.785098 49.776621,72.762101 49.850817,72.670113 49.969295))","code":"karaganda","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"84","name":"Караганда","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((77.1775 53.662845,77.1775 53.676469,77.246491 53.703705,77.361475 53.717316,77.384472 53.703705,77.499456 53.717316,77.54545 53.785305,77.660434 53.785305,77.683431 53.81247,77.798416 53.826046,77.867406 53.798889,77.9134 53.798889,77.9134 53.853184,77.959394 53.880305,77.98239 53.920953,78.074378 53.920953,78.166365 53.94803,78.166365 54.015646,78.235356 54.029156,78.258353 54.042661,78.235356 54.056163,78.235356 54.09664,78.35034 54.09664,78.327344 54.164014,78.304347 54.177476,78.304347 54.204386,78.327344 54.217835,78.35034 54.271585,78.419331 54.285012,78.442328 54.298434,78.488322 54.298434,78.488322 54.285012,78.580309 54.204386,78.603306 54.204386,78.6493 54.110123,78.580309 54.083152,78.557312 54.069659,78.557312 54.002132,78.603306 53.97509,78.580309 53.907408,78.557312 53.893859,78.580309 53.826046,78.580309 53.798889,78.672297 53.676469,78.672297 53.649216,78.626303 53.621946,78.6493 53.553692,78.626303 53.512687,78.465325 53.512687,78.373337 53.485328,78.28135 53.485328,78.235356 53.540028,78.235356 53.581007,78.212359 53.621946,78.143369 53.581007,77.98239 53.581007,77.9134 53.553692,77.936397 53.49901,78.051381 53.485328,78.051381 53.444257,77.936397 53.444257,77.936397 53.375717,77.9134 53.361995,77.890403 53.307066,77.821412 53.320805,77.798416 53.334539,77.499456 53.485328,77.384472 53.553692,77.200497 53.649216,77.1775 53.662845))","code":"karasuk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":false,"road_network":false,"truck_graph":true},"id":"181","name":"Карасук","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((79.569175 54.85823,79.592171 54.937574,79.569175 54.950783,79.569175 54.990384,79.730153 55.003575,79.82214 55.016762,79.914128 55.082633,79.914128 55.122103,79.845137 55.122103,79.82214 55.135251,79.868134 55.214049,79.868134 55.292691,80.006115 55.331954,80.006115 55.371178,80.213087 55.566715,80.328071 55.566715,80.374065 55.540699,80.489049 55.553709,80.650028 55.592713,80.742015 55.618695,80.856999 55.605706,81.063971 55.644659,81.086968 55.644659,81.086968 55.501644,81.132962 55.475585,81.132962 55.436465,80.971984 55.410363,80.948987 55.371178,80.92599 55.358108,80.856999 55.279595,80.765012 55.279595,80.604034 55.24028,80.604034 55.200927,80.581037 55.029945,80.535043 54.977188,80.466053 54.937574,80.512046 54.897922,80.581037 54.897922,80.604034 54.844991,80.535043 54.752195,80.489049 54.738921,80.512046 54.672486,80.673024 54.605942,80.673024 54.539289,80.581037 54.539289,80.512046 54.525945,80.512046 54.472527,80.466053 54.445791,80.397062 54.459161,80.397062 54.512597,80.351068 54.552628,80.213087 54.552628,80.167093 54.632572,80.167093 54.805248,80.144096 54.844991,79.960121 54.8185,79.868134 54.8185,79.776146 54.871465,79.707156 54.884696,79.661162 54.85823,79.569175 54.85823))","code":"kargat","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":false,"road_network":false,"truck_graph":true},"id":"182","name":"Каргат","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((50.57012 25.512936,50.57012 25.595925,50.731098 25.575183,50.800089 25.575183,50.823086 25.637398,50.846082 25.658129,50.869079 25.76173,50.823086 25.885932,50.846082 26.010004,50.915073 26.07199,50.915073 26.237128,50.93807 26.257754,51.030057 26.298994,51.053054 26.360827,51.145042 26.402031,51.30602 26.402031,51.489995 26.319609,51.558985 26.237128,51.581982 26.175229,51.857945 26.07199,52.501857 25.885932,52.570848 25.865241,52.639838 25.76173,52.662835 25.69958,52.662835 25.616663,52.639838 25.595925,52.501857 25.097133,52.501857 25.076306,52.47886 25.013802,52.40987 25.013802,52.340879 24.99296,52.363876 24.867836,52.271888 24.8261,52.018923 24.763469,51.581982 24.659015,51.466998 24.638113,51.398007 24.617208,51.329017 24.512631,51.099048 24.470776,50.93807 24.533553,50.823086 24.742585,50.800089 24.888699,50.708101 24.930414,50.708101 25.03464,50.685104 25.055475,50.616114 25.42989,50.616114 25.47142,50.57012 25.512936))","code":"qatar","country_code":"qa","domain":"qa","flags":{"2gis_reviews":true,"flamp":false,"metro":true,"pedestrian_routing":true,"public_transport":true,"road_network":true},"id":"234","name":"Катар","time_zone":{"name":"Asia/Qatar","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((85.479371 55.462549,85.617352 55.618695,85.617352 55.657634,85.686342 55.670605,85.755333 55.657634,85.870317 55.657634,86.14628 55.709493,86.238267 55.761284,86.353252 55.748342,86.468236 55.592713,86.468236 55.475585,86.422242 55.318871,86.330255 55.292691,86.330255 55.24028,86.307258 55.200927,86.284261 55.214049,85.893314 55.214049,85.870317 55.200927,85.640349 55.214049,85.525364 55.25339,85.525364 55.318871,85.479371 55.462549))","code":"kemerovo","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"5","name":"Кемерово","time_zone":{"name":"Asia/Novokuznetsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((31.988648 35.065604,32.011645 35.122053,32.011645 35.159663,32.080635 35.272392,32.218617 35.328697,32.333601 35.328697,32.471582 35.384964,32.586567 35.40371,32.609563 35.422453,32.655557 35.422453,32.678554 35.516099,32.747545 35.572234,32.885526 35.62833,32.977513 35.62833,33.276473 35.572234,33.552435 35.572234,33.690416 35.62833,33.874391 35.665706,34.081363 35.759068,34.495307 35.908221,34.564298 35.926845,34.702279 35.926845,34.725276 35.908221,34.84026 35.852321,34.886254 35.703064,34.84026 35.590937,34.771269 35.478654,34.702279 35.459924,34.610291 35.384964,34.518304 35.328697,34.357326 35.253615,34.265338 35.159663,34.288335 35.14086,34.357326 35.009116,34.357326 34.914882,34.288335 34.801659,34.265338 34.782774,34.10436 34.726091,34.012373 34.744989,33.897388 34.726091,33.828398 34.707188,33.805401 34.650453,33.460448 34.517921,33.276473 34.480016,33.207482 34.385178,33.115495 34.347212,32.908523 34.347212,32.701551 34.423126,32.63256 34.423126,32.402592 34.498971,32.26461 34.555809,32.218617 34.59368,32.19562 34.59368,32.172623 34.650453,32.057639 34.820541,32.011645 34.971435,32.011645 35.046779,31.988648 35.065604))","code":"cyprus","country_code":"cy","domain":"com.cy","flags":{"2gis_reviews":true,"flamp":false,"gdpr":true,"has_net_booklet":true,"metro":false,"public_transport":true,"road_network":true},"id":"173","name":"Кипр","time_zone":{"name":"Europe/Nicosia","offset":180},"type":"region","zoom_level":{"max":19,"min":9}},{"bounds":"POLYGON((49.02933 58.385035,49.052326 58.445259,49.052326 58.5294,49.02933 58.756769,49.052326 58.792534,49.903211 58.792534,49.949204 58.732905,49.949204 58.601361,49.926208 58.589378,49.949204 58.445259,49.926208 58.409137,49.328289 58.409137,49.144314 58.385035,49.02933 58.385035))","code":"kirov","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"58","name":"Киров","time_zone":{"name":"Europe/Kirov","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((41.256387 56.339204,41.279384 56.402883,41.371371 56.402883,41.371371 56.364688,41.394368 56.351948,41.371371 56.300945,41.325378 56.300945,41.256387 56.339204))","code":"kovrov","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"129","name":"Ковров","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((74.371882 62.337097,74.394879 62.36911,74.555857 62.36911,74.60185 62.390433,74.716835 62.390433,74.762829 62.411741,74.854816 62.411741,74.831819 62.315736,74.785825 62.251561,74.716835 62.251561,74.60185 62.219423,74.53286 62.165783,74.463869 62.176518,74.417875 62.230139,74.417875 62.305049,74.371882 62.337097))","code":"kogalym","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"207","name":"Когалым","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((67.955755 53.334539,68.369698 53.430558,68.484683 53.416854,68.57667 53.389434,68.599667 53.389434,68.990614 53.320805,69.151592 53.334539,69.197586 53.389434,69.289573 53.389434,69.473548 53.361995,69.634526 53.375717,70.255442 53.252065,70.301435 53.252065,70.370426 53.224539,70.439417 53.224539,70.600395 53.183216,70.646389 53.183216,70.646389 53.169432,70.669385 53.169432,70.738376 53.155645,72.141185 52.753872,72.279166 52.544592,72.302163 52.530604,72.302163 52.474609,72.118188 52.362405,71.22131 51.868148,71.060332 51.768639,70.899354 51.725925,70.85336 51.740167,70.738376 51.882346,70.669385 51.981605,70.646389 51.995766,70.646389 52.024077,70.623392 52.038225,70.554401 52.123022,70.163454 52.614463,69.565536 52.823409,69.404558 52.892836,69.358564 52.920575,69.266576 52.920575,69.220583 52.892836,69.128595 52.892836,69.013611 52.906708,68.691654 52.851193,68.392695 52.837304,68.13973 52.823409,67.978751 53.059007,68.001748 53.169432,67.955755 53.334539))","code":"kokshetau","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"201","name":"Кокшетау","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((136.532425 50.703199,136.532425 50.761422,136.601415 50.761422,136.900375 50.717761,137.015359 50.717761,137.08435 50.703199,137.245328 50.717761,137.314318 50.630318,137.314318 50.615729,137.291322 50.542712,137.268325 50.528096,137.268325 50.39634,137.245328 50.29361,137.15334 50.190657,137.061353 50.161201,136.946368 50.175931,136.946368 50.190657,136.78539 50.190657,136.693403 50.220095,136.693403 50.308299,136.762393 50.381678,136.739397 50.484218,136.739397 50.630318,136.693403 50.630318,136.693403 50.659484,136.624412 50.67406,136.601415 50.688632,136.532425 50.703199))","code":"komsomolsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"94","name":"Комсомольск-на-Амуре","time_zone":{"name":"Asia/Vladivostok","offset":600},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((63.471365 53.169432,63.494362 53.265822,63.609346 53.307066,63.72433 53.293322,63.793321 53.279574,63.770324 53.196994,63.586349 53.08664,63.494362 53.08664,63.494362 53.155645,63.471365 53.169432))","code":"kostanay","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true},"id":"203","name":"Костанай","time_zone":{"name":"Asia/Qostanay","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.681465 57.752576,40.704462 57.8873,40.750456 57.936166,40.842443 57.936166,40.957428 57.923956,40.980425 57.936166,41.141403 57.923956,41.1644 57.8873,41.141403 57.850607,41.141403 57.777108,41.210393 57.764844,41.23339 57.752576,41.256387 57.691171,41.256387 57.641971,41.279384 57.641971,41.486356 57.555712,41.60134 57.543373,41.60134 57.493973,41.53235 57.45688,41.509353 57.469249,41.417365 57.469249,41.210393 57.481613,41.141403 57.481613,41.141403 57.50633,41.095409 57.531029,41.095409 57.617347,41.003421 57.666579,40.79645 57.678877,40.727459 57.691171,40.681465 57.752576))","code":"kostroma","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"34","name":"Кострома","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((79.868134 54.002132,79.914128 54.029156,79.937125 54.069659,79.868134 54.137078,79.891131 54.204386,79.914128 54.231279,80.029112 54.258154,80.029112 54.338675,80.075106 54.378876,80.213087 54.378876,80.328071 54.445791,80.397062 54.459161,80.466053 54.445791,80.512046 54.472527,80.512046 54.525945,80.581037 54.539289,80.673024 54.539289,80.673024 54.552628,80.788009 54.565963,80.902993 54.539289,80.92599 54.499245,81.040974 54.432417,80.994981 54.378876,80.971984 54.378876,80.834003 54.35208,80.834003 54.244719,80.742015 54.244719,80.696021 54.204386,80.673024 54.204386,80.673024 54.190933,80.55804 54.177476,80.535043 54.110123,80.374065 54.09664,80.351068 54.069659,80.236084 54.042661,80.19009 54.069659,80.075106 54.056163,80.075106 53.97509,79.937125 53.934494,79.891131 53.934494,79.868134 54.002132))","code":"kotchki","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false,"truck_graph":true},"id":"183","name":"Кочки","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((38.565753 44.968984,38.58875 45.115228,38.657741 45.180105,38.680737 45.196313,38.657741 45.277282,38.703734 45.325808,38.841716 45.325808,38.864712 45.309637,39.094681 45.277282,39.163672 45.309637,39.232662 45.261097,39.32465 45.261097,39.39364 45.309637,39.462631 45.309637,39.623609 45.390445,39.646606 45.438875,39.899572 45.438875,40.014556 45.455009,40.06055 45.390445,40.06055 45.293462,40.12954 45.244908,40.106544 45.228714,40.106544 45.180105,40.083547 45.098997,39.968562 45.082761,39.784587 45.131454,39.669603 45.147675,39.623609 45.115228,39.508625 45.050277,39.485628 45.001515,39.600612 44.920153,39.623609 44.871281,39.554619 44.806053,39.600612 44.740751,39.554619 44.691727,39.485628 44.64266,39.462631 44.593552,39.370644 44.560791,39.370644 44.511614,39.416637 44.511614,39.416637 44.462395,39.370644 44.462395,39.278656 44.42956,39.255659 44.44598,39.094681 44.44598,39.025691 44.396706,38.9567 44.413135,38.9567 44.478806,38.818719 44.511614,38.795722 44.495212,38.680737 44.495212,38.657741 44.511614,38.634744 44.65902,38.657741 44.773411,38.634744 44.887576,38.565753 44.968984))","code":"krasnodar","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"23","name":"Краснодар","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((78.488322 54.285012,78.488322 54.298434,78.672297 54.285012,78.71829 54.311852,78.787281 54.325266,78.810278 54.338675,78.948259 54.35208,79.109237 54.285012,79.178228 54.271585,79.224222 54.271585,79.247218 54.311852,79.362203 54.325266,79.431193 54.311852,79.431193 54.258154,79.45419 54.244719,79.477187 54.204386,79.891131 54.204386,79.868134 54.137078,79.937125 54.069659,79.914128 54.029156,79.868134 54.002132,79.891131 53.934494,79.868134 53.920953,79.868134 53.826046,79.75315 53.826046,79.638165 53.81247,79.638165 53.771716,79.615168 53.730922,79.477187 53.690089,79.316209 53.703705,79.293212 53.690089,79.224222 53.676469,79.063243 53.690089,79.063243 53.662845,78.902265 53.676469,78.902265 53.662845,78.672297 53.649216,78.672297 53.676469,78.580309 53.798889,78.580309 53.826046,78.557312 53.893859,78.580309 53.907408,78.603306 53.97509,78.557312 54.002132,78.557312 54.069659,78.580309 54.083152,78.6493 54.110123,78.603306 54.204386,78.580309 54.204386,78.488322 54.285012))","code":"krasnozerskoe","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false,"truck_graph":true},"id":"184","name":"Краснозёрское","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((90.170732 56.019206,90.216726 56.173138,90.193729 56.211525,90.193729 56.275417,90.170732 56.339204,90.285717 56.351948,90.469692 56.364688,90.584676 56.402883,90.653667 56.402883,90.906632 56.567953,90.99862 56.669178,91.136601 56.795328,91.43556 57.07137,91.504551 57.158773,91.596538 57.345373,91.73452 57.493973,91.73452 57.50633,91.757516 57.50633,91.780513 57.543373,91.895498 57.654277,92.056476 57.728026,92.079473 57.764844,91.964488 57.875073,91.941491 57.948372,91.918494 57.960574,91.849504 58.118823,91.872501 58.215858,91.826507 58.360916,91.918494 58.421182,92.033479 58.50538,92.102469 58.5294,92.217454 58.5294,92.378432 58.421182,92.470419 58.372978,92.677391 58.203743,92.999347 58.155242,93.183322 58.082366,93.252313 58.045872,93.252313 57.984966,93.229316 57.972772,93.252313 57.960574,93.252313 57.8873,93.27531 57.875073,93.321304 57.752576,93.321304 57.678877,93.367297 57.555712,93.321304 57.50633,93.298307 57.50633,93.27531 57.370182,93.298307 57.357779,93.459285 57.258411,93.482282 57.083868,93.413291 57.008812,93.413291 56.95869,93.551272 56.83309,93.64326 56.782732,93.64326 56.757527,93.758244 56.643897,93.804238 56.555281,94.057204 56.415607,94.172188 56.415607,94.195185 56.428326,94.333166 56.428326,95.48301 56.479159,95.804966 56.262647,95.850959 56.211525,95.850959 56.160334,95.597994 56.019206,95.253041 55.954886,95.069066 55.825925,94.74711 55.644659,94.770107 55.566715,94.74711 55.527685,94.563135 55.501644,94.494144 55.436465,94.287172 55.345033,94.287172 55.279595,94.195185 55.25339,94.195185 55.24028,94.172188 55.227167,94.103197 55.161535,94.103197 55.108951,94.057204 55.082633,94.034207 55.003575,93.965216 54.937574,93.827235 54.937574,93.71225 54.844991,93.620263 54.831748,93.620263 54.752195,93.551272 54.738921,93.482282 54.765465,93.482282 54.805248,93.3443 54.831748,93.321304 54.871465,93.229316 54.897922,93.229316 54.977188,93.160326 55.043123,93.137329 55.082633,93.137329 55.200927,92.976351 55.292691,92.838369 55.292691,92.309441 55.108951,91.43556 54.897922,90.952626 54.805248,90.929629 54.8185,90.929629 54.85823,90.860638 54.85823,90.768651 54.911144,90.515685 54.911144,90.538682 54.950783,90.653667 54.990384,90.860638 55.069467,90.975623 55.135251,91.021617 55.135251,91.136601 55.227167,91.297579 55.266495,91.665529 55.488617,91.849504 55.605706,91.872501 55.644659,91.872501 55.696535,91.849504 55.709493,91.780513 55.77422,91.665529 55.800081,91.481554 55.954886,91.182595 56.019206,91.021617 55.993491,90.584676 55.967759,90.469692 55.916243,90.400701 55.916243,90.354707 55.942009,90.170732 56.019206))","code":"krasnoyarsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"7","name":"Красноярск","time_zone":{"name":"Asia/Krasnoyarsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((32.172623 45.422736,32.241614 45.535609,32.356598 45.648256,32.402592 45.648256,32.609563 45.74463,32.724548 45.824815,32.793538 45.824815,33.184485 45.920885,33.529438 46.016789,33.575432 46.04872,33.621426 46.144402,33.621426 46.208098,33.828398 46.208098,33.989376 46.128466,34.10436 46.112526,34.196348 46.064678,34.265338 46.04872,34.334329 46.064678,34.403319 46.016789,34.426316 45.968857,34.495307 45.952871,34.564298 45.968857,34.610291 46.000816,34.794266 45.872871,34.794266 45.824815,34.932247 45.760676,35.139219 45.776718,35.254204 45.808787,35.323194 45.760676,35.323194 45.728579,35.438179 45.648256,35.507169 45.551715,35.57616 45.535609,35.64515 45.616094,35.783132 45.66433,35.898116 45.66433,35.990104 45.632177,36.289063 45.680399,36.519032 45.66433,36.542028 45.648256,36.634016 45.648256,36.657013 45.632177,36.68001 45.422736,36.657013 45.341974,36.611019 45.325808,36.588022 45.244908,36.542028 45.212516,36.542028 45.131454,36.588022 44.968984,36.611019 44.920153,36.542028 44.871281,36.450041 44.838676,36.38105 44.838676,36.289063 44.806053,36.059094 44.806053,36.036097 44.789734,35.806129 44.773411,35.64515 44.822367,35.57616 44.773411,35.392185 44.708073,35.369188 44.65902,35.323194 44.64266,35.323194 44.626296,35.162216 44.577174,35.047232 44.560791,35.024235 44.577174,34.863257 44.593552,34.794266 44.577174,34.679282 44.528011,34.564298 44.363834,34.495307 44.347391,34.449313 44.31449,34.334329 44.265106,34.288335 44.23216,34.196348 44.199195,34.081363 44.199195,34.081363 44.182706,33.966379 44.166212,33.851395 44.182706,33.828398 44.166212,33.73641 44.166212,33.552435 44.21568,33.414454 44.265106,33.36846 44.298034,33.276473 44.31449,33.138492 44.44598,33.069501 44.528011,33.069501 44.609926,33.138492 44.724414,33.230479 44.789734,33.230479 44.871281,33.253476 44.920153,33.00051 45.001515,32.816535 45.131454,32.724548 45.098997,32.586567 45.098997,32.310604 45.163892,32.241614 45.228714,32.19562 45.325808,32.172623 45.422736))","code":"crimea","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"174","name":"Крым","time_zone":{"name":"Europe/Simferopol","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((46.591661 29.10832,46.614658 29.16858,46.683649 29.188658,46.706646 29.248871,46.867624 29.429295,46.890621 29.489366,46.913617 29.509381,46.936614 29.589404,46.982608 29.6094,47.005605 29.709319,47.074595 29.849039,47.097592 29.849039,47.097592 29.928792,47.212577 30.028393,47.396552 30.108002,47.741505 30.108002,47.764502 30.088105,47.92548 30.028393,47.948477 30.008481,48.155448 30.028393,48.316427 29.928792,48.477405 29.789183,48.592389 29.669363,48.592389 29.589404,48.684376 29.429295,48.684376 29.329099,48.66138 29.268934,48.753367 29.10832,48.753367 29.048025,48.868351 29.027919,48.983336 28.967577,49.02933 28.826643,48.960339 28.766184,48.73037 28.70569,48.707373 28.665341,48.569392 28.624977,48.431411 28.544201,48.408414 28.523998,47.718508 28.523998,47.62652 28.645161,47.603524 28.665341,47.603524 28.806494,47.55753 28.887067,47.465542 29.007809,47.327561 29.007809,47.304564 29.027919,47.097592 29.048025,47.028602 29.048025,46.913617 29.068128,46.614658 29.088226,46.591661 29.10832))","code":"kuwait","country_code":"kw","domain":"kw","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"235","name":"Кувейт","time_zone":{"name":"Asia/Kuwait","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((77.407469 55.540699,77.407469 55.592713,77.430466 55.605706,77.499456 55.696535,77.499456 55.735397,77.54545 55.761284,77.522453 55.877561,77.430466 55.967759,77.430466 56.006351,77.499456 56.019206,77.568447 56.019206,77.637437 56.083419,77.752422 56.096249,77.867406 56.160334,77.867406 56.173138,77.936397 56.185938,78.166365 56.185938,78.235356 56.121896,78.212359 56.057747,78.212359 56.019206,78.258353 55.993491,78.258353 55.967759,78.212359 55.967759,78.028384 55.916243,78.028384 55.877561,78.097375 55.864658,78.212359 55.864658,78.35034 55.890459,78.488322 55.890459,78.488322 55.825925,78.511319 55.813005,78.626303 55.825925,78.695293 55.800081,78.810278 55.787153,78.833275 55.748342,78.902265 55.748342,78.925262 55.787153,78.971256 55.813005,78.994253 55.877561,79.01725 55.916243,79.109237 55.916243,79.109237 56.006351,79.293212 56.109074,79.362203 56.121896,79.408197 56.070585,79.523181 56.109074,79.638165 56.109074,79.684159 56.032057,79.684159 55.967759,79.707156 55.954886,79.684159 55.813005,79.730153 55.787153,79.730153 55.748342,79.615168 55.709493,79.615168 55.670605,79.523181 55.657634,79.500184 55.618695,79.3852 55.540699,79.316209 55.527685,79.270215 55.475585,79.155231 55.475585,79.08624 55.514667,79.01725 55.475585,78.971256 55.397306,78.994253 55.305783,78.925262 55.305783,78.902265 55.345033,78.741287 55.345033,78.695293 55.371178,78.626303 55.423416,78.534315 55.423416,78.442328 55.397306,78.373337 55.410363,78.28135 55.358108,78.120372 55.331954,77.9134 55.345033,77.844409 55.358108,77.821412 55.397306,77.706428 55.423416,77.568447 55.449509,77.54545 55.514667,77.407469 55.540699))","code":"kuibyshev","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":true,"road_network":true,"truck_graph":true},"id":"185","name":"Куйбышев","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((55.675425 52.67028,55.675425 52.684223,55.744416 52.726026,55.744416 52.767788,55.79041 52.878959,55.8594 52.892836,55.951388 52.892836,55.951388 52.851193,55.882397 52.7817,55.8594 52.712096,55.836403 52.67028,55.675425 52.67028))","code":"kumertau","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":true,"road_network":true},"id":"210","name":"Кумертау","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((76.418603 54.123603,76.418603 54.164014,76.487594 54.177476,76.533588 54.164014,76.648572 54.164014,76.671569 54.150548,76.763556 54.204386,76.80955 54.244719,76.855544 54.325266,76.786553 54.378876,76.80955 54.405655,76.901538 54.419038,76.924534 54.485888,76.993525 54.539289,76.993525 54.579294,77.131506 54.605942,77.108509 54.672486,77.246491 54.71236,77.246491 54.725643,77.361475 54.765465,77.384472 54.77873,77.453462 54.791991,77.522453 54.844991,77.522453 54.871465,77.614441 54.871465,77.614441 54.752195,77.775419 54.672486,77.890403 54.685782,77.936397 54.672486,77.936397 54.605942,78.120372 54.525945,78.097375 54.432417,78.189362 54.378876,78.212359 54.338675,78.120372 54.311852,78.120372 54.258154,78.028384 54.244719,78.028384 54.231279,77.9134 54.217835,77.890403 54.204386,77.798416 54.204386,77.775419 54.217835,77.384472 54.217835,77.384472 54.204386,77.361475 54.204386,77.315481 54.177476,77.292484 54.137078,77.315481 54.123603,77.338478 54.083152,77.315481 54.042661,77.246491 54.042661,77.154503 53.988613,77.085513 53.97509,77.085513 53.94803,77.131506 53.893859,77.108509 53.826046,77.039519 53.730922,76.993525 53.744525,76.579581 53.961562,76.533588 53.97509,76.533588 54.002132,76.510591 54.015646,76.418603 54.123603))","code":"kupino","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false,"truck_graph":true},"id":"186","name":"Купино","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((65.035152 55.475585,65.058149 55.488617,65.242124 55.527685,65.426099 55.527685,65.541083 55.514667,65.633071 55.436465,65.633071 55.423416,65.587077 55.384244,65.610074 55.318871,65.56408 55.24028,65.357108 55.24028,65.242124 55.279595,65.058149 55.358108,65.035152 55.475585))","code":"kurgan","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"10","name":"Курган","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((35.852122 51.554663,35.852122 51.597539,35.875119 51.611822,35.898116 51.797093,35.990104 51.853946,36.105088 51.839739,36.335057 51.853946,36.427044 51.825528,36.450041 51.697426,36.427044 51.697426,36.427044 51.611822,36.358053 51.56896,35.967107 51.554663,35.852122 51.554663))","code":"kursk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"73","name":"Курск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((65.380105 44.887576,65.518086 44.920153,65.656067 44.822367,65.633071 44.708073,65.56408 44.708073,65.449096 44.757084,65.426099 44.838676,65.403102 44.838676,65.380105 44.887576))","code":"kyzylorda","country_code":"kz","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"240","name":"Кызылорда","time_zone":{"name":"Asia/Oral","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((75.820685 56.415607,75.820685 56.491856,75.889675 56.517239,75.958666 56.529924,75.981663 56.567953,76.027656 56.631251,76.142641 56.631251,76.165638 56.669178,76.257625 56.694442,76.234628 56.883381,76.165638 56.946149,76.165638 56.98376,76.07365 57.208625,76.07365 57.233526,76.464597 57.221078,76.694566 57.221078,76.878541 57.171243,78.442328 57.171243,78.465325 57.1463,78.442328 57.108853,78.327344 56.95869,78.28135 56.946149,78.28135 56.908501,78.120372 56.870815,78.120372 56.770132,78.074378 56.732306,78.005387 56.744919,77.98239 56.782732,77.936397 56.807919,77.844409 56.757527,77.867406 56.669178,77.798416 56.65654,77.798416 56.567953,77.752422 56.542605,77.706428 56.567953,77.591444 56.567953,77.591444 56.50455,77.476459 56.466457,77.361475 56.402883,77.292484 56.390156,77.246491 56.390156,77.1775 56.351948,77.200497 56.313702,77.223494 56.249873,76.993525 56.224312,76.924534 56.237095,76.786553 56.237095,76.717563 56.275417,76.625575 56.275417,76.533588 56.224312,76.4416 56.224312,76.395606 56.275417,76.326616 56.275417,76.280622 56.224312,76.211631 56.224312,76.142641 56.262647,76.07365 56.262647,76.050653 56.351948,76.050653 56.402883,76.07365 56.44104,75.958666 56.44104,75.889675 56.402883,75.820685 56.415607))","code":"kyshtovka","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false,"truck_graph":true},"id":"187","name":"Кыштовка","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((85.732336 54.445791,85.755333 54.459161,85.755333 54.738921,85.801327 54.765465,86.422242 54.77873,86.491233 54.765465,86.491233 54.204386,86.468236 54.190933,86.353252 54.177476,85.824324 54.177476,85.755333 54.217835,85.755333 54.35208,85.732336 54.445791))","code":"lenkuz","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"86","name":"Ленинск-Кузнецкий","time_zone":{"name":"Asia/Novokuznetsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((39.32465 52.600498,39.32465 52.64238,39.462631 52.739951,39.646606 52.739951,39.669603 52.726026,39.876575 52.712096,39.876575 52.614463,39.830581 52.614463,39.830581 52.572554,39.899572 52.516612,40.083547 52.516612,40.083547 52.474609,39.968562 52.432566,39.945565 52.432566,39.853578 52.488614,39.715597 52.488614,39.462631 52.474609,39.39364 52.488614,39.39364 52.586528,39.32465 52.600498))","code":"lipetsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"56","name":"Липецк","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((150.491526 59.465104,150.491526 59.511807,150.514522 59.511807,150.60651 59.546792,150.60651 59.663146,150.675501 59.709576,150.790485 59.732766,150.905469 59.732766,151.043451 59.709576,151.020454 59.628282,151.043451 59.570095,150.97446 59.465104,150.928466 59.430034,150.767488 59.418336,150.629507 59.441728,150.60651 59.453418,150.491526 59.465104))","code":"magadan","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"158","name":"Магадан","time_zone":{"name":"Asia/Magadan","offset":660},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((58.481044 53.334539,58.481044 53.361995,58.527037 53.403146,58.550034 53.907408,58.573031 53.920953,59.262937 53.920953,59.423915 53.907408,59.492906 53.893859,59.492906 53.81247,59.469909 53.252065,59.423915 53.224539,59.400918 53.238304,58.550034 53.238304,58.481044 53.334539))","code":"magnitogorsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"26","name":"Магнитогорск","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((39.255659 44.265106,39.278656 44.347391,39.278656 44.42956,39.301653 44.44598,39.416637 44.462395,39.416637 44.511614,39.370644 44.511614,39.370644 44.560791,39.462631 44.593552,39.485628 44.64266,39.554619 44.691727,39.600612 44.740751,39.554619 44.806053,39.623609 44.871281,39.600612 44.920153,39.485628 45.001515,39.508625 45.050277,39.623609 45.115228,39.807584 44.936435,39.876575 44.806053,39.922569 44.806053,40.083547 44.757084,40.12954 44.724414,40.336512 44.724414,40.382506 44.691727,40.543484 44.64266,40.658468 44.65902,40.727459 44.626296,40.727459 44.577174,40.773453 44.462395,40.79645 44.44598,40.888437 44.31449,40.888437 44.23216,40.819447 44.050626,40.750456 44.01756,40.750456 43.885111,40.635472 43.835366,40.451497 43.818776,40.359509 43.768976,40.290518 43.768976,40.221528 43.78558,40.175534 43.868534,40.106544 43.868534,40.037553 43.885111,39.968562 43.934814,39.76159 43.934814,39.715597 43.967926,39.439634 44.116703,39.416637 44.116703,39.255659 44.265106))","code":"maikop","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"131","name":"Майкоп","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((46.660652 42.865487,46.660652 42.916033,46.729642 42.932873,46.775636 43.067423,46.798633 43.067423,46.775636 43.151368,46.867624 43.184913,46.959611 43.184913,47.097592 43.134588,47.097592 43.117804,47.212577 43.117804,47.327561 43.201679,47.350558 43.285439,47.373555 43.469306,47.534533 43.719135,47.580527 43.918251,47.603524 44.00102,47.62652 44.01756,48.155448 44.034095,48.155448 43.918251,48.086458 43.818776,47.902483 43.702512,47.833492 43.502676,47.810495 43.485993,47.833492 43.369084,47.856489 43.352364,47.856489 43.21844,47.833492 43.201679,47.810495 43.117804,47.879486 43.033813,47.92548 43.033813,47.948477 42.966538,47.971473 42.966538,48.017467 42.8149,48.086458 42.764271,48.178445 42.645975,48.178445 42.595208,48.224439 42.561341,48.224439 42.5444,48.247436 42.5444,48.36242 42.442659,48.477405 42.272723,48.523398 42.238681,48.592389 42.136444,48.638383 42.102328,48.638383 42.068194,48.408414 41.982778,48.36242 41.948579,48.247436 41.948579,48.247436 42.016958,48.178445 42.102328,48.109455 42.102328,47.92548 42.272723,47.856489 42.37474,47.833492 42.425686,47.764502 42.5444,47.741505 42.5444,47.672514 42.595208,47.672514 42.645975,47.488539 42.7136,47.327561 42.7136,47.25857 42.696701,47.281567 42.645975,47.350558 42.629058,47.350558 42.578277,47.212577 42.578277,47.097592 42.629058,47.097592 42.645975,47.005605 42.696701,46.867624 42.781152,46.775636 42.848629,46.660652 42.865487))","code":"makhachkala","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"113","name":"Махачкала","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((36.68001 27.304765,36.749 27.325198,36.794994 27.325198,36.817991 27.386473,36.932975 27.406891,36.932975 27.447715,37.04796 27.468121,37.254931 27.468121,37.323922 27.406891,37.41591 27.406891,37.438906 27.447715,37.691872 27.468121,37.737866 27.427305,37.898844 27.447715,37.944838 27.406891,37.967834 27.141169,38.059822 27.141169,38.105816 27.18209,38.128813 27.18209,38.289791 27.079758,38.312788 27.018314,38.450769 26.956836,38.473766 26.854298,38.703734 26.813257,38.726731 26.792731,38.841716 26.813257,38.864712 26.83378,38.933703 26.813257,38.9567 26.792731,39.163672 26.792731,39.278656 26.751668,39.531622 26.772201,39.646606 26.772201,39.669603 26.710589,39.669603 26.628388,39.784587 26.566699,39.784587 26.504976,39.876575 26.381431,39.876575 26.237128,39.922569 26.195865,39.945565 26.133944,39.968562 26.113297,39.945565 25.968661,39.968562 25.823847,39.968562 25.575183,39.945565 25.388345,39.968562 25.367568,40.083547 25.346786,40.198531 25.367568,40.244525 25.284421,40.313515 25.284421,40.336512 25.346786,40.405503 25.326002,40.4285 25.305213,40.474493 25.305213,40.474493 25.409119,40.543484 25.42989,40.612475 25.409119,40.727459 25.409119,40.773453 25.47142,40.79645 25.533689,40.911434 25.595925,40.980425 25.575183,40.980425 25.554438,41.210393 25.512936,41.302381 25.512936,41.371371 25.49218,41.440362 25.409119,41.463359 25.346786,41.647334 25.201218,41.716324 25.180408,41.854306 25.222024,41.96929 25.117957,42.038281 24.972115,42.061278 24.951267,42.130268 24.721698,42.130268 24.700807,42.084274 24.659015,42.084274 24.5963,42.153265 24.324173,42.153265 24.219352,42.107271 24.135434,42.130268 24.030458,42.084274 23.988444,42.084274 23.925397,42.038281 23.841286,41.946293 23.841286,41.900299 23.757121,41.831309 23.757121,41.762318 23.778167,41.693328 23.757121,41.693328 23.693961,41.463359 23.651837,41.394368 23.588627,41.371371 23.504298,41.348375 23.356594,41.371371 23.208725,41.440362 23.145302,41.440362 23.08185,41.348375 23.08185,41.23339 23.018367,41.210393 23.018367,41.210393 23.039531,41.141403 23.039531,41.095409 22.976029,41.072412 22.912497,41.026418 22.870125,40.957428 22.891312,40.842443 22.870125,40.79645 22.785342,40.79645 22.700507,40.750456 22.615619,40.635472 22.573156,40.566481 22.636846,40.49749 22.636846,40.451497 22.594389,40.382506 22.573156,40.336512 22.530679,40.221528 22.530679,40.152537 22.551919,40.152537 22.65807,40.083547 22.764139,39.991559 22.764139,39.830581 22.82774,39.830581 22.848934,39.876575 22.912497,39.853578 23.018367,39.807584 23.08185,39.715597 23.08185,39.554619 23.103004,39.531622 23.039531,39.301653 23.018367,39.278656 23.08185,39.163672 23.145302,39.140675 23.208725,39.117678 23.314363,39.025691 23.33548,38.887709 23.419916,38.887709 23.483208,38.795722 23.483208,38.772725 23.462114,38.2208 23.208725,38.151809 23.229859,37.85285 23.504298,37.760863 23.6097,37.714869 23.693961,37.4849 23.988444,37.346919 24.093454,37.231935 24.156418,37.162944 24.156418,37.070956 24.198378,37.139947 24.303215,37.162944 24.324173,37.369916 24.554472,37.461903 24.659015,37.507897 24.700807,37.576888 24.679912,37.806856 24.679912,37.806856 24.78435,37.921841 24.805227,38.036825 24.805227,38.036825 24.867836,37.921841 24.930414,37.898844 25.013802,37.829853 25.076306,37.85285 25.180408,37.78386 25.263626,37.78386 25.42989,37.737866 25.533689,37.714869 25.554438,37.714869 25.595925,37.829853 25.658129,37.829853 25.741017,37.760863 25.782439,37.599885 25.803145,37.530894 25.885932,37.553891 25.947984,37.507897 26.07199,37.438906 26.092645,37.323922 26.257754,37.323922 26.319609,37.208938 26.319609,37.185941 26.381431,37.208938 26.44322,37.11695 26.525554,37.093953 26.587266,37.11695 26.73113,37.04796 26.83378,36.955972 26.854298,36.932975 26.956836,36.932975 27.05928,36.863985 27.079758,36.726003 27.202545,36.726003 27.263889,36.68001 27.304765))","code":"medina","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true,"traffic":true},"id":"219","name":"Медина","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((38.2208 23.166447,38.2208 23.208725,38.772725 23.462114,38.795722 23.483208,38.887709 23.483208,38.887709 23.419916,39.025691 23.33548,39.117678 23.314363,39.140675 23.208725,39.163672 23.145302,39.278656 23.08185,39.301653 23.018367,39.531622 23.039531,39.554619 23.103004,39.715597 23.08185,39.807584 23.08185,39.853578 23.018367,39.876575 22.912497,39.830581 22.848934,39.830581 22.82774,39.991559 22.764139,40.083547 22.764139,40.152537 22.65807,40.152537 22.551919,40.221528 22.530679,40.336512 22.530679,40.382506 22.573156,40.451497 22.594389,40.49749 22.636846,40.566481 22.636846,40.635472 22.573156,40.750456 22.615619,40.79645 22.700507,40.79645 22.785342,40.842443 22.870125,40.957428 22.891312,41.026418 22.870125,41.072412 22.912497,41.095409 22.976029,41.141403 23.039531,41.210393 23.039531,41.210393 23.018367,41.23339 23.018367,41.348375 23.08185,41.440362 23.08185,41.440362 23.145302,41.371371 23.208725,41.348375 23.356594,41.371371 23.504298,41.394368 23.588627,41.463359 23.651837,41.693328 23.693961,41.831309 23.630771,42.015284 23.588627,42.176262 23.588627,42.176262 23.6097,42.245253 23.588627,42.291246 23.462114,42.406231 23.419916,42.406231 23.272118,42.429227 23.272118,42.452224 23.166447,42.475221 23.103004,42.70519 23.08185,42.728187 23.018367,42.751184 22.912497,42.774181 22.912497,42.774181 22.891312,42.866168 22.891312,42.935159 22.742931,42.958156 22.721721,43.142131 22.721721,43.234118 22.67929,43.165127 22.615619,43.188124 22.551919,43.211121 22.530679,43.234118 22.466939,43.349102 22.360642,43.303109 22.296824,43.326105 22.190396,43.349102 22.190396,43.372099 22.041262,43.487084 21.9773,43.487084 21.870631,43.464087 21.721161,43.487084 21.699795,43.487084 21.507363,43.671059 21.421755,43.671059 21.378932,43.579071 21.207517,43.579071 21.121734,43.694055 21.014436,43.80904 20.821105,43.832037 20.692079,43.80904 20.670565,43.740049 20.692079,43.625065 20.713591,43.625065 20.7351,43.44109 20.778109,43.234118 20.799608,43.165127 20.778109,43.07314 20.606001,42.981152 20.584474,42.912162 20.519875,42.797177 20.519875,42.70519 20.476793,42.70519 20.390594,42.636199 20.390594,42.544212 20.261205,42.429227 20.282777,42.406231 20.325913,42.314243 20.325913,42.291246 20.304346,42.222256 20.282777,42.153265 20.325913,42.130268 20.412148,42.107271 20.519875,42.107271 20.584474,41.96929 20.584474,41.946293 20.670565,41.877303 20.649047,41.854306 20.627526,41.739321 20.627526,41.60134 20.756606,41.53235 20.756606,41.486356 20.799608,41.394368 20.821105,41.325378 20.778109,41.325378 20.670565,41.279384 20.584474,41.279384 20.519875,41.210393 20.455248,41.210393 20.390594,41.187396 20.369037,41.118406 20.261205,41.072412 20.304346,41.095409 20.347476,41.049415 20.369037,41.026418 20.304346,40.980425 20.261205,40.842443 20.110114,40.842443 20.045316,40.911434 19.91564,41.026418 19.807495,41.026418 19.720927,41.095409 19.677625,41.1644 19.655969,41.187396 19.590986,41.141403 19.547649,41.210393 19.525976,41.256387 19.525976,41.279384 19.46094,41.394368 19.482621,41.555346 19.547649,41.555346 19.634311,41.578343 19.699277,41.739321 19.699277,41.831309 19.720927,41.831309 19.547649,41.854306 19.482621,41.923296 19.417568,41.923296 19.265675,41.900299 19.200535,41.831309 19.113642,41.716324 19.222252,41.624337 19.222252,41.555346 19.048442,41.509353 19.048442,41.463359 19.004961,41.578343 18.852688,41.624337 18.743837,41.60134 18.743837,41.60134 18.678493,41.394368 18.656706,41.371371 18.591328,41.325378 18.547729,41.210393 18.482309,40.681465 18.220381,40.635472 18.176688,40.520487 18.154838,40.49749 18.176688,40.4285 18.438682,40.175534 18.678493,40.06055 18.765613,39.991559 18.830924,39.922569 18.939718,39.876575 19.178816,39.784587 19.439255,39.715597 19.590986,39.32465 20.088518,39.094681 20.541411,39.071684 20.606001,38.9567 20.821105,38.933703 20.821105,38.818719 21.014436,38.795722 21.035902,38.611747 21.614301,38.542756 21.721161,38.496763 21.849288,38.519759 22.083888,38.611747 22.360642,38.58875 22.381908,38.473766 22.530679,38.404775 22.636846,38.381778 22.700507,38.381778 22.806543,38.358781 22.912497,38.358781 22.954855,38.2208 23.166447))","code":"mekka","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true,"traffic":true},"id":"218","name":"Мекка","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((58.527037 55.200927,58.573031 55.24028,58.665019 55.305783,58.780003 55.331954,58.940981 55.331954,58.963978 55.292691,58.986975 55.279595,59.078962 55.292691,59.101959 55.305783,59.262937 55.266495,59.331928 55.266495,59.377922 55.345033,59.377922 55.384244,59.515903 55.436465,59.676881 55.553709,59.791865 55.553709,59.929847 55.670605,60.389784 56.006351,60.550762 56.019206,60.64275 56.032057,60.688743 55.993491,60.71174 55.954886,60.918712 55.929128,60.918712 55.877561,60.895715 55.864658,60.826725 55.813005,60.803728 55.77422,60.665746 55.787153,60.619753 55.748342,60.619753 55.657634,60.688743 55.631679,60.688743 55.488617,60.619753 55.397306,60.550762 55.318871,60.458775 55.24028,60.481771 55.17467,60.481771 55.043123,60.458775 54.897922,60.435778 54.897922,60.2748 54.844991,60.251803 54.791991,60.044831 54.645881,59.998837 54.59262,59.998837 54.552628,60.067828 54.472527,60.067828 54.419038,59.97584 54.285012,59.952843 54.271585,59.791865 54.258154,59.561897 54.231279,59.308931 54.258154,59.009972 54.35208,58.894987 54.392268,58.87199 54.392268,58.87199 54.405655,58.825997 54.405655,58.734009 54.485888,58.711012 54.525945,58.665019 54.552628,58.734009 54.765465,58.711012 54.805248,58.688015 54.8185,58.688015 54.924361,58.665019 54.963988,58.688015 54.963988,58.803 55.016762,58.803 55.056298,58.780003 55.069467,58.711012 55.135251,58.550034 55.161535,58.527037 55.200927))","code":"miass","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"87","name":"Миасс и Златоуст","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((27.067317 53.907408,27.090314 53.97509,27.159305 54.042661,27.251292 54.069659,27.389274 54.069659,27.642239 54.056163,27.757224 54.069659,27.78022 54.056163,27.895205 54.029156,27.987192 54.029156,27.987192 53.988613,28.010189 53.94803,28.07918 53.907408,28.07918 53.853184,28.056183 53.853184,27.872208 53.826046,27.849211 53.81247,27.71123 53.771716,27.642239 53.730922,27.550252 53.730922,27.527255 53.717316,27.366277 53.690089,27.297286 53.717316,27.320283 53.81247,27.251292 53.826046,27.113311 53.880305,27.067317 53.907408))","code":"minsk","country_code":"by","domain":"by","flags":{"2gis_reviews":true,"flamp":false,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"217","name":"Минск","time_zone":{"name":"Europe/Minsk","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.382506 52.989846,40.451497 53.003687,40.520487 53.003687,40.589478 52.920575,40.589478 52.865079,40.451497 52.837304,40.405503 52.851193,40.382506 52.989846))","code":"michurinsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":false,"road_network":false,"truck_graph":true},"id":"245","name":"Мичуринск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((36.726003 55.135251,36.794994 55.200927,36.955972 55.25339,36.978969 55.292691,36.955972 55.331954,36.863985 55.384244,36.794994 55.397306,36.817991 55.514667,36.794994 55.527685,36.771997 55.566715,36.794994 55.605706,36.771997 55.722447,36.771997 55.83884,36.794994 55.851751,36.771997 55.890459,36.794994 55.954886,36.749 56.070585,36.771997 56.134713,36.840988 56.185938,36.863985 56.198733,36.932975 56.198733,37.04796 56.262647,37.11695 56.249873,37.162944 56.198733,37.622881 56.224312,37.645878 56.237095,37.898844 56.224312,38.059822 56.237095,38.312788 56.224312,38.335784 56.237095,38.473766 56.237095,38.473766 56.249873,38.58875 56.249873,38.634744 56.224312,38.841716 56.224312,38.933703 56.313702,39.002694 56.313702,39.048687 56.249873,39.163672 56.185938,39.163672 56.134713,39.117678 56.109074,39.140675 55.980627,39.117678 55.967759,39.140675 55.851751,39.117678 55.83884,39.048687 55.761284,39.048687 55.683572,39.071684 55.670605,39.163672 55.644659,39.163672 55.579716,39.117678 55.553709,39.117678 55.475585,39.163672 55.436465,39.140675 55.397306,39.163672 55.331954,39.094681 55.266495,39.117678 55.095794,39.094681 55.095794,39.071684 55.029945,39.002694 55.016762,39.002694 54.977188,38.9567 54.977188,38.818719 55.029945,38.680737 55.029945,38.657741 54.990384,38.611747 54.990384,38.519759 55.043123,38.450769 55.043123,38.404775 55.016762,38.335784 55.003575,38.289791 55.029945,38.082819 55.016762,37.990831 55.043123,37.829853 55.029945,37.737866 55.003575,37.622881 55.016762,37.576888 54.990384,37.507897 54.990384,37.41591 54.963988,37.254931 54.977188,37.231935 55.003575,37.162944 55.003575,37.139947 55.016762,36.955972 55.082633,36.886982 55.069467,36.749 55.069467,36.726003 55.135251))","code":"moscow","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"32","name":"Москва","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"MULTIPOLYGON(((35.162216 55.954886,35.162216 55.980627,35.323194 56.070585,35.323194 56.109074,35.300197 56.109074,35.300197 56.134713,35.323194 56.147525,35.323194 56.160334,35.346191 56.173138,35.346191 56.198733,35.323194 56.198733,35.323194 56.224312,35.392185 56.237095,35.484172 56.249873,35.484172 56.390156,35.438179 56.390156,35.438179 56.428326,35.57616 56.453751,35.599157 56.466457,35.668147 56.453751,35.783132 56.390156,35.94411 56.377424,36.059094 56.377424,36.082091 56.364688,36.151082 56.402883,36.289063 56.428326,36.31206 56.44104,36.427044 56.466457,36.450041 56.479159,36.565025 56.491856,36.611019 56.517239,36.657013 56.517239,36.817991 56.580621,36.886982 56.580621,37.024963 56.542605,37.093953 56.542605,37.139947 56.580621,37.139947 56.643897,37.162944 56.681812,37.093953 56.744919,37.093953 56.770132,37.208938 56.770132,37.277928 56.757527,37.392913 56.795328,37.507897 56.795328,37.530894 56.83309,37.553891 56.845669,37.553891 56.921055,37.622881 56.933604,37.714869 56.95869,37.829853 56.908501,37.921841 56.883381,37.967834 56.883381,37.990831 56.820507,37.990831 56.782732,38.082819 56.757527,38.197803 56.770132,38.243797 56.770132,38.312788 56.757527,38.312788 56.669178,38.335784 56.669178,38.335784 56.555281,38.289791 56.542605,38.358781 56.453751,38.381778 56.44104,38.427772 56.364688,38.427772 56.288183,38.496763 56.249873,38.496763 56.237095,38.335784 56.237095,38.312788 56.224312,38.059822 56.237095,37.898844 56.224312,37.645878 56.237095,37.622881 56.224312,37.162944 56.198733,37.11695 56.249873,37.04796 56.262647,36.932975 56.198733,36.863985 56.198733,36.840988 56.185938,36.771997 56.134713,36.749 56.070585,36.794994 55.954886,36.771997 55.890459,36.794994 55.851751,36.771997 55.83884,36.771997 55.722447,36.794994 55.605706,36.771997 55.566715,36.794994 55.527685,36.817991 55.514667,36.794994 55.397306,36.863985 55.384244,36.978969 55.318871,36.978969 55.266495,36.817991 55.200927,36.794994 55.200927,36.794994 55.227167,36.771997 55.266495,36.703007 55.266495,36.634016 55.279595,36.611019 55.318871,36.588022 55.331954,36.542028 55.305783,36.473038 55.305783,36.404047 55.292691,36.38105 55.279595,36.31206 55.200927,36.266066 55.17467,36.243069 55.1878,36.128085 55.1878,36.105088 55.200927,35.921113 55.24028,35.852122 55.24028,35.760135 55.279595,35.599157 55.292691,35.507169 55.24028,35.415182 55.24028,35.323194 55.266495,35.323194 55.292691,35.277201 55.318871,35.300197 55.358108,35.300197 55.436465,35.323194 55.449509,35.323194 55.553709,35.300197 55.553709,35.323194 55.566715,35.323194 55.579716,35.392185 55.592713,35.369188 55.644659,35.346191 55.657634,35.346191 55.709493,35.323194 55.709493,35.323194 55.787153,35.300197 55.800081,35.254204 55.851751,35.231207 55.864658,35.162216 55.954886)),((37.162944 55.003575,37.231935 55.003575,37.254931 54.977188,37.41591 54.963988,37.507897 54.990384,37.576888 54.990384,37.622881 55.016762,37.737866 55.003575,37.829853 55.029945,37.990831 55.043123,38.082819 55.016762,38.289791 55.029945,38.335784 55.003575,38.404775 55.016762,38.450769 55.043123,38.519759 55.043123,38.611747 54.990384,38.657741 54.990384,38.680737 55.029945,38.818719 55.029945,38.9567 54.977188,39.002694 54.977188,39.002694 55.016762,39.071684 55.029945,39.094681 55.095794,39.117678 55.095794,39.094681 55.266495,39.163672 55.331954,39.140675 55.397306,39.163672 55.436465,39.117678 55.475585,39.117678 55.553709,39.163672 55.579716,39.163672 55.644659,39.071684 55.670605,39.048687 55.683572,39.048687 55.761284,39.117678 55.851751,39.140675 55.851751,39.209666 55.83884,39.301653 55.851751,39.301653 55.800081,39.370644 55.77422,39.462631 55.77422,39.508625 55.748342,39.554619 55.787153,39.669603 55.800081,39.784587 55.83884,39.876575 55.83884,39.899572 55.800081,39.899572 55.748342,40.014556 55.683572,40.083547 55.605706,40.06055 55.540699,40.083547 55.527685,40.152537 55.527685,40.198531 55.488617,40.152537 55.436465,40.198531 55.358108,40.198531 55.345033,40.152537 55.266495,40.083547 55.25339,40.014556 55.214049,39.807584 55.200927,39.738594 55.135251,39.853578 55.108951,39.830581 55.029945,39.76159 55.016762,39.738594 55.003575,39.646606 55.016762,39.508625 54.963988,39.462631 54.897922,39.485628 54.897922,39.416637 54.85823,39.347647 54.77873,39.347647 54.738921,39.232662 54.725643,39.232662 54.645881,39.117678 54.645881,38.979697 54.619259,38.864712 54.619259,38.795722 54.512597,38.795722 54.459161,38.841716 54.459161,38.933703 54.432417,38.910706 54.392268,38.818719 54.378876,38.703734 54.338675,38.703734 54.258154,38.657741 54.258154,38.634744 54.271585,38.519759 54.298434,38.519759 54.36548,38.404775 54.472527,38.404775 54.525945,38.473766 54.565963,38.496763 54.605942,38.450769 54.645881,38.381778 54.645881,38.174806 54.699073,38.059822 54.71236,38.036825 54.752195,38.013828 54.765465,37.967834 54.844991,37.898844 54.844991,37.78386 54.831748,37.760863 54.738921,37.714869 54.725643,37.599885 54.738921,37.530894 54.77873,37.438906 54.844991,37.323922 54.844991,37.254931 54.831748,37.254931 54.844991,37.185941 54.85823,37.162944 55.003575)))","code":"moscow_region","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"241","name":"Московская область","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((28.424133 68.529187,28.424133 68.562831,28.44713 68.571235,28.51612 68.613204,28.539117 68.646724,28.585111 68.663465,28.654102 68.721959,28.677098 68.721959,28.746089 68.81357,28.769086 68.863381,28.677098 68.87996,28.470127 68.87996,28.424133 68.904805,28.424133 68.921353,28.654102 68.979173,28.769086 69.02038,28.861073 69.045067,28.930064 69.05329,28.999055 69.05329,29.068045 69.028612,29.091042 69.05329,29.229023 69.118962,29.229023 69.151725,29.275017 69.184438,29.275017 69.225261,29.298014 69.233416,29.275017 69.241568,29.25202 69.266007,29.275017 69.306676,29.344008 69.314801,29.367005 69.322923,29.435995 69.331042,29.573976 69.331042,29.688961 69.37969,29.734955 69.395881,29.849939 69.428228,29.964923 69.420146,29.98792 69.412061,30.056911 69.452457,30.102904 69.484719,30.102904 69.516932,30.171895 69.557131,30.125901 69.613282,30.125901 69.637302,30.056911 69.645302,30.079908 69.669286,30.148898 69.677274,30.286879 69.6533,30.470854 69.581214,30.562842 69.549097,30.861801 69.54106,30.930792 69.581214,30.930792 69.629298,30.884798 69.701222,30.861801 69.709198,30.861801 69.73311,30.792811 69.788798,30.930792 69.876012,30.953789 69.907637,30.999782 69.923431,31.068773 69.978618,31.183757 70.017949,31.229751 70.025806,31.551707 70.112039,31.666692 70.135495,31.82767 70.158924,32.080635 70.158924,32.19562 70.151118,32.448585 70.112039,32.471582 70.104214,32.908523 69.994359,33.023507 69.970743,33.115495 69.970743,33.345463 69.931324,33.506441 69.89183,33.552435 69.876012,33.713413 69.76495,33.73641 69.709198,33.713413 69.68526,33.782404 69.629298,33.874391 69.60527,34.035369 69.597254,34.173351 69.597254,34.380323 69.581214,34.403319 69.573189,34.518304 69.557131,34.771269 69.500831,34.932247 69.460527,35.323194 69.460527,35.57616 69.436307,35.599157 69.428228,35.691144 69.428228,35.990104 69.403973,36.197075 69.371589,36.220072 69.363486,36.38105 69.314801,36.565025 69.282284,36.588022 69.274147,36.886982 69.200776,36.978969 69.168087,37.093953 69.143539,37.369916 69.045067,37.438906 69.028612,37.507897 69.02038,37.806856 68.962668,37.898844 68.929622,38.105816 68.863381,38.243797 68.81357,38.358781 68.730303,38.404775 68.713612,38.473766 68.663465,38.58875 68.621589,38.634744 68.596426,38.9567 68.546015,39.186669 68.48706,39.186669 68.478625,39.76159 68.385634,40.888437 68.546015,41.187396 68.588032,41.210393 68.588032,41.210393 68.596426,41.302381 68.596426,41.371371 68.520768,41.417365 68.444855,41.463359 68.394104,41.647334 68.15576,41.670331 68.130075,41.716324 68.070033,42.452224 67.069893,42.498218 66.989121,42.314243 66.862941,42.199259 66.826769,42.153265 66.808663,41.555346 66.608616,41.210393 66.480466,41.210393 66.471287,40.727459 66.296246,40.566481 66.231448,40.221528 66.110666,39.715597 65.90495,39.439634 65.867368,39.278656 65.839146,39.232662 65.839146,39.232662 65.829732,39.163672 65.829732,39.140675 65.820314,38.910706 65.79204,38.634744 65.744847,38.381778 65.707031,38.312788 65.697568,37.875847 65.707031,37.85285 65.71649,37.139947 65.744847,37.070956 65.754293,36.771997 65.763735,36.082091 65.79204,36.0131 65.79204,35.921113 65.829732,35.875119 65.829732,35.806129 65.857964,35.369188 65.998663,35.323194 66.008016,35.323194 66.017365,35.254204 66.036052,35.070229 66.092033,35.047232 66.101352,34.84026 66.157189,34.633288 66.222177,34.610291 66.231448,33.989376 66.40694,33.644423 66.489641,33.621426 66.498813,33.506441 66.507982,33.230479 66.553775,33.138492 66.553775,32.93152 66.581211,32.63256 66.581211,32.56357 66.572069,32.540573 66.507982,32.517576 66.480466,32.448585 66.480466,32.356598 66.462105,32.356598 66.351654,32.287607 66.342428,32.126629 66.351654,31.965651 66.351654,31.850667 66.360877,31.804673 66.397734,31.804673 66.462105,31.758679 66.498813,31.689689 66.498813,31.620698 66.507982,31.597701 66.562924,31.574704 66.645109,31.505714 66.654224,30.976786 66.663335,30.447858 66.654224,29.91893 66.663335,29.321011 66.663335,29.25202 66.690649,29.160033 66.76334,29.114039 66.772412,29.068045 66.844861,29.045048 66.853903,28.999055 66.935124,29.022052 66.944131,29.045048 67.007094,29.068045 67.016075,29.275017 67.13253,29.298014 67.16825,29.344008 67.186091,29.412998 67.230633,29.435995 67.239532,29.435995 67.248427,29.458992 67.248427,29.481989 67.292855,29.61997 67.354915,29.642967 67.381463,29.688961 67.399146,29.803945 67.478555,29.91893 67.531347,29.941926 67.57525,29.941926 67.601554,29.98792 67.636579,29.98792 67.671552,29.61997 67.810928,29.481989 67.932203,29.458992 67.958109,29.435995 67.958109,29.435995 67.983985,29.390001 68.00122,29.321011 68.061442,29.206027 68.087204,29.022052 68.121507,28.999055 68.130075,28.953061 68.130075,28.930064 68.13864,28.861073 68.147202,28.677098 68.181416,28.631105 68.198504,28.470127 68.436404,28.424133 68.529187))","code":"murmansk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"96","name":"Мурманская область","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((41.946293 55.514667,41.946293 55.631679,41.992287 55.631679,42.061278 55.618695,42.084274 55.553709,42.084274 55.501644,42.015284 55.501644,41.946293 55.514667))","code":"murom","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"132","name":"Муром","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((51.650973 55.566715,51.650973 55.618695,51.696967 55.644659,51.719963 55.709493,51.650973 55.825925,51.67397 55.851751,51.788954 55.851751,51.834948 55.877561,51.972929 55.877561,51.995926 55.864658,52.11091 55.851751,52.179901 55.877561,52.294885 55.864658,52.340879 55.877561,52.363876 55.864658,52.547851 55.864658,52.616841 55.83884,52.616841 55.618695,52.524854 55.553709,52.386873 55.540699,52.363876 55.553709,52.202898 55.553709,52.133907 55.540699,52.11091 55.553709,52.087913 55.540699,51.926935 55.540699,51.834948 55.566715,51.719963 55.553709,51.650973 55.566715))","code":"nabchelny","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"29","name":"Набережные Челны","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((43.602068 17.761061,43.625065 17.9143,43.671059 17.936181,43.717052 18.132984,43.763046 18.176688,43.763046 18.242224,43.855034 18.264064,43.855034 18.307735,43.87803 18.373221,43.947021 18.438682,43.947021 18.504119,43.970018 18.525925,43.993015 18.634916,44.107999 18.743837,44.107999 18.809156,44.130996 18.87445,44.199987 18.896209,44.24598 18.939718,44.314971 18.939718,44.383962 18.961469,44.383962 19.091912,44.452952 19.200535,44.452952 19.309088,44.383962 19.33079,44.383962 19.417568,44.590933 19.417568,45.073868 19.439255,45.119861 19.309088,45.119861 19.222252,45.165855 19.222252,45.372827 19.309088,46.292702 19.309088,47.097592 19.33079,51.972929 19.33079,51.995926 19.265675,51.995926 18.983216,51.926935 18.961469,51.168039 18.830924,50.639111 18.743837,50.432139 18.722059,49.926208 18.678493,49.121317 18.591328,48.592389 18.351395,48.224439 18.176688,48.109455 18.023676,47.764502 17.60769,47.718508 17.563846,47.603524 17.410307,47.603524 17.388363,47.511536 17.190743,47.488539 17.102844,47.327561 17.014904,47.304564 16.992912,47.18958 16.926922,47.005605 16.926922,46.936614 16.992912,46.729642 17.25664,46.568664 17.234677,46.361692 17.212711,45.901755 17.25664,45.740777 17.2786,45.395824 17.300558,45.28084 17.366415,45.257843 17.388363,45.211849 17.388363,45.188852 17.410307,44.61393 17.410307,44.61393 17.388363,44.039008 17.388363,43.970018 17.322513,43.717052 17.344466,43.694055 17.388363,43.717052 17.410307,43.671059 17.519991,43.625065 17.563846,43.602068 17.761061))","code":"najran","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"228","name":"Наджран","time_zone":{"name":"Etc/GMT+3","offset":-180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((44.705918 43.184913,44.705918 43.268696,44.728915 43.268696,44.843899 43.251949,44.866896 43.201679,44.843899 43.151368,44.774908 43.151368,44.705918 43.184913))","code":"nazran","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"154","name":"Назрань","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((43.487084 43.435917,43.51008 43.519355,43.717052 43.536028,43.717052 43.502676,43.648062 43.40251,43.533077 43.40251,43.487084 43.435917))","code":"nalchik","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"134","name":"Нальчик","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((52.915801 67.619073,52.915801 67.662814,52.984791 67.671552,53.007788 67.680288,53.122773 67.697748,53.191763 67.68902,53.168766 67.627827,53.053782 67.601554,52.915801 67.619073))","code":"naryanmar","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"159","name":"Нарьян-Мар","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((132.553966 42.8149,132.553966 42.865487,132.622957 42.949708,132.829928 42.949708,133.128888 42.966538,133.243872 42.916033,133.243872 42.7136,133.220875 42.662889,132.783935 42.662889,132.553966 42.8149))","code":"nahodka","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"82","name":"Находка","time_zone":{"name":"Asia/Vladivostok","offset":600},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((41.877303 44.708073,41.900299 44.708073,42.038281 44.675376,42.038281 44.593552,41.96929 44.577174,41.900299 44.593552,41.877303 44.708073))","code":"nevinnomyssk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"135","name":"Невинномысск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((34.679282 27.671976,34.702279 27.733058,34.932247 28.098832,35.047232 28.179947,35.116222 28.179947,35.323194 28.159674,35.369188 28.159674,35.507169 28.098832,35.64515 27.733058,35.622154 27.549708,35.323194 27.427305,35.300197 27.427305,35.254204 27.386473,35.20821 27.406891,34.909251 27.631235,34.679282 27.671976))","code":"neom","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":true,"road_network":true},"id":"250","name":"Неом","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((75.015794 61.272399,75.038791 61.28345,75.061788 61.316581,75.153775 61.316581,75.26876 61.294498,75.291757 61.261343,75.521725 61.250284,75.567719 61.272399,75.659706 61.272399,75.682703 61.261343,75.774691 61.228154,76.142641 61.239221,76.257625 61.183847,76.993525 61.183847,77.108509 61.172761,77.131506 61.16167,77.292484 61.172761,77.315481 61.16167,77.54545 61.139478,77.614441 61.11727,77.867406 61.10616,77.9134 61.095046,77.844409 60.81593,77.844409 60.782272,77.821412 60.771044,77.821412 60.737338,77.637437 60.613447,77.384472 60.60216,77.315481 60.613447,77.154503 60.692342,77.016522 60.692342,76.947531 60.714848,76.878541 60.748578,76.80955 60.759813,76.740559 60.81593,76.671569 60.81593,76.602578 60.87195,76.533588 60.87195,76.510591 60.860754,75.912672 60.860754,75.521725 60.961376,75.314753 61.028282,75.245763 61.039419,75.222766 61.072807,75.061788 61.128376,75.061788 61.16167,75.038791 61.172761,75.015794 61.272399))","code":"nizhnevartovsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"12","name":"Нижневартовск","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((43.234118 56.453751,43.280112 56.580621,43.257115 56.593285,43.257115 56.65654,43.303109 56.65654,43.326105 56.669178,43.464087 56.681812,43.579071 56.6186,43.671059 56.6186,43.740049 56.555281,43.901027 56.567953,43.947021 56.517239,44.016012 56.517239,44.107999 56.491856,44.222983 56.491856,44.291974 56.479159,44.291974 56.390156,44.268977 56.377424,44.291974 56.237095,44.314971 56.224312,44.291974 56.134713,44.337968 56.096249,44.314971 56.057747,44.17699 56.057747,44.107999 56.032057,44.107999 55.967759,44.062005 55.890459,44.062005 55.735397,44.016012 55.631679,44.016012 55.540699,43.993015 55.475585,44.016012 55.436465,43.993015 55.371178,43.901027 55.305783,43.832037 55.305783,43.694055 55.371178,43.717052 55.475585,43.671059 55.527685,43.694055 55.527685,43.694055 55.566715,43.579071 55.579716,43.579071 55.605706,43.533077 55.631679,43.533077 55.696535,43.602068 55.748342,43.464087 55.825925,43.418093 56.006351,43.303109 56.032057,43.257115 56.185938,43.280112 56.224312,43.326105 56.262647,43.257115 56.300945,43.257115 56.364688,43.234118 56.453751))","code":"n_novgorod","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"19","name":"Нижний Новгород","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((58.642022 58.009341,58.848994 57.997155,58.87199 57.997155,58.940981 57.984966,59.055965 57.972772,59.469909 57.911742,59.745872 57.911742,59.768868 57.948372,59.768868 58.009341,59.791865 58.094522,60.113822 58.082366,60.182812 58.070205,60.251803 58.082366,60.320793 58.070205,60.34379 58.033699,60.435778 58.033699,60.527765 58.082366,60.596756 58.082366,60.619753 58.045872,60.527765 57.948372,60.458775 57.911742,60.389784 57.8873,60.320793 57.8873,60.251803 57.801625,60.228806 57.70346,60.159815 57.678877,60.021834 57.691171,59.699878 57.617347,59.584893 57.580379,59.400918 57.531029,59.308931 57.518682,59.308931 57.50633,59.262937 57.50633,59.23994 57.493973,59.078962 57.469249,59.078962 57.419749,59.009972 57.419749,58.986975 57.45688,58.963978 57.469249,58.87199 57.493973,58.87199 57.50633,58.803 57.50633,58.757006 57.543373,58.803 57.617347,58.780003 57.641971,58.711012 57.654277,58.711012 57.666579,58.848994 57.740303,58.848994 57.838368,58.757006 57.850607,58.688015 57.911742,58.665019 57.923956,58.642022 58.009341))","code":"ntagil","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"45","name":"Нижний Тагил","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((86.468236 53.97509,86.491233 54.015646,86.491233 54.069659,86.652211 54.110123,86.675208 54.123603,87.227133 54.123603,87.388111 54.190933,87.411108 54.204386,87.434105 54.204386,87.480098 54.231279,87.503095 54.271585,87.848048 54.231279,87.894042 54.204386,87.940036 54.204386,87.963033 54.190933,88.170004 54.110123,88.284989 54.069659,88.307986 54.069659,88.307986 54.056163,88.514958 53.988613,88.537954 53.97509,88.974895 53.81247,88.997892 53.744525,89.020889 53.744525,89.020889 53.703705,89.043886 53.635583,88.951898 53.608304,88.882907 53.608304,88.859911 53.594658,88.813917 53.581007,88.675936 53.512687,88.514958 53.416854,88.376976 53.403146,88.307986 53.389434,88.284989 53.389434,87.917039 53.34827,87.848048 53.334539,87.641076 53.320805,87.595083 53.416854,87.480098 53.49901,86.58322 53.49901,86.51423 53.512687,86.51423 53.920953,86.468236 53.97509))","code":"novokuznetsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"6","name":"Новокузнецк","time_zone":{"name":"Asia/Novokuznetsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((36.840988 44.887576,36.840988 44.903867,36.932975 45.098997,36.955972 45.115228,36.955972 45.212516,37.070956 45.244908,37.185941 45.244908,37.346919 45.228714,37.41591 45.196313,37.4849 45.212516,37.645878 45.212516,37.944838 45.228714,38.128813 45.196313,38.2208 45.196313,38.58875 45.228714,38.657741 45.180105,38.58875 45.115228,38.565753 44.968984,38.634744 44.887576,38.657741 44.773411,38.634744 44.65902,38.657741 44.511614,38.680737 44.495212,38.680737 44.44598,38.634744 44.380272,38.611747 44.330943,38.496763 44.149714,38.335784 44.166212,38.266794 44.182706,38.013828 44.265106,37.944838 44.347391,37.85285 44.396706,37.737866 44.44598,37.714869 44.462395,37.553891 44.462395,37.254931 44.560791,37.139947 44.64266,37.024963 44.822367,36.932975 44.871281,36.840988 44.887576))","code":"novorossiysk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"74","name":"Новороссийск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((80.948987 54.378876,81.040974 54.445791,81.201952 54.459161,81.270943 54.432417,81.339934 54.445791,81.546906 54.525945,81.523909 54.605942,81.592899 54.619259,81.707884 54.632572,81.684887 54.672486,81.615896 54.738921,81.592899 54.752195,81.523909 54.8185,81.569902 54.871465,81.477915 54.937574,81.408924 54.937574,81.362931 54.963988,81.431921 55.029945,81.454918 55.043123,81.431921 55.108951,81.454918 55.122103,81.454918 55.279595,81.408924 55.279595,81.385927 55.318871,81.431921 55.345033,81.546906 55.397306,81.868862 55.449509,82.075834 55.501644,82.121827 55.501644,82.121827 55.540699,82.02984 55.644659,81.937852 55.77422,81.822868 55.903353,81.730881 56.032057,81.592899 56.198733,81.569902 56.237095,81.592899 56.249873,81.868862 56.300945,82.144824 56.326455,82.282805 56.351948,82.351796 56.351948,82.420787 56.390156,82.489777 56.402883,82.742743 56.415607,82.811733 56.428326,82.811733 56.517239,82.880724 56.529924,83.041702 56.529924,83.110693 56.542605,83.271671 56.453751,83.271671 56.415607,83.156687 56.351948,83.13369 56.262647,83.087696 56.237095,83.087696 56.224312,83.20268 56.211525,83.179683 56.147525,83.156687 56.134713,83.156687 56.109074,83.248674 56.109074,83.271671 56.096249,83.248674 56.032057,83.317665 55.980627,83.386655 55.916243,83.409652 55.877561,83.294668 55.813005,83.225677 55.748342,83.248674 55.709493,83.409652 55.709493,83.593627 55.683572,83.616624 55.696535,83.662618 55.735397,83.662618 55.77422,83.731608 55.787153,83.754605 55.83884,83.915583 55.980627,83.984574 56.019206,84.145552 56.032057,84.168549 56.044904,84.237539 56.044904,84.329527 55.993491,84.375521 55.993491,84.398518 56.032057,84.467508 56.044904,84.536499 56.006351,84.513502 55.916243,84.490505 55.903353,84.490505 55.864658,84.536499 55.864658,84.559496 55.825925,84.605489 55.77422,84.536499 55.735397,84.605489 55.696535,84.67448 55.683572,84.697477 55.670605,84.789464 55.553709,84.743471 55.514667,84.743471 55.449509,84.67448 55.423416,84.651483 55.410363,84.67448 55.371178,84.812461 55.371178,84.904449 55.345033,84.904449 55.279595,84.881452 55.279595,84.858455 55.214049,84.927446 55.161535,84.927446 55.095794,84.858455 55.003575,84.881452 54.963988,84.996436 54.937574,84.996436 54.897922,85.065427 54.85823,85.065427 54.8185,84.950442 54.765465,84.927446 54.752195,84.927446 54.71236,84.996436 54.672486,84.996436 54.632572,84.950442 54.605942,84.973439 54.552628,84.996436 54.539289,85.088424 54.459161,85.111421 54.445791,85.065427 54.419038,84.881452 54.35208,84.858455 54.338675,84.766468 54.338675,84.628486 54.258154,84.582493 54.217835,84.582493 54.204386,84.490505 54.150548,84.375521 54.164014,84.191546 54.177476,84.007571 54.123603,83.984574 54.110123,83.915583 54.09664,83.846593 54.123603,83.777602 54.110123,83.57063 54.110123,83.478643 54.069659,83.478643 54.002132,83.409652 53.934494,83.340661 53.94803,83.317665 54.056163,83.20268 54.056163,82.76574 53.798889,82.742743 53.744525,82.650755 53.690089,82.650755 53.635583,82.535771 53.553692,82.558768 53.512687,82.535771 53.49901,82.420787 53.49901,82.420787 53.512687,82.351796 53.512687,82.328799 53.553692,82.190818 53.608304,82.167821 53.662845,82.075834 53.662845,81.937852 53.717316,81.822868 53.703705,81.753877 53.771716,81.753877 53.826046,81.845865 53.880305,81.845865 53.920953,81.822868 53.961562,81.638893 53.97509,81.592899 53.920953,81.546906 53.934494,81.592899 54.015646,81.546906 54.029156,81.477915 54.069659,81.29394 54.069659,81.247946 54.09664,81.132962 54.123603,81.086968 54.204386,81.063971 54.204386,81.063971 54.217835,81.017977 54.258154,80.994981 54.271585,80.971984 54.338675,80.948987 54.378876))","code":"novosibirsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"1","name":"Новосибирск","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.014556 47.342019,40.014556 47.388747,40.037553 47.482081,40.083547 47.544211,40.106544 47.559732,40.175534 47.544211,40.152537 47.435435,40.198531 47.435435,40.267522 47.419877,40.152537 47.326433,40.083547 47.326433,40.014556 47.342019))","code":"novocherkassk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"137","name":"Новочеркасск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((39.784587 47.776545,39.807584 47.791997,39.853578 47.884613,39.922569 47.884613,39.945565 47.869189,39.991559 47.822887,40.014556 47.71469,39.968562 47.71469,39.807584 47.730161,39.784587 47.776545))","code":"novoshakhtinsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"138","name":"Новошахтинск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((31.597701 29.988564,31.620698 30.048301,31.712685 30.048301,31.758679 30.088105,31.82767 30.108002,31.89666 30.068205,31.89666 29.849039,31.873664 29.849039,31.82767 29.888924,31.735682 29.888924,31.666692 29.988564,31.597701 29.988564))","code":"new_cairo","country_code":"eg","domain":"eg","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"239","name":"Новый Каир","time_zone":{"name":"Africa/Cairo","offset":120},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((76.372609 66.092033,76.533588 66.157189,76.533588 66.166483,76.556584 66.175774,76.993525 66.185062,77.062516 66.13859,77.062516 66.110666,77.131506 66.064058,77.246491 66.036052,77.522453 66.036052,77.54545 66.045391,77.683431 66.092033,77.752422 66.092033,77.798416 66.073387,77.867406 66.082712,78.097375 66.129286,78.212359 66.13859,78.327344 66.092033,78.327344 66.073387,78.442328 65.998663,78.488322 65.979948,78.488322 65.970585,78.327344 65.867368,78.304347 65.857964,78.28135 65.829732,78.258353 65.829732,78.258353 65.810893,78.235356 65.801468,78.212359 65.773173,78.143369 65.735398,78.051381 65.725946,78.028384 65.697568,77.959394 65.688102,77.890403 65.659683,77.798416 65.659683,77.775419 65.650203,77.660434 65.640719,77.568447 65.678633,77.453462 65.707031,77.223494 65.801468,77.154503 65.801468,76.947531 65.79204,76.740559 65.820314,76.717563 65.829732,76.694566 65.829732,76.602578 65.886166,76.602578 65.89556,76.533588 65.90495,76.533588 65.914337,76.510591 65.914337,76.464597 65.9331,76.418603 66.02671,76.372609 66.092033))","code":"n_urengoy","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"139","name":"Новый Уренгой","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((85.985302 69.395881,85.985302 69.549097,86.054292 69.557131,86.58322 69.565161,87.043158 69.565161,88.307986 69.557131,88.537954 69.557131,88.560951 69.533021,88.537954 69.508883,88.537954 69.266007,88.514958 69.241568,88.307986 69.241568,87.963033 69.249717,86.031295 69.249717,86.008299 69.274147,85.985302 69.395881))","code":"norilsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"76","name":"Норильск","time_zone":{"name":"Asia/Krasnoyarsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((74.302891 63.662768,74.302891 63.845822,74.325888 63.876216,76.188635 63.876216,76.257625 63.866088,76.257625 63.662768,76.234628 63.303421,76.280622 63.28275,76.487594 63.272409,76.533588 63.272409,76.832547 63.262064,77.085513 63.251716,77.108509 63.241364,77.1775 63.096044,77.062516 62.970904,77.039519 62.970904,77.016522 62.981353,76.855544 62.991798,76.717563 63.023111,76.648572 63.033541,76.533588 63.002239,76.487594 62.981353,76.464597 62.981353,76.418603 62.960451,76.326616 62.960451,76.257625 63.023111,74.394879 63.023111,74.325888 63.033541,74.325888 63.303421,74.302891 63.662768))","code":"noyabrsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"103","name":"Ноябрьск","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((65.150136 62.00429,65.150136 62.047438,65.334111 62.1443,65.403102 62.176518,65.495089 62.294359,65.748055 62.294359,65.817046 62.283666,65.794049 62.262267,65.771052 62.18725,65.886036 62.112047,65.886036 62.090526,65.863039 62.07976,65.886036 62.00429,65.863039 61.971888,65.656067 61.971888,65.56408 61.993493,65.219127 61.993493,65.150136 62.00429))","code":"nyagan","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":true,"road_network":true},"id":"202","name":"Нягань","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((51.444001 24.366077,51.444001 24.428906,51.581982 24.554472,51.581982 24.659015,52.018923 24.763469,52.271888 24.8261,52.363876 24.867836,52.340879 24.99296,52.40987 25.013802,52.47886 25.013802,52.501857 25.076306,52.639838 25.180408,52.84681 25.450657,52.869807 25.47142,52.938798 25.49218,52.984791 25.49218,54.111638 25.47142,54.203626 25.47142,55.1235 25.575183,55.284479 25.595925,55.376466 25.741017,55.42246 25.782439,55.514447 25.823847,55.767413 25.968661,55.79041 25.989334,55.8594 26.133944,55.882397 26.154588,55.905394 26.133944,55.997382 26.113297,56.043375 26.07199,56.181357 26.03067,56.15836 25.76173,56.15836 25.658129,56.22735 25.616663,56.296341 25.616663,56.296341 25.637398,56.457319 25.69958,56.549306 25.69958,56.572303 25.637398,56.5953 25.533689,56.5953 25.03464,56.52631 24.99296,56.342335 24.972115,56.319338 24.888699,56.22735 24.867836,56.181357 24.763469,56.112366 24.742585,56.043375 24.763469,56.043375 24.8261,55.997382 24.84697,56.043375 24.930414,56.020378 24.99296,55.8594 24.972115,55.813407 24.888699,55.836403 24.679912,55.79041 24.575388,55.767413 24.554472,55.79041 24.491705,55.836403 24.407967,55.836403 24.324173,55.813407 24.324173,55.79041 24.219352,55.951388 24.219352,55.997382 24.093454,55.997382 24.05146,55.79041 24.030458,55.767413 24.05146,55.629432 24.030458,55.583438 23.988444,55.514447 23.967432,55.560441 23.651837,55.537444 23.546469,55.468454 23.483208,55.307475 23.208725,55.284479 23.187588,55.215488 23.039531,55.215488 22.700507,55.1235 22.636846,54.916529 22.65807,54.893532 22.67929,54.341607 22.721721,54.272616 22.742931,53.835676 22.806543,53.674698 22.806543,53.14577 22.870125,52.984791 22.891312,52.869807 22.891312,52.84681 22.912497,52.662835 22.912497,52.662835 22.933677,52.570848 22.933677,52.340879 23.229859,52.156904 23.441017,52.018923 23.630771,51.765957 23.925397,51.67397 24.009453,51.581982 24.156418,51.581982 24.261291,51.535989 24.345126,51.444001 24.366077))","code":"dubai","country_code":"ae","domain":"ae","flags":{"2gis_reviews":true,"flamp":false,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"99","name":"ОАЭ","time_zone":{"name":"Asia/Dubai","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((51.995926 18.939718,51.995926 19.004961,52.616841 19.200535,52.915801 19.309088,52.984791 19.33079,53.95066 19.655969,54.571576 19.850762,54.870535 19.958877,55.008516 20.002103,55.238485 20.692079,55.49145 21.485965,55.675425 21.998624,55.215488 22.700507,55.215488 23.039531,55.284479 23.187588,55.307475 23.208725,55.468454 23.483208,55.537444 23.546469,55.560441 23.651837,55.514447 23.967432,55.583438 23.988444,55.629432 24.030458,55.767413 24.05146,55.79041 24.030458,55.997382 24.05146,55.997382 24.093454,55.951388 24.219352,55.79041 24.219352,55.813407 24.324173,55.836403 24.324173,55.836403 24.407967,55.79041 24.491705,55.767413 24.554472,55.79041 24.575388,55.836403 24.679912,55.813407 24.888699,55.8594 24.972115,56.020378 24.99296,56.043375 24.930414,55.997382 24.84697,56.043375 24.8261,56.043375 24.763469,56.112366 24.742585,56.181357 24.763469,56.22735 24.867836,56.319338 24.888699,56.342335 24.972115,56.52631 24.99296,56.5953 25.03464,56.5953 25.533689,56.572303 25.637398,56.549306 25.69958,56.457319 25.69958,56.296341 25.637398,56.296341 25.616663,56.22735 25.616663,56.15836 25.658129,56.15836 25.76173,56.181357 26.03067,56.043375 26.07199,55.997382 26.113297,55.905394 26.133944,55.882397 26.154588,55.905394 26.257754,55.928391 26.278376,56.020378 26.422627,56.273344 26.607829,56.549306 26.73113,56.687288 26.669496,56.733281 26.628388,56.779275 26.546128,56.779275 26.422627,56.802272 26.154588,57.285206 24.909558,57.423188 24.533553,57.584166 24.428906,58.274072 24.05146,58.665019 23.862319,58.87199 23.736071,58.87199 23.715017,58.940981 23.693961,58.963978 23.6097,58.986975 23.588627,59.101959 23.462114,59.17095 23.356594,59.193947 23.33548,59.216944 23.272118,59.23994 23.25099,59.262937 23.187588,59.377922 23.124155,59.469909 22.933677,59.492906 22.912497,59.515903 22.912497,59.630887 22.785342,59.837859 22.764139,59.97584 22.700507,60.067828 22.530679,60.067828 22.232977,60.044831 22.211688,60.021834 22.105196,59.929847 21.998624,59.883853 21.934642,59.883853 21.849288,59.860856 21.827941,59.768868 21.721161,59.699878 21.614301,59.676881 21.528757,59.653884 21.507363,59.584893 21.400345,59.5389 21.271821,59.23994 21.121734,59.078962 20.95002,59.101959 20.799608,59.124956 20.778109,59.216944 20.519875,59.193947 20.369037,59.032969 20.218051,58.917984 20.066918,58.87199 20.045316,58.87199 20.023711,58.757006 19.958877,58.688015 19.93726,58.550034 19.93726,58.527037 19.958877,58.251075 20.110114,58.0671 20.110114,58.044103 19.91564,58.021106 19.894017,58.021106 19.720927,57.952116 19.61265,57.998109 19.374185,57.998109 19.309088,58.090097 19.004961,58.0671 18.896209,57.952116 18.787386,57.745144 18.722059,57.469181 18.722059,57.239213 18.678493,57.216216 18.656706,57.147225 18.656706,56.940253 18.56953,56.871263 18.460497,56.871263 18.416865,56.802272 18.176688,56.779275 18.154838,56.779275 18.089269,56.710285 17.936181,56.5953 17.870531,56.641294 17.54192,56.618297 17.410307,56.503313 17.300558,56.319338 17.25664,56.250347 17.2786,55.905394 17.25664,55.698422 17.25664,55.49145 17.212711,55.468454 17.102844,55.42246 17.058879,55.376466 16.992912,55.353469 16.970918,55.169494 16.816887,55.077507 16.772855,54.939525 16.750835,54.801544 16.706788,54.617569 16.750835,54.594572 16.772855,54.525582 16.816887,54.433594 16.794872,54.433594 16.816887,54.226622 16.794872,54.111638 16.728813,54.019651 16.684761,53.881669 16.662731,53.812679 16.596626,53.605707 16.530498,53.490723 16.530498,53.237757 16.464348,53.168766 16.464348,53.053782 16.684761,53.007788 16.816887,52.984791 16.838899,52.984791 16.882916,52.961795 16.90492,52.938798 16.970918,52.869807 17.124823,52.754823 17.2786,52.754823 17.366415,52.731826 17.388363,52.685832 17.519991,52.616841 17.673436,52.432867 18.023676,52.156904 18.634916,52.087913 18.743837,51.995926 18.939718))","code":"oman","country_code":"om","domain":"om","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"237","name":"Оман","time_zone":{"name":"Asia/Muscat","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((70.370426 57.345373,70.393423 57.407363,70.577398 57.45688,70.600395 57.493973,70.646389 57.493973,70.646389 57.50633,70.669385 57.50633,70.692382 57.518682,70.692382 57.555712,70.646389 57.580379,70.577398 57.605028,70.577398 57.666579,70.554401 57.70346,70.508407 57.728026,70.48541 57.764844,70.41642 57.777108,70.41642 57.875073,70.370426 57.899523,70.370426 57.936166,70.439417 57.948372,70.531404 58.106675,70.554401 58.118823,70.623392 58.203743,70.646389 58.215858,70.646389 58.252179,70.669385 58.264277,70.692382 58.31263,70.715379 58.31263,70.78437 58.457292,70.807367 58.46932,70.85336 58.5294,70.968345 58.517392,70.991342 58.50538,71.060332 58.50538,71.106326 58.46932,71.106326 58.445259,71.175317 58.433222,71.290301 58.397088,71.290301 58.348851,71.244307 58.324707,71.22131 58.264277,71.22131 58.106675,71.198313 58.094522,71.22131 58.058041,71.382288 58.070205,71.497273 58.070205,71.88822 58.106675,72.049198 58.106675,72.164182 58.021522,72.233173 58.009341,72.440145 58.009341,72.831091 57.997155,73.084057 58.130967,73.153048 58.155242,73.498001 58.143106,74.003932 58.143106,74.210904 58.130967,74.371882 58.203743,74.53286 58.264277,74.647844 58.300548,74.670841 58.348851,74.808822 58.409137,74.923807 58.433222,74.946803 58.493364,75.107782 58.565399,75.130778 58.565399,75.291757 58.50538,75.33775 58.46932,75.33775 58.433222,75.291757 58.433222,75.084785 58.348851,75.084785 58.324707,75.199769 58.240076,75.222766 58.203743,75.222766 58.179501,75.107782 58.143106,75.107782 58.094522,75.222766 58.070205,75.314753 58.021522,75.383744 58.009341,75.429738 57.984966,75.567719 57.936166,75.567719 57.70346,75.544722 57.666579,75.567719 57.629661,75.682703 57.629661,75.728697 57.592706,75.751694 57.531029,75.774691 57.50633,75.820685 57.407363,75.866678 57.38258,75.958666 57.394973,76.00466 57.357779,76.00466 57.332962,76.096647 57.233526,76.119644 57.1463,76.188635 56.98376,76.188635 56.946149,76.257625 56.883381,76.280622 56.694442,76.119644 56.6186,76.050653 56.6186,76.00466 56.555281,75.981663 56.542605,75.958666 56.50455,75.866678 56.50455,75.843681 56.466457,75.843681 56.415607,75.912672 56.428326,75.958666 56.453751,76.096647 56.453751,76.07365 56.364688,76.07365 56.313702,76.096647 56.275417,76.211631 56.262647,76.211631 56.224312,76.280622 56.185938,76.280622 56.147525,76.119644 56.134713,76.096647 56.147525,76.00466 56.147525,76.00466 56.121896,75.889675 56.121896,75.774691 56.109074,75.659706 56.044904,75.521725 56.019206,75.521725 55.980627,75.406741 55.929128,75.314753 55.903353,75.291757 55.83884,75.360747 55.787153,75.360747 55.748342,75.291757 55.735397,75.199769 55.735397,75.130778 55.748342,75.107782 55.735397,75.130778 55.670605,75.222766 55.657634,75.222766 55.618695,75.176772 55.592713,75.199769 55.553709,75.291757 55.553709,75.314753 55.514667,75.199769 55.449509,75.153775 55.384244,75.130778 55.384244,75.199769 55.318871,75.199769 55.279595,75.26876 55.24028,75.26876 55.200927,75.291757 55.1878,75.26876 55.17467,75.291757 55.108951,75.314753 55.095794,75.383744 55.043123,75.360747 54.897922,75.429738 54.897922,75.498728 54.911144,75.498728 54.831748,75.63671 54.805248,75.682703 54.725643,75.682703 54.685782,75.751694 54.685782,75.774691 54.699073,75.843681 54.645881,75.820685 54.565963,75.751694 54.539289,75.682703 54.539289,75.682703 54.137078,75.659706 54.110123,75.521725 54.110123,75.498728 54.09664,75.406741 54.083152,75.429738 53.988613,75.383744 53.961562,75.199769 53.866747,75.107782 53.81247,75.038791 53.798889,74.992797 53.826046,74.90081 53.826046,74.785825 53.81247,74.785825 53.758122,74.739832 53.758122,74.670841 53.744525,74.647844 53.676469,74.463869 53.676469,74.440872 53.635583,74.463869 53.540028,74.440872 53.52636,74.417875 53.471642,74.325888 53.471642,74.279894 53.540028,74.256897 53.581007,74.187907 53.594658,74.141913 53.567352,74.072922 53.567352,74.072922 53.594658,74.049926 53.635583,73.934941 53.649216,73.842954 53.594658,73.727969 53.608304,73.658979 53.594658,73.589988 53.52636,73.452007 53.444257,73.383016 53.457952,73.383016 53.52636,73.268032 53.567352,73.268032 53.649216,73.337022 53.703705,73.360019 53.717316,73.360019 53.771716,73.42901 53.785305,73.452007 53.866747,73.612985 53.866747,73.635982 53.853184,73.704972 53.866747,73.750966 54.002132,73.773963 54.015646,73.727969 54.056163,73.658979 54.056163,73.635982 54.015646,73.589988 54.015646,73.520997 54.002132,73.520997 53.94803,73.452007 53.961562,73.291029 53.94803,73.199041 53.97509,73.084057 53.97509,73.038063 54.042661,72.992069 54.042661,72.969073 54.09664,72.877085 54.09664,72.785098 54.123603,72.624119 54.123603,72.555129 54.110123,72.555129 54.042661,72.647116 54.042661,72.716107 54.002132,72.69311 53.961562,72.555129 53.97509,72.532132 53.934494,72.463141 53.920953,72.394151 53.934494,72.417148 54.015646,72.394151 54.110123,72.440145 54.110123,72.486138 54.137078,72.417148 54.150548,72.394151 54.164014,72.32516 54.177476,72.32516 54.204386,72.302163 54.311852,72.210176 54.35208,72.049198 54.36548,72.072195 54.325266,72.141185 54.285012,72.118188 54.244719,72.118188 54.204386,72.164182 54.204386,72.210176 54.177476,72.210176 54.137078,72.141185 54.137078,72.095191 54.164014,72.072195 54.204386,72.049198 54.204386,72.026201 54.217835,71.95721 54.231279,71.750238 54.244719,71.750238 54.137078,71.681248 54.09664,71.52027 54.110123,71.497273 54.123603,71.474276 54.164014,71.290301 54.177476,71.22131 54.110123,71.15232 54.110123,71.129323 54.150548,71.106326 54.164014,71.083329 54.204386,71.083329 54.258154,71.014338 54.271585,70.991342 54.311852,71.037335 54.338675,71.175317 54.311852,71.22131 54.36548,71.198313 54.459161,71.175317 54.459161,71.175317 54.579294,71.290301 54.619259,71.290301 54.645881,71.22131 54.699073,71.129323 54.699073,71.060332 54.765465,71.014338 54.844991,70.968345 54.871465,70.991342 54.911144,71.014338 54.977188,71.014338 55.069467,70.991342 55.108951,70.922351 55.122103,70.899354 55.1878,70.85336 55.214049,70.807367 55.292691,70.692382 55.292691,70.646389 55.266495,70.646389 55.25339,70.48541 55.266495,70.48541 55.318871,70.462414 55.410363,70.48541 55.423416,70.554401 55.488617,70.646389 55.501644,70.715379 55.540699,70.738376 55.579716,70.761373 55.592713,70.761373 55.618695,70.646389 55.618695,70.577398 55.631679,70.531404 55.683572,70.531404 55.722447,70.577398 55.748342,70.577398 55.800081,70.715379 55.800081,70.78437 55.83884,70.761373 55.851751,70.646389 55.83884,70.623392 55.825925,70.48541 55.851751,70.48541 55.890459,70.554401 55.903353,70.577398 55.916243,70.646389 55.929128,70.646389 55.942009,70.715379 55.954886,70.738376 55.993491,70.738376 56.032057,70.807367 56.044904,70.830364 56.006351,70.830364 55.980627,70.876357 55.980627,70.899354 56.096249,70.899354 56.134713,70.830364 56.147525,70.830364 56.198733,70.761373 56.237095,70.761373 56.262647,70.876357 56.300945,70.922351 56.300945,70.922351 56.377424,70.85336 56.402883,70.830364 56.390156,70.78437 56.390156,70.78437 56.453751,70.968345 56.453751,71.083329 56.517239,71.106326 56.605944,71.014338 56.669178,71.083329 56.681812,71.175317 56.643897,71.290301 56.643897,71.359292 56.631251,71.405285 56.681812,71.543267 56.669178,71.612257 56.757527,71.658251 56.757527,71.658251 56.858244,71.58926 56.946149,71.336295 57.07137,71.290301 57.096363,71.267304 57.1463,71.198313 57.183708,71.106326 57.208625,71.060332 57.332962,71.037335 57.345373,70.968345 57.370182,70.876357 57.357779,70.807367 57.370182,70.78437 57.357779,70.738376 57.308129,70.761373 57.245971,70.738376 57.233526,70.715379 57.196169,70.646389 57.196169,70.646389 57.208625,70.623392 57.208625,70.623392 57.233526,70.600395 57.270846,70.439417 57.283278,70.370426 57.345373))","code":"omsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"2","name":"Омск","time_zone":{"name":"Asia/Omsk","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((54.824541 51.282176,54.824541 51.339677,54.893532 51.425793,54.916529 51.497433,54.916529 51.711677,54.847538 51.725925,54.870535 51.853946,54.985519 51.939092,55.077507 51.953267,55.1235 51.924912,55.330472 51.924912,55.42246 51.896539,55.514447 51.839739,55.514447 51.782868,55.606435 51.725925,55.583438 51.668909,55.537444 51.668909,55.49145 51.611822,55.514447 51.526057,55.49145 51.511747,55.42246 51.425793,55.238485 51.310935,55.1235 51.138109,55.031513 51.109241,54.916529 51.123677,54.824541 51.282176))","code":"orenburg","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"48","name":"Оренбург","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((58.343062 51.109241,58.366059 51.123677,58.343062 51.152536,58.412053 51.19579,58.389056 51.239003,58.343062 51.26779,58.343062 51.325308,58.734009 51.325308,58.87199 51.253399,58.87199 51.239003,58.940981 51.239003,59.009972 51.224603,59.009972 51.152536,59.078962 51.094801,59.055965 51.02253,58.986975 51.008062,58.87199 51.02253,58.87199 51.036993,58.803 51.036993,58.642022 51.02253,58.527037 51.080355,58.366059 51.065906,58.366059 51.094801,58.343062 51.109241))","code":"orsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"142","name":"Орск","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((35.852122 52.865079,35.852122 52.920575,35.875119 53.072825,35.967107 53.100449,36.266066 53.08664,36.31206 53.072825,36.31206 53.003687,36.335057 52.962151,36.31206 52.920575,36.174079 52.837304,36.0131 52.851193,35.94411 52.837304,35.852122 52.865079))","code":"orel","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true},"id":"71","name":"Орёл","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((72.69311 40.478212,72.69311 40.565618,72.785098 40.635461,72.877085 40.635461,72.900082 40.495702,72.854088 40.390692,72.739104 40.408205,72.69311 40.478212))","code":"osh","country_code":"kg","domain":"kg","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true},"id":"171","name":"Ош","time_zone":{"name":"Asia/Bishkek","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((76.625575 52.16536,76.648572 52.249915,76.671569 52.404515,76.717563 52.446585,76.993525 52.474609,77.223494 52.446585,77.223494 52.179463,77.246491 52.052369,77.223494 52.009924,76.993525 51.995766,76.832547 52.009924,76.763556 52.024077,76.671569 52.16536,76.625575 52.16536))","code":"pavlodar","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"111","name":"Павлодар","time_zone":{"name":"Asia/Qyzylorda","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((11.360454 45.115228,11.360454 45.309637,11.383451 45.680399,11.406448 45.728579,11.774398 45.728579,12.119351 45.712524,12.464304 45.712524,12.602285 45.680399,12.579289 45.082761,12.510298 45.066521,12.487301 45.082761,12.027364 45.082761,11.774398 45.098997,11.429445 45.098997,11.360454 45.115228))","code":"padova","country_code":"it","domain":"it","flags":{"2gis_reviews":false,"flamp":false,"gdpr":true,"metro":false,"public_transport":true,"road_network":false},"id":"66","name":"Падуя","time_zone":{"name":"Europe/Rome","offset":120},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((44.728915 53.155645,44.774908 53.169432,44.774908 53.252065,44.797905 53.265822,44.820902 53.334539,45.027874 53.375717,45.073868 53.34827,45.28084 53.34827,45.34983 53.334539,45.34983 53.238304,45.395824 53.155645,45.372827 53.059007,45.303836 53.017524,45.142858 53.031356,45.119861 53.059007,45.027874 53.059007,45.004877 53.045183,44.797905 53.059007,44.728915 53.155645))","code":"penza","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"42","name":"Пенза","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((55.537444 57.923956,55.583438 57.948372,55.606435 57.997155,55.537444 57.997155,55.560441 58.058041,55.560441 58.094522,55.652428 58.143106,55.675425 58.191624,55.744416 58.227969,55.813407 58.276371,55.905394 58.276371,56.043375 58.348851,56.112366 58.360916,56.15836 58.409137,56.089369 58.445259,56.089369 58.601361,56.204353 58.709025,56.22735 58.720967,56.296341 58.852061,56.296341 58.911485,56.250347 58.958951,56.250347 58.994508,56.181357 59.04186,56.204353 59.12457,56.22735 59.12457,56.204353 59.218851,56.388328 59.312872,56.457319 59.324606,56.457319 59.383218,56.342335 59.394928,56.342335 59.406634,56.411325 59.453418,56.52631 59.581741,56.5953 59.593382,56.664291 59.581741,56.687288 59.570095,56.779275 59.558445,56.848266 59.616653,56.940253 59.605019,56.986247 59.558445,57.147225 59.511807,57.285206 59.453418,57.285206 59.406634,57.239213 59.383218,57.170222 59.254139,57.170222 59.218851,57.101231 59.20708,57.101231 59.171743,57.055238 59.148164,57.032241 59.100959,56.986247 59.100959,56.917256 59.018192,56.96325 58.804448,56.917256 58.709025,56.848266 58.541404,56.848266 58.481344,56.917256 58.421182,56.89426 58.360916,56.89426 58.300548,56.848266 58.276371,56.848266 58.191624,56.802272 58.094522,56.825269 57.984966,56.756278 57.972772,56.756278 57.936166,56.802272 57.911742,56.802272 57.826124,56.733281 57.789369,56.618297 57.777108,56.457319 57.752576,56.457319 57.666579,56.273344 57.678877,56.250347 57.666579,56.043375 57.666579,55.974385 57.678877,55.974385 57.752576,55.882397 57.777108,55.721419 57.764844,55.698422 57.801625,55.629432 57.813876,55.560441 57.838368,55.583438 57.875073,55.537444 57.923956))","code":"perm","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"16","name":"Пермь","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((32.862529 61.863633,32.885526 62.06899,32.908523 62.090526,33.00051 62.101288,33.253476 62.090526,33.483445 62.036657,33.782404 62.025872,33.989376 62.015083,34.058366 62.047438,34.081363 62.101288,34.403319 62.155043,35.20821 62.155043,35.323194 62.122802,35.392185 62.101288,35.461176 61.982692,35.415182 61.809361,35.392185 61.798496,35.323194 61.798496,35.323194 61.787626,35.300197 61.787626,35.093226 61.754994,34.702279 61.689626,34.610291 61.689626,34.173351 61.70053,34.10436 61.711431,34.10436 61.831082,33.920385 61.863633,33.897388 61.874476,33.713413 61.885314,33.66742 61.863633,33.414454 61.874476,33.345463 61.863633,33.276473 61.831082,33.161488 61.841936,33.092498 61.831082,32.93152 61.831082,32.862529 61.863633))","code":"petrozavodsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"80","name":"Петрозаводск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((68.116733 54.950783,68.13973 54.963988,68.20872 54.963988,68.231717 55.029945,68.300708 55.069467,68.20872 55.122103,68.20872 55.161535,68.231717 55.200927,68.346701 55.1878,68.369698 55.200927,68.530676 55.200927,68.645661 55.214049,68.645661 55.24028,68.714651 55.318871,68.714651 55.358108,68.783642 55.371178,68.898626 55.331954,68.967617 55.318871,69.013611 55.318871,68.990614 55.358108,68.921623 55.371178,68.921623 55.423416,69.105598 55.423416,69.220583 55.331954,69.289573 55.331954,69.381561 55.384244,69.450551 55.345033,69.749511 55.345033,69.772507 55.331954,69.841498 55.318871,69.956482 55.214049,70.071467 55.200927,70.163454 55.161535,70.278439 55.161535,70.48541 55.279595,70.48541 55.266495,70.646389 55.25339,70.646389 55.266495,70.715379 55.292691,70.807367 55.292691,70.876357 55.1878,70.899354 55.17467,70.945348 55.108951,70.991342 55.108951,71.014338 55.043123,71.014338 54.977188,70.991342 54.911144,70.968345 54.871465,70.646389 54.844991,70.347429 54.8185,69.703517 54.791991,69.657523 54.71236,69.473548 54.499245,69.358564 54.485888,69.197586 54.485888,68.875629 54.579294,68.691654 54.605942,68.461686 54.725643,68.461686 54.791991,68.277711 54.85823,68.116733 54.950783))","code":"petropavlovsk","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"170","name":"Петропавловск","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((156.907653 53.059007,156.93065 53.072825,157.045634 53.169432,157.114625 53.169432,157.183615 53.196994,157.206612 53.252065,157.2986 53.320805,157.459578 53.334539,157.459578 53.375717,157.528568 53.416854,157.643553 53.403146,157.73554 53.403146,158.241471 53.361995,158.402449 53.375717,158.793396 53.361995,158.954374 53.320805,158.954374 53.307066,159.023365 53.265822,159.138349 53.128056,159.161346 53.114255,159.299327 52.948297,159.092355 52.823409,159.023365 52.739951,158.954374 52.712096,158.954374 52.64238,158.931377 52.628424,158.90838 52.572554,158.885384 52.558575,158.885384 52.488614,158.90838 52.474609,158.862387 52.446585,158.563427 52.432566,158.494437 52.432566,158.310462 52.376446,158.264468 52.348359,158.149484 52.348359,158.080493 52.376446,157.321596 52.64238,156.93065 52.962151,156.907653 53.059007))","code":"p_kamchatskiy","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"95","name":"Петропавловск-Камчатский","time_zone":{"name":"Asia/Kamchatka","offset":720},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((34.012373 59.546792,34.035369 59.581741,34.10436 59.581741,34.242341 59.523473,34.242341 59.488463,34.173351 59.476786,34.012373 59.546792))","code":"pikalevo","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":true,"road_network":true},"id":"213","name":"Пикалево","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((14.212066 49.954501,14.212066 50.131727,14.235063 50.175931,14.649007 50.175931,14.717998 50.161201,14.717998 49.984084,14.695001 49.939703,14.235063 49.939703,14.212066 49.954501))","code":"praha","country_code":"cz","domain":"cz","flags":{"2gis_reviews":true,"flamp":false,"gdpr":true,"metro":true,"public_transport":true,"road_network":true},"id":"92","name":"Прага","time_zone":{"name":"Europe/Prague","offset":120},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((27.550252 57.826124,27.596246 57.850607,27.895205 57.850607,27.941199 57.875073,28.14817 57.911742,28.332145 57.8873,28.424133 57.8873,28.493124 57.862842,28.493124 57.764844,28.424133 57.728026,28.171167 57.715745,28.125174 57.740303,28.056183 57.752576,27.941199 57.715745,27.872208 57.70346,27.757224 57.752576,27.71123 57.777108,27.619242 57.789369,27.550252 57.826124))","code":"pskov","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"90","name":"Псков","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((83.93858 51.094801,83.961577 51.138109,84.076561 51.152536,84.099558 51.094801,84.145552 51.123677,84.168549 51.19579,84.191546 51.210199,84.214543 51.26779,84.329527 51.282176,84.398518 51.26779,84.536499 51.339677,84.628486 51.339677,84.697477 51.411452,84.904449 51.44013,84.973439 51.511747,85.134417 51.511747,85.157414 51.497433,85.272399 51.511747,85.272399 51.540363,85.433377 51.56896,85.479371 51.626101,85.479371 51.68317,85.594355 51.711677,85.617352 51.754405,85.617352 51.797093,85.548361 51.839739,85.594355 51.882346,85.594355 51.910728,85.548361 51.910728,85.571358 51.967438,85.594355 51.981605,85.686342 52.052369,85.709339 52.094774,85.77833 52.1089,85.916311 52.123022,85.939308 52.094774,86.100286 52.080644,86.21527 52.024077,86.238267 52.038225,86.399245 52.038225,86.445239 52.080644,86.445239 52.123022,86.629214 52.1089,86.790192 52.16536,86.767195 52.207657,86.744198 52.221748,86.767195 52.235833,86.767195 52.278064,86.698205 52.320254,86.652211 52.376446,86.675208 52.474609,86.652211 52.488614,86.652211 52.516612,86.767195 52.516612,86.790192 52.558575,86.813189 52.628424,86.905177 52.628424,86.905177 52.64238,87.020161 52.656332,87.135145 52.614463,87.181139 52.586528,87.31912 52.586528,87.388111 52.516612,87.411108 52.502615,87.61808 52.460599,87.641076 52.432566,87.779058 52.488614,87.848048 52.502615,87.894042 52.530604,88.032023 52.516612,88.193001 52.418543,88.284989 52.418543,88.307986 52.432566,88.307986 52.446585,88.42297 52.446585,88.445967 52.404515,88.445967 52.334309,88.399973 52.306195,88.376976 52.207657,88.376976 52.16536,88.353979 52.1089,88.307986 52.1089,88.215998 52.052369,88.147008 52.080644,88.078017 52.038225,88.078017 51.995766,88.009026 51.953267,87.963033 51.882346,87.940036 51.868148,87.894042 51.811313,87.986029 51.754405,88.078017 51.754405,88.101014 51.711677,88.009026 51.640375,87.986029 51.56896,87.940036 51.56896,87.940036 51.483114,88.009026 51.46879,88.078017 51.46879,88.101014 51.454462,88.170004 51.354041,88.284989 51.354041,88.307986 51.339677,88.42297 51.296558,88.537954 51.310935,88.698933 51.411452,88.675936 51.526057,88.767923 51.554663,88.813917 51.554663,88.836914 51.497433,88.997892 51.397106,88.974895 51.210199,89.043886 51.152536,89.043886 51.065906,89.204864 50.964632,89.273854 50.906663,89.388839 50.834099,89.641804 50.615729,89.641804 50.586536,89.802782 50.542712,89.825779 50.542712,89.848776 50.469583,89.825779 50.425651,89.710795 50.39634,89.687798 50.381678,89.618807 50.381678,89.572814 50.440299,89.503823 50.440299,89.480826 50.35234,89.411836 50.337664,89.365842 50.264217,89.342845 50.249514,89.342845 50.190657,89.503823 50.205378,89.52682 50.161201,89.52682 50.116983,89.572814 50.087482,89.52682 50.043196,89.59581 49.984084,89.641804 49.910093,89.664801 49.910093,89.641804 49.865643,89.687798 49.791469,89.733792 49.761768,89.733792 49.717182,89.618807 49.672555,89.503823 49.65767,89.388839 49.583177,89.296851 49.583177,89.227861 49.627886,89.204864 49.612988,89.250857 49.553349,89.135873 49.478697,88.974895 49.448804,88.905904 49.493636,88.882907 49.448804,88.813917 49.433851,88.79092 49.448804,88.698933 49.448804,88.606945 49.478697,88.445967 49.463753,88.42297 49.478697,88.353979 49.463753,88.238995 49.463753,88.170004 49.388964,88.193001 49.284068,88.032023 49.209006,87.963033 49.163914,87.802055 49.163914,87.802055 49.148874,87.733064 49.163914,87.664073 49.133829,87.526092 49.11878,87.503095 49.073606,87.434105 49.058539,87.273126 49.103727,87.296123 49.11878,87.296123 49.239044,87.181139 49.254057,87.066155 49.254057,86.95117 49.314061,86.95117 49.403931,86.836186 49.448804,86.836186 49.538427,86.744198 49.568265,86.675208 49.568265,86.606217 49.583177,86.629214 49.627886,86.698205 49.687435,86.767195 49.687435,86.767195 49.791469,86.698205 49.806313,86.629214 49.806313,86.606217 49.761768,86.537227 49.717182,86.51423 49.672555,86.399245 49.598085,86.330255 49.598085,86.261264 49.583177,86.261264 49.538427,86.21527 49.478697,86.14628 49.523501,86.077289 49.523501,86.054292 49.508571,85.962305 49.493636,85.916311 49.568265,85.824324 49.553349,85.801327 49.568265,85.663345 49.568265,85.617352 49.598085,85.502367 49.598085,85.433377 49.612988,85.272399 49.598085,85.203408 49.64278,85.203408 49.732048,85.157414 49.761768,85.111421 49.835987,85.04243 49.880464,84.973439 49.954501,85.019433 49.984084,85.04243 50.028425,84.950442 50.102235,84.835458 50.102235,84.835458 50.131727,84.766468 50.146466,84.697477 50.190657,84.490505 50.220095,84.490505 50.234807,84.352524 50.220095,84.260536 50.264217,84.237539 50.513474,84.191546 50.542712,84.122555 50.615729,84.099558 50.615729,84.099558 50.644903,84.30653 50.688632,84.490505 50.688632,84.536499 50.775966,84.559496 50.790506,84.559496 50.848621,84.490505 50.848621,84.444511 50.892159,84.467508 50.964632,84.352524 50.979114,84.329527 50.99359,84.214543 50.99359,83.984574 51.065906,83.93858 51.094801))","code":"gornoaltaysk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"27","name":"Республика Алтай","time_zone":{"name":"Asia/Barnaul","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((39.347647 47.045108,39.347647 47.295248,39.485628 47.326433,39.531622 47.357599,39.600612 47.373176,39.669603 47.419877,39.784587 47.435435,39.853578 47.450988,39.853578 47.513155,39.968562 47.513155,40.037553 47.482081,40.014556 47.388747,39.968562 47.373176,39.945565 47.310843,39.991559 47.185957,39.922569 47.139049,39.922569 47.092099,39.876575 47.060777,39.76159 47.045108,39.738594 47.060777,39.347647 47.045108))","code":"rostov","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"24","name":"Ростов-на-Дону","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((81.155959 51.511747,81.178956 51.554663,81.247946 51.56896,81.29394 51.554663,81.316937 51.511747,81.29394 51.46879,81.178956 51.46879,81.155959 51.511747))","code":"rubtsovsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"143","name":"Рубцовск","time_zone":{"name":"Asia/Barnaul","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((38.680737 58.070205,38.680737 58.118823,38.795722 58.106675,38.9567 58.106675,38.979697 58.021522,38.933703 57.997155,38.864712 57.997155,38.749728 58.058041,38.680737 58.070205))","code":"rybinsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"144","name":"Рыбинск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((39.347647 54.765465,39.347647 54.77873,39.39364 54.831748,39.462631 54.897922,39.76159 54.884696,40.014556 54.884696,40.083547 54.871465,40.083547 54.525945,40.06055 54.485888,39.462631 54.485888,39.39364 54.499245,39.39364 54.71236,39.370644 54.752195,39.347647 54.765465))","code":"ryazan","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"44","name":"Рязань","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((66.460958 66.507982,66.506952 66.617744,66.598939 66.635991,66.66793 66.635991,66.759917 66.617744,66.713924 66.581211,66.782914 66.535468,66.805911 66.471287,66.66793 66.452919,66.483955 66.498813,66.460958 66.507982))","code":"salekhard","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"160","name":"Салехард","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((49.535261 52.934438,49.650245 53.031356,49.788226 53.059007,49.811223 53.155645,49.788226 53.169432,49.788226 53.307066,49.719236 53.34827,49.673242 53.430558,49.696239 53.444257,49.788226 53.608304,49.811223 53.703705,49.903211 53.703705,50.018195 53.744525,50.133179 53.744525,50.317154 53.785305,50.432139 53.758122,50.524126 53.690089,50.57012 53.649216,50.57012 53.594658,50.662107 53.512687,50.800089 53.471642,50.984064 53.457952,51.099048 53.485328,51.37501 53.512687,51.604979 53.608304,51.627976 53.621946,51.857945 53.703705,51.949932 53.730922,52.087913 53.717316,52.11091 53.676469,52.225895 53.649216,52.202898 53.635583,52.202898 53.594658,52.133907 53.581007,51.972929 53.594658,51.857945 53.581007,51.719963 53.512687,51.535989 53.361995,51.444001 53.252065,51.260026 53.252065,51.053054 53.183216,51.00706 53.155645,50.869079 53.155645,50.777092 53.183216,50.639111 53.183216,50.547123 53.141852,50.547123 53.045183,50.409142 52.906708,49.995198 52.795608,49.604251 52.837304,49.558258 52.865079,49.535261 52.934438))","code":"samara","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"18","name":"Самара","time_zone":{"name":"Europe/Samara","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((66.805911 39.633323,66.805911 39.70413,66.851905 39.757188,66.920895 39.774865,66.966889 39.739507,67.03588 39.739507,67.150864 39.686435,67.150864 39.526976,67.10487 39.526976,67.058877 39.562443,66.897899 39.58017,66.805911 39.633323))","code":"samarkand","country_code":"uz","domain":"uz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"247","name":"Самарканд","time_zone":{"name":"Asia/Samarkand","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((28.309149 60.534358,28.309149 60.556975,28.562114 60.658553,28.562114 60.714848,28.631105 60.771044,28.700095 60.81593,28.769086 60.81593,28.88407 60.782272,28.861073 60.714848,28.976058 60.647283,29.045048 60.636008,29.091042 60.613447,29.206027 60.579575,29.229023 60.534358,29.275017 60.489078,29.344008 60.477748,29.344008 60.443734,29.435995 60.398327,29.435995 60.386965,29.458992 60.386965,29.504986 60.36423,29.573976 60.36423,29.642967 60.352856,29.895933 60.295929,30.079908 60.284532,30.217889 60.307322,30.424861 60.295929,30.585839 60.318712,30.792811 60.307322,30.976786 60.318712,30.976786 60.295929,31.045776 60.216064,31.09177 60.204638,31.160761 60.055748,31.160761 60.021293,31.137764 59.894649,31.206754 59.894649,31.229751 59.860026,31.114767 59.825367,31.09177 59.732766,31.045776 59.697974,31.068773 59.546792,30.999782 59.488463,30.930792 59.488463,30.815808 59.476786,30.792811 59.488463,30.677826 59.500137,30.631833 59.476786,30.539845 59.476786,30.424861 59.488463,30.332873 59.465104,30.171895 59.476786,30.125901 59.488463,30.056911 59.476786,29.941926 59.488463,29.826942 59.476786,29.527983 59.488463,29.458992 59.511807,29.458992 59.616653,29.435995 59.628282,29.435995 59.744355,29.458992 59.75594,29.458992 59.802241,29.435995 59.802241,29.435995 59.813806,29.390001 59.825367,29.412998 59.871571,29.435995 59.883112,29.435995 59.917711,29.412998 59.929237,29.344008 59.975297,28.401136 60.284532,28.355142 60.421039,28.332145 60.500404,28.309149 60.534358))","code":"spb","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"38","name":"Санкт-Петербург","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((-70.85336 -33.64176,-70.85336 -33.354102,-70.830364 -33.296456,-70.554401 -33.296456,-70.48541 -33.315676,-70.48541 -33.603461,-70.508407 -33.660903,-70.78437 -33.660903,-70.85336 -33.64176))","code":"santiago","country_code":"cl","domain":"cl","flags":{"2gis_reviews":false,"flamp":false,"gdpr":true,"metro":true,"public_transport":true,"road_network":true},"id":"101","name":"Сантьяго","time_zone":{"name":"America/Santiago","offset":-180},"type":"region","zoom_level":{"max":19,"min":9}},{"bounds":"POLYGON((44.843899 54.298434,44.958883 54.311852,45.119861 54.298434,45.487811 54.298434,45.533805 54.271585,45.510808 54.204386,45.510808 54.110123,45.694783 54.015646,45.786771 54.015646,45.809768 53.988613,45.786771 53.961562,45.71778 53.94803,45.648789 53.961562,45.533805 53.961562,45.464815 53.97509,45.28084 53.94803,45.28084 53.934494,45.257843 53.934494,45.211849 53.961562,45.050871 53.961562,44.935886 53.97509,44.866896 53.988613,44.866896 54.231279,44.843899 54.298434))","code":"saransk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"85","name":"Саранск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((45.303836 51.497433,45.326833 51.540363,45.487811 51.526057,45.556802 51.540363,45.556802 51.597539,45.533805 51.611822,45.510808 51.697426,45.579799 51.711677,45.671786 51.768639,45.740777 51.768639,45.809768 51.725925,46.016739 51.725925,46.08573 51.754405,46.08573 51.797093,46.200714 51.839739,46.407686 51.825528,46.430683 51.811313,46.407686 51.725925,46.522671 51.697426,46.568664 51.668909,46.522671 51.640375,46.499674 51.583252,46.407686 51.554663,46.361692 51.425793,46.361692 51.354041,46.338696 51.282176,46.223711 51.19579,46.108727 51.210199,45.947749 51.224603,45.648789 51.19579,45.556802 51.224603,45.487811 51.210199,45.372827 51.224603,45.34983 51.354041,45.372827 51.425793,45.326833 51.454462,45.303836 51.497433))","code":"saratov","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"43","name":"Саратов","time_zone":{"name":"Europe/Saratov","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((77.292484 56.351948,77.292484 56.390156,77.361475 56.402883,77.476459 56.466457,77.591444 56.50455,77.591444 56.567953,77.706428 56.567953,77.752422 56.542605,77.798416 56.567953,77.798416 56.65654,77.867406 56.669178,77.844409 56.757527,77.936397 56.807919,77.98239 56.782732,78.005387 56.744919,78.074378 56.732306,78.120372 56.770132,78.120372 56.870815,78.28135 56.908501,78.28135 56.946149,78.327344 56.95869,78.442328 57.108853,79.08624 57.021332,79.3852 56.95869,79.546178 56.933604,79.592171 56.933604,79.592171 56.921055,79.75315 56.795328,79.960121 56.65654,80.259081 56.428326,80.535043 56.453751,80.535043 56.44104,80.489049 56.402883,80.374065 56.313702,80.259081 56.326455,79.75315 56.044904,79.684159 56.032057,79.638165 56.109074,79.523181 56.109074,79.408197 56.070585,79.362203 56.121896,79.293212 56.109074,79.109237 56.006351,79.109237 55.916243,79.01725 55.916243,78.994253 55.877561,78.971256 55.813005,78.925262 55.787153,78.902265 55.748342,78.833275 55.748342,78.810278 55.787153,78.695293 55.800081,78.626303 55.825925,78.511319 55.813005,78.488322 55.825925,78.488322 55.890459,78.35034 55.890459,78.212359 55.864658,78.097375 55.864658,78.028384 55.877561,78.028384 55.916243,78.212359 55.967759,78.258353 55.967759,78.258353 55.993491,78.212359 56.019206,78.212359 56.057747,78.235356 56.121896,78.166365 56.185938,77.936397 56.185938,77.867406 56.173138,77.798416 56.173138,77.729425 56.147525,77.660434 56.160334,77.637437 56.198733,77.706428 56.262647,77.706428 56.275417,77.660434 56.313702,77.568447 56.326455,77.430466 56.300945,77.315481 56.313702,77.292484 56.351948))","code":"severnoe","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":false,"road_network":true,"truck_graph":true},"id":"188","name":"Северное","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((76.579581 49.418893,76.602578 49.463753,76.717563 49.493636,76.832547 49.508571,77.039519 49.553349,77.154503 49.65767,77.1775 49.702311,77.154503 49.835987,77.154503 49.9249,77.223494 49.939703,77.269487 49.969295,77.407469 50.013649,77.499456 50.057963,77.568447 50.102235,77.683431 50.146466,77.706428 50.220095,77.798416 50.220095,77.890403 50.161201,78.327344 50.057963,78.442328 50.043196,78.511319 50.057963,78.626303 50.102235,78.787281 50.308299,78.764284 50.381678,78.764284 50.440299,78.672297 50.469583,78.672297 50.601134,78.695293 50.615729,78.695293 50.644903,78.672297 50.688632,78.534315 50.688632,78.465325 50.717761,78.465325 50.834099,78.419331 50.834099,78.35034 50.877651,78.28135 50.877651,78.189362 51.02253,78.143369 51.02253,78.120372 51.065906,78.097375 51.080355,78.120372 51.094801,78.120372 51.152536,78.258353 51.19579,78.304347 51.224603,78.511319 51.224603,78.672297 51.296558,78.787281 51.310935,78.787281 51.354041,78.741287 51.411452,78.787281 51.454462,78.971256 51.454462,79.08624 51.511747,79.08624 51.597539,79.224222 51.626101,79.247218 51.68317,79.270215 51.697426,79.339206 51.711677,79.500184 51.497433,79.845137 51.051452,79.868134 51.008062,80.006115 50.834099,80.029112 50.790506,80.075106 50.775966,80.075106 50.834099,80.167093 50.834099,80.213087 50.906663,80.328071 50.921162,80.397062 50.935657,80.489049 51.008062,80.489049 51.109241,80.443056 51.138109,80.443056 51.19579,80.512046 51.210199,80.604034 51.210199,80.650028 51.296558,80.788009 51.296558,80.902993 51.26779,80.948987 51.224603,80.971984 51.210199,81.040974 51.19579,81.063971 51.181376,81.132962 51.19579,81.178956 51.166958,81.155959 51.080355,81.086968 51.036993,81.086968 50.950147,81.201952 50.950147,81.339934 50.979114,81.408924 50.964632,81.454918 50.848621,81.477915 50.834099,81.454918 50.775966,81.523909 50.746873,81.592899 50.746873,81.615896 50.688632,81.638893 50.688632,81.66189 50.615729,81.66189 50.557325,81.707884 50.528096,81.684887 50.39634,81.684887 50.308299,81.615896 50.29361,81.500912 50.308299,81.477915 50.322984,81.385927 50.322984,81.362931 50.278916,81.362931 50.234807,81.201952 50.249514,81.109965 50.220095,81.109965 50.175931,81.224949 50.131727,81.362931 50.131727,81.339934 49.969295,81.477915 49.954501,81.569902 49.895281,81.684887 49.865643,81.707884 49.821152,81.684887 49.776621,81.638893 49.74691,81.66189 49.732048,81.730881 49.732048,81.822868 49.627886,81.868862 49.612988,82.052837 49.523501,82.075834 49.433851,82.167821 49.388964,82.305802 49.388964,82.39779 49.329051,82.535771 49.329051,82.604762 49.269065,82.627758 49.224027,82.673752 49.19398,82.696749 49.088669,82.719746 49.013309,82.811733 48.968039,82.903721 48.968039,82.926718 48.922727,82.903721 48.877375,82.83473 48.831981,82.83473 48.756233,82.880724 48.756233,82.880724 48.81684,82.949715 48.801695,82.949715 48.756233,83.156687 48.756233,83.179683 48.710729,83.156687 48.680371,83.179683 48.665185,83.225677 48.589185,83.340661 48.54353,83.409652 48.528303,83.455646 48.452097,83.616624 48.406319,83.616624 48.360499,83.50164 48.284042,83.50164 48.253426,82.995708 47.961667,82.995708 47.807444,82.972712 47.791997,83.018705 47.699215,83.13369 47.637269,83.156687 47.62177,83.156687 47.544211,83.225677 47.466537,83.179683 47.295248,83.156687 47.217206,83.064699 47.217206,83.041702 47.170326,83.041702 47.123404,82.972712 47.013758,82.949715 46.966698,82.880724 46.762292,82.83473 46.730776,82.76574 46.541292,82.604762 46.27172,82.535771 46.160333,82.489777 45.984839,82.420787 45.952871,82.351796 45.904885,82.374793 45.808787,82.305802 45.696464,82.305802 45.632177,82.282805 45.583914,82.259809 45.583914,82.144824 45.696464,82.121827 45.712524,82.052837 45.824815,81.983846 45.88888,81.960849 45.904885,81.868862 46.112526,81.753877 46.160333,81.684887 46.239918,81.569902 46.319388,81.523909 46.398743,81.546906 46.493817,81.477915 46.557107,81.385927 46.541292,81.247946 46.493817,81.155959 46.557107,80.856999 46.572919,80.650028 46.636117,80.443056 46.715011,80.420059 46.730776,80.374065 46.730776,80.305074 46.778043,80.213087 46.79379,80.19009 46.872453,80.1211 46.888172,80.098103 46.903887,79.868134 46.888172,79.707156 46.919596,79.270215 47.07644,79.040247 47.060777,78.833275 47.045108,78.741287 47.139049,78.672297 47.139049,78.603306 47.185957,78.465325 47.232824,78.327344 47.310843,78.258353 47.295248,78.189362 47.217206,78.120372 47.217206,78.074378 47.248437,78.005387 47.264045,77.890403 47.185957,77.798416 47.185957,77.614441 47.217206,77.476459 47.15469,77.269487 47.170326,77.200497 47.139049,77.200497 47.092099,77.131506 47.07644,76.947531 47.15469,76.832547 47.217206,76.832547 47.264045,76.878541 47.373176,76.901538 47.419877,77.039519 47.419877,77.039519 47.450988,76.993525 47.683735,77.039519 47.838326,77.131506 47.869189,77.131506 47.915449,77.1775 47.946266,77.200497 48.038607,77.315481 48.053981,77.315481 48.100075,77.246491 48.115431,77.154503 48.115431,77.062516 48.161471,77.062516 48.222793,77.131506 48.238112,77.131506 48.284042,77.016522 48.284042,76.924534 48.345217,76.855544 48.360499,76.855544 48.39105,76.878541 48.406319,76.901538 48.452097,76.947531 48.497834,77.154503 48.497834,77.292484 48.619599,77.315481 48.665185,77.315481 48.801695,77.292484 48.847117,77.154503 48.847117,76.878541 48.81684,76.855544 48.847117,76.832547 48.983134,76.878541 49.02839,76.993525 49.02839,76.993525 49.073606,76.924534 49.133829,76.855544 49.133829,76.80955 49.224027,76.602578 49.329051,76.579581 49.418893),(83.156687 48.680371,83.087696 48.710729,83.041702 48.710729,83.041702 48.634798,83.110693 48.619599,83.156687 48.680371))","code":"semey","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"169","name":"Семей","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((28.033186 59.053688,28.033186 59.136369,28.102177 59.148164,28.217161 59.136369,28.240158 59.112766,28.194164 59.065512,28.033186 59.053688))","code":"slantsy","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":true,"road_network":true},"id":"215","name":"Сланцы","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((31.758679 54.738921,31.758679 54.805248,31.804673 54.884696,31.988648 54.884696,32.057639 54.897922,32.172623 54.937574,32.241614 54.897922,32.26461 54.831748,32.26461 54.752195,32.172623 54.699073,32.057639 54.685782,31.804673 54.685782,31.758679 54.738921))","code":"smolensk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"63","name":"Смоленск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((38.496763 44.13321,38.496763 44.149714,38.611747 44.330943,38.634744 44.380272,38.680737 44.44598,38.680737 44.495212,38.795722 44.495212,38.818719 44.511614,38.9567 44.478806,38.9567 44.413135,39.025691 44.396706,39.094681 44.44598,39.255659 44.44598,39.278656 44.42956,39.278656 44.347391,39.255659 44.265106,39.416637 44.116703,39.439634 44.116703,39.715597 43.967926,39.76159 43.934814,39.968562 43.934814,40.037553 43.885111,40.106544 43.868534,40.175534 43.868534,40.221528 43.78558,40.290518 43.768976,40.359509 43.768976,40.451497 43.702512,40.474493 43.652615,40.612475 43.586022,40.658468 43.552697,40.658468 43.536028,40.566481 43.502676,40.49749 43.502676,40.451497 43.536028,40.290518 43.552697,40.290518 43.569362,40.12954 43.552697,40.037553 43.419216,40.014556 43.33564,39.991559 43.318911,39.899572 43.21844,39.830581 43.21844,39.6926 43.268696,39.623609 43.352364,39.508625 43.419216,39.485628 43.435917,39.232662 43.652615,39.163672 43.735753,39.094681 43.752367,39.025691 43.835366,38.9567 43.851952,38.726731 44.01756,38.657741 44.050626,38.565753 44.116703,38.496763 44.13321))","code":"sochi","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"30","name":"Сочи","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((41.670331 44.952712,41.693328 45.066521,41.670331 45.066521,41.670331 45.180105,41.716324 45.244908,41.808312 45.261097,41.900299 45.228714,41.96929 45.244908,41.992287 45.261097,42.153265 45.277282,42.222256 45.244908,42.33724 45.180105,42.360237 45.098997,42.291246 44.985252,42.130268 44.936435,42.084274 44.903867,41.693328 44.903867,41.670331 44.952712))","code":"stavropol","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"57","name":"Ставрополь","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((37.714869 51.26779,37.714869 51.310935,37.737866 51.325308,37.714869 51.3684,37.737866 51.411452,37.944838 51.425793,38.059822 51.3684,38.082819 51.354041,38.082819 51.339677,38.036825 51.310935,38.059822 51.210199,38.036825 51.19579,37.990831 51.109241,37.898844 51.109241,37.829853 51.19579,37.714869 51.26779))","code":"staroskol","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"60","name":"Старый Оскол","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((55.721419 53.444257,55.721419 53.49901,55.79041 53.553692,55.813407 53.567352,55.813407 53.676469,55.951388 53.758122,55.974385 53.744525,56.066372 53.744525,56.135363 53.717316,56.15836 53.581007,56.135363 53.567352,56.135363 53.34827,56.112366 53.307066,55.905394 53.307066,55.836403 53.334539,55.767413 53.416854,55.721419 53.444257))","code":"sterlitamak","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"54","name":"Стерлитамак","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((72.394151 61.19493,72.394151 61.39375,73.612985 61.404759,73.79696 61.415764,73.773963 61.360701,73.79696 61.261343,73.79696 61.028282,73.773963 60.994847,73.383016 60.994847,72.946076 60.983694,72.417148 60.983694,72.417148 61.005996,72.394151 61.19493))","code":"surgut","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"39","name":"Сургут","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((50.156176 61.591314,50.20217 61.65689,50.271161 61.70053,50.294157 61.711431,50.294157 61.787626,50.386145 61.798496,50.409142 61.809361,50.478132 61.971888,50.524126 62.00429,50.616114 62.00429,50.708101 61.96108,50.800089 61.96108,50.961067 61.950267,51.030057 61.939452,51.053054 61.89615,51.283023 61.874476,51.30602 61.831082,51.329017 61.820223,51.444001 61.809361,51.444001 61.754994,51.37501 61.678718,51.30602 61.689626,51.237029 61.667806,51.237029 61.624119,51.191035 61.580371,51.122045 61.591314,51.053054 61.580371,51.00706 61.525599,50.93807 61.525599,50.754095 61.547519,50.593117 61.514633,50.432139 61.514633,50.317154 61.569424,50.225167 61.569424,50.156176 61.591314))","code":"syktyvkar","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"72","name":"Сыктывкар","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((32.471582 60.136003,32.471582 60.170339,32.540573 60.170339,32.609563 60.158898,32.609563 60.12455,32.540573 60.12455,32.471582 60.136003))","code":"syasstroy","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":false,"road_network":true},"id":"214","name":"Сясьстрой","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((34.426316 27.936419,34.47231 28.037956,34.449313 28.058252,34.47231 28.159674,34.449313 28.220481,34.518304 28.220481,34.518304 28.301504,34.541301 28.32175,34.656285 28.544201,34.656285 28.645161,34.702279 28.806494,34.702279 28.887067,34.748272 28.967577,34.748272 29.10832,34.771269 29.10832,34.84026 29.369189,34.932247 29.389229,34.955244 29.369189,35.047232 29.369189,35.277201 29.329099,35.323194 29.309048,35.507169 29.288993,35.737138 29.248871,35.852122 29.248871,35.990104 29.208733,36.082091 29.208733,36.128085 29.248871,36.473038 29.509381,36.703007 29.849039,36.726003 29.868984,36.863985 29.90886,37.024963 29.928792,37.461903 30.008481,37.507897 29.928792,37.576888 29.90886,37.645878 29.849039,37.714869 29.829091,37.714869 29.689343,37.737866 29.669363,37.714869 29.629392,37.737866 29.569404,37.944838 29.549401,37.990831 29.589404,38.036825 29.589404,38.197803 29.529393,38.197803 29.509381,38.312788 29.369189,38.312788 29.288993,38.2208 29.208733,38.197803 29.148497,38.197803 29.027919,38.266794 29.007809,38.335784 29.007809,38.404775 29.10832,38.404775 29.208733,38.473766 29.208733,38.542756 29.288993,38.565753 29.309048,38.634744 29.309048,38.680737 29.268934,38.749728 29.268934,38.772725 29.208733,38.772725 28.947456,38.910706 28.9072,39.002694 28.806494,39.025691 28.685517,39.048687 28.624977,39.186669 28.624977,39.209666 28.564401,39.209666 28.382465,39.186669 28.32175,39.140675 28.281254,39.140675 28.240743,39.186669 28.240743,39.186669 28.220481,39.232662 28.220481,39.255659 28.200216,39.39364 28.139397,39.39364 28.058252,39.301653 28.017656,39.209666 28.017656,39.255659 27.977045,39.531622 27.977045,39.623609 27.895777,39.738594 27.834786,39.830581 27.753411,39.922569 27.610859,39.922569 27.447715,39.945565 27.427305,39.922569 27.325198,39.991559 27.263889,40.037553 27.141169,40.014556 27.120702,39.922569 27.141169,39.853578 27.202545,39.76159 27.202545,39.738594 27.120702,39.807584 27.079758,39.830581 27.05928,39.807584 27.038799,39.669603 27.038799,39.600612 26.936336,39.531622 26.792731,39.531622 26.772201,39.278656 26.751668,39.163672 26.792731,38.9567 26.792731,38.933703 26.813257,38.864712 26.83378,38.841716 26.813257,38.726731 26.792731,38.703734 26.813257,38.473766 26.854298,38.450769 26.956836,38.312788 27.018314,38.289791 27.079758,38.128813 27.18209,38.105816 27.18209,38.059822 27.141169,37.967834 27.141169,37.944838 27.406891,37.898844 27.447715,37.737866 27.427305,37.691872 27.468121,37.438906 27.447715,37.41591 27.406891,37.323922 27.406891,37.254931 27.468121,37.04796 27.468121,36.932975 27.447715,36.932975 27.406891,36.817991 27.386473,36.794994 27.325198,36.749 27.325198,36.68001 27.304765,36.726003 27.263889,36.726003 27.202545,36.863985 27.079758,36.932975 27.05928,36.932975 26.956836,36.955972 26.854298,37.04796 26.83378,37.11695 26.73113,37.093953 26.587266,37.11695 26.525554,37.208938 26.44322,37.185941 26.381431,37.208938 26.319609,37.323922 26.319609,37.323922 26.257754,37.438906 26.092645,37.507897 26.07199,37.553891 25.947984,37.530894 25.885932,37.599885 25.803145,37.760863 25.782439,37.829853 25.741017,37.829853 25.658129,37.714869 25.595925,37.714869 25.554438,37.737866 25.533689,37.78386 25.42989,37.78386 25.263626,37.85285 25.180408,37.829853 25.076306,37.898844 25.013802,37.921841 24.930414,38.036825 24.867836,38.036825 24.805227,37.921841 24.805227,37.806856 24.78435,37.806856 24.679912,37.576888 24.679912,37.507897 24.700807,37.461903 24.659015,37.070956 24.219352,37.070956 24.198378,36.978969 24.219352,36.909978 24.366077,36.749 24.84697,36.726003 24.867836,36.634016 25.117957,36.450041 25.284421,36.266066 25.533689,36.243069 25.595925,36.243069 25.69958,36.289063 25.823847,36.266066 25.968661,36.128085 26.092645,36.036097 26.257754,35.898116 26.381431,35.829125 26.484394,35.806129 26.504976,35.599157 26.813257,35.530166 26.936336,35.507169 27.018314,35.346191 27.243445,35.323194 27.263889,35.323194 27.304765,35.254204 27.366052,35.254204 27.386473,35.300197 27.427305,35.323194 27.427305,35.622154 27.549708,35.64515 27.733058,35.507169 28.098832,35.369188 28.159674,35.323194 28.159674,35.116222 28.179947,35.047232 28.179947,34.932247 28.098832,34.702279 27.733058,34.679282 27.671976,34.518304 27.69234,34.449313 27.794106,34.449313 27.87545,34.426316 27.936419))","code":"tabuk","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"224","name":"Табук","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((38.795722 47.217206,38.818719 47.279649,38.9567 47.279649,38.979697 47.201584,38.9567 47.185957,38.864712 47.185957,38.795722 47.217206))","code":"taganrog","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"116","name":"Таганрог","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((41.23339 52.795608,41.256387 52.837304,41.417365 52.837304,41.509353 52.878959,41.555346 52.823409,41.624337 52.823409,41.647334 52.7817,41.624337 52.767788,41.60134 52.698162,41.624337 52.600498,41.578343 52.558575,41.325378 52.572554,41.256387 52.586528,41.256387 52.7817,41.23339 52.795608))","code":"tambov","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"81","name":"Тамбов","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((71.244307 42.781152,71.244307 42.949708,71.313298 42.966538,71.451279 42.966538,71.474276 42.916033,71.497273 42.899189,71.474276 42.8149,71.359292 42.8149,71.313298 42.781152,71.244307 42.781152))","code":"taraz","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true},"id":"221","name":"Тараз","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((75.107782 55.371178,75.130778 55.410363,75.176772 55.423416,75.153775 55.462549,75.291757 55.501644,75.291757 55.540699,75.406741 55.553709,75.429738 55.540699,75.521725 55.501644,75.567719 55.501644,75.567719 55.436465,75.544722 55.423416,75.613713 55.397306,75.659706 55.423416,75.682703 55.462549,75.820685 55.488617,75.889675 55.527685,75.912672 55.527685,76.027656 55.488617,76.119644 55.488617,76.142641 55.514667,76.280622 55.514667,76.303619 55.553709,76.395606 55.553709,76.418603 55.514667,76.395606 55.475585,76.395606 55.436465,76.326616 55.410363,76.234628 55.410363,76.211631 55.371178,76.372609 55.279595,76.372609 55.200927,76.326616 55.200927,76.326616 55.135251,76.464597 55.082633,76.464597 55.056298,76.418603 55.043123,76.326616 55.003575,76.280622 54.977188,76.188635 54.937574,76.211631 54.85823,76.096647 54.791991,76.027656 54.791991,75.866678 54.765465,75.751694 54.725643,75.751694 54.685782,75.7057 54.659186,75.659706 54.685782,75.659706 54.738921,75.590716 54.805248,75.498728 54.805248,75.475732 54.871465,75.475732 54.897922,75.406741 54.884696,75.33775 54.884696,75.314753 54.911144,75.383744 55.003575,75.314753 55.069467,75.291757 55.082633,75.26876 55.122103,75.245763 55.135251,75.26876 55.1878,75.245763 55.200927,75.245763 55.24028,75.199769 55.25339,75.176772 55.318871,75.107782 55.371178))","code":"tatarsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true,"truck_graph":true},"id":"189","name":"Татарск","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((69.128595 41.226176,69.151592 41.3126,69.174589 41.329871,69.197586 41.381657,69.266576 41.39891,69.289573 41.450641,69.427554 41.485105,69.427554 41.553979,69.542539 41.571186,69.611529 41.657152,69.749511 41.691506,69.772507 41.708677,69.933486 41.708677,69.979479 41.777312,70.071467 41.794459,70.071467 41.82874,70.140457 41.845874,70.324432 41.982778,70.324432 42.034041,70.439417 42.085263,70.531404 42.085263,70.577398 42.016958,70.646389 42.016958,70.646389 42.034041,70.669385 42.034041,70.761373 41.965681,70.761373 41.931473,70.646389 41.880127,70.646389 41.863003,70.347429 41.639968,70.209448 41.605586,70.186451 41.553979,70.163454 41.553979,70.002476 41.450641,69.933486 41.39891,69.703517 41.39891,69.542539 41.364399,69.519542 41.347138,69.31257 41.174266,69.220583 41.174266,69.128595 41.226176))","code":"tashkent","country_code":"uz","domain":"uz","flags":{"2gis_reviews":true,"flamp":false,"metro":true,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"208","name":"Ташкент","time_zone":{"name":"Asia/Tashkent","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((35.530166 56.870815,35.530166 56.908501,35.553163 56.971227,35.691144 57.008812,35.737138 57.008812,35.806129 57.046359,35.898116 57.046359,36.31206 56.971227,36.358053 56.895943,36.335057 56.807919,36.335057 56.732306,36.266066 56.681812,36.082091 56.681812,35.829125 56.669178,35.622154 56.681812,35.553163 56.707067,35.57616 56.845669,35.530166 56.870815))","code":"tver","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"47","name":"Тверь","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((68.024745 57.899523,68.116733 57.923956,68.047742 57.972772,68.024745 57.984966,68.024745 58.324707,68.093736 58.336781,68.254714 58.348851,68.277711 58.336781,68.346701 58.360916,68.346701 58.397088,68.323705 58.433222,68.369698 58.457292,68.415692 58.517392,68.484683 58.50538,68.599667 58.50538,68.622664 58.517392,68.691654 58.50538,68.691654 58.46932,68.622664 58.433222,68.622664 58.143106,68.645661 58.082366,68.714651 58.082366,68.783642 58.009341,68.829636 58.009341,68.875629 58.033699,68.94462 58.021522,69.013611 57.960574,69.105598 57.911742,69.082601 57.875073,68.323705 57.838368,68.300708 57.850607,68.093736 57.862842,68.024745 57.899523))","code":"tobolsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"97","name":"Тобольск","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((47.948477 53.361995,48.017467 53.403146,48.040464 53.471642,48.132452 53.485328,48.339423 53.471642,48.408414 53.567352,48.339423 53.608304,48.36242 53.649216,48.454408 53.649216,48.523398 53.662845,48.477405 53.744525,48.546395 53.758122,48.66138 53.717316,48.73037 53.730922,48.799361 53.717316,48.914345 53.703705,48.983336 53.717316,49.006333 53.866747,49.213305 53.866747,49.259298 53.839617,49.328289 53.853184,49.351286 53.866747,49.581254 53.839617,49.604251 53.826046,49.627248 53.839617,49.719236 53.839617,49.788226 53.880305,49.811223 53.880305,49.857217 53.826046,49.857217 53.785305,49.811223 53.703705,49.788226 53.608304,49.696239 53.444257,49.673242 53.430558,49.719236 53.34827,49.788226 53.307066,49.788226 53.169432,49.811223 53.155645,49.788226 53.059007,49.650245 53.031356,49.581254 53.045183,49.46627 53.045183,49.397279 53.017524,49.351286 52.989846,49.190308 53.003687,49.190308 52.948297,49.006333 52.892836,48.960339 52.892836,48.937342 52.934438,48.822358 52.948297,48.753367 52.962151,48.73037 52.976001,48.523398 52.989846,48.523398 52.948297,48.408414 52.962151,48.339423 52.989846,48.339423 53.059007,48.29343 53.059007,48.224439 53.031356,48.155448 53.045183,48.178445 53.141852,48.109455 53.183216,48.155448 53.238304,48.040464 53.279574,48.040464 53.307066,47.971473 53.320805,47.948477 53.361995))","code":"togliatti","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"22","name":"Тольятти","time_zone":{"name":"Europe/Samara","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((83.225677 55.748342,83.294668 55.813005,83.478643 55.916243,83.86959 56.185938,83.754605 56.567953,83.961577 56.681812,84.398518 56.744919,84.421514 56.782732,84.421514 56.83309,84.444511 56.921055,84.697477 56.908501,85.226405 56.883381,85.77833 56.98376,85.893314 57.046359,86.14628 57.158773,86.21527 57.158773,86.284261 57.096363,86.353252 56.98376,86.468236 56.946149,86.468236 56.908501,86.58322 56.883381,86.606217 56.845669,86.721202 56.858244,86.767195 56.820507,86.767195 56.782732,86.652211 56.782732,86.192274 56.845669,86.14628 56.757527,86.14628 56.643897,86.238267 56.643897,86.238267 56.631251,86.192274 56.605944,86.192274 56.567953,86.123283 56.555281,86.123283 56.517239,86.100286 56.479159,86.008299 56.479159,85.962305 56.428326,85.893314 56.428326,85.824324 56.415607,85.77833 56.339204,85.709339 56.339204,85.594355 56.300945,85.594355 56.249873,85.663345 56.237095,85.640349 56.211525,85.525364 56.211525,85.41038 56.198733,85.318392 56.224312,85.249402 56.224312,85.203408 56.198733,85.134417 56.198733,85.065427 56.134713,84.996436 56.121896,84.950442 56.147525,84.858455 56.147525,84.536499 56.070585,84.467508 56.044904,84.398518 56.032057,84.375521 55.993491,84.329527 55.993491,84.237539 56.044904,84.168549 56.044904,84.145552 56.032057,83.984574 56.019206,83.915583 55.980627,83.754605 55.83884,83.731608 55.787153,83.662618 55.77422,83.662618 55.735397,83.616624 55.696535,83.593627 55.683572,83.409652 55.709493,83.248674 55.709493,83.225677 55.748342))","code":"tomsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"3","name":"Томск","time_zone":{"name":"Asia/Tomsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((37.392913 54.244719,37.41591 54.311852,37.507897 54.311852,37.576888 54.325266,37.691872 54.311852,37.714869 54.325266,37.898844 54.311852,38.013828 54.35208,38.174806 54.35208,38.197803 54.36548,38.312788 54.35208,38.312788 54.325266,38.358781 54.325266,38.450769 54.244719,38.473766 54.204386,38.496763 54.204386,38.519759 54.137078,38.58875 54.123603,38.58875 54.002132,38.611747 53.988613,38.519759 53.893859,38.427772 53.826046,38.335784 53.826046,38.197803 53.866747,38.197803 53.893859,37.990831 53.907408,37.599885 53.907408,37.438906 53.893859,37.41591 54.015646,37.41591 54.204386,37.392913 54.244719))","code":"tula","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"36","name":"Тула","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((68.13973 43.235197,68.13973 43.302177,68.185723 43.352364,68.277711 43.352364,68.346701 43.385799,68.438689 43.536028,68.599667 43.552697,68.622664 43.502676,68.599667 43.452614,68.599667 43.318911,68.50768 43.285439,68.277711 43.21844,68.13973 43.235197))","code":"turkestan","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"232","name":"Туркестан","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((64.851177 57.295705,64.874174 57.38258,64.874174 57.45688,64.897171 57.45688,64.966161 57.444507,65.127139 57.407363,65.127139 57.38258,65.219127 57.38258,65.288118 57.345373,65.56408 57.295705,65.771052 57.308129,65.771052 57.345373,65.93203 57.345373,65.955027 57.295705,66.116005 57.258411,66.139002 57.245971,66.253986 57.258411,66.36897 57.245971,66.460958 57.245971,66.483955 57.283278,66.598939 57.295705,66.644933 57.357779,66.805911 57.357779,66.943892 57.38258,67.081874 57.50633,67.173861 57.568048,67.242852 57.543373,67.242852 57.50633,67.265848 57.481613,67.288845 57.419749,67.03588 57.158773,67.03588 56.946149,66.920895 56.757527,66.644933 56.707067,66.621936 56.593285,66.621936 56.415607,66.552945 56.402883,65.840042 56.415607,65.633071 56.415607,65.426099 56.428326,65.334111 56.402883,65.265121 56.415607,65.19613 56.453751,65.219127 56.491856,65.219127 56.580621,65.242124 56.845669,65.242124 56.895943,65.081146 56.895943,65.058149 56.933604,65.012155 57.021332,64.966161 57.171243,64.989158 57.208625,64.989158 57.221078,64.897171 57.295705,64.851177 57.295705))","code":"tyumen","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"13","name":"Тюмень","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((78.902265 55.292691,78.925262 55.305783,78.994253 55.305783,78.971256 55.397306,79.01725 55.475585,79.08624 55.514667,79.155231 55.475585,79.270215 55.475585,79.316209 55.527685,79.3852 55.540699,79.500184 55.618695,79.523181 55.657634,79.615168 55.670605,79.615168 55.709493,79.730153 55.748342,79.730153 55.787153,79.684159 55.813005,79.707156 55.954886,79.684159 55.967759,79.684159 56.032057,79.75315 56.044904,80.259081 56.326455,80.374065 56.313702,80.489049 56.402883,80.535043 56.44104,80.535043 56.453751,80.834003 56.491856,80.994981 56.517239,81.155959 56.529924,81.247946 56.529924,81.316937 56.466457,81.477915 56.326455,81.546906 56.237095,81.592899 56.237095,81.615896 56.198733,81.776874 56.006351,81.776874 55.967759,81.29394 55.813005,81.063971 55.735397,81.063971 55.644659,80.856999 55.605706,80.742015 55.618695,80.650028 55.592713,80.489049 55.553709,80.374065 55.540699,80.328071 55.566715,80.213087 55.566715,80.006115 55.371178,80.006115 55.331954,79.868134 55.292691,79.868134 55.214049,79.82214 55.135251,79.845137 55.122103,79.914128 55.122103,79.914128 55.082633,79.82214 55.016762,79.730153 55.003575,79.569175 54.990384,79.569175 54.950783,79.592171 54.937574,79.569175 54.85823,79.546178 54.831748,79.431193 54.805248,79.293212 54.805248,79.270215 54.844991,79.178228 54.871465,79.178228 54.924361,78.994253 55.003575,78.994253 55.043123,78.971256 55.108951,78.925262 55.135251,78.948259 55.24028,78.925262 55.25339,78.902265 55.292691))","code":"ubinskoe","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false,"truck_graph":true},"id":"190","name":"Убинское","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((100.634309 51.711677,100.680302 51.768639,100.910271 51.768639,101.14024 51.797093,101.163237 51.782868,101.232227 51.768639,101.393205 51.797093,101.50819 51.797093,101.669168 51.839739,101.922133 51.853946,101.968127 51.882346,102.152102 51.939092,102.175099 51.953267,102.405068 51.981605,102.566046 51.924912,102.635036 51.882346,102.796015 51.896539,102.819011 51.939092,102.819011 51.967438,102.910999 51.910728,103.071977 51.896539,103.094974 51.853946,103.209958 51.825528,103.232955 51.811313,103.531914 51.725925,103.646899 51.740167,103.623902 51.668909,103.600905 51.654644,103.600905 51.597539,103.715889 51.583252,103.876868 51.56896,103.899864 51.554663,104.129833 51.483114,104.244817 51.46879,104.52078 51.44013,104.612767 51.425793,104.635764 51.46879,104.589771 51.611822,104.635764 51.640375,104.796742 51.654644,105.095702 51.697426,105.118699 51.711677,105.279677 51.740167,105.302674 51.754405,105.371664 51.768639,105.578636 51.839739,105.831602 51.995766,105.946586 52.137139,105.969583 52.137139,105.969583 52.16536,105.99258 52.179463,106.176555 52.362405,106.521508 52.502615,107.004442 52.712096,107.418386 52.934438,108.016304 53.238304,108.085295 53.320805,108.085295 53.361995,108.154286 53.457952,108.292267 53.676469,108.384254 53.758122,108.453245 53.853184,108.545232 53.920953,108.568229 53.94803,108.683214 54.042661,108.844192 54.190933,108.844192 54.204386,108.867189 54.204386,108.890185 54.231279,108.959176 54.271585,108.982173 54.258154,109.212142 54.217835,109.235139 54.204386,109.281132 54.204386,109.304129 54.190933,109.534098 54.150548,109.580092 54.110123,109.603088 54.069659,109.626085 54.056163,109.902048 54.015646,110.10902 53.94803,110.201007 53.934494,110.224004 53.893859,110.155013 53.853184,110.063026 53.839617,109.994035 53.771716,109.833057 53.676469,109.787063 53.608304,109.718073 53.581007,109.695076 53.567352,109.672079 53.457952,109.580092 53.403146,109.580092 53.334539,109.235139 52.906708,109.189145 52.865079,109.07416 52.851193,108.913182 52.7817,108.913182 52.753872,108.890185 52.753872,108.821195 52.656332,108.752204 52.614463,108.729207 52.544592,108.706211 52.502615,108.614223 52.502615,108.453245 52.390483,108.453245 52.362405,108.430248 52.348359,108.361257 52.263992,108.338261 52.249915,108.315264 52.193563,108.246273 52.179463,108.200279 52.137139,108.177282 52.052369,108.154286 52.038225,108.131289 51.939092,108.177282 51.896539,108.154286 51.853946,108.085295 51.811313,108.039301 51.711677,108.016304 51.668909,107.993308 51.654644,107.947314 51.583252,107.832329 51.56896,107.809333 51.583252,107.809333 51.597539,107.694348 51.611822,107.602361 51.56896,107.556367 51.540363,107.556367 51.497433,107.464379 51.454462,107.349395 51.454462,107.234411 51.3684,107.234411 51.282176,107.188417 51.166958,107.119426 51.080355,107.09643 50.950147,107.119426 50.863138,107.09643 50.819572,107.142423 50.761422,107.142423 50.615729,107.119426 50.586536,106.981445 50.586536,106.958448 50.542712,106.935451 50.469583,106.912455 50.454943,106.889458 50.410998,106.958448 50.337664,107.004442 50.249514,106.958448 50.220095,106.889458 50.234807,106.843464 50.264217,106.72848 50.308299,106.567501 50.322984,106.291539 50.29361,106.199552 50.308299,106.176555 50.322984,106.084567 50.322984,106.015577 50.39634,105.99258 50.410998,106.084567 50.819572,106.199552 50.892159,106.199552 51.094801,106.038573 51.138109,105.969583 51.152536,105.969583 51.166958,105.946586 51.166958,105.877595 51.181376,105.348667 51.325308,105.026711 51.26779,104.95772 51.239003,104.934724 51.19579,104.842736 51.166958,104.819739 51.109241,104.704755 51.065906,104.635764 51.065906,104.543777 51.008062,103.232955 51.02253,103.163965 51.036993,103.163965 51.094801,103.140968 51.138109,102.933996 51.138109,102.796015 51.109241,102.773018 51.065906,102.589043 51.065906,102.589043 51.109241,102.497055 51.123677,102.106108 51.138109,102.129105 51.210199,102.106108 51.224603,102.083112 51.26779,102.129105 51.310935,102.106108 51.354041,101.899137 51.397106,101.784152 51.411452,101.738159 51.44013,101.623174 51.425793,101.554184 51.46879,101.50819 51.483114,101.439199 51.44013,101.347212 51.44013,101.232227 51.511747,101.117243 51.511747,101.094246 51.554663,101.025256 51.554663,100.956265 51.597539,100.887274 51.597539,100.795287 51.654644,100.657306 51.697426,100.634309 51.711677))","code":"ulanude","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"37","name":"Улан-Удэ","time_zone":{"name":"Asia/Irkutsk","offset":480},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((47.99447 54.378876,48.063461 54.472527,48.270433 54.459161,48.385417 54.472527,48.845355 54.472527,48.914345 54.405655,49.006333 54.35208,49.167311 54.338675,49.259298 54.338675,49.236301 54.298434,49.167311 54.298434,49.144314 54.258154,49.144314 54.217835,49.121317 54.204386,48.960339 54.204386,48.937342 54.177476,48.822358 54.164014,48.799361 54.150548,48.592389 54.110123,48.569392 54.069659,48.270433 54.09664,48.247436 54.110123,48.086458 54.110123,48.017467 54.204386,48.017467 54.231279,48.040464 54.325266,48.017467 54.338675,47.99447 54.378876))","code":"ulyanovsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"55","name":"Ульяновск","time_zone":{"name":"Europe/Ulyanovsk","offset":240},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((49.926208 51.19579,50.018195 51.253399,50.179173 51.26779,50.20217 51.224603,50.271161 51.19579,50.340151 51.19579,50.455136 51.239003,50.915073 51.397106,50.984064 51.56896,50.961067 51.68317,51.030057 51.68317,51.053054 51.668909,51.191035 51.526057,51.352014 51.3684,51.352014 51.325308,51.466998 51.282176,51.535989 51.282176,51.74296 51.3684,51.880942 51.397106,51.995926 51.44013,52.156904 51.46879,52.432867 51.46879,52.501857 51.511747,52.593845 51.46879,52.662835 51.46879,52.731826 51.483114,52.800816 51.425793,52.869807 51.339677,52.984791 51.282176,52.984791 51.26779,53.122773 51.19579,53.122773 51.123677,52.984791 51.094801,52.823813 51.051452,52.570848 51.008062,52.11091 50.935657,51.972929 50.848621,51.972929 50.732319,51.995926 50.688632,51.903938 50.615729,51.880942 50.615729,51.857945 50.571932,51.788954 50.469583,51.398007 50.205378,51.283023 50.175931,51.122045 50.175931,50.984064 50.322984,50.984064 50.454943,51.053054 50.528096,51.053054 50.615729,51.076051 50.717761,51.099048 50.761422,51.076051 50.892159,51.099048 50.906663,51.076051 50.950147,50.478132 50.979114,50.248164 51.051452,50.133179 51.094801,49.972201 51.166958,49.926208 51.19579))","code":"uralsk","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true},"id":"162","name":"Уральск","time_zone":{"name":"Asia/Oral","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((131.726079 43.768976,131.749076 43.818776,131.749076 43.918251,131.772072 43.967926,132.071032 43.967926,132.140022 43.951372,132.140022 43.768976,132.117025 43.719135,131.93305 43.719135,131.818066 43.702512,131.726079 43.768976))","code":"ussuriysk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"83","name":"Уссурийск","time_zone":{"name":"Asia/Vladivostok","offset":600},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((82.420787 49.865643,82.420787 49.939703,82.443784 49.939703,82.443784 50.013649,82.46678 50.057963,82.719746 50.057963,82.83473 50.072725,82.949715 50.028425,83.064699 49.954501,83.018705 49.850817,82.949715 49.74691,82.719746 49.776621,82.627758 49.806313,82.581765 49.835987,82.512774 49.835987,82.420787 49.865643))","code":"ustkam","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"91","name":"Усть-Каменогорск","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((75.084785 55.735397,75.084785 55.761284,75.291757 55.748342,75.33775 55.748342,75.33775 55.800081,75.26876 55.83884,75.291757 55.903353,75.452735 55.967759,75.498728 56.006351,75.521725 56.044904,75.659706 56.057747,75.728697 56.121896,75.981663 56.134713,76.027656 56.160334,76.142641 56.160334,76.165638 56.147525,76.280622 56.160334,76.349613 56.147525,76.349613 56.096249,76.395606 56.070585,76.372609 55.903353,76.372609 55.877561,76.234628 55.851751,76.188635 55.761284,76.211631 55.696535,76.211631 55.592713,76.142641 55.553709,76.142641 55.514667,76.119644 55.488617,76.027656 55.488617,75.912672 55.527685,75.889675 55.527685,75.820685 55.488617,75.682703 55.462549,75.659706 55.423416,75.613713 55.397306,75.544722 55.423416,75.567719 55.436465,75.567719 55.501644,75.521725 55.501644,75.429738 55.540699,75.406741 55.553709,75.291757 55.540699,75.176772 55.540699,75.130778 55.579716,75.199769 55.644659,75.107782 55.670605,75.084785 55.735397))","code":"ust_tarka","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true,"truck_graph":true},"id":"191","name":"Усть-Тарка","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((53.375738 54.472527,53.398735 54.565963,53.513719 54.659186,53.513719 54.672486,53.628704 54.685782,53.651701 54.659186,53.766685 54.645881,53.835676 54.605942,53.927663 54.605942,54.019651 54.632572,54.088641 54.605942,54.157632 54.619259,54.272616 54.619259,54.364604 54.672486,54.617569 54.672486,54.709557 54.725643,54.778547 54.725643,54.847538 54.738921,55.008516 54.805248,55.1235 54.8185,55.169494 54.791991,55.307475 54.791991,55.468454 54.831748,55.514447 54.831748,55.514447 54.85823,55.537444 54.871465,55.583438 54.963988,55.49145 54.990384,55.445457 55.056298,55.238485 55.069467,55.169494 55.108951,55.169494 55.161535,55.353469 55.266495,55.376466 55.305783,55.330472 55.331954,55.353469 55.397306,55.399463 55.423416,55.468454 55.501644,55.537444 55.501644,55.652428 55.436465,55.721419 55.436465,55.79041 55.397306,56.089369 55.384244,56.204353 55.397306,56.480316 55.397306,56.503313 55.462549,56.549306 55.462549,56.687288 55.410363,56.733281 55.305783,56.733281 55.25339,56.687288 55.148395,56.687288 55.095794,56.52631 55.029945,56.52631 54.977188,56.480316 54.937574,56.503313 54.791991,56.388328 54.672486,56.388328 54.632572,56.342335 54.605942,56.388328 54.565963,56.319338 54.445791,56.181357 54.445791,56.089369 54.419038,56.020378 54.419038,55.905394 54.459161,55.836403 54.472527,55.652428 54.525945,55.560441 54.525945,55.537444 54.512597,55.330472 54.485888,55.307475 54.472527,55.192491 54.472527,54.939525 54.459161,54.824541 54.472527,54.778547 54.445791,54.68656 54.445791,54.594572 54.472527,54.387601 54.499245,54.341607 54.485888,54.272616 54.445791,54.203626 54.445791,54.088641 54.459161,53.95066 54.378876,53.766685 54.378876,53.444729 54.432417,53.421732 54.432417,53.375738 54.472527))","code":"ufa","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"17","name":"Уфа","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((53.191763 63.468254,53.191763 63.499055,53.260754 63.550317,53.513719 63.621928,53.697694 63.69336,53.812679 63.683166,54.088641 63.642356,54.203626 63.601486,54.226622 63.570796,54.157632 63.529823,54.019651 63.365344,53.996654 63.355033,53.881669 63.355033,53.743688 63.385956,53.559713 63.375652,53.191763 63.468254))","code":"ukhta","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"204","name":"Ухта","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((134.87665 48.299342,134.87665 48.634798,135.198606 48.634798,135.267597 48.619599,135.267597 48.32993,135.2446 48.284042,135.152612 48.284042,135.129616 48.268736,134.945641 48.284042,134.87665 48.299342))","code":"khabarovsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"35","name":"Хабаровск","time_zone":{"name":"Asia/Vladivostok","offset":600},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((39.140675 28.240743,39.140675 28.281254,39.186669 28.32175,39.209666 28.382465,39.416637 28.402695,39.485628 28.443145,39.715597 28.483579,39.899572 28.645161,40.152537 28.70569,40.198531 28.746023,40.4285 28.846788,40.49749 28.866929,40.612475 28.92733,41.53235 28.92733,41.555346 28.887067,41.992287 28.866929,42.061278 28.9072,42.130268 28.9072,42.176262 28.866929,42.360237 28.826643,42.567209 28.806494,42.613202 28.70569,42.682193 28.665341,42.797177 28.645161,42.843171 28.604789,42.843171 28.50379,42.935159 28.443145,42.981152 28.443145,43.142131 28.382465,43.234118 28.402695,43.303109 28.523998,43.349102 28.523998,43.556074 28.443145,43.648062 28.443145,43.694055 28.402695,43.80904 28.382465,43.993015 28.422922,44.291974 28.443145,44.360965 28.32175,44.360965 28.240743,44.314971 28.240743,44.314971 28.220481,44.291974 28.220481,44.222983 28.159674,44.222983 28.037956,43.993015 27.834786,43.87803 27.834786,43.855034 27.814448,43.694055 27.794106,43.625065 27.773761,43.602068 27.753411,43.395096 27.610859,43.395096 27.529317,43.418093 27.508922,43.44109 27.325198,43.349102 27.243445,43.326105 27.18209,43.234118 27.141169,43.211121 27.120702,43.165127 27.05928,43.07314 26.956836,42.958156 26.915832,42.797177 26.792731,42.636199 26.648944,42.590206 26.525554,42.429227 26.463809,42.291246 26.463809,42.199259 26.34022,42.199259 26.237128,42.130268 26.216498,42.015284 26.133944,42.015284 26.051332,41.900299 25.989334,41.900299 25.947984,41.831309 25.865241,41.670331 25.865241,41.670331 25.782439,41.578343 25.741017,41.463359 25.741017,41.325378 25.616663,41.302381 25.512936,41.210393 25.512936,40.980425 25.554438,40.980425 25.575183,40.911434 25.595925,40.79645 25.533689,40.773453 25.47142,40.727459 25.409119,40.612475 25.409119,40.543484 25.42989,40.474493 25.409119,40.474493 25.305213,40.4285 25.305213,40.405503 25.326002,40.336512 25.346786,40.313515 25.284421,40.244525 25.284421,40.198531 25.367568,40.083547 25.346786,39.968562 25.367568,39.945565 25.388345,39.968562 25.575183,39.968562 25.823847,39.945565 25.968661,39.968562 26.113297,39.945565 26.133944,39.922569 26.195865,39.876575 26.237128,39.876575 26.381431,39.784587 26.504976,39.784587 26.566699,39.669603 26.628388,39.669603 26.710589,39.646606 26.772201,39.531622 26.772201,39.531622 26.792731,39.600612 26.936336,39.669603 27.038799,39.807584 27.038799,39.830581 27.05928,39.807584 27.079758,39.738594 27.120702,39.76159 27.202545,39.853578 27.202545,39.922569 27.141169,40.014556 27.120702,40.037553 27.141169,39.991559 27.263889,39.922569 27.325198,39.945565 27.427305,39.922569 27.447715,39.922569 27.610859,39.830581 27.753411,39.738594 27.834786,39.623609 27.895777,39.531622 27.977045,39.255659 27.977045,39.209666 28.017656,39.301653 28.017656,39.39364 28.058252,39.39364 28.139397,39.255659 28.200216,39.232662 28.220481,39.186669 28.220481,39.186669 28.240743,39.140675 28.240743))","code":"hail","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"225","name":"Хаиль","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((68.875629 60.983694,68.875629 61.017141,68.921623 61.017141,68.921623 61.039419,68.967617 61.083929,69.082601 61.11727,69.128595 61.095046,69.197586 61.083929,69.243579 61.10616,69.335567 61.095046,69.427554 61.028282,69.427554 61.017141,69.404558 61.005996,69.381561 60.972537,69.128595 60.916694,69.082601 60.916694,68.875629 60.983694))","code":"kh_mansiysk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"150","name":"Ханты-Мансийск","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((46.535458 43.259124,46.541148 43.268721,46.542462 43.281203,46.551959 43.28555,46.570952 43.290521,46.582537 43.295467,46.614005 43.287527,46.625543 43.279002,46.624817 43.277832,46.623827 43.277209,46.623305 43.276984,46.623237 43.276944,46.623074 43.276769,46.622766 43.276572,46.622732 43.276525,46.622625 43.276271,46.622621 43.276203,46.622647 43.276125,46.622711 43.276062,46.622963 43.275918,46.623027 43.275871,46.623199 43.275634,46.623789 43.275037,46.625778 43.272249,46.625821 43.272161,46.626035 43.271457,46.626035 43.271347,46.626005 43.270972,46.625958 43.270869,46.624806 43.269568,46.62414 43.268584,46.624036 43.268484,46.623677 43.268263,46.623593 43.268221,46.623523 43.268151,46.623473 43.268076,46.623347 43.267823,46.62324 43.267531,46.623181 43.26731,46.623152 43.267082,46.623161 43.266852,46.623462 43.265283,46.623497 43.265137,46.623462 43.264948,46.623419 43.264848,46.623064 43.263577,46.623069 43.263495,46.623106 43.263422,46.623204 43.263357,46.623269 43.263341,46.623564 43.263354,46.623654 43.263341,46.623731 43.263307,46.623808 43.263241,46.623863 43.263169,46.623893 43.263069,46.623919 43.262544,46.62395 43.262475,46.624113 43.262328,46.624143 43.262262,46.624139 43.262191,46.624678 43.258032,46.62469 43.257869,46.624669 43.257804,46.624626 43.257744,46.624559 43.257702,46.624507 43.257645,46.624366 43.257458,46.624331 43.257391,46.624315 43.257295,46.624336 43.257242,46.624503 43.257123,46.62721 43.254007,46.627539 43.253591,46.62849 43.252289,46.628756 43.251893,46.629256 43.250959,46.629297 43.250675,46.629256 43.250414,46.629093 43.250048,46.628929 43.249794,46.627447 43.248284,46.627302 43.247941,46.627059 43.246842,46.626978 43.246311,46.627091 43.243581,46.627285 43.243132,46.627657 43.24266,46.628142 43.242223,46.629257 43.241478,46.637533 43.236811,46.637887 43.236487,46.63813 43.236067,46.639324 43.233578,46.639408 43.23319,46.639412 43.232819,46.639301 43.232431,46.638616 43.231138,46.638462 43.230669,46.638506 43.230233,46.638793 43.229651,46.639169 43.229295,46.640385 43.228632,46.641357 43.228277,46.641667 43.228034,46.641888 43.227646,46.644849 43.216819,46.648661 43.209742,46.64652 43.208119,46.63438 43.204182,46.627887 43.202295,46.621346 43.20096,46.615262 43.199958,46.608873 43.199291,46.602332 43.198957,46.596399 43.199235,46.591075 43.199847,46.584382 43.201294,46.577994 43.203297,46.572213 43.205411,46.566585 43.208415,46.562281 43.21131,46.559207 43.213867,46.552417 43.22056,46.538973 43.238001,46.538182 43.242044,46.538182 43.243175,46.538681 43.249086,46.538631 43.250217,46.538332 43.251239,46.535458 43.259124))","code":"khasavyurt","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":true,"road_network":true},"id":"151","name":"Хасавюрт","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((76.211631 55.371178,76.234628 55.410363,76.326616 55.410363,76.395606 55.436465,76.395606 55.475585,76.418603 55.514667,76.602578 55.514667,76.602578 55.488617,76.694566 55.488617,76.763556 55.553709,76.832547 55.566715,76.970528 55.540699,77.085513 55.566715,77.154503 55.605706,77.407469 55.592713,77.407469 55.540699,77.54545 55.514667,77.568447 55.449509,77.706428 55.423416,77.821412 55.397306,77.844409 55.358108,77.660434 55.358108,77.591444 55.345033,77.591444 55.279595,77.683431 55.25339,77.660434 55.227167,77.522453 55.214049,77.407469 55.17467,77.407469 55.082633,77.476459 54.990384,77.499456 54.990384,77.522453 54.871465,77.522453 54.844991,77.453462 54.791991,77.384472 54.77873,77.361475 54.765465,77.246491 54.725643,77.246491 54.738921,76.901538 54.884696,76.80955 55.016762,76.694566 55.016762,76.671569 55.003575,76.602578 54.990384,76.533588 55.016762,76.533588 55.029945,76.464597 55.056298,76.464597 55.082633,76.326616 55.135251,76.326616 55.200927,76.372609 55.200927,76.372609 55.279595,76.211631 55.371178))","code":"chany","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"public_transport":false,"road_network":true,"truck_graph":true},"id":"192","name":"Чаны","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((46.936614 56.211525,46.959611 56.249873,46.982608 56.249873,47.097592 56.288183,47.097592 56.300945,47.143586 56.326455,47.419549 56.326455,47.534533 56.313702,47.603524 56.300945,47.603524 56.134713,47.580527 56.121896,47.580527 56.006351,47.511536 55.967759,47.350558 55.980627,47.166583 55.980627,47.097592 55.993491,47.051599 55.993491,46.982608 56.006351,46.982608 56.070585,47.005605 56.083419,46.959611 56.173138,46.936614 56.211525))","code":"cheboksary","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"53","name":"Чебоксары","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((60.458775 54.897922,60.481771 55.043123,60.481771 55.17467,60.458775 55.24028,60.550762 55.318871,60.619753 55.397306,60.688743 55.488617,60.688743 55.631679,60.803728 55.696535,61.171678 55.761284,61.700606 55.735397,61.907577 55.592713,62.137546 55.410363,62.160543 55.410363,62.252531 55.358108,62.229534 55.345033,62.068556 55.292691,62.068556 55.25339,62.137546 55.24028,62.206537 55.1878,62.229534 55.122103,62.275527 55.095794,62.18354 54.990384,62.022562 54.977188,61.999565 54.937574,62.091552 54.884696,62.114549 54.8185,62.022562 54.738921,62.022562 54.725643,61.884581 54.311852,61.81559 54.204386,61.81559 54.190933,61.746599 54.09664,61.723602 54.029156,61.631615 54.015646,61.631615 53.988613,61.585621 53.988613,61.493634 54.029156,61.470637 54.083152,61.309659 54.083152,61.217671 54.110123,61.056693 54.190933,60.987703 54.177476,60.895715 54.190933,60.872718 54.177476,60.803728 54.164014,60.780731 54.204386,60.757734 54.204386,60.757734 54.217835,60.481771 54.699073,60.458775 54.897922))","code":"chelyabinsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"15","name":"Челябинск","time_zone":{"name":"Asia/Yekaterinburg","offset":300},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((42.015284 44.182706,42.015284 44.265106,42.107271 44.265106,42.107271 44.21568,42.084274 44.166212,42.015284 44.182706))","code":"cherkessk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"118","name":"Черкесск","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((75.659706 54.137078,75.659706 54.539289,75.797688 54.565963,75.820685 54.645881,75.751694 54.685782,75.751694 54.725643,75.866678 54.765465,76.027656 54.791991,76.096647 54.791991,76.211631 54.85823,76.188635 54.937574,76.280622 54.977188,76.326616 55.003575,76.418603 55.043123,76.464597 55.056298,76.533588 55.029945,76.533588 55.016762,76.602578 54.990384,76.671569 55.003575,76.694566 55.016762,76.80955 55.016762,76.901538 54.884696,77.246491 54.738921,77.246491 54.71236,77.108509 54.672486,77.131506 54.605942,76.993525 54.579294,76.993525 54.539289,76.924534 54.485888,76.901538 54.419038,76.80955 54.405655,76.740559 54.392268,76.717563 54.35208,76.648572 54.325266,76.556584 54.325266,76.533588 54.311852,76.464597 54.298434,76.303619 54.338675,76.257625 54.338675,76.234628 54.298434,76.257625 54.258154,76.119644 54.217835,76.07365 54.217835,76.07365 54.204386,76.027656 54.204386,76.00466 54.190933,75.912672 54.177476,75.866678 54.150548,75.7057 54.110123,75.659706 54.137078))","code":"chistoozernoe","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true,"truck_graph":true},"id":"193","name":"Чистоозёрное","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((112.316719 52.052369,112.339716 52.123022,112.38571 52.207657,112.454701 52.221748,112.500694 52.249915,112.523691 52.320254,112.546688 52.348359,112.891641 52.334309,113.12161 52.418543,113.167604 52.446585,113.236594 52.460599,113.397572 52.460599,113.397572 52.432566,113.512557 52.334309,113.535553 52.320254,113.55855 52.263992,113.673535 52.221748,113.788519 52.207657,113.811516 52.16536,113.788519 51.953267,113.604544 51.839739,113.443566 51.811313,113.374575 51.782868,113.374575 51.740167,113.305585 51.740167,113.167604 51.825528,113.075616 51.825528,113.006625 51.868148,112.891641 51.896539,112.477697 51.924912,112.362713 51.967438,112.339716 52.038225,112.316719 52.052369))","code":"chita","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"64","name":"Чита","time_zone":{"name":"Asia/Chita","offset":540},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((80.466053 54.937574,80.535043 54.977188,80.581037 55.029945,80.604034 55.200927,80.604034 55.24028,80.765012 55.279595,80.856999 55.279595,80.92599 55.358108,80.948987 55.371178,80.971984 55.410363,81.132962 55.436465,81.132962 55.475585,81.086968 55.501644,81.086968 55.644659,81.063971 55.644659,81.063971 55.735397,81.29394 55.813005,81.776874 55.967759,81.822868 55.942009,81.845865 55.903353,82.006843 55.722447,82.052837 55.644659,82.167821 55.527685,82.144824 55.501644,81.799871 55.423416,81.546906 55.384244,81.454918 55.331954,81.408924 55.331954,81.431921 55.292691,81.477915 55.266495,81.477915 55.122103,81.454918 55.108951,81.500912 55.069467,81.408924 54.977188,81.408924 54.950783,81.523909 54.937574,81.592899 54.871465,81.569902 54.831748,81.546906 54.8185,81.66189 54.725643,81.730881 54.659186,81.707884 54.619259,81.638893 54.605942,81.615896 54.619259,81.546906 54.59262,81.569902 54.525945,81.523909 54.499245,81.385927 54.445791,81.29394 54.419038,81.224949 54.419038,81.201952 54.445791,81.040974 54.432417,80.92599 54.499245,80.902993 54.539289,80.765012 54.565963,80.742015 54.552628,80.673024 54.539289,80.673024 54.605942,80.512046 54.672486,80.489049 54.738921,80.535043 54.752195,80.604034 54.844991,80.581037 54.897922,80.512046 54.897922,80.466053 54.937574))","code":"chulym","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true,"truck_graph":true},"id":"166","name":"Чулым","time_zone":{"name":"Asia/Novosibirsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.083547 47.699215,40.083547 47.776545,40.12954 47.807444,40.152537 47.791997,40.359509 47.761088,40.359509 47.71469,40.175534 47.62177,40.152537 47.652762,40.083547 47.699215))","code":"shakhty","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"152","name":"Шахты","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((86.928173 53.471642,86.928173 53.49901,87.480098 53.49901,87.595083 53.416854,87.641076 53.320805,87.848048 53.334539,87.894042 53.252065,87.963033 53.252065,88.101014 53.196994,88.101014 53.141852,88.124011 53.128056,88.078017 52.948297,88.101014 52.934438,88.032023 52.795608,87.940036 52.726026,87.848048 52.726026,87.779058 52.753872,87.779058 52.837304,87.68707 52.892836,87.61808 52.906708,87.457101 52.892836,87.342117 53.003687,87.31912 53.059007,87.227133 53.141852,87.112148 53.210769,87.112148 53.279574,87.066155 53.307066,86.928173 53.471642))","code":"sheregesh","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"206","name":"Шерегеш","time_zone":{"name":"Asia/Novokuznetsk","offset":420},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((68.737648 42.408709,68.737648 42.459627,68.829636 42.49355,68.898626 42.5444,68.921623 42.5444,68.921623 42.561341,69.036608 42.662889,69.128595 42.662889,69.220583 42.696701,69.381561 42.679797,69.404558 42.696701,69.519542 42.747385,69.542539 42.747385,69.565536 42.730495,69.496545 42.679797,69.496545 42.612135,69.611529 42.629058,69.749511 42.595208,69.818501 42.5444,69.818501 42.527455,69.864495 42.527455,69.979479 42.476591,70.002476 42.425686,70.025473 42.408709,70.071467 42.255704,69.956482 42.136444,69.887492 42.136444,69.68052 42.068194,69.450551 41.811602,69.450551 41.622779,69.381561 41.571186,69.059604 41.605586,69.013611 41.622779,68.94462 42.05112,68.737648 42.408709))","code":"shymkent","country_code":"kz","domain":"kz","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"161","name":"Шымкент","time_zone":{"name":"Asia/Almaty","offset":360},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((44.659924 27.834786,44.659924 28.017656,44.728915 27.997352,44.774908 27.956734,44.820902 27.956734,44.91289 28.200216,44.91289 28.220481,45.004877 28.463364,45.073868 28.725858,45.050871 28.725858,45.050871 28.866929,45.027874 28.92733,45.050871 29.027919,45.073868 29.088226,45.142858 29.10832,45.165855 29.16858,45.28084 29.16858,45.395824 29.148497,46.292702 29.068128,46.476677 29.068128,46.499674 29.088226,46.568664 29.10832,46.637655 29.088226,47.074595 29.048025,47.097592 29.048025,47.304564 29.027919,47.327561 29.007809,47.465542 29.007809,47.55753 28.887067,47.603524 28.806494,47.603524 28.665341,47.62652 28.645161,47.718508 28.523998,48.408414 28.523998,48.431411 28.544201,48.569392 28.624977,48.707373 28.665341,48.753367 28.624977,49.144314 28.36223,49.167311 28.341992,49.236301 28.240743,49.236301 28.220481,49.259298 28.220481,49.282295 28.159674,49.512264 27.895777,49.604251 27.834786,49.650245 27.87545,49.765229 27.936419,49.926208 27.936419,49.972201 27.895777,50.363148 27.9161,50.432139 27.814448,50.432139 27.753411,50.363148 27.610859,50.20217 27.549708,50.064189 27.570096,50.087186 27.508922,50.156176 27.447715,50.386145 27.141169,50.409142 27.120702,50.455136 27.038799,50.478132 26.772201,50.478132 26.710589,50.501129 26.648944,50.478132 26.566699,50.409142 26.546128,50.386145 26.484394,50.386145 26.402031,50.340151 26.360827,50.317154 26.257754,50.294157 26.03067,50.294157 25.885932,50.340151 25.865241,50.409142 25.7203,50.547123 25.595925,50.57012 25.595925,50.57012 25.512936,50.616114 25.47142,50.616114 25.42989,50.685104 25.055475,50.708101 25.03464,50.708101 24.930414,50.800089 24.888699,50.823086 24.742585,50.93807 24.533553,51.099048 24.470776,51.329017 24.512631,51.398007 24.617208,51.466998 24.638113,51.581982 24.659015,51.581982 24.554472,51.444001 24.428906,51.444001 24.366077,51.535989 24.345126,51.581982 24.261291,51.581982 24.156418,51.67397 24.009453,51.765957 23.925397,52.018923 23.630771,52.156904 23.441017,52.340879 23.229859,52.570848 22.933677,52.662835 22.933677,52.662835 22.912497,52.84681 22.912497,52.869807 22.891312,52.984791 22.891312,53.14577 22.870125,53.674698 22.806543,53.835676 22.806543,54.272616 22.742931,54.341607 22.721721,54.893532 22.67929,54.916529 22.65807,55.1235 22.636846,55.215488 22.700507,55.675425 21.998624,55.49145 21.485965,55.238485 20.692079,55.008516 20.002103,54.870535 19.958877,54.571576 19.850762,53.95066 19.655969,52.984791 19.33079,52.915801 19.309088,52.616841 19.200535,51.995926 19.004961,51.995926 19.265675,51.972929 19.33079,47.534533 19.33079,47.580527 19.46094,47.603524 19.482621,48.178445 20.692079,48.178445 20.713591,47.948477 20.992967,47.879486 21.057364,47.902483 21.357516,47.833492 21.400345,47.856489 21.550147,47.971473 21.721161,48.040464 21.742523,48.086458 21.785239,48.201442 21.849288,48.201442 21.891971,47.948477 21.891971,47.810495 21.9773,47.810495 22.041262,47.879486 22.169101,47.902483 22.275545,47.92548 22.296824,47.99447 22.40317,48.040464 22.615619,48.086458 22.912497,48.086458 22.9972,48.109455 23.356594,48.086458 23.419916,48.132452 23.588627,48.132452 23.82025,48.109455 23.967432,48.155448 24.05146,48.155448 24.114445,48.109455 24.198378,48.109455 24.303215,48.086458 24.324173,47.99447 24.491705,47.99447 24.554472,47.833492 24.533553,47.741505 24.533553,47.741505 24.867836,47.62652 25.013802,47.62652 25.159595,47.764502 25.242827,47.718508 25.450657,47.649517 25.554438,47.672514 25.69958,47.695511 25.69958,47.695511 25.803145,47.62652 25.865241,47.62652 25.989334,47.580527 26.03067,47.603524 26.175229,47.580527 26.195865,47.534533 26.34022,47.511536 26.402031,47.281567 26.402031,47.074595 26.587266,47.005605 26.587266,46.913617 26.669496,46.798633 26.648944,46.637655 26.669496,46.522671 26.690045,46.315699 26.792731,46.246708 26.813257,46.223711 26.83378,46.154721 26.854298,46.131724 26.83378,46.062733 26.813257,45.855761 26.956836,45.740777 27.05928,45.579799 27.120702,45.579799 27.222997,45.395824 27.222997,45.28084 27.243445,45.165855 27.304765,45.119861 27.406891,45.096865 27.570096,45.073868 27.671976,45.004877 27.69234,44.91289 27.631235,44.866896 27.631235,44.705918 27.733058,44.659924 27.834786))","code":"dammam","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true,"traffic":true},"id":"220","name":"Эд-Даммам","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((44.153993 46.255822,44.153993 46.335269,44.199987 46.382882,44.291974 46.382882,44.360965 46.367015,44.383962 46.319388,44.360965 46.303504,44.337968 46.255822,44.153993 46.255822))","code":"elista","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"truck_graph":true},"id":"153","name":"Элиста","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((37.024963 31.451463,37.024963 31.510299,37.185941 31.569098,37.300925 31.588689,37.461903 31.647439,37.622881 31.667014,37.645878 31.686585,37.898844 31.745273,37.967834 31.764827,37.967834 31.529903,37.990831 31.392589,37.944838 31.314034,37.944838 31.196079,38.013828 31.196079,38.082819 31.176405,38.128813 31.274732,38.197803 31.294385,38.289791 31.215748,38.266794 31.156728,38.197803 31.137046,38.174806 30.920278,38.243797 30.861073,38.312788 30.900547,38.404775 30.900547,38.58875 30.940004,38.887709 30.920278,38.910706 30.959727,39.117678 30.979445,39.370644 30.959727,39.416637 30.920278,39.531622 30.940004,39.554619 30.959727,39.646606 30.959727,39.76159 30.861073,39.830581 30.880812,39.853578 30.900547,39.922569 30.880812,40.106544 30.782078,40.12954 30.762319,40.244525 30.782078,40.267522 30.841331,40.451497 30.841331,40.474493 30.821584,40.635472 30.762319,40.773453 30.782078,41.026418 30.801833,41.118406 30.762319,41.118406 30.584304,41.187396 30.564505,41.210393 30.584304,41.210393 30.6041,41.371371 30.623891,41.624337 30.564505,41.624337 30.524893,41.60134 30.505082,41.578343 30.445622,41.624337 30.386127,41.739321 30.386127,41.831309 30.306743,41.900299 30.207422,41.96929 30.187546,41.96929 30.108002,41.854306 30.088105,41.785315 30.048301,41.739321 29.94872,41.647334 29.94872,41.53235 29.849039,41.463359 29.849039,41.440362 29.769223,41.463359 29.629392,41.486356 29.569404,41.555346 29.569404,41.555346 29.489366,41.60134 29.409264,41.647334 29.369189,41.647334 29.16858,41.509353 29.16858,41.440362 29.10832,41.417365 29.007809,41.417365 28.92733,40.612475 28.92733,40.49749 28.866929,40.4285 28.846788,40.198531 28.746023,40.152537 28.70569,39.899572 28.645161,39.715597 28.483579,39.485628 28.443145,39.416637 28.402695,39.209666 28.382465,39.209666 28.564401,39.186669 28.624977,39.048687 28.624977,39.025691 28.685517,39.002694 28.806494,38.910706 28.9072,38.772725 28.947456,38.772725 29.208733,38.749728 29.268934,38.680737 29.268934,38.634744 29.309048,38.565753 29.309048,38.542756 29.288993,38.473766 29.208733,38.404775 29.208733,38.404775 29.10832,38.335784 29.007809,38.266794 29.007809,38.197803 29.027919,38.197803 29.148497,38.2208 29.208733,38.312788 29.288993,38.312788 29.369189,38.197803 29.509381,38.197803 29.529393,38.036825 29.589404,37.990831 29.589404,37.944838 29.549401,37.737866 29.569404,37.714869 29.629392,37.737866 29.669363,37.714869 29.689343,37.714869 29.829091,37.645878 29.849039,37.576888 29.90886,37.507897 29.928792,37.461903 30.008481,37.507897 30.048301,37.507897 30.088105,37.668875 30.366287,37.691872 30.366287,37.944838 30.505082,37.829853 30.643679,37.78386 30.683242,37.714869 30.762319,37.438906 31.038576,37.070956 31.392589,37.024963 31.451463))","code":"el_jouf","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false},"id":"230","name":"Эль Джауф","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((41.302381 25.512936,41.325378 25.616663,41.463359 25.741017,41.578343 25.741017,41.670331 25.782439,41.670331 25.865241,41.831309 25.865241,41.900299 25.947984,41.900299 25.989334,42.015284 26.051332,42.015284 26.133944,42.130268 26.216498,42.199259 26.237128,42.199259 26.34022,42.291246 26.463809,42.429227 26.463809,42.590206 26.525554,42.636199 26.648944,42.797177 26.792731,42.958156 26.915832,43.07314 26.956836,43.165127 27.05928,43.211121 27.120702,43.234118 27.141169,43.326105 27.18209,43.349102 27.243445,43.44109 27.325198,43.418093 27.508922,43.395096 27.529317,43.395096 27.610859,43.602068 27.753411,43.625065 27.773761,43.694055 27.794106,43.855034 27.814448,43.87803 27.834786,43.993015 27.834786,44.222983 28.037956,44.222983 28.159674,44.291974 28.220481,44.406958 28.220481,44.54494 28.098832,44.659924 28.017656,44.659924 27.834786,44.705918 27.733058,44.866896 27.631235,44.91289 27.631235,44.98188 27.570096,44.889893 27.325198,44.866896 27.100232,44.843899 26.956836,44.797905 26.956836,44.705918 27.018314,44.590933 26.997825,44.498946 26.997825,44.406958 26.956836,44.383962 26.607829,44.406958 26.381431,44.498946 26.113297,44.61393 25.968661,44.797905 25.7203,44.797905 25.678856,44.774908 25.658129,44.728915 25.512936,44.659924 25.512936,44.521943 25.575183,44.452952 25.575183,44.360965 25.49218,44.199987 25.47142,44.085002 25.450657,43.993015 25.326002,43.786043 25.326002,43.671059 25.159595,43.625065 25.159595,43.579071 25.201218,43.487084 25.201218,43.326105 25.055475,43.142131 24.99296,43.119134 24.930414,43.188124 24.909558,43.165127 24.888699,43.142131 24.805227,43.211121 24.721698,43.165127 24.638113,43.096137 24.554472,42.935159 24.575388,42.866168 24.554472,42.797177 24.491705,42.567209 24.491705,42.475221 24.659015,42.452224 24.721698,42.130268 24.721698,42.061278 24.951267,42.038281 24.972115,41.96929 25.117957,41.854306 25.222024,41.716324 25.180408,41.647334 25.201218,41.463359 25.346786,41.440362 25.409119,41.371371 25.49218,41.302381 25.512936))","code":"qasim","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false},"id":"222","name":"Эль Касим","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((37.944838 31.196079,37.944838 31.314034,37.990831 31.392589,37.967834 31.529903,37.967834 31.764827,38.036825 31.784378,38.128813 31.803924,38.151809 31.823466,38.910706 31.999157,38.979697 32.018658,39.186669 32.155045,39.232662 32.174513,39.301653 32.135574,39.76159 32.057646,40.037553 32.018658,40.106544 31.999157,40.382506 31.960144,40.474493 31.921114,40.957428 31.647439,41.072412 31.588689,41.095409 31.569098,41.210393 31.510299,41.486356 31.35332,41.647334 31.294385,41.877303 31.196079,41.946293 31.176405,42.061278 31.11736,42.084274 31.11736,42.613202 30.742555,42.659196 30.703017,42.797177 30.6041,42.889165 30.544701,43.280112 30.267027,43.326105 30.227294,43.970018 29.769223,44.039008 29.709319,44.24598 29.569404,44.360965 29.469346,44.61393 29.288993,44.636927 29.268934,44.751911 29.188658,44.820902 29.188658,45.165855 29.16858,45.142858 29.10832,45.073868 29.088226,45.050871 29.027919,45.027874 28.92733,45.050871 28.866929,45.050871 28.725858,45.073868 28.725858,45.004877 28.463364,44.91289 28.220481,44.91289 28.200216,44.820902 27.956734,44.774908 27.956734,44.728915 27.997352,44.659924 28.017656,44.54494 28.098832,44.406958 28.220481,44.314971 28.220481,44.314971 28.240743,44.360965 28.240743,44.360965 28.32175,44.291974 28.443145,43.993015 28.422922,43.80904 28.382465,43.694055 28.402695,43.648062 28.443145,43.556074 28.443145,43.349102 28.523998,43.303109 28.523998,43.234118 28.402695,43.142131 28.382465,42.981152 28.443145,42.935159 28.443145,42.843171 28.50379,42.843171 28.604789,42.797177 28.645161,42.682193 28.665341,42.613202 28.70569,42.567209 28.806494,42.360237 28.826643,42.176262 28.866929,42.130268 28.9072,42.061278 28.9072,41.992287 28.866929,41.555346 28.887067,41.53235 28.92733,41.417365 28.92733,41.417365 29.007809,41.440362 29.10832,41.509353 29.16858,41.647334 29.16858,41.647334 29.369189,41.60134 29.409264,41.555346 29.489366,41.555346 29.569404,41.486356 29.569404,41.463359 29.629392,41.440362 29.769223,41.463359 29.849039,41.53235 29.849039,41.647334 29.94872,41.739321 29.94872,41.785315 30.048301,41.854306 30.088105,41.96929 30.108002,41.96929 30.187546,41.900299 30.207422,41.831309 30.306743,41.739321 30.386127,41.624337 30.386127,41.578343 30.445622,41.60134 30.505082,41.624337 30.524893,41.624337 30.564505,41.371371 30.623891,41.210393 30.6041,41.210393 30.584304,41.187396 30.564505,41.118406 30.584304,41.118406 30.762319,41.026418 30.801833,40.773453 30.782078,40.635472 30.762319,40.474493 30.821584,40.451497 30.841331,40.267522 30.841331,40.244525 30.782078,40.12954 30.762319,40.106544 30.782078,39.922569 30.880812,39.853578 30.900547,39.830581 30.880812,39.76159 30.861073,39.646606 30.959727,39.554619 30.959727,39.531622 30.940004,39.416637 30.920278,39.370644 30.959727,39.117678 30.979445,38.910706 30.959727,38.887709 30.920278,38.58875 30.940004,38.404775 30.900547,38.312788 30.900547,38.243797 30.861073,38.174806 30.920278,38.197803 31.137046,38.266794 31.156728,38.289791 31.215748,38.197803 31.294385,38.128813 31.274732,38.082819 31.176405,38.013828 31.196079,37.944838 31.196079))","code":"hudud_al_shamaliya","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true},"id":"226","name":"Эль Худуд эш Шамалия","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((40.842443 20.045316,40.842443 20.110114,40.980425 20.261205,41.026418 20.304346,41.049415 20.369037,41.095409 20.347476,41.072412 20.304346,41.118406 20.261205,41.187396 20.369037,41.210393 20.390594,41.210393 20.455248,41.279384 20.519875,41.279384 20.584474,41.325378 20.670565,41.325378 20.778109,41.394368 20.821105,41.486356 20.799608,41.53235 20.756606,41.60134 20.756606,41.739321 20.627526,41.854306 20.627526,41.877303 20.649047,41.946293 20.670565,41.96929 20.584474,42.107271 20.584474,42.107271 20.519875,42.130268 20.412148,42.015284 20.369037,41.96929 20.261205,41.900299 20.196469,41.831309 19.91564,41.785315 19.872391,41.785315 19.785858,41.762318 19.764217,41.739321 19.699277,41.578343 19.699277,41.555346 19.634311,41.555346 19.547649,41.394368 19.482621,41.279384 19.46094,41.256387 19.525976,41.210393 19.525976,41.141403 19.547649,41.187396 19.590986,41.1644 19.655969,41.095409 19.677625,41.026418 19.720927,41.026418 19.807495,40.911434 19.91564,40.842443 20.045316))","code":"el_baha","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":false},"id":"229","name":"Эль-Баха","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((41.693328 23.693961,41.693328 23.757121,41.762318 23.778167,41.831309 23.757121,41.900299 23.757121,41.946293 23.841286,42.038281 23.841286,42.084274 23.925397,42.084274 23.988444,42.130268 24.030458,42.107271 24.135434,42.153265 24.219352,42.153265 24.324173,42.084274 24.5963,42.084274 24.659015,42.130268 24.700807,42.130268 24.721698,42.452224 24.721698,42.475221 24.659015,42.567209 24.491705,42.797177 24.491705,42.866168 24.554472,42.935159 24.575388,43.096137 24.554472,43.165127 24.638113,43.211121 24.721698,43.142131 24.805227,43.165127 24.888699,43.188124 24.909558,43.119134 24.930414,43.142131 24.99296,43.326105 25.055475,43.487084 25.201218,43.579071 25.201218,43.625065 25.159595,43.671059 25.159595,43.786043 25.326002,43.993015 25.326002,44.085002 25.450657,44.199987 25.47142,44.360965 25.49218,44.452952 25.575183,44.521943 25.575183,44.659924 25.512936,44.728915 25.512936,44.774908 25.658129,44.797905 25.678856,44.797905 25.7203,44.61393 25.968661,44.498946 26.113297,44.406958 26.381431,44.383962 26.607829,44.406958 26.956836,44.498946 26.997825,44.590933 26.997825,44.705918 27.018314,44.797905 26.956836,44.843899 26.956836,44.866896 27.100232,44.889893 27.325198,44.98188 27.570096,44.91289 27.631235,45.004877 27.69234,45.073868 27.671976,45.096865 27.570096,45.119861 27.406891,45.165855 27.304765,45.28084 27.243445,45.395824 27.222997,45.579799 27.222997,45.579799 27.120702,45.740777 27.05928,45.855761 26.956836,46.062733 26.813257,46.131724 26.83378,46.154721 26.854298,46.223711 26.83378,46.246708 26.813257,46.315699 26.792731,46.522671 26.690045,46.637655 26.669496,46.798633 26.648944,46.913617 26.669496,47.005605 26.587266,47.074595 26.587266,47.281567 26.402031,47.511536 26.402031,47.534533 26.34022,47.580527 26.195865,47.603524 26.175229,47.580527 26.03067,47.62652 25.989334,47.62652 25.865241,47.695511 25.803145,47.695511 25.69958,47.672514 25.69958,47.649517 25.554438,47.718508 25.450657,47.764502 25.242827,47.62652 25.159595,47.62652 25.013802,47.741505 24.867836,47.741505 24.533553,47.833492 24.533553,47.99447 24.554472,47.99447 24.491705,48.086458 24.324173,48.109455 24.303215,48.109455 24.198378,48.155448 24.114445,48.155448 24.05146,48.109455 23.967432,48.132452 23.82025,48.132452 23.588627,48.086458 23.419916,48.109455 23.356594,48.086458 22.9972,48.086458 22.912497,48.040464 22.615619,47.99447 22.40317,47.92548 22.296824,47.902483 22.275545,47.879486 22.169101,47.810495 22.041262,47.810495 21.9773,47.948477 21.891971,48.201442 21.891971,48.201442 21.849288,48.086458 21.785239,48.040464 21.742523,47.971473 21.721161,47.856489 21.550147,47.833492 21.400345,47.902483 21.357516,47.879486 21.057364,47.948477 20.992967,48.178445 20.713591,48.178445 20.692079,47.603524 19.482621,47.580527 19.46094,47.534533 19.33079,47.097592 19.33079,46.292702 19.309088,45.372827 19.309088,45.165855 19.222252,45.119861 19.222252,45.119861 19.309088,45.073868 19.439255,44.590933 19.417568,44.383962 19.417568,44.337968 19.482621,44.222983 19.46094,44.153993 19.482621,44.153993 19.547649,44.222983 19.569319,44.222983 19.699277,44.17699 19.93726,44.107999 20.002103,44.085002 20.110114,44.062005 20.261205,44.039008 20.282777,44.039008 20.519875,43.993015 20.519875,43.87803 20.606001,43.80904 20.670565,43.832037 20.692079,43.80904 20.821105,43.694055 21.014436,43.579071 21.121734,43.579071 21.207517,43.671059 21.378932,43.671059 21.421755,43.487084 21.507363,43.487084 21.699795,43.464087 21.721161,43.487084 21.870631,43.487084 21.9773,43.372099 22.041262,43.349102 22.190396,43.326105 22.190396,43.303109 22.296824,43.349102 22.360642,43.234118 22.466939,43.211121 22.530679,43.188124 22.551919,43.165127 22.615619,43.234118 22.67929,43.142131 22.721721,42.958156 22.721721,42.935159 22.742931,42.866168 22.891312,42.774181 22.891312,42.774181 22.912497,42.751184 22.912497,42.728187 23.018367,42.70519 23.08185,42.475221 23.103004,42.452224 23.166447,42.429227 23.272118,42.406231 23.272118,42.406231 23.419916,42.291246 23.462114,42.245253 23.588627,42.176262 23.6097,42.176262 23.588627,42.015284 23.588627,41.831309 23.630771,41.693328 23.693961))","code":"riyadh","country_code":"sa","domain":"sa","flags":{"2gis_reviews":true,"flamp":false,"metro":false,"public_transport":false,"road_network":true,"traffic":true},"id":"216","name":"Эр-Рияд","time_zone":{"name":"Asia/Riyadh","offset":180},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((141.499749 46.525471,141.499749 46.636117,141.545743 46.730776,141.614733 46.841002,141.63773 46.919596,141.660727 46.935301,141.729718 47.07644,141.729718 47.139049,141.706721 47.139049,141.63773 47.310843,141.63773 47.652762,141.683724 47.683735,141.752715 47.668251,141.982683 47.62177,142.097668 47.49762,142.166658 47.49762,142.281643 47.606268,142.350633 47.62177,142.350633 47.699215,142.419624 47.71469,142.419624 47.761088,142.350633 47.838326,142.350633 47.930859,142.442621 48.038607,142.465618 48.100075,142.442621 48.100075,142.396627 48.222793,142.396627 48.299342,142.442621 48.436842,142.465618 48.436842,142.488614 48.573971,142.442621 48.619599,142.442621 48.786546,142.465618 48.786546,142.511611 48.983134,142.534608 49.02839,142.488614 49.148874,142.488614 49.224027,142.511611 49.224027,142.557605 49.359017,142.534608 49.463753,142.787574 49.463753,142.856564 49.508571,142.925555 49.508571,143.086533 49.493636,143.086533 49.583177,143.017542 49.65767,143.040539 49.702311,143.224514 49.702311,143.523474 49.717182,143.592464 49.761768,143.753442 49.880464,143.822433 49.954501,143.91442 49.954501,144.029405 49.998869,144.259373 50.043196,144.305367 50.043196,144.328364 50.028425,144.328364 49.969295,144.351361 49.954501,144.466345 49.761768,144.466345 49.687435,144.558333 49.583177,144.558333 49.523501,144.604327 49.284068,144.627323 49.284068,144.65032 49.209006,144.94928 48.998224,145.01827 48.907614,145.01827 48.81684,145.064264 48.695552,145.064264 48.573971,144.972277 48.467348,144.765305 48.421583,144.673317 48.421583,144.489342 48.452097,144.397355 48.528303,144.328364 48.665185,144.305367 48.756233,144.098395 48.892497,143.868427 49.073606,143.661455 49.088669,143.638458 49.103727,143.500477 49.103727,143.339499 49.058539,143.316502 48.95294,143.293505 48.81684,143.270508 48.801695,143.10953 48.589185,143.040539 48.436842,143.017542 48.360499,142.994546 48.314638,142.902558 48.115431,142.902558 48.053981,142.856564 47.961667,142.856564 47.761088,142.925555 47.652762,143.063536 47.575249,143.155524 47.528685,143.178521 47.513155,143.247511 47.435435,143.270508 47.388747,143.293505 47.388747,143.362496 47.185957,143.362496 47.123404,143.54647 47.045108,143.638458 47.029435,143.707449 46.982389,143.799436 46.85673,143.822433 46.730776,143.84543 46.525471,143.891424 46.509647,143.937417 46.382882,143.91442 46.303504,143.776439 46.096581,143.776439 46.04872,143.707449 45.93688,143.638458 45.856857,143.500477 45.808787,143.362496 45.808787,143.178521 45.872871,143.10953 45.968857,143.086533 46.112526,143.086533 46.239918,143.017542 46.335269,142.902558 46.398743,142.833567 46.398743,142.672589 46.351144,142.580602 46.287614,142.534608 46.096581,142.465618 45.952871,142.37363 45.824815,142.304639 45.648256,142.281643 45.632177,141.913693 45.696464,141.752715 45.712524,141.706721 45.760676,141.729718 45.872871,141.683724 45.904885,141.614733 46.000816,141.614733 46.04872,141.591736 46.22401,141.56874 46.351144,141.545743 46.367015,141.522746 46.4146,141.499749 46.525471))","code":"yuzhnosakhalinsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"88","name":"Южно-Сахалинск","time_zone":{"name":"Asia/Sakhalin","offset":660},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((126.620773 62.155043,126.666767 62.18725,126.758754 62.18725,126.919733 62.240852,127.126704 62.262267,127.149701 62.272968,127.149701 62.305049,127.310679 62.337097,127.632636 62.422389,128.023582 62.390433,128.069576 62.411741,128.253551 62.560473,128.48352 62.655695,128.989451 62.708464,129.472385 63.05439,129.518379 63.064809,129.58737 63.075225,129.702354 63.064809,129.909326 63.064809,130.622229 62.876695,130.691219 62.866209,131.105163 62.824226,131.519107 62.666256,131.542104 62.634561,131.611094 62.58166,131.818066 62.379773,132.209013 62.176518,132.415985 62.165783,132.576963 62.155043,132.622957 62.112047,132.645954 61.993493,132.530969 61.96108,132.484975 61.885314,132.369991 61.765875,132.301 61.624119,132.346994 61.514633,132.645954 61.437762,132.852925 61.382738,132.875922 61.382738,132.875922 61.360701,132.760938 61.28345,132.737941 61.183847,132.071032 60.81593,131.657088 60.658553,131.588097 60.624729,131.519107 60.624729,131.427119 60.658553,131.289138 60.714848,130.76021 61.039419,130.32327 61.206009,130.277276 61.206009,129.518379 61.217083,128.575507 61.228154,128.460523 61.28345,128.391532 61.360701,128.368535 61.503663,128.299545 61.547519,128.046579 61.547519,127.908598 61.613188,127.770617 61.635047,127.563645 61.711431,127.517651 61.73322,127.37967 61.765875,127.264686 61.820223,127.126704 61.831082,126.988723 61.885314,126.689764 61.982692,126.64377 61.993493,126.64377 62.036657,126.666767 62.06899,126.620773 62.155043))","code":"yakutsk","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"50","name":"Якутск","time_zone":{"name":"Asia/Yakutsk","offset":540},"type":"region","zoom_level":{"max":18,"min":9}},{"bounds":"POLYGON((39.669603 57.555712,39.715597 57.605028,39.715597 57.752576,39.807584 57.777108,40.014556 57.777108,40.014556 57.715745,40.037553 57.654277,40.083547 57.629661,40.198531 57.592706,40.198531 57.531029,40.152537 57.531029,40.106544 57.50633,40.06055 57.50633,40.06055 57.518682,39.6926 57.518682,39.669603 57.555712))","code":"yaroslavl","country_code":"ru","domain":"ru","flags":{"2gis_reviews":true,"flamp":true,"has_net_booklet":true,"metro":false,"parking_layer":true,"pedestrian_routing":true,"public_transport":true,"road_network":true,"traffic":true,"truck_graph":true},"id":"28","name":"Ярославль","time_zone":{"name":"Europe/Moscow","offset":180},"type":"region","zoom_level":{"max":18,"min":9}}]'), DG.config={host:null,port:3e3,defaultSkin:"dark",defaultLang:"ru",trafficLayerMinZoom:10,trafficLayerUpdateInterval:3e5,ppLink2gis:"{gislink}/directions/tab/{rsType}/points/|{point}?m={center}%2F{zoom}&routeLink=true",openLink2gis:"{gislink}/?m={center}%2F{zoom}&openLink=true",ppnotLink:"http://2gis.{domain}/{projectCode}/center/{center}/zoom/{zoom}/routeTab/rsType/{rsType}/to/{point}╎{name}",photosLink:"http://2gis.{domain}/photos/{id}",poiLayerMinZoom:0,detectRetina:!1,webApiKey:"rubnkm7490",webApiVersion:"2.0",regionListFields:"items.bounds,items.zoom_level,items.time_zone,items.code,items.flags,items.country_code,items.domain,items.default_pos",firmInfoFields:"items.reviews,items.links,items.external_content",geoAdditionalFields:"items.geometry.selection,items.links,items.adm_div,items.address,items.floors,items.description",geoclickerCatalogApiKey:"ruregt3044",projectLeaveMaxZoom:16,flampUrl:"http://flamp.ru/r/",flampGoogleAnalytics:"utm_source=api2gis&utm_medium=api&utm_campaign=geoclicker",gaCode:"UA-38243181-2",gaName:"mapsapi2gis",protocol:"http:",baseUrl:"//maps.api.2gis.ru/2.0",tileServer:"//tile{s}.maps.2gis.com/tiles?x={x}&y={y}&z={z}&v=1&ts=online_sd",retinaTileServer:"//tile{s}.maps.2gis.com/tiles?x={x}&y={y}&z={z}&v=1&ts=online_hd",previewTileServer:"//tile{s}.maps.2gis.com/tiles?x={x}&y={y}&z={z}&v=1&size=64&ts=online_sd",previewRetinaTileServer:"//tile{s}.maps.2gis.com/tiles?x={x}&y={y}&z={z}&v=1&size=64&ts=online_hd",arabicTileServer:"//tile{s}.maps.2gis.com/tiles?x={x}&y={y}&z={z}&v=1&ts=online_sd_ar",arabicRetinaTileServer:"//tile{s}.maps.2gis.com/tiles?x={x}&y={y}&z={z}&v=1&ts=online_hd_ar",arabicPreviewTileServer:"//tile{s}.maps.2gis.com/tiles?x={x}&y={y}&z={z}&v=1&size=64&ts=online_sd_ar",arabicPreviewRetinaTileServer:"//tile{s}.maps.2gis.com/tiles?x={x}&y={y}&z={z}&v=1&size=64&ts=online_hd_ar",trafficTileServer:"//traffic{s}.maps.2gis.com/{projectCode}/traffic/{z}/{x}/{y}/speed/{period}/{timestampString}",retinaTrafficTileServer:"//traffic{s}.maps.2gis.com/{projectCode}/traffic/{z}/{x}/{y}/speed/{period}/retina/{timestampString}",trafficMetaServer:"//meta{s}.maps.2gis.com/{projectCode}/meta/{z}/{x}/{y}/graph_speed/{period}/{timestampString}",retinaTrafficMetaServer:"//meta{s}.maps.2gis.com/{projectCode}/meta/{z}/{x}/{y}/graph_speed/{period}/retina/{timestampString}",trafficTimestampServer:"//traffic{s}.maps.2gis.com/{projectCode}/meta/speed/time/",trafficScoreServer:"//traffic{s}.maps.2gis.com/{projectCode}/meta/score/0/",poiMetaServer:"//tile{s}.maps.2gis.com/poi?x={x}&y={y}&z={z}&v=1&ts=online_sd",retinaPoiMetaServer:"//tile{s}.maps.2gis.com/poi?x={x}&y={y}&z={z}&v=1&ts=online_hd",arabicPoiMetaServer:"//tile{s}.maps.2gis.com/poi?x={x}&y={y}&z={z}&v=1&ts=online_sd_ar",arabicRetinaPoiMetaServer:"//tile{s}.maps.2gis.com/poi?x={x}&y={y}&z={z}&v=1&ts=online_hd_ar",webApiServer:"//catalog.api.2gis.ru",googleAnalytics:"https://www.google-analytics.com/analytics.js",loadProjectListTimeout:5e3}}).call(this,_dereq_("_process"))},{"../../../vendors/baron":7,_process:6,"dustjs-helpers":2,"dustjs-linkedin":3,html5shiv:4,leaflet:5}],2:[function(t,e,i){!function(o,n){"function"==typeof define&&define.amd&&define.amd.dust===!0?define(["dust.core"],n):"object"==typeof i?e.exports=n(t("dustjs-linkedin")):n(o.dust)}(this,function(t){function e(e,i,o){o=o||"INFO",e=e?"{@"+e+"}: ":"",t.log(e+i,o)}function i(t){h[t]||(e(t,"Deprecation warning: "+t+" is deprecated and will be removed in a future version of dustjs-helpers","WARN"),e(null,"For help and a deprecation timeline, see https://github.com/linkedin/dustjs-helpers/wiki/Deprecated-Features#"+t.replace(/\W+/g,""),"WARN"),h[t]=!0)}function o(t){return t.stack.tail&&t.stack.tail.head&&"undefined"!=typeof t.stack.tail.head.__select__}function n(t){return o(t)&&t.get("__select__")}function r(t,e){var i,o=t.stack.head,n=t.rebase();t.stack&&t.stack.tail&&(n.stack=t.stack.tail);var r={isPending:!1,isResolved:!1,isDeferredComplete:!1,deferreds:[]};for(i in e)r[i]=e[i];return n.push({__select__:r}).push(o,t.stack.index,t.stack.of)}function s(t){var e,i;if(t.isDeferredPending=!0,t.deferreds.length)for(t.isDeferredComplete=!0,e=0,i=t.deferreds.length;ee}),gte:l("gte",function(t,e){return t>=e}),any:function(t,i,o,r){var s=n(i);return s?s.isDeferredComplete?e("any","Must not be nested inside {@any} or {@none} block","ERROR"):t=t.map(function(t){s.deferreds.push(function(){s.isResolved&&(t=t.render(o.block,i)),t.end()})}):e("any","Must be used inside a {@select} block","ERROR"),t},none:function(t,i,o,r){var s=n(i);return s?s.isDeferredComplete?e("none","Must not be nested inside {@any} or {@none} block","ERROR"):t=t.map(function(t){s.deferreds.push(function(){s.isResolved||(t=t.render(o.block,i)),t.end()})}):e("none","Must be used inside a {@select} block","ERROR"),t},size:function(e,i,o,n){var r,s,a=n.key;if(a=i.resolve(n.key),a&&a!==!0)if(t.isArray(a))r=a.length;else if(!isNaN(parseFloat(a))&&isFinite(a))r=a;else if("object"==typeof a){r=0;for(s in a)a.hasOwnProperty(s)&&r++}else r=(a+"").length;else r=0;return e.write(r)}};for(var _ in d)t.helpers[_]=d[_];return t})},{"dustjs-linkedin":3}],3:[function(_dereq_,module,exports){(function(process){!function(t,e){"function"==typeof define&&define.amd&&define.amd.dust===!0?define("dust.core",[],e):"object"==typeof exports?module.exports=e():t.dust=e()}(this,function(){function getTemplate(t,e){if(t)return"function"==typeof t&&t.template?t.template:dust.isTemplateFn(t)?t:e!==!1?dust.cache[t]:void 0}function load(t,e,i){if(!t)return e.setError(new Error("No template or template name provided to render"));var o=getTemplate(t,dust.config.cache);return o?o(e,Context.wrap(i,o.templateName)):dust.onLoad?e.map(function(e){function o(t,o){var r;if(t)return e.setError(t);if(r=getTemplate(o,!1)||getTemplate(n,dust.config.cache),!r){if(!dust.compile)return e.setError(new Error("Dust compiler not available"));r=dust.loadSource(dust.compile(o,n))}r(e,Context.wrap(i,r.templateName)).end()}var n=t;3===dust.onLoad.length?dust.onLoad(n,i.options,o):dust.onLoad(n,o)}):e.setError(new Error("Template Not Found: "+t))}function Context(t,e,i,o,n){void 0===t||t instanceof Stack||(t=new Stack(t)),this.stack=t,this.global=e,this.options=i,this.blocks=o,this.templateName=n,this._isContext=!0}function getWithResolvedData(t,e,i){return function(o){return t.push(o)._get(e,i)}}function Stack(t,e,i,o){this.tail=e,this.isObject=t&&"object"==typeof t,this.head=t,this.index=i,this.of=o}function Stub(t){this.head=new Chunk(this),this.callback=t,this.out=""}function Stream(){this.head=new Chunk(this)}function Chunk(t,e,i){this.root=t,this.next=e,this.data=[],this.flushable=!1,this.taps=i}function mapThenable(t,e,i,o,n){return t.map(function(t){e.then(function(e){try{n(t,e)}catch(i){dust.log(i,ERROR),t.setError(i)}},function(e){dust.log("Unhandled promise rejection in `"+i.getTemplateName()+"`",INFO),t.renderError(e,i,o).end()})})}function Tap(t,e){this.head=t,this.tail=e}var dust={version:"3.0.1"},NONE="NONE",ERROR="ERROR",WARN="WARN",INFO="INFO",DEBUG="DEBUG",EMPTY_FUNC=function(){};dust.config={whitespace:!1,amd:!1,cjs:!1,cache:!0},dust._aliases={write:"w",end:"e",map:"m",render:"r",reference:"f",section:"s",exists:"x",notexists:"nx",block:"b",partial:"p",helper:"h"},function(){var t,e,i={DEBUG:0,INFO:1,WARN:2,ERROR:3,NONE:4};"undefined"!=typeof console&&console.log?(t=console.log,e="function"==typeof t?function(){t.apply(console,arguments)}:function(){t(Array.prototype.slice.apply(arguments).join(" "))}):e=EMPTY_FUNC,dust.log=function(t,o){o=o||INFO,i[o]>=i[dust.debugLevel]&&(e("[DUST:"+o+"]",t),o===ERROR&&dust.debugLevel===DEBUG&&t instanceof Error&&t.stack&&e("[DUST:"+o+"]",t.stack))},dust.debugLevel=NONE,"undefined"!=typeof process&&process.env&&/\bdust\b/.test(process.env.DEBUG)&&(dust.debugLevel=DEBUG)}(),dust.helpers={},dust.cache={},dust.register=function(t,e){t&&(e.templateName=t,dust.config.cache!==!1&&(dust.cache[t]=e))},dust.render=function(t,e,i){var o=new Stub(i).head;try{load(t,o,e).end()}catch(n){o.setError(n)}},dust.stream=function(t,e){var i=new Stream,o=i.head;return dust.nextTick(function(){try{load(t,o,e).end()}catch(i){o.setError(i)}}),i},dust.loadSource=function(source){return eval(source)},Array.isArray?dust.isArray=Array.isArray:dust.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)},dust.nextTick=function(){return function(t){setTimeout(t,0)}}(),dust.isEmpty=function(t){return 0!==t&&(!(!dust.isArray(t)||t.length)||!t)},dust.isEmptyObject=function(t){var e;if(null===t)return!1;if(void 0===t)return!1;if(t.length>0)return!1;for(e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0},dust.isTemplateFn=function(t){return"function"==typeof t&&t.__dustBody},dust.isThenable=function(t){return t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof t.then},dust.isNonThenableFunction=function(t){return"function"==typeof t&&!dust.isThenable(t)},dust.isStreamable=function(t){return t&&"function"==typeof t.on&&"function"==typeof t.pipe},dust.filter=function(t,e,i,o){var n,r,s,a;if(i)for(n=0,r=i.length;n0){for(s=e.stack&&e.stack.head||{},s.$len=r,n=0;n"']/,AMP=/&/g,LT=//g,QUOT=/\"/g,SQUOT=/\'/g;dust.escapeHtml=function(t){return"string"==typeof t||t&&"function"==typeof t.toString?("string"!=typeof t&&(t=t.toString()),HCHARS.test(t)?t.replace(AMP,"&").replace(LT,"<").replace(GT,">").replace(QUOT,""").replace(SQUOT,"'"):t):t};var BS=/\\/g,FS=/\//g,CR=/\r/g,LS=/\u2028/g,PS=/\u2029/g,NL=/\n/g,LF=/\f/g,SQ=/'/g,DQ=/"/g,TB=/\t/g;return dust.escapeJs=function(t){return"string"==typeof t?t.replace(BS,"\\\\").replace(FS,"\\/").replace(DQ,'\\"').replace(SQ,"\\'").replace(CR,"\\r").replace(LS,"\\u2028").replace(PS,"\\u2029").replace(NL,"\\n").replace(LF,"\\f").replace(TB,"\\t"):t},dust.escapeJSON=function(t){return JSON?JSON.stringify(t).replace(LS,"\\u2028").replace(PS,"\\u2029").replace(LT,"\\u003c"):(dust.log("JSON is undefined; could not escape `"+t+"`",WARN),t)},dust})}).call(this,_dereq_("_process"))},{_process:6}],4:[function(t,e,i){!function(t,i){function o(t,e){var i=t.createElement("p"),o=t.getElementsByTagName("head")[0]||t.documentElement;return i.innerHTML="x",o.insertBefore(i.lastChild,o.firstChild)}function n(){var t=b.elements;return"string"==typeof t?t.split(" "):t}function r(t,e){var i=b.elements;"string"!=typeof i&&(i=i.join(" ")),"string"!=typeof t&&(t=t.join(" ")),b.elements=i+" "+t,c(e)}function s(t){var e=y[t[g]];return e||(e={},v++,t[g]=v,y[v]=e),e}function a(t,e,o){if(e||(e=i),d)return e.createElement(t);o||(o=s(e));var n;return n=o.cache[t]?o.cache[t].cloneNode():f.test(t)?(o.cache[t]=o.createElem(t)).cloneNode():o.createElem(t),!n.canHaveChildren||m.test(t)||n.tagUrn?n:o.frag.appendChild(n)}function l(t,e){if(t||(t=i),d)return t.createDocumentFragment();e=e||s(t);for(var o=e.frag.cloneNode(),r=0,a=n(),l=a.length;r",h="hidden"in t,d=1==t.childNodes.length||function(){i.createElement("a");var t=i.createDocumentFragment();return"undefined"==typeof t.cloneNode||"undefined"==typeof t.createDocumentFragment||"undefined"==typeof t.createElement}()}catch(e){h=!0,d=!0}}();var b={elements:p.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:_,shivCSS:p.shivCSS!==!1,supportsUnknownElements:d,shivMethods:p.shivMethods!==!1,type:"default",shivDocument:c,createElement:a,createDocumentFragment:l,addElements:r};t.html5=b,c(i),"object"==typeof e&&e.exports&&(e.exports=b)}("undefined"!=typeof window?window:this,document)},{}],5:[function(t,e,i){function o(){var t=window.L;n.noConflict=function(){return window.L=t,this},window.L=n}var n={version:"1.0.1"};"object"==typeof e&&"object"==typeof e.exports?e.exports=n:"function"==typeof define&&define.amd&&define(n),"undefined"!=typeof window&&o(),n.Util={extend:function(t){var e,i,o,n;for(i=1,o=arguments.length;i1}}(),n.Point=function(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e},n.Point.prototype={clone:function(){return new n.Point(this.x,this.y)},add:function(t){return this.clone()._add(n.point(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(n.point(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new n.Point(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new n.Point(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y), this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},distanceTo:function(t){t=n.point(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t=n.point(t),t.x===this.x&&t.y===this.y},contains:function(t){return t=n.point(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+n.Util.formatNum(this.x)+", "+n.Util.formatNum(this.y)+")"}},n.point=function(t,e,i){return t instanceof n.Point?t:n.Util.isArray(t)?new n.Point(t[0],t[1]):void 0===t||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new n.Point(t.x,t.y):new n.Point(t,e,i)},n.Bounds=function(t,e){if(t)for(var i=e?[t,e]:t,o=0,n=i.length;o=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=n.bounds(t);var e=this.min,i=this.max,o=t.min,r=t.max,s=r.x>=e.x&&o.x<=i.x,a=r.y>=e.y&&o.y<=i.y;return s&&a},overlaps:function(t){t=n.bounds(t);var e=this.min,i=this.max,o=t.min,r=t.max,s=r.x>e.x&&o.xe.y&&o.y0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(i)},addClass:function(t,e){if(void 0!==t.classList)for(var i=n.Util.splitWords(e),o=0,r=i.length;o=o.lat&&i.lat<=r.lat&&e.lng>=o.lng&&i.lng<=r.lng},intersects:function(t){t=n.latLngBounds(t);var e=this._southWest,i=this._northEast,o=t.getSouthWest(),r=t.getNorthEast(),s=r.lat>=e.lat&&o.lat<=i.lat,a=r.lng>=e.lng&&o.lng<=i.lng;return s&&a},overlaps:function(t){t=n.latLngBounds(t);var e=this._southWest,i=this._northEast,o=t.getSouthWest(),r=t.getNorthEast(),s=r.lat>e.lat&&o.late.lng&&o.lngthis.options.maxZoom?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),o=this._limitCenter(i,this._zoom,n.latLngBounds(t));return i.equals(o)||this.panTo(o,e),this._enforcingBounds=!1,this},invalidateSize:function(t){if(!this._loaded)return this;t=n.extend({animate:!1,pan:!0},t===!0?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),o=e.divideBy(2).round(),r=i.divideBy(2).round(),s=o.subtract(r);return s.x||s.y?(t.animate&&t.pan?this.panBy(s):(t.pan&&this._rawPanBy(s),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(n.bind(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}n.DomUtil.remove(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this._loaded&&this.fire("unload");for(var e in this._layers)this._layers[e].remove();return this},createPane:function(t,e){var i="leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),o=n.DomUtil.create("div",i,e||this._mapPane);return t&&(this._panes[t]=o),o},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new n.LatLngBounds(e,i)},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=n.latLngBounds(t),i=n.point(i||[0,0]);var o=this.getZoom()||0,r=this.getMinZoom(),s=this.getMaxZoom(),a=t.getNorthWest(),l=t.getSouthEast(),u=this.getSize().subtract(i),c=this.project(l,o).subtract(this.project(a,o)),h=n.Browser.any3d?this.options.zoomSnap:1,d=Math.min(u.x/c.x,u.y/c.y);return o=this.getScaleZoom(d,o),h&&(o=Math.round(o/(h/100))*(h/100),o=e?Math.ceil(o/h)*h:Math.floor(o/h)*h),Math.max(r,Math.min(s,o))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new n.Point(this._container.clientWidth,this._container.clientHeight),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new n.Bounds(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs;e=void 0===e?this._zoom:e;var o=i.zoom(t*i.scale(e));return isNaN(o)?1/0:o},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(n.latLng(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(n.point(t),e)},layerPointToLatLng:function(t){var e=n.point(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(n.latLng(t))._round();return e._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(n.latLng(t))},distance:function(t,e){return this.options.crs.distance(n.latLng(t),n.latLng(e))},containerPointToLayerPoint:function(t){return n.point(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return n.point(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(n.point(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(n.latLng(t)))},mouseEventToContainerPoint:function(t){return n.DomEvent.getMousePosition(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=n.DomUtil.get(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");n.DomEvent.addListener(e,"scroll",this._onScroll,this),this._containerId=n.Util.stamp(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&n.Browser.any3d,n.DomUtil.addClass(t,"leaflet-container"+(n.Browser.touch?" leaflet-touch":"")+(n.Browser.retina?" leaflet-retina":"")+(n.Browser.ielt9?" leaflet-oldie":"")+(n.Browser.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var e=n.DomUtil.getStyle(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),n.DomUtil.setPosition(this._mapPane,new n.Point(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(n.DomUtil.addClass(t.markerPane,"leaflet-zoom-hide"),n.DomUtil.addClass(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){n.DomUtil.setPosition(this._mapPane,new n.Point(0,0));var i=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var o=this._zoom!==e;this._moveStart(o)._move(t,e)._moveEnd(o),this.fire("viewreset"),i&&this.fire("load")},_moveStart:function(t){return t&&this.fire("zoomstart"),this.fire("movestart")},_move:function(t,e,i){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return n.Util.cancelAnimFrame(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){n.DomUtil.setPosition(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){if(n.DomEvent){this._targets={},this._targets[n.stamp(this._container)]=this;var e=t?"off":"on";n.DomEvent[e](this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&n.DomEvent[e](window,"resize",this._onResize,this),n.Browser.any3d&&this.options.transform3DLimit&&this[e]("moveend",this._onMoveEnd)}},_onResize:function(){n.Util.cancelAnimFrame(this._resizeRequest),this._resizeRequest=n.Util.requestAnimFrame(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,o=[],r="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,a=!1;s;){if(i=this._targets[n.stamp(s)],i&&("click"===e||"preclick"===e)&&!t._simulated&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(r&&!n.DomEvent._isExternalTarget(s,t))break;if(o.push(i),r)break}if(s===this._container)break;s=s.parentNode}return o.length||a||r||!n.DomEvent._isExternalTarget(s,t)||(o=[this]),o},_handleDOMEvent:function(t){if(this._loaded&&!n.DomEvent._skipped(t)){var e="keypress"===t.type&&13===t.keyCode?"click":t.type;"mousedown"===e&&n.DomUtil.preventOutline(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_fireDOMEvent:function(t,e,i){if("click"===t.type){var o=n.Util.extend({},t);o.type="preclick",this._fireDOMEvent(o,o.type,i)}if(!t._stopped&&(i=(i||[]).concat(this._findEventTargets(t,e)),i.length)){var r=i[0];"contextmenu"===e&&r.listens(e,!0)&&n.DomEvent.preventDefault(t);var s={originalEvent:t};if("keypress"!==t.type){var a=r instanceof n.Marker;s.containerPoint=a?this.latLngToContainerPoint(r.getLatLng()):this.mouseEventToContainerPoint(t),s.layerPoint=this.containerPointToLayerPoint(s.containerPoint),s.latlng=a?r.getLatLng():this.layerPointToLatLng(s.layerPoint)}for(var l=0;l0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),o=n.Browser.any3d?this.options.zoomSnap:1;return o&&(t=Math.round(t/o)*o),Math.max(e,Math.min(i,t))}}),n.map=function(t,e){return new n.Map(t,e)},n.Layer=n.Evented.extend({options:{pane:"overlayPane",nonBubblingEvents:[]},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[n.stamp(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[n.stamp(t)],this},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",function(){e.off(i,this)},this)}this.onAdd(e),this.getAttribution&&this._map.attributionControl&&this._map.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this})}}}),n.Map.include({addLayer:function(t){var e=n.stamp(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=n.stamp(t);return this._layers[e]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&n.stamp(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){t=t?n.Util.isArray(t)?t:[t]:[];for(var e=0,i=t.length;e1e-7;u++)e=s*Math.sin(l),e=Math.pow((1-e)/(1+e),s/2),c=Math.PI/2-2*Math.atan(a*e)-l,l+=c;return new n.LatLng(l*i,t.x*i/o)}},n.CRS.EPSG3395=n.extend({},n.CRS.Earth,{code:"EPSG:3395",projection:n.Projection.Mercator,transformation:function(){var t=.5/(Math.PI*n.Projection.Mercator.R);return new n.Transformation(t,.5,(-t),.5)}()}),n.GridLayer=n.Layer.extend({options:{tileSize:256,opacity:1,updateWhenIdle:n.Browser.mobile,updateWhenZooming:!0,updateInterval:200,attribution:null,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){n.setOptions(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),n.DomUtil.remove(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=null},bringToFront:function(){return this._map&&(n.DomUtil.toFront(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(n.DomUtil.toBack(this._container),this._setAutoZIndex(Math.min)),this},getAttribution:function(){return this.options.attribution},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=n.Util.throttle(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof n.Point?t:new n.Point(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,o=-t(-(1/0),1/0),n=0,r=i.length;nthis.options.maxZoom||io&&this._retainParent(r,s,a,o))},_retainChildren:function(t,e,i,o){for(var r=2*t;r<2*t+2;r++)for(var s=2*e;s<2*e+2;s++){var a=new n.Point(r,s);a.z=i+1;var l=this._tileCoordsToKey(a),u=this._tiles[l];u&&u.active?u.retain=!0:(u&&u.loaded&&(u.retain=!0),i+1this.options.maxZoom||void 0!==this.options.minZoom&&n1)return void this._setView(t,i);for(var d=r.min.y;d<=r.max.y;d++)for(var _=r.min.x;_<=r.max.x;_++){var p=new n.Point(_,d);if(p.z=this._tileZoom,this._isValidTile(p)){var m=this._tiles[this._tileCoordsToKey(p)];m?m.current=!0:a.push(p)}}if(a.sort(function(t,e){return t.distanceTo(s)-e.distanceTo(s)}),0!==a.length){this._loading||(this._loading=!0,this.fire("loading"));var f=document.createDocumentFragment();for(_=0;_i.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}if(!this.options.bounds)return!0;var o=this._tileCoordsToBounds(t);return n.latLngBounds(this.options.bounds).overlaps(o)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToBounds:function(t){var e=this._map,i=this.getTileSize(),o=t.scaleBy(i),r=o.add(i),s=e.unproject(o,t.z),a=e.unproject(r,t.z);return this.options.noWrap||(s=e.wrapLatLng(s),a=e.wrapLatLng(a)),new n.LatLngBounds(s,a)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new n.Point((+e[0]),(+e[1]));return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(n.DomUtil.remove(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){n.DomUtil.addClass(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=n.Util.falseFn,t.onmousemove=n.Util.falseFn,n.Browser.ielt9&&this.options.opacity<1&&n.DomUtil.setOpacity(t,this.options.opacity),n.Browser.android&&!n.Browser.android23&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,e){var i=this._getTilePos(t),o=this._tileCoordsToKey(t),r=this.createTile(this._wrapCoords(t),n.bind(this._tileReady,this,t));this._initTile(r),this.createTile.length<2&&n.Util.requestAnimFrame(n.bind(this._tileReady,this,t,null,r)),n.DomUtil.setPosition(r,i),this._tiles[o]={el:r,coords:t,current:!0},e.appendChild(r),this.fire("tileloadstart",{tile:r,coords:t})},_tileReady:function(t,e,i){if(this._map){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var o=this._tileCoordsToKey(t);i=this._tiles[o],i&&(i.loaded=+new Date,this._map._fadeAnimated?(n.DomUtil.setOpacity(i.el,0),n.Util.cancelAnimFrame(this._fadeFrame),this._fadeFrame=n.Util.requestAnimFrame(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(n.DomUtil.addClass(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),n.Browser.ielt9||!this._map._fadeAnimated?n.Util.requestAnimFrame(this._pruneTiles,this):setTimeout(n.bind(this._pruneTiles,this),250)))}},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new n.Point(this._wrapX?n.Util.wrapNum(t.x,this._wrapX):t.x,this._wrapY?n.Util.wrapNum(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new n.Bounds(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),n.gridLayer=function(t){return new n.GridLayer(t)},n.TileLayer=n.GridLayer.extend({options:{minZoom:0,maxZoom:18,maxNativeZoom:null,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,e=n.setOptions(this,e),e.detectRetina&&n.Browser.retina&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),n.Browser.android||this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return n.DomEvent.on(i,"load",n.bind(this._tileOnLoad,this,e,i)),n.DomEvent.on(i,"error",n.bind(this._tileOnError,this,e,i)),this.options.crossOrigin&&(i.crossOrigin=""),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:n.Browser.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return n.Util.template(this._url,n.extend(e,this.options))},_tileOnLoad:function(t,e){n.Browser.ielt9?setTimeout(n.bind(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var o=this.options.errorTileUrl;o&&(e.src=o),t(i,e)},getTileSize:function(){var t=this._map,e=n.GridLayer.prototype.getTileSize.call(this),i=this._tileZoom+this.options.zoomOffset,o=this.options.maxNativeZoom;return null!==o&&i>o?e.divideBy(t.getZoomScale(o,i)).round():e},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this.options,e=this._tileZoom;return t.zoomReverse&&(e=t.maxZoom-e),e+=t.zoomOffset,null!==t.maxNativeZoom?Math.min(e,t.maxNativeZoom):e},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&(e=this._tiles[t].el,e.onload=n.Util.falseFn,e.onerror=n.Util.falseFn,e.complete||(e.src=n.Util.emptyImageUrl,n.DomUtil.remove(e)))}}),n.tileLayer=function(t,e){return new n.TileLayer(t,e)},n.TileLayer.WMS=n.TileLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=n.extend({},this.defaultWmsParams);for(var o in e)o in this.options||(i[o]=e[o]);e=n.setOptions(this,e),i.width=i.height=e.tileSize*(e.detectRetina&&n.Browser.retina?2:1),this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,n.TileLayer.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToBounds(t),i=this._crs.project(e.getNorthWest()),o=this._crs.project(e.getSouthEast()),r=(this._wmsVersion>=1.3&&this._crs===n.CRS.EPSG4326?[o.y,i.x,i.y,o.x]:[i.x,o.y,o.x,i.y]).join(","),s=n.TileLayer.prototype.getTileUrl.call(this,t);return s+n.Util.getParamString(this.wmsParams,s,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return n.extend(this.wmsParams,t),e||this.redraw(),this}}),n.tileLayer.wms=function(t,e){return new n.TileLayer.WMS(t,e)},n.ImageOverlay=n.Layer.extend({options:{opacity:1,alt:"",interactive:!1,attribution:null,crossOrigin:!1},initialize:function(t,e,i){this._url=t,this._bounds=n.latLngBounds(e),n.setOptions(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(n.DomUtil.addClass(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){n.DomUtil.remove(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&n.DomUtil.toFront(this._image),this},bringToBack:function(){return this._map&&n.DomUtil.toBack(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=t,this._map&&this._reset(),this},getAttribution:function(){return this.options.attribution},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t=this._image=n.DomUtil.create("img","leaflet-image-layer "+(this._zoomAnimated?"leaflet-zoom-animated":""));t.onselectstart=n.Util.falseFn,t.onmousemove=n.Util.falseFn,t.onload=n.bind(this.fire,this,"load"),this.options.crossOrigin&&(t.crossOrigin=""),t.src=this._url,t.alt=this.options.alt},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngToNewLayerPoint(this._bounds.getNorthWest(),t.zoom,t.center);n.DomUtil.setTransform(this._image,i,e)},_reset:function(){var t=this._image,e=new n.Bounds(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();n.DomUtil.setPosition(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){n.DomUtil.setOpacity(this._image,this.options.opacity)}}),n.imageOverlay=function(t,e,i){return new n.ImageOverlay(t,e,i)},n.Icon=n.Class.extend({initialize:function(t){n.setOptions(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var o=this._createImg(i,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(o,t),o},_setIconStyles:function(t,e){var i=this.options,o=i[e+"Size"];"number"==typeof o&&(o=[o,o]);var r=n.point(o),s=n.point("shadow"===e&&i.shadowAnchor||i.iconAnchor||r&&r.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),r&&(t.style.width=r.x+"px",t.style.height=r.y+"px")},_createImg:function(t,e){return e=e||document.createElement("img"),e.src=t,e},_getIconUrl:function(t){return n.Browser.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),n.icon=function(t){return new n.Icon(t)},n.Icon.Default=n.Icon.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return n.Icon.Default.imagePath||(n.Icon.Default.imagePath=this._detectIconPath()),(this.options.imagePath||n.Icon.Default.imagePath)+n.Icon.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=n.DomUtil.create("div","leaflet-default-icon-path",document.body),e=n.DomUtil.getStyle(t,"background-image")||n.DomUtil.getStyle(t,"backgroundImage");return document.body.removeChild(t),0===e.indexOf("url")?e.replace(/^url\([\"\']?/,"").replace(/marker-icon\.png[\"\']?\)$/,""):""}}),n.Marker=n.Layer.extend({options:{icon:new n.Icon.Default,interactive:!0,draggable:!1,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",nonBubblingEvents:["click","dblclick","mouseover","mouseout","contextmenu"]},initialize:function(t,e){n.setOptions(this,e),this._latlng=n.latLng(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=n.latLng(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),o=!1;i!==this._icon&&(this._icon&&this._removeIcon(),o=!0,t.title&&(i.title=t.title),t.alt&&(i.alt=t.alt)),n.DomUtil.addClass(i,e),t.keyboard&&(i.tabIndex="0"),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var r=t.icon.createShadow(this._shadow),s=!1;r!==this._shadow&&(this._removeShadow(),s=!0),r&&n.DomUtil.addClass(r,e),this._shadow=r,t.opacity<1&&this._updateOpacity(),o&&this.getPane().appendChild(this._icon),this._initInteraction(),r&&s&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),n.DomUtil.remove(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&n.DomUtil.remove(this._shadow),this._shadow=null},_setPos:function(t){n.DomUtil.setPosition(this._icon,t),this._shadow&&n.DomUtil.setPosition(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(n.DomUtil.addClass(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),n.Handler.MarkerDrag)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new n.Handler.MarkerDrag(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;n.DomUtil.setOpacity(this._icon,t),this._shadow&&n.DomUtil.setOpacity(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)}}),n.marker=function(t,e){return new n.Marker(t,e)},n.DivIcon=n.Icon.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var e=t&&"DIV"===t.tagName?t:document.createElement("div"),i=this.options;if(e.innerHTML=i.html!==!1?i.html:"",i.bgPos){var o=n.point(i.bgPos);e.style.backgroundPosition=-o.x+"px "+-o.y+"px"}return this._setIconStyles(e,"icon"),e},createShadow:function(){return null}}),n.divIcon=function(t){return new n.DivIcon(t)},n.DivOverlay=n.Layer.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,e){n.setOptions(this,t),this._source=e},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&n.DomUtil.setOpacity(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&n.DomUtil.setOpacity(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(n.DomUtil.setOpacity(this._container,0),this._removeTimeout=setTimeout(n.bind(n.DomUtil.remove,n.DomUtil,this._container),200)):n.DomUtil.remove(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=n.latLng(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&n.DomUtil.toFront(this._container),this},bringToBack:function(){return this._map&&n.DomUtil.toBack(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=n.point(this.options.offset),i=this._getAnchor();this._zoomAnimated?n.DomUtil.setPosition(this._container,t.add(i)):e=e.add(t).add(i);var o=this._containerBottom=-e.y,r=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=o+"px",this._container.style.left=r+"px"}},_getAnchor:function(){return[0,0]}}),n.Popup=n.DivOverlay.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){n.DivOverlay.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof n.Path||this._source.on("preclick",n.DomEvent.stopPropagation))},onRemove:function(t){n.DivOverlay.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof n.Path||this._source.off("preclick",n.DomEvent.stopPropagation))},getEvents:function(){var t=n.DivOverlay.prototype.getEvents.call(this);return("closeOnClick"in this.options?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",e=this._container=n.DomUtil.create("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated");if(this.options.closeButton){var i=this._closeButton=n.DomUtil.create("a",t+"-close-button",e);i.href="#close",i.innerHTML="×",n.DomEvent.on(i,"click",this._onCloseButtonClick,this)}var o=this._wrapper=n.DomUtil.create("div",t+"-content-wrapper",e);this._contentNode=n.DomUtil.create("div",t+"-content",o),n.DomEvent.disableClickPropagation(o).disableScrollPropagation(this._contentNode).on(o,"contextmenu",n.DomEvent.stopPropagation),this._tipContainer=n.DomUtil.create("div",t+"-tip-container",e),this._tip=n.DomUtil.create("div",t+"-tip",this._tipContainer)},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var o=t.offsetHeight,r=this.options.maxHeight,s="leaflet-popup-scrolled";r&&o>r?(e.height=r+"px",n.DomUtil.addClass(t,s)):n.DomUtil.removeClass(t,s),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();n.DomUtil.setPosition(this._container,e.add(i))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var t=this._map,e=parseInt(n.DomUtil.getStyle(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,o=this._containerWidth,r=new n.Point(this._containerLeft,-i-this._containerBottom);r._add(n.DomUtil.getPosition(this._container));var s=t.layerPointToContainerPoint(r),a=n.point(this.options.autoPanPadding),l=n.point(this.options.autoPanPaddingTopLeft||a),u=n.point(this.options.autoPanPaddingBottomRight||a),c=t.getSize(),h=0,d=0;s.x+o+u.x>c.x&&(h=s.x+o-c.x+u.x),s.x-h-l.x<0&&(h=s.x-l.x),s.y+i+u.y>c.y&&(d=s.y+i-c.y+u.y),s.y-d-l.y<0&&(d=s.y-l.y),(h||d)&&t.fire("autopanstart").panBy([h,d])}},_onCloseButtonClick:function(t){this._close(),n.DomEvent.stop(t)},_getAnchor:function(){return n.point(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),n.popup=function(t,e){return new n.Popup(t,e)},n.Map.mergeOptions({closePopupOnClick:!0}),n.Map.include({openPopup:function(t,e,i){return t instanceof n.Popup||(t=new n.Popup(i).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),n.Layer.include({bindPopup:function(t,e){return t instanceof n.Popup?(n.setOptions(t,e),this._popup=t,t._source=this):(this._popup&&!e||(this._popup=new n.Popup(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){if(t instanceof n.Layer||(e=t,t=this),t instanceof n.FeatureGroup)for(var i in this._layers){t=this._layers[i];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;if(this._popup&&this._map)return n.DomEvent.stop(t),e instanceof n.Path?void this.openPopup(t.layer||t.target,t.latlng):void(this._map.hasLayer(this._popup)&&this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)}}),n.Marker.include({_getPopupAnchor:function(){return this.options.icon.options.popupAnchor||[0,0]}}),n.Tooltip=n.DivOverlay.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){n.DivOverlay.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){n.DivOverlay.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=n.DivOverlay.prototype.getEvents.call(this);return n.Browser.touch&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip",e=t+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=n.DomUtil.create("div",e)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e=this._map,i=this._container,o=e.latLngToContainerPoint(e.getCenter()),r=e.layerPointToContainerPoint(t),s=this.options.direction,a=i.offsetWidth,l=i.offsetHeight,u=n.point(this.options.offset),c=this._getAnchor();"top"===s?t=t.add(n.point(-a/2+u.x,-l+u.y+c.y)):"bottom"===s?t=t.subtract(n.point(a/2-u.x,-u.y)):"center"===s?t=t.subtract(n.point(a/2+u.x,l/2-c.y+u.y)):"right"===s||"auto"===s&&r.xl&&(r=s,l=a);l>i&&(e[r]=1,this._simplifyDPStep(t,e,i,o,r),this._simplifyDPStep(t,e,i,r,n))},_reducePoints:function(t,e){for(var i=[t[0]],o=1,n=0,r=t.length;oe&&(i.push(t[o]),n=o);return ne.max.x&&(i|=2),t.ye.max.y&&(i|=8),i},_sqDist:function(t,e){var i=e.x-t.x,o=e.y-t.y;return i*i+o*o},_sqClosestPointOnSegment:function(t,e,i,o){var r,s=e.x,a=e.y,l=i.x-s,u=i.y-a,c=l*l+u*u;return c>0&&(r=((t.x-s)*l+(t.y-a)*u)/c,r>1?(s=i.x,a=i.y):r>0&&(s+=l*r,a+=u*r)),l=t.x-s,u=t.y-a,o?l*l+u*u:new n.Point(s,a)}},n.Polyline=n.Path.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){n.setOptions(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,i,o=1/0,r=null,s=n.LineUtil._sqClosestPointOnSegment,a=0,l=this._parts.length;ae)return s=(o-e)/i,this._map.layerPointToLatLng([r.x-s*(r.x-n.x),r.y-s*(r.y-n.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=n.latLng(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new n.LatLngBounds,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return n.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=n.Polyline._flat(t),o=0,r=t.length;o=2&&e[0]instanceof n.LatLng&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){n.Polyline.prototype._setLatLngs.call(this,t),n.Polyline._flat(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return n.Polyline._flat(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new n.Point(e,e);if(t=new n.Bounds(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t)){if(this.options.noClip)return void(this._parts=this._rings);for(var o,r=0,s=this._rings.length;r';var e=t.firstChild;return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(i){return!1}}(),n.SVG.include(n.Browser.vml?{_initContainer:function(){this._container=n.DomUtil.create("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(n.Renderer.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=n.SVG.create("shape");n.DomUtil.addClass(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=n.SVG.create("path"),e.appendChild(t._path),this._updateStyle(t)},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;n.DomUtil.remove(e),t.removeInteractiveTarget(e)},_updateStyle:function(t){var e=t._stroke,i=t._fill,o=t.options,r=t._container;r.stroked=!!o.stroke,r.filled=!!o.fill,o.stroke?(e||(e=t._stroke=n.SVG.create("stroke")),r.appendChild(e),e.weight=o.weight+"px",e.color=o.color,e.opacity=o.opacity,o.dashArray?e.dashStyle=n.Util.isArray(o.dashArray)?o.dashArray.join(" "):o.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=o.lineCap.replace("butt","flat"),e.joinstyle=o.lineJoin):e&&(r.removeChild(e),t._stroke=null),o.fill?(i||(i=t._fill=n.SVG.create("fill")),r.appendChild(i),i.color=o.fillColor||o.color,i.opacity=o.fillOpacity):i&&(r.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),o=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+o+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){n.DomUtil.toFront(t._container)},_bringToBack:function(t){n.DomUtil.toBack(t._container)}}:{}),n.Browser.vml&&(n.SVG.create=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}()),n.Canvas=n.Renderer.extend({onAdd:function(){n.Renderer.prototype.onAdd.call(this),this._layers=this._layers||{},this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");n.DomEvent.on(t,"mousemove",n.Util.throttle(this._onMouseMove,32,this),this).on(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this).on(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={},n.Renderer.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),o=n.Browser.retina?2:1;n.DomUtil.setPosition(e,t.min),e.width=o*i.x,e.height=o*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",n.Browser.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_initPath:function(t){this._updateDashArray(t),this._layers[n.stamp(t)]=t},_addPath:n.Util.falseFn,_removePath:function(t){t._removed=!0,this._requestRedraw(t)},_updatePath:function(t){this._redrawBounds=t._pxBounds,this._draw(!0),t._project(),t._update(),this._draw(),this._redrawBounds=null},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(t.options.dashArray){var e,i=t.options.dashArray.split(","),o=[];for(e=0;et.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(c=!c);return c||n.Polyline.prototype._containsPoint.call(this,t,!0)},n.CircleMarker.prototype._containsPoint=function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()},n.GeoJSON=n.FeatureGroup.extend({initialize:function(t,e){n.setOptions(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,o,r=n.Util.isArray(t)?t:t.features;if(r){for(e=0,i=r.length;e100&&o<500||t.target._simulatedClick&&!t._simulated?void n.DomEvent.stop(t):(n.DomEvent._lastClick=i,void e(t))}},n.DomEvent.addListener=n.DomEvent.on,n.DomEvent.removeListener=n.DomEvent.off,n.Draggable=n.Evented.extend({options:{clickTolerance:3},statics:{START:n.Browser.touch?["touchstart","mousedown"]:["mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"}},initialize:function(t,e,i){this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(n.DomEvent.on(this._dragStartTarget,n.Draggable.START.join(" "),this._onDown,this), this._enabled=!0)},disable:function(){this._enabled&&(n.DomEvent.off(this._dragStartTarget,n.Draggable.START.join(" "),this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!n.DomUtil.hasClass(this._element,"leaflet-zoom-anim")&&!(n.Draggable._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches)&&this._enabled&&(n.Draggable._dragging=!0,this._preventOutline&&n.DomUtil.preventOutline(this._element),n.DomUtil.disableImageDrag(),n.DomUtil.disableTextSelection(),!this._moving))){this.fire("down");var e=t.touches?t.touches[0]:t;this._startPoint=new n.Point(e.clientX,e.clientY),n.DomEvent.on(document,n.Draggable.MOVE[t.type],this._onMove,this).on(document,n.Draggable.END[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled){if(t.touches&&t.touches.length>1)return void(this._moved=!0);var e=t.touches&&1===t.touches.length?t.touches[0]:t,i=new n.Point(e.clientX,e.clientY),o=i.subtract(this._startPoint);(o.x||o.y)&&(Math.abs(o.x)+Math.abs(o.y)50&&(this._positions.shift(),this._times.shift())}this._map.fire("move",t).fire("drag",t)},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.xe.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,o=this._draggable._newPos.x,n=(o-e+i)%t+e-i,r=(o+e+i)%t-e-i,s=Math.abs(n+i)0?r:-r))-e;this._delta=0,this._startTime=null,s&&("center"===t.options.scrollWheelZoom?t.setZoom(e+s):t.setZoomAround(this._lastMousePos,e+s))}}),n.Map.addInitHook("addHandler","scrollWheelZoom",n.Map.ScrollWheelZoom),n.PosAnimation=n.Evented.extend({run:function(t,e,i,o){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(o||.5,.2),this._startPos=n.DomUtil.getPosition(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=n.Util.requestAnimFrame(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var o=this.getZoomScale(e),r=this._getCenterOffset(t)._divideBy(1-1/o);return!(i.animate!==!0&&!this.getSize().contains(r))&&(n.Util.requestAnimFrame(function(){this._moveStart(!0)._animateZoom(t,e,!0)},this),!0)},_animateZoom:function(t,e,i,o){i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,n.DomUtil.addClass(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:o}),setTimeout(n.bind(this._onZoomTransitionEnd,this),250)},_onZoomTransitionEnd:function(){this._animatingZoom&&(n.DomUtil.removeClass(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),n.Util.requestAnimFrame(function(){this._moveEnd(!0)},this))}}:{}),n.Map.include({flyTo:function(t,e,i){function o(t){var e=t?-1:1,i=t?g:f,o=g*g-f*f+e*b*b*v*v,n=2*i*b*v,r=o/n,s=Math.sqrt(r*r+1)-r,a=s<1e-9?-18:Math.log(s);return a}function r(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}function a(t){return r(t)/s(t)}function l(t){return f*(s(w)/s(w+y*t))}function u(t){return f*(s(w)*a(w+y*t)-r(w))/b}function c(t){return 1-Math.pow(1-t,1.5)}function h(){var i=(Date.now()-k)/L,o=c(i)*D;i<=1?(this._flyToFrame=n.Util.requestAnimFrame(h,this),this._move(this.unproject(d.add(_.subtract(d).multiplyBy(u(o)/v)),m),this.getScaleZoom(f/l(o),m),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}if(i=i||{},i.animate===!1||!n.Browser.any3d)return this.setView(t,e,i);this._stop();var d=this.project(this.getCenter()),_=this.project(t),p=this.getSize(),m=this._zoom;t=n.latLng(t),e=void 0===e?m:e;var f=Math.max(p.x,p.y),g=f*this.getZoomScale(m,e),v=_.distanceTo(d)||1,y=1.42,b=y*y,w=o(0),k=Date.now(),D=(o(1)-w)/y,L=i.duration?1e3*i.duration:1e3*D*.8;return this._moveStart(!0),h.call(this),this},flyToBounds:function(t,e){var i=this._getBoundsCenterZoom(t,e);return this.flyTo(i.center,i.zoom,e)}}),n.extend(n.DomEvent,{_touchstart:n.Browser.msPointer?"MSPointerDown":n.Browser.pointer?"pointerdown":"touchstart",_touchend:n.Browser.msPointer?"MSPointerUp":n.Browser.pointer?"pointerup":"touchend",addDoubleTapListener:function(t,e,i){function o(t){var e;if(e=n.Browser.pointer?n.DomEvent._pointersCount:t.touches.length,!(e>1)){var i=Date.now(),o=i-(s||i);a=t.touches?t.touches[0]:t,l=o>0&&o<=u,s=i}}function r(){if(l&&!a.cancelBubble){if(n.Browser.pointer){var t,i,o={};for(i in a)t=a[i],o[i]=t&&t.bind?t.bind(a):t;a=o}a.type="dblclick",e(a),s=null}}var s,a,l=!1,u=250,c="_leaflet_",h=this._touchstart,d=this._touchend;return t[c+h+i]=o,t[c+d+i]=r,t[c+"dblclick"+i]=e,t.addEventListener(h,o,!1),t.addEventListener(d,r,!1),n.Browser.edge||t.addEventListener("dblclick",e,!1),this},removeDoubleTapListener:function(t,e){var i="_leaflet_",o=t[i+this._touchstart+e],r=t[i+this._touchend+e],s=t[i+"dblclick"+e];return t.removeEventListener(this._touchstart,o,!1),t.removeEventListener(this._touchend,r,!1),n.Browser.edge||t.removeEventListener("dblclick",s,!1),this}}),n.extend(n.DomEvent,{POINTER_DOWN:n.Browser.msPointer?"MSPointerDown":"pointerdown",POINTER_MOVE:n.Browser.msPointer?"MSPointerMove":"pointermove",POINTER_UP:n.Browser.msPointer?"MSPointerUp":"pointerup",POINTER_CANCEL:n.Browser.msPointer?"MSPointerCancel":"pointercancel",TAG_WHITE_LIST:["INPUT","SELECT","OPTION"],_pointers:{},_pointersCount:0,addPointerListener:function(t,e,i,o){return"touchstart"===e?this._addPointerStart(t,i,o):"touchmove"===e?this._addPointerMove(t,i,o):"touchend"===e&&this._addPointerEnd(t,i,o),this},removePointerListener:function(t,e,i){var o=t["_leaflet_"+e+i];return"touchstart"===e?t.removeEventListener(this.POINTER_DOWN,o,!1):"touchmove"===e?t.removeEventListener(this.POINTER_MOVE,o,!1):"touchend"===e&&(t.removeEventListener(this.POINTER_UP,o,!1),t.removeEventListener(this.POINTER_CANCEL,o,!1)),this},_addPointerStart:function(t,e,i){var o=n.bind(function(t){if("mouse"!==t.pointerType&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(this.TAG_WHITE_LIST.indexOf(t.target.tagName)<0))return;n.DomEvent.preventDefault(t)}this._handlePointer(t,e)},this);if(t["_leaflet_touchstart"+i]=o,t.addEventListener(this.POINTER_DOWN,o,!1),!this._pointerDocListener){var r=n.bind(this._globalPointerUp,this);document.documentElement.addEventListener(this.POINTER_DOWN,n.bind(this._globalPointerDown,this),!0),document.documentElement.addEventListener(this.POINTER_MOVE,n.bind(this._globalPointerMove,this),!0),document.documentElement.addEventListener(this.POINTER_UP,r,!0),document.documentElement.addEventListener(this.POINTER_CANCEL,r,!0),this._pointerDocListener=!0}},_globalPointerDown:function(t){this._pointers[t.pointerId]=t,this._pointersCount++},_globalPointerMove:function(t){this._pointers[t.pointerId]&&(this._pointers[t.pointerId]=t)},_globalPointerUp:function(t){delete this._pointers[t.pointerId],this._pointersCount--},_handlePointer:function(t,e){t.touches=[];for(var i in this._pointers)t.touches.push(this._pointers[i]);t.changedTouches=[t],e(t)},_addPointerMove:function(t,e,i){var o=n.bind(function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&this._handlePointer(t,e)},this);t["_leaflet_touchmove"+i]=o,t.addEventListener(this.POINTER_MOVE,o,!1)},_addPointerEnd:function(t,e,i){var o=n.bind(function(t){this._handlePointer(t,e)},this);t["_leaflet_touchend"+i]=o,t.addEventListener(this.POINTER_UP,o,!1),t.addEventListener(this.POINTER_CANCEL,o,!1)}}),n.Map.mergeOptions({touchZoom:n.Browser.touch&&!n.Browser.android23,bounceAtZoomLimits:!0}),n.Map.TouchZoom=n.Handler.extend({addHooks:function(){n.DomUtil.addClass(this._map._container,"leaflet-touch-zoom"),n.DomEvent.on(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){n.DomUtil.removeClass(this._map._container,"leaflet-touch-zoom"),n.DomEvent.off(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e=this._map;if(t.touches&&2===t.touches.length&&!e._animatingZoom&&!this._zooming){var i=e.mouseEventToContainerPoint(t.touches[0]),o=e.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=e.getSize()._divideBy(2),this._startLatLng=e.containerPointToLatLng(this._centerPoint),"center"!==e.options.touchZoom&&(this._pinchStartLatLng=e.containerPointToLatLng(i.add(o)._divideBy(2))),this._startDist=i.distanceTo(o),this._startZoom=e.getZoom(),this._moved=!1,this._zooming=!0,e._stop(),n.DomEvent.on(document,"touchmove",this._onTouchMove,this).on(document,"touchend",this._onTouchEnd,this),n.DomEvent.preventDefault(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),o=e.mouseEventToContainerPoint(t.touches[1]),r=i.distanceTo(o)/this._startDist;if(this._zoom=e.getScaleZoom(r,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoome.getMaxZoom()&&r>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===r)return}else{var s=i._add(o)._divideBy(2)._subtract(this._centerPoint);if(1===r&&0===s.x&&0===s.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(s),this._zoom)}this._moved||(e._moveStart(!0),this._moved=!0),n.Util.cancelAnimFrame(this._animRequest);var a=n.bind(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=n.Util.requestAnimFrame(a,this,!0),n.DomEvent.preventDefault(t)}},_onTouchEnd:function(){return this._moved&&this._zooming?(this._zooming=!1,n.Util.cancelAnimFrame(this._animRequest),n.DomEvent.off(document,"touchmove",this._onTouchMove).off(document,"touchend",this._onTouchEnd),void(this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom)))):void(this._zooming=!1)}}),n.Map.addInitHook("addHandler","touchZoom",n.Map.TouchZoom),n.Map.mergeOptions({tap:!0,tapTolerance:15}),n.Map.Tap=n.Handler.extend({addHooks:function(){n.DomEvent.on(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){n.DomEvent.off(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(n.DomEvent.preventDefault(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var e=t.touches[0],i=e.target;this._startPos=this._newPos=new n.Point(e.clientX,e.clientY),i.tagName&&"a"===i.tagName.toLowerCase()&&n.DomUtil.addClass(i,"leaflet-active"),this._holdTimeout=setTimeout(n.bind(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",e))},this),1e3),this._simulateEvent("mousedown",e),n.DomEvent.on(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),n.DomEvent.off(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var e=t.changedTouches[0],i=e.target;i&&i.tagName&&"a"===i.tagName.toLowerCase()&&n.DomUtil.removeClass(i,"leaflet-active"),this._simulateEvent("mouseup",e),this._isTapValid()&&this._simulateEvent("click",e)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new n.Point(e.clientX,e.clientY),this._simulateEvent("mousemove",e)},_simulateEvent:function(t,e){var i=document.createEvent("MouseEvents");i._simulated=!0,e.target._simulatedClick=!0,i.initMouseEvent(t,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(i)}}),n.Browser.touch&&!n.Browser.pointer&&n.Map.addInitHook("addHandler","tap",n.Map.Tap),n.Map.mergeOptions({boxZoom:!0}),n.Map.BoxZoom=n.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane},addHooks:function(){n.DomEvent.on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){n.DomEvent.off(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_resetState:function(){this._moved=!1},_onMouseDown:function(t){return!(!t.shiftKey||1!==t.which&&1!==t.button)&&(this._resetState(),n.DomUtil.disableTextSelection(),n.DomUtil.disableImageDrag(),this._startPoint=this._map.mouseEventToContainerPoint(t),void n.DomEvent.on(document,{contextmenu:n.DomEvent.stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this))},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=n.DomUtil.create("div","leaflet-zoom-box",this._container),n.DomUtil.addClass(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new n.Bounds(this._point,this._startPoint),i=e.getSize();n.DomUtil.setPosition(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(n.DomUtil.remove(this._box),n.DomUtil.removeClass(this._container,"leaflet-crosshair")),n.DomUtil.enableTextSelection(),n.DomUtil.enableImageDrag(),n.DomEvent.off(document,{contextmenu:n.DomEvent.stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){setTimeout(n.bind(this._resetState,this),0);var e=new n.LatLngBounds(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}}),n.Map.addInitHook("addHandler","boxZoom",n.Map.BoxZoom),n.Map.mergeOptions({keyboard:!0,keyboardPanDelta:80}),n.Map.Keyboard=n.Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),n.DomEvent.on(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),n.DomEvent.off(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,e=document.documentElement,i=t.scrollTop||e.scrollTop,o=t.scrollLeft||e.scrollLeft;this._map._container.focus(),window.scrollTo(o,i)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,i,o=this._panKeys={},n=this.keyCodes;for(e=0,i=n.left.length;e0&&t.screenY>0&&this._map.getContainer().focus()}}),n.control=function(t){return new n.Control(t)},n.Map.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){function t(t,r){var s=i+t+" "+i+r;e[t+r]=n.DomUtil.create("div",s,o)}var e=this._controlCorners={},i="leaflet-",o=this._controlContainer=n.DomUtil.create("div",i+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){n.DomUtil.remove(this._controlContainer)}}),n.Control.Zoom=n.Control.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"-",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=n.DomUtil.create("div",e+" leaflet-bar"),o=this.options;return this._zoomInButton=this._createButton(o.zoomInText,o.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(o.zoomOutText,o.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,o,r){var s=n.DomUtil.create("a",i,o);return s.innerHTML=t,s.href="#",s.title=e,n.DomEvent.on(s,"mousedown dblclick",n.DomEvent.stopPropagation).on(s,"click",n.DomEvent.stop).on(s,"click",r,this).on(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";n.DomUtil.removeClass(this._zoomInButton,e),n.DomUtil.removeClass(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&&n.DomUtil.addClass(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&&n.DomUtil.addClass(this._zoomInButton,e)}}),n.Map.mergeOptions({zoomControl:!0}),n.Map.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new n.Control.Zoom,this.addControl(this.zoomControl))}),n.control.zoom=function(t){return new n.Control.Zoom(t)},n.Control.Attribution=n.Control.extend({options:{position:"bottomright",prefix:'Leaflet'},initialize:function(t){n.setOptions(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=n.DomUtil.create("div","leaflet-control-attribution"),n.DomEvent&&n.DomEvent.disableClickPropagation(this._container);for(var e in t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(" | ")}}}),n.Map.mergeOptions({attributionControl:!0}),n.Map.addInitHook(function(){this.options.attributionControl&&(new n.Control.Attribution).addTo(this)}),n.control.attribution=function(t){return new n.Control.Attribution(t)},n.Control.Scale=n.Control.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=n.DomUtil.create("div",e),o=this.options;return this._addScales(o,e+"-line",i),t.on(o.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=n.DomUtil.create("div",e,i)),t.imperial&&(this._iScale=n.DomUtil.create("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km"; this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,o,n=3.2808399*t;n>5280?(e=n/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(o=this._getRoundNum(n),this._updateScale(this._iScale,o+" ft",o/n))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1,e*i}}),n.control.scale=function(t){return new n.Control.Scale(t)},n.Control.Layers=n.Control.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1},initialize:function(t,e,i){n.setOptions(this,i),this._layers=[],this._lastZIndex=0,this._handlingClick=!1;for(var o in t)this._addLayer(t[o],o);for(o in e)this._addLayer(e[o],o,!0)},onAdd:function(t){return this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this),this._container},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(n.stamp(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,e){var i='",o=document.createElement("div");return o.innerHTML=i,o.firstChild},_addItem:function(t){var e,i=document.createElement("label"),o=this._map.hasLayer(t.layer);t.overlay?(e=document.createElement("input"),e.type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=o):e=this._createRadioElement("leaflet-base-layers",o),e.layerId=n.stamp(t.layer),n.DomEvent.on(e,"click",this._onInputClick,this);var r=document.createElement("span");r.innerHTML=" "+t.name;var s=document.createElement("div");i.appendChild(s),s.appendChild(e),s.appendChild(r);var a=t.overlay?this._overlaysList:this._baseLayersList;return a.appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){var t,e,i,o=this._form.getElementsByTagName("input"),n=[],r=[];this._handlingClick=!0;for(var s=o.length-1;s>=0;s--)t=o[s],e=this._getLayer(t.layerId).layer,i=this._map.hasLayer(e),t.checked&&!i?n.push(e):!t.checked&&i&&r.push(e);for(s=0;s=0;n--)t=i[n],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&oe.options.maxZoom},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),n.control.layers=function(t,e,i){return new n.Control.Layers(t,e,i)},n.Map.include({_defaultLocateOptions:{timeout:1e4,watch:!1},locate:function(t){if(t=this._locateOptions=n.extend({},this._defaultLocateOptions,t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=n.bind(this._handleGeolocationResponse,this),i=n.bind(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(t){var e=t.coords.latitude,i=t.coords.longitude,o=new n.LatLng(e,i),r=o.toBounds(t.coords.accuracy),s=this._locateOptions;if(s.setView){var a=this.getBoundsZoom(r);this.setView(o,s.maxZoom?Math.min(a,s.maxZoom):a)}var l={latlng:o,bounds:r,timestamp:t.timestamp};for(var u in t.coords)"number"==typeof t.coords[u]&&(l[u]=t.coords[u]);this.fire("locationfound",l)}})},{}],6:[function(t,e,i){function o(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function r(t){if(h===setTimeout)return setTimeout(t,0);if((h===o||!h)&&setTimeout)return h=setTimeout,setTimeout(t,0);try{return h(t,0)}catch(e){try{return h.call(null,t,0)}catch(e){return h.call(this,t,0)}}}function s(t){if(d===clearTimeout)return clearTimeout(t);if((d===n||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(t);try{return d(t)}catch(e){try{return d.call(null,t)}catch(e){return d.call(this,t)}}}function a(){f&&p&&(f=!1,p.length?m=p.concat(m):g=-1,m.length&&l())}function l(){if(!f){var t=r(a);f=!0;for(var e=m.length;e;){for(p=m,m=[];++g1)for(var i=1;i0&&t=this.scroller[this.origin.scrollSize]?c(this.root).removeClass(this.barOnCls):c(this.root).addClass(this.barOnCls))},this._pos0=function(t){_=this.cursor(t)-d},this.drag=function(t){this.scroller[this.origin.scroll]=a.call(this,this.cursor(t)-_)*(this.scroller[this.origin.scrollSize]-this.scroller[this.origin.client])},this.selection=function(t){this.event(document,"selectpos selectstart",u,t?"off":"on")},this.resize=function(){function e(){var e=i.scroller[i.origin.crossOffset]-i.scroller[i.origin.crossClient];t.freeze&&!i.clipper.style[i.origin.crossSize]&&c(i.clipper).css(i.origin.crossSize,i.clipper[i.origin.crossClient]-e+"px"),c(i.scroller).css(i.origin.crossSize,i.clipper[i.origin.crossClient]+e+"px"),Array.prototype.unshift.call(arguments,"resize"),l.apply(i,arguments),y=(new Date).getTime()}var i=this,o=0;(new Date).getTime()-yc[d]+a-l.radius?(t=2,i=u[d]+a):(t=3,i=e),t!=n[d]&&(o.call(this,d,i),n[d]=t,r=!0);if(r)for(d=0;di+r.bar[r.origin.offset]&&(o=1);var s=r.pos()+o*n*r.scroller[r.origin.client];r.pos(s)}))};_.fn.controls=function(t){for(var e=0;this[e];)f.call(this[e],t),e++;return this};var g=function(t){function e(){return g.scroller[g.origin.scroll]+g.scroller[g.origin.offset]}function i(){return g.scroller[g.origin.scrollSize]}function o(){return g.scroller[g.origin.client]}function n(t,e){var i=5e-4*t;return Math.floor(e-i*(t+550))}function r(t){c=t,t?(s(),a=setInterval(s,200)):clearInterval(a)}function s(){var s,a,c={},k=e(),D=i(),L=1==v;if(a=0,v>0&&(a=40),s=n(b,a),k>=D-b&&v>-1?L&&(b+=s):b=0,b<0&&(b=0),c[d]=b+"px",o()<=i()){g.$(h).css(c);for(var x=0;x_&&!u&&(p(),u=!0),0==b?y++:y=0,y>1&&(r(!1),u=!1,f&&g.$(g.root).removeClass(f))}var a,l,u,c,h=this.$(t.block),d=t.size||this.origin.size,_=t.limit||80,p=t.onExpand,m=t.elements||[],f=t.inProgress||"",g=this,v=0,y=0,b=0,w=t.waiting||500;this.on("init",function(){r(!0)}),this.on("dispose",function(){r(!1)}),this.event(this.scroller,"mousewheel DOMMouseScroll",function(t){var o=t.wheelDelta<0||t.originalEvent&&t.originalEvent.wheelDelta<0||t.detail>0;o&&(v=1,clearTimeout(l),!c&&e()>=i()&&r(!0))})};_.fn.pull=function(t){for(var e=0;this[e];)g.call(this[e],t),e++;return this}}}(window)},{}]},{},[1]); //# sourceMappingURL=script.full.js.map