Compare commits

...

218 Commits

Author SHA1 Message Date
Andreas Hocevar
7bc26050f0 Tagging temporary release 2016-07-06 21:24:26 +02:00
Andreas Hocevar
5d8b99ab10 Additional tests and code comments 2016-07-06 20:13:08 +02:00
Andreas Hocevar
3c37ce3990 Introduce new overlaps option for Vector and VectorTile sources
Instead of deciding whether to batch fills and strokes by looking at the
opacity of the style, we now rely on user input.
2016-07-06 16:37:06 +02:00
Andreas Hocevar
091dc9fbf4 Batch polygon and circle fills and strokes 2016-07-06 16:03:45 +02:00
Tobias Sauerwein
343d2c032d Merge pull request #5570 from bjornharrtell/jsts_1.2.0
Upgrade JSTS in example to 1.2.0
2016-07-05 22:24:47 +02:00
Björn Harrtell
7d4c7b7982 Upgrade JSTS in example to 1.2.0 2016-07-05 21:21:36 +02:00
Frédéric Junod
130052c935 Merge pull request #5566 from fredj/5253
Fix ol.style.Image#getAnchor documentation
2016-07-05 16:23:20 +02:00
Frederic Junod
8957e618a5 Fix ol.style.Image#getAnchor documentation 2016-07-05 14:51:33 +02:00
Andreas Hocevar
c49fbf9070 Merge pull request #5546 from ahocevar/event-no-target
Remove useless target argument from ol.Event and subclass constructors
2016-07-05 09:54:19 +02:00
Andreas Hocevar
d840bba905 Merge pull request #5565 from probins/enum
Reinsert goog.provide for enums in olx.js
2016-07-05 09:52:22 +02:00
Andreas Hocevar
ccf15b8be3 Remove useless target argument from ol.Event and subclass constructors 2016-07-05 09:40:00 +02:00
Peter Robins
d7180fd1e8 Reinsert goog.provide for enums in olx.js 2016-07-05 07:32:30 +00:00
Frédéric Junod
2845f50ff7 Merge pull request #5561 from fredj/test_centerConstraint
Add unit tests for ol.View.createCenterConstraint
2016-07-05 09:13:34 +02:00
Frédéric Junod
39e06151c5 Merge pull request #5563 from fredj/removeVertex_return
Return if a vertex was removed in ol.interaction.Modify#removeVertex_
2016-07-05 09:13:19 +02:00
Frederic Junod
460ea4e809 Return if a vertex was removed in ol.interaction.Modify#removeVertex_ 2016-07-04 17:09:01 +02:00
Frederic Junod
6910c471bf Add unit tests for ol.View.createCenterConstraint 2016-07-04 16:46:57 +02:00
Andreas Hocevar
b5da32340e Merge pull request #5533 from ahocevar/update-wms-params-reproj
Make sure reprojected tiles are recreated on updateParams
2016-07-04 11:21:42 +02:00
Andreas Hocevar
102eb1b94f Handle interim tiles correctly when reprojecting 2016-07-04 10:31:20 +02:00
Bart van den Eijnden
ee3e302f69 Merge pull request #5557 from openlayers/release-v3.17.1
Release v3.17.1
2016-07-04 10:14:16 +02:00
Bart van den Eijnden
eb92c268ab Update package version to 3.17.1 2016-07-04 10:01:47 +02:00
Bart van den Eijnden
518212ce7d Changelog for v3.17.1 2016-07-04 10:01:10 +02:00
Andreas Hocevar
bbfc93b1d8 Merge pull request #5548 from GaborFarkas/fullscreen_event_enum
Fix CHANGETYPE in ol.control.FullScreen
2016-07-04 09:59:03 +02:00
Andreas Hocevar
4d10a6b9a1 Merge pull request #5548 from GaborFarkas/fullscreen_event_enum
Fix CHANGETYPE in ol.control.FullScreen
2016-07-03 11:25:39 +02:00
GaborFarkas
2e68be13f6 Create a dedicated function to changeType. 2016-07-03 11:14:53 +02:00
Andreas Hocevar
d05f1ce743 Merge pull request #5534 from ahocevar/scaleline-docs
Fix ScaleLine control documentation
2016-07-02 21:36:53 +02:00
Tim Schaub
a30d4843cf Merge pull request #5541 from probins/isnumber
Replace goog.isNumber
2016-07-02 09:20:53 -06:00
Tim Schaub
5e98b27afd Merge pull request #5552 from probins/webgl
Replace goog.webgl.
2016-07-02 09:19:16 -06:00
Peter Robins
294a129083 Replace goog.webgl 2016-07-02 10:40:55 +00:00
Andreas Hocevar
c95c9846fb Fix ScaleLine control documentation
The scale line shown is derived from y-axis distances, not x-axis.
2016-07-02 09:44:47 +02:00
Andreas Hocevar
512c442ccc Merge pull request #5550 from ahocevar/rename-multvec2
Remove use of ol.vec.Mat4 calls remaining after #5482
2016-07-01 23:12:03 +02:00
Andreas Hocevar
2d4bccacb5 Remove use of ol.vec.Mat4 calls remaining after #5482 2016-07-01 23:00:29 +02:00
Andreas Hocevar
9624357bc3 Merge pull request #5507 from ahocevar/remove-goog-vec
Remove use of goog.vec.*
2016-07-01 22:46:42 +02:00
Bart van den Eijnden
9cc724550a Merge pull request #5549 from openlayers/release-v3.17.0
Release v3.17.0
2016-07-01 19:34:17 +02:00
Bart van den Eijnden
d3e15e4394 Update package version to 3.17.0 2016-07-01 19:20:18 +02:00
Bart van den Eijnden
0dbca294b2 Changelog for v3.17.0 2016-07-01 19:19:50 +02:00
GaborFarkas
27e3124dca Set changeType when the map exists 2016-07-01 18:28:36 +02:00
GaborFarkas
34cc5c6bde Fix error from early enum of CHANGETYPE 2016-07-01 18:06:11 +02:00
Andreas Hocevar
c74d7171aa Merge pull request #5539 from probins/dom
Remove outdated comments re goog.dom
2016-07-01 15:07:59 +02:00
Tobias Sauerwein
6ebc67f1c5 Merge pull request #5543 from tsauerwein/update-rbush-2
Update rbush to 2.0.1
2016-07-01 13:13:20 +02:00
Bart van den Eijnden
72568305c0 Merge pull request #5540 from bartvde/issue-5484
Remove MapQuest source
2016-07-01 13:08:26 +02:00
tsauerwein
749660dd22 Update rbush to 2.0.1 2016-07-01 12:01:48 +02:00
Bart van den Eijnden
ed80d243fb Remove MapQuest source 2016-07-01 11:38:52 +02:00
Peter Robins
3eea9d4558 Replace goog.isNumber 2016-07-01 09:35:54 +00:00
Bart van den Eijnden
0d26c33484 Merge pull request #5538 from probins/inherits
Replace remaining goog.inherits
2016-07-01 11:30:26 +02:00
Peter Robins
1775a5aeea Remove outdated comments re goog.dom 2016-07-01 08:56:24 +00:00
Peter Robins
f196ed8102 Replace remaining goog.inherits 2016-07-01 08:45:15 +00:00
Bart van den Eijnden
c56432cf2e Merge pull request #5536 from tschaub/more-layer-extent
Update to layer-extent example
2016-07-01 09:13:47 +02:00
Tim Schaub
17e11fb84a Source shuffle 2016-06-30 15:28:33 -06:00
Tim Schaub
4154df9aa8 Remove unnecessary interaction 2016-06-30 15:22:51 -06:00
Tim Schaub
728e1dd1f2 Merge pull request #5482 from ischneider/layer-extent
Fix for regression in tile layer extent
2016-06-30 15:19:13 -06:00
Frédéric Junod
6d41e87ff5 Merge pull request #5475 from probins/enumprovide
Remove goog.provide from enums only used internally or in olx.js
2016-06-30 16:57:21 +02:00
Frédéric Junod
77e66221c1 Merge pull request #5424 from fredj/select_event
Don't dispatch select event if no feature is selected or deselected
2016-06-29 15:15:13 +02:00
Frederic Junod
b562f4d68a Don't dispatch select event if a selected feature is selected again 2016-06-29 15:03:42 +02:00
Frederic Junod
e7c2d9ab32 Don't dispatch select event if no feature is selected or deselected 2016-06-29 15:03:42 +02:00
Frédéric Junod
39de933e64 Merge pull request #5522 from SamuelBerger/master
Add 'condition' option to ol.interaction.DragPanOptions in olx.js
2016-06-29 14:52:34 +02:00
Frédéric Junod
c43740a4ad Merge pull request #5443 from fredj/max_zoom_options
Remove olx.source.WMTSOptions#maxZoom option
2016-06-29 14:52:14 +02:00
Frederic Junod
7a43a667ce Remove olx.source.TileWMSOptions#maxZoom option 2016-06-29 13:44:10 +02:00
Frederic Junod
1b662ff048 Use minZoom and maxZoom olx.source.StamenOptions 2016-06-29 13:41:49 +02:00
Frederic Junod
93a98337d8 Remove olx.source.WMTSOptions#maxZoom option
The option is not handled by `ol.source.WMTS`
2016-06-29 13:41:49 +02:00
Frédéric Junod
65c8eba59b Merge pull request #5497 from openlayers/greenkeeper-istanbul-0.4.4
Update istanbul to version 0.4.4 🚀
2016-06-28 13:32:54 +02:00
greenkeeperio-bot
059ac56fef chore(package): update istanbul to version 0.4.4
https://greenkeeper.io/
2016-06-27 07:10:41 -06:00
Frédéric Junod
64afa2eab5 Merge pull request #5523 from openlayers/greenkeeper-closure-util-1.15.0
Update closure-util to version 1.15.0 🚀
2016-06-27 15:10:26 +02:00
greenkeeperio-bot
13546d27f2 chore(package): update closure-util to version 1.15.0
https://greenkeeper.io/
2016-06-27 06:49:14 -06:00
Samuel Berger
a2326f7180 Add 'condition' option to ol.interaction.DragPanOptions in olx.js 2016-06-27 14:01:40 +02:00
Frédéric Junod
ffe0529df8 Merge pull request #5508 from tsauerwein/compiler-properties
Fix problems with ol.format.WFS in compiled mode
2016-06-27 11:59:13 +02:00
Andreas Hocevar
38f7aef6b0 Merge pull request #5512 from ahocevar/foreachtilecoord
Use forEachTileCoord name instead of forEachTileCoordInExtentAndZ
2016-06-25 21:18:58 +02:00
Tim Schaub
618cb389e5 Use ol.transform.compose() for common transform compositions 2016-06-24 19:33:53 +02:00
Tim Schaub
a655234cc3 Convenience function for common composite transform 2016-06-24 19:32:29 +02:00
Tim Schaub
4cde6a0a6d Move assertions into it blocks 2016-06-24 19:32:13 +02:00
Andreas Hocevar
a1e0969d9f Add tests 2016-06-23 17:17:59 +02:00
Andreas Hocevar
3e928718f4 ol.vec.Mat4 improvements
* Rename ol.vec.Mat4.fromMatrix to ol.vec.Mat4.fromTransform
* Make result from ol.vec.Mat4.fromTransform immutable by adding result
  matrix as argument.
2016-06-23 15:52:25 +02:00
Bart van den Eijnden
f549f1946c Merge pull request #5513 from bartvde/view-getminmaxres
Add getters for min and max resolution of the view
2016-06-23 15:28:07 +02:00
Bart van den Eijnden
449ea370c0 Add getters for min and max resolution of the view 2016-06-23 15:00:30 +02:00
Andreas Hocevar
bc506389fc Use forEachTileCoord name instead of forEachTileCoordInExtentAndZ 2016-06-23 14:27:21 +02:00
Andreas Hocevar
5d85867fbf Merge pull request #5471 from probins/gpx
Fix GPX write of xsi ns
2016-06-23 14:24:48 +02:00
Andreas Hocevar
6b4ee42c90 Refactor to a more convenient internal API 2016-06-23 13:10:41 +02:00
Andreas Hocevar
cf7ff841a7 Remove use of goog.vec.* 2016-06-23 13:10:41 +02:00
Andreas Hocevar
55edf4003f Merge pull request #5134 from nicholas-l/removeGoogDom
Remove goog.dom
2016-06-23 12:15:03 +02:00
nicholas
6b465902cd Remove goog.dom 2016-06-23 22:06:35 +12:00
Andreas Hocevar
9453984f9a Merge pull request #5511 from ahocevar/keep-last-point
Do not optimize lines away entirely
2016-06-23 11:07:04 +02:00
Andreas Hocevar
35129af7f0 Do not optimize lines away entirely 2016-06-23 10:38:10 +02:00
Andreas Hocevar
3726b25ba2 Merge pull request #5509 from ahocevar/foreachtilecoordinextentandz
Make it easier to work with tile ranges in custom source implementations
2016-06-23 09:03:08 +02:00
tsauerwein
7048de8e83 Make sure properties are not renamed 2016-06-23 08:38:06 +02:00
Frederic Junod
4b7cdffaf4 Export getZForResolution from ol.tilegrid.TileGrid 2016-06-22 20:48:49 +02:00
Andreas Hocevar
14cecb7163 Add function to iterate over tile coordinates in extent and z 2016-06-22 18:05:18 +02:00
Frédéric Junod
29c8af7559 Merge pull request #5498 from openlayers/greenkeeper-eslint-2.13.1
Update eslint to version 2.13.1 🚀
2016-06-21 12:28:40 +02:00
Frédéric Junod
b19ac3c26d Merge pull request #5495 from fredj/rm_goog.isFunction
Get rid of goog.isFunction
2016-06-21 08:37:15 +02:00
greenkeeperio-bot
f26bcf5c3e chore(package): update eslint to version 2.13.1
https://greenkeeper.io/
2016-06-21 00:36:29 -06:00
Frédéric Junod
e4168e3582 Merge pull request #5499 from openlayers/greenkeeper-glob-7.0.5
Update glob to version 7.0.5 🚀
2016-06-21 08:36:15 +02:00
greenkeeperio-bot
dd8dc8ad0f chore(package): update glob to version 7.0.5
https://greenkeeper.io/
2016-06-20 19:13:36 -06:00
Frederic Junod
b8ce70fbf0 Get rid of goog.isFunction 2016-06-20 16:09:25 +02:00
Andreas Hocevar
e916345e8c Merge pull request #5125 from nicholas-l/removeGoogStyle
Remove goog style
2016-06-20 13:04:00 +02:00
Frédéric Junod
925a272fb8 Merge pull request #5494 from probins/global
Remove goog.global
2016-06-20 12:27:33 +02:00
Peter Robins
eaa0d70289 Remove goog.global 2016-06-20 09:47:32 +00:00
Andreas Hocevar
030c0dad3d Avoid creation of unnecessary object literals 2016-06-20 21:44:15 +12:00
Nicholas L
0fef14137c Remove unneeded comments and use ol.global 2016-06-20 21:41:20 +12:00
Andreas Hocevar
04287e0fd5 Merge pull request #5492 from openlayers/greenkeeper-eslint-2.13.0
Update eslint to version 2.13.0 🚀
2016-06-20 07:55:20 +02:00
nicholas
ea1c7a6551 Remove goog.style.getPageOffset 2016-06-19 19:26:25 +12:00
nicholas
6da5a1e9f7 Remove goog.style.getContentBoxSize 2016-06-19 19:22:11 +12:00
nicholas
ec12c34edd Remove goog.style.getBorderBoxSize 2016-06-19 19:22:11 +12:00
nicholas
837c48a2e2 Remove goog.style.getMarginBox 2016-06-19 19:22:11 +12:00
nicholas
04c4b4efc1 Remove goog.style.setElementShown 2016-06-19 19:22:11 +12:00
nicholas
96a14e0515 Remove getSize 2016-06-19 19:22:11 +12:00
greenkeeperio-bot
cd4f1c109b chore(package): update eslint to version 2.13.0
https://greenkeeper.io/
2016-06-17 11:35:35 -06:00
Andreas Hocevar
609c891524 Merge pull request #5490 from openlayers/greenkeeper-glob-7.0.4
Update glob to version 7.0.4 🚀
2016-06-17 09:12:45 +02:00
greenkeeperio-bot
5442c1f587 chore(package): update glob to version 7.0.4
https://greenkeeper.io/
2016-06-16 11:38:16 -06:00
Frédéric Junod
810c655940 Merge pull request #5460 from openlayers/greenkeeper-eslint-2.12.0
Update eslint to version 2.12.0 🚀
2016-06-16 16:26:09 +02:00
Ian Schneider
9d5232d9af canvas tests for tile rendering with layer.extent 2016-06-15 21:14:37 -06:00
Ian Schneider
265068e782 example - layer-extent uses country bboxes 2016-06-15 21:13:49 -06:00
Ian Schneider
44a4fbdda2 respect layer.extent in canvas tilelayer renderer 2016-06-15 12:42:38 -06:00
Ian Schneider
6902791dc5 layer extent example changes for testing
- add draw extent tool
- rotation control
2016-06-15 12:42:32 -06:00
greenkeeperio-bot
95a3f42315 chore(package): update eslint to version 2.12.0
https://greenkeeper.io/
2016-06-15 09:54:46 -06:00
Andreas Hocevar
6fe1a58b26 Merge pull request #5479 from openlayers/greenkeeper-slimerjs-0.906.2
Update slimerjs to version 0.906.2 🚀
2016-06-15 17:54:31 +02:00
greenkeeperio-bot
466b02836b chore(package): update slimerjs to version 0.906.2
https://greenkeeper.io/
2016-06-15 09:17:14 -06:00
Peter Robins
e5cc971dc9 Remove goog.provide for enums only in olx.js 2016-06-15 09:14:13 +00:00
Peter Robins
bda673f389 Remove goog.provide from internal enums 2016-06-15 09:04:44 +00:00
Frédéric Junod
fa995cf7f3 Merge pull request #5474 from openlayers/greenkeeper-clean-css-3.4.18
Update clean-css to version 3.4.18 🚀
2016-06-15 08:51:08 +02:00
greenkeeperio-bot
1a159f3ac4 chore(package): update clean-css to version 3.4.18
https://greenkeeper.io/
2016-06-15 00:39:12 -06:00
Andreas Hocevar
6718fc982e Merge pull request #5450 from probins/typedefs
Remove sub-namespaces from all remaining typedefs
2016-06-14 17:32:10 +02:00
Andreas Hocevar
2809df86ca Merge pull request #5465 from ahocevar/fix-custom-symbol
Fix custom icon positions and rotation
2016-06-14 17:29:00 +02:00
Andreas Hocevar
1d20215bfa Make all typedefs work without provide/require 2016-06-14 15:01:20 +00:00
Peter Robins
7d210948e8 Fix GPX write of xsi ns
Also add version/creator attributes to <gpx> node.
2016-06-14 11:14:19 +00:00
Frédéric Junod
3c50d12ad9 Merge pull request #5469 from gberaudo/webgl_typo
Fix typo
2016-06-14 09:28:06 +02:00
Guillaume Beraudo
bb32b6ac55 Fix typo 2016-06-14 09:10:07 +02:00
Andreas Hocevar
103ff01456 Fix custom icon positions and rotation 2016-06-13 22:08:02 +02:00
Andreas Hocevar
d26ac55ed0 Merge pull request #5453 from ahocevar/mapbrowserpointerevent
Reference ol.MapBrowserEvent instead of ol.MapBrowserPointerEvent
2016-06-13 14:01:49 +02:00
Bart van den Eijnden
31dcb80725 Merge pull request #5208 from probins/rtewpt
Stop GPX writing rtept properties
2016-06-10 13:10:53 +02:00
Peter Robins
f3acac5259 Stop GPX writing rtept properties 2016-06-10 10:56:30 +00:00
Andreas Hocevar
06249be6bd Remove last reference to ol.MapBrowserPointerEvent from the API
This is a bit of a hack, but in fact it improves the situation for the end
user because it asserts the correct event type instead of failing silently.
2016-06-09 18:22:11 +02:00
Andreas Hocevar
400484e663 Reference ol.MapBrowserEvent instead of ol.MapBrowserPointerEvent
There is nothing exportable in ol.MapBrowserEvent in addition to what is
exportable in ol.MapBrowserEvent.
2016-06-09 18:22:11 +02:00
Frédéric Junod
ab4da04312 Merge pull request #5452 from openlayers/greenkeeper-eslint-config-openlayers-5.0.0
Update eslint-config-openlayers to version 5.0.0 🚀
2016-06-09 16:06:45 +02:00
Frederic Junod
4bf1f56405 Add missing semicolon 2016-06-09 15:39:46 +02:00
greenkeeperio-bot
08f8cd0f16 chore(package): update eslint-config-openlayers to version 5.0.0
https://greenkeeper.io/
2016-06-09 07:25:37 -06:00
Andreas Hocevar
40ead5b329 Merge pull request #5432 from bjornharrtell/rm_goog.uri
Remove use of goog.uri
2016-06-09 14:20:56 +02:00
Peter Robins
2c29512c80 Remove sub-namespaces from all remaining typedefs 2016-06-09 10:01:52 +00:00
Andreas Hocevar
09202cf95d Merge pull request #5449 from ahocevar/examples-absolute-urls
Make example data/ paths absolute for source view and JSFiddle
2016-06-09 10:10:47 +02:00
Andreas Hocevar
e39ea746a7 Make example data/ paths absolute for source view and JSFiddle 2016-06-09 08:51:34 +02:00
Andreas Hocevar
54f7bb6958 Merge pull request #5399 from probins/raster
Remove ol.raster namespace
2016-06-08 16:09:37 +02:00
Björn Harrtell
27853ea7dd Remove use of goog.uri 2016-06-08 15:14:18 +02:00
Peter Robins
395f3c0756 Remove ol.raster namespace
Now used only for 1 typedefs and 1 enum, it serves little purpose,
so the typedef is renamed in the ol namespace, and the enum moved to rastersource.js
2016-06-08 12:37:20 +00:00
Frédéric Junod
e63b4d1f48 Merge pull request #5270 from fredj/load_error
Load erroneous image in ol.Image#load and ol.ImageTile#load
2016-06-08 09:25:57 +02:00
Frédéric Junod
3935b7db24 Merge pull request #5194 from fredj/rm_goog.inherits
Get rid of goog.inherits and goog.base
2016-06-08 09:17:07 +02:00
Frederic Junod
e289bfbb7d Use ol.inherits instead of goog.inherits 2016-06-08 08:38:12 +02:00
Frederic Junod
a598737ec5 Add unit tests for ol.ImageTile 2016-06-08 08:36:58 +02:00
Frederic Junod
1f48198e95 Allow tiles in ol.ImageState.ERROR state to be loaded. 2016-06-08 08:36:58 +02:00
Andreas Hocevar
072728b083 Merge pull request #5427 from ahocevar/auto-typedef-enum-options
Document typedefs and enums used by API symbols
2016-06-07 23:58:04 +02:00
Andreas Hocevar
abec4f4ba7 Fix ol.raster.Operation type and docs 2016-06-07 08:36:44 +02:00
Frédéric Junod
edb3987054 Merge pull request #5438 from fredj/filter_inherit_object
Don't make ol.format.ogc.filter.Filter inherit from ol.Object
2016-06-06 17:20:25 +02:00
Frederic Junod
c51fc84b72 Don't make ol.format.ogc.filter.Filter inherit from ol.Object 2016-06-06 17:05:04 +02:00
Frédéric Junod
de9c338fb1 Merge pull request #5433 from openlayers/greenkeeper-clean-css-3.4.17
Update clean-css to version 3.4.17 🚀
2016-06-06 08:51:19 +02:00
Frédéric Junod
26789d91d2 Merge pull request #5434 from tsauerwein/fix-externs
Fix externs in closure compiler tutorial
2016-06-06 08:47:04 +02:00
Andreas Hocevar
aa9dbb984a Work around undetected types in {function(argType):returnType} types 2016-06-06 08:02:10 +02:00
tsauerwein
b2120b2bab Fix externs in closure tutorial 2016-06-04 10:52:17 +02:00
greenkeeperio-bot
b4b61e737f chore(package): update clean-css to version 3.4.17
https://greenkeeper.io/
2016-06-03 23:13:17 -07:00
Andreas Hocevar
0dca194525 Handle types in arrays etc. 2016-06-04 00:27:25 +02:00
Andreas Hocevar
9e980663ee Remove api annotations from typedefs in olx.js 2016-06-03 10:38:55 +02:00
Andreas Hocevar
2ec4969ac7 Remove api annotations from enums 2016-06-03 09:29:14 +02:00
Andreas Hocevar
ca07de422c Remove api annotations from typedefs 2016-06-03 09:29:04 +02:00
Andreas Hocevar
eddd006fcf Document typedefs and enums used by API symbols
It is no longer necessary to add api annotations to typedefs and enums
that are used by API symbols.
2016-06-03 09:28:53 +02:00
Marc Jansen
9e209a3362 Merge pull request #5426 from frankrowe/icon-example
Fix icon example to anchor popup to feature location
2016-06-03 07:53:09 +02:00
Frank Rowe
30482f023e fix icon example to anchor popup to feature location 2016-06-02 15:28:37 -04:00
Frédéric Junod
3d8ca68bac Merge pull request #5421 from probins/patch-1
Correct typo in config/jsdoc/api/readme.md
2016-06-02 17:03:58 +02:00
Peter Robins
3b1c76a1da Correct typo in config/jsdoc/api/readme.md 2016-06-02 15:29:41 +01:00
Frédéric Junod
578b653c40 Merge pull request #5417 from openlayers/greenkeeper-clean-css-3.4.16
Update clean-css to version 3.4.16 🚀
2016-06-02 11:52:35 +02:00
greenkeeperio-bot
da5f47999f chore(package): update clean-css to version 3.4.16
https://greenkeeper.io/
2016-06-02 03:19:55 -06:00
Frédéric Junod
d51fecd827 Merge pull request #5413 from openlayers/greenkeeper-clean-css-3.4.15
Update clean-css to version 3.4.15 🚀
2016-06-01 11:37:50 +02:00
greenkeeperio-bot
370f810f6b chore(package): update clean-css to version 3.4.15
https://greenkeeper.io/
2016-06-01 03:22:28 -06:00
Frédéric Junod
d270643ce1 Merge pull request #5410 from openlayers/greenkeeper-eslint-2.11.1
Update eslint to version 2.11.1 🚀
2016-05-31 08:46:17 +02:00
greenkeeperio-bot
1e2ea333cc chore(package): update eslint to version 2.11.1
https://greenkeeper.io/
2016-05-31 08:35:42 +02:00
Frédéric Junod
a9df88004c Merge pull request #5408 from openlayers/greenkeeper-pbf-2.0.1
Update pbf to version 2.0.1 🚀
2016-05-30 09:45:44 +02:00
greenkeeperio-bot
f477a6ccb9 chore(package): update pbf to version 2.0.1
https://greenkeeper.io/
2016-05-30 01:27:19 -06:00
Frédéric Junod
2305991ee9 Merge pull request #5404 from openlayers/greenkeeper-eslint-2.11.0
Update eslint to version 2.11.0 🚀
2016-05-30 09:27:05 +02:00
greenkeeperio-bot
3bdcdb5937 chore(package): update eslint to version 2.11.0
https://greenkeeper.io/
2016-05-27 13:24:13 -06:00
Bart van den Eijnden
bb8b43abce Merge pull request #5402 from anzhihun/master
Pass in srsName option to writeTransaction
2016-05-27 11:49:06 +02:00
Wei Lin
4877a7864c Pass in srsName option to writeTransaction
Fix #5397 :  By passing `srsName` option to `ol.format.WFS.writeTransaction`
2016-05-27 17:36:37 +08:00
Frédéric Junod
1b70931433 Merge pull request #5393 from openlayers/greenkeeper-mocha-2.5.3
Update mocha to version 2.5.3 🚀
2016-05-25 14:17:47 +02:00
greenkeeperio-bot
0acbaa20f9 chore(package): update mocha to version 2.5.3
https://greenkeeper.io/
2016-05-25 05:39:47 -06:00
Frédéric Junod
d2c8823359 Merge pull request #5394 from openlayers/greenkeeper-resemblejs-2.2.1
Update resemblejs to version 2.2.1 🚀
2016-05-25 13:39:33 +02:00
greenkeeperio-bot
2cac34e938 chore(package): update resemblejs to version 2.2.1
https://greenkeeper.io/
2016-05-25 04:25:06 -06:00
Frédéric Junod
15ede94380 Merge pull request #5390 from fredj/wmts_guess_encoding
Fix the requestEncoding automatic selection
2016-05-25 10:29:27 +02:00
Frederic Junod
bd0140f42d Fix the requestEncoding automatic selection
If the `requestEncoding` parameter was not provided, the function used `KVP`
but without checking if it was supported.
2016-05-25 09:57:49 +02:00
Frédéric Junod
f3248e9c19 Merge pull request #5392 from openlayers/greenkeeper-closure-util-1.14.0
Update closure-util to version 1.14.0 🚀
2016-05-25 09:49:47 +02:00
Frederic Junod
420374294b Remove unnecessaryCasts compiler check
Removed from the compiler, see:
https://github.com/google/closure-compiler/wiki/Releases#may-17-2016-v20160517
2016-05-25 09:38:33 +02:00
greenkeeperio-bot
271e7c5bb1 chore(package): update closure-util to version 1.14.0
https://greenkeeper.io/
2016-05-25 01:28:55 -06:00
Frédéric Junod
b434a30603 Merge pull request #5388 from openlayers/greenkeeper-mocha-2.5.2
Update mocha to version 2.5.2 🚀
2016-05-24 13:28:20 +02:00
greenkeeperio-bot
ec1d21e29a chore(package): update mocha to version 2.5.2
https://greenkeeper.io/
2016-05-24 04:16:05 -06:00
Frédéric Junod
4e1decab52 Merge pull request #5382 from twpayne/igc-date
Handle UTC midnight wrap around, fixes #5371
2016-05-24 09:08:21 +02:00
Frédéric Junod
92632f1d63 Merge pull request #5381 from openlayers/greenkeeper-mocha-2.5.1
Update mocha to version 2.5.1 🚀
2016-05-24 08:49:25 +02:00
Frédéric Junod
2063c1be71 Merge pull request #5383 from openlayers/greenkeeper-clean-css-3.4.13
Update clean-css to version 3.4.13 🚀
2016-05-24 08:49:12 +02:00
greenkeeperio-bot
77baa67e71 chore(package): update mocha to version 2.5.1
https://greenkeeper.io/
2016-05-24 08:28:18 +02:00
Andreas Hocevar
f3e6630db3 Merge v3.16.0 2016-05-23 21:01:54 +02:00
Andreas Hocevar
1038b2abea Update package version to v3.16.0 2016-05-23 20:49:32 +02:00
Andreas Hocevar
e0cada9c5d Changelog for v3.16.0 2016-05-23 20:49:05 +02:00
Tom Payne
a6a621834f Handle UTC midnight wrap around, fixes #5371 2016-05-23 20:36:01 +02:00
greenkeeperio-bot
4653a01ba4 chore(package): update clean-css to version 3.4.13
https://greenkeeper.io/
2016-05-23 04:04:44 -06:00
Frédéric Junod
7196e18479 Merge pull request #5377 from fredj/jspdf.min.js
Fix link to jspdf.min.js in export-pdf example
2016-05-23 11:23:03 +02:00
Frederic Junod
e70ce9d624 Fix link to jspdf.min.js in export-pdf example 2016-05-23 10:57:19 +02:00
Frédéric Junod
0efb3994eb Merge pull request #5372 from openlayers/greenkeeper-jquery-2.2.4
Update jquery to version 2.2.4 🚀
2016-05-23 08:36:03 +02:00
greenkeeperio-bot
d666bb4a36 chore(package): update jquery to version 2.2.4
https://greenkeeper.io/
2016-05-20 11:32:25 -06:00
Tim Schaub
50408d7c1a Merge pull request #5364 from tschaub/less-flashy
Make it so things don't flash so much when you change the tile source URL.
2016-05-19 09:26:42 -06:00
Tim Schaub
d50082b860 Upgrade note regarding tile rendering 2016-05-19 09:17:23 -06:00
Tim Schaub
ac4653ada5 Tests for source.setKey() 2016-05-19 09:09:52 -06:00
Tim Schaub
feb6fe9dce Tests for setUrl() and setUrls() 2016-05-19 09:09:52 -06:00
Tim Schaub
b2b902e22f Less weird name 2016-05-19 09:09:52 -06:00
Tim Schaub
6f5965f6a5 Demonstrate how source.setUrl() works 2016-05-19 09:09:52 -06:00
Tim Schaub
9870e8c04c Allow XYZ source construction without options 2016-05-19 09:09:52 -06:00
Tim Schaub
5542f045d5 Less special handling for WMTS tiles 2016-05-19 09:09:52 -06:00
Tim Schaub
025c063251 Less special handling for WMS tiles 2016-05-19 09:09:52 -06:00
Tim Schaub
841c8a5747 Rename source.getKeyParams() to source.getKey() 2016-05-19 09:09:52 -06:00
Tim Schaub
81d5849207 Add a settable key for all tile sources
The source's key is used as the key for all tiles in the source.  For URL tile sources, the URL is the key.
2016-05-19 09:09:52 -06:00
Andreas Hocevar
bbd1af6056 Merge pull request #5368 from probins/wfs
Move WFS typedefs to typedefs.js
2016-05-19 14:52:54 +02:00
Frédéric Junod
e3f58b3e84 Merge pull request #5369 from Turbo87/patch-2
format/igc: Remove duplicate regex exec() call
2016-05-19 14:48:08 +02:00
Tobias Bieniek
d52586d586 format/igc: Remove duplicate regex exec() call
HFDTE_RECORD_RE_.exec(line) has already been called above
2016-05-19 14:35:15 +02:00
Peter Robins
4044ae4cd0 Move WFS typedefs to typedefs.js
By renaming them so they're no longer in any subnamespaces, they no longer need to be in their own file.
2016-05-19 08:48:43 +00:00
Andreas Hocevar
be2fc808be Merge pull request #5363 from probins/camels
Convert all typedefs to CamelCase
2016-05-19 09:12:38 +02:00
Frédéric Junod
d08cca5a0c Merge pull request #5362 from openlayers/greenkeeper-vector-tile-1.2.1
Update vector-tile to version 1.2.1 🚀
2016-05-19 08:31:37 +02:00
Peter Robins
2117f2e3b1 Convert all typedefs to CamelCase 2016-05-18 19:44:45 +00:00
greenkeeperio-bot
1345d049b1 chore(package): update vector-tile to version 1.2.1
https://greenkeeper.io/
2016-05-18 12:58:43 -06:00
326 changed files with 115311 additions and 3151 deletions

View File

@@ -1,8 +1,56 @@
## Upgrade notes
### v3.17.0
#### `ol.source.MapQuest` removal
Because of changes at MapQuest (see: https://lists.openstreetmap.org/pipermail/talk/2016-June/076106.html) we had to remove the MapQuest source for now (see https://github.com/openlayers/ol3/issues/5484 for details).
#### `ol.interaction.ModifyEvent` changes
The event object previously had a `mapBrowserPointerEvent` property, which has been renamed to `mapBrowserEvent`.
#### Removal of ol.raster namespace
Users compiling their code with the library and using types in the `ol.raster` namespace should note that this has now been removed. `ol.raster.Pixel` has been deleted, and the other types have been renamed as follows, and your code may need changing if you use these:
* `ol.raster.Operation` to `ol.RasterOperation`
* `ol.raster.OperationType` to `ol.RasterOperationType`
#### All typedefs now in ol namespace
Users compiling their code with the library should note that the following typedefs have been renamed; your code may need changing if you use these:
* ol.events.ConditionType to ol.EventsConditionType
* ol.events.EventTargetLike to ol.EventTargetLike
* ol.events.Key to ol.EventsKey
* ol.events.ListenerFunctionType to ol.EventsListenerFunctionType
* ol.interaction.DragBoxEndConditionType to ol.DragBoxEndConditionType
* ol.interaction.DrawGeometryFunctionType to ol.DrawGeometryFunctionType
* ol.interaction.SegmentDataType to ol.ModifySegmentDataType
* ol.interaction.SelectFilterFunction to ol.SelectFilterFunction
* ol.interaction.SnapResultType to ol.SnapResultType
* ol.interaction.SnapSegmentDataType to ol.SnapSegmentDataType
* ol.proj.ProjectionLike to ol.ProjectionLike
* ol.style.AtlasBlock to ol.AtlasBlock
* ol.style.AtlasInfo to ol.AtlasInfo
* ol.style.AtlasManagerInfo to ol.AtlasManagerInfo
* ol.style.CircleRenderOptions to ol.CircleRenderOptions
* ol.style.ImageOptions to ol.StyleImageOptions
* ol.style.GeometryFunction to ol.StyleGeometryFunction
* ol.style.RegularShapeRenderOptions to ol.RegularShapeRenderOptions
* ol.style.StyleFunction to ol.StyleFunction
### v3.16.0
#### Rendering change for tile sources
Previously, if you called `source.setUrl()` on a tile source, all currently rendered tiles would be cleared before new tiles were loaded and rendered. This clearing of the map is undesirable if you are trying to smoothly update the tiles used by a source. This behavior has now changed, and calling `source.setUrl()` (or `source.setUrls()`) will *not* clear currently rendered tiles before loading and rendering new tiles. Instead, previously rendered tiles remain rendered until new tiles have loaded and can replace them. If you want to achieve the old behavior (render a blank map before loading new tiles), you can call `source.refresh()` or you can replace the old source with a new one (using `layer.setSource()`).
#### Move of typedefs out of code and into separate file
This change should not affect the great majority of application developers, but it's possible there are edge cases when compiling application code together with the library which cause compiler errors or warnings. In this case, please raise a GitHub issue. `goog.require`s for typedefs should not be necessary.
Users compiling their code with the library should note that the following API `@typedef`s have been renamed; your code may need changing if you use these:
* `ol.format.WFS.FeatureCollectionMetadata` to `ol.WFSFeatureCollectionMetadata`
* `ol.format.WFS.TransactionResponse` to `ol.WFSTransactionResponse`
#### Removal of `opaque` option for `ol.source.VectorTile`

148
changelog/v3.16.0.md Normal file
View File

@@ -0,0 +1,148 @@
# v3.16.0
## Summary
The v3.16.0 release includes features and fixes from 95 pull requests since the v3.15.1 release. New features and improvements include:
* Add `ol.source.ImageArcGISRest` for ArcGIS REST image layer support (#3880)
* New `finishCondition` option for `ol.interaction.Draw` to control which action should finish a geometry when drawing (#5261)
* New filter API for `ol.format.WFS#writeGetFeature` for WFS queries with OGC filters (#5252)
* New `renderMode` option for `ol.layer.VectorTile` to balance between rendering performance and rendering quality (#5177)
* More flexibility for configuring attribution logos by allowing HTML elements (#5274)
* UTFGrid updates, now supporting Mapbox API v4 (#5329)
* New `condition` option for `ol.interaction.Modify` for better reliability when combining with other interactions (#5320)
In addition to these new features, the code base has been simplified and refactored in the process of removing the dependency on Closure Library and Compiler.
## Upgrade notes
#### Rendering change for tile sources
Previously, if you called `source.setUrl()` on a tile source, all currently rendered tiles would be cleared before new tiles were loaded and rendered. This clearing of the map is undesirable if you are trying to smoothly update the tiles used by a source. This behavior has now changed, and calling `source.setUrl()` (or `source.setUrls()`) will *not* clear currently rendered tiles before loading and rendering new tiles. Instead, previously rendered tiles remain rendered until new tiles have loaded and can replace them. If you want to achieve the old behavior (render a blank map before loading new tiles), you can call `source.refresh()` or you can replace the old source with a new one (using `layer.setSource()`).
#### Move of typedefs out of code and into separate file
This change should not affect the great majority of application developers, but it's possible there are edge cases when compiling application code together with the library which cause compiler errors or warnings. In this case, please raise a GitHub issue. `goog.require`s for typedefs should not be necessary.
Users compiling their code with the library should note that the following API `@typedef`s have been renamed; your code may need changing if you use these:
* `ol.format.WFS.FeatureCollectionMetadata` to `ol.WFSFeatureCollectionMetadata`
* `ol.format.WFS.TransactionResponse` to `ol.WFSTransactionResponse`
#### Removal of `opaque` option for `ol.source.VectorTile`
This option is no longer needed, so it was removed from the API.
#### XHR loading for `ol.source.TileUTFGrid`
The `ol.source.TileUTFGrid` now uses XMLHttpRequest to load UTFGrid tiles by default. This works out of the box with the v4 Mapbox API. To work with the v3 API, you must use the new `jsonp` option on the source. See the examples below for detail.
```js
// To work with the v4 API
var v4source = new ol.source.TileUTFGrid({
url: 'https://api.tiles.mapbox.com/v4/example.json?access_token=' + YOUR_KEY_HERE
});
// To work with the v3 API
var v3source = new ol.source.TileUTFGrid({
jsonp: true, // <--- this is required for v3
url: 'http://api.tiles.mapbox.com/v3/example.json'
});
```
## Full list of changes
* [#5377](https://github.com/openlayers/ol3/pull/5377) - Fix link to jspdf.min.js in export-pdf example ([@fredj](https://github.com/fredj))
* [#5372](https://github.com/openlayers/ol3/pull/5372) - Update jquery to version 2.2.4 🚀 ([@openlayers](https://github.com/openlayers))
* [#5364](https://github.com/openlayers/ol3/pull/5364) - Make it so things don't flash so much when you change the tile source URL. ([@tschaub](https://github.com/tschaub))
* [#5368](https://github.com/openlayers/ol3/pull/5368) - Move WFS typedefs to typedefs.js ([@probins](https://github.com/probins))
* [#5369](https://github.com/openlayers/ol3/pull/5369) - format/igc: Remove duplicate regex exec() call ([@Turbo87](https://github.com/Turbo87))
* [#5363](https://github.com/openlayers/ol3/pull/5363) - Convert all typedefs to CamelCase ([@probins](https://github.com/probins))
* [#5362](https://github.com/openlayers/ol3/pull/5362) - Update vector-tile to version 1.2.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5352](https://github.com/openlayers/ol3/pull/5352) - Add getResolutions() to ol.View ([@marlowp](https://github.com/marlowp))
* [#5359](https://github.com/openlayers/ol3/pull/5359) - Move upgrade notes to correct place ([@probins](https://github.com/probins))
* [#5343](https://github.com/openlayers/ol3/pull/5343) - Rename non-api sub-namespace typedefs ([@probins](https://github.com/probins))
* [#5361](https://github.com/openlayers/ol3/pull/5361) - Fix url to maki icons ([@fredj](https://github.com/fredj))
* [#5358](https://github.com/openlayers/ol3/pull/5358) - Handle multiple featureMember elements for different types (WFS format) ([@tsauerwein](https://github.com/tsauerwein))
* [#5355](https://github.com/openlayers/ol3/pull/5355) - Fix navigation-controls example description ([@fredj](https://github.com/fredj))
* [#5353](https://github.com/openlayers/ol3/pull/5353) - Add API definition to docs landing page ([@probins](https://github.com/probins))
* [#5356](https://github.com/openlayers/ol3/pull/5356) - Update rbush to version 1.4.3 🚀 ([@openlayers](https://github.com/openlayers))
* [#5354](https://github.com/openlayers/ol3/pull/5354) - Update eslint to version 2.10.2 🚀 ([@openlayers](https://github.com/openlayers))
* [#5347](https://github.com/openlayers/ol3/pull/5347) - Update eslint to version 2.10.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5344](https://github.com/openlayers/ol3/pull/5344) - Remove raster enum from test ([@probins](https://github.com/probins))
* [#5329](https://github.com/openlayers/ol3/pull/5329) - UTFGrid updates. ([@tschaub](https://github.com/tschaub))
* [#5335](https://github.com/openlayers/ol3/pull/5335) - Move typedefs to separate file ([@probins](https://github.com/probins))
* [#5332](https://github.com/openlayers/ol3/pull/5332) - Warn when viewing an outdated example, and offer a redirect to latest ([@ahocevar](https://github.com/ahocevar))
* [#5342](https://github.com/openlayers/ol3/pull/5342) - Fix incorrect source links ([@ahocevar](https://github.com/ahocevar))
* [#5339](https://github.com/openlayers/ol3/pull/5339) - Use a div instead of alert for version warning ([@ahocevar](https://github.com/ahocevar))
* [#5320](https://github.com/openlayers/ol3/pull/5320) - Add a 'condition' option to ol.interaction.Modify ([@fredj](https://github.com/fredj))
* [#5333](https://github.com/openlayers/ol3/pull/5333) - Improve code readability with better comments ([@openlayers](https://github.com/openlayers))
* [#5330](https://github.com/openlayers/ol3/pull/5330) - Fix source links, display version and warn about outdated docs ([@ahocevar](https://github.com/ahocevar))
* [#5324](https://github.com/openlayers/ol3/pull/5324) - Remove unneeded goog.provides/requires for typedefs ([@probins](https://github.com/probins))
* [#5328](https://github.com/openlayers/ol3/pull/5328) - Use Node 6 on Travis. ([@tschaub](https://github.com/tschaub))
* [#5313](https://github.com/openlayers/ol3/pull/5313) - Rastersource framestate extent ([@ahocevar](https://github.com/ahocevar))
* [#5326](https://github.com/openlayers/ol3/pull/5326) - Fix wording in tile-load-event example ([@tsauerwein](https://github.com/tsauerwein))
* [#5327](https://github.com/openlayers/ol3/pull/5327) - Update closure-util to version 1.13.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5289](https://github.com/openlayers/ol3/pull/5289) - Update fs-extra to version 0.30.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5319](https://github.com/openlayers/ol3/pull/5319) - Remove outdated fixme from framestate.js. ([@probins](https://github.com/probins))
* [#5274](https://github.com/openlayers/ol3/pull/5274) - Allow using elements in logo attribution options ([@samuellapointe](https://github.com/samuellapointe))
* [#5162](https://github.com/openlayers/ol3/pull/5162) - Improve docs/examples for loadingstrategy ([@probins](https://github.com/probins))
* [#5314](https://github.com/openlayers/ol3/pull/5314) - Update browserify to version 13.0.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5315](https://github.com/openlayers/ol3/pull/5315) - Remove unused ol.TileCoordTransformType ([@probins](https://github.com/probins))
* [#5310](https://github.com/openlayers/ol3/pull/5310) - Get raster sources working again. ([@tschaub](https://github.com/tschaub))
* [#5291](https://github.com/openlayers/ol3/pull/5291) - Allow once listeners to dispatch events of same type ([@ahocevar](https://github.com/ahocevar))
* [#5309](https://github.com/openlayers/ol3/pull/5309) - Update metalsmith-layouts to version 1.6.5 🚀 ([@openlayers](https://github.com/openlayers))
* [#5052](https://github.com/openlayers/ol3/pull/5052) - Update fs-extra to version 0.26.7 🚀 ([@openlayers](https://github.com/openlayers))
* [#5306](https://github.com/openlayers/ol3/pull/5306) - Make olx.view.FitOptions.padding optional ([@gberaudo](https://github.com/gberaudo))
* [#5302](https://github.com/openlayers/ol3/pull/5302) - Remove use of goog.partial ([@fredj](https://github.com/fredj))
* [#5304](https://github.com/openlayers/ol3/pull/5304) - Update sinon to version 1.17.4 🚀 ([@openlayers](https://github.com/openlayers))
* [#4644](https://github.com/openlayers/ol3/pull/4644) - Remove check-requires script ([@fredj](https://github.com/fredj))
* [#5298](https://github.com/openlayers/ol3/pull/5298) - Update eslint to version 2.9.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5296](https://github.com/openlayers/ol3/pull/5296) - Document handling of KML MultiGeometries ([@probins](https://github.com/probins))
* [#5293](https://github.com/openlayers/ol3/pull/5293) - Block removePoint while dragging ([@giohappy](https://github.com/giohappy))
* [#5285](https://github.com/openlayers/ol3/pull/5285) - Add more tests for the scaleline control ([@marcjansen](https://github.com/marcjansen))
* [#5287](https://github.com/openlayers/ol3/pull/5287) - Add and fix vectortile tests ([@ahocevar](https://github.com/ahocevar))
* [#5288](https://github.com/openlayers/ol3/pull/5288) - Expose removeVertex_ as removePoint ([@giohappy](https://github.com/giohappy))
* [#5286](https://github.com/openlayers/ol3/pull/5286) - Skip unnecessary render functions ([@ahocevar](https://github.com/ahocevar))
* [#5177](https://github.com/openlayers/ol3/pull/5177) - Add render options for vector tile layers ([@ahocevar](https://github.com/ahocevar))
* [#5278](https://github.com/openlayers/ol3/pull/5278) - Fix invalid generics type instantiation ([@fredj](https://github.com/fredj))
* [#5044](https://github.com/openlayers/ol3/pull/5044) - Snap interaction now handle feature without geometry properly ([@fblackburn](https://github.com/fblackburn))
* [#5277](https://github.com/openlayers/ol3/pull/5277) - Type cleanup ([@fredj](https://github.com/fredj))
* [#5275](https://github.com/openlayers/ol3/pull/5275) - Fix feature-layer association on replaced selections ([@ahocevar](https://github.com/ahocevar))
* [#5252](https://github.com/openlayers/ol3/pull/5252) - Add filter option to ol.format.WFS#writeGetFeature ([@tsauerwein](https://github.com/tsauerwein))
* [#5264](https://github.com/openlayers/ol3/pull/5264) - Fix for close draw polygon error ([@matjos](https://github.com/matjos))
* [#5267](https://github.com/openlayers/ol3/pull/5267) - Use ol.functions instead of goog.functions ([@ahocevar](https://github.com/ahocevar))
* [#5266](https://github.com/openlayers/ol3/pull/5266) - Document ol.colorlike ([@ahocevar](https://github.com/ahocevar))
* [#5261](https://github.com/openlayers/ol3/pull/5261) - add finishCondition to ol.interaction.Draw ([@giohappy](https://github.com/giohappy))
* [#5259](https://github.com/openlayers/ol3/pull/5259) - Include squash commit merges in changelog ([@ahocevar](https://github.com/ahocevar))
* [#5257](https://github.com/openlayers/ol3/pull/5257) - Add readFeatures and readProjection as MVT experimental API ([@bjornharrtell](https://github.com/bjornharrtell))
* [#3880](https://github.com/openlayers/ol3/pull/3880) - Add ol.source.ImageArcGISRest ([Anna Lambrechtsen](https://github.com/search?q=Anna Lambrechtsen&type=Users))
* [#5239](https://github.com/openlayers/ol3/pull/5239) - Update eslint to version 2.8.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5230](https://github.com/openlayers/ol3/pull/5230) - Reuse frame state arrays ([@fredj](https://github.com/fredj))
* [#5213](https://github.com/openlayers/ol3/pull/5213) - Remove unused ol.source.Source#setProjection function ([@fredj](https://github.com/fredj))
* [#5223](https://github.com/openlayers/ol3/pull/5223) - Create tmpSize_ before calling calculateTileRanges_ ([@fredj](https://github.com/fredj))
* [#5225](https://github.com/openlayers/ol3/pull/5225) - Remove unused ol.extent.transform2D function ([@fredj](https://github.com/fredj))
* [#5212](https://github.com/openlayers/ol3/pull/5212) - KML: fix GeometryCollection write ([@probins](https://github.com/probins))
* [#5228](https://github.com/openlayers/ol3/pull/5228) - Add 'layers' option to Translate interaction ([@adube](https://github.com/adube))
* [#5221](https://github.com/openlayers/ol3/pull/5221) - Update jquery, bootstrap and proj4js in examples ([@fredj](https://github.com/fredj))
* [#5227](https://github.com/openlayers/ol3/pull/5227) - Add a temporary ol.TileCoord in ol.renderer.canvas.TileLayer ([@fredj](https://github.com/fredj))
* [#5222](https://github.com/openlayers/ol3/pull/5222) - Remove unused private variables in ol.renderer.canvas.Map ([@fredj](https://github.com/fredj))
* [#5220](https://github.com/openlayers/ol3/pull/5220) - Externs cleanup ([@fredj](https://github.com/fredj))
* [#5224](https://github.com/openlayers/ol3/pull/5224) - Fix jsdoc tags indentation ([@fredj](https://github.com/fredj))
* [#5218](https://github.com/openlayers/ol3/pull/5218) - Add @api annotation to setConfig. ([@aisaacs](https://github.com/aisaacs))
* [#5215](https://github.com/openlayers/ol3/pull/5215) - Add an optional feature filter to getClosestFeatureToCoordinate ([@fredj](https://github.com/fredj))
* [#5132](https://github.com/openlayers/ol3/pull/5132) - Remove goog.string ([@nicholas-l](https://github.com/nicholas-l))
* [#5206](https://github.com/openlayers/ol3/pull/5206) - Minor correction of StyleFunction docs ([@probins](https://github.com/probins))
* [#4932](https://github.com/openlayers/ol3/pull/4932) - Remove undefined parameters to ol.format.WMSGetFeatureInfo#readFeatures_ ([@fredj](https://github.com/fredj))
* [#5207](https://github.com/openlayers/ol3/pull/5207) - Update clean-css to version 3.4.12 🚀 ([@openlayers](https://github.com/openlayers))
* [#5201](https://github.com/openlayers/ol3/pull/5201) - Small clarification for vector source loader docs ([@probins](https://github.com/probins))
* [#5200](https://github.com/openlayers/ol3/pull/5200) - Fix typo in rotate control for css classList ([@bartvde](https://github.com/bartvde))
* [#5178](https://github.com/openlayers/ol3/pull/5178) - Remove goog.global ([Nicholas Latham](https://github.com/search?q=Nicholas Latham&type=Users))
* [#5189](https://github.com/openlayers/ol3/pull/5189) - Add rendering tests to ensure correct circle and polygon rendering ([Andreas Hocevar](https://github.com/search?q=Andreas Hocevar&type=Users))
* [#5183](https://github.com/openlayers/ol3/pull/5183) - Update istanbul to version 0.4.3 🚀 ([@openlayers](https://github.com/openlayers))
* [#5187](https://github.com/openlayers/ol3/pull/5187) - Remove goog.functions.and from ol.interaction.Modify ([@fredj](https://github.com/fredj))
* [#5176](https://github.com/openlayers/ol3/pull/5176) - Update jquery to version 2.2.3 🚀 ([@openlayers](https://github.com/openlayers))
* [#5173](https://github.com/openlayers/ol3/pull/5173) - Use ol.dom.createCanvasContext2D ([@fredj](https://github.com/fredj))
* [#5171](https://github.com/openlayers/ol3/pull/5171) - Move olx.source.AttributionOption out of externs/olx.js ([@fredj](https://github.com/fredj))
* [#5170](https://github.com/openlayers/ol3/pull/5170) - Update eslint to version 2.7.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5167](https://github.com/openlayers/ol3/pull/5167) - Remove FastClick from mobile-full-screen example ([@fredj](https://github.com/fredj))
* [#5166](https://github.com/openlayers/ol3/pull/5166) - Remove jquery dependency from measure example ([@fredj](https://github.com/fredj))
* [#5164](https://github.com/openlayers/ol3/pull/5164) - Cartodb cleanup ([@fredj](https://github.com/fredj))

107
changelog/v3.17.0.md Normal file
View File

@@ -0,0 +1,107 @@
# v3.17.0
## Summary
The v3.17.0 release includes features and fixes from 60 pull requests since the v3.16.0 release. Most of the changes are bug fixes and continuing removal of the dependency on Closure Library.
## Upgrade notes
#### `ol.source.MapQuest` removal
Because of changes at MapQuest (see: https://lists.openstreetmap.org/pipermail/talk/2016-June/076106.html) we had to remove the MapQuest source for now (see https://github.com/openlayers/ol3/issues/5484 for details).
#### `ol.interaction.ModifyEvent` changes
The event object previously had a `mapBrowserPointerEvent` property, which has been renamed to `mapBrowserEvent`.
#### Removal of ol.raster namespace
Users compiling their code with the library and using types in the `ol.raster` namespace should note that this has now been removed. `ol.raster.Pixel` has been deleted, and the other types have been renamed as follows, and your code may need changing if you use these:
* `ol.raster.Operation` to `ol.RasterOperation`
* `ol.raster.OperationType` to `ol.RasterOperationType`
#### All typedefs now in ol namespace
Users compiling their code with the library should note that the following typedefs have been renamed; your code may need changing if you use these:
* ol.events.ConditionType to ol.EventsConditionType
* ol.events.EventTargetLike to ol.EventTargetLike
* ol.events.Key to ol.EventsKey
* ol.events.ListenerFunctionType to ol.EventsListenerFunctionType
* ol.interaction.DragBoxEndConditionType to ol.DragBoxEndConditionType
* ol.interaction.DrawGeometryFunctionType to ol.DrawGeometryFunctionType
* ol.interaction.SegmentDataType to ol.ModifySegmentDataType
* ol.interaction.SelectFilterFunction to ol.SelectFilterFunction
* ol.interaction.SnapResultType to ol.SnapResultType
* ol.interaction.SnapSegmentDataType to ol.SnapSegmentDataType
* ol.proj.ProjectionLike to ol.ProjectionLike
* ol.style.AtlasBlock to ol.AtlasBlock
* ol.style.AtlasInfo to ol.AtlasInfo
* ol.style.AtlasManagerInfo to ol.AtlasManagerInfo
* ol.style.CircleRenderOptions to ol.CircleRenderOptions
* ol.style.ImageOptions to ol.StyleImageOptions
* ol.style.GeometryFunction to ol.StyleGeometryFunction
* ol.style.RegularShapeRenderOptions to ol.RegularShapeRenderOptions
* ol.style.StyleFunction to ol.StyleFunction
## Full list of changes
* [#5539](https://github.com/openlayers/ol3/pull/5539) - Remove outdated comments re goog.dom ([@probins](https://github.com/probins))
* [#5543](https://github.com/openlayers/ol3/pull/5543) - Update rbush to 2.0.1 ([@tsauerwein](https://github.com/tsauerwein))
* [#5540](https://github.com/openlayers/ol3/pull/5540) - Remove MapQuest source ([@bartvde](https://github.com/bartvde))
* [#5538](https://github.com/openlayers/ol3/pull/5538) - Replace remaining goog.inherits ([@probins](https://github.com/probins))
* [#5536](https://github.com/openlayers/ol3/pull/5536) - Update to layer-extent example ([@tschaub](https://github.com/tschaub))
* [#5482](https://github.com/openlayers/ol3/pull/5482) - Fix for regression in tile layer extent ([@ischneider](https://github.com/ischneider))
* [#5475](https://github.com/openlayers/ol3/pull/5475) - Remove goog.provide from enums only used internally or in olx.js ([@probins](https://github.com/probins))
* [#5424](https://github.com/openlayers/ol3/pull/5424) - Don't dispatch select event if no feature is selected or deselected ([@fredj](https://github.com/fredj))
* [#5522](https://github.com/openlayers/ol3/pull/5522) - Add 'condition' option to ol.interaction.DragPanOptions in olx.js ([@SamuelBerger](https://github.com/SamuelBerger))
* [#5443](https://github.com/openlayers/ol3/pull/5443) - Remove olx.source.WMTSOptions#maxZoom option ([@fredj](https://github.com/fredj))
* [#5497](https://github.com/openlayers/ol3/pull/5497) - Update istanbul to version 0.4.4 🚀 ([@openlayers](https://github.com/openlayers))
* [#5523](https://github.com/openlayers/ol3/pull/5523) - Update closure-util to version 1.15.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5508](https://github.com/openlayers/ol3/pull/5508) - Fix problems with ol.format.WFS in compiled mode ([@tsauerwein](https://github.com/tsauerwein))
* [#5512](https://github.com/openlayers/ol3/pull/5512) - Use forEachTileCoord name instead of forEachTileCoordInExtentAndZ ([@ahocevar](https://github.com/ahocevar))
* [#5513](https://github.com/openlayers/ol3/pull/5513) - Add getters for min and max resolution of the view ([@bartvde](https://github.com/bartvde))
* [#5471](https://github.com/openlayers/ol3/pull/5471) - Fix GPX write of xsi ns ([@probins](https://github.com/probins))
* [#5134](https://github.com/openlayers/ol3/pull/5134) - Remove goog.dom ([@nicholas-l](https://github.com/nicholas-l))
* [#5511](https://github.com/openlayers/ol3/pull/5511) - Do not optimize lines away entirely ([@ahocevar](https://github.com/ahocevar))
* [#5509](https://github.com/openlayers/ol3/pull/5509) - Make it easier to work with tile ranges in custom source implementations ([@ahocevar](https://github.com/ahocevar))
* [#5498](https://github.com/openlayers/ol3/pull/5498) - Update eslint to version 2.13.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5495](https://github.com/openlayers/ol3/pull/5495) - Get rid of goog.isFunction ([@fredj](https://github.com/fredj))
* [#5499](https://github.com/openlayers/ol3/pull/5499) - Update glob to version 7.0.5 🚀 ([@openlayers](https://github.com/openlayers))
* [#5125](https://github.com/openlayers/ol3/pull/5125) - Remove goog style ([@nicholas-l](https://github.com/nicholas-l))
* [#5494](https://github.com/openlayers/ol3/pull/5494) - Remove goog.global ([@probins](https://github.com/probins))
* [#5492](https://github.com/openlayers/ol3/pull/5492) - Update eslint to version 2.13.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5490](https://github.com/openlayers/ol3/pull/5490) - Update glob to version 7.0.4 🚀 ([@openlayers](https://github.com/openlayers))
* [#5460](https://github.com/openlayers/ol3/pull/5460) - Update eslint to version 2.12.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5479](https://github.com/openlayers/ol3/pull/5479) - Update slimerjs to version 0.906.2 🚀 ([@openlayers](https://github.com/openlayers))
* [#5474](https://github.com/openlayers/ol3/pull/5474) - Update clean-css to version 3.4.18 🚀 ([@openlayers](https://github.com/openlayers))
* [#5450](https://github.com/openlayers/ol3/pull/5450) - Remove sub-namespaces from all remaining typedefs ([@probins](https://github.com/probins))
* [#5465](https://github.com/openlayers/ol3/pull/5465) - Fix custom icon positions and rotation ([@ahocevar](https://github.com/ahocevar))
* [#5469](https://github.com/openlayers/ol3/pull/5469) - Fix typo ([@gberaudo](https://github.com/gberaudo))
* [#5453](https://github.com/openlayers/ol3/pull/5453) - Reference ol.MapBrowserEvent instead of ol.MapBrowserPointerEvent ([@ahocevar](https://github.com/ahocevar))
* [#5208](https://github.com/openlayers/ol3/pull/5208) - Stop GPX writing rtept properties ([@probins](https://github.com/probins))
* [#5452](https://github.com/openlayers/ol3/pull/5452) - Update eslint-config-openlayers to version 5.0.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5432](https://github.com/openlayers/ol3/pull/5432) - Remove use of goog.uri ([@bjornharrtell](https://github.com/bjornharrtell))
* [#5449](https://github.com/openlayers/ol3/pull/5449) - Make example data/ paths absolute for source view and JSFiddle ([@ahocevar](https://github.com/ahocevar))
* [#5399](https://github.com/openlayers/ol3/pull/5399) - Remove ol.raster namespace ([@probins](https://github.com/probins))
* [#5270](https://github.com/openlayers/ol3/pull/5270) - Load erroneous image in ol.Image#load and ol.ImageTile#load ([@fredj](https://github.com/fredj))
* [#5194](https://github.com/openlayers/ol3/pull/5194) - Get rid of goog.inherits and goog.base ([@fredj](https://github.com/fredj))
* [#5427](https://github.com/openlayers/ol3/pull/5427) - Document typedefs and enums used by API symbols ([@ahocevar](https://github.com/ahocevar))
* [#5438](https://github.com/openlayers/ol3/pull/5438) - Don't make ol.format.ogc.filter.Filter inherit from ol.Object ([@fredj](https://github.com/fredj))
* [#5433](https://github.com/openlayers/ol3/pull/5433) - Update clean-css to version 3.4.17 🚀 ([@openlayers](https://github.com/openlayers))
* [#5434](https://github.com/openlayers/ol3/pull/5434) - Fix externs in closure compiler tutorial ([@tsauerwein](https://github.com/tsauerwein))
* [#5426](https://github.com/openlayers/ol3/pull/5426) - Fix icon example to anchor popup to feature location ([@frankrowe](https://github.com/frankrowe))
* [#5421](https://github.com/openlayers/ol3/pull/5421) - Correct typo in config/jsdoc/api/readme.md ([@probins](https://github.com/probins))
* [#5417](https://github.com/openlayers/ol3/pull/5417) - Update clean-css to version 3.4.16 🚀 ([@openlayers](https://github.com/openlayers))
* [#5413](https://github.com/openlayers/ol3/pull/5413) - Update clean-css to version 3.4.15 🚀 ([@openlayers](https://github.com/openlayers))
* [#5410](https://github.com/openlayers/ol3/pull/5410) - Update eslint to version 2.11.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5408](https://github.com/openlayers/ol3/pull/5408) - Update pbf to version 2.0.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5404](https://github.com/openlayers/ol3/pull/5404) - Update eslint to version 2.11.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5402](https://github.com/openlayers/ol3/pull/5402) - Pass in srsName option to writeTransaction ([@anzhihun](https://github.com/anzhihun))
* [#5393](https://github.com/openlayers/ol3/pull/5393) - Update mocha to version 2.5.3 🚀 ([@openlayers](https://github.com/openlayers))
* [#5394](https://github.com/openlayers/ol3/pull/5394) - Update resemblejs to version 2.2.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5390](https://github.com/openlayers/ol3/pull/5390) - Fix the requestEncoding automatic selection ([@fredj](https://github.com/fredj))
* [#5392](https://github.com/openlayers/ol3/pull/5392) - Update closure-util to version 1.14.0 🚀 ([@openlayers](https://github.com/openlayers))
* [#5388](https://github.com/openlayers/ol3/pull/5388) - Update mocha to version 2.5.2 🚀 ([@openlayers](https://github.com/openlayers))
* [#5382](https://github.com/openlayers/ol3/pull/5382) - Handle UTC midnight wrap around, fixes #5371 ([@twpayne](https://github.com/twpayne))
* [#5381](https://github.com/openlayers/ol3/pull/5381) - Update mocha to version 2.5.1 🚀 ([@openlayers](https://github.com/openlayers))
* [#5383](https://github.com/openlayers/ol3/pull/5383) - Update clean-css to version 3.4.13 🚀 ([@openlayers](https://github.com/openlayers))

9
changelog/v3.17.1.md Normal file
View File

@@ -0,0 +1,9 @@
# v3.17.1
## Summary
The v3.17.1 release is a patch release that addresses a regression in the v3.17.0 release. See the [v3.17.0 release notes](https://github.com/openlayers/ol3/releases/tag/v3.17.0) for details on upgrading from v3.16.
## Fixes
* [#5548](https://github.com/openlayers/ol3/pull/5548) - Fix CHANGETYPE in ol.control.FullScreen ([@GaborFarkas](https://github.com/GaborFarkas))

View File

@@ -24,15 +24,12 @@
"externs/topojson.js"
],
"define": [
"goog.dom.ASSUME_STANDARDS_MODE=true",
"goog.DEBUG=false"
],
"jscomp_error": [
"*"
],
"jscomp_off": [
"unnecessaryCasts",
"useOfGoogBase",
"lintChecks",
"analyzerChecks",
"missingProvide",

View File

@@ -24,15 +24,12 @@
"externs/topojson.js"
],
"define": [
"goog.dom.ASSUME_STANDARDS_MODE=true",
"goog.DEBUG=false"
],
"jscomp_error": [
"*"
],
"jscomp_off": [
"unnecessaryCasts",
"useOfGoogBase",
"lintChecks",
"analyzerChecks"
],

View File

@@ -11,6 +11,7 @@ exports.defineTags = function(dictionary) {
canHaveType: false,
canHaveName: false,
onTagged: function(doclet, tag) {
includeTypes(doclet);
var level = tag.text || "experimental";
if (levels.indexOf(level) >= 0) {
doclet.stability = level;
@@ -25,11 +26,15 @@ exports.defineTags = function(dictionary) {
/*
* Based on @stability annotations, and assuming that items with no @stability
* annotation should not be documented, this plugin removes undocumented symbols
* Based on @api annotations, and assuming that items with no @api annotation
* should not be documented, this plugin removes undocumented symbols
* from the documentation.
*/
var api = [];
var classes = {};
var types = {};
function hasApiMembers(doclet) {
return doclet.longname.split('#')[0] == this.longname;
}
@@ -71,8 +76,30 @@ function includeAugments(doclet) {
}
}
var api = [];
var classes = {};
function extractTypes(item) {
item.type.names.forEach(function(type) {
var match = type.match(/^(.*<)?([^>]*)>?$/);
if (match) {
types[match[2]] = true;
}
});
}
function includeTypes(doclet) {
if (doclet.params && doclet.kind != 'class') {
doclet.params.forEach(extractTypes);
}
if (doclet.returns) {
doclet.returns.forEach(extractTypes);
}
if (doclet.isEnum) {
types[doclet.meta.code.name] = true;
}
if (doclet.type && doclet.meta.code.type == 'MemberExpression') {
// types in olx.js
extractTypes(doclet);
}
}
exports.handlers = {
@@ -80,6 +107,9 @@ exports.handlers = {
var doclet = e.doclet;
// Keep track of api items - needed in parseComplete to determine classes
// with api members.
if (doclet.meta.filename == 'olx.js' && doclet.kind == 'typedef') {
doclet.undocumented = false;
}
if (doclet.stability) {
api.push(doclet);
}
@@ -120,7 +150,7 @@ exports.handlers = {
// constructor from the docs.
doclet._hideConstructor = true;
includeAugments(doclet);
} else if (!doclet._hideConstructor) {
} else if (doclet.undocumented !== false && !doclet._hideConstructor && !(doclet.kind == 'typedef' && doclet.longname in types)) {
// Remove all other undocumented symbols
doclet.undocumented = true;
}

View File

@@ -89,10 +89,6 @@ exports.handlers = {
newDoclet: function(e) {
var doclet = e.doclet;
if (doclet.meta.filename == 'olx.js') {
// do nothing if not marked @api
if (!doclet.stability) {
return;
}
if (doclet.kind == 'typedef') {
lastOlxTypedef = doclet;
olxTypeNames.push(doclet.longname);

View File

@@ -24,7 +24,7 @@ The second line tells the Closure compiler the type of the argument.
The third line (`@api`) marks the method as part of the api and thus exportable. The stability can be added as value, e.g. `@api stable`. Without such an api annotation, the method will not be documented in the generated API documentation. Symbols without an api annotation will also not be exportable (unless they are explicitly exported with a `goog.exportProperty` call).
The `@api` annotation can be used in conjunciton with the `@inheritDoc` annotation to export a symbol that is documented on a parent class (where the method may be abstract). In general, `@api` annotations should never be used on abstract methods (only on their implementations).
The `@api` annotation can be used in conjunction with the `@inheritDoc` annotation to export a symbol that is documented on a parent class (where the method may be abstract). In general, `@api` annotations should never be used on abstract methods (only on their implementations).
### Events

View File

@@ -39,7 +39,7 @@ var self = this;
<?js
item.typedefs.forEach(function (v) {
?>
<li data-name="<?js= v.longname ?>" class="<?js= v.stability !== 'stable' ? 'unstable' : ''?>">
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability !== 'stable') ? 'unstable' : ''?>">
<?js= self.linkto(v.longname, v.name) ?>
</li>
<?js
@@ -56,7 +56,7 @@ var self = this;
item.methods.forEach(function (v) {
?>
<li data-name="<?js= v.longname ?>" class="<?js= v.stability !== 'stable' ? 'unstable' : ''?>">
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability !== 'stable') ? 'unstable' : ''?>">
<?js= self.linkto(v.longname, v.name) ?>
</li>
<?js
@@ -73,7 +73,7 @@ var self = this;
item.fires.forEach(function (v) {
v = self.find({longname: v})[0] || {longname: v, name: v.split(/#?event:/)[1]};
?>
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability != 'stable' ? 'unstable' : '') ?>">
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability != 'stable') ? 'unstable' : '' ?>">
<?js= self.linkto(v.longname, v.name) ?>
</li>
<?js

View File

@@ -21,7 +21,7 @@
var setter = prop.readonly ? 'no' : 'yes';
?>
<tr class="<?js= prop.stability !== 'stable' ? 'unstable' : '' ?>">
<tr class="<?js= (prop.stability && prop.stability !== 'stable') ? 'unstable' : '' ?>">
<td class="name"><code><?js= prop.name ?></code></td>
<td class="type">
<?js if (prop.type && prop.type.names) {?>

View File

@@ -2,6 +2,6 @@
var data = obj;
var self = this;
if (data.stability != 'stable') { ?>
if (data.stability && data.stability != 'stable') { ?>
<span class="stability <?js= data.stability ?>"><?js= data.stability ?></span>
<?js } ?>

View File

@@ -1,5 +1,5 @@
<section>
<header>
<?js if (children.length > 0) { ?>
<ul><?js
@@ -10,10 +10,10 @@
<?js } ?>
<h2><?js= header ?></h2>
</header>
</header>
<article>
<?js= content ?>
</article>
</section>
</section>

View File

@@ -15,15 +15,12 @@
"externs/topojson.js"
],
"define": [
"goog.dom.ASSUME_STANDARDS_MODE=true",
"goog.DEBUG=false"
],
"jscomp_error": [
"*"
],
"jscomp_off": [
"unnecessaryCasts",
"useOfGoogBase",
"lintChecks",
"analyzerChecks"
],

241
dist/ol-debug.css vendored Normal file
View File

@@ -0,0 +1,241 @@
.ol-box {
box-sizing: border-box;
border-radius: 2px;
border: 2px solid blue;
}
.ol-mouse-position {
top: 8px;
right: 8px;
position: absolute;
}
.ol-scale-line {
background: rgba(0,60,136,0.3);
border-radius: 4px;
bottom: 8px;
left: 8px;
padding: 2px;
position: absolute;
}
.ol-scale-line-inner {
border: 1px solid #eee;
border-top: none;
color: #eee;
font-size: 10px;
text-align: center;
margin: 1px;
will-change: contents, width;
}
.ol-overlay-container {
will-change: left,right,top,bottom;
}
.ol-unsupported {
display: none;
}
.ol-viewport .ol-unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.ol-control {
position: absolute;
background-color: rgba(255,255,255,0.4);
border-radius: 4px;
padding: 2px;
}
.ol-control:hover {
background-color: rgba(255,255,255,0.6);
}
.ol-zoom {
top: .5em;
left: .5em;
}
.ol-rotate {
top: .5em;
right: .5em;
transition: opacity .25s linear, visibility 0s linear;
}
.ol-rotate.ol-hidden {
opacity: 0;
visibility: hidden;
transition: opacity .25s linear, visibility 0s linear .25s;
}
.ol-zoom-extent {
top: 4.643em;
left: .5em;
}
.ol-full-screen {
right: .5em;
top: .5em;
}
@media print {
.ol-control {
display: none;
}
}
.ol-control button {
display: block;
margin: 1px;
padding: 0;
color: white;
font-size: 1.14em;
font-weight: bold;
text-decoration: none;
text-align: center;
height: 1.375em;
width: 1.375em;
line-height: .4em;
background-color: rgba(0,60,136,0.5);
border: none;
border-radius: 2px;
}
.ol-control button::-moz-focus-inner {
border: none;
padding: 0;
}
.ol-zoom-extent button {
line-height: 1.4em;
}
.ol-compass {
display: block;
font-weight: normal;
font-size: 1.2em;
will-change: transform;
}
.ol-touch .ol-control button {
font-size: 1.5em;
}
.ol-touch .ol-zoom-extent {
top: 5.5em;
}
.ol-control button:hover,
.ol-control button:focus {
text-decoration: none;
background-color: rgba(0,60,136,0.7);
}
.ol-zoom .ol-zoom-in {
border-radius: 2px 2px 0 0;
}
.ol-zoom .ol-zoom-out {
border-radius: 0 0 2px 2px;
}
.ol-attribution {
text-align: right;
bottom: .5em;
right: .5em;
max-width: calc(100% - 1.3em);
}
.ol-attribution ul {
margin: 0;
padding: 0 .5em;
font-size: .7rem;
line-height: 1.375em;
color: #000;
text-shadow: 0 0 2px #fff;
}
.ol-attribution li {
display: inline;
list-style: none;
line-height: inherit;
}
.ol-attribution li:not(:last-child):after {
content: " ";
}
.ol-attribution img {
max-height: 2em;
max-width: inherit;
vertical-align: middle;
}
.ol-attribution ul, .ol-attribution button {
display: inline-block;
}
.ol-attribution.ol-collapsed ul {
display: none;
}
.ol-attribution.ol-logo-only ul {
display: block;
}
.ol-attribution:not(.ol-collapsed) {
background: rgba(255,255,255,0.8);
}
.ol-attribution.ol-uncollapsible {
bottom: 0;
right: 0;
border-radius: 4px 0 0;
height: 1.1em;
line-height: 1em;
}
.ol-attribution.ol-logo-only {
background: transparent;
bottom: .4em;
height: 1.1em;
line-height: 1em;
}
.ol-attribution.ol-uncollapsible img {
margin-top: -.2em;
max-height: 1.6em;
}
.ol-attribution.ol-logo-only button,
.ol-attribution.ol-uncollapsible button {
display: none;
}
.ol-zoomslider {
top: 4.5em;
left: .5em;
height: 200px;
}
.ol-zoomslider button {
position: relative;
height: 10px;
}
.ol-touch .ol-zoomslider {
top: 5.5em;
}
.ol-overviewmap {
left: 0.5em;
bottom: 0.5em;
}
.ol-overviewmap.ol-uncollapsible {
bottom: 0;
left: 0;
border-radius: 0 4px 0 0;
}
.ol-overviewmap .ol-overviewmap-map,
.ol-overviewmap button {
display: inline-block;
}
.ol-overviewmap .ol-overviewmap-map {
border: 1px solid #7b98bc;
height: 150px;
margin: 2px;
width: 150px;
}
.ol-overviewmap:not(.ol-collapsed) button{
bottom: 1px;
left: 2px;
position: absolute;
}
.ol-overviewmap.ol-collapsed .ol-overviewmap-map,
.ol-overviewmap.ol-uncollapsible button {
display: none;
}
.ol-overviewmap:not(.ol-collapsed) {
background: rgba(255,255,255,0.8);
}
.ol-overviewmap-box {
border: 2px dotted rgba(0,60,136,0.7);
}

109180
dist/ol-debug.js vendored Normal file

File diff suppressed because it is too large Load Diff

1
dist/ol.css vendored Normal file
View File

@@ -0,0 +1 @@
.ol-control,.ol-scale-line{position:absolute;padding:2px}.ol-box{box-sizing:border-box;border-radius:2px;border:2px solid #00f}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:rgba(0,60,136,.3);border-radius:4px;bottom:8px;left:8px}.ol-scale-line-inner{border:1px solid #eee;border-top:none;color:#eee;font-size:10px;text-align:center;margin:1px;will-change:contents,width}.ol-overlay-container{will-change:left,right,top,bottom}.ol-unsupported{display:none}.ol-viewport .ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-control{background-color:rgba(255,255,255,.4);border-radius:4px}.ol-control:hover{background-color:rgba(255,255,255,.6)}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}@media print{.ol-control{display:none}}.ol-control button{display:block;margin:1px;padding:0;color:#fff;font-size:1.14em;font-weight:700;text-decoration:none;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:rgba(0,60,136,.5);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;font-size:1.2em;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{text-decoration:none;background-color:rgba(0,60,136,.7)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em)}.ol-attribution ul{margin:0;padding:0 .5em;font-size:.7rem;line-height:1.375em;color:#000;text-shadow:0 0 2px #fff}.ol-attribution li{display:inline;list-style:none;line-height:inherit}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button,.ol-attribution ul{display:inline-block}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution.ol-logo-only ul{display:block}.ol-attribution:not(.ol-collapsed){background:rgba(255,255,255,.8)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0;height:1.1em;line-height:1em}.ol-attribution.ol-logo-only{background:0 0;bottom:.4em;height:1.1em;line-height:1em}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-logo-only button,.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:inline-block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #7b98bc;height:150px;margin:2px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:1px;left:2px;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:rgba(255,255,255,.8)}.ol-overviewmap-box{border:2px dotted rgba(0,60,136,.7)}

990
dist/ol.js vendored Normal file
View File

@@ -0,0 +1,990 @@
// OpenLayers 3. See http://openlayers.org/
// License: https://raw.githubusercontent.com/openlayers/ol3/master/LICENSE.md
// Version: v3.16.0-192-g5d8b99a
(function (root, factory) {
if (typeof exports === "object") {
module.exports = factory();
} else if (typeof define === "function" && define.amd) {
define([], factory);
} else {
root.ol = factory();
}
}(this, function () {
var OPENLAYERS = {};
var k,aa=this;function ca(a){a.$b=function(){return a.Tg?a.Tg:a.Tg=new a}}
function da(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function ea(a){return"string"==typeof a}function fa(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}function t(a){return a[ga]||(a[ga]=++ha)}var ga="closure_uid_"+(1E9*Math.random()>>>0),ha=0;function ia(a,b,c){return a.call.apply(a.bind,arguments)}
function ja(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function ka(a,b,c){ka=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ia:ja;return ka.apply(null,arguments)}
function u(a,b){var c=a.split("."),d=OPENLAYERS||aa;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d[e]?d=d[e]:d=d[e]={}:d[e]=b};var la,na;function x(a,b){a.prototype=Object.create(b.prototype);a.prototype.constructor=a}function oa(){}var pa=Function("return this")();var qa=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};function ra(a,b){return a<b?-1:a>b?1:0};function sa(a,b,c){return Math.min(Math.max(a,b),c)}var ta=function(){var a;"cosh"in Math?a=Math.cosh:a=function(a){a=Math.exp(a);return(a+1/a)/2};return a}();function ua(a,b,c,d,e,f){var g=e-c,h=f-d;if(0!==g||0!==h){var l=((a-c)*g+(b-d)*h)/(g*g+h*h);1<l?(c=e,d=f):0<l&&(c+=g*l,d+=h*l)}return va(a,b,c,d)}function va(a,b,c,d){a=c-a;b=d-b;return a*a+b*b}function wa(a){return a*Math.PI/180}function xa(a,b){var c=a%b;return 0>c*b?c+b:c}function ya(a,b,c){return a+c*(b-a)};function za(a){return function(b){if(b)return[sa(b[0],a[0],a[2]),sa(b[1],a[1],a[3])]}}function Aa(a){return a};function Ba(a,b,c){this.center=a;this.resolution=b;this.rotation=c};var Ca="function"===typeof Object.assign?Object.assign:function(a,b){if(!a||!a)throw new TypeError("Cannot convert undefined or null to object");for(var c=Object(a),d=1,e=arguments.length;d<e;++d){var f=arguments[d];if(void 0!==f&&null!==f)for(var g in f)f.hasOwnProperty(g)&&(c[g]=f[g])}return c};function Da(a){for(var b in a)delete a[b]}function Ea(a){var b=[],c;for(c in a)b.push(a[c]);return b}function Ga(a){for(var b in a)return!1;return!b};var Ha="olm_"+(1E4*Math.random()|0);function Ia(a){function b(b){var d=a.listener,e=a.ng||a.target;a.pg&&Ka(a);return d.call(e,b)}return a.og=b}function La(a,b,c,d){for(var e,f=0,g=a.length;f<g;++f)if(e=a[f],e.listener===b&&e.ng===c)return d&&(e.deleteIndex=f),e}function Ma(a,b){var c=a[Ha];return c?c[b]:void 0}function Na(a){var b=a[Ha];b||(b=a[Ha]={});return b}
function Oa(a,b){var c=Ma(a,b);if(c){for(var d=0,e=c.length;d<e;++d)a.removeEventListener(b,c[d].og),Da(c[d]);c.length=0;if(c=a[Ha])delete c[b],0===Object.keys(c).length&&delete a[Ha]}}function B(a,b,c,d,e){var f=Na(a),g=f[b];g||(g=f[b]=[]);(f=La(g,c,d,!1))?e||(f.pg=!1):(f={ng:d,pg:!!e,listener:c,target:a,type:b},a.addEventListener(b,Ia(f)),g.push(f));return f}function Pa(a,b,c,d){return B(a,b,c,d,!0)}function Qa(a,b,c,d){(a=Ma(a,b))&&(c=La(a,c,d,!0))&&Ka(c)}
function Ka(a){if(a&&a.target){a.target.removeEventListener(a.type,a.og);var b=Ma(a.target,a.type);if(b){var c="deleteIndex"in a?a.deleteIndex:b.indexOf(a);-1!==c&&b.splice(c,1);0===b.length&&Oa(a.target,a.type)}Da(a)}}function Ra(a){var b=Na(a),c;for(c in b)Oa(a,c)};function Sa(){}Sa.prototype.Hb=!1;function Ta(a){a.Hb||(a.Hb=!0,a.ka())}Sa.prototype.ka=oa;function Ua(a){this.type=a;this.target=null}Ua.prototype.preventDefault=Ua.prototype.stopPropagation=function(){this.to=!0};function Va(a){a.stopPropagation()}function Wa(a){a.preventDefault()};function Xa(){this.Ra={};this.Aa={};this.ya={}}x(Xa,Sa);Xa.prototype.addEventListener=function(a,b){var c=this.ya[a];c||(c=this.ya[a]=[]);-1===c.indexOf(b)&&c.push(b)};
Xa.prototype.b=function(a){var b="string"===typeof a?new Ua(a):a;a=b.type;b.target=this;var c=this.ya[a],d;if(c){a in this.Aa||(this.Aa[a]=0,this.Ra[a]=0);++this.Aa[a];for(var e=0,f=c.length;e<f;++e)if(!1===c[e].call(this,b)||b.to){d=!1;break}--this.Aa[a];if(0===this.Aa[a]){b=this.Ra[a];for(delete this.Ra[a];b--;)this.removeEventListener(a,oa);delete this.Aa[a]}return d}};Xa.prototype.ka=function(){Ra(this)};function Ya(a,b){return b?b in a.ya:0<Object.keys(a.ya).length}
Xa.prototype.removeEventListener=function(a,b){var c=this.ya[a];if(c){var d=c.indexOf(b);a in this.Ra?(c[d]=oa,++this.Ra[a]):(c.splice(d,1),0===c.length&&delete this.ya[a])}};function Za(){Xa.call(this);this.g=0}x(Za,Xa);function $a(a){if(Array.isArray(a))for(var b=0,c=a.length;b<c;++b)Ka(a[b]);else Ka(a)}k=Za.prototype;k.u=function(){++this.g;this.b("change")};k.K=function(){return this.g};k.I=function(a,b,c){if(Array.isArray(a)){for(var d=a.length,e=Array(d),f=0;f<d;++f)e[f]=B(this,a[f],b,c);return e}return B(this,a,b,c)};k.L=function(a,b,c){if(Array.isArray(a)){for(var d=a.length,e=Array(d),f=0;f<d;++f)e[f]=Pa(this,a[f],b,c);return e}return Pa(this,a,b,c)};
k.J=function(a,b,c){if(Array.isArray(a))for(var d=0,e=a.length;d<e;++d)Qa(this,a[d],b,c);else Qa(this,a,b,c)};k.M=$a;function ab(a,b,c){Ua.call(this,a);this.key=b;this.oldValue=c}x(ab,Ua);function bb(a){Za.call(this);t(this);this.U={};void 0!==a&&this.G(a)}x(bb,Za);var cb={};function db(a){return cb.hasOwnProperty(a)?cb[a]:cb[a]="change:"+a}k=bb.prototype;k.get=function(a){var b;this.U.hasOwnProperty(a)&&(b=this.U[a]);return b};k.N=function(){return Object.keys(this.U)};k.O=function(){return Ca({},this.U)};function eb(a,b,c){var d;d=db(b);a.b(new ab(d,b,c));a.b(new ab("propertychange",b,c))}
k.set=function(a,b,c){c?this.U[a]=b:(c=this.U[a],this.U[a]=b,c!==b&&eb(this,a,c))};k.G=function(a,b){for(var c in a)this.set(c,a[c],b)};k.R=function(a,b){if(a in this.U){var c=this.U[a];delete this.U[a];b||eb(this,a,c)}};function fb(a,b){return a>b?1:a<b?-1:0}function gb(a,b){return 0<=a.indexOf(b)}function hb(a,b,c){var d=a.length;if(a[0]<=b)return 0;if(!(b<=a[d-1]))if(0<c)for(c=1;c<d;++c){if(a[c]<b)return c-1}else if(0>c)for(c=1;c<d;++c){if(a[c]<=b)return c}else for(c=1;c<d;++c){if(a[c]==b)return c;if(a[c]<b)return a[c-1]-b<b-a[c]?c-1:c}return d-1}function ib(a){return a.reduce(function(a,c){return Array.isArray(c)?a.concat(ib(c)):a.concat(c)},[])}
function jb(a,b){var c;c=da(b);var d="array"==c||"object"==c&&"number"==typeof b.length?b:[b],e=d.length;for(c=0;c<e;c++)a[a.length]=d[c]}function kb(a,b){var c=a.indexOf(b),d=-1<c;d&&a.splice(c,1);return d}function lb(a,b){for(var c=a.length>>>0,d,e=0;e<c;e++)if(d=a[e],b(d,e,a))return d;return null}function mb(a,b){var c=a.length;if(c!==b.length)return!1;for(var d=0;d<c;d++)if(a[d]!==b[d])return!1;return!0}
function nb(a){var b=ob,c=a.length,d=Array(a.length),e;for(e=0;e<c;e++)d[e]={index:e,value:a[e]};d.sort(function(a,c){return b(a.value,c.value)||a.index-c.index});for(e=0;e<a.length;e++)a[e]=d[e].value}function pb(a,b){var c;return a.every(function(d,e){c=e;return!b(d,e,a)})?-1:c};function qb(a){return function(b,c,d){if(void 0!==b)return b=hb(a,b,d),b=sa(b+c,0,a.length-1),a[b]}}function rb(a,b,c){return function(d,e,f){if(void 0!==d)return d=Math.max(Math.floor(Math.log(b/d)/Math.log(a)+(0<f?0:0>f?1:.5))+e,0),void 0!==c&&(d=Math.min(d,c)),b/Math.pow(a,d)}};function sb(a){if(void 0!==a)return 0}function tb(a,b){if(void 0!==a)return a+b}function ub(a){var b=2*Math.PI/a;return function(a,d){if(void 0!==a)return a=Math.floor((a+d)/b+.5)*b}}function vb(){var a=wa(5);return function(b,c){if(void 0!==b)return Math.abs(b+c)<=a?0:b+c}};function wb(a,b){var c=void 0!==b?a.toFixed(b):""+a,d=c.indexOf("."),d=-1===d?c.length:d;return 2<d?c:Array(3-d).join("0")+c}function xb(a){a=(""+a).split(".");for(var b=["1","3"],c=0;c<Math.max(a.length,b.length);c++){var d=parseInt(a[c]||"0",10),e=parseInt(b[c]||"0",10);if(d>e)return 1;if(e>d)return-1}return 0};function yb(a,b){a[0]+=b[0];a[1]+=b[1];return a}function zb(a,b){var c=a[0],d=a[1],e=b[0],f=b[1],g=e[0],e=e[1],h=f[0],f=f[1],l=h-g,m=f-e,c=0===l&&0===m?0:(l*(c-g)+m*(d-e))/(l*l+m*m||0);0>=c||(1<=c?(g=h,e=f):(g+=c*l,e+=c*m));return[g,e]}function Ab(a,b,c){a=xa(a+180,360)-180;var d=Math.abs(3600*a);return Math.floor(d/3600)+"\u00b0 "+wb(Math.floor(d/60%60))+"\u2032 "+wb(d%60,c||0)+"\u2033 "+b.charAt(0>a?1:0)}
function Bb(a,b,c){return a?b.replace("{x}",a[0].toFixed(c)).replace("{y}",a[1].toFixed(c)):""}function Cb(a,b){for(var c=!0,d=a.length-1;0<=d;--d)if(a[d]!=b[d]){c=!1;break}return c}function Db(a,b){var c=Math.cos(b),d=Math.sin(b),e=a[1]*c+a[0]*d;a[0]=a[0]*c-a[1]*d;a[1]=e;return a}function Eb(a,b){var c=a[0]-b[0],d=a[1]-b[1];return c*c+d*d}function Fb(a,b){return Eb(a,zb(a,b))}function Gb(a,b){return Bb(a,"{x}, {y}",b)};function Ib(a){for(var b=Jb(),c=0,d=a.length;c<d;++c)Lb(b,a[c]);return b}function Mb(a,b,c){return c?(c[0]=a[0]-b,c[1]=a[1]-b,c[2]=a[2]+b,c[3]=a[3]+b,c):[a[0]-b,a[1]-b,a[2]+b,a[3]+b]}function Ob(a,b){return b?(b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]=a[3],b):a.slice()}function Pb(a,b,c){b=b<a[0]?a[0]-b:a[2]<b?b-a[2]:0;a=c<a[1]?a[1]-c:a[3]<c?c-a[3]:0;return b*b+a*a}function Qb(a,b){return Rb(a,b[0],b[1])}function Sb(a,b){return a[0]<=b[0]&&b[2]<=a[2]&&a[1]<=b[1]&&b[3]<=a[3]}
function Rb(a,b,c){return a[0]<=b&&b<=a[2]&&a[1]<=c&&c<=a[3]}function Tb(a,b){var c=a[1],d=a[2],e=a[3],f=b[0],g=b[1],h=0;f<a[0]?h|=16:f>d&&(h|=4);g<c?h|=8:g>e&&(h|=2);0===h&&(h=1);return h}function Jb(){return[Infinity,Infinity,-Infinity,-Infinity]}function Vb(a,b,c,d,e){return e?(e[0]=a,e[1]=b,e[2]=c,e[3]=d,e):[a,b,c,d]}function Wb(a,b){var c=a[0],d=a[1];return Vb(c,d,c,d,b)}function Yb(a,b,c,d,e){e=Vb(Infinity,Infinity,-Infinity,-Infinity,e);return Zb(e,a,b,c,d)}
function $b(a,b){return a[0]==b[0]&&a[2]==b[2]&&a[1]==b[1]&&a[3]==b[3]}function ac(a,b){b[0]<a[0]&&(a[0]=b[0]);b[2]>a[2]&&(a[2]=b[2]);b[1]<a[1]&&(a[1]=b[1]);b[3]>a[3]&&(a[3]=b[3]);return a}function Lb(a,b){b[0]<a[0]&&(a[0]=b[0]);b[0]>a[2]&&(a[2]=b[0]);b[1]<a[1]&&(a[1]=b[1]);b[1]>a[3]&&(a[3]=b[1])}function Zb(a,b,c,d,e){for(;c<d;c+=e){var f=a,g=b[c],h=b[c+1];f[0]=Math.min(f[0],g);f[1]=Math.min(f[1],h);f[2]=Math.max(f[2],g);f[3]=Math.max(f[3],h)}return a}
function bc(a,b,c){var d;return(d=b.call(c,cc(a)))||(d=b.call(c,dc(a)))||(d=b.call(c,ec(a)))?d:(d=b.call(c,fc(a)))?d:!1}function hc(a){var b=0;ic(a)||(b=jc(a)*kc(a));return b}function cc(a){return[a[0],a[1]]}function dc(a){return[a[2],a[1]]}function lc(a){return[(a[0]+a[2])/2,(a[1]+a[3])/2]}
function mc(a,b,c,d,e){var f=b*d[0]/2;d=b*d[1]/2;b=Math.cos(c);var g=Math.sin(c);c=f*b;f*=g;b*=d;var h=d*g,l=a[0],m=a[1];a=l-c+h;d=l-c-h;g=l+c-h;c=l+c+h;var h=m-f-b,l=m-f+b,n=m+f+b,f=m+f-b;return Vb(Math.min(a,d,g,c),Math.min(h,l,n,f),Math.max(a,d,g,c),Math.max(h,l,n,f),e)}function kc(a){return a[3]-a[1]}function nc(a,b,c){c=c?c:Jb();oc(a,b)&&(c[0]=a[0]>b[0]?a[0]:b[0],c[1]=a[1]>b[1]?a[1]:b[1],c[2]=a[2]<b[2]?a[2]:b[2],c[3]=a[3]<b[3]?a[3]:b[3]);return c}function fc(a){return[a[0],a[3]]}
function ec(a){return[a[2],a[3]]}function jc(a){return a[2]-a[0]}function oc(a,b){return a[0]<=b[2]&&a[2]>=b[0]&&a[1]<=b[3]&&a[3]>=b[1]}function ic(a){return a[2]<a[0]||a[3]<a[1]}function pc(a,b){var c=(a[2]-a[0])/2*(b-1),d=(a[3]-a[1])/2*(b-1);a[0]-=c;a[2]+=c;a[1]-=d;a[3]+=d}
function qc(a,b,c){a=[a[0],a[1],a[0],a[3],a[2],a[1],a[2],a[3]];b(a,a,2);var d=[a[0],a[2],a[4],a[6]],e=[a[1],a[3],a[5],a[7]];b=Math.min.apply(null,d);a=Math.min.apply(null,e);d=Math.max.apply(null,d);e=Math.max.apply(null,e);return Vb(b,a,d,e,c)};function rc(){return!0}function sc(){return!1};/*
Latitude/longitude spherical geodesy formulae taken from
http://www.movable-type.co.uk/scripts/latlong.html
Licensed under CC-BY-3.0.
*/
function tc(a){this.radius=a}tc.prototype.a=function(a){for(var b=0,c=a.length,d=a[c-1][0],e=a[c-1][1],f=0;f<c;f++)var g=a[f][0],h=a[f][1],b=b+wa(g-d)*(2+Math.sin(wa(e))+Math.sin(wa(h))),d=g,e=h;return b*this.radius*this.radius/2};tc.prototype.b=function(a,b){var c=wa(a[1]),d=wa(b[1]),e=(d-c)/2,f=wa(b[0]-a[0])/2,c=Math.sin(e)*Math.sin(e)+Math.sin(f)*Math.sin(f)*Math.cos(c)*Math.cos(d);return 2*this.radius*Math.atan2(Math.sqrt(c),Math.sqrt(1-c))};
tc.prototype.offset=function(a,b,c){var d=wa(a[1]);b/=this.radius;var e=Math.asin(Math.sin(d)*Math.cos(b)+Math.cos(d)*Math.sin(b)*Math.cos(c));return[180*(wa(a[0])+Math.atan2(Math.sin(c)*Math.sin(b)*Math.cos(d),Math.cos(b)-Math.sin(d)*Math.sin(e)))/Math.PI,180*e/Math.PI]};var uc=new tc(6370997);var vc={};vc.degrees=2*Math.PI*uc.radius/360;vc.ft=.3048;vc.m=1;vc["us-ft"]=1200/3937;
function wc(a){this.eb=a.code;this.c=a.units;this.f=void 0!==a.extent?a.extent:null;this.i=void 0!==a.worldExtent?a.worldExtent:null;this.b=void 0!==a.axisOrientation?a.axisOrientation:"enu";this.g=void 0!==a.global?a.global:!1;this.a=!(!this.g||!this.f);this.o=void 0!==a.getPointResolution?a.getPointResolution:this.sk;this.l=null;this.j=a.metersPerUnit;var b=xc,c=a.code,d=yc||pa.proj4;if("function"==typeof d&&void 0===b[c]){var e=d.defs(c);if(void 0!==e){void 0!==e.axis&&void 0===a.axisOrientation&&
(this.b=e.axis);void 0===a.metersPerUnit&&(this.j=e.to_meter);void 0===a.units&&(this.c=e.units);for(var f in b)b=d.defs(f),void 0!==b&&(a=zc(f),b===e?Ac([a,this]):(b=d(f,c),Bc(a,this,b.forward,b.inverse)))}}}k=wc.prototype;k.Sj=function(){return this.eb};k.H=function(){return this.f};k.xb=function(){return this.c};k.ac=function(){return this.j||vc[this.c]};k.Ek=function(){return this.i};k.pl=function(){return this.g};k.ep=function(a){this.g=a;this.a=!(!a||!this.f)};
k.Mm=function(a){this.f=a;this.a=!(!this.g||!a)};k.mp=function(a){this.i=a};k.cp=function(a){this.o=a};k.sk=function(a,b){if("degrees"==this.xb())return a;var c=Cc(this,zc("EPSG:4326")),d=[b[0]-a/2,b[1],b[0]+a/2,b[1],b[0],b[1]-a/2,b[0],b[1]+a/2],d=c(d,d,2),c=uc.b(d.slice(0,2),d.slice(2,4)),d=uc.b(d.slice(4,6),d.slice(6,8)),d=(c+d)/2,c=this.ac();void 0!==c&&(d/=c);return d};k.getPointResolution=function(a,b){return this.o(a,b)};var xc={},Dc={},yc=null;
function Ac(a){Ec(a);a.forEach(function(b){a.forEach(function(a){b!==a&&Fc(b,a,Gc)})})}function Hc(){var a=Ic,b=Jc,c=Kc;Lc.forEach(function(d){a.forEach(function(a){Fc(d,a,b);Fc(a,d,c)})})}function Mc(a){xc[a.eb]=a;Fc(a,a,Gc)}function Ec(a){var b=[];a.forEach(function(a){b.push(Mc(a))})}function Nc(a){return a?"string"===typeof a?zc(a):a:zc("EPSG:3857")}function Fc(a,b,c){a=a.eb;b=b.eb;a in Dc||(Dc[a]={});Dc[a][b]=c}function Bc(a,b,c,d){a=zc(a);b=zc(b);Fc(a,b,Oc(c));Fc(b,a,Oc(d))}
function Oc(a){return function(b,c,d){var e=b.length;d=void 0!==d?d:2;c=void 0!==c?c:Array(e);var f,g;for(g=0;g<e;g+=d)for(f=a([b[g],b[g+1]]),c[g]=f[0],c[g+1]=f[1],f=d-1;2<=f;--f)c[g+f]=b[g+f];return c}}function zc(a){var b;if(a instanceof wc)b=a;else if("string"===typeof a){b=xc[a];var c=yc||pa.proj4;void 0===b&&"function"==typeof c&&void 0!==c.defs(a)&&(b=new wc({code:a}),Mc(b))}else b=null;return b}function Pc(a,b){if(a===b)return!0;var c=a.xb()===b.xb();return a.eb===b.eb?c:Cc(a,b)===Gc&&c}
function Qc(a,b){var c=zc(a),d=zc(b);return Cc(c,d)}function Cc(a,b){var c=a.eb,d=b.eb,e;c in Dc&&d in Dc[c]&&(e=Dc[c][d]);void 0===e&&(e=Rc);return e}function Rc(a,b){if(void 0!==b&&a!==b){for(var c=0,d=a.length;c<d;++c)b[c]=a[c];a=b}return a}function Gc(a,b){var c;if(void 0!==b){c=0;for(var d=a.length;c<d;++c)b[c]=a[c];c=b}else c=a.slice();return c}function Sc(a,b,c){return Qc(b,c)(a,void 0,a.length)}function Tc(a,b,c){b=Qc(b,c);return qc(a,b)};function Uc(){bb.call(this);this.v=Jb();this.A=-1;this.l={};this.s=this.o=0}x(Uc,bb);k=Uc.prototype;k.wb=function(a,b){var c=b?b:[NaN,NaN];this.tb(a[0],a[1],c,Infinity);return c};k.sg=function(a){return this.Bc(a[0],a[1])};k.Bc=sc;k.H=function(a){this.A!=this.g&&(this.v=this.Od(this.v),this.A=this.g);var b=this.v;a?(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3]):a=b;return a};k.Cb=function(a){return this.od(a*a)};k.kb=function(a,b){this.rc(Qc(a,b));return this};function Vc(a,b,c,d,e,f){for(var g=f?f:[],h=0;b<c;b+=d){var l=a[b],m=a[b+1];g[h++]=e[0]*l+e[2]*m+e[4];g[h++]=e[1]*l+e[3]*m+e[5]}f&&g.length!=h&&(g.length=h);return g};function Wc(){Uc.call(this);this.f="XY";this.a=2;this.B=null}x(Wc,Uc);function Xc(a){if("XY"==a)return 2;if("XYZ"==a||"XYM"==a)return 3;if("XYZM"==a)return 4}k=Wc.prototype;k.Bc=sc;k.Od=function(a){return Yb(this.B,0,this.B.length,this.a,a)};k.Ib=function(){return this.B.slice(0,this.a)};k.la=function(){return this.B};k.Jb=function(){return this.B.slice(this.B.length-this.a)};k.Kb=function(){return this.f};
k.od=function(a){this.s!=this.g&&(Da(this.l),this.o=0,this.s=this.g);if(0>a||0!==this.o&&a<=this.o)return this;var b=a.toString();if(this.l.hasOwnProperty(b))return this.l[b];var c=this.Nc(a);if(c.la().length<this.B.length)return this.l[b]=c;this.o=a;return this};k.Nc=function(){return this};k.va=function(){return this.a};function Yc(a,b,c){a.a=Xc(b);a.f=b;a.B=c}
function Zc(a,b,c,d){if(b)c=Xc(b);else{for(b=0;b<d;++b){if(0===c.length){a.f="XY";a.a=2;return}c=c[0]}c=c.length;b=2==c?"XY":3==c?"XYZ":4==c?"XYZM":void 0}a.f=b;a.a=c}k.rc=function(a){this.B&&(a(this.B,this.B,this.a),this.u())};k.rotate=function(a,b){var c=this.la();if(c){for(var d=c.length,e=this.va(),f=c?c:[],g=Math.cos(a),h=Math.sin(a),l=b[0],m=b[1],n=0,p=0;p<d;p+=e){var q=c[p]-l,r=c[p+1]-m;f[n++]=l+q*g-r*h;f[n++]=m+q*h+r*g;for(q=p+2;q<p+e;++q)f[n++]=c[q]}c&&f.length!=n&&(f.length=n);this.u()}};
k.Sc=function(a,b){var c=this.la();if(c){var d=c.length,e=this.va(),f=c?c:[],g=0,h,l;for(h=0;h<d;h+=e)for(f[g++]=c[h]+a,f[g++]=c[h+1]+b,l=h+2;l<h+e;++l)f[g++]=c[l];c&&f.length!=g&&(f.length=g);this.u()}};function $c(a,b,c,d){for(var e=0,f=a[c-d],g=a[c-d+1];b<c;b+=d)var h=a[b],l=a[b+1],e=e+(g*h-f*l),f=h,g=l;return e/2}function ad(a,b,c,d){var e=0,f,g;f=0;for(g=c.length;f<g;++f){var h=c[f],e=e+$c(a,b,h,d);b=h}return e};function bd(a,b,c,d,e,f,g){var h=a[b],l=a[b+1],m=a[c]-h,n=a[c+1]-l;if(0!==m||0!==n)if(f=((e-h)*m+(f-l)*n)/(m*m+n*n),1<f)b=c;else if(0<f){for(e=0;e<d;++e)g[e]=ya(a[b+e],a[c+e],f);g.length=d;return}for(e=0;e<d;++e)g[e]=a[b+e];g.length=d}function cd(a,b,c,d,e){var f=a[b],g=a[b+1];for(b+=d;b<c;b+=d){var h=a[b],l=a[b+1],f=va(f,g,h,l);f>e&&(e=f);f=h;g=l}return e}function dd(a,b,c,d,e){var f,g;f=0;for(g=c.length;f<g;++f){var h=c[f];e=cd(a,b,h,d,e);b=h}return e}
function ed(a,b,c,d,e,f,g,h,l,m,n){if(b==c)return m;var p;if(0===e){p=va(g,h,a[b],a[b+1]);if(p<m){for(n=0;n<d;++n)l[n]=a[b+n];l.length=d;return p}return m}for(var q=n?n:[NaN,NaN],r=b+d;r<c;)if(bd(a,r-d,r,d,g,h,q),p=va(g,h,q[0],q[1]),p<m){m=p;for(n=0;n<d;++n)l[n]=q[n];l.length=d;r+=d}else r+=d*Math.max((Math.sqrt(p)-Math.sqrt(m))/e|0,1);if(f&&(bd(a,c-d,b,d,g,h,q),p=va(g,h,q[0],q[1]),p<m)){m=p;for(n=0;n<d;++n)l[n]=q[n];l.length=d}return m}
function fd(a,b,c,d,e,f,g,h,l,m,n){n=n?n:[NaN,NaN];var p,q;p=0;for(q=c.length;p<q;++p){var r=c[p];m=ed(a,b,r,d,e,f,g,h,l,m,n);b=r}return m};function gd(a,b){var c=0,d,e;d=0;for(e=b.length;d<e;++d)a[c++]=b[d];return c}function hd(a,b,c,d){var e,f;e=0;for(f=c.length;e<f;++e){var g=c[e],h;for(h=0;h<d;++h)a[b++]=g[h]}return b}function id(a,b,c,d,e){e=e?e:[];var f=0,g,h;g=0;for(h=c.length;g<h;++g)b=hd(a,b,c[g],d),e[f++]=b;e.length=f;return e};function jd(a,b,c,d,e){e=void 0!==e?e:[];for(var f=0;b<c;b+=d)e[f++]=a.slice(b,b+d);e.length=f;return e}function kd(a,b,c,d,e){e=void 0!==e?e:[];var f=0,g,h;g=0;for(h=c.length;g<h;++g){var l=c[g];e[f++]=jd(a,b,l,d,e[f]);b=l}e.length=f;return e};function ld(a,b,c,d,e,f,g){var h=(c-b)/d;if(3>h){for(;b<c;b+=d)f[g++]=a[b],f[g++]=a[b+1];return g}var l=Array(h);l[0]=1;l[h-1]=1;c=[b,c-d];for(var m=0,n;0<c.length;){var p=c.pop(),q=c.pop(),r=0,v=a[q],y=a[q+1],w=a[p],G=a[p+1];for(n=q+d;n<p;n+=d){var z=ua(a[n],a[n+1],v,y,w,G);z>r&&(m=n,r=z)}r>e&&(l[(m-b)/d]=1,q+d<m&&c.push(q,m),m+d<p&&c.push(m,p))}for(n=0;n<h;++n)l[n]&&(f[g++]=a[b+n*d],f[g++]=a[b+n*d+1]);return g}
function md(a,b,c,d,e,f,g,h){var l,m;l=0;for(m=c.length;l<m;++l){var n=c[l];a:{var p=a,q=n,r=d,v=e,y=f;if(b!=q){var w=v*Math.round(p[b]/v),G=v*Math.round(p[b+1]/v);b+=r;y[g++]=w;y[g++]=G;var z,D;do if(z=v*Math.round(p[b]/v),D=v*Math.round(p[b+1]/v),b+=r,b==q){y[g++]=z;y[g++]=D;break a}while(z==w&&D==G);for(;b<q;){var H,ba;H=v*Math.round(p[b]/v);ba=v*Math.round(p[b+1]/v);b+=r;if(H!=z||ba!=D){var A=z-w,Fa=D-G,Ja=H-w,M=ba-G;A*M==Fa*Ja&&(0>A&&Ja<A||A==Ja||0<A&&Ja>A)&&(0>Fa&&M<Fa||Fa==M||0<Fa&&M>Fa)||
(y[g++]=z,y[g++]=D,w=z,G=D);z=H;D=ba}}y[g++]=z;y[g++]=D}}h.push(g);b=n}return g};function nd(a,b){Wc.call(this);this.i=this.j=-1;this.ra(a,b)}x(nd,Wc);k=nd.prototype;k.clone=function(){var a=new nd(null);od(a,this.f,this.B.slice());return a};k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;this.i!=this.g&&(this.j=Math.sqrt(cd(this.B,0,this.B.length,this.a,0)),this.i=this.g);return ed(this.B,0,this.B.length,this.a,this.j,!0,a,b,c,d)};k.nm=function(){return $c(this.B,0,this.B.length,this.a)};k.Z=function(){return jd(this.B,0,this.B.length,this.a)};
k.Nc=function(a){var b=[];b.length=ld(this.B,0,this.B.length,this.a,a,b,0);a=new nd(null);od(a,"XY",b);return a};k.Y=function(){return"LinearRing"};k.ra=function(a,b){a?(Zc(this,b,a,1),this.B||(this.B=[]),this.B.length=hd(this.B,0,a,this.a),this.u()):od(this,"XY",null)};function od(a,b,c){Yc(a,b,c);a.u()};function C(a,b){Wc.call(this);this.ra(a,b)}x(C,Wc);k=C.prototype;k.clone=function(){var a=new C(null);a.ba(this.f,this.B.slice());return a};k.tb=function(a,b,c,d){var e=this.B;a=va(a,b,e[0],e[1]);if(a<d){d=this.a;for(b=0;b<d;++b)c[b]=e[b];c.length=d;return a}return d};k.Z=function(){return this.B?this.B.slice():[]};k.Od=function(a){return Wb(this.B,a)};k.Y=function(){return"Point"};k.Ka=function(a){return Rb(a,this.B[0],this.B[1])};
k.ra=function(a,b){a?(Zc(this,b,a,0),this.B||(this.B=[]),this.B.length=gd(this.B,a),this.u()):this.ba("XY",null)};k.ba=function(a,b){Yc(this,a,b);this.u()};function pd(a,b,c,d,e){return!bc(e,function(e){return!qd(a,b,c,d,e[0],e[1])})}function qd(a,b,c,d,e,f){for(var g=!1,h=a[c-d],l=a[c-d+1];b<c;b+=d){var m=a[b],n=a[b+1];l>f!=n>f&&e<(m-h)*(f-l)/(n-l)+h&&(g=!g);h=m;l=n}return g}function rd(a,b,c,d,e,f){if(0===c.length||!qd(a,b,c[0],d,e,f))return!1;var g;b=1;for(g=c.length;b<g;++b)if(qd(a,c[b-1],c[b],d,e,f))return!1;return!0};function sd(a,b,c,d,e,f,g){var h,l,m,n,p,q=e[f+1],r=[],v=c[0];m=a[v-d];p=a[v-d+1];for(h=b;h<v;h+=d){n=a[h];l=a[h+1];if(q<=p&&l<=q||p<=q&&q<=l)m=(q-p)/(l-p)*(n-m)+m,r.push(m);m=n;p=l}v=NaN;p=-Infinity;r.sort(fb);m=r[0];h=1;for(l=r.length;h<l;++h){n=r[h];var y=Math.abs(n-m);y>p&&(m=(m+n)/2,rd(a,b,c,d,m,q)&&(v=m,p=y));m=n}isNaN(v)&&(v=e[f]);return g?(g.push(v,q),g):[v,q]};function td(a,b,c,d,e,f){for(var g=[a[b],a[b+1]],h=[],l;b+d<c;b+=d){h[0]=a[b+d];h[1]=a[b+d+1];if(l=e.call(f,g,h))return l;g[0]=h[0];g[1]=h[1]}return!1};function ud(a,b,c,d,e){var f=Zb(Jb(),a,b,c,d);return oc(e,f)?Sb(e,f)||f[0]>=e[0]&&f[2]<=e[2]||f[1]>=e[1]&&f[3]<=e[3]?!0:td(a,b,c,d,function(a,b){var c=!1,d=Tb(e,a),f=Tb(e,b);if(1===d||1===f)c=!0;else{var p=e[0],q=e[1],r=e[2],v=e[3],y=b[0],w=b[1],G=(w-a[1])/(y-a[0]);f&2&&!(d&2)&&(c=y-(w-v)/G,c=c>=p&&c<=r);c||!(f&4)||d&4||(c=w-(y-r)*G,c=c>=q&&c<=v);c||!(f&8)||d&8||(c=y-(w-q)/G,c=c>=p&&c<=r);c||!(f&16)||d&16||(c=w-(y-p)*G,c=c>=q&&c<=v)}return c}):!1}
function vd(a,b,c,d,e){var f=c[0];if(!(ud(a,b,f,d,e)||qd(a,b,f,d,e[0],e[1])||qd(a,b,f,d,e[0],e[3])||qd(a,b,f,d,e[2],e[1])||qd(a,b,f,d,e[2],e[3])))return!1;if(1===c.length)return!0;b=1;for(f=c.length;b<f;++b)if(pd(a,c[b-1],c[b],d,e))return!1;return!0};function wd(a,b,c,d){for(var e=0,f=a[c-d],g=a[c-d+1];b<c;b+=d)var h=a[b],l=a[b+1],e=e+(h-f)*(l+g),f=h,g=l;return 0<e}function xd(a,b,c,d){var e=0;d=void 0!==d?d:!1;var f,g;f=0;for(g=b.length;f<g;++f){var h=b[f],e=wd(a,e,h,c);if(0===f){if(d&&e||!d&&!e)return!1}else if(d&&!e||!d&&e)return!1;e=h}return!0}
function yd(a,b,c,d,e){e=void 0!==e?e:!1;var f,g;f=0;for(g=c.length;f<g;++f){var h=c[f],l=wd(a,b,h,d);if(0===f?e&&l||!e&&!l:e&&!l||!e&&l)for(var l=a,m=h,n=d;b<m-n;){var p;for(p=0;p<n;++p){var q=l[b+p];l[b+p]=l[m-n+p];l[m-n+p]=q}b+=n;m-=n}b=h}return b}function zd(a,b,c,d){var e=0,f,g;f=0;for(g=b.length;f<g;++f)e=yd(a,e,b[f],c,d);return e};function E(a,b){Wc.call(this);this.i=[];this.D=-1;this.C=null;this.T=this.S=this.P=-1;this.j=null;this.ra(a,b)}x(E,Wc);k=E.prototype;k.yj=function(a){this.B?jb(this.B,a.la()):this.B=a.la().slice();this.i.push(this.B.length);this.u()};k.clone=function(){var a=new E(null);a.ba(this.f,this.B.slice(),this.i.slice());return a};
k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;this.S!=this.g&&(this.P=Math.sqrt(dd(this.B,0,this.i,this.a,0)),this.S=this.g);return fd(this.B,0,this.i,this.a,this.P,!0,a,b,c,d)};k.Bc=function(a,b){return rd(this.Nb(),0,this.i,this.a,a,b)};k.qm=function(){return ad(this.Nb(),0,this.i,this.a)};k.Z=function(a){var b;void 0!==a?(b=this.Nb().slice(),yd(b,0,this.i,this.a,a)):b=this.B;return kd(b,0,this.i,this.a)};k.Eb=function(){return this.i};
function Ad(a){if(a.D!=a.g){var b=lc(a.H());a.C=sd(a.Nb(),0,a.i,a.a,b,0);a.D=a.g}return a.C}k.bk=function(){return new C(Ad(this))};k.gk=function(){return this.i.length};k.Hg=function(a){if(0>a||this.i.length<=a)return null;var b=new nd(null);od(b,this.f,this.B.slice(0===a?0:this.i[a-1],this.i[a]));return b};k.Vd=function(){var a=this.f,b=this.B,c=this.i,d=[],e=0,f,g;f=0;for(g=c.length;f<g;++f){var h=c[f],l=new nd(null);od(l,a,b.slice(e,h));d.push(l);e=h}return d};
k.Nb=function(){if(this.T!=this.g){var a=this.B;xd(a,this.i,this.a)?this.j=a:(this.j=a.slice(),this.j.length=yd(this.j,0,this.i,this.a));this.T=this.g}return this.j};k.Nc=function(a){var b=[],c=[];b.length=md(this.B,0,this.i,this.a,Math.sqrt(a),b,0,c);a=new E(null);a.ba("XY",b,c);return a};k.Y=function(){return"Polygon"};k.Ka=function(a){return vd(this.Nb(),0,this.i,this.a,a)};
k.ra=function(a,b){if(a){Zc(this,b,a,2);this.B||(this.B=[]);var c=id(this.B,0,a,this.a,this.i);this.B.length=0===c.length?0:c[c.length-1];this.u()}else this.ba("XY",null,this.i)};k.ba=function(a,b,c){Yc(this,a,b);this.i=c;this.u()};function Bd(a,b,c,d){var e=d?d:32;d=[];var f;for(f=0;f<e;++f)jb(d,a.offset(b,c,2*Math.PI*f/e));d.push(d[0],d[1]);a=new E(null);a.ba("XY",d,[d.length]);return a}
function Cd(a){var b=a[0],c=a[1],d=a[2];a=a[3];b=[b,c,b,a,d,a,d,c,b,c];c=new E(null);c.ba("XY",b,[b.length]);return c}function Dd(a,b,c){var d=b?b:32,e=a.va();b=a.f;for(var f=new E(null,b),d=e*(d+1),e=Array(d),g=0;g<d;g++)e[g]=0;f.ba(b,e,[e.length]);Ed(f,a.rd(),a.wf(),c);return f}function Ed(a,b,c,d){var e=a.la(),f=a.f,g=a.va(),h=a.Eb(),l=e.length/g-1;d=d?d:0;for(var m,n,p=0;p<=l;++p)n=p*g,m=d+2*xa(p,l)*Math.PI/l,e[n]=b[0]+c*Math.cos(m),e[n+1]=b[1]+c*Math.sin(m);a.ba(f,e,h)};function Fd(a){bb.call(this);a=a||{};this.f=[0,0];var b={};b.center=void 0!==a.center?a.center:null;this.l=Nc(a.projection);var c,d,e,f=void 0!==a.minZoom?a.minZoom:0;c=void 0!==a.maxZoom?a.maxZoom:28;var g=void 0!==a.zoomFactor?a.zoomFactor:2;if(void 0!==a.resolutions)c=a.resolutions,d=c[0],e=c[c.length-1],c=qb(c);else{d=Nc(a.projection);e=d.H();var h=(e?Math.max(jc(e),kc(e)):360*vc.degrees/d.ac())/256/Math.pow(2,0),l=h/Math.pow(2,28);d=a.maxResolution;void 0!==d?f=0:d=h/Math.pow(g,f);e=a.minResolution;
void 0===e&&(e=void 0!==a.maxZoom?void 0!==a.maxResolution?d/Math.pow(g,c):h/Math.pow(g,c):l);c=f+Math.floor(Math.log(d/e)/Math.log(g));e=d/Math.pow(g,c-f);c=rb(g,d,c-f)}this.a=d;this.c=e;this.j=a.resolutions;this.i=f;f=void 0!==a.extent?za(a.extent):Aa;(void 0!==a.enableRotation?a.enableRotation:1)?(d=a.constrainRotation,d=void 0===d||!0===d?vb():!1===d?tb:"number"===typeof d?ub(d):tb):d=sb;this.o=new Ba(f,c,d);void 0!==a.resolution?b.resolution=a.resolution:void 0!==a.zoom&&(b.resolution=this.constrainResolution(this.a,
a.zoom-this.i));b.rotation=void 0!==a.rotation?a.rotation:0;this.G(b)}x(Fd,bb);k=Fd.prototype;k.Pd=function(a){return this.o.center(a)};k.constrainResolution=function(a,b,c){return this.o.resolution(a,b||0,c||0)};k.constrainRotation=function(a,b){return this.o.rotation(a,b||0)};k.ab=function(){return this.get("center")};function Gd(a,b){return void 0!==b?(b[0]=a.f[0],b[1]=a.f[1],b):a.f.slice()}k.Kc=function(a){var b=this.ab(),c=this.$(),d=this.La();return mc(b,c,d,a)};k.Vl=function(){return this.a};
k.Wl=function(){return this.c};k.Xl=function(){return this.l};k.$=function(){return this.get("resolution")};k.Yl=function(){return this.j};function Hd(a,b){return Math.max(jc(a)/b[0],kc(a)/b[1])}function Id(a){var b=a.a,c=Math.log(b/a.c)/Math.log(2);return function(a){return b/Math.pow(2,a*c)}}k.La=function(){return this.get("rotation")};function Jd(a){var b=a.a,c=Math.log(b/a.c)/Math.log(2);return function(a){return Math.log(b/a)/Math.log(2)/c}}
k.V=function(){var a=this.ab(),b=this.l,c=this.$(),d=this.La();return{center:[Math.round(a[0]/c)*c,Math.round(a[1]/c)*c],projection:void 0!==b?b:null,resolution:c,rotation:d}};k.Fk=function(){var a,b=this.$();if(void 0!==b){var c,d=0;do{c=this.constrainResolution(this.a,d);if(c==b){a=d;break}++d}while(c>this.c)}return void 0!==a?this.i+a:a};
k.cf=function(a,b,c){a instanceof Wc||(a=Cd(a));var d=c||{};c=void 0!==d.padding?d.padding:[0,0,0,0];var e=void 0!==d.constrainResolution?d.constrainResolution:!0,f=void 0!==d.nearest?d.nearest:!1,g;void 0!==d.minResolution?g=d.minResolution:void 0!==d.maxZoom?g=this.constrainResolution(this.a,d.maxZoom-this.i,0):g=0;var h=a.la(),l=this.La(),d=Math.cos(-l),l=Math.sin(-l),m=Infinity,n=Infinity,p=-Infinity,q=-Infinity;a=a.va();for(var r=0,v=h.length;r<v;r+=a)var y=h[r]*d-h[r+1]*l,w=h[r]*l+h[r+1]*d,
m=Math.min(m,y),n=Math.min(n,w),p=Math.max(p,y),q=Math.max(q,w);b=Hd([m,n,p,q],[b[0]-c[1]-c[3],b[1]-c[0]-c[2]]);b=isNaN(b)?g:Math.max(b,g);e&&(g=this.constrainResolution(b,0,0),!f&&g<b&&(g=this.constrainResolution(g,-1,0)),b=g);this.Vb(b);l=-l;f=(m+p)/2+(c[1]-c[3])/2*b;c=(n+q)/2+(c[0]-c[2])/2*b;this.nb([f*d-c*l,c*d+f*l])};
k.Ej=function(a,b,c){var d=this.La(),e=Math.cos(-d),d=Math.sin(-d),f=a[0]*e-a[1]*d;a=a[1]*e+a[0]*d;var g=this.$(),f=f+(b[0]/2-c[0])*g;a+=(c[1]-b[1]/2)*g;d=-d;this.nb([f*e-a*d,a*e+f*d])};function Kd(a){return!!a.ab()&&void 0!==a.$()}k.rotate=function(a,b){if(void 0!==b){var c,d=this.ab();void 0!==d&&(c=[d[0]-b[0],d[1]-b[1]],Db(c,a-this.La()),yb(c,b));this.nb(c)}this.ie(a)};k.nb=function(a){this.set("center",a)};function Ld(a,b){a.f[1]+=b}k.Vb=function(a){this.set("resolution",a)};
k.ie=function(a){this.set("rotation",a)};k.np=function(a){a=this.constrainResolution(this.a,a-this.i,0);this.Vb(a)};function Md(a){return Math.pow(a,3)}function Nd(a){return 1-Md(1-a)}function Qd(a){return 3*a*a-2*a*a*a}function Rd(a){return a}function Sd(a){return.5>a?Qd(2*a):1-Qd(2*(a-.5))};function Td(a){var b=a.source,c=a.start?a.start:Date.now(),d=b[0],e=b[1],f=void 0!==a.duration?a.duration:1E3,g=a.easing?a.easing:Qd;return function(a,b){if(b.time<c)return b.animate=!0,b.viewHints[0]+=1,!0;if(b.time<c+f){var m=1-g((b.time-c)/f),n=d-b.viewState.center[0],p=e-b.viewState.center[1];b.animate=!0;b.viewState.center[0]+=m*n;b.viewState.center[1]+=m*p;b.viewHints[0]+=1;return!0}return!1}}
function Ud(a){var b=a.rotation?a.rotation:0,c=a.start?a.start:Date.now(),d=void 0!==a.duration?a.duration:1E3,e=a.easing?a.easing:Qd,f=a.anchor?a.anchor:null;return function(a,h){if(h.time<c)return h.animate=!0,h.viewHints[0]+=1,!0;if(h.time<c+d){var l=1-e((h.time-c)/d),l=(b-h.viewState.rotation)*l;h.animate=!0;h.viewState.rotation+=l;if(f){var m=h.viewState.center;m[0]-=f[0];m[1]-=f[1];Db(m,l);yb(m,f)}h.viewHints[0]+=1;return!0}return!1}}
function Vd(a){var b=a.resolution,c=a.start?a.start:Date.now(),d=void 0!==a.duration?a.duration:1E3,e=a.easing?a.easing:Qd;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[0]+=1,!0;if(g.time<c+d){var h=1-e((g.time-c)/d),l=b-g.viewState.resolution;g.animate=!0;g.viewState.resolution+=h*l;g.viewHints[0]+=1;return!0}return!1}};function Wd(a,b,c,d){this.ca=a;this.ea=b;this.fa=c;this.ga=d}Wd.prototype.contains=function(a){return Xd(this,a[1],a[2])};function Xd(a,b,c){return a.ca<=b&&b<=a.ea&&a.fa<=c&&c<=a.ga}function Yd(a,b){return a.ca==b.ca&&a.fa==b.fa&&a.ea==b.ea&&a.ga==b.ga}function Zd(a,b){return a.ca<=b.ea&&a.ea>=b.ca&&a.fa<=b.ga&&a.ga>=b.fa};function $d(a){this.a=a.html;this.b=a.tileRanges?a.tileRanges:null}$d.prototype.g=function(){return this.a};function ae(a,b){Ua.call(this,a);this.element=b}x(ae,Ua);function be(a){bb.call(this);this.a=a?a:[];ce(this)}x(be,bb);k=be.prototype;k.clear=function(){for(;0<this.dc();)this.pop()};k.qf=function(a){var b,c;b=0;for(c=a.length;b<c;++b)this.push(a[b]);return this};k.forEach=function(a,b){this.a.forEach(a,b)};k.Gl=function(){return this.a};k.item=function(a){return this.a[a]};k.dc=function(){return this.get("length")};k.ee=function(a,b){this.a.splice(a,0,b);ce(this);this.b(new ae("add",b))};
k.pop=function(){return this.Rf(this.dc()-1)};k.push=function(a){var b=this.a.length;this.ee(b,a);return b};k.remove=function(a){var b=this.a,c,d;c=0;for(d=b.length;c<d;++c)if(b[c]===a)return this.Rf(c)};k.Rf=function(a){var b=this.a[a];this.a.splice(a,1);ce(this);this.b(new ae("remove",b));return b};k.Zo=function(a,b){var c=this.dc();if(a<c)c=this.a[a],this.a[a]=b,this.b(new ae("remove",c)),this.b(new ae("add",b));else{for(;c<a;++c)this.ee(c,void 0);this.ee(a,b)}};
function ce(a){a.set("length",a.a.length)};function de(a){return Array.prototype.concat.apply(Array.prototype,arguments)}function ee(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}function fe(a,b,c){return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};var ge=/^#(?:[0-9a-f]{3}){1,2}$/i,he=/^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i,ie=/^(?:rgba)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|1|0\.\d{0,10})\)$/i;function je(a){return Array.isArray(a)?a:ke(a)}function le(a){if("string"!==typeof a){var b=a[0];b!=(b|0)&&(b=b+.5|0);var c=a[1];c!=(c|0)&&(c=c+.5|0);var d=a[2];d!=(d|0)&&(d=d+.5|0);a="rgba("+b+","+c+","+d+","+(void 0===a[3]?1:a[3])+")"}return a}
var ke=function(){var a={},b=0;return function(c){var d;if(a.hasOwnProperty(c))d=a[c];else{if(1024<=b){d=0;for(var e in a)0===(d++&3)&&(delete a[e],--b)}var f,g;ge.exec(c)?(g=3==c.length-1?1:2,d=parseInt(c.substr(1+0*g,g),16),e=parseInt(c.substr(1+1*g,g),16),f=parseInt(c.substr(1+2*g,g),16),1==g&&(d=(d<<4)+d,e=(e<<4)+e,f=(f<<4)+f),d=[d,e,f,1]):(g=ie.exec(c))?(d=Number(g[1]),e=Number(g[2]),f=Number(g[3]),g=Number(g[4]),d=[d,e,f,g],d=me(d,d)):(g=he.exec(c))?(d=Number(g[1]),e=Number(g[2]),f=Number(g[3]),
d=[d,e,f,1],d=me(d,d)):d=void 0;a[c]=d;++b}return d}}();function me(a,b){var c=b||[];c[0]=sa(a[0]+.5|0,0,255);c[1]=sa(a[1]+.5|0,0,255);c[2]=sa(a[2]+.5|0,0,255);c[3]=sa(a[3],0,1);return c};function ne(a){return"string"===typeof a||a instanceof CanvasPattern||a instanceof CanvasGradient?a:le(a)};var oe;a:{var pe=aa.navigator;if(pe){var qe=pe.userAgent;if(qe){oe=qe;break a}}oe=""}function re(a){return-1!=oe.indexOf(a)};var se=re("Opera"),te=re("Trident")||re("MSIE"),ue=re("Edge"),ve=re("Gecko")&&!(-1!=oe.toLowerCase().indexOf("webkit")&&!re("Edge"))&&!(re("Trident")||re("MSIE"))&&!re("Edge"),we=-1!=oe.toLowerCase().indexOf("webkit")&&!re("Edge"),xe;
a:{var ye="",ze=function(){var a=oe;if(ve)return/rv\:([^\);]+)(\)|;)/.exec(a);if(ue)return/Edge\/([\d\.]+)/.exec(a);if(te)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(we)return/WebKit\/(\S+)/.exec(a);if(se)return/(?:Version)[ \/]?(\S+)/.exec(a)}();ze&&(ye=ze?ze[1]:"");if(te){var Ae,Be=aa.document;Ae=Be?Be.documentMode:void 0;if(null!=Ae&&Ae>parseFloat(ye)){xe=String(Ae);break a}}xe=ye}var Ce={};function De(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function Ee(a,b){a[0]=b[0];a[1]=b[1];a[4]=b[2];a[5]=b[3];a[12]=b[4];a[13]=b[5];return a};var Fe=De();function Ge(a,b){var c=document.createElement("CANVAS");a&&(c.width=a);b&&(c.height=b);return c.getContext("2d")}
var He=function(){var a;return function(){if(void 0===a){var b=document.createElement("P"),c,d={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.appendChild(b);for(var e in d)e in b.style&&(b.style[e]="translate(1px,1px)",c=pa.getComputedStyle(b).getPropertyValue(d[e]));document.body.removeChild(b);a=c&&"none"!==c}return a}}(),Ie=function(){var a;return function(){if(void 0===a){var b=document.createElement("P"),
c,d={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.appendChild(b);for(var e in d)e in b.style&&(b.style[e]="translate3d(1px,1px,1px)",c=pa.getComputedStyle(b).getPropertyValue(d[e]));document.body.removeChild(b);a=c&&"none"!==c}return a}}();
function Je(a,b){var c=a.style;c.WebkitTransform=b;c.MozTransform=b;c.b=b;c.msTransform=b;c.transform=b;if((c=te)&&!(c=Ce["9.0"])){for(var c=0,d=qa(String(xe)).split("."),e=qa("9.0").split("."),f=Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",l=e[g]||"",m=RegExp("(\\d*)(\\D*)","g"),n=RegExp("(\\d*)(\\D*)","g");do{var p=m.exec(h)||["","",""],q=n.exec(l)||["","",""];if(0==p[0].length&&0==q[0].length)break;c=ra(0==p[1].length?0:parseInt(p[1],10),0==q[1].length?0:parseInt(q[1],10))||ra(0==
p[2].length,0==q[2].length)||ra(p[2],q[2])}while(0==c)}c=Ce["9.0"]=0<=c}c&&(a.style.transformOrigin="0 0")}function Ke(a,b){var c;if(Ie()){var d=Ee(Fe,b),e=Array(16);for(c=0;16>c;++c)e[c]=d[c].toFixed(6);Je(a,"matrix3d("+e.join(",")+")")}else if(He()){d=Array(6);for(c=0;6>c;++c)d[c]=b[c].toFixed(6);Je(a,"matrix("+d.join(",")+")")}else a.style.left=Math.round(b[4])+"px",a.style.top=Math.round(b[5])+"px"}function Le(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)}
function Me(a){a&&a.parentNode&&a.parentNode.removeChild(a)}function Ne(a){for(;a.lastChild;)a.removeChild(a.lastChild)};function Oe(a,b,c){Ua.call(this,a);this.map=b;this.frameState=void 0!==c?c:null}x(Oe,Ua);function Pe(a){bb.call(this);this.element=a.element?a.element:null;this.a=this.P=null;this.s=[];this.render=a.render?a.render:oa;a.target&&this.c(a.target)}x(Pe,bb);Pe.prototype.ka=function(){Me(this.element);bb.prototype.ka.call(this)};Pe.prototype.i=function(){return this.a};
Pe.prototype.setMap=function(a){this.a&&Me(this.element);for(var b=0,c=this.s.length;b<c;++b)Ka(this.s[b]);this.s.length=0;if(this.a=a)(this.P?this.P:a.v).appendChild(this.element),this.render!==oa&&this.s.push(B(a,"postrender",this.render,this)),a.render()};Pe.prototype.c=function(a){this.P="string"===typeof a?document.getElementById(a):a};function Qe(){this.g=0;this.f={};this.a=this.b=null}k=Qe.prototype;k.clear=function(){this.g=0;this.f={};this.a=this.b=null};function Re(a,b){return a.f.hasOwnProperty(b)}k.forEach=function(a,b){for(var c=this.b;c;)a.call(b,c.pc,c.Mb,this),c=c.zb};k.get=function(a){a=this.f[a];if(a===this.a)return a.pc;a===this.b?(this.b=this.b.zb,this.b.kc=null):(a.zb.kc=a.kc,a.kc.zb=a.zb);a.zb=null;a.kc=this.a;this.a=this.a.zb=a;return a.pc};k.wc=function(){return this.g};
k.N=function(){var a=Array(this.g),b=0,c;for(c=this.a;c;c=c.kc)a[b++]=c.Mb;return a};k.zc=function(){var a=Array(this.g),b=0,c;for(c=this.a;c;c=c.kc)a[b++]=c.pc;return a};k.pop=function(){var a=this.b;delete this.f[a.Mb];a.zb&&(a.zb.kc=null);this.b=a.zb;this.b||(this.a=null);--this.g;return a.pc};k.replace=function(a,b){this.get(a);this.f[a].pc=b};k.set=function(a,b){var c={Mb:a,zb:null,kc:this.a,pc:b};this.a?this.a.zb=c:this.b=c;this.a=c;this.f[a]=c;++this.g};function Se(a,b,c,d){return void 0!==d?(d[0]=a,d[1]=b,d[2]=c,d):[a,b,c]}function Te(a){var b=a[0],c=Array(b),d=1<<b-1,e,f;for(e=0;e<b;++e)f=48,a[1]&d&&(f+=1),a[2]&d&&(f+=2),c[e]=String.fromCharCode(f),d>>=1;return c.join("")};function Ue(a){Qe.call(this);this.c=void 0!==a?a:2048}x(Ue,Qe);function Ve(a){return a.wc()>a.c}Ue.prototype.Lc=function(a){for(var b,c;Ve(this)&&!(b=this.b.pc,c=b.ma[0].toString(),c in a&&a[c].contains(b.ma));)Ta(this.pop())};function We(a,b){Xa.call(this);this.ma=a;this.state=b;this.a=null;this.key=""}x(We,Xa);function Xe(a){a.b("change")}We.prototype.jb=function(){return t(this).toString()};We.prototype.i=function(){return this.ma};We.prototype.V=function(){return this.state};function Ye(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]+2*b;c[1]=a[1]+2*b;return c}function Ze(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]*b+.5|0;c[1]=a[1]*b+.5|0;return c}function $e(a,b){if(Array.isArray(a))return a;void 0===b?b=[a,a]:(b[0]=a,b[1]=a);return b};function af(a){bb.call(this);this.f=zc(a.projection);this.l=bf(a.attributions);this.S=a.logo;this.Ba=void 0!==a.state?a.state:"ready";this.C=void 0!==a.wrapX?a.wrapX:!1}x(af,bb);function bf(a){if("string"===typeof a)return[new $d({html:a})];if(a instanceof $d)return[a];if(Array.isArray(a)){for(var b=a.length,c=Array(b),d=0;d<b;d++){var e=a[d];c[d]="string"===typeof e?new $d({html:e}):e}return c}return null}k=af.prototype;k.sa=oa;k.wa=function(){return this.l};k.ua=function(){return this.S};k.xa=function(){return this.f};
k.V=function(){return this.Ba};k.ta=function(){this.u()};k.qa=function(a){this.l=bf(a);this.u()};function cf(a,b){a.Ba=b;a.u()};function df(a){this.minZoom=void 0!==a.minZoom?a.minZoom:0;this.b=a.resolutions;this.maxZoom=this.b.length-1;this.g=void 0!==a.origin?a.origin:null;this.c=null;void 0!==a.origins&&(this.c=a.origins);var b=a.extent;void 0===b||this.g||this.c||(this.g=fc(b));this.i=null;void 0!==a.tileSizes&&(this.i=a.tileSizes);this.o=void 0!==a.tileSize?a.tileSize:this.i?null:256;this.s=void 0!==b?b:null;this.a=null;this.f=[0,0];void 0!==a.sizes?this.a=a.sizes.map(function(a){return new Wd(Math.min(0,a[0]),Math.max(a[0]-
1,-1),Math.min(0,a[1]),Math.max(a[1]-1,-1))},this):b&&ef(this,b)}var ff=[0,0,0];k=df.prototype;k.yg=function(a,b,c){a=gf(this,a,b);for(var d=a.ca,e=a.ea;d<=e;++d)for(var f=a.fa,g=a.ga;f<=g;++f)c([b,d,f])};function hf(a,b,c,d,e){e=a.Ea(b,e);for(b=b[0]-1;b>=a.minZoom;){if(c.call(null,b,gf(a,e,b,d)))return!0;--b}return!1}k.H=function(){return this.s};k.Ig=function(){return this.maxZoom};k.Jg=function(){return this.minZoom};k.Ia=function(a){return this.g?this.g:this.c[a]};k.$=function(a){return this.b[a]};
k.Kh=function(){return this.b};function jf(a,b,c,d){return b[0]<a.maxZoom?(d=a.Ea(b,d),gf(a,d,b[0]+1,c)):null}function kf(a,b,c,d){lf(a,b[0],b[1],c,!1,ff);var e=ff[1],f=ff[2];lf(a,b[2],b[3],c,!0,ff);a=ff[1];b=ff[2];void 0!==d?(d.ca=e,d.ea=a,d.fa=f,d.ga=b):d=new Wd(e,a,f,b);return d}function gf(a,b,c,d){c=a.$(c);return kf(a,b,c,d)}function mf(a,b){var c=a.Ia(b[0]),d=a.$(b[0]),e=$e(a.Ja(b[0]),a.f);return[c[0]+(b[1]+.5)*e[0]*d,c[1]+(b[2]+.5)*e[1]*d]}
k.Ea=function(a,b){var c=this.Ia(a[0]),d=this.$(a[0]),e=$e(this.Ja(a[0]),this.f),f=c[0]+a[1]*e[0]*d,c=c[1]+a[2]*e[1]*d;return Vb(f,c,f+e[0]*d,c+e[1]*d,b)};k.Zd=function(a,b,c){return lf(this,a[0],a[1],b,!1,c)};function lf(a,b,c,d,e,f){var g=a.Lb(d),h=d/a.$(g),l=a.Ia(g);a=$e(a.Ja(g),a.f);b=h*Math.floor((b-l[0])/d+(e?.5:0))/a[0];c=h*Math.floor((c-l[1])/d+(e?0:.5))/a[1];e?(b=Math.ceil(b)-1,c=Math.ceil(c)-1):(b=Math.floor(b),c=Math.floor(c));return Se(g,b,c,f)}
k.qd=function(a,b,c){b=this.$(b);return lf(this,a[0],a[1],b,!1,c)};k.Ja=function(a){return this.o?this.o:this.i[a]};k.Lb=function(a,b){var c=hb(this.b,a,b||0);return sa(c,this.minZoom,this.maxZoom)};function ef(a,b){for(var c=a.b.length,d=Array(c),e=a.minZoom;e<c;++e)d[e]=gf(a,b,e);a.a=d}function nf(a){var b=a.l;if(!b){var b=of(a),c=pf(b,void 0,void 0),b=new df({extent:b,origin:fc(b),resolutions:c,tileSize:void 0});a.l=b}return b}
function qf(a){var b={};Ca(b,void 0!==a?a:{});void 0===b.extent&&(b.extent=zc("EPSG:3857").H());b.resolutions=pf(b.extent,b.maxZoom,b.tileSize);delete b.maxZoom;return new df(b)}function pf(a,b,c){b=void 0!==b?b:42;var d=kc(a);a=jc(a);c=$e(void 0!==c?c:256);c=Math.max(a/c[0],d/c[1]);b+=1;d=Array(b);for(a=0;a<b;++a)d[a]=c/Math.pow(2,a);return d}function of(a){a=zc(a);var b=a.H();b||(a=180*vc.degrees/a.ac(),b=Vb(-a,-a,a,a));return b};function rf(a){af.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state,wrapX:a.wrapX});this.ia=void 0!==a.opaque?a.opaque:!1;this.oa=void 0!==a.tilePixelRatio?a.tilePixelRatio:1;this.tileGrid=void 0!==a.tileGrid?a.tileGrid:null;this.a=new Ue(a.cacheSize);this.o=[0,0];this.Mb=""}x(rf,af);k=rf.prototype;k.Ah=function(){return Ve(this.a)};k.Lc=function(a,b){var c=this.pd(a);c&&c.Lc(b)};
function tf(a,b,c,d,e){b=a.pd(b);if(!b)return!1;for(var f=!0,g,h,l=d.ca;l<=d.ea;++l)for(var m=d.fa;m<=d.ga;++m)g=a.Fb(c,l,m),h=!1,Re(b,g)&&(g=b.get(g),(h=2===g.V())&&(h=!1!==e(g))),h||(f=!1);return f}k.Ud=function(){return 0};function uf(a,b){a.Mb!==b&&(a.Mb=b,a.u())}k.Fb=function(a,b,c){return a+"/"+b+"/"+c};k.jf=function(){return this.ia};k.Na=function(){return this.tileGrid};k.fb=function(a){return this.tileGrid?this.tileGrid:nf(a)};k.pd=function(a){var b=this.f;return b&&!Pc(b,a)?null:this.a};
k.cc=function(){return this.oa};k.$d=function(a,b,c){c=this.fb(c);b=this.cc(b);a=$e(c.Ja(a),this.o);return 1==b?a:Ze(a,b,this.o)};function vf(a,b,c){var d=void 0!==c?c:a.f;c=a.fb(d);if(a.C&&d.g){var e=b;b=e[0];a=mf(c,e);d=of(d);Qb(d,a)?b=e:(e=jc(d),a[0]+=e*Math.ceil((d[0]-a[0])/e),b=c.qd(a,b))}e=b[0];d=b[1];a=b[2];if(c.minZoom>e||e>c.maxZoom)c=!1;else{var f=c.H();c=(c=f?gf(c,f,e):c.a?c.a[e]:null)?Xd(c,d,a):!0}return c?b:null}k.ta=function(){this.a.clear();this.u()};k.Yf=oa;
function wf(a,b){Ua.call(this,a);this.tile=b}x(wf,Ua);function xf(a){a=a?a:{};this.S=document.createElement("UL");this.v=document.createElement("LI");this.S.appendChild(this.v);this.v.style.display="none";this.f=void 0!==a.collapsed?a.collapsed:!0;this.o=void 0!==a.collapsible?a.collapsible:!0;this.o||(this.f=!1);var b=void 0!==a.className?a.className:"ol-attribution",c=void 0!==a.tipLabel?a.tipLabel:"Attributions",d=void 0!==a.collapseLabel?a.collapseLabel:"\u00bb";"string"===typeof d?(this.A=document.createElement("span"),this.A.textContent=d):this.A=
d;d=void 0!==a.label?a.label:"i";"string"===typeof d?(this.D=document.createElement("span"),this.D.textContent=d):this.D=d;var e=this.o&&!this.f?this.A:this.D,d=document.createElement("button");d.setAttribute("type","button");d.title=c;d.appendChild(e);B(d,"click",this.am,this);c=document.createElement("div");c.className=b+" ol-unselectable ol-control"+(this.f&&this.o?" ol-collapsed":"")+(this.o?"":" ol-uncollapsible");c.appendChild(this.S);c.appendChild(d);Pe.call(this,{element:c,render:a.render?
a.render:yf,target:a.target});this.C=!0;this.j={};this.l={};this.T={}}x(xf,Pe);
function yf(a){if(a=a.frameState){var b,c,d,e,f,g,h,l,m,n,p,q=a.layerStatesArray,r=Ca({},a.attributions),v={},y=a.viewState.projection;c=0;for(b=q.length;c<b;c++)if(g=q[c].layer.ha())if(n=t(g).toString(),m=g.l)for(d=0,e=m.length;d<e;d++)if(h=m[d],l=t(h).toString(),!(l in r)){if(f=a.usedTiles[n]){var w=g.fb(y);a:{p=h;var G=y;if(p.b){var z,D,H,ba=void 0;for(ba in f)if(ba in p.b){H=f[ba];var A;z=0;for(D=p.b[ba].length;z<D;++z){A=p.b[ba][z];if(Zd(A,H)){p=!0;break a}var Fa=gf(w,of(G),parseInt(ba,10)),
Ja=Fa.ea-Fa.ca+1;if(H.ca<Fa.ca||H.ea>Fa.ea)if(Zd(A,new Wd(xa(H.ca,Ja),xa(H.ea,Ja),H.fa,H.ga))||H.ea-H.ca+1>Ja&&Zd(A,Fa)){p=!0;break a}}}p=!1}else p=!0}}else p=!1;p?(l in v&&delete v[l],r[l]=h):v[l]=h}b=[r,v];c=b[0];b=b[1];for(var M in this.j)M in c?(this.l[M]||(this.j[M].style.display="",this.l[M]=!0),delete c[M]):M in b?(this.l[M]&&(this.j[M].style.display="none",delete this.l[M]),delete b[M]):(Me(this.j[M]),delete this.j[M],delete this.l[M]);for(M in c)d=document.createElement("LI"),d.innerHTML=
c[M].a,this.S.appendChild(d),this.j[M]=d,this.l[M]=!0;for(M in b)d=document.createElement("LI"),d.innerHTML=b[M].a,d.style.display="none",this.S.appendChild(d),this.j[M]=d;M=!Ga(this.l)||!Ga(a.logos);this.C!=M&&(this.element.style.display=M?"":"none",this.C=M);M&&Ga(this.l)?this.element.classList.add("ol-logo-only"):this.element.classList.remove("ol-logo-only");var ma;a=a.logos;M=this.T;for(ma in M)ma in a||(Me(M[ma]),delete M[ma]);for(var Ub in a)b=a[Ub],b instanceof HTMLElement&&(this.v.appendChild(b),
M[Ub]=b),Ub in M||(ma=new Image,ma.src=Ub,""===b?c=ma:(c=document.createElement("a"),c.href=b,c.appendChild(ma)),this.v.appendChild(c),M[Ub]=c);this.v.style.display=Ga(a)?"none":""}else this.C&&(this.element.style.display="none",this.C=!1)}k=xf.prototype;k.am=function(a){a.preventDefault();zf(this)};function zf(a){a.element.classList.toggle("ol-collapsed");a.f?Le(a.A,a.D):Le(a.D,a.A);a.f=!a.f}k.$l=function(){return this.o};
k.cm=function(a){this.o!==a&&(this.o=a,this.element.classList.toggle("ol-uncollapsible"),!a&&this.f&&zf(this))};k.bm=function(a){this.o&&this.f!==a&&zf(this)};k.Zl=function(){return this.f};function Af(a){a=a?a:{};var b=void 0!==a.className?a.className:"ol-rotate",c=void 0!==a.label?a.label:"\u21e7";this.f=null;"string"===typeof c?(this.f=document.createElement("span"),this.f.className="ol-compass",this.f.textContent=c):(this.f=c,this.f.classList.add("ol-compass"));var d=a.tipLabel?a.tipLabel:"Reset rotation",c=document.createElement("button");c.className=b+"-reset";c.setAttribute("type","button");c.title=d;c.appendChild(this.f);B(c,"click",Af.prototype.A,this);d=document.createElement("div");
d.className=b+" ol-unselectable ol-control";d.appendChild(c);b=a.render?a.render:Bf;this.o=a.resetNorth?a.resetNorth:void 0;Pe.call(this,{element:d,render:b,target:a.target});this.j=void 0!==a.duration?a.duration:250;this.l=void 0!==a.autoHide?a.autoHide:!0;this.v=void 0;this.l&&this.element.classList.add("ol-hidden")}x(Af,Pe);
Af.prototype.A=function(a){a.preventDefault();if(void 0!==this.o)this.o();else{a=this.a;var b=a.aa();if(b){var c=b.La();void 0!==c&&(0<this.j&&(c%=2*Math.PI,c<-Math.PI&&(c+=2*Math.PI),c>Math.PI&&(c-=2*Math.PI),a.Wa(Ud({rotation:c,duration:this.j,easing:Nd}))),b.ie(0))}}};
function Bf(a){if(a=a.frameState){a=a.viewState.rotation;if(a!=this.v){var b="rotate("+a+"rad)";if(this.l){var c=this.element.classList.contains("ol-hidden");c||0!==a?c&&0!==a&&this.element.classList.remove("ol-hidden"):this.element.classList.add("ol-hidden")}this.f.style.msTransform=b;this.f.style.webkitTransform=b;this.f.style.transform=b}this.v=a}};function Cf(a){a=a?a:{};var b=void 0!==a.className?a.className:"ol-zoom",c=void 0!==a.delta?a.delta:1,d=void 0!==a.zoomInLabel?a.zoomInLabel:"+",e=void 0!==a.zoomOutLabel?a.zoomOutLabel:"\u2212",f=void 0!==a.zoomInTipLabel?a.zoomInTipLabel:"Zoom in",g=void 0!==a.zoomOutTipLabel?a.zoomOutTipLabel:"Zoom out",h=document.createElement("button");h.className=b+"-in";h.setAttribute("type","button");h.title=f;h.appendChild("string"===typeof d?document.createTextNode(d):d);B(h,"click",Cf.prototype.l.bind(this,
c));d=document.createElement("button");d.className=b+"-out";d.setAttribute("type","button");d.title=g;d.appendChild("string"===typeof e?document.createTextNode(e):e);B(d,"click",Cf.prototype.l.bind(this,-c));c=document.createElement("div");c.className=b+" ol-unselectable ol-control";c.appendChild(h);c.appendChild(d);Pe.call(this,{element:c,target:a.target});this.f=void 0!==a.duration?a.duration:250}x(Cf,Pe);
Cf.prototype.l=function(a,b){b.preventDefault();var c=this.a,d=c.aa();if(d){var e=d.$();e&&(0<this.f&&c.Wa(Vd({resolution:e,duration:this.f,easing:Nd})),c=d.constrainResolution(e,a),d.Vb(c))}};function Df(a){a=a?a:{};var b=new be;(void 0!==a.zoom?a.zoom:1)&&b.push(new Cf(a.zoomOptions));(void 0!==a.rotate?a.rotate:1)&&b.push(new Af(a.rotateOptions));(void 0!==a.attribution?a.attribution:1)&&b.push(new xf(a.attributionOptions));return b};function Ef(a){a=a?a:{};this.f=void 0!==a.className?a.className:"ol-full-screen";var b=void 0!==a.label?a.label:"\u2922";this.o="string"===typeof b?document.createTextNode(b):b;b=void 0!==a.labelActive?a.labelActive:"\u00d7";this.j="string"===typeof b?document.createTextNode(b):b;var c=a.tipLabel?a.tipLabel:"Toggle full-screen",b=document.createElement("button");b.className=this.f+"-"+Ff();b.setAttribute("type","button");b.title=c;b.appendChild(this.o);B(b,"click",this.D,this);c=document.createElement("div");
c.className=this.f+" ol-unselectable ol-control "+(Gf()?"":"ol-unsupported");c.appendChild(b);Pe.call(this,{element:c,target:a.target});this.A=void 0!==a.keys?a.keys:!1;this.l=a.source}x(Ef,Pe);
Ef.prototype.D=function(a){a.preventDefault();Gf()&&(a=this.a)&&(Ff()?document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():(a=this.l?"string"===typeof this.l?document.getElementById(this.l):this.l:a.yc(),this.A?a.mozRequestFullScreenWithKeys?a.mozRequestFullScreenWithKeys():a.webkitRequestFullscreen?a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):
Hf(a):Hf(a)))};Ef.prototype.v=function(){var a=this.element.firstElementChild,b=this.a;Ff()?(a.className=this.f+"-true",Le(this.j,this.o)):(a.className=this.f+"-false",Le(this.o,this.j));b&&b.Xc()};Ef.prototype.setMap=function(a){Pe.prototype.setMap.call(this,a);a&&this.s.push(B(pa.document,If(),this.v,this))};
function Gf(){var a=document.body;return!!(a.webkitRequestFullscreen||a.mozRequestFullScreen&&document.mozFullScreenEnabled||a.msRequestFullscreen&&document.msFullscreenEnabled||a.requestFullscreen&&document.fullscreenEnabled)}function Ff(){return!!(document.webkitIsFullScreen||document.mozFullScreen||document.msFullscreenElement||document.fullscreenElement)}
function Hf(a){a.requestFullscreen?a.requestFullscreen():a.msRequestFullscreen?a.msRequestFullscreen():a.mozRequestFullScreen?a.mozRequestFullScreen():a.webkitRequestFullscreen&&a.webkitRequestFullscreen()}var If=function(){var a;return function(){if(!a){var b=document.body;b.webkitRequestFullscreen?a="webkitfullscreenchange":b.mozRequestFullScreen?a="mozfullscreenchange":b.msRequestFullscreen?a="MSFullscreenChange":b.requestFullscreen&&(a="fullscreenchange")}return a}}();function Jf(a){a=a?a:{};var b=document.createElement("DIV");b.className=void 0!==a.className?a.className:"ol-mouse-position";Pe.call(this,{element:b,render:a.render?a.render:Kf,target:a.target});B(this,db("projection"),this.dm,this);a.coordinateFormat&&this.ei(a.coordinateFormat);a.projection&&this.ih(zc(a.projection));this.v=void 0!==a.undefinedHTML?a.undefinedHTML:"";this.j=b.innerHTML;this.o=this.l=this.f=null}x(Jf,Pe);
function Kf(a){a=a.frameState;a?this.f!=a.viewState.projection&&(this.f=a.viewState.projection,this.l=null):this.f=null;Lf(this,this.o)}k=Jf.prototype;k.dm=function(){this.l=null};k.Cg=function(){return this.get("coordinateFormat")};k.hh=function(){return this.get("projection")};k.Xk=function(a){this.o=this.a.Td(a);Lf(this,this.o)};k.Yk=function(){Lf(this,null);this.o=null};
k.setMap=function(a){Pe.prototype.setMap.call(this,a);a&&(a=a.a,this.s.push(B(a,"mousemove",this.Xk,this),B(a,"mouseout",this.Yk,this)))};k.ei=function(a){this.set("coordinateFormat",a)};k.ih=function(a){this.set("projection",a)};function Lf(a,b){var c=a.v;if(b&&a.f){if(!a.l){var d=a.hh();a.l=d?Cc(a.f,d):Rc}if(d=a.a.Ma(b))a.l(d,d),c=(c=a.Cg())?c(d):d.toString()}a.j&&c==a.j||(a.element.innerHTML=c,a.j=c)};function Mf(a,b){var c=a;b&&(c=ka(a,b));"function"!=da(aa.setImmediate)||aa.Window&&aa.Window.prototype&&!re("Edge")&&aa.Window.prototype.setImmediate==aa.setImmediate?(Nf||(Nf=Of()),Nf(c)):aa.setImmediate(c)}var Nf;
function Of(){var a=aa.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!re("Presto")&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow,a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host,a=ka(function(a){if(("*"==d||a.origin==d)&&a.data==
c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!re("Trident")&&!re("MSIE")){var b=new a,c={},d=c;b.port1.onmessage=function(){if(void 0!==c.next){c=c.next;var a=c.rg;c.rg=null;a()}};return function(a){d.next={rg:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in document.createElement("SCRIPT")?function(a){var b=document.createElement("SCRIPT");
b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){aa.setTimeout(a,0)}};function Pf(a,b,c){Ua.call(this,a);this.b=b;a=c?c:{};this.buttons=Qf(a);this.pressure=Rf(a,this.buttons);this.bubbles="bubbles"in a?a.bubbles:!1;this.cancelable="cancelable"in a?a.cancelable:!1;this.view="view"in a?a.view:null;this.detail="detail"in a?a.detail:null;this.screenX="screenX"in a?a.screenX:0;this.screenY="screenY"in a?a.screenY:0;this.clientX="clientX"in a?a.clientX:0;this.clientY="clientY"in a?a.clientY:0;this.button="button"in a?a.button:0;this.relatedTarget="relatedTarget"in a?a.relatedTarget:
null;this.pointerId="pointerId"in a?a.pointerId:0;this.width="width"in a?a.width:0;this.height="height"in a?a.height:0;this.pointerType="pointerType"in a?a.pointerType:"";this.isPrimary="isPrimary"in a?a.isPrimary:!1;b.preventDefault&&(this.preventDefault=function(){b.preventDefault()})}x(Pf,Ua);function Qf(a){if(a.buttons||Sf)a=a.buttons;else switch(a.which){case 1:a=1;break;case 2:a=4;break;case 3:a=2;break;default:a=0}return a}
function Rf(a,b){var c=0;a.pressure?c=a.pressure:c=b?.5:0;return c}var Sf=!1;try{Sf=1===(new MouseEvent("click",{buttons:1})).buttons}catch(a){};var Tf=["experimental-webgl","webgl","webkit-3d","moz-webgl"];function Uf(a,b){var c,d,e=Tf.length;for(d=0;d<e;++d)try{if(c=a.getContext(Tf[d],b))return c}catch(f){}return null};var Vf,Wf="undefined"!==typeof navigator?navigator.userAgent.toLowerCase():"",Xf=-1!==Wf.indexOf("firefox"),Yf=-1!==Wf.indexOf("safari")&&-1===Wf.indexOf("chrom"),Zf=-1!==Wf.indexOf("macintosh"),$f=pa.devicePixelRatio||1,ag=!1,bg=function(){if(!("HTMLCanvasElement"in pa))return!1;try{var a=Ge();return a?(a.setLineDash&&(ag=!0),!0):!1}catch(b){return!1}}(),cg="DeviceOrientationEvent"in pa,dg="geolocation"in pa.navigator,eg="ontouchstart"in pa,fg="PointerEvent"in pa,gg=!!pa.navigator.msPointerEnabled,
hg=!1,ig,jg=[];if("WebGLRenderingContext"in pa)try{var kg=Uf(document.createElement("CANVAS"),{failIfMajorPerformanceCaveat:!0});kg&&(hg=!0,ig=kg.getParameter(kg.MAX_TEXTURE_SIZE),jg=kg.getSupportedExtensions())}catch(a){}Vf=hg;na=jg;la=ig;function lg(a,b){this.b=a;this.c=b};function mg(a){lg.call(this,a,{mousedown:this.rl,mousemove:this.sl,mouseup:this.vl,mouseover:this.ul,mouseout:this.tl});this.a=a.g;this.g=[]}x(mg,lg);function ng(a,b){for(var c=a.g,d=b.clientX,e=b.clientY,f=0,g=c.length,h;f<g&&(h=c[f]);f++){var l=Math.abs(e-h[1]);if(25>=Math.abs(d-h[0])&&25>=l)return!0}return!1}function og(a){var b=pg(a,a),c=b.preventDefault;b.preventDefault=function(){a.preventDefault();c()};b.pointerId=1;b.isPrimary=!0;b.pointerType="mouse";return b}k=mg.prototype;
k.rl=function(a){if(!ng(this,a)){if((1).toString()in this.a){var b=og(a);qg(this.b,rg,b,a);delete this.a[(1).toString()]}b=og(a);this.a[(1).toString()]=a;qg(this.b,sg,b,a)}};k.sl=function(a){if(!ng(this,a)){var b=og(a);qg(this.b,tg,b,a)}};k.vl=function(a){if(!ng(this,a)){var b=this.a[(1).toString()];b&&b.button===a.button&&(b=og(a),qg(this.b,ug,b,a),delete this.a[(1).toString()])}};k.ul=function(a){if(!ng(this,a)){var b=og(a);vg(this.b,b,a)}};
k.tl=function(a){if(!ng(this,a)){var b=og(a);wg(this.b,b,a)}};function xg(a){lg.call(this,a,{MSPointerDown:this.Al,MSPointerMove:this.Bl,MSPointerUp:this.El,MSPointerOut:this.Cl,MSPointerOver:this.Dl,MSPointerCancel:this.zl,MSGotPointerCapture:this.xl,MSLostPointerCapture:this.yl});this.a=a.g;this.g=["","unavailable","touch","pen","mouse"]}x(xg,lg);function yg(a,b){var c=b;"number"===typeof b.pointerType&&(c=pg(b,b),c.pointerType=a.g[b.pointerType]);return c}k=xg.prototype;k.Al=function(a){this.a[a.pointerId.toString()]=a;var b=yg(this,a);qg(this.b,sg,b,a)};
k.Bl=function(a){var b=yg(this,a);qg(this.b,tg,b,a)};k.El=function(a){var b=yg(this,a);qg(this.b,ug,b,a);delete this.a[a.pointerId.toString()]};k.Cl=function(a){var b=yg(this,a);wg(this.b,b,a)};k.Dl=function(a){var b=yg(this,a);vg(this.b,b,a)};k.zl=function(a){var b=yg(this,a);qg(this.b,rg,b,a);delete this.a[a.pointerId.toString()]};k.yl=function(a){this.b.b(new Pf("lostpointercapture",a,a))};k.xl=function(a){this.b.b(new Pf("gotpointercapture",a,a))};function zg(a){lg.call(this,a,{pointerdown:this.lo,pointermove:this.mo,pointerup:this.po,pointerout:this.no,pointerover:this.oo,pointercancel:this.ko,gotpointercapture:this.Gk,lostpointercapture:this.ql})}x(zg,lg);k=zg.prototype;k.lo=function(a){Ag(this.b,a)};k.mo=function(a){Ag(this.b,a)};k.po=function(a){Ag(this.b,a)};k.no=function(a){Ag(this.b,a)};k.oo=function(a){Ag(this.b,a)};k.ko=function(a){Ag(this.b,a)};k.ql=function(a){Ag(this.b,a)};k.Gk=function(a){Ag(this.b,a)};function Bg(a,b){lg.call(this,a,{touchstart:this.sp,touchmove:this.rp,touchend:this.qp,touchcancel:this.pp});this.a=a.g;this.l=b;this.g=void 0;this.i=0;this.f=void 0}x(Bg,lg);k=Bg.prototype;k.ci=function(){this.i=0;this.f=void 0};
function Cg(a,b,c){b=pg(b,c);b.pointerId=c.identifier+2;b.bubbles=!0;b.cancelable=!0;b.detail=a.i;b.button=0;b.buttons=1;b.width=c.webkitRadiusX||c.radiusX||0;b.height=c.webkitRadiusY||c.radiusY||0;b.pressure=c.webkitForce||c.force||.5;b.isPrimary=a.g===c.identifier;b.pointerType="touch";b.clientX=c.clientX;b.clientY=c.clientY;b.screenX=c.screenX;b.screenY=c.screenY;return b}
function Dg(a,b,c){function d(){b.preventDefault()}var e=Array.prototype.slice.call(b.changedTouches),f=e.length,g,h;for(g=0;g<f;++g)h=Cg(a,b,e[g]),h.preventDefault=d,c.call(a,b,h)}
k.sp=function(a){var b=a.touches,c=Object.keys(this.a),d=c.length;if(d>=b.length){var e=[],f,g,h;for(f=0;f<d;++f){g=c[f];h=this.a[g];var l;if(!(l=1==g))a:{l=b.length;for(var m,n=0;n<l;n++)if(m=b[n],m.identifier===g-2){l=!0;break a}l=!1}l||e.push(h.out)}for(f=0;f<e.length;++f)this.Ue(a,e[f])}b=a.changedTouches[0];c=Object.keys(this.a).length;if(0===c||1===c&&(1).toString()in this.a)this.g=b.identifier,void 0!==this.f&&pa.clearTimeout(this.f);Eg(this,a);this.i++;Dg(this,a,this.fo)};
k.fo=function(a,b){this.a[b.pointerId]={target:b.target,out:b,Lh:b.target};var c=this.b;b.bubbles=!0;qg(c,Fg,b,a);c=this.b;b.bubbles=!1;qg(c,Gg,b,a);qg(this.b,sg,b,a)};k.rp=function(a){a.preventDefault();Dg(this,a,this.wl)};k.wl=function(a,b){var c=this.a[b.pointerId];if(c){var d=c.out,e=c.Lh;qg(this.b,tg,b,a);d&&e!==b.target&&(d.relatedTarget=b.target,b.relatedTarget=e,d.target=e,b.target?(wg(this.b,d,a),vg(this.b,b,a)):(b.target=e,b.relatedTarget=null,this.Ue(a,b)));c.out=b;c.Lh=b.target}};
k.qp=function(a){Eg(this,a);Dg(this,a,this.tp)};k.tp=function(a,b){qg(this.b,ug,b,a);this.b.out(b,a);var c=this.b;b.bubbles=!1;qg(c,Hg,b,a);delete this.a[b.pointerId];b.isPrimary&&(this.g=void 0,this.f=pa.setTimeout(this.ci.bind(this),200))};k.pp=function(a){Dg(this,a,this.Ue)};k.Ue=function(a,b){qg(this.b,rg,b,a);this.b.out(b,a);var c=this.b;b.bubbles=!1;qg(c,Hg,b,a);delete this.a[b.pointerId];b.isPrimary&&(this.g=void 0,this.f=pa.setTimeout(this.ci.bind(this),200))};
function Eg(a,b){var c=a.l.g,d=b.changedTouches[0];if(a.g===d.identifier){var e=[d.clientX,d.clientY];c.push(e);pa.setTimeout(function(){kb(c,e)},2500)}};function Ig(a){Xa.call(this);this.i=a;this.g={};this.c={};this.a=[];fg?Jg(this,new zg(this)):gg?Jg(this,new xg(this)):(a=new mg(this),Jg(this,a),eg&&Jg(this,new Bg(this,a)));a=this.a.length;for(var b,c=0;c<a;c++)b=this.a[c],Kg(this,Object.keys(b.c))}x(Ig,Xa);function Jg(a,b){var c=Object.keys(b.c);c&&(c.forEach(function(a){var c=b.c[a];c&&(this.c[a]=c.bind(b))},a),a.a.push(b))}Ig.prototype.f=function(a){var b=this.c[a.type];b&&b(a)};
function Kg(a,b){b.forEach(function(a){B(this.i,a,this.f,this)},a)}function Lg(a,b){b.forEach(function(a){Qa(this.i,a,this.f,this)},a)}function pg(a,b){for(var c={},d,e=0,f=Mg.length;e<f;e++)d=Mg[e][0],c[d]=a[d]||b[d]||Mg[e][1];return c}Ig.prototype.out=function(a,b){a.bubbles=!0;qg(this,Ng,a,b)};function wg(a,b,c){a.out(b,c);var d=b.target,e=b.relatedTarget;d&&e&&d.contains(e)||(b.bubbles=!1,qg(a,Hg,b,c))}
function vg(a,b,c){b.bubbles=!0;qg(a,Fg,b,c);var d=b.target,e=b.relatedTarget;d&&e&&d.contains(e)||(b.bubbles=!1,qg(a,Gg,b,c))}function qg(a,b,c,d){a.b(new Pf(b,d,c))}function Ag(a,b){a.b(new Pf(b.type,b,b))}Ig.prototype.ka=function(){for(var a=this.a.length,b,c=0;c<a;c++)b=this.a[c],Lg(this,Object.keys(b.c));Xa.prototype.ka.call(this)};
var tg="pointermove",sg="pointerdown",ug="pointerup",Fg="pointerover",Ng="pointerout",Gg="pointerenter",Hg="pointerleave",rg="pointercancel",Mg=[["bubbles",!1],["cancelable",!1],["view",null],["detail",null],["screenX",0],["screenY",0],["clientX",0],["clientY",0],["ctrlKey",!1],["altKey",!1],["shiftKey",!1],["metaKey",!1],["button",0],["relatedTarget",null],["buttons",0],["pointerId",0],["width",0],["height",0],["pressure",0],["tiltX",0],["tiltY",0],["pointerType",""],["hwTimestamp",0],["isPrimary",
!1],["type",""],["target",null],["currentTarget",null],["which",0]];function Og(a,b,c,d,e){Oe.call(this,a,b,e);this.originalEvent=c;this.pixel=b.Td(c);this.coordinate=b.Ma(this.pixel);this.dragging=void 0!==d?d:!1}x(Og,Oe);Og.prototype.preventDefault=function(){Oe.prototype.preventDefault.call(this);this.originalEvent.preventDefault()};Og.prototype.stopPropagation=function(){Oe.prototype.stopPropagation.call(this);this.originalEvent.stopPropagation()};function Pg(a,b,c,d,e){Og.call(this,a,b,c.b,d,e);this.b=c}x(Pg,Og);
function Qg(a){Xa.call(this);this.f=a;this.l=0;this.o=!1;this.c=[];this.g=null;a=this.f.a;this.U=0;this.v={};this.i=new Ig(a);this.a=null;this.j=B(this.i,sg,this.$k,this);this.s=B(this.i,tg,this.No,this)}x(Qg,Xa);function Rg(a,b){var c;c=new Pg(Sg,a.f,b);a.b(c);0!==a.l?(pa.clearTimeout(a.l),a.l=0,c=new Pg(Tg,a.f,b),a.b(c)):a.l=pa.setTimeout(function(){this.l=0;var a=new Pg(Ug,this.f,b);this.b(a)}.bind(a),250)}
function Vg(a,b){b.type==Wg||b.type==Xg?delete a.v[b.pointerId]:b.type==Yg&&(a.v[b.pointerId]=!0);a.U=Object.keys(a.v).length}k=Qg.prototype;k.Qg=function(a){Vg(this,a);var b=new Pg(Wg,this.f,a);this.b(b);!this.o&&0===a.button&&Rg(this,this.g);0===this.U&&(this.c.forEach(Ka),this.c.length=0,this.o=!1,this.g=null,Ta(this.a),this.a=null)};
k.$k=function(a){Vg(this,a);var b=new Pg(Yg,this.f,a);this.b(b);this.g=a;0===this.c.length&&(this.a=new Ig(document),this.c.push(B(this.a,Zg,this.Sl,this),B(this.a,Wg,this.Qg,this),B(this.i,Xg,this.Qg,this)))};k.Sl=function(a){if(a.clientX!=this.g.clientX||a.clientY!=this.g.clientY){this.o=!0;var b=new Pg($g,this.f,a,this.o);this.b(b)}a.preventDefault()};k.No=function(a){this.b(new Pg(a.type,this.f,a,!(!this.g||a.clientX==this.g.clientX&&a.clientY==this.g.clientY)))};
k.ka=function(){this.s&&(Ka(this.s),this.s=null);this.j&&(Ka(this.j),this.j=null);this.c.forEach(Ka);this.c.length=0;this.a&&(Ta(this.a),this.a=null);this.i&&(Ta(this.i),this.i=null);Xa.prototype.ka.call(this)};var Ug="singleclick",Sg="click",Tg="dblclick",$g="pointerdrag",Zg="pointermove",Yg="pointerdown",Wg="pointerup",Xg="pointercancel",ah={Mp:Ug,Bp:Sg,Cp:Tg,Fp:$g,Ip:Zg,Ep:Yg,Lp:Wg,Kp:"pointerover",Jp:"pointerout",Gp:"pointerenter",Hp:"pointerleave",Dp:Xg};var bh=Array(6);function ch(){return[1,0,0,1,0,0]}function dh(a){return eh(a,1,0,0,1,0,0)}function fh(a,b){var c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5],l=b[0],m=b[1],n=b[2],p=b[3],q=b[4],r=b[5];a[0]=c*l+e*m;a[1]=d*l+f*m;a[2]=c*n+e*p;a[3]=d*n+f*p;a[4]=c*q+e*r+g;a[5]=d*q+f*r+h;return a}function eh(a,b,c,d,e,f,g){a[0]=b;a[1]=c;a[2]=d;a[3]=e;a[4]=f;a[5]=g;return a}function gh(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];return a}
function hh(a,b){var c=b[0],d=b[1];b[0]=a[0]*c+a[2]*d+a[4];b[1]=a[1]*c+a[3]*d+a[5];return b}function ih(a,b){var c=Math.cos(b),d=Math.sin(b);fh(a,eh(bh,c,d,-d,c,0,0))}function jh(a,b,c){return fh(a,eh(bh,b,0,0,c,0,0))}function kh(a,b,c){fh(a,eh(bh,1,0,0,1,b,c))}function lh(a,b,c,d,e,f,g,h){var l=Math.sin(f);f=Math.cos(f);a[0]=d*f;a[1]=e*l;a[2]=-d*l;a[3]=e*f;a[4]=g*d*f-h*d*l+b;a[5]=g*e*l+h*e*f+c;return a}
function mh(a){var b=a[0]*a[3]-a[1]*a[2],c=a[0],d=a[1],e=a[2],f=a[3],g=a[4],h=a[5];a[0]=f/b;a[1]=-d/b;a[2]=-e/b;a[3]=c/b;a[4]=(e*h-f*g)/b;a[5]=-(c*h-d*g)/b;return a};function nh(a){bb.call(this);var b=Ca({},a);b.opacity=void 0!==a.opacity?a.opacity:1;b.visible=void 0!==a.visible?a.visible:!0;b.zIndex=void 0!==a.zIndex?a.zIndex:0;b.maxResolution=void 0!==a.maxResolution?a.maxResolution:Infinity;b.minResolution=void 0!==a.minResolution?a.minResolution:0;this.G(b)}x(nh,bb);
function oh(a){var b=a.Qb(),c=a.kf(),d=a.yb(),e=a.H(),f=a.Rb(),g=a.Ob(),h=a.Pb();return{layer:a,opacity:sa(b,0,1),S:c,visible:d,Qc:!0,extent:e,zIndex:f,maxResolution:g,minResolution:Math.max(h,0)}}k=nh.prototype;k.H=function(){return this.get("extent")};k.Ob=function(){return this.get("maxResolution")};k.Pb=function(){return this.get("minResolution")};k.Qb=function(){return this.get("opacity")};k.yb=function(){return this.get("visible")};k.Rb=function(){return this.get("zIndex")};
k.fc=function(a){this.set("extent",a)};k.nc=function(a){this.set("maxResolution",a)};k.oc=function(a){this.set("minResolution",a)};k.gc=function(a){this.set("opacity",a)};k.hc=function(a){this.set("visible",a)};k.ic=function(a){this.set("zIndex",a)};function ph(){};function qh(a,b,c,d,e){Ua.call(this,a);this.vectorContext=b;this.frameState=c;this.context=d;this.glContext=e}x(qh,Ua);function rh(a){var b=Ca({},a);delete b.source;nh.call(this,b);this.v=this.j=this.o=null;a.map&&this.setMap(a.map);B(this,db("source"),this.fl,this);this.Fc(a.source?a.source:null)}x(rh,nh);function sh(a,b){return a.visible&&b>=a.minResolution&&b<a.maxResolution}k=rh.prototype;k.hf=function(a){a=a?a:[];a.push(oh(this));return a};k.ha=function(){return this.get("source")||null};k.kf=function(){var a=this.ha();return a?a.V():"undefined"};k.Lm=function(){this.u()};
k.fl=function(){this.v&&(Ka(this.v),this.v=null);var a=this.ha();a&&(this.v=B(a,"change",this.Lm,this));this.u()};k.setMap=function(a){this.o&&(Ka(this.o),this.o=null);a||this.u();this.j&&(Ka(this.j),this.j=null);a&&(this.o=B(a,"precompose",function(a){var c=oh(this);c.Qc=!1;c.zIndex=Infinity;a.frameState.layerStatesArray.push(c);a.frameState.layerStates[t(this)]=c},this),this.j=B(this,"change",a.render,a),this.u())};k.Fc=function(a){this.set("source",a)};function th(a,b,c,d,e){Xa.call(this);this.l=e;this.extent=a;this.f=c;this.resolution=b;this.state=d}x(th,Xa);function uh(a){a.b("change")}th.prototype.H=function(){return this.extent};th.prototype.$=function(){return this.resolution};th.prototype.V=function(){return this.state};function vh(a){Za.call(this);this.a=a}x(vh,Za);k=vh.prototype;k.sa=oa;k.Cc=function(a,b,c,d){a=hh(b.pixelToCoordinateTransform,a.slice());if(this.sa(a,b,rc,this))return c.call(d,this.a)};k.le=sc;k.Qd=function(a,b,c){return function(d,e){return tf(a,b,d,e,function(a){c[d]||(c[d]={});c[d][a.ma.toString()]=a})}};k.Om=function(a){2===a.target.V()&&wh(this)};function xh(a,b){var c=b.V();2!=c&&3!=c&&B(b,"change",a.Om,a);0==c&&(b.load(),c=b.V());return 2==c}
function wh(a){var b=a.a;b.yb()&&"ready"==b.kf()&&a.u()}function yh(a,b){b.Ah()&&a.postRenderFunctions.push(function(a,b,e){b=t(a).toString();a.Lc(e.viewState.projection,e.usedTiles[b])}.bind(null,b))}function zh(a,b){if(b){var c,d,e;d=0;for(e=b.length;d<e;++d)c=b[d],a[t(c).toString()]=c}}function Ah(a,b){var c=b.S;void 0!==c&&("string"===typeof c?a.logos[c]="":fa(c)&&(a.logos[c.src]=c.href))}
function Bh(a,b,c,d){b=t(b).toString();c=c.toString();b in a?c in a[b]?(a=a[b][c],d.ca<a.ca&&(a.ca=d.ca),d.ea>a.ea&&(a.ea=d.ea),d.fa<a.fa&&(a.fa=d.fa),d.ga>a.ga&&(a.ga=d.ga)):a[b][c]=d:(a[b]={},a[b][c]=d)}function Ch(a,b,c){return[b*(Math.round(a[0]/b)+c[0]%2/2),b*(Math.round(a[1]/b)+c[1]%2/2)]}
function Dh(a,b,c,d,e,f,g,h,l,m){var n=t(b).toString();n in a.wantedTiles||(a.wantedTiles[n]={});var p=a.wantedTiles[n];a=a.tileQueue;var q=c.minZoom,r,v,y,w,G,z;for(z=g;z>=q;--z)for(v=gf(c,f,z,v),y=c.$(z),w=v.ca;w<=v.ea;++w)for(G=v.fa;G<=v.ga;++G)g-z<=h?(r=b.bc(z,w,G,d,e),0==r.V()&&(p[r.ma.toString()]=!0,r.jb()in a.g||a.f([r,n,mf(c,r.ma),y])),void 0!==l&&l.call(m,r)):b.Yf(z,w,G,e)};function Eh(a){this.v=a.opacity;this.U=a.rotateWithView;this.j=a.rotation;this.i=a.scale;this.D=a.snapToPixel}k=Eh.prototype;k.qe=function(){return this.v};k.Xd=function(){return this.U};k.re=function(){return this.j};k.se=function(){return this.i};k.Yd=function(){return this.D};k.te=function(a){this.v=a};k.ue=function(a){this.j=a};k.ve=function(a){this.i=a};function Fh(a){a=a||{};this.c=void 0!==a.anchor?a.anchor:[.5,.5];this.f=null;this.a=void 0!==a.anchorOrigin?a.anchorOrigin:"top-left";this.o=void 0!==a.anchorXUnits?a.anchorXUnits:"fraction";this.s=void 0!==a.anchorYUnits?a.anchorYUnits:"fraction";var b=void 0!==a.crossOrigin?a.crossOrigin:null,c=void 0!==a.img?a.img:null,d=void 0!==a.imgSize?a.imgSize:null,e=a.src;void 0!==e&&0!==e.length||!c||(e=c.src||t(c).toString());var f=void 0!==a.src?0:2,g=void 0!==a.color?je(a.color):null,h=Gh.$b(),l=h.get(e,
b,g);l||(l=new Hh(c,e,d,b,f,g),h.set(e,b,g,l));this.b=l;this.C=void 0!==a.offset?a.offset:[0,0];this.g=void 0!==a.offsetOrigin?a.offsetOrigin:"top-left";this.l=null;this.A=void 0!==a.size?a.size:null;Eh.call(this,{opacity:void 0!==a.opacity?a.opacity:1,rotation:void 0!==a.rotation?a.rotation:0,scale:void 0!==a.scale?a.scale:1,snapToPixel:void 0!==a.snapToPixel?a.snapToPixel:!0,rotateWithView:void 0!==a.rotateWithView?a.rotateWithView:!1})}x(Fh,Eh);k=Fh.prototype;
k.Zb=function(){if(this.f)return this.f;var a=this.c,b=this.Gb();if("fraction"==this.o||"fraction"==this.s){if(!b)return null;a=this.c.slice();"fraction"==this.o&&(a[0]*=b[0]);"fraction"==this.s&&(a[1]*=b[1])}if("top-left"!=this.a){if(!b)return null;a===this.c&&(a=this.c.slice());if("top-right"==this.a||"bottom-right"==this.a)a[0]=-a[0]+b[0];if("bottom-left"==this.a||"bottom-right"==this.a)a[1]=-a[1]+b[1]}return this.f=a};k.jc=function(){var a=this.b;return a.c?a.c:a.a};k.ld=function(){return this.b.g};
k.td=function(){return this.b.f};k.pe=function(){var a=this.b;if(!a.o)if(a.s){var b=a.g[0],c=a.g[1],d=Ge(b,c);d.fillRect(0,0,b,c);a.o=d.canvas}else a.o=a.a;return a.o};k.Ia=function(){if(this.l)return this.l;var a=this.C;if("top-left"!=this.g){var b=this.Gb(),c=this.b.g;if(!b||!c)return null;a=a.slice();if("top-right"==this.g||"bottom-right"==this.g)a[0]=c[0]-b[0]-a[0];if("bottom-left"==this.g||"bottom-right"==this.g)a[1]=c[1]-b[1]-a[1]}return this.l=a};k.En=function(){return this.b.j};
k.Gb=function(){return this.A?this.A:this.b.g};k.pf=function(a,b){return B(this.b,"change",a,b)};k.load=function(){this.b.load()};k.Xf=function(a,b){Qa(this.b,"change",a,b)};function Hh(a,b,c,d,e,f){Xa.call(this);this.o=null;this.a=a?a:new Image;null!==d&&(this.a.crossOrigin=d);this.c=f?document.createElement("CANVAS"):null;this.l=f;this.i=null;this.f=e;this.g=c;this.j=b;this.s=!1;2==this.f&&Ih(this)}x(Hh,Xa);
function Ih(a){var b=Ge(1,1);try{b.drawImage(a.a,0,0),b.getImageData(0,0,1,1)}catch(c){a.s=!0}}Hh.prototype.v=function(){this.f=3;this.i.forEach(Ka);this.i=null;this.b("change")};
Hh.prototype.U=function(){this.f=2;this.g&&(this.a.width=this.g[0],this.a.height=this.g[1]);this.g=[this.a.width,this.a.height];this.i.forEach(Ka);this.i=null;Ih(this);if(!this.s&&null!==this.l){this.c.width=this.a.width;this.c.height=this.a.height;var a=this.c.getContext("2d");a.drawImage(this.a,0,0);for(var b=a.getImageData(0,0,this.a.width,this.a.height),c=b.data,d=this.l[0]/255,e=this.l[1]/255,f=this.l[2]/255,g=0,h=c.length;g<h;g+=4)c[g]*=d,c[g+1]*=e,c[g+2]*=f;a.putImageData(b,0,0)}this.b("change")};
Hh.prototype.load=function(){if(0==this.f){this.f=1;this.i=[Pa(this.a,"error",this.v,this),Pa(this.a,"load",this.U,this)];try{this.a.src=this.j}catch(a){this.v()}}};function Gh(){this.b={};this.a=0}ca(Gh);Gh.prototype.clear=function(){this.b={};this.a=0};Gh.prototype.get=function(a,b,c){a=b+":"+a+":"+(c?le(c):"null");return a in this.b?this.b[a]:null};Gh.prototype.set=function(a,b,c,d){this.b[b+":"+a+":"+(c?le(c):"null")]=d;++this.a};function Jh(a,b){this.i=b;this.g={};this.s={}}x(Jh,Sa);function Kh(a){var b=a.viewState,c=a.coordinateToPixelTransform,d=a.pixelToCoordinateTransform;lh(c,a.size[0]/2,a.size[1]/2,1/b.resolution,-1/b.resolution,-b.rotation,-b.center[0],-b.center[1]);mh(gh(d,c))}k=Jh.prototype;k.ka=function(){for(var a in this.g)Ta(this.g[a])};function Lh(){var a=Gh.$b();if(32<a.a){var b=0,c,d;for(c in a.b)d=a.b[c],0!==(b++&3)||Ya(d)||(delete a.b[c],--a.a)}}
k.sa=function(a,b,c,d,e,f){function g(a,e){var f=t(a).toString(),g=b.layerStates[t(e)].Qc;if(!(f in b.skippedFeatureUids)||g)return c.call(d,a,g?e:null)}var h,l=b.viewState,m=l.resolution,n=l.projection,l=a;if(n.a){var n=n.H(),p=jc(n),q=a[0];if(q<n[0]||q>n[2])l=[q+p*Math.ceil((n[0]-q)/p),a[1]]}n=b.layerStatesArray;for(p=n.length-1;0<=p;--p){var r=n[p],q=r.layer;if(sh(r,m)&&e.call(f,q)&&(r=Mh(this,q),q.ha()&&(h=r.sa(q.ha().C?l:a,b,g,d)),h))return h}};
k.rh=function(a,b,c,d,e,f){var g,h=b.viewState.resolution,l=b.layerStatesArray,m;for(m=l.length-1;0<=m;--m){g=l[m];var n=g.layer;if(sh(g,h)&&e.call(f,n)&&(g=Mh(this,n).Cc(a,b,c,d)))return g}};k.sh=function(a,b,c,d){return void 0!==this.sa(a,b,rc,this,c,d)};function Mh(a,b){var c=t(b).toString();if(c in a.g)return a.g[c];var d=a.Xe(b);a.g[c]=d;a.s[c]=B(d,"change",a.Rk,a);return d}k.Rk=function(){this.i.render()};k.Ce=oa;
k.To=function(a,b){for(var c in this.g)if(!(b&&c in b.layerStates)){var d=c,e=this.g[d];delete this.g[d];Ka(this.s[d]);delete this.s[d];Ta(e)}};function Nh(a,b){for(var c in a.g)if(!(c in b.layerStates)){b.postRenderFunctions.push(a.To.bind(a));break}}function ob(a,b){return a.zIndex-b.zIndex};function Oh(a,b){this.j=a;this.l=b;this.b=[];this.a=[];this.g={}}Oh.prototype.clear=function(){this.b.length=0;this.a.length=0;Da(this.g)};function Ph(a){var b=a.b,c=a.a,d=b[0];1==b.length?(b.length=0,c.length=0):(b[0]=b.pop(),c[0]=c.pop(),Qh(a,0));b=a.l(d);delete a.g[b];return d}Oh.prototype.f=function(a){var b=this.j(a);return Infinity!=b?(this.b.push(a),this.a.push(b),this.g[this.l(a)]=!0,Rh(this,0,this.b.length-1),!0):!1};Oh.prototype.wc=function(){return this.b.length};
Oh.prototype.Ya=function(){return 0===this.b.length};function Qh(a,b){for(var c=a.b,d=a.a,e=c.length,f=c[b],g=d[b],h=b;b<e>>1;){var l=2*b+1,m=2*b+2,l=m<e&&d[m]<d[l]?m:l;c[b]=c[l];d[b]=d[l];b=l}c[b]=f;d[b]=g;Rh(a,h,b)}function Rh(a,b,c){var d=a.b;a=a.a;for(var e=d[c],f=a[c];c>b;){var g=c-1>>1;if(a[g]>f)d[c]=d[g],a[c]=a[g],c=g;else break}d[c]=e;a[c]=f}
function Sh(a){var b=a.j,c=a.b,d=a.a,e=0,f=c.length,g,h,l;for(h=0;h<f;++h)g=c[h],l=b(g),Infinity==l?delete a.g[a.l(g)]:(d[e]=l,c[e++]=g);c.length=e;d.length=e;for(b=(a.b.length>>1)-1;0<=b;b--)Qh(a,b)};function Th(a,b){Oh.call(this,function(b){return a.apply(null,b)},function(a){return a[0].jb()});this.s=b;this.i=0;this.c={}}x(Th,Oh);Th.prototype.f=function(a){var b=Oh.prototype.f.call(this,a);b&&B(a[0],"change",this.o,this);return b};Th.prototype.o=function(a){a=a.target;var b=a.V();if(2===b||3===b||4===b||5===b)Qa(a,"change",this.o,this),a=a.jb(),a in this.c&&(delete this.c[a],--this.i),this.s()};
function Uh(a,b,c){for(var d=0,e,f;a.i<b&&d<c&&0<a.wc();)e=Ph(a)[0],f=e.jb(),0!==e.V()||f in a.c||(a.c[f]=!0,++a.i,++d,e.load())};function Vh(a,b,c){this.f=a;this.g=b;this.i=c;this.b=[];this.a=this.c=0}function Wh(a,b){var c=a.f,d=a.a,e=a.g-d,f=Math.log(a.g/a.a)/a.f;return Td({source:b,duration:f,easing:function(a){return d*(Math.exp(c*a*f)-1)/e}})};function Xh(a){bb.call(this);this.v=null;this.i(!0);this.handleEvent=a.handleEvent}x(Xh,bb);Xh.prototype.f=function(){return this.get("active")};Xh.prototype.l=function(){return this.v};Xh.prototype.i=function(a){this.set("active",a)};Xh.prototype.setMap=function(a){this.v=a};function Yh(a,b,c,d,e){if(void 0!==c){var f=b.La(),g=b.ab();void 0!==f&&g&&e&&0<e&&(a.Wa(Ud({rotation:f,duration:e,easing:Nd})),d&&a.Wa(Td({source:g,duration:e,easing:Nd})));b.rotate(c,d)}}
function Zh(a,b,c,d,e){var f=b.$();c=b.constrainResolution(f,c,0);$h(a,b,c,d,e)}function $h(a,b,c,d,e){if(c){var f=b.$(),g=b.ab();void 0!==f&&g&&c!==f&&e&&0<e&&(a.Wa(Vd({resolution:f,duration:e,easing:Nd})),d&&a.Wa(Td({source:g,duration:e,easing:Nd})));if(d){var h;a=b.ab();e=b.$();void 0!==a&&void 0!==e&&(h=[d[0]-c*(d[0]-a[0])/e,d[1]-c*(d[1]-a[1])/e]);b.nb(h)}b.Vb(c)}};function ai(a){a=a?a:{};this.a=a.delta?a.delta:1;Xh.call(this,{handleEvent:bi});this.c=void 0!==a.duration?a.duration:250}x(ai,Xh);function bi(a){var b=!1,c=a.originalEvent;if(a.type==Tg){var b=a.map,d=a.coordinate,c=c.shiftKey?-this.a:this.a,e=b.aa();Zh(b,e,c,d,this.c);a.preventDefault();b=!0}return!b};function ci(a){a=a.originalEvent;return a.altKey&&!(a.metaKey||a.ctrlKey)&&a.shiftKey}function di(a){a=a.originalEvent;return 0==a.button&&!(we&&Zf&&a.ctrlKey)}function ei(a){return"pointermove"==a.type}function fi(a){return a.type==Ug}function gi(a){a=a.originalEvent;return!a.altKey&&!(a.metaKey||a.ctrlKey)&&!a.shiftKey}function hi(a){a=a.originalEvent;return!a.altKey&&!(a.metaKey||a.ctrlKey)&&a.shiftKey}
function ii(a){a=a.originalEvent.target.tagName;return"INPUT"!==a&&"SELECT"!==a&&"TEXTAREA"!==a}function ji(a){return"mouse"==a.b.pointerType}function ki(a){a=a.b;return a.isPrimary&&0===a.button};function li(a){a=a?a:{};Xh.call(this,{handleEvent:a.handleEvent?a.handleEvent:mi});this.Oe=a.handleDownEvent?a.handleDownEvent:sc;this.Pe=a.handleDragEvent?a.handleDragEvent:oa;this.Mi=a.handleMoveEvent?a.handleMoveEvent:oa;this.tj=a.handleUpEvent?a.handleUpEvent:sc;this.D=!1;this.ia={};this.o=[]}x(li,Xh);function ni(a){for(var b=a.length,c=0,d=0,e=0;e<b;e++)c+=a[e].clientX,d+=a[e].clientY;return[c/b,d/b]}
function mi(a){if(!(a instanceof Pg))return!0;var b=!1,c=a.type;if(c===Yg||c===$g||c===Wg)c=a.b,a.type==Wg?delete this.ia[c.pointerId]:a.type==Yg?this.ia[c.pointerId]=c:c.pointerId in this.ia&&(this.ia[c.pointerId]=c),this.o=Ea(this.ia);this.D&&(a.type==$g?this.Pe(a):a.type==Wg&&(this.D=this.tj(a)));a.type==Yg?(this.D=a=this.Oe(a),b=this.Gc(a)):a.type==Zg&&this.Mi(a);return!b}li.prototype.Gc=function(a){return a};function oi(a){li.call(this,{handleDownEvent:pi,handleDragEvent:qi,handleUpEvent:ri});a=a?a:{};this.a=a.kinetic;this.c=this.j=null;this.A=a.condition?a.condition:gi;this.s=!1}x(oi,li);function qi(a){var b=ni(this.o);this.a&&this.a.b.push(b[0],b[1],Date.now());if(this.c){var c=this.c[0]-b[0],d=b[1]-this.c[1];a=a.map;var e=a.aa(),f=e.V(),d=c=[c,d],g=f.resolution;d[0]*=g;d[1]*=g;Db(c,f.rotation);yb(c,f.center);c=e.Pd(c);a.render();e.nb(c)}this.c=b}
function ri(a){a=a.map;var b=a.aa();if(0===this.o.length){var c;if(c=!this.s&&this.a)if(c=this.a,6>c.b.length)c=!1;else{var d=Date.now()-c.i,e=c.b.length-3;if(c.b[e+2]<d)c=!1;else{for(var f=e-3;0<f&&c.b[f+2]>d;)f-=3;var d=c.b[e+2]-c.b[f+2],g=c.b[e]-c.b[f],e=c.b[e+1]-c.b[f+1];c.c=Math.atan2(e,g);c.a=Math.sqrt(g*g+e*e)/d;c=c.a>c.g}}c&&(c=this.a,c=(c.g-c.a)/c.f,e=this.a.c,f=b.ab(),this.j=Wh(this.a,f),a.Wa(this.j),f=a.Ga(f),c=a.Ma([f[0]-c*Math.cos(e),f[1]-c*Math.sin(e)]),c=b.Pd(c),b.nb(c));Ld(b,-1);a.render();
return!1}this.c=null;return!0}function pi(a){if(0<this.o.length&&this.A(a)){var b=a.map,c=b.aa();this.c=null;this.D||Ld(c,1);b.render();this.j&&kb(b.S,this.j)&&(c.nb(a.frameState.viewState.center),this.j=null);this.a&&(a=this.a,a.b.length=0,a.c=0,a.a=0);this.s=1<this.o.length;return!0}return!1}oi.prototype.Gc=sc;function si(a){a=a?a:{};li.call(this,{handleDownEvent:ti,handleDragEvent:ui,handleUpEvent:vi});this.c=a.condition?a.condition:ci;this.a=void 0;this.j=void 0!==a.duration?a.duration:250}x(si,li);function ui(a){if(ji(a)){var b=a.map,c=b.Za();a=a.pixel;c=Math.atan2(c[1]/2-a[1],a[0]-c[0]/2);if(void 0!==this.a){a=c-this.a;var d=b.aa(),e=d.La();b.render();Yh(b,d,e-a)}this.a=c}}
function vi(a){if(!ji(a))return!0;a=a.map;var b=a.aa();Ld(b,-1);var c=b.La(),d=this.j,c=b.constrainRotation(c,0);Yh(a,b,c,void 0,d);return!1}function ti(a){return ji(a)&&di(a)&&this.c(a)?(a=a.map,Ld(a.aa(),1),a.render(),this.a=void 0,!0):!1}si.prototype.Gc=sc;function wi(a){this.f=null;this.a=document.createElement("div");this.a.style.position="absolute";this.a.className="ol-box "+a;this.g=this.c=this.b=null}x(wi,Sa);wi.prototype.ka=function(){this.setMap(null)};function xi(a){var b=a.c,c=a.g;a=a.a.style;a.left=Math.min(b[0],c[0])+"px";a.top=Math.min(b[1],c[1])+"px";a.width=Math.abs(c[0]-b[0])+"px";a.height=Math.abs(c[1]-b[1])+"px"}
wi.prototype.setMap=function(a){if(this.b){this.b.A.removeChild(this.a);var b=this.a.style;b.left=b.top=b.width=b.height="inherit"}(this.b=a)&&this.b.A.appendChild(this.a)};function yi(a){var b=a.c,c=a.g,b=[b,[b[0],c[1]],c,[c[0],b[1]]].map(a.b.Ma,a.b);b[4]=b[0].slice();a.f?a.f.ra([b]):a.f=new E([b])}wi.prototype.X=function(){return this.f};function zi(a,b,c){Ua.call(this,a);this.coordinate=b;this.mapBrowserEvent=c}x(zi,Ua);function Ai(a){li.call(this,{handleDownEvent:Bi,handleDragEvent:Ci,handleUpEvent:Di});a=a?a:{};this.a=new wi(a.className||"ol-dragbox");this.c=null;this.C=a.condition?a.condition:rc;this.A=a.boxEndCondition?a.boxEndCondition:Ei}x(Ai,li);function Ei(a,b,c){a=c[0]-b[0];b=c[1]-b[1];return 64<=a*a+b*b}
function Ci(a){if(ji(a)){var b=this.a,c=a.pixel;b.c=this.c;b.g=c;yi(b);xi(b);this.b(new zi("boxdrag",a.coordinate,a))}}Ai.prototype.X=function(){return this.a.X()};Ai.prototype.s=oa;function Di(a){if(!ji(a))return!0;this.a.setMap(null);this.A(a,this.c,a.pixel)&&(this.s(a),this.b(new zi("boxend",a.coordinate,a)));return!1}
function Bi(a){if(ji(a)&&di(a)&&this.C(a)){this.c=a.pixel;this.a.setMap(a.map);var b=this.a,c=this.c;b.c=this.c;b.g=c;yi(b);xi(b);this.b(new zi("boxstart",a.coordinate,a));return!0}return!1};function Fi(a){a=a?a:{};var b=a.condition?a.condition:hi;this.j=void 0!==a.duration?a.duration:200;this.S=void 0!==a.out?a.out:!1;Ai.call(this,{condition:b,className:a.className||"ol-dragzoom"})}x(Fi,Ai);
Fi.prototype.s=function(){var a=this.v,b=a.aa(),c=a.Za(),d=this.X().H();if(this.S){var e=b.Kc(c),d=[a.Ga(cc(d)),a.Ga(ec(d))],f=Vb(Infinity,Infinity,-Infinity,-Infinity,void 0),g,h;g=0;for(h=d.length;g<h;++g)Lb(f,d[g]);pc(e,1/Hd(f,c));d=e}c=b.constrainResolution(Hd(d,c));e=b.$();f=b.ab();a.Wa(Vd({resolution:e,duration:this.j,easing:Nd}));a.Wa(Td({source:f,duration:this.j,easing:Nd}));b.nb(lc(d));b.Vb(c)};function Gi(a){Xh.call(this,{handleEvent:Hi});a=a||{};this.a=function(a){return gi(a)&&ii(a)};this.c=void 0!==a.condition?a.condition:this.a;this.o=void 0!==a.duration?a.duration:100;this.j=void 0!==a.pixelDelta?a.pixelDelta:128}x(Gi,Xh);
function Hi(a){var b=!1;if("keydown"==a.type){var c=a.originalEvent.keyCode;if(this.c(a)&&(40==c||37==c||39==c||38==c)){var d=a.map,b=d.aa(),e=b.$()*this.j,f=0,g=0;40==c?g=-e:37==c?f=-e:39==c?f=e:g=e;c=[f,g];Db(c,b.La());e=this.o;if(f=b.ab())e&&0<e&&d.Wa(Td({source:f,duration:e,easing:Rd})),d=b.Pd([f[0]+c[0],f[1]+c[1]]),b.nb(d);a.preventDefault();b=!0}}return!b};function Ii(a){Xh.call(this,{handleEvent:Ji});a=a?a:{};this.c=a.condition?a.condition:ii;this.a=a.delta?a.delta:1;this.o=void 0!==a.duration?a.duration:100}x(Ii,Xh);function Ji(a){var b=!1;if("keydown"==a.type||"keypress"==a.type){var c=a.originalEvent.charCode;if(this.c(a)&&(43==c||45==c)){b=a.map;c=43==c?this.a:-this.a;b.render();var d=b.aa();Zh(b,d,c,void 0,this.o);a.preventDefault();b=!0}}return!b};function Ki(a){Xh.call(this,{handleEvent:Li});a=a||{};this.c=0;this.D=void 0!==a.duration?a.duration:250;this.s=void 0!==a.useAnchor?a.useAnchor:!0;this.a=null;this.j=this.o=void 0}x(Ki,Xh);
function Li(a){var b=!1;if("wheel"==a.type||"mousewheel"==a.type){var b=a.map,c=a.originalEvent;this.s&&(this.a=a.coordinate);var d;"wheel"==a.type?(d=c.deltaY,Xf&&c.deltaMode===pa.WheelEvent.DOM_DELTA_PIXEL&&(d/=$f),c.deltaMode===pa.WheelEvent.DOM_DELTA_LINE&&(d*=40)):"mousewheel"==a.type&&(d=-c.wheelDeltaY,Yf&&(d/=3));this.c+=d;void 0===this.o&&(this.o=Date.now());d=Math.max(80-(Date.now()-this.o),0);pa.clearTimeout(this.j);this.j=pa.setTimeout(this.A.bind(this,b),d);a.preventDefault();b=!0}return!b}
Ki.prototype.A=function(a){var b=sa(this.c,-1,1),c=a.aa();a.render();Zh(a,c,-b,this.a,this.D);this.c=0;this.a=null;this.j=this.o=void 0};Ki.prototype.C=function(a){this.s=a;a||(this.a=null)};function Mi(a){li.call(this,{handleDownEvent:Ni,handleDragEvent:Oi,handleUpEvent:Pi});a=a||{};this.c=null;this.j=void 0;this.a=!1;this.s=0;this.C=void 0!==a.threshold?a.threshold:.3;this.A=void 0!==a.duration?a.duration:250}x(Mi,li);
function Oi(a){var b=0,c=this.o[0],d=this.o[1],c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);void 0!==this.j&&(b=c-this.j,this.s+=b,!this.a&&Math.abs(this.s)>this.C&&(this.a=!0));this.j=c;a=a.map;c=a.a.getBoundingClientRect();d=ni(this.o);d[0]-=c.left;d[1]-=c.top;this.c=a.Ma(d);this.a&&(c=a.aa(),d=c.La(),a.render(),Yh(a,c,d+b,this.c))}
function Pi(a){if(2>this.o.length){a=a.map;var b=a.aa();Ld(b,-1);if(this.a){var c=b.La(),d=this.c,e=this.A,c=b.constrainRotation(c,0);Yh(a,b,c,d,e)}return!1}return!0}function Ni(a){return 2<=this.o.length?(a=a.map,this.c=null,this.j=void 0,this.a=!1,this.s=0,this.D||Ld(a.aa(),1),a.render(),!0):!1}Mi.prototype.Gc=sc;function Qi(a){li.call(this,{handleDownEvent:Ri,handleDragEvent:Si,handleUpEvent:Ti});a=a?a:{};this.c=null;this.s=void 0!==a.duration?a.duration:400;this.a=void 0;this.j=1}x(Qi,li);function Si(a){var b=1,c=this.o[0],d=this.o[1],e=c.clientX-d.clientX,c=c.clientY-d.clientY,e=Math.sqrt(e*e+c*c);void 0!==this.a&&(b=this.a/e);this.a=e;1!=b&&(this.j=b);a=a.map;var e=a.aa(),c=e.$(),d=a.a.getBoundingClientRect(),f=ni(this.o);f[0]-=d.left;f[1]-=d.top;this.c=a.Ma(f);a.render();$h(a,e,c*b,this.c)}
function Ti(a){if(2>this.o.length){a=a.map;var b=a.aa();Ld(b,-1);var c=b.$(),d=this.c,e=this.s,c=b.constrainResolution(c,0,this.j-1);$h(a,b,c,d,e);return!1}return!0}function Ri(a){return 2<=this.o.length?(a=a.map,this.c=null,this.a=void 0,this.j=1,this.D||Ld(a.aa(),1),a.render(),!0):!1}Qi.prototype.Gc=sc;function Ui(a){a=a?a:{};var b=new be,c=new Vh(-.005,.05,100);(void 0!==a.altShiftDragRotate?a.altShiftDragRotate:1)&&b.push(new si);(void 0!==a.doubleClickZoom?a.doubleClickZoom:1)&&b.push(new ai({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.dragPan?a.dragPan:1)&&b.push(new oi({kinetic:c}));(void 0!==a.pinchRotate?a.pinchRotate:1)&&b.push(new Mi);(void 0!==a.pinchZoom?a.pinchZoom:1)&&b.push(new Qi({duration:a.zoomDuration}));if(void 0!==a.keyboard?a.keyboard:1)b.push(new Gi),b.push(new Ii({delta:a.zoomDelta,
duration:a.zoomDuration}));(void 0!==a.mouseWheelZoom?a.mouseWheelZoom:1)&&b.push(new Ki({duration:a.zoomDuration}));(void 0!==a.shiftDragZoom?a.shiftDragZoom:1)&&b.push(new Fi({duration:a.zoomDuration}));return b};function Vi(a){var b=a||{};a=Ca({},b);delete a.layers;b=b.layers;nh.call(this,a);this.f=[];this.a={};B(this,db("layers"),this.Tk,this);b?Array.isArray(b)&&(b=new be(b.slice())):b=new be;this.oh(b)}x(Vi,nh);k=Vi.prototype;k.ce=function(){this.yb()&&this.u()};
k.Tk=function(){this.f.forEach(Ka);this.f.length=0;var a=this.Tc();this.f.push(B(a,"add",this.Sk,this),B(a,"remove",this.Uk,this));for(var b in this.a)this.a[b].forEach(Ka);Da(this.a);var a=a.a,c,d;b=0;for(c=a.length;b<c;b++)d=a[b],this.a[t(d).toString()]=[B(d,"propertychange",this.ce,this),B(d,"change",this.ce,this)];this.u()};k.Sk=function(a){a=a.element;var b=t(a).toString();this.a[b]=[B(a,"propertychange",this.ce,this),B(a,"change",this.ce,this)];this.u()};
k.Uk=function(a){a=t(a.element).toString();this.a[a].forEach(Ka);delete this.a[a];this.u()};k.Tc=function(){return this.get("layers")};k.oh=function(a){this.set("layers",a)};
k.hf=function(a){var b=void 0!==a?a:[],c=b.length;this.Tc().forEach(function(a){a.hf(b)});a=oh(this);var d,e;for(d=b.length;c<d;c++)e=b[c],e.opacity*=a.opacity,e.visible=e.visible&&a.visible,e.maxResolution=Math.min(e.maxResolution,a.maxResolution),e.minResolution=Math.max(e.minResolution,a.minResolution),void 0!==a.extent&&(e.extent=void 0!==e.extent?nc(e.extent,a.extent):a.extent);return b};k.kf=function(){return"ready"};function Wi(a){wc.call(this,{code:a,units:"m",extent:Xi,global:!0,worldExtent:Yi})}x(Wi,wc);Wi.prototype.getPointResolution=function(a,b){return a/ta(b[1]/6378137)};var Zi=6378137*Math.PI,Xi=[-Zi,-Zi,Zi,Zi],Yi=[-180,-85,180,85],Ic="EPSG:3857 EPSG:102100 EPSG:102113 EPSG:900913 urn:ogc:def:crs:EPSG:6.18:3:3857 urn:ogc:def:crs:EPSG::3857 http://www.opengis.net/gml/srs/epsg.xml#3857".split(" ").map(function(a){return new Wi(a)});
function Jc(a,b,c){var d=a.length;c=1<c?c:2;void 0===b&&(2<c?b=a.slice():b=Array(d));for(var e=0;e<d;e+=c)b[e]=6378137*Math.PI*a[e]/180,b[e+1]=6378137*Math.log(Math.tan(Math.PI*(a[e+1]+90)/360));return b}function Kc(a,b,c){var d=a.length;c=1<c?c:2;void 0===b&&(2<c?b=a.slice():b=Array(d));for(var e=0;e<d;e+=c)b[e]=180*a[e]/(6378137*Math.PI),b[e+1]=360*Math.atan(Math.exp(a[e+1]/6378137))/Math.PI-90;return b};var $i=new tc(6378137);function aj(a,b){wc.call(this,{code:a,units:"degrees",extent:bj,axisOrientation:b,global:!0,metersPerUnit:cj,worldExtent:bj})}x(aj,wc);aj.prototype.getPointResolution=function(a){return a};
var bj=[-180,-90,180,90],cj=Math.PI*$i.radius/180,Lc=[new aj("CRS:84"),new aj("EPSG:4326","neu"),new aj("urn:ogc:def:crs:EPSG::4326","neu"),new aj("urn:ogc:def:crs:EPSG:6.6:4326","neu"),new aj("urn:ogc:def:crs:OGC:1.3:CRS84"),new aj("urn:ogc:def:crs:OGC:2:84"),new aj("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new aj("urn:x-ogc:def:crs:EPSG:4326","neu")];function dj(){Ac(Ic);Ac(Lc);Hc()};function ej(a){rh.call(this,a?a:{})}x(ej,rh);function F(a){a=a?a:{};var b=Ca({},a);delete b.preload;delete b.useInterimTilesOnError;rh.call(this,b);this.l(void 0!==a.preload?a.preload:0);this.A(void 0!==a.useInterimTilesOnError?a.useInterimTilesOnError:!0)}x(F,rh);F.prototype.f=function(){return this.get("preload")};F.prototype.l=function(a){this.set("preload",a)};F.prototype.c=function(){return this.get("useInterimTilesOnError")};F.prototype.A=function(a){this.set("useInterimTilesOnError",a)};var fj=[0,0,0,1],gj=[],hj=[0,0,0,1];function ij(a,b,c,d){0!==b&&(a.translate(c,d),a.rotate(b),a.translate(-c,-d))};function jj(a){a=a||{};this.b=void 0!==a.color?a.color:null;this.a=void 0}jj.prototype.g=function(){return this.b};jj.prototype.f=function(a){this.b=a;this.a=void 0};function kj(a){void 0===a.a&&(a.a=a.b instanceof CanvasPattern||a.b instanceof CanvasGradient?t(a.b).toString():"f"+(a.b?le(a.b):"-"));return a.a};function lj(){this.a=-1};function mj(){this.a=64;this.b=Array(4);this.c=Array(this.a);this.b[0]=1732584193;this.b[1]=4023233417;this.b[2]=2562383102;this.b[3]=271733878;this.f=this.g=0}(function(){function a(){}a.prototype=lj.prototype;mj.a=lj.prototype;mj.prototype=new a;mj.prototype.constructor=mj;mj.b=function(a,c,d){for(var e=Array(arguments.length-2),f=2;f<arguments.length;f++)e[f-2]=arguments[f];return lj.prototype[c].apply(a,e)}})();
function nj(a,b,c){c||(c=0);var d=Array(16);if(ea(b))for(var e=0;16>e;++e)d[e]=b.charCodeAt(c++)|b.charCodeAt(c++)<<8|b.charCodeAt(c++)<<16|b.charCodeAt(c++)<<24;else for(e=0;16>e;++e)d[e]=b[c++]|b[c++]<<8|b[c++]<<16|b[c++]<<24;b=a.b[0];c=a.b[1];var e=a.b[2],f=a.b[3],g;g=b+(f^c&(e^f))+d[0]+3614090360&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[1]+3905402710&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[2]+606105819&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+
d[3]+3250441966&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[4]+4118548399&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[5]+1200080426&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[6]+2821735955&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[7]+4249261313&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[8]+1770035416&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[9]+2336552879&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&
(b^c))+d[10]+4294925233&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[11]+2304563134&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[12]+1804603682&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[13]+4254626195&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[14]+2792965006&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[15]+1236535329&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(e^f&(c^e))+d[1]+4129170786&4294967295;b=c+(g<<5&4294967295|g>>>
27);g=f+(c^e&(b^c))+d[6]+3225465664&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[11]+643717713&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[0]+3921069994&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[5]+3593408605&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[10]+38016083&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[15]+3634488961&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[4]+3889429448&4294967295;c=e+(g<<20&4294967295|
g>>>12);g=b+(e^f&(c^e))+d[9]+568446438&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[14]+3275163606&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[3]+4107603335&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[8]+1163531501&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[13]+2850285829&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[2]+4243563512&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[7]+1735328473&4294967295;e=f+(g<<14&4294967295|
g>>>18);g=c+(f^b&(e^f))+d[12]+2368359562&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(c^e^f)+d[5]+4294588738&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[8]+2272392833&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[11]+1839030562&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[14]+4259657740&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[1]+2763975236&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[4]+1272893353&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^
b^c)+d[7]+4139469664&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[10]+3200236656&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[13]+681279174&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[0]+3936430074&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[3]+3572445317&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[6]+76029189&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[9]+3654602809&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[12]+3873151461&4294967295;
f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[15]+530742520&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[2]+3299628645&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(e^(c|~f))+d[0]+4096336452&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[7]+1126891415&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[14]+2878612391&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[5]+4237533241&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[12]+1700485571&4294967295;b=c+
(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[3]+2399980690&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[10]+4293915773&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[1]+2240044497&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[8]+1873313359&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[15]+4264355552&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[6]+2734768916&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[13]+1309151649&4294967295;
c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[4]+4149444226&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[11]+3174756917&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[2]+718787259&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[9]+3951481745&4294967295;a.b[0]=a.b[0]+b&4294967295;a.b[1]=a.b[1]+(e+(g<<21&4294967295|g>>>11))&4294967295;a.b[2]=a.b[2]+e&4294967295;a.b[3]=a.b[3]+f&4294967295}
function oj(a,b){var c;void 0===c&&(c=b.length);for(var d=c-a.a,e=a.c,f=a.g,g=0;g<c;){if(0==f)for(;g<=d;)nj(a,b,g),g+=a.a;if(ea(b))for(;g<c;){if(e[f++]=b.charCodeAt(g++),f==a.a){nj(a,e);f=0;break}}else for(;g<c;)if(e[f++]=b[g++],f==a.a){nj(a,e);f=0;break}}a.g=f;a.f+=c};function pj(a){a=a||{};this.b=void 0!==a.color?a.color:null;this.f=a.lineCap;this.g=void 0!==a.lineDash?a.lineDash:null;this.c=a.lineJoin;this.i=a.miterLimit;this.a=a.width;this.l=void 0}k=pj.prototype;k.Kn=function(){return this.b};k.dk=function(){return this.f};k.Ln=function(){return this.g};k.ek=function(){return this.c};k.jk=function(){return this.i};k.Mn=function(){return this.a};k.Nn=function(a){this.b=a;this.l=void 0};k.fp=function(a){this.f=a;this.l=void 0};
k.On=function(a){this.g=a;this.l=void 0};k.gp=function(a){this.c=a;this.l=void 0};k.hp=function(a){this.i=a;this.l=void 0};k.lp=function(a){this.a=a;this.l=void 0};
function qj(a){if(void 0===a.l){var b="s"+(a.b?le(a.b):"-")+","+(void 0!==a.f?a.f.toString():"-")+","+(a.g?a.g.toString():"-")+","+(void 0!==a.c?a.c:"-")+","+(void 0!==a.i?a.i.toString():"-")+","+(void 0!==a.a?a.a.toString():"-"),c=new mj;oj(c,b);b=Array((56>c.g?c.a:2*c.a)-c.g);b[0]=128;for(var d=1;d<b.length-8;++d)b[d]=0;for(var e=8*c.f,d=b.length-8;d<b.length;++d)b[d]=e&255,e/=256;oj(c,b);b=Array(16);for(d=e=0;4>d;++d)for(var f=0;32>f;f+=8)b[e++]=c.b[d]>>>f&255;if(8192>=b.length)c=String.fromCharCode.apply(null,
b);else for(c="",d=0;d<b.length;d+=8192)e=fe(b,d,d+8192),c+=String.fromCharCode.apply(null,e);a.l=c}return a.l};function rj(a){a=a||{};this.l=this.f=this.c=null;this.g=void 0!==a.fill?a.fill:null;this.b=void 0!==a.stroke?a.stroke:null;this.a=a.radius;this.A=[0,0];this.s=this.C=this.o=null;var b=a.atlasManager,c,d=null,e,f=0;this.b&&(e=le(this.b.b),f=this.b.a,void 0===f&&(f=1),d=this.b.g,ag||(d=null));var g=2*(this.a+f)+1;e={strokeStyle:e,Bd:f,size:g,lineDash:d};if(void 0===b)b=Ge(g,g),this.f=b.canvas,c=g=this.f.width,this.Gh(e,b,0,0),this.g?this.l=this.f:(b=Ge(e.size,e.size),this.l=b.canvas,this.Fh(e,b,0,0));
else{g=Math.round(g);(d=!this.g)&&(c=this.Fh.bind(this,e));var f=this.b?qj(this.b):"-",h=this.g?kj(this.g):"-";this.c&&f==this.c[1]&&h==this.c[2]&&this.a==this.c[3]||(this.c=["c"+f+h+(void 0!==this.a?this.a.toString():"-"),f,h,this.a]);b=b.add(this.c[0],g,g,this.Gh.bind(this,e),c);this.f=b.image;this.A=[b.offsetX,b.offsetY];c=b.image.width;this.l=d?b.Sg:this.f}this.o=[g/2,g/2];this.C=[g,g];this.s=[c,c];Eh.call(this,{opacity:1,rotateWithView:!1,rotation:0,scale:1,snapToPixel:void 0!==a.snapToPixel?
a.snapToPixel:!0})}x(rj,Eh);k=rj.prototype;k.Zb=function(){return this.o};k.Bn=function(){return this.g};k.pe=function(){return this.l};k.jc=function(){return this.f};k.td=function(){return 2};k.ld=function(){return this.s};k.Ia=function(){return this.A};k.Cn=function(){return this.a};k.Gb=function(){return this.C};k.Dn=function(){return this.b};k.pf=oa;k.load=oa;k.Xf=oa;
k.Gh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();b.arc(a.size/2,a.size/2,this.a,0,2*Math.PI,!0);this.g&&(b.fillStyle=ne(this.g.b),b.fill());this.b&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.Bd,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};
k.Fh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();b.arc(a.size/2,a.size/2,this.a,0,2*Math.PI,!0);b.fillStyle=le(fj);b.fill();this.b&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.Bd,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};function sj(a){a=a||{};this.i=null;this.g=tj;void 0!==a.geometry&&this.Jh(a.geometry);this.c=void 0!==a.fill?a.fill:null;this.a=void 0!==a.image?a.image:null;this.f=void 0!==a.stroke?a.stroke:null;this.l=void 0!==a.text?a.text:null;this.b=a.zIndex}k=sj.prototype;k.X=function(){return this.i};k.Zj=function(){return this.g};k.Pn=function(){return this.c};k.Qn=function(){return this.a};k.Rn=function(){return this.f};k.Ha=function(){return this.l};k.Sn=function(){return this.b};
k.Jh=function(a){"function"===typeof a?this.g=a:"string"===typeof a?this.g=function(b){return b.get(a)}:a?a&&(this.g=function(){return a}):this.g=tj;this.i=a};k.Tn=function(a){this.b=a};function uj(a){if("function"!==typeof a){var b;b=Array.isArray(a)?a:[a];a=function(){return b}}return a}var vj=null;function wj(){if(!vj){var a=new jj({color:"rgba(255,255,255,0.4)"}),b=new pj({color:"#3399CC",width:1.25});vj=[new sj({image:new rj({fill:a,stroke:b,radius:5}),fill:a,stroke:b})]}return vj}
function xj(){var a={},b=[255,255,255,1],c=[0,153,255,1];a.Polygon=[new sj({fill:new jj({color:[255,255,255,.5]})})];a.MultiPolygon=a.Polygon;a.LineString=[new sj({stroke:new pj({color:b,width:5})}),new sj({stroke:new pj({color:c,width:3})})];a.MultiLineString=a.LineString;a.Circle=a.Polygon.concat(a.LineString);a.Point=[new sj({image:new rj({radius:6,fill:new jj({color:c}),stroke:new pj({color:b,width:1.5})}),zIndex:Infinity})];a.MultiPoint=a.Point;a.GeometryCollection=a.Polygon.concat(a.LineString,
a.Point);return a}function tj(a){return a.X()};function I(a){a=a?a:{};var b=Ca({},a);delete b.style;delete b.renderBuffer;delete b.updateWhileAnimating;delete b.updateWhileInteracting;rh.call(this,b);this.a=void 0!==a.renderBuffer?a.renderBuffer:100;this.A=null;this.i=void 0;this.l(a.style);this.P=void 0!==a.updateWhileAnimating?a.updateWhileAnimating:!1;this.T=void 0!==a.updateWhileInteracting?a.updateWhileInteracting:!1}x(I,rh);function yj(a){return a.get("renderOrder")}I.prototype.D=function(){return this.A};I.prototype.C=function(){return this.i};
I.prototype.l=function(a){this.A=void 0!==a?a:wj;this.i=null===a?void 0:uj(this.A);this.u()};function J(a){a=a?a:{};var b=Ca({},a);delete b.preload;delete b.useInterimTilesOnError;I.call(this,b);this.W(a.preload?a.preload:0);this.ia(a.useInterimTilesOnError?a.useInterimTilesOnError:!0);this.s=a.renderMode||"hybrid"}x(J,I);J.prototype.f=function(){return this.get("preload")};J.prototype.c=function(){return this.get("useInterimTilesOnError")};J.prototype.W=function(a){this.set("preload",a)};J.prototype.ia=function(a){this.set("useInterimTilesOnError",a)};function zj(a,b,c,d,e){this.f=a;this.A=b;this.c=c;this.C=d;this.Hc=e;this.i=this.b=this.a=this.ia=this.Ra=this.W=null;this.Ba=this.na=this.v=this.Aa=this.ya=this.S=0;this.Hb=!1;this.l=this.oa=0;this.za=!1;this.P=0;this.g="";this.j=this.D=this.cb=this.Sa=0;this.T=this.s=this.o=null;this.U=[];this.rb=ch()}x(zj,ph);
function Aj(a,b,c){if(a.i){b=Vc(b,0,c,2,a.C,a.U);c=a.f;var d=a.rb,e=c.globalAlpha;1!=a.v&&(c.globalAlpha=e*a.v);var f=a.oa;a.Hb&&(f+=a.Hc);var g,h;g=0;for(h=b.length;g<h;g+=2){var l=b[g]-a.S,m=b[g+1]-a.ya;a.za&&(l=Math.round(l),m=Math.round(m));if(0!==f||1!=a.l){var n=l+a.S,p=m+a.ya;lh(d,n,p,a.l,a.l,f,-n,-p);c.setTransform.apply(c,d)}c.drawImage(a.i,a.na,a.Ba,a.P,a.Aa,l,m,a.P,a.Aa)}0===f&&1==a.l||c.setTransform(1,0,0,1,0,0);1!=a.v&&(c.globalAlpha=e)}}
function Bj(a,b,c,d){var e=0;if(a.T&&""!==a.g){a.o&&Cj(a,a.o);a.s&&Dj(a,a.s);var f=a.T,g=a.f,h=a.ia;h?(h.font!=f.font&&(h.font=g.font=f.font),h.textAlign!=f.textAlign&&(h.textAlign=g.textAlign=f.textAlign),h.textBaseline!=f.textBaseline&&(h.textBaseline=g.textBaseline=f.textBaseline)):(g.font=f.font,g.textAlign=f.textAlign,g.textBaseline=f.textBaseline,a.ia={font:f.font,textAlign:f.textAlign,textBaseline:f.textBaseline});b=Vc(b,e,c,d,a.C,a.U);for(f=a.f;e<c;e+=d){g=b[e]+a.Sa;h=b[e+1]+a.cb;if(0!==a.D||
1!=a.j){var l=lh(a.rb,g,h,a.j,a.j,a.D,-g,-h);f.setTransform.apply(f,l)}a.s&&f.strokeText(a.g,g,h);a.o&&f.fillText(a.g,g,h)}0===a.D&&1==a.j||f.setTransform(1,0,0,1,0,0)}}function Ej(a,b,c,d,e,f){var g=a.f;a=Vc(b,c,d,e,a.C,a.U);g.moveTo(a[0],a[1]);b=a.length;f&&(b-=2);for(c=2;c<b;c+=2)g.lineTo(a[c],a[c+1]);f&&g.closePath();return d}function Fj(a,b,c,d,e){var f,g;f=0;for(g=d.length;f<g;++f)c=Ej(a,b,c,d[f],e,!0);return c}k=zj.prototype;
k.Rd=function(a){if(oc(this.c,a.H())){if(this.a||this.b){this.a&&Cj(this,this.a);this.b&&Dj(this,this.b);var b;b=this.C;var c=this.U,d=a.la();b=d?Vc(d,0,d.length,a.va(),b,c):null;c=b[2]-b[0];d=b[3]-b[1];c=Math.sqrt(c*c+d*d);d=this.f;d.beginPath();d.arc(b[0],b[1],c,0,2*Math.PI);this.a&&d.fill();this.b&&d.stroke()}""!==this.g&&Bj(this,a.rd(),2,2)}};k.sd=function(a){this.Tb(a.c,a.f);this.Ub(a.a);this.Wb(a.Ha())};
k.sc=function(a){switch(a.Y()){case "Point":this.uc(a);break;case "LineString":this.hd(a);break;case "Polygon":this.bf(a);break;case "MultiPoint":this.tc(a);break;case "MultiLineString":this.$e(a);break;case "MultiPolygon":this.af(a);break;case "GeometryCollection":this.Ze(a);break;case "Circle":this.Rd(a)}};k.Ye=function(a,b){var c=(0,b.g)(a);c&&oc(this.c,c.H())&&(this.sd(b),this.sc(c))};k.Ze=function(a){a=a.c;var b,c;b=0;for(c=a.length;b<c;++b)this.sc(a[b])};
k.uc=function(a){var b=a.la();a=a.va();this.i&&Aj(this,b,b.length);""!==this.g&&Bj(this,b,b.length,a)};k.tc=function(a){var b=a.la();a=a.va();this.i&&Aj(this,b,b.length);""!==this.g&&Bj(this,b,b.length,a)};k.hd=function(a){if(oc(this.c,a.H())){if(this.b){Dj(this,this.b);var b=this.f,c=a.la();b.beginPath();Ej(this,c,0,c.length,a.va(),!1);b.stroke()}""!==this.g&&(a=Gj(a),Bj(this,a,2,2))}};
k.$e=function(a){var b=a.H();if(oc(this.c,b)){if(this.b){Dj(this,this.b);var b=this.f,c=a.la(),d=0,e=a.Eb(),f=a.va();b.beginPath();var g,h;g=0;for(h=e.length;g<h;++g)d=Ej(this,c,d,e[g],f,!1);b.stroke()}""!==this.g&&(a=Hj(a),Bj(this,a,a.length,2))}};k.bf=function(a){if(oc(this.c,a.H())){if(this.b||this.a){this.a&&Cj(this,this.a);this.b&&Dj(this,this.b);var b=this.f;b.beginPath();Fj(this,a.Nb(),0,a.Eb(),a.va());this.a&&b.fill();this.b&&b.stroke()}""!==this.g&&(a=Ad(a),Bj(this,a,2,2))}};
k.af=function(a){if(oc(this.c,a.H())){if(this.b||this.a){this.a&&Cj(this,this.a);this.b&&Dj(this,this.b);var b=this.f,c=Ij(a),d=0,e=a.i,f=a.va(),g,h;g=0;for(h=e.length;g<h;++g){var l=e[g];b.beginPath();d=Fj(this,c,d,l,f);this.a&&b.fill();this.b&&b.stroke()}}""!==this.g&&(a=Jj(a),Bj(this,a,a.length,2))}};function Cj(a,b){var c=a.f,d=a.W;d?d.fillStyle!=b.fillStyle&&(d.fillStyle=c.fillStyle=b.fillStyle):(c.fillStyle=b.fillStyle,a.W={fillStyle:b.fillStyle})}
function Dj(a,b){var c=a.f,d=a.Ra;d?(d.lineCap!=b.lineCap&&(d.lineCap=c.lineCap=b.lineCap),ag&&!mb(d.lineDash,b.lineDash)&&c.setLineDash(d.lineDash=b.lineDash),d.lineJoin!=b.lineJoin&&(d.lineJoin=c.lineJoin=b.lineJoin),d.lineWidth!=b.lineWidth&&(d.lineWidth=c.lineWidth=b.lineWidth),d.miterLimit!=b.miterLimit&&(d.miterLimit=c.miterLimit=b.miterLimit),d.strokeStyle!=b.strokeStyle&&(d.strokeStyle=c.strokeStyle=b.strokeStyle)):(c.lineCap=b.lineCap,ag&&c.setLineDash(b.lineDash),c.lineJoin=b.lineJoin,c.lineWidth=
b.lineWidth,c.miterLimit=b.miterLimit,c.strokeStyle=b.strokeStyle,a.Ra={lineCap:b.lineCap,lineDash:b.lineDash,lineJoin:b.lineJoin,lineWidth:b.lineWidth,miterLimit:b.miterLimit,strokeStyle:b.strokeStyle})}
k.Tb=function(a,b){if(a){var c=a.b;this.a={fillStyle:ne(c?c:fj)}}else this.a=null;if(b){var c=b.b,d=b.f,e=b.g,f=b.c,g=b.a,h=b.i;this.b={lineCap:void 0!==d?d:"round",lineDash:e?e:gj,lineJoin:void 0!==f?f:"round",lineWidth:this.A*(void 0!==g?g:1),miterLimit:void 0!==h?h:10,strokeStyle:le(c?c:hj)}}else this.b=null};
k.Ub=function(a){if(a){var b=a.Zb(),c=a.jc(1),d=a.Ia(),e=a.Gb();this.S=b[0];this.ya=b[1];this.Aa=e[1];this.i=c;this.v=a.v;this.na=d[0];this.Ba=d[1];this.Hb=a.U;this.oa=a.j;this.l=a.i;this.za=a.D;this.P=e[0]}else this.i=null};
k.Wb=function(a){if(a){var b=a.b;b?(b=b.b,this.o={fillStyle:ne(b?b:fj)}):this.o=null;var c=a.l;if(c){var b=c.b,d=c.f,e=c.g,f=c.c,g=c.a,c=c.i;this.s={lineCap:void 0!==d?d:"round",lineDash:e?e:gj,lineJoin:void 0!==f?f:"round",lineWidth:void 0!==g?g:1,miterLimit:void 0!==c?c:10,strokeStyle:le(b?b:hj)}}else this.s=null;var b=a.g,d=a.f,e=a.c,f=a.i,g=a.a,c=a.Ha(),h=a.o;a=a.j;this.T={font:void 0!==b?b:"10px sans-serif",textAlign:void 0!==h?h:"center",textBaseline:void 0!==a?a:"middle"};this.g=void 0!==c?
c:"";this.Sa=void 0!==d?this.A*d:0;this.cb=void 0!==e?this.A*e:0;this.D=void 0!==f?f:0;this.j=this.A*(void 0!==g?g:1)}else this.g=""};function Kj(a){vh.call(this,a);this.S=ch()}x(Kj,vh);
Kj.prototype.i=function(a,b,c){Lj(this,"precompose",c,a,void 0);var d=this.f?this.f.a():null;if(d){var e=b.extent,f=void 0!==e;if(f){var g=a.pixelRatio,h=a.size[0]*g,l=a.size[1]*g,m=a.viewState.rotation,n=fc(e),p=ec(e),q=dc(e),e=cc(e);hh(a.coordinateToPixelTransform,n);hh(a.coordinateToPixelTransform,p);hh(a.coordinateToPixelTransform,q);hh(a.coordinateToPixelTransform,e);c.save();ij(c,-m,h/2,l/2);c.beginPath();c.moveTo(n[0]*g,n[1]*g);c.lineTo(p[0]*g,p[1]*g);c.lineTo(q[0]*g,q[1]*g);c.lineTo(e[0]*
g,e[1]*g);c.clip();ij(c,m,h/2,l/2)}g=this.s;h=c.globalAlpha;c.globalAlpha=b.opacity;c.drawImage(d,0,0,+d.width,+d.height,Math.round(g[4]),Math.round(g[5]),Math.round(d.width*g[0]),Math.round(d.height*g[3]));c.globalAlpha=h;f&&c.restore()}Mj(this,c,a)};
function Lj(a,b,c,d,e){var f=a.a;if(Ya(f,b)){var g=d.size[0]*d.pixelRatio,h=d.size[1]*d.pixelRatio,l=d.viewState.rotation;ij(c,-l,g/2,h/2);a=void 0!==e?e:Nj(a,d,0);f.b(new qh(b,new zj(c,d.pixelRatio,d.extent,a,d.viewState.rotation),d,c,null));ij(c,l,g/2,h/2)}}function Mj(a,b,c,d){Lj(a,"postcompose",b,c,d)}function Nj(a,b,c){var d=b.viewState,e=b.pixelRatio,f=e/d.resolution;return lh(a.S,e*b.size[0]/2,e*b.size[1]/2,f,-f,-d.rotation,-d.center[0]+c,-d.center[1])};var Oj=["Polygon","LineString","Image","Text"];function Pj(a,b,c,d){this.Ba=a;this.T=b;this.overlaps=d;this.f=null;this.c=0;this.resolution=c;this.Aa=this.ya=null;this.a=[];this.coordinates=[];this.Ra=ch();this.b=[];this.W=[];this.ia=ch();this.na=ch()}x(Pj,ph);
function Qj(a,b,c,d,e,f){var g=a.coordinates.length,h=a.df(),l=[b[c],b[c+1]],m=[NaN,NaN],n=!0,p,q,r;for(p=c+e;p<d;p+=e)m[0]=b[p],m[1]=b[p+1],r=Tb(h,m),r!==q?(n&&(a.coordinates[g++]=l[0],a.coordinates[g++]=l[1]),a.coordinates[g++]=m[0],a.coordinates[g++]=m[1],n=!1):1===r?(a.coordinates[g++]=m[0],a.coordinates[g++]=m[1],n=!1):n=!0,l[0]=m[0],l[1]=m[1],q=r;p===c+e&&(a.coordinates[g++]=l[0],a.coordinates[g++]=l[1]);f&&(a.coordinates[g++]=b[c],a.coordinates[g++]=b[c+1]);return g}
function Rj(a,b){a.ya=[0,b,0];a.a.push(a.ya);a.Aa=[0,b,0];a.b.push(a.Aa)}
function Sj(a,b,c,d,e,f,g,h,l){var m;mb(d,a.Ra)?m=a.W:(m=Vc(a.coordinates,0,a.coordinates.length,2,d,a.W),gh(a.Ra,d));d=!Ga(f);var n=0,p=g.length,q,r,v=a.ia,y=a.na,w,G,z,D,H=0,ba=0;for(a=a.a!=g||a.overlaps?0:200;n<p;){var A=g[n],Fa,Ja,M,ma;switch(A[0]){case 0:q=A[1];d&&f[t(q).toString()]||!q.X()?n=A[2]:void 0===l||oc(l,q.X().H())?++n:n=A[2];break;case 1:H>a&&(b.fill(),H=0);ba>a&&(b.stroke(),ba=0);H||ba||b.beginPath();++n;break;case 2:q=A[1];r=m[q];A=m[q+1];z=m[q+2];q=m[q+3];D=z-r;ma=q-A;D=Math.sqrt(D*
D+ma*ma);b.moveTo(z,q);b.arc(r,A,D,0,2*Math.PI,!0);++n;break;case 3:b.closePath();++n;break;case 4:q=A[1];r=A[2];Fa=A[3];M=A[4]*c;var Ub=A[5]*c,Kb=A[6];Ja=A[7];var Hb=A[8],Xb=A[9];z=A[11];D=A[12];var gc=A[13],Nb=A[14];for(A[10]&&(z+=e);q<r;q+=2){A=m[q]-M;ma=m[q+1]-Ub;gc&&(A=Math.round(A),ma=Math.round(ma));if(1!=D||0!==z){var Od=A+M,sf=ma+Ub;lh(v,Od,sf,D,D,z,-Od,-sf);b.transform.apply(b,v)}Od=b.globalAlpha;1!=Ja&&(b.globalAlpha=Od*Ja);var sf=Nb+Hb>Fa.width?Fa.width-Hb:Nb,Pd=Kb+Xb>Fa.height?Fa.height-
Xb:Kb;b.drawImage(Fa,Hb,Xb,sf,Pd,A,ma,sf*c,Pd*c);1!=Ja&&(b.globalAlpha=Od);if(1!=D||0!==z)mh(gh(y,v)),b.transform.apply(b,y)}++n;break;case 5:q=A[1];r=A[2];M=A[3];Ub=A[4]*c;Kb=A[5]*c;z=A[6];D=A[7]*c;Fa=A[8];for(Ja=A[9];q<r;q+=2){A=m[q]+Ub;ma=m[q+1]+Kb;if(1!=D||0!==z)lh(v,A,ma,D,D,z,-A,-ma),b.transform.apply(b,v);Hb=M.split("\n");Xb=Hb.length;1<Xb?(gc=Math.round(1.5*b.measureText("M").width),ma-=(Xb-1)/2*gc):gc=0;for(Nb=0;Nb<Xb;Nb++)Od=Hb[Nb],Ja&&b.strokeText(Od,A,ma),Fa&&b.fillText(Od,A,ma),ma+=gc;
if(1!=D||0!==z)mh(gh(y,v)),b.transform.apply(b,y)}++n;break;case 6:if(void 0!==h&&(q=A[1],q=h(q)))return q;++n;break;case 7:a?H++:b.fill();++n;break;case 8:q=A[1];r=A[2];A=m[q];ma=m[q+1];z=A+.5|0;D=ma+.5|0;if(z!==w||D!==G)b.moveTo(A,ma),w=z,G=D;for(q+=2;q<r;q+=2)if(A=m[q],ma=m[q+1],z=A+.5|0,D=ma+.5|0,q==r-2||z!==w||D!==G)b.lineTo(A,ma),w=z,G=D;++n;break;case 9:H&&(b.fill(),H=0);b.fillStyle=A[1];++n;break;case 10:w=void 0!==A[7]?A[7]:!0;G=A[2];ba&&(b.stroke(),ba=0);b.strokeStyle=A[1];b.lineWidth=w?
G*c:G;b.lineCap=A[3];b.lineJoin=A[4];b.miterLimit=A[5];ag&&b.setLineDash(A[6]);G=w=NaN;++n;break;case 11:b.font=A[1];b.textAlign=A[2];b.textBaseline=A[3];++n;break;case 12:a?ba++:b.stroke();++n;break;default:++n}}H&&b.fill();ba&&b.stroke()}Pj.prototype.Pa=function(a,b,c,d,e){Sj(this,a,b,c,d,e,this.a,void 0,void 0)};
function Tj(a){var b=a.b;b.reverse();var c,d=b.length,e,f,g=-1;for(c=0;c<d;++c)if(e=b[c],f=e[0],6==f)g=c;else if(0==f){e[2]=c;e=a.b;for(f=c;g<f;){var h=e[g];e[g]=e[f];e[f]=h;++g;--f}g=-1}}function Uj(a,b){a.ya[2]=a.a.length;a.ya=null;a.Aa[2]=a.b.length;a.Aa=null;var c=[6,b];a.a.push(c);a.b.push(c)}Pj.prototype.ke=oa;Pj.prototype.df=function(){return this.T};
function Vj(a,b,c,d){Pj.call(this,a,b,c,d);this.o=this.P=null;this.S=this.C=this.D=this.A=this.U=this.v=this.s=this.j=this.l=this.i=this.g=void 0}x(Vj,Pj);Vj.prototype.uc=function(a,b){if(this.o){Rj(this,b);var c=a.la(),d=this.coordinates.length,c=Qj(this,c,0,c.length,a.va(),!1);this.a.push([4,d,c,this.o,this.g,this.i,this.l,this.j,this.s,this.v,this.U,this.A,this.D,this.C,this.S]);this.b.push([4,d,c,this.P,this.g,this.i,this.l,this.j,this.s,this.v,this.U,this.A,this.D,this.C,this.S]);Uj(this,b)}};
Vj.prototype.tc=function(a,b){if(this.o){Rj(this,b);var c=a.la(),d=this.coordinates.length,c=Qj(this,c,0,c.length,a.va(),!1);this.a.push([4,d,c,this.o,this.g,this.i,this.l,this.j,this.s,this.v,this.U,this.A,this.D,this.C,this.S]);this.b.push([4,d,c,this.P,this.g,this.i,this.l,this.j,this.s,this.v,this.U,this.A,this.D,this.C,this.S]);Uj(this,b)}};Vj.prototype.ke=function(){Tj(this);this.i=this.g=void 0;this.o=this.P=null;this.S=this.C=this.A=this.U=this.v=this.s=this.j=this.D=this.l=void 0};
Vj.prototype.Ub=function(a){var b=a.Zb(),c=a.Gb(),d=a.pe(1),e=a.jc(1),f=a.Ia();this.g=b[0];this.i=b[1];this.P=d;this.o=e;this.l=c[1];this.j=a.v;this.s=f[0];this.v=f[1];this.U=a.U;this.A=a.j;this.D=a.i;this.C=a.D;this.S=c[0]};function Wj(a,b,c,d){Pj.call(this,a,b,c,d);this.g={fd:void 0,ad:void 0,bd:null,cd:void 0,dd:void 0,ed:void 0,nf:0,strokeStyle:void 0,lineCap:void 0,lineDash:null,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0}}x(Wj,Pj);
function Xj(a,b,c,d,e){var f=a.coordinates.length;b=Qj(a,b,c,d,e,!1);f=[8,f,b];a.a.push(f);a.b.push(f);return d}k=Wj.prototype;k.df=function(){this.f||(this.f=Ob(this.T),0<this.c&&Mb(this.f,this.resolution*(this.c+1)/2,this.f));return this.f};
function Yj(a){var b=a.g,c=b.strokeStyle,d=b.lineCap,e=b.lineDash,f=b.lineJoin,g=b.lineWidth,h=b.miterLimit;b.fd==c&&b.ad==d&&mb(b.bd,e)&&b.cd==f&&b.dd==g&&b.ed==h||(b.nf!=a.coordinates.length&&(a.a.push([12]),b.nf=a.coordinates.length),a.a.push([10,c,g,d,f,h,e],[1]),b.fd=c,b.ad=d,b.bd=e,b.cd=f,b.dd=g,b.ed=h)}
k.hd=function(a,b){var c=this.g,d=c.lineWidth;void 0!==c.strokeStyle&&void 0!==d&&(Yj(this),Rj(this,b),this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash],[1]),c=a.la(),Xj(this,c,0,c.length,a.va()),this.b.push([12]),Uj(this,b))};
k.$e=function(a,b){var c=this.g,d=c.lineWidth;if(void 0!==c.strokeStyle&&void 0!==d){Yj(this);Rj(this,b);this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash],[1]);var c=a.Eb(),d=a.la(),e=a.va(),f=0,g,h;g=0;for(h=c.length;g<h;++g)f=Xj(this,d,f,c[g],e);this.b.push([12]);Uj(this,b)}};k.ke=function(){this.g.nf!=this.coordinates.length&&this.a.push([12]);Tj(this);this.g=null};
k.Tb=function(a,b){var c=b.b;this.g.strokeStyle=le(c?c:hj);c=b.f;this.g.lineCap=void 0!==c?c:"round";c=b.g;this.g.lineDash=c?c:gj;c=b.c;this.g.lineJoin=void 0!==c?c:"round";c=b.a;this.g.lineWidth=void 0!==c?c:1;c=b.i;this.g.miterLimit=void 0!==c?c:10;this.g.lineWidth>this.c&&(this.c=this.g.lineWidth,this.f=null)};
function Zj(a,b,c,d){Pj.call(this,a,b,c,d);this.g={ug:void 0,fd:void 0,ad:void 0,bd:null,cd:void 0,dd:void 0,ed:void 0,fillStyle:void 0,strokeStyle:void 0,lineCap:void 0,lineDash:null,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0}}x(Zj,Pj);
function ak(a,b,c,d,e){var f=a.g,g=[1];a.a.push(g);a.b.push(g);var h,g=0;for(h=d.length;g<h;++g){var l=d[g],m=a.coordinates.length;c=Qj(a,b,c,l,e,!0);c=[8,m,c];m=[3];a.a.push(c,m);a.b.push(c,m);c=l}b=[7];a.b.push(b);void 0!==f.fillStyle&&a.a.push(b);void 0!==f.strokeStyle&&(f=[12],a.a.push(f),a.b.push(f));return c}k=Zj.prototype;
k.Rd=function(a,b){var c=this.g,d=c.strokeStyle;if(void 0!==c.fillStyle||void 0!==d){bk(this);Rj(this,b);this.b.push([9,le(fj)]);void 0!==c.strokeStyle&&this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash]);var e=a.la(),d=this.coordinates.length;Qj(this,e,0,e.length,a.va(),!1);e=[1];d=[2,d];this.a.push(e,d);this.b.push(e,d);d=[7];this.b.push(d);void 0!==c.fillStyle&&this.a.push(d);void 0!==c.strokeStyle&&(c=[12],this.a.push(c),this.b.push(c));Uj(this,b)}};
k.bf=function(a,b){var c=this.g,d=c.strokeStyle;if(void 0!==c.fillStyle||void 0!==d)bk(this),Rj(this,b),this.b.push([9,le(fj)]),void 0!==c.strokeStyle&&this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash]),c=a.Eb(),d=a.Nb(),ak(this,d,0,c,a.va()),Uj(this,b)};
k.af=function(a,b){var c=this.g,d=c.strokeStyle;if(void 0!==c.fillStyle||void 0!==d){bk(this);Rj(this,b);this.b.push([9,le(fj)]);void 0!==c.strokeStyle&&this.b.push([10,c.strokeStyle,c.lineWidth,c.lineCap,c.lineJoin,c.miterLimit,c.lineDash]);var c=a.i,d=Ij(a),e=a.va(),f=0,g,h;g=0;for(h=c.length;g<h;++g)f=ak(this,d,f,c[g],e);Uj(this,b)}};k.ke=function(){Tj(this);this.g=null;var a=this.Ba;if(0!==a){var b=this.coordinates,c,d;c=0;for(d=b.length;c<d;++c)b[c]=a*Math.round(b[c]/a)}};
k.df=function(){this.f||(this.f=Ob(this.T),0<this.c&&Mb(this.f,this.resolution*(this.c+1)/2,this.f));return this.f};
k.Tb=function(a,b){var c=this.g;if(a){var d=a.b;c.fillStyle=ne(d?d:fj)}else c.fillStyle=void 0;b?(d=b.b,c.strokeStyle=le(d?d:hj),d=b.f,c.lineCap=void 0!==d?d:"round",d=b.g,c.lineDash=d?d.slice():gj,d=b.c,c.lineJoin=void 0!==d?d:"round",d=b.a,c.lineWidth=void 0!==d?d:1,d=b.i,c.miterLimit=void 0!==d?d:10,c.lineWidth>this.c&&(this.c=c.lineWidth,this.f=null)):(c.strokeStyle=void 0,c.lineCap=void 0,c.lineDash=null,c.lineJoin=void 0,c.lineWidth=void 0,c.miterLimit=void 0)};
function bk(a){var b=a.g,c=b.fillStyle,d=b.strokeStyle,e=b.lineCap,f=b.lineDash,g=b.lineJoin,h=b.lineWidth,l=b.miterLimit;void 0!==c&&b.ug!=c&&(a.a.push([9,c]),b.ug=b.fillStyle);void 0===d||b.fd==d&&b.ad==e&&b.bd==f&&b.cd==g&&b.dd==h&&b.ed==l||(a.a.push([10,d,h,e,g,l,f]),b.fd=d,b.ad=e,b.bd=f,b.cd=g,b.dd=h,b.ed=l)}function ck(a,b,c,d){Pj.call(this,a,b,c,d);this.C=this.D=this.A=null;this.o="";this.U=this.v=this.s=this.j=0;this.l=this.i=this.g=null}x(ck,Pj);
function dk(a,b,c,d,e){if(""!==a.o&&a.l&&(a.g||a.i)){if(a.g){var f=a.g,g=a.A;if(!g||g.fillStyle!=f.fillStyle){var h=[9,f.fillStyle];a.a.push(h);a.b.push(h);g?g.fillStyle=f.fillStyle:a.A={fillStyle:f.fillStyle}}}a.i&&(f=a.i,g=a.D,g&&g.lineCap==f.lineCap&&g.lineDash==f.lineDash&&g.lineJoin==f.lineJoin&&g.lineWidth==f.lineWidth&&g.miterLimit==f.miterLimit&&g.strokeStyle==f.strokeStyle||(h=[10,f.strokeStyle,f.lineWidth,f.lineCap,f.lineJoin,f.miterLimit,f.lineDash,!1],a.a.push(h),a.b.push(h),g?(g.lineCap=
f.lineCap,g.lineDash=f.lineDash,g.lineJoin=f.lineJoin,g.lineWidth=f.lineWidth,g.miterLimit=f.miterLimit,g.strokeStyle=f.strokeStyle):a.D={lineCap:f.lineCap,lineDash:f.lineDash,lineJoin:f.lineJoin,lineWidth:f.lineWidth,miterLimit:f.miterLimit,strokeStyle:f.strokeStyle}));f=a.l;g=a.C;g&&g.font==f.font&&g.textAlign==f.textAlign&&g.textBaseline==f.textBaseline||(h=[11,f.font,f.textAlign,f.textBaseline],a.a.push(h),a.b.push(h),g?(g.font=f.font,g.textAlign=f.textAlign,g.textBaseline=f.textBaseline):a.C=
{font:f.font,textAlign:f.textAlign,textBaseline:f.textBaseline});Rj(a,e);f=a.coordinates.length;b=Qj(a,b,0,c,d,!1);b=[5,f,b,a.o,a.j,a.s,a.v,a.U,!!a.g,!!a.i];a.a.push(b);a.b.push(b);Uj(a,e)}}
ck.prototype.Wb=function(a){if(a){var b=a.b;b?(b=b.b,b=ne(b?b:fj),this.g?this.g.fillStyle=b:this.g={fillStyle:b}):this.g=null;var c=a.l;if(c){var b=c.b,d=c.f,e=c.g,f=c.c,g=c.a,c=c.i,d=void 0!==d?d:"round",e=e?e.slice():gj,f=void 0!==f?f:"round",g=void 0!==g?g:1,c=void 0!==c?c:10,b=le(b?b:hj);if(this.i){var h=this.i;h.lineCap=d;h.lineDash=e;h.lineJoin=f;h.lineWidth=g;h.miterLimit=c;h.strokeStyle=b}else this.i={lineCap:d,lineDash:e,lineJoin:f,lineWidth:g,miterLimit:c,strokeStyle:b}}else this.i=null;
var l=a.g,b=a.f,d=a.c,e=a.i,g=a.a,c=a.Ha(),f=a.o,h=a.j;a=void 0!==l?l:"10px sans-serif";f=void 0!==f?f:"center";h=void 0!==h?h:"middle";this.l?(l=this.l,l.font=a,l.textAlign=f,l.textBaseline=h):this.l={font:a,textAlign:f,textBaseline:h};this.o=void 0!==c?c:"";this.j=void 0!==b?b:0;this.s=void 0!==d?d:0;this.v=void 0!==e?e:0;this.U=void 0!==g?g:1}else this.o=""};function ek(a,b,c,d,e){this.j=a;this.g=b;this.l=d;this.o=c;this.f=e;this.a={};this.c=Ge(1,1);this.i=ch()}
function fk(a){for(var b in a.a){var c=a.a[b],d;for(d in c)c[d].ke()}}ek.prototype.sa=function(a,b,c,d,e){var f=lh(this.i,.5,.5,1/b,-1/b,-c,-a[0],-a[1]),g=this.c;g.clearRect(0,0,1,1);var h;void 0!==this.f&&(h=Jb(),Lb(h,a),Mb(h,b*this.f,h));return gk(this,g,f,c,d,function(a){if(0<g.getImageData(0,0,1,1).data[3]){if(a=e(a))return a;g.clearRect(0,0,1,1)}},h)};
ek.prototype.b=function(a,b){var c=void 0!==a?a.toString():"0",d=this.a[c];void 0===d&&(d={},this.a[c]=d);c=d[b];void 0===c&&(c=new hk[b](this.j,this.g,this.o,this.l),d[b]=c);return c};ek.prototype.Ya=function(){return Ga(this.a)};
ek.prototype.Pa=function(a,b,c,d,e,f){var g=Object.keys(this.a).map(Number);g.sort(fb);var h=this.g,l=h[0],m=h[1],n=h[2],h=h[3],l=[l,m,l,h,n,h,n,m];Vc(l,0,8,2,c,l);a.save();a.beginPath();a.moveTo(l[0],l[1]);a.lineTo(l[2],l[3]);a.lineTo(l[4],l[5]);a.lineTo(l[6],l[7]);a.closePath();a.clip();f=f?f:Oj;for(var p,q,l=0,m=g.length;l<m;++l)for(p=this.a[g[l].toString()],n=0,h=f.length;n<h;++n)q=p[f[n]],void 0!==q&&q.Pa(a,b,c,d,e);a.restore()};
function gk(a,b,c,d,e,f,g){var h=Object.keys(a.a).map(Number);h.sort(function(a,b){return b-a});var l,m,n,p,q;l=0;for(m=h.length;l<m;++l)for(p=a.a[h[l].toString()],n=Oj.length-1;0<=n;--n)if(q=p[Oj[n]],void 0!==q&&(q=Sj(q,b,1,c,d,e,q.b,f,g)))return q}var hk={Image:Vj,LineString:Wj,Polygon:Zj,Text:ck};function ik(a,b,c,d){this.g=a;this.b=b;this.c=c;this.f=d}k=ik.prototype;k.get=function(a){return this.f[a]};k.Eb=function(){return this.c};k.H=function(){this.a||(this.a="Point"===this.g?Wb(this.b):Yb(this.b,0,this.b.length,2));return this.a};k.Nb=function(){return this.b};k.la=ik.prototype.Nb;k.X=function(){return this};k.Nm=function(){return this.f};k.od=ik.prototype.X;k.va=function(){return 2};k.ec=oa;k.Y=function(){return this.g};function jk(a,b){return t(a)-t(b)}function kk(a,b){var c=.5*a/b;return c*c}function lk(a,b,c,d,e,f){var g=!1,h,l;if(h=c.a)l=h.td(),2==l||3==l?h.Xf(e,f):(0==l&&h.load(),h.pf(e,f),g=!0);if(e=(0,c.g)(b))d=e.od(d),(0,mk[d.Y()])(a,d,c,b);return g}
var mk={Point:function(a,b,c,d){var e=c.a;if(e){if(2!=e.td())return;var f=a.b(c.b,"Image");f.Ub(e);f.uc(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),dk(a,b.la(),2,2,d)},LineString:function(a,b,c,d){var e=c.f;if(e){var f=a.b(c.b,"LineString");f.Tb(null,e);f.hd(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),dk(a,Gj(b),2,2,d)},Polygon:function(a,b,c,d){var e=c.c,f=c.f;if(e||f){var g=a.b(c.b,"Polygon");g.Tb(e,f);g.bf(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),dk(a,Ad(b),2,2,d)},MultiPoint:function(a,b,c,d){var e=
c.a;if(e){if(2!=e.td())return;var f=a.b(c.b,"Image");f.Ub(e);f.tc(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),c=b.la(),dk(a,c,c.length,b.va(),d)},MultiLineString:function(a,b,c,d){var e=c.f;if(e){var f=a.b(c.b,"LineString");f.Tb(null,e);f.$e(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),b=Hj(b),dk(a,b,b.length,2,d)},MultiPolygon:function(a,b,c,d){var e=c.c,f=c.f;if(f||e){var g=a.b(c.b,"Polygon");g.Tb(e,f);g.af(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),b=Jj(b),dk(a,b,b.length,2,d)},GeometryCollection:function(a,
b,c,d){b=b.c;var e,f;e=0;for(f=b.length;e<f;++e)(0,mk[b[e].Y()])(a,b[e],c,d)},Circle:function(a,b,c,d){var e=c.c,f=c.f;if(e||f){var g=a.b(c.b,"Polygon");g.Tb(e,f);g.Rd(b,d)}if(e=c.Ha())a=a.b(c.b,"Text"),a.Wb(e),dk(a,b.rd(),2,2,d)}};function nk(a,b,c,d,e,f){this.c=void 0!==f?f:null;th.call(this,a,b,c,void 0!==f?0:2,d);this.g=e}x(nk,th);nk.prototype.i=function(a){this.state=a?3:2;uh(this)};nk.prototype.load=function(){0==this.state&&(this.state=1,uh(this),this.c(this.i.bind(this)))};nk.prototype.a=function(){return this.g};var ok,pk=pa.navigator,qk=pa.chrome,rk=-1<pk.userAgent.indexOf("OPR"),sk=-1<pk.userAgent.indexOf("Edge");ok=!(!pk.userAgent.match("CriOS")&&null!==qk&&void 0!==qk&&"Google Inc."===pk.vendor&&0==rk&&0==sk);function tk(a,b,c,d){var e=Sc(c,b,a);c=b.getPointResolution(d,c);b=b.ac();void 0!==b&&(c*=b);b=a.ac();void 0!==b&&(c/=b);a=a.getPointResolution(c,e)/c;isFinite(a)&&0<a&&(c/=a);return c}function uk(a,b,c,d){a=c-a;b=d-b;var e=Math.sqrt(a*a+b*b);return[Math.round(c+a/e),Math.round(d+b/e)]}
function vk(a,b,c,d,e,f,g,h,l,m,n){var p=Ge(Math.round(c*a),Math.round(c*b));if(0===l.length)return p.canvas;p.scale(c,c);var q=Jb();l.forEach(function(a){ac(q,a.extent)});var r=Ge(Math.round(c*jc(q)/d),Math.round(c*kc(q)/d)),v=c/d;l.forEach(function(a){r.drawImage(a.image,m,m,a.image.width-2*m,a.image.height-2*m,(a.extent[0]-q[0])*v,-(a.extent[3]-q[3])*v,jc(a.extent)*v,kc(a.extent)*v)});var y=fc(g);h.f.forEach(function(a){var b=a.source,e=a.target,g=b[1][0],h=b[1][1],l=b[2][0],m=b[2][1];a=(e[0][0]-
y[0])/f;var n=-(e[0][1]-y[1])/f,v=(e[1][0]-y[0])/f,M=-(e[1][1]-y[1])/f,ma=(e[2][0]-y[0])/f,Ub=-(e[2][1]-y[1])/f,e=b[0][0],b=b[0][1],g=g-e,h=h-b,l=l-e,m=m-b;a:{g=[[g,h,0,0,v-a],[l,m,0,0,ma-a],[0,0,g,h,M-n],[0,0,l,m,Ub-n]];h=g.length;for(l=0;l<h;l++){for(var m=l,Kb=Math.abs(g[l][l]),Hb=l+1;Hb<h;Hb++){var Xb=Math.abs(g[Hb][l]);Xb>Kb&&(Kb=Xb,m=Hb)}if(0===Kb){g=null;break a}Kb=g[m];g[m]=g[l];g[l]=Kb;for(m=l+1;m<h;m++)for(Kb=-g[m][l]/g[l][l],Hb=l;Hb<h+1;Hb++)g[m][Hb]=l==Hb?0:g[m][Hb]+Kb*g[l][Hb]}l=Array(h);
for(m=h-1;0<=m;m--)for(l[m]=g[m][h]/g[m][m],Kb=m-1;0<=Kb;Kb--)g[Kb][h]-=g[Kb][m]*l[m];g=l}g&&(p.save(),p.beginPath(),ok?(l=(a+v+ma)/3,m=(n+M+Ub)/3,h=uk(l,m,a,n),v=uk(l,m,v,M),ma=uk(l,m,ma,Ub),p.moveTo(h[0],h[1]),p.lineTo(v[0],v[1]),p.lineTo(ma[0],ma[1])):(p.moveTo(a,n),p.lineTo(v,M),p.lineTo(ma,Ub)),p.closePath(),p.clip(),p.transform(g[0],g[2],g[1],g[3],a,n),p.translate(q[0]-e,q[3]-b),p.scale(d/c,-d/c),p.drawImage(r.canvas,0,0),p.restore())});n&&(p.save(),p.strokeStyle="black",p.lineWidth=1,h.f.forEach(function(a){var b=
a.target;a=(b[0][0]-y[0])/f;var c=-(b[0][1]-y[1])/f,d=(b[1][0]-y[0])/f,e=-(b[1][1]-y[1])/f,g=(b[2][0]-y[0])/f,b=-(b[2][1]-y[1])/f;p.beginPath();p.moveTo(a,c);p.lineTo(d,e);p.lineTo(g,b);p.closePath();p.stroke()}),p.restore());return p.canvas};function wk(a,b,c,d,e){this.g=a;this.c=b;var f={},g=Qc(this.c,this.g);this.a=function(a){var b=a[0]+"/"+a[1];f[b]||(f[b]=g(a));return f[b]};this.i=d;this.s=e*e;this.f=[];this.o=!1;this.j=this.g.a&&!!d&&!!this.g.H()&&jc(d)==jc(this.g.H());this.b=this.g.H()?jc(this.g.H()):null;this.l=this.c.H()?jc(this.c.H()):null;a=fc(c);b=ec(c);d=dc(c);c=cc(c);e=this.a(a);var h=this.a(b),l=this.a(d),m=this.a(c);xk(this,a,b,d,c,e,h,l,m,10);if(this.o){var n=Infinity;this.f.forEach(function(a){n=Math.min(n,a.source[0][0],
a.source[1][0],a.source[2][0])});this.f.forEach(function(a){if(Math.max(a.source[0][0],a.source[1][0],a.source[2][0])-n>this.b/2){var b=[[a.source[0][0],a.source[0][1]],[a.source[1][0],a.source[1][1]],[a.source[2][0],a.source[2][1]]];b[0][0]-n>this.b/2&&(b[0][0]-=this.b);b[1][0]-n>this.b/2&&(b[1][0]-=this.b);b[2][0]-n>this.b/2&&(b[2][0]-=this.b);Math.max(b[0][0],b[1][0],b[2][0])-Math.min(b[0][0],b[1][0],b[2][0])<this.b/2&&(a.source=b)}},this)}f={}}
function xk(a,b,c,d,e,f,g,h,l,m){var n=Ib([f,g,h,l]),p=a.b?jc(n)/a.b:null,q=a.g.a&&.5<p&&1>p,r=!1;if(0<m){if(a.c.g&&a.l)var v=Ib([b,c,d,e]),r=r|.25<jc(v)/a.l;!q&&a.g.g&&p&&(r|=.25<p)}if(r||!a.i||oc(n,a.i)){if(!(r||isFinite(f[0])&&isFinite(f[1])&&isFinite(g[0])&&isFinite(g[1])&&isFinite(h[0])&&isFinite(h[1])&&isFinite(l[0])&&isFinite(l[1])))if(0<m)r=!0;else return;if(0<m&&(r||(p=a.a([(b[0]+d[0])/2,(b[1]+d[1])/2]),n=q?(xa(f[0],a.b)+xa(h[0],a.b))/2-xa(p[0],a.b):(f[0]+h[0])/2-p[0],p=(f[1]+h[1])/2-p[1],
r=n*n+p*p>a.s),r)){Math.abs(b[0]-d[0])<=Math.abs(b[1]-d[1])?(q=[(c[0]+d[0])/2,(c[1]+d[1])/2],n=a.a(q),p=[(e[0]+b[0])/2,(e[1]+b[1])/2],r=a.a(p),xk(a,b,c,q,p,f,g,n,r,m-1),xk(a,p,q,d,e,r,n,h,l,m-1)):(q=[(b[0]+c[0])/2,(b[1]+c[1])/2],n=a.a(q),p=[(d[0]+e[0])/2,(d[1]+e[1])/2],r=a.a(p),xk(a,b,q,p,e,f,n,r,l,m-1),xk(a,q,c,d,p,n,g,h,r,m-1));return}if(q){if(!a.j)return;a.o=!0}a.f.push({source:[f,h,l],target:[b,d,e]});a.f.push({source:[f,g,h],target:[b,c,d]})}}
function yk(a){var b=Jb();a.f.forEach(function(a){a=a.source;Lb(b,a[0]);Lb(b,a[1]);Lb(b,a[2])});return b};function zk(a,b,c,d,e,f){this.v=b;this.s=a.H();var g=b.H(),h=g?nc(c,g):c,g=tk(a,b,lc(h),d);this.o=new wk(a,b,h,this.s,.5*g);this.c=d;this.g=c;a=yk(this.o);this.j=(this.pb=f(a,g,e))?this.pb.f:1;this.Ad=this.i=null;e=2;f=[];this.pb&&(e=0,f=this.pb.l);th.call(this,c,d,this.j,e,f)}x(zk,th);zk.prototype.ka=function(){1==this.state&&(Ka(this.Ad),this.Ad=null);th.prototype.ka.call(this)};zk.prototype.a=function(){return this.i};
zk.prototype.zd=function(){var a=this.pb.V();2==a&&(this.i=vk(jc(this.g)/this.c,kc(this.g)/this.c,this.j,this.pb.$(),0,this.c,this.g,this.o,[{extent:this.pb.H(),image:this.pb.a()}],0));this.state=a;uh(this)};zk.prototype.load=function(){if(0==this.state){this.state=1;uh(this);var a=this.pb.V();2==a||3==a?this.zd():(this.Ad=B(this.pb,"change",function(){var a=this.pb.V();if(2==a||3==a)Ka(this.Ad),this.Ad=null,this.zd()},this),this.pb.load())}};function Ak(a){af.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state});this.D=void 0!==a.resolutions?a.resolutions:null;this.a=null;this.na=0}x(Ak,af);function Bk(a,b){if(a.D){var c=hb(a.D,b,0);b=a.D[c]}return b}
Ak.prototype.A=function(a,b,c,d){var e=this.f;if(e&&d&&!Pc(e,d)){if(this.a){if(this.na==this.g&&Pc(this.a.v,d)&&this.a.$()==b&&this.a.f==c&&$b(this.a.H(),a))return this.a;Ta(this.a);this.a=null}this.a=new zk(e,d,a,b,c,function(a,b,c){return this.Mc(a,b,c,e)}.bind(this));this.na=this.g;return this.a}e&&(d=e);return this.Mc(a,b,c,d)};Ak.prototype.o=function(a){a=a.target;switch(a.V()){case 1:this.b(new Ck(Dk,a));break;case 2:this.b(new Ck(Ek,a));break;case 3:this.b(new Ck(Fk,a))}};
function Gk(a,b){a.a().src=b}function Ck(a,b){Ua.call(this,a);this.image=b}x(Ck,Ua);var Dk="imageloadstart",Ek="imageloadend",Fk="imageloaderror";function Hk(a){Ak.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions,state:a.state});this.ia=a.canvasFunction;this.T=null;this.W=0;this.oa=void 0!==a.ratio?a.ratio:1.5}x(Hk,Ak);Hk.prototype.Mc=function(a,b,c,d){b=Bk(this,b);var e=this.T;if(e&&this.W==this.g&&e.$()==b&&e.f==c&&Sb(e.H(),a))return e;a=a.slice();pc(a,this.oa);(d=this.ia(a,b,c,[jc(a)/b*c,kc(a)/b*c],d))&&(e=new nk(a,b,c,this.l,d));this.T=e;this.W=this.g;return e};function Ik(a){bb.call(this);this.i=void 0;this.a="geometry";this.c=null;this.l=void 0;this.f=null;B(this,db(this.a),this.be,this);void 0!==a&&(a instanceof Uc||!a?this.Ua(a):this.G(a))}x(Ik,bb);k=Ik.prototype;k.clone=function(){var a=new Ik(this.O());a.Ec(this.a);var b=this.X();b&&a.Ua(b.clone());(b=this.c)&&a.sf(b);return a};k.X=function(){return this.get(this.a)};k.Xa=function(){return this.i};k.$j=function(){return this.a};k.Jl=function(){return this.c};k.ec=function(){return this.l};k.Kl=function(){this.u()};
k.be=function(){this.f&&(Ka(this.f),this.f=null);var a=this.X();a&&(this.f=B(a,"change",this.Kl,this));this.u()};k.Ua=function(a){this.set(this.a,a)};k.sf=function(a){this.l=(this.c=a)?Jk(a):void 0;this.u()};k.mc=function(a){this.i=a;this.u()};k.Ec=function(a){Qa(this,db(this.a),this.be,this);this.a=a;B(this,db(this.a),this.be,this);this.be()};function Jk(a){if("function"!==typeof a){var b;b=Array.isArray(a)?a:[a];a=function(){return b}}return a};function Kk(a,b,c,d,e){We.call(this,a,b);this.g=Ge();this.l=d;this.c=null;this.f={gd:!1,Tf:null,bi:-1,Uf:-1,yd:null,ui:[]};this.v=e;this.j=c}x(Kk,We);k=Kk.prototype;k.$a=function(){return-1==this.f.Uf?null:this.g.canvas};k.Ul=function(){return this.l};k.jb=function(){return this.j};k.load=function(){0==this.state&&(this.state=1,Xe(this),this.v(this,this.j),this.s(null,NaN,null))};k.gi=function(a){this.c=a;this.state=2;Xe(this)};k.vf=function(a){this.o=a};k.ki=function(a){this.s=a};var Lk=document.implementation.createDocument("","",null);function Mk(a,b){return Lk.createElementNS(a,b)}function Nk(a,b){return Ok(a,b,[]).join("")}function Ok(a,b,c){if(a.nodeType==Node.CDATA_SECTION_NODE||a.nodeType==Node.TEXT_NODE)b?c.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):c.push(a.nodeValue);else for(a=a.firstChild;a;a=a.nextSibling)Ok(a,b,c);return c}function Pk(a){return a instanceof Document}function Qk(a){return a instanceof Node}
function Rk(a){return(new DOMParser).parseFromString(a,"application/xml")}function Sk(a,b){return function(c,d){var e=a.call(b,c,d);void 0!==e&&jb(d[d.length-1],e)}}function Tk(a,b){return function(c,d){var e=a.call(void 0!==b?b:this,c,d);void 0!==e&&d[d.length-1].push(e)}}function Uk(a,b){return function(c,d){var e=a.call(void 0!==b?b:this,c,d);void 0!==e&&(d[d.length-1]=e)}}
function Vk(a){return function(b,c){var d=a.call(this,b,c);if(void 0!==d){var e=c[c.length-1],f=b.localName,g;f in e?g=e[f]:g=e[f]=[];g.push(d)}}}function K(a,b){return function(c,d){var e=a.call(this,c,d);void 0!==e&&(d[d.length-1][void 0!==b?b:c.localName]=e)}}function L(a,b){return function(c,d,e){a.call(void 0!==b?b:this,c,d,e);e[e.length-1].node.appendChild(c)}}
function Wk(a){var b,c;return function(d,e,f){if(!b){b={};var g={};g[d.localName]=a;b[d.namespaceURI]=g;c=Xk(d.localName)}Yk(b,c,e,f)}}function Xk(a,b){return function(c,d,e){c=d[d.length-1].node;d=a;void 0===d&&(d=e);e=b;void 0===b&&(e=c.namespaceURI);return Mk(e,d)}}var Zk=Xk();function $k(a,b){for(var c=b.length,d=Array(c),e=0;e<c;++e)d[e]=a[b[e]];return d}function N(a,b,c){c=void 0!==c?c:{};var d,e;d=0;for(e=a.length;d<e;++d)c[a[d]]=b;return c}
function al(a,b,c,d){for(b=b.firstElementChild;b;b=b.nextElementSibling){var e=a[b.namespaceURI];void 0!==e&&(e=e[b.localName])&&e.call(d,b,c)}}function O(a,b,c,d,e){d.push(a);al(b,c,d,e);return d.pop()}function Yk(a,b,c,d,e,f){for(var g=(void 0!==e?e:c).length,h,l,m=0;m<g;++m)h=c[m],void 0!==h&&(l=b.call(f,h,d,void 0!==e?e[m]:void 0),void 0!==l&&a[l.namespaceURI][l.localName].call(f,l,h,d))}function bl(a,b,c,d,e,f,g){e.push(a);Yk(b,c,d,e,f,g);e.pop()};function cl(a,b,c,d){return function(e,f,g){var h=new XMLHttpRequest;h.open("GET","function"===typeof a?a(e,f,g):a,!0);"arraybuffer"==b.Y()&&(h.responseType="arraybuffer");h.onload=function(){if(200<=h.status&&300>h.status){var a=b.Y(),e;"json"==a||"text"==a?e=h.responseText:"xml"==a?(e=h.responseXML)||(e=Rk(h.responseText)):"arraybuffer"==a&&(e=h.response);e&&c.call(this,b.Fa(e,{featureProjection:g}),b.Oa(e))}else d.call(this)}.bind(this);h.send()}}
function dl(a,b){return cl(a,b,function(a,b){this.vf(b);this.gi(a)},function(){this.state=3;Xe(this)})}function el(a,b){return cl(a,b,function(a){this.Jc(a)},oa)};function fl(){return[[-Infinity,-Infinity,Infinity,Infinity]]};var gl,hl,il,jl;
(function(){var a={},b={ja:a};(function(c){if("object"===typeof a&&"undefined"!==typeof b)b.ja=c();else{var d;"undefined"!==typeof window?d=window:"undefined"!==typeof global?d=global:"undefined"!==typeof self?d=self:d=this;d.Tp=c()}})(function(){return function d(a,b,g){function h(m,p){if(!b[m]){if(!a[m]){var q="function"==typeof require&&require;if(!p&&q)return q(m,!0);if(l)return l(m,!0);q=Error("Cannot find module '"+m+"'");throw q.code="MODULE_NOT_FOUND",q;}q=b[m]={ja:{}};a[m][0].call(q.ja,function(b){var d=
a[m][1][b];return h(d?d:b)},q,q.ja,d,a,b,g)}return b[m].ja}for(var l="function"==typeof require&&require,m=0;m<g.length;m++)h(g[m]);return h}({1:[function(a,b){function f(a,b,d,e,q){d=d||0;e=e||a.length-1;for(q=q||h;e>d;){if(600<e-d){var r=e-d+1,v=b-d+1,y=Math.log(r),w=.5*Math.exp(2*y/3),y=.5*Math.sqrt(y*w*(r-w)/r)*(0>v-r/2?-1:1);f(a,b,Math.max(d,Math.floor(b-v*w/r+y)),Math.min(e,Math.floor(b+(r-v)*w/r+y)),q)}r=a[b];v=d;w=e;g(a,d,b);for(0<q(a[e],r)&&g(a,d,e);v<w;){g(a,v,w);v++;for(w--;0>q(a[v],r);)v++;
for(;0<q(a[w],r);)w--}0===q(a[d],r)?g(a,d,w):(w++,g(a,w,e));w<=b&&(d=w+1);b<=w&&(e=w-1)}}function g(a,b,d){var e=a[b];a[b]=a[d];a[d]=e}function h(a,b){return a<b?-1:a>b?1:0}b.ja=f},{}],2:[function(a,b){function f(a,b){if(!(this instanceof f))return new f(a,b);this.Te=Math.max(4,a||9);this.hg=Math.max(2,Math.ceil(.4*this.Te));b&&this.mj(b);this.clear()}function g(a,b){h(a,0,a.children.length,b,a)}function h(a,b,d,e,f){f||(f=y(null));f.ca=Infinity;f.fa=Infinity;f.ea=-Infinity;f.ga=-Infinity;for(var g;b<
d;b++)g=a.children[b],l(f,a.Ta?e(g):g);return f}function l(a,b){a.ca=Math.min(a.ca,b.ca);a.fa=Math.min(a.fa,b.fa);a.ea=Math.max(a.ea,b.ea);a.ga=Math.max(a.ga,b.ga)}function m(a,b){return a.ca-b.ca}function n(a,b){return a.fa-b.fa}function p(a){return(a.ea-a.ca)*(a.ga-a.fa)}function q(a){return a.ea-a.ca+(a.ga-a.fa)}function r(a,b){return a.ca<=b.ca&&a.fa<=b.fa&&b.ea<=a.ea&&b.ga<=a.ga}function v(a,b){return b.ca<=a.ea&&b.fa<=a.ga&&b.ea>=a.ca&&b.ga>=a.fa}function y(a){return{children:a,height:1,Ta:!0,
ca:Infinity,fa:Infinity,ea:-Infinity,ga:-Infinity}}function w(a,b,d,e,f){for(var g=[b,d],h;g.length;)d=g.pop(),b=g.pop(),d-b<=e||(h=b+Math.ceil((d-b)/e/2)*e,G(a,h,b,d,f),g.push(b,h,h,d))}b.ja=f;var G=a("quickselect");f.prototype={all:function(){return this.cg(this.data,[])},search:function(a){var b=this.data,d=[],e=this.mb;if(!v(a,b))return d;for(var f=[],g,h,l,m;b;){g=0;for(h=b.children.length;g<h;g++)l=b.children[g],m=b.Ta?e(l):l,v(a,m)&&(b.Ta?d.push(l):r(a,m)?this.cg(l,d):f.push(l));b=f.pop()}return d},
load:function(a){if(!a||!a.length)return this;if(a.length<this.hg){for(var b=0,d=a.length;b<d;b++)this.Ca(a[b]);return this}a=this.eg(a.slice(),0,a.length-1,0);this.data.children.length?this.data.height===a.height?this.jg(this.data,a):(this.data.height<a.height&&(b=this.data,this.data=a,a=b),this.gg(a,this.data.height-a.height-1,!0)):this.data=a;return this},Ca:function(a){a&&this.gg(a,this.data.height-1);return this},clear:function(){this.data=y([]);return this},remove:function(a,b){if(!a)return this;
for(var d=this.data,e=this.mb(a),f=[],g=[],h,l,m,n;d||f.length;){d||(d=f.pop(),l=f[f.length-1],h=g.pop(),n=!0);if(d.Ta){a:{m=a;var p=d.children,q=b;if(q){for(var v=0;v<p.length;v++)if(q(m,p[v])){m=v;break a}m=-1}else m=p.indexOf(m)}if(-1!==m){d.children.splice(m,1);f.push(d);this.kj(f);break}}n||d.Ta||!r(d,e)?l?(h++,d=l.children[h],n=!1):d=null:(f.push(d),g.push(h),h=0,l=d,d=d.children[0])}return this},mb:function(a){return a},Ve:m,We:n,toJSON:function(){return this.data},cg:function(a,b){for(var d=
[];a;)a.Ta?b.push.apply(b,a.children):d.push.apply(d,a.children),a=d.pop();return b},eg:function(a,b,d,e){var f=d-b+1,h=this.Te,l;if(f<=h)return l=y(a.slice(b,d+1)),g(l,this.mb),l;e||(e=Math.ceil(Math.log(f)/Math.log(h)),h=Math.ceil(f/Math.pow(h,e-1)));l=y([]);l.Ta=!1;l.height=e;var f=Math.ceil(f/h),h=f*Math.ceil(Math.sqrt(h)),m,n,p;for(w(a,b,d,h,this.Ve);b<=d;b+=h)for(n=Math.min(b+h-1,d),w(a,b,n,f,this.We),m=b;m<=n;m+=f)p=Math.min(m+f-1,n),l.children.push(this.eg(a,m,p,e-1));g(l,this.mb);return l},
jj:function(a,b,d,e){for(var f,g,h,l,m,n,q,r;;){e.push(b);if(b.Ta||e.length-1===d)break;q=r=Infinity;f=0;for(g=b.children.length;f<g;f++)h=b.children[f],m=p(h),n=(Math.max(h.ea,a.ea)-Math.min(h.ca,a.ca))*(Math.max(h.ga,a.ga)-Math.min(h.fa,a.fa))-m,n<r?(r=n,q=m<q?m:q,l=h):n===r&&m<q&&(q=m,l=h);b=l||b.children[0]}return b},gg:function(a,b,d){var e=this.mb;d=d?a:e(a);var e=[],f=this.jj(d,this.data,b,e);f.children.push(a);for(l(f,d);0<=b;)if(e[b].children.length>this.Te)this.sj(e,b),b--;else break;this.gj(d,
e,b)},sj:function(a,b){var d=a[b],e=d.children.length,f=this.hg;this.hj(d,f,e);e=this.ij(d,f,e);e=y(d.children.splice(e,d.children.length-e));e.height=d.height;e.Ta=d.Ta;g(d,this.mb);g(e,this.mb);b?a[b-1].children.push(e):this.jg(d,e)},jg:function(a,b){this.data=y([a,b]);this.data.height=a.height+1;this.data.Ta=!1;g(this.data,this.mb)},ij:function(a,b,d){var e,f,g,l,m,n,q;m=n=Infinity;for(e=b;e<=d-b;e++)f=h(a,0,e,this.mb),g=h(a,e,d,this.mb),l=Math.max(0,Math.min(f.ea,g.ea)-Math.max(f.ca,g.ca))*Math.max(0,
Math.min(f.ga,g.ga)-Math.max(f.fa,g.fa)),f=p(f)+p(g),l<m?(m=l,q=e,n=f<n?f:n):l===m&&f<n&&(n=f,q=e);return q},hj:function(a,b,d){var e=a.Ta?this.Ve:m,f=a.Ta?this.We:n,g=this.dg(a,b,d,e);b=this.dg(a,b,d,f);g<b&&a.children.sort(e)},dg:function(a,b,d,e){a.children.sort(e);e=this.mb;var f=h(a,0,b,e),g=h(a,d-b,d,e),m=q(f)+q(g),n,p;for(n=b;n<d-b;n++)p=a.children[n],l(f,a.Ta?e(p):p),m+=q(f);for(n=d-b-1;n>=b;n--)p=a.children[n],l(g,a.Ta?e(p):p),m+=q(g);return m},gj:function(a,b,d){for(;0<=d;d--)l(b[d],a)},
kj:function(a){for(var b=a.length-1,d;0<=b;b--)0===a[b].children.length?0<b?(d=a[b-1].children,d.splice(d.indexOf(a[b]),1)):this.clear():g(a[b],this.mb)},mj:function(a){var b=["return a"," - b",";"];this.Ve=new Function("a","b",b.join(a[0]));this.We=new Function("a","b",b.join(a[1]));this.mb=new Function("a","return {minX: a"+a[0]+", minY: a"+a[1]+", maxX: a"+a[2]+", maxY: a"+a[3]+"};")}}},{quickselect:1}]},{},[2])(2)});gl=b.ja})();function kl(a){this.a=gl(a);this.b={}}k=kl.prototype;k.Ca=function(a,b){var c={ca:a[0],fa:a[1],ea:a[2],ga:a[3],value:b};this.a.Ca(c);this.b[t(b)]=c};k.load=function(a,b){for(var c=Array(b.length),d=0,e=b.length;d<e;d++){var f=a[d],g=b[d],f={ca:f[0],fa:f[1],ea:f[2],ga:f[3],value:g};c[d]=f;this.b[t(g)]=f}this.a.load(c)};k.remove=function(a){a=t(a);var b=this.b[a];delete this.b[a];return null!==this.a.remove(b)};
function ll(a,b,c){var d=t(c),d=a.b[d];$b([d.ca,d.fa,d.ea,d.ga],b)||(a.remove(c),a.Ca(b,c))}function ml(a){return a.a.all().map(function(a){return a.value})}function nl(a,b){return a.a.search({ca:b[0],fa:b[1],ea:b[2],ga:b[3]}).map(function(a){return a.value})}k.forEach=function(a,b){return pl(ml(this),a,b)};function ql(a,b,c,d){return pl(nl(a,b),c,d)}function pl(a,b,c){for(var d,e=0,f=a.length;e<f&&!(d=b.call(c,a[e]));e++);return d}k.Ya=function(){return Ga(this.b)};
k.clear=function(){this.a.clear();this.b={}};k.H=function(){var a=this.a.data;return[a.ca,a.fa,a.ea,a.ga]};function P(a){a=a||{};af.call(this,{attributions:a.attributions,logo:a.logo,projection:void 0,state:"ready",wrapX:void 0!==a.wrapX?a.wrapX:!0});this.P=oa;this.oa=a.format;this.T=a.overlaps||!0;this.W=a.url;void 0!==a.loader?this.P=a.loader:void 0!==this.W&&(this.P=el(this.W,this.oa));this.rb=void 0!==a.strategy?a.strategy:fl;var b=void 0!==a.useSpatialIndex?a.useSpatialIndex:!0;this.a=b?new kl:null;this.ia=new kl;this.i={};this.o={};this.j={};this.s={};this.c=null;var c,d;a.features instanceof be?
(c=a.features,d=c.a):Array.isArray(a.features)&&(d=a.features);b||void 0!==c||(c=new be(d));void 0!==d&&rl(this,d);void 0!==c&&sl(this,c)}x(P,af);k=P.prototype;k.sb=function(a){var b=t(a).toString();if(tl(this,b,a)){ul(this,b,a);var c=a.X();c?(b=c.H(),this.a&&this.a.Ca(b,a)):this.i[b]=a;this.b(new vl("addfeature",a))}this.u()};function ul(a,b,c){a.s[b]=[B(c,"change",a.Eh,a),B(c,"propertychange",a.Eh,a)]}
function tl(a,b,c){var d=!0,e=c.Xa();void 0!==e?e.toString()in a.o?d=!1:a.o[e.toString()]=c:a.j[b]=c;return d}k.Jc=function(a){rl(this,a);this.u()};function rl(a,b){var c,d,e,f,g=[],h=[],l=[];d=0;for(e=b.length;d<e;d++)f=b[d],c=t(f).toString(),tl(a,c,f)&&h.push(f);d=0;for(e=h.length;d<e;d++){f=h[d];c=t(f).toString();ul(a,c,f);var m=f.X();m?(c=m.H(),g.push(c),l.push(f)):a.i[c]=f}a.a&&a.a.load(g,l);d=0;for(e=h.length;d<e;d++)a.b(new vl("addfeature",h[d]))}
function sl(a,b){var c=!1;B(a,"addfeature",function(a){c||(c=!0,b.push(a.feature),c=!1)});B(a,"removefeature",function(a){c||(c=!0,b.remove(a.feature),c=!1)});B(b,"add",function(a){c||(a=a.element,c=!0,this.sb(a),c=!1)},a);B(b,"remove",function(a){c||(a=a.element,c=!0,this.ob(a),c=!1)},a);a.c=b}
k.clear=function(a){if(a){for(var b in this.s)this.s[b].forEach(Ka);this.c||(this.s={},this.o={},this.j={})}else if(this.a){this.a.forEach(this.Sf,this);for(var c in this.i)this.Sf(this.i[c])}this.c&&this.c.clear();this.a&&this.a.clear();this.ia.clear();this.i={};this.b(new vl("clear"));this.u()};k.wg=function(a,b){if(this.a)return this.a.forEach(a,b);if(this.c)return this.c.forEach(a,b)};function wl(a,b,c){a.vb([b[0],b[1],b[0],b[1]],function(a){if(a.X().sg(b))return c.call(void 0,a)})}
k.vb=function(a,b,c){if(this.a)return ql(this.a,a,b,c);if(this.c)return this.c.forEach(b,c)};k.xg=function(a,b,c){return this.vb(a,function(d){if(d.X().Ka(a)&&(d=b.call(c,d)))return d})};k.Fg=function(){return this.c};k.oe=function(){var a;this.c?a=this.c.a:this.a&&(a=ml(this.a),Ga(this.i)||jb(a,Ea(this.i)));return a};k.Eg=function(a){var b=[];wl(this,a,function(a){b.push(a)});return b};k.ef=function(a){return nl(this.a,a)};
k.Ag=function(a,b){var c=a[0],d=a[1],e=null,f=[NaN,NaN],g=Infinity,h=[-Infinity,-Infinity,Infinity,Infinity],l=b?b:rc;ql(this.a,h,function(a){if(l(a)){var b=a.X(),p=g;g=b.tb(c,d,f,g);g<p&&(e=a,a=Math.sqrt(g),h[0]=c-a,h[1]=d-a,h[2]=c+a,h[3]=d+a)}});return e};k.H=function(){return this.a.H()};k.Dg=function(a){a=this.o[a.toString()];return void 0!==a?a:null};k.Ch=function(){return this.oa};k.Dh=function(){return this.W};
k.Eh=function(a){a=a.target;var b=t(a).toString(),c=a.X();c?(c=c.H(),b in this.i?(delete this.i[b],this.a&&this.a.Ca(c,a)):this.a&&ll(this.a,c,a)):b in this.i||(this.a&&this.a.remove(a),this.i[b]=a);c=a.Xa();void 0!==c?(c=c.toString(),b in this.j?(delete this.j[b],this.o[c]=a):this.o[c]!==a&&(xl(this,a),this.o[c]=a)):b in this.j||(xl(this,a),this.j[b]=a);this.u();this.b(new vl("changefeature",a))};k.Ya=function(){return this.a.Ya()&&Ga(this.i)};
k.Pc=function(a,b,c){var d=this.ia;a=this.rb(a,b);var e,f;e=0;for(f=a.length;e<f;++e){var g=a[e];ql(d,g,function(a){return Sb(a.extent,g)})||(this.P.call(this,g,b,c),d.Ca(g,{extent:g.slice()}))}};k.ob=function(a){var b=t(a).toString();b in this.i?delete this.i[b]:this.a&&this.a.remove(a);this.Sf(a);this.u()};k.Sf=function(a){var b=t(a).toString();this.s[b].forEach(Ka);delete this.s[b];var c=a.Xa();void 0!==c?delete this.o[c.toString()]:delete this.j[b];this.b(new vl("removefeature",a))};
function xl(a,b){for(var c in a.o)if(a.o[c]===b){delete a.o[c];break}}function vl(a,b){Ua.call(this,a);this.feature=b}x(vl,Ua);function yl(a){this.c=a.source;this.za=ch();this.i=Ge();this.j=[0,0];this.v=null;Hk.call(this,{attributions:a.attributions,canvasFunction:this.Dj.bind(this),logo:a.logo,projection:a.projection,ratio:a.ratio,resolutions:a.resolutions,state:this.c.V()});this.P=null;this.s=void 0;this.xh(a.style);B(this.c,"change",this.en,this)}x(yl,Hk);k=yl.prototype;
k.Dj=function(a,b,c,d,e){var f=new ek(.5*b/c,a,b,this.c.T);this.c.Pc(a,b,e);var g=!1;this.c.vb(a,function(a){var d;if(!(d=g)){var e;(d=a.ec())?e=d.call(a,b):this.s&&(e=this.s(a,b));if(e){var n,p=!1;Array.isArray(e)||(e=[e]);d=0;for(n=e.length;d<n;++d)p=lk(f,a,e[d],kk(b,c),this.dn,this)||p;d=p}else d=!1}g=d},this);fk(f);if(g)return null;this.j[0]!=d[0]||this.j[1]!=d[1]?(this.i.canvas.width=d[0],this.i.canvas.height=d[1],this.j[0]=d[0],this.j[1]=d[1]):this.i.clearRect(0,0,d[0],d[1]);a=zl(this,lc(a),
b,c,d);f.Pa(this.i,c,a,0,{});this.v=f;return this.i.canvas};k.sa=function(a,b,c,d,e){if(this.v){var f={};return this.v.sa(a,b,0,d,function(a){var b=t(a).toString();if(!(b in f))return f[b]=!0,e(a)})}};k.an=function(){return this.c};k.bn=function(){return this.P};k.cn=function(){return this.s};function zl(a,b,c,d,e){c=d/c;return lh(a.za,e[0]/2,e[1]/2,c,-c,0,-b[0],-b[1])}k.dn=function(){this.u()};k.en=function(){cf(this,this.c.V())};
k.xh=function(a){this.P=void 0!==a?a:wj;this.s=a?uj(this.P):void 0;this.u()};function Al(a){Kj.call(this,a);this.f=null;this.s=ch();this.c=this.o=null}x(Al,Kj);Al.prototype.sa=function(a,b,c,d){var e=this.a;return e.ha().sa(a,b.viewState.resolution,b.viewState.rotation,b.skippedFeatureUids,function(a){return c.call(d,a,e)})};
Al.prototype.Cc=function(a,b,c,d){if(this.f&&this.f.a())if(this.a.ha()instanceof yl){if(a=hh(b.pixelToCoordinateTransform,a.slice()),this.sa(a,b,rc,this))return c.call(d,this.a)}else if(this.o||(this.o=mh(this.s.slice())),b=hh(this.o,a.slice()),this.c||(this.c=Ge(1,1)),this.c.clearRect(0,0,1,1),this.c.drawImage(this.f?this.f.a():null,b[0],b[1],1,1,0,0,1,1),0<this.c.getImageData(0,0,1,1).data[3])return c.call(d,this.a)};
Al.prototype.l=function(a,b){var c=a.pixelRatio,d=a.viewState,e=d.center,f=d.resolution,g=this.a.ha(),h=a.viewHints,l=a.extent;void 0!==b.extent&&(l=nc(l,b.extent));h[0]||h[1]||ic(l)||(d=g.A(l,f,c,d.projection))&&xh(this,d)&&(this.f=d);if(this.f){var d=this.f,h=d.H(),l=d.$(),m=d.f,f=c*l/(f*m),n=dh(this.s);kh(n,c*a.size[0]/2,c*a.size[1]/2);jh(n,f,f);kh(n,m*(h[0]-e[0])/l,m*(e[1]-h[3])/l);this.o=null;zh(a.attributions,d.l);Ah(a,g)}return!!this.f};function Bl(a){Kj.call(this,a);this.c=Ge();this.o=null;this.j=Jb();this.P=[0,0,0];this.C=ch();this.D=0}x(Bl,Kj);Bl.prototype.i=function(a,b,c){var d=Nj(this,a,0);Lj(this,"precompose",c,a,d);Cl(this,c,a,b);Mj(this,c,a,d)};
Bl.prototype.l=function(a,b){function c(a){a=a.V();return 2==a||4==a||3==a&&!r}var d=a.pixelRatio,e=a.viewState,f=e.projection,g=this.a,h=g.ha(),l=h.fb(f),m=l.Lb(e.resolution,this.D),n=l.$(m),p=e.center;n==e.resolution?(p=Ch(p,n,a.size),e=mc(p,n,e.rotation,a.size)):e=a.extent;void 0!==b.extent&&(e=nc(e,b.extent));if(ic(e))return!1;n=kf(l,e,n);p={};p[m]={};var q=this.Qd(h,f,p),r=g.c(),v=Jb(),y=new Wd(0,0,0,0),w,G,z,D;for(z=n.ca;z<=n.ea;++z)for(D=n.fa;D<=n.ga;++D)w=h.bc(m,z,D,d,f),!c(w)&&w.a&&(w=w.a),
c(w)?p[m][w.ma.toString()]=w:(G=hf(l,w.ma,q,y,v),G||(w=jf(l,w.ma,y,v))&&q(m+1,w));q=Object.keys(p).map(Number);q.sort(fb);var v=[],H,y=0;for(z=q.length;y<z;++y)for(H in w=q[y],D=p[w],D)w=D[H],2==w.V()&&v.push(w);this.o=v;Bh(a.usedTiles,h,m,n);Dh(a,h,l,d,f,e,m,g.f());yh(a,h);Ah(a,h);return!0};Bl.prototype.Cc=function(a,b,c,d){var e=this.c.canvas,f=b.size;e.width=f[0];e.height=f[1];this.i(b,oh(this.a),this.c);if(0<this.c.getImageData(a[0],a[1],1,1).data[3])return c.call(d,this.a)};
function Cl(a,b,c,d){var e=c.pixelRatio,f=c.viewState,g=f.center,h=f.projection,l=f.resolution,f=f.rotation,m=c.size,n=Math.round(e*m[0]/2),p=Math.round(e*m[1]/2),m=e/l,q=a.a,r=q.ha(),v=r.Ud(h),y=r.fb(h),q=Ya(q,"render"),w=b,G,z,D,H;if(f||q)w=a.c,G=w.canvas,H=y.Lb(l),D=r.$d(H,e,h),H=$e(y.Ja(H)),D=D[0]/H[0],l=b.canvas.width*D,z=b.canvas.height*D,H=Math.round(Math.sqrt(l*l+z*z)),G.width!=H?G.width=G.height=H:w.clearRect(0,0,H,H),G=(H-l)/2/D,z=(H-z)/2/D,m*=D,n=Math.round(D*(n+G)),p=Math.round(D*(p+z));
l=w.globalAlpha;w.globalAlpha=d.opacity;var ba=a.o,A,Fa=r.jf(h)&&1==d.opacity;Fa||(ba.reverse(),A=[]);var Ja=d.extent;if(d=void 0!==Ja){var M=fc(Ja),ma=ec(Ja),Ub=dc(Ja),Ja=cc(Ja);hh(c.coordinateToPixelTransform,M);hh(c.coordinateToPixelTransform,ma);hh(c.coordinateToPixelTransform,Ub);hh(c.coordinateToPixelTransform,Ja);var Kb=G||0,Hb=z||0;w.save();var Xb=w.canvas.width*e/2,gc=w.canvas.height*e/2;ij(w,-f,Xb,gc);w.beginPath();w.moveTo(M[0]*e+Kb,M[1]*e+Hb);w.lineTo(ma[0]*e+Kb,ma[1]*e+Hb);w.lineTo(Ub[0]*
e+Kb,Ub[1]*e+Hb);w.lineTo(Ja[0]*e+Kb,Ja[1]*e+Hb);w.clip();ij(w,f,Xb,gc)}M=0;for(ma=ba.length;M<ma;++M){var Ub=ba[M],Ja=Ub.ma,gc=y.Ea(Ja,a.j),Xb=Ja[0],Nb=cc(y.Ea(y.qd(g,Xb,a.P))),Ja=Math.round(jc(gc)*m),Kb=Math.round(kc(gc)*m),Hb=Math.round((gc[0]-Nb[0])*m/Ja)*Ja+n+Math.round((Nb[0]-g[0])*m),gc=Math.round((Nb[1]-gc[3])*m/Kb)*Kb+p+Math.round((g[1]-Nb[1])*m);if(!Fa){Nb=[Hb,gc,Hb+Ja,gc+Kb];w.save();for(var Od=0,sf=A.length;Od<sf;++Od){var Pd=A[Od];oc(Nb,Pd)&&(w.beginPath(),w.moveTo(Nb[0],Nb[1]),w.lineTo(Nb[0],
Nb[3]),w.lineTo(Nb[2],Nb[3]),w.lineTo(Nb[2],Nb[1]),w.moveTo(Pd[0],Pd[1]),w.lineTo(Pd[2],Pd[1]),w.lineTo(Pd[2],Pd[3]),w.lineTo(Pd[0],Pd[3]),w.closePath(),w.clip())}A.push(Nb)}Xb=r.$d(Xb,e,h);w.drawImage(Ub.$a(),v,v,Xb[0],Xb[1],Hb,gc,Ja,Kb);Fa||w.restore()}d&&w.restore();q&&(e=G-n/D+n,h=z-p/D+p,g=lh(a.C,H/2-e,H/2-h,m,-m,-f,-g[0]+e/m,-g[1]-h/m),Lj(a,"render",w,c,g));(f||q)&&b.drawImage(w.canvas,-Math.round(G),-Math.round(z),H/D,H/D);w.globalAlpha=l};function Dl(a){Kj.call(this,a);this.c=!1;this.D=-1;this.A=NaN;this.v=Jb();this.o=this.U=null;this.j=Ge()}x(Dl,Kj);
Dl.prototype.i=function(a,b,c){var d=a.extent,e=a.pixelRatio,f=b.Qc?a.skippedFeatureUids:{},g=a.viewState,h=g.projection,g=g.rotation,l=h.H(),m=this.a.ha(),n=Nj(this,a,0);Lj(this,"precompose",c,a,n);var p=this.o;if(p&&!p.Ya()){var q;Ya(this.a,"render")?(this.j.canvas.width=c.canvas.width,this.j.canvas.height=c.canvas.height,q=this.j):q=c;var r=q.globalAlpha;q.globalAlpha=b.opacity;b=a.size[0]*e;var v=a.size[1]*e;ij(q,-g,b/2,v/2);p.Pa(q,e,n,g,f);if(m.C&&h.a&&!Sb(l,d)){for(var h=d[0],m=jc(l),y=0;h<
l[0];)--y,n=m*y,n=Nj(this,a,n),p.Pa(q,e,n,g,f),h+=m;y=0;for(h=d[2];h>l[2];)++y,n=m*y,n=Nj(this,a,n),p.Pa(q,e,n,g,f),h-=m;n=Nj(this,a,0)}ij(q,g,b/2,v/2);q!=c&&(Lj(this,"render",q,a,n),c.drawImage(q.canvas,0,0));q.globalAlpha=r}Mj(this,c,a,n)};Dl.prototype.sa=function(a,b,c,d){if(this.o){var e=this.a,f={};return this.o.sa(a,b.viewState.resolution,b.viewState.rotation,{},function(a){var b=t(a).toString();if(!(b in f))return f[b]=!0,c.call(d,a,e)})}};Dl.prototype.C=function(){wh(this)};
Dl.prototype.l=function(a){function b(a){var b,d=a.ec();d?b=d.call(a,m):(d=c.i)&&(b=d(a,m));if(b){if(b){d=!1;if(Array.isArray(b))for(var e=0,f=b.length;e<f;++e)d=lk(q,a,b[e],kk(m,n),this.C,this)||d;else d=lk(q,a,b,kk(m,n),this.C,this)||d;a=d}else a=!1;this.c=this.c||a}}var c=this.a,d=c.ha();zh(a.attributions,d.l);Ah(a,d);var e=a.viewHints[0],f=a.viewHints[1],g=c.P,h=c.T;if(!this.c&&!g&&e||!h&&f)return!0;var l=a.extent,h=a.viewState,e=h.projection,m=h.resolution,n=a.pixelRatio,f=c.g,p=c.a,g=yj(c);
void 0===g&&(g=jk);l=Mb(l,p*m);p=h.projection.H();d.C&&h.projection.a&&!Sb(p,a.extent)&&(a=Math.max(jc(l)/2,jc(p)),l[0]=p[0]-a,l[2]=p[2]+a);if(!this.c&&this.A==m&&this.D==f&&this.U==g&&Sb(this.v,l))return!0;this.o=null;this.c=!1;var q=new ek(.5*m/n,l,m,d.T,c.a);d.Pc(l,m,e);if(g){var r=[];d.vb(l,function(a){r.push(a)},this);r.sort(g);r.forEach(b,this)}else d.vb(l,b,this);fk(q);this.A=m;this.D=f;this.U=g;this.v=l;this.o=q;return!0};function El(a,b){var c=/\{z\}/g,d=/\{x\}/g,e=/\{y\}/g,f=/\{-y\}/g;return function(g){if(g)return a.replace(c,g[0].toString()).replace(d,g[1].toString()).replace(e,function(){return(-g[2]-1).toString()}).replace(f,function(){var a=b.a?b.a[g[0]]:null;return(a.ga-a.fa+1+g[2]).toString()})}}function Fl(a,b){for(var c=a.length,d=Array(c),e=0;e<c;++e)d[e]=El(a[e],b);return Gl(d)}function Gl(a){return 1===a.length?a[0]:function(b,c,d){if(b)return a[xa((b[1]<<b[0])+b[2],a.length)](b,c,d)}}
function Hl(){}function Il(a){var b=[],c=/\{(\d)-(\d)\}/.exec(a)||/\{([a-z])-([a-z])\}/.exec(a);if(c){var d=c[2].charCodeAt(0),e;for(e=c[1].charCodeAt(0);e<=d;++e)b.push(a.replace(c[0],String.fromCharCode(e)))}else b.push(a);return b};function Jl(a){rf.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tilePixelRatio:a.tilePixelRatio,wrapX:a.wrapX});this.tileLoadFunction=a.tileLoadFunction;this.tileUrlFunction=this.vc?this.vc.bind(this):Hl;this.urls=null;a.urls?this.bb(a.urls):a.url&&this.Va(a.url);a.tileUrlFunction&&this.Qa(a.tileUrlFunction)}x(Jl,rf);k=Jl.prototype;k.gb=function(){return this.tileLoadFunction};
k.hb=function(){return this.tileUrlFunction};k.ib=function(){return this.urls};k.Bh=function(a){a=a.target;switch(a.V()){case 1:this.b(new wf("tileloadstart",a));break;case 2:this.b(new wf("tileloadend",a));break;case 3:this.b(new wf("tileloaderror",a))}};k.lb=function(a){this.a.clear();this.tileLoadFunction=a;this.u()};k.Qa=function(a,b){this.tileUrlFunction=a;"undefined"!==typeof b?uf(this,b):this.u()};
k.Va=function(a){var b=this.urls=Il(a);this.Qa(this.vc?this.vc.bind(this):Fl(b,this.tileGrid),a)};k.bb=function(a){this.urls=a;var b=a.join("\n");this.Qa(this.vc?this.vc.bind(this):Fl(a,this.tileGrid),b)};k.Yf=function(a,b,c){a=this.Fb(a,b,c);Re(this.a,a)&&this.a.get(a)};function Kl(a){Jl.call(this,{attributions:a.attributions,cacheSize:void 0!==a.cacheSize?a.cacheSize:128,extent:a.extent,logo:a.logo,opaque:!1,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction?a.tileLoadFunction:Ll,tileUrlFunction:a.tileUrlFunction,tilePixelRatio:a.tilePixelRatio,url:a.url,urls:a.urls,wrapX:void 0===a.wrapX?!0:a.wrapX});this.c=a.format?a.format:null;this.i=a.overlaps||!0;this.tileClass=a.tileClass?a.tileClass:Kk}x(Kl,Jl);
Kl.prototype.bc=function(a,b,c,d,e){var f=this.Fb(a,b,c);if(Re(this.a,f))return this.a.get(f);a=[a,b,c];d=(b=vf(this,a,e))?this.tileUrlFunction(b,d,e):void 0;d=new this.tileClass(a,void 0!==d?0:4,void 0!==d?d:"",this.c,this.tileLoadFunction);B(d,"change",this.Bh,this);this.a.set(f,d);return d};Kl.prototype.$d=function(a,b){var c=$e(this.tileGrid.Ja(a));return[c[0]*b,c[1]*b]};function Ll(a,b){a.ki(dl(b,a.l))};var Ml={image:Oj,hybrid:["Polygon","LineString"]},Nl={hybrid:["Image","Text"],vector:Oj};function Ol(a){Bl.call(this,a);this.U=!1;this.v=ch();this.D="vector"==a.s?1:0}x(Ol,Bl);
Ol.prototype.i=function(a,b,c){var d=Nj(this,a,0);Lj(this,"precompose",c,a,d);var e=this.a.s;"vector"!==e&&Cl(this,c,a,b);if("image"!==e){var f=this.a,e=Nl[f.s],g=a.pixelRatio,h=b.Qc?a.skippedFeatureUids:{},l=a.viewState,m=l.center,n=l.rotation,p=a.size,l=g/l.resolution,q=f.ha(),r=q.cc(g),v=Nj(this,a,0);Ya(f,"render")?(this.c.canvas.width=c.canvas.width,this.c.canvas.height=c.canvas.height,f=this.c):f=c;var y=f.globalAlpha;f.globalAlpha=b.opacity;b=this.o;var q=q.tileGrid,w,G,z,D,H,ba,A,Fa;G=0;for(z=
b.length;G<z;++G)D=b[G],A=D.f,H=q.Ea(D.ma,this.j),w=D.ma[0],ba="tile-pixels"==D.o.xb(),w=q.$(w),Fa=w/r,w=Math.round(g*p[0]/2),D=Math.round(g*p[1]/2),ba?(H=fc(H),dh(this.v),H=lh(this.v,w,D,l*Fa,l*Fa,n,(H[0]-m[0])/Fa,(m[1]-H[1])/Fa)):H=v,ij(f,-n,w,D),A.yd.Pa(f,g,H,n,h,e),ij(f,n,w,D);f!=c&&(Lj(this,"render",f,a,v),c.drawImage(f.canvas,0,0));f.globalAlpha=y}Mj(this,c,a,d)};
function Pl(a,b,c){function d(a){var b,c=a.ec();c?b=c.call(a,v):(c=e.i)&&(b=c(a,v));if(b){Array.isArray(b)||(b=[b]);var c=z,d=G;if(b){var f=!1;if(Array.isArray(b))for(var g=0,h=b.length;g<h;++g)f=lk(d,a,b[g],c,this.A,this)||f;else f=lk(d,a,b,c,this.A,this)||f;a=f}else a=!1;this.U=this.U||a;l.gd=l.gd||a}}var e=a.a,f=c.pixelRatio;c=c.viewState.projection;var g=e.g,h=yj(e)||null,l=b.f;if(l.gd||l.bi!=g||l.Tf!=h){l.yd=null;l.gd=!1;var m=e.ha(),n=m.tileGrid,p=b.ma,q=b.o,r="tile-pixels"==q.xb(),v=n.$(p[0]),
y;if(r)var w=r=m.cc(f),n=$e(n.Ja(p[0])),n=[0,0,n[0]*w,n[1]*w];else r=v,n=n.Ea(p),Pc(c,q)||(y=!0,b.vf(c));l.gd=!1;var G=new ek(0,n,r,m.i,e.a),z=kk(r,f);b=b.c;h&&h!==l.Tf&&b.sort(h);m=0;for(r=b.length;m<r;++m)f=b[m],y&&f.X().kb(q,c),d.call(a,f);fk(G);l.bi=g;l.Tf=h;l.yd=G;l.resolution=NaN}}
Ol.prototype.sa=function(a,b,c,d){var e=b.pixelRatio,f=b.viewState.resolution;b=b.viewState.rotation;var g=this.a,h={},l=this.o,m=g.ha(),n=m.tileGrid,p,q,r,v,y,w;r=0;for(v=l.length;r<v;++r)w=l[r],q=w.ma,y=m.tileGrid.Ea(q,this.j),Qb(y,a)&&("tile-pixels"===w.o.xb()?(y=fc(y),f=m.cc(e),q=n.$(q[0])/f,q=[(a[0]-y[0])/q,(y[1]-a[1])/q]):q=a,w=w.f.yd,p=p||w.sa(q,f,b,{},function(a){var b=t(a).toString();if(!(b in h))return h[b]=!0,c.call(d,a,g)}));return p};Ol.prototype.A=function(){wh(this)};
Ol.prototype.l=function(a,b){var c=Bl.prototype.l.call(this,a,b);if(c)for(var d=Object.keys(a.Ee||{}),e=0,f=this.o.length;e<f;++e){var g=this.o[e];Pl(this,g,a);var h=g,g=a,l=this.a,m=Ml[l.s];if(m){var n=g.pixelRatio,p=h.f,q=l.g;if(!mb(p.ui,d)||p.Uf!==q){p.ui=d;p.Uf=q;var q=h.g,r=l.ha(),v=r.tileGrid,y=h.ma[0],w=v.$(y),l=$e(v.Ja(y)),y=v.$(y),G=y/w,z=l[0]*n*G,D=l[1]*n*G;q.canvas.width=z/G+.5;q.canvas.height=D/G+.5;q.scale(1/G,1/G);q.translate(z/2,D/2);G="tile-pixels"==h.o.xb();w=n/w;r=r.cc(n);y/=r;v=
v.Ea(h.ma,this.j);h=dh(this.v);G?(jh(h,w*y,w*y),kh(h,-l[0]*r/2,-l[1]*r/2)):(l=lc(v),jh(h,w,-w),kh(h,-l[0],-l[1]));p.yd.Pa(q,n,h,0,g.skippedFeatureUids||{},m)}}}return c};function Ql(a,b){Jh.call(this,0,b);this.f=Ge();this.b=this.f.canvas;this.b.style.width="100%";this.b.style.height="100%";this.b.className="ol-unselectable";a.insertBefore(this.b,a.childNodes[0]||null);this.a=!0;this.c=ch()}x(Ql,Jh);Ql.prototype.Xe=function(a){return a instanceof ej?new Al(a):a instanceof F?new Bl(a):a instanceof J?new Ol(a):a instanceof I?new Dl(a):null};
function Rl(a,b,c){var d=a.i,e=a.f;if(Ya(d,b)){var f=c.extent,g=c.pixelRatio,h=c.viewState.rotation,l=c.viewState,m=c.pixelRatio/l.resolution;a=lh(a.c,a.b.width/2,a.b.height/2,m,-m,-l.rotation,-l.center[0],-l.center[1]);d.b(new qh(b,new zj(e,g,f,a,h),c,e,null))}}Ql.prototype.Y=function(){return"canvas"};
Ql.prototype.Ce=function(a){if(a){var b=this.f,c=a.pixelRatio,d=Math.round(a.size[0]*c),c=Math.round(a.size[1]*c);this.b.width!=d||this.b.height!=c?(this.b.width=d,this.b.height=c):b.clearRect(0,0,d,c);var e=a.viewState.rotation;Kh(a);Rl(this,"precompose",a);var f=a.layerStatesArray;nb(f);ij(b,e,d/2,c/2);var g=a.viewState.resolution,h,l,m,n;h=0;for(l=f.length;h<l;++h)n=f[h],m=n.layer,m=Mh(this,m),sh(n,g)&&"ready"==n.S&&m.l(a,n)&&m.i(a,n,b);ij(b,-e,d/2,c/2);Rl(this,"postcompose",a);this.a||(this.b.style.display=
"",this.a=!0);Nh(this,a);a.postRenderFunctions.push(Lh)}else this.a&&(this.b.style.display="none",this.a=!1)};function Sl(a,b){vh.call(this,a);this.target=b}x(Sl,vh);Sl.prototype.Nd=oa;Sl.prototype.th=oa;function Tl(a){var b=document.createElement("DIV");b.style.position="absolute";Sl.call(this,a,b);this.f=null;this.c=ch()}x(Tl,Sl);Tl.prototype.sa=function(a,b,c,d){var e=this.a;return e.ha().sa(a,b.viewState.resolution,b.viewState.rotation,b.skippedFeatureUids,function(a){return c.call(d,a,e)})};Tl.prototype.Nd=function(){Ne(this.target);this.f=null};
Tl.prototype.yf=function(a,b){var c=a.viewState,d=c.center,e=c.resolution,f=c.rotation,g=this.f,h=this.a.ha(),l=a.viewHints,m=a.extent;void 0!==b.extent&&(m=nc(m,b.extent));l[0]||l[1]||ic(m)||(c=h.A(m,e,a.pixelRatio,c.projection))&&xh(this,c)&&(g=c);g&&(l=g.H(),m=g.$(),c=ch(),lh(c,a.size[0]/2,a.size[1]/2,m/e,m/e,f,(l[0]-d[0])/m,(d[1]-l[3])/m),g!=this.f&&(d=g.a(this),d.style.maxWidth="none",d.style.position="absolute",Ne(this.target),this.target.appendChild(d),this.f=g),mb(c,this.c)||(Ke(this.target,
c),gh(this.c,c)),zh(a.attributions,g.l),Ah(a,h));return!0};function Ul(a){var b=document.createElement("DIV");b.style.position="absolute";Sl.call(this,a,b);this.c=!0;this.l=1;this.i=0;this.f={}}x(Ul,Sl);Ul.prototype.Nd=function(){Ne(this.target);this.i=0};
Ul.prototype.yf=function(a,b){if(!b.visible)return this.c&&(this.target.style.display="none",this.c=!1),!0;var c=a.pixelRatio,d=a.viewState,e=d.projection,f=this.a,g=f.ha(),h=g.fb(e),l=g.Ud(e),m=h.Lb(d.resolution),n=h.$(m),p=d.center,q;n==d.resolution?(p=Ch(p,n,a.size),q=mc(p,n,d.rotation,a.size)):q=a.extent;void 0!==b.extent&&(q=nc(q,b.extent));var n=kf(h,q,n),r={};r[m]={};var v=this.Qd(g,e,r),y=f.c(),w=Jb(),G=new Wd(0,0,0,0),z,D,H,ba;for(H=n.ca;H<=n.ea;++H)for(ba=n.fa;ba<=n.ga;++ba)z=g.bc(m,H,ba,
c,e),D=z.V(),D=2==D||4==D||3==D&&!y,!D&&z.a&&(z=z.a),D=z.V(),2==D?r[m][z.ma.toString()]=z:4==D||3==D&&!y||(D=hf(h,z.ma,v,G,w),D||(z=jf(h,z.ma,G,w))&&v(m+1,z));var A;if(this.i!=g.g){for(A in this.f)y=this.f[+A],Me(y.target);this.f={};this.i=g.g}w=Object.keys(r).map(Number);w.sort(fb);var v={},Fa;H=0;for(ba=w.length;H<ba;++H){A=w[H];A in this.f?y=this.f[A]:(y=h.qd(p,A),y=new Vl(h,y),v[A]=!0,this.f[A]=y);A=r[A];for(Fa in A){z=y;D=A[Fa];var Ja=l,M=D.ma,ma=M[0],Ub=M[1],Kb=M[2],M=M.toString();if(!(M in
z.a)){var ma=$e(z.c.Ja(ma),z.o),Hb=D.$a(z),Xb=Hb.style;Xb.maxWidth="none";var gc,Nb;0<Ja?(gc=document.createElement("DIV"),Nb=gc.style,Nb.overflow="hidden",Nb.width=ma[0]+"px",Nb.height=ma[1]+"px",Xb.position="absolute",Xb.left=-Ja+"px",Xb.top=-Ja+"px",Xb.width=ma[0]+2*Ja+"px",Xb.height=ma[1]+2*Ja+"px",gc.appendChild(Hb)):(Xb.width=ma[0]+"px",Xb.height=ma[1]+"px",gc=Hb,Nb=Xb);Nb.position="absolute";Nb.left=(Ub-z.g[1])*ma[0]+"px";Nb.top=(z.g[2]-Kb)*ma[1]+"px";z.b||(z.b=document.createDocumentFragment());
z.b.appendChild(gc);z.a[M]=D}}y.b&&(y.target.appendChild(y.b),y.b=null)}l=Object.keys(this.f).map(Number);l.sort(fb);H=ch();Fa=0;for(w=l.length;Fa<w;++Fa)if(A=l[Fa],y=this.f[A],A in r)if(z=y.$(),ba=y.Ia(),lh(H,a.size[0]/2,a.size[1]/2,z/d.resolution,z/d.resolution,d.rotation,(ba[0]-p[0])/z,(p[1]-ba[1])/z),y.setTransform(H),A in v){for(--A;0<=A;--A)if(A in this.f){this.f[A].target.parentNode&&this.f[A].target.parentNode.insertBefore(y.target,this.f[A].target.nextSibling);break}0>A&&this.target.insertBefore(y.target,
this.target.childNodes[0]||null)}else{if(!a.viewHints[0]&&!a.viewHints[1]){D=gf(y.c,q,y.g[0],G);A=[];z=void 0;for(z in y.a)ba=y.a[z],D.contains(ba.ma)||A.push(ba);D=0;for(Ja=A.length;D<Ja;++D)ba=A[D],z=ba.ma.toString(),Me(ba.$a(y)),delete y.a[z]}}else Me(y.target),delete this.f[A];b.opacity!=this.l&&(this.l=this.target.style.opacity=b.opacity);b.visible&&!this.c&&(this.target.style.display="",this.c=!0);Bh(a.usedTiles,g,m,n);Dh(a,g,h,c,e,q,m,f.f());yh(a,g);Ah(a,g);return!0};
function Vl(a,b){this.target=document.createElement("DIV");this.target.style.position="absolute";this.target.style.width="100%";this.target.style.height="100%";this.c=a;this.g=b;this.i=fc(a.Ea(b));this.l=a.$(b[0]);this.a={};this.b=null;this.f=ch();this.o=[0,0]}Vl.prototype.Ia=function(){return this.i};Vl.prototype.$=function(){return this.l};Vl.prototype.setTransform=function(a){mb(a,this.f)||(Ke(this.target,a),gh(this.f,a))};function Wl(a){this.i=Ge();var b=this.i.canvas;b.style.maxWidth="none";b.style.position="absolute";Sl.call(this,a,b);this.f=!1;this.l=-1;this.s=NaN;this.o=Jb();this.c=this.j=null;this.U=ch();this.v=ch()}x(Wl,Sl);k=Wl.prototype;k.Nd=function(){var a=this.i.canvas;a.width=a.width;this.l=0};
k.th=function(a,b){var c=a.viewState,d=c.center,e=c.rotation,f=c.resolution,c=a.pixelRatio,g=a.size[0],h=a.size[1],l=g*c,m=h*c,d=lh(this.U,c*g/2,c*h/2,c/f,-c/f,-e,-d[0],-d[1]),f=this.i;f.canvas.width=l;f.canvas.height=m;var n=dh(this.v);jh(n,1/c,1/c);kh(n,-(l-g)/2*c,-(m-h)/2*c);Ke(f.canvas,n);Xl(this,"precompose",a,d);(g=this.c)&&!g.Ya()&&(f.globalAlpha=b.opacity,g.Pa(f,c,d,e,b.Qc?a.skippedFeatureUids:{}),Xl(this,"render",a,d));Xl(this,"postcompose",a,d)};
function Xl(a,b,c,d){var e=a.i;a=a.a;Ya(a,b)&&a.b(new qh(b,new zj(e,c.pixelRatio,c.extent,d,c.viewState.rotation),c,e,null))}k.sa=function(a,b,c,d){if(this.c){var e=this.a,f={};return this.c.sa(a,b.viewState.resolution,b.viewState.rotation,{},function(a){var b=t(a).toString();if(!(b in f))return f[b]=!0,c.call(d,a,e)})}};k.uh=function(){wh(this)};
k.yf=function(a){function b(a){var b,d=a.ec();d?b=d.call(a,l):(d=c.i)&&(b=d(a,l));if(b){if(b){d=!1;if(Array.isArray(b))for(var e=0,f=b.length;e<f;++e)d=lk(n,a,b[e],kk(l,m),this.uh,this)||d;else d=lk(n,a,b,kk(l,m),this.uh,this)||d;a=d}else a=!1;this.f=this.f||a}}var c=this.a,d=c.ha();zh(a.attributions,d.l);Ah(a,d);var e=a.viewHints[0],f=a.viewHints[1],g=c.P,h=c.T;if(!this.f&&!g&&e||!h&&f)return!0;var f=a.extent,g=a.viewState,e=g.projection,l=g.resolution,m=a.pixelRatio;a=c.g;h=c.a;g=yj(c);void 0===
g&&(g=jk);f=Mb(f,h*l);if(!this.f&&this.s==l&&this.l==a&&this.j==g&&Sb(this.o,f))return!0;this.c=null;this.f=!1;var n=new ek(.5*l/m,f,l,d.T,c.a);d.Pc(f,l,e);if(g){var p=[];d.vb(f,function(a){p.push(a)},this);p.sort(g);p.forEach(b,this)}else d.vb(f,b,this);fk(n);this.s=l;this.l=a;this.j=g;this.o=f;this.c=n;return!0};function Yl(a,b){Jh.call(this,0,b);this.f=Ge();var c=this.f.canvas;c.style.position="absolute";c.style.width="100%";c.style.height="100%";c.className="ol-unselectable";a.insertBefore(c,a.childNodes[0]||null);this.c=ch();this.b=document.createElement("DIV");this.b.className="ol-unselectable";c=this.b.style;c.position="absolute";c.width="100%";c.height="100%";B(this.b,"touchstart",Wa);a.insertBefore(this.b,a.childNodes[0]||null);this.a=!0}x(Yl,Jh);Yl.prototype.ka=function(){Me(this.b);Jh.prototype.ka.call(this)};
Yl.prototype.Xe=function(a){if(a instanceof ej)a=new Tl(a);else if(a instanceof F)a=new Ul(a);else if(a instanceof I)a=new Wl(a);else return null;return a};function Zl(a,b,c){var d=a.i;if(Ya(d,b)){var e=c.extent,f=c.pixelRatio,g=c.viewState,h=g.rotation,l=a.f,m=l.canvas;a=lh(a.c,m.width/2,m.height/2,f/g.resolution,-f/g.resolution,-h,-g.center[0],-g.center[1]);d.b(new qh(b,new zj(l,f,e,a,h),c,l,null))}}Yl.prototype.Y=function(){return"dom"};
Yl.prototype.Ce=function(a){if(a){var b=this.i;if(Ya(b,"precompose")||Ya(b,"postcompose")){var b=this.f.canvas,c=a.pixelRatio;b.width=a.size[0]*c;b.height=a.size[1]*c}Zl(this,"precompose",a);b=a.layerStatesArray;nb(b);var c=a.viewState.resolution,d,e,f,g;d=0;for(e=b.length;d<e;++d)g=b[d],f=g.layer,f=Mh(this,f),this.b.insertBefore(f.target,this.b.childNodes[d]||null),sh(g,c)&&"ready"==g.S?f.yf(a,g)&&f.th(a,g):f.Nd();var b=a.layerStates,h;for(h in this.g)h in b||(f=this.g[h],Me(f.target));this.a||(this.b.style.display=
"",this.a=!0);Kh(a);Nh(this,a);a.postRenderFunctions.push(Lh);Zl(this,"postcompose",a)}else this.a&&(this.b.style.display="none",this.a=!1)};function $l(a){this.b=a}function am(a){this.b=a}x(am,$l);am.prototype.Y=function(){return 35632};function bm(a){this.b=a}x(bm,$l);bm.prototype.Y=function(){return 35633};function cm(){this.b="precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}"}x(cm,am);ca(cm);
function dm(){this.b="varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.,0.);gl_Position=h*vec4(c,0.,1.)+offsets;a=d;b=f;}"}x(dm,bm);ca(dm);
function em(a,b){this.o=a.getUniformLocation(b,"j");this.j=a.getUniformLocation(b,"i");this.i=a.getUniformLocation(b,"k");this.l=a.getUniformLocation(b,"h");this.b=a.getAttribLocation(b,"e");this.a=a.getAttribLocation(b,"f");this.f=a.getAttribLocation(b,"c");this.g=a.getAttribLocation(b,"g");this.c=a.getAttribLocation(b,"d")};function fm(a){this.b=void 0!==a?a:[]};function gm(a,b){this.l=a;this.b=b;this.a={};this.c={};this.f={};this.j=this.s=this.i=this.o=null;(this.g=gb(na,"OES_element_index_uint"))&&b.getExtension("OES_element_index_uint");B(this.l,"webglcontextlost",this.ao,this);B(this.l,"webglcontextrestored",this.bo,this)}x(gm,Sa);
function hm(a,b,c){var d=a.b,e=c.b,f=String(t(c));if(f in a.a)d.bindBuffer(b,a.a[f].buffer);else{var g=d.createBuffer();d.bindBuffer(b,g);var h;34962==b?h=new Float32Array(e):34963==b&&(h=a.g?new Uint32Array(e):new Uint16Array(e));d.bufferData(b,h,35044);a.a[f]={Db:c,buffer:g}}}function im(a,b){var c=a.b,d=String(t(b)),e=a.a[d];c.isContextLost()||c.deleteBuffer(e.buffer);delete a.a[d]}k=gm.prototype;
k.ka=function(){Ra(this.l);var a=this.b;if(!a.isContextLost()){for(var b in this.a)a.deleteBuffer(this.a[b].buffer);for(b in this.f)a.deleteProgram(this.f[b]);for(b in this.c)a.deleteShader(this.c[b]);a.deleteFramebuffer(this.i);a.deleteRenderbuffer(this.j);a.deleteTexture(this.s)}};k.$n=function(){return this.b};
function jm(a){if(!a.i){var b=a.b,c=b.createFramebuffer();b.bindFramebuffer(b.FRAMEBUFFER,c);var d=km(b,1,1),e=b.createRenderbuffer();b.bindRenderbuffer(b.RENDERBUFFER,e);b.renderbufferStorage(b.RENDERBUFFER,b.DEPTH_COMPONENT16,1,1);b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,d,0);b.framebufferRenderbuffer(b.FRAMEBUFFER,b.DEPTH_ATTACHMENT,b.RENDERBUFFER,e);b.bindTexture(b.TEXTURE_2D,null);b.bindRenderbuffer(b.RENDERBUFFER,null);b.bindFramebuffer(b.FRAMEBUFFER,null);a.i=c;
a.s=d;a.j=e}return a.i}function lm(a,b){var c=String(t(b));if(c in a.c)return a.c[c];var d=a.b,e=d.createShader(b.Y());d.shaderSource(e,b.b);d.compileShader(e);return a.c[c]=e}function mm(a,b,c){var d=t(b)+"/"+t(c);if(d in a.f)return a.f[d];var e=a.b,f=e.createProgram();e.attachShader(f,lm(a,b));e.attachShader(f,lm(a,c));e.linkProgram(f);return a.f[d]=f}k.ao=function(){Da(this.a);Da(this.c);Da(this.f);this.j=this.s=this.i=this.o=null};k.bo=function(){};
k.we=function(a){if(a==this.o)return!1;this.b.useProgram(a);this.o=a;return!0};function nm(a,b,c){var d=a.createTexture();a.bindTexture(a.TEXTURE_2D,d);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);void 0!==b&&a.texParameteri(3553,10242,b);void 0!==c&&a.texParameteri(3553,10243,c);return d}function km(a,b,c){var d=nm(a,void 0,void 0);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,b,c,0,a.RGBA,a.UNSIGNED_BYTE,null);return d}
function om(a,b){var c=nm(a,33071,33071);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,b);return c};function pm(a,b){this.D=this.A=void 0;this.j=lc(b);this.U=[];this.i=[];this.S=void 0;this.c=[];this.f=[];this.Aa=this.ya=void 0;this.a=[];this.C=this.o=null;this.P=void 0;this.za=ch();this.Sa=ch();this.W=this.T=void 0;this.cb=ch();this.Ba=De();this.na=this.ia=this.Ra=void 0;this.oa=[];this.l=[];this.b=[];this.v=null;this.g=[];this.s=[];this.Hb=void 0}x(pm,ph);
function qm(a,b){var c=a.v,d=a.o,e=a.oa,f=a.l,g=b.b;return function(){if(!g.isContextLost()){var a,l;a=0;for(l=e.length;a<l;++a)g.deleteTexture(e[a]);a=0;for(l=f.length;a<l;++a)g.deleteTexture(f[a])}im(b,c);im(b,d)}}
function rm(a,b,c,d){var e=a.A,f=a.D,g=a.S,h=a.ya,l=a.Aa,m=a.P,n=a.T,p=a.W,q=a.Ra?1:0,r=a.ia,v=a.na,y=a.Hb,w=Math.cos(r),r=Math.sin(r),G=a.a.length,z=a.b.length,D,H,ba,A,Fa,Ja;for(D=0;D<c;D+=d)Fa=b[D]-a.j[0],Ja=b[D+1]-a.j[1],H=z/8,ba=-v*e,A=-v*(g-f),a.b[z++]=Fa,a.b[z++]=Ja,a.b[z++]=ba*w-A*r,a.b[z++]=ba*r+A*w,a.b[z++]=n/l,a.b[z++]=(p+g)/h,a.b[z++]=m,a.b[z++]=q,ba=v*(y-e),A=-v*(g-f),a.b[z++]=Fa,a.b[z++]=Ja,a.b[z++]=ba*w-A*r,a.b[z++]=ba*r+A*w,a.b[z++]=(n+y)/l,a.b[z++]=(p+g)/h,a.b[z++]=m,a.b[z++]=q,ba=
v*(y-e),A=v*f,a.b[z++]=Fa,a.b[z++]=Ja,a.b[z++]=ba*w-A*r,a.b[z++]=ba*r+A*w,a.b[z++]=(n+y)/l,a.b[z++]=p/h,a.b[z++]=m,a.b[z++]=q,ba=-v*e,A=v*f,a.b[z++]=Fa,a.b[z++]=Ja,a.b[z++]=ba*w-A*r,a.b[z++]=ba*r+A*w,a.b[z++]=n/l,a.b[z++]=p/h,a.b[z++]=m,a.b[z++]=q,a.a[G++]=H,a.a[G++]=H+1,a.a[G++]=H+2,a.a[G++]=H,a.a[G++]=H+2,a.a[G++]=H+3}pm.prototype.tc=function(a,b){this.g.push(this.a.length);this.s.push(b);var c=a.la();rm(this,c,c.length,a.va())};
pm.prototype.uc=function(a,b){this.g.push(this.a.length);this.s.push(b);var c=a.la();rm(this,c,c.length,a.va())};function sm(a,b){var c=b.b;a.U.push(a.a.length);a.i.push(a.a.length);a.v=new fm(a.b);hm(b,34962,a.v);a.o=new fm(a.a);hm(b,34963,a.o);var d={};tm(a.oa,a.c,d,c);tm(a.l,a.f,d,c);a.A=void 0;a.D=void 0;a.S=void 0;a.c=null;a.f=null;a.ya=void 0;a.Aa=void 0;a.a=null;a.P=void 0;a.T=void 0;a.W=void 0;a.Ra=void 0;a.ia=void 0;a.na=void 0;a.b=null;a.Hb=void 0}
function tm(a,b,c,d){var e,f,g,h=b.length;for(g=0;g<h;++g)e=b[g],f=t(e).toString(),f in c?e=c[f]:(e=om(d,e),c[f]=e),a[g]=e}
pm.prototype.Pa=function(a,b,c,d,e,f,g,h,l,m,n){f=a.b;hm(a,34962,this.v);hm(a,34963,this.o);var p=cm.$b(),q=dm.$b(),q=mm(a,p,q);this.C?p=this.C:this.C=p=new em(f,q);a.we(q);f.enableVertexAttribArray(p.f);f.vertexAttribPointer(p.f,2,5126,!1,32,0);f.enableVertexAttribArray(p.b);f.vertexAttribPointer(p.b,2,5126,!1,32,8);f.enableVertexAttribArray(p.c);f.vertexAttribPointer(p.c,2,5126,!1,32,16);f.enableVertexAttribArray(p.a);f.vertexAttribPointer(p.a,1,5126,!1,32,24);f.enableVertexAttribArray(p.g);f.vertexAttribPointer(p.g,
1,5126,!1,32,28);q=dh(this.cb);jh(q,2/(c*e[0]),2/(c*e[1]));ih(q,-d);kh(q,-(b[0]-this.j[0]),-(b[1]-this.j[1]));b=dh(this.Sa);jh(b,2/e[0],2/e[1]);e=dh(this.za);0!==d&&ih(e,-d);f.uniformMatrix4fv(p.l,!1,Ee(this.Ba,q));f.uniformMatrix4fv(p.j,!1,Ee(this.Ba,b));f.uniformMatrix4fv(p.o,!1,Ee(this.Ba,e));f.uniform1f(p.i,g);var r;if(void 0===l)um(this,f,a,h,this.oa,this.U);else{if(m)a:{d=a.g?5125:5123;a=a.g?4:2;e=this.g.length-1;for(g=this.l.length-1;0<=g;--g)for(f.bindTexture(3553,this.l[g]),m=0<g?this.i[g-
1]:0,b=this.i[g];0<=e&&this.g[e]>=m;){r=this.g[e];c=this.s[e];q=t(c).toString();if(void 0===h[q]&&c.X()&&(void 0===n||oc(n,c.X().H()))&&(f.clear(f.COLOR_BUFFER_BIT|f.DEPTH_BUFFER_BIT),f.drawElements(4,b-r,d,r*a),b=l(c))){h=b;break a}b=r;e--}h=void 0}else f.clear(f.COLOR_BUFFER_BIT|f.DEPTH_BUFFER_BIT),um(this,f,a,h,this.l,this.i),h=(h=l(null))?h:void 0;r=h}f.disableVertexAttribArray(p.f);f.disableVertexAttribArray(p.b);f.disableVertexAttribArray(p.c);f.disableVertexAttribArray(p.a);f.disableVertexAttribArray(p.g);
return r};function um(a,b,c,d,e,f){var g=c.g?5125:5123;c=c.g?4:2;if(Ga(d)){var h;a=0;d=e.length;for(h=0;a<d;++a){b.bindTexture(3553,e[a]);var l=f[a];b.drawElements(4,l-h,g,h*c);h=l}}else{h=0;var m,l=0;for(m=e.length;l<m;++l){b.bindTexture(3553,e[l]);for(var n=0<l?f[l-1]:0,p=f[l],q=n;h<a.g.length&&a.g[h]<=p;){var r=t(a.s[h]).toString();void 0!==d[r]?(q!==n&&b.drawElements(4,n-q,g,q*c),n=q=h===a.g.length-1?p:a.g[h+1]):n=h===a.g.length-1?p:a.g[h+1];h++}q!==n&&b.drawElements(4,n-q,g,q*c)}}}
pm.prototype.Ub=function(a){var b=a.Zb(),c=a.jc(1),d=a.ld(),e=a.pe(1),f=a.v,g=a.Ia(),h=a.U,l=a.j,m=a.Gb();a=a.i;var n;0===this.c.length?this.c.push(c):(n=this.c[this.c.length-1],t(n)!=t(c)&&(this.U.push(this.a.length),this.c.push(c)));0===this.f.length?this.f.push(e):(n=this.f[this.f.length-1],t(n)!=t(e)&&(this.i.push(this.a.length),this.f.push(e)));this.A=b[0];this.D=b[1];this.S=m[1];this.ya=d[1];this.Aa=d[0];this.P=f;this.T=g[0];this.W=g[1];this.ia=l;this.Ra=h;this.na=a;this.Hb=m[0]};
function vm(a,b,c){this.f=b;this.c=a;this.g=c;this.a={}}function wm(a,b){var c=[],d;for(d in a.a)c.push(qm(a.a[d],b));return function(){for(var a=c.length,b,d=0;d<a;d++)b=c[d].apply(this,arguments);return b}}function xm(a,b){for(var c in a.a)sm(a.a[c],b)}vm.prototype.b=function(a,b){var c=this.a[b];void 0===c&&(c=new ym[b](this.c,this.f),this.a[b]=c);return c};vm.prototype.Ya=function(){return Ga(this.a)};
vm.prototype.Pa=function(a,b,c,d,e,f,g,h){var l,m,n;l=0;for(m=Oj.length;l<m;++l)n=this.a[Oj[l]],void 0!==n&&n.Pa(a,b,c,d,e,f,g,h,void 0,!1)};function zm(a,b,c,d,e,f,g,h,l,m,n){var p=Am,q,r;for(q=Oj.length-1;0<=q;--q)if(r=a.a[Oj[q]],void 0!==r&&(r=r.Pa(b,c,d,e,p,f,g,h,l,m,n)))return r}
vm.prototype.sa=function(a,b,c,d,e,f,g,h,l,m){var n=b.b;n.bindFramebuffer(n.FRAMEBUFFER,jm(b));var p;void 0!==this.g&&(p=Mb(Wb(a),d*this.g));return zm(this,b,a,d,e,g,h,l,function(a){var b=new Uint8Array(4);n.readPixels(0,0,1,1,n.RGBA,n.UNSIGNED_BYTE,b);if(0<b[3]&&(a=m(a)))return a},!0,p)};
function Bm(a,b,c,d,e,f,g,h){var l=c.b;l.bindFramebuffer(l.FRAMEBUFFER,jm(c));return void 0!==zm(a,c,b,d,e,f,g,h,function(){var a=new Uint8Array(4);l.readPixels(0,0,1,1,l.RGBA,l.UNSIGNED_BYTE,a);return 0<a[3]},!1)}var ym={Image:pm},Am=[1,1];function Cm(a,b,c,d,e,f,g){this.b=a;this.f=b;this.g=f;this.c=g;this.o=e;this.l=d;this.i=c;this.a=null}x(Cm,ph);k=Cm.prototype;k.sd=function(a){this.Ub(a.a)};k.sc=function(a){switch(a.Y()){case "Point":this.uc(a,null);break;case "MultiPoint":this.tc(a,null);break;case "GeometryCollection":this.Ze(a,null)}};k.Ye=function(a,b){var c=(0,b.g)(a);c&&oc(this.g,c.H())&&(this.sd(b),this.sc(c))};k.Ze=function(a){a=a.c;var b,c;b=0;for(c=a.length;b<c;++b)this.sc(a[b])};
k.uc=function(a,b){var c=this.b,d=(new vm(1,this.g)).b(0,"Image");d.Ub(this.a);d.uc(a,b);sm(d,c);d.Pa(this.b,this.f,this.i,this.l,this.o,this.c,1,{},void 0,!1);qm(d,c)()};k.tc=function(a,b){var c=this.b,d=(new vm(1,this.g)).b(0,"Image");d.Ub(this.a);d.tc(a,b);sm(d,c);d.Pa(this.b,this.f,this.i,this.l,this.o,this.c,1,{},void 0,!1);qm(d,c)()};k.Ub=function(a){this.a=a};function Dm(){this.b="precision mediump float;varying vec2 a;uniform float f;uniform sampler2D g;void main(void){vec4 texColor=texture2D(g,a);gl_FragColor.rgb=texColor.rgb;gl_FragColor.a=texColor.a*f;}"}x(Dm,am);ca(Dm);function Em(){this.b="varying vec2 a;attribute vec2 b;attribute vec2 c;uniform mat4 d;uniform mat4 e;void main(void){gl_Position=e*vec4(b,0.,1.);a=(d*vec4(c,0.,1.)).st;}"}x(Em,bm);ca(Em);
function Fm(a,b){this.g=a.getUniformLocation(b,"f");this.f=a.getUniformLocation(b,"e");this.i=a.getUniformLocation(b,"d");this.c=a.getUniformLocation(b,"g");this.b=a.getAttribLocation(b,"b");this.a=a.getAttribLocation(b,"c")};function Gm(a,b){vh.call(this,b);this.f=a;this.T=new fm([-1,-1,0,0,1,-1,1,0,-1,1,0,1,1,1,1,1]);this.i=this.qb=null;this.l=void 0;this.s=ch();this.U=ch();this.D=De();this.v=null}x(Gm,vh);
function Hm(a,b,c){var d=a.f.f;if(void 0===a.l||a.l!=c){b.postRenderFunctions.push(function(a,b,c){a.isContextLost()||(a.deleteFramebuffer(b),a.deleteTexture(c))}.bind(null,d,a.i,a.qb));b=km(d,c,c);var e=d.createFramebuffer();d.bindFramebuffer(36160,e);d.framebufferTexture2D(36160,36064,3553,b,0);a.qb=b;a.i=e;a.l=c}else d.bindFramebuffer(36160,a.i)}
Gm.prototype.vh=function(a,b,c){Im(this,"precompose",c,a);hm(c,34962,this.T);var d=c.b,e=Dm.$b(),f=Em.$b(),e=mm(c,e,f);this.v?f=this.v:this.v=f=new Fm(d,e);c.we(e)&&(d.enableVertexAttribArray(f.b),d.vertexAttribPointer(f.b,2,5126,!1,16,0),d.enableVertexAttribArray(f.a),d.vertexAttribPointer(f.a,2,5126,!1,16,8),d.uniform1i(f.c,0));d.uniformMatrix4fv(f.i,!1,Ee(this.D,this.s));d.uniformMatrix4fv(f.f,!1,Ee(this.D,this.U));d.uniform1f(f.g,b.opacity);d.bindTexture(3553,this.qb);d.drawArrays(5,0,4);Im(this,
"postcompose",c,a)};function Im(a,b,c,d){a=a.a;if(Ya(a,b)){var e=d.viewState;a.b(new qh(b,new Cm(c,e.center,e.resolution,e.rotation,d.size,d.extent,d.pixelRatio),d,null,c))}}Gm.prototype.zf=function(){this.i=this.qb=null;this.l=void 0};function Jm(a,b){Gm.call(this,a,b);this.j=this.o=this.c=null}x(Jm,Gm);function Km(a,b){var c=b.a();return om(a.f.f,c)}Jm.prototype.sa=function(a,b,c,d){var e=this.a;return e.ha().sa(a,b.viewState.resolution,b.viewState.rotation,b.skippedFeatureUids,function(a){return c.call(d,a,e)})};
Jm.prototype.Af=function(a,b){var c=this.f.f,d=a.pixelRatio,e=a.viewState,f=e.center,g=e.resolution,h=e.rotation,l=this.c,m=this.qb,n=this.a.ha(),p=a.viewHints,q=a.extent;void 0!==b.extent&&(q=nc(q,b.extent));p[0]||p[1]||ic(q)||(e=n.A(q,g,d,e.projection))&&xh(this,e)&&(l=e,m=Km(this,e),this.qb&&a.postRenderFunctions.push(function(a,b){a.isContextLost()||a.deleteTexture(b)}.bind(null,c,this.qb)));l&&(c=this.f.c.l,Lm(this,c.width,c.height,d,f,g,h,l.H()),this.j=null,d=this.s,dh(d),jh(d,1,-1),kh(d,0,
-1),this.c=l,this.qb=m,zh(a.attributions,l.l),Ah(a,n));return!0};function Lm(a,b,c,d,e,f,g,h){b*=f;c*=f;a=a.U;dh(a);jh(a,2*d/b,2*d/c);ih(a,-g);kh(a,h[0]-e[0],h[1]-e[1]);jh(a,(h[2]-h[0])/2,(h[3]-h[1])/2);kh(a,1,1)}Jm.prototype.le=function(a,b){return void 0!==this.sa(a,b,rc,this)};
Jm.prototype.Cc=function(a,b,c,d){if(this.c&&this.c.a())if(this.a.ha()instanceof yl){var e=hh(b.pixelToCoordinateTransform,a.slice());if(this.sa(e,b,rc,this))return c.call(d,this.a)}else{e=[this.c.a().width,this.c.a().height];if(!this.j){var f=b.size;b=ch();kh(b,-1,-1);jh(b,2/f[0],2/f[1]);kh(b,0,f[1]);jh(b,1,-1);var f=mh(this.U.slice()),g=ch();kh(g,0,e[1]);jh(g,1,-1);jh(g,e[0]/2,e[1]/2);kh(g,1,1);fh(g,f);fh(g,b);this.j=g}a=hh(this.j,a.slice());if(!(0>a[0]||a[0]>e[0]||0>a[1]||a[1]>e[1])&&(this.o||
(this.o=Ge(1,1)),this.o.clearRect(0,0,1,1),this.o.drawImage(this.c.a(),a[0],a[1],1,1,0,0,1,1),0<this.o.getImageData(0,0,1,1).data[3]))return c.call(d,this.a)}};function Mm(){this.b="precision mediump float;varying vec2 a;uniform sampler2D e;void main(void){gl_FragColor=texture2D(e,a);}"}x(Mm,am);ca(Mm);function Nm(){this.b="varying vec2 a;attribute vec2 b;attribute vec2 c;uniform vec4 d;void main(void){gl_Position=vec4(b*d.xy+d.zw,0.,1.);a=c;}"}x(Nm,bm);ca(Nm);function Om(a,b){this.g=a.getUniformLocation(b,"e");this.f=a.getUniformLocation(b,"d");this.b=a.getAttribLocation(b,"b");this.a=a.getAttribLocation(b,"c")};function Pm(a,b){Gm.call(this,a,b);this.S=Mm.$b();this.W=Nm.$b();this.c=null;this.C=new fm([0,0,0,1,1,0,1,1,0,1,0,0,1,1,1,0]);this.A=this.o=null;this.j=-1;this.P=[0,0]}x(Pm,Gm);k=Pm.prototype;k.ka=function(){im(this.f.c,this.C);Gm.prototype.ka.call(this)};k.Qd=function(a,b,c){var d=this.f;return function(e,f){return tf(a,b,e,f,function(a){var b=Re(d.a,a.jb());b&&(c[e]||(c[e]={}),c[e][a.ma.toString()]=a);return b})}};k.zf=function(){Gm.prototype.zf.call(this);this.c=null};
k.Af=function(a,b,c){var d=this.f,e=c.b,f=a.viewState,g=f.projection,h=this.a,l=h.ha(),m=l.fb(g),n=m.Lb(f.resolution),p=m.$(n),q=l.$d(n,a.pixelRatio,g),r=q[0]/$e(m.Ja(n),this.P)[0],v=p/r,y=l.Ud(g),w=f.center,G;p==f.resolution?(w=Ch(w,p,a.size),G=mc(w,p,f.rotation,a.size)):G=a.extent;p=kf(m,G,p);if(this.o&&Yd(this.o,p)&&this.j==l.g)v=this.A;else{var z=[p.ea-p.ca+1,p.ga-p.fa+1],D=Math.pow(2,Math.ceil(Math.log(Math.max(z[0]*q[0],z[1]*q[1]))/Math.LN2)),z=v*D,H=m.Ia(n),ba=H[0]+p.ca*q[0]*v,v=H[1]+p.fa*
q[1]*v,v=[ba,v,ba+z,v+z];Hm(this,a,D);e.viewport(0,0,D,D);e.clearColor(0,0,0,0);e.clear(16384);e.disable(3042);D=mm(c,this.S,this.W);c.we(D);this.c||(this.c=new Om(e,D));hm(c,34962,this.C);e.enableVertexAttribArray(this.c.b);e.vertexAttribPointer(this.c.b,2,5126,!1,16,0);e.enableVertexAttribArray(this.c.a);e.vertexAttribPointer(this.c.a,2,5126,!1,16,8);e.uniform1i(this.c.g,0);c={};c[n]={};var A=this.Qd(l,g,c),Fa=h.c(),D=!0,ba=Jb(),Ja=new Wd(0,0,0,0),M,ma,Ub;for(ma=p.ca;ma<=p.ea;++ma)for(Ub=p.fa;Ub<=
p.ga;++Ub){H=l.bc(n,ma,Ub,r,g);if(void 0!==b.extent&&(M=m.Ea(H.ma,ba),!oc(M,b.extent)))continue;M=H.V();M=2==M||4==M||3==M&&!Fa;!M&&H.a&&(H=H.a);M=H.V();if(2==M){if(Re(d.a,H.jb())){c[n][H.ma.toString()]=H;continue}}else if(4==M||3==M&&!Fa)continue;D=!1;M=hf(m,H.ma,A,Ja,ba);M||(H=jf(m,H.ma,Ja,ba))&&A(n+1,H)}b=Object.keys(c).map(Number);b.sort(fb);for(var A=new Float32Array(4),Kb,Fa=0,Ja=b.length;Fa<Ja;++Fa)for(Kb in ma=c[b[Fa]],ma)H=ma[Kb],M=m.Ea(H.ma,ba),A[0]=2*(M[2]-M[0])/z,A[1]=2*(M[3]-M[1])/z,
A[2]=2*(M[0]-v[0])/z-1,A[3]=2*(M[1]-v[1])/z-1,e.uniform4fv(this.c.f,A),Qm(d,H,q,y*r),e.drawArrays(5,0,4);D?(this.o=p,this.A=v,this.j=l.g):(this.A=this.o=null,this.j=-1,a.animate=!0)}Bh(a.usedTiles,l,n,p);var Hb=d.o;Dh(a,l,m,r,g,G,n,h.f(),function(a){var b;(b=2!=a.V()||Re(d.a,a.jb()))||(b=a.jb()in Hb.g);b||Hb.f([a,mf(m,a.ma),m.$(a.ma[0]),q,y*r])},this);yh(a,l);Ah(a,l);e=this.s;dh(e);kh(e,(w[0]-v[0])/(v[2]-v[0]),(w[1]-v[1])/(v[3]-v[1]));0!==f.rotation&&ih(e,f.rotation);jh(e,a.size[0]*f.resolution/(v[2]-
v[0]),a.size[1]*f.resolution/(v[3]-v[1]));kh(e,-.5,-.5);return!0};k.Cc=function(a,b,c,d){if(this.i){a=hh(this.s,[a[0]/b.size[0],(b.size[1]-a[1])/b.size[1]].slice());a=[a[0]*this.l,a[1]*this.l];b=this.f.c.b;b.bindFramebuffer(b.FRAMEBUFFER,this.i);var e=new Uint8Array(4);b.readPixels(a[0],a[1],1,1,b.RGBA,b.UNSIGNED_BYTE,e);if(0<e[3])return c.call(d,this.a)}};function Rm(a,b){Gm.call(this,a,b);this.j=!1;this.P=-1;this.S=NaN;this.A=Jb();this.o=this.c=this.C=null}x(Rm,Gm);k=Rm.prototype;k.vh=function(a,b,c){this.o=b;var d=a.viewState,e=this.c;e&&!e.Ya()&&e.Pa(c,d.center,d.resolution,d.rotation,a.size,a.pixelRatio,b.opacity,b.Qc?a.skippedFeatureUids:{})};k.ka=function(){var a=this.c;a&&(wm(a,this.f.c)(),this.c=null);Gm.prototype.ka.call(this)};
k.sa=function(a,b,c,d){if(this.c&&this.o){var e=b.viewState,f=this.a,g={};return this.c.sa(a,this.f.c,e.center,e.resolution,e.rotation,b.size,b.pixelRatio,this.o.opacity,{},function(a){var b=t(a).toString();if(!(b in g))return g[b]=!0,c.call(d,a,f)})}};k.le=function(a,b){if(this.c&&this.o){var c=b.viewState;return Bm(this.c,a,this.f.c,c.resolution,c.rotation,b.pixelRatio,this.o.opacity,b.skippedFeatureUids)}return!1};
k.Cc=function(a,b,c,d){a=hh(b.pixelToCoordinateTransform,a.slice());if(this.le(a,b))return c.call(d,this.a)};k.wh=function(){wh(this)};
k.Af=function(a,b,c){function d(a){var b,c=a.ec();c?b=c.call(a,m):(c=e.i)&&(b=c(a,m));if(b){if(b){c=!1;if(Array.isArray(b))for(var d=0,f=b.length;d<f;++d)c=lk(q,a,b[d],kk(m,n),this.wh,this)||c;else c=lk(q,a,b,kk(m,n),this.wh,this)||c;a=c}else a=!1;this.j=this.j||a}}var e=this.a;b=e.ha();zh(a.attributions,b.l);Ah(a,b);var f=a.viewHints[0],g=a.viewHints[1],h=e.P,l=e.T;if(!this.j&&!h&&f||!l&&g)return!0;var g=a.extent,h=a.viewState,f=h.projection,m=h.resolution,n=a.pixelRatio,h=e.g,p=e.a,l=yj(e);void 0===
l&&(l=jk);g=Mb(g,p*m);if(!this.j&&this.S==m&&this.P==h&&this.C==l&&Sb(this.A,g))return!0;this.c&&a.postRenderFunctions.push(wm(this.c,c));this.j=!1;var q=new vm(.5*m/n,g,e.a);b.Pc(g,m,f);if(l){var r=[];b.vb(g,function(a){r.push(a)},this);r.sort(l);r.forEach(d,this)}else b.vb(g,d,this);xm(q,c);this.S=m;this.P=h;this.C=l;this.A=g;this.c=q;return!0};function Sm(a,b){Jh.call(this,0,b);this.b=document.createElement("CANVAS");this.b.style.width="100%";this.b.style.height="100%";this.b.className="ol-unselectable";a.insertBefore(this.b,a.childNodes[0]||null);this.U=this.A=0;this.D=Ge();this.j=!0;this.f=Uf(this.b,{antialias:!0,depth:!1,failIfMajorPerformanceCaveat:!0,preserveDrawingBuffer:!1,stencil:!0});this.c=new gm(this.b,this.f);B(this.b,"webglcontextlost",this.Pm,this);B(this.b,"webglcontextrestored",this.Qm,this);this.a=new Qe;this.v=null;this.o=
new Oh(function(a){var b=a[1];a=a[2];var e=b[0]-this.v[0],b=b[1]-this.v[1];return 65536*Math.log(a)+Math.sqrt(e*e+b*b)/a}.bind(this),function(a){return a[0].jb()});this.C=function(){if(!this.o.Ya()){Sh(this.o);var a=Ph(this.o);Qm(this,a[0],a[3],a[4])}return!1}.bind(this);this.l=0;Tm(this)}x(Sm,Jh);
function Qm(a,b,c,d){var e=a.f,f=b.jb();if(Re(a.a,f))a=a.a.get(f),e.bindTexture(3553,a.qb),9729!=a.Wg&&(e.texParameteri(3553,10240,9729),a.Wg=9729),9729!=a.Yg&&(e.texParameteri(3553,10241,9729),a.Yg=9729);else{var g=e.createTexture();e.bindTexture(3553,g);if(0<d){var h=a.D.canvas,l=a.D;a.A!==c[0]||a.U!==c[1]?(h.width=c[0],h.height=c[1],a.A=c[0],a.U=c[1]):l.clearRect(0,0,c[0],c[1]);l.drawImage(b.$a(),d,d,c[0],c[1],0,0,c[0],c[1]);e.texImage2D(3553,0,6408,6408,5121,h)}else e.texImage2D(3553,0,6408,6408,
5121,b.$a());e.texParameteri(3553,10240,9729);e.texParameteri(3553,10241,9729);e.texParameteri(3553,10242,33071);e.texParameteri(3553,10243,33071);a.a.set(f,{qb:g,Wg:9729,Yg:9729})}}k=Sm.prototype;k.Xe=function(a){return a instanceof ej?new Jm(this,a):a instanceof F?new Pm(this,a):a instanceof I?new Rm(this,a):null};function Um(a,b,c){var d=a.i;if(Ya(d,b)){a=a.c;var e=c.viewState;d.b(new qh(b,new Cm(a,e.center,e.resolution,e.rotation,c.size,c.extent,c.pixelRatio),c,null,a))}}
k.ka=function(){var a=this.f;a.isContextLost()||this.a.forEach(function(b){b&&a.deleteTexture(b.qb)});Ta(this.c);Jh.prototype.ka.call(this)};k.Gj=function(a,b){for(var c=this.f,d;1024<this.a.wc()-this.l;){if(d=this.a.b.pc)c.deleteTexture(d.qb);else if(+this.a.b.Mb==b.index)break;else--this.l;this.a.pop()}};k.Y=function(){return"webgl"};k.Pm=function(a){a.preventDefault();this.a.clear();this.l=0;a=this.g;for(var b in a)a[b].zf()};k.Qm=function(){Tm(this);this.i.render()};
function Tm(a){a=a.f;a.activeTexture(33984);a.blendFuncSeparate(770,771,1,771);a.disable(2884);a.disable(2929);a.disable(3089);a.disable(2960)}
k.Ce=function(a){var b=this.c,c=this.f;if(c.isContextLost())return!1;if(!a)return this.j&&(this.b.style.display="none",this.j=!1),!1;this.v=a.focus;this.a.set((-a.index).toString(),null);++this.l;Um(this,"precompose",a);var d=[],e=a.layerStatesArray;nb(e);var f=a.viewState.resolution,g,h,l,m;g=0;for(h=e.length;g<h;++g)m=e[g],sh(m,f)&&"ready"==m.S&&(l=Mh(this,m.layer),l.Af(a,m,b)&&d.push(m));e=a.size[0]*a.pixelRatio;f=a.size[1]*a.pixelRatio;if(this.b.width!=e||this.b.height!=f)this.b.width=e,this.b.height=
f;c.bindFramebuffer(36160,null);c.clearColor(0,0,0,0);c.clear(16384);c.enable(3042);c.viewport(0,0,this.b.width,this.b.height);g=0;for(h=d.length;g<h;++g)m=d[g],l=Mh(this,m.layer),l.vh(a,m,b);this.j||(this.b.style.display="",this.j=!0);Kh(a);1024<this.a.wc()-this.l&&a.postRenderFunctions.push(this.Gj.bind(this));this.o.Ya()||(a.postRenderFunctions.push(this.C),a.animate=!0);Um(this,"postcompose",a);Nh(this,a);a.postRenderFunctions.push(Lh)};
k.sa=function(a,b,c,d,e,f){var g;if(this.f.isContextLost())return!1;var h=b.viewState,l=b.layerStatesArray,m;for(m=l.length-1;0<=m;--m){g=l[m];var n=g.layer;if(sh(g,h.resolution)&&e.call(f,n)&&(g=Mh(this,n).sa(a,b,c,d)))return g}};k.sh=function(a,b,c,d){var e=!1;if(this.f.isContextLost())return!1;var f=b.viewState,g=b.layerStatesArray,h;for(h=g.length-1;0<=h;--h){var l=g[h],m=l.layer;if(sh(l,f.resolution)&&c.call(d,m)&&(e=Mh(this,m).le(a,b)))return!0}return e};
k.rh=function(a,b,c,d,e){if(this.f.isContextLost())return!1;var f=b.viewState,g,h=b.layerStatesArray,l;for(l=h.length-1;0<=l;--l){g=h[l];var m=g.layer;if(sh(g,f.resolution)&&e.call(d,m)&&(g=Mh(this,m).Cc(a,b,c,d)))return g}};var Vm=["canvas","webgl","dom"];
function Q(a){bb.call(this);var b=Wm(a);this.rb=void 0!==a.loadTilesWhileAnimating?a.loadTilesWhileAnimating:!1;this.Hc=void 0!==a.loadTilesWhileInteracting?a.loadTilesWhileInteracting:!1;this.Oe=void 0!==a.pixelRatio?a.pixelRatio:$f;this.Ne=b.logos;this.W=function(){this.i=void 0;this.Uo.call(this,Date.now())}.bind(this);this.Sa=ch();this.Pe=ch();this.cb=0;this.f=null;this.za=Jb();this.C=this.P=null;this.a=document.createElement("DIV");this.a.className="ol-viewport"+(eg?" ol-touch":"");this.a.style.position=
"relative";this.a.style.overflow="hidden";this.a.style.width="100%";this.a.style.height="100%";this.a.style.msTouchAction="none";this.a.style.touchAction="none";this.A=document.createElement("DIV");this.A.className="ol-overlaycontainer";this.a.appendChild(this.A);this.v=document.createElement("DIV");this.v.className="ol-overlaycontainer-stopevent";a=["click","dblclick","mousedown","touchstart","mspointerdown",Yg,"mousewheel","wheel"];for(var c=0,d=a.length;c<d;++c)B(this.v,a[c],Va);this.a.appendChild(this.v);
this.na=new Qg(this);for(var e in ah)B(this.na,ah[e],this.Pg,this);this.ia=b.keyboardEventTarget;this.s=null;B(this.a,"wheel",this.Oc,this);B(this.a,"mousewheel",this.Oc,this);this.o=b.controls;this.l=b.interactions;this.j=b.overlays;this.Cf={};this.D=new b.Wo(this.a,this);this.T=null;this.S=[];this.oa=[];this.Ba=new Th(this.Bk.bind(this),this.hl.bind(this));this.Ee={};B(this,db("layergroup"),this.Ok,this);B(this,db("view"),this.il,this);B(this,db("size"),this.el,this);B(this,db("target"),this.gl,
this);this.G(b.values);this.o.forEach(function(a){a.setMap(this)},this);B(this.o,"add",function(a){a.element.setMap(this)},this);B(this.o,"remove",function(a){a.element.setMap(null)},this);this.l.forEach(function(a){a.setMap(this)},this);B(this.l,"add",function(a){a.element.setMap(this)},this);B(this.l,"remove",function(a){a.element.setMap(null)},this);this.j.forEach(this.mg,this);B(this.j,"add",function(a){this.mg(a.element)},this);B(this.j,"remove",function(a){var b=a.element.Xa();void 0!==b&&delete this.Cf[b.toString()];
a.element.setMap(null)},this)}x(Q,bb);k=Q.prototype;k.uj=function(a){this.o.push(a)};k.vj=function(a){this.l.push(a)};k.kg=function(a){this.xc().Tc().push(a)};k.lg=function(a){this.j.push(a)};k.mg=function(a){var b=a.Xa();void 0!==b&&(this.Cf[b.toString()]=a);a.setMap(this)};k.Wa=function(a){this.render();Array.prototype.push.apply(this.S,arguments)};
k.ka=function(){Ta(this.na);Ta(this.D);Qa(this.a,"wheel",this.Oc,this);Qa(this.a,"mousewheel",this.Oc,this);void 0!==this.c&&(pa.removeEventListener("resize",this.c,!1),this.c=void 0);this.i&&(pa.cancelAnimationFrame(this.i),this.i=void 0);this.fh(null);bb.prototype.ka.call(this)};k.kd=function(a,b,c,d,e){if(this.f)return a=this.Ma(a),this.D.sa(a,this.f,b,void 0!==c?c:null,void 0!==d?d:rc,void 0!==e?e:null)};
k.Tl=function(a,b,c,d,e){if(this.f)return this.D.rh(a,this.f,b,void 0!==c?c:null,void 0!==d?d:rc,void 0!==e?e:null)};k.kl=function(a,b,c){if(!this.f)return!1;a=this.Ma(a);return this.D.sh(a,this.f,void 0!==b?b:rc,void 0!==c?c:null)};k.Wj=function(a){return this.Ma(this.Td(a))};k.Td=function(a){var b=this.a.getBoundingClientRect();a=a.changedTouches?a.changedTouches[0]:a;return[a.clientX-b.left,a.clientY-b.top]};k.tf=function(){return this.get("target")};
k.yc=function(){var a=this.tf();return void 0!==a?"string"===typeof a?document.getElementById(a):a:null};k.Ma=function(a){var b=this.f;return b?hh(b.pixelToCoordinateTransform,a.slice()):null};k.Uj=function(){return this.o};k.nk=function(){return this.j};k.mk=function(a){a=this.Cf[a.toString()];return void 0!==a?a:null};k.ak=function(){return this.l};k.xc=function(){return this.get("layergroup")};k.eh=function(){return this.xc().Tc()};
k.Ga=function(a){var b=this.f;return b?hh(b.coordinateToPixelTransform,a.slice(0,2)):null};k.Za=function(){return this.get("size")};k.aa=function(){return this.get("view")};k.Dk=function(){return this.a};k.Bk=function(a,b,c,d){var e=this.f;if(!(e&&b in e.wantedTiles&&e.wantedTiles[b][a.ma.toString()]))return Infinity;a=c[0]-e.focus[0];c=c[1]-e.focus[1];return 65536*Math.log(d)+Math.sqrt(a*a+c*c)/d};k.Oc=function(a,b){var c=new Og(b||a.type,this,a);this.Pg(c)};
k.Pg=function(a){if(this.f){this.T=a.coordinate;a.frameState=this.f;var b=this.l.a,c;if(!1!==this.b(a))for(c=b.length-1;0<=c;c--){var d=b[c];if(d.f()&&!d.handleEvent(a))break}}};k.cl=function(){var a=this.f,b=this.Ba;if(!b.Ya()){var c=16,d=c;if(a){var e=a.viewHints;e[0]&&(c=this.rb?8:0,d=2);e[1]&&(c=this.Hc?8:0,d=2)}b.i<c&&(Sh(b),Uh(b,c,d))}b=this.oa;c=0;for(d=b.length;c<d;++c)b[c](this,a);b.length=0};k.el=function(){this.render()};
k.gl=function(){var a;this.tf()&&(a=this.yc());if(this.s){for(var b=0,c=this.s.length;b<c;++b)Ka(this.s[b]);this.s=null}a?(a.appendChild(this.a),a=this.ia?this.ia:a,this.s=[B(a,"keydown",this.Oc,this),B(a,"keypress",this.Oc,this)],this.c||(this.c=this.Xc.bind(this),pa.addEventListener("resize",this.c,!1))):(Me(this.a),void 0!==this.c&&(pa.removeEventListener("resize",this.c,!1),this.c=void 0));this.Xc()};k.hl=function(){this.render()};k.jl=function(){this.render()};
k.il=function(){this.P&&(Ka(this.P),this.P=null);var a=this.aa();a&&(this.P=B(a,"propertychange",this.jl,this));this.render()};k.Pk=function(){this.render()};k.Qk=function(){this.render()};k.Ok=function(){this.C&&(this.C.forEach(Ka),this.C=null);var a=this.xc();a&&(this.C=[B(a,"propertychange",this.Qk,this),B(a,"change",this.Pk,this)]);this.render()};k.Vo=function(){this.i&&pa.cancelAnimationFrame(this.i);this.W()};k.render=function(){void 0===this.i&&(this.i=pa.requestAnimationFrame(this.W))};
k.Oo=function(a){return this.o.remove(a)};k.Po=function(a){return this.l.remove(a)};k.Ro=function(a){return this.xc().Tc().remove(a)};k.So=function(a){return this.j.remove(a)};
k.Uo=function(a){var b,c,d,e=this.Za(),f=this.aa(),g=Jb(),h=null;if(void 0!==e&&0<e[0]&&0<e[1]&&f&&Kd(f)){var h=Gd(f,this.f?this.f.viewHints:void 0),l=this.xc().hf(),m={};b=0;for(c=l.length;b<c;++b)m[t(l[b].layer)]=l[b];d=f.V();h={animate:!1,attributions:{},coordinateToPixelTransform:this.Sa,extent:g,focus:this.T?this.T:d.center,index:this.cb++,layerStates:m,layerStatesArray:l,logos:Ca({},this.Ne),pixelRatio:this.Oe,pixelToCoordinateTransform:this.Pe,postRenderFunctions:[],size:e,skippedFeatureUids:this.Ee,
tileQueue:this.Ba,time:a,usedTiles:{},viewState:d,viewHints:h,wantedTiles:{}}}if(h){a=this.S;b=e=0;for(c=a.length;b<c;++b)f=a[b],f(this,h)&&(a[e++]=f);a.length=e;h.extent=mc(d.center,d.resolution,d.rotation,h.size,g)}this.f=h;this.D.Ce(h);h&&(h.animate&&this.render(),Array.prototype.push.apply(this.oa,h.postRenderFunctions),0!==this.S.length||h.viewHints[0]||h.viewHints[1]||$b(h.extent,this.za)||(this.b(new Oe("moveend",this,h)),Ob(h.extent,this.za)));this.b(new Oe("postrender",this,h));Mf(this.cl,
this)};k.ji=function(a){this.set("layergroup",a)};k.Wf=function(a){this.set("size",a)};k.fh=function(a){this.set("target",a)};k.kp=function(a){this.set("view",a)};k.ti=function(a){a=t(a).toString();this.Ee[a]=!0;this.render()};
k.Xc=function(){var a=this.yc();if(a){var b=pa.getComputedStyle(a);this.Wf([a.offsetWidth-parseFloat(b.borderLeftWidth)-parseFloat(b.paddingLeft)-parseFloat(b.paddingRight)-parseFloat(b.borderRightWidth),a.offsetHeight-parseFloat(b.borderTopWidth)-parseFloat(b.paddingTop)-parseFloat(b.paddingBottom)-parseFloat(b.borderBottomWidth)])}else this.Wf(void 0)};k.wi=function(a){a=t(a).toString();delete this.Ee[a];this.render()};
function Wm(a){var b=null;void 0!==a.keyboardEventTarget&&(b="string"===typeof a.keyboardEventTarget?document.getElementById(a.keyboardEventTarget):a.keyboardEventTarget);var c={},d={};if(void 0===a.logo||"boolean"===typeof a.logo&&a.logo)d["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAAHGAAABxgEXwfpGAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAhNQTFRF////AP//AICAgP//AFVVQECA////K1VVSbbbYL/fJ05idsTYJFtbbcjbJllmZszWWMTOIFhoHlNiZszTa9DdUcHNHlNlV8XRIVdiasrUHlZjIVZjaMnVH1RlIFRkH1RkH1ZlasvYasvXVsPQH1VkacnVa8vWIVZjIFRjVMPQa8rXIVVkXsXRsNveIFVkIFZlIVVj3eDeh6GmbMvXH1ZkIFRka8rWbMvXIFVkIFVjIFVkbMvWH1VjbMvWIFVlbcvWIFVla8vVIFVkbMvWbMvVH1VkbMvWIFVlbcvWIFVkbcvVbMvWjNPbIFVkU8LPwMzNIFVkbczWIFVkbsvWbMvXIFVkRnB8bcvW2+TkW8XRIFVkIlZlJVloJlpoKlxrLl9tMmJwOWd0Omh1RXF8TneCT3iDUHiDU8LPVMLPVcLPVcPQVsPPVsPQV8PQWMTQWsTQW8TQXMXSXsXRX4SNX8bSYMfTYcfTYsfTY8jUZcfSZsnUaIqTacrVasrVa8jTa8rWbI2VbMvWbcvWdJObdcvUdszUd8vVeJaee87Yfc3WgJyjhqGnitDYjaarldPZnrK2oNbborW5o9bbo9fbpLa6q9ndrL3ArtndscDDutzfu8fJwN7gwt7gxc/QyuHhy+HizeHi0NfX0+Pj19zb1+Tj2uXk29/e3uLg3+Lh3+bl4uXj4ufl4+fl5Ofl5ufl5ujm5+jmySDnBAAAAFp0Uk5TAAECAgMEBAYHCA0NDg4UGRogIiMmKSssLzU7PkJJT1JTVFliY2hrdHZ3foSFhYeJjY2QkpugqbG1tre5w8zQ09XY3uXn6+zx8vT09vf4+Pj5+fr6/P39/f3+gz7SsAAAAVVJREFUOMtjYKA7EBDnwCPLrObS1BRiLoJLnte6CQy8FLHLCzs2QUG4FjZ5GbcmBDDjxJBXDWxCBrb8aM4zbkIDzpLYnAcE9VXlJSWlZRU13koIeW57mGx5XjoMZEUqwxWYQaQbSzLSkYGfKFSe0QMsX5WbjgY0YS4MBplemI4BdGBW+DQ11eZiymfqQuXZIjqwyadPNoSZ4L+0FVM6e+oGI6g8a9iKNT3o8kVzNkzRg5lgl7p4wyRUL9Yt2jAxVh6mQCogae6GmflI8p0r13VFWTHBQ0rWPW7ahgWVcPm+9cuLoyy4kCJDzCm6d8PSFoh0zvQNC5OjDJhQopPPJqph1doJBUD5tnkbZiUEqaCnB3bTqLTFG1bPn71kw4b+GFdpLElKIzRxxgYgWNYc5SCENVHKeUaltHdXx0dZ8uBI1hJ2UUDgq82CM2MwKeibqAvSO7MCABq0wXEPiqWEAAAAAElFTkSuQmCC"]=
"http://openlayers.org/";else{var e=a.logo;"string"===typeof e?d[e]="":e instanceof HTMLElement?d[t(e).toString()]=e:fa(e)&&(d[e.src]=e.href)}e=a.layers instanceof Vi?a.layers:new Vi({layers:a.layers});c.layergroup=e;c.target=a.target;c.view=void 0!==a.view?a.view:new Fd;var e=Jh,f;void 0!==a.renderer?Array.isArray(a.renderer)?f=a.renderer:"string"===typeof a.renderer&&(f=[a.renderer]):f=Vm;var g,h;g=0;for(h=f.length;g<h;++g){var l=f[g];if("canvas"==l){if(bg){e=Ql;break}}else if("dom"==l){e=Yl;break}else if("webgl"==
l&&Vf){e=Sm;break}}var m;void 0!==a.controls?m=Array.isArray(a.controls)?new be(a.controls.slice()):a.controls:m=Df();var n;void 0!==a.interactions?n=Array.isArray(a.interactions)?new be(a.interactions.slice()):a.interactions:n=Ui();a=void 0!==a.overlays?Array.isArray(a.overlays)?new be(a.overlays.slice()):a.overlays:new be;return{controls:m,interactions:n,keyboardEventTarget:b,logos:d,overlays:a,Wo:e,values:c}}dj();function Xm(a){bb.call(this);this.j=a.id;this.o=void 0!==a.insertFirst?a.insertFirst:!0;this.s=void 0!==a.stopEvent?a.stopEvent:!0;this.f=document.createElement("DIV");this.f.className="ol-overlay-container";this.f.style.position="absolute";this.autoPan=void 0!==a.autoPan?a.autoPan:!1;this.i=void 0!==a.autoPanAnimation?a.autoPanAnimation:{};this.l=void 0!==a.autoPanMargin?a.autoPanMargin:20;this.a={Md:"",fe:"",De:"",Fe:"",visible:!0};this.c=null;B(this,db("element"),this.Jk,this);B(this,db("map"),
this.Vk,this);B(this,db("offset"),this.Zk,this);B(this,db("position"),this.al,this);B(this,db("positioning"),this.bl,this);void 0!==a.element&&this.fi(a.element);this.li(void 0!==a.offset?a.offset:[0,0]);this.oi(void 0!==a.positioning?a.positioning:"top-left");void 0!==a.position&&this.uf(a.position)}x(Xm,bb);k=Xm.prototype;k.Sd=function(){return this.get("element")};k.Xa=function(){return this.j};k.he=function(){return this.get("map")};k.Kg=function(){return this.get("offset")};k.gh=function(){return this.get("position")};
k.Lg=function(){return this.get("positioning")};k.Jk=function(){Ne(this.f);var a=this.Sd();a&&this.f.appendChild(a)};k.Vk=function(){this.c&&(Me(this.f),Ka(this.c),this.c=null);var a=this.he();a&&(this.c=B(a,"postrender",this.render,this),Ym(this),a=this.s?a.v:a.A,this.o?a.insertBefore(this.f,a.childNodes[0]||null):a.appendChild(this.f))};k.render=function(){Ym(this)};k.Zk=function(){Ym(this)};
k.al=function(){Ym(this);if(void 0!==this.get("position")&&this.autoPan){var a=this.he();if(void 0!==a&&a.yc()){var b=Zm(a.yc(),a.Za()),c=this.Sd(),d=c.offsetWidth,e=c.currentStyle||pa.getComputedStyle(c),d=d+(parseInt(e.marginLeft,10)+parseInt(e.marginRight,10)),e=c.offsetHeight,f=c.currentStyle||pa.getComputedStyle(c),e=e+(parseInt(f.marginTop,10)+parseInt(f.marginBottom,10)),g=Zm(c,[d,e]),c=this.l;Sb(b,g)||(d=g[0]-b[0],e=b[2]-g[2],f=g[1]-b[1],g=b[3]-g[3],b=[0,0],0>d?b[0]=d-c:0>e&&(b[0]=Math.abs(e)+
c),0>f?b[1]=f-c:0>g&&(b[1]=Math.abs(g)+c),0===b[0]&&0===b[1])||(c=a.aa().ab(),d=a.Ga(c),b=[d[0]+b[0],d[1]+b[1]],this.i&&(this.i.source=c,a.Wa(Td(this.i))),a.aa().nb(a.Ma(b)))}}};k.bl=function(){Ym(this)};k.fi=function(a){this.set("element",a)};k.setMap=function(a){this.set("map",a)};k.li=function(a){this.set("offset",a)};k.uf=function(a){this.set("position",a)};function Zm(a,b){var c=a.getBoundingClientRect(),d=c.left+pa.pageXOffset,c=c.top+pa.pageYOffset;return[d,c,d+b[0],c+b[1]]}
k.oi=function(a){this.set("positioning",a)};function $m(a,b){a.a.visible!==b&&(a.f.style.display=b?"":"none",a.a.visible=b)}
function Ym(a){var b=a.he(),c=a.gh();if(void 0!==b&&b.f&&void 0!==c){var c=b.Ga(c),d=b.Za(),b=a.f.style,e=a.Kg(),f=a.Lg(),g=e[0],e=e[1];if("bottom-right"==f||"center-right"==f||"top-right"==f)""!==a.a.fe&&(a.a.fe=b.left=""),g=Math.round(d[0]-c[0]-g)+"px",a.a.De!=g&&(a.a.De=b.right=g);else{""!==a.a.De&&(a.a.De=b.right="");if("bottom-center"==f||"center-center"==f||"top-center"==f)g-=a.f.offsetWidth/2;g=Math.round(c[0]+g)+"px";a.a.fe!=g&&(a.a.fe=b.left=g)}if("bottom-left"==f||"bottom-center"==f||"bottom-right"==
f)""!==a.a.Fe&&(a.a.Fe=b.top=""),c=Math.round(d[1]-c[1]-e)+"px",a.a.Md!=c&&(a.a.Md=b.bottom=c);else{""!==a.a.Md&&(a.a.Md=b.bottom="");if("center-left"==f||"center-center"==f||"center-right"==f)e-=a.f.offsetHeight/2;c=Math.round(c[1]+e)+"px";a.a.Fe!=c&&(a.a.Fe=b.top=c)}$m(a,!0)}else $m(a,!1)};function an(a){a=a?a:{};this.l=void 0!==a.collapsed?a.collapsed:!0;this.o=void 0!==a.collapsible?a.collapsible:!0;this.o||(this.l=!1);var b=void 0!==a.className?a.className:"ol-overviewmap",c=void 0!==a.tipLabel?a.tipLabel:"Overview map",d=void 0!==a.collapseLabel?a.collapseLabel:"\u00ab";"string"===typeof d?(this.j=document.createElement("span"),this.j.textContent=d):this.j=d;d=void 0!==a.label?a.label:"\u00bb";"string"===typeof d?(this.v=document.createElement("span"),this.v.textContent=d):this.v=
d;var e=this.o&&!this.l?this.j:this.v,d=document.createElement("button");d.setAttribute("type","button");d.title=c;d.appendChild(e);B(d,"click",this.gm,this);c=document.createElement("DIV");c.className="ol-overviewmap-map";var f=this.f=new Q({controls:new be,interactions:new be,target:c,view:a.view});a.layers&&a.layers.forEach(function(a){f.kg(a)},this);e=document.createElement("DIV");e.className="ol-overviewmap-box";e.style.boxSizing="border-box";this.A=new Xm({position:[0,0],positioning:"bottom-left",
element:e});this.f.lg(this.A);e=document.createElement("div");e.className=b+" ol-unselectable ol-control"+(this.l&&this.o?" ol-collapsed":"")+(this.o?"":" ol-uncollapsible");e.appendChild(c);e.appendChild(d);Pe.call(this,{element:e,render:a.render?a.render:bn,target:a.target})}x(an,Pe);k=an.prototype;
k.setMap=function(a){var b=this.a;a!==b&&(b&&(b=b.aa())&&Qa(b,db("rotation"),this.de,this),Pe.prototype.setMap.call(this,a),a&&(this.s.push(B(a,"propertychange",this.Wk,this)),0===this.f.eh().dc()&&this.f.ji(a.xc()),a=a.aa()))&&(B(a,db("rotation"),this.de,this),Kd(a)&&(this.f.Xc(),cn(this)))};k.Wk=function(a){"view"===a.key&&((a=a.oldValue)&&Qa(a,db("rotation"),this.de,this),a=this.a.aa(),B(a,db("rotation"),this.de,this))};k.de=function(){this.f.aa().ie(this.a.aa().La())};
function bn(){var a=this.a,b=this.f;if(a.f&&b.f){var c=a.Za(),a=a.aa().Kc(c),d=b.Za(),c=b.aa().Kc(d),e=b.Ga(fc(a)),f=b.Ga(dc(a)),b=Math.abs(e[0]-f[0]),e=Math.abs(e[1]-f[1]),f=d[0],d=d[1];b<.1*f||e<.1*d||b>.75*f||e>.75*d?cn(this):Sb(c,a)||(a=this.f,c=this.a.aa(),a.aa().nb(c.ab()))}dn(this)}function cn(a){var b=a.a;a=a.f;var c=b.Za(),b=b.aa().Kc(c),c=a.Za();a=a.aa();pc(b,1/(.1*Math.pow(2,Math.log(7.5)/Math.LN2/2)));a.cf(b,c)}
function dn(a){var b=a.a,c=a.f;if(b.f&&c.f){var d=b.Za(),e=b.aa(),f=c.aa();c.Za();var c=e.La(),b=a.A,g=a.A.Sd(),e=e.Kc(d),d=f.$(),f=cc(e),e=ec(e),h;if(a=a.a.aa().ab())h=[f[0]-a[0],f[1]-a[1]],Db(h,c),yb(h,a);b.uf(h);g&&(g.style.width=Math.abs((f[0]-e[0])/d)+"px",g.style.height=Math.abs((e[1]-f[1])/d)+"px")}}k.gm=function(a){a.preventDefault();en(this)};
function en(a){a.element.classList.toggle("ol-collapsed");a.l?Le(a.j,a.v):Le(a.v,a.j);a.l=!a.l;var b=a.f;a.l||b.f||(b.Xc(),cn(a),Pa(b,"postrender",function(){dn(this)},a))}k.fm=function(){return this.o};k.im=function(a){this.o!==a&&(this.o=a,this.element.classList.toggle("ol-uncollapsible"),!a&&this.l&&en(this))};k.hm=function(a){this.o&&this.l!==a&&en(this)};k.em=function(){return this.l};k.pk=function(){return this.f};function fn(a){a=a?a:{};var b=void 0!==a.className?a.className:"ol-scale-line";this.o=document.createElement("DIV");this.o.className=b+"-inner";this.f=document.createElement("DIV");this.f.className=b+" ol-unselectable";this.f.appendChild(this.o);this.v=null;this.j=void 0!==a.minWidth?a.minWidth:64;this.l=!1;this.D=void 0;this.A="";Pe.call(this,{element:this.f,render:a.render?a.render:gn,target:a.target});B(this,db("units"),this.S,this);this.C(a.units||"metric")}x(fn,Pe);var hn=[1,2,5];
fn.prototype.xb=function(){return this.get("units")};function gn(a){(a=a.frameState)?this.v=a.viewState:this.v=null;jn(this)}fn.prototype.S=function(){jn(this)};fn.prototype.C=function(a){this.set("units",a)};
function jn(a){var b=a.v;if(b){var c=b.projection,d=c.ac(),b=c.getPointResolution(b.resolution,b.center)*d,d=a.j*b,c="",e=a.xb();"degrees"==e?(c=vc.degrees,b/=c,d<c/60?(c="\u2033",b*=3600):d<c?(c="\u2032",b*=60):c="\u00b0"):"imperial"==e?.9144>d?(c="in",b/=.0254):1609.344>d?(c="ft",b/=.3048):(c="mi",b/=1609.344):"nautical"==e?(b/=1852,c="nm"):"metric"==e?1>d?(c="mm",b*=1E3):1E3>d?c="m":(c="km",b/=1E3):"us"==e&&(.9144>d?(c="in",b*=39.37):1609.344>d?(c="ft",b/=.30480061):(c="mi",b/=1609.3472));for(var e=
3*Math.floor(Math.log(a.j*b)/Math.log(10)),f;;){f=hn[(e%3+3)%3]*Math.pow(10,Math.floor(e/3));d=Math.round(f/b);if(isNaN(d)){a.f.style.display="none";a.l=!1;return}if(d>=a.j)break;++e}b=f+" "+c;a.A!=b&&(a.o.innerHTML=b,a.A=b);a.D!=d&&(a.o.style.width=d+"px",a.D=d);a.l||(a.f.style.display="",a.l=!0)}else a.l&&(a.f.style.display="none",a.l=!1)};function kn(a){a=a?a:{};this.f=void 0;this.l=ln;this.v=[];this.D=this.j=0;this.T=null;this.ia=!1;this.W=void 0!==a.duration?a.duration:200;var b=void 0!==a.className?a.className:"ol-zoomslider",c=document.createElement("button");c.setAttribute("type","button");c.className=b+"-thumb ol-unselectable";var d=document.createElement("div");d.className=b+" ol-unselectable ol-control";d.appendChild(c);this.o=new Ig(d);B(this.o,sg,this.Ik,this);B(this.o,tg,this.Ng,this);B(this.o,ug,this.Og,this);B(d,"click",
this.Hk,this);B(c,"click",Va);Pe.call(this,{element:d,render:a.render?a.render:mn})}x(kn,Pe);kn.prototype.ka=function(){Ta(this.o);Pe.prototype.ka.call(this)};var ln=0;k=kn.prototype;k.setMap=function(a){Pe.prototype.setMap.call(this,a);a&&a.render()};
function mn(a){if(a.frameState){if(!this.ia){var b=this.element,c=b.offsetWidth,d=b.offsetHeight,e=b.firstElementChild,f=pa.getComputedStyle(e),b=e.offsetWidth+parseFloat(f.marginRight)+parseFloat(f.marginLeft),e=e.offsetHeight+parseFloat(f.marginTop)+parseFloat(f.marginBottom);this.T=[b,e];c>d?(this.l=1,this.D=c-b):(this.l=ln,this.j=d-e);this.ia=!0}a=a.frameState.viewState.resolution;a!==this.f&&(this.f=a,nn(this,a))}}
k.Hk=function(a){var b=this.a,c=b.aa(),d=c.$();b.Wa(Vd({resolution:d,duration:this.W,easing:Nd}));a=on(this,sa(1===this.l?(a.offsetX-this.T[0]/2)/this.D:(a.offsetY-this.T[1]/2)/this.j,0,1));c.Vb(c.constrainResolution(a))};
k.Ik=function(a){if(!this.A&&a.b.target===this.element.firstElementChild&&(Ld(this.a.aa(),1),this.C=a.clientX,this.S=a.clientY,this.A=!0,0===this.v.length)){a=this.Ng;var b=this.Og;this.v.push(B(document,"mousemove",a,this),B(document,"touchmove",a,this),B(document,tg,a,this),B(document,"mouseup",b,this),B(document,"touchend",b,this),B(document,ug,b,this))}};
k.Ng=function(a){if(this.A){var b=this.element.firstElementChild;this.f=on(this,sa(1===this.l?(a.clientX-this.C+parseInt(b.style.left,10))/this.D:(a.clientY-this.S+parseInt(b.style.top,10))/this.j,0,1));this.a.aa().Vb(this.f);nn(this,this.f);this.C=a.clientX;this.S=a.clientY}};k.Og=function(){if(this.A){var a=this.a,b=a.aa();Ld(b,-1);a.Wa(Vd({resolution:this.f,duration:this.W,easing:Nd}));a=b.constrainResolution(this.f);b.Vb(a);this.A=!1;this.S=this.C=void 0;this.v.forEach(Ka);this.v.length=0}};
function nn(a,b){var c;c=1-Jd(a.a.aa())(b);var d=a.element.firstElementChild;1==a.l?d.style.left=a.D*c+"px":d.style.top=a.j*c+"px"}function on(a,b){return Id(a.a.aa())(1-b)};function pn(a){a=a?a:{};this.f=a.extent?a.extent:null;var b=void 0!==a.className?a.className:"ol-zoom-extent",c=void 0!==a.label?a.label:"E",d=void 0!==a.tipLabel?a.tipLabel:"Fit to extent",e=document.createElement("button");e.setAttribute("type","button");e.title=d;e.appendChild("string"===typeof c?document.createTextNode(c):c);B(e,"click",this.l,this);c=document.createElement("div");c.className=b+" ol-unselectable ol-control";c.appendChild(e);Pe.call(this,{element:c,target:a.target})}x(pn,Pe);
pn.prototype.l=function(a){a.preventDefault();var b=this.a;a=b.aa();var c=this.f?this.f:a.l.H(),b=b.Za();a.cf(c,b)};function qn(a){bb.call(this);a=a?a:{};this.a=null;B(this,db("tracking"),this.Il,this);this.rf(void 0!==a.tracking?a.tracking:!1)}x(qn,bb);k=qn.prototype;k.ka=function(){this.rf(!1);bb.prototype.ka.call(this)};
k.co=function(a){if(null!==a.alpha){var b=wa(a.alpha);this.set("alpha",b);"boolean"===typeof a.absolute&&a.absolute?this.set("heading",b):"number"===typeof a.webkitCompassHeading&&-1!=a.webkitCompassAccuracy&&this.set("heading",wa(a.webkitCompassHeading))}null!==a.beta&&this.set("beta",wa(a.beta));null!==a.gamma&&this.set("gamma",wa(a.gamma));this.u()};k.Oj=function(){return this.get("alpha")};k.Rj=function(){return this.get("beta")};k.Yj=function(){return this.get("gamma")};k.Hl=function(){return this.get("heading")};
k.$g=function(){return this.get("tracking")};k.Il=function(){if(cg){var a=this.$g();a&&!this.a?this.a=B(pa,"deviceorientation",this.co,this):a||null===this.a||(Ka(this.a),this.a=null)}};k.rf=function(a){this.set("tracking",a)};function rn(){this.defaultDataProjection=null}function sn(a,b,c){var d;c&&(d={dataProjection:c.dataProjection?c.dataProjection:a.Oa(b),featureProjection:c.featureProjection});return tn(a,d)}function tn(a,b){var c;b&&(c={featureProjection:b.featureProjection,dataProjection:b.dataProjection?b.dataProjection:a.defaultDataProjection,rightHanded:b.rightHanded},b.decimals&&(c.decimals=b.decimals));return c}
function un(a,b,c){var d=c?zc(c.featureProjection):null,e=c?zc(c.dataProjection):null,f;d&&e&&!Pc(d,e)?a instanceof Uc?f=(b?a.clone():a).kb(b?d:e,b?e:d):f=Tc(b?a.slice():a,b?d:e,b?e:d):f=a;if(b&&c&&c.decimals){var g=Math.pow(10,c.decimals);a=function(a){for(var b=0,c=a.length;b<c;++b)a[b]=Math.round(a[b]*g)/g;return a};Array.isArray(f)?a(f):f.rc(a)}return f};function vn(){this.defaultDataProjection=null}x(vn,rn);function wn(a){return fa(a)?a:"string"===typeof a?(a=JSON.parse(a))?a:null:null}k=vn.prototype;k.Y=function(){return"json"};k.Sb=function(a,b){return this.Uc(wn(a),sn(this,a,b))};k.Fa=function(a,b){return this.Jf(wn(a),sn(this,a,b))};k.Vc=function(a,b){return this.Rh(wn(a),sn(this,a,b))};k.Oa=function(a){return this.Yh(wn(a))};k.Dd=function(a,b){return JSON.stringify(this.Yc(a,b))};k.Yb=function(a,b){return JSON.stringify(this.Ie(a,b))};
k.Zc=function(a,b){return JSON.stringify(this.Ke(a,b))};function xn(a,b,c,d,e,f){var g=NaN,h=NaN,l=(c-b)/d;if(0!==l)if(1==l)g=a[b],h=a[b+1];else if(2==l)g=(1-e)*a[b]+e*a[b+d],h=(1-e)*a[b+1]+e*a[b+d+1];else{var h=a[b],l=a[b+1],m=0,g=[0],n;for(n=b+d;n<c;n+=d){var p=a[n],q=a[n+1],m=m+Math.sqrt((p-h)*(p-h)+(q-l)*(q-l));g.push(m);h=p;l=q}c=e*m;l=0;m=g.length;for(n=!1;l<m;)e=l+(m-l>>1),h=+fb(g[e],c),0>h?l=e+1:(m=e,n=!h);e=n?l:~l;0>e?(c=(c-g[-e-2])/(g[-e-1]-g[-e-2]),b+=(-e-2)*d,g=ya(a[b],a[b+d],c),h=ya(a[b+1],a[b+d+1],c)):(g=a[b+e*d],h=a[b+e*d+1])}return f?(f[0]=
g,f[1]=h,f):[g,h]}function yn(a,b,c,d,e,f){if(c==b)return null;if(e<a[b+d-1])return f?(c=a.slice(b,b+d),c[d-1]=e,c):null;if(a[c-1]<e)return f?(c=a.slice(c-d,c),c[d-1]=e,c):null;if(e==a[b+d-1])return a.slice(b,b+d);b/=d;for(c/=d;b<c;)f=b+c>>1,e<a[(f+1)*d-1]?c=f:b=f+1;c=a[b*d-1];if(e==c)return a.slice((b-1)*d,(b-1)*d+d);f=(e-c)/(a[(b+1)*d-1]-c);c=[];var g;for(g=0;g<d-1;++g)c.push(ya(a[(b-1)*d+g],a[b*d+g],f));c.push(e);return c}
function zn(a,b,c,d,e,f){var g=0;if(f)return yn(a,g,b[b.length-1],c,d,e);if(d<a[c-1])return e?(a=a.slice(0,c),a[c-1]=d,a):null;if(a[a.length-1]<d)return e?(a=a.slice(a.length-c),a[c-1]=d,a):null;e=0;for(f=b.length;e<f;++e){var h=b[e];if(g!=h){if(d<a[g+c-1])break;if(d<=a[h-1])return yn(a,g,h,c,d,!1);g=h}}return null};function R(a,b){Wc.call(this);this.i=null;this.D=this.C=this.j=-1;this.ra(a,b)}x(R,Wc);k=R.prototype;k.wj=function(a){this.B?jb(this.B,a):this.B=a.slice();this.u()};k.clone=function(){var a=new R(null);a.ba(this.f,this.B.slice());return a};k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;this.D!=this.g&&(this.C=Math.sqrt(cd(this.B,0,this.B.length,this.a,0)),this.D=this.g);return ed(this.B,0,this.B.length,this.a,this.C,!1,a,b,c,d)};
k.Lj=function(a,b){return td(this.B,0,this.B.length,this.a,a,b)};k.lm=function(a,b){return"XYM"!=this.f&&"XYZM"!=this.f?null:yn(this.B,0,this.B.length,this.a,a,void 0!==b?b:!1)};k.Z=function(){return jd(this.B,0,this.B.length,this.a)};k.Bg=function(a,b){return xn(this.B,0,this.B.length,this.a,a,b)};k.mm=function(){var a=this.B,b=this.a,c=a[0],d=a[1],e=0,f;for(f=0+b;f<this.B.length;f+=b)var g=a[f],h=a[f+1],e=e+Math.sqrt((g-c)*(g-c)+(h-d)*(h-d)),c=g,d=h;return e};
function Gj(a){a.j!=a.g&&(a.i=a.Bg(.5,a.i),a.j=a.g);return a.i}k.Nc=function(a){var b=[];b.length=ld(this.B,0,this.B.length,this.a,a,b,0);a=new R(null);a.ba("XY",b);return a};k.Y=function(){return"LineString"};k.Ka=function(a){return ud(this.B,0,this.B.length,this.a,a)};k.ra=function(a,b){a?(Zc(this,b,a,1),this.B||(this.B=[]),this.B.length=hd(this.B,0,a,this.a),this.u()):this.ba("XY",null)};k.ba=function(a,b){Yc(this,a,b);this.u()};function S(a,b){Wc.call(this);this.i=[];this.j=this.D=-1;this.ra(a,b)}x(S,Wc);k=S.prototype;k.xj=function(a){this.B?jb(this.B,a.la().slice()):this.B=a.la().slice();this.i.push(this.B.length);this.u()};k.clone=function(){var a=new S(null);a.ba(this.f,this.B.slice(),this.i.slice());return a};k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;this.j!=this.g&&(this.D=Math.sqrt(dd(this.B,0,this.i,this.a,0)),this.j=this.g);return fd(this.B,0,this.i,this.a,this.D,!1,a,b,c,d)};
k.om=function(a,b,c){return"XYM"!=this.f&&"XYZM"!=this.f||0===this.B.length?null:zn(this.B,this.i,this.a,a,void 0!==b?b:!1,void 0!==c?c:!1)};k.Z=function(){return kd(this.B,0,this.i,this.a)};k.Eb=function(){return this.i};k.fk=function(a){if(0>a||this.i.length<=a)return null;var b=new R(null);b.ba(this.f,this.B.slice(0===a?0:this.i[a-1],this.i[a]));return b};
k.md=function(){var a=this.B,b=this.i,c=this.f,d=[],e=0,f,g;f=0;for(g=b.length;f<g;++f){var h=b[f],l=new R(null);l.ba(c,a.slice(e,h));d.push(l);e=h}return d};function Hj(a){var b=[],c=a.B,d=0,e=a.i;a=a.a;var f,g;f=0;for(g=e.length;f<g;++f){var h=e[f],d=xn(c,d,h,a,.5);jb(b,d);d=h}return b}k.Nc=function(a){var b=[],c=[],d=this.B,e=this.i,f=this.a,g=0,h=0,l,m;l=0;for(m=e.length;l<m;++l){var n=e[l],h=ld(d,g,n,f,a,b,h);c.push(h);g=n}b.length=h;a=new S(null);a.ba("XY",b,c);return a};k.Y=function(){return"MultiLineString"};
k.Ka=function(a){a:{var b=this.B,c=this.i,d=this.a,e=0,f,g;f=0;for(g=c.length;f<g;++f){if(ud(b,e,c[f],d,a)){a=!0;break a}e=c[f]}a=!1}return a};k.ra=function(a,b){if(a){Zc(this,b,a,2);this.B||(this.B=[]);var c=id(this.B,0,a,this.a,this.i);this.B.length=0===c.length?0:c[c.length-1];this.u()}else this.ba("XY",null,this.i)};k.ba=function(a,b,c){Yc(this,a,b);this.i=c;this.u()};
function An(a,b){var c=a.f,d=[],e=[],f,g;f=0;for(g=b.length;f<g;++f){var h=b[f];0===f&&(c=h.f);jb(d,h.la());e.push(d.length)}a.ba(c,d,e)};function T(a,b){Wc.call(this);this.ra(a,b)}x(T,Wc);k=T.prototype;k.zj=function(a){this.B?jb(this.B,a.la()):this.B=a.la().slice();this.u()};k.clone=function(){var a=new T(null);a.ba(this.f,this.B.slice());return a};k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;var e=this.B,f=this.a,g,h,l;g=0;for(h=e.length;g<h;g+=f)if(l=va(a,b,e[g],e[g+1]),l<d){d=l;for(l=0;l<f;++l)c[l]=e[g+l];c.length=f}return d};k.Z=function(){return jd(this.B,0,this.B.length,this.a)};
k.rk=function(a){var b=this.B?this.B.length/this.a:0;if(0>a||b<=a)return null;b=new C(null);b.ba(this.f,this.B.slice(a*this.a,(a+1)*this.a));return b};k.je=function(){var a=this.B,b=this.f,c=this.a,d=[],e,f;e=0;for(f=a.length;e<f;e+=c){var g=new C(null);g.ba(b,a.slice(e,e+c));d.push(g)}return d};k.Y=function(){return"MultiPoint"};k.Ka=function(a){var b=this.B,c=this.a,d,e,f,g;d=0;for(e=b.length;d<e;d+=c)if(f=b[d],g=b[d+1],Rb(a,f,g))return!0;return!1};
k.ra=function(a,b){a?(Zc(this,b,a,1),this.B||(this.B=[]),this.B.length=hd(this.B,0,a,this.a),this.u()):this.ba("XY",null)};k.ba=function(a,b){Yc(this,a,b);this.u()};function U(a,b){Wc.call(this);this.i=[];this.D=-1;this.C=null;this.T=this.S=this.P=-1;this.j=null;this.ra(a,b)}x(U,Wc);k=U.prototype;k.Aj=function(a){if(this.B){var b=this.B.length;jb(this.B,a.la());a=a.Eb().slice();var c,d;c=0;for(d=a.length;c<d;++c)a[c]+=b}else this.B=a.la().slice(),a=a.Eb().slice(),this.i.push();this.i.push(a);this.u()};k.clone=function(){for(var a=new U(null),b=this.i.length,c=Array(b),d=0;d<b;++d)c[d]=this.i[d].slice();Bn(a,this.f,this.B.slice(),c);return a};
k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;if(this.S!=this.g){var e=this.i,f=0,g=0,h,l;h=0;for(l=e.length;h<l;++h)var m=e[h],g=dd(this.B,f,m,this.a,g),f=m[m.length-1];this.P=Math.sqrt(g);this.S=this.g}e=Ij(this);f=this.i;g=this.a;h=this.P;l=0;var m=[NaN,NaN],n,p;n=0;for(p=f.length;n<p;++n){var q=f[n];d=fd(e,l,q,g,h,!0,a,b,c,d,m);l=q[q.length-1]}return d};
k.Bc=function(a,b){var c;a:{c=Ij(this);var d=this.i,e=0;if(0!==d.length){var f,g;f=0;for(g=d.length;f<g;++f){var h=d[f];if(rd(c,e,h,this.a,a,b)){c=!0;break a}e=h[h.length-1]}}c=!1}return c};k.pm=function(){var a=Ij(this),b=this.i,c=0,d=0,e,f;e=0;for(f=b.length;e<f;++e)var g=b[e],d=d+ad(a,c,g,this.a),c=g[g.length-1];return d};
k.Z=function(a){var b;void 0!==a?(b=Ij(this).slice(),zd(b,this.i,this.a,a)):b=this.B;a=b;b=this.i;var c=this.a,d=0,e=[],f=0,g,h;g=0;for(h=b.length;g<h;++g){var l=b[g];e[f++]=kd(a,d,l,c,e[f]);d=l[l.length-1]}e.length=f;return e};
function Jj(a){if(a.D!=a.g){var b=a.B,c=a.i,d=a.a,e=0,f=[],g,h;g=0;for(h=c.length;g<h;++g){var l=c[g],e=Yb(b,e,l[0],d);f.push((e[0]+e[2])/2,(e[1]+e[3])/2);e=l[l.length-1]}b=Ij(a);c=a.i;d=a.a;g=0;h=[];l=0;for(e=c.length;l<e;++l){var m=c[l];h=sd(b,g,m,d,f,2*l,h);g=m[m.length-1]}a.C=h;a.D=a.g}return a.C}k.ck=function(){var a=new T(null);a.ba("XY",Jj(this).slice());return a};
function Ij(a){if(a.T!=a.g){var b=a.B,c;a:{c=a.i;var d,e;d=0;for(e=c.length;d<e;++d)if(!xd(b,c[d],a.a,void 0)){c=!1;break a}c=!0}c?a.j=b:(a.j=b.slice(),a.j.length=zd(a.j,a.i,a.a));a.T=a.g}return a.j}k.Nc=function(a){var b=[],c=[],d=this.B,e=this.i,f=this.a;a=Math.sqrt(a);var g=0,h=0,l,m;l=0;for(m=e.length;l<m;++l){var n=e[l],p=[],h=md(d,g,n,f,a,b,h,p);c.push(p);g=n[n.length-1]}b.length=h;d=new U(null);Bn(d,"XY",b,c);return d};
k.tk=function(a){if(0>a||this.i.length<=a)return null;var b;0===a?b=0:(b=this.i[a-1],b=b[b.length-1]);a=this.i[a].slice();var c=a[a.length-1];if(0!==b){var d,e;d=0;for(e=a.length;d<e;++d)a[d]-=b}d=new E(null);d.ba(this.f,this.B.slice(b,c),a);return d};k.Wd=function(){var a=this.f,b=this.B,c=this.i,d=[],e=0,f,g,h,l;f=0;for(g=c.length;f<g;++f){var m=c[f].slice(),n=m[m.length-1];if(0!==e)for(h=0,l=m.length;h<l;++h)m[h]-=e;h=new E(null);h.ba(a,b.slice(e,n),m);d.push(h);e=n}return d};k.Y=function(){return"MultiPolygon"};
k.Ka=function(a){a:{var b=Ij(this),c=this.i,d=this.a,e=0,f,g;f=0;for(g=c.length;f<g;++f){var h=c[f];if(vd(b,e,h,d,a)){a=!0;break a}e=h[h.length-1]}a=!1}return a};k.ra=function(a,b){if(a){Zc(this,b,a,3);this.B||(this.B=[]);var c=this.B,d=this.a,e=this.i,f=0,e=e?e:[],g=0,h,l;h=0;for(l=a.length;h<l;++h)f=id(c,f,a[h],d,e[g]),e[g++]=f,f=f[f.length-1];e.length=g;0===e.length?this.B.length=0:(c=e[e.length-1],this.B.length=0===c.length?0:c[c.length-1]);this.u()}else Bn(this,"XY",null,this.i)};
function Bn(a,b,c,d){Yc(a,b,c);a.i=d;a.u()}function Cn(a,b){var c=a.f,d=[],e=[],f,g,h;f=0;for(g=b.length;f<g;++f){var l=b[f];0===f&&(c=l.f);var m=d.length;h=l.Eb();var n,p;n=0;for(p=h.length;n<p;++n)h[n]+=m;jb(d,l.la());e.push(h)}Bn(a,c,d,e)};function Dn(a){a=a?a:{};this.defaultDataProjection=null;this.b=a.geometryName}x(Dn,vn);
function En(a,b){if(!a)return null;var c;if("number"===typeof a.x&&"number"===typeof a.y)c="Point";else if(a.points)c="MultiPoint";else if(a.paths)c=1===a.paths.length?"LineString":"MultiLineString";else if(a.rings){var d=a.rings,e=Fn(a),f=[];c=[];var g,h;g=0;for(h=d.length;g<h;++g){var l=ib(d[g]);wd(l,0,l.length,e.length)?f.push([d[g]]):c.push(d[g])}for(;c.length;){d=c.shift();e=!1;for(g=f.length-1;0<=g;g--)if(Sb((new nd(f[g][0])).H(),(new nd(d)).H())){f[g].push(d);e=!0;break}e||f.push([d.reverse()])}a=
Ca({},a);1===f.length?(c="Polygon",a.rings=f[0]):(c="MultiPolygon",a.rings=f)}return un((0,Gn[c])(a),!1,b)}function Fn(a){var b="XY";!0===a.hasZ&&!0===a.hasM?b="XYZM":!0===a.hasZ?b="XYZ":!0===a.hasM&&(b="XYM");return b}function Hn(a){a=a.f;return{hasZ:"XYZ"===a||"XYZM"===a,hasM:"XYM"===a||"XYZM"===a}}
var Gn={Point:function(a){return void 0!==a.m&&void 0!==a.z?new C([a.x,a.y,a.z,a.m],"XYZM"):void 0!==a.z?new C([a.x,a.y,a.z],"XYZ"):void 0!==a.m?new C([a.x,a.y,a.m],"XYM"):new C([a.x,a.y])},LineString:function(a){return new R(a.paths[0],Fn(a))},Polygon:function(a){return new E(a.rings,Fn(a))},MultiPoint:function(a){return new T(a.points,Fn(a))},MultiLineString:function(a){return new S(a.paths,Fn(a))},MultiPolygon:function(a){return new U(a.rings,Fn(a))}},In={Point:function(a){var b=a.Z();a=a.f;if("XYZ"===
a)return{x:b[0],y:b[1],z:b[2]};if("XYM"===a)return{x:b[0],y:b[1],m:b[2]};if("XYZM"===a)return{x:b[0],y:b[1],z:b[2],m:b[3]};if("XY"===a)return{x:b[0],y:b[1]}},LineString:function(a){var b=Hn(a);return{hasZ:b.hasZ,hasM:b.hasM,paths:[a.Z()]}},Polygon:function(a){var b=Hn(a);return{hasZ:b.hasZ,hasM:b.hasM,rings:a.Z(!1)}},MultiPoint:function(a){var b=Hn(a);return{hasZ:b.hasZ,hasM:b.hasM,points:a.Z()}},MultiLineString:function(a){var b=Hn(a);return{hasZ:b.hasZ,hasM:b.hasM,paths:a.Z()}},MultiPolygon:function(a){var b=
Hn(a);a=a.Z(!1);for(var c=[],d=0;d<a.length;d++)for(var e=a[d].length-1;0<=e;e--)c.push(a[d][e]);return{hasZ:b.hasZ,hasM:b.hasM,rings:c}}};k=Dn.prototype;k.Uc=function(a,b){var c=En(a.geometry,b),d=new Ik;this.b&&d.Ec(this.b);d.Ua(c);b&&b.mf&&a.attributes[b.mf]&&d.mc(a.attributes[b.mf]);a.attributes&&d.G(a.attributes);return d};
k.Jf=function(a,b){var c=b?b:{};if(a.features){var d=[],e=a.features,f,g;c.mf=a.objectIdFieldName;f=0;for(g=e.length;f<g;++f)d.push(this.Uc(e[f],c));return d}return[this.Uc(a,c)]};k.Rh=function(a,b){return En(a,b)};k.Yh=function(a){return a.spatialReference&&a.spatialReference.wkid?zc("EPSG:"+a.spatialReference.wkid):null};function Jn(a,b){return(0,In[a.Y()])(un(a,!0,b),b)}k.Ke=function(a,b){return Jn(a,tn(this,b))};
k.Yc=function(a,b){b=tn(this,b);var c={},d=a.X();d&&(c.geometry=Jn(d,b));d=a.O();delete d[a.a];c.attributes=Ga(d)?{}:d;b&&b.featureProjection&&(c.spatialReference={wkid:zc(b.featureProjection).eb.split(":").pop()});return c};k.Ie=function(a,b){b=tn(this,b);var c=[],d,e;d=0;for(e=a.length;d<e;++d)c.push(this.Yc(a[d],b));return{features:c}};function Kn(a){Uc.call(this);this.c=a?a:null;Ln(this)}x(Kn,Uc);function Mn(a){var b=[],c,d;c=0;for(d=a.length;c<d;++c)b.push(a[c].clone());return b}function Nn(a){var b,c;if(a.c)for(b=0,c=a.c.length;b<c;++b)Qa(a.c[b],"change",a.u,a)}function Ln(a){var b,c;if(a.c)for(b=0,c=a.c.length;b<c;++b)B(a.c[b],"change",a.u,a)}k=Kn.prototype;k.clone=function(){var a=new Kn(null);a.hi(this.c);return a};
k.tb=function(a,b,c,d){if(d<Pb(this.H(),a,b))return d;var e=this.c,f,g;f=0;for(g=e.length;f<g;++f)d=e[f].tb(a,b,c,d);return d};k.Bc=function(a,b){var c=this.c,d,e;d=0;for(e=c.length;d<e;++d)if(c[d].Bc(a,b))return!0;return!1};k.Od=function(a){Vb(Infinity,Infinity,-Infinity,-Infinity,a);for(var b=this.c,c=0,d=b.length;c<d;++c)ac(a,b[c].H());return a};k.ff=function(){return Mn(this.c)};
k.od=function(a){this.s!=this.g&&(Da(this.l),this.o=0,this.s=this.g);if(0>a||0!==this.o&&a<this.o)return this;var b=a.toString();if(this.l.hasOwnProperty(b))return this.l[b];var c=[],d=this.c,e=!1,f,g;f=0;for(g=d.length;f<g;++f){var h=d[f],l=h.od(a);c.push(l);l!==h&&(e=!0)}if(e)return a=new Kn(null),Nn(a),a.c=c,Ln(a),a.u(),this.l[b]=a;this.o=a;return this};k.Y=function(){return"GeometryCollection"};k.Ka=function(a){var b=this.c,c,d;c=0;for(d=b.length;c<d;++c)if(b[c].Ka(a))return!0;return!1};
k.Ya=function(){return 0===this.c.length};k.rotate=function(a,b){for(var c=this.c,d=0,e=c.length;d<e;++d)c[d].rotate(a,b);this.u()};k.hi=function(a){a=Mn(a);Nn(this);this.c=a;Ln(this);this.u()};k.rc=function(a){var b=this.c,c,d;c=0;for(d=b.length;c<d;++c)b[c].rc(a);this.u()};k.Sc=function(a,b){var c=this.c,d,e;d=0;for(e=c.length;d<e;++d)c[d].Sc(a,b);this.u()};k.ka=function(){Nn(this);Uc.prototype.ka.call(this)};function On(a){a=a?a:{};this.defaultDataProjection=null;this.defaultDataProjection=zc(a.defaultDataProjection?a.defaultDataProjection:"EPSG:4326");this.b=a.geometryName}x(On,vn);function Pn(a,b){return a?un((0,Qn[a.type])(a),!1,b):null}function Rn(a,b){return(0,Sn[a.Y()])(un(a,!0,b),b)}
var Qn={Point:function(a){return new C(a.coordinates)},LineString:function(a){return new R(a.coordinates)},Polygon:function(a){return new E(a.coordinates)},MultiPoint:function(a){return new T(a.coordinates)},MultiLineString:function(a){return new S(a.coordinates)},MultiPolygon:function(a){return new U(a.coordinates)},GeometryCollection:function(a,b){var c=a.geometries.map(function(a){return Pn(a,b)});return new Kn(c)}},Sn={Point:function(a){return{type:"Point",coordinates:a.Z()}},LineString:function(a){return{type:"LineString",
coordinates:a.Z()}},Polygon:function(a,b){var c;b&&(c=b.rightHanded);return{type:"Polygon",coordinates:a.Z(c)}},MultiPoint:function(a){return{type:"MultiPoint",coordinates:a.Z()}},MultiLineString:function(a){return{type:"MultiLineString",coordinates:a.Z()}},MultiPolygon:function(a,b){var c;b&&(c=b.rightHanded);return{type:"MultiPolygon",coordinates:a.Z(c)}},GeometryCollection:function(a,b){return{type:"GeometryCollection",geometries:a.c.map(function(a){var d=Ca({},b);delete d.featureProjection;return Rn(a,
d)})}},Circle:function(){return{type:"GeometryCollection",geometries:[]}}};k=On.prototype;k.Uc=function(a,b){var c=Pn(a.geometry,b),d=new Ik;this.b&&d.Ec(this.b);d.Ua(c);void 0!==a.id&&d.mc(a.id);a.properties&&d.G(a.properties);return d};k.Jf=function(a,b){if("Feature"==a.type)return[this.Uc(a,b)];if("FeatureCollection"==a.type){var c=[],d=a.features,e,f;e=0;for(f=d.length;e<f;++e)c.push(this.Uc(d[e],b));return c}return[]};k.Rh=function(a,b){return Pn(a,b)};
k.Yh=function(a){return(a=a.crs)?"name"==a.type?zc(a.properties.name):"EPSG"==a.type?zc("EPSG:"+a.properties.code):null:this.defaultDataProjection};k.Yc=function(a,b){b=tn(this,b);var c={type:"Feature"},d=a.Xa();void 0!==d&&(c.id=d);(d=a.X())?c.geometry=Rn(d,b):c.geometry=null;d=a.O();delete d[a.a];Ga(d)?c.properties=null:c.properties=d;return c};k.Ie=function(a,b){b=tn(this,b);var c=[],d,e;d=0;for(e=a.length;d<e;++d)c.push(this.Yc(a[d],b));return{type:"FeatureCollection",features:c}};
k.Ke=function(a,b){return Rn(a,tn(this,b))};function Tn(){this.f=new XMLSerializer;this.defaultDataProjection=null}x(Tn,rn);k=Tn.prototype;k.Y=function(){return"xml"};k.Sb=function(a,b){if(Pk(a))return Un(this,a,b);if(Qk(a))return this.Ph(a,b);if("string"===typeof a){var c=Rk(a);return Un(this,c,b)}return null};function Un(a,b,c){a=Vn(a,b,c);return 0<a.length?a[0]:null}k.Fa=function(a,b){if(Pk(a))return Vn(this,a,b);if(Qk(a))return this.lc(a,b);if("string"===typeof a){var c=Rk(a);return Vn(this,c,b)}return[]};
function Vn(a,b,c){var d=[];for(b=b.firstChild;b;b=b.nextSibling)b.nodeType==Node.ELEMENT_NODE&&jb(d,a.lc(b,c));return d}k.Vc=function(a,b){if(Pk(a))return this.v(a,b);if(Qk(a)){var c=this.ye(a,[sn(this,a,b?b:{})]);return c?c:null}return"string"===typeof a?(c=Rk(a),this.v(c,b)):null};k.Oa=function(a){return Pk(a)?this.Pf(a):Qk(a)?this.Be(a):"string"===typeof a?(a=Rk(a),this.Pf(a)):null};k.Pf=function(){return this.defaultDataProjection};k.Be=function(){return this.defaultDataProjection};
k.Dd=function(a,b){var c=this.A(a,b);return this.f.serializeToString(c)};k.Yb=function(a,b){var c=this.a(a,b);return this.f.serializeToString(c)};k.Zc=function(a,b){var c=this.s(a,b);return this.f.serializeToString(c)};function Wn(a){a=a?a:{};this.featureType=a.featureType;this.featureNS=a.featureNS;this.srsName=a.srsName;this.schemaLocation="";this.b={};this.b["http://www.opengis.net/gml"]={featureMember:Uk(Wn.prototype.vd),featureMembers:Uk(Wn.prototype.vd)};Tn.call(this)}x(Wn,Tn);var Xn=/^[\s\xa0]*$/;k=Wn.prototype;
k.vd=function(a,b){var c=a.localName,d=null;if("FeatureCollection"==c)"http://www.opengis.net/wfs"===a.namespaceURI?d=O([],this.b,a,b,this):d=O(null,this.b,a,b,this);else if("featureMembers"==c||"featureMember"==c){var e=b[0],f=e.featureType,g=e.featureNS,h,l;if(!f&&a.childNodes){f=[];g={};h=0;for(l=a.childNodes.length;h<l;++h){var m=a.childNodes[h];if(1===m.nodeType){var n=m.nodeName.split(":").pop();if(-1===f.indexOf(n)){var p="",q=0,m=m.namespaceURI,r;for(r in g){if(g[r]===m){p=r;break}++q}p||
(p="p"+q,g[p]=m);f.push(p+":"+n)}}}"featureMember"!=c&&(e.featureType=f,e.featureNS=g)}"string"===typeof g&&(h=g,g={},g.p0=h);var e={},f=Array.isArray(f)?f:[f],v;for(v in g){n={};h=0;for(l=f.length;h<l;++h)(-1===f[h].indexOf(":")?"p0":f[h].split(":")[0])===v&&(n[f[h].split(":").pop()]="featureMembers"==c?Tk(this.If,this):Uk(this.If,this));e[g[v]]=n}"featureMember"==c?d=O(void 0,e,a,b):d=O([],e,a,b)}null===d&&(d=[]);return d};
k.ye=function(a,b){var c=b[0];c.srsName=a.firstElementChild.getAttribute("srsName");var d=O(null,this.bg,a,b,this);if(d)return un(d,!1,c)};
k.If=function(a,b){var c,d;(d=a.getAttribute("fid"))||(d=a.getAttributeNS("http://www.opengis.net/gml","id")||"");var e={},f;for(c=a.firstElementChild;c;c=c.nextElementSibling){var g=c.localName;if(0===c.childNodes.length||1===c.childNodes.length&&(3===c.firstChild.nodeType||4===c.firstChild.nodeType)){var h=Nk(c,!1);Xn.test(h)&&(h=void 0);e[g]=h}else"boundedBy"!==g&&(f=g),e[g]=this.ye(c,b)}c=new Ik(e);f&&c.Ec(f);d&&c.mc(d);return c};
k.Xh=function(a,b){var c=this.xe(a,b);if(c){var d=new C(null);d.ba("XYZ",c);return d}};k.Vh=function(a,b){var c=O([],this.Ui,a,b,this);if(c)return new T(c)};k.Uh=function(a,b){var c=O([],this.Ti,a,b,this);if(c){var d=new S(null);An(d,c);return d}};k.Wh=function(a,b){var c=O([],this.Vi,a,b,this);if(c){var d=new U(null);Cn(d,c);return d}};k.Mh=function(a,b){al(this.Yi,a,b,this)};k.Ug=function(a,b){al(this.Ri,a,b,this)};k.Nh=function(a,b){al(this.Zi,a,b,this)};
k.ze=function(a,b){var c=this.xe(a,b);if(c){var d=new R(null);d.ba("XYZ",c);return d}};k.zo=function(a,b){var c=O(null,this.Fd,a,b,this);if(c)return c};k.Th=function(a,b){var c=this.xe(a,b);if(c){var d=new nd(null);od(d,"XYZ",c);return d}};k.Ae=function(a,b){var c=O([null],this.Me,a,b,this);if(c&&c[0]){var d=new E(null),e=c[0],f=[e.length],g,h;g=1;for(h=c.length;g<h;++g)jb(e,c[g]),f.push(e.length);d.ba("XYZ",e,f);return d}};k.xe=function(a,b){return O(null,this.Fd,a,b,this)};
k.Ui={"http://www.opengis.net/gml":{pointMember:Tk(Wn.prototype.Mh),pointMembers:Tk(Wn.prototype.Mh)}};k.Ti={"http://www.opengis.net/gml":{lineStringMember:Tk(Wn.prototype.Ug),lineStringMembers:Tk(Wn.prototype.Ug)}};k.Vi={"http://www.opengis.net/gml":{polygonMember:Tk(Wn.prototype.Nh),polygonMembers:Tk(Wn.prototype.Nh)}};k.Yi={"http://www.opengis.net/gml":{Point:Tk(Wn.prototype.xe)}};k.Ri={"http://www.opengis.net/gml":{LineString:Tk(Wn.prototype.ze)}};k.Zi={"http://www.opengis.net/gml":{Polygon:Tk(Wn.prototype.Ae)}};
k.Gd={"http://www.opengis.net/gml":{LinearRing:Uk(Wn.prototype.zo)}};k.lc=function(a,b){var c={featureType:this.featureType,featureNS:this.featureNS};b&&Ca(c,sn(this,a,b));return this.vd(a,[c])||[]};k.Be=function(a){return zc(this.srsName?this.srsName:a.firstElementChild.getAttribute("srsName"))};function Yn(a){a=Nk(a,!1);return Zn(a)}function Zn(a){if(a=/^\s*(true|1)|(false|0)\s*$/.exec(a))return void 0!==a[1]||!1}
function $n(a){a=Nk(a,!1);if(a=/^\s*(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(Z|(?:([+\-])(\d{2})(?::(\d{2}))?))\s*$/.exec(a)){var b=Date.UTC(parseInt(a[1],10),parseInt(a[2],10)-1,parseInt(a[3],10),parseInt(a[4],10),parseInt(a[5],10),parseInt(a[6],10))/1E3;if("Z"!=a[7]){var c="-"==a[8]?-1:1,b=b+60*c*parseInt(a[9],10);void 0!==a[10]&&(b+=3600*c*parseInt(a[10],10))}return b}}function ao(a){a=Nk(a,!1);return bo(a)}
function bo(a){if(a=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*$/i.exec(a))return parseFloat(a[1])}function co(a){a=Nk(a,!1);return eo(a)}function eo(a){if(a=/^\s*(\d+)\s*$/.exec(a))return parseInt(a[1],10)}function V(a){return Nk(a,!1).trim()}function fo(a,b){go(a,b?"1":"0")}function ho(a,b){a.appendChild(Lk.createTextNode(b.toPrecision()))}function io(a,b){a.appendChild(Lk.createTextNode(b.toString()))}function go(a,b){a.appendChild(Lk.createTextNode(b))};function jo(a){a=a?a:{};Wn.call(this,a);this.b["http://www.opengis.net/gml"].featureMember=Tk(Wn.prototype.vd);this.schemaLocation=a.schemaLocation?a.schemaLocation:"http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd"}x(jo,Wn);k=jo.prototype;
k.Qh=function(a,b){var c=Nk(a,!1).replace(/^\s*|\s*$/g,""),d=b[0].srsName,e=a.parentNode.getAttribute("srsDimension"),f="enu";d&&(d=zc(d))&&(f=d.b);c=c.split(/[\s,]+/);d=2;a.getAttribute("srsDimension")?d=eo(a.getAttribute("srsDimension")):a.getAttribute("dimension")?d=eo(a.getAttribute("dimension")):e&&(d=eo(e));for(var g,h,l=[],m=0,n=c.length;m<n;m+=d)e=parseFloat(c[m]),g=parseFloat(c[m+1]),h=3===d?parseFloat(c[m+2]):0,"en"===f.substr(0,2)?l.push(e,g,h):l.push(g,e,h);return l};
k.wo=function(a,b){var c=O([null],this.Ni,a,b,this);return Vb(c[1][0],c[1][1],c[1][3],c[1][4])};k.ml=function(a,b){var c=O(void 0,this.Gd,a,b,this);c&&b[b.length-1].push(c)};k.eo=function(a,b){var c=O(void 0,this.Gd,a,b,this);c&&(b[b.length-1][0]=c)};k.Fd={"http://www.opengis.net/gml":{coordinates:Uk(jo.prototype.Qh)}};k.Me={"http://www.opengis.net/gml":{innerBoundaryIs:jo.prototype.ml,outerBoundaryIs:jo.prototype.eo}};k.Ni={"http://www.opengis.net/gml":{coordinates:Tk(jo.prototype.Qh)}};
k.bg={"http://www.opengis.net/gml":{Point:Uk(Wn.prototype.Xh),MultiPoint:Uk(Wn.prototype.Vh),LineString:Uk(Wn.prototype.ze),MultiLineString:Uk(Wn.prototype.Uh),LinearRing:Uk(Wn.prototype.Th),Polygon:Uk(Wn.prototype.Ae),MultiPolygon:Uk(Wn.prototype.Wh),Box:Uk(jo.prototype.wo)}};function ko(a){a=a?a:{};Wn.call(this,a);this.j=void 0!==a.surface?a.surface:!1;this.i=void 0!==a.curve?a.curve:!1;this.l=void 0!==a.multiCurve?a.multiCurve:!0;this.o=void 0!==a.multiSurface?a.multiSurface:!0;this.schemaLocation=a.schemaLocation?a.schemaLocation:"http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd"}x(ko,Wn);k=ko.prototype;k.Do=function(a,b){var c=O([],this.Si,a,b,this);if(c){var d=new S(null);An(d,c);return d}};
k.Eo=function(a,b){var c=O([],this.Wi,a,b,this);if(c){var d=new U(null);Cn(d,c);return d}};k.vg=function(a,b){al(this.Oi,a,b,this)};k.vi=function(a,b){al(this.cj,a,b,this)};k.Ho=function(a,b){return O([null],this.Xi,a,b,this)};k.Jo=function(a,b){return O([null],this.bj,a,b,this)};k.Io=function(a,b){return O([null],this.Me,a,b,this)};k.Co=function(a,b){return O([null],this.Fd,a,b,this)};k.ol=function(a,b){var c=O(void 0,this.Gd,a,b,this);c&&b[b.length-1].push(c)};
k.Hj=function(a,b){var c=O(void 0,this.Gd,a,b,this);c&&(b[b.length-1][0]=c)};k.Zh=function(a,b){var c=O([null],this.dj,a,b,this);if(c&&c[0]){var d=new E(null),e=c[0],f=[e.length],g,h;g=1;for(h=c.length;g<h;++g)jb(e,c[g]),f.push(e.length);d.ba("XYZ",e,f);return d}};k.Oh=function(a,b){var c=O([null],this.Pi,a,b,this);if(c){var d=new R(null);d.ba("XYZ",c);return d}};k.yo=function(a,b){var c=O([null],this.Qi,a,b,this);return Vb(c[1][0],c[1][1],c[2][0],c[2][1])};
k.Ao=function(a,b){for(var c=Nk(a,!1),d=/^\s*([+\-]?\d*\.?\d+(?:[eE][+\-]?\d+)?)\s*/,e=[],f;f=d.exec(c);)e.push(parseFloat(f[1])),c=c.substr(f[0].length);if(""===c){c=b[0].srsName;d="enu";c&&(d=zc(c).b);if("neu"===d)for(c=0,d=e.length;c<d;c+=3)f=e[c],e[c]=e[c+1],e[c+1]=f;c=e.length;2==c&&e.push(0);return 0===c?void 0:e}};
k.Mf=function(a,b){var c=Nk(a,!1).replace(/^\s*|\s*$/g,""),d=b[0].srsName,e=a.parentNode.getAttribute("srsDimension"),f="enu";d&&(f=zc(d).b);c=c.split(/\s+/);d=2;a.getAttribute("srsDimension")?d=eo(a.getAttribute("srsDimension")):a.getAttribute("dimension")?d=eo(a.getAttribute("dimension")):e&&(d=eo(e));for(var g,h,l=[],m=0,n=c.length;m<n;m+=d)e=parseFloat(c[m]),g=parseFloat(c[m+1]),h=3===d?parseFloat(c[m+2]):0,"en"===f.substr(0,2)?l.push(e,g,h):l.push(g,e,h);return l};
k.Fd={"http://www.opengis.net/gml":{pos:Uk(ko.prototype.Ao),posList:Uk(ko.prototype.Mf)}};k.Me={"http://www.opengis.net/gml":{interior:ko.prototype.ol,exterior:ko.prototype.Hj}};
k.bg={"http://www.opengis.net/gml":{Point:Uk(Wn.prototype.Xh),MultiPoint:Uk(Wn.prototype.Vh),LineString:Uk(Wn.prototype.ze),MultiLineString:Uk(Wn.prototype.Uh),LinearRing:Uk(Wn.prototype.Th),Polygon:Uk(Wn.prototype.Ae),MultiPolygon:Uk(Wn.prototype.Wh),Surface:Uk(ko.prototype.Zh),MultiSurface:Uk(ko.prototype.Eo),Curve:Uk(ko.prototype.Oh),MultiCurve:Uk(ko.prototype.Do),Envelope:Uk(ko.prototype.yo)}};k.Si={"http://www.opengis.net/gml":{curveMember:Tk(ko.prototype.vg),curveMembers:Tk(ko.prototype.vg)}};
k.Wi={"http://www.opengis.net/gml":{surfaceMember:Tk(ko.prototype.vi),surfaceMembers:Tk(ko.prototype.vi)}};k.Oi={"http://www.opengis.net/gml":{LineString:Tk(Wn.prototype.ze),Curve:Tk(ko.prototype.Oh)}};k.cj={"http://www.opengis.net/gml":{Polygon:Tk(Wn.prototype.Ae),Surface:Tk(ko.prototype.Zh)}};k.dj={"http://www.opengis.net/gml":{patches:Uk(ko.prototype.Ho)}};k.Pi={"http://www.opengis.net/gml":{segments:Uk(ko.prototype.Jo)}};k.Qi={"http://www.opengis.net/gml":{lowerCorner:Tk(ko.prototype.Mf),upperCorner:Tk(ko.prototype.Mf)}};
k.Xi={"http://www.opengis.net/gml":{PolygonPatch:Uk(ko.prototype.Io)}};k.bj={"http://www.opengis.net/gml":{LineStringSegment:Uk(ko.prototype.Co)}};function lo(a,b,c){c=c[c.length-1].srsName;b=b.Z();for(var d=b.length,e=Array(d),f,g=0;g<d;++g){f=b[g];var h=g,l="enu";c&&(l=zc(c).b);e[h]="en"===l.substr(0,2)?f[0]+" "+f[1]:f[1]+" "+f[0]}go(a,e.join(" "))}
k.Ji=function(a,b,c){var d=c[c.length-1].srsName;d&&a.setAttribute("srsName",d);d=Mk(a.namespaceURI,"pos");a.appendChild(d);c=c[c.length-1].srsName;a="enu";c&&(a=zc(c).b);b=b.Z();go(d,"en"===a.substr(0,2)?b[0]+" "+b[1]:b[1]+" "+b[0])};var mo={"http://www.opengis.net/gml":{lowerCorner:L(go),upperCorner:L(go)}};k=ko.prototype;k.xp=function(a,b,c){var d=c[c.length-1].srsName;d&&a.setAttribute("srsName",d);bl({node:a},mo,Zk,[b[0]+" "+b[1],b[2]+" "+b[3]],c,["lowerCorner","upperCorner"],this)};
k.Gi=function(a,b,c){var d=c[c.length-1].srsName;d&&a.setAttribute("srsName",d);d=Mk(a.namespaceURI,"posList");a.appendChild(d);lo(d,b,c)};k.aj=function(a,b){var c=b[b.length-1],d=c.node,e=c.exteriorWritten;void 0===e&&(c.exteriorWritten=!0);return Mk(d.namespaceURI,void 0!==e?"interior":"exterior")};
k.Le=function(a,b,c){var d=c[c.length-1].srsName;"PolygonPatch"!==a.nodeName&&d&&a.setAttribute("srsName",d);"Polygon"===a.nodeName||"PolygonPatch"===a.nodeName?(b=b.Vd(),bl({node:a,srsName:d},no,this.aj,b,c,void 0,this)):"Surface"===a.nodeName&&(d=Mk(a.namespaceURI,"patches"),a.appendChild(d),a=Mk(d.namespaceURI,"PolygonPatch"),d.appendChild(a),this.Le(a,b,c))};
k.Ge=function(a,b,c){var d=c[c.length-1].srsName;"LineStringSegment"!==a.nodeName&&d&&a.setAttribute("srsName",d);"LineString"===a.nodeName||"LineStringSegment"===a.nodeName?(d=Mk(a.namespaceURI,"posList"),a.appendChild(d),lo(d,b,c)):"Curve"===a.nodeName&&(d=Mk(a.namespaceURI,"segments"),a.appendChild(d),a=Mk(d.namespaceURI,"LineStringSegment"),d.appendChild(a),this.Ge(a,b,c))};
k.Ii=function(a,b,c){var d=c[c.length-1],e=d.srsName,d=d.surface;e&&a.setAttribute("srsName",e);b=b.Wd();bl({node:a,srsName:e,surface:d},oo,this.c,b,c,void 0,this)};k.yp=function(a,b,c){var d=c[c.length-1].srsName;d&&a.setAttribute("srsName",d);b=b.je();bl({node:a,srsName:d},po,Xk("pointMember"),b,c,void 0,this)};k.Hi=function(a,b,c){var d=c[c.length-1],e=d.srsName,d=d.curve;e&&a.setAttribute("srsName",e);b=b.md();bl({node:a,srsName:e,curve:d},qo,this.c,b,c,void 0,this)};
k.Ki=function(a,b,c){var d=Mk(a.namespaceURI,"LinearRing");a.appendChild(d);this.Gi(d,b,c)};k.Li=function(a,b,c){var d=this.g(b,c);d&&(a.appendChild(d),this.Le(d,b,c))};k.zp=function(a,b,c){var d=Mk(a.namespaceURI,"Point");a.appendChild(d);this.Ji(d,b,c)};k.Fi=function(a,b,c){var d=this.g(b,c);d&&(a.appendChild(d),this.Ge(d,b,c))};
k.Je=function(a,b,c){var d=c[c.length-1],e=Ca({},d);e.node=a;var f;Array.isArray(b)?d.dataProjection?f=Tc(b,d.featureProjection,d.dataProjection):f=b:f=un(b,!0,d);bl(e,ro,this.g,[f],c,void 0,this)};
k.Bi=function(a,b,c){var d=b.Xa();d&&a.setAttribute("fid",d);var d=c[c.length-1],e=d.featureNS,f=b.a;d.Dc||(d.Dc={},d.Dc[e]={});var g=b.O();b=[];var h=[],l;for(l in g){var m=g[l];null!==m&&(b.push(l),h.push(m),l==f||m instanceof Uc?l in d.Dc[e]||(d.Dc[e][l]=L(this.Je,this)):l in d.Dc[e]||(d.Dc[e][l]=L(go)))}l=Ca({},d);l.node=a;bl(l,d.Dc,Xk(void 0,e),h,c,b)};
var oo={"http://www.opengis.net/gml":{surfaceMember:L(ko.prototype.Li),polygonMember:L(ko.prototype.Li)}},po={"http://www.opengis.net/gml":{pointMember:L(ko.prototype.zp)}},qo={"http://www.opengis.net/gml":{lineStringMember:L(ko.prototype.Fi),curveMember:L(ko.prototype.Fi)}},no={"http://www.opengis.net/gml":{exterior:L(ko.prototype.Ki),interior:L(ko.prototype.Ki)}},ro={"http://www.opengis.net/gml":{Curve:L(ko.prototype.Ge),MultiCurve:L(ko.prototype.Hi),Point:L(ko.prototype.Ji),MultiPoint:L(ko.prototype.yp),
LineString:L(ko.prototype.Ge),MultiLineString:L(ko.prototype.Hi),LinearRing:L(ko.prototype.Gi),Polygon:L(ko.prototype.Le),MultiPolygon:L(ko.prototype.Ii),Surface:L(ko.prototype.Le),MultiSurface:L(ko.prototype.Ii),Envelope:L(ko.prototype.xp)}},so={MultiLineString:"lineStringMember",MultiCurve:"curveMember",MultiPolygon:"polygonMember",MultiSurface:"surfaceMember"};ko.prototype.c=function(a,b){return Mk("http://www.opengis.net/gml",so[b[b.length-1].node.nodeName])};
ko.prototype.g=function(a,b){var c=b[b.length-1],d=c.multiSurface,e=c.surface,f=c.curve,c=c.multiCurve,g;Array.isArray(a)?g="Envelope":(g=a.Y(),"MultiPolygon"===g&&!0===d?g="MultiSurface":"Polygon"===g&&!0===e?g="Surface":"LineString"===g&&!0===f?g="Curve":"MultiLineString"===g&&!0===c&&(g="MultiCurve"));return Mk("http://www.opengis.net/gml",g)};
ko.prototype.s=function(a,b){b=tn(this,b);var c=Mk("http://www.opengis.net/gml","geom"),d={node:c,srsName:this.srsName,curve:this.i,surface:this.j,multiSurface:this.o,multiCurve:this.l};b&&Ca(d,b);this.Je(c,a,[d]);return c};
ko.prototype.a=function(a,b){b=tn(this,b);var c=Mk("http://www.opengis.net/gml","featureMembers");c.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.schemaLocation);var d={srsName:this.srsName,curve:this.i,surface:this.j,multiSurface:this.o,multiCurve:this.l,featureNS:this.featureNS,featureType:this.featureType};b&&Ca(d,b);var d=[d],e=d[d.length-1],f=e.featureType,g=e.featureNS,h={};h[g]={};h[g][f]=L(this.Bi,this);e=Ca({},e);e.node=c;bl(e,h,Xk(f,g),a,d);return c};function to(a){a=a?a:{};Tn.call(this);this.defaultDataProjection=zc("EPSG:4326");this.b=a.readExtensions}x(to,Tn);var uo=[null,"http://www.topografix.com/GPX/1/0","http://www.topografix.com/GPX/1/1"];function vo(a,b,c){a.push(parseFloat(b.getAttribute("lon")),parseFloat(b.getAttribute("lat")));"ele"in c?(a.push(c.ele),delete c.ele):a.push(0);"time"in c?(a.push(c.time),delete c.time):a.push(0);return a}function wo(a,b){var c=b[b.length-1],d=a.getAttribute("href");null!==d&&(c.link=d);al(xo,a,b)}
function yo(a,b){b[b.length-1].extensionsNode_=a}function zo(a,b){var c=b[0],d=O({flatCoordinates:[]},Ao,a,b);if(d){var e=d.flatCoordinates;delete d.flatCoordinates;var f=new R(null);f.ba("XYZM",e);un(f,!1,c);c=new Ik(f);c.G(d);return c}}function Bo(a,b){var c=b[0],d=O({flatCoordinates:[],ends:[]},Co,a,b);if(d){var e=d.flatCoordinates;delete d.flatCoordinates;var f=d.ends;delete d.ends;var g=new S(null);g.ba("XYZM",e,f);un(g,!1,c);c=new Ik(g);c.G(d);return c}}
function Do(a,b){var c=b[0],d=O({},Eo,a,b);if(d){var e=vo([],a,d),e=new C(e,"XYZM");un(e,!1,c);c=new Ik(e);c.G(d);return c}}
var Fo={rte:zo,trk:Bo,wpt:Do},Go=N(uo,{rte:Tk(zo),trk:Tk(Bo),wpt:Tk(Do)}),xo=N(uo,{text:K(V,"linkText"),type:K(V,"linkType")}),Ao=N(uo,{name:K(V),cmt:K(V),desc:K(V),src:K(V),link:wo,number:K(co),extensions:yo,type:K(V),rtept:function(a,b){var c=O({},Ho,a,b);c&&vo(b[b.length-1].flatCoordinates,a,c)}}),Ho=N(uo,{ele:K(ao),time:K($n)}),Co=N(uo,{name:K(V),cmt:K(V),desc:K(V),src:K(V),link:wo,number:K(co),type:K(V),extensions:yo,trkseg:function(a,b){var c=b[b.length-1];al(Io,a,b);c.ends.push(c.flatCoordinates.length)}}),
Io=N(uo,{trkpt:function(a,b){var c=O({},Jo,a,b);c&&vo(b[b.length-1].flatCoordinates,a,c)}}),Jo=N(uo,{ele:K(ao),time:K($n)}),Eo=N(uo,{ele:K(ao),time:K($n),magvar:K(ao),geoidheight:K(ao),name:K(V),cmt:K(V),desc:K(V),src:K(V),link:wo,sym:K(V),type:K(V),fix:K(V),sat:K(co),hdop:K(ao),vdop:K(ao),pdop:K(ao),ageofdgpsdata:K(ao),dgpsid:K(co),extensions:yo});
function Ko(a,b){b||(b=[]);for(var c=0,d=b.length;c<d;++c){var e=b[c];if(a.b){var f=e.get("extensionsNode_")||null;a.b(e,f)}e.set("extensionsNode_",void 0)}}to.prototype.Ph=function(a,b){if(!gb(uo,a.namespaceURI))return null;var c=Fo[a.localName];if(!c)return null;c=c(a,[sn(this,a,b)]);if(!c)return null;Ko(this,[c]);return c};to.prototype.lc=function(a,b){if(!gb(uo,a.namespaceURI))return[];if("gpx"==a.localName){var c=O([],Go,a,[sn(this,a,b)]);if(c)return Ko(this,c),c}return[]};
function Lo(a,b,c){a.setAttribute("href",b);b=c[c.length-1].properties;bl({node:a},Mo,Zk,[b.linkText,b.linkType],c,No)}function Oo(a,b,c){var d=c[c.length-1],e=d.node.namespaceURI,f=d.properties;a.setAttributeNS(null,"lat",b[1]);a.setAttributeNS(null,"lon",b[0]);switch(d.geometryLayout){case "XYZM":0!==b[3]&&(f.time=b[3]);case "XYZ":0!==b[2]&&(f.ele=b[2]);break;case "XYM":0!==b[2]&&(f.time=b[2])}b="rtept"==a.nodeName?Po[e]:Qo[e];d=$k(f,b);bl({node:a,properties:f},Ro,Zk,d,c,b)}
var No=["text","type"],Mo=N(uo,{text:L(go),type:L(go)}),So=N(uo,"name cmt desc src link number type rtept".split(" ")),To=N(uo,{name:L(go),cmt:L(go),desc:L(go),src:L(go),link:L(Lo),number:L(io),type:L(go),rtept:Wk(L(Oo))}),Po=N(uo,["ele","time"]),Uo=N(uo,"name cmt desc src link number type trkseg".split(" ")),Xo=N(uo,{name:L(go),cmt:L(go),desc:L(go),src:L(go),link:L(Lo),number:L(io),type:L(go),trkseg:Wk(L(function(a,b,c){bl({node:a,geometryLayout:b.f,properties:{}},Vo,Wo,b.Z(),c)}))}),Wo=Xk("trkpt"),
Vo=N(uo,{trkpt:L(Oo)}),Qo=N(uo,"ele time magvar geoidheight name cmt desc src link sym type fix sat hdop vdop pdop ageofdgpsdata dgpsid".split(" ")),Ro=N(uo,{ele:L(ho),time:L(function(a,b){var c=new Date(1E3*b);a.appendChild(Lk.createTextNode(c.getUTCFullYear()+"-"+wb(c.getUTCMonth()+1)+"-"+wb(c.getUTCDate())+"T"+wb(c.getUTCHours())+":"+wb(c.getUTCMinutes())+":"+wb(c.getUTCSeconds())+"Z"))}),magvar:L(ho),geoidheight:L(ho),name:L(go),cmt:L(go),desc:L(go),src:L(go),link:L(Lo),sym:L(go),type:L(go),fix:L(go),
sat:L(io),hdop:L(ho),vdop:L(ho),pdop:L(ho),ageofdgpsdata:L(ho),dgpsid:L(io)}),Yo={Point:"wpt",LineString:"rte",MultiLineString:"trk"};function Zo(a,b){var c=a.X();if(c&&(c=Yo[c.Y()]))return Mk(b[b.length-1].node.namespaceURI,c)}
var $o=N(uo,{rte:L(function(a,b,c){var d=c[0],e=b.O();a={node:a,properties:e};if(b=b.X())b=un(b,!0,d),a.geometryLayout=b.f,e.rtept=b.Z();d=So[c[c.length-1].node.namespaceURI];e=$k(e,d);bl(a,To,Zk,e,c,d)}),trk:L(function(a,b,c){var d=c[0],e=b.O();a={node:a,properties:e};if(b=b.X())b=un(b,!0,d),e.trkseg=b.md();d=Uo[c[c.length-1].node.namespaceURI];e=$k(e,d);bl(a,Xo,Zk,e,c,d)}),wpt:L(function(a,b,c){var d=c[0],e=c[c.length-1];e.properties=b.O();if(b=b.X())b=un(b,!0,d),e.geometryLayout=b.f,Oo(a,b.Z(),
c)})});to.prototype.a=function(a,b){b=tn(this,b);var c=Mk("http://www.topografix.com/GPX/1/1","gpx");c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");c.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation","http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd");c.setAttribute("version","1.1");c.setAttribute("creator","OpenLayers 3");bl({node:c},$o,Zo,a,[b]);return c};function ap(){this.defaultDataProjection=null}x(ap,rn);function bp(a){return"string"===typeof a?a:""}k=ap.prototype;k.Y=function(){return"text"};k.Sb=function(a,b){return this.ud(bp(a),tn(this,b))};k.Fa=function(a,b){return this.Kf(bp(a),tn(this,b))};k.Vc=function(a,b){return this.wd(bp(a),tn(this,b))};k.Oa=function(a){bp(a);return this.defaultDataProjection};k.Dd=function(a,b){return this.He(a,tn(this,b))};k.Yb=function(a,b){return this.Ci(a,tn(this,b))};
k.Zc=function(a,b){return this.Ed(a,tn(this,b))};function cp(a){a=a?a:{};this.defaultDataProjection=null;this.defaultDataProjection=zc("EPSG:4326");this.b=a.altitudeMode?a.altitudeMode:"none"}x(cp,ap);var dp=/^B(\d{2})(\d{2})(\d{2})(\d{2})(\d{5})([NS])(\d{3})(\d{5})([EW])([AV])(\d{5})(\d{5})/,ep=/^H.([A-Z]{3}).*?:(.*)/,fp=/^HFDTE(\d{2})(\d{2})(\d{2})/,gp=/\r\n|\r|\n/;
cp.prototype.ud=function(a,b){var c=this.b,d=a.split(gp),e={},f=[],g=2E3,h=0,l=1,m=-1,n,p;n=0;for(p=d.length;n<p;++n){var q=d[n],r;if("B"==q.charAt(0)){if(r=dp.exec(q)){var q=parseInt(r[1],10),v=parseInt(r[2],10),y=parseInt(r[3],10),w=parseInt(r[4],10)+parseInt(r[5],10)/6E4;"S"==r[6]&&(w=-w);var G=parseInt(r[7],10)+parseInt(r[8],10)/6E4;"W"==r[9]&&(G=-G);f.push(G,w);"none"!=c&&f.push("gps"==c?parseInt(r[11],10):"barometric"==c?parseInt(r[12],10):0);r=Date.UTC(g,h,l,q,v,y);r<m&&(r=Date.UTC(g,h,l+1,
q,v,y));f.push(r/1E3);m=r}}else"H"==q.charAt(0)&&((r=fp.exec(q))?(l=parseInt(r[1],10),h=parseInt(r[2],10)-1,g=2E3+parseInt(r[3],10)):(r=ep.exec(q))&&(e[r[1]]=r[2].trim()))}if(0===f.length)return null;d=new R(null);d.ba("none"==c?"XYM":"XYZM",f);c=new Ik(un(d,!1,b));c.G(e);return c};cp.prototype.Kf=function(a,b){var c=this.ud(a,b);return c?[c]:[]};function hp(a,b){this.a={};this.b=[];this.g=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else if(a){var e;if(a instanceof hp)e=a.N(),d=a.zc();else{var c=[],f=0;for(e in a)c[f++]=e;e=c;c=[];f=0;for(d in a)c[f++]=a[d];d=c}for(c=0;c<e.length;c++)this.set(e[c],d[c])}}k=hp.prototype;k.wc=function(){return this.g};k.zc=function(){ip(this);for(var a=[],b=0;b<this.b.length;b++)a.push(this.a[this.b[b]]);return a};
k.N=function(){ip(this);return this.b.concat()};k.Ya=function(){return 0==this.g};k.clear=function(){this.a={};this.g=this.b.length=0};k.remove=function(a){return jp(this.a,a)?(delete this.a[a],this.g--,this.b.length>2*this.g&&ip(this),!0):!1};function ip(a){if(a.g!=a.b.length){for(var b=0,c=0;b<a.b.length;){var d=a.b[b];jp(a.a,d)&&(a.b[c++]=d);b++}a.b.length=c}if(a.g!=a.b.length){for(var e={},c=b=0;b<a.b.length;)d=a.b[b],jp(e,d)||(a.b[c++]=d,e[d]=1),b++;a.b.length=c}}
k.get=function(a,b){return jp(this.a,a)?this.a[a]:b};k.set=function(a,b){jp(this.a,a)||(this.g++,this.b.push(a));this.a[a]=b};k.forEach=function(a,b){for(var c=this.N(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};k.clone=function(){return new hp(this)};function jp(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var kp=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;function lp(a,b){if(a)for(var c=a.split("&"),d=0;d<c.length;d++){var e=c[d].indexOf("="),f,g=null;0<=e?(f=c[d].substring(0,e),g=c[d].substring(e+1)):f=c[d];b(f,g?decodeURIComponent(g.replace(/\+/g," ")):"")}};function mp(a,b){this.a=this.l=this.g="";this.o=null;this.f=this.b="";this.c=!1;var c;a instanceof mp?(this.c=void 0!==b?b:a.c,np(this,a.g),this.l=a.l,this.a=a.a,op(this,a.o),this.b=a.b,pp(this,a.i.clone()),this.f=a.f):a&&(c=String(a).match(kp))?(this.c=!!b,np(this,c[1]||"",!0),this.l=qp(c[2]||""),this.a=qp(c[3]||"",!0),op(this,c[4]),this.b=qp(c[5]||"",!0),pp(this,c[6]||"",!0),this.f=qp(c[7]||"")):(this.c=!!b,this.i=new rp(null,0,this.c))}
mp.prototype.toString=function(){var a=[],b=this.g;b&&a.push(sp(b,tp,!0),":");var c=this.a;if(c||"file"==b)a.push("//"),(b=this.l)&&a.push(sp(b,tp,!0),"@"),a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),c=this.o,null!=c&&a.push(":",String(c));if(c=this.b)this.a&&"/"!=c.charAt(0)&&a.push("/"),a.push(sp(c,"/"==c.charAt(0)?up:vp,!0));(c=this.i.toString())&&a.push("?",c);(c=this.f)&&a.push("#",sp(c,wp));return a.join("")};mp.prototype.clone=function(){return new mp(this)};
function np(a,b,c){a.g=c?qp(b,!0):b;a.g&&(a.g=a.g.replace(/:$/,""))}function op(a,b){if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.o=b}else a.o=null}function pp(a,b,c){b instanceof rp?(a.i=b,xp(a.i,a.c)):(c||(b=sp(b,yp)),a.i=new rp(b,0,a.c))}function zp(a){return a instanceof mp?a.clone():new mp(a,void 0)}
function Ap(a,b){a instanceof mp||(a=zp(a));b instanceof mp||(b=zp(b));var c=a,d=b,e=c.clone(),f=!!d.g;f?np(e,d.g):f=!!d.l;f?e.l=d.l:f=!!d.a;f?e.a=d.a:f=null!=d.o;var g=d.b;if(f)op(e,d.o);else if(f=!!d.b)if("/"!=g.charAt(0)&&(c.a&&!c.b?g="/"+g:(c=e.b.lastIndexOf("/"),-1!=c&&(g=e.b.substr(0,c+1)+g))),c=g,".."==c||"."==c)g="";else if(-1!=c.indexOf("./")||-1!=c.indexOf("/.")){for(var g=0==c.lastIndexOf("/",0),c=c.split("/"),h=[],l=0;l<c.length;){var m=c[l++];"."==m?g&&l==c.length&&h.push(""):".."==m?
((1<h.length||1==h.length&&""!=h[0])&&h.pop(),g&&l==c.length&&h.push("")):(h.push(m),g=!0)}g=h.join("/")}else g=c;f?e.b=g:f=""!==d.i.toString();f?pp(e,qp(d.i.toString())):f=!!d.f;f&&(e.f=d.f);return e}function qp(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""}function sp(a,b,c){return ea(a)?(a=encodeURI(a).replace(b,Bp),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null}function Bp(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)}
var tp=/[#\/\?@]/g,vp=/[\#\?:]/g,up=/[\#\?]/g,yp=/[\#\?@]/g,wp=/#/g;function rp(a,b,c){this.a=this.b=null;this.g=a||null;this.f=!!c}function Cp(a){a.b||(a.b=new hp,a.a=0,a.g&&lp(a.g,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))}k=rp.prototype;k.wc=function(){Cp(this);return this.a};k.add=function(a,b){Cp(this);this.g=null;a=Dp(this,a);var c=this.b.get(a);c||this.b.set(a,c=[]);c.push(b);this.a=this.a+1;return this};
k.remove=function(a){Cp(this);a=Dp(this,a);return jp(this.b.a,a)?(this.g=null,this.a=this.a-this.b.get(a).length,this.b.remove(a)):!1};k.clear=function(){this.b=this.g=null;this.a=0};k.Ya=function(){Cp(this);return 0==this.a};function Ep(a,b){Cp(a);b=Dp(a,b);return jp(a.b.a,b)}k.N=function(){Cp(this);for(var a=this.b.zc(),b=this.b.N(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};
k.zc=function(a){Cp(this);var b=[];if(ea(a))Ep(this,a)&&(b=de(b,this.b.get(Dp(this,a))));else{a=this.b.zc();for(var c=0;c<a.length;c++)b=de(b,a[c])}return b};k.set=function(a,b){Cp(this);this.g=null;a=Dp(this,a);Ep(this,a)&&(this.a=this.a-this.b.get(a).length);this.b.set(a,[b]);this.a=this.a+1;return this};k.get=function(a,b){var c=a?this.zc(a):[];return 0<c.length?String(c[0]):b};
k.toString=function(){if(this.g)return this.g;if(!this.b)return"";for(var a=[],b=this.b.N(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.zc(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+encodeURIComponent(String(d[f])));a.push(g)}return this.g=a.join("&")};k.clone=function(){var a=new rp;a.g=this.g;this.b&&(a.b=this.b.clone(),a.a=this.a);return a};function Dp(a,b){var c=String(b);a.f&&(c=c.toLowerCase());return c}
function xp(a,b){b&&!a.f&&(Cp(a),a.g=null,a.b.forEach(function(a,b){var e=b.toLowerCase();b!=e&&(this.remove(b),this.remove(e),0<a.length&&(this.g=null,this.b.set(Dp(this,e),ee(a)),this.a=this.a+a.length))},a));a.f=b};function Fp(a){a=a||{};this.g=a.font;this.i=a.rotation;this.a=a.scale;this.s=a.text;this.o=a.textAlign;this.j=a.textBaseline;this.b=void 0!==a.fill?a.fill:new jj({color:"#333"});this.l=void 0!==a.stroke?a.stroke:null;this.f=void 0!==a.offsetX?a.offsetX:0;this.c=void 0!==a.offsetY?a.offsetY:0}k=Fp.prototype;k.Xj=function(){return this.g};k.kk=function(){return this.f};k.lk=function(){return this.c};k.Un=function(){return this.b};k.Vn=function(){return this.i};k.Wn=function(){return this.a};k.Xn=function(){return this.l};
k.Ha=function(){return this.s};k.yk=function(){return this.o};k.zk=function(){return this.j};k.bp=function(a){this.g=a};k.mi=function(a){this.f=a};k.ni=function(a){this.c=a};k.ap=function(a){this.b=a};k.Yn=function(a){this.i=a};k.Zn=function(a){this.a=a};k.ip=function(a){this.l=a};k.pi=function(a){this.s=a};k.ri=function(a){this.o=a};k.jp=function(a){this.j=a};function Gp(a){a=a?a:{};Tn.call(this);this.defaultDataProjection=zc("EPSG:4326");this.g=a.defaultStyle?a.defaultStyle:Hp;this.c=void 0!==a.extractStyles?a.extractStyles:!0;this.l=void 0!==a.writeStyles?a.writeStyles:!0;this.b={};this.i=void 0!==a.showPointNames?a.showPointNames:!0}x(Gp,Tn);
var Ip=["http://www.google.com/kml/ext/2.2"],Jp=[null,"http://earth.google.com/kml/2.0","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.2","http://www.opengis.net/kml/2.2"],Kp=[255,255,255,1],Lp=new jj({color:Kp}),Mp=[20,2],Np=[64,64],Op=new Fh({anchor:Mp,anchorOrigin:"bottom-left",anchorXUnits:"pixels",anchorYUnits:"pixels",crossOrigin:"anonymous",rotation:0,scale:.5,size:Np,src:"https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png"}),Pp=new pj({color:Kp,width:1}),Qp=new Fp({font:"bold 16px Helvetica",
fill:Lp,stroke:new pj({color:[51,51,51,1],width:2}),scale:.8}),Hp=[new sj({fill:Lp,image:Op,text:Qp,stroke:Pp,zIndex:0})],Rp={fraction:"fraction",pixels:"pixels"};function Sp(a,b){var c,d=[0,0],e="start";if(a.a){var f=a.a.ld();f&&2==f.length&&(d[0]=a.a.i*f[0]/2,d[1]=-a.a.i*f[1]/2,e="left")}if(Ga(a.Ha()))c=new Fp({text:b,offsetX:d[0],offsetY:d[1],textAlign:e});else{var f=a.Ha(),g={};for(c in f)g[c]=f[c];c=g;c.pi(b);c.ri(e);c.mi(d[0]);c.ni(d[1])}return new sj({text:c})}
function Tp(a,b,c,d,e){return function(){var f=e,g="";f&&this.X()&&(f="Point"===this.X().Y());f&&(g=this.get("name"),f=f&&g);if(a)return f?(f=Sp(a[0],g),a.concat(f)):a;if(b){var h=Up(b,c,d);return f?(f=Sp(h[0],g),h.concat(f)):h}return f?(f=Sp(c[0],g),c.concat(f)):c}}function Up(a,b,c){return Array.isArray(a)?a:"string"===typeof a?(!(a in c)&&"#"+a in c&&(a="#"+a),Up(c[a],b,c)):b}
function Vp(a){a=Nk(a,!1);if(a=/^\s*#?\s*([0-9A-Fa-f]{8})\s*$/.exec(a))return a=a[1],[parseInt(a.substr(6,2),16),parseInt(a.substr(4,2),16),parseInt(a.substr(2,2),16),parseInt(a.substr(0,2),16)/255]}function Wp(a){a=Nk(a,!1);for(var b=[],c=/^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*,\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s*,\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?))?\s*/i,d;d=c.exec(a);)b.push(parseFloat(d[1]),parseFloat(d[2]),d[3]?parseFloat(d[3]):0),a=a.substr(d[0].length);return""!==a?void 0:b}
function Xp(a){var b=Nk(a,!1);return a.baseURI?Ap(a.baseURI,b.trim()).toString():b.trim()}function Yp(a){a=ao(a);if(void 0!==a)return Math.sqrt(a)}function Zp(a,b){return O(null,$p,a,b)}function aq(a,b){var c=O({B:[],zi:[]},bq,a,b);if(c){var d=c.B,c=c.zi,e,f;e=0;for(f=Math.min(d.length,c.length);e<f;++e)d[4*e+3]=c[e];c=new R(null);c.ba("XYZM",d);return c}}function cq(a,b){var c=O({},dq,a,b),d=O(null,eq,a,b);if(d){var e=new R(null);e.ba("XYZ",d);e.G(c);return e}}
function fq(a,b){var c=O({},dq,a,b),d=O(null,eq,a,b);if(d){var e=new E(null);e.ba("XYZ",d,[d.length]);e.G(c);return e}}
function gq(a,b){var c=O([],hq,a,b);if(!c)return null;if(0===c.length)return new Kn(c);var d=!0,e=c[0].Y(),f,g,h;g=1;for(h=c.length;g<h;++g)if(f=c[g],f.Y()!=e){d=!1;break}if(d){if("Point"==e){f=c[0];d=f.f;e=f.la();g=1;for(h=c.length;g<h;++g)f=c[g],jb(e,f.la());f=new T(null);f.ba(d,e);iq(f,c);return f}return"LineString"==e?(f=new S(null),An(f,c),iq(f,c),f):"Polygon"==e?(f=new U(null),Cn(f,c),iq(f,c),f):"GeometryCollection"==e?new Kn(c):null}return new Kn(c)}
function jq(a,b){var c=O({},dq,a,b),d=O(null,eq,a,b);if(d){var e=new C(null);e.ba("XYZ",d);e.G(c);return e}}function kq(a,b){var c=O({},dq,a,b),d=O([null],lq,a,b);if(d&&d[0]){var e=new E(null),f=d[0],g=[f.length],h,l;h=1;for(l=d.length;h<l;++h)jb(f,d[h]),g.push(f.length);e.ba("XYZ",f,g);e.G(c);return e}}
function mq(a,b){var c=O({},nq,a,b);if(!c)return null;var d="fillStyle"in c?c.fillStyle:Lp,e=c.fill;void 0===e||e||(d=null);var e="imageStyle"in c?c.imageStyle:Op,f="textStyle"in c?c.textStyle:Qp,g="strokeStyle"in c?c.strokeStyle:Pp,c=c.outline;void 0===c||c||(g=null);return[new sj({fill:d,image:e,stroke:g,text:f,zIndex:void 0})]}
function iq(a,b){var c=b.length,d=Array(b.length),e=Array(b.length),f,g,h,l;h=l=!1;for(g=0;g<c;++g)f=b[g],d[g]=f.get("extrude"),e[g]=f.get("altitudeMode"),h=h||void 0!==d[g],l=l||e[g];h&&a.set("extrude",d);l&&a.set("altitudeMode",e)}function oq(a,b){al(pq,a,b)}
var qq=N(Jp,{value:Uk(V)}),pq=N(Jp,{Data:function(a,b){var c=a.getAttribute("name");if(null!==c){var d=O(void 0,qq,a,b);d&&(b[b.length-1][c]=d)}},SchemaData:function(a,b){al(rq,a,b)}}),dq=N(Jp,{extrude:K(Yn),altitudeMode:K(V)}),$p=N(Jp,{coordinates:Uk(Wp)}),lq=N(Jp,{innerBoundaryIs:function(a,b){var c=O(void 0,sq,a,b);c&&b[b.length-1].push(c)},outerBoundaryIs:function(a,b){var c=O(void 0,tq,a,b);c&&(b[b.length-1][0]=c)}}),bq=N(Jp,{when:function(a,b){var c=b[b.length-1].zi,d=Nk(a,!1);if(d=/^\s*(\d{4})($|-(\d{2})($|-(\d{2})($|T(\d{2}):(\d{2}):(\d{2})(Z|(?:([+\-])(\d{2})(?::(\d{2}))?)))))\s*$/.exec(d)){var e=
Date.UTC(parseInt(d[1],10),d[3]?parseInt(d[3],10)-1:0,d[5]?parseInt(d[5],10):1,d[7]?parseInt(d[7],10):0,d[8]?parseInt(d[8],10):0,d[9]?parseInt(d[9],10):0);if(d[10]&&"Z"!=d[10]){var f="-"==d[11]?-1:1,e=e+60*f*parseInt(d[12],10);d[13]&&(e+=3600*f*parseInt(d[13],10))}c.push(e)}else c.push(0)}},N(Ip,{coord:function(a,b){var c=b[b.length-1].B,d=Nk(a,!1);(d=/^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*$/i.exec(d))?c.push(parseFloat(d[1]),
parseFloat(d[2]),parseFloat(d[3]),0):c.push(0,0,0,0)}})),eq=N(Jp,{coordinates:Uk(Wp)}),uq=N(Jp,{href:K(Xp)},N(Ip,{x:K(ao),y:K(ao),w:K(ao),h:K(ao)})),vq=N(Jp,{Icon:K(function(a,b){var c=O({},uq,a,b);return c?c:null}),heading:K(ao),hotSpot:K(function(a){var b=a.getAttribute("xunits"),c=a.getAttribute("yunits");return{x:parseFloat(a.getAttribute("x")),$f:Rp[b],y:parseFloat(a.getAttribute("y")),ag:Rp[c]}}),scale:K(Yp)}),sq=N(Jp,{LinearRing:Uk(Zp)}),wq=N(Jp,{color:K(Vp),scale:K(Yp)}),xq=N(Jp,{color:K(Vp),
width:K(ao)}),hq=N(Jp,{LineString:Tk(cq),LinearRing:Tk(fq),MultiGeometry:Tk(gq),Point:Tk(jq),Polygon:Tk(kq)}),yq=N(Ip,{Track:Tk(aq)}),Aq=N(Jp,{ExtendedData:oq,Link:function(a,b){al(zq,a,b)},address:K(V),description:K(V),name:K(V),open:K(Yn),phoneNumber:K(V),visibility:K(Yn)}),zq=N(Jp,{href:K(Xp)}),tq=N(Jp,{LinearRing:Uk(Zp)}),Bq=N(Jp,{Style:K(mq),key:K(V),styleUrl:K(function(a){var b=Nk(a,!1).trim();return a.baseURI?Ap(a.baseURI,b).toString():b})}),Dq=N(Jp,{ExtendedData:oq,MultiGeometry:K(gq,"geometry"),
LineString:K(cq,"geometry"),LinearRing:K(fq,"geometry"),Point:K(jq,"geometry"),Polygon:K(kq,"geometry"),Style:K(mq),StyleMap:function(a,b){var c=O(void 0,Cq,a,b);if(c){var d=b[b.length-1];Array.isArray(c)?d.Style=c:"string"===typeof c&&(d.styleUrl=c)}},address:K(V),description:K(V),name:K(V),open:K(Yn),phoneNumber:K(V),styleUrl:K(Xp),visibility:K(Yn)},N(Ip,{MultiTrack:K(function(a,b){var c=O([],yq,a,b);if(c){var d=new S(null);An(d,c);return d}},"geometry"),Track:K(aq,"geometry")})),Eq=N(Jp,{color:K(Vp),
fill:K(Yn),outline:K(Yn)}),rq=N(Jp,{SimpleData:function(a,b){var c=a.getAttribute("name");if(null!==c){var d=V(a);b[b.length-1][c]=d}}}),nq=N(Jp,{IconStyle:function(a,b){var c=O({},vq,a,b);if(c){var d=b[b.length-1],e="Icon"in c?c.Icon:{},f;f=(f=e.href)?f:"https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png";var g,h,l,m=c.hotSpot;m?(g=[m.x,m.y],h=m.$f,l=m.ag):"https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png"===f?(g=Mp,l=h="pixels"):/^http:\/\/maps\.(?:google|gstatic)\.com\//.test(f)&&
(g=[.5,0],l=h="fraction");var n,m=e.x,p=e.y;void 0!==m&&void 0!==p&&(n=[m,p]);var q,m=e.w,e=e.h;void 0!==m&&void 0!==e&&(q=[m,e]);var r,e=c.heading;void 0!==e&&(r=wa(e));c=c.scale;"https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png"==f&&(q=Np,void 0===c&&(c=.5));g=new Fh({anchor:g,anchorOrigin:"bottom-left",anchorXUnits:h,anchorYUnits:l,crossOrigin:"anonymous",offset:n,offsetOrigin:"bottom-left",rotation:r,scale:c,size:q,src:f});d.imageStyle=g}},LabelStyle:function(a,b){var c=O({},wq,a,
b);c&&(b[b.length-1].textStyle=new Fp({fill:new jj({color:"color"in c?c.color:Kp}),scale:c.scale}))},LineStyle:function(a,b){var c=O({},xq,a,b);c&&(b[b.length-1].strokeStyle=new pj({color:"color"in c?c.color:Kp,width:"width"in c?c.width:1}))},PolyStyle:function(a,b){var c=O({},Eq,a,b);if(c){var d=b[b.length-1];d.fillStyle=new jj({color:"color"in c?c.color:Kp});var e=c.fill;void 0!==e&&(d.fill=e);c=c.outline;void 0!==c&&(d.outline=c)}}}),Cq=N(Jp,{Pair:function(a,b){var c=O({},Bq,a,b);if(c){var d=c.key;
d&&"normal"==d&&((d=c.styleUrl)&&(b[b.length-1]=d),(c=c.Style)&&(b[b.length-1]=c))}}});k=Gp.prototype;k.Gf=function(a,b){var c=N(Jp,{Document:Sk(this.Gf,this),Folder:Sk(this.Gf,this),Placemark:Tk(this.Of,this),Style:this.Lo.bind(this),StyleMap:this.Ko.bind(this)});if(c=O([],c,a,b,this))return c};
k.Of=function(a,b){var c=O({geometry:null},Dq,a,b);if(c){var d=new Ik,e=a.getAttribute("id");null!==e&&d.mc(e);var e=b[0],f=c.geometry;f&&un(f,!1,e);d.Ua(f);delete c.geometry;this.c&&d.sf(Tp(c.Style,c.styleUrl,this.g,this.b,this.i));delete c.Style;d.G(c);return d}};k.Lo=function(a,b){var c=a.getAttribute("id");if(null!==c){var d=mq(a,b);d&&(c=a.baseURI?Ap(a.baseURI,"#"+c).toString():"#"+c,this.b[c]=d)}};
k.Ko=function(a,b){var c=a.getAttribute("id");if(null!==c){var d=O(void 0,Cq,a,b);d&&(c=a.baseURI?Ap(a.baseURI,"#"+c).toString():"#"+c,this.b[c]=d)}};k.Ph=function(a,b){if(!gb(Jp,a.namespaceURI))return null;var c=this.Of(a,[sn(this,a,b)]);return c?c:null};
k.lc=function(a,b){if(!gb(Jp,a.namespaceURI))return[];var c;c=a.localName;if("Document"==c||"Folder"==c)return(c=this.Gf(a,[sn(this,a,b)]))?c:[];if("Placemark"==c)return(c=this.Of(a,[sn(this,a,b)]))?[c]:[];if("kml"==c){c=[];var d;for(d=a.firstElementChild;d;d=d.nextElementSibling){var e=this.lc(d,b);e&&jb(c,e)}return c}return[]};k.Fo=function(a){if(Pk(a))return Fq(this,a);if(Qk(a))return Gq(this,a);if("string"===typeof a)return a=Rk(a),Fq(this,a)};
function Fq(a,b){var c;for(c=b.firstChild;c;c=c.nextSibling)if(c.nodeType==Node.ELEMENT_NODE){var d=Gq(a,c);if(d)return d}}function Gq(a,b){var c;for(c=b.firstElementChild;c;c=c.nextElementSibling)if(gb(Jp,c.namespaceURI)&&"name"==c.localName)return V(c);for(c=b.firstElementChild;c;c=c.nextElementSibling){var d=c.localName;if(gb(Jp,c.namespaceURI)&&("Document"==d||"Folder"==d||"Placemark"==d||"kml"==d)&&(d=Gq(a,c)))return d}}
k.Go=function(a){var b=[];Pk(a)?jb(b,Hq(this,a)):Qk(a)?jb(b,Iq(this,a)):"string"===typeof a&&(a=Rk(a),jb(b,Hq(this,a)));return b};function Hq(a,b){var c,d=[];for(c=b.firstChild;c;c=c.nextSibling)c.nodeType==Node.ELEMENT_NODE&&jb(d,Iq(a,c));return d}
function Iq(a,b){var c,d=[];for(c=b.firstElementChild;c;c=c.nextElementSibling)if(gb(Jp,c.namespaceURI)&&"NetworkLink"==c.localName){var e=O({},Aq,c,[]);d.push(e)}for(c=b.firstElementChild;c;c=c.nextElementSibling)e=c.localName,!gb(Jp,c.namespaceURI)||"Document"!=e&&"Folder"!=e&&"kml"!=e||jb(d,Iq(a,c));return d}function Jq(a,b){var c=je(b),c=[255*(4==c.length?c[3]:1),c[2],c[1],c[0]],d;for(d=0;4>d;++d){var e=parseInt(c[d],10).toString(16);c[d]=1==e.length?"0"+e:e}go(a,c.join(""))}
function Kq(a,b,c){a={node:a};var d=b.Y(),e,f;"GeometryCollection"==d?(e=b.ff(),f=Lq):"MultiPoint"==d?(e=b.je(),f=Mq):"MultiLineString"==d?(e=b.md(),f=Nq):"MultiPolygon"==d&&(e=b.Wd(),f=Oq);bl(a,Pq,f,e,c)}function Qq(a,b,c){bl({node:a},Rq,Sq,[b],c)}
function Tq(a,b,c){var d={node:a};b.Xa()&&a.setAttribute("id",b.Xa());a=b.O();var e=b.ec();e&&(e=e.call(b,0))&&(e=Array.isArray(e)?e[0]:e,this.l&&(a.Style=e),(e=e.Ha())&&(a.name=e.Ha()));e=Uq[c[c.length-1].node.namespaceURI];a=$k(a,e);bl(d,Vq,Zk,a,c,e);a=c[0];(b=b.X())&&(b=un(b,!0,a));bl(d,Vq,Lq,[b],c)}function Wq(a,b,c){var d=b.la();a={node:a};a.layout=b.f;a.stride=b.va();bl(a,Xq,Yq,[d],c)}function Zq(a,b,c){b=b.Vd();var d=b.shift();a={node:a};bl(a,$q,ar,b,c);bl(a,$q,br,[d],c)}
function cr(a,b){ho(a,Math.round(b*b*1E6)/1E6)}
var dr=N(Jp,["Document","Placemark"]),gr=N(Jp,{Document:L(function(a,b,c){bl({node:a},er,fr,b,c,void 0,this)}),Placemark:L(Tq)}),er=N(Jp,{Placemark:L(Tq)}),hr={Point:"Point",LineString:"LineString",LinearRing:"LinearRing",Polygon:"Polygon",MultiPoint:"MultiGeometry",MultiLineString:"MultiGeometry",MultiPolygon:"MultiGeometry",GeometryCollection:"MultiGeometry"},ir=N(Jp,["href"],N(Ip,["x","y","w","h"])),jr=N(Jp,{href:L(go)},N(Ip,{x:L(ho),y:L(ho),w:L(ho),h:L(ho)})),kr=N(Jp,["scale","heading","Icon",
"hotSpot"]),mr=N(Jp,{Icon:L(function(a,b,c){a={node:a};var d=ir[c[c.length-1].node.namespaceURI],e=$k(b,d);bl(a,jr,Zk,e,c,d);d=ir[Ip[0]];e=$k(b,d);bl(a,jr,lr,e,c,d)}),heading:L(ho),hotSpot:L(function(a,b){a.setAttribute("x",b.x);a.setAttribute("y",b.y);a.setAttribute("xunits",b.$f);a.setAttribute("yunits",b.ag)}),scale:L(cr)}),nr=N(Jp,["color","scale"]),or=N(Jp,{color:L(Jq),scale:L(cr)}),pr=N(Jp,["color","width"]),qr=N(Jp,{color:L(Jq),width:L(ho)}),Rq=N(Jp,{LinearRing:L(Wq)}),Pq=N(Jp,{LineString:L(Wq),
Point:L(Wq),Polygon:L(Zq),GeometryCollection:L(Kq)}),Uq=N(Jp,"name open visibility address phoneNumber description styleUrl Style".split(" ")),Vq=N(Jp,{MultiGeometry:L(Kq),LineString:L(Wq),LinearRing:L(Wq),Point:L(Wq),Polygon:L(Zq),Style:L(function(a,b,c){a={node:a};var d={},e=b.c,f=b.f,g=b.a;b=b.Ha();g instanceof Fh&&(d.IconStyle=g);b&&(d.LabelStyle=b);f&&(d.LineStyle=f);e&&(d.PolyStyle=e);b=rr[c[c.length-1].node.namespaceURI];d=$k(d,b);bl(a,sr,Zk,d,c,b)}),address:L(go),description:L(go),name:L(go),
open:L(fo),phoneNumber:L(go),styleUrl:L(go),visibility:L(fo)}),Xq=N(Jp,{coordinates:L(function(a,b,c){c=c[c.length-1];var d=c.layout;c=c.stride;var e;"XY"==d||"XYM"==d?e=2:("XYZ"==d||"XYZM"==d)&&(e=3);var f,g=b.length,h="";if(0<g){h+=b[0];for(d=1;d<e;++d)h+=","+b[d];for(f=c;f<g;f+=c)for(h+=" "+b[f],d=1;d<e;++d)h+=","+b[f+d]}go(a,h)})}),$q=N(Jp,{outerBoundaryIs:L(Qq),innerBoundaryIs:L(Qq)}),tr=N(Jp,{color:L(Jq)}),rr=N(Jp,["IconStyle","LabelStyle","LineStyle","PolyStyle"]),sr=N(Jp,{IconStyle:L(function(a,
b,c){a={node:a};var d={},e=b.Gb(),f=b.ld(),g={href:b.b.j};if(e){g.w=e[0];g.h=e[1];var h=b.Zb(),l=b.Ia();l&&f&&0!==l[0]&&l[1]!==e[1]&&(g.x=l[0],g.y=f[1]-(l[1]+e[1]));h&&0!==h[0]&&h[1]!==e[1]&&(d.hotSpot={x:h[0],$f:"pixels",y:e[1]-h[1],ag:"pixels"})}d.Icon=g;e=b.i;1!==e&&(d.scale=e);b=b.j;0!==b&&(d.heading=b);b=kr[c[c.length-1].node.namespaceURI];d=$k(d,b);bl(a,mr,Zk,d,c,b)}),LabelStyle:L(function(a,b,c){a={node:a};var d={},e=b.b;e&&(d.color=e.b);(b=b.a)&&1!==b&&(d.scale=b);b=nr[c[c.length-1].node.namespaceURI];
d=$k(d,b);bl(a,or,Zk,d,c,b)}),LineStyle:L(function(a,b,c){a={node:a};var d=pr[c[c.length-1].node.namespaceURI];b=$k({color:b.b,width:b.a},d);bl(a,qr,Zk,b,c,d)}),PolyStyle:L(function(a,b,c){bl({node:a},tr,ur,[b.b],c)})});function lr(a,b,c){return Mk(Ip[0],"gx:"+c)}function fr(a,b){return Mk(b[b.length-1].node.namespaceURI,"Placemark")}function Lq(a,b){if(a)return Mk(b[b.length-1].node.namespaceURI,hr[a.Y()])}
var ur=Xk("color"),Yq=Xk("coordinates"),ar=Xk("innerBoundaryIs"),Mq=Xk("Point"),Nq=Xk("LineString"),Sq=Xk("LinearRing"),Oq=Xk("Polygon"),br=Xk("outerBoundaryIs");
Gp.prototype.a=function(a,b){b=tn(this,b);var c=Mk(Jp[4],"kml");c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:gx",Ip[0]);c.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xsi","http://www.w3.org/2001/XMLSchema-instance");c.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation","http://www.opengis.net/kml/2.2 https://developers.google.com/kml/schema/kml22gx.xsd");var d={node:c},e={};1<a.length?e.Document=a:1==a.length&&(e.Placemark=a[0]);var f=dr[c.namespaceURI],
e=$k(e,f);bl(d,gr,Zk,e,[b],f,this);return c};(function(){var a={},b={ja:a};(function(c){if("object"===typeof a&&"undefined"!==typeof b)b.ja=c();else{var d;"undefined"!==typeof window?d=window:"undefined"!==typeof global?d=global:"undefined"!==typeof self?d=self:d=this;d.Rp=c()}})(function(){return function d(a,b,g){function h(m,p){if(!b[m]){if(!a[m]){var q="function"==typeof require&&require;if(!p&&q)return q(m,!0);if(l)return l(m,!0);q=Error("Cannot find module '"+m+"'");throw q.code="MODULE_NOT_FOUND",q;}q=b[m]={ja:{}};a[m][0].call(q.ja,function(b){var d=
a[m][1][b];return h(d?d:b)},q,q.ja,d,a,b,g)}return b[m].ja}for(var l="function"==typeof require&&require,m=0;m<g.length;m++)h(g[m]);return h}({1:[function(a,b,f){f.read=function(a,b,d,e,f){var p;p=8*f-e-1;var q=(1<<p)-1,r=q>>1,v=-7;f=d?f-1:0;var y=d?-1:1,w=a[b+f];f+=y;d=w&(1<<-v)-1;w>>=-v;for(v+=p;0<v;d=256*d+a[b+f],f+=y,v-=8);p=d&(1<<-v)-1;d>>=-v;for(v+=e;0<v;p=256*p+a[b+f],f+=y,v-=8);if(0===d)d=1-r;else{if(d===q)return p?NaN:Infinity*(w?-1:1);p+=Math.pow(2,e);d-=r}return(w?-1:1)*p*Math.pow(2,d-
e)};f.write=function(a,b,d,e,f,p){var q,r=8*p-f-1,v=(1<<r)-1,y=v>>1,w=23===f?Math.pow(2,-24)-Math.pow(2,-77):0;p=e?0:p-1;var G=e?1:-1,z=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,e=v):(e=Math.floor(Math.log(b)/Math.LN2),1>b*(q=Math.pow(2,-e))&&(e--,q*=2),b=1<=e+y?b+w/q:b+w*Math.pow(2,1-y),2<=b*q&&(e++,q/=2),e+y>=v?(b=0,e=v):1<=e+y?(b=(b*q-1)*Math.pow(2,f),e+=y):(b=b*Math.pow(2,y-1)*Math.pow(2,f),e=0));for(;8<=f;a[d+p]=b&255,p+=G,b/=256,f-=8);e=e<<f|b;for(r+=f;0<r;a[d+
p]=e&255,p+=G,e/=256,r-=8);a[d+p-G]|=128*z}},{}],2:[function(a,b){function f(a){var b;a&&a.length&&(b=a,a=b.length);a=new Uint8Array(a||0);b&&a.set(b);a.$h=l.$h;a.Zf=l.Zf;a.Sh=l.Sh;a.Ei=l.Ei;a.Nf=l.Nf;a.Di=l.Di;a.Hf=l.Hf;a.Ai=l.Ai;a.toString=l.toString;a.write=l.write;a.slice=l.slice;a.tg=l.tg;a.nj=!0;return a}function g(a){for(var b=a.length,d=[],e=0,f,g;e<b;e++){f=a.charCodeAt(e);if(55295<f&&57344>f)if(g)if(56320>f){d.push(239,191,189);g=f;continue}else f=g-55296<<10|f-56320|65536,g=null;else{56319<
f||e+1===b?d.push(239,191,189):g=f;continue}else g&&(d.push(239,191,189),g=null);128>f?d.push(f):2048>f?d.push(f>>6|192,f&63|128):65536>f?d.push(f>>12|224,f>>6&63|128,f&63|128):d.push(f>>18|240,f>>12&63|128,f>>6&63|128,f&63|128)}return d}b.ja=f;var h=a("ieee754"),l,m,n;l={$h:function(a){return(this[a]|this[a+1]<<8|this[a+2]<<16)+16777216*this[a+3]},Zf:function(a,b){this[b]=a;this[b+1]=a>>>8;this[b+2]=a>>>16;this[b+3]=a>>>24},Sh:function(a){return(this[a]|this[a+1]<<8|this[a+2]<<16)+(this[a+3]<<24)},
Nf:function(a){return h.read(this,a,!0,23,4)},Hf:function(a){return h.read(this,a,!0,52,8)},Di:function(a,b){return h.write(this,a,b,!0,23,4)},Ai:function(a,b){return h.write(this,a,b,!0,52,8)},toString:function(a,b,d){var e=a="";d=Math.min(this.length,d||this.length);for(b=b||0;b<d;b++){var f=this[b];127>=f?(a+=decodeURIComponent(e)+String.fromCharCode(f),e=""):e+="%"+f.toString(16)}return a+=decodeURIComponent(e)},write:function(a,b){for(var d=a===m?n:g(a),e=0;e<d.length;e++)this[b+e]=d[e]},slice:function(a,
b){return this.subarray(a,b)},tg:function(a,b){b=b||0;for(var d=0;d<this.length;d++)a[b+d]=this[d]}};l.Ei=l.Zf;f.byteLength=function(a){m=a;n=g(a);return n.length};f.isBuffer=function(a){return!(!a||!a.nj)}},{ieee754:1}],3:[function(a,b){(function(f){function g(a){this.Db=l.isBuffer(a)?a:new l(a||0);this.da=0;this.length=this.Db.length}function h(a,b){var d=b.Db,e;e=d[b.da++];a+=268435456*(e&127);if(128>e)return a;e=d[b.da++];a+=34359738368*(e&127);if(128>e)return a;e=d[b.da++];a+=4398046511104*(e&
127);if(128>e)return a;e=d[b.da++];a+=562949953421312*(e&127);if(128>e)return a;e=d[b.da++];a+=72057594037927936*(e&127);if(128>e)return a;e=d[b.da++];if(128>e)return a+0x7fffffffffffffff*(e&127);throw Error("Expected varint not more than 10 bytes");}b.ja=g;var l=f.Ap||a("./buffer");g.f=0;g.g=1;g.b=2;g.a=5;var m=Math.pow(2,63);g.prototype={Lf:function(a,b,d){for(d=d||this.length;this.da<d;){var e=this.Da(),f=this.da;a(e>>3,b,this);this.da===f&&this.op(e)}return b},Bo:function(){var a=this.Db.Nf(this.da);
this.da+=4;return a},xo:function(){var a=this.Db.Hf(this.da);this.da+=8;return a},Da:function(){var a=this.Db,b,d;d=a[this.da++];b=d&127;if(128>d)return b;d=a[this.da++];b|=(d&127)<<7;if(128>d)return b;d=a[this.da++];b|=(d&127)<<14;if(128>d)return b;d=a[this.da++];b|=(d&127)<<21;return 128>d?b:h(b,this)},Mo:function(){var a=this.da,b=this.Da();if(b<m)return b;for(var d=this.da-2;255===this.Db[d];)d--;d<a&&(d=a);for(var e=b=0;e<d-a+1;e++)var f=~this.Db[a+e]&127,b=b+(4>e?f<<7*e:f*Math.pow(2,7*e));return-b-
1},xd:function(){var a=this.Da();return 1===a%2?(a+1)/-2:a/2},vo:function(){return!!this.Da()},Qf:function(){var a=this.Da()+this.da,b=this.Db.toString("utf8",this.da,a);this.da=a;return b},op:function(a){a&=7;if(a===g.f)for(;127<this.Db[this.da++];);else if(a===g.b)this.da=this.Da()+this.da;else if(a===g.a)this.da+=4;else if(a===g.g)this.da+=8;else throw Error("Unimplemented type: "+a);}}}).call(this,"undefined"!==typeof global?global:"undefined"!==typeof self?self:"undefined"!==typeof window?window:
{})},{"./buffer":2}]},{},[3])(3)});hl=b.ja})();(function(){var a={},b={ja:a};(function(c){if("object"===typeof a&&"undefined"!==typeof b)b.ja=c();else{var d;"undefined"!==typeof window?d=window:"undefined"!==typeof global?d=global:"undefined"!==typeof self?d=self:d=this;d.Up=c()}})(function(){return function d(a,b,g){function h(m,p){if(!b[m]){if(!a[m]){var q="function"==typeof require&&require;if(!p&&q)return q(m,!0);if(l)return l(m,!0);q=Error("Cannot find module '"+m+"'");throw q.code="MODULE_NOT_FOUND",q;}q=b[m]={ja:{}};a[m][0].call(q.ja,function(b){var d=
a[m][1][b];return h(d?d:b)},q,q.ja,d,a,b,g)}return b[m].ja}for(var l="function"==typeof require&&require,m=0;m<g.length;m++)h(g[m]);return h}({1:[function(a,b){function f(a,b){this.x=a;this.y=b}b.ja=f;f.prototype={clone:function(){return new f(this.x,this.y)},add:function(a){return this.clone().fj(a)},rotate:function(a){return this.clone().qj(a)},round:function(){return this.clone().rj()},angle:function(){return Math.atan2(this.y,this.x)},fj:function(a){this.x+=a.x;this.y+=a.y;return this},qj:function(a){var b=
Math.cos(a);a=Math.sin(a);var d=a*this.x+b*this.y;this.x=b*this.x-a*this.y;this.y=d;return this},rj:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}};f.b=function(a){return a instanceof f?a:Array.isArray(a)?new f(a[0],a[1]):a}},{}],2:[function(a,b){b.ja.ej=a("./lib/vectortile.js");b.ja.Np=a("./lib/vectortilefeature.js");b.ja.Op=a("./lib/vectortilelayer.js")},{"./lib/vectortile.js":3,"./lib/vectortilefeature.js":4,"./lib/vectortilelayer.js":5}],3:[function(a,b){function f(a,
b,d){3===a&&(a=new g(d,d.Da()+d.da),a.length&&(b[a.name]=a))}var g=a("./vectortilelayer");b.ja=function(a,b){this.layers=a.Lf(f,{},b)}},{"./vectortilelayer":5}],4:[function(a,b){function f(a,b,d,e,f){this.properties={};this.extent=d;this.type=0;this.qc=a;this.Qe=-1;this.Id=e;this.Kd=f;a.Lf(g,this,b)}function g(a,b,d){if(1==a)b.Qp=d.Da();else if(2==a)for(a=d.Da()+d.da;d.da<a;){var e=b.Id[d.Da()],f=b.Kd[d.Da()];b.properties[e]=f}else 3==a?b.type=d.Da():4==a&&(b.Qe=d.da)}var h=a("point-geometry");b.ja=
f;f.b=["Unknown","Point","LineString","Polygon"];f.prototype.Vg=function(){var a=this.qc;a.da=this.Qe;for(var b=a.Da()+a.da,d=1,e=0,f=0,g=0,v=[],y;a.da<b;)if(e||(e=a.Da(),d=e&7,e>>=3),e--,1===d||2===d)f+=a.xd(),g+=a.xd(),1===d&&(y&&v.push(y),y=[]),y.push(new h(f,g));else if(7===d)y&&y.push(y[0].clone());else throw Error("unknown command "+d);y&&v.push(y);return v};f.prototype.bbox=function(){var a=this.qc;a.da=this.Qe;for(var b=a.Da()+a.da,d=1,e=0,f=0,g=0,h=Infinity,y=-Infinity,w=Infinity,G=-Infinity;a.da<
b;)if(e||(e=a.Da(),d=e&7,e>>=3),e--,1===d||2===d)f+=a.xd(),g+=a.xd(),f<h&&(h=f),f>y&&(y=f),g<w&&(w=g),g>G&&(G=g);else if(7!==d)throw Error("unknown command "+d);return[h,w,y,G]}},{"point-geometry":1}],5:[function(a,b){function f(a,b){this.version=1;this.name=null;this.extent=4096;this.length=0;this.qc=a;this.Id=[];this.Kd=[];this.Hd=[];a.Lf(g,this,b);this.length=this.Hd.length}function g(a,b,d){15===a?b.version=d.Da():1===a?b.name=d.Qf():5===a?b.extent=d.Da():2===a?b.Hd.push(d.da):3===a?b.Id.push(d.Qf()):
4===a&&b.Kd.push(h(d))}function h(a){for(var b=null,d=a.Da()+a.da;a.da<d;)b=a.Da()>>3,b=1===b?a.Qf():2===b?a.Bo():3===b?a.xo():4===b?a.Mo():5===b?a.Da():6===b?a.xd():7===b?a.vo():null;return b}var l=a("./vectortilefeature.js");b.ja=f;f.prototype.feature=function(a){if(0>a||a>=this.Hd.length)throw Error("feature index out of bounds");this.qc.da=this.Hd[a];a=this.qc.Da()+this.qc.da;return new l(this.qc,a,this.extent,this.Id,this.Kd)}},{"./vectortilefeature.js":4}]},{},[2])(2)});il=b.ja})();function vr(a){this.defaultDataProjection=null;a=a?a:{};this.defaultDataProjection=new wc({code:"",units:"tile-pixels"});this.b=a.featureClass?a.featureClass:ik;this.g=a.geometryName?a.geometryName:"geometry";this.a=a.layerName?a.layerName:"layer";this.f=a.layers?a.layers:null}x(vr,rn);vr.prototype.Y=function(){return"arraybuffer"};
vr.prototype.Fa=function(a,b){var c=this.f,d=new hl(a),d=new il.ej(d),e=[],f=this.b,g,h,l;for(l in d.layers)if(!c||-1!=c.indexOf(l)){g=d.layers[l];for(var m=0,n=g.length;m<n;++m){if(f===ik){var p=g.feature(m);h=l;var q=p.Vg(),r=[],v=[];wr(q,v,r);var y=p.type,w=void 0;1===y?w=1===q.length?"Point":"MultiPoint":2===y?w=1===q.length?"LineString":"MultiLineString":3===y&&(w="Polygon");p=p.properties;p[this.a]=h;h=new this.b(w,v,r,p)}else{p=g.feature(m);w=l;v=b;h=new this.b;r=p.properties;r[this.a]=w;w=
p.type;if(0===w)w=null;else{p=p.Vg();q=[];y=[];wr(p,y,q);var G=void 0;1===w?G=1===p.length?new C(null):new T(null):2===w?1===p.length?G=new R(null):G=new S(null):3===w&&(G=new E(null));G.ba("XY",y,q);w=G}(v=un(w,!1,tn(this,v)))&&(r[this.g]=v);h.G(r);h.Ec(this.g)}e.push(h)}}return e};vr.prototype.Oa=function(){return this.defaultDataProjection};vr.prototype.c=function(a){this.f=a};
function wr(a,b,c){for(var d=0,e=0,f=a.length;e<f;++e){var g=a[e],h,l;h=0;for(l=g.length;h<l;++h){var m=g[h];b.push(m.x,m.y)}d+=2*h;c.push(d)}};function xr(a,b){return new yr(a,b)}function zr(a,b,c){return new Ar(a,b,c)}function Br(a){this.Xb=a}function Cr(a){this.Xb=a}x(Cr,Br);function Dr(a,b,c){this.Xb=a;this.b=b;this.a=c}x(Dr,Cr);function yr(a,b){Dr.call(this,"And",a,b)}x(yr,Dr);function Er(a,b){Dr.call(this,"Or",a,b)}x(Er,Dr);function Fr(a){this.Xb="Not";this.condition=a}x(Fr,Cr);function Ar(a,b,c){this.Xb="BBOX";this.geometryName=a;this.extent=b;this.srsName=c}x(Ar,Br);function Gr(a,b){this.Xb=a;this.b=b}x(Gr,Br);
function Hr(a,b,c,d){Gr.call(this,a,b);this.g=c;this.a=d}x(Hr,Gr);function Ir(a,b,c){Hr.call(this,"PropertyIsEqualTo",a,b,c)}x(Ir,Hr);function Jr(a,b,c){Hr.call(this,"PropertyIsNotEqualTo",a,b,c)}x(Jr,Hr);function Kr(a,b){Hr.call(this,"PropertyIsLessThan",a,b)}x(Kr,Hr);function Lr(a,b){Hr.call(this,"PropertyIsLessThanOrEqualTo",a,b)}x(Lr,Hr);function Mr(a,b){Hr.call(this,"PropertyIsGreaterThan",a,b)}x(Mr,Hr);function Nr(a,b){Hr.call(this,"PropertyIsGreaterThanOrEqualTo",a,b)}x(Nr,Hr);
function Or(a){Gr.call(this,"PropertyIsNull",a)}x(Or,Gr);function Pr(a,b,c){Gr.call(this,"PropertyIsBetween",a);this.a=b;this.g=c}x(Pr,Gr);function Qr(a,b,c,d,e,f){Gr.call(this,"PropertyIsLike",a);this.f=b;this.i=void 0!==c?c:"*";this.c=void 0!==d?d:".";this.g=void 0!==e?e:"!";this.a=f}x(Qr,Gr);function Rr(){Tn.call(this);this.defaultDataProjection=zc("EPSG:4326")}x(Rr,Tn);function Sr(a,b){b[b.length-1].Cd[a.getAttribute("k")]=a.getAttribute("v")}
var Tr=[null],Ur=N(Tr,{nd:function(a,b){b[b.length-1].Rc.push(a.getAttribute("ref"))},tag:Sr}),Wr=N(Tr,{node:function(a,b){var c=b[0],d=b[b.length-1],e=a.getAttribute("id"),f=[parseFloat(a.getAttribute("lon")),parseFloat(a.getAttribute("lat"))];d.Zg[e]=f;var g=O({Cd:{}},Vr,a,b);Ga(g.Cd)||(f=new C(f),un(f,!1,c),c=new Ik(f),c.mc(e),c.G(g.Cd),d.features.push(c))},way:function(a,b){for(var c=b[0],d=a.getAttribute("id"),e=O({Rc:[],Cd:{}},Ur,a,b),f=b[b.length-1],g=[],h=0,l=e.Rc.length;h<l;h++)jb(g,f.Zg[e.Rc[h]]);
e.Rc[0]==e.Rc[e.Rc.length-1]?(h=new E(null),h.ba("XY",g,[g.length])):(h=new R(null),h.ba("XY",g));un(h,!1,c);c=new Ik(h);c.mc(d);c.G(e.Cd);f.features.push(c)}}),Vr=N(Tr,{tag:Sr});Rr.prototype.lc=function(a,b){var c=sn(this,a,b);return"osm"==a.localName&&(c=O({Zg:{},features:[]},Wr,a,[c]),c.features)?c.features:[]};function Xr(a){return a.getAttributeNS("http://www.w3.org/1999/xlink","href")};function Yr(){}Yr.prototype.read=function(a){return Pk(a)?this.a(a):Qk(a)?this.b(a):"string"===typeof a?(a=Rk(a),this.a(a)):null};function Zr(){}x(Zr,Yr);Zr.prototype.a=function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return this.b(a);return null};Zr.prototype.b=function(a){return(a=O({},$r,a,[]))?a:null};
var as=[null,"http://www.opengis.net/ows/1.1"],$r=N(as,{ServiceIdentification:K(function(a,b){return O({},bs,a,b)}),ServiceProvider:K(function(a,b){return O({},cs,a,b)}),OperationsMetadata:K(function(a,b){return O({},ds,a,b)})}),es=N(as,{DeliveryPoint:K(V),City:K(V),AdministrativeArea:K(V),PostalCode:K(V),Country:K(V),ElectronicMailAddress:K(V)}),fs=N(as,{Value:Vk(function(a){return V(a)})}),gs=N(as,{AllowedValues:K(function(a,b){return O({},fs,a,b)})}),is=N(as,{Phone:K(function(a,b){return O({},
hs,a,b)}),Address:K(function(a,b){return O({},es,a,b)})}),ks=N(as,{HTTP:K(function(a,b){return O({},js,a,b)})}),js=N(as,{Get:Vk(function(a,b){var c=Xr(a);return c?O({href:c},ls,a,b):void 0}),Post:void 0}),ms=N(as,{DCP:K(function(a,b){return O({},ks,a,b)})}),ds=N(as,{Operation:function(a,b){var c=a.getAttribute("name"),d=O({},ms,a,b);d&&(b[b.length-1][c]=d)}}),hs=N(as,{Voice:K(V),Facsimile:K(V)}),ls=N(as,{Constraint:Vk(function(a,b){var c=a.getAttribute("name");return c?O({name:c},gs,a,b):void 0})}),
ns=N(as,{IndividualName:K(V),PositionName:K(V),ContactInfo:K(function(a,b){return O({},is,a,b)})}),bs=N(as,{Title:K(V),ServiceTypeVersion:K(V),ServiceType:K(V)}),cs=N(as,{ProviderName:K(V),ProviderSite:K(Xr),ServiceContact:K(function(a,b){return O({},ns,a,b)})});function os(a,b,c,d){var e;void 0!==d?e=d:e=[];for(var f=d=0;f<b;){var g=a[f++];e[d++]=a[f++];e[d++]=g;for(g=2;g<c;++g)e[d++]=a[f++]}e.length=d};function ps(a){a=a?a:{};this.defaultDataProjection=null;this.defaultDataProjection=zc("EPSG:4326");this.b=a.factor?a.factor:1E5;this.a=a.geometryLayout?a.geometryLayout:"XY"}x(ps,ap);function qs(a,b,c){var d,e=Array(b);for(d=0;d<b;++d)e[d]=0;var f,g;f=0;for(g=a.length;f<g;)for(d=0;d<b;++d,++f){var h=a[f],l=h-e[d];e[d]=h;a[f]=l}return rs(a,c?c:1E5)}
function ss(a,b,c){var d,e=Array(b);for(d=0;d<b;++d)e[d]=0;a=ts(a,c?c:1E5);var f;c=0;for(f=a.length;c<f;)for(d=0;d<b;++d,++c)e[d]+=a[c],a[c]=e[d];return a}function rs(a,b){var c=b?b:1E5,d,e;d=0;for(e=a.length;d<e;++d)a[d]=Math.round(a[d]*c);c=0;for(d=a.length;c<d;++c)e=a[c],a[c]=0>e?~(e<<1):e<<1;c="";d=0;for(e=a.length;d<e;++d){for(var f=a[d],g,h="";32<=f;)g=(32|f&31)+63,h+=String.fromCharCode(g),f>>=5;h+=String.fromCharCode(f+63);c+=h}return c}
function ts(a,b){var c=b?b:1E5,d=[],e=0,f=0,g,h;g=0;for(h=a.length;g<h;++g){var l=a.charCodeAt(g)-63,e=e|(l&31)<<f;32>l?(d.push(e),f=e=0):f+=5}e=0;for(f=d.length;e<f;++e)g=d[e],d[e]=g&1?~(g>>1):g>>1;e=0;for(f=d.length;e<f;++e)d[e]/=c;return d}k=ps.prototype;k.ud=function(a,b){var c=this.wd(a,b);return new Ik(c)};k.Kf=function(a,b){return[this.ud(a,b)]};k.wd=function(a,b){var c=Xc(this.a),d=ss(a,c,this.b);os(d,d.length,c,d);c=jd(d,0,d.length,c);return un(new R(c,this.a),!1,tn(this,b))};
k.He=function(a,b){var c=a.X();return c?this.Ed(c,b):""};k.Ci=function(a,b){return this.He(a[0],b)};k.Ed=function(a,b){a=un(a,!0,tn(this,b));var c=a.la(),d=a.va();os(c,c.length,d,c);return qs(c,d,this.b)};function us(a){a=a?a:{};this.defaultDataProjection=null;this.defaultDataProjection=zc(a.defaultDataProjection?a.defaultDataProjection:"EPSG:4326")}x(us,vn);function vs(a,b){var c=[],d,e,f,g;f=0;for(g=a.length;f<g;++f)d=a[f],0<f&&c.pop(),0<=d?e=b[d]:e=b[~d].slice().reverse(),c.push.apply(c,e);d=0;for(e=c.length;d<e;++d)c[d]=c[d].slice();return c}function ws(a,b,c,d,e){a=a.geometries;var f=[],g,h;g=0;for(h=a.length;g<h;++g)f[g]=xs(a[g],b,c,d,e);return f}
function xs(a,b,c,d,e){var f=a.type,g=ys[f];b="Point"===f||"MultiPoint"===f?g(a,c,d):g(a,b);c=new Ik;c.Ua(un(b,!1,e));void 0!==a.id&&c.mc(a.id);a.properties&&c.G(a.properties);return c}
us.prototype.Jf=function(a,b){if("Topology"==a.type){var c,d=null,e=null;a.transform&&(c=a.transform,d=c.scale,e=c.translate);var f=a.arcs;if(c){c=d;var g=e,h,l;h=0;for(l=f.length;h<l;++h){var m=f[h],n=c,p=g,q=0,r=0,v,y,w;y=0;for(w=m.length;y<w;++y)v=m[y],q+=v[0],r+=v[1],v[0]=q,v[1]=r,zs(v,n,p)}}c=[];g=Ea(a.objects);h=0;for(l=g.length;h<l;++h)"GeometryCollection"===g[h].type?(m=g[h],c.push.apply(c,ws(m,f,d,e,b))):(m=g[h],c.push(xs(m,f,d,e,b)));return c}return[]};
function zs(a,b,c){a[0]=a[0]*b[0]+c[0];a[1]=a[1]*b[1]+c[1]}us.prototype.Oa=function(){return this.defaultDataProjection};
var ys={Point:function(a,b,c){a=a.coordinates;b&&c&&zs(a,b,c);return new C(a)},LineString:function(a,b){var c=vs(a.arcs,b);return new R(c)},Polygon:function(a,b){var c=[],d,e;d=0;for(e=a.arcs.length;d<e;++d)c[d]=vs(a.arcs[d],b);return new E(c)},MultiPoint:function(a,b,c){a=a.coordinates;var d,e;if(b&&c)for(d=0,e=a.length;d<e;++d)zs(a[d],b,c);return new T(a)},MultiLineString:function(a,b){var c=[],d,e;d=0;for(e=a.arcs.length;d<e;++d)c[d]=vs(a.arcs[d],b);return new S(c)},MultiPolygon:function(a,b){var c=
[],d,e,f,g,h,l;h=0;for(l=a.arcs.length;h<l;++h){d=a.arcs[h];e=[];f=0;for(g=d.length;f<g;++f)e[f]=vs(d[f],b);c[h]=e}return new U(c)}};function As(a){a=a?a:{};this.i=a.featureType;this.g=a.featureNS;this.b=a.gmlFormat?a.gmlFormat:new ko;this.c=a.schemaLocation?a.schemaLocation:"http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd";Tn.call(this)}x(As,Tn);As.prototype.lc=function(a,b){var c={featureType:this.i,featureNS:this.g};Ca(c,sn(this,a,b?b:{}));c=[c];this.b.b["http://www.opengis.net/gml"].featureMember=Tk(Wn.prototype.vd);(c=O([],this.b.b,a,c,this.b))||(c=[]);return c};
As.prototype.o=function(a){if(Pk(a))return Bs(a);if(Qk(a))return O({},Cs,a,[]);if("string"===typeof a)return a=Rk(a),Bs(a)};As.prototype.l=function(a){if(Pk(a))return Ds(this,a);if(Qk(a))return Es(this,a);if("string"===typeof a)return a=Rk(a),Ds(this,a)};function Ds(a,b){for(var c=b.firstChild;c;c=c.nextSibling)if(c.nodeType==Node.ELEMENT_NODE)return Es(a,c)}var Fs={"http://www.opengis.net/gml":{boundedBy:K(Wn.prototype.ye,"bounds")}};
function Es(a,b){var c={},d=eo(b.getAttribute("numberOfFeatures"));c.numberOfFeatures=d;return O(c,Fs,b,[],a.b)}
var Gs={"http://www.opengis.net/wfs":{totalInserted:K(co),totalUpdated:K(co),totalDeleted:K(co)}},Hs={"http://www.opengis.net/ogc":{FeatureId:Tk(function(a){return a.getAttribute("fid")})}},Is={"http://www.opengis.net/wfs":{Feature:function(a,b){al(Hs,a,b)}}},Cs={"http://www.opengis.net/wfs":{TransactionSummary:K(function(a,b){return O({},Gs,a,b)},"transactionSummary"),InsertResults:K(function(a,b){return O([],Is,a,b)},"insertIds")}};
function Bs(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return O({},Cs,a,[])}var Js={"http://www.opengis.net/wfs":{PropertyName:L(go)}};function Ks(a,b){var c=Mk("http://www.opengis.net/ogc","Filter"),d=Mk("http://www.opengis.net/ogc","FeatureId");c.appendChild(d);d.setAttribute("fid",b);a.appendChild(c)}
var Ls={"http://www.opengis.net/wfs":{Insert:L(function(a,b,c){var d=c[c.length-1],d=Mk(d.featureNS,d.featureType);a.appendChild(d);ko.prototype.Bi(d,b,c)}),Update:L(function(a,b,c){var d=c[c.length-1],e=d.featureType,f=d.featurePrefix,f=f?f:"feature",g=d.featureNS;a.setAttribute("typeName",f+":"+e);a.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:"+f,g);e=b.Xa();if(void 0!==e){for(var f=b.N(),g=[],h=0,l=f.length;h<l;h++){var m=b.get(f[h]);void 0!==m&&g.push({name:f[h],value:m})}bl({node:a,
srsName:d.srsName},Ls,Xk("Property"),g,c);Ks(a,e)}}),Delete:L(function(a,b,c){var d=c[c.length-1];c=d.featureType;var e=d.featurePrefix,e=e?e:"feature",d=d.featureNS;a.setAttribute("typeName",e+":"+c);a.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:"+e,d);b=b.Xa();void 0!==b&&Ks(a,b)}),Property:L(function(a,b,c){var d=Mk("http://www.opengis.net/wfs","Name");a.appendChild(d);go(d,b.name);void 0!==b.value&&null!==b.value&&(d=Mk("http://www.opengis.net/wfs","Value"),a.appendChild(d),b.value instanceof
Uc?ko.prototype.Je(d,b.value,c):go(d,b.value))}),Native:L(function(a,b){b.wp&&a.setAttribute("vendorId",b.wp);void 0!==b.Yo&&a.setAttribute("safeToIgnore",b.Yo);void 0!==b.value&&go(a,b.value)})}};function Ms(a,b,c){a={node:a};var d=b.b;bl(a,Ns,Xk(d.Xb),[d],c);b=b.a;bl(a,Ns,Xk(b.Xb),[b],c)}function Os(a,b){void 0!==b.a&&a.setAttribute("matchCase",b.a.toString());Ps(a,b.b);Qs("Literal",a,""+b.g)}function Qs(a,b,c){a=Mk("http://www.opengis.net/ogc",a);go(a,c);b.appendChild(a)}
function Ps(a,b){Qs("PropertyName",a,b)}
var Ns={"http://www.opengis.net/wfs":{Query:L(function(a,b,c){var d=c[c.length-1],e=d.featurePrefix,f=d.featureNS,g=d.propertyNames,h=d.srsName;a.setAttribute("typeName",(e?e+":":"")+b);h&&a.setAttribute("srsName",h);f&&a.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:"+e,f);b=Ca({},d);b.node=a;bl(b,Js,Xk("PropertyName"),g,c);if(d=d.filter)g=Mk("http://www.opengis.net/ogc","Filter"),a.appendChild(g),bl({node:g},Ns,Xk(d.Xb),[d],c)})},"http://www.opengis.net/ogc":{And:L(Ms),Or:L(Ms),Not:L(function(a,
b,c){b=b.condition;bl({node:a},Ns,Xk(b.Xb),[b],c)}),BBOX:L(function(a,b,c){c[c.length-1].srsName=b.srsName;Ps(a,b.geometryName);ko.prototype.Je(a,b.extent,c)}),PropertyIsEqualTo:L(Os),PropertyIsNotEqualTo:L(Os),PropertyIsLessThan:L(Os),PropertyIsLessThanOrEqualTo:L(Os),PropertyIsGreaterThan:L(Os),PropertyIsGreaterThanOrEqualTo:L(Os),PropertyIsNull:L(function(a,b){Ps(a,b.b)}),PropertyIsBetween:L(function(a,b){Ps(a,b.b);Qs("LowerBoundary",a,""+b.a);Qs("UpperBoundary",a,""+b.g)}),PropertyIsLike:L(function(a,
b){a.setAttribute("wildCard",b.i);a.setAttribute("singleChar",b.c);a.setAttribute("escapeChar",b.g);void 0!==b.a&&a.setAttribute("matchCase",b.a.toString());Ps(a,b.b);Qs("Literal",a,""+b.f)})}};
As.prototype.j=function(a){var b=Mk("http://www.opengis.net/wfs","GetFeature");b.setAttribute("service","WFS");b.setAttribute("version","1.1.0");var c;if(a&&(a.handle&&b.setAttribute("handle",a.handle),a.outputFormat&&b.setAttribute("outputFormat",a.outputFormat),void 0!==a.maxFeatures&&b.setAttribute("maxFeatures",a.maxFeatures),a.resultType&&b.setAttribute("resultType",a.resultType),void 0!==a.startIndex&&b.setAttribute("startIndex",a.startIndex),void 0!==a.count&&b.setAttribute("count",a.count),
c=a.filter,a.bbox)){var d=zr(a.geometryName,a.bbox,a.srsName);c?c=xr(c,d):c=d}b.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.c);d=a.featureTypes;a=[{node:b,srsName:a.srsName,featureNS:a.featureNS?a.featureNS:this.g,featurePrefix:a.featurePrefix,geometryName:a.geometryName,filter:c,propertyNames:a.propertyNames?a.propertyNames:[]}];c=Ca({},a[a.length-1]);c.node=b;bl(c,Ns,Xk("Query"),d,a);return b};
As.prototype.U=function(a,b,c,d){var e=[],f=Mk("http://www.opengis.net/wfs","Transaction");f.setAttribute("service","WFS");f.setAttribute("version","1.1.0");var g,h;d&&(g=d.gmlOptions?d.gmlOptions:{},d.handle&&f.setAttribute("handle",d.handle));f.setAttributeNS("http://www.w3.org/2001/XMLSchema-instance","xsi:schemaLocation",this.c);a&&(h={node:f,featureNS:d.featureNS,featureType:d.featureType,featurePrefix:d.featurePrefix,srsName:d.srsName},Ca(h,g),bl(h,Ls,Xk("Insert"),a,e));b&&(h={node:f,featureNS:d.featureNS,
featureType:d.featureType,featurePrefix:d.featurePrefix,srsName:d.srsName},Ca(h,g),bl(h,Ls,Xk("Update"),b,e));c&&bl({node:f,featureNS:d.featureNS,featureType:d.featureType,featurePrefix:d.featurePrefix,srsName:d.srsName},Ls,Xk("Delete"),c,e);d.nativeElements&&bl({node:f,featureNS:d.featureNS,featureType:d.featureType,featurePrefix:d.featurePrefix,srsName:d.srsName},Ls,Xk("Native"),d.nativeElements,e);return f};
As.prototype.Pf=function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return this.Be(a);return null};As.prototype.Be=function(a){if(a.firstElementChild&&a.firstElementChild.firstElementChild)for(a=a.firstElementChild.firstElementChild,a=a.firstElementChild;a;a=a.nextElementSibling)if(0!==a.childNodes.length&&(1!==a.childNodes.length||3!==a.firstChild.nodeType)){var b=[{}];this.b.ye(a,b);return zc(b.pop().srsName)}return null};function Rs(a){a=a?a:{};this.defaultDataProjection=null;this.b=void 0!==a.splitCollection?a.splitCollection:!1}x(Rs,ap);function Ss(a){a=a.Z();return 0===a.length?"":a[0]+" "+a[1]}function Ts(a){a=a.Z();for(var b=[],c=0,d=a.length;c<d;++c)b.push(a[c][0]+" "+a[c][1]);return b.join(",")}function Us(a){var b=[];a=a.Vd();for(var c=0,d=a.length;c<d;++c)b.push("("+Ts(a[c])+")");return b.join(",")}function Vs(a){var b=a.Y();a=(0,Ws[b])(a);b=b.toUpperCase();return 0===a.length?b+" EMPTY":b+"("+a+")"}
var Ws={Point:Ss,LineString:Ts,Polygon:Us,MultiPoint:function(a){var b=[];a=a.je();for(var c=0,d=a.length;c<d;++c)b.push("("+Ss(a[c])+")");return b.join(",")},MultiLineString:function(a){var b=[];a=a.md();for(var c=0,d=a.length;c<d;++c)b.push("("+Ts(a[c])+")");return b.join(",")},MultiPolygon:function(a){var b=[];a=a.Wd();for(var c=0,d=a.length;c<d;++c)b.push("("+Us(a[c])+")");return b.join(",")},GeometryCollection:function(a){var b=[];a=a.ff();for(var c=0,d=a.length;c<d;++c)b.push(Vs(a[c]));return b.join(",")}};
k=Rs.prototype;k.ud=function(a,b){var c=this.wd(a,b);if(c){var d=new Ik;d.Ua(c);return d}return null};k.Kf=function(a,b){var c=[],d=this.wd(a,b);this.b&&"GeometryCollection"==d.Y()?c=d.c:c=[d];for(var e=[],f=0,g=c.length;f<g;++f)d=new Ik,d.Ua(c[f]),e.push(d);return e};k.wd=function(a,b){var c;c=new Xs(new Ys(a));c.b=Zs(c.a);return(c=$s(c))?un(c,!1,b):null};k.He=function(a,b){var c=a.X();return c?this.Ed(c,b):""};
k.Ci=function(a,b){if(1==a.length)return this.He(a[0],b);for(var c=[],d=0,e=a.length;d<e;++d)c.push(a[d].X());c=new Kn(c);return this.Ed(c,b)};k.Ed=function(a,b){return Vs(un(a,!0,b))};function Ys(a){this.a=a;this.b=-1}
function Zs(a){var b=a.a.charAt(++a.b),c={position:a.b,value:b};if("("==b)c.type=2;else if(","==b)c.type=5;else if(")"==b)c.type=3;else if("0"<=b&&"9">=b||"."==b||"-"==b){c.type=4;var d,b=a.b,e=!1,f=!1;do{if("."==d)e=!0;else if("e"==d||"E"==d)f=!0;d=a.a.charAt(++a.b)}while("0"<=d&&"9">=d||"."==d&&(void 0===e||!e)||!f&&("e"==d||"E"==d)||f&&("-"==d||"+"==d));a=parseFloat(a.a.substring(b,a.b--));c.value=a}else if("a"<=b&&"z">=b||"A"<=b&&"Z">=b){c.type=1;b=a.b;do d=a.a.charAt(++a.b);while("a"<=d&&"z">=
d||"A"<=d&&"Z">=d);a=a.a.substring(b,a.b--).toUpperCase();c.value=a}else{if(" "==b||"\t"==b||"\r"==b||"\n"==b)return Zs(a);if(""===b)c.type=6;else throw Error("Unexpected character: "+b);}return c}function Xs(a){this.a=a}k=Xs.prototype;k.match=function(a){if(a=this.b.type==a)this.b=Zs(this.a);return a};
function $s(a){var b=a.b;if(a.match(1)){var c=b.value;if("GEOMETRYCOLLECTION"==c){a:{if(a.match(2)){b=[];do b.push($s(a));while(a.match(5));if(a.match(3)){a=b;break a}}else if(at(a)){a=[];break a}throw Error(bt(a));}return new Kn(a)}var d=ct[c],b=dt[c];if(!d||!b)throw Error("Invalid geometry type: "+c);a=d.call(a);return new b(a)}throw Error(bt(a));}k.Ef=function(){if(this.match(2)){var a=et(this);if(this.match(3))return a}else if(at(this))return null;throw Error(bt(this));};
k.Df=function(){if(this.match(2)){var a=ft(this);if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};k.Ff=function(){if(this.match(2)){var a=gt(this);if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};k.io=function(){if(this.match(2)){var a;if(2==this.b.type)for(a=[this.Ef()];this.match(5);)a.push(this.Ef());else a=ft(this);if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};
k.ho=function(){if(this.match(2)){var a=gt(this);if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};k.jo=function(){if(this.match(2)){for(var a=[this.Ff()];this.match(5);)a.push(this.Ff());if(this.match(3))return a}else if(at(this))return[];throw Error(bt(this));};function et(a){for(var b=[],c=0;2>c;++c){var d=a.b;if(a.match(4))b.push(d.value);else break}if(2==b.length)return b;throw Error(bt(a));}function ft(a){for(var b=[et(a)];a.match(5);)b.push(et(a));return b}
function gt(a){for(var b=[a.Df()];a.match(5);)b.push(a.Df());return b}function at(a){var b=1==a.b.type&&"EMPTY"==a.b.value;b&&(a.b=Zs(a.a));return b}function bt(a){return"Unexpected `"+a.b.value+"` at position "+a.b.position+" in `"+a.a.a+"`"}var dt={POINT:C,LINESTRING:R,POLYGON:E,MULTIPOINT:T,MULTILINESTRING:S,MULTIPOLYGON:U},ct={POINT:Xs.prototype.Ef,LINESTRING:Xs.prototype.Df,POLYGON:Xs.prototype.Ff,MULTIPOINT:Xs.prototype.io,MULTILINESTRING:Xs.prototype.ho,MULTIPOLYGON:Xs.prototype.jo};function ht(){this.version=void 0}x(ht,Yr);ht.prototype.a=function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return this.b(a);return null};ht.prototype.b=function(a){this.version=a.getAttribute("version").trim();return(a=O({version:this.version},it,a,[]))?a:null};function jt(a,b){return O({},kt,a,b)}function lt(a,b){return O({},mt,a,b)}function nt(a,b){var c=jt(a,b);if(c){var d=[eo(a.getAttribute("width")),eo(a.getAttribute("height"))];c.size=d;return c}}
function ot(a,b){return O([],pt,a,b)}
var qt=[null,"http://www.opengis.net/wms"],it=N(qt,{Service:K(function(a,b){return O({},rt,a,b)}),Capability:K(function(a,b){return O({},st,a,b)})}),st=N(qt,{Request:K(function(a,b){return O({},tt,a,b)}),Exception:K(function(a,b){return O([],ut,a,b)}),Layer:K(function(a,b){return O({},vt,a,b)})}),rt=N(qt,{Name:K(V),Title:K(V),Abstract:K(V),KeywordList:K(ot),OnlineResource:K(Xr),ContactInformation:K(function(a,b){return O({},wt,a,b)}),Fees:K(V),AccessConstraints:K(V),LayerLimit:K(co),MaxWidth:K(co),
MaxHeight:K(co)}),wt=N(qt,{ContactPersonPrimary:K(function(a,b){return O({},xt,a,b)}),ContactPosition:K(V),ContactAddress:K(function(a,b){return O({},yt,a,b)}),ContactVoiceTelephone:K(V),ContactFacsimileTelephone:K(V),ContactElectronicMailAddress:K(V)}),xt=N(qt,{ContactPerson:K(V),ContactOrganization:K(V)}),yt=N(qt,{AddressType:K(V),Address:K(V),City:K(V),StateOrProvince:K(V),PostCode:K(V),Country:K(V)}),ut=N(qt,{Format:Tk(V)}),vt=N(qt,{Name:K(V),Title:K(V),Abstract:K(V),KeywordList:K(ot),CRS:Vk(V),
EX_GeographicBoundingBox:K(function(a,b){var c=O({},zt,a,b);if(c){var d=c.westBoundLongitude,e=c.southBoundLatitude,f=c.eastBoundLongitude,c=c.northBoundLatitude;return void 0===d||void 0===e||void 0===f||void 0===c?void 0:[d,e,f,c]}}),BoundingBox:Vk(function(a){var b=[bo(a.getAttribute("minx")),bo(a.getAttribute("miny")),bo(a.getAttribute("maxx")),bo(a.getAttribute("maxy"))],c=[bo(a.getAttribute("resx")),bo(a.getAttribute("resy"))];return{crs:a.getAttribute("CRS"),extent:b,res:c}}),Dimension:Vk(function(a){return{name:a.getAttribute("name"),
units:a.getAttribute("units"),unitSymbol:a.getAttribute("unitSymbol"),"default":a.getAttribute("default"),multipleValues:Zn(a.getAttribute("multipleValues")),nearestValue:Zn(a.getAttribute("nearestValue")),current:Zn(a.getAttribute("current")),values:V(a)}}),Attribution:K(function(a,b){return O({},At,a,b)}),AuthorityURL:Vk(function(a,b){var c=jt(a,b);if(c)return c.name=a.getAttribute("name"),c}),Identifier:Vk(V),MetadataURL:Vk(function(a,b){var c=jt(a,b);if(c)return c.type=a.getAttribute("type"),
c}),DataURL:Vk(jt),FeatureListURL:Vk(jt),Style:Vk(function(a,b){return O({},Bt,a,b)}),MinScaleDenominator:K(ao),MaxScaleDenominator:K(ao),Layer:Vk(function(a,b){var c=b[b.length-1],d=O({},vt,a,b);if(d){var e=Zn(a.getAttribute("queryable"));void 0===e&&(e=c.queryable);d.queryable=void 0!==e?e:!1;e=eo(a.getAttribute("cascaded"));void 0===e&&(e=c.cascaded);d.cascaded=e;e=Zn(a.getAttribute("opaque"));void 0===e&&(e=c.opaque);d.opaque=void 0!==e?e:!1;e=Zn(a.getAttribute("noSubsets"));void 0===e&&(e=c.noSubsets);
d.noSubsets=void 0!==e?e:!1;(e=bo(a.getAttribute("fixedWidth")))||(e=c.fixedWidth);d.fixedWidth=e;(e=bo(a.getAttribute("fixedHeight")))||(e=c.fixedHeight);d.fixedHeight=e;["Style","CRS","AuthorityURL"].forEach(function(a){a in c&&(d[a]=(d[a]||[]).concat(c[a]))});"EX_GeographicBoundingBox BoundingBox Dimension Attribution MinScaleDenominator MaxScaleDenominator".split(" ").forEach(function(a){a in d||(d[a]=c[a])});return d}})}),At=N(qt,{Title:K(V),OnlineResource:K(Xr),LogoURL:K(nt)}),zt=N(qt,{westBoundLongitude:K(ao),
eastBoundLongitude:K(ao),southBoundLatitude:K(ao),northBoundLatitude:K(ao)}),tt=N(qt,{GetCapabilities:K(lt),GetMap:K(lt),GetFeatureInfo:K(lt)}),mt=N(qt,{Format:Vk(V),DCPType:Vk(function(a,b){return O({},Ct,a,b)})}),Ct=N(qt,{HTTP:K(function(a,b){return O({},Dt,a,b)})}),Dt=N(qt,{Get:K(jt),Post:K(jt)}),Bt=N(qt,{Name:K(V),Title:K(V),Abstract:K(V),LegendURL:Vk(nt),StyleSheetURL:K(jt),StyleURL:K(jt)}),kt=N(qt,{Format:K(V),OnlineResource:K(Xr)}),pt=N(qt,{Keyword:Tk(V)});function Et(a){a=a?a:{};this.g="http://mapserver.gis.umn.edu/mapserver";this.b=new jo;this.c=a.layers?a.layers:null;Tn.call(this)}x(Et,Tn);
Et.prototype.lc=function(a,b){var c={};b&&Ca(c,sn(this,a,b));var d=[c];a.setAttribute("namespaceURI",this.g);var e=a.localName,c=[];if(0!==a.childNodes.length){if("msGMLOutput"==e)for(var f=0,g=a.childNodes.length;f<g;f++){var h=a.childNodes[f];if(h.nodeType===Node.ELEMENT_NODE){var l=d[0],m=h.localName.replace("_layer","");if(!this.c||gb(this.c,m)){m+="_feature";l.featureType=m;l.featureNS=this.g;var n={};n[m]=Tk(this.b.If,this.b);l=N([l.featureNS,null],n);h.setAttribute("namespaceURI",this.g);(h=
O([],l,h,d,this.b))&&jb(c,h)}}}"FeatureCollection"==e&&(d=O([],this.b.b,a,[{}],this.b))&&(c=d)}return c};function Ft(){this.g=new Zr}x(Ft,Yr);Ft.prototype.a=function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType==Node.ELEMENT_NODE)return this.b(a);return null};Ft.prototype.b=function(a){var b=a.getAttribute("version").trim(),c=this.g.b(a);if(!c)return null;c.version=b;return(c=O(c,Gt,a,[]))?c:null};function Ht(a){var b=V(a).split(" ");if(b&&2==b.length)return a=+b[0],b=+b[1],isNaN(a)||isNaN(b)?void 0:[a,b]}
var It=[null,"http://www.opengis.net/wmts/1.0"],Jt=[null,"http://www.opengis.net/ows/1.1"],Gt=N(It,{Contents:K(function(a,b){return O({},Kt,a,b)})}),Kt=N(It,{Layer:Vk(function(a,b){return O({},Lt,a,b)}),TileMatrixSet:Vk(function(a,b){return O({},Mt,a,b)})}),Lt=N(It,{Style:Vk(function(a,b){var c=O({},Nt,a,b);if(c){var d="true"===a.getAttribute("isDefault");c.isDefault=d;return c}}),Format:Vk(V),TileMatrixSetLink:Vk(function(a,b){return O({},Ot,a,b)}),Dimension:Vk(function(a,b){return O({},Pt,a,b)}),
ResourceURL:Vk(function(a){var b=a.getAttribute("format"),c=a.getAttribute("template");a=a.getAttribute("resourceType");var d={};b&&(d.format=b);c&&(d.template=c);a&&(d.resourceType=a);return d})},N(Jt,{Title:K(V),Abstract:K(V),WGS84BoundingBox:K(function(a,b){var c=O([],Qt,a,b);return 2!=c.length?void 0:Ib(c)}),Identifier:K(V)})),Nt=N(It,{LegendURL:Vk(function(a){var b={};b.format=a.getAttribute("format");b.href=Xr(a);return b})},N(Jt,{Title:K(V),Identifier:K(V)})),Ot=N(It,{TileMatrixSet:K(V)}),
Pt=N(It,{Default:K(V),Value:Vk(V)},N(Jt,{Identifier:K(V)})),Qt=N(Jt,{LowerCorner:Tk(Ht),UpperCorner:Tk(Ht)}),Mt=N(It,{WellKnownScaleSet:K(V),TileMatrix:Vk(function(a,b){return O({},Rt,a,b)})},N(Jt,{SupportedCRS:K(V),Identifier:K(V)})),Rt=N(It,{TopLeftCorner:K(Ht),ScaleDenominator:K(ao),TileWidth:K(co),TileHeight:K(co),MatrixWidth:K(co),MatrixHeight:K(co)},N(Jt,{Identifier:K(V)}));function St(a){bb.call(this);a=a||{};this.a=null;this.c=Rc;this.f=void 0;B(this,db("projection"),this.Nl,this);B(this,db("tracking"),this.Ol,this);void 0!==a.projection&&this.dh(zc(a.projection));void 0!==a.trackingOptions&&this.si(a.trackingOptions);this.ge(void 0!==a.tracking?a.tracking:!1)}x(St,bb);k=St.prototype;k.ka=function(){this.ge(!1);bb.prototype.ka.call(this)};k.Nl=function(){var a=this.ah();a&&(this.c=Cc(zc("EPSG:4326"),a),this.a&&this.set("position",this.c(this.a)))};
k.Ol=function(){if(dg){var a=this.bh();a&&void 0===this.f?this.f=pa.navigator.geolocation.watchPosition(this.qo.bind(this),this.ro.bind(this),this.Mg()):a||void 0===this.f||(pa.navigator.geolocation.clearWatch(this.f),this.f=void 0)}};
k.qo=function(a){a=a.coords;this.set("accuracy",a.accuracy);this.set("altitude",null===a.altitude?void 0:a.altitude);this.set("altitudeAccuracy",null===a.altitudeAccuracy?void 0:a.altitudeAccuracy);this.set("heading",null===a.heading?void 0:wa(a.heading));this.a?(this.a[0]=a.longitude,this.a[1]=a.latitude):this.a=[a.longitude,a.latitude];var b=this.c(this.a);this.set("position",b);this.set("speed",null===a.speed?void 0:a.speed);a=Bd($i,this.a,a.accuracy);a.rc(this.c);this.set("accuracyGeometry",a);
this.u()};k.ro=function(a){a.type="error";this.ge(!1);this.b(a)};k.Mj=function(){return this.get("accuracy")};k.Nj=function(){return this.get("accuracyGeometry")||null};k.Pj=function(){return this.get("altitude")};k.Qj=function(){return this.get("altitudeAccuracy")};k.Ll=function(){return this.get("heading")};k.Ml=function(){return this.get("position")};k.ah=function(){return this.get("projection")};k.wk=function(){return this.get("speed")};k.bh=function(){return this.get("tracking")};k.Mg=function(){return this.get("trackingOptions")};
k.dh=function(a){this.set("projection",a)};k.ge=function(a){this.set("tracking",a)};k.si=function(a){this.set("trackingOptions",a)};function Tt(a,b,c){Wc.call(this);this.Vf(a,b?b:0,c)}x(Tt,Wc);k=Tt.prototype;k.clone=function(){var a=new Tt(null),b=this.B.slice();Yc(a,this.f,b);a.u();return a};k.tb=function(a,b,c,d){var e=this.B;a-=e[0];var f=b-e[1];b=a*a+f*f;if(b<d){if(0===b)for(d=0;d<this.a;++d)c[d]=e[d];else for(d=this.wf()/Math.sqrt(b),c[0]=e[0]+d*a,c[1]=e[1]+d*f,d=2;d<this.a;++d)c[d]=e[d];c.length=this.a;return b}return d};k.Bc=function(a,b){var c=this.B,d=a-c[0],c=b-c[1];return d*d+c*c<=Ut(this)};
k.rd=function(){return this.B.slice(0,this.a)};k.Od=function(a){var b=this.B,c=b[this.a]-b[0];return Vb(b[0]-c,b[1]-c,b[0]+c,b[1]+c,a)};k.wf=function(){return Math.sqrt(Ut(this))};function Ut(a){var b=a.B[a.a]-a.B[0];a=a.B[a.a+1]-a.B[1];return b*b+a*a}k.Y=function(){return"Circle"};k.Ka=function(a){var b=this.H();return oc(a,b)?(b=this.rd(),a[0]<=b[0]&&a[2]>=b[0]||a[1]<=b[1]&&a[3]>=b[1]?!0:bc(a,this.sg,this)):!1};
k.jm=function(a){var b=this.a,c=this.B[b]-this.B[0],d=a.slice();d[b]=d[0]+c;for(c=1;c<b;++c)d[b+c]=a[c];Yc(this,this.f,d);this.u()};k.Vf=function(a,b,c){if(a){Zc(this,c,a,0);this.B||(this.B=[]);c=this.B;a=gd(c,a);c[a++]=c[0]+b;var d;b=1;for(d=this.a;b<d;++b)c[a++]=c[b];c.length=a}else Yc(this,"XY",null);this.u()};k.km=function(a){this.B[this.a]=this.B[0]+a;this.u()};function Vt(a,b,c){for(var d=[],e=a(0),f=a(1),g=b(e),h=b(f),l=[f,e],m=[h,g],n=[1,0],p={},q=1E5,r,v,y,w,G;0<--q&&0<n.length;)y=n.pop(),e=l.pop(),g=m.pop(),f=y.toString(),f in p||(d.push(g[0],g[1]),p[f]=!0),w=n.pop(),f=l.pop(),h=m.pop(),G=(y+w)/2,r=a(G),v=b(r),ua(v[0],v[1],g[0],g[1],h[0],h[1])<c?(d.push(h[0],h[1]),f=w.toString(),p[f]=!0):(n.push(w,G,G,y),m.push(h,v,v,g),l.push(f,r,r,e));return d}function Wt(a,b,c,d,e){var f=zc("EPSG:4326");return Vt(function(d){return[a,b+(c-b)*d]},Qc(f,d),e)}
function Xt(a,b,c,d,e){var f=zc("EPSG:4326");return Vt(function(d){return[b+(c-b)*d,a]},Qc(f,d),e)};function Yt(a){a=a||{};this.c=this.o=null;this.g=this.i=Infinity;this.f=this.l=-Infinity;this.A=this.U=Infinity;this.C=this.D=-Infinity;this.Aa=void 0!==a.targetSize?a.targetSize:100;this.S=void 0!==a.maxLines?a.maxLines:100;this.b=[];this.a=[];this.ya=void 0!==a.strokeStyle?a.strokeStyle:Zt;this.v=this.j=void 0;this.s=null;this.setMap(void 0!==a.map?a.map:null)}var Zt=new pj({color:"rgba(0,0,0,0.2)"}),$t=[90,45,30,20,10,5,2,1,.5,.2,.1,.05,.01,.005,.002,.001];
function au(a,b,c,d,e,f,g){var h=g;b=Wt(b,c,d,a.c,e);h=void 0!==a.b[h]?a.b[h]:new R(null);h.ba("XY",b);oc(h.H(),f)&&(a.b[g++]=h);return g}function bu(a,b,c,d,e){var f=e;b=Xt(b,a.f,a.g,a.c,c);f=void 0!==a.a[f]?a.a[f]:new R(null);f.ba("XY",b);oc(f.H(),d)&&(a.a[e++]=f);return e}k=Yt.prototype;k.Pl=function(){return this.o};k.ik=function(){return this.b};k.qk=function(){return this.a};
k.Rg=function(a){var b=a.vectorContext,c=a.frameState,d=c.extent;a=c.viewState;var e=a.center,f=a.projection,g=a.resolution;a=c.pixelRatio;a=g*g/(4*a*a);if(!this.c||!Pc(this.c,f)){var h=zc("EPSG:4326"),l=f.H(),m=f.i,n=Tc(m,h,f),p=m[2],q=m[1],r=m[0],v=n[3],y=n[2],w=n[1],n=n[0];this.i=m[3];this.g=p;this.l=q;this.f=r;this.U=v;this.A=y;this.D=w;this.C=n;this.j=Qc(h,f);this.v=Qc(f,h);this.s=this.v(lc(l));this.c=f}f.a&&(f=f.H(),h=jc(f),c=c.focus[0],c<f[0]||c>f[2])&&(c=h*Math.ceil((f[0]-c)/h),d=[d[0]+c,
d[1],d[2]+c,d[3]]);c=this.s[0];f=this.s[1];h=-1;m=Math.pow(this.Aa*g,2);p=[];q=[];g=0;for(l=$t.length;g<l;++g){r=$t[g]/2;p[0]=c-r;p[1]=f-r;q[0]=c+r;q[1]=f+r;this.j(p,p);this.j(q,q);r=Math.pow(q[0]-p[0],2)+Math.pow(q[1]-p[1],2);if(r<=m)break;h=$t[g]}g=h;if(-1==g)this.b.length=this.a.length=0;else{c=this.v(e);e=c[0];c=c[1];f=this.S;h=[Math.max(d[0],this.C),Math.max(d[1],this.D),Math.min(d[2],this.A),Math.min(d[3],this.U)];h=Tc(h,this.c,"EPSG:4326");m=h[3];q=h[1];e=Math.floor(e/g)*g;p=sa(e,this.f,this.g);
l=au(this,p,q,m,a,d,0);for(h=0;p!=this.f&&h++<f;)p=Math.max(p-g,this.f),l=au(this,p,q,m,a,d,l);p=sa(e,this.f,this.g);for(h=0;p!=this.g&&h++<f;)p=Math.min(p+g,this.g),l=au(this,p,q,m,a,d,l);this.b.length=l;c=Math.floor(c/g)*g;e=sa(c,this.l,this.i);l=bu(this,e,a,d,0);for(h=0;e!=this.l&&h++<f;)e=Math.max(e-g,this.l),l=bu(this,e,a,d,l);e=sa(c,this.l,this.i);for(h=0;e!=this.i&&h++<f;)e=Math.min(e+g,this.i),l=bu(this,e,a,d,l);this.a.length=l}b.Tb(null,this.ya);a=0;for(e=this.b.length;a<e;++a)g=this.b[a],
b.hd(g,null);a=0;for(e=this.a.length;a<e;++a)g=this.a[a],b.hd(g,null)};k.setMap=function(a){this.o&&(this.o.J("postcompose",this.Rg,this),this.o.render());a&&(a.I("postcompose",this.Rg,this),a.render());this.o=a};function cu(a,b,c,d,e,f,g){th.call(this,a,b,c,0,d);this.j=e;this.g=new Image;null!==f&&(this.g.crossOrigin=f);this.i={};this.c=null;this.state=0;this.o=g}x(cu,th);cu.prototype.a=function(a){if(void 0!==a){var b;a=t(a);if(a in this.i)return this.i[a];Ga(this.i)?b=this.g:b=this.g.cloneNode(!1);return this.i[a]=b}return this.g};cu.prototype.s=function(){this.state=3;this.c.forEach(Ka);this.c=null;uh(this)};
cu.prototype.v=function(){void 0===this.resolution&&(this.resolution=kc(this.extent)/this.g.height);this.state=2;this.c.forEach(Ka);this.c=null;uh(this)};cu.prototype.load=function(){if(0==this.state||3==this.state)this.state=1,uh(this),this.c=[Pa(this.g,"error",this.s,this),Pa(this.g,"load",this.v,this)],this.o(this,this.j)};function du(a,b,c,d,e){We.call(this,a,b);this.s=c;this.g=new Image;null!==d&&(this.g.crossOrigin=d);this.c={};this.j=null;this.v=e}x(du,We);k=du.prototype;k.ka=function(){1==this.state&&eu(this);this.a&&Ta(this.a);this.state=5;Xe(this);We.prototype.ka.call(this)};k.$a=function(a){if(void 0!==a){var b=t(a);if(b in this.c)return this.c[b];a=Ga(this.c)?this.g:this.g.cloneNode(!1);return this.c[b]=a}return this.g};k.jb=function(){return this.s};k.Ql=function(){this.state=3;eu(this);Xe(this)};
k.Rl=function(){this.state=this.g.naturalWidth&&this.g.naturalHeight?2:4;eu(this);Xe(this)};k.load=function(){if(0==this.state||3==this.state)this.state=1,Xe(this),this.j=[Pa(this.g,"error",this.Ql,this),Pa(this.g,"load",this.Rl,this)],this.v(this,this.s)};function eu(a){a.j.forEach(Ka);a.j=null};function fu(a){a=a?a:{};Xh.call(this,{handleEvent:rc});this.c=a.formatConstructors?a.formatConstructors:[];this.j=a.projection?zc(a.projection):null;this.a=null;this.target=a.target?a.target:null}x(fu,Xh);function gu(a){a=a.dataTransfer.files;var b,c,d;b=0;for(c=a.length;b<c;++b){d=a.item(b);var e=new FileReader;e.addEventListener("load",this.o.bind(this,d));e.readAsText(d)}}function hu(a){a.stopPropagation();a.preventDefault();a.dataTransfer.dropEffect="copy"}
fu.prototype.o=function(a,b){var c=b.target.result,d=this.v,e=this.j;e||(e=d.aa().l);var d=this.c,f=[],g,h;g=0;for(h=d.length;g<h;++g){var l=new d[g];var m={featureProjection:e};try{f=l.Fa(c,m)}catch(n){f=null}if(f&&0<f.length)break}this.b(new iu(ju,a,f,e))};fu.prototype.setMap=function(a){this.a&&(this.a.forEach(Ka),this.a=null);Xh.prototype.setMap.call(this,a);a&&(a=this.target?this.target:a.a,this.a=[B(a,"drop",gu,this),B(a,"dragenter",hu,this),B(a,"dragover",hu,this),B(a,"drop",hu,this)])};
var ju="addfeatures";function iu(a,b,c,d){Ua.call(this,a);this.features=c;this.file=b;this.projection=d}x(iu,Ua);function ku(a){a=a?a:{};li.call(this,{handleDownEvent:lu,handleDragEvent:mu,handleUpEvent:nu});this.s=a.condition?a.condition:hi;this.a=this.c=void 0;this.j=0;this.A=void 0!==a.duration?a.duration:400}x(ku,li);
function mu(a){if(ji(a)){var b=a.map,c=b.Za(),d=a.pixel;a=d[0]-c[0]/2;d=c[1]/2-d[1];c=Math.atan2(d,a);a=Math.sqrt(a*a+d*d);d=b.aa();b.render();if(void 0!==this.c){var e=c-this.c;Yh(b,d,d.La()-e)}this.c=c;void 0!==this.a&&(c=this.a*(d.$()/a),$h(b,d,c));void 0!==this.a&&(this.j=this.a/a);this.a=a}}
function nu(a){if(!ji(a))return!0;a=a.map;var b=a.aa();Ld(b,-1);var c=this.j-1,d=b.La(),d=b.constrainRotation(d,0);Yh(a,b,d,void 0,void 0);var d=b.$(),e=this.A,d=b.constrainResolution(d,0,c);$h(a,b,d,void 0,e);this.j=0;return!1}function lu(a){return ji(a)&&this.s(a)?(Ld(a.map.aa(),1),this.a=this.c=void 0,!0):!1};function ou(a,b){Ua.call(this,a);this.feature=b}x(ou,Ua);
function pu(a){li.call(this,{handleDownEvent:qu,handleEvent:ru,handleUpEvent:su});this.na=null;this.P=!1;this.Hc=a.source?a.source:null;this.cb=a.features?a.features:null;this.Cj=a.snapTolerance?a.snapTolerance:12;this.W=a.type;this.c=tu(this.W);this.Sa=a.minPoints?a.minPoints:this.c===uu?3:2;this.za=a.maxPoints?a.maxPoints:Infinity;this.Ne=a.finishCondition?a.finishCondition:rc;var b=a.geometryFunction;if(!b)if("Circle"===this.W)b=function(a,b){var c=b?b:new Tt([NaN,NaN]);c.Vf(a[0],Math.sqrt(Eb(a[0],
a[1])));return c};else{var c,b=this.c;b===vu?c=C:b===wu?c=R:b===uu&&(c=E);b=function(a,b){var f=b;f?f.ra(a):f=new c(a);return f}}this.C=b;this.T=this.A=this.a=this.S=this.j=this.s=null;this.Fj=a.clickTolerance?a.clickTolerance*a.clickTolerance:36;this.Ba=new I({source:new P({useSpatialIndex:!1,wrapX:a.wrapX?a.wrapX:!1}),style:a.style?a.style:xu()});this.rb=a.geometryName;this.Bj=a.condition?a.condition:gi;this.oa=a.freehandCondition?a.freehandCondition:hi;B(this,db("active"),this.yi,this)}x(pu,li);
function xu(){var a=xj();return function(b){return a[b.X().Y()]}}k=pu.prototype;k.setMap=function(a){li.prototype.setMap.call(this,a);this.yi()};function ru(a){this.c!==wu&&this.c!==uu||!this.oa(a)||(this.P=!0);var b=!this.P;this.P&&a.type===$g?(yu(this,a),b=!1):a.type===Zg?b=zu(this,a):a.type===Tg&&(b=!1);return mi.call(this,a)&&b}function qu(a){return this.Bj(a)?(this.na=a.pixel,!0):this.P?(this.na=a.pixel,this.s||Au(this,a),!0):!1}
function su(a){this.P=!1;var b=this.na,c=a.pixel,d=b[0]-c[0],b=b[1]-c[1],c=!0;d*d+b*b<=this.Fj&&(zu(this,a),this.s?this.c===Bu?this.jd():Cu(this,a)?this.Ne(a)&&this.jd():yu(this,a):(Au(this,a),this.c===vu&&this.jd()),c=!1);return c}
function zu(a,b){if(a.s){var c=b.coordinate,d=a.j.X(),e;a.c===vu?e=a.a:a.c===uu?(e=a.a[0],e=e[e.length-1],Cu(a,b)&&(c=a.s.slice())):(e=a.a,e=e[e.length-1]);e[0]=c[0];e[1]=c[1];a.C(a.a,d);a.S&&a.S.X().ra(c);d instanceof E&&a.c!==uu?(a.A||(a.A=new Ik(new R(null))),d=d.Hg(0),c=a.A.X(),c.ba(d.f,d.la())):a.T&&(c=a.A.X(),c.ra(a.T));Du(a)}else c=b.coordinate.slice(),a.S?a.S.X().ra(c):(a.S=new Ik(new C(c)),Du(a));return!0}
function Cu(a,b){var c=!1;if(a.j){var d=!1,e=[a.s];a.c===wu?d=a.a.length>a.Sa:a.c===uu&&(d=a.a[0].length>a.Sa,e=[a.a[0][0],a.a[0][a.a[0].length-2]]);if(d)for(var d=b.map,f=0,g=e.length;f<g;f++){var h=e[f],l=d.Ga(h),m=b.pixel,c=m[0]-l[0],l=m[1]-l[1],m=a.P&&a.oa(b)?1:a.Cj;if(c=Math.sqrt(c*c+l*l)<=m){a.s=h;break}}}return c}
function Au(a,b){var c=b.coordinate;a.s=c;a.c===vu?a.a=c.slice():a.c===uu?(a.a=[[c.slice(),c.slice()]],a.T=a.a[0]):(a.a=[c.slice(),c.slice()],a.c===Bu&&(a.T=a.a));a.T&&(a.A=new Ik(new R(a.T)));c=a.C(a.a);a.j=new Ik;a.rb&&a.j.Ec(a.rb);a.j.Ua(c);Du(a);a.b(new ou("drawstart",a.j))}
function yu(a,b){var c=b.coordinate,d=a.j.X(),e,f;if(a.c===wu)a.s=c.slice(),f=a.a,f.push(c.slice()),e=f.length>a.za,a.C(f,d);else if(a.c===uu){f=a.a[0];f.push(c.slice());if(e=f.length>a.za)a.s=f[0];a.C(a.a,d)}Du(a);e&&a.jd()}k.Qo=function(){var a=this.j.X(),b,c;this.c===wu?(b=this.a,b.splice(-2,1),this.C(b,a)):this.c===uu&&(b=this.a[0],b.splice(-2,1),c=this.A.X(),c.ra(b),this.C(this.a,a));0===b.length&&(this.s=null);Du(this)};
k.jd=function(){var a=Eu(this),b=this.a,c=a.X();this.c===wu?(b.pop(),this.C(b,c)):this.c===uu&&(b[0].pop(),b[0].push(b[0][0]),this.C(b,c));"MultiPoint"===this.W?a.Ua(new T([b])):"MultiLineString"===this.W?a.Ua(new S([b])):"MultiPolygon"===this.W&&a.Ua(new U([b]));this.b(new ou("drawend",a));this.cb&&this.cb.push(a);this.Hc&&this.Hc.sb(a)};function Eu(a){a.s=null;var b=a.j;b&&(a.j=null,a.S=null,a.A=null,a.Ba.ha().clear(!0));return b}
k.rm=function(a){var b=a.X();this.j=a;this.a=b.Z();a=this.a[this.a.length-1];this.s=a.slice();this.a.push(a.slice());Du(this);this.b(new ou("drawstart",this.j))};k.Gc=sc;function Du(a){var b=[];a.j&&b.push(a.j);a.A&&b.push(a.A);a.S&&b.push(a.S);a=a.Ba.ha();a.clear(!0);a.Jc(b)}k.yi=function(){var a=this.v,b=this.f();a&&b||Eu(this);this.Ba.setMap(b?a:null)};
function tu(a){var b;"Point"===a||"MultiPoint"===a?b=vu:"LineString"===a||"MultiLineString"===a?b=wu:"Polygon"===a||"MultiPolygon"===a?b=uu:"Circle"===a&&(b=Bu);return b}var vu="Point",wu="LineString",uu="Polygon",Bu="Circle";function Fu(a,b,c){Ua.call(this,a);this.features=b;this.mapBrowserEvent=c}x(Fu,Ua);
function Gu(a){li.call(this,{handleDownEvent:Hu,handleDragEvent:Iu,handleEvent:Ju,handleUpEvent:Ku});this.rb=a.condition?a.condition:ki;this.Sa=function(a){return gi(a)&&fi(a)};this.cb=a.deleteCondition?a.deleteCondition:this.Sa;this.za=this.c=null;this.Ba=[0,0];this.C=this.T=!1;this.a=new kl;this.S=void 0!==a.pixelTolerance?a.pixelTolerance:10;this.s=this.oa=!1;this.j=[];this.P=new I({source:new P({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.style?a.style:Lu(),updateWhileAnimating:!0,updateWhileInteracting:!0});
this.na={Point:this.ym,LineString:this.kh,LinearRing:this.kh,Polygon:this.zm,MultiPoint:this.wm,MultiLineString:this.vm,MultiPolygon:this.xm,GeometryCollection:this.um};this.A=a.features;this.A.forEach(this.xf,this);B(this.A,"add",this.sm,this);B(this.A,"remove",this.tm,this);this.W=null}x(Gu,li);k=Gu.prototype;k.xf=function(a){var b=a.X();b.Y()in this.na&&this.na[b.Y()].call(this,a,b);(b=this.v)&&Mu(this,this.Ba,b);B(a,"change",this.jh,this)};
function Nu(a,b){a.C||(a.C=!0,a.b(new Fu("modifystart",a.A,b)))}function Ou(a,b){Pu(a,b);a.c&&0===a.A.dc()&&(a.P.ha().ob(a.c),a.c=null);Qa(b,"change",a.jh,a)}function Pu(a,b){var c=a.a,d=[];c.forEach(function(a){b===a.feature&&d.push(a)});for(var e=d.length-1;0<=e;--e)c.remove(d[e])}k.setMap=function(a){this.P.setMap(a);li.prototype.setMap.call(this,a)};k.sm=function(a){this.xf(a.element)};k.jh=function(a){this.s||(a=a.target,Ou(this,a),this.xf(a))};k.tm=function(a){Ou(this,a.element)};
k.ym=function(a,b){var c=b.Z(),c={feature:a,geometry:b,pa:[c,c]};this.a.Ca(b.H(),c)};k.wm=function(a,b){var c=b.Z(),d,e,f;e=0;for(f=c.length;e<f;++e)d=c[e],d={feature:a,geometry:b,depth:[e],index:e,pa:[d,d]},this.a.Ca(b.H(),d)};k.kh=function(a,b){var c=b.Z(),d,e,f,g;d=0;for(e=c.length-1;d<e;++d)f=c.slice(d,d+2),g={feature:a,geometry:b,index:d,pa:f},this.a.Ca(Ib(f),g)};
k.vm=function(a,b){var c=b.Z(),d,e,f,g,h,l,m;g=0;for(h=c.length;g<h;++g)for(d=c[g],e=0,f=d.length-1;e<f;++e)l=d.slice(e,e+2),m={feature:a,geometry:b,depth:[g],index:e,pa:l},this.a.Ca(Ib(l),m)};k.zm=function(a,b){var c=b.Z(),d,e,f,g,h,l,m;g=0;for(h=c.length;g<h;++g)for(d=c[g],e=0,f=d.length-1;e<f;++e)l=d.slice(e,e+2),m={feature:a,geometry:b,depth:[g],index:e,pa:l},this.a.Ca(Ib(l),m)};
k.xm=function(a,b){var c=b.Z(),d,e,f,g,h,l,m,n,p,q;l=0;for(m=c.length;l<m;++l)for(n=c[l],g=0,h=n.length;g<h;++g)for(d=n[g],e=0,f=d.length-1;e<f;++e)p=d.slice(e,e+2),q={feature:a,geometry:b,depth:[g,l],index:e,pa:p},this.a.Ca(Ib(p),q)};k.um=function(a,b){var c,d=b.c;for(c=0;c<d.length;++c)this.na[d[c].Y()].call(this,a,d[c])};function Qu(a,b){var c=a.c;c?c.X().ra(b):(c=new Ik(new C(b)),a.c=c,a.P.ha().sb(c))}function Ru(a,b){return a.index-b.index}
function Hu(a){if(!this.rb(a))return!1;Mu(this,a.pixel,a.map);this.j.length=0;this.C=!1;var b=this.c;if(b){var c=[],b=b.X().Z(),d=Ib([b]),d=nl(this.a,d),e={};d.sort(Ru);for(var f=0,g=d.length;f<g;++f){var h=d[f],l=h.pa,m=t(h.feature),n=h.depth;n&&(m+="-"+n.join("-"));e[m]||(e[m]=Array(2));if(Cb(l[0],b)&&!e[m][0])this.j.push([h,0]),e[m][0]=h;else if(Cb(l[1],b)&&!e[m][1]){if("LineString"!==h.geometry.Y()&&"MultiLineString"!==h.geometry.Y()||!e[m][0]||0!==e[m][0].index)this.j.push([h,1]),e[m][1]=h}else t(l)in
this.za&&!e[m][0]&&!e[m][1]&&c.push([h,b])}c.length&&Nu(this,a);for(a=c.length-1;0<=a;--a)this.nl.apply(this,c[a])}return!!this.c}
function Iu(a){this.T=!1;Nu(this,a);a=a.coordinate;for(var b=0,c=this.j.length;b<c;++b){for(var d=this.j[b],e=d[0],f=e.depth,g=e.geometry,h=g.Z(),l=e.pa,d=d[1];a.length<g.va();)a.push(0);switch(g.Y()){case "Point":h=a;l[0]=l[1]=a;break;case "MultiPoint":h[e.index]=a;l[0]=l[1]=a;break;case "LineString":h[e.index+d]=a;l[d]=a;break;case "MultiLineString":h[f[0]][e.index+d]=a;l[d]=a;break;case "Polygon":h[f[0]][e.index+d]=a;l[d]=a;break;case "MultiPolygon":h[f[1]][f[0]][e.index+d]=a,l[d]=a}e=g;this.s=
!0;e.ra(h);this.s=!1}Qu(this,a)}function Ku(a){for(var b,c=this.j.length-1;0<=c;--c)b=this.j[c][0],ll(this.a,Ib(b.pa),b);this.C&&(this.b(new Fu("modifyend",this.A,a)),this.C=!1);return!1}function Ju(a){if(!(a instanceof Pg))return!0;this.W=a;var b;Gd(a.map.aa())[1]||a.type!=Zg||this.D||(this.Ba=a.pixel,Mu(this,a.pixel,a.map));this.c&&this.cb(a)&&(a.type==Ug&&this.T?b=!0:(this.c.X(),b=this.ai()));a.type==Ug&&(this.T=!1);return mi.call(this,a)&&!b}
function Mu(a,b,c){function d(a,b){return Fb(e,a.pa)-Fb(e,b.pa)}var e=c.Ma(b),f=c.Ma([b[0]-a.S,b[1]+a.S]),g=c.Ma([b[0]+a.S,b[1]-a.S]),f=Ib([f,g]),f=nl(a.a,f);if(0<f.length){f.sort(d);var g=f[0].pa,h=zb(e,g),l=c.Ga(h);if(Math.sqrt(Eb(b,l))<=a.S){b=c.Ga(g[0]);c=c.Ga(g[1]);b=Eb(l,b);c=Eb(l,c);a.oa=Math.sqrt(Math.min(b,c))<=a.S;a.oa&&(h=b>c?g[1]:g[0]);Qu(a,h);c={};c[t(g)]=!0;b=1;for(l=f.length;b<l;++b)if(h=f[b].pa,Cb(g[0],h[0])&&Cb(g[1],h[1])||Cb(g[0],h[1])&&Cb(g[1],h[0]))c[t(h)]=!0;else break;a.za=c;
return}}a.c&&(a.P.ha().ob(a.c),a.c=null)}
k.nl=function(a,b){for(var c=a.pa,d=a.feature,e=a.geometry,f=a.depth,g=a.index,h;b.length<e.va();)b.push(0);switch(e.Y()){case "MultiLineString":h=e.Z();h[f[0]].splice(g+1,0,b);break;case "Polygon":h=e.Z();h[f[0]].splice(g+1,0,b);break;case "MultiPolygon":h=e.Z();h[f[1]][f[0]].splice(g+1,0,b);break;case "LineString":h=e.Z();h.splice(g+1,0,b);break;default:return}this.s=!0;e.ra(h);this.s=!1;h=this.a;h.remove(a);Su(this,e,g,f,1);var l={pa:[c[0],b],feature:d,geometry:e,depth:f,index:g};h.Ca(Ib(l.pa),
l);this.j.push([l,1]);c={pa:[b,c[1]],feature:d,geometry:e,depth:f,index:g+1};h.Ca(Ib(c.pa),c);this.j.push([c,0]);this.T=!0};
k.ai=function(){var a=!1;if(this.W&&this.W.type!=$g){var b=this.W;Nu(this,b);var c=this.j,a={},d=!1,e,f,g,h,l,m,n,p;for(h=c.length-1;0<=h;--h)g=c[h],n=g[0],p=t(n.feature),n.depth&&(p+="-"+n.depth.join("-")),p in a||(a[p]={}),0===g[1]?(a[p].right=n,a[p].index=n.index):1==g[1]&&(a[p].left=n,a[p].index=n.index+1);for(p in a){m=a[p].right;h=a[p].left;g=a[p].index;l=g-1;n=void 0!==h?h:m;0>l&&(l=0);c=n.geometry;e=f=c.Z();d=!1;switch(c.Y()){case "MultiLineString":2<f[n.depth[0]].length&&(f[n.depth[0]].splice(g,
1),d=!0);break;case "LineString":2<f.length&&(f.splice(g,1),d=!0);break;case "MultiPolygon":e=e[n.depth[1]];case "Polygon":e=e[n.depth[0]],4<e.length&&(g==e.length-1&&(g=0),e.splice(g,1),d=!0,0===g&&(e.pop(),e.push(e[0]),l=e.length-1))}d&&(e=c,this.s=!0,e.ra(f),this.s=!1,f=[],void 0!==h&&(this.a.remove(h),f.push(h.pa[0])),void 0!==m&&(this.a.remove(m),f.push(m.pa[1])),void 0!==h&&void 0!==m&&(h={depth:n.depth,feature:n.feature,geometry:n.geometry,index:l,pa:f},this.a.Ca(Ib(h.pa),h)),Su(this,c,g,n.depth,
-1),this.c&&(this.P.ha().ob(this.c),this.c=null))}a=d;this.b(new Fu("modifyend",this.A,b));this.C=!1}return a};function Su(a,b,c,d,e){ql(a.a,b.H(),function(a){a.geometry===b&&(void 0===d||void 0===a.depth||mb(a.depth,d))&&a.index>c&&(a.index+=e)})}function Lu(){var a=xj();return function(){return a.Point}};function Tu(a,b,c,d){Ua.call(this,a);this.selected=b;this.deselected=c;this.mapBrowserEvent=d}x(Tu,Ua);
function Uu(a){Xh.call(this,{handleEvent:Vu});var b=a?a:{};this.D=b.condition?b.condition:fi;this.A=b.addCondition?b.addCondition:sc;this.C=b.removeCondition?b.removeCondition:sc;this.S=b.toggleCondition?b.toggleCondition:hi;this.j=b.multi?b.multi:!1;this.o=b.filter?b.filter:rc;this.c=new I({source:new P({useSpatialIndex:!1,features:b.features,wrapX:b.wrapX}),style:b.style?b.style:Wu(),updateWhileAnimating:!0,updateWhileInteracting:!0});if(b.layers)if("function"===typeof b.layers)a=function(a){return b.layers(a)};
else{var c=b.layers;a=function(a){return gb(c,a)}}else a=rc;this.s=a;this.a={};a=this.c.ha().c;B(a,"add",this.Am,this);B(a,"remove",this.Dm,this)}x(Uu,Xh);k=Uu.prototype;k.Bm=function(){return this.c.ha().c};k.Cm=function(a){a=t(a);return this.a[a]};
function Vu(a){if(!this.D(a))return!0;var b=this.A(a),c=this.C(a),d=this.S(a),e=!b&&!c&&!d,f=a.map,g=this.c.ha().c,h=[],l=[];if(e)Da(this.a),f.kd(a.pixel,function(a,b){if(this.o(a,b)){l.push(a);var c=t(a);this.a[c]=b;return!this.j}},this,this.s),0<l.length&&1==g.dc()&&g.item(0)==l[0]?l.length=0:(0!==g.dc()&&(h=Array.prototype.concat(g.a),g.clear()),g.qf(l));else{f.kd(a.pixel,function(a,e){if(this.o(a,e)){if(!b&&!d||gb(g.a,a))(c||d)&&gb(g.a,a)&&(h.push(a),f=t(a),delete this.a[f]);else{l.push(a);var f=
t(a);this.a[f]=e}return!this.j}},this,this.s);for(e=h.length-1;0<=e;--e)g.remove(h[e]);g.qf(l)}(0<l.length||0<h.length)&&this.b(new Tu("select",l,h,a));return ei(a)}k.setMap=function(a){var b=this.v,c=this.c.ha().c;b&&c.forEach(b.wi,b);Xh.prototype.setMap.call(this,a);this.c.setMap(a);a&&c.forEach(a.ti,a)};function Wu(){var a=xj();jb(a.Polygon,a.LineString);jb(a.GeometryCollection,a.LineString);return function(b){return a[b.X().Y()]}}k.Am=function(a){a=a.element;var b=this.v;b&&b.ti(a)};
k.Dm=function(a){a=a.element;var b=this.v;b&&b.wi(a)};function Xu(a){li.call(this,{handleEvent:Yu,handleDownEvent:rc,handleUpEvent:Zu});a=a?a:{};this.s=a.source?a.source:null;this.Ba=void 0!==a.vertex?a.vertex:!0;this.T=void 0!==a.edge?a.edge:!0;this.j=a.features?a.features:null;this.oa=[];this.C={};this.S={};this.W={};this.A={};this.P=null;this.c=void 0!==a.pixelTolerance?a.pixelTolerance:10;this.za=$u.bind(this);this.a=new kl;this.na={Point:this.Jm,LineString:this.nh,LinearRing:this.nh,Polygon:this.Km,MultiPoint:this.Hm,MultiLineString:this.Gm,MultiPolygon:this.Im,
GeometryCollection:this.Fm}}x(Xu,li);k=Xu.prototype;k.sb=function(a,b){var c=void 0!==b?b:!0,d=t(a),e=a.X();if(e){var f=this.na[e.Y()];f&&(this.W[d]=e.H(Jb()),f.call(this,a,e),c&&(this.S[d]=B(e,"change",this.Kk.bind(this,a),this)))}c&&(this.C[d]=B(a,db(a.a),this.Em,this))};k.Jj=function(a){this.sb(a)};k.Kj=function(a){this.ob(a)};k.lh=function(a){var b;a instanceof vl?b=a.feature:a instanceof ae&&(b=a.element);this.sb(b)};
k.mh=function(a){var b;a instanceof vl?b=a.feature:a instanceof ae&&(b=a.element);this.ob(b)};k.Em=function(a){a=a.target;this.ob(a,!0);this.sb(a,!0)};k.Kk=function(a){if(this.D){var b=t(a);b in this.A||(this.A[b]=a)}else this.xi(a)};k.ob=function(a,b){var c=void 0!==b?b:!0,d=t(a),e=this.W[d];if(e){var f=this.a,g=[];ql(f,e,function(b){a===b.feature&&g.push(b)});for(e=g.length-1;0<=e;--e)f.remove(g[e]);c&&($a(this.S[d]),delete this.S[d])}c&&($a(this.C[d]),delete this.C[d])};
k.setMap=function(a){var b=this.v,c=this.oa,d;this.j?d=this.j:this.s&&(d=this.s.oe());b&&(c.forEach($a),c.length=0,d.forEach(this.Kj,this));li.prototype.setMap.call(this,a);a&&(this.j?c.push(B(this.j,"add",this.lh,this),B(this.j,"remove",this.mh,this)):this.s&&c.push(B(this.s,"addfeature",this.lh,this),B(this.s,"removefeature",this.mh,this)),d.forEach(this.Jj,this))};k.Gc=sc;k.xi=function(a){this.ob(a,!1);this.sb(a,!1)};
k.Fm=function(a,b){var c,d=b.c;for(c=0;c<d.length;++c)this.na[d[c].Y()].call(this,a,d[c])};k.nh=function(a,b){var c=b.Z(),d,e,f,g;d=0;for(e=c.length-1;d<e;++d)f=c.slice(d,d+2),g={feature:a,pa:f},this.a.Ca(Ib(f),g)};k.Gm=function(a,b){var c=b.Z(),d,e,f,g,h,l,m;g=0;for(h=c.length;g<h;++g)for(d=c[g],e=0,f=d.length-1;e<f;++e)l=d.slice(e,e+2),m={feature:a,pa:l},this.a.Ca(Ib(l),m)};k.Hm=function(a,b){var c=b.Z(),d,e,f;e=0;for(f=c.length;e<f;++e)d=c[e],d={feature:a,pa:[d,d]},this.a.Ca(b.H(),d)};
k.Im=function(a,b){var c=b.Z(),d,e,f,g,h,l,m,n,p,q;l=0;for(m=c.length;l<m;++l)for(n=c[l],g=0,h=n.length;g<h;++g)for(d=n[g],e=0,f=d.length-1;e<f;++e)p=d.slice(e,e+2),q={feature:a,pa:p},this.a.Ca(Ib(p),q)};k.Jm=function(a,b){var c=b.Z(),c={feature:a,pa:[c,c]};this.a.Ca(b.H(),c)};k.Km=function(a,b){var c=b.Z(),d,e,f,g,h,l,m;g=0;for(h=c.length;g<h;++g)for(d=c[g],e=0,f=d.length-1;e<f;++e)l=d.slice(e,e+2),m={feature:a,pa:l},this.a.Ca(Ib(l),m)};
function Yu(a){var b,c,d=a.pixel,e=a.coordinate;b=a.map;var f=b.Ma([d[0]-this.c,d[1]+this.c]);c=b.Ma([d[0]+this.c,d[1]-this.c]);var f=Ib([f,c]),g=nl(this.a,f),h,f=!1,l=null;c=null;if(0<g.length){this.P=e;g.sort(this.za);g=g[0].pa;if(this.Ba&&!this.T){if(e=b.Ga(g[0]),h=b.Ga(g[1]),e=Eb(d,e),d=Eb(d,h),h=Math.sqrt(Math.min(e,d)),h=h<=this.c)f=!0,l=e>d?g[1]:g[0],c=b.Ga(l)}else this.T&&(l=zb(e,g),c=b.Ga(l),Math.sqrt(Eb(d,c))<=this.c&&(f=!0,this.Ba&&(e=b.Ga(g[0]),h=b.Ga(g[1]),e=Eb(c,e),d=Eb(c,h),h=Math.sqrt(Math.min(e,
d)),h=h<=this.c)))&&(l=e>d?g[1]:g[0],c=b.Ga(l));f&&(c=[Math.round(c[0]),Math.round(c[1])])}b=l;f&&(a.coordinate=b.slice(0,2),a.pixel=c);return mi.call(this,a)}function Zu(){var a=Ea(this.A);a.length&&(a.forEach(this.xi,this),this.A={});return!1}function $u(a,b){return Fb(this.P,a.pa)-Fb(this.P,b.pa)};function av(a,b,c){Ua.call(this,a);this.features=b;this.coordinate=c}x(av,Ua);function bv(a){li.call(this,{handleDownEvent:cv,handleDragEvent:dv,handleMoveEvent:ev,handleUpEvent:fv});this.s=void 0;this.a=null;this.c=void 0!==a.features?a.features:null;var b;if(a.layers)if("function"===typeof a.layers)b=function(b){return a.layers(b)};else{var c=a.layers;b=function(a){return gb(c,a)}}else b=rc;this.A=b;this.j=null}x(bv,li);
function cv(a){this.j=gv(this,a.pixel,a.map);return!this.a&&this.j?(this.a=a.coordinate,ev.call(this,a),this.b(new av("translatestart",this.c,a.coordinate)),!0):!1}function fv(a){return this.a?(this.a=null,ev.call(this,a),this.b(new av("translateend",this.c,a.coordinate)),!0):!1}
function dv(a){if(this.a){a=a.coordinate;var b=a[0]-this.a[0],c=a[1]-this.a[1];if(this.c)this.c.forEach(function(a){var d=a.X();d.Sc(b,c);a.Ua(d)});else if(this.j){var d=this.j.X();d.Sc(b,c);this.j.Ua(d)}this.a=a;this.b(new av("translating",this.c,a))}}
function ev(a){var b=a.map.yc();if(a=a.map.kd(a.pixel,function(a){return a})){var c=!1;this.c&&gb(this.c.a,a)&&(c=!0);this.s=b.style.cursor;b.style.cursor=this.a?"-webkit-grabbing":c?"-webkit-grab":"pointer";b.style.cursor=this.a?c?"grab":"pointer":"grabbing"}else b.style.cursor=void 0!==this.s?this.s:"",this.s=void 0}function gv(a,b,c){var d=null;b=c.kd(b,function(a){return a},a,a.A);a.c&&gb(a.c.a,b)&&(d=b);return d};function W(a){a=a?a:{};var b=Ca({},a);delete b.gradient;delete b.radius;delete b.blur;delete b.shadow;delete b.weight;I.call(this,b);this.f=null;this.ia=void 0!==a.shadow?a.shadow:250;this.W=void 0;this.c=null;B(this,db("gradient"),this.Lk,this);this.ii(a.gradient?a.gradient:hv);this.di(void 0!==a.blur?a.blur:15);this.qh(void 0!==a.radius?a.radius:8);B(this,db("blur"),this.lf,this);B(this,db("radius"),this.lf,this);this.lf();var c=a.weight?a.weight:"weight",d;"string"===typeof c?d=function(a){return a.get(c)}:
d=c;this.l(function(a){a=d(a);a=void 0!==a?sa(a,0,1):1;var b=255*a|0,c=this.c[b];c||(c=[new sj({image:new Fh({opacity:a,src:this.W})})],this.c[b]=c);return c}.bind(this));this.set("renderOrder",null);B(this,"render",this.dl,this)}x(W,I);var hv=["#00f","#0ff","#0f0","#ff0","#f00"];k=W.prototype;k.zg=function(){return this.get("blur")};k.Gg=function(){return this.get("gradient")};k.ph=function(){return this.get("radius")};
k.Lk=function(){for(var a=this.Gg(),b=Ge(1,256),c=b.createLinearGradient(0,0,1,256),d=1/(a.length-1),e=0,f=a.length;e<f;++e)c.addColorStop(e*d,a[e]);b.fillStyle=c;b.fillRect(0,0,1,256);this.f=b.getImageData(0,0,1,256).data};k.lf=function(){var a=this.ph(),b=this.zg(),c=a+b+1,d=2*c,d=Ge(d,d);d.shadowOffsetX=d.shadowOffsetY=this.ia;d.shadowBlur=b;d.shadowColor="#000";d.beginPath();b=c-this.ia;d.arc(b,b,a,0,2*Math.PI,!0);d.fill();this.W=d.canvas.toDataURL();this.c=Array(256);this.u()};
k.dl=function(a){a=a.context;var b=a.canvas,b=a.getImageData(0,0,b.width,b.height),c=b.data,d,e,f;d=0;for(e=c.length;d<e;d+=4)if(f=4*c[d+3])c[d]=this.f[f],c[d+1]=this.f[f+1],c[d+2]=this.f[f+2];a.putImageData(b,0,0)};k.di=function(a){this.set("blur",a)};k.ii=function(a){this.set("gradient",a)};k.qh=function(a){this.set("radius",a)};function iv(a,b,c,d){function e(){delete pa[g];f.parentNode.removeChild(f)}var f=pa.document.createElement("script"),g="olc_"+t(b);f.async=!0;f.src=a+(-1==a.indexOf("?")?"?":"&")+(d||"callback")+"="+g;var h=pa.setTimeout(function(){e();c&&c()},1E4);pa[g]=function(a){pa.clearTimeout(h);e();b(a)};pa.document.getElementsByTagName("head")[0].appendChild(f)};function jv(a,b,c,d,e,f,g,h,l,m,n){We.call(this,e,0);this.S=void 0!==n?n:!1;this.C=g;this.D=h;this.l=null;this.c={};this.j=b;this.v=d;this.U=f?f:e;this.g=[];this.Wc=null;this.s=0;f=d.Ea(this.U);h=this.v.H();e=this.j.H();f=h?nc(f,h):f;if(0===hc(f))this.state=4;else if((h=a.H())&&(e?e=nc(e,h):e=h),d=d.$(this.U[0]),d=tk(a,c,lc(f),d),!isFinite(d)||0>=d)this.state=4;else if(this.A=new wk(a,c,f,e,d*(void 0!==m?m:.5)),0===this.A.f.length)this.state=4;else if(this.s=b.Lb(d),c=yk(this.A),e&&(a.a?(c[1]=sa(c[1],
e[1],e[3]),c[3]=sa(c[3],e[1],e[3])):c=nc(c,e)),hc(c))if(a=gf(b,c,this.s),100>(a.ea-a.ca+1)*(a.ga-a.fa+1)){for(b=a.ca;b<=a.ea;b++)for(c=a.fa;c<=a.ga;c++)(m=l(this.s,b,c,g))&&this.g.push(m);0===this.g.length&&(this.state=4)}else this.state=3;else this.state=4}x(jv,We);jv.prototype.ka=function(){1==this.state&&(this.Wc.forEach(Ka),this.Wc=null);We.prototype.ka.call(this)};
jv.prototype.$a=function(a){if(void 0!==a){var b=t(a);if(b in this.c)return this.c[b];a=Ga(this.c)?this.l:this.l.cloneNode(!1);return this.c[b]=a}return this.l};
jv.prototype.zd=function(){var a=[];this.g.forEach(function(b){b&&2==b.V()&&a.push({extent:this.j.Ea(b.ma),image:b.$a()})},this);this.g.length=0;if(0===a.length)this.state=3;else{var b=this.U[0],c=this.v.Ja(b),d="number"===typeof c?c:c[0],c="number"===typeof c?c:c[1],b=this.v.$(b),e=this.j.$(this.s),f=this.v.Ea(this.U);this.l=vk(d,c,this.C,e,this.j.H(),b,f,this.A,a,this.D,this.S);this.state=2}Xe(this)};
jv.prototype.load=function(){if(0==this.state){this.state=1;Xe(this);var a=0;this.Wc=[];this.g.forEach(function(b){var c=b.V();if(0==c||1==c){a++;var d;d=B(b,"change",function(){var c=b.V();if(2==c||3==c||4==c)Ka(d),a--,0===a&&(this.Wc.forEach(Ka),this.Wc=null,this.zd())},this);this.Wc.push(d)}},this);this.g.forEach(function(a){0==a.V()&&a.load()});0===a&&pa.setTimeout(this.zd.bind(this),0)}};function X(a){Jl.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction?a.tileLoadFunction:kv,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,wrapX:a.wrapX});this.crossOrigin=void 0!==a.crossOrigin?a.crossOrigin:null;this.tileClass=void 0!==a.tileClass?a.tileClass:du;this.i={};this.s={};this.na=a.reprojectionErrorThreshold;
this.D=!1}x(X,Jl);k=X.prototype;k.Ah=function(){if(Ve(this.a))return!0;for(var a in this.i)if(Ve(this.i[a]))return!0;return!1};k.Lc=function(a,b){var c=this.pd(a);this.a.Lc(this.a==c?b:{});for(var d in this.i){var e=this.i[d];e.Lc(e==c?b:{})}};k.Ud=function(a){return this.f&&a&&!Pc(this.f,a)?0:this.gf()};k.gf=function(){return 0};k.jf=function(a){return this.f&&a&&!Pc(this.f,a)?!1:Jl.prototype.jf.call(this,a)};
k.fb=function(a){var b=this.f;return!this.tileGrid||b&&!Pc(b,a)?(b=t(a).toString(),b in this.s||(this.s[b]=nf(a)),this.s[b]):this.tileGrid};k.pd=function(a){var b=this.f;if(!b||Pc(b,a))return this.a;a=t(a).toString();a in this.i||(this.i[a]=new Ue);return this.i[a]};function lv(a,b,c,d,e,f,g){b=[b,c,d];e=(c=vf(a,b,f))?a.tileUrlFunction(c,e,f):void 0;e=new a.tileClass(b,void 0!==e?0:4,void 0!==e?e:"",a.crossOrigin,a.tileLoadFunction);e.key=g;B(e,"change",a.Bh,a);return e}
k.bc=function(a,b,c,d,e){if(this.f&&e&&!Pc(this.f,e)){var f=this.pd(e);c=[a,b,c];var g;a=this.Fb.apply(this,c);Re(f,a)&&(g=f.get(a));b=this.Mb;if(g&&g.key==b)return g;var h=this.f,l=this.fb(h),m=this.fb(e),n=vf(this,c,e);d=new jv(h,l,e,m,c,n,this.cc(d),this.gf(),function(a,b,c,d){return mv(this,a,b,c,d,h)}.bind(this),this.na,this.D);d.key=b;g?(d.a=g,f.replace(a,d)):f.set(a,d);return d}return mv(this,a,b,c,d,e)};
function mv(a,b,c,d,e,f){var g,h=a.Fb(b,c,d),l=a.Mb;if(Re(a.a,h)){if(g=a.a.get(h),g.key!=l){var m=g;g.a&&g.a.key==l?(g=g.a,2==m.V()&&(g.a=m)):(g=lv(a,b,c,d,e,f,l),2==m.V()?g.a=m:m.a&&2==m.a.V()&&(g.a=m.a,m.a=null));g.a&&(g.a.a=null);a.a.replace(h,g)}}else g=lv(a,b,c,d,e,f,l),a.a.set(h,g);return g}k.Ab=function(a){if(this.D!=a){this.D=a;for(var b in this.i)this.i[b].clear();this.u()}};k.Bb=function(a,b){var c=zc(a);c&&(c=t(c).toString(),c in this.s||(this.s[c]=b))};function kv(a,b){a.$a().src=b};function nv(a){X.call(this,{cacheSize:a.cacheSize,crossOrigin:"anonymous",opaque:!0,projection:zc("EPSG:3857"),reprojectionErrorThreshold:a.reprojectionErrorThreshold,state:"loading",tileLoadFunction:a.tileLoadFunction,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.j=void 0!==a.culture?a.culture:"en-us";this.c=void 0!==a.maxZoom?a.maxZoom:-1;iv("https://dev.virtualearth.net/REST/v1/Imagery/Metadata/"+a.imagerySet+"?uriScheme=https&include=ImageryProviders&key="+a.key,this.v.bind(this),void 0,"jsonp")}
x(nv,X);var ov=new $d({html:'<a class="ol-attribution-bing-tos" href="http://www.microsoft.com/maps/product/terms.html">Terms of Use</a>'});
nv.prototype.v=function(a){if(200!=a.statusCode||"OK"!=a.statusDescription||"ValidCredentials"!=a.authenticationResultCode||1!=a.resourceSets.length||1!=a.resourceSets[0].resources.length)cf(this,"error");else{var b=a.brandLogoUri;-1==b.indexOf("https")&&(b=b.replace("http","https"));var c=a.resourceSets[0].resources[0],d=-1==this.c?c.zoomMax:this.c;a=of(this.f);var e=qf({extent:a,minZoom:c.zoomMin,maxZoom:d,tileSize:c.imageWidth==c.imageHeight?c.imageWidth:[c.imageWidth,c.imageHeight]});this.tileGrid=
e;var f=this.j;this.tileUrlFunction=Gl(c.imageUrlSubdomains.map(function(a){var b=[0,0,0],d=c.imageUrl.replace("{subdomain}",a).replace("{culture}",f);return function(a){if(a)return Se(a[0],a[1],-a[2]-1,b),d.replace("{quadkey}",Te(b))}}));if(c.imageryProviders){var g=Cc(zc("EPSG:4326"),this.f);a=c.imageryProviders.map(function(a){var b=a.attribution,c={};a.coverageAreas.forEach(function(a){var b=a.zoomMin,f=Math.min(a.zoomMax,d);a=a.bbox;a=qc([a[1],a[0],a[3],a[2]],g);var h,l;for(h=b;h<=f;++h)l=h.toString(),
b=gf(e,a,h),l in c?c[l].push(b):c[l]=[b]});return new $d({html:b,tileRanges:c})});a.push(ov);this.qa(a)}this.S=b;cf(this,"ready")}};function pv(a){a=a||{};var b=void 0!==a.projection?a.projection:"EPSG:3857",c=void 0!==a.tileGrid?a.tileGrid:qf({extent:of(b),maxZoom:a.maxZoom,minZoom:a.minZoom,tileSize:a.tileSize});X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:a.opaque,projection:b,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:c,tileLoadFunction:a.tileLoadFunction,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,
wrapX:void 0!==a.wrapX?a.wrapX:!0})}x(pv,X);function qv(a){this.v=a.account;this.A=a.map||"";this.c=a.config||{};this.j={};pv.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,maxZoom:void 0!==a.maxZoom?a.maxZoom:18,minZoom:a.minZoom,projection:a.projection,state:"loading",wrapX:a.wrapX});rv(this)}x(qv,pv);k=qv.prototype;k.Tj=function(){return this.c};k.up=function(a){Ca(this.c,a);rv(this)};k.$o=function(a){this.c=a||{};rv(this)};
function rv(a){var b=JSON.stringify(a.c);if(a.j[b])sv(a,a.j[b]);else{var c="https://"+a.v+".cartodb.com/api/v1/map";a.A&&(c+="/named/"+a.A);var d=new XMLHttpRequest;d.addEventListener("load",a.Nk.bind(a,b));d.addEventListener("error",a.Mk.bind(a));d.open("POST",c);d.setRequestHeader("Content-type","application/json");d.send(JSON.stringify(a.c))}}
k.Nk=function(a,b){var c=b.target;if(200<=c.status&&300>c.status){var d;try{d=JSON.parse(c.responseText)}catch(e){cf(this,"error");return}sv(this,d);this.j[a]=d;cf(this,"ready")}else cf(this,"error")};k.Mk=function(){cf(this,"error")};function sv(a,b){a.Va("https://"+b.cdn_url.https+"/"+a.v+"/api/v1/map/"+b.layergroupid+"/{z}/{x}/{y}.png")};function Y(a){P.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,wrapX:a.wrapX});this.D=void 0;this.za=void 0!==a.distance?a.distance:20;this.A=[];this.na=a.geometryFunction||function(a){return a.X()};this.v=a.source;this.v.I("change",Y.prototype.cb,this)}x(Y,P);Y.prototype.Sa=function(){return this.v};Y.prototype.Pc=function(a,b,c){this.v.Pc(a,b,c);b!==this.D&&(this.clear(),this.D=b,tv(this),this.Jc(this.A))};
Y.prototype.cb=function(){this.clear();tv(this);this.Jc(this.A);this.u()};function tv(a){if(void 0!==a.D){a.A.length=0;for(var b=Jb(),c=a.za*a.D,d=a.v.oe(),e={},f=0,g=d.length;f<g;f++){var h=d[f];t(h).toString()in e||!(h=a.na(h))||(h=h.Z(),Wb(h,b),Mb(b,c,b),h=a.v.ef(b),h=h.filter(function(a){a=t(a).toString();return a in e?!1:e[a]=!0}),a.A.push(uv(a,h)))}}}
function uv(a,b){for(var c=[0,0],d=b.length-1;0<=d;--d){var e=a.na(b[d]);e?yb(c,e.Z()):b.splice(d,1)}d=1/b.length;c[0]*=d;c[1]*=d;c=new Ik(new C(c));c.set("features",b);return c};function vv(a,b){var c=Object.keys(b).map(function(a){return a+"="+encodeURIComponent(b[a])}).join("&");a=a.replace(/[?&]$/,"");a=-1===a.indexOf("?")?a+"?":a+"&";return a+c};function wv(a){a=a||{};Ak.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions});this.W=void 0!==a.crossOrigin?a.crossOrigin:null;this.i=a.url;this.j=void 0!==a.imageLoadFunction?a.imageLoadFunction:Gk;this.v=a.params||{};this.c=null;this.s=[0,0];this.T=0;this.P=void 0!==a.ratio?a.ratio:1.5}x(wv,Ak);k=wv.prototype;k.Sm=function(){return this.v};
k.Mc=function(a,b,c,d){if(void 0===this.i)return null;b=Bk(this,b);var e=this.c;if(e&&this.T==this.g&&e.$()==b&&e.f==c&&Sb(e.H(),a))return e;e={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};Ca(e,this.v);a=a.slice();var f=(a[0]+a[2])/2,g=(a[1]+a[3])/2;if(1!=this.P){var h=this.P*jc(a)/2,l=this.P*kc(a)/2;a[0]=f-h;a[1]=g-l;a[2]=f+h;a[3]=g+l}var h=b/c,l=Math.ceil(jc(a)/h),m=Math.ceil(kc(a)/h);a[0]=f-h*l/2;a[2]=f+h*l/2;a[1]=g-h*m/2;a[3]=g+h*m/2;this.s[0]=l;this.s[1]=m;f=a;g=this.s;d=d.eb.split(":").pop();e.SIZE=
g[0]+","+g[1];e.BBOX=f.join(",");e.BBOXSR=d;e.IMAGESR=d;e.DPI=90*c;d=this.i.replace(/MapServer\/?$/,"MapServer/export").replace(/ImageServer\/?$/,"ImageServer/exportImage");e=vv(d,e);this.c=new cu(a,b,c,this.l,e,this.W,this.j);this.T=this.g;B(this.c,"change",this.o,this);return this.c};k.Rm=function(){return this.j};k.Tm=function(){return this.i};k.Um=function(a){this.c=null;this.j=a;this.u()};k.Vm=function(a){a!=this.i&&(this.i=a,this.c=null,this.u())};k.Wm=function(a){Ca(this.v,a);this.c=null;this.u()};function xv(a){Ak.call(this,{projection:a.projection,resolutions:a.resolutions});this.W=void 0!==a.crossOrigin?a.crossOrigin:null;this.s=void 0!==a.displayDpi?a.displayDpi:96;this.j=a.params||{};this.T=a.url;this.c=void 0!==a.imageLoadFunction?a.imageLoadFunction:Gk;this.ia=void 0!==a.hidpi?a.hidpi:!0;this.oa=void 0!==a.metersPerUnit?a.metersPerUnit:1;this.v=void 0!==a.ratio?a.ratio:1;this.za=void 0!==a.useOverlay?a.useOverlay:!1;this.i=null;this.P=0}x(xv,Ak);k=xv.prototype;k.Ym=function(){return this.j};
k.Mc=function(a,b,c){b=Bk(this,b);c=this.ia?c:1;var d=this.i;if(d&&this.P==this.g&&d.$()==b&&d.f==c&&Sb(d.H(),a))return d;1!=this.v&&(a=a.slice(),pc(a,this.v));var e=[jc(a)/b*c,kc(a)/b*c];if(void 0!==this.T){var d=this.T,f=lc(a),g=this.oa,h=jc(a),l=kc(a),m=e[0],n=e[1],p=.0254/this.s,e={OPERATION:this.za?"GETDYNAMICMAPOVERLAYIMAGE":"GETMAPIMAGE",VERSION:"2.0.0",LOCALE:"en",CLIENTAGENT:"ol.source.ImageMapGuide source",CLIP:"1",SETDISPLAYDPI:this.s,SETDISPLAYWIDTH:Math.round(e[0]),SETDISPLAYHEIGHT:Math.round(e[1]),
SETVIEWSCALE:n*h>m*l?h*g/(m*p):l*g/(n*p),SETVIEWCENTERX:f[0],SETVIEWCENTERY:f[1]};Ca(e,this.j);d=vv(d,e);d=new cu(a,b,c,this.l,d,this.W,this.c);B(d,"change",this.o,this)}else d=null;this.i=d;this.P=this.g;return d};k.Xm=function(){return this.c};k.$m=function(a){Ca(this.j,a);this.u()};k.Zm=function(a){this.i=null;this.c=a;this.u()};function yv(a){var b=a.imageExtent,c=void 0!==a.crossOrigin?a.crossOrigin:null,d=void 0!==a.imageLoadFunction?a.imageLoadFunction:Gk;Ak.call(this,{attributions:a.attributions,logo:a.logo,projection:zc(a.projection)});this.c=new cu(b,void 0,1,this.l,a.url,c,d);this.i=a.imageSize?a.imageSize:null;B(this.c,"change",this.o,this)}x(yv,Ak);yv.prototype.Mc=function(a){return oc(a,this.c.H())?this.c:null};
yv.prototype.o=function(a){if(2==this.c.V()){var b=this.c.H(),c=this.c.a(),d,e;this.i?(d=this.i[0],e=this.i[1]):(d=c.width,e=c.height);b=Math.ceil(jc(b)/(kc(b)/e));if(b!=d){var b=Ge(b,e),f=b.canvas;b.drawImage(c,0,0,d,e,0,0,f.width,f.height);this.c.g=f}}Ak.prototype.o.call(this,a)};function zv(a){a=a||{};Ak.call(this,{attributions:a.attributions,logo:a.logo,projection:a.projection,resolutions:a.resolutions});this.oa=void 0!==a.crossOrigin?a.crossOrigin:null;this.j=a.url;this.P=void 0!==a.imageLoadFunction?a.imageLoadFunction:Gk;this.i=a.params||{};this.v=!0;Av(this);this.ia=a.serverType;this.za=void 0!==a.hidpi?a.hidpi:!0;this.c=null;this.T=[0,0];this.W=0;this.s=void 0!==a.ratio?a.ratio:1.5}x(zv,Ak);var Bv=[101,101];k=zv.prototype;
k.fn=function(a,b,c,d){if(void 0!==this.j){var e=mc(a,b,0,Bv),f={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetFeatureInfo",FORMAT:"image/png",TRANSPARENT:!0,QUERY_LAYERS:this.i.LAYERS};Ca(f,this.i,d);d=Math.floor((e[3]-a[1])/b);f[this.v?"I":"X"]=Math.floor((a[0]-e[0])/b);f[this.v?"J":"Y"]=d;return Cv(this,e,Bv,1,zc(c),f)}};k.hn=function(){return this.i};
k.Mc=function(a,b,c,d){if(void 0===this.j)return null;b=Bk(this,b);1==c||this.za&&void 0!==this.ia||(c=1);a=a.slice();var e=(a[0]+a[2])/2,f=(a[1]+a[3])/2,g=b/c,h=jc(a)/g,g=kc(a)/g,l=this.c;if(l&&this.W==this.g&&l.$()==b&&l.f==c&&Sb(l.H(),a))return l;if(1!=this.s){var l=this.s*jc(a)/2,m=this.s*kc(a)/2;a[0]=e-l;a[1]=f-m;a[2]=e+l;a[3]=f+m}e={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0};Ca(e,this.i);this.T[0]=Math.ceil(h*this.s);this.T[1]=Math.ceil(g*this.s);d=Cv(this,
a,this.T,c,d,e);this.c=new cu(a,b,c,this.l,d,this.oa,this.P);this.W=this.g;B(this.c,"change",this.o,this);return this.c};k.gn=function(){return this.P};
function Cv(a,b,c,d,e,f){f[a.v?"CRS":"SRS"]=e.eb;"STYLES"in a.i||(f.STYLES="");if(1!=d)switch(a.ia){case "geoserver":d=90*d+.5|0;f.FORMAT_OPTIONS="FORMAT_OPTIONS"in f?f.FORMAT_OPTIONS+(";dpi:"+d):"dpi:"+d;break;case "mapserver":f.MAP_RESOLUTION=90*d;break;case "carmentaserver":case "qgis":f.DPI=90*d}f.WIDTH=c[0];f.HEIGHT=c[1];c=e.b;var g;a.v&&"ne"==c.substr(0,2)?g=[b[1],b[0],b[3],b[2]]:g=b;f.BBOX=g.join(",");return vv(a.j,f)}k.jn=function(){return this.j};k.kn=function(a){this.c=null;this.P=a;this.u()};
k.ln=function(a){a!=this.j&&(this.j=a,this.c=null,this.u())};k.mn=function(a){Ca(this.i,a);Av(this);this.c=null;this.u()};function Av(a){a.v=0<=xb(a.i.VERSION||"1.3.0")};function Dv(a){a=a||{};var b;void 0!==a.attributions?b=a.attributions:b=[Ev];pv.call(this,{attributions:b,cacheSize:a.cacheSize,crossOrigin:void 0!==a.crossOrigin?a.crossOrigin:"anonymous",opaque:void 0!==a.opaque?a.opaque:!0,maxZoom:void 0!==a.maxZoom?a.maxZoom:19,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileLoadFunction:a.tileLoadFunction,url:void 0!==a.url?a.url:"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png",wrapX:a.wrapX})}x(Dv,pv);var Ev=new $d({html:'&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.'});(function(){var a={},b={ja:a};(function(c){if("object"===typeof a&&"undefined"!==typeof b)b.ja=c();else{var d;"undefined"!==typeof window?d=window:"undefined"!==typeof global?d=global:"undefined"!==typeof self?d=self:d=this;d.Sp=c()}})(function(){return function d(a,b,g){function h(m,p){if(!b[m]){if(!a[m]){var q="function"==typeof require&&require;if(!p&&q)return q(m,!0);if(l)return l(m,!0);q=Error("Cannot find module '"+m+"'");throw q.code="MODULE_NOT_FOUND",q;}q=b[m]={ja:{}};a[m][0].call(q.ja,function(b){var d=
a[m][1][b];return h(d?d:b)},q,q.ja,d,a,b,g)}return b[m].ja}for(var l="function"==typeof require&&require,m=0;m<g.length;m++)h(g[m]);return h}({1:[function(a,b,f){a=a("./processor");f.$i=a},{"./processor":2}],2:[function(a,b){function f(a){var b=!0;try{new ImageData(10,10)}catch(d){b=!1}return function(d){var e=d.buffers,f=d.meta,g=d.width,h=d.height,l=e.length,m=e[0].byteLength;if(d.imageOps){m=Array(l);for(d=0;d<l;++d){var D=m,H=d,ba;ba=new Uint8ClampedArray(e[d]);var A=g,Fa=h;ba=b?new ImageData(ba,
A,Fa):{data:ba,width:A,height:Fa};D[H]=ba}g=a(m,f).data}else{g=new Uint8ClampedArray(m);h=Array(l);D=Array(l);for(d=0;d<l;++d)h[d]=new Uint8ClampedArray(e[d]),D[d]=[0,0,0,0];for(e=0;e<m;e+=4){for(d=0;d<l;++d)H=h[d],D[d][0]=H[e],D[d][1]=H[e+1],D[d][2]=H[e+2],D[d][3]=H[e+3];d=a(D,f);g[e]=d[0];g[e+1]=d[1];g[e+2]=d[2];g[e+3]=d[3]}}return g.buffer}}function g(a,b){var d=Object.keys(a.lib||{}).map(function(b){return"var "+b+" = "+a.lib[b].toString()+";"}).concat(["var __minion__ = ("+f.toString()+")(",
a.operation.toString(),");",'self.addEventListener("message", function(event) {'," var buffer = __minion__(event.data);"," self.postMessage({buffer: buffer, meta: event.data.meta}, [buffer]);","});"]),d=URL.createObjectURL(new Blob(d,{type:"text/javascript"})),d=new Worker(d);d.addEventListener("message",b);return d}function h(a,b){var d=f(a.operation);return{postMessage:function(a){setTimeout(function(){b({data:{buffer:d(a),meta:a.meta}})},0)}}}function l(a){this.Re=!!a.ll;var b;0===a.threads?
b=0:this.Re?b=1:b=a.threads||1;var d=[];if(b)for(var e=0;e<b;++e)d[e]=g(a,this.ig.bind(this,e));else d[0]=h(a,this.ig.bind(this,0));this.Ld=d;this.$c=[];this.oj=a.uo||Infinity;this.Jd=0;this.Ic={};this.Se=null}var m=a("./util").Fl;l.prototype.so=function(a,b,d){this.lj({Ac:a,Xg:b,qg:d});this.fg()};l.prototype.lj=function(a){for(this.$c.push(a);this.$c.length>this.oj;)this.$c.shift().qg(null,null)};l.prototype.fg=function(){if(0===this.Jd&&0<this.$c.length){var a=this.Se=this.$c.shift(),b=a.Ac[0].width,
d=a.Ac[0].height,e=a.Ac.map(function(a){return a.data.buffer}),f=this.Ld.length;this.Jd=f;if(1===f)this.Ld[0].postMessage({buffers:e,meta:a.Xg,imageOps:this.Re,width:b,height:d},e);else for(var g=4*Math.ceil(a.Ac[0].data.length/4/f),h=0;h<f;++h){for(var l=h*g,m=[],D=0,H=e.length;D<H;++D)m.push(e[h].slice(l,l+g));this.Ld[h].postMessage({buffers:m,meta:a.Xg,imageOps:this.Re,width:b,height:d},m)}}};l.prototype.ig=function(a,b){this.Pp||(this.Ic[a]=b.data,--this.Jd,0===this.Jd&&this.pj())};l.prototype.pj=
function(){var a=this.Se,b=this.Ld.length,d,e;if(1===b)d=new Uint8ClampedArray(this.Ic[0].buffer),e=this.Ic[0].meta;else{var f=a.Ac[0].data.length;d=new Uint8ClampedArray(f);e=Array(f);for(var f=4*Math.ceil(f/4/b),g=0;g<b;++g){var h=g*f;d.set(new Uint8ClampedArray(this.Ic[g].buffer),h);e[g]=this.Ic[g].meta}}this.Se=null;this.Ic={};a.qg(null,m(d,a.Ac[0].width,a.Ac[0].height),e);this.fg()};b.ja=l},{"./util":3}],3:[function(a,b,f){var g=!0;try{new ImageData(10,10)}catch(l){g=!1}var h=document.createElement("canvas").getContext("2d");
f.Fl=function(a,b,d){if(g)return new ImageData(a,b,d);b=h.createImageData(b,d);b.data.set(a);return b}},{}]},{},[1])(1)});jl=b.ja})();function Fv(a){this.P=null;this.za=void 0!==a.operationType?a.operationType:"pixel";this.Sa=void 0!==a.threads?a.threads:1;this.c=Gv(a.sources);for(var b=0,c=this.c.length;b<c;++b)B(this.c[b],"change",this.u,this);this.i=Ge();this.ia=new Th(function(){return 1},this.u.bind(this));for(var b=Hv(this.c),c={},d=0,e=b.length;d<e;++d)c[t(b[d].layer)]=b[d];this.j=this.s=null;this.W={animate:!1,attributions:{},coordinateToPixelTransform:ch(),extent:null,focus:null,index:0,layerStates:c,layerStatesArray:b,
logos:{},pixelRatio:1,pixelToCoordinateTransform:ch(),postRenderFunctions:[],size:[0,0],skippedFeatureUids:{},tileQueue:this.ia,time:Date.now(),usedTiles:{},viewState:{rotation:0},viewHints:[],wantedTiles:{}};Ak.call(this,{});void 0!==a.operation&&this.v(a.operation,a.lib)}x(Fv,Ak);Fv.prototype.v=function(a,b){this.P=new jl.$i({operation:a,ll:"image"===this.za,uo:1,lib:b,threads:this.Sa});this.u()};function Iv(a,b,c){var d=a.s;return!d||a.g!==d.Xo||c!==d.resolution||!$b(b,d.extent)}
Fv.prototype.A=function(a,b,c,d){c=!0;for(var e,f=0,g=this.c.length;f<g;++f)if(e=this.c[f].a.ha(),"ready"!==e.V()){c=!1;break}if(!c)return null;a=a.slice();if(!Iv(this,a,b))return this.j;c=this.i.canvas;e=Math.round(jc(a)/b);f=Math.round(kc(a)/b);if(e!==c.width||f!==c.height)c.width=e,c.height=f;e=Ca({},this.W);e.viewState=Ca({},e.viewState);var f=lc(a),g=Math.round(jc(a)/b),h=Math.round(kc(a)/b);e.extent=a;e.focus=lc(a);e.size[0]=g;e.size[1]=h;g=e.viewState;g.center=f;g.projection=d;g.resolution=
b;this.j=d=new nk(a,b,1,this.l,c,this.T.bind(this,e));this.s={extent:a,resolution:b,Xo:this.g};return d};
Fv.prototype.T=function(a,b){for(var c=this.c.length,d=Array(c),e=0;e<c;++e){var f;f=this.c[e];var g=a,h=a.layerStatesArray[e];if(f.l(g,h)){var l=g.size[0],m=g.size[1];if(Jv){var n=Jv.canvas;n.width!==l||n.height!==m?Jv=Ge(l,m):Jv.clearRect(0,0,l,m)}else Jv=Ge(l,m);f.i(g,h,Jv);f=Jv.getImageData(0,0,l,m)}else f=null;if(f)d[e]=f;else return}c={};this.b(new Kv(Lv,a,c));this.P.so(d,c,this.oa.bind(this,a,b));Uh(a.tileQueue,16,16)};
Fv.prototype.oa=function(a,b,c,d,e){c?b(c):d&&(this.b(new Kv(Mv,a,e)),Iv(this,a.extent,a.viewState.resolution/a.pixelRatio)||this.i.putImageData(d,0,0),b(null))};var Jv=null;function Hv(a){return a.map(function(a){return oh(a.a)})}function Gv(a){for(var b=a.length,c=Array(b),d=0;d<b;++d){var e=d,f=a[d],g=null;f instanceof rf?(f=new F({source:f}),g=new Bl(f)):f instanceof Ak&&(f=new ej({source:f}),g=new Al(f));c[e]=g}return c}
function Kv(a,b,c){Ua.call(this,a);this.extent=b.extent;this.resolution=b.viewState.resolution/b.pixelRatio;this.data=c}x(Kv,Ua);var Lv="beforeoperations",Mv="afteroperations";var Nv={terrain:{ub:"jpg",opaque:!0},"terrain-background":{ub:"jpg",opaque:!0},"terrain-labels":{ub:"png",opaque:!1},"terrain-lines":{ub:"png",opaque:!1},"toner-background":{ub:"png",opaque:!0},toner:{ub:"png",opaque:!0},"toner-hybrid":{ub:"png",opaque:!1},"toner-labels":{ub:"png",opaque:!1},"toner-lines":{ub:"png",opaque:!1},"toner-lite":{ub:"png",opaque:!0},watercolor:{ub:"jpg",opaque:!0}},Ov={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:1,maxZoom:16}};
function Pv(a){var b=a.layer.indexOf("-"),b=-1==b?a.layer:a.layer.slice(0,b),b=Ov[b],c=Nv[a.layer];pv.call(this,{attributions:Qv,cacheSize:a.cacheSize,crossOrigin:"anonymous",maxZoom:void 0!=a.maxZoom?a.maxZoom:b.maxZoom,minZoom:void 0!=a.minZoom?a.minZoom:b.minZoom,opaque:c.opaque,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileLoadFunction:a.tileLoadFunction,url:void 0!==a.url?a.url:"https://stamen-tiles-{a-d}.a.ssl.fastly.net/"+a.layer+"/{z}/{x}/{y}."+c.ub})}x(Pv,pv);
var Qv=[new $d({html:'Map tiles by <a href="http://stamen.com/">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0/">CC BY 3.0</a>.'}),Ev];function Rv(a){a=a||{};X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.c=a.params||{};this.j=Jb()}x(Rv,X);Rv.prototype.v=function(){return this.c};Rv.prototype.cc=function(a){return a};
Rv.prototype.vc=function(a,b,c){var d=this.tileGrid;d||(d=this.fb(c));if(!(d.b.length<=a[0])){var e=d.Ea(a,this.j),f=$e(d.Ja(a[0]),this.o);1!=b&&(f=Ze(f,b,this.o));d={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};Ca(d,this.c);var g=this.urls;g?(c=c.eb.split(":").pop(),d.SIZE=f[0]+","+f[1],d.BBOX=e.join(","),d.BBOXSR=c,d.IMAGESR=c,d.DPI=Math.round(d.DPI?d.DPI*b:90*b),a=(1==g.length?g[0]:g[xa((a[1]<<a[0])+a[2],g.length)]).replace(/MapServer\/?$/,"MapServer/export").replace(/ImageServer\/?$/,"ImageServer/exportImage"),
a=vv(a,d)):a=void 0;return a}};Rv.prototype.A=function(a){Ca(this.c,a);this.u()};function Sv(a,b,c){We.call(this,a,2);this.l=b;this.c=c;this.g={}}x(Sv,We);Sv.prototype.$a=function(a){a=void 0!==a?t(a):-1;if(a in this.g)return this.g[a];var b=this.l,c=Ge(b[0],b[1]);c.strokeStyle="black";c.strokeRect(.5,.5,b[0]+.5,b[1]+.5);c.fillStyle="black";c.textAlign="center";c.textBaseline="middle";c.font="24px sans-serif";c.fillText(this.c,b[0]/2,b[1]/2);return this.g[a]=c.canvas};
function Tv(a){rf.call(this,{opaque:!1,projection:a.projection,tileGrid:a.tileGrid,wrapX:void 0!==a.wrapX?a.wrapX:!0})}x(Tv,rf);Tv.prototype.bc=function(a,b,c){var d=this.Fb(a,b,c);if(Re(this.a,d))return this.a.get(d);var e=$e(this.tileGrid.Ja(a));a=[a,b,c];b=(b=vf(this,a))?vf(this,b).toString():"";e=new Sv(a,e,b);this.a.set(d,e);return e};function Uv(a){this.c=null;X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,projection:zc("EPSG:3857"),reprojectionErrorThreshold:a.reprojectionErrorThreshold,state:"loading",tileLoadFunction:a.tileLoadFunction,wrapX:void 0!==a.wrapX?a.wrapX:!0});if(a.jsonp)iv(a.url,this.yh.bind(this),this.me.bind(this));else{var b=new XMLHttpRequest;b.addEventListener("load",this.pn.bind(this));b.addEventListener("error",this.nn.bind(this));b.open("GET",a.url);b.send()}}
x(Uv,X);k=Uv.prototype;k.pn=function(a){a=a.target;if(200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.me();return}this.yh(b)}else this.me()};k.nn=function(){this.me()};k.Ak=function(){return this.c};
k.yh=function(a){var b=zc("EPSG:4326"),c=this.f,d;void 0!==a.bounds&&(d=qc(a.bounds,Cc(b,c)));var e=a.minzoom||0,f=a.maxzoom||22;this.tileGrid=c=qf({extent:of(c),maxZoom:f,minZoom:e});this.tileUrlFunction=Fl(a.tiles,c);if(void 0!==a.attribution&&!this.l){b=void 0!==d?d:b.H();d={};for(var g;e<=f;++e)g=e.toString(),d[g]=[gf(c,b,e)];this.qa([new $d({html:a.attribution,tileRanges:d})])}this.c=a;cf(this,"ready")};k.me=function(){cf(this,"error")};function Vv(a){rf.call(this,{projection:zc("EPSG:3857"),state:"loading"});this.s=void 0!==a.preemptive?a.preemptive:!0;this.j=Hl;this.i=void 0;this.c=a.jsonp||!1;if(a.url)if(this.c)iv(a.url,this.Bf.bind(this),this.ne.bind(this));else{var b=new XMLHttpRequest;b.addEventListener("load",this.tn.bind(this));b.addEventListener("error",this.sn.bind(this));b.open("GET",a.url);b.send()}else a.tileJSON&&this.Bf(a.tileJSON)}x(Vv,rf);k=Vv.prototype;
k.tn=function(a){a=a.target;if(200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.ne();return}this.Bf(b)}else this.ne()};k.sn=function(){this.ne()};k.xk=function(){return this.i};k.Ij=function(a,b,c,d,e){this.tileGrid?(b=this.tileGrid.Zd(a,b),Wv(this.bc(b[0],b[1],b[2],1,this.f),a,c,d,e)):!0===e?Mf(function(){c.call(d,null)}):c.call(d,null)};k.ne=function(){cf(this,"error")};
k.Bf=function(a){var b=zc("EPSG:4326"),c=this.f,d;void 0!==a.bounds&&(d=qc(a.bounds,Cc(b,c)));var e=a.minzoom||0,f=a.maxzoom||22;this.tileGrid=c=qf({extent:of(c),maxZoom:f,minZoom:e});this.i=a.template;var g=a.grids;if(g){this.j=Fl(g,c);if(void 0!==a.attribution){b=void 0!==d?d:b.H();for(d={};e<=f;++e)g=e.toString(),d[g]=[gf(c,b,e)];this.qa([new $d({html:a.attribution,tileRanges:d})])}cf(this,"ready")}else cf(this,"error")};
k.bc=function(a,b,c,d,e){var f=this.Fb(a,b,c);if(Re(this.a,f))return this.a.get(f);a=[a,b,c];b=vf(this,a,e);d=this.j(b,d,e);d=new Xv(a,void 0!==d?0:4,void 0!==d?d:"",this.tileGrid.Ea(a),this.s,this.c);this.a.set(f,d);return d};k.Yf=function(a,b,c){a=this.Fb(a,b,c);Re(this.a,a)&&this.a.get(a)};function Xv(a,b,c,d,e,f){We.call(this,a,b);this.s=c;this.g=d;this.U=e;this.c=this.j=this.l=null;this.v=f}x(Xv,We);k=Xv.prototype;k.$a=function(){return null};
k.getData=function(a){if(!this.l||!this.j)return null;var b=this.l[Math.floor((1-(a[1]-this.g[1])/(this.g[3]-this.g[1]))*this.l.length)];if("string"!==typeof b)return null;b=b.charCodeAt(Math.floor((a[0]-this.g[0])/(this.g[2]-this.g[0])*b.length));93<=b&&b--;35<=b&&b--;b-=32;a=null;b in this.j&&(b=this.j[b],this.c&&b in this.c?a=this.c[b]:a=b);return a};
function Wv(a,b,c,d,e){0==a.state&&!0===e?(Pa(a,"change",function(){c.call(d,this.getData(b))},a),Yv(a)):!0===e?Mf(function(){c.call(d,this.getData(b))},a):c.call(d,a.getData(b))}k.jb=function(){return this.s};k.ae=function(){this.state=3;Xe(this)};k.zh=function(a){this.l=a.grid;this.j=a.keys;this.c=a.data;this.state=4;Xe(this)};
function Yv(a){if(0==a.state)if(a.state=1,a.v)iv(a.s,a.zh.bind(a),a.ae.bind(a));else{var b=new XMLHttpRequest;b.addEventListener("load",a.rn.bind(a));b.addEventListener("error",a.qn.bind(a));b.open("GET",a.s);b.send()}}k.rn=function(a){a=a.target;if(200<=a.status&&300>a.status){var b;try{b=JSON.parse(a.responseText)}catch(c){this.ae();return}this.zh(b)}else this.ae()};k.qn=function(){this.ae()};k.load=function(){this.U&&Yv(this)};function Zv(a){a=a||{};var b=a.params||{};X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:!("TRANSPARENT"in b?b.TRANSPARENT:1),projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0});this.v=void 0!==a.gutter?a.gutter:0;this.c=b;this.j=!0;this.A=a.serverType;this.T=void 0!==a.hidpi?a.hidpi:!0;this.P="";
$v(this);this.W=Jb();aw(this);uf(this,bw(this))}x(Zv,X);k=Zv.prototype;
k.vn=function(a,b,c,d){c=zc(c);var e=this.tileGrid;e||(e=this.fb(c));b=e.Zd(a,b);if(!(e.b.length<=b[0])){var f=e.$(b[0]),g=e.Ea(b,this.W),e=$e(e.Ja(b[0]),this.o),h=this.v;0!==h&&(e=Ye(e,h,this.o),g=Mb(g,f*h,g));h={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetFeatureInfo",FORMAT:"image/png",TRANSPARENT:!0,QUERY_LAYERS:this.c.LAYERS};Ca(h,this.c,d);d=Math.floor((g[3]-a[1])/f);h[this.j?"I":"X"]=Math.floor((a[0]-g[0])/f);h[this.j?"J":"Y"]=d;return cw(this,b,e,g,1,c,h)}};k.gf=function(){return this.v};
k.Fb=function(a,b,c){return this.P+X.prototype.Fb.call(this,a,b,c)};k.wn=function(){return this.c};
function cw(a,b,c,d,e,f,g){var h=a.urls;if(h){g.WIDTH=c[0];g.HEIGHT=c[1];g[a.j?"CRS":"SRS"]=f.eb;"STYLES"in a.c||(g.STYLES="");if(1!=e)switch(a.A){case "geoserver":c=90*e+.5|0;g.FORMAT_OPTIONS="FORMAT_OPTIONS"in g?g.FORMAT_OPTIONS+(";dpi:"+c):"dpi:"+c;break;case "mapserver":g.MAP_RESOLUTION=90*e;break;case "carmentaserver":case "qgis":g.DPI=90*e}f=f.b;a.j&&"ne"==f.substr(0,2)&&(a=d[0],d[0]=d[1],d[1]=a,a=d[2],d[2]=d[3],d[3]=a);g.BBOX=d.join(",");return vv(1==h.length?h[0]:h[xa((b[1]<<b[0])+b[2],h.length)],
g)}}k.cc=function(a){return this.T&&void 0!==this.A?a:1};function $v(a){var b=0,c=[];if(a.urls){var d,e;d=0;for(e=a.urls.length;d<e;++d)c[b++]=a.urls[d]}a.P=c.join("#")}function bw(a){var b=0,c=[],d;for(d in a.c)c[b++]=d+"-"+a.c[d];return c.join("/")}
k.vc=function(a,b,c){var d=this.tileGrid;d||(d=this.fb(c));if(!(d.b.length<=a[0])){1==b||this.T&&void 0!==this.A||(b=1);var e=d.$(a[0]),f=d.Ea(a,this.W),d=$e(d.Ja(a[0]),this.o),g=this.v;0!==g&&(d=Ye(d,g,this.o),f=Mb(f,e*g,f));1!=b&&(d=Ze(d,b,this.o));e={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0};Ca(e,this.c);return cw(this,a,d,f,b,c,e)}};k.xn=function(a){Ca(this.c,a);$v(this);aw(this);uf(this,bw(this))};function aw(a){a.j=0<=xb(a.c.VERSION||"1.3.0")};function dw(a){this.l=a.matrixIds;df.call(this,{extent:a.extent,origin:a.origin,origins:a.origins,resolutions:a.resolutions,tileSize:a.tileSize,tileSizes:a.tileSizes,sizes:a.sizes})}x(dw,df);dw.prototype.j=function(){return this.l};
function ew(a,b){var c=[],d=[],e=[],f=[],g=[],h;h=zc(a.SupportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"));var l=h.ac(),m="ne"==h.b.substr(0,2);a.TileMatrix.sort(function(a,b){return b.ScaleDenominator-a.ScaleDenominator});a.TileMatrix.forEach(function(a){d.push(a.Identifier);var b=2.8E-4*a.ScaleDenominator/l,h=a.TileWidth,r=a.TileHeight;m?e.push([a.TopLeftCorner[1],a.TopLeftCorner[0]]):e.push(a.TopLeftCorner);c.push(b);f.push(h==r?h:[h,r]);g.push([a.MatrixWidth,-a.MatrixHeight])});
return new dw({extent:b,origins:e,resolutions:c,matrixIds:d,tileSizes:f,sizes:g})};function Z(a){function b(a){a="KVP"==d?vv(a,f):a.replace(/\{(\w+?)\}/g,function(a,b){return b.toLowerCase()in f?f[b.toLowerCase()]:a});return function(b){if(b){var c={TileMatrix:e.l[b[0]],TileCol:b[1],TileRow:-b[2]-1};Ca(c,g);b=a;return b="KVP"==d?vv(b,c):b.replace(/\{(\w+?)\}/g,function(a,b){return c[b]})}}}this.T=void 0!==a.version?a.version:"1.0.0";this.v=void 0!==a.format?a.format:"image/jpeg";this.c=void 0!==a.dimensions?a.dimensions:{};this.A=a.layer;this.j=a.matrixSet;this.P=a.style;var c=
a.urls;void 0===c&&void 0!==a.url&&(c=Il(a.url));var d=this.W=void 0!==a.requestEncoding?a.requestEncoding:"KVP",e=a.tileGrid,f={layer:this.A,style:this.P,tilematrixset:this.j};"KVP"==d&&Ca(f,{Service:"WMTS",Request:"GetTile",Version:this.T,Format:this.v});var g=this.c,h=c&&0<c.length?Gl(c.map(b)):Hl;X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileClass:a.tileClass,
tileGrid:e,tileLoadFunction:a.tileLoadFunction,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:h,urls:c,wrapX:void 0!==a.wrapX?a.wrapX:!1});uf(this,fw(this))}x(Z,X);k=Z.prototype;k.Vj=function(){return this.c};k.yn=function(){return this.v};k.zn=function(){return this.A};k.hk=function(){return this.j};k.vk=function(){return this.W};k.An=function(){return this.P};k.Ck=function(){return this.T};function fw(a){var b=0,c=[],d;for(d in a.c)c[b++]=d+"-"+a.c[d];return c.join("/")}
k.vp=function(a){Ca(this.c,a);uf(this,fw(this))};function gw(a){a=a||{};var b=a.size,c=b[0],d=b[1],e=[],f=256;switch(void 0!==a.tierSizeCalculation?a.tierSizeCalculation:"default"){case "default":for(;c>f||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),f+=f;break;case "truncated":for(;c>f||d>f;)e.push([Math.ceil(c/f),Math.ceil(d/f)]),c>>=1,d>>=1}e.push([1,1]);e.reverse();for(var f=[1],g=[0],d=1,c=e.length;d<c;d++)f.push(1<<d),g.push(e[d-1][0]*e[d-1][1]+g[d-1]);f.reverse();var b=[0,-b[1],b[0],0],b=new df({extent:b,origin:fc(b),resolutions:f}),h=a.url;
X.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileClass:hw,tileGrid:b,tileUrlFunction:function(a){if(a){var b=a[0],c=a[1];a=-a[2]-1;return h+"TileGroup"+((c+a*e[b][0]+g[b])/256|0)+"/"+b+"-"+c+"-"+a+".jpg"}}})}x(gw,X);function hw(a,b,c,d,e){du.call(this,a,b,c,d,e);this.l={}}x(hw,du);
hw.prototype.$a=function(a){var b=void 0!==a?t(a).toString():"";if(b in this.l)return this.l[b];a=du.prototype.$a.call(this,a);if(2==this.state){if(256==a.width&&256==a.height)return this.l[b]=a;var c=Ge(256,256);c.drawImage(a,0,0);return this.l[b]=c.canvas}return a};function iw(a){a=a||{};this.a=void 0!==a.initialSize?a.initialSize:256;this.g=void 0!==a.maxSize?a.maxSize:void 0!==la?la:2048;this.b=void 0!==a.space?a.space:1;this.c=[new jw(this.a,this.b)];this.f=this.a;this.i=[new jw(this.f,this.b)]}iw.prototype.add=function(a,b,c,d,e,f){if(b+this.b>this.g||c+this.b>this.g)return null;d=kw(this,!1,a,b,c,d,f);if(!d)return null;a=kw(this,!0,a,b,c,void 0!==e?e:oa,f);return{offsetX:d.offsetX,offsetY:d.offsetY,image:d.image,Sg:a.image}};
function kw(a,b,c,d,e,f,g){var h=b?a.i:a.c,l,m,n;m=0;for(n=h.length;m<n;++m){l=h[m];if(l=l.add(c,d,e,f,g))return l;l||m!==n-1||(b?(l=Math.min(2*a.f,a.g),a.f=l):(l=Math.min(2*a.a,a.g),a.a=l),l=new jw(l,a.b),h.push(l),++n)}}function jw(a,b){this.b=b;this.a=[{x:0,y:0,width:a,height:a}];this.f={};this.g=Ge(a,a);this.c=this.g.canvas}jw.prototype.get=function(a){return this.f[a]||null};
jw.prototype.add=function(a,b,c,d,e){var f,g,h;g=0;for(h=this.a.length;g<h;++g)if(f=this.a[g],f.width>=b+this.b&&f.height>=c+this.b)return h={offsetX:f.x+this.b,offsetY:f.y+this.b,image:this.c},this.f[a]=h,d.call(e,this.g,f.x+this.b,f.y+this.b),a=g,b+=this.b,d=c+this.b,f.width-b>f.height-d?(c={x:f.x+b,y:f.y,width:f.width-b,height:f.height},b={x:f.x,y:f.y+d,width:b,height:f.height-d},lw(this,a,c,b)):(c={x:f.x+b,y:f.y,width:f.width-b,height:d},b={x:f.x,y:f.y+d,width:f.width,height:f.height-d},lw(this,
a,c,b)),h;return null};function lw(a,b,c,d){b=[b,1];0<c.width&&0<c.height&&b.push(c);0<d.width&&0<d.height&&b.push(d);a.a.splice.apply(a.a,b)};function mw(a){this.A=this.s=this.f=null;this.o=void 0!==a.fill?a.fill:null;this.ya=[0,0];this.b=a.points;this.g=void 0!==a.radius?a.radius:a.radius1;this.c=void 0!==a.radius2?a.radius2:this.g;this.l=void 0!==a.angle?a.angle:0;this.a=void 0!==a.stroke?a.stroke:null;this.S=this.Aa=this.C=null;var b=a.atlasManager,c="",d="",e=0,f=null,g,h=0;this.a&&(g=le(this.a.b),h=this.a.a,void 0===h&&(h=1),f=this.a.g,ag||(f=null),d=this.a.c,void 0===d&&(d="round"),c=this.a.f,void 0===c&&(c="round"),e=this.a.i,void 0===
e&&(e=10));var l=2*(this.g+h)+1,c={strokeStyle:g,Bd:h,size:l,lineCap:c,lineDash:f,lineJoin:d,miterLimit:e};if(void 0===b){var m=Ge(l,l);this.s=m.canvas;b=l=this.s.width;this.Ih(c,m,0,0);this.o?this.A=this.s:(m=Ge(c.size,c.size),this.A=m.canvas,this.Hh(c,m,0,0))}else l=Math.round(l),(d=!this.o)&&(m=this.Hh.bind(this,c)),e=this.a?qj(this.a):"-",f=this.o?kj(this.o):"-",this.f&&e==this.f[1]&&f==this.f[2]&&this.g==this.f[3]&&this.c==this.f[4]&&this.l==this.f[5]&&this.b==this.f[6]||(this.f=["r"+e+f+(void 0!==
this.g?this.g.toString():"-")+(void 0!==this.c?this.c.toString():"-")+(void 0!==this.l?this.l.toString():"-")+(void 0!==this.b?this.b.toString():"-"),e,f,this.g,this.c,this.l,this.b]),m=b.add(this.f[0],l,l,this.Ih.bind(this,c),m),this.s=m.image,this.ya=[m.offsetX,m.offsetY],b=m.image.width,this.A=d?m.Sg:this.s;this.C=[l/2,l/2];this.Aa=[l,l];this.S=[b,b];Eh.call(this,{opacity:1,rotateWithView:void 0!==a.rotateWithView?a.rotateWithView:!1,rotation:void 0!==a.rotation?a.rotation:0,scale:1,snapToPixel:void 0!==
a.snapToPixel?a.snapToPixel:!0})}x(mw,Eh);k=mw.prototype;k.Zb=function(){return this.C};k.Fn=function(){return this.l};k.Gn=function(){return this.o};k.pe=function(){return this.A};k.jc=function(){return this.s};k.ld=function(){return this.S};k.td=function(){return 2};k.Ia=function(){return this.ya};k.Hn=function(){return this.b};k.In=function(){return this.g};k.uk=function(){return this.c};k.Gb=function(){return this.Aa};k.Jn=function(){return this.a};k.pf=oa;k.load=oa;k.Xf=oa;
k.Ih=function(a,b,c,d){var e;b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();this.c!==this.g&&(this.b*=2);for(c=0;c<=this.b;c++)d=2*c*Math.PI/this.b-Math.PI/2+this.l,e=0===c%2?this.g:this.c,b.lineTo(a.size/2+e*Math.cos(d),a.size/2+e*Math.sin(d));this.o&&(b.fillStyle=ne(this.o.b),b.fill());this.a&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.Bd,a.lineDash&&b.setLineDash(a.lineDash),b.lineCap=a.lineCap,b.lineJoin=a.lineJoin,b.miterLimit=a.miterLimit,b.stroke());b.closePath()};
k.Hh=function(a,b,c,d){b.setTransform(1,0,0,1,0,0);b.translate(c,d);b.beginPath();this.c!==this.g&&(this.b*=2);var e;for(c=0;c<=this.b;c++)e=2*c*Math.PI/this.b-Math.PI/2+this.l,d=0===c%2?this.g:this.c,b.lineTo(a.size/2+d*Math.cos(e),a.size/2+d*Math.sin(e));b.fillStyle=fj;b.fill();this.a&&(b.strokeStyle=a.strokeStyle,b.lineWidth=a.Bd,a.lineDash&&b.setLineDash(a.lineDash),b.stroke());b.closePath()};u("ol.animation.bounce",function(a){var b=a.resolution,c=a.start?a.start:Date.now(),d=void 0!==a.duration?a.duration:1E3,e=a.easing?a.easing:Sd;return function(a,g){if(g.time<c)return g.animate=!0,g.viewHints[0]+=1,!0;if(g.time<c+d){var h=e((g.time-c)/d),l=b-g.viewState.resolution;g.animate=!0;g.viewState.resolution+=h*l;g.viewHints[0]+=1;return!0}return!1}});u("ol.animation.pan",Td);u("ol.animation.rotate",Ud);u("ol.animation.zoom",Vd);u("ol.Attribution",$d);$d.prototype.getHTML=$d.prototype.g;
ae.prototype.element=ae.prototype.element;u("ol.Collection",be);be.prototype.clear=be.prototype.clear;be.prototype.extend=be.prototype.qf;be.prototype.forEach=be.prototype.forEach;be.prototype.getArray=be.prototype.Gl;be.prototype.item=be.prototype.item;be.prototype.getLength=be.prototype.dc;be.prototype.insertAt=be.prototype.ee;be.prototype.pop=be.prototype.pop;be.prototype.push=be.prototype.push;be.prototype.remove=be.prototype.remove;be.prototype.removeAt=be.prototype.Rf;be.prototype.setAt=be.prototype.Zo;
u("ol.colorlike.asColorLike",ne);u("ol.coordinate.add",yb);u("ol.coordinate.createStringXY",function(a){return function(b){return Gb(b,a)}});u("ol.coordinate.format",Bb);u("ol.coordinate.rotate",Db);u("ol.coordinate.toStringHDMS",function(a,b){return a?Ab(a[1],"NS",b)+" "+Ab(a[0],"EW",b):""});u("ol.coordinate.toStringXY",Gb);u("ol.DeviceOrientation",qn);qn.prototype.getAlpha=qn.prototype.Oj;qn.prototype.getBeta=qn.prototype.Rj;qn.prototype.getGamma=qn.prototype.Yj;qn.prototype.getHeading=qn.prototype.Hl;
qn.prototype.getTracking=qn.prototype.$g;qn.prototype.setTracking=qn.prototype.rf;u("ol.easing.easeIn",Md);u("ol.easing.easeOut",Nd);u("ol.easing.inAndOut",Qd);u("ol.easing.linear",Rd);u("ol.easing.upAndDown",Sd);u("ol.extent.boundingExtent",Ib);u("ol.extent.buffer",Mb);u("ol.extent.containsCoordinate",Qb);u("ol.extent.containsExtent",Sb);u("ol.extent.containsXY",Rb);u("ol.extent.createEmpty",Jb);u("ol.extent.equals",$b);u("ol.extent.extend",ac);u("ol.extent.getBottomLeft",cc);
u("ol.extent.getBottomRight",dc);u("ol.extent.getCenter",lc);u("ol.extent.getHeight",kc);u("ol.extent.getIntersection",nc);u("ol.extent.getSize",function(a){return[a[2]-a[0],a[3]-a[1]]});u("ol.extent.getTopLeft",fc);u("ol.extent.getTopRight",ec);u("ol.extent.getWidth",jc);u("ol.extent.intersects",oc);u("ol.extent.isEmpty",ic);u("ol.extent.applyTransform",qc);u("ol.Feature",Ik);Ik.prototype.clone=Ik.prototype.clone;Ik.prototype.getGeometry=Ik.prototype.X;Ik.prototype.getId=Ik.prototype.Xa;
Ik.prototype.getGeometryName=Ik.prototype.$j;Ik.prototype.getStyle=Ik.prototype.Jl;Ik.prototype.getStyleFunction=Ik.prototype.ec;Ik.prototype.setGeometry=Ik.prototype.Ua;Ik.prototype.setStyle=Ik.prototype.sf;Ik.prototype.setId=Ik.prototype.mc;Ik.prototype.setGeometryName=Ik.prototype.Ec;u("ol.featureloader.tile",dl);u("ol.featureloader.xhr",el);u("ol.Geolocation",St);St.prototype.getAccuracy=St.prototype.Mj;St.prototype.getAccuracyGeometry=St.prototype.Nj;St.prototype.getAltitude=St.prototype.Pj;
St.prototype.getAltitudeAccuracy=St.prototype.Qj;St.prototype.getHeading=St.prototype.Ll;St.prototype.getPosition=St.prototype.Ml;St.prototype.getProjection=St.prototype.ah;St.prototype.getSpeed=St.prototype.wk;St.prototype.getTracking=St.prototype.bh;St.prototype.getTrackingOptions=St.prototype.Mg;St.prototype.setProjection=St.prototype.dh;St.prototype.setTracking=St.prototype.ge;St.prototype.setTrackingOptions=St.prototype.si;u("ol.Graticule",Yt);Yt.prototype.getMap=Yt.prototype.Pl;
Yt.prototype.getMeridians=Yt.prototype.ik;Yt.prototype.getParallels=Yt.prototype.qk;Yt.prototype.setMap=Yt.prototype.setMap;u("ol.has.DEVICE_PIXEL_RATIO",$f);u("ol.has.CANVAS",bg);u("ol.has.DEVICE_ORIENTATION",cg);u("ol.has.GEOLOCATION",dg);u("ol.has.TOUCH",eg);u("ol.has.WEBGL",Vf);cu.prototype.getImage=cu.prototype.a;cu.prototype.load=cu.prototype.load;du.prototype.getImage=du.prototype.$a;du.prototype.load=du.prototype.load;u("ol.Kinetic",Vh);u("ol.loadingstrategy.all",fl);
u("ol.loadingstrategy.bbox",function(a){return[a]});u("ol.loadingstrategy.tile",function(a){return function(b,c){var d=a.Lb(c),e=gf(a,b,d),f=[],d=[d,0,0];for(d[1]=e.ca;d[1]<=e.ea;++d[1])for(d[2]=e.fa;d[2]<=e.ga;++d[2])f.push(a.Ea(d));return f}});u("ol.Map",Q);Q.prototype.addControl=Q.prototype.uj;Q.prototype.addInteraction=Q.prototype.vj;Q.prototype.addLayer=Q.prototype.kg;Q.prototype.addOverlay=Q.prototype.lg;Q.prototype.beforeRender=Q.prototype.Wa;Q.prototype.forEachFeatureAtPixel=Q.prototype.kd;
Q.prototype.forEachLayerAtPixel=Q.prototype.Tl;Q.prototype.hasFeatureAtPixel=Q.prototype.kl;Q.prototype.getEventCoordinate=Q.prototype.Wj;Q.prototype.getEventPixel=Q.prototype.Td;Q.prototype.getTarget=Q.prototype.tf;Q.prototype.getTargetElement=Q.prototype.yc;Q.prototype.getCoordinateFromPixel=Q.prototype.Ma;Q.prototype.getControls=Q.prototype.Uj;Q.prototype.getOverlays=Q.prototype.nk;Q.prototype.getOverlayById=Q.prototype.mk;Q.prototype.getInteractions=Q.prototype.ak;Q.prototype.getLayerGroup=Q.prototype.xc;
Q.prototype.getLayers=Q.prototype.eh;Q.prototype.getPixelFromCoordinate=Q.prototype.Ga;Q.prototype.getSize=Q.prototype.Za;Q.prototype.getView=Q.prototype.aa;Q.prototype.getViewport=Q.prototype.Dk;Q.prototype.renderSync=Q.prototype.Vo;Q.prototype.render=Q.prototype.render;Q.prototype.removeControl=Q.prototype.Oo;Q.prototype.removeInteraction=Q.prototype.Po;Q.prototype.removeLayer=Q.prototype.Ro;Q.prototype.removeOverlay=Q.prototype.So;Q.prototype.setLayerGroup=Q.prototype.ji;Q.prototype.setSize=Q.prototype.Wf;
Q.prototype.setTarget=Q.prototype.fh;Q.prototype.setView=Q.prototype.kp;Q.prototype.updateSize=Q.prototype.Xc;Og.prototype.originalEvent=Og.prototype.originalEvent;Og.prototype.pixel=Og.prototype.pixel;Og.prototype.coordinate=Og.prototype.coordinate;Og.prototype.dragging=Og.prototype.dragging;Oe.prototype.map=Oe.prototype.map;Oe.prototype.frameState=Oe.prototype.frameState;ab.prototype.key=ab.prototype.key;ab.prototype.oldValue=ab.prototype.oldValue;u("ol.Object",bb);bb.prototype.get=bb.prototype.get;
bb.prototype.getKeys=bb.prototype.N;bb.prototype.getProperties=bb.prototype.O;bb.prototype.set=bb.prototype.set;bb.prototype.setProperties=bb.prototype.G;bb.prototype.unset=bb.prototype.R;u("ol.Observable",Za);u("ol.Observable.unByKey",$a);Za.prototype.changed=Za.prototype.u;Za.prototype.dispatchEvent=Za.prototype.b;Za.prototype.getRevision=Za.prototype.K;Za.prototype.on=Za.prototype.I;Za.prototype.once=Za.prototype.L;Za.prototype.un=Za.prototype.J;Za.prototype.unByKey=Za.prototype.M;
u("ol.inherits",x);u("ol.Overlay",Xm);Xm.prototype.getElement=Xm.prototype.Sd;Xm.prototype.getId=Xm.prototype.Xa;Xm.prototype.getMap=Xm.prototype.he;Xm.prototype.getOffset=Xm.prototype.Kg;Xm.prototype.getPosition=Xm.prototype.gh;Xm.prototype.getPositioning=Xm.prototype.Lg;Xm.prototype.setElement=Xm.prototype.fi;Xm.prototype.setMap=Xm.prototype.setMap;Xm.prototype.setOffset=Xm.prototype.li;Xm.prototype.setPosition=Xm.prototype.uf;Xm.prototype.setPositioning=Xm.prototype.oi;
u("ol.render.toContext",function(a,b){var c=a.canvas,d=b?b:{},e=d.pixelRatio||$f;if(d=d.size)c.width=d[0]*e,c.height=d[1]*e,c.style.width=d[0]+"px",c.style.height=d[1]+"px";c=[0,0,c.width,c.height];d=jh(ch(),e,e);return new zj(a,e,c,d,0)});u("ol.size.toSize",$e);We.prototype.getTileCoord=We.prototype.i;We.prototype.load=We.prototype.load;Kk.prototype.getFormat=Kk.prototype.Ul;Kk.prototype.setFeatures=Kk.prototype.gi;Kk.prototype.setProjection=Kk.prototype.vf;Kk.prototype.setLoader=Kk.prototype.ki;
u("ol.View",Fd);Fd.prototype.constrainCenter=Fd.prototype.Pd;Fd.prototype.constrainResolution=Fd.prototype.constrainResolution;Fd.prototype.constrainRotation=Fd.prototype.constrainRotation;Fd.prototype.getCenter=Fd.prototype.ab;Fd.prototype.calculateExtent=Fd.prototype.Kc;Fd.prototype.getMaxResolution=Fd.prototype.Vl;Fd.prototype.getMinResolution=Fd.prototype.Wl;Fd.prototype.getProjection=Fd.prototype.Xl;Fd.prototype.getResolution=Fd.prototype.$;Fd.prototype.getResolutions=Fd.prototype.Yl;
Fd.prototype.getRotation=Fd.prototype.La;Fd.prototype.getZoom=Fd.prototype.Fk;Fd.prototype.fit=Fd.prototype.cf;Fd.prototype.centerOn=Fd.prototype.Ej;Fd.prototype.rotate=Fd.prototype.rotate;Fd.prototype.setCenter=Fd.prototype.nb;Fd.prototype.setResolution=Fd.prototype.Vb;Fd.prototype.setRotation=Fd.prototype.ie;Fd.prototype.setZoom=Fd.prototype.np;u("ol.xml.getAllTextContent",Nk);u("ol.xml.parse",Rk);gm.prototype.getGL=gm.prototype.$n;gm.prototype.useProgram=gm.prototype.we;
u("ol.tilegrid.TileGrid",df);df.prototype.forEachTileCoord=df.prototype.yg;df.prototype.getMaxZoom=df.prototype.Ig;df.prototype.getMinZoom=df.prototype.Jg;df.prototype.getOrigin=df.prototype.Ia;df.prototype.getResolution=df.prototype.$;df.prototype.getResolutions=df.prototype.Kh;df.prototype.getTileCoordExtent=df.prototype.Ea;df.prototype.getTileCoordForCoordAndResolution=df.prototype.Zd;df.prototype.getTileCoordForCoordAndZ=df.prototype.qd;df.prototype.getTileSize=df.prototype.Ja;
df.prototype.getZForResolution=df.prototype.Lb;u("ol.tilegrid.createXYZ",qf);u("ol.tilegrid.WMTS",dw);dw.prototype.getMatrixIds=dw.prototype.j;u("ol.tilegrid.WMTS.createFromCapabilitiesMatrixSet",ew);u("ol.style.AtlasManager",iw);u("ol.style.Circle",rj);rj.prototype.getFill=rj.prototype.Bn;rj.prototype.getImage=rj.prototype.jc;rj.prototype.getRadius=rj.prototype.Cn;rj.prototype.getStroke=rj.prototype.Dn;u("ol.style.Fill",jj);jj.prototype.getColor=jj.prototype.g;jj.prototype.setColor=jj.prototype.f;
u("ol.style.Icon",Fh);Fh.prototype.getAnchor=Fh.prototype.Zb;Fh.prototype.getImage=Fh.prototype.jc;Fh.prototype.getOrigin=Fh.prototype.Ia;Fh.prototype.getSrc=Fh.prototype.En;Fh.prototype.getSize=Fh.prototype.Gb;Fh.prototype.load=Fh.prototype.load;u("ol.style.Image",Eh);Eh.prototype.getOpacity=Eh.prototype.qe;Eh.prototype.getRotateWithView=Eh.prototype.Xd;Eh.prototype.getRotation=Eh.prototype.re;Eh.prototype.getScale=Eh.prototype.se;Eh.prototype.getSnapToPixel=Eh.prototype.Yd;
Eh.prototype.setOpacity=Eh.prototype.te;Eh.prototype.setRotation=Eh.prototype.ue;Eh.prototype.setScale=Eh.prototype.ve;u("ol.style.RegularShape",mw);mw.prototype.getAnchor=mw.prototype.Zb;mw.prototype.getAngle=mw.prototype.Fn;mw.prototype.getFill=mw.prototype.Gn;mw.prototype.getImage=mw.prototype.jc;mw.prototype.getOrigin=mw.prototype.Ia;mw.prototype.getPoints=mw.prototype.Hn;mw.prototype.getRadius=mw.prototype.In;mw.prototype.getRadius2=mw.prototype.uk;mw.prototype.getSize=mw.prototype.Gb;
mw.prototype.getStroke=mw.prototype.Jn;u("ol.style.Stroke",pj);pj.prototype.getColor=pj.prototype.Kn;pj.prototype.getLineCap=pj.prototype.dk;pj.prototype.getLineDash=pj.prototype.Ln;pj.prototype.getLineJoin=pj.prototype.ek;pj.prototype.getMiterLimit=pj.prototype.jk;pj.prototype.getWidth=pj.prototype.Mn;pj.prototype.setColor=pj.prototype.Nn;pj.prototype.setLineCap=pj.prototype.fp;pj.prototype.setLineDash=pj.prototype.On;pj.prototype.setLineJoin=pj.prototype.gp;pj.prototype.setMiterLimit=pj.prototype.hp;
pj.prototype.setWidth=pj.prototype.lp;u("ol.style.Style",sj);sj.prototype.getGeometry=sj.prototype.X;sj.prototype.getGeometryFunction=sj.prototype.Zj;sj.prototype.getFill=sj.prototype.Pn;sj.prototype.getImage=sj.prototype.Qn;sj.prototype.getStroke=sj.prototype.Rn;sj.prototype.getText=sj.prototype.Ha;sj.prototype.getZIndex=sj.prototype.Sn;sj.prototype.setGeometry=sj.prototype.Jh;sj.prototype.setZIndex=sj.prototype.Tn;u("ol.style.Text",Fp);Fp.prototype.getFont=Fp.prototype.Xj;
Fp.prototype.getOffsetX=Fp.prototype.kk;Fp.prototype.getOffsetY=Fp.prototype.lk;Fp.prototype.getFill=Fp.prototype.Un;Fp.prototype.getRotation=Fp.prototype.Vn;Fp.prototype.getScale=Fp.prototype.Wn;Fp.prototype.getStroke=Fp.prototype.Xn;Fp.prototype.getText=Fp.prototype.Ha;Fp.prototype.getTextAlign=Fp.prototype.yk;Fp.prototype.getTextBaseline=Fp.prototype.zk;Fp.prototype.setFont=Fp.prototype.bp;Fp.prototype.setOffsetX=Fp.prototype.mi;Fp.prototype.setOffsetY=Fp.prototype.ni;Fp.prototype.setFill=Fp.prototype.ap;
Fp.prototype.setRotation=Fp.prototype.Yn;Fp.prototype.setScale=Fp.prototype.Zn;Fp.prototype.setStroke=Fp.prototype.ip;Fp.prototype.setText=Fp.prototype.pi;Fp.prototype.setTextAlign=Fp.prototype.ri;Fp.prototype.setTextBaseline=Fp.prototype.jp;u("ol.Sphere",tc);tc.prototype.geodesicArea=tc.prototype.a;tc.prototype.haversineDistance=tc.prototype.b;u("ol.source.BingMaps",nv);u("ol.source.BingMaps.TOS_ATTRIBUTION",ov);u("ol.source.CartoDB",qv);qv.prototype.getConfig=qv.prototype.Tj;
qv.prototype.updateConfig=qv.prototype.up;qv.prototype.setConfig=qv.prototype.$o;u("ol.source.Cluster",Y);Y.prototype.getSource=Y.prototype.Sa;u("ol.source.ImageArcGISRest",wv);wv.prototype.getParams=wv.prototype.Sm;wv.prototype.getImageLoadFunction=wv.prototype.Rm;wv.prototype.getUrl=wv.prototype.Tm;wv.prototype.setImageLoadFunction=wv.prototype.Um;wv.prototype.setUrl=wv.prototype.Vm;wv.prototype.updateParams=wv.prototype.Wm;u("ol.source.ImageCanvas",Hk);u("ol.source.ImageMapGuide",xv);
xv.prototype.getParams=xv.prototype.Ym;xv.prototype.getImageLoadFunction=xv.prototype.Xm;xv.prototype.updateParams=xv.prototype.$m;xv.prototype.setImageLoadFunction=xv.prototype.Zm;u("ol.source.Image",Ak);Ck.prototype.image=Ck.prototype.image;u("ol.source.ImageStatic",yv);u("ol.source.ImageVector",yl);yl.prototype.getSource=yl.prototype.an;yl.prototype.getStyle=yl.prototype.bn;yl.prototype.getStyleFunction=yl.prototype.cn;yl.prototype.setStyle=yl.prototype.xh;u("ol.source.ImageWMS",zv);
zv.prototype.getGetFeatureInfoUrl=zv.prototype.fn;zv.prototype.getParams=zv.prototype.hn;zv.prototype.getImageLoadFunction=zv.prototype.gn;zv.prototype.getUrl=zv.prototype.jn;zv.prototype.setImageLoadFunction=zv.prototype.kn;zv.prototype.setUrl=zv.prototype.ln;zv.prototype.updateParams=zv.prototype.mn;u("ol.source.OSM",Dv);u("ol.source.OSM.ATTRIBUTION",Ev);u("ol.source.Raster",Fv);Fv.prototype.setOperation=Fv.prototype.v;Kv.prototype.extent=Kv.prototype.extent;Kv.prototype.resolution=Kv.prototype.resolution;
Kv.prototype.data=Kv.prototype.data;u("ol.source.Source",af);af.prototype.getAttributions=af.prototype.wa;af.prototype.getLogo=af.prototype.ua;af.prototype.getProjection=af.prototype.xa;af.prototype.getState=af.prototype.V;af.prototype.refresh=af.prototype.ta;af.prototype.setAttributions=af.prototype.qa;u("ol.source.Stamen",Pv);u("ol.source.TileArcGISRest",Rv);Rv.prototype.getParams=Rv.prototype.v;Rv.prototype.updateParams=Rv.prototype.A;u("ol.source.TileDebug",Tv);u("ol.source.TileImage",X);
X.prototype.setRenderReprojectionEdges=X.prototype.Ab;X.prototype.setTileGridForProjection=X.prototype.Bb;u("ol.source.TileJSON",Uv);Uv.prototype.getTileJSON=Uv.prototype.Ak;u("ol.source.Tile",rf);rf.prototype.getTileGrid=rf.prototype.Na;wf.prototype.tile=wf.prototype.tile;u("ol.source.TileUTFGrid",Vv);Vv.prototype.getTemplate=Vv.prototype.xk;Vv.prototype.forDataAtCoordinateAndResolution=Vv.prototype.Ij;u("ol.source.TileWMS",Zv);Zv.prototype.getGetFeatureInfoUrl=Zv.prototype.vn;
Zv.prototype.getParams=Zv.prototype.wn;Zv.prototype.updateParams=Zv.prototype.xn;Jl.prototype.getTileLoadFunction=Jl.prototype.gb;Jl.prototype.getTileUrlFunction=Jl.prototype.hb;Jl.prototype.getUrls=Jl.prototype.ib;Jl.prototype.setTileLoadFunction=Jl.prototype.lb;Jl.prototype.setTileUrlFunction=Jl.prototype.Qa;Jl.prototype.setUrl=Jl.prototype.Va;Jl.prototype.setUrls=Jl.prototype.bb;u("ol.source.Vector",P);P.prototype.addFeature=P.prototype.sb;P.prototype.addFeatures=P.prototype.Jc;
P.prototype.clear=P.prototype.clear;P.prototype.forEachFeature=P.prototype.wg;P.prototype.forEachFeatureInExtent=P.prototype.vb;P.prototype.forEachFeatureIntersectingExtent=P.prototype.xg;P.prototype.getFeaturesCollection=P.prototype.Fg;P.prototype.getFeatures=P.prototype.oe;P.prototype.getFeaturesAtCoordinate=P.prototype.Eg;P.prototype.getFeaturesInExtent=P.prototype.ef;P.prototype.getClosestFeatureToCoordinate=P.prototype.Ag;P.prototype.getExtent=P.prototype.H;P.prototype.getFeatureById=P.prototype.Dg;
P.prototype.getFormat=P.prototype.Ch;P.prototype.getUrl=P.prototype.Dh;P.prototype.removeFeature=P.prototype.ob;vl.prototype.feature=vl.prototype.feature;u("ol.source.VectorTile",Kl);u("ol.source.WMTS",Z);Z.prototype.getDimensions=Z.prototype.Vj;Z.prototype.getFormat=Z.prototype.yn;Z.prototype.getLayer=Z.prototype.zn;Z.prototype.getMatrixSet=Z.prototype.hk;Z.prototype.getRequestEncoding=Z.prototype.vk;Z.prototype.getStyle=Z.prototype.An;Z.prototype.getVersion=Z.prototype.Ck;
Z.prototype.updateDimensions=Z.prototype.vp;
u("ol.source.WMTS.optionsFromCapabilities",function(a,b){var c=lb(a.Contents.Layer,function(a){return a.Identifier==b.layer}),d=a.Contents.TileMatrixSet,e,f;e=1<c.TileMatrixSetLink.length?"projection"in b?pb(c.TileMatrixSetLink,function(a){return lb(d,function(b){return b.Identifier==a.TileMatrixSet}).SupportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3")==b.projection}):pb(c.TileMatrixSetLink,function(a){return a.TileMatrixSet==b.matrixSet}):0;0>e&&(e=0);f=c.TileMatrixSetLink[e].TileMatrixSet;
var g=c.Format[0];"format"in b&&(g=b.format);e=pb(c.Style,function(a){return"style"in b?a.Title==b.style:a.isDefault});0>e&&(e=0);e=c.Style[e].Identifier;var h={};"Dimension"in c&&c.Dimension.forEach(function(a){var b=a.Identifier,c=a.Default;void 0===c&&(c=a.Value[0]);h[b]=c});var l=lb(a.Contents.TileMatrixSet,function(a){return a.Identifier==f}),m;m="projection"in b?zc(b.projection):zc(l.SupportedCRS.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/,"$1:$3"));var n=c.WGS84BoundingBox,p,q;void 0!==n&&
(q=zc("EPSG:4326").H(),q=n[0]==q[0]&&n[2]==q[2],p=Tc(n,"EPSG:4326",m),(n=m.H())&&(Sb(n,p)||(p=void 0)));var l=ew(l,p),r=[];p=b.requestEncoding;p=void 0!==p?p:"";if("OperationsMetadata"in a&&"GetTile"in a.OperationsMetadata)for(var n=a.OperationsMetadata.GetTile.DCP.HTTP.Get,v=0,y=n.length;v<y;++v){var w=lb(n[v].Constraint,function(a){return"GetEncoding"==a.name}).AllowedValues.Value;""===p&&(p=w[0]);if("KVP"===p)gb(w,"KVP")&&r.push(n[v].href);else break}0===r.length&&(p="REST",c.ResourceURL.forEach(function(a){"tile"===
a.resourceType&&(g=a.format,r.push(a.template))}));return{urls:r,layer:b.layer,matrixSet:f,format:g,projection:m,requestEncoding:p,tileGrid:l,style:e,dimensions:h,wrapX:q}});u("ol.source.XYZ",pv);u("ol.source.Zoomify",gw);qh.prototype.vectorContext=qh.prototype.vectorContext;qh.prototype.frameState=qh.prototype.frameState;qh.prototype.context=qh.prototype.context;qh.prototype.glContext=qh.prototype.glContext;ik.prototype.get=ik.prototype.get;ik.prototype.getExtent=ik.prototype.H;
ik.prototype.getGeometry=ik.prototype.X;ik.prototype.getProperties=ik.prototype.Nm;ik.prototype.getType=ik.prototype.Y;u("ol.render.VectorContext",ph);Cm.prototype.setStyle=Cm.prototype.sd;Cm.prototype.drawGeometry=Cm.prototype.sc;Cm.prototype.drawFeature=Cm.prototype.Ye;zj.prototype.drawCircle=zj.prototype.Rd;zj.prototype.setStyle=zj.prototype.sd;zj.prototype.drawGeometry=zj.prototype.sc;zj.prototype.drawFeature=zj.prototype.Ye;u("ol.proj.common.add",dj);u("ol.proj.METERS_PER_UNIT",vc);
u("ol.proj.Projection",wc);wc.prototype.getCode=wc.prototype.Sj;wc.prototype.getExtent=wc.prototype.H;wc.prototype.getUnits=wc.prototype.xb;wc.prototype.getMetersPerUnit=wc.prototype.ac;wc.prototype.getWorldExtent=wc.prototype.Ek;wc.prototype.isGlobal=wc.prototype.pl;wc.prototype.setGlobal=wc.prototype.ep;wc.prototype.setExtent=wc.prototype.Mm;wc.prototype.setWorldExtent=wc.prototype.mp;wc.prototype.setGetPointResolution=wc.prototype.cp;wc.prototype.getPointResolution=wc.prototype.getPointResolution;
u("ol.proj.setProj4",function(a){yc=a});u("ol.proj.addEquivalentProjections",Ac);u("ol.proj.addProjection",Mc);u("ol.proj.addCoordinateTransforms",Bc);u("ol.proj.fromLonLat",function(a,b){return Sc(a,"EPSG:4326",void 0!==b?b:"EPSG:3857")});u("ol.proj.toLonLat",function(a,b){return Sc(a,void 0!==b?b:"EPSG:3857","EPSG:4326")});u("ol.proj.get",zc);u("ol.proj.equivalent",Pc);u("ol.proj.getTransform",Qc);u("ol.proj.transform",Sc);u("ol.proj.transformExtent",Tc);u("ol.layer.Heatmap",W);
W.prototype.getBlur=W.prototype.zg;W.prototype.getGradient=W.prototype.Gg;W.prototype.getRadius=W.prototype.ph;W.prototype.setBlur=W.prototype.di;W.prototype.setGradient=W.prototype.ii;W.prototype.setRadius=W.prototype.qh;u("ol.layer.Image",ej);ej.prototype.getSource=ej.prototype.ha;u("ol.layer.Layer",rh);rh.prototype.getSource=rh.prototype.ha;rh.prototype.setMap=rh.prototype.setMap;rh.prototype.setSource=rh.prototype.Fc;u("ol.layer.Base",nh);nh.prototype.getExtent=nh.prototype.H;
nh.prototype.getMaxResolution=nh.prototype.Ob;nh.prototype.getMinResolution=nh.prototype.Pb;nh.prototype.getOpacity=nh.prototype.Qb;nh.prototype.getVisible=nh.prototype.yb;nh.prototype.getZIndex=nh.prototype.Rb;nh.prototype.setExtent=nh.prototype.fc;nh.prototype.setMaxResolution=nh.prototype.nc;nh.prototype.setMinResolution=nh.prototype.oc;nh.prototype.setOpacity=nh.prototype.gc;nh.prototype.setVisible=nh.prototype.hc;nh.prototype.setZIndex=nh.prototype.ic;u("ol.layer.Group",Vi);
Vi.prototype.getLayers=Vi.prototype.Tc;Vi.prototype.setLayers=Vi.prototype.oh;u("ol.layer.Tile",F);F.prototype.getPreload=F.prototype.f;F.prototype.getSource=F.prototype.ha;F.prototype.setPreload=F.prototype.l;F.prototype.getUseInterimTilesOnError=F.prototype.c;F.prototype.setUseInterimTilesOnError=F.prototype.A;u("ol.layer.Vector",I);I.prototype.getSource=I.prototype.ha;I.prototype.getStyle=I.prototype.D;I.prototype.getStyleFunction=I.prototype.C;I.prototype.setStyle=I.prototype.l;
u("ol.layer.VectorTile",J);J.prototype.getPreload=J.prototype.f;J.prototype.getUseInterimTilesOnError=J.prototype.c;J.prototype.setPreload=J.prototype.W;J.prototype.setUseInterimTilesOnError=J.prototype.ia;u("ol.interaction.DoubleClickZoom",ai);u("ol.interaction.DoubleClickZoom.handleEvent",bi);u("ol.interaction.DragAndDrop",fu);u("ol.interaction.DragAndDrop.handleEvent",rc);iu.prototype.features=iu.prototype.features;iu.prototype.file=iu.prototype.file;iu.prototype.projection=iu.prototype.projection;
zi.prototype.coordinate=zi.prototype.coordinate;zi.prototype.mapBrowserEvent=zi.prototype.mapBrowserEvent;u("ol.interaction.DragBox",Ai);Ai.prototype.getGeometry=Ai.prototype.X;u("ol.interaction.DragPan",oi);u("ol.interaction.DragRotateAndZoom",ku);u("ol.interaction.DragRotate",si);u("ol.interaction.DragZoom",Fi);ou.prototype.feature=ou.prototype.feature;u("ol.interaction.Draw",pu);u("ol.interaction.Draw.handleEvent",ru);pu.prototype.removeLastPoint=pu.prototype.Qo;pu.prototype.finishDrawing=pu.prototype.jd;
pu.prototype.extend=pu.prototype.rm;u("ol.interaction.Draw.createRegularPolygon",function(a,b){return function(c,d){var e=c[0],f=c[1],g=Math.sqrt(Eb(e,f)),h=d?d:Dd(new Tt(e),a);Ed(h,e,g,b?b:Math.atan((f[1]-e[1])/(f[0]-e[0])));return h}});u("ol.interaction.Interaction",Xh);Xh.prototype.getActive=Xh.prototype.f;Xh.prototype.getMap=Xh.prototype.l;Xh.prototype.setActive=Xh.prototype.i;u("ol.interaction.defaults",Ui);u("ol.interaction.KeyboardPan",Gi);u("ol.interaction.KeyboardPan.handleEvent",Hi);
u("ol.interaction.KeyboardZoom",Ii);u("ol.interaction.KeyboardZoom.handleEvent",Ji);Fu.prototype.features=Fu.prototype.features;Fu.prototype.mapBrowserEvent=Fu.prototype.mapBrowserEvent;u("ol.interaction.Modify",Gu);u("ol.interaction.Modify.handleEvent",Ju);Gu.prototype.removePoint=Gu.prototype.ai;u("ol.interaction.MouseWheelZoom",Ki);u("ol.interaction.MouseWheelZoom.handleEvent",Li);Ki.prototype.setMouseAnchor=Ki.prototype.C;u("ol.interaction.PinchRotate",Mi);u("ol.interaction.PinchZoom",Qi);
u("ol.interaction.Pointer",li);u("ol.interaction.Pointer.handleEvent",mi);Tu.prototype.selected=Tu.prototype.selected;Tu.prototype.deselected=Tu.prototype.deselected;Tu.prototype.mapBrowserEvent=Tu.prototype.mapBrowserEvent;u("ol.interaction.Select",Uu);Uu.prototype.getFeatures=Uu.prototype.Bm;Uu.prototype.getLayer=Uu.prototype.Cm;u("ol.interaction.Select.handleEvent",Vu);Uu.prototype.setMap=Uu.prototype.setMap;u("ol.interaction.Snap",Xu);Xu.prototype.addFeature=Xu.prototype.sb;
Xu.prototype.removeFeature=Xu.prototype.ob;av.prototype.features=av.prototype.features;av.prototype.coordinate=av.prototype.coordinate;u("ol.interaction.Translate",bv);u("ol.geom.Circle",Tt);Tt.prototype.clone=Tt.prototype.clone;Tt.prototype.getCenter=Tt.prototype.rd;Tt.prototype.getRadius=Tt.prototype.wf;Tt.prototype.getType=Tt.prototype.Y;Tt.prototype.intersectsExtent=Tt.prototype.Ka;Tt.prototype.setCenter=Tt.prototype.jm;Tt.prototype.setCenterAndRadius=Tt.prototype.Vf;Tt.prototype.setRadius=Tt.prototype.km;
Tt.prototype.transform=Tt.prototype.kb;u("ol.geom.Geometry",Uc);Uc.prototype.getClosestPoint=Uc.prototype.wb;Uc.prototype.getExtent=Uc.prototype.H;Uc.prototype.rotate=Uc.prototype.rotate;Uc.prototype.simplify=Uc.prototype.Cb;Uc.prototype.transform=Uc.prototype.kb;u("ol.geom.GeometryCollection",Kn);Kn.prototype.clone=Kn.prototype.clone;Kn.prototype.getGeometries=Kn.prototype.ff;Kn.prototype.getType=Kn.prototype.Y;Kn.prototype.intersectsExtent=Kn.prototype.Ka;Kn.prototype.setGeometries=Kn.prototype.hi;
Kn.prototype.applyTransform=Kn.prototype.rc;Kn.prototype.translate=Kn.prototype.Sc;u("ol.geom.LinearRing",nd);nd.prototype.clone=nd.prototype.clone;nd.prototype.getArea=nd.prototype.nm;nd.prototype.getCoordinates=nd.prototype.Z;nd.prototype.getType=nd.prototype.Y;nd.prototype.setCoordinates=nd.prototype.ra;u("ol.geom.LineString",R);R.prototype.appendCoordinate=R.prototype.wj;R.prototype.clone=R.prototype.clone;R.prototype.forEachSegment=R.prototype.Lj;R.prototype.getCoordinateAtM=R.prototype.lm;
R.prototype.getCoordinates=R.prototype.Z;R.prototype.getCoordinateAt=R.prototype.Bg;R.prototype.getLength=R.prototype.mm;R.prototype.getType=R.prototype.Y;R.prototype.intersectsExtent=R.prototype.Ka;R.prototype.setCoordinates=R.prototype.ra;u("ol.geom.MultiLineString",S);S.prototype.appendLineString=S.prototype.xj;S.prototype.clone=S.prototype.clone;S.prototype.getCoordinateAtM=S.prototype.om;S.prototype.getCoordinates=S.prototype.Z;S.prototype.getLineString=S.prototype.fk;
S.prototype.getLineStrings=S.prototype.md;S.prototype.getType=S.prototype.Y;S.prototype.intersectsExtent=S.prototype.Ka;S.prototype.setCoordinates=S.prototype.ra;u("ol.geom.MultiPoint",T);T.prototype.appendPoint=T.prototype.zj;T.prototype.clone=T.prototype.clone;T.prototype.getCoordinates=T.prototype.Z;T.prototype.getPoint=T.prototype.rk;T.prototype.getPoints=T.prototype.je;T.prototype.getType=T.prototype.Y;T.prototype.intersectsExtent=T.prototype.Ka;T.prototype.setCoordinates=T.prototype.ra;
u("ol.geom.MultiPolygon",U);U.prototype.appendPolygon=U.prototype.Aj;U.prototype.clone=U.prototype.clone;U.prototype.getArea=U.prototype.pm;U.prototype.getCoordinates=U.prototype.Z;U.prototype.getInteriorPoints=U.prototype.ck;U.prototype.getPolygon=U.prototype.tk;U.prototype.getPolygons=U.prototype.Wd;U.prototype.getType=U.prototype.Y;U.prototype.intersectsExtent=U.prototype.Ka;U.prototype.setCoordinates=U.prototype.ra;u("ol.geom.Point",C);C.prototype.clone=C.prototype.clone;
C.prototype.getCoordinates=C.prototype.Z;C.prototype.getType=C.prototype.Y;C.prototype.intersectsExtent=C.prototype.Ka;C.prototype.setCoordinates=C.prototype.ra;u("ol.geom.Polygon",E);E.prototype.appendLinearRing=E.prototype.yj;E.prototype.clone=E.prototype.clone;E.prototype.getArea=E.prototype.qm;E.prototype.getCoordinates=E.prototype.Z;E.prototype.getInteriorPoint=E.prototype.bk;E.prototype.getLinearRingCount=E.prototype.gk;E.prototype.getLinearRing=E.prototype.Hg;E.prototype.getLinearRings=E.prototype.Vd;
E.prototype.getType=E.prototype.Y;E.prototype.intersectsExtent=E.prototype.Ka;E.prototype.setCoordinates=E.prototype.ra;u("ol.geom.Polygon.circular",Bd);u("ol.geom.Polygon.fromExtent",Cd);u("ol.geom.Polygon.fromCircle",Dd);u("ol.geom.SimpleGeometry",Wc);Wc.prototype.getFirstCoordinate=Wc.prototype.Ib;Wc.prototype.getLastCoordinate=Wc.prototype.Jb;Wc.prototype.getLayout=Wc.prototype.Kb;Wc.prototype.applyTransform=Wc.prototype.rc;Wc.prototype.translate=Wc.prototype.Sc;u("ol.format.EsriJSON",Dn);
Dn.prototype.readFeature=Dn.prototype.Sb;Dn.prototype.readFeatures=Dn.prototype.Fa;Dn.prototype.readGeometry=Dn.prototype.Vc;Dn.prototype.readProjection=Dn.prototype.Oa;Dn.prototype.writeGeometry=Dn.prototype.Zc;Dn.prototype.writeGeometryObject=Dn.prototype.Ke;Dn.prototype.writeFeature=Dn.prototype.Dd;Dn.prototype.writeFeatureObject=Dn.prototype.Yc;Dn.prototype.writeFeatures=Dn.prototype.Yb;Dn.prototype.writeFeaturesObject=Dn.prototype.Ie;u("ol.format.Feature",rn);u("ol.format.GeoJSON",On);
On.prototype.readFeature=On.prototype.Sb;On.prototype.readFeatures=On.prototype.Fa;On.prototype.readGeometry=On.prototype.Vc;On.prototype.readProjection=On.prototype.Oa;On.prototype.writeFeature=On.prototype.Dd;On.prototype.writeFeatureObject=On.prototype.Yc;On.prototype.writeFeatures=On.prototype.Yb;On.prototype.writeFeaturesObject=On.prototype.Ie;On.prototype.writeGeometry=On.prototype.Zc;On.prototype.writeGeometryObject=On.prototype.Ke;u("ol.format.GPX",to);to.prototype.readFeature=to.prototype.Sb;
to.prototype.readFeatures=to.prototype.Fa;to.prototype.readProjection=to.prototype.Oa;to.prototype.writeFeatures=to.prototype.Yb;to.prototype.writeFeaturesNode=to.prototype.a;u("ol.format.IGC",cp);cp.prototype.readFeature=cp.prototype.Sb;cp.prototype.readFeatures=cp.prototype.Fa;cp.prototype.readProjection=cp.prototype.Oa;u("ol.format.KML",Gp);Gp.prototype.readFeature=Gp.prototype.Sb;Gp.prototype.readFeatures=Gp.prototype.Fa;Gp.prototype.readName=Gp.prototype.Fo;Gp.prototype.readNetworkLinks=Gp.prototype.Go;
Gp.prototype.readProjection=Gp.prototype.Oa;Gp.prototype.writeFeatures=Gp.prototype.Yb;Gp.prototype.writeFeaturesNode=Gp.prototype.a;u("ol.format.MVT",vr);vr.prototype.readFeatures=vr.prototype.Fa;vr.prototype.readProjection=vr.prototype.Oa;vr.prototype.setLayers=vr.prototype.c;u("ol.format.OSMXML",Rr);Rr.prototype.readFeatures=Rr.prototype.Fa;Rr.prototype.readProjection=Rr.prototype.Oa;u("ol.format.Polyline",ps);u("ol.format.Polyline.encodeDeltas",qs);u("ol.format.Polyline.decodeDeltas",ss);
u("ol.format.Polyline.encodeFloats",rs);u("ol.format.Polyline.decodeFloats",ts);ps.prototype.readFeature=ps.prototype.Sb;ps.prototype.readFeatures=ps.prototype.Fa;ps.prototype.readGeometry=ps.prototype.Vc;ps.prototype.readProjection=ps.prototype.Oa;ps.prototype.writeGeometry=ps.prototype.Zc;u("ol.format.TopoJSON",us);us.prototype.readFeatures=us.prototype.Fa;us.prototype.readProjection=us.prototype.Oa;u("ol.format.WFS",As);As.prototype.readFeatures=As.prototype.Fa;
As.prototype.readTransactionResponse=As.prototype.o;As.prototype.readFeatureCollectionMetadata=As.prototype.l;As.prototype.writeGetFeature=As.prototype.j;As.prototype.writeTransaction=As.prototype.U;As.prototype.readProjection=As.prototype.Oa;u("ol.format.WKT",Rs);Rs.prototype.readFeature=Rs.prototype.Sb;Rs.prototype.readFeatures=Rs.prototype.Fa;Rs.prototype.readGeometry=Rs.prototype.Vc;Rs.prototype.writeFeature=Rs.prototype.Dd;Rs.prototype.writeFeatures=Rs.prototype.Yb;
Rs.prototype.writeGeometry=Rs.prototype.Zc;u("ol.format.WMSCapabilities",ht);ht.prototype.read=ht.prototype.read;u("ol.format.WMSGetFeatureInfo",Et);Et.prototype.readFeatures=Et.prototype.Fa;u("ol.format.WMTSCapabilities",Ft);Ft.prototype.read=Ft.prototype.read;u("ol.format.ogc.filter.and",xr);u("ol.format.ogc.filter.or",function(a,b){return new Er(a,b)});u("ol.format.ogc.filter.not",function(a){return new Fr(a)});u("ol.format.ogc.filter.bbox",zr);
u("ol.format.ogc.filter.equalTo",function(a,b,c){return new Ir(a,b,c)});u("ol.format.ogc.filter.notEqualTo",function(a,b,c){return new Jr(a,b,c)});u("ol.format.ogc.filter.lessThan",function(a,b){return new Kr(a,b)});u("ol.format.ogc.filter.lessThanOrEqualTo",function(a,b){return new Lr(a,b)});u("ol.format.ogc.filter.greaterThan",function(a,b){return new Mr(a,b)});u("ol.format.ogc.filter.greaterThanOrEqualTo",function(a,b){return new Nr(a,b)});u("ol.format.ogc.filter.isNull",function(a){return new Or(a)});
u("ol.format.ogc.filter.between",function(a,b,c){return new Pr(a,b,c)});u("ol.format.ogc.filter.like",function(a,b,c,d,e,f){return new Qr(a,b,c,d,e,f)});u("ol.format.ogc.filter.Filter",Br);u("ol.format.ogc.filter.And",yr);u("ol.format.ogc.filter.Or",Er);u("ol.format.ogc.filter.Not",Fr);u("ol.format.ogc.filter.Bbox",Ar);u("ol.format.ogc.filter.Comparison",Gr);u("ol.format.ogc.filter.ComparisonBinary",Hr);u("ol.format.ogc.filter.EqualTo",Ir);u("ol.format.ogc.filter.NotEqualTo",Jr);
u("ol.format.ogc.filter.LessThan",Kr);u("ol.format.ogc.filter.LessThanOrEqualTo",Lr);u("ol.format.ogc.filter.GreaterThan",Mr);u("ol.format.ogc.filter.GreaterThanOrEqualTo",Nr);u("ol.format.ogc.filter.IsNull",Or);u("ol.format.ogc.filter.IsBetween",Pr);u("ol.format.ogc.filter.IsLike",Qr);u("ol.format.GML2",jo);u("ol.format.GML3",ko);ko.prototype.writeGeometryNode=ko.prototype.s;ko.prototype.writeFeatures=ko.prototype.Yb;ko.prototype.writeFeaturesNode=ko.prototype.a;u("ol.format.GML",ko);
ko.prototype.writeFeatures=ko.prototype.Yb;ko.prototype.writeFeaturesNode=ko.prototype.a;Wn.prototype.readFeatures=Wn.prototype.Fa;u("ol.events.condition.altKeyOnly",function(a){a=a.originalEvent;return a.altKey&&!(a.metaKey||a.ctrlKey)&&!a.shiftKey});u("ol.events.condition.altShiftKeysOnly",ci);u("ol.events.condition.always",rc);u("ol.events.condition.click",function(a){return a.type==Sg});u("ol.events.condition.never",sc);u("ol.events.condition.pointerMove",ei);
u("ol.events.condition.singleClick",fi);u("ol.events.condition.doubleClick",function(a){return a.type==Tg});u("ol.events.condition.noModifierKeys",gi);u("ol.events.condition.platformModifierKeyOnly",function(a){a=a.originalEvent;return!a.altKey&&(Zf?a.metaKey:a.ctrlKey)&&!a.shiftKey});u("ol.events.condition.shiftKeyOnly",hi);u("ol.events.condition.targetNotEditable",ii);u("ol.events.condition.mouseOnly",ji);u("ol.events.condition.primaryAction",ki);Ua.prototype.type=Ua.prototype.type;
Ua.prototype.target=Ua.prototype.target;Ua.prototype.preventDefault=Ua.prototype.preventDefault;Ua.prototype.stopPropagation=Ua.prototype.stopPropagation;u("ol.control.Attribution",xf);u("ol.control.Attribution.render",yf);xf.prototype.getCollapsible=xf.prototype.$l;xf.prototype.setCollapsible=xf.prototype.cm;xf.prototype.setCollapsed=xf.prototype.bm;xf.prototype.getCollapsed=xf.prototype.Zl;u("ol.control.Control",Pe);Pe.prototype.getMap=Pe.prototype.i;Pe.prototype.setMap=Pe.prototype.setMap;
Pe.prototype.setTarget=Pe.prototype.c;u("ol.control.defaults",Df);u("ol.control.FullScreen",Ef);u("ol.control.MousePosition",Jf);u("ol.control.MousePosition.render",Kf);Jf.prototype.getCoordinateFormat=Jf.prototype.Cg;Jf.prototype.getProjection=Jf.prototype.hh;Jf.prototype.setCoordinateFormat=Jf.prototype.ei;Jf.prototype.setProjection=Jf.prototype.ih;u("ol.control.OverviewMap",an);u("ol.control.OverviewMap.render",bn);an.prototype.getCollapsible=an.prototype.fm;an.prototype.setCollapsible=an.prototype.im;
an.prototype.setCollapsed=an.prototype.hm;an.prototype.getCollapsed=an.prototype.em;an.prototype.getOverviewMap=an.prototype.pk;u("ol.control.Rotate",Af);u("ol.control.Rotate.render",Bf);u("ol.control.ScaleLine",fn);fn.prototype.getUnits=fn.prototype.xb;u("ol.control.ScaleLine.render",gn);fn.prototype.setUnits=fn.prototype.C;u("ol.control.Zoom",Cf);u("ol.control.ZoomSlider",kn);u("ol.control.ZoomSlider.render",mn);u("ol.control.ZoomToExtent",pn);u("ol.color.asArray",je);u("ol.color.asString",le);
ae.prototype.type=ae.prototype.type;ae.prototype.target=ae.prototype.target;ae.prototype.preventDefault=ae.prototype.preventDefault;ae.prototype.stopPropagation=ae.prototype.stopPropagation;bb.prototype.changed=bb.prototype.u;bb.prototype.dispatchEvent=bb.prototype.b;bb.prototype.getRevision=bb.prototype.K;bb.prototype.on=bb.prototype.I;bb.prototype.once=bb.prototype.L;bb.prototype.un=bb.prototype.J;bb.prototype.unByKey=bb.prototype.M;be.prototype.get=be.prototype.get;be.prototype.getKeys=be.prototype.N;
be.prototype.getProperties=be.prototype.O;be.prototype.set=be.prototype.set;be.prototype.setProperties=be.prototype.G;be.prototype.unset=be.prototype.R;be.prototype.changed=be.prototype.u;be.prototype.dispatchEvent=be.prototype.b;be.prototype.getRevision=be.prototype.K;be.prototype.on=be.prototype.I;be.prototype.once=be.prototype.L;be.prototype.un=be.prototype.J;be.prototype.unByKey=be.prototype.M;qn.prototype.get=qn.prototype.get;qn.prototype.getKeys=qn.prototype.N;qn.prototype.getProperties=qn.prototype.O;
qn.prototype.set=qn.prototype.set;qn.prototype.setProperties=qn.prototype.G;qn.prototype.unset=qn.prototype.R;qn.prototype.changed=qn.prototype.u;qn.prototype.dispatchEvent=qn.prototype.b;qn.prototype.getRevision=qn.prototype.K;qn.prototype.on=qn.prototype.I;qn.prototype.once=qn.prototype.L;qn.prototype.un=qn.prototype.J;qn.prototype.unByKey=qn.prototype.M;Ik.prototype.get=Ik.prototype.get;Ik.prototype.getKeys=Ik.prototype.N;Ik.prototype.getProperties=Ik.prototype.O;Ik.prototype.set=Ik.prototype.set;
Ik.prototype.setProperties=Ik.prototype.G;Ik.prototype.unset=Ik.prototype.R;Ik.prototype.changed=Ik.prototype.u;Ik.prototype.dispatchEvent=Ik.prototype.b;Ik.prototype.getRevision=Ik.prototype.K;Ik.prototype.on=Ik.prototype.I;Ik.prototype.once=Ik.prototype.L;Ik.prototype.un=Ik.prototype.J;Ik.prototype.unByKey=Ik.prototype.M;St.prototype.get=St.prototype.get;St.prototype.getKeys=St.prototype.N;St.prototype.getProperties=St.prototype.O;St.prototype.set=St.prototype.set;St.prototype.setProperties=St.prototype.G;
St.prototype.unset=St.prototype.R;St.prototype.changed=St.prototype.u;St.prototype.dispatchEvent=St.prototype.b;St.prototype.getRevision=St.prototype.K;St.prototype.on=St.prototype.I;St.prototype.once=St.prototype.L;St.prototype.un=St.prototype.J;St.prototype.unByKey=St.prototype.M;du.prototype.getTileCoord=du.prototype.i;Q.prototype.get=Q.prototype.get;Q.prototype.getKeys=Q.prototype.N;Q.prototype.getProperties=Q.prototype.O;Q.prototype.set=Q.prototype.set;Q.prototype.setProperties=Q.prototype.G;
Q.prototype.unset=Q.prototype.R;Q.prototype.changed=Q.prototype.u;Q.prototype.dispatchEvent=Q.prototype.b;Q.prototype.getRevision=Q.prototype.K;Q.prototype.on=Q.prototype.I;Q.prototype.once=Q.prototype.L;Q.prototype.un=Q.prototype.J;Q.prototype.unByKey=Q.prototype.M;Oe.prototype.type=Oe.prototype.type;Oe.prototype.target=Oe.prototype.target;Oe.prototype.preventDefault=Oe.prototype.preventDefault;Oe.prototype.stopPropagation=Oe.prototype.stopPropagation;Og.prototype.map=Og.prototype.map;
Og.prototype.frameState=Og.prototype.frameState;Og.prototype.type=Og.prototype.type;Og.prototype.target=Og.prototype.target;Og.prototype.preventDefault=Og.prototype.preventDefault;Og.prototype.stopPropagation=Og.prototype.stopPropagation;Pg.prototype.originalEvent=Pg.prototype.originalEvent;Pg.prototype.pixel=Pg.prototype.pixel;Pg.prototype.coordinate=Pg.prototype.coordinate;Pg.prototype.dragging=Pg.prototype.dragging;Pg.prototype.preventDefault=Pg.prototype.preventDefault;
Pg.prototype.stopPropagation=Pg.prototype.stopPropagation;Pg.prototype.map=Pg.prototype.map;Pg.prototype.frameState=Pg.prototype.frameState;Pg.prototype.type=Pg.prototype.type;Pg.prototype.target=Pg.prototype.target;ab.prototype.type=ab.prototype.type;ab.prototype.target=ab.prototype.target;ab.prototype.preventDefault=ab.prototype.preventDefault;ab.prototype.stopPropagation=ab.prototype.stopPropagation;Xm.prototype.get=Xm.prototype.get;Xm.prototype.getKeys=Xm.prototype.N;
Xm.prototype.getProperties=Xm.prototype.O;Xm.prototype.set=Xm.prototype.set;Xm.prototype.setProperties=Xm.prototype.G;Xm.prototype.unset=Xm.prototype.R;Xm.prototype.changed=Xm.prototype.u;Xm.prototype.dispatchEvent=Xm.prototype.b;Xm.prototype.getRevision=Xm.prototype.K;Xm.prototype.on=Xm.prototype.I;Xm.prototype.once=Xm.prototype.L;Xm.prototype.un=Xm.prototype.J;Xm.prototype.unByKey=Xm.prototype.M;Kk.prototype.getTileCoord=Kk.prototype.i;Fd.prototype.get=Fd.prototype.get;Fd.prototype.getKeys=Fd.prototype.N;
Fd.prototype.getProperties=Fd.prototype.O;Fd.prototype.set=Fd.prototype.set;Fd.prototype.setProperties=Fd.prototype.G;Fd.prototype.unset=Fd.prototype.R;Fd.prototype.changed=Fd.prototype.u;Fd.prototype.dispatchEvent=Fd.prototype.b;Fd.prototype.getRevision=Fd.prototype.K;Fd.prototype.on=Fd.prototype.I;Fd.prototype.once=Fd.prototype.L;Fd.prototype.un=Fd.prototype.J;Fd.prototype.unByKey=Fd.prototype.M;dw.prototype.forEachTileCoord=dw.prototype.yg;dw.prototype.getMaxZoom=dw.prototype.Ig;
dw.prototype.getMinZoom=dw.prototype.Jg;dw.prototype.getOrigin=dw.prototype.Ia;dw.prototype.getResolution=dw.prototype.$;dw.prototype.getResolutions=dw.prototype.Kh;dw.prototype.getTileCoordExtent=dw.prototype.Ea;dw.prototype.getTileCoordForCoordAndResolution=dw.prototype.Zd;dw.prototype.getTileCoordForCoordAndZ=dw.prototype.qd;dw.prototype.getTileSize=dw.prototype.Ja;dw.prototype.getZForResolution=dw.prototype.Lb;rj.prototype.getOpacity=rj.prototype.qe;rj.prototype.getRotateWithView=rj.prototype.Xd;
rj.prototype.getRotation=rj.prototype.re;rj.prototype.getScale=rj.prototype.se;rj.prototype.getSnapToPixel=rj.prototype.Yd;rj.prototype.setOpacity=rj.prototype.te;rj.prototype.setRotation=rj.prototype.ue;rj.prototype.setScale=rj.prototype.ve;Fh.prototype.getOpacity=Fh.prototype.qe;Fh.prototype.getRotateWithView=Fh.prototype.Xd;Fh.prototype.getRotation=Fh.prototype.re;Fh.prototype.getScale=Fh.prototype.se;Fh.prototype.getSnapToPixel=Fh.prototype.Yd;Fh.prototype.setOpacity=Fh.prototype.te;
Fh.prototype.setRotation=Fh.prototype.ue;Fh.prototype.setScale=Fh.prototype.ve;mw.prototype.getOpacity=mw.prototype.qe;mw.prototype.getRotateWithView=mw.prototype.Xd;mw.prototype.getRotation=mw.prototype.re;mw.prototype.getScale=mw.prototype.se;mw.prototype.getSnapToPixel=mw.prototype.Yd;mw.prototype.setOpacity=mw.prototype.te;mw.prototype.setRotation=mw.prototype.ue;mw.prototype.setScale=mw.prototype.ve;af.prototype.get=af.prototype.get;af.prototype.getKeys=af.prototype.N;
af.prototype.getProperties=af.prototype.O;af.prototype.set=af.prototype.set;af.prototype.setProperties=af.prototype.G;af.prototype.unset=af.prototype.R;af.prototype.changed=af.prototype.u;af.prototype.dispatchEvent=af.prototype.b;af.prototype.getRevision=af.prototype.K;af.prototype.on=af.prototype.I;af.prototype.once=af.prototype.L;af.prototype.un=af.prototype.J;af.prototype.unByKey=af.prototype.M;rf.prototype.getAttributions=rf.prototype.wa;rf.prototype.getLogo=rf.prototype.ua;
rf.prototype.getProjection=rf.prototype.xa;rf.prototype.getState=rf.prototype.V;rf.prototype.refresh=rf.prototype.ta;rf.prototype.setAttributions=rf.prototype.qa;rf.prototype.get=rf.prototype.get;rf.prototype.getKeys=rf.prototype.N;rf.prototype.getProperties=rf.prototype.O;rf.prototype.set=rf.prototype.set;rf.prototype.setProperties=rf.prototype.G;rf.prototype.unset=rf.prototype.R;rf.prototype.changed=rf.prototype.u;rf.prototype.dispatchEvent=rf.prototype.b;rf.prototype.getRevision=rf.prototype.K;
rf.prototype.on=rf.prototype.I;rf.prototype.once=rf.prototype.L;rf.prototype.un=rf.prototype.J;rf.prototype.unByKey=rf.prototype.M;Jl.prototype.getTileGrid=Jl.prototype.Na;Jl.prototype.refresh=Jl.prototype.ta;Jl.prototype.getAttributions=Jl.prototype.wa;Jl.prototype.getLogo=Jl.prototype.ua;Jl.prototype.getProjection=Jl.prototype.xa;Jl.prototype.getState=Jl.prototype.V;Jl.prototype.setAttributions=Jl.prototype.qa;Jl.prototype.get=Jl.prototype.get;Jl.prototype.getKeys=Jl.prototype.N;
Jl.prototype.getProperties=Jl.prototype.O;Jl.prototype.set=Jl.prototype.set;Jl.prototype.setProperties=Jl.prototype.G;Jl.prototype.unset=Jl.prototype.R;Jl.prototype.changed=Jl.prototype.u;Jl.prototype.dispatchEvent=Jl.prototype.b;Jl.prototype.getRevision=Jl.prototype.K;Jl.prototype.on=Jl.prototype.I;Jl.prototype.once=Jl.prototype.L;Jl.prototype.un=Jl.prototype.J;Jl.prototype.unByKey=Jl.prototype.M;X.prototype.getTileLoadFunction=X.prototype.gb;X.prototype.getTileUrlFunction=X.prototype.hb;
X.prototype.getUrls=X.prototype.ib;X.prototype.setTileLoadFunction=X.prototype.lb;X.prototype.setTileUrlFunction=X.prototype.Qa;X.prototype.setUrl=X.prototype.Va;X.prototype.setUrls=X.prototype.bb;X.prototype.getTileGrid=X.prototype.Na;X.prototype.refresh=X.prototype.ta;X.prototype.getAttributions=X.prototype.wa;X.prototype.getLogo=X.prototype.ua;X.prototype.getProjection=X.prototype.xa;X.prototype.getState=X.prototype.V;X.prototype.setAttributions=X.prototype.qa;X.prototype.get=X.prototype.get;
X.prototype.getKeys=X.prototype.N;X.prototype.getProperties=X.prototype.O;X.prototype.set=X.prototype.set;X.prototype.setProperties=X.prototype.G;X.prototype.unset=X.prototype.R;X.prototype.changed=X.prototype.u;X.prototype.dispatchEvent=X.prototype.b;X.prototype.getRevision=X.prototype.K;X.prototype.on=X.prototype.I;X.prototype.once=X.prototype.L;X.prototype.un=X.prototype.J;X.prototype.unByKey=X.prototype.M;nv.prototype.setRenderReprojectionEdges=nv.prototype.Ab;
nv.prototype.setTileGridForProjection=nv.prototype.Bb;nv.prototype.getTileLoadFunction=nv.prototype.gb;nv.prototype.getTileUrlFunction=nv.prototype.hb;nv.prototype.getUrls=nv.prototype.ib;nv.prototype.setTileLoadFunction=nv.prototype.lb;nv.prototype.setTileUrlFunction=nv.prototype.Qa;nv.prototype.setUrl=nv.prototype.Va;nv.prototype.setUrls=nv.prototype.bb;nv.prototype.getTileGrid=nv.prototype.Na;nv.prototype.refresh=nv.prototype.ta;nv.prototype.getAttributions=nv.prototype.wa;
nv.prototype.getLogo=nv.prototype.ua;nv.prototype.getProjection=nv.prototype.xa;nv.prototype.getState=nv.prototype.V;nv.prototype.setAttributions=nv.prototype.qa;nv.prototype.get=nv.prototype.get;nv.prototype.getKeys=nv.prototype.N;nv.prototype.getProperties=nv.prototype.O;nv.prototype.set=nv.prototype.set;nv.prototype.setProperties=nv.prototype.G;nv.prototype.unset=nv.prototype.R;nv.prototype.changed=nv.prototype.u;nv.prototype.dispatchEvent=nv.prototype.b;nv.prototype.getRevision=nv.prototype.K;
nv.prototype.on=nv.prototype.I;nv.prototype.once=nv.prototype.L;nv.prototype.un=nv.prototype.J;nv.prototype.unByKey=nv.prototype.M;pv.prototype.setRenderReprojectionEdges=pv.prototype.Ab;pv.prototype.setTileGridForProjection=pv.prototype.Bb;pv.prototype.getTileLoadFunction=pv.prototype.gb;pv.prototype.getTileUrlFunction=pv.prototype.hb;pv.prototype.getUrls=pv.prototype.ib;pv.prototype.setTileLoadFunction=pv.prototype.lb;pv.prototype.setTileUrlFunction=pv.prototype.Qa;pv.prototype.setUrl=pv.prototype.Va;
pv.prototype.setUrls=pv.prototype.bb;pv.prototype.getTileGrid=pv.prototype.Na;pv.prototype.refresh=pv.prototype.ta;pv.prototype.getAttributions=pv.prototype.wa;pv.prototype.getLogo=pv.prototype.ua;pv.prototype.getProjection=pv.prototype.xa;pv.prototype.getState=pv.prototype.V;pv.prototype.setAttributions=pv.prototype.qa;pv.prototype.get=pv.prototype.get;pv.prototype.getKeys=pv.prototype.N;pv.prototype.getProperties=pv.prototype.O;pv.prototype.set=pv.prototype.set;pv.prototype.setProperties=pv.prototype.G;
pv.prototype.unset=pv.prototype.R;pv.prototype.changed=pv.prototype.u;pv.prototype.dispatchEvent=pv.prototype.b;pv.prototype.getRevision=pv.prototype.K;pv.prototype.on=pv.prototype.I;pv.prototype.once=pv.prototype.L;pv.prototype.un=pv.prototype.J;pv.prototype.unByKey=pv.prototype.M;qv.prototype.setRenderReprojectionEdges=qv.prototype.Ab;qv.prototype.setTileGridForProjection=qv.prototype.Bb;qv.prototype.getTileLoadFunction=qv.prototype.gb;qv.prototype.getTileUrlFunction=qv.prototype.hb;
qv.prototype.getUrls=qv.prototype.ib;qv.prototype.setTileLoadFunction=qv.prototype.lb;qv.prototype.setTileUrlFunction=qv.prototype.Qa;qv.prototype.setUrl=qv.prototype.Va;qv.prototype.setUrls=qv.prototype.bb;qv.prototype.getTileGrid=qv.prototype.Na;qv.prototype.refresh=qv.prototype.ta;qv.prototype.getAttributions=qv.prototype.wa;qv.prototype.getLogo=qv.prototype.ua;qv.prototype.getProjection=qv.prototype.xa;qv.prototype.getState=qv.prototype.V;qv.prototype.setAttributions=qv.prototype.qa;
qv.prototype.get=qv.prototype.get;qv.prototype.getKeys=qv.prototype.N;qv.prototype.getProperties=qv.prototype.O;qv.prototype.set=qv.prototype.set;qv.prototype.setProperties=qv.prototype.G;qv.prototype.unset=qv.prototype.R;qv.prototype.changed=qv.prototype.u;qv.prototype.dispatchEvent=qv.prototype.b;qv.prototype.getRevision=qv.prototype.K;qv.prototype.on=qv.prototype.I;qv.prototype.once=qv.prototype.L;qv.prototype.un=qv.prototype.J;qv.prototype.unByKey=qv.prototype.M;P.prototype.getAttributions=P.prototype.wa;
P.prototype.getLogo=P.prototype.ua;P.prototype.getProjection=P.prototype.xa;P.prototype.getState=P.prototype.V;P.prototype.refresh=P.prototype.ta;P.prototype.setAttributions=P.prototype.qa;P.prototype.get=P.prototype.get;P.prototype.getKeys=P.prototype.N;P.prototype.getProperties=P.prototype.O;P.prototype.set=P.prototype.set;P.prototype.setProperties=P.prototype.G;P.prototype.unset=P.prototype.R;P.prototype.changed=P.prototype.u;P.prototype.dispatchEvent=P.prototype.b;P.prototype.getRevision=P.prototype.K;
P.prototype.on=P.prototype.I;P.prototype.once=P.prototype.L;P.prototype.un=P.prototype.J;P.prototype.unByKey=P.prototype.M;Y.prototype.addFeature=Y.prototype.sb;Y.prototype.addFeatures=Y.prototype.Jc;Y.prototype.clear=Y.prototype.clear;Y.prototype.forEachFeature=Y.prototype.wg;Y.prototype.forEachFeatureInExtent=Y.prototype.vb;Y.prototype.forEachFeatureIntersectingExtent=Y.prototype.xg;Y.prototype.getFeaturesCollection=Y.prototype.Fg;Y.prototype.getFeatures=Y.prototype.oe;
Y.prototype.getFeaturesAtCoordinate=Y.prototype.Eg;Y.prototype.getFeaturesInExtent=Y.prototype.ef;Y.prototype.getClosestFeatureToCoordinate=Y.prototype.Ag;Y.prototype.getExtent=Y.prototype.H;Y.prototype.getFeatureById=Y.prototype.Dg;Y.prototype.getFormat=Y.prototype.Ch;Y.prototype.getUrl=Y.prototype.Dh;Y.prototype.removeFeature=Y.prototype.ob;Y.prototype.getAttributions=Y.prototype.wa;Y.prototype.getLogo=Y.prototype.ua;Y.prototype.getProjection=Y.prototype.xa;Y.prototype.getState=Y.prototype.V;
Y.prototype.refresh=Y.prototype.ta;Y.prototype.setAttributions=Y.prototype.qa;Y.prototype.get=Y.prototype.get;Y.prototype.getKeys=Y.prototype.N;Y.prototype.getProperties=Y.prototype.O;Y.prototype.set=Y.prototype.set;Y.prototype.setProperties=Y.prototype.G;Y.prototype.unset=Y.prototype.R;Y.prototype.changed=Y.prototype.u;Y.prototype.dispatchEvent=Y.prototype.b;Y.prototype.getRevision=Y.prototype.K;Y.prototype.on=Y.prototype.I;Y.prototype.once=Y.prototype.L;Y.prototype.un=Y.prototype.J;
Y.prototype.unByKey=Y.prototype.M;Ak.prototype.getAttributions=Ak.prototype.wa;Ak.prototype.getLogo=Ak.prototype.ua;Ak.prototype.getProjection=Ak.prototype.xa;Ak.prototype.getState=Ak.prototype.V;Ak.prototype.refresh=Ak.prototype.ta;Ak.prototype.setAttributions=Ak.prototype.qa;Ak.prototype.get=Ak.prototype.get;Ak.prototype.getKeys=Ak.prototype.N;Ak.prototype.getProperties=Ak.prototype.O;Ak.prototype.set=Ak.prototype.set;Ak.prototype.setProperties=Ak.prototype.G;Ak.prototype.unset=Ak.prototype.R;
Ak.prototype.changed=Ak.prototype.u;Ak.prototype.dispatchEvent=Ak.prototype.b;Ak.prototype.getRevision=Ak.prototype.K;Ak.prototype.on=Ak.prototype.I;Ak.prototype.once=Ak.prototype.L;Ak.prototype.un=Ak.prototype.J;Ak.prototype.unByKey=Ak.prototype.M;wv.prototype.getAttributions=wv.prototype.wa;wv.prototype.getLogo=wv.prototype.ua;wv.prototype.getProjection=wv.prototype.xa;wv.prototype.getState=wv.prototype.V;wv.prototype.refresh=wv.prototype.ta;wv.prototype.setAttributions=wv.prototype.qa;
wv.prototype.get=wv.prototype.get;wv.prototype.getKeys=wv.prototype.N;wv.prototype.getProperties=wv.prototype.O;wv.prototype.set=wv.prototype.set;wv.prototype.setProperties=wv.prototype.G;wv.prototype.unset=wv.prototype.R;wv.prototype.changed=wv.prototype.u;wv.prototype.dispatchEvent=wv.prototype.b;wv.prototype.getRevision=wv.prototype.K;wv.prototype.on=wv.prototype.I;wv.prototype.once=wv.prototype.L;wv.prototype.un=wv.prototype.J;wv.prototype.unByKey=wv.prototype.M;Hk.prototype.getAttributions=Hk.prototype.wa;
Hk.prototype.getLogo=Hk.prototype.ua;Hk.prototype.getProjection=Hk.prototype.xa;Hk.prototype.getState=Hk.prototype.V;Hk.prototype.refresh=Hk.prototype.ta;Hk.prototype.setAttributions=Hk.prototype.qa;Hk.prototype.get=Hk.prototype.get;Hk.prototype.getKeys=Hk.prototype.N;Hk.prototype.getProperties=Hk.prototype.O;Hk.prototype.set=Hk.prototype.set;Hk.prototype.setProperties=Hk.prototype.G;Hk.prototype.unset=Hk.prototype.R;Hk.prototype.changed=Hk.prototype.u;Hk.prototype.dispatchEvent=Hk.prototype.b;
Hk.prototype.getRevision=Hk.prototype.K;Hk.prototype.on=Hk.prototype.I;Hk.prototype.once=Hk.prototype.L;Hk.prototype.un=Hk.prototype.J;Hk.prototype.unByKey=Hk.prototype.M;xv.prototype.getAttributions=xv.prototype.wa;xv.prototype.getLogo=xv.prototype.ua;xv.prototype.getProjection=xv.prototype.xa;xv.prototype.getState=xv.prototype.V;xv.prototype.refresh=xv.prototype.ta;xv.prototype.setAttributions=xv.prototype.qa;xv.prototype.get=xv.prototype.get;xv.prototype.getKeys=xv.prototype.N;
xv.prototype.getProperties=xv.prototype.O;xv.prototype.set=xv.prototype.set;xv.prototype.setProperties=xv.prototype.G;xv.prototype.unset=xv.prototype.R;xv.prototype.changed=xv.prototype.u;xv.prototype.dispatchEvent=xv.prototype.b;xv.prototype.getRevision=xv.prototype.K;xv.prototype.on=xv.prototype.I;xv.prototype.once=xv.prototype.L;xv.prototype.un=xv.prototype.J;xv.prototype.unByKey=xv.prototype.M;Ck.prototype.type=Ck.prototype.type;Ck.prototype.target=Ck.prototype.target;
Ck.prototype.preventDefault=Ck.prototype.preventDefault;Ck.prototype.stopPropagation=Ck.prototype.stopPropagation;yv.prototype.getAttributions=yv.prototype.wa;yv.prototype.getLogo=yv.prototype.ua;yv.prototype.getProjection=yv.prototype.xa;yv.prototype.getState=yv.prototype.V;yv.prototype.refresh=yv.prototype.ta;yv.prototype.setAttributions=yv.prototype.qa;yv.prototype.get=yv.prototype.get;yv.prototype.getKeys=yv.prototype.N;yv.prototype.getProperties=yv.prototype.O;yv.prototype.set=yv.prototype.set;
yv.prototype.setProperties=yv.prototype.G;yv.prototype.unset=yv.prototype.R;yv.prototype.changed=yv.prototype.u;yv.prototype.dispatchEvent=yv.prototype.b;yv.prototype.getRevision=yv.prototype.K;yv.prototype.on=yv.prototype.I;yv.prototype.once=yv.prototype.L;yv.prototype.un=yv.prototype.J;yv.prototype.unByKey=yv.prototype.M;yl.prototype.getAttributions=yl.prototype.wa;yl.prototype.getLogo=yl.prototype.ua;yl.prototype.getProjection=yl.prototype.xa;yl.prototype.getState=yl.prototype.V;
yl.prototype.refresh=yl.prototype.ta;yl.prototype.setAttributions=yl.prototype.qa;yl.prototype.get=yl.prototype.get;yl.prototype.getKeys=yl.prototype.N;yl.prototype.getProperties=yl.prototype.O;yl.prototype.set=yl.prototype.set;yl.prototype.setProperties=yl.prototype.G;yl.prototype.unset=yl.prototype.R;yl.prototype.changed=yl.prototype.u;yl.prototype.dispatchEvent=yl.prototype.b;yl.prototype.getRevision=yl.prototype.K;yl.prototype.on=yl.prototype.I;yl.prototype.once=yl.prototype.L;
yl.prototype.un=yl.prototype.J;yl.prototype.unByKey=yl.prototype.M;zv.prototype.getAttributions=zv.prototype.wa;zv.prototype.getLogo=zv.prototype.ua;zv.prototype.getProjection=zv.prototype.xa;zv.prototype.getState=zv.prototype.V;zv.prototype.refresh=zv.prototype.ta;zv.prototype.setAttributions=zv.prototype.qa;zv.prototype.get=zv.prototype.get;zv.prototype.getKeys=zv.prototype.N;zv.prototype.getProperties=zv.prototype.O;zv.prototype.set=zv.prototype.set;zv.prototype.setProperties=zv.prototype.G;
zv.prototype.unset=zv.prototype.R;zv.prototype.changed=zv.prototype.u;zv.prototype.dispatchEvent=zv.prototype.b;zv.prototype.getRevision=zv.prototype.K;zv.prototype.on=zv.prototype.I;zv.prototype.once=zv.prototype.L;zv.prototype.un=zv.prototype.J;zv.prototype.unByKey=zv.prototype.M;Dv.prototype.setRenderReprojectionEdges=Dv.prototype.Ab;Dv.prototype.setTileGridForProjection=Dv.prototype.Bb;Dv.prototype.getTileLoadFunction=Dv.prototype.gb;Dv.prototype.getTileUrlFunction=Dv.prototype.hb;
Dv.prototype.getUrls=Dv.prototype.ib;Dv.prototype.setTileLoadFunction=Dv.prototype.lb;Dv.prototype.setTileUrlFunction=Dv.prototype.Qa;Dv.prototype.setUrl=Dv.prototype.Va;Dv.prototype.setUrls=Dv.prototype.bb;Dv.prototype.getTileGrid=Dv.prototype.Na;Dv.prototype.refresh=Dv.prototype.ta;Dv.prototype.getAttributions=Dv.prototype.wa;Dv.prototype.getLogo=Dv.prototype.ua;Dv.prototype.getProjection=Dv.prototype.xa;Dv.prototype.getState=Dv.prototype.V;Dv.prototype.setAttributions=Dv.prototype.qa;
Dv.prototype.get=Dv.prototype.get;Dv.prototype.getKeys=Dv.prototype.N;Dv.prototype.getProperties=Dv.prototype.O;Dv.prototype.set=Dv.prototype.set;Dv.prototype.setProperties=Dv.prototype.G;Dv.prototype.unset=Dv.prototype.R;Dv.prototype.changed=Dv.prototype.u;Dv.prototype.dispatchEvent=Dv.prototype.b;Dv.prototype.getRevision=Dv.prototype.K;Dv.prototype.on=Dv.prototype.I;Dv.prototype.once=Dv.prototype.L;Dv.prototype.un=Dv.prototype.J;Dv.prototype.unByKey=Dv.prototype.M;Fv.prototype.getAttributions=Fv.prototype.wa;
Fv.prototype.getLogo=Fv.prototype.ua;Fv.prototype.getProjection=Fv.prototype.xa;Fv.prototype.getState=Fv.prototype.V;Fv.prototype.refresh=Fv.prototype.ta;Fv.prototype.setAttributions=Fv.prototype.qa;Fv.prototype.get=Fv.prototype.get;Fv.prototype.getKeys=Fv.prototype.N;Fv.prototype.getProperties=Fv.prototype.O;Fv.prototype.set=Fv.prototype.set;Fv.prototype.setProperties=Fv.prototype.G;Fv.prototype.unset=Fv.prototype.R;Fv.prototype.changed=Fv.prototype.u;Fv.prototype.dispatchEvent=Fv.prototype.b;
Fv.prototype.getRevision=Fv.prototype.K;Fv.prototype.on=Fv.prototype.I;Fv.prototype.once=Fv.prototype.L;Fv.prototype.un=Fv.prototype.J;Fv.prototype.unByKey=Fv.prototype.M;Kv.prototype.type=Kv.prototype.type;Kv.prototype.target=Kv.prototype.target;Kv.prototype.preventDefault=Kv.prototype.preventDefault;Kv.prototype.stopPropagation=Kv.prototype.stopPropagation;Pv.prototype.setRenderReprojectionEdges=Pv.prototype.Ab;Pv.prototype.setTileGridForProjection=Pv.prototype.Bb;
Pv.prototype.getTileLoadFunction=Pv.prototype.gb;Pv.prototype.getTileUrlFunction=Pv.prototype.hb;Pv.prototype.getUrls=Pv.prototype.ib;Pv.prototype.setTileLoadFunction=Pv.prototype.lb;Pv.prototype.setTileUrlFunction=Pv.prototype.Qa;Pv.prototype.setUrl=Pv.prototype.Va;Pv.prototype.setUrls=Pv.prototype.bb;Pv.prototype.getTileGrid=Pv.prototype.Na;Pv.prototype.refresh=Pv.prototype.ta;Pv.prototype.getAttributions=Pv.prototype.wa;Pv.prototype.getLogo=Pv.prototype.ua;Pv.prototype.getProjection=Pv.prototype.xa;
Pv.prototype.getState=Pv.prototype.V;Pv.prototype.setAttributions=Pv.prototype.qa;Pv.prototype.get=Pv.prototype.get;Pv.prototype.getKeys=Pv.prototype.N;Pv.prototype.getProperties=Pv.prototype.O;Pv.prototype.set=Pv.prototype.set;Pv.prototype.setProperties=Pv.prototype.G;Pv.prototype.unset=Pv.prototype.R;Pv.prototype.changed=Pv.prototype.u;Pv.prototype.dispatchEvent=Pv.prototype.b;Pv.prototype.getRevision=Pv.prototype.K;Pv.prototype.on=Pv.prototype.I;Pv.prototype.once=Pv.prototype.L;
Pv.prototype.un=Pv.prototype.J;Pv.prototype.unByKey=Pv.prototype.M;Rv.prototype.setRenderReprojectionEdges=Rv.prototype.Ab;Rv.prototype.setTileGridForProjection=Rv.prototype.Bb;Rv.prototype.getTileLoadFunction=Rv.prototype.gb;Rv.prototype.getTileUrlFunction=Rv.prototype.hb;Rv.prototype.getUrls=Rv.prototype.ib;Rv.prototype.setTileLoadFunction=Rv.prototype.lb;Rv.prototype.setTileUrlFunction=Rv.prototype.Qa;Rv.prototype.setUrl=Rv.prototype.Va;Rv.prototype.setUrls=Rv.prototype.bb;
Rv.prototype.getTileGrid=Rv.prototype.Na;Rv.prototype.refresh=Rv.prototype.ta;Rv.prototype.getAttributions=Rv.prototype.wa;Rv.prototype.getLogo=Rv.prototype.ua;Rv.prototype.getProjection=Rv.prototype.xa;Rv.prototype.getState=Rv.prototype.V;Rv.prototype.setAttributions=Rv.prototype.qa;Rv.prototype.get=Rv.prototype.get;Rv.prototype.getKeys=Rv.prototype.N;Rv.prototype.getProperties=Rv.prototype.O;Rv.prototype.set=Rv.prototype.set;Rv.prototype.setProperties=Rv.prototype.G;Rv.prototype.unset=Rv.prototype.R;
Rv.prototype.changed=Rv.prototype.u;Rv.prototype.dispatchEvent=Rv.prototype.b;Rv.prototype.getRevision=Rv.prototype.K;Rv.prototype.on=Rv.prototype.I;Rv.prototype.once=Rv.prototype.L;Rv.prototype.un=Rv.prototype.J;Rv.prototype.unByKey=Rv.prototype.M;Tv.prototype.getTileGrid=Tv.prototype.Na;Tv.prototype.refresh=Tv.prototype.ta;Tv.prototype.getAttributions=Tv.prototype.wa;Tv.prototype.getLogo=Tv.prototype.ua;Tv.prototype.getProjection=Tv.prototype.xa;Tv.prototype.getState=Tv.prototype.V;
Tv.prototype.setAttributions=Tv.prototype.qa;Tv.prototype.get=Tv.prototype.get;Tv.prototype.getKeys=Tv.prototype.N;Tv.prototype.getProperties=Tv.prototype.O;Tv.prototype.set=Tv.prototype.set;Tv.prototype.setProperties=Tv.prototype.G;Tv.prototype.unset=Tv.prototype.R;Tv.prototype.changed=Tv.prototype.u;Tv.prototype.dispatchEvent=Tv.prototype.b;Tv.prototype.getRevision=Tv.prototype.K;Tv.prototype.on=Tv.prototype.I;Tv.prototype.once=Tv.prototype.L;Tv.prototype.un=Tv.prototype.J;
Tv.prototype.unByKey=Tv.prototype.M;Uv.prototype.setRenderReprojectionEdges=Uv.prototype.Ab;Uv.prototype.setTileGridForProjection=Uv.prototype.Bb;Uv.prototype.getTileLoadFunction=Uv.prototype.gb;Uv.prototype.getTileUrlFunction=Uv.prototype.hb;Uv.prototype.getUrls=Uv.prototype.ib;Uv.prototype.setTileLoadFunction=Uv.prototype.lb;Uv.prototype.setTileUrlFunction=Uv.prototype.Qa;Uv.prototype.setUrl=Uv.prototype.Va;Uv.prototype.setUrls=Uv.prototype.bb;Uv.prototype.getTileGrid=Uv.prototype.Na;
Uv.prototype.refresh=Uv.prototype.ta;Uv.prototype.getAttributions=Uv.prototype.wa;Uv.prototype.getLogo=Uv.prototype.ua;Uv.prototype.getProjection=Uv.prototype.xa;Uv.prototype.getState=Uv.prototype.V;Uv.prototype.setAttributions=Uv.prototype.qa;Uv.prototype.get=Uv.prototype.get;Uv.prototype.getKeys=Uv.prototype.N;Uv.prototype.getProperties=Uv.prototype.O;Uv.prototype.set=Uv.prototype.set;Uv.prototype.setProperties=Uv.prototype.G;Uv.prototype.unset=Uv.prototype.R;Uv.prototype.changed=Uv.prototype.u;
Uv.prototype.dispatchEvent=Uv.prototype.b;Uv.prototype.getRevision=Uv.prototype.K;Uv.prototype.on=Uv.prototype.I;Uv.prototype.once=Uv.prototype.L;Uv.prototype.un=Uv.prototype.J;Uv.prototype.unByKey=Uv.prototype.M;wf.prototype.type=wf.prototype.type;wf.prototype.target=wf.prototype.target;wf.prototype.preventDefault=wf.prototype.preventDefault;wf.prototype.stopPropagation=wf.prototype.stopPropagation;Vv.prototype.getTileGrid=Vv.prototype.Na;Vv.prototype.refresh=Vv.prototype.ta;
Vv.prototype.getAttributions=Vv.prototype.wa;Vv.prototype.getLogo=Vv.prototype.ua;Vv.prototype.getProjection=Vv.prototype.xa;Vv.prototype.getState=Vv.prototype.V;Vv.prototype.setAttributions=Vv.prototype.qa;Vv.prototype.get=Vv.prototype.get;Vv.prototype.getKeys=Vv.prototype.N;Vv.prototype.getProperties=Vv.prototype.O;Vv.prototype.set=Vv.prototype.set;Vv.prototype.setProperties=Vv.prototype.G;Vv.prototype.unset=Vv.prototype.R;Vv.prototype.changed=Vv.prototype.u;Vv.prototype.dispatchEvent=Vv.prototype.b;
Vv.prototype.getRevision=Vv.prototype.K;Vv.prototype.on=Vv.prototype.I;Vv.prototype.once=Vv.prototype.L;Vv.prototype.un=Vv.prototype.J;Vv.prototype.unByKey=Vv.prototype.M;Zv.prototype.setRenderReprojectionEdges=Zv.prototype.Ab;Zv.prototype.setTileGridForProjection=Zv.prototype.Bb;Zv.prototype.getTileLoadFunction=Zv.prototype.gb;Zv.prototype.getTileUrlFunction=Zv.prototype.hb;Zv.prototype.getUrls=Zv.prototype.ib;Zv.prototype.setTileLoadFunction=Zv.prototype.lb;Zv.prototype.setTileUrlFunction=Zv.prototype.Qa;
Zv.prototype.setUrl=Zv.prototype.Va;Zv.prototype.setUrls=Zv.prototype.bb;Zv.prototype.getTileGrid=Zv.prototype.Na;Zv.prototype.refresh=Zv.prototype.ta;Zv.prototype.getAttributions=Zv.prototype.wa;Zv.prototype.getLogo=Zv.prototype.ua;Zv.prototype.getProjection=Zv.prototype.xa;Zv.prototype.getState=Zv.prototype.V;Zv.prototype.setAttributions=Zv.prototype.qa;Zv.prototype.get=Zv.prototype.get;Zv.prototype.getKeys=Zv.prototype.N;Zv.prototype.getProperties=Zv.prototype.O;Zv.prototype.set=Zv.prototype.set;
Zv.prototype.setProperties=Zv.prototype.G;Zv.prototype.unset=Zv.prototype.R;Zv.prototype.changed=Zv.prototype.u;Zv.prototype.dispatchEvent=Zv.prototype.b;Zv.prototype.getRevision=Zv.prototype.K;Zv.prototype.on=Zv.prototype.I;Zv.prototype.once=Zv.prototype.L;Zv.prototype.un=Zv.prototype.J;Zv.prototype.unByKey=Zv.prototype.M;vl.prototype.type=vl.prototype.type;vl.prototype.target=vl.prototype.target;vl.prototype.preventDefault=vl.prototype.preventDefault;vl.prototype.stopPropagation=vl.prototype.stopPropagation;
Kl.prototype.getTileLoadFunction=Kl.prototype.gb;Kl.prototype.getTileUrlFunction=Kl.prototype.hb;Kl.prototype.getUrls=Kl.prototype.ib;Kl.prototype.setTileLoadFunction=Kl.prototype.lb;Kl.prototype.setTileUrlFunction=Kl.prototype.Qa;Kl.prototype.setUrl=Kl.prototype.Va;Kl.prototype.setUrls=Kl.prototype.bb;Kl.prototype.getTileGrid=Kl.prototype.Na;Kl.prototype.refresh=Kl.prototype.ta;Kl.prototype.getAttributions=Kl.prototype.wa;Kl.prototype.getLogo=Kl.prototype.ua;Kl.prototype.getProjection=Kl.prototype.xa;
Kl.prototype.getState=Kl.prototype.V;Kl.prototype.setAttributions=Kl.prototype.qa;Kl.prototype.get=Kl.prototype.get;Kl.prototype.getKeys=Kl.prototype.N;Kl.prototype.getProperties=Kl.prototype.O;Kl.prototype.set=Kl.prototype.set;Kl.prototype.setProperties=Kl.prototype.G;Kl.prototype.unset=Kl.prototype.R;Kl.prototype.changed=Kl.prototype.u;Kl.prototype.dispatchEvent=Kl.prototype.b;Kl.prototype.getRevision=Kl.prototype.K;Kl.prototype.on=Kl.prototype.I;Kl.prototype.once=Kl.prototype.L;
Kl.prototype.un=Kl.prototype.J;Kl.prototype.unByKey=Kl.prototype.M;Z.prototype.setRenderReprojectionEdges=Z.prototype.Ab;Z.prototype.setTileGridForProjection=Z.prototype.Bb;Z.prototype.getTileLoadFunction=Z.prototype.gb;Z.prototype.getTileUrlFunction=Z.prototype.hb;Z.prototype.getUrls=Z.prototype.ib;Z.prototype.setTileLoadFunction=Z.prototype.lb;Z.prototype.setTileUrlFunction=Z.prototype.Qa;Z.prototype.setUrl=Z.prototype.Va;Z.prototype.setUrls=Z.prototype.bb;Z.prototype.getTileGrid=Z.prototype.Na;
Z.prototype.refresh=Z.prototype.ta;Z.prototype.getAttributions=Z.prototype.wa;Z.prototype.getLogo=Z.prototype.ua;Z.prototype.getProjection=Z.prototype.xa;Z.prototype.getState=Z.prototype.V;Z.prototype.setAttributions=Z.prototype.qa;Z.prototype.get=Z.prototype.get;Z.prototype.getKeys=Z.prototype.N;Z.prototype.getProperties=Z.prototype.O;Z.prototype.set=Z.prototype.set;Z.prototype.setProperties=Z.prototype.G;Z.prototype.unset=Z.prototype.R;Z.prototype.changed=Z.prototype.u;
Z.prototype.dispatchEvent=Z.prototype.b;Z.prototype.getRevision=Z.prototype.K;Z.prototype.on=Z.prototype.I;Z.prototype.once=Z.prototype.L;Z.prototype.un=Z.prototype.J;Z.prototype.unByKey=Z.prototype.M;gw.prototype.setRenderReprojectionEdges=gw.prototype.Ab;gw.prototype.setTileGridForProjection=gw.prototype.Bb;gw.prototype.getTileLoadFunction=gw.prototype.gb;gw.prototype.getTileUrlFunction=gw.prototype.hb;gw.prototype.getUrls=gw.prototype.ib;gw.prototype.setTileLoadFunction=gw.prototype.lb;
gw.prototype.setTileUrlFunction=gw.prototype.Qa;gw.prototype.setUrl=gw.prototype.Va;gw.prototype.setUrls=gw.prototype.bb;gw.prototype.getTileGrid=gw.prototype.Na;gw.prototype.refresh=gw.prototype.ta;gw.prototype.getAttributions=gw.prototype.wa;gw.prototype.getLogo=gw.prototype.ua;gw.prototype.getProjection=gw.prototype.xa;gw.prototype.getState=gw.prototype.V;gw.prototype.setAttributions=gw.prototype.qa;gw.prototype.get=gw.prototype.get;gw.prototype.getKeys=gw.prototype.N;
gw.prototype.getProperties=gw.prototype.O;gw.prototype.set=gw.prototype.set;gw.prototype.setProperties=gw.prototype.G;gw.prototype.unset=gw.prototype.R;gw.prototype.changed=gw.prototype.u;gw.prototype.dispatchEvent=gw.prototype.b;gw.prototype.getRevision=gw.prototype.K;gw.prototype.on=gw.prototype.I;gw.prototype.once=gw.prototype.L;gw.prototype.un=gw.prototype.J;gw.prototype.unByKey=gw.prototype.M;jv.prototype.getTileCoord=jv.prototype.i;jv.prototype.load=jv.prototype.load;vh.prototype.changed=vh.prototype.u;
vh.prototype.dispatchEvent=vh.prototype.b;vh.prototype.getRevision=vh.prototype.K;vh.prototype.on=vh.prototype.I;vh.prototype.once=vh.prototype.L;vh.prototype.un=vh.prototype.J;vh.prototype.unByKey=vh.prototype.M;Gm.prototype.changed=Gm.prototype.u;Gm.prototype.dispatchEvent=Gm.prototype.b;Gm.prototype.getRevision=Gm.prototype.K;Gm.prototype.on=Gm.prototype.I;Gm.prototype.once=Gm.prototype.L;Gm.prototype.un=Gm.prototype.J;Gm.prototype.unByKey=Gm.prototype.M;Jm.prototype.changed=Jm.prototype.u;
Jm.prototype.dispatchEvent=Jm.prototype.b;Jm.prototype.getRevision=Jm.prototype.K;Jm.prototype.on=Jm.prototype.I;Jm.prototype.once=Jm.prototype.L;Jm.prototype.un=Jm.prototype.J;Jm.prototype.unByKey=Jm.prototype.M;Pm.prototype.changed=Pm.prototype.u;Pm.prototype.dispatchEvent=Pm.prototype.b;Pm.prototype.getRevision=Pm.prototype.K;Pm.prototype.on=Pm.prototype.I;Pm.prototype.once=Pm.prototype.L;Pm.prototype.un=Pm.prototype.J;Pm.prototype.unByKey=Pm.prototype.M;Rm.prototype.changed=Rm.prototype.u;
Rm.prototype.dispatchEvent=Rm.prototype.b;Rm.prototype.getRevision=Rm.prototype.K;Rm.prototype.on=Rm.prototype.I;Rm.prototype.once=Rm.prototype.L;Rm.prototype.un=Rm.prototype.J;Rm.prototype.unByKey=Rm.prototype.M;Sl.prototype.changed=Sl.prototype.u;Sl.prototype.dispatchEvent=Sl.prototype.b;Sl.prototype.getRevision=Sl.prototype.K;Sl.prototype.on=Sl.prototype.I;Sl.prototype.once=Sl.prototype.L;Sl.prototype.un=Sl.prototype.J;Sl.prototype.unByKey=Sl.prototype.M;Tl.prototype.changed=Tl.prototype.u;
Tl.prototype.dispatchEvent=Tl.prototype.b;Tl.prototype.getRevision=Tl.prototype.K;Tl.prototype.on=Tl.prototype.I;Tl.prototype.once=Tl.prototype.L;Tl.prototype.un=Tl.prototype.J;Tl.prototype.unByKey=Tl.prototype.M;Ul.prototype.changed=Ul.prototype.u;Ul.prototype.dispatchEvent=Ul.prototype.b;Ul.prototype.getRevision=Ul.prototype.K;Ul.prototype.on=Ul.prototype.I;Ul.prototype.once=Ul.prototype.L;Ul.prototype.un=Ul.prototype.J;Ul.prototype.unByKey=Ul.prototype.M;Wl.prototype.changed=Wl.prototype.u;
Wl.prototype.dispatchEvent=Wl.prototype.b;Wl.prototype.getRevision=Wl.prototype.K;Wl.prototype.on=Wl.prototype.I;Wl.prototype.once=Wl.prototype.L;Wl.prototype.un=Wl.prototype.J;Wl.prototype.unByKey=Wl.prototype.M;Kj.prototype.changed=Kj.prototype.u;Kj.prototype.dispatchEvent=Kj.prototype.b;Kj.prototype.getRevision=Kj.prototype.K;Kj.prototype.on=Kj.prototype.I;Kj.prototype.once=Kj.prototype.L;Kj.prototype.un=Kj.prototype.J;Kj.prototype.unByKey=Kj.prototype.M;Al.prototype.changed=Al.prototype.u;
Al.prototype.dispatchEvent=Al.prototype.b;Al.prototype.getRevision=Al.prototype.K;Al.prototype.on=Al.prototype.I;Al.prototype.once=Al.prototype.L;Al.prototype.un=Al.prototype.J;Al.prototype.unByKey=Al.prototype.M;Bl.prototype.changed=Bl.prototype.u;Bl.prototype.dispatchEvent=Bl.prototype.b;Bl.prototype.getRevision=Bl.prototype.K;Bl.prototype.on=Bl.prototype.I;Bl.prototype.once=Bl.prototype.L;Bl.prototype.un=Bl.prototype.J;Bl.prototype.unByKey=Bl.prototype.M;Dl.prototype.changed=Dl.prototype.u;
Dl.prototype.dispatchEvent=Dl.prototype.b;Dl.prototype.getRevision=Dl.prototype.K;Dl.prototype.on=Dl.prototype.I;Dl.prototype.once=Dl.prototype.L;Dl.prototype.un=Dl.prototype.J;Dl.prototype.unByKey=Dl.prototype.M;Ol.prototype.changed=Ol.prototype.u;Ol.prototype.dispatchEvent=Ol.prototype.b;Ol.prototype.getRevision=Ol.prototype.K;Ol.prototype.on=Ol.prototype.I;Ol.prototype.once=Ol.prototype.L;Ol.prototype.un=Ol.prototype.J;Ol.prototype.unByKey=Ol.prototype.M;qh.prototype.type=qh.prototype.type;
qh.prototype.target=qh.prototype.target;qh.prototype.preventDefault=qh.prototype.preventDefault;qh.prototype.stopPropagation=qh.prototype.stopPropagation;Pf.prototype.type=Pf.prototype.type;Pf.prototype.target=Pf.prototype.target;Pf.prototype.preventDefault=Pf.prototype.preventDefault;Pf.prototype.stopPropagation=Pf.prototype.stopPropagation;nh.prototype.get=nh.prototype.get;nh.prototype.getKeys=nh.prototype.N;nh.prototype.getProperties=nh.prototype.O;nh.prototype.set=nh.prototype.set;
nh.prototype.setProperties=nh.prototype.G;nh.prototype.unset=nh.prototype.R;nh.prototype.changed=nh.prototype.u;nh.prototype.dispatchEvent=nh.prototype.b;nh.prototype.getRevision=nh.prototype.K;nh.prototype.on=nh.prototype.I;nh.prototype.once=nh.prototype.L;nh.prototype.un=nh.prototype.J;nh.prototype.unByKey=nh.prototype.M;rh.prototype.getExtent=rh.prototype.H;rh.prototype.getMaxResolution=rh.prototype.Ob;rh.prototype.getMinResolution=rh.prototype.Pb;rh.prototype.getOpacity=rh.prototype.Qb;
rh.prototype.getVisible=rh.prototype.yb;rh.prototype.getZIndex=rh.prototype.Rb;rh.prototype.setExtent=rh.prototype.fc;rh.prototype.setMaxResolution=rh.prototype.nc;rh.prototype.setMinResolution=rh.prototype.oc;rh.prototype.setOpacity=rh.prototype.gc;rh.prototype.setVisible=rh.prototype.hc;rh.prototype.setZIndex=rh.prototype.ic;rh.prototype.get=rh.prototype.get;rh.prototype.getKeys=rh.prototype.N;rh.prototype.getProperties=rh.prototype.O;rh.prototype.set=rh.prototype.set;
rh.prototype.setProperties=rh.prototype.G;rh.prototype.unset=rh.prototype.R;rh.prototype.changed=rh.prototype.u;rh.prototype.dispatchEvent=rh.prototype.b;rh.prototype.getRevision=rh.prototype.K;rh.prototype.on=rh.prototype.I;rh.prototype.once=rh.prototype.L;rh.prototype.un=rh.prototype.J;rh.prototype.unByKey=rh.prototype.M;I.prototype.setMap=I.prototype.setMap;I.prototype.setSource=I.prototype.Fc;I.prototype.getExtent=I.prototype.H;I.prototype.getMaxResolution=I.prototype.Ob;
I.prototype.getMinResolution=I.prototype.Pb;I.prototype.getOpacity=I.prototype.Qb;I.prototype.getVisible=I.prototype.yb;I.prototype.getZIndex=I.prototype.Rb;I.prototype.setExtent=I.prototype.fc;I.prototype.setMaxResolution=I.prototype.nc;I.prototype.setMinResolution=I.prototype.oc;I.prototype.setOpacity=I.prototype.gc;I.prototype.setVisible=I.prototype.hc;I.prototype.setZIndex=I.prototype.ic;I.prototype.get=I.prototype.get;I.prototype.getKeys=I.prototype.N;I.prototype.getProperties=I.prototype.O;
I.prototype.set=I.prototype.set;I.prototype.setProperties=I.prototype.G;I.prototype.unset=I.prototype.R;I.prototype.changed=I.prototype.u;I.prototype.dispatchEvent=I.prototype.b;I.prototype.getRevision=I.prototype.K;I.prototype.on=I.prototype.I;I.prototype.once=I.prototype.L;I.prototype.un=I.prototype.J;I.prototype.unByKey=I.prototype.M;W.prototype.getSource=W.prototype.ha;W.prototype.getStyle=W.prototype.D;W.prototype.getStyleFunction=W.prototype.C;W.prototype.setStyle=W.prototype.l;
W.prototype.setMap=W.prototype.setMap;W.prototype.setSource=W.prototype.Fc;W.prototype.getExtent=W.prototype.H;W.prototype.getMaxResolution=W.prototype.Ob;W.prototype.getMinResolution=W.prototype.Pb;W.prototype.getOpacity=W.prototype.Qb;W.prototype.getVisible=W.prototype.yb;W.prototype.getZIndex=W.prototype.Rb;W.prototype.setExtent=W.prototype.fc;W.prototype.setMaxResolution=W.prototype.nc;W.prototype.setMinResolution=W.prototype.oc;W.prototype.setOpacity=W.prototype.gc;W.prototype.setVisible=W.prototype.hc;
W.prototype.setZIndex=W.prototype.ic;W.prototype.get=W.prototype.get;W.prototype.getKeys=W.prototype.N;W.prototype.getProperties=W.prototype.O;W.prototype.set=W.prototype.set;W.prototype.setProperties=W.prototype.G;W.prototype.unset=W.prototype.R;W.prototype.changed=W.prototype.u;W.prototype.dispatchEvent=W.prototype.b;W.prototype.getRevision=W.prototype.K;W.prototype.on=W.prototype.I;W.prototype.once=W.prototype.L;W.prototype.un=W.prototype.J;W.prototype.unByKey=W.prototype.M;
ej.prototype.setMap=ej.prototype.setMap;ej.prototype.setSource=ej.prototype.Fc;ej.prototype.getExtent=ej.prototype.H;ej.prototype.getMaxResolution=ej.prototype.Ob;ej.prototype.getMinResolution=ej.prototype.Pb;ej.prototype.getOpacity=ej.prototype.Qb;ej.prototype.getVisible=ej.prototype.yb;ej.prototype.getZIndex=ej.prototype.Rb;ej.prototype.setExtent=ej.prototype.fc;ej.prototype.setMaxResolution=ej.prototype.nc;ej.prototype.setMinResolution=ej.prototype.oc;ej.prototype.setOpacity=ej.prototype.gc;
ej.prototype.setVisible=ej.prototype.hc;ej.prototype.setZIndex=ej.prototype.ic;ej.prototype.get=ej.prototype.get;ej.prototype.getKeys=ej.prototype.N;ej.prototype.getProperties=ej.prototype.O;ej.prototype.set=ej.prototype.set;ej.prototype.setProperties=ej.prototype.G;ej.prototype.unset=ej.prototype.R;ej.prototype.changed=ej.prototype.u;ej.prototype.dispatchEvent=ej.prototype.b;ej.prototype.getRevision=ej.prototype.K;ej.prototype.on=ej.prototype.I;ej.prototype.once=ej.prototype.L;ej.prototype.un=ej.prototype.J;
ej.prototype.unByKey=ej.prototype.M;Vi.prototype.getExtent=Vi.prototype.H;Vi.prototype.getMaxResolution=Vi.prototype.Ob;Vi.prototype.getMinResolution=Vi.prototype.Pb;Vi.prototype.getOpacity=Vi.prototype.Qb;Vi.prototype.getVisible=Vi.prototype.yb;Vi.prototype.getZIndex=Vi.prototype.Rb;Vi.prototype.setExtent=Vi.prototype.fc;Vi.prototype.setMaxResolution=Vi.prototype.nc;Vi.prototype.setMinResolution=Vi.prototype.oc;Vi.prototype.setOpacity=Vi.prototype.gc;Vi.prototype.setVisible=Vi.prototype.hc;
Vi.prototype.setZIndex=Vi.prototype.ic;Vi.prototype.get=Vi.prototype.get;Vi.prototype.getKeys=Vi.prototype.N;Vi.prototype.getProperties=Vi.prototype.O;Vi.prototype.set=Vi.prototype.set;Vi.prototype.setProperties=Vi.prototype.G;Vi.prototype.unset=Vi.prototype.R;Vi.prototype.changed=Vi.prototype.u;Vi.prototype.dispatchEvent=Vi.prototype.b;Vi.prototype.getRevision=Vi.prototype.K;Vi.prototype.on=Vi.prototype.I;Vi.prototype.once=Vi.prototype.L;Vi.prototype.un=Vi.prototype.J;Vi.prototype.unByKey=Vi.prototype.M;
F.prototype.setMap=F.prototype.setMap;F.prototype.setSource=F.prototype.Fc;F.prototype.getExtent=F.prototype.H;F.prototype.getMaxResolution=F.prototype.Ob;F.prototype.getMinResolution=F.prototype.Pb;F.prototype.getOpacity=F.prototype.Qb;F.prototype.getVisible=F.prototype.yb;F.prototype.getZIndex=F.prototype.Rb;F.prototype.setExtent=F.prototype.fc;F.prototype.setMaxResolution=F.prototype.nc;F.prototype.setMinResolution=F.prototype.oc;F.prototype.setOpacity=F.prototype.gc;F.prototype.setVisible=F.prototype.hc;
F.prototype.setZIndex=F.prototype.ic;F.prototype.get=F.prototype.get;F.prototype.getKeys=F.prototype.N;F.prototype.getProperties=F.prototype.O;F.prototype.set=F.prototype.set;F.prototype.setProperties=F.prototype.G;F.prototype.unset=F.prototype.R;F.prototype.changed=F.prototype.u;F.prototype.dispatchEvent=F.prototype.b;F.prototype.getRevision=F.prototype.K;F.prototype.on=F.prototype.I;F.prototype.once=F.prototype.L;F.prototype.un=F.prototype.J;F.prototype.unByKey=F.prototype.M;
J.prototype.getSource=J.prototype.ha;J.prototype.getStyle=J.prototype.D;J.prototype.getStyleFunction=J.prototype.C;J.prototype.setStyle=J.prototype.l;J.prototype.setMap=J.prototype.setMap;J.prototype.setSource=J.prototype.Fc;J.prototype.getExtent=J.prototype.H;J.prototype.getMaxResolution=J.prototype.Ob;J.prototype.getMinResolution=J.prototype.Pb;J.prototype.getOpacity=J.prototype.Qb;J.prototype.getVisible=J.prototype.yb;J.prototype.getZIndex=J.prototype.Rb;J.prototype.setExtent=J.prototype.fc;
J.prototype.setMaxResolution=J.prototype.nc;J.prototype.setMinResolution=J.prototype.oc;J.prototype.setOpacity=J.prototype.gc;J.prototype.setVisible=J.prototype.hc;J.prototype.setZIndex=J.prototype.ic;J.prototype.get=J.prototype.get;J.prototype.getKeys=J.prototype.N;J.prototype.getProperties=J.prototype.O;J.prototype.set=J.prototype.set;J.prototype.setProperties=J.prototype.G;J.prototype.unset=J.prototype.R;J.prototype.changed=J.prototype.u;J.prototype.dispatchEvent=J.prototype.b;
J.prototype.getRevision=J.prototype.K;J.prototype.on=J.prototype.I;J.prototype.once=J.prototype.L;J.prototype.un=J.prototype.J;J.prototype.unByKey=J.prototype.M;Xh.prototype.get=Xh.prototype.get;Xh.prototype.getKeys=Xh.prototype.N;Xh.prototype.getProperties=Xh.prototype.O;Xh.prototype.set=Xh.prototype.set;Xh.prototype.setProperties=Xh.prototype.G;Xh.prototype.unset=Xh.prototype.R;Xh.prototype.changed=Xh.prototype.u;Xh.prototype.dispatchEvent=Xh.prototype.b;Xh.prototype.getRevision=Xh.prototype.K;
Xh.prototype.on=Xh.prototype.I;Xh.prototype.once=Xh.prototype.L;Xh.prototype.un=Xh.prototype.J;Xh.prototype.unByKey=Xh.prototype.M;ai.prototype.getActive=ai.prototype.f;ai.prototype.getMap=ai.prototype.l;ai.prototype.setActive=ai.prototype.i;ai.prototype.get=ai.prototype.get;ai.prototype.getKeys=ai.prototype.N;ai.prototype.getProperties=ai.prototype.O;ai.prototype.set=ai.prototype.set;ai.prototype.setProperties=ai.prototype.G;ai.prototype.unset=ai.prototype.R;ai.prototype.changed=ai.prototype.u;
ai.prototype.dispatchEvent=ai.prototype.b;ai.prototype.getRevision=ai.prototype.K;ai.prototype.on=ai.prototype.I;ai.prototype.once=ai.prototype.L;ai.prototype.un=ai.prototype.J;ai.prototype.unByKey=ai.prototype.M;fu.prototype.getActive=fu.prototype.f;fu.prototype.getMap=fu.prototype.l;fu.prototype.setActive=fu.prototype.i;fu.prototype.get=fu.prototype.get;fu.prototype.getKeys=fu.prototype.N;fu.prototype.getProperties=fu.prototype.O;fu.prototype.set=fu.prototype.set;fu.prototype.setProperties=fu.prototype.G;
fu.prototype.unset=fu.prototype.R;fu.prototype.changed=fu.prototype.u;fu.prototype.dispatchEvent=fu.prototype.b;fu.prototype.getRevision=fu.prototype.K;fu.prototype.on=fu.prototype.I;fu.prototype.once=fu.prototype.L;fu.prototype.un=fu.prototype.J;fu.prototype.unByKey=fu.prototype.M;iu.prototype.type=iu.prototype.type;iu.prototype.target=iu.prototype.target;iu.prototype.preventDefault=iu.prototype.preventDefault;iu.prototype.stopPropagation=iu.prototype.stopPropagation;zi.prototype.type=zi.prototype.type;
zi.prototype.target=zi.prototype.target;zi.prototype.preventDefault=zi.prototype.preventDefault;zi.prototype.stopPropagation=zi.prototype.stopPropagation;li.prototype.getActive=li.prototype.f;li.prototype.getMap=li.prototype.l;li.prototype.setActive=li.prototype.i;li.prototype.get=li.prototype.get;li.prototype.getKeys=li.prototype.N;li.prototype.getProperties=li.prototype.O;li.prototype.set=li.prototype.set;li.prototype.setProperties=li.prototype.G;li.prototype.unset=li.prototype.R;
li.prototype.changed=li.prototype.u;li.prototype.dispatchEvent=li.prototype.b;li.prototype.getRevision=li.prototype.K;li.prototype.on=li.prototype.I;li.prototype.once=li.prototype.L;li.prototype.un=li.prototype.J;li.prototype.unByKey=li.prototype.M;Ai.prototype.getActive=Ai.prototype.f;Ai.prototype.getMap=Ai.prototype.l;Ai.prototype.setActive=Ai.prototype.i;Ai.prototype.get=Ai.prototype.get;Ai.prototype.getKeys=Ai.prototype.N;Ai.prototype.getProperties=Ai.prototype.O;Ai.prototype.set=Ai.prototype.set;
Ai.prototype.setProperties=Ai.prototype.G;Ai.prototype.unset=Ai.prototype.R;Ai.prototype.changed=Ai.prototype.u;Ai.prototype.dispatchEvent=Ai.prototype.b;Ai.prototype.getRevision=Ai.prototype.K;Ai.prototype.on=Ai.prototype.I;Ai.prototype.once=Ai.prototype.L;Ai.prototype.un=Ai.prototype.J;Ai.prototype.unByKey=Ai.prototype.M;oi.prototype.getActive=oi.prototype.f;oi.prototype.getMap=oi.prototype.l;oi.prototype.setActive=oi.prototype.i;oi.prototype.get=oi.prototype.get;oi.prototype.getKeys=oi.prototype.N;
oi.prototype.getProperties=oi.prototype.O;oi.prototype.set=oi.prototype.set;oi.prototype.setProperties=oi.prototype.G;oi.prototype.unset=oi.prototype.R;oi.prototype.changed=oi.prototype.u;oi.prototype.dispatchEvent=oi.prototype.b;oi.prototype.getRevision=oi.prototype.K;oi.prototype.on=oi.prototype.I;oi.prototype.once=oi.prototype.L;oi.prototype.un=oi.prototype.J;oi.prototype.unByKey=oi.prototype.M;ku.prototype.getActive=ku.prototype.f;ku.prototype.getMap=ku.prototype.l;ku.prototype.setActive=ku.prototype.i;
ku.prototype.get=ku.prototype.get;ku.prototype.getKeys=ku.prototype.N;ku.prototype.getProperties=ku.prototype.O;ku.prototype.set=ku.prototype.set;ku.prototype.setProperties=ku.prototype.G;ku.prototype.unset=ku.prototype.R;ku.prototype.changed=ku.prototype.u;ku.prototype.dispatchEvent=ku.prototype.b;ku.prototype.getRevision=ku.prototype.K;ku.prototype.on=ku.prototype.I;ku.prototype.once=ku.prototype.L;ku.prototype.un=ku.prototype.J;ku.prototype.unByKey=ku.prototype.M;si.prototype.getActive=si.prototype.f;
si.prototype.getMap=si.prototype.l;si.prototype.setActive=si.prototype.i;si.prototype.get=si.prototype.get;si.prototype.getKeys=si.prototype.N;si.prototype.getProperties=si.prototype.O;si.prototype.set=si.prototype.set;si.prototype.setProperties=si.prototype.G;si.prototype.unset=si.prototype.R;si.prototype.changed=si.prototype.u;si.prototype.dispatchEvent=si.prototype.b;si.prototype.getRevision=si.prototype.K;si.prototype.on=si.prototype.I;si.prototype.once=si.prototype.L;si.prototype.un=si.prototype.J;
si.prototype.unByKey=si.prototype.M;Fi.prototype.getGeometry=Fi.prototype.X;Fi.prototype.getActive=Fi.prototype.f;Fi.prototype.getMap=Fi.prototype.l;Fi.prototype.setActive=Fi.prototype.i;Fi.prototype.get=Fi.prototype.get;Fi.prototype.getKeys=Fi.prototype.N;Fi.prototype.getProperties=Fi.prototype.O;Fi.prototype.set=Fi.prototype.set;Fi.prototype.setProperties=Fi.prototype.G;Fi.prototype.unset=Fi.prototype.R;Fi.prototype.changed=Fi.prototype.u;Fi.prototype.dispatchEvent=Fi.prototype.b;
Fi.prototype.getRevision=Fi.prototype.K;Fi.prototype.on=Fi.prototype.I;Fi.prototype.once=Fi.prototype.L;Fi.prototype.un=Fi.prototype.J;Fi.prototype.unByKey=Fi.prototype.M;ou.prototype.type=ou.prototype.type;ou.prototype.target=ou.prototype.target;ou.prototype.preventDefault=ou.prototype.preventDefault;ou.prototype.stopPropagation=ou.prototype.stopPropagation;pu.prototype.getActive=pu.prototype.f;pu.prototype.getMap=pu.prototype.l;pu.prototype.setActive=pu.prototype.i;pu.prototype.get=pu.prototype.get;
pu.prototype.getKeys=pu.prototype.N;pu.prototype.getProperties=pu.prototype.O;pu.prototype.set=pu.prototype.set;pu.prototype.setProperties=pu.prototype.G;pu.prototype.unset=pu.prototype.R;pu.prototype.changed=pu.prototype.u;pu.prototype.dispatchEvent=pu.prototype.b;pu.prototype.getRevision=pu.prototype.K;pu.prototype.on=pu.prototype.I;pu.prototype.once=pu.prototype.L;pu.prototype.un=pu.prototype.J;pu.prototype.unByKey=pu.prototype.M;Gi.prototype.getActive=Gi.prototype.f;Gi.prototype.getMap=Gi.prototype.l;
Gi.prototype.setActive=Gi.prototype.i;Gi.prototype.get=Gi.prototype.get;Gi.prototype.getKeys=Gi.prototype.N;Gi.prototype.getProperties=Gi.prototype.O;Gi.prototype.set=Gi.prototype.set;Gi.prototype.setProperties=Gi.prototype.G;Gi.prototype.unset=Gi.prototype.R;Gi.prototype.changed=Gi.prototype.u;Gi.prototype.dispatchEvent=Gi.prototype.b;Gi.prototype.getRevision=Gi.prototype.K;Gi.prototype.on=Gi.prototype.I;Gi.prototype.once=Gi.prototype.L;Gi.prototype.un=Gi.prototype.J;Gi.prototype.unByKey=Gi.prototype.M;
Ii.prototype.getActive=Ii.prototype.f;Ii.prototype.getMap=Ii.prototype.l;Ii.prototype.setActive=Ii.prototype.i;Ii.prototype.get=Ii.prototype.get;Ii.prototype.getKeys=Ii.prototype.N;Ii.prototype.getProperties=Ii.prototype.O;Ii.prototype.set=Ii.prototype.set;Ii.prototype.setProperties=Ii.prototype.G;Ii.prototype.unset=Ii.prototype.R;Ii.prototype.changed=Ii.prototype.u;Ii.prototype.dispatchEvent=Ii.prototype.b;Ii.prototype.getRevision=Ii.prototype.K;Ii.prototype.on=Ii.prototype.I;Ii.prototype.once=Ii.prototype.L;
Ii.prototype.un=Ii.prototype.J;Ii.prototype.unByKey=Ii.prototype.M;Fu.prototype.type=Fu.prototype.type;Fu.prototype.target=Fu.prototype.target;Fu.prototype.preventDefault=Fu.prototype.preventDefault;Fu.prototype.stopPropagation=Fu.prototype.stopPropagation;Gu.prototype.getActive=Gu.prototype.f;Gu.prototype.getMap=Gu.prototype.l;Gu.prototype.setActive=Gu.prototype.i;Gu.prototype.get=Gu.prototype.get;Gu.prototype.getKeys=Gu.prototype.N;Gu.prototype.getProperties=Gu.prototype.O;Gu.prototype.set=Gu.prototype.set;
Gu.prototype.setProperties=Gu.prototype.G;Gu.prototype.unset=Gu.prototype.R;Gu.prototype.changed=Gu.prototype.u;Gu.prototype.dispatchEvent=Gu.prototype.b;Gu.prototype.getRevision=Gu.prototype.K;Gu.prototype.on=Gu.prototype.I;Gu.prototype.once=Gu.prototype.L;Gu.prototype.un=Gu.prototype.J;Gu.prototype.unByKey=Gu.prototype.M;Ki.prototype.getActive=Ki.prototype.f;Ki.prototype.getMap=Ki.prototype.l;Ki.prototype.setActive=Ki.prototype.i;Ki.prototype.get=Ki.prototype.get;Ki.prototype.getKeys=Ki.prototype.N;
Ki.prototype.getProperties=Ki.prototype.O;Ki.prototype.set=Ki.prototype.set;Ki.prototype.setProperties=Ki.prototype.G;Ki.prototype.unset=Ki.prototype.R;Ki.prototype.changed=Ki.prototype.u;Ki.prototype.dispatchEvent=Ki.prototype.b;Ki.prototype.getRevision=Ki.prototype.K;Ki.prototype.on=Ki.prototype.I;Ki.prototype.once=Ki.prototype.L;Ki.prototype.un=Ki.prototype.J;Ki.prototype.unByKey=Ki.prototype.M;Mi.prototype.getActive=Mi.prototype.f;Mi.prototype.getMap=Mi.prototype.l;Mi.prototype.setActive=Mi.prototype.i;
Mi.prototype.get=Mi.prototype.get;Mi.prototype.getKeys=Mi.prototype.N;Mi.prototype.getProperties=Mi.prototype.O;Mi.prototype.set=Mi.prototype.set;Mi.prototype.setProperties=Mi.prototype.G;Mi.prototype.unset=Mi.prototype.R;Mi.prototype.changed=Mi.prototype.u;Mi.prototype.dispatchEvent=Mi.prototype.b;Mi.prototype.getRevision=Mi.prototype.K;Mi.prototype.on=Mi.prototype.I;Mi.prototype.once=Mi.prototype.L;Mi.prototype.un=Mi.prototype.J;Mi.prototype.unByKey=Mi.prototype.M;Qi.prototype.getActive=Qi.prototype.f;
Qi.prototype.getMap=Qi.prototype.l;Qi.prototype.setActive=Qi.prototype.i;Qi.prototype.get=Qi.prototype.get;Qi.prototype.getKeys=Qi.prototype.N;Qi.prototype.getProperties=Qi.prototype.O;Qi.prototype.set=Qi.prototype.set;Qi.prototype.setProperties=Qi.prototype.G;Qi.prototype.unset=Qi.prototype.R;Qi.prototype.changed=Qi.prototype.u;Qi.prototype.dispatchEvent=Qi.prototype.b;Qi.prototype.getRevision=Qi.prototype.K;Qi.prototype.on=Qi.prototype.I;Qi.prototype.once=Qi.prototype.L;Qi.prototype.un=Qi.prototype.J;
Qi.prototype.unByKey=Qi.prototype.M;Tu.prototype.type=Tu.prototype.type;Tu.prototype.target=Tu.prototype.target;Tu.prototype.preventDefault=Tu.prototype.preventDefault;Tu.prototype.stopPropagation=Tu.prototype.stopPropagation;Uu.prototype.getActive=Uu.prototype.f;Uu.prototype.getMap=Uu.prototype.l;Uu.prototype.setActive=Uu.prototype.i;Uu.prototype.get=Uu.prototype.get;Uu.prototype.getKeys=Uu.prototype.N;Uu.prototype.getProperties=Uu.prototype.O;Uu.prototype.set=Uu.prototype.set;
Uu.prototype.setProperties=Uu.prototype.G;Uu.prototype.unset=Uu.prototype.R;Uu.prototype.changed=Uu.prototype.u;Uu.prototype.dispatchEvent=Uu.prototype.b;Uu.prototype.getRevision=Uu.prototype.K;Uu.prototype.on=Uu.prototype.I;Uu.prototype.once=Uu.prototype.L;Uu.prototype.un=Uu.prototype.J;Uu.prototype.unByKey=Uu.prototype.M;Xu.prototype.getActive=Xu.prototype.f;Xu.prototype.getMap=Xu.prototype.l;Xu.prototype.setActive=Xu.prototype.i;Xu.prototype.get=Xu.prototype.get;Xu.prototype.getKeys=Xu.prototype.N;
Xu.prototype.getProperties=Xu.prototype.O;Xu.prototype.set=Xu.prototype.set;Xu.prototype.setProperties=Xu.prototype.G;Xu.prototype.unset=Xu.prototype.R;Xu.prototype.changed=Xu.prototype.u;Xu.prototype.dispatchEvent=Xu.prototype.b;Xu.prototype.getRevision=Xu.prototype.K;Xu.prototype.on=Xu.prototype.I;Xu.prototype.once=Xu.prototype.L;Xu.prototype.un=Xu.prototype.J;Xu.prototype.unByKey=Xu.prototype.M;av.prototype.type=av.prototype.type;av.prototype.target=av.prototype.target;
av.prototype.preventDefault=av.prototype.preventDefault;av.prototype.stopPropagation=av.prototype.stopPropagation;bv.prototype.getActive=bv.prototype.f;bv.prototype.getMap=bv.prototype.l;bv.prototype.setActive=bv.prototype.i;bv.prototype.get=bv.prototype.get;bv.prototype.getKeys=bv.prototype.N;bv.prototype.getProperties=bv.prototype.O;bv.prototype.set=bv.prototype.set;bv.prototype.setProperties=bv.prototype.G;bv.prototype.unset=bv.prototype.R;bv.prototype.changed=bv.prototype.u;
bv.prototype.dispatchEvent=bv.prototype.b;bv.prototype.getRevision=bv.prototype.K;bv.prototype.on=bv.prototype.I;bv.prototype.once=bv.prototype.L;bv.prototype.un=bv.prototype.J;bv.prototype.unByKey=bv.prototype.M;Uc.prototype.get=Uc.prototype.get;Uc.prototype.getKeys=Uc.prototype.N;Uc.prototype.getProperties=Uc.prototype.O;Uc.prototype.set=Uc.prototype.set;Uc.prototype.setProperties=Uc.prototype.G;Uc.prototype.unset=Uc.prototype.R;Uc.prototype.changed=Uc.prototype.u;Uc.prototype.dispatchEvent=Uc.prototype.b;
Uc.prototype.getRevision=Uc.prototype.K;Uc.prototype.on=Uc.prototype.I;Uc.prototype.once=Uc.prototype.L;Uc.prototype.un=Uc.prototype.J;Uc.prototype.unByKey=Uc.prototype.M;Wc.prototype.getClosestPoint=Wc.prototype.wb;Wc.prototype.getExtent=Wc.prototype.H;Wc.prototype.rotate=Wc.prototype.rotate;Wc.prototype.simplify=Wc.prototype.Cb;Wc.prototype.transform=Wc.prototype.kb;Wc.prototype.get=Wc.prototype.get;Wc.prototype.getKeys=Wc.prototype.N;Wc.prototype.getProperties=Wc.prototype.O;Wc.prototype.set=Wc.prototype.set;
Wc.prototype.setProperties=Wc.prototype.G;Wc.prototype.unset=Wc.prototype.R;Wc.prototype.changed=Wc.prototype.u;Wc.prototype.dispatchEvent=Wc.prototype.b;Wc.prototype.getRevision=Wc.prototype.K;Wc.prototype.on=Wc.prototype.I;Wc.prototype.once=Wc.prototype.L;Wc.prototype.un=Wc.prototype.J;Wc.prototype.unByKey=Wc.prototype.M;Tt.prototype.getFirstCoordinate=Tt.prototype.Ib;Tt.prototype.getLastCoordinate=Tt.prototype.Jb;Tt.prototype.getLayout=Tt.prototype.Kb;Tt.prototype.rotate=Tt.prototype.rotate;
Tt.prototype.getClosestPoint=Tt.prototype.wb;Tt.prototype.getExtent=Tt.prototype.H;Tt.prototype.simplify=Tt.prototype.Cb;Tt.prototype.get=Tt.prototype.get;Tt.prototype.getKeys=Tt.prototype.N;Tt.prototype.getProperties=Tt.prototype.O;Tt.prototype.set=Tt.prototype.set;Tt.prototype.setProperties=Tt.prototype.G;Tt.prototype.unset=Tt.prototype.R;Tt.prototype.changed=Tt.prototype.u;Tt.prototype.dispatchEvent=Tt.prototype.b;Tt.prototype.getRevision=Tt.prototype.K;Tt.prototype.on=Tt.prototype.I;
Tt.prototype.once=Tt.prototype.L;Tt.prototype.un=Tt.prototype.J;Tt.prototype.unByKey=Tt.prototype.M;Kn.prototype.getClosestPoint=Kn.prototype.wb;Kn.prototype.getExtent=Kn.prototype.H;Kn.prototype.rotate=Kn.prototype.rotate;Kn.prototype.simplify=Kn.prototype.Cb;Kn.prototype.transform=Kn.prototype.kb;Kn.prototype.get=Kn.prototype.get;Kn.prototype.getKeys=Kn.prototype.N;Kn.prototype.getProperties=Kn.prototype.O;Kn.prototype.set=Kn.prototype.set;Kn.prototype.setProperties=Kn.prototype.G;
Kn.prototype.unset=Kn.prototype.R;Kn.prototype.changed=Kn.prototype.u;Kn.prototype.dispatchEvent=Kn.prototype.b;Kn.prototype.getRevision=Kn.prototype.K;Kn.prototype.on=Kn.prototype.I;Kn.prototype.once=Kn.prototype.L;Kn.prototype.un=Kn.prototype.J;Kn.prototype.unByKey=Kn.prototype.M;nd.prototype.getFirstCoordinate=nd.prototype.Ib;nd.prototype.getLastCoordinate=nd.prototype.Jb;nd.prototype.getLayout=nd.prototype.Kb;nd.prototype.rotate=nd.prototype.rotate;nd.prototype.getClosestPoint=nd.prototype.wb;
nd.prototype.getExtent=nd.prototype.H;nd.prototype.simplify=nd.prototype.Cb;nd.prototype.transform=nd.prototype.kb;nd.prototype.get=nd.prototype.get;nd.prototype.getKeys=nd.prototype.N;nd.prototype.getProperties=nd.prototype.O;nd.prototype.set=nd.prototype.set;nd.prototype.setProperties=nd.prototype.G;nd.prototype.unset=nd.prototype.R;nd.prototype.changed=nd.prototype.u;nd.prototype.dispatchEvent=nd.prototype.b;nd.prototype.getRevision=nd.prototype.K;nd.prototype.on=nd.prototype.I;
nd.prototype.once=nd.prototype.L;nd.prototype.un=nd.prototype.J;nd.prototype.unByKey=nd.prototype.M;R.prototype.getFirstCoordinate=R.prototype.Ib;R.prototype.getLastCoordinate=R.prototype.Jb;R.prototype.getLayout=R.prototype.Kb;R.prototype.rotate=R.prototype.rotate;R.prototype.getClosestPoint=R.prototype.wb;R.prototype.getExtent=R.prototype.H;R.prototype.simplify=R.prototype.Cb;R.prototype.transform=R.prototype.kb;R.prototype.get=R.prototype.get;R.prototype.getKeys=R.prototype.N;
R.prototype.getProperties=R.prototype.O;R.prototype.set=R.prototype.set;R.prototype.setProperties=R.prototype.G;R.prototype.unset=R.prototype.R;R.prototype.changed=R.prototype.u;R.prototype.dispatchEvent=R.prototype.b;R.prototype.getRevision=R.prototype.K;R.prototype.on=R.prototype.I;R.prototype.once=R.prototype.L;R.prototype.un=R.prototype.J;R.prototype.unByKey=R.prototype.M;S.prototype.getFirstCoordinate=S.prototype.Ib;S.prototype.getLastCoordinate=S.prototype.Jb;S.prototype.getLayout=S.prototype.Kb;
S.prototype.rotate=S.prototype.rotate;S.prototype.getClosestPoint=S.prototype.wb;S.prototype.getExtent=S.prototype.H;S.prototype.simplify=S.prototype.Cb;S.prototype.transform=S.prototype.kb;S.prototype.get=S.prototype.get;S.prototype.getKeys=S.prototype.N;S.prototype.getProperties=S.prototype.O;S.prototype.set=S.prototype.set;S.prototype.setProperties=S.prototype.G;S.prototype.unset=S.prototype.R;S.prototype.changed=S.prototype.u;S.prototype.dispatchEvent=S.prototype.b;S.prototype.getRevision=S.prototype.K;
S.prototype.on=S.prototype.I;S.prototype.once=S.prototype.L;S.prototype.un=S.prototype.J;S.prototype.unByKey=S.prototype.M;T.prototype.getFirstCoordinate=T.prototype.Ib;T.prototype.getLastCoordinate=T.prototype.Jb;T.prototype.getLayout=T.prototype.Kb;T.prototype.rotate=T.prototype.rotate;T.prototype.getClosestPoint=T.prototype.wb;T.prototype.getExtent=T.prototype.H;T.prototype.simplify=T.prototype.Cb;T.prototype.transform=T.prototype.kb;T.prototype.get=T.prototype.get;T.prototype.getKeys=T.prototype.N;
T.prototype.getProperties=T.prototype.O;T.prototype.set=T.prototype.set;T.prototype.setProperties=T.prototype.G;T.prototype.unset=T.prototype.R;T.prototype.changed=T.prototype.u;T.prototype.dispatchEvent=T.prototype.b;T.prototype.getRevision=T.prototype.K;T.prototype.on=T.prototype.I;T.prototype.once=T.prototype.L;T.prototype.un=T.prototype.J;T.prototype.unByKey=T.prototype.M;U.prototype.getFirstCoordinate=U.prototype.Ib;U.prototype.getLastCoordinate=U.prototype.Jb;U.prototype.getLayout=U.prototype.Kb;
U.prototype.rotate=U.prototype.rotate;U.prototype.getClosestPoint=U.prototype.wb;U.prototype.getExtent=U.prototype.H;U.prototype.simplify=U.prototype.Cb;U.prototype.transform=U.prototype.kb;U.prototype.get=U.prototype.get;U.prototype.getKeys=U.prototype.N;U.prototype.getProperties=U.prototype.O;U.prototype.set=U.prototype.set;U.prototype.setProperties=U.prototype.G;U.prototype.unset=U.prototype.R;U.prototype.changed=U.prototype.u;U.prototype.dispatchEvent=U.prototype.b;U.prototype.getRevision=U.prototype.K;
U.prototype.on=U.prototype.I;U.prototype.once=U.prototype.L;U.prototype.un=U.prototype.J;U.prototype.unByKey=U.prototype.M;C.prototype.getFirstCoordinate=C.prototype.Ib;C.prototype.getLastCoordinate=C.prototype.Jb;C.prototype.getLayout=C.prototype.Kb;C.prototype.rotate=C.prototype.rotate;C.prototype.getClosestPoint=C.prototype.wb;C.prototype.getExtent=C.prototype.H;C.prototype.simplify=C.prototype.Cb;C.prototype.transform=C.prototype.kb;C.prototype.get=C.prototype.get;C.prototype.getKeys=C.prototype.N;
C.prototype.getProperties=C.prototype.O;C.prototype.set=C.prototype.set;C.prototype.setProperties=C.prototype.G;C.prototype.unset=C.prototype.R;C.prototype.changed=C.prototype.u;C.prototype.dispatchEvent=C.prototype.b;C.prototype.getRevision=C.prototype.K;C.prototype.on=C.prototype.I;C.prototype.once=C.prototype.L;C.prototype.un=C.prototype.J;C.prototype.unByKey=C.prototype.M;E.prototype.getFirstCoordinate=E.prototype.Ib;E.prototype.getLastCoordinate=E.prototype.Jb;E.prototype.getLayout=E.prototype.Kb;
E.prototype.rotate=E.prototype.rotate;E.prototype.getClosestPoint=E.prototype.wb;E.prototype.getExtent=E.prototype.H;E.prototype.simplify=E.prototype.Cb;E.prototype.transform=E.prototype.kb;E.prototype.get=E.prototype.get;E.prototype.getKeys=E.prototype.N;E.prototype.getProperties=E.prototype.O;E.prototype.set=E.prototype.set;E.prototype.setProperties=E.prototype.G;E.prototype.unset=E.prototype.R;E.prototype.changed=E.prototype.u;E.prototype.dispatchEvent=E.prototype.b;E.prototype.getRevision=E.prototype.K;
E.prototype.on=E.prototype.I;E.prototype.once=E.prototype.L;E.prototype.un=E.prototype.J;E.prototype.unByKey=E.prototype.M;jo.prototype.readFeatures=jo.prototype.Fa;ko.prototype.readFeatures=ko.prototype.Fa;ko.prototype.readFeatures=ko.prototype.Fa;Pe.prototype.get=Pe.prototype.get;Pe.prototype.getKeys=Pe.prototype.N;Pe.prototype.getProperties=Pe.prototype.O;Pe.prototype.set=Pe.prototype.set;Pe.prototype.setProperties=Pe.prototype.G;Pe.prototype.unset=Pe.prototype.R;Pe.prototype.changed=Pe.prototype.u;
Pe.prototype.dispatchEvent=Pe.prototype.b;Pe.prototype.getRevision=Pe.prototype.K;Pe.prototype.on=Pe.prototype.I;Pe.prototype.once=Pe.prototype.L;Pe.prototype.un=Pe.prototype.J;Pe.prototype.unByKey=Pe.prototype.M;xf.prototype.getMap=xf.prototype.i;xf.prototype.setMap=xf.prototype.setMap;xf.prototype.setTarget=xf.prototype.c;xf.prototype.get=xf.prototype.get;xf.prototype.getKeys=xf.prototype.N;xf.prototype.getProperties=xf.prototype.O;xf.prototype.set=xf.prototype.set;xf.prototype.setProperties=xf.prototype.G;
xf.prototype.unset=xf.prototype.R;xf.prototype.changed=xf.prototype.u;xf.prototype.dispatchEvent=xf.prototype.b;xf.prototype.getRevision=xf.prototype.K;xf.prototype.on=xf.prototype.I;xf.prototype.once=xf.prototype.L;xf.prototype.un=xf.prototype.J;xf.prototype.unByKey=xf.prototype.M;Ef.prototype.getMap=Ef.prototype.i;Ef.prototype.setMap=Ef.prototype.setMap;Ef.prototype.setTarget=Ef.prototype.c;Ef.prototype.get=Ef.prototype.get;Ef.prototype.getKeys=Ef.prototype.N;Ef.prototype.getProperties=Ef.prototype.O;
Ef.prototype.set=Ef.prototype.set;Ef.prototype.setProperties=Ef.prototype.G;Ef.prototype.unset=Ef.prototype.R;Ef.prototype.changed=Ef.prototype.u;Ef.prototype.dispatchEvent=Ef.prototype.b;Ef.prototype.getRevision=Ef.prototype.K;Ef.prototype.on=Ef.prototype.I;Ef.prototype.once=Ef.prototype.L;Ef.prototype.un=Ef.prototype.J;Ef.prototype.unByKey=Ef.prototype.M;Jf.prototype.getMap=Jf.prototype.i;Jf.prototype.setMap=Jf.prototype.setMap;Jf.prototype.setTarget=Jf.prototype.c;Jf.prototype.get=Jf.prototype.get;
Jf.prototype.getKeys=Jf.prototype.N;Jf.prototype.getProperties=Jf.prototype.O;Jf.prototype.set=Jf.prototype.set;Jf.prototype.setProperties=Jf.prototype.G;Jf.prototype.unset=Jf.prototype.R;Jf.prototype.changed=Jf.prototype.u;Jf.prototype.dispatchEvent=Jf.prototype.b;Jf.prototype.getRevision=Jf.prototype.K;Jf.prototype.on=Jf.prototype.I;Jf.prototype.once=Jf.prototype.L;Jf.prototype.un=Jf.prototype.J;Jf.prototype.unByKey=Jf.prototype.M;an.prototype.getMap=an.prototype.i;an.prototype.setMap=an.prototype.setMap;
an.prototype.setTarget=an.prototype.c;an.prototype.get=an.prototype.get;an.prototype.getKeys=an.prototype.N;an.prototype.getProperties=an.prototype.O;an.prototype.set=an.prototype.set;an.prototype.setProperties=an.prototype.G;an.prototype.unset=an.prototype.R;an.prototype.changed=an.prototype.u;an.prototype.dispatchEvent=an.prototype.b;an.prototype.getRevision=an.prototype.K;an.prototype.on=an.prototype.I;an.prototype.once=an.prototype.L;an.prototype.un=an.prototype.J;an.prototype.unByKey=an.prototype.M;
Af.prototype.getMap=Af.prototype.i;Af.prototype.setMap=Af.prototype.setMap;Af.prototype.setTarget=Af.prototype.c;Af.prototype.get=Af.prototype.get;Af.prototype.getKeys=Af.prototype.N;Af.prototype.getProperties=Af.prototype.O;Af.prototype.set=Af.prototype.set;Af.prototype.setProperties=Af.prototype.G;Af.prototype.unset=Af.prototype.R;Af.prototype.changed=Af.prototype.u;Af.prototype.dispatchEvent=Af.prototype.b;Af.prototype.getRevision=Af.prototype.K;Af.prototype.on=Af.prototype.I;
Af.prototype.once=Af.prototype.L;Af.prototype.un=Af.prototype.J;Af.prototype.unByKey=Af.prototype.M;fn.prototype.getMap=fn.prototype.i;fn.prototype.setMap=fn.prototype.setMap;fn.prototype.setTarget=fn.prototype.c;fn.prototype.get=fn.prototype.get;fn.prototype.getKeys=fn.prototype.N;fn.prototype.getProperties=fn.prototype.O;fn.prototype.set=fn.prototype.set;fn.prototype.setProperties=fn.prototype.G;fn.prototype.unset=fn.prototype.R;fn.prototype.changed=fn.prototype.u;fn.prototype.dispatchEvent=fn.prototype.b;
fn.prototype.getRevision=fn.prototype.K;fn.prototype.on=fn.prototype.I;fn.prototype.once=fn.prototype.L;fn.prototype.un=fn.prototype.J;fn.prototype.unByKey=fn.prototype.M;Cf.prototype.getMap=Cf.prototype.i;Cf.prototype.setMap=Cf.prototype.setMap;Cf.prototype.setTarget=Cf.prototype.c;Cf.prototype.get=Cf.prototype.get;Cf.prototype.getKeys=Cf.prototype.N;Cf.prototype.getProperties=Cf.prototype.O;Cf.prototype.set=Cf.prototype.set;Cf.prototype.setProperties=Cf.prototype.G;Cf.prototype.unset=Cf.prototype.R;
Cf.prototype.changed=Cf.prototype.u;Cf.prototype.dispatchEvent=Cf.prototype.b;Cf.prototype.getRevision=Cf.prototype.K;Cf.prototype.on=Cf.prototype.I;Cf.prototype.once=Cf.prototype.L;Cf.prototype.un=Cf.prototype.J;Cf.prototype.unByKey=Cf.prototype.M;kn.prototype.getMap=kn.prototype.i;kn.prototype.setMap=kn.prototype.setMap;kn.prototype.setTarget=kn.prototype.c;kn.prototype.get=kn.prototype.get;kn.prototype.getKeys=kn.prototype.N;kn.prototype.getProperties=kn.prototype.O;kn.prototype.set=kn.prototype.set;
kn.prototype.setProperties=kn.prototype.G;kn.prototype.unset=kn.prototype.R;kn.prototype.changed=kn.prototype.u;kn.prototype.dispatchEvent=kn.prototype.b;kn.prototype.getRevision=kn.prototype.K;kn.prototype.on=kn.prototype.I;kn.prototype.once=kn.prototype.L;kn.prototype.un=kn.prototype.J;kn.prototype.unByKey=kn.prototype.M;pn.prototype.getMap=pn.prototype.i;pn.prototype.setMap=pn.prototype.setMap;pn.prototype.setTarget=pn.prototype.c;pn.prototype.get=pn.prototype.get;pn.prototype.getKeys=pn.prototype.N;
pn.prototype.getProperties=pn.prototype.O;pn.prototype.set=pn.prototype.set;pn.prototype.setProperties=pn.prototype.G;pn.prototype.unset=pn.prototype.R;pn.prototype.changed=pn.prototype.u;pn.prototype.dispatchEvent=pn.prototype.b;pn.prototype.getRevision=pn.prototype.K;pn.prototype.on=pn.prototype.I;pn.prototype.once=pn.prototype.L;pn.prototype.un=pn.prototype.J;pn.prototype.unByKey=pn.prototype.M;
return OPENLAYERS.ol;
}));

View File

@@ -31,7 +31,7 @@ Below you'll find a complete working example. Create a new file, copy in the co
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
})
],
view: new ol.View({
@@ -85,7 +85,7 @@ The map in the application is contained in a [`<div>` HTML element](http://en.wi
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
})
],
view: new ol.View({
@@ -95,7 +95,7 @@ The map in the application is contained in a [`<div>` HTML element](http://en.wi
});
```
With this JavaScript code, a map object is created with a MapQuest Open Aerial layer zoomed on the African East coast. Let's break this down:
With this JavaScript code, a map object is created with an OSM layer zoomed on the African East coast. Let's break this down:
The following line creates an OpenLayers `Map` object. Just by itself, this does nothing since there's no layers or interaction attached to it.
@@ -114,7 +114,7 @@ The `layers: [ ... ]` array is used to define the list of layers available in th
```js
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
})
]
```

View File

@@ -160,7 +160,9 @@ The minimum config file looks like this:
"closure_entry_point": "app",
"externs": [
"node_modules/openlayers/externs/bingmaps.js",
"node_modules/openlayers/externs/cartodb.js",
"node_modules/openlayers/externs/closure-compiler.js",
"node_modules/openlayers/externs/esrijson.js",
"node_modules/openlayers/externs/geojson.js",
"node_modules/openlayers/externs/proj4js.js",
"node_modules/openlayers/externs/tilejson.js",
@@ -210,14 +212,15 @@ Here is a version of `config.json` with more compilation checks enabled:
"closure_entry_point": "app",
"externs": [
"node_modules/openlayers/externs/bingmaps.js",
"node_modules/openlayers/externs/cartodb.js",
"node_modules/openlayers/externs/closure-compiler.js",
"node_modules/openlayers/externs/esrijson.js",
"node_modules/openlayers/externs/geojson.js",
"node_modules/openlayers/externs/proj4js.js",
"node_modules/openlayers/externs/tilejson.js",
"node_modules/openlayers/externs/topojson.js"
],
"define": [
"goog.dom.ASSUME_STANDARDS_MODE=true",
"goog.DEBUG=false",
"ol.ENABLE_DOM=false",
"ol.ENABLE_WEBGL=false"
@@ -230,8 +233,7 @@ Here is a version of `config.json` with more compilation checks enabled:
"*"
],
"jscomp_off": [
"unknownDefines"
"useOfGoogBase",
"unknownDefines",
"lintChecks",
"analyzerChecks"
],

View File

@@ -2,7 +2,7 @@ goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Image');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.ImageArcGISRest');
var url = 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/' +
@@ -10,10 +10,11 @@ var url = 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/' +
var layers = [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
new ol.layer.Image({
source: new ol.source.ImageArcGISRest({
ratio: 1,
params: {},
url: url
})

View File

@@ -1,7 +1,7 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.TileArcGISRest');
var url = 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/' +
@@ -9,7 +9,7 @@ var url = 'http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/' +
var layers = [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
new ol.layer.Tile({
extent: [-13884991, 2870341, -7455066, 6338219],

View File

@@ -5,7 +5,7 @@ goog.require('ol.geom.Point');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.Cluster');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
@@ -62,7 +62,7 @@ var clusters = new ol.layer.Vector({
});
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
});
var map = new ol.Map({

View File

@@ -22,8 +22,8 @@ var twoPi = 2 * Math.PI;
/**
* Convert an RGB pixel into an HCL pixel.
* @param {ol.raster.Pixel} pixel A pixel in RGB space.
* @return {ol.raster.Pixel} A pixel in HCL space.
* @param {Array.<number>} pixel A pixel in RGB space.
* @return {Array.<number>} A pixel in HCL space.
*/
function rgb2hcl(pixel) {
var red = rgb2xyz(pixel[0]);
@@ -57,8 +57,8 @@ function rgb2hcl(pixel) {
/**
* Convert an HCL pixel into an RGB pixel.
* @param {ol.raster.Pixel} pixel A pixel in HCL space.
* @return {ol.raster.Pixel} A pixel in RGB space.
* @param {Array.<number>} pixel A pixel in HCL space.
* @return {Array.<number>} A pixel in RGB space.
*/
function hcl2rgb(pixel) {
var h = pixel[0];

View File

@@ -3,7 +3,7 @@ goog.require('ol.View');
goog.require('ol.interaction');
goog.require('ol.interaction.DragRotateAndZoom');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
var map = new ol.Map({
@@ -12,7 +12,7 @@ var map = new ol.Map({
]),
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
})
],
renderer: common.getRendererFromQueryString(),

View File

@@ -6,7 +6,7 @@ goog.require('ol.interaction.Draw');
goog.require('ol.interaction.Modify');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
@@ -14,7 +14,7 @@ goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
});
var map = new ol.Map({

View File

@@ -4,7 +4,7 @@ goog.require('ol.geom.Polygon');
goog.require('ol.interaction.Draw');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
@@ -12,7 +12,7 @@ goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
});
var source = new ol.source.Vector({wrapX: false});

View File

@@ -4,7 +4,7 @@ goog.require('ol.View');
goog.require('ol.geom.MultiPoint');
goog.require('ol.geom.Point');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
@@ -14,7 +14,7 @@ goog.require('ol.style.Style');
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
})
],
renderer: common.getRendererFromQueryString(),

View File

@@ -13,6 +13,12 @@ goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var symbol = [[0, 0], [4, 2], [6, 0], [10, 5], [6, 3], [4, 5], [0, 0]];
var scale;
var scaleFunction = function(coordinate) {
return [coordinate[0] * scale, coordinate[1] * scale];
};
var styleCache = {};
var styleFunction = function(feature) {
// 2012_Earthquakes_Mag5.kml stores the magnitude of each earthquake in a
@@ -21,23 +27,23 @@ var styleFunction = function(feature) {
var name = feature.get('name');
var magnitude = parseFloat(name.substr(2));
var size = parseInt(10 + 40 * (magnitude - 5), 10);
scale = size / 10;
var style = styleCache[size];
if (!style) {
var canvas =
/** @type {HTMLCanvasElement} */ (document.createElement('canvas'));
var vectorContext = ol.render.toContext(
/** @type {CanvasRenderingContext2D} */ (canvas.getContext('2d')),
{size: [size + 2, size + 2], pixelRatio: size / 10});
{size: [size, size], pixelRatio: 1});
vectorContext.setStyle(new ol.style.Style({
fill: new ol.style.Fill({color: 'rgba(255, 153, 0, 0.4)'}),
stroke: new ol.style.Stroke({color: 'rgba(255, 204, 0, 0.2)', width: 1})
stroke: new ol.style.Stroke({color: 'rgba(255, 204, 0, 0.2)', width: 2})
}));
vectorContext.drawGeometry(new ol.geom.Polygon(
[[[0, 0], [4, 2], [6, 0], [10, 5], [6, 3], [4, 5], [0, 0]]]));
vectorContext.drawGeometry(new ol.geom.Polygon([symbol.map(scaleFunction)]));
style = new ol.style.Style({
image: new ol.style.Icon({
img: canvas,
imgSize: [canvas.width, canvas.height],
imgSize: [size, size],
rotation: 1.2
})
});

View File

@@ -6,7 +6,7 @@ docs: >
Example of exporting a map as a PDF using the <a href="https://github.com/MrRio/jsPDF" target="_blank">jsPDF</a> library.
tags: "export, pdf, openstreetmap"
resources:
- http://mrrio.github.io/jsPDF/dist/jspdf.min.js
- https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.2.61/jspdf.min.js
---
<div class="row-fluid">
<div class="span12">

View File

@@ -59,7 +59,8 @@ var element = document.getElementById('popup');
var popup = new ol.Overlay({
element: element,
positioning: 'bottom-center',
stopEvent: false
stopEvent: false,
offset: [0, -50]
});
map.addOverlay(popup);
@@ -70,7 +71,8 @@ map.on('click', function(evt) {
return feature;
});
if (feature) {
popup.setPosition(evt.coordinate);
var coordinates = feature.getGeometry().getCoordinates();
popup.setPosition(coordinates);
$(element).popover({
'placement': 'top',
'html': true,

View File

@@ -155,7 +155,7 @@ map.on('click', function(evt) {
var stroke = new ol.style.Stroke({
color: 'rgba(255,0,0,0.9)',
width: 1
})
});
var style = new ol.style.Style({
stroke: stroke,
image: new ol.style.Circle({

View File

@@ -5,7 +5,7 @@ goog.require('ol.layer.Image');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.ImageVector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
@@ -15,7 +15,7 @@ goog.require('ol.style.Style');
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
new ol.layer.Image({
source: new ol.source.ImageVector({

View File

@@ -7,6 +7,6 @@ docs: >
with OpenLayers 3.
tags: "vector, jsts, buffer"
resources:
- https://cdn.rawgit.com/bjornharrtell/jsts/gh-pages/1.0.2/jsts.min.js
- https://cdn.rawgit.com/bjornharrtell/jsts/gh-pages/1.2.0/jsts.min.js
---
<div id="map" class="map"></div>

View File

@@ -7,7 +7,7 @@ goog.require('ol.format.GeoJSON');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
@@ -39,9 +39,7 @@ var vectorLayer = new ol.layer.Vector({
});
var rasterLayer = new ol.layer.Tile({
source: new ol.source.MapQuest({
layer: 'osm'
})
source: new ol.source.OSM()
});
var map = new ol.Map({

View File

@@ -4,13 +4,12 @@ title: Limited Layer Extent
shortdesc: Restricting layer rendering to a limited extent.
docs: >
This example uses the <code>layer.setExtent()</code> method to
modify the extent of the overlay layer. Use the controls below
to limit rendering based on an extent.
modify the extent of the overlay layer. Use the controls above
to limit rendering based on an extent (approximate country bounds).
tags: "extent, tilejson"
---
<div id="map" class="map"></div>
<button type="button" class="btn btn-default" id="northwest">northwest</button>
<button type="button" class="btn btn-default" id="northeast">northeast</button>
<button type="button" class="btn btn-default" id="southeast">southeast</button>
<button type="button" class="btn btn-default" id="southwest">southwest</button>
<button type="button" class="btn btn-default" id="world">world</button>
<button type="button" class="btn btn-default" id="India">India</button>
<button type="button" class="btn btn-default" id="Argentina">Argentina</button>
<button type="button" class="btn btn-default" id="Nigeria">Nigeria</button>
<button type="button" class="btn btn-default" id="Sweden">Sweden</button>

View File

@@ -9,26 +9,25 @@ function transform(extent) {
}
var extents = {
northwest: transform([-180, 0, 0, 85]),
northeast: transform([0, 0, 180, 85]),
southeast: transform([0, -85, 180, 0]),
southwest: transform([-180, -85, 0, 0]),
world: transform([-180, -85, 180, 85])
India: transform([68.17665, 7.96553, 97.40256, 35.49401]),
Argentina: transform([-73.41544, -55.25, -53.62835, -21.83231]),
Nigeria: transform([2.6917, 4.24059, 14.57718, 13.86592]),
Sweden: transform([11.02737, 55.36174, 23.90338, 69.10625])
};
var base = new ol.layer.Tile({
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/' +
'mapbox.world-black.json',
'mapbox.world-light.json',
crossOrigin: 'anonymous'
})
});
var overlay = new ol.layer.Tile({
extent: extents.northwest,
extent: extents.India,
source: new ol.source.TileJSON({
url: 'http://api.tiles.mapbox.com/v3/' +
'mapbox.world-glass.json',
'mapbox.world-black.json',
crossOrigin: 'anonymous'
})
});

View File

@@ -12,7 +12,7 @@ resources:
<div id="layertree">
<h5>Click on layer nodes below to change their properties.</h5>
<ul>
<li><span>OpenAerial layer</span>
<li><span>OSM layer</span>
<fieldset id="layer0">
<label class="checkbox" for="visible0">
<input id="visible0" class="visible" type="checkbox"/>visibility

View File

@@ -3,13 +3,13 @@ goog.require('ol.View');
goog.require('ol.layer.Group');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.TileJSON');
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}), new ol.layer.Group({
layers: [
new ol.layer.Tile({

View File

@@ -1,9 +1,9 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
var source = new ol.source.MapQuest({layer: 'sat'});
var source = new ol.source.OSM();
var layer = new ol.layer.Tile();

View File

@@ -4,14 +4,14 @@ goog.require('ol.geom.Point');
goog.require('ol.interaction.Draw');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Icon');
goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
});
var source = new ol.source.Vector();

View File

@@ -50,6 +50,7 @@ var map = new ol.Map({
'© <a href="http://www.openstreetmap.org/copyright">' +
'OpenStreetMap contributors</a>',
format: new ol.format.MVT(),
overlaps: false,
tileGrid: new ol.tilegrid.TileGrid({
extent: ol.proj.get('EPSG:3857').getExtent(),
resolutions: resolutions

View File

@@ -21,6 +21,7 @@ var map = new ol.Map({
'© <a href="http://www.openstreetmap.org/copyright">' +
'OpenStreetMap contributors</a>',
format: new ol.format.MVT(),
overlaps: false,
tileGrid: ol.tilegrid.createXYZ({maxZoom: 22}),
tilePixelRatio: 16,
url: 'http://{a-d}.tiles.mapbox.com/v4/mapbox.mapbox-streets-v6/' +

View File

@@ -1,14 +0,0 @@
---
layout: example.html
title: MapQuest
shortdesc: Example of a MapQuest map.Shows how to create custom controls.
docs: >
Example of a MapQuest map.
tags: "mapquest"
---
<div id="map" class="map"></div>
<select id="layer-select">
<option value="Aerial">Aerial</option>
<option value="AerialWithLabels">Aerial with labels</option>
<option value="Road" selected>Road</option>
</select>

View File

@@ -1,56 +0,0 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Group');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
var layers = [
new ol.layer.Tile({
style: 'Road',
source: new ol.source.MapQuest({layer: 'osm'})
}),
new ol.layer.Tile({
style: 'Aerial',
visible: false,
source: new ol.source.MapQuest({layer: 'sat'})
}),
new ol.layer.Group({
style: 'AerialWithLabels',
visible: false,
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
}),
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'hyb'})
})
]
})
];
var map = new ol.Map({
layers: layers,
renderer: common.getRendererFromQueryString(),
target: 'map',
view: new ol.View({
center: ol.proj.transform(
[-73.979378, 40.702222], 'EPSG:4326', 'EPSG:3857'),
zoom: 9
})
});
var select = document.getElementById('layer-select');
function onChange() {
var style = select.value;
var i, ii;
for (i = 0, ii = layers.length; i < ii; ++i) {
layers[i].set('visible', (layers[i].get('style') == style));
}
}
select.addEventListener('change', onChange);
onChange();

View File

@@ -9,7 +9,7 @@ goog.require('ol.interaction.Draw');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
@@ -20,7 +20,7 @@ goog.require('ol.style.Style');
var wgs84Sphere = new ol.Sphere(6378137);
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
});
var source = new ol.source.Vector();

View File

@@ -6,14 +6,12 @@ goog.require('ol.interaction.Modify');
goog.require('ol.interaction.Select');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({
layer: 'sat'
})
source: new ol.source.OSM()
});
var vector = new ol.layer.Vector({

View File

@@ -92,6 +92,7 @@ var map = new ol.Map({
new ol.layer.VectorTile({
source: new ol.source.VectorTile({
format: format,
overlaps: false,
tileGrid: tileGrid,
url: 'http://{a-c}.tile.openstreetmap.us/' +
'vectiles-land-usages/{z}/{x}/{y}.topojson'

View File

@@ -4,7 +4,7 @@ title: Overlay
shortdesc: Demonstrates overlays.
docs: >
<p>The popups are created using <a href="http://getbootstrap.com/javascript/#popovers">Popovers</a> from Bootstrap.</p>
tags: "overlay, popup, bootstrap, popover, mapquest, openaerial"
tags: "overlay, popup, bootstrap, popover"
resources:
- https://code.jquery.com/jquery-2.2.3.min.js
- https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css

View File

@@ -4,11 +4,11 @@ goog.require('ol.View');
goog.require('ol.coordinate');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
var layer = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
});
var map = new ol.Map({

View File

@@ -6,7 +6,7 @@ docs: >
<p>
Click on the map to get a popup. The popup is composed of a few basic elements: a container, a close button, and a place for the content. To anchor the popup to the map, an <code>ol.Overlay</code> is created with the popup container. A listener is registered for the map's <code>click</code> event to display the popup, and another listener is set as the <code>click</code> handler for the close button to hide the popup.
</p>
tags: "overlay, popup, mapquest, openaerial"
tags: "overlay, popup"
---
<div id="map" class="map"></div>
<div id="popup" class="ol-popup">

View File

@@ -15,7 +15,7 @@ var bins = 10;
/**
* Calculate the Vegetation Greenness Index (VGI) from an input pixel. This
* is a rough estimate assuming that pixel values correspond to reflectance.
* @param {ol.raster.Pixel} pixel An array of [R, G, B, A] values.
* @param {Array.<number>} pixel An array of [R, G, B, A] values.
* @return {number} The VGI value for the given pixel.
*/
function vgi(pixel) {

View File

@@ -21,7 +21,7 @@ var style = new ol.style.Style({
fill: fill,
stroke: stroke
})
})
});
vectorContext.setStyle(style);
vectorContext.drawGeometry(new ol.geom.LineString([[10, 10], [90, 90]]));

View File

@@ -1,12 +1,12 @@
---
layout: example.html
title: Reprojection with EPSG.io Search
shortdesc: Demonstrates client-side raster reprojection of MapQuest OSM to arbitrary projection
shortdesc: Demonstrates client-side raster reprojection of OSM to arbitrary projection
docs: >
This example shows client-side raster reprojection capabilities from
MapQuest OSM (EPSG:3857) to arbitrary projection by searching
OSM (EPSG:3857) to arbitrary projection by searching
in <a href="http://epsg.io/">EPSG.io</a> database.
tags: "reprojection, projection, proj4js, mapquest, epsg.io"
tags: "reprojection, projection, proj4js, epsg.io"
resources:
- http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
---

View File

@@ -3,14 +3,14 @@ goog.require('ol.View');
goog.require('ol.extent');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.TileImage');
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'osm'})
source: new ol.source.OSM()
})
],
renderer: common.getRendererFromQueryString(),

View File

@@ -4,7 +4,7 @@ title: Image Reprojection
shortdesc: Demonstrates client-side reprojection of single image source.
docs: >
This example shows client-side reprojection of single image source.
tags: "reprojection, projection, proj4js, mapquest, image, imagestatic"
tags: "reprojection, projection, proj4js, image, imagestatic"
resources:
- http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
---

View File

@@ -5,7 +5,7 @@ goog.require('ol.layer.Image');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.ImageStatic');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
proj4.defs('EPSG:27700', '+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 ' +
@@ -17,7 +17,7 @@ var imageExtent = [0, 0, 700000, 1300000];
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'osm'})
source: new ol.source.OSM()
}),
new ol.layer.Image({
source: new ol.source.ImageStatic({

View File

@@ -4,7 +4,7 @@ title: Raster Reprojection
shortdesc: Demonstrates client-side raster reprojection between various projections.
docs: >
This example shows client-side raster reprojection between various projections.
tags: "reprojection, projection, proj4js, mapquest, wms, wmts, hidpi"
tags: "reprojection, projection, proj4js, osm, wms, wmts, hidpi"
resources:
- http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.14/proj4.js
---
@@ -13,7 +13,7 @@ resources:
<div class="col-md-3">
<label>Base map:</label>
<select id="base-layer">
<option value="mapquest">MapQuest (EPSG:3857)</option>
<option value="osm">OSM (EPSG:3857)</option>
<option value="wms4326">WMS (EPSG:4326)</option>
</select>
</div>

View File

@@ -5,7 +5,7 @@ goog.require('ol.extent');
goog.require('ol.format.WMTSCapabilities');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.TileImage');
goog.require('ol.source.TileWMS');
goog.require('ol.source.WMTS');
@@ -64,8 +64,8 @@ layers['bng'] = new ol.layer.Tile({
})
});
layers['mapquest'] = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'osm'})
layers['osm'] = new ol.layer.Tile({
source: new ol.source.OSM()
});
layers['wms4326'] = new ol.layer.Tile({
@@ -146,7 +146,7 @@ layers['states'] = new ol.layer.Tile({
var map = new ol.Map({
layers: [
layers['mapquest'],
layers['osm'],
layers['bng']
],
renderer: common.getRendererFromQueryString(),

View File

@@ -0,0 +1,12 @@
---
layout: example.html
title: Reusable Source
shortdesc: Updating a tile source by changing the URL.
docs: >
You can call <code>source.setUrl()</code> to update the URL for a tile source. Note that when you change the URL for a tile source, existing tiles will not be replaced until new tiles are loaded. If you are interested instead in clearing currently rendered tiles, you can call the <code>source.refresh()</code> method. Alternatively, you can use two separate sources if you want to remove rendered tiles and start over loading new tiles.
---
<div id="map" class="map"></div>
<button class="switcher" value="0">January</button>
<button class="switcher" value="1">January (with bathymetry)</button>
<button class="switcher" value="2">July</button>
<button class="switcher" value="3">July (with bathymetry)</button>

View File

@@ -0,0 +1,39 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.XYZ');
var urls = [
'https://{a-c}.tiles.mapbox.com/v3/mapbox.blue-marble-topo-jan/{z}/{x}/{y}.png',
'https://{a-c}.tiles.mapbox.com/v3/mapbox.blue-marble-topo-bathy-jan/{z}/{x}/{y}.png',
'https://{a-c}.tiles.mapbox.com/v3/mapbox.blue-marble-topo-jul/{z}/{x}/{y}.png',
'https://{a-c}.tiles.mapbox.com/v3/mapbox.blue-marble-topo-bathy-jul/{z}/{x}/{y}.png'
];
var source = new ol.source.XYZ();
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: source
})
],
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
function updateUrl(index) {
source.setUrl(urls[index]);
}
var buttons = document.getElementsByClassName('switcher');
for (var i = 0, ii = buttons.length; i < ii; ++i) {
var button = buttons[i];
button.addEventListener('click', updateUrl.bind(null, Number(button.value)));
}
updateUrl(0);

View File

@@ -5,11 +5,11 @@ goog.require('ol.format.GeoJSON');
goog.require('ol.interaction.Select');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
});
var vector = new ol.layer.Vector({

View File

@@ -3,7 +3,7 @@ layout: example.html
title: Semi-Transparent Layer
shortdesc: Example of a map with a semi-transparent layer.
docs: >
This example will display a tiled MaxBox layer semi-transparently over a MapQuest background.
tags: "transparent, mapquest, tilejson"
This example will display a tiled MaxBox layer semi-transparently over an OSM background.
tags: "transparent, osm, tilejson"
---
<div id="map" class="map"></div>

View File

@@ -2,14 +2,14 @@ goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.TileJSON');
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
new ol.layer.Tile({
source: new ol.source.TileJSON({

View File

@@ -2,13 +2,13 @@ goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.has');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
var map1 = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
})
],
renderer: 'dom',

View File

@@ -7,7 +7,7 @@ goog.require('ol.interaction.Select');
goog.require('ol.interaction.Snap');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
@@ -15,7 +15,7 @@ goog.require('ol.style.Stroke');
goog.require('ol.style.Style');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
});
var vector = new ol.layer.Vector({

View File

@@ -29,7 +29,8 @@ var style = new ol.style.Style({
var vector = new ol.layer.Vector({
source: new ol.source.Vector({
url: 'data/topojson/world-110m.json',
format: new ol.format.TopoJSON()
format: new ol.format.TopoJSON(),
overlaps: false
}),
style: function(feature) {
// don't want to render the full world polygon, which repeats all countries

View File

@@ -7,12 +7,12 @@ goog.require('ol.interaction.Select');
goog.require('ol.interaction.Translate');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
var raster = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
});
var vector = new ol.layer.Vector({

View File

@@ -7,7 +7,7 @@ goog.require('ol.format.GeoJSON');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
@@ -44,9 +44,7 @@ var vectorLayer = new ol.layer.Vector({
});
var rasterLayer = new ol.layer.Tile({
source: new ol.source.MapQuest({
layer: 'osm'
})
source: new ol.source.OSM()
});
var map = new ol.Map({

View File

@@ -3,7 +3,7 @@ goog.require('ol.View');
goog.require('ol.format.GeoJSON');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Circle');
goog.require('ol.style.Fill');
@@ -172,7 +172,7 @@ var vectorPoints = new ol.layer.Vector({
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'osm'})
source: new ol.source.OSM()
}),
vectorPolygons,
vectorLines,

View File

@@ -3,7 +3,7 @@ goog.require('ol.View');
goog.require('ol.format.GeoJSON');
goog.require('ol.layer.Tile');
goog.require('ol.layer.Vector');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.Vector');
goog.require('ol.style.Fill');
goog.require('ol.style.Stroke');
@@ -45,7 +45,7 @@ var vectorLayer = new ol.layer.Vector({
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
vectorLayer
],

View File

@@ -3,7 +3,7 @@ goog.require('ol.View');
goog.require('ol.extent');
goog.require('ol.layer.Tile');
goog.require('ol.proj');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.TileWMS');
goog.require('ol.tilegrid.TileGrid');
@@ -22,7 +22,7 @@ var tileGrid = new ol.tilegrid.TileGrid({
var layers = [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
new ol.layer.Tile({
source: new ol.source.TileWMS({

View File

@@ -3,12 +3,12 @@ goog.require('ol.View');
goog.require('ol.layer.Image');
goog.require('ol.layer.Tile');
goog.require('ol.source.ImageWMS');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
var layers = [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
new ol.layer.Image({
extent: [-13884991, 2870341, -7455066, 6338219],

View File

@@ -1,13 +1,13 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.TileWMS');
var layers = [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
new ol.layer.Tile({
source: new ol.source.TileWMS({

View File

@@ -1,13 +1,13 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.TileWMS');
var layers = [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
new ol.layer.Tile({
extent: [-13884991, 2870341, -7455066, 6338219],

View File

@@ -1,7 +1,7 @@
goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
goog.require('ol.source.TileWMS');
var startDate = new Date(Date.parse('2012-01-01T19:00:00Z'));
@@ -10,7 +10,7 @@ var animationId = null;
var layers = [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
source: new ol.source.OSM()
}),
new ol.layer.Tile({
extent: [-13884991, 2870341, -7455066, 6338219],

View File

@@ -30,7 +30,6 @@ fetch(capabilitiesUrl).then(function(response) {
var options = ol.source.WMTS.optionsFromCapabilities(result, {
layer: layer,
matrixSet: 'google3857',
requestEncoding: 'REST',
style: 'normal'
});
options.tilePixelRatio = tilePixelRatio;

View File

@@ -2,7 +2,7 @@ goog.require('ol.Map');
goog.require('ol.View');
goog.require('ol.control.ZoomSlider');
goog.require('ol.layer.Tile');
goog.require('ol.source.MapQuest');
goog.require('ol.source.OSM');
/**
@@ -14,7 +14,7 @@ goog.require('ol.source.MapQuest');
var createMap = function(divId) {
var source, layer, map, zoomslider;
source = new ol.source.MapQuest({layer: 'sat'});
source = new ol.source.OSM();
layer = new ol.layer.Tile({
source: source
});

View File

@@ -92,9 +92,9 @@ oli.ModifyEvent.prototype.features;
/**
* @type {ol.MapBrowserPointerEvent}
* @type {ol.MapBrowserEvent}
*/
oli.ModifyEvent.prototype.mapBrowserPointerEvent;
oli.ModifyEvent.prototype.mapBrowserEvent;
/**

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "openlayers",
"version": "3.15.1",
"version": "3.17.1",
"description": "Build tools and sources for developing OpenLayers based mapping applications",
"keywords": [
"map",
@@ -32,41 +32,41 @@
"dependencies": {
"async": "1.5.2",
"browserify": "13.0.1",
"closure-util": "1.13.1",
"closure-util": "1.15.0",
"derequire": "2.0.3",
"fs-extra": "0.30.0",
"glob": "6.0.4",
"glob": "7.0.5",
"handlebars": "4.0.5",
"jsdoc": "3.4.0",
"marked": "0.3.5",
"metalsmith": "2.1.0",
"metalsmith-layouts": "1.6.5",
"nomnom": "1.8.1",
"pbf": "1.3.5",
"pbf": "2.0.1",
"pixelworks": "1.1.0",
"rbush": "1.4.3",
"rbush": "2.0.1",
"temp": "0.8.3",
"vector-tile": "1.2.0",
"vector-tile": "1.2.1",
"walk": "2.3.9"
},
"devDependencies": {
"clean-css": "3.4.12",
"clean-css": "3.4.18",
"coveralls": "2.11.9",
"debounce": "^1.0.0",
"eslint": "2.10.2",
"eslint-config-openlayers": "4.1.0",
"eslint": "2.13.1",
"eslint-config-openlayers": "5.0.0",
"expect.js": "0.3.1",
"gaze": "^1.0.0",
"istanbul": "0.4.3",
"jquery": "2.2.3",
"mocha": "2.4.5",
"istanbul": "0.4.4",
"jquery": "2.2.4",
"mocha": "2.5.3",
"mocha-phantomjs-core": "^1.3.0",
"mustache": "2.2.1",
"phantomjs-prebuilt": "2.1.7",
"proj4": "2.3.14",
"resemblejs": "2.2.0",
"resemblejs": "2.2.1",
"sinon": "1.17.4",
"slimerjs": "0.906.1"
"slimerjs": "0.906.2"
},
"eslintConfig": {
"extends": "openlayers",
@@ -86,7 +86,10 @@
}
},
"ext": [
"rbush",
{
"module": "rbush",
"browserify": true
},
{
"module": "pbf",
"browserify": true

View File

@@ -36,7 +36,7 @@ ol.array.binarySearch = function(haystack, needle, opt_comparator) {
/* Key not found. */
return found ? low : ~low;
}
};
/**
* @param {Array.<number>} arr Array.
@@ -188,11 +188,11 @@ ol.array.flatten = function(arr) {
ol.array.extend = function(arr, data) {
var i;
var extension = goog.isArrayLike(data) ? data : [data];
var length = extension.length
var length = extension.length;
for (i = 0; i < length; i++) {
arr[arr.length] = extension[i];
}
}
};
/**
@@ -208,7 +208,7 @@ ol.array.remove = function(arr, obj) {
arr.splice(i, 1);
}
return found;
}
};
/**
@@ -228,7 +228,7 @@ ol.array.find = function(arr, func) {
}
}
return null;
}
};
/**
@@ -247,7 +247,7 @@ ol.array.equals = function(arr1, arr2) {
}
}
return true;
}
};
/**
@@ -267,7 +267,7 @@ ol.array.stableSort = function(arr, compareFnc) {
for (i = 0; i < arr.length; i++) {
arr[i] = tmp[i].value;
}
}
};
/**
@@ -282,7 +282,7 @@ ol.array.findIndex = function(arr, func) {
return !func(el, idx, arr);
});
return found ? index : -1;
}
};
/**
@@ -300,4 +300,4 @@ ol.array.isSorted = function(arr, opt_func, opt_strict) {
var res = compare(arr[index - 1], currentVal);
return !(res > 0 || opt_strict && res === 0);
});
}
};

View File

@@ -40,11 +40,10 @@ ol.CollectionEventType = {
* @implements {oli.CollectionEvent}
* @param {ol.CollectionEventType} type Type.
* @param {*=} opt_element Element.
* @param {Object=} opt_target Target.
*/
ol.CollectionEvent = function(type, opt_element, opt_target) {
ol.CollectionEvent = function(type, opt_element) {
goog.base(this, type, opt_target);
ol.events.Event.call(this, type);
/**
* The element that is added to or removed from the collection.
@@ -54,7 +53,7 @@ ol.CollectionEvent = function(type, opt_element, opt_target) {
this.element = opt_element;
};
goog.inherits(ol.CollectionEvent, ol.events.Event);
ol.inherits(ol.CollectionEvent, ol.events.Event);
/**
@@ -82,7 +81,7 @@ ol.CollectionProperty = {
*/
ol.Collection = function(opt_array) {
goog.base(this);
ol.Object.call(this);
/**
* @private
@@ -93,7 +92,7 @@ ol.Collection = function(opt_array) {
this.updateLength_();
};
goog.inherits(ol.Collection, ol.Object);
ol.inherits(ol.Collection, ol.Object);
/**
@@ -182,7 +181,7 @@ ol.Collection.prototype.insertAt = function(index, elem) {
this.array_.splice(index, 0, elem);
this.updateLength_();
this.dispatchEvent(
new ol.CollectionEvent(ol.CollectionEventType.ADD, elem, this));
new ol.CollectionEvent(ol.CollectionEventType.ADD, elem));
};
@@ -240,7 +239,7 @@ ol.Collection.prototype.removeAt = function(index) {
this.array_.splice(index, 1);
this.updateLength_();
this.dispatchEvent(
new ol.CollectionEvent(ol.CollectionEventType.REMOVE, prev, this));
new ol.CollectionEvent(ol.CollectionEventType.REMOVE, prev));
return prev;
};
@@ -257,9 +256,9 @@ ol.Collection.prototype.setAt = function(index, elem) {
var prev = this.array_[index];
this.array_[index] = elem;
this.dispatchEvent(
new ol.CollectionEvent(ol.CollectionEventType.REMOVE, prev, this));
new ol.CollectionEvent(ol.CollectionEventType.REMOVE, prev));
this.dispatchEvent(
new ol.CollectionEvent(ol.CollectionEventType.ADD, elem, this));
new ol.CollectionEvent(ol.CollectionEventType.ADD, elem));
} else {
var j;
for (j = n; j < index; ++j) {

View File

@@ -3,9 +3,8 @@
goog.provide('ol.control.Attribution');
goog.require('goog.asserts');
goog.require('goog.dom');
goog.require('goog.style');
goog.require('ol');
goog.require('ol.dom');
goog.require('ol.Attribution');
goog.require('ol.control.Control');
goog.require('ol.css');
@@ -44,7 +43,7 @@ ol.control.Attribution = function(opt_options) {
this.logoLi_ = document.createElement('LI');
this.ulElement_.appendChild(this.logoLi_);
goog.style.setElementShown(this.logoLi_, false);
this.logoLi_.style.display = 'none';
/**
* @private
@@ -69,30 +68,37 @@ ol.control.Attribution = function(opt_options) {
var collapseLabel = options.collapseLabel !== undefined ? options.collapseLabel : '\u00BB';
/**
* @private
* @type {Node}
*/
this.collapseLabel_ = typeof collapseLabel === 'string' ?
goog.dom.createDom('SPAN', {}, collapseLabel) :
collapseLabel;
if (typeof collapseLabel === 'string') {
/**
* @private
* @type {Node}
*/
this.collapseLabel_ = document.createElement('span');
this.collapseLabel_.textContent = collapseLabel;
} else {
this.collapseLabel_ = collapseLabel;
}
var label = options.label !== undefined ? options.label : 'i';
/**
* @private
* @type {Node}
*/
this.label_ = typeof label === 'string' ?
goog.dom.createDom('SPAN', {}, label) :
label;
if (typeof label === 'string') {
/**
* @private
* @type {Node}
*/
this.label_ = document.createElement('span');
this.label_.textContent = label;
} else {
this.label_ = label;
}
var activeLabel = (this.collapsible_ && !this.collapsed_) ?
this.collapseLabel_ : this.label_;
var button = goog.dom.createDom('BUTTON', {
'type': 'button',
'title': tipLabel
}, activeLabel);
var button = document.createElement('button');
button.setAttribute('type', 'button');
button.title = tipLabel;
button.appendChild(activeLabel);
ol.events.listen(button, ol.events.EventType.CLICK, this.handleClick_, this);
@@ -100,12 +106,14 @@ ol.control.Attribution = function(opt_options) {
ol.css.CLASS_CONTROL +
(this.collapsed_ && this.collapsible_ ? ' ol-collapsed' : '') +
(this.collapsible_ ? '' : ' ol-uncollapsible');
var element = goog.dom.createDom('DIV',
cssClasses, this.ulElement_, button);
var element = document.createElement('div');
element.className = cssClasses;
element.appendChild(this.ulElement_);
element.appendChild(button);
var render = options.render ? options.render : ol.control.Attribution.render;
goog.base(this, {
ol.control.Control.call(this, {
element: element,
render: render,
target: options.target
@@ -136,7 +144,7 @@ ol.control.Attribution = function(opt_options) {
this.logoElements_ = {};
};
goog.inherits(ol.control.Attribution, ol.control.Control);
ol.inherits(ol.control.Attribution, ol.control.Control);
/**
@@ -214,7 +222,7 @@ ol.control.Attribution.prototype.updateElement_ = function(frameState) {
if (!frameState) {
if (this.renderedVisible_) {
goog.style.setElementShown(this.element, false);
this.element.style.display = 'none';
this.renderedVisible_ = false;
}
return;
@@ -230,20 +238,18 @@ ol.control.Attribution.prototype.updateElement_ = function(frameState) {
for (attributionKey in this.attributionElements_) {
if (attributionKey in visibleAttributions) {
if (!this.attributionElementRenderedVisible_[attributionKey]) {
goog.style.setElementShown(
this.attributionElements_[attributionKey], true);
this.attributionElements_[attributionKey].style.display = '';
this.attributionElementRenderedVisible_[attributionKey] = true;
}
delete visibleAttributions[attributionKey];
} else if (attributionKey in hiddenAttributions) {
if (this.attributionElementRenderedVisible_[attributionKey]) {
goog.style.setElementShown(
this.attributionElements_[attributionKey], false);
this.attributionElements_[attributionKey].style.display = 'none';
delete this.attributionElementRenderedVisible_[attributionKey];
}
delete hiddenAttributions[attributionKey];
} else {
goog.dom.removeNode(this.attributionElements_[attributionKey]);
ol.dom.removeNode(this.attributionElements_[attributionKey]);
delete this.attributionElements_[attributionKey];
delete this.attributionElementRenderedVisible_[attributionKey];
}
@@ -260,7 +266,7 @@ ol.control.Attribution.prototype.updateElement_ = function(frameState) {
attributionElement = document.createElement('LI');
attributionElement.innerHTML =
hiddenAttributions[attributionKey].getHTML();
goog.style.setElementShown(attributionElement, false);
attributionElement.style.display = 'none';
this.ulElement_.appendChild(attributionElement);
this.attributionElements_[attributionKey] = attributionElement;
}
@@ -269,7 +275,7 @@ ol.control.Attribution.prototype.updateElement_ = function(frameState) {
!ol.object.isEmpty(this.attributionElementRenderedVisible_) ||
!ol.object.isEmpty(frameState.logos);
if (this.renderedVisible_ != renderVisible) {
goog.style.setElementShown(this.element, renderVisible);
this.element.style.display = renderVisible ? '' : 'none';
this.renderedVisible_ = renderVisible;
}
if (renderVisible &&
@@ -296,7 +302,7 @@ ol.control.Attribution.prototype.insertLogos_ = function(frameState) {
for (logo in logoElements) {
if (!(logo in logos)) {
goog.dom.removeNode(logoElements[logo]);
ol.dom.removeNode(logoElements[logo]);
delete logoElements[logo];
}
}
@@ -314,9 +320,8 @@ ol.control.Attribution.prototype.insertLogos_ = function(frameState) {
if (logoValue === '') {
logoElement = image;
} else {
logoElement = goog.dom.createDom('A', {
'href': logoValue
});
logoElement = document.createElement('a');
logoElement.href = logoValue;
logoElement.appendChild(image);
}
this.logoLi_.appendChild(logoElement);
@@ -324,7 +329,7 @@ ol.control.Attribution.prototype.insertLogos_ = function(frameState) {
}
}
goog.style.setElementShown(this.logoLi_, !ol.object.isEmpty(logos));
this.logoLi_.style.display = !ol.object.isEmpty(logos) ? '' : 'none';
};
@@ -345,9 +350,9 @@ ol.control.Attribution.prototype.handleClick_ = function(event) {
ol.control.Attribution.prototype.handleToggle_ = function() {
this.element.classList.toggle('ol-collapsed');
if (this.collapsed_) {
goog.dom.replaceNode(this.collapseLabel_, this.label_);
ol.dom.replaceNode(this.collapseLabel_, this.label_);
} else {
goog.dom.replaceNode(this.label_, this.collapseLabel_);
ol.dom.replaceNode(this.label_, this.collapseLabel_);
}
this.collapsed_ = !this.collapsed_;
};

View File

@@ -1,10 +1,10 @@
goog.provide('ol.control.Control');
goog.require('goog.dom');
goog.require('ol.events');
goog.require('ol');
goog.require('ol.MapEventType');
goog.require('ol.Object');
goog.require('ol.dom');
/**
@@ -38,7 +38,7 @@ goog.require('ol.Object');
*/
ol.control.Control = function(options) {
goog.base(this);
ol.Object.call(this);
/**
* @protected
@@ -60,7 +60,7 @@ ol.control.Control = function(options) {
/**
* @protected
* @type {!Array.<ol.events.Key>}
* @type {!Array.<ol.EventsKey>}
*/
this.listenerKeys = [];
@@ -74,15 +74,15 @@ ol.control.Control = function(options) {
}
};
goog.inherits(ol.control.Control, ol.Object);
ol.inherits(ol.control.Control, ol.Object);
/**
* @inheritDoc
*/
ol.control.Control.prototype.disposeInternal = function() {
goog.dom.removeNode(this.element);
goog.base(this, 'disposeInternal');
ol.dom.removeNode(this.element);
ol.Object.prototype.disposeInternal.call(this);
};
@@ -105,7 +105,7 @@ ol.control.Control.prototype.getMap = function() {
*/
ol.control.Control.prototype.setMap = function(map) {
if (this.map_) {
goog.dom.removeNode(this.element);
ol.dom.removeNode(this.element);
}
for (var i = 0, ii = this.listenerKeys.length; i < ii; ++i) {
ol.events.unlistenByKey(this.listenerKeys[i]);
@@ -135,5 +135,7 @@ ol.control.Control.prototype.setMap = function(map) {
* @api
*/
ol.control.Control.prototype.setTarget = function(target) {
this.target_ = goog.dom.getElement(target);
this.target_ = typeof target === 'string' ?
document.getElementById(target) :
target;
};

View File

@@ -1,13 +1,11 @@
goog.provide('ol.control.FullScreen');
goog.require('goog.asserts');
goog.require('goog.dom');
goog.require('goog.dom.fullscreen');
goog.require('goog.dom.fullscreen.EventType');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol');
goog.require('ol.control.Control');
goog.require('ol.dom');
goog.require('ol.css');
@@ -58,21 +56,23 @@ ol.control.FullScreen = function(opt_options) {
document.createTextNode(labelActive) : labelActive;
var tipLabel = options.tipLabel ? options.tipLabel : 'Toggle full-screen';
var button = goog.dom.createDom('BUTTON', {
'class': this.cssClassName_ + '-' + goog.dom.fullscreen.isFullScreen(),
'type': 'button',
'title': tipLabel
}, this.labelNode_);
var button = document.createElement('button');
button.className = this.cssClassName_ + '-' + ol.control.FullScreen.isFullScreen();
button.setAttribute('type', 'button');
button.title = tipLabel;
button.appendChild(this.labelNode_);
ol.events.listen(button, ol.events.EventType.CLICK,
this.handleClick_, this);
var cssClasses = this.cssClassName_ + ' ' + ol.css.CLASS_UNSELECTABLE +
' ' + ol.css.CLASS_CONTROL + ' ' +
(!goog.dom.fullscreen.isSupported() ? ol.css.CLASS_UNSUPPORTED : '');
var element = goog.dom.createDom('DIV', cssClasses, button);
(!ol.control.FullScreen.isFullScreenSupported() ? ol.css.CLASS_UNSUPPORTED : '');
var element = document.createElement('div');
element.className = cssClasses;
element.appendChild(button);
goog.base(this, {
ol.control.Control.call(this, {
element: element,
target: options.target
});
@@ -90,7 +90,7 @@ ol.control.FullScreen = function(opt_options) {
this.source_ = options.source;
};
goog.inherits(ol.control.FullScreen, ol.control.Control);
ol.inherits(ol.control.FullScreen, ol.control.Control);
/**
@@ -107,23 +107,30 @@ ol.control.FullScreen.prototype.handleClick_ = function(event) {
* @private
*/
ol.control.FullScreen.prototype.handleFullScreen_ = function() {
if (!goog.dom.fullscreen.isSupported()) {
if (!ol.control.FullScreen.isFullScreenSupported()) {
return;
}
var map = this.getMap();
if (!map) {
return;
}
if (goog.dom.fullscreen.isFullScreen()) {
goog.dom.fullscreen.exitFullScreen();
if (ol.control.FullScreen.isFullScreen()) {
ol.control.FullScreen.exitFullScreen();
} else {
var element = this.source_ ?
goog.dom.getElement(this.source_) : map.getTargetElement();
var element;
if (this.source_) {
element = typeof this.source_ === 'string' ?
document.getElementById(this.source_) :
this.source_;
} else {
element = map.getTargetElement();
}
goog.asserts.assert(element, 'element should be defined');
if (this.keys_) {
goog.dom.fullscreen.requestFullScreenWithKeys(element);
ol.control.FullScreen.requestFullScreenWithKeys(element);
} else {
goog.dom.fullscreen.requestFullScreen(element);
ol.control.FullScreen.requestFullScreen(element);
}
}
};
@@ -135,12 +142,12 @@ ol.control.FullScreen.prototype.handleFullScreen_ = function() {
ol.control.FullScreen.prototype.handleFullScreenChange_ = function() {
var button = this.element.firstElementChild;
var map = this.getMap();
if (goog.dom.fullscreen.isFullScreen()) {
if (ol.control.FullScreen.isFullScreen()) {
button.className = this.cssClassName_ + '-true';
goog.dom.replaceNode(this.labelActiveNode_, this.labelNode_);
ol.dom.replaceNode(this.labelActiveNode_, this.labelNode_);
} else {
button.className = this.cssClassName_ + '-false';
goog.dom.replaceNode(this.labelNode_, this.labelActiveNode_);
ol.dom.replaceNode(this.labelNode_, this.labelActiveNode_);
}
if (map) {
map.updateSize();
@@ -153,11 +160,102 @@ ol.control.FullScreen.prototype.handleFullScreenChange_ = function() {
* @api stable
*/
ol.control.FullScreen.prototype.setMap = function(map) {
goog.base(this, 'setMap', map);
ol.control.Control.prototype.setMap.call(this, map);
if (map) {
this.listenerKeys.push(
ol.events.listen(ol.global.document, goog.dom.fullscreen.EventType.CHANGE,
this.handleFullScreenChange_, this)
this.listenerKeys.push(ol.events.listen(ol.global.document,
ol.control.FullScreen.getChangeType_(),
this.handleFullScreenChange_, this)
);
}
};
/**
* @return {boolean} Fullscreen is supported by the current platform.
*/
ol.control.FullScreen.isFullScreenSupported = function() {
var body = document.body;
return !!(
body.webkitRequestFullscreen ||
(body.mozRequestFullScreen && document.mozFullScreenEnabled) ||
(body.msRequestFullscreen && document.msFullscreenEnabled) ||
(body.requestFullscreen && document.fullscreenEnabled)
);
};
/**
* @return {boolean} Element is currently in fullscreen.
*/
ol.control.FullScreen.isFullScreen = function() {
return !!(
document.webkitIsFullScreen || document.mozFullScreen ||
document.msFullscreenElement || document.fullscreenElement
);
};
/**
* Request to fullscreen an element.
* @param {Node} element Element to request fullscreen
*/
ol.control.FullScreen.requestFullScreen = function(element) {
if (element.requestFullscreen) {
element.requestFullscreen();
} else if (element.msRequestFullscreen) {
element.msRequestFullscreen();
} else if (element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen();
}
};
/**
* Request to fullscreen an element with keyboard input.
* @param {Node} element Element to request fullscreen
*/
ol.control.FullScreen.requestFullScreenWithKeys = function(element) {
if (element.mozRequestFullScreenWithKeys) {
element.mozRequestFullScreenWithKeys();
} else if (element.webkitRequestFullscreen) {
element.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
} else {
ol.control.FullScreen.requestFullScreen(element);
}
};
/**
* Exit fullscreen.
*/
ol.control.FullScreen.exitFullScreen = function() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
};
/**
* @return {string} Change type.
* @private
*/
ol.control.FullScreen.getChangeType_ = (function() {
var changeType;
return function() {
if (!changeType) {
var body = document.body;
if (body.webkitRequestFullscreen) {
changeType = 'webkitfullscreenchange';
} else if (body.mozRequestFullScreen) {
changeType = 'mozfullscreenchange';
} else if (body.msRequestFullscreen) {
changeType = 'MSFullscreenChange';
} else if (body.requestFullscreen) {
changeType = 'fullscreenchange';
}
}
return changeType;
};
})();

View File

@@ -37,12 +37,12 @@ ol.control.MousePosition = function(opt_options) {
var options = opt_options ? opt_options : {};
var element = document.createElement('DIV');
element.className = options.className !== undefined ? options.className : 'ol-mouse-position'
element.className = options.className !== undefined ? options.className : 'ol-mouse-position';
var render = options.render ?
options.render : ol.control.MousePosition.render;
goog.base(this, {
ol.control.Control.call(this, {
element: element,
render: render,
target: options.target
@@ -90,7 +90,7 @@ ol.control.MousePosition = function(opt_options) {
this.lastMouseMovePixel_ = null;
};
goog.inherits(ol.control.MousePosition, ol.control.Control);
ol.inherits(ol.control.MousePosition, ol.control.Control);
/**
@@ -174,7 +174,7 @@ ol.control.MousePosition.prototype.handleMouseOut = function(event) {
* @api stable
*/
ol.control.MousePosition.prototype.setMap = function(map) {
goog.base(this, 'setMap', map);
ol.control.Control.prototype.setMap.call(this, map);
if (map) {
var viewport = map.getViewport();
this.listenerKeys.push(

View File

@@ -1,7 +1,6 @@
goog.provide('ol.control.OverviewMap');
goog.require('goog.asserts');
goog.require('goog.dom');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol');
@@ -17,6 +16,7 @@ goog.require('ol.ViewProperty');
goog.require('ol.control.Control');
goog.require('ol.coordinate');
goog.require('ol.css');
goog.require('ol.dom');
goog.require('ol.extent');
@@ -55,30 +55,37 @@ ol.control.OverviewMap = function(opt_options) {
var collapseLabel = options.collapseLabel !== undefined ? options.collapseLabel : '\u00AB';
/**
* @private
* @type {Node}
*/
this.collapseLabel_ = typeof collapseLabel === 'string' ?
goog.dom.createDom('SPAN', {}, collapseLabel) :
collapseLabel;
if (typeof collapseLabel === 'string') {
/**
* @private
* @type {Node}
*/
this.collapseLabel_ = document.createElement('span');
this.collapseLabel_.textContent = collapseLabel;
} else {
this.collapseLabel_ = collapseLabel;
}
var label = options.label !== undefined ? options.label : '\u00BB';
/**
* @private
* @type {Node}
*/
this.label_ = typeof label === 'string' ?
goog.dom.createDom('SPAN', {}, label) :
label;
if (typeof label === 'string') {
/**
* @private
* @type {Node}
*/
this.label_ = document.createElement('span');
this.label_.textContent = label;
} else {
this.label_ = label;
}
var activeLabel = (this.collapsible_ && !this.collapsed_) ?
this.collapseLabel_ : this.label_;
var button = goog.dom.createDom('BUTTON', {
'type': 'button',
'title': tipLabel
}, activeLabel);
var button = document.createElement('button');
button.setAttribute('type', 'button');
button.title = tipLabel;
button.appendChild(activeLabel);
ol.events.listen(button, ol.events.EventType.CLICK,
this.handleClick_, this);
@@ -127,18 +134,20 @@ ol.control.OverviewMap = function(opt_options) {
ol.css.CLASS_CONTROL +
(this.collapsed_ && this.collapsible_ ? ' ol-collapsed' : '') +
(this.collapsible_ ? '' : ' ol-uncollapsible');
var element = goog.dom.createDom('DIV',
cssClasses, ovmapDiv, button);
var element = document.createElement('div');
element.className = cssClasses;
element.appendChild(ovmapDiv);
element.appendChild(button);
var render = options.render ? options.render : ol.control.OverviewMap.render;
goog.base(this, {
ol.control.Control.call(this, {
element: element,
render: render,
target: options.target
});
};
goog.inherits(ol.control.OverviewMap, ol.control.Control);
ol.inherits(ol.control.OverviewMap, ol.control.Control);
/**
@@ -156,7 +165,7 @@ ol.control.OverviewMap.prototype.setMap = function(map) {
this.unbindView_(oldView);
}
}
goog.base(this, 'setMap', map);
ol.control.Control.prototype.setMap.call(this, map);
if (map) {
this.listenerKeys.push(ol.events.listen(
@@ -445,9 +454,9 @@ ol.control.OverviewMap.prototype.handleClick_ = function(event) {
ol.control.OverviewMap.prototype.handleToggle_ = function() {
this.element.classList.toggle('ol-collapsed');
if (this.collapsed_) {
goog.dom.replaceNode(this.collapseLabel_, this.label_);
ol.dom.replaceNode(this.collapseLabel_, this.label_);
} else {
goog.dom.replaceNode(this.label_, this.collapseLabel_);
ol.dom.replaceNode(this.label_, this.collapseLabel_);
}
this.collapsed_ = !this.collapsed_;

View File

@@ -1,6 +1,5 @@
goog.provide('ol.control.Rotate');
goog.require('goog.dom');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol');
@@ -36,8 +35,9 @@ ol.control.Rotate = function(opt_options) {
this.label_ = null;
if (typeof label === 'string') {
this.label_ = goog.dom.createDom('SPAN',
'ol-compass', label);
this.label_ = document.createElement('span');
this.label_.className = 'ol-compass';
this.label_.textContent = label;
} else {
this.label_ = label;
this.label_.classList.add('ol-compass');
@@ -45,24 +45,26 @@ ol.control.Rotate = function(opt_options) {
var tipLabel = options.tipLabel ? options.tipLabel : 'Reset rotation';
var button = goog.dom.createDom('BUTTON', {
'class': className + '-reset',
'type' : 'button',
'title': tipLabel
}, this.label_);
var button = document.createElement('button');
button.className = className + '-reset';
button.setAttribute('type', 'button');
button.title = tipLabel;
button.appendChild(this.label_);
ol.events.listen(button, ol.events.EventType.CLICK,
ol.control.Rotate.prototype.handleClick_, this);
var cssClasses = className + ' ' + ol.css.CLASS_UNSELECTABLE + ' ' +
ol.css.CLASS_CONTROL;
var element = goog.dom.createDom('DIV', cssClasses, button);
var element = document.createElement('div');
element.className = cssClasses;
element.appendChild(button);
var render = options.render ? options.render : ol.control.Rotate.render;
this.callResetNorth_ = options.resetNorth ? options.resetNorth : undefined;
goog.base(this, {
ol.control.Control.call(this, {
element: element,
render: render,
target: options.target
@@ -91,7 +93,7 @@ ol.control.Rotate = function(opt_options) {
}
};
goog.inherits(ol.control.Rotate, ol.control.Control);
ol.inherits(ol.control.Rotate, ol.control.Control);
/**

View File

@@ -1,10 +1,8 @@
goog.provide('ol.control.ScaleLine');
goog.provide('ol.control.ScaleLineProperty');
goog.provide('ol.control.ScaleLineUnits');
goog.require('goog.asserts');
goog.require('ol.events');
goog.require('goog.style');
goog.require('ol');
goog.require('ol.Object');
goog.require('ol.control.Control');
@@ -25,7 +23,6 @@ ol.control.ScaleLineProperty = {
* Units for the scale line. Supported values are `'degrees'`, `'imperial'`,
* `'nautical'`, `'metric'`, `'us'`.
* @enum {string}
* @api stable
*/
ol.control.ScaleLineUnits = {
DEGREES: 'degrees',
@@ -38,10 +35,11 @@ ol.control.ScaleLineUnits = {
/**
* @classdesc
* A control displaying rough x-axis distances, calculated for the center of the
* viewport.
* No scale line will be shown when the x-axis distance cannot be calculated in
* the view projection (e.g. at or beyond the poles in EPSG:4326).
* A control displaying rough y-axis distances, calculated for the center of the
* viewport. For conformal projections (e.g. EPSG:3857, the default view
* projection in OpenLayers), the scale is valid for all directions.
* No scale line will be shown when the y-axis distance of a pixel at the
* viewport center cannot be calculated in the view projection.
* By default the scale line will show in the bottom left portion of the map,
* but this can be changed by using the css selector `.ol-scale-line`.
*
@@ -103,7 +101,7 @@ ol.control.ScaleLine = function(opt_options) {
var render = options.render ? options.render : ol.control.ScaleLine.render;
goog.base(this, {
ol.control.Control.call(this, {
element: this.element_,
render: render,
target: options.target
@@ -117,7 +115,7 @@ ol.control.ScaleLine = function(opt_options) {
ol.control.ScaleLineUnits.METRIC);
};
goog.inherits(ol.control.ScaleLine, ol.control.Control);
ol.inherits(ol.control.ScaleLine, ol.control.Control);
/**
@@ -184,7 +182,7 @@ ol.control.ScaleLine.prototype.updateElement_ = function() {
if (!viewState) {
if (this.renderedVisible_) {
goog.style.setElementShown(this.element_, false);
this.element_.style.display = 'none';
this.renderedVisible_ = false;
}
return;
@@ -259,7 +257,7 @@ ol.control.ScaleLine.prototype.updateElement_ = function() {
Math.pow(10, Math.floor(i / 3));
width = Math.round(count / pointResolution);
if (isNaN(width)) {
goog.style.setElementShown(this.element_, false);
this.element_.style.display = 'none';
this.renderedVisible_ = false;
return;
} else if (width >= this.minWidth_) {
@@ -280,7 +278,7 @@ ol.control.ScaleLine.prototype.updateElement_ = function() {
}
if (!this.renderedVisible_) {
goog.style.setElementShown(this.element_, true);
this.element_.style.display = '';
this.renderedVisible_ = true;
}

View File

@@ -1,6 +1,5 @@
goog.provide('ol.control.Zoom');
goog.require('goog.dom');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.animation');
@@ -36,29 +35,36 @@ ol.control.Zoom = function(opt_options) {
var zoomOutTipLabel = options.zoomOutTipLabel !== undefined ?
options.zoomOutTipLabel : 'Zoom out';
var inElement = goog.dom.createDom('BUTTON', {
'class': className + '-in',
'type' : 'button',
'title': zoomInTipLabel
}, zoomInLabel);
var inElement = document.createElement('button');
inElement.className = className + '-in';
inElement.setAttribute('type', 'button');
inElement.title = zoomInTipLabel;
inElement.appendChild(
typeof zoomInLabel === 'string' ? document.createTextNode(zoomInLabel) : zoomInLabel
);
ol.events.listen(inElement, ol.events.EventType.CLICK,
ol.control.Zoom.prototype.handleClick_.bind(this, delta));
var outElement = goog.dom.createDom('BUTTON', {
'class': className + '-out',
'type' : 'button',
'title': zoomOutTipLabel
}, zoomOutLabel);
var outElement = document.createElement('button');
outElement.className = className + '-out';
outElement.setAttribute('type', 'button');
outElement.title = zoomOutTipLabel;
outElement.appendChild(
typeof zoomOutLabel === 'string' ? document.createTextNode(zoomOutLabel) : zoomOutLabel
);
ol.events.listen(outElement, ol.events.EventType.CLICK,
ol.control.Zoom.prototype.handleClick_.bind(this, -delta));
var cssClasses = className + ' ' + ol.css.CLASS_UNSELECTABLE + ' ' +
ol.css.CLASS_CONTROL;
var element = goog.dom.createDom('DIV', cssClasses, inElement, outElement);
var element = document.createElement('div');
element.className = cssClasses;
element.appendChild(inElement);
element.appendChild(outElement);
goog.base(this, {
ol.control.Control.call(this, {
element: element,
target: options.target
});
@@ -70,7 +76,7 @@ ol.control.Zoom = function(opt_options) {
this.duration_ = options.duration !== undefined ? options.duration : 250;
};
goog.inherits(ol.control.Zoom, ol.control.Control);
ol.inherits(ol.control.Zoom, ol.control.Control);
/**

View File

@@ -3,8 +3,6 @@
goog.provide('ol.control.ZoomSlider');
goog.require('goog.asserts');
goog.require('goog.dom');
goog.require('goog.style');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('ol.events.EventType');
@@ -58,7 +56,7 @@ ol.control.ZoomSlider = function(opt_options) {
this.dragging_;
/**
* @type {!Array.<ol.events.Key>}
* @type {!Array.<ol.EventsKey>}
* @private
*/
this.dragListenerKeys_ = [];
@@ -109,14 +107,12 @@ ol.control.ZoomSlider = function(opt_options) {
this.duration_ = options.duration !== undefined ? options.duration : 200;
var className = options.className !== undefined ? options.className : 'ol-zoomslider';
var thumbElement = goog.dom.createDom('BUTTON', {
'type': 'button',
'class': className + '-thumb ' + ol.css.CLASS_UNSELECTABLE
});
var containerElement = goog.dom.createDom('DIV',
[className, ol.css.CLASS_UNSELECTABLE, ol.css.CLASS_CONTROL],
thumbElement);
var thumbElement = document.createElement('button');
thumbElement.setAttribute('type', 'button');
thumbElement.className = className + '-thumb ' + ol.css.CLASS_UNSELECTABLE;
var containerElement = document.createElement('div');
containerElement.className = className + ' ' + ol.css.CLASS_UNSELECTABLE + ' ' + ol.css.CLASS_CONTROL;
containerElement.appendChild(thumbElement);
/**
* @type {ol.pointer.PointerEventHandler}
* @private
@@ -137,12 +133,12 @@ ol.control.ZoomSlider = function(opt_options) {
var render = options.render ? options.render : ol.control.ZoomSlider.render;
goog.base(this, {
ol.control.Control.call(this, {
element: containerElement,
render: render
});
};
goog.inherits(ol.control.ZoomSlider, ol.control.Control);
ol.inherits(ol.control.ZoomSlider, ol.control.Control);
/**
@@ -150,7 +146,7 @@ goog.inherits(ol.control.ZoomSlider, ol.control.Control);
*/
ol.control.ZoomSlider.prototype.disposeInternal = function() {
this.dragger_.dispose();
goog.base(this, 'disposeInternal');
ol.control.Control.prototype.disposeInternal.call(this);
};
@@ -169,7 +165,7 @@ ol.control.ZoomSlider.direction = {
* @inheritDoc
*/
ol.control.ZoomSlider.prototype.setMap = function(map) {
goog.base(this, 'setMap', map);
ol.control.Control.prototype.setMap.call(this, map);
if (map) {
map.render();
}
@@ -185,15 +181,18 @@ ol.control.ZoomSlider.prototype.setMap = function(map) {
*/
ol.control.ZoomSlider.prototype.initSlider_ = function() {
var container = this.element;
var containerSize = goog.style.getSize(container);
var containerSize = {
width: container.offsetWidth, height: container.offsetHeight
};
var thumb = container.firstElementChild;
var thumbMargins = goog.style.getMarginBox(thumb);
var thumbBorderBoxSize = goog.style.getBorderBoxSize(thumb);
var thumbWidth = thumbBorderBoxSize.width +
thumbMargins.right + thumbMargins.left;
var thumbHeight = thumbBorderBoxSize.height +
thumbMargins.top + thumbMargins.bottom;
var computedStyle = ol.global.getComputedStyle(thumb);
var thumbWidth = thumb.offsetWidth +
parseFloat(computedStyle['marginRight']) +
parseFloat(computedStyle['marginLeft']);
var thumbHeight = thumb.offsetHeight +
parseFloat(computedStyle['marginTop']) +
parseFloat(computedStyle['marginBottom']);
this.thumbSize_ = [thumbWidth, thumbHeight];
if (containerSize.width > containerSize.height) {

View File

@@ -1,7 +1,6 @@
goog.provide('ol.control.ZoomToExtent');
goog.require('goog.asserts');
goog.require('goog.dom');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.control.Control');
@@ -33,24 +32,28 @@ ol.control.ZoomToExtent = function(opt_options) {
var label = options.label !== undefined ? options.label : 'E';
var tipLabel = options.tipLabel !== undefined ?
options.tipLabel : 'Fit to extent';
var button = goog.dom.createDom('BUTTON', {
'type': 'button',
'title': tipLabel
}, label);
var button = document.createElement('button');
button.setAttribute('type', 'button');
button.title = tipLabel;
button.appendChild(
typeof label === 'string' ? document.createTextNode(label) : label
);
ol.events.listen(button, ol.events.EventType.CLICK,
this.handleClick_, this);
var cssClasses = className + ' ' + ol.css.CLASS_UNSELECTABLE + ' ' +
ol.css.CLASS_CONTROL;
var element = goog.dom.createDom('DIV', cssClasses, button);
var element = document.createElement('div');
element.className = cssClasses;
element.appendChild(button);
goog.base(this, {
ol.control.Control.call(this, {
element: element,
target: options.target
});
};
goog.inherits(ol.control.ZoomToExtent, ol.control.Control);
ol.inherits(ol.control.ZoomToExtent, ol.control.Control);
/**

View File

@@ -1,5 +1,4 @@
goog.provide('ol.DeviceOrientation');
goog.provide('ol.DeviceOrientationProperty');
goog.require('ol.events');
goog.require('ol');
@@ -77,13 +76,13 @@ ol.DeviceOrientationProperty = {
*/
ol.DeviceOrientation = function(opt_options) {
goog.base(this);
ol.Object.call(this);
var options = opt_options ? opt_options : {};
/**
* @private
* @type {?ol.events.Key}
* @type {?ol.EventsKey}
*/
this.listenerKey_ = null;
@@ -94,7 +93,7 @@ ol.DeviceOrientation = function(opt_options) {
this.setTracking(options.tracking !== undefined ? options.tracking : false);
};
goog.inherits(ol.DeviceOrientation, ol.Object);
ol.inherits(ol.DeviceOrientation, ol.Object);
/**
@@ -102,7 +101,7 @@ goog.inherits(ol.DeviceOrientation, ol.Object);
*/
ol.DeviceOrientation.prototype.disposeInternal = function() {
this.setTracking(false);
goog.base(this, 'disposeInternal');
ol.Object.prototype.disposeInternal.call(this);
};
@@ -118,7 +117,7 @@ ol.DeviceOrientation.prototype.orientationChange_ = function(originalEvent) {
// event.absolute is undefined in iOS.
if (typeof event.absolute === 'boolean' && event.absolute) {
this.set(ol.DeviceOrientationProperty.HEADING, alpha);
} else if (goog.isNumber(event.webkitCompassHeading) &&
} else if (typeof event.webkitCompassHeading === 'number' &&
event.webkitCompassAccuracy != -1) {
var heading = ol.math.toRadians(event.webkitCompassHeading);
this.set(ol.DeviceOrientationProperty.HEADING, heading);

View File

@@ -2,8 +2,15 @@ goog.provide('ol.dom');
goog.require('goog.asserts');
goog.require('goog.userAgent');
goog.require('goog.vec.Mat4');
goog.require('ol');
goog.require('ol.vec.Mat4');
/**
* @type {Array.<number>}
* @private
*/
ol.dom.tmpMat4_ = ol.vec.Mat4.create();
/**
@@ -127,7 +134,7 @@ ol.dom.setTransform = function(element, value) {
/**
* @param {!Element} element Element.
* @param {goog.vec.Mat4.Number} transform Matrix.
* @param {ol.Transform} transform Matrix.
* @param {number=} opt_precision Precision.
*/
ol.dom.transformElement2D = function(element, transform, opt_precision) {
@@ -136,45 +143,35 @@ ol.dom.transformElement2D = function(element, transform, opt_precision) {
var i;
if (ol.dom.canUseCssTransform3D()) {
var value3D;
var transform3D = ol.vec.Mat4.fromTransform(ol.dom.tmpMat4_, transform);
if (opt_precision !== undefined) {
/** @type {Array.<string>} */
var strings3D = new Array(16);
for (i = 0; i < 16; ++i) {
strings3D[i] = transform[i].toFixed(opt_precision);
strings3D[i] = transform3D[i].toFixed(opt_precision);
}
value3D = strings3D.join(',');
} else {
value3D = transform.join(',');
value3D = transform3D.join(',');
}
ol.dom.setTransform(element, 'matrix3d(' + value3D + ')');
} else if (ol.dom.canUseCssTransform()) {
/** @type {Array.<number>} */
var transform2D = [
goog.vec.Mat4.getElement(transform, 0, 0),
goog.vec.Mat4.getElement(transform, 1, 0),
goog.vec.Mat4.getElement(transform, 0, 1),
goog.vec.Mat4.getElement(transform, 1, 1),
goog.vec.Mat4.getElement(transform, 0, 3),
goog.vec.Mat4.getElement(transform, 1, 3)
];
/** @type {string} */
var value2D;
if (opt_precision !== undefined) {
/** @type {Array.<string>} */
var strings2D = new Array(6);
for (i = 0; i < 6; ++i) {
strings2D[i] = transform2D[i].toFixed(opt_precision);
strings2D[i] = transform[i].toFixed(opt_precision);
}
value2D = strings2D.join(',');
} else {
value2D = transform2D.join(',');
value2D = transform.join(',');
}
ol.dom.setTransform(element, 'matrix(' + value2D + ')');
} else {
element.style.left =
Math.round(goog.vec.Mat4.getElement(transform, 0, 3)) + 'px';
element.style.top =
Math.round(goog.vec.Mat4.getElement(transform, 1, 3)) + 'px';
element.style.left = Math.round(transform[4]) + 'px';
element.style.top = Math.round(transform[5]) + 'px';
// TODO: Add scaling here. This isn't quite as simple as multiplying
// width/height, because that only changes the container size, not the
@@ -213,3 +210,31 @@ ol.dom.outerHeight = function(element) {
return height;
};
/**
* @param {Node} newNode Node to replace old node
* @param {Node} oldNode The node to be replaced
*/
ol.dom.replaceNode = function(newNode, oldNode) {
var parent = oldNode.parentNode;
if (parent) {
parent.replaceChild(newNode, oldNode);
}
};
/**
* @param {Node} node The node to remove.
* @returns {Node} The node that was removed or null.
*/
ol.dom.removeNode = function(node) {
return node && node.parentNode ? node.parentNode.removeChild(node) : null;
};
/**
* @param {Node} node The node to remove the children from.
*/
ol.dom.removeChildren = function(node) {
while (node.lastChild) {
node.removeChild(node.lastChild);
}
};

View File

@@ -3,7 +3,6 @@ goog.provide('ol.events.EventType');
goog.provide('ol.events.KeyCode');
goog.require('ol.object');
goog.require('ol.events.EventTargetLike');
/**
@@ -63,8 +62,8 @@ ol.events.LISTENER_MAP_PROP_ = 'olm_' + ((Math.random() * 1e4) | 0);
/**
* @param {ol.events.Key} listenerObj Listener object.
* @return {ol.events.ListenerFunctionType} Bound listener.
* @param {ol.EventsKey} listenerObj Listener object.
* @return {ol.EventsListenerFunctionType} Bound listener.
*/
ol.events.bindListener_ = function(listenerObj) {
var boundListener = function(evt) {
@@ -74,22 +73,22 @@ ol.events.bindListener_ = function(listenerObj) {
ol.events.unlistenByKey(listenerObj);
}
return listener.call(bindTo, evt);
}
};
listenerObj.boundListener = boundListener;
return boundListener;
};
/**
* Finds the matching {@link ol.events.Key} in the given listener
* Finds the matching {@link ol.EventsKey} in the given listener
* array.
*
* @param {!Array<!ol.events.Key>} listeners Array of listeners.
* @param {!Array<!ol.EventsKey>} listeners Array of listeners.
* @param {!Function} listener The listener function.
* @param {Object=} opt_this The `this` value inside the listener.
* @param {boolean=} opt_setDeleteIndex Set the deleteIndex on the matching
* listener, for {@link ol.events.unlistenByKey}.
* @return {ol.events.Key|undefined} The matching listener object.
* @return {ol.EventsKey|undefined} The matching listener object.
* @private
*/
ol.events.findListener_ = function(listeners, listener, opt_this,
@@ -110,9 +109,9 @@ ol.events.findListener_ = function(listeners, listener, opt_this,
/**
* @param {ol.events.EventTargetLike} target Target.
* @param {ol.EventTargetLike} target Target.
* @param {string} type Type.
* @return {Array.<ol.events.Key>|undefined} Listeners.
* @return {Array.<ol.EventsKey>|undefined} Listeners.
*/
ol.events.getListeners = function(target, type) {
var listenerMap = target[ol.events.LISTENER_MAP_PROP_];
@@ -123,8 +122,8 @@ ol.events.getListeners = function(target, type) {
/**
* Get the lookup of listeners. If one does not exist on the target, it is
* created.
* @param {ol.events.EventTargetLike} target Target.
* @return {!Object.<string, Array.<ol.events.Key>>} Map of
* @param {ol.EventTargetLike} target Target.
* @return {!Object.<string, Array.<ol.EventsKey>>} Map of
* listeners by event type.
* @private
*/
@@ -141,7 +140,7 @@ ol.events.getListenerMap_ = function(target) {
* Clean up all listener objects of the given type. All properties on the
* listener objects will be removed, and if no listeners remain in the listener
* map, it will be removed from the target.
* @param {ol.events.EventTargetLike} target Target.
* @param {ol.EventTargetLike} target Target.
* @param {string} type Type.
* @private
*/
@@ -150,7 +149,7 @@ ol.events.removeListeners_ = function(target, type) {
if (listeners) {
for (var i = 0, ii = listeners.length; i < ii; ++i) {
target.removeEventListener(type, listeners[i].boundListener);
ol.object.clear(listeners[i])
ol.object.clear(listeners[i]);
}
listeners.length = 0;
var listenerMap = target[ol.events.LISTENER_MAP_PROP_];
@@ -171,13 +170,13 @@ ol.events.removeListeners_ = function(target, type) {
* This function efficiently binds a `listener` to a `this` object, and returns
* a key for use with {@link ol.events.unlistenByKey}.
*
* @param {ol.events.EventTargetLike} target Event target.
* @param {ol.EventTargetLike} target Event target.
* @param {string} type Event type.
* @param {ol.events.ListenerFunctionType} listener Listener.
* @param {ol.EventsListenerFunctionType} listener Listener.
* @param {Object=} opt_this Object referenced by the `this` keyword in the
* listener. Default is the `target`.
* @param {boolean=} opt_once If true, add the listener as one-off listener.
* @return {ol.events.Key} Unique key for the listener.
* @return {ol.EventsKey} Unique key for the listener.
*/
ol.events.listen = function(target, type, listener, opt_this, opt_once) {
var listenerMap = ol.events.getListenerMap_(target);
@@ -193,7 +192,7 @@ ol.events.listen = function(target, type, listener, opt_this, opt_once) {
listenerObj.callOnce = false;
}
} else {
listenerObj = /** @type {ol.events.Key} */ ({
listenerObj = /** @type {ol.EventsKey} */ ({
bindTo: opt_this,
callOnce: !!opt_once,
listener: listener,
@@ -221,12 +220,12 @@ ol.events.listen = function(target, type, listener, opt_this, opt_once) {
* function, the self-unregistering listener will be turned into a permanent
* listener.
*
* @param {ol.events.EventTargetLike} target Event target.
* @param {ol.EventTargetLike} target Event target.
* @param {string} type Event type.
* @param {ol.events.ListenerFunctionType} listener Listener.
* @param {ol.EventsListenerFunctionType} listener Listener.
* @param {Object=} opt_this Object referenced by the `this` keyword in the
* listener. Default is the `target`.
* @return {ol.events.Key} Key for unlistenByKey.
* @return {ol.EventsKey} Key for unlistenByKey.
*/
ol.events.listenOnce = function(target, type, listener, opt_this) {
return ol.events.listen(target, type, listener, opt_this, true);
@@ -240,9 +239,9 @@ ol.events.listenOnce = function(target, type, listener, opt_this) {
* To return a listener, this function needs to be called with the exact same
* arguments that were used for a previous {@link ol.events.listen} call.
*
* @param {ol.events.EventTargetLike} target Event target.
* @param {ol.EventTargetLike} target Event target.
* @param {string} type Event type.
* @param {ol.events.ListenerFunctionType} listener Listener.
* @param {ol.EventsListenerFunctionType} listener Listener.
* @param {Object=} opt_this Object referenced by the `this` keyword in the
* listener. Default is the `target`.
*/
@@ -265,7 +264,7 @@ ol.events.unlisten = function(target, type, listener, opt_this) {
* The argument passed to this function is the key returned from
* {@link ol.events.listen} or {@link ol.events.listenOnce}.
*
* @param {ol.events.Key} key The key.
* @param {ol.EventsKey} key The key.
*/
ol.events.unlistenByKey = function(key) {
if (key && key.target) {
@@ -289,7 +288,7 @@ ol.events.unlistenByKey = function(key) {
* Unregisters all event listeners on an event target. Inspired by
* {@link https://google.github.io/closure-library/api/source/closure/goog/events/events.js.src.html}
*
* @param {ol.events.EventTargetLike} target Target.
* @param {ol.EventTargetLike} target Target.
*/
ol.events.unlistenAll = function(target) {
var listenerMap = ol.events.getListenerMap_(target);

View File

@@ -202,12 +202,14 @@ ol.events.condition.targetNotEditable = function(mapBrowserEvent) {
/**
* Return `true` if the event originates from a mouse device.
*
* @param {ol.MapBrowserPointerEvent} mapBrowserEvent Map browser event.
* @param {ol.MapBrowserEvent} mapBrowserEvent Map browser event.
* @return {boolean} True if the event originates from a mouse device.
* @api stable
*/
ol.events.condition.mouseOnly = function(mapBrowserEvent) {
// see http://www.w3.org/TR/pointerevents/#widl-PointerEvent-pointerType
goog.asserts.assertInstanceof(mapBrowserEvent, ol.MapBrowserPointerEvent,
'Requires an ol.MapBrowserPointerEvent to work.');
return mapBrowserEvent.pointerEvent.pointerType == 'mouse';
};

View File

@@ -14,9 +14,8 @@ goog.provide('ol.events.Event');
* @constructor
* @implements {oli.events.Event}
* @param {string} type Type.
* @param {Object=} opt_target Target.
*/
ol.events.Event = function(type, opt_target) {
ol.events.Event = function(type) {
/**
* @type {boolean}
@@ -35,7 +34,7 @@ ol.events.Event = function(type, opt_target) {
* @type {Object}
* @api stable
*/
this.target = opt_target || null;
this.target = null;
};

View File

@@ -5,6 +5,7 @@ goog.require('ol.Disposable');
goog.require('ol.events');
goog.require('ol.events.Event');
/**
* @classdesc
* A simplified implementation of the W3C DOM Level 2 EventTarget interface.
@@ -25,7 +26,7 @@ goog.require('ol.events.Event');
*/
ol.events.EventTarget = function() {
goog.base(this);
ol.Disposable.call(this);
/**
* @private
@@ -41,17 +42,17 @@ ol.events.EventTarget = function() {
/**
* @private
* @type {!Object.<string, Array.<ol.events.ListenerFunctionType>>}
* @type {!Object.<string, Array.<ol.EventsListenerFunctionType>>}
*/
this.listeners_ = {};
};
goog.inherits(ol.events.EventTarget, ol.Disposable);
ol.inherits(ol.events.EventTarget, ol.Disposable);
/**
* @param {string} type Type.
* @param {ol.events.ListenerFunctionType} listener Listener.
* @param {ol.EventsListenerFunctionType} listener Listener.
*/
ol.events.EventTarget.prototype.addEventListener = function(type, listener) {
var listeners = this.listeners_[type];
@@ -116,7 +117,7 @@ ol.events.EventTarget.prototype.disposeInternal = function() {
* order that they will be called in.
*
* @param {string} type Type.
* @return {Array.<ol.events.ListenerFunctionType>} Listeners.
* @return {Array.<ol.EventsListenerFunctionType>} Listeners.
*/
ol.events.EventTarget.prototype.getListeners = function(type) {
return this.listeners_[type];
@@ -137,7 +138,7 @@ ol.events.EventTarget.prototype.hasListener = function(opt_type) {
/**
* @param {string} type Type.
* @param {ol.events.ListenerFunctionType} listener Listener.
* @param {ol.EventsListenerFunctionType} listener Listener.
*/
ol.events.EventTarget.prototype.removeEventListener = function(type, listener) {
var listeners = this.listeners_[type];

View File

@@ -56,7 +56,7 @@ goog.require('ol.style.Style');
*/
ol.Feature = function(opt_geometryOrProperties) {
goog.base(this);
ol.Object.call(this);
/**
* @private
@@ -86,7 +86,7 @@ ol.Feature = function(opt_geometryOrProperties) {
/**
* @private
* @type {?ol.events.Key}
* @type {?ol.EventsKey}
*/
this.geometryChangeKey_ = null;
@@ -108,7 +108,7 @@ ol.Feature = function(opt_geometryOrProperties) {
}
}
};
goog.inherits(ol.Feature, ol.Object);
ol.inherits(ol.Feature, ol.Object);
/**
@@ -294,7 +294,7 @@ ol.Feature.prototype.setGeometryName = function(name) {
ol.Feature.createStyleFunction = function(obj) {
var styleFunction;
if (goog.isFunction(obj)) {
if (typeof obj === 'function') {
styleFunction = obj;
} else {
/**

Some files were not shown because too many files have changed in this diff Show More