{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/bootstrap-vue/esm/components/aspect/aspect.js","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-img.js","webpack:///./src/@core/comp-functions/forms/form-validation.js","webpack:///./node_modules/leaflet/dist/images/marker-icon-2x.png","webpack:///./node_modules/leaflet/dist/images/marker-icon.png","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue?26d7","webpack:///./node_modules/bootstrap-vue/esm/components/skeleton/skeleton-wrapper.js","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue?d57a","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue?2793","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./src/components/av-skeleton/table/AvSkeletonTable.vue?348c","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue","webpack:///./node_modules/vue2-leaflet/dist/components/LMap.js","webpack:///./node_modules/vue2-leaflet/dist/components/LTileLayer.js","webpack:///./node_modules/vue2-leaflet/dist/components/LMarker.js","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue?c552","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue?6103","webpack:///./src/views/admin-panel/dealerships/dealerships-add-edit/DealershipsAddEdit.vue?23b8","webpack:///./src/components/av-skeleton/cards/AvSkeletonCard.vue","webpack:///./src/components/av-skeleton/cards/AvSkeletonCard.vue?2627","webpack:///./src/components/av-skeleton/cards/AvSkeletonCard.vue?9424","webpack:///./src/components/av-skeleton/cards/AvSkeletonCard.vue?876c","webpack:///./src/components/av-skeleton/inputs/AvSkeletonInput.vue","webpack:///./src/components/av-skeleton/inputs/AvSkeletonInput.vue?4009","webpack:///./src/components/av-skeleton/inputs/AvSkeletonInput.vue?5170","webpack:///./src/components/av-skeleton/inputs/AvSkeletonInput.vue?0d39","webpack:///./src/components/av-skeleton/media-tabs/AvSkeletonMediaTabs.vue","webpack:///./src/components/av-skeleton/media-tabs/AvSkeletonMediaTabs.vue?c6ab","webpack:///./src/components/av-skeleton/media-tabs/AvSkeletonMediaTabs.vue?3496","webpack:///./src/components/av-skeleton/media-tabs/AvSkeletonMediaTabs.vue?f81f","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue?22e0","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue?5410","webpack:///./src/components/av-skeleton/structures/AvSkeletonBoard.vue?b5f4","webpack:///./src/components/av-skeleton/table/AvSkeletonTable.vue","webpack:///src/components/av-skeleton/table/AvSkeletonTable.vue","webpack:///./src/components/av-skeleton/table/AvSkeletonTable.vue?cf7a","webpack:///./src/components/av-skeleton/table/AvSkeletonTable.vue?90fd","webpack:///./src/components/av-skeleton/vertical-nav-menu/AvSkeletonVerticalNavMenu.vue","webpack:///./src/components/av-skeleton/vertical-nav-menu/AvSkeletonVerticalNavMenu.vue?770e","webpack:///./src/components/av-skeleton/vertical-nav-menu/AvSkeletonVerticalNavMenu.vue?f5fd","webpack:///./src/components/av-skeleton/vertical-nav-menu/AvSkeletonVerticalNavMenu.vue?dafe","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue?4f0b","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue?8900","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartBar.vue?c772","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue?ac76","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue?d474","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue?14ee","webpack:///./node_modules/leaflet/dist/leaflet-src.js","webpack:///./node_modules/leaflet/dist/images/marker-shadow.png","webpack:///./src/components/av-skeleton/charts/AvSkeletonChartPie.vue?bba0"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","props","animation","height","size","type","variant","width","BSkeleton","extend","name","functional","render","h","_ref","_class","data","staticClass","style","class","concat","id","inline","novalidate","validated","BForm","children","attrs","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","Array","from","test","len","length","arr2","Symbol","iterator","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","err","isArray","CLASS_NAME","aspect","tag","BAspect","mixins","computed","padding","this","ratio","_aspect$split$map","split","map","v","_aspect$split$map2","math","$sizer","paddingBottom","$content","marginLeft","normalizeSlot","cardImg","noAspect","BSkeletonImg","$img","formValidation","resetFormData","clearFormData","arguments","refFormObserver","ref","resetObserver","_refFormObserver$valu","reset","getValidationState","dirty","fieldRequired","required","changed","_ref$valid","valid","result","resetForm","nextTick","clearForm","module","exports","loading","BSkeletonWrapper","slots","scopedSlots","$slots","$scopedSlots","slotScope","role","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","apply","_objectSpread","target","source","forEach","getOwnPropertyDescriptors","defineProperties","BFormRadio","inject","bvGroup","default","watch","computedLocalChecked","newValue","oldValue","$emit","_vm","_c","_self","_setupProxy","_v","_u","fn","invalid","on","$event","preventDefault","onSubmit","fieldControl","CNPJ","optional","validationContext","slot","loadingDealership","validatingCnpj","checkStateCnpj","saving","cnpjExist","model","dealershipLocal","callback","$$v","$set","expression","errors","Codigo","Cadastrada","limitDigits","RazaoSocial","NomeFantasia","GrupoEmpresaId","groupTitle","loadingGroup","$store","state","appConfig","isRTL","groupOptions","reduceOptionValue","Matriz","Status","confirmationOptions","getAtivoMd","DataCancelamento","CodigoFaturamento","faturarCodigoBir","PendenciaFinanceira","financeOptions","EmailFaturamento","Observacoes","Site","Email","Mail","Telefone","InscricaoEstadual","InscricaoMunicipal","DataInauguracao","DataNomeacao","Associada","Montadora","showLocationInfo","CEP","Logradouro","Numero","Bairro","Complemento","EstadoId","loadingState","stateOptions","MunicipioId","loadingCities","RegiaoOperacionalNome","municipioOptions","changeCityId","cityId","AreaInfluenciaNome","Coordenadas","loadingCoordenates","searchAddress","searchCoordinates","coordinates","zoom","center","url","updateCoordinates","staticRenderFns","debounce","time","timeout","args","context","clearTimeout","setTimeout","capitalizeFirstLetter","string","charAt","toUpperCase","propsBinder","vueElement","leafletElement","options","loop","setMethodName","deepValue","custom","$watch","newVal","oldVal","deep","collectionCleaner","optionsMerger","instance","defaultProps","$options","def","console","warn","Options","script","bounds","maxBounds","Number","minZoom","maxZoom","paddingBottomRight","paddingTopLeft","worldCopyJump","Boolean","crs","EPSG3857","maxBoundsViscosity","inertia","inertiaDeceleration","inertiaMaxSpeed","easeLinearity","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","noBlockingAnimations","ready","lastSetCenter","lastSetBounds","lastSetZoom","layerControl","layersToAdd","layersInControl","fitBoundsOptions","animate","beforeDestroy","mapObject","remove","mounted","this$1","$el","setBounds","moveEndHandler","overlayAddHandler","overlayRemoveHandler","$listeners","$nextTick","methods","registerLayerControl","lControlLayers","addControl","layer","addLayer","alreadyAdded","layerType","exist","find","l","_leaflet_id","visible","hideLayer","removeLayer","alreadyRemoved","setZoom","setCenter","newCenter","oldCenter","getCenter","lat","lng","panTo","newBounds","isValid","oldBounds","getBounds","boundsChanged","equals","fitBounds","setPaddingBottomRight","setPaddingTopLeft","setPadding","setCrs","log","getZoom","e","updateVisibleProp","normalizeComponent","template","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","_compiled","_scopeId","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","shadowRoot","originalRender","existing","beforeCreate","HEAD","isOldIE","navigator","userAgent","toLowerCase","addStyle","styles","css","group","media","ids","Set","has","code","sources","btoa","unescape","encodeURIComponent","JSON","stringify","element","document","createElement","setAttribute","head","getElementsByTagName","appendChild","styleSheet","cssText","join","index","textNode","createTextNode","nodes","childNodes","removeChild","insertBefore","__vue_script__","__vue_render__","_h","$createElement","_t","__vue_staticRenderFns__","__vue_inject_styles__","__vue_scope_id__","__vue_module_identifier__","__vue_is_functional_template__","__vue_component__","findRealParent","firstVueParent","found","$parent","Layer","pane","String","attribution","layerOptions","unbindPopup","unbindTooltip","parentContainer","setAttribution","val","old","attributionControl","removeAttribution","addAttribution","setName","setLayerType","setVisible","isVisible","tooltip","getTooltip","popup","getPopup","GridLayer","opacity","zIndex","tileSize","noWrap","gridLayerOptions","assign","TileLayerMixin","tms","subdomains","detectRetina","tileLayerOptions","tileLayerClass","Function","draggable","latLng","icon","Default","zIndexOffset","latLngSync","setDraggable","dragging","enable","disable","setLatLng","oldLatLng","getLatLng","newLatLng","event","latlng","display","Icon","_getIconUrl","mergeOptions","iconRetinaUrl","require","iconUrl","shadowUrl","DealershipsEdit","_Vue","_this","_classCallCheck","params","GRUPO_EMPRESA_TITLE","dealershipId","editing","geocodeEndpoint","apiKey","label","$refs","validCnpj","option","_inherits","_createClass","get","Estado","Municipio","$route","fetchGetDealershipById","getStates","getGroups","useDealerships","getFieldControl","_this2","useState","requestGetCityByStateId","then","response","Data","city","Id","CidadeCodigoIbge","CodigoIbge","Nome","area","region","ibgeCode","catch","$toast","component","ToastificationContent","title","finally","Latitude","Longitude","mapRef","setView","cpnj","_this3","regexApenasNumeros","cpnjSanatize","replace","requestValidCnpj","isValidCnpj","_this4","requestGet","_this5","requestList","paginar","municipios","keyCode","which","inputValue","fromCharCode","_this6","useGroup","requestListGroup","draw","paginate","_this7","fetch","json","results","_data$results$0$geome","geometry","location","_this8","validate","success","business","municipioId","grupoEmpresaId","cnpj","razaoSocial","nomeFantasia","montadora","ativo","associada","codigo","cadastrada","telefone","mail","emailFaturamento","site","inscricaoEstadual","inscricaoMunicipal","dataInauguracao","dataNomeacao","dataCancelamento","pendenciaFinanceira","codigoFaturamento","matriz","observacoes","endereco","Endereco","enderecoId","EnderecoId","cep","logradouro","numero","complemento","bairro","cidadeCodigoIbge","latitude","longitude","requestUpdate","$router","error","text","Errors","reduce","accumulator","currentValue","str","requestCreate","querySelectorAll","y","getBoundingClientRect","top","window","scrollY","scroll","behavior","Vue","__decorate","Watch","Component","components","BCard","BRow","BCol","BFormInput","BFormGroup","BButton","BInputGroup","BInputGroupAppend","BFormInvalidFeedback","vSelect","LMap","LTileLayer","LMarker","ValidationProvider","ValidationObserver","AvButton","AvSkeletonInput","directives","Ripple","staticStyle","AvSkeletonCard","_callSuper","AvIcon","AvSkeletonMediaTabs","_l","quantity","AvSkeletonBoard","Prop","AvSkeletonTable","_dec","AvCard","AvSkeletonVerticalNavMenu","columns","generateColumnHeight","AvSkeletonChartBar","Math","round","random","AvSkeletonChartPie","global","factory","version","freeze","dest","j","src","create","F","proto","bind","lastId","stamp","throttle","lock","wrapperFn","later","wrapNum","x","range","includeMax","max","min","d","falseFn","formatNum","num","digits","pow","trim","splitWords","setOptions","hasOwnProperty","getParamString","existingUrl","uppercase","indexOf","templateRe","Error","array","el","emptyImageUrl","getPrefixed","lastTime","timeoutDefer","Date","timeToCall","requestFn","requestAnimationFrame","cancelFn","cancelAnimationFrame","requestAnimFrame","immediate","cancelAnimFrame","Util","Class","checkDeprecatedMixinEvents","includes","L","Mixin","Events","stack","NewClass","initialize","callInitHooks","parentProto","__super__","statics","_initHooks","_initHooksCalled","include","addInitHook","init","types","_on","off","_off","_events","typeListeners","newListener","ctx","listeners","_firingCount","splice","fire","propagate","listens","sourceTarget","_propagateEvent","_eventParents","once","handler","addEventParent","removeEventParent","propagatedFrom","addEventListener","removeEventListener","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Evented","Point","trunc","floor","ceil","toPoint","Bounds","a","b","points","toBounds","LatLngBounds","corner1","corner2","latlngs","toLatLngBounds","LatLng","alt","isNaN","toLatLng","c","lon","clone","point","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_round","_floor","_ceil","_trunc","distanceTo","sqrt","contains","abs","getBottomLeft","getTopRight","getTopLeft","getBottomRight","getSize","intersects","min2","max2","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","sw2","ne2","sw","_southWest","ne","_northEast","pad","bufferRatio","heightBuffer","widthBuffer","getSouthWest","getNorthEast","getNorthWest","getNorth","getWest","getSouthEast","getSouth","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","margin","precision","other","Earth","distance","wrap","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","cos","PI","CRS","latLngToPoint","projectedPoint","projection","project","scale","transformation","_transform","pointToLatLng","untransformedPoint","untransform","unproject","LN2","getProjectedBounds","infinite","s","transform","wrapLng","wrapLat","wrapLatLngBounds","latShift","lngShift","newSw","newNe","R","latlng1","latlng2","rad","lat1","lat2","sinDLat","sin","sinDLon","atan2","earthRadius","SphericalMercator","MAX_LATITUDE","atan","exp","Transformation","_a","_b","toTransformation","EPSG900913","svgCreate","createElementNS","pointsToPath","rings","closed","len2","p","svg","style$1","documentElement","ie","ielt9","edge","webkit","userAgentContains","android","android23","webkitVer","parseInt","exec","androidStock","opera","chrome","gecko","safari","phantom","opera12","win","platform","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","mobile","orientation","mobileWebkit","mobileWebkit3d","msPointer","PointerEvent","MSPointerEvent","pointer","touch","L_NO_TOUCH","DocumentTouch","mobileOpera","mobileGecko","retina","devicePixelRatio","screen","deviceXDPI","logicalXDPI","passiveEvents","supportsPassiveOption","opts","canvas","getContext","createSVGRect","vml","div","innerHTML","shape","firstChild","adj","Browser","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","TAG_WHITE_LIST","_pointers","_pointerDocListener","_pointersCount","addPointerListener","_addPointerStart","_addPointerMove","_addPointerEnd","removePointerListener","onDown","pointerType","MSPOINTER_TYPE_MOUSE","tagName","_handlePointer","_globalPointerDown","_globalPointerMove","_globalPointerUp","pointerId","touches","changedTouches","onMove","buttons","onUp","_touchstart","_touchend","_pre","addDoubleTapListener","last","touch$$1","doubleTap","delay","onTouchStart","count","now","delta","onTouchEnd","cancelBubble","prop","newTouch","button","passive","removeDoubleTapListener","touchstart","touchend","dblclick","disableTextSelection","enableTextSelection","_userSelect","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION","TRANSITION_END","getElementById","getStyle","currentStyle","defaultView","getComputedStyle","create$1","className","container","parentNode","empty","toFront","lastChild","toBack","hasClass","classList","getClass","RegExp","addClass","classes","setClass","removeClass","baseVal","correspondingElement","setOpacity","_setOpacityIE","filterName","filters","item","Enabled","Opacity","setTransform","offset","pos","setPosition","_leaflet_pos","left","getPosition","userSelectProperty","disableImageDrag","enableImageDrag","preventOutline","tabIndex","restoreOutline","outline","getSizedParentNode","offsetWidth","offsetHeight","body","getScale","rect","boundingClientRect","DomUtil","addOne","eventsKey","removeOne","originalHandler","isExternalTarget","filterClick","attachEvent","detachEvent","stopPropagation","originalEvent","_stopped","skipped","disableScrollPropagation","disableClickPropagation","fakeStop","returnValue","stop","getMousePosition","clientX","clientY","clientLeft","clientTop","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaY","deltaMode","deltaX","deltaZ","wheelDelta","detail","lastClick","skipEvents","events","related","relatedTarget","timeStamp","elapsed","_simulatedClick","_simulated","DomEvent","addListener","removeListener","PosAnimation","run","newPos","duration","_el","_inProgress","_duration","_easeOutPower","_startPos","_offset","_startTime","_animate","_step","_complete","_animId","_runFrame","_easeOut","progress","t","Map","layers","renderer","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_layers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","_initEvents","setMaxBounds","_zoom","_limitZoom","_zoomAnimated","_createAnimProxy","_proxy","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","pan","moved","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","zoomIn","zoomOut","setZoomAround","getZoomScale","viewHalf","containerPoint","latLngToContainerPoint","centerOffset","containerPointToLatLng","_getBoundsCenterZoom","paddingTL","paddingBR","getBoundsZoom","Infinity","paddingOffset","swPoint","nePoint","fitWorld","panBy","_panAnim","_onPanTransitionStep","_onPanTransitionEnd","noMoveStart","_mapPane","_getMapPanePos","_rawPanBy","flyTo","targetCenter","targetZoom","to","startZoom","w0","w1","u1","rho","rho2","r","s1","s2","t1","b1","sq","sinh","cosh","tanh","r0","w","u","easeOut","start","S","frame","_flyToFrame","_move","getScaleZoom","_moveEnd","_moveStart","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","halfPixelBounds","paddedBounds","diff","invalidateSize","oldSize","_lastCenter","newSize","debounceMoveend","locate","_locateOptions","_handleGeolocationError","message","onResponse","_handleGeolocationResponse","onError","_locationWatchId","geolocation","watchPosition","getCurrentPosition","stopLocate","clearWatch","coords","accuracy","timestamp","addHandler","HandlerClass","_containerId","_container","_clearControlPos","_resizeRequest","_clearHandlers","_panes","_renderer","createPane","_checkIfLoaded","_moved","layerPointToLatLng","_getCenterLayerPoint","getMinZoom","_layersMinZoom","getMaxZoom","_layersMaxZoom","inside","nw","se","boundsSize","snap","scalex","scaley","_size","clientWidth","clientHeight","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getPanes","getContainer","toZoom","fromZoom","latLngToLayerPoint","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","mouseEventToLayerPoint","mouseEventToLatLng","_onScroll","_fadeAnimated","position","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","zoomChanged","_getNewPixelOrigin","pinch","_getZoomSpan","remove$$1","_targets","onOff","_handleDOMEvent","_onMoveEnd","scrollTop","scrollLeft","_findEventTargets","targets","isHover","srcElement","_draggableMoved","_fireDOMEvent","_mouseEvents","synth","isMarker","_radius","bubblingMouseEvents","enabled","boxZoom","whenReady","pixelOrigin","_latLngToNewLayerPoint","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","pxBounds","projectedMaxBounds","minOffset","maxOffset","dx","_rebound","dy","right","proxy","mapPane","_animatingZoom","_onZoomTransitionEnd","_animMoveEnd","_destroyAnimProxy","z","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","createMap","Control","_map","removeControl","addTo","onAdd","corner","_controlCorners","onRemove","_refocusOnMap","screenX","screenY","focus","control","corners","_controlContainer","createCorner","vSide","hSide","Layers","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_addLayer","_update","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","_getLayer","expand","_section","acceptableHeight","offsetTop","collapse","section","mouseenter","mouseleave","link","_layersLink","href","_baseLayersList","_separator","_overlaysList","overlay","sort","setZIndex","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","_createRadioElement","checked","radioHtml","radioFragment","input","hasLayer","defaultChecked","layerId","_onInputClick","holder","inputs","addedLayers","removedLayers","disabled","_expand","_collapse","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","_disabled","shiftKey","html","zoomControl","Scale","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","miles","feet","maxFeet","pow10","Attribution","prefix","_attributions","getAttribution","setPrefix","attribs","prefixAndAttribs","Handler","_enabled","addHooks","removeHooks","_lastCode","START","END","mousedown","pointerdown","MSPointerDown","MOVE","Draggable","clickTolerance","dragStartTarget","preventOutline$$1","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","_moving","first","sizedParent","_startPoint","_parentScale","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_animRequest","_lastEvent","_updatePosition","simplify","tolerance","sqTolerance","_reducePoints","_simplifyDP","pointToSegmentDistance","p1","p2","_sqClosestPointOnSegment","closestPointOnSegment","ArrayConstructor","Uint8Array","markers","_simplifyDPStep","newPoints","sqDist","maxSqDist","reducedPoints","prev","_sqDist","clipSegment","useLastCode","codeOut","newCode","codeA","_getBitCode","codeB","_getEdgeIntersection","dot","isFlat","_flat","LineUtil","clipPolygon","clippedPoints","k","edges","_code","PolyUtil","LonLat","Mercator","R_MINOR","tmp","con","ts","tan","phi","dphi","EPSG3395","EPSG4326","Simple","removeFrom","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","getEvents","beforeAdd","eachLayer","method","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","LayerGroup","getLayerId","clearLayers","invoke","methodName","getLayer","getLayers","layerGroup","FeatureGroup","setStyle","bringToFront","bringToBack","featureGroup","popupAnchor","tooltipAnchor","createIcon","oldIcon","_createIcon","createShadow","img","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","marginTop","IconDefault","iconSize","shadowSize","imagePath","_detectIconPath","path","MarkerDrag","marker","_marker","_icon","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","drag","_onDrag","dragend","_onDragEnd","_adjustPan","speed","autoPanSpeed","autoPanPadding","iconPos","origin","panBounds","movement","_panRequest","_oldLatLng","closePopup","autoPan","shadow","_shadow","_latlng","Marker","interactive","keyboard","riseOnHover","riseOffset","_initIcon","update","_removeIcon","_removeShadow","viewreset","setZIndexOffset","getIcon","setIcon","_popup","bindPopup","getElement","_setPos","classToAdd","addIcon","mouseover","_bringToFront","mouseout","_resetZIndex","newShadow","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","_getPopupAnchor","_getTooltipAnchor","Path","stroke","color","weight","lineCap","lineJoin","dashArray","dashOffset","fill","fillColor","fillOpacity","fillRule","getRenderer","_initPath","_reset","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_path","_project","_clickTolerance","CircleMarker","radius","setRadius","getRadius","_point","r2","_radiusY","_pxBounds","_updateCircle","_empty","_bounds","_containsPoint","circleMarker","Circle","legacyOptions","_mRadius","half","latR","bottom","lngR","acos","circle","Polyline","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minDistance","minPoint","closest","jLen","_parts","halfDist","segDist","dist","_rings","addLatLng","_defaultShape","_convertLatLngs","flat","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","parts","_simplifyPoints","_updatePoly","part","polyline","Polygon","f","pop","clipped","polygon","GeoJSON","geojson","addData","feature","features","geometries","geometryToLayer","asFeature","defaultOptions","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","_pointToLayer","coordsToLatLngs","properties","pointToLayerFn","markersInheritOptions","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","geoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","geoJson","ImageOverlay","crossOrigin","errorOverlayUrl","_url","_image","_initImage","styleOpts","setUrl","zoomanim","wasElementSupplied","onselectstart","onmousemove","onload","onerror","_overlayOnError","image","errorUrl","imageOverlay","VideoOverlay","autoplay","keepAspectRatio","vid","onloadeddata","sourceElements","videoOverlay","video","SVGOverlay","svgOverlay","DivOverlay","_source","_removeTimeout","getContent","_content","setContent","content","visibility","_updateContent","_updateLayout","isOpen","_prepareOpen","node","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","Popup","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","openOn","openPopup","closeOnClick","closePopupOnClick","preclick","_close","moveend","wrapper","_wrapper","_tipContainer","_tip","_closeButton","_onCloseButtonClick","whiteSpace","scrolledClass","marginBottom","containerHeight","containerWidth","layerPos","containerPos","_popupHandlersAdded","click","_openPopup","keypress","_onKeyPress","move","_movePopup","togglePopup","isPopupOpen","setPopupContent","Tooltip","direction","permanent","sticky","closeTooltip","_setPosition","tooltipPoint","tooltipWidth","tooltipHeight","openTooltip","bindTooltip","_tooltip","_initTooltipInteractions","_tooltipHandlersAdded","_moveTooltip","_openTooltip","mousemove","toggleTooltip","isTooltipOpen","setTooltipContent","DivIcon","bgPos","Element","backgroundPosition","divIcon","updateWhenZooming","updateInterval","maxNativeZoom","minNativeZoom","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","viewprereset","_invalidateAll","createTile","getTileSize","compare","edgeZIndex","isFinite","nextFrame","willPrune","tile","current","loaded","fade","active","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","_updateLevels","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","level","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","x2","y2","z2","coords2","_tileCoordsToKey","animating","_setView","_clampZoom","noPrune","tileZoom","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","translate","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","mapZoom","halfSize","tileRange","tileCenter","queue","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","WebkitBackfaceVisibility","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","gridLayer","TileLayer","errorTileUrl","zoomOffset","zoomReverse","_onTileRemove","noRedraw","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","getAttribute","tilePoint","complete","tileLayer","TileLayerWMS","defaultWmsParams","service","request","format","transparent","wmsParams","realRetina","_crs","_wmsVersion","parseFloat","projectionKey","bbox","setParams","tileLayerWMS","WMS","wms","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","ev","_updateTransform","currentCenterPoint","_center","destCenterPoint","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_draw","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","m","_updateDashArray","order","_order","_drawLast","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","_dashArray","_clear","clearRect","save","beginPath","clip","_drawing","restore","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_fireEvent","moving","_handleMouseHover","_hoveredLayer","_mouseHoverThrottled","candidateHoveredLayer","canvas$1","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","create$2","SVG","zoomstart","_onZoomStart","_rootGroup","_svgSize","removeAttribute","svg$1","_getPaneRenderer","_createRenderer","preferCanvas","Rectangle","_boundsToLatLngs","rectangle","BoxZoom","_pane","overlayPane","_resetStateTimeout","_destroy","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","keydown","_onKeyDown","_box","_finish","boxZoomBounds","doubleClickZoom","DoubleClickZoom","_onDoubleClick","Drag","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","shift","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","threshold","limit","worldWidth","halfWidth","newX1","newX2","newX","noInertia","ease","speedVector","limitedSpeed","limitedSpeedVector","decelerationDuration","keyboardPanDelta","Keyboard","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","_addHooks","_removeHooks","_focused","docEl","scrollTo","panDelta","_panKeys","codes","_zoomKeys","altKey","ctrlKey","metaKey","scrollWheelZoom","wheelDebounceTime","wheelPxPerZoomLevel","ScrollWheelZoom","_onWheelScroll","_delta","_lastMousePos","_timer","_performZoom","d2","d3","d4","tap","tapTolerance","Tap","_fireClick","_holdTimeout","_isTapValid","_simulateEvent","touchmove","simulatedEvent","createEvent","initMouseEvent","dispatchEvent","touchZoom","bounceAtZoomLimits","TouchZoom","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","moveFn","Projection","oldL","noConflict"],"mappings":"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","file":"js/chunk-1b5afe0b.c061d01f.js","sourcesContent":["function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_SKELETON } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n animation: makeProp(PROP_TYPE_STRING, 'wave'),\n height: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text'),\n variant: makeProp(PROP_TYPE_STRING),\n width: makeProp(PROP_TYPE_STRING)\n}, NAME_SKELETON); // --- Main component ---\n// @vue/component\n\nexport var BSkeleton = /*#__PURE__*/Vue.extend({\n name: NAME_SKELETON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var data = _ref.data,\n props = _ref.props;\n var size = props.size,\n animation = props.animation,\n variant = props.variant;\n return h('div', mergeData(data, {\n staticClass: 'b-skeleton',\n style: {\n width: size || props.width,\n height: size || props.height\n },\n class: (_class = {}, _defineProperty(_class, \"b-skeleton-\".concat(props.type), true), _defineProperty(_class, \"b-skeleton-animate-\".concat(animation), animation), _defineProperty(_class, \"bg-\".concat(variant), variant), _class)\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { Vue } from '../../vue';\nimport { NAME_ASPECT } from '../../constants/components';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_ASPECT, RX_ASPECT_SEPARATOR } from '../../constants/regex';\nimport { mathAbs } from '../../utils/math';\nimport { toFloat } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar CLASS_NAME = 'b-aspect'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Accepts a number (i.e. `16 / 9`, `1`, `4 / 3`)\n // Or a string (i.e. '16/9', '16:9', '4:3' '1:1')\n aspect: makeProp(PROP_TYPE_NUMBER_STRING, '1:1'),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_ASPECT); // --- Main component ---\n// @vue/component\n\nexport var BAspect = /*#__PURE__*/Vue.extend({\n name: NAME_ASPECT,\n mixins: [normalizeSlotMixin],\n props: props,\n computed: {\n padding: function padding() {\n var aspect = this.aspect;\n var ratio = 1;\n\n if (RX_ASPECT.test(aspect)) {\n // Width and/or Height can be a decimal value below `1`, so\n // we only fallback to `1` if the value is `0` or `NaN`\n var _aspect$split$map = aspect.split(RX_ASPECT_SEPARATOR).map(function (v) {\n return toFloat(v) || 1;\n }),\n _aspect$split$map2 = _slicedToArray(_aspect$split$map, 2),\n width = _aspect$split$map2[0],\n height = _aspect$split$map2[1];\n\n ratio = width / height;\n } else {\n ratio = toFloat(aspect) || 1;\n }\n\n return \"\".concat(100 / mathAbs(ratio), \"%\");\n }\n },\n render: function render(h) {\n var $sizer = h('div', {\n staticClass: \"\".concat(CLASS_NAME, \"-sizer flex-grow-1\"),\n style: {\n paddingBottom: this.padding,\n height: 0\n }\n });\n var $content = h('div', {\n staticClass: \"\".concat(CLASS_NAME, \"-content flex-grow-1 w-100 mw-100\"),\n style: {\n marginLeft: '-100%'\n }\n }, this.normalizeSlot());\n return h(this.tag, {\n staticClass: \"\".concat(CLASS_NAME, \" d-flex\")\n }, [$sizer, $content]);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_SKELETON_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BAspect } from '../aspect';\nimport { BSkeleton } from './skeleton'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n animation: makeProp(PROP_TYPE_STRING),\n aspect: makeProp(PROP_TYPE_STRING, '16:9'),\n cardImg: makeProp(PROP_TYPE_STRING),\n height: makeProp(PROP_TYPE_STRING),\n noAspect: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING),\n width: makeProp(PROP_TYPE_STRING)\n}, NAME_SKELETON_IMG); // --- Main component ---\n// @vue/component\n\nexport var BSkeletonImg = /*#__PURE__*/Vue.extend({\n name: NAME_SKELETON_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props;\n var aspect = props.aspect,\n width = props.width,\n height = props.height,\n animation = props.animation,\n variant = props.variant,\n cardImg = props.cardImg;\n var $img = h(BSkeleton, {\n props: {\n type: 'img',\n width: width,\n height: height,\n animation: animation,\n variant: variant\n },\n class: _defineProperty({}, \"card-img-\".concat(cardImg), cardImg)\n });\n return props.noAspect ? $img : h(BAspect, {\n props: {\n aspect: aspect\n }\n }, [$img]);\n }\n});","import { nextTick, ref } from \"vue\";\n\n// ===========================================================\n// ! This is coupled with \"veeValidate\" plugin\n// ===========================================================\n\nexport default function formValidation(\n resetFormData,\n clearFormData = () => {}\n) {\n // ------------------------------------------------\n // refFormObserver\n // ! This is for veeValidate Observer\n // * Used for veeValidate form observer\n // ------------------------------------------------\n const refFormObserver = ref(null);\n\n // ------------------------------------------------\n // resetObserver\n // ! This function is coupled with veeValidate\n // * It resets form observer\n // ------------------------------------------------\n const resetObserver = () => {\n refFormObserver.value?.reset();\n };\n\n // ------------------------------------------------\n // getValidationState\n // ! This function is coupled with veeValidate\n // * It returns true/false based on validation\n // ------------------------------------------------\n // eslint-disable-next-line object-curly-newline\n const getValidationState = ({\n dirty,\n validated,\n required: fieldRequired,\n changed,\n valid = null,\n }) => {\n const result = dirty || validated ? valid : null;\n return !fieldRequired && !changed ? null : result;\n };\n\n // ------------------------------------------------\n // resetForm\n // ! This function is coupled with veeValidate\n // * This uses resetFormData arg to reset form data\n // ------------------------------------------------\n const resetForm = () => {\n resetFormData();\n nextTick(() => {\n resetObserver();\n });\n };\n\n // ------------------------------------------------\n // clearForm\n // ! This function is coupled with veeValidate\n // * This uses clearFormData arg to reset form data\n // ------------------------------------------------\n const clearForm = () => {\n clearFormData();\n nextTick(() => {\n resetObserver();\n });\n };\n\n return {\n refFormObserver,\n resetObserver,\n getValidationState,\n resetForm,\n clearForm,\n };\n}\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcY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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartBar.vue?vue&type=style&index=0&id=29a124e8&prod&scoped=true&lang=scss\"","import { Vue, mergeData } from '../../vue';\nimport { NAME_SKELETON_WRAPPER } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_LOADING } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n loading: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_SKELETON_WRAPPER); // --- Main component ---\n// @vue/component\n\nexport var BSkeletonWrapper = /*#__PURE__*/Vue.extend({\n name: NAME_SKELETON_WRAPPER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var slotScope = {};\n\n if (props.loading) {\n return h('div', mergeData(data, {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-busy': true\n },\n staticClass: 'b-skeleton-wrapper',\n key: 'loading'\n }), normalizeSlot(SLOT_NAME_LOADING, slotScope, $scopedSlots, $slots));\n }\n\n return normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots);\n }\n});","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DealershipsAddEdit.vue?vue&type=style&index=0&id=15e74c3f&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonBoard.vue?vue&type=style&index=0&id=2865710c&prod&scoped=true&lang=scss\"","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_RADIO } from '../../constants/components';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formRadioCheckProps), formSizeProps), formStateProps)), NAME_FORM_RADIO); // --- Main component ---\n// @vue/component\n\nexport var BFormRadio = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_RADIO,\n mixins: [idMixin, formRadioCheckMixin, // Includes shared render function\n formControlMixin, formSizeMixin, formStateMixin],\n inject: {\n bvGroup: {\n from: 'bvRadioGroup',\n default: false\n }\n },\n props: props,\n watch: {\n computedLocalChecked: function computedLocalChecked(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }\n }\n});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonTable.vue?vue&type=style&index=0&id=1629bcbb&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('b-card',[_c('div',{staticClass:\"d-flex\"},[_c('feather-icon',{attrs:{\"icon\":\"BookIcon\",\"size\":\"19\"}}),_c('h4',{staticClass:\"mb-0 ml-50\"},[_vm._v(\"Informações da Empresa\")])],1),_c('validation-observer',{ref:\"refFormObserver\",scopedSlots:_vm._u([{key:\"default\",fn:function({ invalid }){return [_c('b-form',{staticClass:\"mt-1\",on:{\"reset\":function($event){$event.preventDefault();return _vm.formValidation.resetForm.apply(null, arguments)},\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('b-row',[(_vm.fieldControl.CNPJ.required || _vm.fieldControl.CNPJ.optional)?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"CNPJ\",\"rules\":`${\n _vm.fieldControl.CNPJ.required\n ? 'required|validarCnpj'\n : 'validarCnpj'\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"cnpj\"}},[_c('template',{slot:\"label\"},[_vm._v(\" CNPJ \"),(_vm.fieldControl.CNPJ.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{class:{\n 'is-loading': _vm.validatingCnpj,\n },attrs:{\"type\":\"number\",\"id\":\"cnpj\",\"state\":_vm.checkStateCnpj(validationContext),\"trim\":\"\",\"disabled\":_vm.validatingCnpj || _vm.saving},on:{\"change\":_vm.cnpjExist},model:{value:(_vm.dealershipLocal.CNPJ),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"CNPJ\", $$v)},expression:\"dealershipLocal.CNPJ\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Codigo.required ||\n _vm.fieldControl.Codigo.optional ||\n _vm.dealershipLocal.Cadastrada\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Codigo\",\"rules\":`${\n _vm.fieldControl.Codigo.required || _vm.dealershipLocal.Cadastrada\n ? 'required|min:6|max:7'\n : 'min:6|max:7'\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"codigo\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Código \"),(\n _vm.fieldControl.Codigo.required ||\n _vm.dealershipLocal.Cadastrada\n )?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"type\":\"number\",\"id\":\"codigo\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"disabled\":_vm.saving},on:{\"keypress\":_vm.limitDigits},model:{value:(_vm.dealershipLocal.Codigo),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Codigo\", $$v)},expression:\"dealershipLocal.Codigo\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.RazaoSocial.required ||\n _vm.fieldControl.RazaoSocial.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Razão Social\",\"rules\":`${\n _vm.fieldControl.RazaoSocial.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"corporaty-name\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Razão Social \"),(_vm.fieldControl.RazaoSocial.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"corporaty-name\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"255\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.RazaoSocial),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"RazaoSocial\", $$v)},expression:\"dealershipLocal.RazaoSocial\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.NomeFantasia.required ||\n _vm.fieldControl.NomeFantasia.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Nome Fantasia\",\"rules\":`${\n _vm.fieldControl.NomeFantasia.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"fantasy-name\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Nome Fantasia \"),(_vm.fieldControl.NomeFantasia.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"fantasy-name\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"255\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.NomeFantasia),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"NomeFantasia\", $$v)},expression:\"dealershipLocal.NomeFantasia\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.GrupoEmpresaId.required ||\n _vm.fieldControl.GrupoEmpresaId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"12\"}},[_c('validation-provider',{attrs:{\"name\":_vm.groupTitle,\"rules\":`${\n _vm.fieldControl.GrupoEmpresaId.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"economic-group\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" \"+_vm._s(_vm.groupTitle)+\" \"),(_vm.fieldControl.GrupoEmpresaId.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership || _vm.loadingGroup)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership || !_vm.loadingGroup)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.groupOptions,\"reduce\":_vm.reduceOptionValue,\"clearable\":false,\"input-id\":\"economic-group\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.GrupoEmpresaId),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"GrupoEmpresaId\", $$v)},expression:\"dealershipLocal.GrupoEmpresaId\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Matriz.required || _vm.fieldControl.Matriz.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":_vm.dealershipLocal.Status === false ? 4 : 6}},[_c('validation-provider',{attrs:{\"name\":\"Matriz\",\"rules\":`${_vm.fieldControl.Matriz.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"matriz\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Matriz \"),(_vm.fieldControl.Matriz.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"reduce\":_vm.reduceOptionValue,\"clearable\":false,\"input-id\":\"matriz\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Matriz),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Matriz\", $$v)},expression:\"dealershipLocal.Matriz\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Status.required || _vm.fieldControl.Status.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":_vm.getAtivoMd}},[_c('validation-provider',{attrs:{\"name\":\"Ativo\",\"rules\":`${_vm.fieldControl.Status.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"active\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Ativo \"),(_vm.fieldControl.Status.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"input-id\":\"active\",\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Status),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Status\", $$v)},expression:\"dealershipLocal.Status\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.dealershipLocal.Status === false &&\n (_vm.fieldControl.DataCancelamento.required ||\n _vm.fieldControl.DataCancelamento.optional)\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Cancelamento\",\"rules\":_vm.dealershipLocal.Status === false ||\n _vm.fieldControl.DataCancelamento.required\n ? 'required'\n : ''},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"data-cancelamento\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Data Cancelamento \"),(\n _vm.dealershipLocal.Status === false ||\n _vm.fieldControl.DataCancelamento.required\n )?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"data-cancelamento\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"type\":\"date\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.DataCancelamento),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"DataCancelamento\", $$v)},expression:\"dealershipLocal.DataCancelamento\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.CodigoFaturamento.required ||\n _vm.fieldControl.CodigoFaturamento.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":_vm.faturarCodigoBir ? 6 : 12}},[_c('validation-provider',{attrs:{\"name\":\"Faturar para outro BIR\",\"rules\":`${\n _vm.fieldControl.CodigoFaturamento.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"faturarCodigoBir\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Faturar para outro BIR?\"),(_vm.fieldControl.CodigoFaturamento.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"input-id\":\"faturarCodigoBir\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},model:{value:(_vm.faturarCodigoBir),callback:function ($$v) {_vm.faturarCodigoBir=$$v},expression:\"faturarCodigoBir\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.faturarCodigoBir &&\n (_vm.fieldControl.CodigoFaturamento.required ||\n _vm.fieldControl.CodigoFaturamento.optional)\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"BIR de Faturamento\",\"rules\":_vm.faturarCodigoBir ? 'required|min:6|max:7' : 'min:6|max:7'},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"code-bir\"}},[_c('template',{slot:\"label\"},[_vm._v(\" BIR de Faturamento \"),(_vm.faturarCodigoBir)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"code-bir\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"type\":\"number\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.CodigoFaturamento),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"CodigoFaturamento\", $$v)},expression:\"dealershipLocal.CodigoFaturamento\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.PendenciaFinanceira.required ||\n _vm.fieldControl.PendenciaFinanceira.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Pendência Financeira\",\"rules\":`${\n _vm.fieldControl.PendenciaFinanceira.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"pendenciaFinanceira\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Pendência Financeira \"),(_vm.fieldControl.PendenciaFinanceira.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"input-id\":\"pendenciaFinanceira\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.financeOptions,\"clearable\":false,\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.PendenciaFinanceira),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"PendenciaFinanceira\", $$v)},expression:\"dealershipLocal.PendenciaFinanceira\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.EmailFaturamento.required ||\n _vm.fieldControl.EmailFaturamento.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"E-mail de faturamento\",\"rules\":`${\n _vm.fieldControl.EmailFaturamento.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"e-mail\"}},[_c('template',{slot:\"label\"},[_vm._v(\" E-mail de Faturamento \"),(_vm.fieldControl.EmailFaturamento.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"type\":\"email\",\"id\":\"email-faturamento\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"50\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.EmailFaturamento),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"EmailFaturamento\", $$v)},expression:\"dealershipLocal.EmailFaturamento\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Observacoes.required ||\n _vm.fieldControl.Observacoes.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('validation-provider',{attrs:{\"name\":\"Observações\",\"rules\":`${\n _vm.fieldControl.Observacoes.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label\":\"Observações\",\"label-for\":\"comments\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Observações \"),(_vm.fieldControl.Observacoes.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"comments\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"maxlength\":\"255\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Observacoes),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Observacoes\", $$v)},expression:\"dealershipLocal.Observacoes\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(_vm.fieldControl.Site.required || _vm.fieldControl.Site.optional)?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Site\",\"rules\":`${_vm.fieldControl.Site.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"site\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Site \"),(_vm.fieldControl.Site.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"site\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"maxlength\":\"100\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Site),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Site\", $$v)},expression:\"dealershipLocal.Site\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(_vm.fieldControl.Email.required || _vm.fieldControl.Email.optional)?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"E-mail\",\"rules\":`${_vm.fieldControl.Email.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"e-mail\"}},[_c('template',{slot:\"label\"},[_vm._v(\" E-mail \"),(_vm.fieldControl.Email.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"type\":\"email\",\"id\":\"e-mail\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"50\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Mail),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Mail\", $$v)},expression:\"dealershipLocal.Mail\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Telefone.required || _vm.fieldControl.Telefone.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Telefone\",\"rules\":`${_vm.fieldControl.Telefone.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"telefone\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Telefone \"),(_vm.fieldControl.Telefone.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"telefone\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"type\":\"text\",\"maxlength\":\"14\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Telefone),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Telefone\", $$v)},expression:\"dealershipLocal.Telefone\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.InscricaoEstadual.required ||\n _vm.fieldControl.InscricaoEstadual.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Inscrição Estadual\",\"rules\":`${\n _vm.fieldControl.InscricaoEstadual.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"inscrição-estadual\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Inscrição Estadual \"),(_vm.fieldControl.InscricaoEstadual.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"inscrição-estadual\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"15\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.InscricaoEstadual),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"InscricaoEstadual\", $$v)},expression:\"dealershipLocal.InscricaoEstadual\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.InscricaoMunicipal.required ||\n _vm.fieldControl.InscricaoMunicipal.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Inscrição Municipal\",\"rules\":`${\n _vm.fieldControl.InscricaoMunicipal.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"inscrição-municipal\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Inscrição Municipal \"),(_vm.fieldControl.InscricaoMunicipal.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"inscrição-municipal\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"maxlength\":\"15\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.InscricaoMunicipal),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"InscricaoMunicipal\", $$v)},expression:\"dealershipLocal.InscricaoMunicipal\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.DataInauguracao.required ||\n _vm.fieldControl.DataInauguracao.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Inauguração\",\"rules\":`${\n _vm.fieldControl.DataInauguracao.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"data-inauguracao\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Data Inauguração \"),(_vm.fieldControl.DataInauguracao.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"data-inauguracao\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"type\":\"date\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.DataInauguracao),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"DataInauguracao\", $$v)},expression:\"dealershipLocal.DataInauguracao\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.DataNomeacao.required ||\n _vm.fieldControl.DataNomeacao.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Data Nomeação\",\"rules\":`${\n _vm.fieldControl.DataNomeacao.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"data-nomeacao\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Data Nomeação \"),(_vm.fieldControl.DataNomeacao.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"data-nomeacao\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"type\":\"date\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.DataNomeacao),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"DataNomeacao\", $$v)},expression:\"dealershipLocal.DataNomeacao\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Associada.required ||\n _vm.fieldControl.Associada.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Associada\",\"rules\":`${_vm.fieldControl.Associada.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"association\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Associada\"),(_vm.fieldControl.Associada.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"reduce\":_vm.reduceOptionValue,\"input-id\":\"association\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Associada),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Associada\", $$v)},expression:\"dealershipLocal.Associada\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Montadora.required ||\n _vm.fieldControl.Montadora.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Montadora\",\"rules\":`${_vm.fieldControl.Montadora.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"montadora\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[(_vm.fieldControl.Montadora.required)?_c('template',{slot:\"label\"},[_vm._v(\" Montadora\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")])]):_vm._e(),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"reduce\":_vm.reduceOptionValue,\"input-id\":\"montadora\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Montadora),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Montadora\", $$v)},expression:\"dealershipLocal.Montadora\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Cadastrada.required ||\n _vm.fieldControl.Cadastrada.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Empresa Cadastrada\",\"rules\":`${_vm.fieldControl.Cadastrada.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"empresaCadastrada\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[(_vm.fieldControl.Cadastrada.required)?_c('template',{slot:\"label\"},[_vm._v(\" Empresa Cadastrada\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")])]):_vm._e(),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.confirmationOptions,\"clearable\":false,\"input-id\":\"empresaCadastrada\",\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Cadastrada),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Cadastrada\", $$v)},expression:\"dealershipLocal.Cadastrada\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e()],1),(_vm.showLocationInfo)?_c('div',{staticClass:\"d-flex mt-2 mb-1\"},[_c('feather-icon',{attrs:{\"icon\":\"MapPinIcon\",\"size\":\"19\"}}),_c('h4',{staticClass:\"mb-0 ml-50\"},[_vm._v(\"Localização\")])],1):_vm._e(),_c('b-row',[(_vm.fieldControl.CEP.required || _vm.fieldControl.CEP.optional)?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"CEP\",\"rules\":`${_vm.fieldControl.CEP.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"cep\"}},[_c('template',{slot:\"label\"},[_vm._v(\" CEP\"),(_vm.fieldControl.CEP.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"cep\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"type\":\"number\",\"maxlength\":\"8\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.CEP),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"CEP\", $$v)},expression:\"dealershipLocal.CEP\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Logradouro.required ||\n _vm.fieldControl.Logradouro.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Logradouro\",\"rules\":`${_vm.fieldControl.Logradouro.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"logradouro\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Logradouro\"),(_vm.fieldControl.Logradouro.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"logradouro\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"placeholder\":\"Ex: Rua A, 100, Bairro Centro\",\"maxlength\":\"100\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Logradouro),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Logradouro\", $$v)},expression:\"dealershipLocal.Logradouro\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Numero.required || _vm.fieldControl.Numero.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('validation-provider',{attrs:{\"name\":\"Número\",\"rules\":`${_vm.fieldControl.Numero.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"number\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Número\"),(_vm.fieldControl.Numero.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"number\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext),\"type\":\"number\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Numero),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Numero\", $$v)},expression:\"dealershipLocal.Numero\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Bairro.required || _vm.fieldControl.Bairro.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Bairro\",\"rules\":`${_vm.fieldControl.Bairro.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"bairro\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Bairro\"),(_vm.fieldControl.Bairro.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"bairro\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"maxlength\":\"80\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Bairro),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Bairro\", $$v)},expression:\"dealershipLocal.Bairro\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Complemento.required ||\n _vm.fieldControl.Complemento.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Complemento\",\"rules\":`${\n _vm.fieldControl.Complemento.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"complement\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Complemento \"),(_vm.fieldControl.Complemento.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"complement\",\"state\":_vm.formValidation.getValidationState(validationContext),\"trim\":\"\",\"disabled\":_vm.saving},model:{value:(_vm.dealershipLocal.Complemento),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"Complemento\", $$v)},expression:\"dealershipLocal.Complemento\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.EstadoId.required || _vm.fieldControl.EstadoId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"8\"}},[_c('validation-provider',{attrs:{\"name\":\"Estado\",\"rules\":`${_vm.fieldControl.EstadoId.required ? 'required' : ''}`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"state\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Estado\"),(_vm.fieldControl.EstadoId.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership || _vm.loadingState)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership && !_vm.loadingState)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"clearable\":false,\"input-id\":\"state\",\"options\":_vm.stateOptions,\"reduce\":_vm.reduceOptionValue,\"disabled\":_vm.saving},on:{\"input\":function($event){_vm.dealershipLocal.MunicipioId = null}},model:{value:(_vm.dealershipLocal.EstadoId),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"EstadoId\", $$v)},expression:\"dealershipLocal.EstadoId\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.MunicipioId.required ||\n _vm.fieldControl.MunicipioId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Região Operacional\",\"label-for\":\"regiao-operacional\"}},[(_vm.loadingDealership || _vm.loadingCities)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership && !_vm.loadingCities)?_c('b-form-input',{attrs:{\"id\":\"regiao-operacional\",\"trim\":\"\",\"readonly\":\"\"},model:{value:(_vm.dealershipLocal.RegiaoOperacionalNome),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"RegiaoOperacionalNome\", $$v)},expression:\"dealershipLocal.RegiaoOperacionalNome\"}}):_vm._e()],1)],1):_vm._e(),(\n _vm.fieldControl.MunicipioId.required ||\n _vm.fieldControl.MunicipioId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"8\"}},[_c('validation-provider',{attrs:{\"name\":\"Município\",\"rules\":`${\n _vm.fieldControl.MunicipioId.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"city\",\"state\":_vm.formValidation.getValidationState(validationContext)}},[_c('template',{slot:\"label\"},[_vm._v(\" Município\"),(_vm.fieldControl.MunicipioId.required)?_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")]):_vm._e()]),(_vm.loadingDealership || _vm.loadingCities)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership && !_vm.loadingCities)?_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"clearable\":false,\"input-id\":\"city\",\"options\":_vm.municipioOptions,\"disabled\":_vm.saving || !_vm.dealershipLocal.EstadoId},on:{\"input\":_vm.changeCityId},model:{value:(_vm.cityId),callback:function ($$v) {_vm.cityId=$$v},expression:\"cityId\"}}):_vm._e(),_c('b-form-invalid-feedback',{class:{\n 'd-block':\n _vm.formValidation.getValidationState(validationContext) ==\n false,\n }},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.MunicipioId.required ||\n _vm.fieldControl.MunicipioId.optional\n )?_c('b-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Área Operacional\",\"label-for\":\"area-operacional\"}},[(_vm.loadingDealership || _vm.loadingCities)?_c('AvSkeletonInput'):_vm._e(),(!_vm.loadingDealership && !_vm.loadingCities)?_c('b-form-input',{attrs:{\"id\":\"area-operacional\",\"trim\":\"\",\"readonly\":\"\"},model:{value:(_vm.dealershipLocal.AreaInfluenciaNome),callback:function ($$v) {_vm.$set(_vm.dealershipLocal, \"AreaInfluenciaNome\", $$v)},expression:\"dealershipLocal.AreaInfluenciaNome\"}}):_vm._e()],1)],1):_vm._e(),(\n _vm.fieldControl.Coordenadas.required ||\n _vm.fieldControl.Coordenadas.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Pesquisar endereço\",\"label-for\":\"search-address\"}},[(_vm.loadingDealership)?_c('AvSkeletonInput'):_vm._e(),_c('b-input-group',{staticClass:\"mb-1\"},[(!_vm.loadingDealership)?_c('b-form-input',{attrs:{\"id\":\"search-address\",\"trim\":\"\",\"disabled\":_vm.loadingCoordenates || _vm.saving},model:{value:(_vm.searchAddress),callback:function ($$v) {_vm.searchAddress=$$v},expression:\"searchAddress\"}}):_vm._e(),_c('b-input-group-append',[(!_vm.loadingDealership)?_c('av-button',{attrs:{\"variant\":\"outline-primary\",\"type\":\"button\",\"disabled\":_vm.loadingCoordenates || _vm.saving},on:{\"click\":_vm.searchCoordinates}},[_vm._v(\" \"+_vm._s(_vm.loadingCoordenates ? \"Buscando...\" : \"Buscar\")+\" \")]):_vm._e()],1)],1)],1)],1):_vm._e(),(\n _vm.fieldControl.Coordenadas.required ||\n _vm.fieldControl.Coordenadas.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Latitude\",\"rules\":`${\n _vm.fieldControl.Coordenadas.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"latitude-address\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Latitude\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")])]),(!_vm.loadingDealership && !_vm.loadingCities)?_c('b-form-input',{attrs:{\"id\":\"latitude-address\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext)},model:{value:(_vm.coordinates[0]),callback:function ($$v) {_vm.$set(_vm.coordinates, 0, $$v)},expression:\"coordinates[0]\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Coordenadas.required ||\n _vm.fieldControl.Coordenadas.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"6\"}},[_c('validation-provider',{attrs:{\"name\":\"Latitude\",\"rules\":`${\n _vm.fieldControl.Coordenadas.required ? 'required' : ''\n }`},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){return [_c('b-form-group',{attrs:{\"label-for\":\"longitude-address\"}},[_c('template',{slot:\"label\"},[_vm._v(\" Longitude\"),_c('span',{staticClass:\"text-danger\"},[_vm._v(\" * \")])]),(!_vm.loadingDealership && !_vm.loadingCities)?_c('b-form-input',{attrs:{\"id\":\"longitude-address\",\"trim\":\"\",\"state\":_vm.formValidation.getValidationState(validationContext)},model:{value:(_vm.coordinates[1]),callback:function ($$v) {_vm.$set(_vm.coordinates, 1, $$v)},expression:\"coordinates[1]\"}}):_vm._e(),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1):_vm._e(),(\n _vm.fieldControl.Coordenadas.required ||\n _vm.fieldControl.Coordenadas.optional\n )?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('l-map',{ref:\"mapRef\",attrs:{\"zoom\":_vm.zoom,\"center\":_vm.center}},[_c('l-tile-layer',{attrs:{\"url\":_vm.url}}),_c('l-marker',{attrs:{\"lat-lng\":_vm.coordinates,\"draggable\":\"\"},on:{\"dragend\":_vm.updateCoordinates}})],1)],1):_vm._e()],1),_c('b-row',{staticClass:\"mt-2\"},[_c('b-col',[_c('av-button',{staticClass:\"mr-2\",attrs:{\"variant\":\"primary\",\"loading\":_vm.loading || _vm.saving,\"type\":\"submit\",\"disabled\":_vm.loading || _vm.saving}},[_vm._v(_vm._s(_vm.saving ? \"Salvando...\" : \"Salvar\"))]),_c('av-button',{attrs:{\"variant\":\"outline-secondary\",\"to\":{ name: 'admin-panel-dealerships-list' },\"disabled\":_vm.loading || _vm.saving}},[_vm._v(\" Cancelar \")])],1)],1)],1)]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { setOptions, CRS, map, DomEvent, latLng, latLngBounds } from 'leaflet';\n\nvar debounce = function (fn, time) {\n var timeout;\n\n return function() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(function () {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nvar capitalizeFirstLetter = function (string) {\n if (!string || typeof string.charAt !== 'function') {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nvar propsBinder = function (vueElement, leafletElement, props, options) {\n var loop = function ( key ) {\n var setMethodName = 'set' + capitalizeFirstLetter(key);\n var deepValue =\n props[key].type === Object ||\n props[key].type === Array ||\n Array.isArray(props[key].type);\n if (props[key].custom && vueElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n vueElement[setMethodName](newVal, oldVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (setMethodName === 'setOptions') {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n setOptions(leafletElement, newVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (leafletElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n leafletElement[setMethodName](newVal);\n },\n {\n deep: deepValue,\n }\n );\n }\n };\n\n for (var key in props) loop( key );\n};\n\nvar collectionCleaner = function (options) {\n var result = {};\n for (var key in options) {\n var value = options[key];\n if (value !== null && value !== undefined) {\n result[key] = value;\n }\n }\n return result;\n};\n\nvar optionsMerger = function (props, instance) {\n var options =\n instance.options && instance.options.constructor === Object\n ? instance.options\n : {};\n props = props && props.constructor === Object ? props : {};\n var result = collectionCleaner(options);\n props = collectionCleaner(props);\n var defaultProps = instance.$options.props;\n for (var key in props) {\n var def = defaultProps[key]\n ? defaultProps[key].default\n : Symbol('unique');\n if (result[key] && def !== props[key]) {\n console.warn(\n (key + \" props is overriding the value passed in the options props\")\n );\n result[key] = props[key];\n } else if (!result[key]) {\n result[key] = props[key];\n }\n }\n return result;\n};\n\nvar Options = {\n props: {\n options: {\n type: Object,\n default: function () { return ({}); }\n }\n }\n};\n\n//\n\n/**\n * Base component, contains and wrap all the other components.\n */\nvar script = {\n name: 'LMap',\n mixins: [Options],\n props: {\n /**\n * The center of the map, supports .sync modifier\n */\n center: {\n type: [Object, Array],\n custom: true,\n default: function () { return [0, 0]; },\n },\n /**\n * The bounds of the map, supports .sync modifier\n */\n bounds: {\n type: [Array, Object],\n custom: true,\n default: null,\n },\n /**\n * The max bounds of the map\n */\n maxBounds: {\n type: [Array, Object],\n default: null,\n },\n /**\n * The zoom of the map, supports .sync modifier\n */\n zoom: {\n type: Number,\n custom: true,\n default: 0,\n },\n /**\n * The minZoom of the map\n */\n minZoom: {\n type: Number,\n default: null,\n },\n /**\n * The maxZoom of the map\n */\n maxZoom: {\n type: Number,\n default: null,\n },\n /**\n * The paddingBottomRight of the map\n */\n paddingBottomRight: {\n type: Array,\n custom: true,\n default: null,\n },\n /**\n * The paddingTopLeft of the map\n */\n paddingTopLeft: {\n type: Array,\n custom: true,\n default: null,\n },\n /**\n * The padding of the map\n */\n padding: {\n type: Array,\n custom: true,\n default: null,\n },\n /**\n * The worldCopyJump option for the map\n */\n worldCopyJump: {\n type: Boolean,\n default: false,\n },\n /**\n * The crs option for the map\n * @values CRS.EPSG3857\n */\n crs: {\n type: Object,\n custom: true,\n default: function () { return CRS.EPSG3857; },\n },\n maxBoundsViscosity: {\n type: Number,\n default: null,\n },\n inertia: {\n type: Boolean,\n default: null,\n },\n inertiaDeceleration: {\n type: Number,\n default: null,\n },\n inertiaMaxSpeed: {\n type: Number,\n default: null,\n },\n easeLinearity: {\n type: Number,\n default: null,\n },\n zoomAnimation: {\n type: Boolean,\n default: null,\n },\n zoomAnimationThreshold: {\n type: Number,\n default: null,\n },\n fadeAnimation: {\n type: Boolean,\n default: null,\n },\n markerZoomAnimation: {\n type: Boolean,\n default: null,\n },\n noBlockingAnimations: {\n type: Boolean,\n default: false,\n },\n },\n data: function data() {\n return {\n ready: false,\n lastSetCenter: null,\n lastSetBounds: null,\n lastSetZoom: null,\n layerControl: undefined,\n layersToAdd: [],\n layersInControl: [],\n };\n },\n computed: {\n fitBoundsOptions: function fitBoundsOptions() {\n var options = {\n animate: this.noBlockingAnimations ? false : null,\n };\n if (this.padding) {\n options.padding = this.padding;\n } else {\n if (this.paddingBottomRight) {\n options.paddingBottomRight = this.paddingBottomRight;\n }\n if (this.paddingTopLeft) {\n options.paddingTopLeft = this.paddingTopLeft;\n }\n }\n return options;\n },\n },\n beforeDestroy: function beforeDestroy() {\n if (this.mapObject) {\n this.mapObject.remove();\n }\n },\n mounted: function mounted() {\n var this$1 = this;\n\n var options = optionsMerger(\n {\n minZoom: this.minZoom,\n maxZoom: this.maxZoom,\n maxBounds: this.maxBounds,\n maxBoundsViscosity: this.maxBoundsViscosity,\n worldCopyJump: this.worldCopyJump,\n crs: this.crs,\n center: this.center,\n zoom: this.zoom,\n inertia: this.inertia,\n inertiaDeceleration: this.inertiaDeceleration,\n inertiaMaxSpeed: this.inertiaMaxSpeed,\n easeLinearity: this.easeLinearity,\n zoomAnimation: this.zoomAnimation,\n zoomAnimationThreshold: this.zoomAnimationThreshold,\n fadeAnimation: this.fadeAnimation,\n markerZoomAnimation: this.markerZoomAnimation,\n },\n this\n );\n this.mapObject = map(this.$el, options);\n this.setBounds(this.bounds);\n this.mapObject.on('moveend', debounce(this.moveEndHandler, 100));\n this.mapObject.on('overlayadd', this.overlayAddHandler);\n this.mapObject.on('overlayremove', this.overlayRemoveHandler);\n DomEvent.on(this.mapObject, this.$listeners);\n propsBinder(this, this.mapObject, this.$options.props);\n this.ready = true;\n /**\n * DEPRECATED event\n * @deprecated\n */\n this.$emit('leaflet:load');\n this.$nextTick(function () {\n /**\n * Triggers when the component is ready\n * @type {object}\n * @property {object} mapObject - reference to leaflet map object\n */\n this$1.$emit('ready', this$1.mapObject);\n });\n },\n methods: {\n registerLayerControl: function registerLayerControl(lControlLayers) {\n var this$1 = this;\n\n this.layerControl = lControlLayers;\n this.mapObject.addControl(lControlLayers.mapObject);\n this.layersToAdd.forEach(function (layer) {\n this$1.layerControl.addLayer(layer);\n });\n this.layersToAdd = [];\n },\n addLayer: function addLayer(layer, alreadyAdded) {\n if (layer.layerType !== undefined) {\n if (this.layerControl === undefined) {\n this.layersToAdd.push(layer);\n } else {\n var exist = this.layersInControl.find(\n function (l) { return l.mapObject._leaflet_id === layer.mapObject._leaflet_id; }\n );\n if (!exist) {\n this.layerControl.addLayer(layer);\n this.layersInControl.push(layer);\n }\n }\n }\n if (!alreadyAdded && layer.visible !== false) {\n this.mapObject.addLayer(layer.mapObject);\n }\n },\n hideLayer: function hideLayer(layer) {\n this.mapObject.removeLayer(layer.mapObject);\n },\n removeLayer: function removeLayer(layer, alreadyRemoved) {\n if (layer.layerType !== undefined) {\n if (this.layerControl === undefined) {\n this.layersToAdd = this.layersToAdd.filter(\n function (l) { return l.name !== layer.name; }\n );\n } else {\n this.layerControl.removeLayer(layer);\n this.layersInControl = this.layersInControl.filter(\n function (l) { return l.mapObject._leaflet_id !== layer.mapObject._leaflet_id; }\n );\n }\n }\n if (!alreadyRemoved) {\n this.mapObject.removeLayer(layer.mapObject);\n }\n },\n setZoom: function setZoom(newVal, oldVal) {\n this.mapObject.setZoom(newVal, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n setCenter: function setCenter(newVal, oldVal) {\n if (newVal == null) {\n return;\n }\n var newCenter = latLng(newVal);\n var oldCenter = this.lastSetCenter || this.mapObject.getCenter();\n if (oldCenter.lat !== newCenter.lat || oldCenter.lng !== newCenter.lng) {\n this.lastSetCenter = newCenter;\n this.mapObject.panTo(newCenter, {\n animate: this.noBlockingAnimations ? false : null,\n });\n }\n },\n setBounds: function setBounds(newVal, oldVal) {\n if (!newVal) {\n return;\n }\n var newBounds = latLngBounds(newVal);\n if (!newBounds.isValid()) {\n return;\n }\n var oldBounds = this.lastSetBounds || this.mapObject.getBounds();\n var boundsChanged = !oldBounds.equals(newBounds, 0); // set maxMargin to 0 - check exact equals\n if (boundsChanged) {\n this.lastSetBounds = newBounds;\n this.mapObject.fitBounds(newBounds, this.fitBoundsOptions);\n }\n },\n setPaddingBottomRight: function setPaddingBottomRight(newVal, oldVal) {\n this.paddingBottomRight = newVal;\n },\n setPaddingTopLeft: function setPaddingTopLeft(newVal, oldVal) {\n this.paddingTopLeft = newVal;\n },\n setPadding: function setPadding(newVal, oldVal) {\n this.padding = newVal;\n },\n setCrs: function setCrs(newVal, oldVal) {\n console.log('Changing CRS is not yet supported by Leaflet');\n },\n fitBounds: function fitBounds(bounds) {\n this.mapObject.fitBounds(bounds, {\n animate: this.noBlockingAnimations ? false : null,\n });\n },\n moveEndHandler: function moveEndHandler() {\n /**\n * Triggers when zoom is updated\n * @type {number,string}\n */\n this.$emit('update:zoom', this.mapObject.getZoom());\n var center = this.mapObject.getCenter();\n /**\n * Triggers when center is updated\n * @type {object,array}\n */\n this.$emit('update:center', center);\n var bounds = this.mapObject.getBounds();\n /**\n * Triggers when bounds are updated\n * @type {object}\n */\n this.$emit('update:bounds', bounds);\n },\n overlayAddHandler: function overlayAddHandler(e) {\n var layer = this.layersInControl.find(function (l) { return l.name === e.name; });\n if (layer) {\n layer.updateVisibleProp(true);\n }\n },\n overlayRemoveHandler: function overlayRemoveHandler(e) {\n var layer = this.layersInControl.find(function (l) { return l.name === e.name; });\n if (layer) {\n layer.updateVisibleProp(false);\n }\n },\n },\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\r\nfunction createInjector(context) {\r\n return function (id, style) { return addStyle(id, style); };\r\n}\r\nvar HEAD;\r\nvar styles = {};\r\nfunction addStyle(id, css) {\r\n var group = isOldIE ? css.media || 'default' : id;\r\n var style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });\r\n if (!style.ids.has(id)) {\r\n style.ids.add(id);\r\n var code = css.source;\r\n if (css.map) {\r\n // https://developer.chrome.com/devtools/docs/javascript-debugging\r\n // this makes source maps inside style tags work properly in Chrome\r\n code += '\\n/*# sourceURL=' + css.map.sources[0] + ' */';\r\n // http://stackoverflow.com/a/26603875\r\n code +=\r\n '\\n/*# sourceMappingURL=data:application/json;base64,' +\r\n btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +\r\n ' */';\r\n }\r\n if (!style.element) {\r\n style.element = document.createElement('style');\r\n style.element.type = 'text/css';\r\n if (css.media)\r\n { style.element.setAttribute('media', css.media); }\r\n if (HEAD === undefined) {\r\n HEAD = document.head || document.getElementsByTagName('head')[0];\r\n }\r\n HEAD.appendChild(style.element);\r\n }\r\n if ('styleSheet' in style.element) {\r\n style.styles.push(code);\r\n style.element.styleSheet.cssText = style.styles\r\n .filter(Boolean)\r\n .join('\\n');\r\n }\r\n else {\r\n var index = style.ids.size - 1;\r\n var textNode = document.createTextNode(code);\r\n var nodes = style.element.childNodes;\r\n if (nodes[index])\r\n { style.element.removeChild(nodes[index]); }\r\n if (nodes.length)\r\n { style.element.insertBefore(textNode, nodes[index]); }\r\n else\r\n { style.element.appendChild(textNode); }\r\n }\r\n }\r\n}\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"vue2leaflet-map\"},[(_vm.ready)?_vm._t(\"default\"):_vm._e()],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n var __vue_inject_styles__ = function (inject) {\n if (!inject) { return }\n inject(\"data-v-49b28618_0\", { source: \".vue2leaflet-map{height:100%;width:100%}\", map: undefined, media: undefined });\n\n };\n /* scoped */\n var __vue_scope_id__ = undefined;\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = false;\n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n createInjector,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","import { setOptions, tileLayer, DomEvent } from 'leaflet';\n\nvar capitalizeFirstLetter = function (string) {\n if (!string || typeof string.charAt !== 'function') {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nvar propsBinder = function (vueElement, leafletElement, props, options) {\n var loop = function ( key ) {\n var setMethodName = 'set' + capitalizeFirstLetter(key);\n var deepValue =\n props[key].type === Object ||\n props[key].type === Array ||\n Array.isArray(props[key].type);\n if (props[key].custom && vueElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n vueElement[setMethodName](newVal, oldVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (setMethodName === 'setOptions') {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n setOptions(leafletElement, newVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (leafletElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n leafletElement[setMethodName](newVal);\n },\n {\n deep: deepValue,\n }\n );\n }\n };\n\n for (var key in props) loop( key );\n};\n\nvar collectionCleaner = function (options) {\n var result = {};\n for (var key in options) {\n var value = options[key];\n if (value !== null && value !== undefined) {\n result[key] = value;\n }\n }\n return result;\n};\n\nvar optionsMerger = function (props, instance) {\n var options =\n instance.options && instance.options.constructor === Object\n ? instance.options\n : {};\n props = props && props.constructor === Object ? props : {};\n var result = collectionCleaner(options);\n props = collectionCleaner(props);\n var defaultProps = instance.$options.props;\n for (var key in props) {\n var def = defaultProps[key]\n ? defaultProps[key].default\n : Symbol('unique');\n if (result[key] && def !== props[key]) {\n console.warn(\n (key + \" props is overriding the value passed in the options props\")\n );\n result[key] = props[key];\n } else if (!result[key]) {\n result[key] = props[key];\n }\n }\n return result;\n};\n\nvar findRealParent = function (firstVueParent) {\n var found = false;\n while (firstVueParent && !found) {\n if (firstVueParent.mapObject === undefined) {\n firstVueParent = firstVueParent.$parent;\n } else {\n found = true;\n }\n }\n return firstVueParent;\n};\n\nvar Layer = {\n props: {\n pane: {\n type: String,\n default: 'overlayPane',\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n },\n mounted: function mounted() {\n this.layerOptions = {\n attribution: this.attribution,\n pane: this.pane,\n };\n },\n beforeDestroy: function beforeDestroy() {\n this.unbindPopup();\n this.unbindTooltip();\n this.parentContainer.removeLayer(this);\n },\n methods: {\n setAttribution: function setAttribution(val, old) {\n var attributionControl = this.$parent.mapObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName: function setName() {\n this.parentContainer.removeLayer(this);\n if (this.visible) {\n this.parentContainer.addLayer(this);\n }\n },\n setLayerType: function setLayerType() {\n this.parentContainer.removeLayer(this);\n if (this.visible) {\n this.parentContainer.addLayer(this);\n }\n },\n setVisible: function setVisible(isVisible) {\n if (this.mapObject) {\n if (isVisible) {\n this.parentContainer.addLayer(this);\n } else {\n if (this.parentContainer.hideLayer) {\n this.parentContainer.hideLayer(this);\n } else {\n this.parentContainer.removeLayer(this);\n }\n }\n }\n },\n unbindTooltip: function unbindTooltip() {\n var tooltip = this.mapObject ? this.mapObject.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup: function unbindPopup() {\n var popup = this.mapObject ? this.mapObject.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp: function updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n this.$emit('update:visible', value);\n },\n },\n};\n\nvar GridLayer = {\n mixins: [Layer],\n props: {\n pane: {\n type: String,\n default: 'tilePane'\n },\n opacity: {\n type: Number,\n custom: false,\n default: 1.0\n },\n zIndex: {\n type: Number,\n default: 1\n },\n tileSize: {\n type: Number,\n default: 256\n },\n noWrap: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted () {\n this.gridLayerOptions = Object.assign({}, this.layerOptions,\n {pane: this.pane,\n opacity: this.opacity,\n zIndex: this.zIndex,\n tileSize: this.tileSize,\n noWrap: this.noWrap});\n }\n};\n\nvar TileLayerMixin = {\n mixins: [GridLayer],\n props: {\n tms: {\n type: Boolean,\n default: false\n },\n subdomains: {\n type: String,\n default: 'abc'\n },\n detectRetina: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted () {\n this.tileLayerOptions = Object.assign({}, this.gridLayerOptions,\n {tms: this.tms,\n subdomains: this.subdomains,\n detectRetina: this.detectRetina});\n },\n render: function render () {\n return null;\n }\n};\n\nvar Options = {\n props: {\n options: {\n type: Object,\n default: function () { return ({}); }\n }\n }\n};\n\n//\n\n/**\n * Load tiles from a map server and display them accordingly to map zoom, center and size\n */\nvar script = {\n name: 'LTileLayer',\n mixins: [TileLayerMixin, Options],\n props: {\n url: {\n type: String,\n default: null,\n },\n tileLayerClass: {\n type: Function,\n default: tileLayer,\n },\n },\n mounted: function mounted() {\n var this$1 = this;\n\n var options = optionsMerger(this.tileLayerOptions, this);\n this.mapObject = this.tileLayerClass(this.url, options);\n DomEvent.on(this.mapObject, this.$listeners);\n propsBinder(this, this.mapObject, this.$options.props);\n this.parentContainer = findRealParent(this.$parent);\n this.parentContainer.addLayer(this, !this.visible);\n this.$nextTick(function () {\n /**\n * Triggers when the component is ready\n * @type {object}\n * @property {object} mapObject - reference to leaflet map object\n */\n this$1.$emit('ready', this$1.mapObject);\n });\n },\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n var __vue_inject_styles__ = undefined;\n /* scoped */\n var __vue_scope_id__ = undefined;\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = normalizeComponent(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","import { setOptions, Icon, marker, DomEvent, latLng } from 'leaflet';\n\nvar debounce = function (fn, time) {\n var timeout;\n\n return function() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var context = this;\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(function () {\n fn.apply(context, args);\n timeout = null;\n }, time);\n };\n};\n\nvar capitalizeFirstLetter = function (string) {\n if (!string || typeof string.charAt !== 'function') {\n return string;\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n\nvar propsBinder = function (vueElement, leafletElement, props, options) {\n var loop = function ( key ) {\n var setMethodName = 'set' + capitalizeFirstLetter(key);\n var deepValue =\n props[key].type === Object ||\n props[key].type === Array ||\n Array.isArray(props[key].type);\n if (props[key].custom && vueElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n vueElement[setMethodName](newVal, oldVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (setMethodName === 'setOptions') {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n setOptions(leafletElement, newVal);\n },\n {\n deep: deepValue,\n }\n );\n } else if (leafletElement[setMethodName]) {\n vueElement.$watch(\n key,\n function (newVal, oldVal) {\n leafletElement[setMethodName](newVal);\n },\n {\n deep: deepValue,\n }\n );\n }\n };\n\n for (var key in props) loop( key );\n};\n\nvar collectionCleaner = function (options) {\n var result = {};\n for (var key in options) {\n var value = options[key];\n if (value !== null && value !== undefined) {\n result[key] = value;\n }\n }\n return result;\n};\n\nvar optionsMerger = function (props, instance) {\n var options =\n instance.options && instance.options.constructor === Object\n ? instance.options\n : {};\n props = props && props.constructor === Object ? props : {};\n var result = collectionCleaner(options);\n props = collectionCleaner(props);\n var defaultProps = instance.$options.props;\n for (var key in props) {\n var def = defaultProps[key]\n ? defaultProps[key].default\n : Symbol('unique');\n if (result[key] && def !== props[key]) {\n console.warn(\n (key + \" props is overriding the value passed in the options props\")\n );\n result[key] = props[key];\n } else if (!result[key]) {\n result[key] = props[key];\n }\n }\n return result;\n};\n\nvar findRealParent = function (firstVueParent) {\n var found = false;\n while (firstVueParent && !found) {\n if (firstVueParent.mapObject === undefined) {\n firstVueParent = firstVueParent.$parent;\n } else {\n found = true;\n }\n }\n return firstVueParent;\n};\n\nvar Layer = {\n props: {\n pane: {\n type: String,\n default: 'overlayPane',\n },\n attribution: {\n type: String,\n default: null,\n },\n name: {\n type: String,\n custom: true,\n default: undefined,\n },\n layerType: {\n type: String,\n custom: true,\n default: undefined,\n },\n visible: {\n type: Boolean,\n custom: true,\n default: true,\n },\n },\n mounted: function mounted() {\n this.layerOptions = {\n attribution: this.attribution,\n pane: this.pane,\n };\n },\n beforeDestroy: function beforeDestroy() {\n this.unbindPopup();\n this.unbindTooltip();\n this.parentContainer.removeLayer(this);\n },\n methods: {\n setAttribution: function setAttribution(val, old) {\n var attributionControl = this.$parent.mapObject.attributionControl;\n attributionControl.removeAttribution(old).addAttribution(val);\n },\n setName: function setName() {\n this.parentContainer.removeLayer(this);\n if (this.visible) {\n this.parentContainer.addLayer(this);\n }\n },\n setLayerType: function setLayerType() {\n this.parentContainer.removeLayer(this);\n if (this.visible) {\n this.parentContainer.addLayer(this);\n }\n },\n setVisible: function setVisible(isVisible) {\n if (this.mapObject) {\n if (isVisible) {\n this.parentContainer.addLayer(this);\n } else {\n if (this.parentContainer.hideLayer) {\n this.parentContainer.hideLayer(this);\n } else {\n this.parentContainer.removeLayer(this);\n }\n }\n }\n },\n unbindTooltip: function unbindTooltip() {\n var tooltip = this.mapObject ? this.mapObject.getTooltip() : null;\n if (tooltip) {\n tooltip.unbindTooltip();\n }\n },\n unbindPopup: function unbindPopup() {\n var popup = this.mapObject ? this.mapObject.getPopup() : null;\n if (popup) {\n popup.unbindPopup();\n }\n },\n updateVisibleProp: function updateVisibleProp(value) {\n /**\n * Triggers when the visible prop needs to be updated\n * @type {boolean}\n * @property {boolean} value - value of the visible property\n */\n this.$emit('update:visible', value);\n },\n },\n};\n\nvar Options = {\n props: {\n options: {\n type: Object,\n default: function () { return ({}); }\n }\n }\n};\n\n/**\n * Marker component, lets you add and personalize markers on the map\n */\nvar script = {\n name: 'LMarker',\n mixins: [Layer, Options],\n props: {\n pane: {\n type: String,\n default: 'markerPane',\n },\n draggable: {\n type: Boolean,\n custom: true,\n default: false,\n },\n latLng: {\n type: [Object, Array],\n custom: true,\n default: null,\n },\n icon: {\n type: [Object],\n custom: false,\n default: function () { return new Icon.Default(); },\n },\n zIndexOffset: {\n type: Number,\n custom: false,\n default: null,\n },\n },\n data: function data() {\n return {\n ready: false,\n };\n },\n mounted: function mounted() {\n var this$1 = this;\n\n var options = optionsMerger(\n Object.assign({}, this.layerOptions,\n {icon: this.icon,\n zIndexOffset: this.zIndexOffset,\n draggable: this.draggable}),\n this\n );\n this.mapObject = marker(this.latLng, options);\n DomEvent.on(this.mapObject, this.$listeners);\n this.mapObject.on('move', debounce(this.latLngSync, 100));\n propsBinder(this, this.mapObject, this.$options.props);\n this.parentContainer = findRealParent(this.$parent);\n this.parentContainer.addLayer(this, !this.visible);\n this.ready = true;\n this.$nextTick(function () {\n /**\n * Triggers when the component is ready\n * @type {object}\n * @property {object} mapObject - reference to leaflet map object\n */\n this$1.$emit('ready', this$1.mapObject);\n });\n },\n methods: {\n setDraggable: function setDraggable(newVal, oldVal) {\n if (this.mapObject.dragging) {\n newVal\n ? this.mapObject.dragging.enable()\n : this.mapObject.dragging.disable();\n }\n },\n setLatLng: function setLatLng(newVal) {\n if (newVal == null) {\n return;\n }\n\n if (this.mapObject) {\n var oldLatLng = this.mapObject.getLatLng();\n var newLatLng = latLng(newVal);\n if (\n newLatLng.lat !== oldLatLng.lat ||\n newLatLng.lng !== oldLatLng.lng\n ) {\n this.mapObject.setLatLng(newLatLng);\n }\n }\n },\n latLngSync: function latLngSync(event) {\n this.$emit('update:latLng', event.latlng);\n this.$emit('update:lat-lng', event.latlng);\n },\n },\n render: function(h) {\n if (this.ready && this.$slots.default) {\n return h('div', { style: { display: 'none' } }, this.$slots.default);\n }\n return null;\n },\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n var options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n var hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n var originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n var existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\nvar isOldIE = typeof navigator !== 'undefined' &&\r\n /msie [6-9]\\\\b/.test(navigator.userAgent.toLowerCase());\n\n/* script */\nvar __vue_script__ = script;\n\n/* template */\n\n /* style */\n var __vue_inject_styles__ = undefined;\n /* scoped */\n var __vue_scope_id__ = undefined;\n /* module identifier */\n var __vue_module_identifier__ = undefined;\n /* functional template */\n var __vue_is_functional_template__ = undefined;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n var __vue_component__ = normalizeComponent(\n {},\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","\nimport { AvButton } from \"@/components\";\nimport { AvSkeletonInput } from \"@/components/av-skeleton\";\n// Services\nimport { useDealerships, useGroup, useState } from \"@/services\";\nimport formValidation from \"@core/comp-functions/forms/form-validation\";\nimport ToastificationContent from \"@core/components/toastification/ToastificationContent.vue\";\n// Interfaces\nimport {\n IDealerships,\n IFieldControl,\n IResponseCreateDealership,\n IResponseGetDealership,\n IUpdateDealershipBody,\n} from \"@core/services/interfaces/business/dealerships/IDealershipsService\";\nimport {\n IResponseListGroup,\n TDataGroup,\n} from \"@core/services/interfaces/business/group/IGroupService\";\nimport {\n ICityStateApi,\n IResponseGetCitiesByStateId,\n IResponseListState,\n IStateApi,\n} from \"@core/services/interfaces/covarege-area/state/IStateService\";\nimport { IOption } from \"@core/services/interfaces/IUtil\";\nimport {\n BButton,\n BCard,\n BCol,\n BForm,\n BFormGroup,\n BFormInput,\n BFormInvalidFeedback,\n BFormRadio,\n BInputGroup,\n BInputGroupAppend,\n BRow,\n} from \"bootstrap-vue\";\nimport { Icon } from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport { ValidationObserver, ValidationProvider } from \"vee-validate\";\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\nimport Ripple from \"vue-ripple-directive\";\nimport vSelect from \"vue-select\";\nimport { LMap, LMarker, LTileLayer } from \"vue2-leaflet\";\n\n// eslint-disable-next-line no-underscore-dangle\ndelete Icon.Default.prototype._getIconUrl;\nIcon.Default.mergeOptions({\n iconRetinaUrl: require(\"leaflet/dist/images/marker-icon-2x.png\"),\n iconUrl: require(\"leaflet/dist/images/marker-icon.png\"),\n shadowUrl: require(\"leaflet/dist/images/marker-shadow.png\"),\n});\n/* eslint-disable global-require */\n\ninterface IOptionCity extends IOption {\n area: string;\n region: string;\n ibgeCode: string;\n}\n\n@Component({\n name: \"DealershipsEdit\",\n components: {\n BCard,\n BRow,\n BCol,\n BForm,\n BFormInput,\n BFormGroup,\n BButton,\n BInputGroup,\n BInputGroupAppend,\n BFormInvalidFeedback,\n vSelect,\n LMap,\n LTileLayer,\n LMarker,\n // Form Validation\n ValidationProvider,\n ValidationObserver,\n BFormRadio,\n AvButton,\n AvSkeletonInput,\n },\n directives: {\n Ripple,\n },\n})\nexport default class DealershipsEdit extends Vue {\n // Data\n groupTitle = this.$store.state[\"appConfig\"].params.GRUPO_EMPRESA_TITLE;\n dealershipLocal: IDealerships = {} as IDealerships;\n faturarCodigoBir = false;\n searchAddress = \"\";\n url = \"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\";\n zoom = 8;\n center = [-15.7931351608, -47.8585332325];\n coordinates: [number, number] = [-15.7931351608, -47.8585332325];\n dealershipId: string = \"\";\n cityId: IOptionCity | null = null;\n editing: boolean = false;\n stateOptions: IOption[] = [];\n groupOptions: IOption[] = [];\n municipioOptions: IOption[] = [];\n geocodeEndpoint: string = \"https://maps.googleapis.com/maps/api/geocode/json\";\n apiKey: string = \"AIzaSyBk_fiUOC8dyqXCxeQfYZfDYAcBNKQkMgc\";\n confirmationOptions: IOption[] = [\n { label: \"Sim\", value: true },\n { label: \"Não\", value: false },\n ];\n financeOptions = [\n { label: \"Adimplente\", value: false },\n { label: \"Inadimplente\", value: true },\n ];\n $refs = {} as { refFormObserver: any; mapRef: any };\n\n // Loading Control\n loading: boolean = false;\n saving: boolean = false;\n loadingDealership = false;\n loadingState = false;\n loadingCities = false;\n loadingCoordenates = false;\n loadingGroup = false;\n validatingCnpj = false;\n validCnpj = false;\n\n fieldControl = {} as IFieldControl;\n\n formValidation = formValidation();\n\n // Computeds\n get estadoValue(): string {\n return this.dealershipLocal.Estado;\n }\n\n get cidadeValue(): string {\n return this.dealershipLocal.Municipio;\n }\n\n get getAtivoMd(): number {\n if (\n !this.fieldControl.DataCancelamento.required ||\n !this.fieldControl.DataCancelamento.optional\n )\n return 12;\n\n return this.dealershipLocal.Status === false ? 4 : 6;\n }\n\n get isValidCnpj(): boolean | null {\n if (typeof this.dealershipLocal.CNPJ == \"undefined\") {\n return null;\n }\n\n return this.dealershipLocal.CNPJ != \"\" ? this.validCnpj : null;\n }\n\n get showLocationInfo(): boolean {\n if (this.fieldControl.CEP.required || this.fieldControl.CEP.optional)\n return true;\n if (\n this.fieldControl.Logradouro.required ||\n this.fieldControl.Logradouro.optional\n )\n return true;\n if (this.fieldControl.Numero.required || this.fieldControl.Numero.optional)\n return true;\n if (this.fieldControl.Bairro.required || this.fieldControl.Bairro.optional)\n return true;\n if (\n this.fieldControl.Complemento.required ||\n this.fieldControl.Complemento.optional\n )\n return true;\n if (\n this.fieldControl.EstadoId.required ||\n this.fieldControl.EstadoId.optional\n )\n return true;\n if (\n this.fieldControl.MunicipioId.required ||\n this.fieldControl.MunicipioId.optional\n )\n return true;\n if (\n this.fieldControl.Coordenadas.required ||\n this.fieldControl.Coordenadas.optional\n )\n return true;\n\n return false;\n }\n\n // LifeCycle\n created() {\n if (this.$route.params.id) {\n this.dealershipId = this.$route.params.id;\n }\n\n if (this.dealershipId != \"\") {\n this.editing = true;\n this.fetchGetDealershipById();\n }\n\n this.getStates();\n this.getGroups();\n\n this.fieldControl = useDealerships.getFieldControl();\n }\n\n @Watch(\"dealershipLocal.EstadoId\")\n fetchGetCitiesByStateId() {\n this.loadingCities = true;\n\n useState\n .requestGetCityByStateId(this.dealershipLocal.EstadoId)\n .then((response: IResponseGetCitiesByStateId) => {\n this.municipioOptions = response.data.Data.data.map(\n (city: ICityStateApi) => {\n if (city.Id == this.dealershipLocal.MunicipioId) {\n this.dealershipLocal.CidadeCodigoIbge = city.CodigoIbge;\n this.cityId = {\n label: city.Nome,\n value: city.Id,\n area: city.AreaInfluenciaNome,\n region: city.RegiaoOperacionalNome,\n ibgeCode: city.CodigoIbge,\n };\n }\n\n return {\n label: city.Nome,\n value: city.Id,\n area: city.AreaInfluenciaNome,\n region: city.RegiaoOperacionalNome,\n ibgeCode: city.CodigoIbge,\n };\n }\n );\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar os municípios!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingCities = false;\n });\n }\n\n @Watch(\"coordinates\")\n watchSelectedLatLng() {\n this.dealershipLocal.Latitude = this.coordinates[0];\n this.dealershipLocal.Longitude = this.coordinates[1];\n\n const map = this.$refs.mapRef as LMap;\n if (map && map.mapObject) {\n map.mapObject.setView(this.coordinates);\n }\n }\n\n // Methods\n cnpjExist(cpnj: string) {\n const regexApenasNumeros = /[^\\d]/g;\n const cpnjSanatize = (cpnj || \"\").replace(regexApenasNumeros, \"\");\n\n if (cpnjSanatize.length == 14) {\n this.validatingCnpj = true;\n\n useDealerships\n .requestValidCnpj(cpnj, this.dealershipId != \"\" ? true : false)\n .then((valid) => {\n if (typeof valid == \"boolean\") this.validCnpj = valid;\n else this.validCnpj = false;\n\n if (!valid) {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Esse CNPJ já ta em uso\",\n icon: \"AlertTriangleIcon\",\n variant: \"warning\",\n },\n });\n }\n })\n .catch(() => {\n this.validCnpj = false;\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Não foi possível validar esse CNPJ!\",\n icon: \"AlertTriangleIcon\",\n variant: \"warning\",\n },\n });\n })\n .finally(() => {\n this.validatingCnpj = false;\n });\n } else {\n this.validCnpj = false;\n }\n }\n\n checkStateCnpj(validationContext: any): boolean | null {\n if (this.validatingCnpj) {\n return null;\n }\n\n const formValidation =\n this.formValidation.getValidationState(validationContext);\n\n if (formValidation === null && this.isValidCnpj === null) {\n return null;\n } else if (this.isValidCnpj === null) {\n return formValidation;\n } else {\n return this.isValidCnpj;\n }\n }\n\n fetchGetDealershipById() {\n this.loadingDealership = true;\n useDealerships\n .requestGet(this.dealershipId)\n .then((response: IResponseGetDealership) => {\n this.dealershipLocal = response.data.Data;\n this.cnpjExist(this.dealershipLocal.CNPJ);\n\n if (this.dealershipLocal.CodigoFaturamento) {\n this.faturarCodigoBir = true;\n }\n\n if (this.dealershipLocal.Longitude && this.dealershipLocal.Latitude) {\n this.coordinates = [\n this.dealershipLocal.Latitude,\n this.dealershipLocal.Longitude,\n ];\n }\n\n if (!this.dealershipLocal.Complemento) {\n this.dealershipLocal.Complemento = \"\";\n }\n\n if (this.dealershipLocal.DataInauguracao) {\n this.dealershipLocal.DataInauguracao =\n this.dealershipLocal.DataInauguracao.split(\"T\")[0];\n }\n\n if (this.dealershipLocal.DataNomeacao) {\n this.dealershipLocal.DataNomeacao =\n this.dealershipLocal.DataNomeacao.split(\"T\")[0];\n }\n\n if (this.dealershipLocal.DataCancelamento) {\n this.dealershipLocal.DataCancelamento =\n this.dealershipLocal.DataCancelamento.split(\"T\")[0];\n }\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar a concessionária!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingDealership = false;\n });\n }\n\n getStates() {\n this.loadingState = true;\n\n useState\n .requestList({\n paginar: false,\n municipios: [],\n })\n .then((response: IResponseListState) => {\n this.stateOptions = response.data.Data.data.map((state: IStateApi) => {\n return { label: state.Nome, value: state.Id };\n });\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar os estados!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingState = false;\n });\n }\n\n limitDigits(event: KeyboardEvent) {\n const keyCode = event.keyCode || event.which;\n const inputValue = String.fromCharCode(keyCode);\n const newValue = (this.dealershipLocal.Codigo || \"\") + inputValue;\n\n if (newValue.length > 9) {\n event.preventDefault();\n return;\n }\n }\n\n getGroups() {\n this.loadingGroup = true;\n\n useGroup\n .requestListGroup({\n draw: 1,\n length: 10000,\n paginate: false,\n })\n .then((response: IResponseListGroup) => {\n this.groupOptions = response.data.data.map((group: TDataGroup) => {\n return { label: group.Nome, value: group.Id };\n });\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar os estados!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingGroup = false;\n });\n }\n\n reduceOptionValue = (option: { label: string; value: any }): any => {\n return option.value;\n };\n\n changeCityId(option: IOptionCity): void {\n this.dealershipLocal.MunicipioId = option.value;\n this.dealershipLocal.AreaInfluenciaNome = option.area;\n this.dealershipLocal.RegiaoOperacionalNome = option.region;\n this.dealershipLocal.CidadeCodigoIbge = option.ibgeCode;\n }\n\n updateCoordinates(e: any) {\n this.coordinates = [e.target.getLatLng().lat, e.target.getLatLng().lng];\n }\n\n searchCoordinates() {\n this.loadingCoordenates = true;\n const url = `${this.geocodeEndpoint}?address=${encodeURIComponent(\n this.searchAddress\n )}&key=${this.apiKey}`;\n fetch(url)\n .then((response) => response.json())\n .then((data) => {\n if (data.results && data.results.length > 0) {\n const { lat, lng } = data.results[0].geometry.location;\n this.coordinates = [lat, lng];\n }\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao buscar coordenadas!\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.loadingCoordenates = false;\n });\n }\n\n onSubmit() {\n this.saving = true;\n\n this.$refs.refFormObserver\n // @ts-ignore\n .validate()\n .then((success: boolean) => {\n if (success && this.isValidCnpj) {\n let business: IUpdateDealershipBody = {\n id: this.dealershipId != \"\" ? this.dealershipId : undefined,\n municipioId: this.dealershipLocal.MunicipioId || \"\",\n grupoEmpresaId: this.dealershipLocal.GrupoEmpresaId,\n cnpj: this.dealershipLocal.CNPJ,\n razaoSocial: this.dealershipLocal.RazaoSocial,\n nomeFantasia: this.dealershipLocal.NomeFantasia,\n montadora: this.dealershipLocal.Montadora,\n ativo: this.dealershipLocal.Status,\n associada: this.dealershipLocal.Associada,\n codigo: this.dealershipLocal.Codigo,\n cadastrada: this.dealershipLocal.Cadastrada,\n telefone: this.dealershipLocal.Telefone,\n mail: this.dealershipLocal.Mail,\n emailFaturamento: this.dealershipLocal.EmailFaturamento,\n site: this.dealershipLocal.Site,\n inscricaoEstadual: this.dealershipLocal.InscricaoEstadual,\n inscricaoMunicipal: this.dealershipLocal.InscricaoMunicipal,\n dataInauguracao: this.dealershipLocal.DataInauguracao,\n dataNomeacao: this.dealershipLocal.DataNomeacao,\n dataCancelamento: this.dealershipLocal.DataCancelamento,\n pendenciaFinanceira: this.dealershipLocal.PendenciaFinanceira,\n codigoFaturamento: this.dealershipLocal.CodigoFaturamento,\n matriz: this.dealershipLocal.Matriz,\n observacoes: this.dealershipLocal.Observacoes,\n endereco: null,\n };\n\n if (\n this.fieldControl.Endereco.required ||\n this.fieldControl.Endereco.optional\n ) {\n business.endereco = {\n enderecoId: this.dealershipLocal.EnderecoId,\n cep: this.dealershipLocal.CEP,\n logradouro: this.dealershipLocal.Logradouro,\n numero: this.dealershipLocal.Numero,\n complemento: this.dealershipLocal.Complemento || \"\",\n bairro: this.dealershipLocal.Bairro,\n cidadeCodigoIbge: this.dealershipLocal.CidadeCodigoIbge || \"\",\n latitude: this.dealershipLocal.Latitude,\n longitude: this.dealershipLocal.Longitude,\n };\n }\n\n if (this.dealershipId != \"\") {\n useDealerships\n .requestUpdate(business)\n .then(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Empresa atualizada com sucesso!\",\n icon: \"CheckIcon\",\n variant: \"success\",\n },\n });\n\n this.$router.push({\n name: \"admin-panel-dealerships-list\",\n });\n })\n .catch((error: any) => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao atualizar empresa!\",\n text: error.response.data.Errors.reduce(\n (accumulator: string, currentValue: string) => {\n const str = accumulator != \"\" ? \" | \" : \"\";\n return str + \" \" + currentValue;\n },\n \"\"\n ),\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.saving = false;\n });\n } else {\n useDealerships\n .requestCreate(business)\n .then((response: IResponseCreateDealership) => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Empresa criada com sucesso!\",\n icon: \"CheckIcon\",\n variant: \"success\",\n },\n });\n\n this.$router.push({\n name: \"admin-panel-dealerships-list\",\n });\n })\n .catch((error: any) => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Erro ao criar empresa!\",\n text: error.response.data.Errors.reduce(\n (accumulator: string, currentValue: string) => {\n const str = accumulator != \"\" ? \" | \" : \"\";\n return str + \" \" + currentValue;\n },\n \"\"\n ),\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n })\n .finally(() => {\n this.saving = false;\n });\n }\n } else {\n this.$toast({\n component: ToastificationContent,\n props: {\n title: \"Preencha todos os campos obrigatórios!\",\n icon: \"AlertTriangleIcon\",\n variant: \"warning\",\n },\n });\n\n if (document.querySelectorAll(\".is-invalid\").length) {\n const y =\n document\n .querySelectorAll(\".is-invalid\")[0]\n .getBoundingClientRect().top +\n window.scrollY -\n 125;\n window.scroll({\n top: y,\n behavior: \"smooth\",\n });\n }\n\n this.saving = false;\n }\n })\n .catch(() => {\n this.$toast({\n component: ToastificationContent,\n props: {\n title:\n \"Ocorreu um erro inesperado! Acione a administração do sistema\",\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n\n this.saving = false;\n });\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DealershipsAddEdit.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DealershipsAddEdit.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./DealershipsAddEdit.vue?vue&type=template&id=15e74c3f&scoped=true\"\nimport script from \"./DealershipsAddEdit.vue?vue&type=script&lang=ts\"\nexport * from \"./DealershipsAddEdit.vue?vue&type=script&lang=ts\"\nimport style0 from \"./DealershipsAddEdit.vue?vue&type=style&index=0&id=15e74c3f&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"15e74c3f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-skeleton-wrapper',[_c('b-card',{staticStyle:{\"width\":\"325px\"},attrs:{\"img-top\":\"\",\"no-body\":\"\"}},[_c('b-skeleton-img',{attrs:{\"card-img\":\"top\"}}),_c('div',{staticClass:\"tw-p-5 tw-pt-0\"},[_c('div',{staticClass:\"tw-flex tw-mt-8 items-strecth tw-space-x-10\"},[_c('div',{staticClass:\"tw-flex-col tw-w-2/3 tw-justify-between\"},[_c('b-skeleton',{staticClass:\"tw-flex-grow tw-mb-1\",attrs:{\"height\":\"15px\"}}),_c('b-skeleton',{staticClass:\"tw-flex-grow\",attrs:{\"height\":\"15px\",\"width\":\"80%\"}})],1),_c('div',{staticClass:\"tw-flex tw-w-1/3 tw-justify-between tw-space-x-10\"},[_c('b-skeleton',{staticClass:\"tw-flex-grow\",attrs:{\"height\":\"50%\"}})],1)]),_c('hr',{staticClass:\"tw-m-0\"}),_c('div',{staticClass:\"tw-flex tw-mt-5 tw-justify-between tw-space-x-10\"},[_c('div',{staticClass:\"tw-flex-col tw-w-1/3 tw-justify-between\"},[_c('b-skeleton',{staticClass:\"tw-flex-grow tw-mb-1\",attrs:{\"height\":\"20px\"}}),_c('b-skeleton',{staticClass:\"tw-flex-grow\",attrs:{\"height\":\"8px\",\"width\":\"100%\"}})],1),_c('div',{staticClass:\"tw-flex tw-flex-col tw-w-1/3 tw-justify-between\"},[_c('b-skeleton',{staticClass:\"tw-flex-grow tw-mb-1\",attrs:{\"width\":\"80%\"}}),_c('b-skeleton',{staticClass:\"tw-flex-grow\"})],1)])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { BCard, BSkeletonImg, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\nimport AvIcon from \"@/components/av-icon/AvIcon.vue\";\n\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component( {\n name: \"AvSkeletonCard\",\n components: {\n BCard,\n BSkeletonImg,\n BSkeleton,\n BSkeletonWrapper,\n AvIcon,\n }\n} )\nexport default class AvSkeletonCard extends Vue {}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonCard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonCard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonCard.vue?vue&type=template&id=5d9e84a1\"\nimport script from \"./AvSkeletonCard.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonCard.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-skeleton-wrapper',[_c('div',{staticClass:\"tw-flex tw-flex-col\"},[_c('div',[_c('b-skeleton',{attrs:{\"width\":\"100%\",\"height\":\"32px\"}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\";\nimport { Component } from \"vue-property-decorator\";\nimport { BSkeletonImg, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\n\n@Component({\n name: \"AvSkeletonInput\",\n components: {\n BSkeletonImg,\n BSkeleton,\n BSkeletonWrapper\n },\n})\nexport default class AvSkeletonInput extends Vue {}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonInput.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonInput.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonInput.vue?vue&type=template&id=27ca8fd7\"\nimport script from \"./AvSkeletonInput.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonInput.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-skeleton-wrapper',[_c('div',{staticClass:\"tw-flex tw-flex-col\"},[_c('b-skeleton',{key:\"fotos\",staticClass:\"tw-w-full tw-p-4 tw-pt-8\",attrs:{\"height\":\"448px\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\";\nimport { Component } from \"vue-property-decorator\";\nimport { BSkeletonImg, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\n\n@Component({\n name: \"AvSkeletonMediaTabs\",\n components: {\n BSkeletonImg,\n BSkeleton,\n BSkeletonWrapper,\n },\n})\nexport default class AvSkeletonMediaTabs extends Vue {\n index: number = 0;\n\n classParaMobile(index: number): string {\n return index <= 2 ? \"tw-flex\" : \"hidden\";\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonMediaTabs.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonMediaTabs.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonMediaTabs.vue?vue&type=template&id=0563017e\"\nimport script from \"./AvSkeletonMediaTabs.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonMediaTabs.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"tw-w-full\"},[_c('div',{staticClass:\"board-avonale\"},_vm._l((_vm.quantity),function(i){return _c('av-skeleton-card',{key:i})}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { AvSkeletonCard } from \"@/components/av-skeleton\";\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n\n@Component( {\n name: \"AvSkeletonBoard\",\n components: {\n AvSkeletonCard,\n }\n} )\nexport default class AvSkeletonBoard extends Vue {\n @Prop( { required: true } ) quantity!: number;\n};\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonBoard.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonBoard.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonBoard.vue?vue&type=template&id=2865710c&scoped=true\"\nimport script from \"./AvSkeletonBoard.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonBoard.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AvSkeletonBoard.vue?vue&type=style&index=0&id=2865710c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2865710c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('av-card',[_c('div',{staticClass:\"table__skeleton-row\"},[_c('b-skeleton',{attrs:{\"height\":\"30px\"}})],1),_c('div',{staticClass:\"tw-flex tw-space-x-5 table__skeleton-row\"},[_c('b-skeleton',{attrs:{\"width\":\"20%\",\"height\":\"30px\"}}),_c('b-skeleton',{staticClass:\"tw-flex-grow\",attrs:{\"height\":\"30px\"}})],1),_c('div',{staticClass:\"tw-flex tw-space-x-10 table__skeleton-row\"},[_c('div',{staticClass:\"tw-flex tw-space-x-2 tw-flex-grow\"},_vm._l((7),function(i){return _c('b-skeleton',{key:i,attrs:{\"width\":\"100%\",\"height\":\"35px\"}})}),1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AvSkeletonTable.vue?vue&type=template&id=1629bcbb&scoped=true\"\nimport script from \"./AvSkeletonTable.vue?vue&type=script&lang=js\"\nexport * from \"./AvSkeletonTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./AvSkeletonTable.vue?vue&type=style&index=0&id=1629bcbb&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1629bcbb\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-skeleton-wrapper',[_c('div',{staticClass:\"tw-w-full tw-p-4 tw-pt-8\"},_vm._l((6),function(index){return _c('b-skeleton',{key:index,staticClass:\"tw-flex-grow tw-mb-10\",attrs:{\"height\":\"50px\"}})}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { BSkeletonImg, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\nimport { Component, Vue } from \"vue-property-decorator\";\n\n@Component( {\n name: \"AvSkeletonVerticalNavMenu\",\n components: {\n BSkeletonImg,\n BSkeleton,\n BSkeletonWrapper,\n }\n} )\nexport default class AvSkeletonVerticalNavMenu extends Vue {}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonVerticalNavMenu.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonVerticalNavMenu.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonVerticalNavMenu.vue?vue&type=template&id=17e40616\"\nimport script from \"./AvSkeletonVerticalNavMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonVerticalNavMenu.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('b-skeleton-wrapper',[_c('b-skeleton',{staticClass:\"mb-0\",attrs:{\"height\":\"21px\"}}),_c('hr',{staticClass:\"tw-m-0\"}),_c('b-row',{staticClass:\"skeleton-bar\",style:({ height: _vm.height })},_vm._l((_vm.columns),function(i){return _c('b-col',{key:i,staticClass:\"skeleton-bar-column\",style:({ height: _vm.height })},[_c('b-skeleton',{staticClass:\"w-100\",attrs:{\"height\":_vm.generateColumnHeight(i),\"card-img\":\"top\"}})],1)}),1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { BRow, BCol, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n\n@Component({\n name: \"AvSkeletonChartBar\",\n components: {\n BRow,\n BCol,\n BSkeleton,\n BSkeletonWrapper,\n },\n})\nexport default class AvSkeletonChartBar extends Vue {\n @Prop({ default: \"350px\" }) height!: string;\n @Prop({ default: 3 }) columns!: number;\n\n generateColumnHeight(index: number): string {\n return Math.round(Math.random() * 100) + 1 + \"%\";\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartBar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartBar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonChartBar.vue?vue&type=template&id=29a124e8&scoped=true\"\nimport script from \"./AvSkeletonChartBar.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonChartBar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AvSkeletonChartBar.vue?vue&type=style&index=0&id=29a124e8&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29a124e8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('b-skeleton-wrapper',[_c('b-skeleton',{staticClass:\"mb-0\",attrs:{\"height\":\"21px\"}}),_c('hr',{staticClass:\"tw-m-0\"}),_c('div',{staticClass:\"pie-skeleton-legends\"},[_c('b-skeleton',{staticClass:\"pie-skeleton-legend\",attrs:{\"height\":\"15px\"}}),_c('b-skeleton',{staticClass:\"pie-skeleton-legend\",attrs:{\"height\":\"15px\"}})],1),_c('div',{staticClass:\"pie-skeleton-wrapper\",style:({ height: _vm.height })},[_c('b-skeleton',{staticClass:\"pie-skeleton-item\"}),_c('b-skeleton',{staticClass:\"pie-skeleton-item\"})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { BRow, BCol, BSkeleton, BSkeletonWrapper } from \"bootstrap-vue\";\n\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\n\n@Component({\n name: \"AvSkeletonChartPie\",\n components: {\n BRow,\n BCol,\n BSkeleton,\n BSkeletonWrapper,\n },\n})\nexport default class AvSkeletonChartPie extends Vue {\n @Prop({ default: \"300px\" }) height!: string;\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartPie.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvSkeletonChartPie.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AvSkeletonChartPie.vue?vue&type=template&id=289921e8&scoped=true\"\nimport script from \"./AvSkeletonChartPie.vue?vue&type=script&lang=ts\"\nexport * from \"./AvSkeletonChartPie.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AvSkeletonChartPie.vue?vue&type=style&index=0&id=289921e8&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"289921e8\",\n null\n \n)\n\nexport default component.exports","/* @preserve\n * Leaflet 1.6.0, a JS library for interactive maps. http://leafletjs.com\n * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.L = {})));\n}(this, (function (exports) { 'use strict';\n\nvar version = \"1.6.0\";\n\n/*\r\n * @namespace Util\r\n *\r\n * Various utility functions, used by Leaflet internally.\r\n */\r\n\r\nvar freeze = Object.freeze;\r\nObject.freeze = function (obj) { return obj; };\r\n\r\n// @function extend(dest: Object, src?: Object): Object\r\n// Merges the properties of the `src` object (or multiple objects) into `dest` object and returns the latter. Has an `L.extend` shortcut.\r\nfunction extend(dest) {\r\n\tvar i, j, len, src;\r\n\r\n\tfor (j = 1, len = arguments.length; j < len; j++) {\r\n\t\tsrc = arguments[j];\r\n\t\tfor (i in src) {\r\n\t\t\tdest[i] = src[i];\r\n\t\t}\r\n\t}\r\n\treturn dest;\r\n}\r\n\r\n// @function create(proto: Object, properties?: Object): Object\r\n// Compatibility polyfill for [Object.create](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/create)\r\nvar create = Object.create || (function () {\r\n\tfunction F() {}\r\n\treturn function (proto) {\r\n\t\tF.prototype = proto;\r\n\t\treturn new F();\r\n\t};\r\n})();\r\n\r\n// @function bind(fn: Function, …): Function\r\n// Returns a new function bound to the arguments passed, like [Function.prototype.bind](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\r\n// Has a `L.bind()` shortcut.\r\nfunction bind(fn, obj) {\r\n\tvar slice = Array.prototype.slice;\r\n\r\n\tif (fn.bind) {\r\n\t\treturn fn.bind.apply(fn, slice.call(arguments, 1));\r\n\t}\r\n\r\n\tvar args = slice.call(arguments, 2);\r\n\r\n\treturn function () {\r\n\t\treturn fn.apply(obj, args.length ? args.concat(slice.call(arguments)) : arguments);\r\n\t};\r\n}\r\n\r\n// @property lastId: Number\r\n// Last unique ID used by [`stamp()`](#util-stamp)\r\nvar lastId = 0;\r\n\r\n// @function stamp(obj: Object): Number\r\n// Returns the unique ID of an object, assigning it one if it doesn't have it.\r\nfunction stamp(obj) {\r\n\t/*eslint-disable */\r\n\tobj._leaflet_id = obj._leaflet_id || ++lastId;\r\n\treturn obj._leaflet_id;\r\n\t/* eslint-enable */\r\n}\r\n\r\n// @function throttle(fn: Function, time: Number, context: Object): Function\r\n// Returns a function which executes function `fn` with the given scope `context`\r\n// (so that the `this` keyword refers to `context` inside `fn`'s code). The function\r\n// `fn` will be called no more than one time per given amount of `time`. The arguments\r\n// received by the bound function will be any arguments passed when binding the\r\n// function, followed by any arguments passed when invoking the bound function.\r\n// Has an `L.throttle` shortcut.\r\nfunction throttle(fn, time, context) {\r\n\tvar lock, args, wrapperFn, later;\r\n\r\n\tlater = function () {\r\n\t\t// reset lock and call if queued\r\n\t\tlock = false;\r\n\t\tif (args) {\r\n\t\t\twrapperFn.apply(context, args);\r\n\t\t\targs = false;\r\n\t\t}\r\n\t};\r\n\r\n\twrapperFn = function () {\r\n\t\tif (lock) {\r\n\t\t\t// called too soon, queue to call later\r\n\t\t\targs = arguments;\r\n\r\n\t\t} else {\r\n\t\t\t// call and lock until later\r\n\t\t\tfn.apply(context, arguments);\r\n\t\t\tsetTimeout(later, time);\r\n\t\t\tlock = true;\r\n\t\t}\r\n\t};\r\n\r\n\treturn wrapperFn;\r\n}\r\n\r\n// @function wrapNum(num: Number, range: Number[], includeMax?: Boolean): Number\r\n// Returns the number `num` modulo `range` in such a way so it lies within\r\n// `range[0]` and `range[1]`. The returned value will be always smaller than\r\n// `range[1]` unless `includeMax` is set to `true`.\r\nfunction wrapNum(x, range, includeMax) {\r\n\tvar max = range[1],\r\n\t min = range[0],\r\n\t d = max - min;\r\n\treturn x === max && includeMax ? x : ((x - min) % d + d) % d + min;\r\n}\r\n\r\n// @function falseFn(): Function\r\n// Returns a function which always returns `false`.\r\nfunction falseFn() { return false; }\r\n\r\n// @function formatNum(num: Number, digits?: Number): Number\r\n// Returns the number `num` rounded to `digits` decimals, or to 6 decimals by default.\r\nfunction formatNum(num, digits) {\r\n\tvar pow = Math.pow(10, (digits === undefined ? 6 : digits));\r\n\treturn Math.round(num * pow) / pow;\r\n}\r\n\r\n// @function trim(str: String): String\r\n// Compatibility polyfill for [String.prototype.trim](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)\r\nfunction trim(str) {\r\n\treturn str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\r\n}\r\n\r\n// @function splitWords(str: String): String[]\r\n// Trims and splits the string on whitespace and returns the array of parts.\r\nfunction splitWords(str) {\r\n\treturn trim(str).split(/\\s+/);\r\n}\r\n\r\n// @function setOptions(obj: Object, options: Object): Object\r\n// Merges the given properties to the `options` of the `obj` object, returning the resulting options. See `Class options`. Has an `L.setOptions` shortcut.\r\nfunction setOptions(obj, options) {\r\n\tif (!obj.hasOwnProperty('options')) {\r\n\t\tobj.options = obj.options ? create(obj.options) : {};\r\n\t}\r\n\tfor (var i in options) {\r\n\t\tobj.options[i] = options[i];\r\n\t}\r\n\treturn obj.options;\r\n}\r\n\r\n// @function getParamString(obj: Object, existingUrl?: String, uppercase?: Boolean): String\r\n// Converts an object into a parameter URL string, e.g. `{a: \"foo\", b: \"bar\"}`\r\n// translates to `'?a=foo&b=bar'`. If `existingUrl` is set, the parameters will\r\n// be appended at the end. If `uppercase` is `true`, the parameter names will\r\n// be uppercased (e.g. `'?A=foo&B=bar'`)\r\nfunction getParamString(obj, existingUrl, uppercase) {\r\n\tvar params = [];\r\n\tfor (var i in obj) {\r\n\t\tparams.push(encodeURIComponent(uppercase ? i.toUpperCase() : i) + '=' + encodeURIComponent(obj[i]));\r\n\t}\r\n\treturn ((!existingUrl || existingUrl.indexOf('?') === -1) ? '?' : '&') + params.join('&');\r\n}\r\n\r\nvar templateRe = /\\{ *([\\w_-]+) *\\}/g;\r\n\r\n// @function template(str: String, data: Object): String\r\n// Simple templating facility, accepts a template string of the form `'Hello {a}, {b}'`\r\n// and a data object like `{a: 'foo', b: 'bar'}`, returns evaluated string\r\n// `('Hello foo, bar')`. You can also specify functions instead of strings for\r\n// data values — they will be evaluated passing `data` as an argument.\r\nfunction template(str, data) {\r\n\treturn str.replace(templateRe, function (str, key) {\r\n\t\tvar value = data[key];\r\n\r\n\t\tif (value === undefined) {\r\n\t\t\tthrow new Error('No value provided for variable ' + str);\r\n\r\n\t\t} else if (typeof value === 'function') {\r\n\t\t\tvalue = value(data);\r\n\t\t}\r\n\t\treturn value;\r\n\t});\r\n}\r\n\r\n// @function isArray(obj): Boolean\r\n// Compatibility polyfill for [Array.isArray](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)\r\nvar isArray = Array.isArray || function (obj) {\r\n\treturn (Object.prototype.toString.call(obj) === '[object Array]');\r\n};\r\n\r\n// @function indexOf(array: Array, el: Object): Number\r\n// Compatibility polyfill for [Array.prototype.indexOf](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf)\r\nfunction indexOf(array, el) {\r\n\tfor (var i = 0; i < array.length; i++) {\r\n\t\tif (array[i] === el) { return i; }\r\n\t}\r\n\treturn -1;\r\n}\r\n\r\n// @property emptyImageUrl: String\r\n// Data URI string containing a base64-encoded empty GIF image.\r\n// Used as a hack to free memory from unused images on WebKit-powered\r\n// mobile devices (by setting image `src` to this string).\r\nvar emptyImageUrl = 'data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';\r\n\r\n// inspired by http://paulirish.com/2011/requestanimationframe-for-smart-animating/\r\n\r\nfunction getPrefixed(name) {\r\n\treturn window['webkit' + name] || window['moz' + name] || window['ms' + name];\r\n}\r\n\r\nvar lastTime = 0;\r\n\r\n// fallback for IE 7-8\r\nfunction timeoutDefer(fn) {\r\n\tvar time = +new Date(),\r\n\t timeToCall = Math.max(0, 16 - (time - lastTime));\r\n\r\n\tlastTime = time + timeToCall;\r\n\treturn window.setTimeout(fn, timeToCall);\r\n}\r\n\r\nvar requestFn = window.requestAnimationFrame || getPrefixed('RequestAnimationFrame') || timeoutDefer;\r\nvar cancelFn = window.cancelAnimationFrame || getPrefixed('CancelAnimationFrame') ||\r\n\t\tgetPrefixed('CancelRequestAnimationFrame') || function (id) { window.clearTimeout(id); };\r\n\r\n// @function requestAnimFrame(fn: Function, context?: Object, immediate?: Boolean): Number\r\n// Schedules `fn` to be executed when the browser repaints. `fn` is bound to\r\n// `context` if given. When `immediate` is set, `fn` is called immediately if\r\n// the browser doesn't have native support for\r\n// [`window.requestAnimationFrame`](https://developer.mozilla.org/docs/Web/API/window/requestAnimationFrame),\r\n// otherwise it's delayed. Returns a request ID that can be used to cancel the request.\r\nfunction requestAnimFrame(fn, context, immediate) {\r\n\tif (immediate && requestFn === timeoutDefer) {\r\n\t\tfn.call(context);\r\n\t} else {\r\n\t\treturn requestFn.call(window, bind(fn, context));\r\n\t}\r\n}\r\n\r\n// @function cancelAnimFrame(id: Number): undefined\r\n// Cancels a previous `requestAnimFrame`. See also [window.cancelAnimationFrame](https://developer.mozilla.org/docs/Web/API/window/cancelAnimationFrame).\r\nfunction cancelAnimFrame(id) {\r\n\tif (id) {\r\n\t\tcancelFn.call(window, id);\r\n\t}\r\n}\r\n\n\nvar Util = (Object.freeze || Object)({\n\tfreeze: freeze,\n\textend: extend,\n\tcreate: create,\n\tbind: bind,\n\tlastId: lastId,\n\tstamp: stamp,\n\tthrottle: throttle,\n\twrapNum: wrapNum,\n\tfalseFn: falseFn,\n\tformatNum: formatNum,\n\ttrim: trim,\n\tsplitWords: splitWords,\n\tsetOptions: setOptions,\n\tgetParamString: getParamString,\n\ttemplate: template,\n\tisArray: isArray,\n\tindexOf: indexOf,\n\temptyImageUrl: emptyImageUrl,\n\trequestFn: requestFn,\n\tcancelFn: cancelFn,\n\trequestAnimFrame: requestAnimFrame,\n\tcancelAnimFrame: cancelAnimFrame\n});\n\n// @class Class\r\n// @aka L.Class\r\n\r\n// @section\r\n// @uninheritable\r\n\r\n// Thanks to John Resig and Dean Edwards for inspiration!\r\n\r\nfunction Class() {}\r\n\r\nClass.extend = function (props) {\r\n\r\n\t// @function extend(props: Object): Function\r\n\t// [Extends the current class](#class-inheritance) given the properties to be included.\r\n\t// Returns a Javascript function that is a class constructor (to be called with `new`).\r\n\tvar NewClass = function () {\r\n\r\n\t\t// call the constructor\r\n\t\tif (this.initialize) {\r\n\t\t\tthis.initialize.apply(this, arguments);\r\n\t\t}\r\n\r\n\t\t// call all constructor hooks\r\n\t\tthis.callInitHooks();\r\n\t};\r\n\r\n\tvar parentProto = NewClass.__super__ = this.prototype;\r\n\r\n\tvar proto = create(parentProto);\r\n\tproto.constructor = NewClass;\r\n\r\n\tNewClass.prototype = proto;\r\n\r\n\t// inherit parent's statics\r\n\tfor (var i in this) {\r\n\t\tif (this.hasOwnProperty(i) && i !== 'prototype' && i !== '__super__') {\r\n\t\t\tNewClass[i] = this[i];\r\n\t\t}\r\n\t}\r\n\r\n\t// mix static properties into the class\r\n\tif (props.statics) {\r\n\t\textend(NewClass, props.statics);\r\n\t\tdelete props.statics;\r\n\t}\r\n\r\n\t// mix includes into the prototype\r\n\tif (props.includes) {\r\n\t\tcheckDeprecatedMixinEvents(props.includes);\r\n\t\textend.apply(null, [proto].concat(props.includes));\r\n\t\tdelete props.includes;\r\n\t}\r\n\r\n\t// merge options\r\n\tif (proto.options) {\r\n\t\tprops.options = extend(create(proto.options), props.options);\r\n\t}\r\n\r\n\t// mix given properties into the prototype\r\n\textend(proto, props);\r\n\r\n\tproto._initHooks = [];\r\n\r\n\t// add method for calling all hooks\r\n\tproto.callInitHooks = function () {\r\n\r\n\t\tif (this._initHooksCalled) { return; }\r\n\r\n\t\tif (parentProto.callInitHooks) {\r\n\t\t\tparentProto.callInitHooks.call(this);\r\n\t\t}\r\n\r\n\t\tthis._initHooksCalled = true;\r\n\r\n\t\tfor (var i = 0, len = proto._initHooks.length; i < len; i++) {\r\n\t\t\tproto._initHooks[i].call(this);\r\n\t\t}\r\n\t};\r\n\r\n\treturn NewClass;\r\n};\r\n\r\n\r\n// @function include(properties: Object): this\r\n// [Includes a mixin](#class-includes) into the current class.\r\nClass.include = function (props) {\r\n\textend(this.prototype, props);\r\n\treturn this;\r\n};\r\n\r\n// @function mergeOptions(options: Object): this\r\n// [Merges `options`](#class-options) into the defaults of the class.\r\nClass.mergeOptions = function (options) {\r\n\textend(this.prototype.options, options);\r\n\treturn this;\r\n};\r\n\r\n// @function addInitHook(fn: Function): this\r\n// Adds a [constructor hook](#class-constructor-hooks) to the class.\r\nClass.addInitHook = function (fn) { // (Function) || (String, args...)\r\n\tvar args = Array.prototype.slice.call(arguments, 1);\r\n\r\n\tvar init = typeof fn === 'function' ? fn : function () {\r\n\t\tthis[fn].apply(this, args);\r\n\t};\r\n\r\n\tthis.prototype._initHooks = this.prototype._initHooks || [];\r\n\tthis.prototype._initHooks.push(init);\r\n\treturn this;\r\n};\r\n\r\nfunction checkDeprecatedMixinEvents(includes) {\r\n\tif (typeof L === 'undefined' || !L || !L.Mixin) { return; }\r\n\r\n\tincludes = isArray(includes) ? includes : [includes];\r\n\r\n\tfor (var i = 0; i < includes.length; i++) {\r\n\t\tif (includes[i] === L.Mixin.Events) {\r\n\t\t\tconsole.warn('Deprecated include of L.Mixin.Events: ' +\r\n\t\t\t\t'this property will be removed in future releases, ' +\r\n\t\t\t\t'please inherit from L.Evented instead.', new Error().stack);\r\n\t\t}\r\n\t}\r\n}\n\n/*\r\n * @class Evented\r\n * @aka L.Evented\r\n * @inherits Class\r\n *\r\n * A set of methods shared between event-powered classes (like `Map` and `Marker`). Generally, events allow you to execute some function when something happens with an object (e.g. the user clicks on the map, causing the map to fire `'click'` event).\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * map.on('click', function(e) {\r\n * \talert(e.latlng);\r\n * } );\r\n * ```\r\n *\r\n * Leaflet deals with event listeners by reference, so if you want to add a listener and then remove it, define it as a function:\r\n *\r\n * ```js\r\n * function onClick(e) { ... }\r\n *\r\n * map.on('click', onClick);\r\n * map.off('click', onClick);\r\n * ```\r\n */\r\n\r\nvar Events = {\r\n\t/* @method on(type: String, fn: Function, context?: Object): this\r\n\t * Adds a listener function (`fn`) to a particular event type of the object. You can optionally specify the context of the listener (object the this keyword will point to). You can also pass several space-separated types (e.g. `'click dblclick'`).\r\n\t *\r\n\t * @alternative\r\n\t * @method on(eventMap: Object): this\r\n\t * Adds a set of type/listener pairs, e.g. `{click: onClick, mousemove: onMouseMove}`\r\n\t */\r\n\ton: function (types, fn, context) {\r\n\r\n\t\t// types can be a map of types/handlers\r\n\t\tif (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\t// we don't process space-separated events here for performance;\r\n\t\t\t\t// it's a hot path since Layer uses the on(obj) syntax\r\n\t\t\t\tthis._on(type, types[type], fn);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t// types can be a string of space-separated words\r\n\t\t\ttypes = splitWords(types);\r\n\r\n\t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\t\tthis._on(types[i], fn, context);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t/* @method off(type: String, fn?: Function, context?: Object): this\r\n\t * Removes a previously added listener function. If no function is specified, it will remove all the listeners of that particular event from the object. Note that if you passed a custom context to `on`, you must pass the same context to `off` in order to remove the listener.\r\n\t *\r\n\t * @alternative\r\n\t * @method off(eventMap: Object): this\r\n\t * Removes a set of type/listener pairs.\r\n\t *\r\n\t * @alternative\r\n\t * @method off: this\r\n\t * Removes all listeners to all events on the object. This includes implicitly attached events.\r\n\t */\r\n\toff: function (types, fn, context) {\r\n\r\n\t\tif (!types) {\r\n\t\t\t// clear all listeners if called without arguments\r\n\t\t\tdelete this._events;\r\n\r\n\t\t} else if (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\tthis._off(type, types[type], fn);\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\ttypes = splitWords(types);\r\n\r\n\t\t\tfor (var i = 0, len = types.length; i < len; i++) {\r\n\t\t\t\tthis._off(types[i], fn, context);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// attach listener (without syntactic sugar now)\r\n\t_on: function (type, fn, context) {\r\n\t\tthis._events = this._events || {};\r\n\r\n\t\t/* get/init listeners for type */\r\n\t\tvar typeListeners = this._events[type];\r\n\t\tif (!typeListeners) {\r\n\t\t\ttypeListeners = [];\r\n\t\t\tthis._events[type] = typeListeners;\r\n\t\t}\r\n\r\n\t\tif (context === this) {\r\n\t\t\t// Less memory footprint.\r\n\t\t\tcontext = undefined;\r\n\t\t}\r\n\t\tvar newListener = {fn: fn, ctx: context},\r\n\t\t listeners = typeListeners;\r\n\r\n\t\t// check if fn already there\r\n\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\tif (listeners[i].fn === fn && listeners[i].ctx === context) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tlisteners.push(newListener);\r\n\t},\r\n\r\n\t_off: function (type, fn, context) {\r\n\t\tvar listeners,\r\n\t\t i,\r\n\t\t len;\r\n\r\n\t\tif (!this._events) { return; }\r\n\r\n\t\tlisteners = this._events[type];\r\n\r\n\t\tif (!listeners) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!fn) {\r\n\t\t\t// Set all removed listeners to noop so they are not called if remove happens in fire\r\n\t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\tlisteners[i].fn = falseFn;\r\n\t\t\t}\r\n\t\t\t// clear all listeners for a type if function isn't specified\r\n\t\t\tdelete this._events[type];\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (context === this) {\r\n\t\t\tcontext = undefined;\r\n\t\t}\r\n\r\n\t\tif (listeners) {\r\n\r\n\t\t\t// find fn and remove it\r\n\t\t\tfor (i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\tvar l = listeners[i];\r\n\t\t\t\tif (l.ctx !== context) { continue; }\r\n\t\t\t\tif (l.fn === fn) {\r\n\r\n\t\t\t\t\t// set the removed listener to noop so that's not called if remove happens in fire\r\n\t\t\t\t\tl.fn = falseFn;\r\n\r\n\t\t\t\t\tif (this._firingCount) {\r\n\t\t\t\t\t\t/* copy array in case events are being fired */\r\n\t\t\t\t\t\tthis._events[type] = listeners = listeners.slice();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tlisteners.splice(i, 1);\r\n\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// @method fire(type: String, data?: Object, propagate?: Boolean): this\r\n\t// Fires an event of the specified type. You can optionally provide an data\r\n\t// object — the first argument of the listener function will contain its\r\n\t// properties. The event can optionally be propagated to event parents.\r\n\tfire: function (type, data, propagate) {\r\n\t\tif (!this.listens(type, propagate)) { return this; }\r\n\r\n\t\tvar event = extend({}, data, {\r\n\t\t\ttype: type,\r\n\t\t\ttarget: this,\r\n\t\t\tsourceTarget: data && data.sourceTarget || this\r\n\t\t});\r\n\r\n\t\tif (this._events) {\r\n\t\t\tvar listeners = this._events[type];\r\n\r\n\t\t\tif (listeners) {\r\n\t\t\t\tthis._firingCount = (this._firingCount + 1) || 1;\r\n\t\t\t\tfor (var i = 0, len = listeners.length; i < len; i++) {\r\n\t\t\t\t\tvar l = listeners[i];\r\n\t\t\t\t\tl.fn.call(l.ctx || this, event);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis._firingCount--;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (propagate) {\r\n\t\t\t// propagate the event to parents (set with addEventParent)\r\n\t\t\tthis._propagateEvent(event);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method listens(type: String): Boolean\r\n\t// Returns `true` if a particular event type has any listeners attached to it.\r\n\tlistens: function (type, propagate) {\r\n\t\tvar listeners = this._events && this._events[type];\r\n\t\tif (listeners && listeners.length) { return true; }\r\n\r\n\t\tif (propagate) {\r\n\t\t\t// also check parents for listeners if event propagates\r\n\t\t\tfor (var id in this._eventParents) {\r\n\t\t\t\tif (this._eventParents[id].listens(type, propagate)) { return true; }\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t// @method once(…): this\r\n\t// Behaves as [`on(…)`](#evented-on), except the listener will only get fired once and then removed.\r\n\tonce: function (types, fn, context) {\r\n\r\n\t\tif (typeof types === 'object') {\r\n\t\t\tfor (var type in types) {\r\n\t\t\t\tthis.once(type, types[type], fn);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tvar handler = bind(function () {\r\n\t\t\tthis\r\n\t\t\t .off(types, fn, context)\r\n\t\t\t .off(types, handler, context);\r\n\t\t}, this);\r\n\r\n\t\t// add a listener that's executed once and removed after that\r\n\t\treturn this\r\n\t\t .on(types, fn, context)\r\n\t\t .on(types, handler, context);\r\n\t},\r\n\r\n\t// @method addEventParent(obj: Evented): this\r\n\t// Adds an event parent - an `Evented` that will receive propagated events\r\n\taddEventParent: function (obj) {\r\n\t\tthis._eventParents = this._eventParents || {};\r\n\t\tthis._eventParents[stamp(obj)] = obj;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method removeEventParent(obj: Evented): this\r\n\t// Removes an event parent, so it will stop receiving propagated events\r\n\tremoveEventParent: function (obj) {\r\n\t\tif (this._eventParents) {\r\n\t\t\tdelete this._eventParents[stamp(obj)];\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t_propagateEvent: function (e) {\r\n\t\tfor (var id in this._eventParents) {\r\n\t\t\tthis._eventParents[id].fire(e.type, extend({\r\n\t\t\t\tlayer: e.target,\r\n\t\t\t\tpropagatedFrom: e.target\r\n\t\t\t}, e), true);\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// aliases; we should ditch those eventually\r\n\r\n// @method addEventListener(…): this\r\n// Alias to [`on(…)`](#evented-on)\r\nEvents.addEventListener = Events.on;\r\n\r\n// @method removeEventListener(…): this\r\n// Alias to [`off(…)`](#evented-off)\r\n\r\n// @method clearAllEventListeners(…): this\r\n// Alias to [`off()`](#evented-off)\r\nEvents.removeEventListener = Events.clearAllEventListeners = Events.off;\r\n\r\n// @method addOneTimeEventListener(…): this\r\n// Alias to [`once(…)`](#evented-once)\r\nEvents.addOneTimeEventListener = Events.once;\r\n\r\n// @method fireEvent(…): this\r\n// Alias to [`fire(…)`](#evented-fire)\r\nEvents.fireEvent = Events.fire;\r\n\r\n// @method hasEventListeners(…): Boolean\r\n// Alias to [`listens(…)`](#evented-listens)\r\nEvents.hasEventListeners = Events.listens;\r\n\r\nvar Evented = Class.extend(Events);\n\n/*\r\n * @class Point\r\n * @aka L.Point\r\n *\r\n * Represents a point with `x` and `y` coordinates in pixels.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var point = L.point(200, 300);\r\n * ```\r\n *\r\n * All Leaflet methods and options that accept `Point` objects also accept them in a simple Array form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```js\r\n * map.panBy([200, 300]);\r\n * map.panBy(L.point(200, 300));\r\n * ```\r\n *\r\n * Note that `Point` does not inherit from Leafet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction Point(x, y, round) {\r\n\t// @property x: Number; The `x` coordinate of the point\r\n\tthis.x = (round ? Math.round(x) : x);\r\n\t// @property y: Number; The `y` coordinate of the point\r\n\tthis.y = (round ? Math.round(y) : y);\r\n}\r\n\r\nvar trunc = Math.trunc || function (v) {\r\n\treturn v > 0 ? Math.floor(v) : Math.ceil(v);\r\n};\r\n\r\nPoint.prototype = {\r\n\r\n\t// @method clone(): Point\r\n\t// Returns a copy of the current point.\r\n\tclone: function () {\r\n\t\treturn new Point(this.x, this.y);\r\n\t},\r\n\r\n\t// @method add(otherPoint: Point): Point\r\n\t// Returns the result of addition of the current and the given points.\r\n\tadd: function (point) {\r\n\t\t// non-destructive, returns a new point\r\n\t\treturn this.clone()._add(toPoint(point));\r\n\t},\r\n\r\n\t_add: function (point) {\r\n\t\t// destructive, used directly for performance in situations where it's safe to modify existing point\r\n\t\tthis.x += point.x;\r\n\t\tthis.y += point.y;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method subtract(otherPoint: Point): Point\r\n\t// Returns the result of subtraction of the given point from the current.\r\n\tsubtract: function (point) {\r\n\t\treturn this.clone()._subtract(toPoint(point));\r\n\t},\r\n\r\n\t_subtract: function (point) {\r\n\t\tthis.x -= point.x;\r\n\t\tthis.y -= point.y;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method divideBy(num: Number): Point\r\n\t// Returns the result of division of the current point by the given number.\r\n\tdivideBy: function (num) {\r\n\t\treturn this.clone()._divideBy(num);\r\n\t},\r\n\r\n\t_divideBy: function (num) {\r\n\t\tthis.x /= num;\r\n\t\tthis.y /= num;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method multiplyBy(num: Number): Point\r\n\t// Returns the result of multiplication of the current point by the given number.\r\n\tmultiplyBy: function (num) {\r\n\t\treturn this.clone()._multiplyBy(num);\r\n\t},\r\n\r\n\t_multiplyBy: function (num) {\r\n\t\tthis.x *= num;\r\n\t\tthis.y *= num;\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method scaleBy(scale: Point): Point\r\n\t// Multiply each coordinate of the current point by each coordinate of\r\n\t// `scale`. In linear algebra terms, multiply the point by the\r\n\t// [scaling matrix](https://en.wikipedia.org/wiki/Scaling_%28geometry%29#Matrix_representation)\r\n\t// defined by `scale`.\r\n\tscaleBy: function (point) {\r\n\t\treturn new Point(this.x * point.x, this.y * point.y);\r\n\t},\r\n\r\n\t// @method unscaleBy(scale: Point): Point\r\n\t// Inverse of `scaleBy`. Divide each coordinate of the current point by\r\n\t// each coordinate of `scale`.\r\n\tunscaleBy: function (point) {\r\n\t\treturn new Point(this.x / point.x, this.y / point.y);\r\n\t},\r\n\r\n\t// @method round(): Point\r\n\t// Returns a copy of the current point with rounded coordinates.\r\n\tround: function () {\r\n\t\treturn this.clone()._round();\r\n\t},\r\n\r\n\t_round: function () {\r\n\t\tthis.x = Math.round(this.x);\r\n\t\tthis.y = Math.round(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method floor(): Point\r\n\t// Returns a copy of the current point with floored coordinates (rounded down).\r\n\tfloor: function () {\r\n\t\treturn this.clone()._floor();\r\n\t},\r\n\r\n\t_floor: function () {\r\n\t\tthis.x = Math.floor(this.x);\r\n\t\tthis.y = Math.floor(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method ceil(): Point\r\n\t// Returns a copy of the current point with ceiled coordinates (rounded up).\r\n\tceil: function () {\r\n\t\treturn this.clone()._ceil();\r\n\t},\r\n\r\n\t_ceil: function () {\r\n\t\tthis.x = Math.ceil(this.x);\r\n\t\tthis.y = Math.ceil(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method trunc(): Point\r\n\t// Returns a copy of the current point with truncated coordinates (rounded towards zero).\r\n\ttrunc: function () {\r\n\t\treturn this.clone()._trunc();\r\n\t},\r\n\r\n\t_trunc: function () {\r\n\t\tthis.x = trunc(this.x);\r\n\t\tthis.y = trunc(this.y);\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method distanceTo(otherPoint: Point): Number\r\n\t// Returns the cartesian distance between the current and the given points.\r\n\tdistanceTo: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\tvar x = point.x - this.x,\r\n\t\t y = point.y - this.y;\r\n\r\n\t\treturn Math.sqrt(x * x + y * y);\r\n\t},\r\n\r\n\t// @method equals(otherPoint: Point): Boolean\r\n\t// Returns `true` if the given point has the same coordinates.\r\n\tequals: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\treturn point.x === this.x &&\r\n\t\t point.y === this.y;\r\n\t},\r\n\r\n\t// @method contains(otherPoint: Point): Boolean\r\n\t// Returns `true` if both coordinates of the given point are less than the corresponding current point coordinates (in absolute values).\r\n\tcontains: function (point) {\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\treturn Math.abs(point.x) <= Math.abs(this.x) &&\r\n\t\t Math.abs(point.y) <= Math.abs(this.y);\r\n\t},\r\n\r\n\t// @method toString(): String\r\n\t// Returns a string representation of the point for debugging purposes.\r\n\ttoString: function () {\r\n\t\treturn 'Point(' +\r\n\t\t formatNum(this.x) + ', ' +\r\n\t\t formatNum(this.y) + ')';\r\n\t}\r\n};\r\n\r\n// @factory L.point(x: Number, y: Number, round?: Boolean)\r\n// Creates a Point object with the given `x` and `y` coordinates. If optional `round` is set to true, rounds the `x` and `y` values.\r\n\r\n// @alternative\r\n// @factory L.point(coords: Number[])\r\n// Expects an array of the form `[x, y]` instead.\r\n\r\n// @alternative\r\n// @factory L.point(coords: Object)\r\n// Expects a plain object of the form `{x: Number, y: Number}` instead.\r\nfunction toPoint(x, y, round) {\r\n\tif (x instanceof Point) {\r\n\t\treturn x;\r\n\t}\r\n\tif (isArray(x)) {\r\n\t\treturn new Point(x[0], x[1]);\r\n\t}\r\n\tif (x === undefined || x === null) {\r\n\t\treturn x;\r\n\t}\r\n\tif (typeof x === 'object' && 'x' in x && 'y' in x) {\r\n\t\treturn new Point(x.x, x.y);\r\n\t}\r\n\treturn new Point(x, y, round);\r\n}\n\n/*\r\n * @class Bounds\r\n * @aka L.Bounds\r\n *\r\n * Represents a rectangular area in pixel coordinates.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var p1 = L.point(10, 10),\r\n * p2 = L.point(40, 60),\r\n * bounds = L.bounds(p1, p2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept `Bounds` objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * otherBounds.intersects([[10, 10], [40, 60]]);\r\n * ```\r\n *\r\n * Note that `Bounds` does not inherit from Leafet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction Bounds(a, b) {\r\n\tif (!a) { return; }\r\n\r\n\tvar points = b ? [a, b] : a;\r\n\r\n\tfor (var i = 0, len = points.length; i < len; i++) {\r\n\t\tthis.extend(points[i]);\r\n\t}\r\n}\r\n\r\nBounds.prototype = {\r\n\t// @method extend(point: Point): this\r\n\t// Extends the bounds to contain the given point.\r\n\textend: function (point) { // (Point)\r\n\t\tpoint = toPoint(point);\r\n\r\n\t\t// @property min: Point\r\n\t\t// The top left corner of the rectangle.\r\n\t\t// @property max: Point\r\n\t\t// The bottom right corner of the rectangle.\r\n\t\tif (!this.min && !this.max) {\r\n\t\t\tthis.min = point.clone();\r\n\t\t\tthis.max = point.clone();\r\n\t\t} else {\r\n\t\t\tthis.min.x = Math.min(point.x, this.min.x);\r\n\t\t\tthis.max.x = Math.max(point.x, this.max.x);\r\n\t\t\tthis.min.y = Math.min(point.y, this.min.y);\r\n\t\t\tthis.max.y = Math.max(point.y, this.max.y);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method getCenter(round?: Boolean): Point\r\n\t// Returns the center point of the bounds.\r\n\tgetCenter: function (round) {\r\n\t\treturn new Point(\r\n\t\t (this.min.x + this.max.x) / 2,\r\n\t\t (this.min.y + this.max.y) / 2, round);\r\n\t},\r\n\r\n\t// @method getBottomLeft(): Point\r\n\t// Returns the bottom-left point of the bounds.\r\n\tgetBottomLeft: function () {\r\n\t\treturn new Point(this.min.x, this.max.y);\r\n\t},\r\n\r\n\t// @method getTopRight(): Point\r\n\t// Returns the top-right point of the bounds.\r\n\tgetTopRight: function () { // -> Point\r\n\t\treturn new Point(this.max.x, this.min.y);\r\n\t},\r\n\r\n\t// @method getTopLeft(): Point\r\n\t// Returns the top-left point of the bounds (i.e. [`this.min`](#bounds-min)).\r\n\tgetTopLeft: function () {\r\n\t\treturn this.min; // left, top\r\n\t},\r\n\r\n\t// @method getBottomRight(): Point\r\n\t// Returns the bottom-right point of the bounds (i.e. [`this.max`](#bounds-max)).\r\n\tgetBottomRight: function () {\r\n\t\treturn this.max; // right, bottom\r\n\t},\r\n\r\n\t// @method getSize(): Point\r\n\t// Returns the size of the given bounds\r\n\tgetSize: function () {\r\n\t\treturn this.max.subtract(this.min);\r\n\t},\r\n\r\n\t// @method contains(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle contains the given one.\r\n\t// @alternative\r\n\t// @method contains(point: Point): Boolean\r\n\t// Returns `true` if the rectangle contains the given point.\r\n\tcontains: function (obj) {\r\n\t\tvar min, max;\r\n\r\n\t\tif (typeof obj[0] === 'number' || obj instanceof Point) {\r\n\t\t\tobj = toPoint(obj);\r\n\t\t} else {\r\n\t\t\tobj = toBounds(obj);\r\n\t\t}\r\n\r\n\t\tif (obj instanceof Bounds) {\r\n\t\t\tmin = obj.min;\r\n\t\t\tmax = obj.max;\r\n\t\t} else {\r\n\t\t\tmin = max = obj;\r\n\t\t}\r\n\r\n\t\treturn (min.x >= this.min.x) &&\r\n\t\t (max.x <= this.max.x) &&\r\n\t\t (min.y >= this.min.y) &&\r\n\t\t (max.y <= this.max.y);\r\n\t},\r\n\r\n\t// @method intersects(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle intersects the given bounds. Two bounds\r\n\t// intersect if they have at least one point in common.\r\n\tintersects: function (bounds) { // (Bounds) -> Boolean\r\n\t\tbounds = toBounds(bounds);\r\n\r\n\t\tvar min = this.min,\r\n\t\t max = this.max,\r\n\t\t min2 = bounds.min,\r\n\t\t max2 = bounds.max,\r\n\t\t xIntersects = (max2.x >= min.x) && (min2.x <= max.x),\r\n\t\t yIntersects = (max2.y >= min.y) && (min2.y <= max.y);\r\n\r\n\t\treturn xIntersects && yIntersects;\r\n\t},\r\n\r\n\t// @method overlaps(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle overlaps the given bounds. Two bounds\r\n\t// overlap if their intersection is an area.\r\n\toverlaps: function (bounds) { // (Bounds) -> Boolean\r\n\t\tbounds = toBounds(bounds);\r\n\r\n\t\tvar min = this.min,\r\n\t\t max = this.max,\r\n\t\t min2 = bounds.min,\r\n\t\t max2 = bounds.max,\r\n\t\t xOverlaps = (max2.x > min.x) && (min2.x < max.x),\r\n\t\t yOverlaps = (max2.y > min.y) && (min2.y < max.y);\r\n\r\n\t\treturn xOverlaps && yOverlaps;\r\n\t},\r\n\r\n\tisValid: function () {\r\n\t\treturn !!(this.min && this.max);\r\n\t}\r\n};\r\n\r\n\r\n// @factory L.bounds(corner1: Point, corner2: Point)\r\n// Creates a Bounds object from two corners coordinate pairs.\r\n// @alternative\r\n// @factory L.bounds(points: Point[])\r\n// Creates a Bounds object from the given array of points.\r\nfunction toBounds(a, b) {\r\n\tif (!a || a instanceof Bounds) {\r\n\t\treturn a;\r\n\t}\r\n\treturn new Bounds(a, b);\r\n}\n\n/*\r\n * @class LatLngBounds\r\n * @aka L.LatLngBounds\r\n *\r\n * Represents a rectangular geographical area on a map.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var corner1 = L.latLng(40.712, -74.227),\r\n * corner2 = L.latLng(40.774, -74.125),\r\n * bounds = L.latLngBounds(corner1, corner2);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLngBounds objects also accept them in a simple Array form (unless noted otherwise), so the bounds example above can be passed like this:\r\n *\r\n * ```js\r\n * map.fitBounds([\r\n * \t[40.712, -74.227],\r\n * \t[40.774, -74.125]\r\n * ]);\r\n * ```\r\n *\r\n * Caution: if the area crosses the antimeridian (often confused with the International Date Line), you must specify corners _outside_ the [-180, 180] degrees longitude range.\r\n *\r\n * Note that `LatLngBounds` does not inherit from Leafet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction LatLngBounds(corner1, corner2) { // (LatLng, LatLng) or (LatLng[])\r\n\tif (!corner1) { return; }\r\n\r\n\tvar latlngs = corner2 ? [corner1, corner2] : corner1;\r\n\r\n\tfor (var i = 0, len = latlngs.length; i < len; i++) {\r\n\t\tthis.extend(latlngs[i]);\r\n\t}\r\n}\r\n\r\nLatLngBounds.prototype = {\r\n\r\n\t// @method extend(latlng: LatLng): this\r\n\t// Extend the bounds to contain the given point\r\n\r\n\t// @alternative\r\n\t// @method extend(otherBounds: LatLngBounds): this\r\n\t// Extend the bounds to contain the given bounds\r\n\textend: function (obj) {\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2, ne2;\r\n\r\n\t\tif (obj instanceof LatLng) {\r\n\t\t\tsw2 = obj;\r\n\t\t\tne2 = obj;\r\n\r\n\t\t} else if (obj instanceof LatLngBounds) {\r\n\t\t\tsw2 = obj._southWest;\r\n\t\t\tne2 = obj._northEast;\r\n\r\n\t\t\tif (!sw2 || !ne2) { return this; }\r\n\r\n\t\t} else {\r\n\t\t\treturn obj ? this.extend(toLatLng(obj) || toLatLngBounds(obj)) : this;\r\n\t\t}\r\n\r\n\t\tif (!sw && !ne) {\r\n\t\t\tthis._southWest = new LatLng(sw2.lat, sw2.lng);\r\n\t\t\tthis._northEast = new LatLng(ne2.lat, ne2.lng);\r\n\t\t} else {\r\n\t\t\tsw.lat = Math.min(sw2.lat, sw.lat);\r\n\t\t\tsw.lng = Math.min(sw2.lng, sw.lng);\r\n\t\t\tne.lat = Math.max(ne2.lat, ne.lat);\r\n\t\t\tne.lng = Math.max(ne2.lng, ne.lng);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\t// @method pad(bufferRatio: Number): LatLngBounds\r\n\t// Returns bounds created by extending or retracting the current bounds by a given ratio in each direction.\r\n\t// For example, a ratio of 0.5 extends the bounds by 50% in each direction.\r\n\t// Negative values will retract the bounds.\r\n\tpad: function (bufferRatio) {\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t heightBuffer = Math.abs(sw.lat - ne.lat) * bufferRatio,\r\n\t\t widthBuffer = Math.abs(sw.lng - ne.lng) * bufferRatio;\r\n\r\n\t\treturn new LatLngBounds(\r\n\t\t new LatLng(sw.lat - heightBuffer, sw.lng - widthBuffer),\r\n\t\t new LatLng(ne.lat + heightBuffer, ne.lng + widthBuffer));\r\n\t},\r\n\r\n\t// @method getCenter(): LatLng\r\n\t// Returns the center point of the bounds.\r\n\tgetCenter: function () {\r\n\t\treturn new LatLng(\r\n\t\t (this._southWest.lat + this._northEast.lat) / 2,\r\n\t\t (this._southWest.lng + this._northEast.lng) / 2);\r\n\t},\r\n\r\n\t// @method getSouthWest(): LatLng\r\n\t// Returns the south-west point of the bounds.\r\n\tgetSouthWest: function () {\r\n\t\treturn this._southWest;\r\n\t},\r\n\r\n\t// @method getNorthEast(): LatLng\r\n\t// Returns the north-east point of the bounds.\r\n\tgetNorthEast: function () {\r\n\t\treturn this._northEast;\r\n\t},\r\n\r\n\t// @method getNorthWest(): LatLng\r\n\t// Returns the north-west point of the bounds.\r\n\tgetNorthWest: function () {\r\n\t\treturn new LatLng(this.getNorth(), this.getWest());\r\n\t},\r\n\r\n\t// @method getSouthEast(): LatLng\r\n\t// Returns the south-east point of the bounds.\r\n\tgetSouthEast: function () {\r\n\t\treturn new LatLng(this.getSouth(), this.getEast());\r\n\t},\r\n\r\n\t// @method getWest(): Number\r\n\t// Returns the west longitude of the bounds\r\n\tgetWest: function () {\r\n\t\treturn this._southWest.lng;\r\n\t},\r\n\r\n\t// @method getSouth(): Number\r\n\t// Returns the south latitude of the bounds\r\n\tgetSouth: function () {\r\n\t\treturn this._southWest.lat;\r\n\t},\r\n\r\n\t// @method getEast(): Number\r\n\t// Returns the east longitude of the bounds\r\n\tgetEast: function () {\r\n\t\treturn this._northEast.lng;\r\n\t},\r\n\r\n\t// @method getNorth(): Number\r\n\t// Returns the north latitude of the bounds\r\n\tgetNorth: function () {\r\n\t\treturn this._northEast.lat;\r\n\t},\r\n\r\n\t// @method contains(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle contains the given one.\r\n\r\n\t// @alternative\r\n\t// @method contains (latlng: LatLng): Boolean\r\n\t// Returns `true` if the rectangle contains the given point.\r\n\tcontains: function (obj) { // (LatLngBounds) or (LatLng) -> Boolean\r\n\t\tif (typeof obj[0] === 'number' || obj instanceof LatLng || 'lat' in obj) {\r\n\t\t\tobj = toLatLng(obj);\r\n\t\t} else {\r\n\t\t\tobj = toLatLngBounds(obj);\r\n\t\t}\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2, ne2;\r\n\r\n\t\tif (obj instanceof LatLngBounds) {\r\n\t\t\tsw2 = obj.getSouthWest();\r\n\t\t\tne2 = obj.getNorthEast();\r\n\t\t} else {\r\n\t\t\tsw2 = ne2 = obj;\r\n\t\t}\r\n\r\n\t\treturn (sw2.lat >= sw.lat) && (ne2.lat <= ne.lat) &&\r\n\t\t (sw2.lng >= sw.lng) && (ne2.lng <= ne.lng);\r\n\t},\r\n\r\n\t// @method intersects(otherBounds: LatLngBounds): Boolean\r\n\t// Returns `true` if the rectangle intersects the given bounds. Two bounds intersect if they have at least one point in common.\r\n\tintersects: function (bounds) {\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2 = bounds.getSouthWest(),\r\n\t\t ne2 = bounds.getNorthEast(),\r\n\r\n\t\t latIntersects = (ne2.lat >= sw.lat) && (sw2.lat <= ne.lat),\r\n\t\t lngIntersects = (ne2.lng >= sw.lng) && (sw2.lng <= ne.lng);\r\n\r\n\t\treturn latIntersects && lngIntersects;\r\n\t},\r\n\r\n\t// @method overlaps(otherBounds: Bounds): Boolean\r\n\t// Returns `true` if the rectangle overlaps the given bounds. Two bounds overlap if their intersection is an area.\r\n\toverlaps: function (bounds) {\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\tvar sw = this._southWest,\r\n\t\t ne = this._northEast,\r\n\t\t sw2 = bounds.getSouthWest(),\r\n\t\t ne2 = bounds.getNorthEast(),\r\n\r\n\t\t latOverlaps = (ne2.lat > sw.lat) && (sw2.lat < ne.lat),\r\n\t\t lngOverlaps = (ne2.lng > sw.lng) && (sw2.lng < ne.lng);\r\n\r\n\t\treturn latOverlaps && lngOverlaps;\r\n\t},\r\n\r\n\t// @method toBBoxString(): String\r\n\t// Returns a string with bounding box coordinates in a 'southwest_lng,southwest_lat,northeast_lng,northeast_lat' format. Useful for sending requests to web services that return geo data.\r\n\ttoBBoxString: function () {\r\n\t\treturn [this.getWest(), this.getSouth(), this.getEast(), this.getNorth()].join(',');\r\n\t},\r\n\r\n\t// @method equals(otherBounds: LatLngBounds, maxMargin?: Number): Boolean\r\n\t// Returns `true` if the rectangle is equivalent (within a small margin of error) to the given bounds. The margin of error can be overridden by setting `maxMargin` to a small number.\r\n\tequals: function (bounds, maxMargin) {\r\n\t\tif (!bounds) { return false; }\r\n\r\n\t\tbounds = toLatLngBounds(bounds);\r\n\r\n\t\treturn this._southWest.equals(bounds.getSouthWest(), maxMargin) &&\r\n\t\t this._northEast.equals(bounds.getNorthEast(), maxMargin);\r\n\t},\r\n\r\n\t// @method isValid(): Boolean\r\n\t// Returns `true` if the bounds are properly initialized.\r\n\tisValid: function () {\r\n\t\treturn !!(this._southWest && this._northEast);\r\n\t}\r\n};\r\n\r\n// TODO International date line?\r\n\r\n// @factory L.latLngBounds(corner1: LatLng, corner2: LatLng)\r\n// Creates a `LatLngBounds` object by defining two diagonally opposite corners of the rectangle.\r\n\r\n// @alternative\r\n// @factory L.latLngBounds(latlngs: LatLng[])\r\n// Creates a `LatLngBounds` object defined by the geographical points it contains. Very useful for zooming the map to fit a particular set of locations with [`fitBounds`](#map-fitbounds).\r\nfunction toLatLngBounds(a, b) {\r\n\tif (a instanceof LatLngBounds) {\r\n\t\treturn a;\r\n\t}\r\n\treturn new LatLngBounds(a, b);\r\n}\n\n/* @class LatLng\r\n * @aka L.LatLng\r\n *\r\n * Represents a geographical point with a certain latitude and longitude.\r\n *\r\n * @example\r\n *\r\n * ```\r\n * var latlng = L.latLng(50.5, 30.5);\r\n * ```\r\n *\r\n * All Leaflet methods that accept LatLng objects also accept them in a simple Array form and simple object form (unless noted otherwise), so these lines are equivalent:\r\n *\r\n * ```\r\n * map.panTo([50, 30]);\r\n * map.panTo({lon: 30, lat: 50});\r\n * map.panTo({lat: 50, lng: 30});\r\n * map.panTo(L.latLng(50, 30));\r\n * ```\r\n *\r\n * Note that `LatLng` does not inherit from Leaflet's `Class` object,\r\n * which means new classes can't inherit from it, and new methods\r\n * can't be added to it with the `include` function.\r\n */\r\n\r\nfunction LatLng(lat, lng, alt) {\r\n\tif (isNaN(lat) || isNaN(lng)) {\r\n\t\tthrow new Error('Invalid LatLng object: (' + lat + ', ' + lng + ')');\r\n\t}\r\n\r\n\t// @property lat: Number\r\n\t// Latitude in degrees\r\n\tthis.lat = +lat;\r\n\r\n\t// @property lng: Number\r\n\t// Longitude in degrees\r\n\tthis.lng = +lng;\r\n\r\n\t// @property alt: Number\r\n\t// Altitude in meters (optional)\r\n\tif (alt !== undefined) {\r\n\t\tthis.alt = +alt;\r\n\t}\r\n}\r\n\r\nLatLng.prototype = {\r\n\t// @method equals(otherLatLng: LatLng, maxMargin?: Number): Boolean\r\n\t// Returns `true` if the given `LatLng` point is at the same position (within a small margin of error). The margin of error can be overridden by setting `maxMargin` to a small number.\r\n\tequals: function (obj, maxMargin) {\r\n\t\tif (!obj) { return false; }\r\n\r\n\t\tobj = toLatLng(obj);\r\n\r\n\t\tvar margin = Math.max(\r\n\t\t Math.abs(this.lat - obj.lat),\r\n\t\t Math.abs(this.lng - obj.lng));\r\n\r\n\t\treturn margin <= (maxMargin === undefined ? 1.0E-9 : maxMargin);\r\n\t},\r\n\r\n\t// @method toString(): String\r\n\t// Returns a string representation of the point (for debugging purposes).\r\n\ttoString: function (precision) {\r\n\t\treturn 'LatLng(' +\r\n\t\t formatNum(this.lat, precision) + ', ' +\r\n\t\t formatNum(this.lng, precision) + ')';\r\n\t},\r\n\r\n\t// @method distanceTo(otherLatLng: LatLng): Number\r\n\t// Returns the distance (in meters) to the given `LatLng` calculated using the [Spherical Law of Cosines](https://en.wikipedia.org/wiki/Spherical_law_of_cosines).\r\n\tdistanceTo: function (other) {\r\n\t\treturn Earth.distance(this, toLatLng(other));\r\n\t},\r\n\r\n\t// @method wrap(): LatLng\r\n\t// Returns a new `LatLng` object with the longitude wrapped so it's always between -180 and +180 degrees.\r\n\twrap: function () {\r\n\t\treturn Earth.wrapLatLng(this);\r\n\t},\r\n\r\n\t// @method toBounds(sizeInMeters: Number): LatLngBounds\r\n\t// Returns a new `LatLngBounds` object in which each boundary is `sizeInMeters/2` meters apart from the `LatLng`.\r\n\ttoBounds: function (sizeInMeters) {\r\n\t\tvar latAccuracy = 180 * sizeInMeters / 40075017,\r\n\t\t lngAccuracy = latAccuracy / Math.cos((Math.PI / 180) * this.lat);\r\n\r\n\t\treturn toLatLngBounds(\r\n\t\t [this.lat - latAccuracy, this.lng - lngAccuracy],\r\n\t\t [this.lat + latAccuracy, this.lng + lngAccuracy]);\r\n\t},\r\n\r\n\tclone: function () {\r\n\t\treturn new LatLng(this.lat, this.lng, this.alt);\r\n\t}\r\n};\r\n\r\n\r\n\r\n// @factory L.latLng(latitude: Number, longitude: Number, altitude?: Number): LatLng\r\n// Creates an object representing a geographical point with the given latitude and longitude (and optionally altitude).\r\n\r\n// @alternative\r\n// @factory L.latLng(coords: Array): LatLng\r\n// Expects an array of the form `[Number, Number]` or `[Number, Number, Number]` instead.\r\n\r\n// @alternative\r\n// @factory L.latLng(coords: Object): LatLng\r\n// Expects an plain object of the form `{lat: Number, lng: Number}` or `{lat: Number, lng: Number, alt: Number}` instead.\r\n\r\nfunction toLatLng(a, b, c) {\r\n\tif (a instanceof LatLng) {\r\n\t\treturn a;\r\n\t}\r\n\tif (isArray(a) && typeof a[0] !== 'object') {\r\n\t\tif (a.length === 3) {\r\n\t\t\treturn new LatLng(a[0], a[1], a[2]);\r\n\t\t}\r\n\t\tif (a.length === 2) {\r\n\t\t\treturn new LatLng(a[0], a[1]);\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\tif (a === undefined || a === null) {\r\n\t\treturn a;\r\n\t}\r\n\tif (typeof a === 'object' && 'lat' in a) {\r\n\t\treturn new LatLng(a.lat, 'lng' in a ? a.lng : a.lon, a.alt);\r\n\t}\r\n\tif (b === undefined) {\r\n\t\treturn null;\r\n\t}\r\n\treturn new LatLng(a, b, c);\r\n}\n\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.Base\r\n * Object that defines coordinate reference systems for projecting\r\n * geographical points into pixel (screen) coordinates and back (and to\r\n * coordinates in other units for [WMS](https://en.wikipedia.org/wiki/Web_Map_Service) services). See\r\n * [spatial reference system](http://en.wikipedia.org/wiki/Coordinate_reference_system).\r\n *\r\n * Leaflet defines the most usual CRSs by default. If you want to use a\r\n * CRS not defined by default, take a look at the\r\n * [Proj4Leaflet](https://github.com/kartena/Proj4Leaflet) plugin.\r\n *\r\n * Note that the CRS instances do not inherit from Leafet's `Class` object,\r\n * and can't be instantiated. Also, new classes can't inherit from them,\r\n * and methods can't be added to them with the `include` function.\r\n */\r\n\r\nvar CRS = {\r\n\t// @method latLngToPoint(latlng: LatLng, zoom: Number): Point\r\n\t// Projects geographical coordinates into pixel coordinates for a given zoom.\r\n\tlatLngToPoint: function (latlng, zoom) {\r\n\t\tvar projectedPoint = this.projection.project(latlng),\r\n\t\t scale = this.scale(zoom);\r\n\r\n\t\treturn this.transformation._transform(projectedPoint, scale);\r\n\t},\r\n\r\n\t// @method pointToLatLng(point: Point, zoom: Number): LatLng\r\n\t// The inverse of `latLngToPoint`. Projects pixel coordinates on a given\r\n\t// zoom into geographical coordinates.\r\n\tpointToLatLng: function (point, zoom) {\r\n\t\tvar scale = this.scale(zoom),\r\n\t\t untransformedPoint = this.transformation.untransform(point, scale);\r\n\r\n\t\treturn this.projection.unproject(untransformedPoint);\r\n\t},\r\n\r\n\t// @method project(latlng: LatLng): Point\r\n\t// Projects geographical coordinates into coordinates in units accepted for\r\n\t// this CRS (e.g. meters for EPSG:3857, for passing it to WMS services).\r\n\tproject: function (latlng) {\r\n\t\treturn this.projection.project(latlng);\r\n\t},\r\n\r\n\t// @method unproject(point: Point): LatLng\r\n\t// Given a projected coordinate returns the corresponding LatLng.\r\n\t// The inverse of `project`.\r\n\tunproject: function (point) {\r\n\t\treturn this.projection.unproject(point);\r\n\t},\r\n\r\n\t// @method scale(zoom: Number): Number\r\n\t// Returns the scale used when transforming projected coordinates into\r\n\t// pixel coordinates for a particular zoom. For example, it returns\r\n\t// `256 * 2^zoom` for Mercator-based CRS.\r\n\tscale: function (zoom) {\r\n\t\treturn 256 * Math.pow(2, zoom);\r\n\t},\r\n\r\n\t// @method zoom(scale: Number): Number\r\n\t// Inverse of `scale()`, returns the zoom level corresponding to a scale\r\n\t// factor of `scale`.\r\n\tzoom: function (scale) {\r\n\t\treturn Math.log(scale / 256) / Math.LN2;\r\n\t},\r\n\r\n\t// @method getProjectedBounds(zoom: Number): Bounds\r\n\t// Returns the projection's bounds scaled and transformed for the provided `zoom`.\r\n\tgetProjectedBounds: function (zoom) {\r\n\t\tif (this.infinite) { return null; }\r\n\r\n\t\tvar b = this.projection.bounds,\r\n\t\t s = this.scale(zoom),\r\n\t\t min = this.transformation.transform(b.min, s),\r\n\t\t max = this.transformation.transform(b.max, s);\r\n\r\n\t\treturn new Bounds(min, max);\r\n\t},\r\n\r\n\t// @method distance(latlng1: LatLng, latlng2: LatLng): Number\r\n\t// Returns the distance between two geographical coordinates.\r\n\r\n\t// @property code: String\r\n\t// Standard code name of the CRS passed into WMS services (e.g. `'EPSG:3857'`)\r\n\t//\r\n\t// @property wrapLng: Number[]\r\n\t// An array of two numbers defining whether the longitude (horizontal) coordinate\r\n\t// axis wraps around a given range and how. Defaults to `[-180, 180]` in most\r\n\t// geographical CRSs. If `undefined`, the longitude axis does not wrap around.\r\n\t//\r\n\t// @property wrapLat: Number[]\r\n\t// Like `wrapLng`, but for the latitude (vertical) axis.\r\n\r\n\t// wrapLng: [min, max],\r\n\t// wrapLat: [min, max],\r\n\r\n\t// @property infinite: Boolean\r\n\t// If true, the coordinate space will be unbounded (infinite in both axes)\r\n\tinfinite: false,\r\n\r\n\t// @method wrapLatLng(latlng: LatLng): LatLng\r\n\t// Returns a `LatLng` where lat and lng has been wrapped according to the\r\n\t// CRS's `wrapLat` and `wrapLng` properties, if they are outside the CRS's bounds.\r\n\twrapLatLng: function (latlng) {\r\n\t\tvar lng = this.wrapLng ? wrapNum(latlng.lng, this.wrapLng, true) : latlng.lng,\r\n\t\t lat = this.wrapLat ? wrapNum(latlng.lat, this.wrapLat, true) : latlng.lat,\r\n\t\t alt = latlng.alt;\r\n\r\n\t\treturn new LatLng(lat, lng, alt);\r\n\t},\r\n\r\n\t// @method wrapLatLngBounds(bounds: LatLngBounds): LatLngBounds\r\n\t// Returns a `LatLngBounds` with the same size as the given one, ensuring\r\n\t// that its center is within the CRS's bounds.\r\n\t// Only accepts actual `L.LatLngBounds` instances, not arrays.\r\n\twrapLatLngBounds: function (bounds) {\r\n\t\tvar center = bounds.getCenter(),\r\n\t\t newCenter = this.wrapLatLng(center),\r\n\t\t latShift = center.lat - newCenter.lat,\r\n\t\t lngShift = center.lng - newCenter.lng;\r\n\r\n\t\tif (latShift === 0 && lngShift === 0) {\r\n\t\t\treturn bounds;\r\n\t\t}\r\n\r\n\t\tvar sw = bounds.getSouthWest(),\r\n\t\t ne = bounds.getNorthEast(),\r\n\t\t newSw = new LatLng(sw.lat - latShift, sw.lng - lngShift),\r\n\t\t newNe = new LatLng(ne.lat - latShift, ne.lng - lngShift);\r\n\r\n\t\treturn new LatLngBounds(newSw, newNe);\r\n\t}\r\n};\n\n/*\n * @namespace CRS\n * @crs L.CRS.Earth\n *\n * Serves as the base for CRS that are global such that they cover the earth.\n * Can only be used as the base for other CRS and cannot be used directly,\n * since it does not have a `code`, `projection` or `transformation`. `distance()` returns\n * meters.\n */\n\nvar Earth = extend({}, CRS, {\n\twrapLng: [-180, 180],\n\n\t// Mean Earth Radius, as recommended for use by\n\t// the International Union of Geodesy and Geophysics,\n\t// see http://rosettacode.org/wiki/Haversine_formula\n\tR: 6371000,\n\n\t// distance between two geographical points using spherical law of cosines approximation\n\tdistance: function (latlng1, latlng2) {\n\t\tvar rad = Math.PI / 180,\n\t\t lat1 = latlng1.lat * rad,\n\t\t lat2 = latlng2.lat * rad,\n\t\t sinDLat = Math.sin((latlng2.lat - latlng1.lat) * rad / 2),\n\t\t sinDLon = Math.sin((latlng2.lng - latlng1.lng) * rad / 2),\n\t\t a = sinDLat * sinDLat + Math.cos(lat1) * Math.cos(lat2) * sinDLon * sinDLon,\n\t\t c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n\t\treturn this.R * c;\n\t}\n});\n\n/*\r\n * @namespace Projection\r\n * @projection L.Projection.SphericalMercator\r\n *\r\n * Spherical Mercator projection — the most common projection for online maps,\r\n * used by almost all free and commercial tile providers. Assumes that Earth is\r\n * a sphere. Used by the `EPSG:3857` CRS.\r\n */\r\n\r\nvar earthRadius = 6378137;\r\n\r\nvar SphericalMercator = {\r\n\r\n\tR: earthRadius,\r\n\tMAX_LATITUDE: 85.0511287798,\r\n\r\n\tproject: function (latlng) {\r\n\t\tvar d = Math.PI / 180,\r\n\t\t max = this.MAX_LATITUDE,\r\n\t\t lat = Math.max(Math.min(max, latlng.lat), -max),\r\n\t\t sin = Math.sin(lat * d);\r\n\r\n\t\treturn new Point(\r\n\t\t\tthis.R * latlng.lng * d,\r\n\t\t\tthis.R * Math.log((1 + sin) / (1 - sin)) / 2);\r\n\t},\r\n\r\n\tunproject: function (point) {\r\n\t\tvar d = 180 / Math.PI;\r\n\r\n\t\treturn new LatLng(\r\n\t\t\t(2 * Math.atan(Math.exp(point.y / this.R)) - (Math.PI / 2)) * d,\r\n\t\t\tpoint.x * d / this.R);\r\n\t},\r\n\r\n\tbounds: (function () {\r\n\t\tvar d = earthRadius * Math.PI;\r\n\t\treturn new Bounds([-d, -d], [d, d]);\r\n\t})()\r\n};\n\n/*\r\n * @class Transformation\r\n * @aka L.Transformation\r\n *\r\n * Represents an affine transformation: a set of coefficients `a`, `b`, `c`, `d`\r\n * for transforming a point of a form `(x, y)` into `(a*x + b, c*y + d)` and doing\r\n * the reverse. Used by Leaflet in its projections code.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * var transformation = L.transformation(2, 5, -1, 10),\r\n * \tp = L.point(1, 2),\r\n * \tp2 = transformation.transform(p), // L.point(7, 8)\r\n * \tp3 = transformation.untransform(p2); // L.point(1, 2)\r\n * ```\r\n */\r\n\r\n\r\n// factory new L.Transformation(a: Number, b: Number, c: Number, d: Number)\r\n// Creates a `Transformation` object with the given coefficients.\r\nfunction Transformation(a, b, c, d) {\r\n\tif (isArray(a)) {\r\n\t\t// use array properties\r\n\t\tthis._a = a[0];\r\n\t\tthis._b = a[1];\r\n\t\tthis._c = a[2];\r\n\t\tthis._d = a[3];\r\n\t\treturn;\r\n\t}\r\n\tthis._a = a;\r\n\tthis._b = b;\r\n\tthis._c = c;\r\n\tthis._d = d;\r\n}\r\n\r\nTransformation.prototype = {\r\n\t// @method transform(point: Point, scale?: Number): Point\r\n\t// Returns a transformed point, optionally multiplied by the given scale.\r\n\t// Only accepts actual `L.Point` instances, not arrays.\r\n\ttransform: function (point, scale) { // (Point, Number) -> Point\r\n\t\treturn this._transform(point.clone(), scale);\r\n\t},\r\n\r\n\t// destructive transform (faster)\r\n\t_transform: function (point, scale) {\r\n\t\tscale = scale || 1;\r\n\t\tpoint.x = scale * (this._a * point.x + this._b);\r\n\t\tpoint.y = scale * (this._c * point.y + this._d);\r\n\t\treturn point;\r\n\t},\r\n\r\n\t// @method untransform(point: Point, scale?: Number): Point\r\n\t// Returns the reverse transformation of the given point, optionally divided\r\n\t// by the given scale. Only accepts actual `L.Point` instances, not arrays.\r\n\tuntransform: function (point, scale) {\r\n\t\tscale = scale || 1;\r\n\t\treturn new Point(\r\n\t\t (point.x / scale - this._b) / this._a,\r\n\t\t (point.y / scale - this._d) / this._c);\r\n\t}\r\n};\r\n\r\n// factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n\r\n// @factory L.transformation(a: Number, b: Number, c: Number, d: Number)\r\n// Instantiates a Transformation object with the given coefficients.\r\n\r\n// @alternative\r\n// @factory L.transformation(coefficients: Array): Transformation\r\n// Expects an coefficients array of the form\r\n// `[a: Number, b: Number, c: Number, d: Number]`.\r\n\r\nfunction toTransformation(a, b, c, d) {\r\n\treturn new Transformation(a, b, c, d);\r\n}\n\n/*\r\n * @namespace CRS\r\n * @crs L.CRS.EPSG3857\r\n *\r\n * The most common CRS for online maps, used by almost all free and commercial\r\n * tile providers. Uses Spherical Mercator projection. Set in by default in\r\n * Map's `crs` option.\r\n */\r\n\r\nvar EPSG3857 = extend({}, Earth, {\r\n\tcode: 'EPSG:3857',\r\n\tprojection: SphericalMercator,\r\n\r\n\ttransformation: (function () {\r\n\t\tvar scale = 0.5 / (Math.PI * SphericalMercator.R);\r\n\t\treturn toTransformation(scale, 0.5, -scale, 0.5);\r\n\t}())\r\n});\r\n\r\nvar EPSG900913 = extend({}, EPSG3857, {\r\n\tcode: 'EPSG:900913'\r\n});\n\n// @namespace SVG; @section\n// There are several static functions which can be called without instantiating L.SVG:\n\n// @function create(name: String): SVGElement\n// Returns a instance of [SVGElement](https://developer.mozilla.org/docs/Web/API/SVGElement),\n// corresponding to the class name passed. For example, using 'line' will return\n// an instance of [SVGLineElement](https://developer.mozilla.org/docs/Web/API/SVGLineElement).\nfunction svgCreate(name) {\n\treturn document.createElementNS('http://www.w3.org/2000/svg', name);\n}\n\n// @function pointsToPath(rings: Point[], closed: Boolean): String\n// Generates a SVG path string for multiple rings, with each ring turning\n// into \"M..L..L..\" instructions\nfunction pointsToPath(rings, closed) {\n\tvar str = '',\n\ti, j, len, len2, points, p;\n\n\tfor (i = 0, len = rings.length; i < len; i++) {\n\t\tpoints = rings[i];\n\n\t\tfor (j = 0, len2 = points.length; j < len2; j++) {\n\t\t\tp = points[j];\n\t\t\tstr += (j ? 'L' : 'M') + p.x + ' ' + p.y;\n\t\t}\n\n\t\t// closes the ring for polygons; \"x\" is VML syntax\n\t\tstr += closed ? (svg ? 'z' : 'x') : '';\n\t}\n\n\t// SVG complains about empty path strings\n\treturn str || 'M0 0';\n}\n\n/*\r\n * @namespace Browser\r\n * @aka L.Browser\r\n *\r\n * A namespace with static properties for browser/feature detection used by Leaflet internally.\r\n *\r\n * @example\r\n *\r\n * ```js\r\n * if (L.Browser.ielt9) {\r\n * alert('Upgrade your browser, dude!');\r\n * }\r\n * ```\r\n */\r\n\r\nvar style$1 = document.documentElement.style;\r\n\r\n// @property ie: Boolean; `true` for all Internet Explorer versions (not Edge).\r\nvar ie = 'ActiveXObject' in window;\r\n\r\n// @property ielt9: Boolean; `true` for Internet Explorer versions less than 9.\r\nvar ielt9 = ie && !document.addEventListener;\r\n\r\n// @property edge: Boolean; `true` for the Edge web browser.\r\nvar edge = 'msLaunchUri' in navigator && !('documentMode' in document);\r\n\r\n// @property webkit: Boolean;\r\n// `true` for webkit-based browsers like Chrome and Safari (including mobile versions).\r\nvar webkit = userAgentContains('webkit');\r\n\r\n// @property android: Boolean\r\n// `true` for any browser running on an Android platform.\r\nvar android = userAgentContains('android');\r\n\r\n// @property android23: Boolean; `true` for browsers running on Android 2 or Android 3.\r\nvar android23 = userAgentContains('android 2') || userAgentContains('android 3');\r\n\r\n/* See https://stackoverflow.com/a/17961266 for details on detecting stock Android */\r\nvar webkitVer = parseInt(/WebKit\\/([0-9]+)|$/.exec(navigator.userAgent)[1], 10); // also matches AppleWebKit\r\n// @property androidStock: Boolean; `true` for the Android stock browser (i.e. not Chrome)\r\nvar androidStock = android && userAgentContains('Google') && webkitVer < 537 && !('AudioNode' in window);\r\n\r\n// @property opera: Boolean; `true` for the Opera browser\r\nvar opera = !!window.opera;\r\n\r\n// @property chrome: Boolean; `true` for the Chrome browser.\r\nvar chrome = userAgentContains('chrome');\r\n\r\n// @property gecko: Boolean; `true` for gecko-based browsers like Firefox.\r\nvar gecko = userAgentContains('gecko') && !webkit && !opera && !ie;\r\n\r\n// @property safari: Boolean; `true` for the Safari browser.\r\nvar safari = !chrome && userAgentContains('safari');\r\n\r\nvar phantom = userAgentContains('phantom');\r\n\r\n// @property opera12: Boolean\r\n// `true` for the Opera browser supporting CSS transforms (version 12 or later).\r\nvar opera12 = 'OTransition' in style$1;\r\n\r\n// @property win: Boolean; `true` when the browser is running in a Windows platform\r\nvar win = navigator.platform.indexOf('Win') === 0;\r\n\r\n// @property ie3d: Boolean; `true` for all Internet Explorer versions supporting CSS transforms.\r\nvar ie3d = ie && ('transition' in style$1);\r\n\r\n// @property webkit3d: Boolean; `true` for webkit-based browsers supporting CSS transforms.\r\nvar webkit3d = ('WebKitCSSMatrix' in window) && ('m11' in new window.WebKitCSSMatrix()) && !android23;\r\n\r\n// @property gecko3d: Boolean; `true` for gecko-based browsers supporting CSS transforms.\r\nvar gecko3d = 'MozPerspective' in style$1;\r\n\r\n// @property any3d: Boolean\r\n// `true` for all browsers supporting CSS transforms.\r\nvar any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d) && !opera12 && !phantom;\r\n\r\n// @property mobile: Boolean; `true` for all browsers running in a mobile device.\r\nvar mobile = typeof orientation !== 'undefined' || userAgentContains('mobile');\r\n\r\n// @property mobileWebkit: Boolean; `true` for all webkit-based browsers in a mobile device.\r\nvar mobileWebkit = mobile && webkit;\r\n\r\n// @property mobileWebkit3d: Boolean\r\n// `true` for all webkit-based browsers in a mobile device supporting CSS transforms.\r\nvar mobileWebkit3d = mobile && webkit3d;\r\n\r\n// @property msPointer: Boolean\r\n// `true` for browsers implementing the Microsoft touch events model (notably IE10).\r\nvar msPointer = !window.PointerEvent && window.MSPointerEvent;\r\n\r\n// @property pointer: Boolean\r\n// `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx).\r\nvar pointer = !webkit && !!(window.PointerEvent || msPointer);\r\n\r\n// @property touch: Boolean\r\n// `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events).\r\n// This does not necessarily mean that the browser is running in a computer with\r\n// a touchscreen, it only means that the browser is capable of understanding\r\n// touch events.\r\nvar touch = !window.L_NO_TOUCH && (pointer || 'ontouchstart' in window ||\r\n\t\t(window.DocumentTouch && document instanceof window.DocumentTouch));\r\n\r\n// @property mobileOpera: Boolean; `true` for the Opera browser in a mobile device.\r\nvar mobileOpera = mobile && opera;\r\n\r\n// @property mobileGecko: Boolean\r\n// `true` for gecko-based browsers running in a mobile device.\r\nvar mobileGecko = mobile && gecko;\r\n\r\n// @property retina: Boolean\r\n// `true` for browsers on a high-resolution \"retina\" screen or on any screen when browser's display zoom is more than 100%.\r\nvar retina = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1;\r\n\r\n// @property passiveEvents: Boolean\r\n// `true` for browsers that support passive events.\r\nvar passiveEvents = (function () {\r\n\tvar supportsPassiveOption = false;\r\n\ttry {\r\n\t\tvar opts = Object.defineProperty({}, 'passive', {\r\n\t\t\tget: function () {\r\n\t\t\t\tsupportsPassiveOption = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('testPassiveEventSupport', falseFn, opts);\r\n\t\twindow.removeEventListener('testPassiveEventSupport', falseFn, opts);\r\n\t} catch (e) {\r\n\t\t// Errors can safely be ignored since this is only a browser support test.\r\n\t}\r\n\treturn supportsPassiveOption;\r\n});\r\n\r\n// @property canvas: Boolean\r\n// `true` when the browser supports [`