leaflet: Create Interactive Web Maps with the JavaScript 'Leaflet' Library

Create and customize interactive maps using the 'Leaflet' JavaScript library and the 'htmlwidgets' package. These maps can be used directly from the R console, from 'RStudio', in Shiny apps and R Markdown documents.

AuthorJoe Cheng [aut, cre], Bhaskar Karambelkar [aut], Yihui Xie [aut], Hadley Wickham [ctb], Kenton Russell [ctb], Kent Johnson [ctb], jQuery Foundation and contributors [ctb, cph] (jQuery library), Vladimir Agafonkin [ctb, cph] (Leaflet library), CloudMade [cph] (Leaflet library), Leaflet contributors [ctb] (Leaflet library), Leaflet Providers contributors [ctb, cph] (Leaflet Providers plugin), Brandon Copeland [ctb, cph] (leaflet-measure plugin), Jacob Toye [ctb, cph] (Leaflet.label plugin), Joerg Dietrich [ctb, cph] (Leaflet.Terminator plugin), Benjamin Becquet [ctb, cph] (Leaflet.MagnifyingGlass plugin), Norkart AS [ctb, cph] (Leaflet.MiniMap plugin), L. Voogdt [ctb, cph] (Leaflet.awesome-markers plugin), Daniel Montague [ctb, cph] (Leaflet.EasyButton plugin), Kartena AB [ctb, cph] (Proj4Leaflet plugin), Robert Kajic [ctb, cph] (leaflet-locationfilter plugin), Mapbox [ctb, cph] (leaflet-omnivore plugin), Michael Bostock [ctb, cph] (topojson), RStudio [cph]
Date of publication2017-02-21 19:08:12
MaintainerJoe Cheng <joe@rstudio.com>
LicenseGPL-3
Version1.1.0
http://rstudio.github.io/leaflet/

View on CRAN

Man pages

addAwesomeMarkers: Add Awesome Markers

addGraticule: Add a Graticule on the map see <URL:...

addLayersControl: Add UI controls to switch layers on and off

addLegend: Add a color legend to a map

addMeasure: Add a measure control to the map.

addMiniMap: Add a minimap to the Map <URL:...

addProviderTiles: Add a tile layer from a known map provider

addRasterImage: Add a raster image as a layer

addScaleBar: Add or remove a scale bar

addSimpleGraticule: Add a simple Graticule on the map see <URL:...

addTerminator: Add a daylight layer on top of the map

atlStorms2005: Atlantic Ocean storms 2005

awesomeIconList: Make awesome-icon set

awesomeIcons: Create a list of awesome icon data see <URL:...

breweries91: Selected breweries in Franconia

colorNumeric: Color mapping

deprecated: Legacy functions

derivePoints: Given a data object and lng/lat arguments (which may be NULL...

derivePolygons: Given a data object and lng/lat arguments (which may be NULL...

dispatch: Extension points for plugins

easyButton: Create an easyButton statestate

evalFormula: Evaluate list members that are formulae, using the map data...

expandLimits: Notifies the map of new latitude/longitude of items of...

expandLimitsBbox: Same as expandLimits, but takes a polygon (that presumably...

filterNULL: remove NULL elements from a list

gadmCHE: Administrative borders of Switzerland (level 1)

getMapData: returns the map's data

iconList: Make icon set

icons: Create a list of icon data

leaflet: Create a Leaflet map widget

leafletDependencies: Various leaflet dependency functions for use in downstream...

leaflet-imports: Objects imported from other packages

leafletProxy: Send commands to a Leaflet instance in a Shiny app

makeAwesomeIcon: Make Awesome Icon

makeIcon: Define icon sets

map-layers: Graphics elements and layers

map-methods: Methods to manipulate the map widget

map-options: Extra options for map elements and layers

mapOptions: Set options on a leaflet map object

map-shiny: Wrapper functions for using 'leaflet' in 'shiny'

previewColors: Color previewing utility

providers: Providers

providers.details: Providers Details

remove: Remove elements from a map

safeLabel: Sanitize textual labels

showGroup: Show or hide layer groups

validateCoords: Utility function to check if a coordinates is valid

Functions

\%>\% Man page
addAwesomeMarkers Man page
addCircleMarkers Man page
addCircles Man page
addControl Man page
addEasyButton Man page
addEasyButtonBar Man page
addGeoJSON Man page
addGraticule Man page
addLabelOnlyMarkers Man page
addLayersControl Man page
addLegend Man page
addMarkers Man page
addMeasure Man page
addMiniMap Man page
addPolygons Man page
addPolylines Man page
addPopups Man page
addProviderTiles Man page
addRasterImage Man page
addRectangles Man page
addScaleBar Man page
addSimpleGraticule Man page
addTerminator Man page
addTiles Man page
addTopoJSON Man page
addWMSTiles Man page
atlStorms2005 Man page
awesomeIconList Man page
awesomeIcons Man page
breweries91 Man page
clearBounds Man page
clearControls Man page
clearGeoJSON Man page
clearGroup Man page
clearImages Man page
clearMarkerClusters Man page
clearMarkers Man page
clearPopups Man page
clearShapes Man page
clearTiles Man page
clearTopoJSON Man page
colorBin Man page
colorFactor Man page
colorNumeric Man page
colorQuantile Man page
createLeafletMap Man page
derivePoints Man page
derivePolygons Man page
dispatch Man page
easyButton Man page
easyButtonState Man page
evalFormula Man page
expandLimits Man page
expandLimitsBbox Man page
filterNULL Man page
fitBounds Man page
gadmCHE Man page
getMapData Man page
hideGroup Man page
highlightOptions Man page
iconList Man page
icons Man page
invokeMethod Man page
JS Man page
labelFormat Man page
labelOptions Man page
layersControlOptions Man page
leaflet Man page
leafletCRS Man page
leafletDependencies Man page
leafletMap Man page
leafletOptions Man page
leafletOutput Man page
leafletProxy Man page
makeAwesomeIcon Man page
makeIcon Man page
mapOptions Man page
markerClusterOptions Man page
markerOptions Man page
pathOptions Man page
popupOptions Man page
previewColors Man page
projectRasterForLeaflet Man page
providers Man page
providers.details Man page
providerTileOptions Man page
remove Man page
removeControl Man page
removeGeoJSON Man page
removeImage Man page
removeLayersControl Man page
removeMarker Man page
removeMarkerCluster Man page
removeMarkerFromCluster Man page
removeMeasure Man page
removePopup Man page
removeScaleBar Man page
removeShape Man page
removeTiles Man page
removeTopoJSON Man page
renderLeaflet Man page
safeLabel Man page
scaleBarOptions Man page
setMaxBounds Man page
setView Man page
showGroup Man page
tileOptions Man page
validateCoords Man page
WMSTileOptions Man page

Files

leaflet
leaflet/inst
leaflet/inst/htmlwidgets
leaflet/inst/htmlwidgets/leaflet.yaml
leaflet/inst/htmlwidgets/lib
leaflet/inst/htmlwidgets/lib/leaflet-omnivore
leaflet/inst/htmlwidgets/lib/leaflet-omnivore/leaflet-omnivore.min.js
leaflet/inst/htmlwidgets/lib/leaflet-omnivore/index.js
leaflet/inst/htmlwidgets/lib/leaflet-omnivore/package.json
leaflet/inst/htmlwidgets/lib/leaflet-omnivore/leaflet-omnivore.js
leaflet/inst/htmlwidgets/lib/jquery
leaflet/inst/htmlwidgets/lib/jquery/jquery.js
leaflet/inst/htmlwidgets/lib/jquery/jquery.min.js
leaflet/inst/htmlwidgets/lib/leaflet
leaflet/inst/htmlwidgets/lib/leaflet/images
leaflet/inst/htmlwidgets/lib/leaflet/images/marker-icon.png
leaflet/inst/htmlwidgets/lib/leaflet/images/1px.png
leaflet/inst/htmlwidgets/lib/leaflet/images/layers-2x.png
leaflet/inst/htmlwidgets/lib/leaflet/images/marker-shadow.png
leaflet/inst/htmlwidgets/lib/leaflet/images/layers.png
leaflet/inst/htmlwidgets/lib/leaflet/images/marker-icon-2x.png
leaflet/inst/htmlwidgets/lib/leaflet/leaflet-src.js
leaflet/inst/htmlwidgets/lib/leaflet/leaflet.js
leaflet/inst/htmlwidgets/lib/leaflet/leaflet.css
leaflet/inst/htmlwidgets/lib/leaflet-providers
leaflet/inst/htmlwidgets/lib/leaflet-providers/license.md
leaflet/inst/htmlwidgets/lib/leaflet-providers/leaflet-providers.js
leaflet/inst/htmlwidgets/lib/leaflet-providers/css
leaflet/inst/htmlwidgets/lib/leaflet-providers/css/gh-fork-ribbon.css
leaflet/inst/htmlwidgets/lib/leaflet-providers/css/gh-fork-ribbon.ie.css
leaflet/inst/htmlwidgets/lib/leaflet-providers/README.md
leaflet/inst/htmlwidgets/lib/leaflet-providers/package.json
leaflet/inst/htmlwidgets/lib/leaflet-providers/CONTRIBUTING.md
leaflet/inst/htmlwidgets/lib/leaflet-providers/bower.json
leaflet/inst/htmlwidgets/lib/leaflet-providers/providers.json
leaflet/inst/htmlwidgets/lib/Leaflet.label
leaflet/inst/htmlwidgets/lib/Leaflet.label/images
leaflet/inst/htmlwidgets/lib/Leaflet.label/images/death.png
leaflet/inst/htmlwidgets/lib/Leaflet.label/leaflet.label-src.js
leaflet/inst/htmlwidgets/lib/Leaflet.label/leaflet.label.js
leaflet/inst/htmlwidgets/lib/Leaflet.label/leaflet.label.css
leaflet/inst/htmlwidgets/lib/leaflet-measure
leaflet/inst/htmlwidgets/lib/leaflet-measure/images
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/trash_@2X.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/check.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/rulers.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/rulers_@2X.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/check_@2X.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/focus.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/focus_@2X.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/trash.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/start_@2X.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/cancel.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/cancel_@2X.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/images/start.png
leaflet/inst/htmlwidgets/lib/leaflet-measure/leaflet-measure.css
leaflet/inst/htmlwidgets/lib/leaflet-measure/leaflet-measure.js
leaflet/inst/htmlwidgets/lib/leaflet-measure/leaflet-measure.min.js
leaflet/inst/htmlwidgets/lib/leafletfix
leaflet/inst/htmlwidgets/lib/leafletfix/leafletfix.css
leaflet/inst/htmlwidgets/plugins
leaflet/inst/htmlwidgets/plugins/Leaflet-MiniMap
leaflet/inst/htmlwidgets/plugins/Leaflet-MiniMap/images
leaflet/inst/htmlwidgets/plugins/Leaflet-MiniMap/images/toggle.png
leaflet/inst/htmlwidgets/plugins/Leaflet-MiniMap/images/toggle.svg
leaflet/inst/htmlwidgets/plugins/Leaflet-MiniMap/Control.MiniMap.js
leaflet/inst/htmlwidgets/plugins/Leaflet-MiniMap/Minimap-binding.js
leaflet/inst/htmlwidgets/plugins/Leaflet-MiniMap/Control.MiniMap.min.css
leaflet/inst/htmlwidgets/plugins/Leaflet-MiniMap/Control.MiniMap.min.js
leaflet/inst/htmlwidgets/plugins/Leaflet-MiniMap/Control.MiniMap.css
leaflet/inst/htmlwidgets/plugins/Leaflet.Terminator
leaflet/inst/htmlwidgets/plugins/Leaflet.Terminator/L.Terminator.js
leaflet/inst/htmlwidgets/plugins/Leaflet.Terminator/Terminator-binding.js
leaflet/inst/htmlwidgets/plugins/Leaflet.SimpleGraticule
leaflet/inst/htmlwidgets/plugins/Leaflet.SimpleGraticule/L.SimpleGraticule.css
leaflet/inst/htmlwidgets/plugins/Leaflet.SimpleGraticule/L.SimpleGraticule.js
leaflet/inst/htmlwidgets/plugins/Leaflet.SimpleGraticule/SimpleGraticule-binding.js
leaflet/inst/htmlwidgets/plugins/leaflet-providers-plugin
leaflet/inst/htmlwidgets/plugins/leaflet-providers-plugin/leaflet-providers-plugin.js
leaflet/inst/htmlwidgets/plugins/Leaflet.Graticule
leaflet/inst/htmlwidgets/plugins/Leaflet.Graticule/L.Graticule.js
leaflet/inst/htmlwidgets/plugins/Leaflet.Graticule/Graticule-binding.js
leaflet/inst/htmlwidgets/plugins/Leaflet.EasyButton
leaflet/inst/htmlwidgets/plugins/Leaflet.EasyButton/easy-button.css
leaflet/inst/htmlwidgets/plugins/Leaflet.EasyButton/easy-button.js
leaflet/inst/htmlwidgets/plugins/Leaflet.EasyButton/EasyButton-binding.js
leaflet/inst/htmlwidgets/plugins/Leaflet.EasyButton/LICENSE
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/bootstrap.min.css
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/bootstrap-theme.min.css
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/images
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/images/markers-matte.png
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/images/markers-soft@2x.png
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/images/markers-plain.png
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/images/markers-soft.png
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/images/markers-matte@2x.png
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/images/markers-shadow@2x.png
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/images/markers-shadow.png
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/leaflet.awesome-markers.css
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/font-awesome.min.css
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/leaflet.awesome-markers.js
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/leaflet.awesome-markers.min.js
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/bootstrap.min.js
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/ionicons.min.css
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/fontawesome-webfont.ttf
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/fontawesome-webfont.eot
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/glyphicons-halflings-regular.ttf
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/glyphicons-halflings-regular.svg
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/glyphicons-halflings-regular.woff
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/ionicons.ttf
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/ionicons.eot
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/glyphicons-halflings-regular.eot
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/FontAwesome.otf
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/fontawesome-webfont.woff
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/ionicons.svg
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/ionicons.woff
leaflet/inst/htmlwidgets/plugins/Leaflet.awesome-markers/fonts/fontawesome-webfont.svg
leaflet/inst/htmlwidgets/plugins/Leaflet.markercluster
leaflet/inst/htmlwidgets/plugins/Leaflet.markercluster/MarkerCluster.Default.css
leaflet/inst/htmlwidgets/plugins/Leaflet.markercluster/leaflet.markercluster-src.js
leaflet/inst/htmlwidgets/plugins/Leaflet.markercluster/leaflet.markercluster.layersupport-src.js
leaflet/inst/htmlwidgets/plugins/Leaflet.markercluster/MarkerCluster.css
leaflet/inst/htmlwidgets/plugins/Leaflet.markercluster/leaflet.markercluster.js
leaflet/inst/htmlwidgets/plugins/Leaflet.markercluster/leaflet.markercluster.freezable-src.js
leaflet/inst/htmlwidgets/plugins/Leaflet.markercluster/MIT-LICENCE.txt
leaflet/inst/htmlwidgets/plugins/Proj4Leaflet
leaflet/inst/htmlwidgets/plugins/Proj4Leaflet/proj4-compressed.js
leaflet/inst/htmlwidgets/plugins/Proj4Leaflet/proj4.js
leaflet/inst/htmlwidgets/plugins/Proj4Leaflet/proj4leaflet.js
leaflet/inst/htmlwidgets/plugins/leaflet-locationfilter
leaflet/inst/htmlwidgets/plugins/leaflet-locationfilter/locationfilter.css
leaflet/inst/htmlwidgets/plugins/leaflet-locationfilter/locationfilter.js
leaflet/inst/htmlwidgets/plugins/leaflet-locationfilter/img
leaflet/inst/htmlwidgets/plugins/leaflet-locationfilter/img/filter-icon.png
leaflet/inst/htmlwidgets/plugins/leaflet-locationfilter/img/resize-handle.png
leaflet/inst/htmlwidgets/plugins/leaflet-locationfilter/img/move-handle.png
leaflet/inst/htmlwidgets/plugins/leaflet-locationfilter/locationfilter-bindings.js
leaflet/inst/htmlwidgets/leaflet.js
leaflet/inst/legacy
leaflet/inst/legacy/examples
leaflet/inst/legacy/examples/choropleth
leaflet/inst/legacy/examples/choropleth/ui.R
leaflet/inst/legacy/examples/choropleth/server.R
leaflet/inst/legacy/examples/choropleth/Rplots.pdf
leaflet/inst/legacy/examples/choropleth/DESCRIPTION
leaflet/inst/legacy/examples/choropleth/global.R
leaflet/inst/legacy/examples/choropleth/shinyapps
leaflet/inst/legacy/examples/choropleth/shinyapps/jcheng
leaflet/inst/legacy/examples/choropleth/shinyapps/jcheng/choropleth3.dcf
leaflet/inst/legacy/examples/geojson
leaflet/inst/legacy/examples/geojson/ui.R
leaflet/inst/legacy/examples/geojson/server.R
leaflet/inst/legacy/examples/population
leaflet/inst/legacy/examples/population/ui.R
leaflet/inst/legacy/examples/population/server.R
leaflet/inst/legacy/examples/population/www
leaflet/inst/legacy/examples/population/www/styles.css
leaflet/inst/legacy/www
leaflet/inst/legacy/www/binding.js
leaflet/inst/legacy/www/images
leaflet/inst/legacy/www/images/marker-icon.png
leaflet/inst/legacy/www/images/layers-2x.png
leaflet/inst/legacy/www/images/marker-shadow.png
leaflet/inst/legacy/www/images/layers.png
leaflet/inst/legacy/www/images/marker-icon-2x.png
leaflet/inst/legacy/www/leaflet-src.js
leaflet/inst/legacy/www/leaflet.js
leaflet/inst/legacy/www/leaflet.css
leaflet/tests
leaflet/tests/testit
leaflet/tests/testit/test-utils.R
leaflet/tests/testit/test-icon.R
leaflet/tests/testit/test-measure.R
leaflet/tests/testit/test-legend.R
leaflet/tests/testit/test-colors.R
leaflet/tests/testit/test-remote.R
leaflet/tests/testthat.R
leaflet/tests/testthat
leaflet/tests/testthat/test-normalize-2.R
leaflet/tests/testthat/test-colors.R
leaflet/tests/testthat/test-normalize.R
leaflet/tests/test-all.R
leaflet/NAMESPACE
leaflet/NEWS
leaflet/data
leaflet/data/providers.rda
leaflet/data/breweries91.rda
leaflet/data/gadmCHE.rda
leaflet/data/providers.details.rda
leaflet/data/atlStorms2005.rda
leaflet/R
leaflet/R/utils.R leaflet/R/leaflet.R leaflet/R/plugin-awesomeMarkers.R leaflet/R/normalize-sf.R leaflet/R/plugin-easybutton.R leaflet/R/colors.R leaflet/R/plugin-minimap.R leaflet/R/plugin-terminator.R leaflet/R/scalebar.R leaflet/R/legend.R leaflet/R/legacy.R leaflet/R/controls.R leaflet/R/plugin-graticule.R leaflet/R/dependencies.R leaflet/R/normalize-map.R leaflet/R/data.R leaflet/R/methods.R leaflet/R/selection.R leaflet/R/plugin-measure.R leaflet/R/shiny.R leaflet/R/plugin-simplegraticule.R leaflet/R/package.R leaflet/R/normalize.R leaflet/R/plugin-providers.R leaflet/R/layers.R leaflet/R/normalize-SharedData.R leaflet/R/normalize-sp.R leaflet/R/plugin-omnivore.R
leaflet/README.md
leaflet/MD5
leaflet/DESCRIPTION
leaflet/LICENSE.note
leaflet/man
leaflet/man/remove.Rd leaflet/man/dispatch.Rd leaflet/man/colorNumeric.Rd leaflet/man/iconList.Rd leaflet/man/map-options.Rd leaflet/man/providers.details.Rd leaflet/man/mapOptions.Rd leaflet/man/atlStorms2005.Rd leaflet/man/addProviderTiles.Rd leaflet/man/deprecated.Rd leaflet/man/icons.Rd leaflet/man/safeLabel.Rd leaflet/man/filterNULL.Rd leaflet/man/addMeasure.Rd leaflet/man/awesomeIconList.Rd leaflet/man/getMapData.Rd leaflet/man/leafletDependencies.Rd leaflet/man/providers.Rd leaflet/man/awesomeIcons.Rd leaflet/man/addTerminator.Rd leaflet/man/showGroup.Rd leaflet/man/addRasterImage.Rd leaflet/man/addScaleBar.Rd leaflet/man/easyButton.Rd leaflet/man/addLayersControl.Rd leaflet/man/expandLimitsBbox.Rd leaflet/man/makeIcon.Rd leaflet/man/map-layers.Rd leaflet/man/leafletProxy.Rd leaflet/man/evalFormula.Rd leaflet/man/leaflet.Rd leaflet/man/gadmCHE.Rd leaflet/man/addAwesomeMarkers.Rd leaflet/man/addLegend.Rd leaflet/man/addSimpleGraticule.Rd leaflet/man/derivePoints.Rd leaflet/man/map-shiny.Rd leaflet/man/leaflet-imports.Rd leaflet/man/previewColors.Rd leaflet/man/addMiniMap.Rd leaflet/man/expandLimits.Rd leaflet/man/breweries91.Rd leaflet/man/makeAwesomeIcon.Rd leaflet/man/addGraticule.Rd leaflet/man/derivePolygons.Rd leaflet/man/map-methods.Rd leaflet/man/validateCoords.Rd

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.