@florasync/leaflet-geokit 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,33 +1,33 @@
1
- var ue = Object.defineProperty;
2
- var fe = (i, t, e) => t in i ? ue(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
- var u = (i, t, e) => fe(i, typeof t != "symbol" ? t + "" : t, e);
4
- import * as C from "leaflet";
1
+ var fe = Object.defineProperty;
2
+ var ge = (s, t, e) => t in s ? fe(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
+ var h = (s, t, e) => ge(s, typeof t != "symbol" ? t + "" : t, e);
4
+ import * as k from "leaflet";
5
5
  import "leaflet-draw";
6
6
  import "leaflet-ruler";
7
- const K = {
7
+ const W = {
8
8
  trace: 10,
9
9
  debug: 20,
10
10
  info: 30,
11
11
  warn: 40,
12
12
  error: 50
13
13
  };
14
- function he(i, t) {
15
- return i === "silent" ? !1 : K[t] >= K[i];
14
+ function me(s, t) {
15
+ return s === "silent" ? !1 : W[t] >= W[s];
16
16
  }
17
- function ge() {
17
+ function Ae() {
18
18
  try {
19
19
  return (/* @__PURE__ */ new Date()).toISOString();
20
20
  } catch {
21
21
  return "";
22
22
  }
23
23
  }
24
- function N(i, t = "debug", e = console) {
24
+ function P(s, t = "debug", e = console) {
25
25
  let o = t;
26
- const a = (n) => (...l) => {
26
+ const a = (r) => (...i) => {
27
27
  try {
28
- if (!he(o, n)) return;
29
- const s = `[${ge()}][${i}][${n.toUpperCase()}]`, c = e[n];
30
- typeof c == "function" ? c(s, ...l) : e.log(s, ...l);
28
+ if (!me(o, r)) return;
29
+ const l = `[${Ae()}][${s}][${r.toUpperCase()}]`, c = e[r];
30
+ typeof c == "function" ? c(l, ...i) : e.log(l, ...i);
31
31
  } catch {
32
32
  }
33
33
  };
@@ -35,40 +35,40 @@ function N(i, t = "debug", e = console) {
35
35
  get level() {
36
36
  return o;
37
37
  },
38
- setLevel(n) {
39
- o = n;
38
+ setLevel(r) {
39
+ o = r;
40
40
  },
41
41
  trace: a("trace"),
42
42
  debug: a("debug"),
43
43
  info: a("info"),
44
44
  warn: a("warn"),
45
45
  error: a("error"),
46
- child(n) {
47
- return N(`${i}:${n}`, o, e);
46
+ child(r) {
47
+ return P(`${s}:${r}`, o, e);
48
48
  }
49
49
  };
50
50
  }
51
- const me = '.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}', Ae = `.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAAeCAYAAACWuCNnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAG7AAABuwBHnU4NQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAbvSURBVHic7dtdbBxXFQfw/9nZ3SRKwAP7UFFUQOoHqGnUoEAoNghX9tyxVcpD1X0J+WgiUQmpfUB5ACSgG1qJIKASqBIUIauqAbWseIlqb+bOWHVR6y0FKZBEqdIUQROIREGRx3FFvR/38ODZst3a3nE8Ywfv+T2t7hzdM3fle/bOnWtACCGEEEIIIYQQQgghhBBCCCGEEEIIIcRa0EbfgBDdFItFKwzDAa3175LuWylVAvBIR/MxrXUp6Vxx9dp4VyObVEdKKW591lonXgiVUg6AHzPzk9ls9meVSmUh6RzXkz179uQKhcIgM+8CACI6U6vVnp+enm6knXt4ePiuTCbzWQAwxlSDIHg57ZwroDAMnwKwz3XdBzzPG08hxzsTNprQG2lTjtd13WFmfghAP4A+AJcATFiW9YNKpfL3uP0kUliiX4SG1pqUUpx0wXJd9/PMXAGwPWq6yMyPz8/P/7xarf4nyVwt7QV4JWkU52i8YwBu6bh0wRhzJAiCF5POCQCDg4N2Pp//NYDRjkuTxph9QRCESeYrFov5ubm5R5n5AIAPtV1aYOb7BgYGTpZKJeO67lFmPsbM9/i+/8Ja8y6zylhOYquPXhsvAJRKpczMzMwTAIaJ6LFGo+HNzs5eKRQKNxPRAWb+CoAjWuvn4vS35skWFasxAAdbbUlOYqVUPwAPwI4lLr8J4KeWZT1eqVTmksoZ5d2QghUVKx/AlmVCFph5yPf9l5LMCwBKqUksFqszRHQcAJj5GwB2MfOE7/tfTDKf4zjHiejrAE4CuNhqZ+bf2rY9FYbhGBH92/O8o47j3Oj7/uUk86+3XhsvACilHmPmgW3btn3pxIkTVzuvj4yMfNoY85wxZiQIglPd+lvTZIuq5xiAQwCe6evr218ul5tr6bNd9GiiAbyvS+hFrfVHk8oLbEzBih4Dz+G9K6t3IaLXFhYWdib5eBh911UA8wBu1lq/CQBDQ0M3WJb1OoAdRPQZz/NeSSqnUuofAKpa6/vb26MfwacA7AdwFcCdWuu/JpU3yl1C91VHoquNXhvvyMjIx4wxr1iWtbNSqfxruTjHcR4AcMj3/bu79XnNe1hpFyvHcXYT0QS6FysASHR1tVEKhcIguhQrAGDm23K53BcATCWV27KsAWYGgPOtYgUAU1NT/1RKnQewxxjzOQCJFSwANwI4297QtmLfD+AtZr43m83OJ5iz3bGU+l1OT43XGFNk5mdXKlYAYNv2eBiG31dK3aS1vrRSbOZabqRYLFppFisAIKJxAB+MGf56krk30O64gZlMJnZsHMxsoo8fHxoauqHVHn3+BAAQUaxV57Xq2F54i5nvIaJXm81mYoX5etID491JRH/sFlQul5tEdMoYc3u32FUXrLYvObViBQDM/MQqwi8knX8jEJHpHrXIGJNo8WDm1spph2VZgeu6+5RSX7YsK8D/Xnb8Psmcnebm5h7G4uS9ysxutOH8VQC70sy7UTb7eImImTnWlgkzUyaT6fr3v6qC1fGL8EytVjuQRrECANu2fwHg1TixzPyXNO5hvTHz6VWE/znJ3L7vzxBRa9PzDmb+FYBfArgjajvd39+f9vGGKwACZh5te6mwmc8KburxMvO5TCbzqW5xxWLRArDbsqyu8z32HtZSxSrNM0Hlcrnpum6JmZ+NEb4pHglrtdrz+Xz+AoBbu4Ser9fra37d3YEBfBvAkq+XmfmbpVIp9grwWnie9zSAp9PMcT3Z7OPNZrO/aTQaf1BKfbd9X7RTGIaHmPlcnPNYsVZYSikOw7AB4CAzj/f19e1fjwOMnueVEeMxJJfLbYqCNT093TDGHAGw0qHYBQBH0vj+Pc+bYOb3HFRk5nHf9yeTzgfgMhF9uEvMTQD+71/vR3pqvJOTk28AeBJAeXR09P1LxbiuuxfA9wB8LU6fsVdYrUOhtm0fTusxcAlMRN+KziUt5SqAM3v37r00OZnGfFp/QRC86DjOUCaTGWPm2zoun8fiIbuZtPLX6/UH8/n8rQDuippertfrD6aRKyqOR5VS81ji8Z+IbmfmgwB+mEb+9dZr4wWA/v7+R6rV6k+azeYpx3EezeVyJ7dv335lfn7+lkajcZCZDzPzYd/3/xSnv9gFq3UuaR2LFQDA87xAKVUB8BEAZ6N9nrNEdEZr/TcArLVOPG8aJ9jj8n3/pcHBwZ1btmx5519zmPl0vV5/Ie2V7fT09Nujo6Nus9kcA4CtW7ce1lq/nUYu27a/Mzs7CyI6gMVX/u/CzJeZ+Ue2bcc9pb1aXc8lJZms18YLANE2wkOu694N4OFGo3E8DMMPAHiDiCaY+ZOb4YCsEEIIIYQQQgghhBBCCCGEEEIIIYQQQgghhEjYfwGO+b5dFNs4OgAAAABJRU5ErkJggg==);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:cc='http://creativecommons.org/ns%23'%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:svg='http://www.w3.org/2000/svg'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd'%20xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape'%20viewBox='0%200%20600%2060'%20height='60'%20width='600'%20id='svg4225'%20version='1.1'%20inkscape:version='0.91%20r13725'%20sodipodi:docname='spritesheet.svg'%20inkscape:export-filename='/home/fpuga/development/upstream/icarto.Leaflet.draw/src/images/spritesheet-2x.png'%20inkscape:export-xdpi='90'%20inkscape:export-ydpi='90'%3e%3cmetadata%20id='metadata4258'%3e%3crdf:RDF%3e%3ccc:Work%20rdf:about=''%3e%3cdc:format%3eimage/svg+xml%3c/dc:format%3e%3cdc:type%20rdf:resource='http://purl.org/dc/dcmitype/StillImage'%20/%3e%3cdc:title%20/%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs%20id='defs4256'%20/%3e%3csodipodi:namedview%20pagecolor='%23ffffff'%20bordercolor='%23666666'%20borderopacity='1'%20objecttolerance='10'%20gridtolerance='10'%20guidetolerance='10'%20inkscape:pageopacity='0'%20inkscape:pageshadow='2'%20inkscape:window-width='1920'%20inkscape:window-height='1056'%20id='namedview4254'%20showgrid='false'%20inkscape:zoom='1.3101852'%20inkscape:cx='237.56928'%20inkscape:cy='7.2419621'%20inkscape:window-x='1920'%20inkscape:window-y='24'%20inkscape:window-maximized='1'%20inkscape:current-layer='svg4225'%20/%3e%3cg%20id='enabled'%20style='fill:%23464646;fill-opacity:1'%3e%3cg%20id='polyline'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%2018,36%200,6%206,0%200,-6%20-6,0%20z%20m%204,4%20-2,0%200,-2%202,0%200,2%20z'%20id='path4229'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%2036,18%200,6%206,0%200,-6%20-6,0%20z%20m%204,4%20-2,0%200,-2%202,0%200,2%20z'%20id='path4231'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%2023.142,39.145%20-2.285,-2.29%2016,-15.998%202.285,2.285%20z'%20id='path4233'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3cpath%20id='polygon'%20d='M%20100,24.565%2097.904,39.395%2083.07,42%2076,28.773%2086.463,18%20Z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='rectangle'%20d='m%20140,20%2020,0%200,20%20-20,0%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='circle'%20d='m%20221,30%20c%200,6.078%20-4.926,11%20-11,11%20-6.074,0%20-11,-4.922%20-11,-11%200,-6.074%204.926,-11%2011,-11%206.074,0%2011,4.926%2011,11%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='marker'%20d='m%20270,19%20c%20-4.971,0%20-9,4.029%20-9,9%200,4.971%205.001,12%209,14%204.001,-2%209,-9.029%209,-14%200,-4.971%20-4.029,-9%20-9,-9%20z%20m%200,12.5%20c%20-2.484,0%20-4.5,-2.014%20-4.5,-4.5%200,-2.484%202.016,-4.5%204.5,-4.5%202.485,0%204.5,2.016%204.5,4.5%200,2.486%20-2.015,4.5%20-4.5,4.5%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cg%20id='edit'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%20337,30.156%200,0.407%200,5.604%20c%200,1.658%20-1.344,3%20-3,3%20l%20-10,0%20c%20-1.655,0%20-3,-1.342%20-3,-3%20l%200,-10%20c%200,-1.657%201.345,-3%203,-3%20l%206.345,0%203.19,-3.17%20-9.535,0%20c%20-3.313,0%20-6,2.687%20-6,6%20l%200,10%20c%200,3.313%202.687,6%206,6%20l%2010,0%20c%203.314,0%206,-2.687%206,-6%20l%200,-8.809%20-3,2.968'%20id='path4240'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20338.72,24.637%20-8.892,8.892%20-2.828,0%200,-2.829%208.89,-8.89%20z'%20id='path4242'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20338.697,17.826%204,0%200,4%20-4,0%20z'%20transform='matrix(-0.70698336,-0.70723018,0.70723018,-0.70698336,567.55917,274.78273)'%20id='path4244'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3cg%20id='remove'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%20381,42%2018,0%200,-18%20-18,0%200,18%20z%20m%2014,-16%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z'%20id='path4247'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20395,20%200,-4%20-10,0%200,4%20-6,0%200,2%2022,0%200,-2%20-6,0%20z%20m%20-2,0%20-6,0%200,-2%206,0%200,2%20z'%20id='path4249'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3c/g%3e%3cg%20id='disabled'%20transform='translate(120,0)'%20style='fill:%23bbbbbb'%3e%3cuse%20xlink:href='%23edit'%20id='edit-disabled'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%20/%3e%3cuse%20xlink:href='%23remove'%20id='remove-disabled'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%20/%3e%3c/g%3e%3cpath%20style='fill:none;stroke:%23464646;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1'%20id='circle-3'%20d='m%20581.65725,30%20c%200,6.078%20-4.926,11%20-11,11%20-6.074,0%20-11,-4.922%20-11,-11%200,-6.074%204.926,-11%2011,-11%206.074,0%2011,4.926%2011,11%20z'%20inkscape:connector-curvature='0'%20/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:cc='http://creativecommons.org/ns%23'%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:svg='http://www.w3.org/2000/svg'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd'%20xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape'%20viewBox='0%200%20600%2060'%20height='60'%20width='600'%20id='svg4225'%20version='1.1'%20inkscape:version='0.91%20r13725'%20sodipodi:docname='spritesheet.svg'%20inkscape:export-filename='/home/fpuga/development/upstream/icarto.Leaflet.draw/src/images/spritesheet-2x.png'%20inkscape:export-xdpi='90'%20inkscape:export-ydpi='90'%3e%3cmetadata%20id='metadata4258'%3e%3crdf:RDF%3e%3ccc:Work%20rdf:about=''%3e%3cdc:format%3eimage/svg+xml%3c/dc:format%3e%3cdc:type%20rdf:resource='http://purl.org/dc/dcmitype/StillImage'%20/%3e%3cdc:title%20/%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs%20id='defs4256'%20/%3e%3csodipodi:namedview%20pagecolor='%23ffffff'%20bordercolor='%23666666'%20borderopacity='1'%20objecttolerance='10'%20gridtolerance='10'%20guidetolerance='10'%20inkscape:pageopacity='0'%20inkscape:pageshadow='2'%20inkscape:window-width='1920'%20inkscape:window-height='1056'%20id='namedview4254'%20showgrid='false'%20inkscape:zoom='1.3101852'%20inkscape:cx='237.56928'%20inkscape:cy='7.2419621'%20inkscape:window-x='1920'%20inkscape:window-y='24'%20inkscape:window-maximized='1'%20inkscape:current-layer='svg4225'%20/%3e%3cg%20id='enabled'%20style='fill:%23464646;fill-opacity:1'%3e%3cg%20id='polyline'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%2018,36%200,6%206,0%200,-6%20-6,0%20z%20m%204,4%20-2,0%200,-2%202,0%200,2%20z'%20id='path4229'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%2036,18%200,6%206,0%200,-6%20-6,0%20z%20m%204,4%20-2,0%200,-2%202,0%200,2%20z'%20id='path4231'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%2023.142,39.145%20-2.285,-2.29%2016,-15.998%202.285,2.285%20z'%20id='path4233'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3cpath%20id='polygon'%20d='M%20100,24.565%2097.904,39.395%2083.07,42%2076,28.773%2086.463,18%20Z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='rectangle'%20d='m%20140,20%2020,0%200,20%20-20,0%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='circle'%20d='m%20221,30%20c%200,6.078%20-4.926,11%20-11,11%20-6.074,0%20-11,-4.922%20-11,-11%200,-6.074%204.926,-11%2011,-11%206.074,0%2011,4.926%2011,11%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='marker'%20d='m%20270,19%20c%20-4.971,0%20-9,4.029%20-9,9%200,4.971%205.001,12%209,14%204.001,-2%209,-9.029%209,-14%200,-4.971%20-4.029,-9%20-9,-9%20z%20m%200,12.5%20c%20-2.484,0%20-4.5,-2.014%20-4.5,-4.5%200,-2.484%202.016,-4.5%204.5,-4.5%202.485,0%204.5,2.016%204.5,4.5%200,2.486%20-2.015,4.5%20-4.5,4.5%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cg%20id='edit'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%20337,30.156%200,0.407%200,5.604%20c%200,1.658%20-1.344,3%20-3,3%20l%20-10,0%20c%20-1.655,0%20-3,-1.342%20-3,-3%20l%200,-10%20c%200,-1.657%201.345,-3%203,-3%20l%206.345,0%203.19,-3.17%20-9.535,0%20c%20-3.313,0%20-6,2.687%20-6,6%20l%200,10%20c%200,3.313%202.687,6%206,6%20l%2010,0%20c%203.314,0%206,-2.687%206,-6%20l%200,-8.809%20-3,2.968'%20id='path4240'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20338.72,24.637%20-8.892,8.892%20-2.828,0%200,-2.829%208.89,-8.89%20z'%20id='path4242'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20338.697,17.826%204,0%200,4%20-4,0%20z'%20transform='matrix(-0.70698336,-0.70723018,0.70723018,-0.70698336,567.55917,274.78273)'%20id='path4244'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3cg%20id='remove'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%20381,42%2018,0%200,-18%20-18,0%200,18%20z%20m%2014,-16%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z'%20id='path4247'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20395,20%200,-4%20-10,0%200,4%20-6,0%200,2%2022,0%200,-2%20-6,0%20z%20m%20-2,0%20-6,0%200,-2%206,0%200,2%20z'%20id='path4249'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3c/g%3e%3cg%20id='disabled'%20transform='translate(120,0)'%20style='fill:%23bbbbbb'%3e%3cuse%20xlink:href='%23edit'%20id='edit-disabled'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%20/%3e%3cuse%20xlink:href='%23remove'%20id='remove-disabled'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%20/%3e%3c/g%3e%3cpath%20style='fill:none;stroke:%23464646;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1'%20id='circle-3'%20d='m%20581.65725,30%20c%200,6.078%20-4.926,11%20-11,11%20-6.074,0%20-11,-4.922%20-11,-11%200,-6.074%204.926,-11%2011,-11%206.074,0%2011,4.926%2011,11%20z'%20inkscape:connector-curvature='0'%20/%3e%3c/svg%3e")}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{-webkit-border-radius:0;border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #AAA;color:#fff;font:11px/19px Helvetica Neue,Arial,Helvetica,sans-serif;line-height:28px;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:#363636;background:#00000080;border:1px solid transparent;-webkit-border-radius:4px;border-radius:4px;color:#fff;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid black;border-right-color:#00000080;border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:#fe57a11a;border:4px dashed rgba(254,87,161,.6);-webkit-border-radius:4px;border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}`, be = ".leaflet-ruler{height:35px;width:35px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhBQoMHg6McuYvAAABwklEQVQ4y43TP0jUYRgH8M/daQpqdujhnwShGiwyipCIoIgWxyIwrqEhnCQoGqKhpoYMg1qCQjg8TC2JCtSkjCgaKisIhyQUwpJssD9KZWRZg6d450/yGV54n/fzfd53eUOCaoNa5QpNGNPr9cKjUAatdsB++co0G1XiiHd+uqnTq8VzI874o9s2Ic1iiEpii9tmnJOdfkOldt/dU+HYolHnjdmpRNzbuVaNL86m4sXqNOrz3kMXHFKYMqd8VREGBToMifqLgwY1yNZirya5knaBqH16fJjNJiWEFSlxy4g980+pMuZkir/UJjLbrvNRPnINaLUygK/yQpuImHp47LOjuKJPOJA/1y4iZsAlyozLs8IO42L/4QlhGrSCy5oCeKH+dM59vVbL9sn6AP5MRzpnVKtN1viRxit1WRvEmVKFrQbTpoddNR3E+aYKuw1lPOapa0GcEf22KzOtejmcG1rkYdjEAn59KU5cDzjt+HI4BSZtVJTazfIsMQOmFAusLr/E53lniickJYIDNcaUL+JhMZPWBUdOeCCaweGOw5k0lFrv2uyRuBxPlLpoBtTK0p3mh+f+dKl6jX6LapRj6XrzD+1bmkFA/dTVAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA1LTEwVDEyOjMwOjE0KzAyOjAwUNH5TAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wNS0xMFQxMjozMDoxNCswMjowMCGMQfAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center}.leaflet-ruler:hover{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAACmAAAApgHdff84AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAn9QTFRF////AAAAAAAAAAAAAAAAAAAzABcXABQUABIkDhwrAA0aAAwYABUgABQfABIbABAZAA8fABUcABMaABMfABIeABEcABAbABQeABMdABIdABEbABIbABIbABEdABEcABIcBxsoABEdABIdABIdABEcABMbABMdFBwgERofAhIbEhsfAhIdBxUeEhsgEBofAhMbAhMdBRMdAhIbAhIdAhMdCRceARIcDBgfDBgfDBcfDBcfFhwgDBceDBceCxceFCs5HTdGAxMcDxofGTFAHDRDHDVDHDVEHTZFDRkfEBofERogCh0oERsgARIcEhsfEhsgCh4pDCEsDRkfDRkfEBofBhQdDSMvDRgfDBgfCBUeBxUeDyUyECYzUDktPTAqCRceCRYeChYeDxkfEBkgLCgmWj4wCBYdW0AwGh4hHCAiHSAiTDctBhUdBxYdEBkfLyonMConBhUdJiUkLCclLSgmLigmOzApPTEpDBgfBRQdDBgfERsgWT8wBBMdCBYeChceQjMrSzctZEUyBBMdERsgXUAxXkExY0QzglQ5AxUfBxolSjcthlU6hlY7h1Y7AxMcSDUsSjYsd042g1Q5hlY6jVo8AhIcAxMcBBQdLEpcOVpvARIcAhIcBhQdDSIuEhsgJ0NUNS0oNi0oO11yTTgtUXmSUnqUXEAxXUExYEIyZUUzaEYzb0o1cEo1dEw2i1g8jFk8jcfskFs9mdX9mmA/mtf/pmZCqGdCsWxEvnJHxHVJxnZJyHdJzHlK0XxM031M139N3IFO3YJO4INP5IVQ5YZQ5oZQ6ohR7IlS7opS74tS8ItT841T9I1T9o5U949U+ZBV+pBV/ZJW/pJW/5NWIYcOagAAAJt0Uk5TAAECAwQFCw0OEhQVGBkcHyEkKCkqLTAzNUZLVFZZW2RnanJzeHl8f4uMjY6Pj5KVl52eoKGprKytrq+vsLGytLu9vb/BwsLDxcXP0NDS09bf4uPk5OXl5ufo6enq7O3u7+/x8fHy8/P09PT09fX19fX29vb29vb29/j4+Pj5+fn5+fn6+vr6+vr7/Pz8/Pz9/f39/f39/v7+/v7Td3FlAAABgklEQVQoU2NggAMRJU1DTWURBlQgqhWUND11Tfr05GBdMYQws8a07j2XVx2/cnLl5T0T5+ixQsX5/RrWr70CA+s2NPoLgMUlciddvnLl3PbslMysmi2ngXKTc/iA4uwRC1dfudRT76UtJy5lMHvHlSsni82ZgBLWbZdOHCuPlARpForvBYszA9ky1WeunC8y5YCI9125cqrEnJlbnoHBZ/6mK+0eTAjxUgtmbl99Bt6Ksxd2pXGDxRPg4kZMDIqxV6406cDFT8PEGRwnHLlYJQwSTwSJ51tCxRmiVuw7VAsRP7zkIEKcofnAlb0hEPWXls9AiDNUHriyMxwoPgVoToEVQpwhdNHuY/2imOIMZq1nr2QUgsVtkMUZZOOuXOmYiinOwF63/8QVsDgLd0wnFwMCOM3dBhK3ZeGOXjzLHklCIu8oRDxs8eaNXYJIMuplJ0HigYs3b906UwFJgtGzxY6FLWDe0mXLli3wVoEAaZAMjxoLA6eDu5urq4uziTEEqAIAvamx163e5EoAAAAASUVORK5CYII=)}.leaflet-ruler-clicked{height:35px;width:35px;background-repeat:no-repeat;background-position:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAACmAAAApgHdff84AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAn9QTFRF////AAAAAAAAAAAAAAAAAAAzABcXABQUABIkDhwrAA0aAAwYABUgABQfABIbABAZAA8fABUcABMaABMfABIeABEcABAbABQeABMdABIdABEbABIbABIbABEdABEcABIcBxsoABEdABIdABIdABEcABMbABMdFBwgERofAhIbEhsfAhIdBxUeEhsgEBofAhMbAhMdBRMdAhIbAhIdAhMdCRceARIcDBgfDBgfDBcfDBcfFhwgDBceDBceCxceFCs5HTdGAxMcDxofGTFAHDRDHDVDHDVEHTZFDRkfEBofERogCh0oERsgARIcEhsfEhsgCh4pDCEsDRkfDRkfEBofBhQdDSMvDRgfDBgfCBUeBxUeDyUyECYzUDktPTAqCRceCRYeChYeDxkfEBkgLCgmWj4wCBYdW0AwGh4hHCAiHSAiTDctBhUdBxYdEBkfLyonMConBhUdJiUkLCclLSgmLigmOzApPTEpDBgfBRQdDBgfERsgWT8wBBMdCBYeChceQjMrSzctZEUyBBMdERsgXUAxXkExY0QzglQ5AxUfBxolSjcthlU6hlY7h1Y7AxMcSDUsSjYsd042g1Q5hlY6jVo8AhIcAxMcBBQdLEpcOVpvARIcAhIcBhQdDSIuEhsgJ0NUNS0oNi0oO11yTTgtUXmSUnqUXEAxXUExYEIyZUUzaEYzb0o1cEo1dEw2i1g8jFk8jcfskFs9mdX9mmA/mtf/pmZCqGdCsWxEvnJHxHVJxnZJyHdJzHlK0XxM031M139N3IFO3YJO4INP5IVQ5YZQ5oZQ6ohR7IlS7opS74tS8ItT841T9I1T9o5U949U+ZBV+pBV/ZJW/pJW/5NWIYcOagAAAJt0Uk5TAAECAwQFCw0OEhQVGBkcHyEkKCkqLTAzNUZLVFZZW2RnanJzeHl8f4uMjY6Pj5KVl52eoKGprKytrq+vsLGytLu9vb/BwsLDxcXP0NDS09bf4uPk5OXl5ufo6enq7O3u7+/x8fHy8/P09PT09fX19fX29vb29vb29/j4+Pj5+fn5+fn6+vr6+vr7/Pz8/Pz9/f39/f39/v7+/v7Td3FlAAABgklEQVQoU2NggAMRJU1DTWURBlQgqhWUND11Tfr05GBdMYQws8a07j2XVx2/cnLl5T0T5+ixQsX5/RrWr70CA+s2NPoLgMUlciddvnLl3PbslMysmi2ngXKTc/iA4uwRC1dfudRT76UtJy5lMHvHlSsni82ZgBLWbZdOHCuPlARpForvBYszA9ky1WeunC8y5YCI9125cqrEnJlbnoHBZ/6mK+0eTAjxUgtmbl99Bt6Ksxd2pXGDxRPg4kZMDIqxV6406cDFT8PEGRwnHLlYJQwSTwSJ51tCxRmiVuw7VAsRP7zkIEKcofnAlb0hEPWXls9AiDNUHriyMxwoPgVoToEVQpwhdNHuY/2imOIMZq1nr2QUgsVtkMUZZOOuXOmYiinOwF63/8QVsDgLd0wnFwMCOM3dBhK3ZeGOXjzLHklCIu8oRDxs8eaNXYJIMuplJ0HigYs3b906UwFJgtGzxY6FLWDe0mXLli3wVoEAaZAMjxoLA6eDu5urq4uziTEEqAIAvamx163e5EoAAAAASUVORK5CYII=);border-color:#7fff00!important}.leaflet-bar{background-color:#fff}.leaflet-control{cursor:pointer}.result-tooltip{background-color:#fff;border-width:medium;border-color:#de0000;font-size:smaller}.moving-tooltip{background-color:#ffffffb3;background-clip:padding-box;opacity:.5;border:dotted;border-color:red;font-size:smaller}.plus-length{padding-left:45px}", ye = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcY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", xe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=", we = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC", ke = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='430'%20height='430'%20style='width:100%25;height:100%25;transform:translate3d(0,0,0);content-visibility:visible'%20viewBox='0%200%20430%20430'%3e%3cdefs%3e%3cclipPath%20id='i'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='s'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='e'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='p'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='f'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='m'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='g'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='j'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='h'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cfilter%20id='t'%20width='300%25'%20height='300%25'%20x='-100%25'%20y='-100%25'%3e%3cfeGaussianBlur%20result='filter_result_0'/%3e%3c/filter%3e%3cfilter%20id='r'%20width='300%25'%20height='300%25'%20x='-100%25'%20y='-100%25'%3e%3cfeGaussianBlur%20result='filter_result_0'%20stdDeviation='52.5%2052.5'/%3e%3c/filter%3e%3cfilter%20id='n'%20width='300%25'%20height='300%25'%20x='-100%25'%20y='-100%25'%3e%3cfeGaussianBlur%20result='filter_result_0'/%3e%3c/filter%3e%3cfilter%20id='k'%20width='300%25'%20height='300%25'%20x='-100%25'%20y='-100%25'%3e%3cfeGaussianBlur%20result='filter_result_0'/%3e%3c/filter%3e%3cmask%20id='u'%20mask-type='alpha'%3e%3cuse%20xmlns:ns1='http://www.w3.org/1999/xlink'%20ns1:href='%23a'/%3e%3c/mask%3e%3cmask%20id='q'%20mask-type='alpha'%3e%3cuse%20xmlns:ns2='http://www.w3.org/1999/xlink'%20ns2:href='%23b'/%3e%3c/mask%3e%3cmask%20id='o'%20mask-type='alpha'%3e%3cuse%20xmlns:ns3='http://www.w3.org/1999/xlink'%20ns3:href='%23c'/%3e%3c/mask%3e%3cmask%20id='l'%20mask-type='alpha'%3e%3cuse%20xmlns:ns4='http://www.w3.org/1999/xlink'%20ns4:href='%23d'/%3e%3c/mask%3e%3cg%20id='a'%20fill-opacity='0'%20stroke-linecap='round'%20stroke-linejoin='round'%20clip-path='url(%23e)'%20style='display:none'%3e%3cpath%20class='secondary'%20style='display:none'/%3e%3cpath%20class='primary'%20style='display:none'/%3e%3c/g%3e%3cg%20id='b'%20fill-opacity='0'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='12'%20clip-path='url(%23f)'%20style='display:block'%3e%3cpath%20stroke='%2308A88A'%20d='M44.446-66.518a79.998%2079.998%200%200%200-101.012%209.952A79.998%2079.998%200%201%200%2056.569%2056.569%2080.005%2080.005%200%200%200%2073.91-30.615a80.001%2080.001%200%200%200-29.464-35.903z'%20class='secondary'%20style='display:block'%20transform='translate(215%20214)'/%3e%3cpath%20stroke='%23121331'%20d='m141.409%2025.241%208.727%205.041s0%200%200%200a22.3%2022.3%200%200%201%2010.411%2013.542%2022.32%2022.32%200%200%201-2.221%2016.937l-26.515%2045.924a22.325%2022.325%200%200%201-30.497%208.172l-8.754-5.059a143.414%20143.414%200%200%201-43.718%2025.286v10.108a22.302%2022.302%200%200%201-13.778%2020.612%2022.303%2022.303%200%200%201-8.539%201.696h-53.029a22.303%2022.303%200%200%201-15.779-6.531%2022.302%2022.302%200%200%201-6.537-15.777v-10.073a143.416%20143.416%200%200%201-43.719-25.285l-8.754%205.059a22.325%2022.325%200%200%201-30.497-8.172l-26.523-45.924a22.315%2022.315%200%200%201-2.238-16.943A22.31%2022.31%200%200%201-150.142%2030.3l8.727-5.041a145.097%20145.097%200%200%201%200-50.518l-8.727-5.041a22.294%2022.294%200%200%201-10.409-13.554%2022.306%2022.306%200%200%201%202.238-16.943l26.514-45.924a22.325%2022.325%200%200%201%2030.497-8.172l8.754%205.059a143.416%20143.416%200%200%201%2043.719-25.285v-10.073a22.302%2022.302%200%200%201%206.537-15.777%2022.3%2022.3%200%200%201%2015.779-6.531h53.02a22.307%2022.307%200%200%201%2022.317%2022.308v10.037a143.41%20143.41%200%200%201%2043.718%2025.285l8.754-5.059a22.325%2022.325%200%200%201%2030.497%208.172l26.515%2045.942a22.313%2022.313%200%200%201-1.618%2024.757%2022.294%2022.294%200%200%201-6.554%205.74l-8.727%205.041a145.097%20145.097%200%200%201%200%2050.518z'%20class='primary'%20style='display:block'%20transform='rotate(-120%20169.576%2045.095)'/%3e%3c/g%3e%3cg%20id='c'%20fill-opacity='0'%20stroke-linecap='round'%20stroke-linejoin='round'%20clip-path='url(%23g)'%20style='display:none'%3e%3cpath%20class='secondary'%20style='display:none'/%3e%3cpath%20class='primary'%20style='display:none'/%3e%3c/g%3e%3cg%20id='d'%20fill-opacity='0'%20stroke-linecap='round'%20stroke-linejoin='round'%20clip-path='url(%23h)'%20style='display:none'%3e%3cpath%20class='secondary'%20style='display:none'/%3e%3cpath%20class='primary'%20style='display:none'/%3e%3c/g%3e%3c/defs%3e%3cg%20clip-path='url(%23i)'%3e%3cg%20clip-path='url(%23j)'%20filter='url(%23k)'%20mask='url(%23l)'%20style='display:none'%3e%3cg%20class='design'%3e%3cpath%20class='primary'/%3e%3c/g%3e%3cg%20class='design'%3e%3cpath%20class='secondary'/%3e%3c/g%3e%3c/g%3e%3cg%20clip-path='url(%23m)'%20filter='url(%23n)'%20mask='url(%23o)'%20style='display:none'%3e%3cg%20class='design'%3e%3cpath%20class='primary'/%3e%3c/g%3e%3cg%20class='design'%3e%3cpath%20class='secondary'/%3e%3c/g%3e%3c/g%3e%3cg%20clip-path='url(%23p)'%20mask='url(%23q)'%20style='display:block'%3e%3cg%20filter='url(%23r)'%20transform='rotate(-94%20238.762%20-16.565)%20scale(2.4)'%3e%3cg%20class='design'%3e%3cpath%20fill='%234BE1EC'%20d='M0-250c137.975%200%20250%20112.025%20250%20250S137.975%20250%200%20250-250%20137.975-250%200-137.975-250%200-250z'%20class='primary'/%3e%3c/g%3e%3cg%20class='design'%3e%3cpath%20fill='%23CB5EEE'%20d='M113.242-295.384c97.478%200%20176.5%2079.022%20176.5%20176.5s-79.022%20176.5-176.5%20176.5c-43.948%200-74.396-34.057-105.29-60.631-37.631-32.369-71.21-62.338-71.21-115.869%200-97.478%2079.022-176.5%20176.5-176.5z'%20class='secondary'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3cg%20clip-path='url(%23s)'%20filter='url(%23t)'%20mask='url(%23u)'%20style='display:none'%3e%3cg%20class='design'%3e%3cpath%20class='primary'/%3e%3c/g%3e%3cg%20class='design'%3e%3cpath%20class='secondary'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e", re = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%20-1.67%2047.336%2047.336'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group_42'%20data-name='Group%2042'%20transform='translate(-172.455%20-364.36)'%3e%3cpath%20id='Rectangle_17'%20data-name='Rectangle%2017'%20d='M4.351,0H40.984a4.351,4.351,0,0,1,4.351,4.351V22.117a1,1,0,0,1-1,1H1a1,1,0,0,1-1-1V4.351A4.351,4.351,0,0,1,4.351,0Z'%20transform='translate(173.455%20384.243)'%20fill='none'%20stroke='%23000000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'/%3e%3cpath%20id='Path_90'%20data-name='Path%2090'%20d='M218.79,390.249a3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.778,3.778,0,0,1-3.777-3.778'%20fill='none'%20stroke='%23000000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'/%3e%3cg%20id='Group_41'%20data-name='Group%2041'%3e%3cpath%20id='Rectangle_18'%20data-name='Rectangle%2018'%20d='M4.351,0H26.473a4.351,4.351,0,0,1,4.351,4.351V17.883a1,1,0,0,1-1,1H1a1,1,0,0,1-1-1V4.351A4.351,4.351,0,0,1,4.351,0Z'%20transform='translate(180.71%20365.36)'%20fill='none'%20stroke='%23000000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'/%3e%3cpath%20id='Path_91'%20data-name='Path%2091'%20d='M211.234,370.794a3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778'%20fill='none'%20stroke='%23000000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e", ve = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhBQoMHg6McuYvAAABwklEQVQ4y43TP0jUYRgH8M/daQpqdujhnwShGiwyipCIoIgWxyIwrqEhnCQoGqKhpoYMg1qCQjg8TC2JCtSkjCgaKisIhyQUwpJssD9KZWRZg6d450/yGV54n/fzfd53eUOCaoNa5QpNGNPr9cKjUAatdsB++co0G1XiiHd+uqnTq8VzI874o9s2Ic1iiEpii9tmnJOdfkOldt/dU+HYolHnjdmpRNzbuVaNL86m4sXqNOrz3kMXHFKYMqd8VREGBToMifqLgwY1yNZirya5knaBqH16fJjNJiWEFSlxy4g980+pMuZkir/UJjLbrvNRPnINaLUygK/yQpuImHp47LOjuKJPOJA/1y4iZsAlyozLs8IO42L/4QlhGrSCy5oCeKH+dM59vVbL9sn6AP5MRzpnVKtN1viRxit1WRvEmVKFrQbTpoddNR3E+aYKuw1lPOapa0GcEf22KzOtejmcG1rkYdjEAn59KU5cDzjt+HI4BSZtVJTazfIsMQOmFAusLr/E53lniickJYIDNcaUL+JhMZPWBUdOeCCaweGOw5k0lFrv2uyRuBxPlLpoBtTK0p3mh+f+dKl6jX6LapRj6XrzD+1bmkFA/dTVAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA1LTEwVDEyOjMwOjE0KzAyOjAwUNH5TAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wNS0xMFQxMjozMDoxNCswMjowMCGMQfAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC", Ee = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAACmAAAApgHdff84AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAn9QTFRF////AAAAAAAAAAAAAAAAAAAzABcXABQUABIkDhwrAA0aAAwYABUgABQfABIbABAZAA8fABUcABMaABMfABIeABEcABAbABQeABMdABIdABEbABIbABIbABEdABEcABIcBxsoABEdABIdABIdABEcABMbABMdFBwgERofAhIbEhsfAhIdBxUeEhsgEBofAhMbAhMdBRMdAhIbAhIdAhMdCRceARIcDBgfDBgfDBcfDBcfFhwgDBceDBceCxceFCs5HTdGAxMcDxofGTFAHDRDHDVDHDVEHTZFDRkfEBofERogCh0oERsgARIcEhsfEhsgCh4pDCEsDRkfDRkfEBofBhQdDSMvDRgfDBgfCBUeBxUeDyUyECYzUDktPTAqCRceCRYeChYeDxkfEBkgLCgmWj4wCBYdW0AwGh4hHCAiHSAiTDctBhUdBxYdEBkfLyonMConBhUdJiUkLCclLSgmLigmOzApPTEpDBgfBRQdDBgfERsgWT8wBBMdCBYeChceQjMrSzctZEUyBBMdERsgXUAxXkExY0QzglQ5AxUfBxolSjcthlU6hlY7h1Y7AxMcSDUsSjYsd042g1Q5hlY6jVo8AhIcAxMcBBQdLEpcOVpvARIcAhIcBhQdDSIuEhsgJ0NUNS0oNi0oO11yTTgtUXmSUnqUXEAxXUExYEIyZUUzaEYzb0o1cEo1dEw2i1g8jFk8jcfskFs9mdX9mmA/mtf/pmZCqGdCsWxEvnJHxHVJxnZJyHdJzHlK0XxM031M139N3IFO3YJO4INP5IVQ5YZQ5oZQ6ohR7IlS7opS74tS8ItT841T9I1T9o5U949U+ZBV+pBV/ZJW/pJW/5NWIYcOagAAAJt0Uk5TAAECAwQFCw0OEhQVGBkcHyEkKCkqLTAzNUZLVFZZW2RnanJzeHl8f4uMjY6Pj5KVl52eoKGprKytrq+vsLGytLu9vb/BwsLDxcXP0NDS09bf4uPk5OXl5ufo6enq7O3u7+/x8fHy8/P09PT09fX19fX29vb29vb29/j4+Pj5+fn5+fn6+vr6+vr7/Pz8/Pz9/f39/f39/v7+/v7Td3FlAAABgklEQVQoU2NggAMRJU1DTWURBlQgqhWUND11Tfr05GBdMYQws8a07j2XVx2/cnLl5T0T5+ixQsX5/RrWr70CA+s2NPoLgMUlciddvnLl3PbslMysmi2ngXKTc/iA4uwRC1dfudRT76UtJy5lMHvHlSsni82ZgBLWbZdOHCuPlARpForvBYszA9ky1WeunC8y5YCI9125cqrEnJlbnoHBZ/6mK+0eTAjxUgtmbl99Bt6Ksxd2pXGDxRPg4kZMDIqxV6406cDFT8PEGRwnHLlYJQwSTwSJ51tCxRmiVuw7VAsRP7zkIEKcofnAlb0hEPWXls9AiDNUHriyMxwoPgVoToEVQpwhdNHuY/2imOIMZq1nr2QUgsVtkMUZZOOuXOmYiinOwF63/8QVsDgLd0wnFwMCOM3dBhK3ZeGOXjzLHklCIu8oRDxs8eaNXYJIMuplJ0HigYs3b906UwFJgtGzxY6FLWDe0mXLli3wVoEAaZAMjxoLA6eDu5urq4uziTEEqAIAvamx163e5EoAAAAASUVORK5CYII=";
52
- function Me(i) {
51
+ const ye = '.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}', be = `.leaflet-draw-section{position:relative}.leaflet-draw-toolbar{margin-top:12px}.leaflet-draw-toolbar-top{margin-top:0}.leaflet-draw-toolbar-notop a:first-child{border-top-right-radius:0}.leaflet-draw-toolbar-nobottom a:last-child{border-bottom-right-radius:0}.leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:cc='http://creativecommons.org/ns%23'%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:svg='http://www.w3.org/2000/svg'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd'%20xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape'%20viewBox='0%200%20600%2060'%20height='60'%20width='600'%20id='svg4225'%20version='1.1'%20inkscape:version='0.91%20r13725'%20sodipodi:docname='spritesheet.svg'%20inkscape:export-filename='/home/fpuga/development/upstream/icarto.Leaflet.draw/src/images/spritesheet-2x.png'%20inkscape:export-xdpi='90'%20inkscape:export-ydpi='90'%3e%3cmetadata%20id='metadata4258'%3e%3crdf:RDF%3e%3ccc:Work%20rdf:about=''%3e%3cdc:format%3eimage/svg+xml%3c/dc:format%3e%3cdc:type%20rdf:resource='http://purl.org/dc/dcmitype/StillImage'%20/%3e%3cdc:title%20/%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs%20id='defs4256'%20/%3e%3csodipodi:namedview%20pagecolor='%23ffffff'%20bordercolor='%23666666'%20borderopacity='1'%20objecttolerance='10'%20gridtolerance='10'%20guidetolerance='10'%20inkscape:pageopacity='0'%20inkscape:pageshadow='2'%20inkscape:window-width='1920'%20inkscape:window-height='1056'%20id='namedview4254'%20showgrid='false'%20inkscape:zoom='1.3101852'%20inkscape:cx='237.56928'%20inkscape:cy='7.2419621'%20inkscape:window-x='1920'%20inkscape:window-y='24'%20inkscape:window-maximized='1'%20inkscape:current-layer='svg4225'%20/%3e%3cg%20id='enabled'%20style='fill:%23464646;fill-opacity:1'%3e%3cg%20id='polyline'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%2018,36%200,6%206,0%200,-6%20-6,0%20z%20m%204,4%20-2,0%200,-2%202,0%200,2%20z'%20id='path4229'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%2036,18%200,6%206,0%200,-6%20-6,0%20z%20m%204,4%20-2,0%200,-2%202,0%200,2%20z'%20id='path4231'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%2023.142,39.145%20-2.285,-2.29%2016,-15.998%202.285,2.285%20z'%20id='path4233'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3cpath%20id='polygon'%20d='M%20100,24.565%2097.904,39.395%2083.07,42%2076,28.773%2086.463,18%20Z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='rectangle'%20d='m%20140,20%2020,0%200,20%20-20,0%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='circle'%20d='m%20221,30%20c%200,6.078%20-4.926,11%20-11,11%20-6.074,0%20-11,-4.922%20-11,-11%200,-6.074%204.926,-11%2011,-11%206.074,0%2011,4.926%2011,11%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='marker'%20d='m%20270,19%20c%20-4.971,0%20-9,4.029%20-9,9%200,4.971%205.001,12%209,14%204.001,-2%209,-9.029%209,-14%200,-4.971%20-4.029,-9%20-9,-9%20z%20m%200,12.5%20c%20-2.484,0%20-4.5,-2.014%20-4.5,-4.5%200,-2.484%202.016,-4.5%204.5,-4.5%202.485,0%204.5,2.016%204.5,4.5%200,2.486%20-2.015,4.5%20-4.5,4.5%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cg%20id='edit'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%20337,30.156%200,0.407%200,5.604%20c%200,1.658%20-1.344,3%20-3,3%20l%20-10,0%20c%20-1.655,0%20-3,-1.342%20-3,-3%20l%200,-10%20c%200,-1.657%201.345,-3%203,-3%20l%206.345,0%203.19,-3.17%20-9.535,0%20c%20-3.313,0%20-6,2.687%20-6,6%20l%200,10%20c%200,3.313%202.687,6%206,6%20l%2010,0%20c%203.314,0%206,-2.687%206,-6%20l%200,-8.809%20-3,2.968'%20id='path4240'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20338.72,24.637%20-8.892,8.892%20-2.828,0%200,-2.829%208.89,-8.89%20z'%20id='path4242'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20338.697,17.826%204,0%200,4%20-4,0%20z'%20transform='matrix(-0.70698336,-0.70723018,0.70723018,-0.70698336,567.55917,274.78273)'%20id='path4244'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3cg%20id='remove'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%20381,42%2018,0%200,-18%20-18,0%200,18%20z%20m%2014,-16%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z'%20id='path4247'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20395,20%200,-4%20-10,0%200,4%20-6,0%200,2%2022,0%200,-2%20-6,0%20z%20m%20-2,0%20-6,0%200,-2%206,0%200,2%20z'%20id='path4249'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3c/g%3e%3cg%20id='disabled'%20transform='translate(120,0)'%20style='fill:%23bbbbbb'%3e%3cuse%20xlink:href='%23edit'%20id='edit-disabled'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%20/%3e%3cuse%20xlink:href='%23remove'%20id='remove-disabled'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%20/%3e%3c/g%3e%3cpath%20style='fill:none;stroke:%23464646;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1'%20id='circle-3'%20d='m%20581.65725,30%20c%200,6.078%20-4.926,11%20-11,11%20-6.074,0%20-11,-4.922%20-11,-11%200,-6.074%204.926,-11%2011,-11%206.074,0%2011,4.926%2011,11%20z'%20inkscape:connector-curvature='0'%20/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:300px 30px;background-clip:padding-box}.leaflet-retina .leaflet-draw-toolbar a{background-image:url(data:image/png;base64,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);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:cc='http://creativecommons.org/ns%23'%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:svg='http://www.w3.org/2000/svg'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd'%20xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape'%20viewBox='0%200%20600%2060'%20height='60'%20width='600'%20id='svg4225'%20version='1.1'%20inkscape:version='0.91%20r13725'%20sodipodi:docname='spritesheet.svg'%20inkscape:export-filename='/home/fpuga/development/upstream/icarto.Leaflet.draw/src/images/spritesheet-2x.png'%20inkscape:export-xdpi='90'%20inkscape:export-ydpi='90'%3e%3cmetadata%20id='metadata4258'%3e%3crdf:RDF%3e%3ccc:Work%20rdf:about=''%3e%3cdc:format%3eimage/svg+xml%3c/dc:format%3e%3cdc:type%20rdf:resource='http://purl.org/dc/dcmitype/StillImage'%20/%3e%3cdc:title%20/%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs%20id='defs4256'%20/%3e%3csodipodi:namedview%20pagecolor='%23ffffff'%20bordercolor='%23666666'%20borderopacity='1'%20objecttolerance='10'%20gridtolerance='10'%20guidetolerance='10'%20inkscape:pageopacity='0'%20inkscape:pageshadow='2'%20inkscape:window-width='1920'%20inkscape:window-height='1056'%20id='namedview4254'%20showgrid='false'%20inkscape:zoom='1.3101852'%20inkscape:cx='237.56928'%20inkscape:cy='7.2419621'%20inkscape:window-x='1920'%20inkscape:window-y='24'%20inkscape:window-maximized='1'%20inkscape:current-layer='svg4225'%20/%3e%3cg%20id='enabled'%20style='fill:%23464646;fill-opacity:1'%3e%3cg%20id='polyline'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%2018,36%200,6%206,0%200,-6%20-6,0%20z%20m%204,4%20-2,0%200,-2%202,0%200,2%20z'%20id='path4229'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%2036,18%200,6%206,0%200,-6%20-6,0%20z%20m%204,4%20-2,0%200,-2%202,0%200,2%20z'%20id='path4231'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%2023.142,39.145%20-2.285,-2.29%2016,-15.998%202.285,2.285%20z'%20id='path4233'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3cpath%20id='polygon'%20d='M%20100,24.565%2097.904,39.395%2083.07,42%2076,28.773%2086.463,18%20Z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='rectangle'%20d='m%20140,20%2020,0%200,20%20-20,0%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='circle'%20d='m%20221,30%20c%200,6.078%20-4.926,11%20-11,11%20-6.074,0%20-11,-4.922%20-11,-11%200,-6.074%204.926,-11%2011,-11%206.074,0%2011,4.926%2011,11%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20id='marker'%20d='m%20270,19%20c%20-4.971,0%20-9,4.029%20-9,9%200,4.971%205.001,12%209,14%204.001,-2%209,-9.029%209,-14%200,-4.971%20-4.029,-9%20-9,-9%20z%20m%200,12.5%20c%20-2.484,0%20-4.5,-2.014%20-4.5,-4.5%200,-2.484%202.016,-4.5%204.5,-4.5%202.485,0%204.5,2.016%204.5,4.5%200,2.486%20-2.015,4.5%20-4.5,4.5%20z'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cg%20id='edit'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%20337,30.156%200,0.407%200,5.604%20c%200,1.658%20-1.344,3%20-3,3%20l%20-10,0%20c%20-1.655,0%20-3,-1.342%20-3,-3%20l%200,-10%20c%200,-1.657%201.345,-3%203,-3%20l%206.345,0%203.19,-3.17%20-9.535,0%20c%20-3.313,0%20-6,2.687%20-6,6%20l%200,10%20c%200,3.313%202.687,6%206,6%20l%2010,0%20c%203.314,0%206,-2.687%206,-6%20l%200,-8.809%20-3,2.968'%20id='path4240'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20338.72,24.637%20-8.892,8.892%20-2.828,0%200,-2.829%208.89,-8.89%20z'%20id='path4242'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20338.697,17.826%204,0%200,4%20-4,0%20z'%20transform='matrix(-0.70698336,-0.70723018,0.70723018,-0.70698336,567.55917,274.78273)'%20id='path4244'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3cg%20id='remove'%20style='fill:%23464646;fill-opacity:1'%3e%3cpath%20d='m%20381,42%2018,0%200,-18%20-18,0%200,18%20z%20m%2014,-16%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z%20m%20-4,0%202,0%200,14%20-2,0%200,-14%20z'%20id='path4247'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3cpath%20d='m%20395,20%200,-4%20-10,0%200,4%20-6,0%200,2%2022,0%200,-2%20-6,0%20z%20m%20-2,0%20-6,0%200,-2%206,0%200,2%20z'%20id='path4249'%20inkscape:connector-curvature='0'%20style='fill:%23464646;fill-opacity:1'%20/%3e%3c/g%3e%3c/g%3e%3cg%20id='disabled'%20transform='translate(120,0)'%20style='fill:%23bbbbbb'%3e%3cuse%20xlink:href='%23edit'%20id='edit-disabled'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%20/%3e%3cuse%20xlink:href='%23remove'%20id='remove-disabled'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%20/%3e%3c/g%3e%3cpath%20style='fill:none;stroke:%23464646;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1'%20id='circle-3'%20d='m%20581.65725,30%20c%200,6.078%20-4.926,11%20-11,11%20-6.074,0%20-11,-4.922%20-11,-11%200,-6.074%204.926,-11%2011,-11%206.074,0%2011,4.926%2011,11%20z'%20inkscape:connector-curvature='0'%20/%3e%3c/svg%3e")}.leaflet-draw a{display:block;text-align:center;text-decoration:none}.leaflet-draw a .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.leaflet-draw-actions{display:none;list-style:none;margin:0;padding:0;position:absolute;left:26px;top:0;white-space:nowrap}.leaflet-touch .leaflet-draw-actions{left:32px}.leaflet-right .leaflet-draw-actions{right:26px;left:auto}.leaflet-touch .leaflet-right .leaflet-draw-actions{right:32px;left:auto}.leaflet-draw-actions li{display:inline-block}.leaflet-draw-actions li:first-child a{border-left:0}.leaflet-draw-actions li:last-child a{-webkit-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.leaflet-right .leaflet-draw-actions li:last-child a{-webkit-border-radius:0;border-radius:0}.leaflet-right .leaflet-draw-actions li:first-child a{-webkit-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.leaflet-draw-actions a{background-color:#919187;border-left:1px solid #AAA;color:#fff;font:11px/19px Helvetica Neue,Arial,Helvetica,sans-serif;line-height:28px;text-decoration:none;padding-left:10px;padding-right:10px;height:28px}.leaflet-touch .leaflet-draw-actions a{font-size:12px;line-height:30px;height:30px}.leaflet-draw-actions-bottom{margin-top:0}.leaflet-draw-actions-top{margin-top:1px}.leaflet-draw-actions-top a,.leaflet-draw-actions-bottom a{height:27px;line-height:27px}.leaflet-draw-actions a:hover{background-color:#a0a098}.leaflet-draw-actions-top.leaflet-draw-actions-bottom a{height:26px;line-height:26px}.leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:-2px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline{background-position:0 -1px}.leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-31px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon{background-position:-29px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-62px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle{background-position:-60px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-92px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle{background-position:-90px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-122px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker{background-position:-120px -1px}.leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-273px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circlemarker{background-position:-271px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-152px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit{background-position:-150px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-182px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove{background-position:-180px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-212px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled{background-position:-210px -1px}.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-242px -2px}.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled{background-position:-240px -2px}.leaflet-mouse-marker{background-color:#fff;cursor:crosshair}.leaflet-draw-tooltip{background:#363636;background:#00000080;border:1px solid transparent;-webkit-border-radius:4px;border-radius:4px;color:#fff;font:12px/18px Helvetica Neue,Arial,Helvetica,sans-serif;margin-left:20px;margin-top:-21px;padding:4px 8px;position:absolute;visibility:hidden;white-space:nowrap;z-index:6}.leaflet-draw-tooltip:before{border-right:6px solid black;border-right-color:#00000080;border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:7px;left:-7px}.leaflet-error-draw-tooltip{background-color:#f2dede;border:1px solid #e6b6bd;color:#b94a48}.leaflet-error-draw-tooltip:before{border-right-color:#e6b6bd}.leaflet-draw-tooltip-single{margin-top:-12px}.leaflet-draw-tooltip-subtext{color:#f8d5e4}.leaflet-draw-guide-dash{font-size:1%;opacity:.6;position:absolute;width:5px;height:5px}.leaflet-edit-marker-selected{background-color:#fe57a11a;border:4px dashed rgba(254,87,161,.6);-webkit-border-radius:4px;border-radius:4px;box-sizing:content-box}.leaflet-edit-move{cursor:move}.leaflet-edit-resize{cursor:pointer}.leaflet-oldie .leaflet-draw-toolbar{border:1px solid #999}`, we = ".leaflet-ruler{height:35px;width:35px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhBQoMHg6McuYvAAABwklEQVQ4y43TP0jUYRgH8M/daQpqdujhnwShGiwyipCIoIgWxyIwrqEhnCQoGqKhpoYMg1qCQjg8TC2JCtSkjCgaKisIhyQUwpJssD9KZWRZg6d450/yGV54n/fzfd53eUOCaoNa5QpNGNPr9cKjUAatdsB++co0G1XiiHd+uqnTq8VzI874o9s2Ic1iiEpii9tmnJOdfkOldt/dU+HYolHnjdmpRNzbuVaNL86m4sXqNOrz3kMXHFKYMqd8VREGBToMifqLgwY1yNZirya5knaBqH16fJjNJiWEFSlxy4g980+pMuZkir/UJjLbrvNRPnINaLUygK/yQpuImHp47LOjuKJPOJA/1y4iZsAlyozLs8IO42L/4QlhGrSCy5oCeKH+dM59vVbL9sn6AP5MRzpnVKtN1viRxit1WRvEmVKFrQbTpoddNR3E+aYKuw1lPOapa0GcEf22KzOtejmcG1rkYdjEAn59KU5cDzjt+HI4BSZtVJTazfIsMQOmFAusLr/E53lniickJYIDNcaUL+JhMZPWBUdOeCCaweGOw5k0lFrv2uyRuBxPlLpoBtTK0p3mh+f+dKl6jX6LapRj6XrzD+1bmkFA/dTVAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA1LTEwVDEyOjMwOjE0KzAyOjAwUNH5TAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wNS0xMFQxMjozMDoxNCswMjowMCGMQfAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center}.leaflet-ruler:hover{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAACmAAAApgHdff84AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAn9QTFRF////AAAAAAAAAAAAAAAAAAAzABcXABQUABIkDhwrAA0aAAwYABUgABQfABIbABAZAA8fABUcABMaABMfABIeABEcABAbABQeABMdABIdABEbABIbABIbABEdABEcABIcBxsoABEdABIdABIdABEcABMbABMdFBwgERofAhIbEhsfAhIdBxUeEhsgEBofAhMbAhMdBRMdAhIbAhIdAhMdCRceARIcDBgfDBgfDBcfDBcfFhwgDBceDBceCxceFCs5HTdGAxMcDxofGTFAHDRDHDVDHDVEHTZFDRkfEBofERogCh0oERsgARIcEhsfEhsgCh4pDCEsDRkfDRkfEBofBhQdDSMvDRgfDBgfCBUeBxUeDyUyECYzUDktPTAqCRceCRYeChYeDxkfEBkgLCgmWj4wCBYdW0AwGh4hHCAiHSAiTDctBhUdBxYdEBkfLyonMConBhUdJiUkLCclLSgmLigmOzApPTEpDBgfBRQdDBgfERsgWT8wBBMdCBYeChceQjMrSzctZEUyBBMdERsgXUAxXkExY0QzglQ5AxUfBxolSjcthlU6hlY7h1Y7AxMcSDUsSjYsd042g1Q5hlY6jVo8AhIcAxMcBBQdLEpcOVpvARIcAhIcBhQdDSIuEhsgJ0NUNS0oNi0oO11yTTgtUXmSUnqUXEAxXUExYEIyZUUzaEYzb0o1cEo1dEw2i1g8jFk8jcfskFs9mdX9mmA/mtf/pmZCqGdCsWxEvnJHxHVJxnZJyHdJzHlK0XxM031M139N3IFO3YJO4INP5IVQ5YZQ5oZQ6ohR7IlS7opS74tS8ItT841T9I1T9o5U949U+ZBV+pBV/ZJW/pJW/5NWIYcOagAAAJt0Uk5TAAECAwQFCw0OEhQVGBkcHyEkKCkqLTAzNUZLVFZZW2RnanJzeHl8f4uMjY6Pj5KVl52eoKGprKytrq+vsLGytLu9vb/BwsLDxcXP0NDS09bf4uPk5OXl5ufo6enq7O3u7+/x8fHy8/P09PT09fX19fX29vb29vb29/j4+Pj5+fn5+fn6+vr6+vr7/Pz8/Pz9/f39/f39/v7+/v7Td3FlAAABgklEQVQoU2NggAMRJU1DTWURBlQgqhWUND11Tfr05GBdMYQws8a07j2XVx2/cnLl5T0T5+ixQsX5/RrWr70CA+s2NPoLgMUlciddvnLl3PbslMysmi2ngXKTc/iA4uwRC1dfudRT76UtJy5lMHvHlSsni82ZgBLWbZdOHCuPlARpForvBYszA9ky1WeunC8y5YCI9125cqrEnJlbnoHBZ/6mK+0eTAjxUgtmbl99Bt6Ksxd2pXGDxRPg4kZMDIqxV6406cDFT8PEGRwnHLlYJQwSTwSJ51tCxRmiVuw7VAsRP7zkIEKcofnAlb0hEPWXls9AiDNUHriyMxwoPgVoToEVQpwhdNHuY/2imOIMZq1nr2QUgsVtkMUZZOOuXOmYiinOwF63/8QVsDgLd0wnFwMCOM3dBhK3ZeGOXjzLHklCIu8oRDxs8eaNXYJIMuplJ0HigYs3b906UwFJgtGzxY6FLWDe0mXLli3wVoEAaZAMjxoLA6eDu5urq4uziTEEqAIAvamx163e5EoAAAAASUVORK5CYII=)}.leaflet-ruler-clicked{height:35px;width:35px;background-repeat:no-repeat;background-position:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAACmAAAApgHdff84AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAn9QTFRF////AAAAAAAAAAAAAAAAAAAzABcXABQUABIkDhwrAA0aAAwYABUgABQfABIbABAZAA8fABUcABMaABMfABIeABEcABAbABQeABMdABIdABEbABIbABIbABEdABEcABIcBxsoABEdABIdABIdABEcABMbABMdFBwgERofAhIbEhsfAhIdBxUeEhsgEBofAhMbAhMdBRMdAhIbAhIdAhMdCRceARIcDBgfDBgfDBcfDBcfFhwgDBceDBceCxceFCs5HTdGAxMcDxofGTFAHDRDHDVDHDVEHTZFDRkfEBofERogCh0oERsgARIcEhsfEhsgCh4pDCEsDRkfDRkfEBofBhQdDSMvDRgfDBgfCBUeBxUeDyUyECYzUDktPTAqCRceCRYeChYeDxkfEBkgLCgmWj4wCBYdW0AwGh4hHCAiHSAiTDctBhUdBxYdEBkfLyonMConBhUdJiUkLCclLSgmLigmOzApPTEpDBgfBRQdDBgfERsgWT8wBBMdCBYeChceQjMrSzctZEUyBBMdERsgXUAxXkExY0QzglQ5AxUfBxolSjcthlU6hlY7h1Y7AxMcSDUsSjYsd042g1Q5hlY6jVo8AhIcAxMcBBQdLEpcOVpvARIcAhIcBhQdDSIuEhsgJ0NUNS0oNi0oO11yTTgtUXmSUnqUXEAxXUExYEIyZUUzaEYzb0o1cEo1dEw2i1g8jFk8jcfskFs9mdX9mmA/mtf/pmZCqGdCsWxEvnJHxHVJxnZJyHdJzHlK0XxM031M139N3IFO3YJO4INP5IVQ5YZQ5oZQ6ohR7IlS7opS74tS8ItT841T9I1T9o5U949U+ZBV+pBV/ZJW/pJW/5NWIYcOagAAAJt0Uk5TAAECAwQFCw0OEhQVGBkcHyEkKCkqLTAzNUZLVFZZW2RnanJzeHl8f4uMjY6Pj5KVl52eoKGprKytrq+vsLGytLu9vb/BwsLDxcXP0NDS09bf4uPk5OXl5ufo6enq7O3u7+/x8fHy8/P09PT09fX19fX29vb29vb29/j4+Pj5+fn5+fn6+vr6+vr7/Pz8/Pz9/f39/f39/v7+/v7Td3FlAAABgklEQVQoU2NggAMRJU1DTWURBlQgqhWUND11Tfr05GBdMYQws8a07j2XVx2/cnLl5T0T5+ixQsX5/RrWr70CA+s2NPoLgMUlciddvnLl3PbslMysmi2ngXKTc/iA4uwRC1dfudRT76UtJy5lMHvHlSsni82ZgBLWbZdOHCuPlARpForvBYszA9ky1WeunC8y5YCI9125cqrEnJlbnoHBZ/6mK+0eTAjxUgtmbl99Bt6Ksxd2pXGDxRPg4kZMDIqxV6406cDFT8PEGRwnHLlYJQwSTwSJ51tCxRmiVuw7VAsRP7zkIEKcofnAlb0hEPWXls9AiDNUHriyMxwoPgVoToEVQpwhdNHuY/2imOIMZq1nr2QUgsVtkMUZZOOuXOmYiinOwF63/8QVsDgLd0wnFwMCOM3dBhK3ZeGOXjzLHklCIu8oRDxs8eaNXYJIMuplJ0HigYs3b906UwFJgtGzxY6FLWDe0mXLli3wVoEAaZAMjxoLA6eDu5urq4uziTEEqAIAvamx163e5EoAAAAASUVORK5CYII=);border-color:#7fff00!important}.leaflet-bar{background-color:#fff}.leaflet-control{cursor:pointer}.result-tooltip{background-color:#fff;border-width:medium;border-color:#de0000;font-size:smaller}.moving-tooltip{background-color:#ffffffb3;background-clip:padding-box;opacity:.5;border:dotted;border-color:red;font-size:smaller}.plus-length{padding-left:45px}", xe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAABSCAMAAAAhFXfZAAAC91BMVEVMaXEzeak2f7I4g7g3g7cua5gzeKg8hJo3grY4g7c3grU0gLI2frE0daAubJc2gbQwd6QzeKk2gLMtd5sxdKIua5g1frA2f7IydaM0e6w2fq41fK01eqo3grgubJgta5cxdKI1f7AydaQydaMxc6EubJgvbJkwcZ4ubZkwcJwubZgubJcydqUydKIxapgubJctbJcubZcubJcvbJYubJcvbZkubJctbJctbZcubJg2f7AubJcrbZcubJcubJcua5g3grY0fq8ubJcubJdEkdEwhsw6i88vhswuhcsuhMtBjMgthMsrg8srgss6is8qgcs8i9A9iMYtg8spgcoogMo7hcMngMonf8olfso4gr8kfck5iM8jfMk4iM8he8k1fro7itAgesk2hs8eecgzfLcofssdeMg0hc4cd8g2hcsxeLQbdsgZdcgxeLImfcszhM0vda4xgckzhM4xg84wf8Yxgs4udKsvfcQucqhUndROmdM1fK0wcZ8vb5w0eqpQm9MzeKhXoNVcpdYydKNWn9VZotVKltJFjsIwcJ1Rms9OlslLmtH///8+kc9epdYzd6dbo9VHkMM2f7FHmNBClM8ydqVcpNY9hro3gLM9hLczealQmcw3fa46f7A8gLMxc6I3eagyc6FIldJMl9JSnNRSntNNl9JPnNJFi75UnM9ZodVKksg8kM45jc09e6ZHltFBk883gbRBh7pDk9EwcaBzn784g7dKkcY2i81Om9M7j85Llc81is09g7Q4grY/j9A0eqxKmdFFltBEjcXf6fFImdBCiLxJl9FGlNFBi78yiMxVndEvbpo6js74+vx+psPP3+o/ks5HkcpGmNCjwdZCkNDM3ehYoNJEls+lxNkxh8xHks0+jdC1zd5Lg6r+/v/H2ufz9/o3jM3t8/edvdM/k89Th61OiLBSjbZklbaTt9BfptdjmL1AicBHj8hGk9FAgK1dkLNTjLRekrdClc/k7fM0icy0y9tgp9c4jc2NtM9Dlc8zicxeXZn3AAAAQ3RSTlMAHDdTb4yPA+LtnEQmC4L2EmHqB7XA0d0sr478x4/Yd5i1zOfyPkf1sLVq4Nh3FvjxopQ2/STNuFzUwFIwxKaejILpIBEV9wAABhVJREFUeF6s1NdyFEcY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", ke = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=", ve = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC", Me = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='430'%20height='430'%20style='width:100%25;height:100%25;transform:translate3d(0,0,0);content-visibility:visible'%20viewBox='0%200%20430%20430'%3e%3cdefs%3e%3cclipPath%20id='i'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='s'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='e'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='p'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='f'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='m'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='g'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='j'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='h'%3e%3cpath%20d='M0%200h430v430H0z'/%3e%3c/clipPath%3e%3cfilter%20id='t'%20width='300%25'%20height='300%25'%20x='-100%25'%20y='-100%25'%3e%3cfeGaussianBlur%20result='filter_result_0'/%3e%3c/filter%3e%3cfilter%20id='r'%20width='300%25'%20height='300%25'%20x='-100%25'%20y='-100%25'%3e%3cfeGaussianBlur%20result='filter_result_0'%20stdDeviation='52.5%2052.5'/%3e%3c/filter%3e%3cfilter%20id='n'%20width='300%25'%20height='300%25'%20x='-100%25'%20y='-100%25'%3e%3cfeGaussianBlur%20result='filter_result_0'/%3e%3c/filter%3e%3cfilter%20id='k'%20width='300%25'%20height='300%25'%20x='-100%25'%20y='-100%25'%3e%3cfeGaussianBlur%20result='filter_result_0'/%3e%3c/filter%3e%3cmask%20id='u'%20mask-type='alpha'%3e%3cuse%20xmlns:ns1='http://www.w3.org/1999/xlink'%20ns1:href='%23a'/%3e%3c/mask%3e%3cmask%20id='q'%20mask-type='alpha'%3e%3cuse%20xmlns:ns2='http://www.w3.org/1999/xlink'%20ns2:href='%23b'/%3e%3c/mask%3e%3cmask%20id='o'%20mask-type='alpha'%3e%3cuse%20xmlns:ns3='http://www.w3.org/1999/xlink'%20ns3:href='%23c'/%3e%3c/mask%3e%3cmask%20id='l'%20mask-type='alpha'%3e%3cuse%20xmlns:ns4='http://www.w3.org/1999/xlink'%20ns4:href='%23d'/%3e%3c/mask%3e%3cg%20id='a'%20fill-opacity='0'%20stroke-linecap='round'%20stroke-linejoin='round'%20clip-path='url(%23e)'%20style='display:none'%3e%3cpath%20class='secondary'%20style='display:none'/%3e%3cpath%20class='primary'%20style='display:none'/%3e%3c/g%3e%3cg%20id='b'%20fill-opacity='0'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='12'%20clip-path='url(%23f)'%20style='display:block'%3e%3cpath%20stroke='%2308A88A'%20d='M44.446-66.518a79.998%2079.998%200%200%200-101.012%209.952A79.998%2079.998%200%201%200%2056.569%2056.569%2080.005%2080.005%200%200%200%2073.91-30.615a80.001%2080.001%200%200%200-29.464-35.903z'%20class='secondary'%20style='display:block'%20transform='translate(215%20214)'/%3e%3cpath%20stroke='%23121331'%20d='m141.409%2025.241%208.727%205.041s0%200%200%200a22.3%2022.3%200%200%201%2010.411%2013.542%2022.32%2022.32%200%200%201-2.221%2016.937l-26.515%2045.924a22.325%2022.325%200%200%201-30.497%208.172l-8.754-5.059a143.414%20143.414%200%200%201-43.718%2025.286v10.108a22.302%2022.302%200%200%201-13.778%2020.612%2022.303%2022.303%200%200%201-8.539%201.696h-53.029a22.303%2022.303%200%200%201-15.779-6.531%2022.302%2022.302%200%200%201-6.537-15.777v-10.073a143.416%20143.416%200%200%201-43.719-25.285l-8.754%205.059a22.325%2022.325%200%200%201-30.497-8.172l-26.523-45.924a22.315%2022.315%200%200%201-2.238-16.943A22.31%2022.31%200%200%201-150.142%2030.3l8.727-5.041a145.097%20145.097%200%200%201%200-50.518l-8.727-5.041a22.294%2022.294%200%200%201-10.409-13.554%2022.306%2022.306%200%200%201%202.238-16.943l26.514-45.924a22.325%2022.325%200%200%201%2030.497-8.172l8.754%205.059a143.416%20143.416%200%200%201%2043.719-25.285v-10.073a22.302%2022.302%200%200%201%206.537-15.777%2022.3%2022.3%200%200%201%2015.779-6.531h53.02a22.307%2022.307%200%200%201%2022.317%2022.308v10.037a143.41%20143.41%200%200%201%2043.718%2025.285l8.754-5.059a22.325%2022.325%200%200%201%2030.497%208.172l26.515%2045.942a22.313%2022.313%200%200%201-1.618%2024.757%2022.294%2022.294%200%200%201-6.554%205.74l-8.727%205.041a145.097%20145.097%200%200%201%200%2050.518z'%20class='primary'%20style='display:block'%20transform='rotate(-120%20169.576%2045.095)'/%3e%3c/g%3e%3cg%20id='c'%20fill-opacity='0'%20stroke-linecap='round'%20stroke-linejoin='round'%20clip-path='url(%23g)'%20style='display:none'%3e%3cpath%20class='secondary'%20style='display:none'/%3e%3cpath%20class='primary'%20style='display:none'/%3e%3c/g%3e%3cg%20id='d'%20fill-opacity='0'%20stroke-linecap='round'%20stroke-linejoin='round'%20clip-path='url(%23h)'%20style='display:none'%3e%3cpath%20class='secondary'%20style='display:none'/%3e%3cpath%20class='primary'%20style='display:none'/%3e%3c/g%3e%3c/defs%3e%3cg%20clip-path='url(%23i)'%3e%3cg%20clip-path='url(%23j)'%20filter='url(%23k)'%20mask='url(%23l)'%20style='display:none'%3e%3cg%20class='design'%3e%3cpath%20class='primary'/%3e%3c/g%3e%3cg%20class='design'%3e%3cpath%20class='secondary'/%3e%3c/g%3e%3c/g%3e%3cg%20clip-path='url(%23m)'%20filter='url(%23n)'%20mask='url(%23o)'%20style='display:none'%3e%3cg%20class='design'%3e%3cpath%20class='primary'/%3e%3c/g%3e%3cg%20class='design'%3e%3cpath%20class='secondary'/%3e%3c/g%3e%3c/g%3e%3cg%20clip-path='url(%23p)'%20mask='url(%23q)'%20style='display:block'%3e%3cg%20filter='url(%23r)'%20transform='rotate(-94%20238.762%20-16.565)%20scale(2.4)'%3e%3cg%20class='design'%3e%3cpath%20fill='%234BE1EC'%20d='M0-250c137.975%200%20250%20112.025%20250%20250S137.975%20250%200%20250-250%20137.975-250%200-137.975-250%200-250z'%20class='primary'/%3e%3c/g%3e%3cg%20class='design'%3e%3cpath%20fill='%23CB5EEE'%20d='M113.242-295.384c97.478%200%20176.5%2079.022%20176.5%20176.5s-79.022%20176.5-176.5%20176.5c-43.948%200-74.396-34.057-105.29-60.631-37.631-32.369-71.21-62.338-71.21-115.869%200-97.478%2079.022-176.5%20176.5-176.5z'%20class='secondary'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3cg%20clip-path='url(%23s)'%20filter='url(%23t)'%20mask='url(%23u)'%20style='display:none'%3e%3cg%20class='design'%3e%3cpath%20class='primary'/%3e%3c/g%3e%3cg%20class='design'%3e%3cpath%20class='secondary'/%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e", se = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%20-1.67%2047.336%2047.336'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group_42'%20data-name='Group%2042'%20transform='translate(-172.455%20-364.36)'%3e%3cpath%20id='Rectangle_17'%20data-name='Rectangle%2017'%20d='M4.351,0H40.984a4.351,4.351,0,0,1,4.351,4.351V22.117a1,1,0,0,1-1,1H1a1,1,0,0,1-1-1V4.351A4.351,4.351,0,0,1,4.351,0Z'%20transform='translate(173.455%20384.243)'%20fill='none'%20stroke='%23000000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'/%3e%3cpath%20id='Path_90'%20data-name='Path%2090'%20d='M218.79,390.249a3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.778,3.778,0,0,1-3.777-3.778'%20fill='none'%20stroke='%23000000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'/%3e%3cg%20id='Group_41'%20data-name='Group%2041'%3e%3cpath%20id='Rectangle_18'%20data-name='Rectangle%2018'%20d='M4.351,0H26.473a4.351,4.351,0,0,1,4.351,4.351V17.883a1,1,0,0,1-1,1H1a1,1,0,0,1-1-1V4.351A4.351,4.351,0,0,1,4.351,0Z'%20transform='translate(180.71%20365.36)'%20fill='none'%20stroke='%23000000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'/%3e%3cpath%20id='Path_91'%20data-name='Path%2091'%20d='M211.234,370.794a3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778'%20fill='none'%20stroke='%23000000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='2'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e", Le = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAQAAABKfvVzAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhBQoMHg6McuYvAAABwklEQVQ4y43TP0jUYRgH8M/daQpqdujhnwShGiwyipCIoIgWxyIwrqEhnCQoGqKhpoYMg1qCQjg8TC2JCtSkjCgaKisIhyQUwpJssD9KZWRZg6d450/yGV54n/fzfd53eUOCaoNa5QpNGNPr9cKjUAatdsB++co0G1XiiHd+uqnTq8VzI874o9s2Ic1iiEpii9tmnJOdfkOldt/dU+HYolHnjdmpRNzbuVaNL86m4sXqNOrz3kMXHFKYMqd8VREGBToMifqLgwY1yNZirya5knaBqH16fJjNJiWEFSlxy4g980+pMuZkir/UJjLbrvNRPnINaLUygK/yQpuImHp47LOjuKJPOJA/1y4iZsAlyozLs8IO42L/4QlhGrSCy5oCeKH+dM59vVbL9sn6AP5MRzpnVKtN1viRxit1WRvEmVKFrQbTpoddNR3E+aYKuw1lPOapa0GcEf22KzOtejmcG1rkYdjEAn59KU5cDzjt+HI4BSZtVJTazfIsMQOmFAusLr/E53lniickJYIDNcaUL+JhMZPWBUdOeCCaweGOw5k0lFrv2uyRuBxPlLpoBtTK0p3mh+f+dKl6jX6LapRj6XrzD+1bmkFA/dTVAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA1LTEwVDEyOjMwOjE0KzAyOjAwUNH5TAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wNS0xMFQxMjozMDoxNCswMjowMCGMQfAAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC", Ee = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAACmAAAApgHdff84AAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAn9QTFRF////AAAAAAAAAAAAAAAAAAAzABcXABQUABIkDhwrAA0aAAwYABUgABQfABIbABAZAA8fABUcABMaABMfABIeABEcABAbABQeABMdABIdABEbABIbABIbABEdABEcABIcBxsoABEdABIdABIdABEcABMbABMdFBwgERofAhIbEhsfAhIdBxUeEhsgEBofAhMbAhMdBRMdAhIbAhIdAhMdCRceARIcDBgfDBgfDBcfDBcfFhwgDBceDBceCxceFCs5HTdGAxMcDxofGTFAHDRDHDVDHDVEHTZFDRkfEBofERogCh0oERsgARIcEhsfEhsgCh4pDCEsDRkfDRkfEBofBhQdDSMvDRgfDBgfCBUeBxUeDyUyECYzUDktPTAqCRceCRYeChYeDxkfEBkgLCgmWj4wCBYdW0AwGh4hHCAiHSAiTDctBhUdBxYdEBkfLyonMConBhUdJiUkLCclLSgmLigmOzApPTEpDBgfBRQdDBgfERsgWT8wBBMdCBYeChceQjMrSzctZEUyBBMdERsgXUAxXkExY0QzglQ5AxUfBxolSjcthlU6hlY7h1Y7AxMcSDUsSjYsd042g1Q5hlY6jVo8AhIcAxMcBBQdLEpcOVpvARIcAhIcBhQdDSIuEhsgJ0NUNS0oNi0oO11yTTgtUXmSUnqUXEAxXUExYEIyZUUzaEYzb0o1cEo1dEw2i1g8jFk8jcfskFs9mdX9mmA/mtf/pmZCqGdCsWxEvnJHxHVJxnZJyHdJzHlK0XxM031M139N3IFO3YJO4INP5IVQ5YZQ5oZQ6ohR7IlS7opS74tS8ItT841T9I1T9o5U949U+ZBV+pBV/ZJW/pJW/5NWIYcOagAAAJt0Uk5TAAECAwQFCw0OEhQVGBkcHyEkKCkqLTAzNUZLVFZZW2RnanJzeHl8f4uMjY6Pj5KVl52eoKGprKytrq+vsLGytLu9vb/BwsLDxcXP0NDS09bf4uPk5OXl5ufo6enq7O3u7+/x8fHy8/P09PT09fX19fX29vb29vb29/j4+Pj5+fn5+fn6+vr6+vr7/Pz8/Pz9/f39/f39/v7+/v7Td3FlAAABgklEQVQoU2NggAMRJU1DTWURBlQgqhWUND11Tfr05GBdMYQws8a07j2XVx2/cnLl5T0T5+ixQsX5/RrWr70CA+s2NPoLgMUlciddvnLl3PbslMysmi2ngXKTc/iA4uwRC1dfudRT76UtJy5lMHvHlSsni82ZgBLWbZdOHCuPlARpForvBYszA9ky1WeunC8y5YCI9125cqrEnJlbnoHBZ/6mK+0eTAjxUgtmbl99Bt6Ksxd2pXGDxRPg4kZMDIqxV6406cDFT8PEGRwnHLlYJQwSTwSJ51tCxRmiVuw7VAsRP7zkIEKcofnAlb0hEPWXls9AiDNUHriyMxwoPgVoToEVQpwhdNHuY/2imOIMZq1nr2QUgsVtkMUZZOOuXOmYiinOwF63/8QVsDgLd0wnFwMCOM3dBhK3ZeGOXjzLHklCIu8oRDxs8eaNXYJIMuplJ0HigYs3b906UwFJgtGzxY6FLWDe0mXLli3wVoEAaZAMjxoLA6eDu5urq4uziTEEqAIAvamx163e5EoAAAAASUVORK5CYII=";
52
+ function Ce(s) {
53
53
  const t = "data-leaflet-styles";
54
- if (i.querySelector(`style[${t}]`)) return;
54
+ if (s.querySelector(`style[${t}]`)) return;
55
55
  const e = document.createElement("style");
56
56
  e.setAttribute(t, "true"), e.textContent = `
57
57
  /* --- Leaflet core CSS --- */
58
- ${me}
58
+ ${ye}
59
59
 
60
60
  /* --- Leaflet.draw CSS --- */
61
- ${Ae}
61
+ ${be}
62
62
 
63
63
  /* --- Leaflet.ruler CSS --- */
64
- ${be}
64
+ ${we}
65
65
 
66
66
  /* --- Fix Leaflet.ruler icons (broken relative paths in inlined CSS) --- */
67
67
  .leaflet-ruler {
68
68
  width: 30px !important; /* Match Leaflet Draw default size approx */
69
69
  height: 30px !important;
70
70
  background-color: #fff; /* Ensure visibility */
71
- background-image: url(${ve}) !important;
71
+ background-image: url(${Le}) !important;
72
72
  background-size: 16px 16px; /* Scale icon to fit */
73
73
  }
74
74
  .leaflet-ruler:hover,
@@ -103,7 +103,7 @@ ${be}
103
103
  padding: 0;
104
104
  border-radius: 4px;
105
105
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
106
- background-image: url(${ke});
106
+ background-image: url(${Me});
107
107
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
108
108
  }
109
109
  .leaflet-ruler-settings-button:hover {
@@ -187,7 +187,7 @@ ${be}
187
187
 
188
188
  /* --- Layer Cake draw tool icon + manager UI --- */
189
189
  .leaflet-draw-toolbar a.leaflet-draw-draw-cake {
190
- background-image: url(${re}) !important;
190
+ background-image: url(${se}) !important;
191
191
  background-size: 18px 18px !important;
192
192
  background-position: 50% 50% !important;
193
193
  background-repeat: no-repeat !important;
@@ -232,68 +232,81 @@ ${be}
232
232
  .cake-label::before {
233
233
  border-right-color: #8A2BE2 !important;
234
234
  }
235
- `, i.appendChild(e);
235
+
236
+ /* --- Move tool mode cursor styles --- */
237
+ .leaflet-draw-move-mode {
238
+ cursor: default !important;
239
+ }
240
+
241
+ .leaflet-draw-move-mode .leaflet-interactive {
242
+ cursor: grab !important;
236
243
  }
237
- function Ce(i) {
244
+
245
+ .leaflet-draw-move-mode .leaflet-interactive:active {
246
+ cursor: grabbing !important;
247
+ }
248
+ `, s.appendChild(e);
249
+ }
250
+ function Ie(s) {
238
251
  const t = "data-leaflet-custom-styles";
239
- if (i.querySelector(`style[${t}]`)) return;
252
+ if (s.querySelector(`style[${t}]`)) return;
240
253
  const e = document.createElement("style");
241
254
  e.setAttribute(t, "true"), e.textContent = `
242
255
  /* Ensure Layer Cake toolbar icon uses project asset instead of draw sprite sheet */
243
256
  .leaflet-draw-toolbar a.leaflet-draw-draw-cake {
244
- background-image: url(${re}) !important;
257
+ background-image: url(${se}) !important;
245
258
  background-size: 18px 18px !important;
246
259
  background-position: 50% 50% !important;
247
260
  background-repeat: no-repeat !important;
248
261
  background-color: #fff;
249
262
  }
250
- `, i.appendChild(e);
263
+ `, s.appendChild(e);
251
264
  }
252
265
  function Be() {
253
- var i, t;
254
- (t = (i = C.Icon.Default).mergeOptions) == null || t.call(i, {
255
- iconRetinaUrl: ye,
256
- iconUrl: xe,
257
- shadowUrl: we
266
+ var s, t;
267
+ (t = (s = k.Icon.Default).mergeOptions) == null || t.call(s, {
268
+ iconRetinaUrl: xe,
269
+ iconUrl: ke,
270
+ shadowUrl: ve
258
271
  });
259
272
  }
260
- function Ie(i) {
261
- const { root: t, skipStyles: e } = i;
273
+ function Se(s) {
274
+ const { root: t, skipStyles: e } = s;
262
275
  try {
263
- e || (Me(t), Be()), Ce(t);
276
+ e || (Ce(t), Be()), Ie(t);
264
277
  } catch {
265
278
  }
266
279
  }
267
- let O;
268
- const Le = new Uint8Array(16);
269
- function ze() {
270
- if (!O && (O = typeof crypto != "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !O))
280
+ let _;
281
+ const ze = new Uint8Array(16);
282
+ function Oe() {
283
+ if (!_ && (_ = typeof crypto != "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !_))
271
284
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
272
- return O(Le);
285
+ return _(ze);
273
286
  }
274
- const M = [];
275
- for (let i = 0; i < 256; ++i)
276
- M.push((i + 256).toString(16).slice(1));
277
- function Re(i, t = 0) {
278
- return M[i[t + 0]] + M[i[t + 1]] + M[i[t + 2]] + M[i[t + 3]] + "-" + M[i[t + 4]] + M[i[t + 5]] + "-" + M[i[t + 6]] + M[i[t + 7]] + "-" + M[i[t + 8]] + M[i[t + 9]] + "-" + M[i[t + 10]] + M[i[t + 11]] + M[i[t + 12]] + M[i[t + 13]] + M[i[t + 14]] + M[i[t + 15]];
287
+ const L = [];
288
+ for (let s = 0; s < 256; ++s)
289
+ L.push((s + 256).toString(16).slice(1));
290
+ function _e(s, t = 0) {
291
+ return L[s[t + 0]] + L[s[t + 1]] + L[s[t + 2]] + L[s[t + 3]] + "-" + L[s[t + 4]] + L[s[t + 5]] + "-" + L[s[t + 6]] + L[s[t + 7]] + "-" + L[s[t + 8]] + L[s[t + 9]] + "-" + L[s[t + 10]] + L[s[t + 11]] + L[s[t + 12]] + L[s[t + 13]] + L[s[t + 14]] + L[s[t + 15]];
279
292
  }
280
- const Se = typeof crypto != "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto), X = {
281
- randomUUID: Se
293
+ const Re = typeof crypto != "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto), $ = {
294
+ randomUUID: Re
282
295
  };
283
- function q(i, t, e) {
284
- if (X.randomUUID && !i)
285
- return X.randomUUID();
286
- i = i || {};
287
- const o = i.random || (i.rng || ze)();
288
- return o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, Re(o);
289
- }
290
- function Ue(i) {
296
+ function j(s, t, e) {
297
+ if ($.randomUUID && !s)
298
+ return $.randomUUID();
299
+ s = s || {};
300
+ const o = s.random || (s.rng || Oe)();
301
+ return o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, _e(o);
302
+ }
303
+ function De(s) {
291
304
  var e, o;
292
- const t = (o = i.id) != null ? o : (e = i.properties) == null ? void 0 : e.id;
305
+ const t = (o = s.id) != null ? o : (e = s.properties) == null ? void 0 : e.id;
293
306
  if (t != null)
294
307
  return String(t);
295
308
  }
296
- function Oe(i, t) {
309
+ function Ue(s, t) {
297
310
  const e = (o) => {
298
311
  switch (o.type) {
299
312
  case "Point":
@@ -306,82 +319,82 @@ function Oe(i, t) {
306
319
  case "MultiLineString":
307
320
  case "Polygon":
308
321
  for (const a of o.coordinates)
309
- for (const r of a) t(r);
322
+ for (const n of a) t(n);
310
323
  break;
311
324
  case "MultiPolygon":
312
325
  for (const a of o.coordinates)
313
- for (const r of a)
314
- for (const n of r) t(n);
326
+ for (const n of a)
327
+ for (const r of n) t(r);
315
328
  break;
316
329
  case "GeometryCollection":
317
330
  for (const a of o.geometries) e(a);
318
331
  break;
319
332
  }
320
333
  };
321
- e(i);
334
+ e(s);
322
335
  }
323
- function De(i) {
324
- const t = i.geometry;
336
+ function Ne(s) {
337
+ const t = s.geometry;
325
338
  if (!t) return null;
326
- let e = 1 / 0, o = 1 / 0, a = -1 / 0, r = -1 / 0, n = !1;
327
- return Oe(t, (l) => {
328
- const [s, c] = l;
329
- typeof s != "number" || typeof c != "number" || (n = !0, s < e && (e = s), c < o && (o = c), s > a && (a = s), c > r && (r = c));
330
- }), n ? [e, o, a, r] : null;
331
- }
332
- function Pe(i) {
333
- let t = 1 / 0, e = 1 / 0, o = -1 / 0, a = -1 / 0, r = !1;
334
- for (const n of i.features) {
335
- const l = De(n);
336
- l && (r = !0, t = Math.min(t, l[0]), e = Math.min(e, l[1]), o = Math.max(o, l[2]), a = Math.max(a, l[3]));
337
- }
338
- return r ? [t, e, o, a] : null;
339
- }
340
- function Te(i) {
341
- const [t, e, o, a] = i;
339
+ let e = 1 / 0, o = 1 / 0, a = -1 / 0, n = -1 / 0, r = !1;
340
+ return Ue(t, (i) => {
341
+ const [l, c] = i;
342
+ typeof l != "number" || typeof c != "number" || (r = !0, l < e && (e = l), c < o && (o = c), l > a && (a = l), c > n && (n = c));
343
+ }), r ? [e, o, a, n] : null;
344
+ }
345
+ function Pe(s) {
346
+ let t = 1 / 0, e = 1 / 0, o = -1 / 0, a = -1 / 0, n = !1;
347
+ for (const r of s.features) {
348
+ const i = Ne(r);
349
+ i && (n = !0, t = Math.min(t, i[0]), e = Math.min(e, i[1]), o = Math.max(o, i[2]), a = Math.max(a, i[3]));
350
+ }
351
+ return n ? [t, e, o, a] : null;
352
+ }
353
+ function Te(s) {
354
+ const [t, e, o, a] = s;
342
355
  return [
343
356
  [e, t],
344
357
  [a, o]
345
358
  ];
346
359
  }
347
- function W(i) {
360
+ function ee(s) {
348
361
  var e;
349
362
  const t = [];
350
- for (const o of i.features) {
363
+ for (const o of s.features) {
351
364
  if (!o || o.type !== "Feature") continue;
352
- const a = (e = o.properties) != null ? e : {}, r = o.geometry;
353
- if (r)
354
- switch (r.type) {
365
+ const a = (e = o.properties) != null ? e : {}, n = o.geometry;
366
+ if (n)
367
+ switch (n.type) {
355
368
  case "MultiPolygon":
356
- for (const n of r.coordinates)
369
+ for (const r of n.coordinates)
357
370
  t.push({
358
371
  type: "Feature",
359
372
  properties: { ...a },
360
- geometry: { type: "Polygon", coordinates: n }
373
+ geometry: { type: "Polygon", coordinates: r }
361
374
  });
362
375
  break;
363
376
  case "MultiLineString":
364
- for (const n of r.coordinates)
377
+ for (const r of n.coordinates)
365
378
  t.push({
366
379
  type: "Feature",
367
380
  properties: { ...a },
368
- geometry: { type: "LineString", coordinates: n }
381
+ geometry: { type: "LineString", coordinates: r }
369
382
  });
370
383
  break;
371
384
  case "MultiPoint":
372
- for (const n of r.coordinates)
385
+ for (const r of n.coordinates)
373
386
  t.push({
374
387
  type: "Feature",
375
388
  properties: { ...a },
376
- geometry: { type: "Point", coordinates: n }
389
+ geometry: { type: "Point", coordinates: r }
377
390
  });
378
391
  break;
379
392
  case "GeometryCollection":
380
- for (const n of r.geometries)
393
+ for (const r of n.geometries)
381
394
  t.push({
382
395
  type: "Feature",
383
396
  properties: { ...a },
384
- geometry: n
397
+ geometry: r
385
398
  });
386
399
  break;
387
400
  default:
@@ -391,25 +404,25 @@ function W(i) {
391
404
  }
392
405
  return { type: "FeatureCollection", features: t };
393
406
  }
394
- function ne(i) {
395
- return (i == null ? void 0 : i.type) === "Polygon";
407
+ function le(s) {
408
+ return (s == null ? void 0 : s.type) === "Polygon";
396
409
  }
397
- function ie(i) {
398
- return (i == null ? void 0 : i.type) === "MultiPolygon";
410
+ function ce(s) {
411
+ return (s == null ? void 0 : s.type) === "MultiPolygon";
399
412
  }
400
- function Ne(i) {
401
- const t = i.geometry;
402
- return t ? ne(t) ? [t.coordinates] : ie(t) ? t.coordinates : [] : [];
413
+ function Fe(s) {
414
+ const t = s.geometry;
415
+ return t ? le(t) ? [t.coordinates] : ce(t) ? t.coordinates : [] : [];
403
416
  }
404
- function Ve(i, t) {
405
- var a, r;
417
+ function He(s, t) {
418
+ var a, n;
406
419
  const e = [];
407
- for (const n of i) {
408
- const l = Ne(n);
409
- l.length > 0 && e.push(...l);
420
+ for (const r of s) {
421
+ const i = Fe(r);
422
+ i.length > 0 && e.push(...i);
410
423
  }
411
424
  if (e.length === 0) return null;
412
- const o = (r = t != null ? t : (a = i[0]) == null ? void 0 : a.properties) != null ? r : {};
425
+ const o = (n = t != null ? t : (a = s[0]) == null ? void 0 : a.properties) != null ? n : {};
413
426
  return e.length === 1 ? {
414
427
  type: "Feature",
415
428
  properties: { ...o },
@@ -426,10 +439,10 @@ function Ve(i, t) {
426
439
  }
427
440
  };
428
441
  }
429
- class Fe {
430
- constructor(t = N("feature-store", "debug")) {
431
- u(this, "log");
432
- u(this, "features");
442
+ class Ve {
443
+ constructor(t = P("feature-store", "debug")) {
444
+ h(this, "log");
445
+ h(this, "features");
433
446
  this.log = t, this.features = /* @__PURE__ */ new Map();
434
447
  }
435
448
  size() {
@@ -445,13 +458,13 @@ class Fe {
445
458
  * Add features to the store; returns the assigned/normalized ids in order.
446
459
  */
447
460
  add(t) {
448
- var r, n, l, s;
449
- const e = [], o = (n = (r = performance.now) == null ? void 0 : r.call(performance)) != null ? n : Date.now();
461
+ var n, r, i, l;
462
+ const e = [], o = (r = (n = performance.now) == null ? void 0 : n.call(performance)) != null ? r : Date.now();
450
463
  for (const c of t.features) {
451
464
  const d = this.ensureId(c), p = { ...c, id: d };
452
465
  this.features.set(d, p), e.push(d);
453
466
  }
454
- const a = ((s = (l = performance.now) == null ? void 0 : l.call(performance)) != null ? s : Date.now()) - o;
467
+ const a = ((l = (i = performance.now) == null ? void 0 : i.call(performance)) != null ? l : Date.now()) - o;
455
468
  return this.log.debug("add", {
456
469
  count: t.features.length,
457
470
  ids: e,
@@ -505,37 +518,46 @@ class Fe {
505
518
  * Ensure the feature has an id; returns the resolved id.
506
519
  */
507
520
  ensureId(t) {
508
- const e = Ue(t);
521
+ const e = De(t);
509
522
  if (e) return String(e);
510
- const o = q();
523
+ const o = j();
511
524
  return t.id = o, t.properties && typeof t.properties == "object" && (t.properties.id = o), o;
512
525
  }
513
526
  }
514
- const _ = /* @__PURE__ */ new WeakSet();
515
- function He(i = C) {
527
+ const te = /* @__PURE__ */ new WeakSet();
528
+ function Ge(s = k) {
516
529
  var o;
517
- if (_.has(i)) return;
518
- const t = i.DrawToolbar;
530
+ if (te.has(s)) return;
531
+ const t = s.DrawToolbar;
519
532
  if (!((o = t == null ? void 0 : t.prototype) != null && o.getModeHandlers)) return;
520
533
  const e = t.prototype.getModeHandlers;
521
534
  t.prototype.getModeHandlers = function(a) {
522
- var n, l;
523
- const r = e.call(this, a);
524
- if ((n = this.options) != null && n.cake) {
525
- const s = (l = i.Draw) == null ? void 0 : l.Cake;
526
- if (!s) return r;
527
- r.push({
535
+ var r, i, l, c;
536
+ const n = e.call(this, a);
537
+ if ((r = this.options) != null && r.cake) {
538
+ const d = (i = s.Draw) == null ? void 0 : i.Cake;
539
+ if (!d) return n;
540
+ n.push({
528
541
  enabled: !0,
529
- handler: new s(a, this.options.cake),
542
+ handler: new d(a, this.options.cake),
530
543
  title: "Draw Layer Cake (Subtractive Zones)"
531
544
  });
532
545
  }
533
- return r;
534
- }, _.add(i);
546
+ if ((l = this.options) != null && l.move) {
547
+ const d = (c = s.Draw) == null ? void 0 : c.Move;
548
+ if (!d) return n;
549
+ n.push({
550
+ enabled: !0,
551
+ handler: new d(a, this.options.move),
552
+ title: "Move/Translate Features"
553
+ });
554
+ }
555
+ return n;
556
+ }, te.add(s);
535
557
  }
536
- const T = class T extends C.Draw.Circle {
558
+ const U = class U extends k.Draw.Circle {
537
559
  constructor(t, e) {
538
- super(t, e), this.type = T.TYPE;
560
+ super(t, e), this.type = U.TYPE;
539
561
  }
540
562
  addHooks() {
541
563
  super.addHooks();
@@ -546,69 +568,369 @@ const T = class T extends C.Draw.Circle {
546
568
  });
547
569
  }
548
570
  };
549
- u(T, "TYPE", "cake");
550
- let D = T;
551
- C.Draw.Cake = D;
552
- function Ze(i) {
553
- const t = i.Draw;
571
+ h(U, "TYPE", "cake");
572
+ let R = U;
573
+ k.Draw.Cake = R;
574
+ function Je(s) {
575
+ const t = s.Draw;
554
576
  if (!t || t.Cake) return;
555
577
  const o = class o extends t.Circle {
556
- constructor(r, n) {
557
- super(r, n), this.type = o.TYPE;
578
+ constructor(n, r) {
579
+ super(n, r), this.type = o.TYPE;
558
580
  }
559
581
  addHooks() {
560
582
  super.addHooks();
561
- const r = this._tooltip;
562
- r != null && r.updateContent && r.updateContent({
583
+ const n = this._tooltip;
584
+ n != null && n.updateContent && n.updateContent({
563
585
  text: "Click and drag to draw the Layer Cake base",
564
586
  subtext: "Release mouse to finish base layer"
565
587
  });
566
588
  }
567
589
  };
568
- u(o, "TYPE", "cake");
590
+ h(o, "TYPE", "cake");
569
591
  let e = o;
570
592
  t.Cake = e;
571
593
  }
594
+ const N = class N extends k.Draw.Feature {
595
+ constructor(e, o) {
596
+ super(e, o);
597
+ h(this, "_featureGroup");
598
+ h(this, "_selectedLayer", null);
599
+ h(this, "_originalLatLngs", null);
600
+ h(this, "_dragStartLatLng", null);
601
+ h(this, "_isDragging", !1);
602
+ h(this, "_pendingMove", null);
603
+ this.type = N.TYPE, this._featureGroup = (o == null ? void 0 : o.featureGroup) || new k.FeatureGroup();
604
+ }
605
+ enable() {
606
+ this._enabled || super.enable();
607
+ }
608
+ disable() {
609
+ this._enabled && (this._cleanupDragging(), super.disable());
610
+ }
611
+ addHooks() {
612
+ const e = this._map;
613
+ if (!e) return;
614
+ k.DomUtil.addClass(e.getContainer(), "leaflet-draw-move-mode"), this._featureGroup.eachLayer((a) => {
615
+ this._enableLayerHover(a);
616
+ });
617
+ const o = this._tooltip;
618
+ o != null && o.updateContent && o.updateContent({
619
+ text: "Click and drag a feature to move it",
620
+ subtext: ""
621
+ });
622
+ }
623
+ removeHooks() {
624
+ const e = this._map;
625
+ e && (k.DomUtil.removeClass(e.getContainer(), "leaflet-draw-move-mode"), this._featureGroup.eachLayer((o) => {
626
+ this._disableLayerHover(o);
627
+ }), this._cleanupDragging());
628
+ }
629
+ _enableLayerHover(e) {
630
+ e.on && (e.on("mouseover", this._onLayerMouseOver, this), e.on("mouseout", this._onLayerMouseOut, this), e.on("mousedown", this._onLayerMouseDown, this));
631
+ }
632
+ _disableLayerHover(e) {
633
+ e.off && (e.off("mouseover", this._onLayerMouseOver, this), e.off("mouseout", this._onLayerMouseOut, this), e.off("mousedown", this._onLayerMouseDown, this));
634
+ }
635
+ _onLayerMouseOver(e) {
636
+ if (this._isDragging) return;
637
+ const o = e.target;
638
+ if (o.getElement) {
639
+ const a = o.getElement();
640
+ a && (a.style.cursor = "grab");
641
+ } else o._path && (o._path.style.cursor = "grab");
642
+ }
643
+ _onLayerMouseOut(e) {
644
+ if (this._isDragging) return;
645
+ const o = e.target;
646
+ if (o.getElement) {
647
+ const a = o.getElement();
648
+ a && (a.style.cursor = "");
649
+ } else o._path && (o._path.style.cursor = "");
650
+ }
651
+ _onLayerMouseDown(e) {
652
+ if (this._isDragging) return;
653
+ k.DomEvent.stopPropagation(e.originalEvent), k.DomEvent.preventDefault(e.originalEvent);
654
+ const o = e.target;
655
+ if (this._selectedLayer = o, this._isDragging = !0, this._dragStartLatLng = e.latlng, this._storeOriginalLatLngs(o), o.getElement) {
656
+ const n = o.getElement();
657
+ n && (n.style.cursor = "grabbing");
658
+ } else o._path && (o._path.style.cursor = "grabbing");
659
+ this._map.on("mousemove", this._onMouseMove, this), this._map.on("mouseup", this._onMouseUp, this);
660
+ const a = o.toGeoJSON();
661
+ this._pendingMove = {
662
+ layer: o,
663
+ originalGeoJSON: a,
664
+ newGeoJSON: a
665
+ // Will be updated on mouseup
666
+ };
667
+ }
668
+ _storeOriginalLatLngs(e) {
669
+ e.getLatLng ? this._originalLatLngs = e.getLatLng() : e.getLatLngs && (this._originalLatLngs = JSON.parse(
670
+ JSON.stringify(e.getLatLngs())
671
+ ));
672
+ }
673
+ _onMouseMove(e) {
674
+ if (!this._isDragging || !this._selectedLayer || !this._dragStartLatLng)
675
+ return;
676
+ const o = this._selectedLayer, a = {
677
+ lat: e.latlng.lat - this._dragStartLatLng.lat,
678
+ lng: e.latlng.lng - this._dragStartLatLng.lng
679
+ };
680
+ if (o.setLatLng) {
681
+ const n = k.latLng(
682
+ this._originalLatLngs.lat + a.lat,
683
+ this._originalLatLngs.lng + a.lng
684
+ );
685
+ o.setLatLng(n);
686
+ } else if (o.setLatLngs) {
687
+ const n = this._offsetLatLngs(this._originalLatLngs, a);
688
+ o.setLatLngs(n);
689
+ }
690
+ }
691
+ _offsetLatLngs(e, o) {
692
+ return e instanceof k.LatLng || e.lat !== void 0 && e.lng !== void 0 ? k.latLng(e.lat + o.lat, e.lng + o.lng) : Array.isArray(e) ? e.map((a) => this._offsetLatLngs(a, o)) : e;
693
+ }
694
+ _onMouseUp(e) {
695
+ var a, n;
696
+ if (!this._isDragging || !this._selectedLayer) return;
697
+ this._pendingMove && (this._pendingMove.newGeoJSON = this._selectedLayer.toGeoJSON());
698
+ const o = this._selectedLayer;
699
+ if (o.getElement) {
700
+ const r = o.getElement();
701
+ r && (r.style.cursor = "grab");
702
+ } else o._path && (o._path.style.cursor = "grab");
703
+ this._map.fire("draw:moveend", {
704
+ layer: this._selectedLayer,
705
+ originalGeoJSON: (a = this._pendingMove) == null ? void 0 : a.originalGeoJSON,
706
+ newGeoJSON: (n = this._pendingMove) == null ? void 0 : n.newGeoJSON
707
+ }), this._map.off("mousemove", this._onMouseMove, this), this._map.off("mouseup", this._onMouseUp, this), this._isDragging = !1;
708
+ }
709
+ _cleanupDragging() {
710
+ if (this._selectedLayer) {
711
+ const e = this._selectedLayer;
712
+ if (e.getElement) {
713
+ const o = e.getElement();
714
+ o && (o.style.cursor = "");
715
+ } else e._path && (e._path.style.cursor = "");
716
+ }
717
+ this._map.off("mousemove", this._onMouseMove, this), this._map.off("mouseup", this._onMouseUp, this), this._selectedLayer = null, this._originalLatLngs = null, this._dragStartLatLng = null, this._isDragging = !1, this._pendingMove = null;
718
+ }
719
+ /**
720
+ * Confirm the pending move and dispatch the final event.
721
+ */
722
+ confirmMove() {
723
+ this._pendingMove && (this._map.fire("draw:moveconfirmed", {
724
+ layer: this._pendingMove.layer,
725
+ originalGeoJSON: this._pendingMove.originalGeoJSON,
726
+ newGeoJSON: this._pendingMove.newGeoJSON
727
+ }), this._cleanupDragging());
728
+ }
729
+ /**
730
+ * Cancel the pending move and revert the layer to its original position.
731
+ */
732
+ cancelMove() {
733
+ if (!this._pendingMove) return;
734
+ const e = this._pendingMove.layer;
735
+ e.setLatLng && this._originalLatLngs ? e.setLatLng(this._originalLatLngs) : e.setLatLngs && this._originalLatLngs && e.setLatLngs(this._originalLatLngs), this._cleanupDragging();
736
+ }
737
+ /**
738
+ * Check if there's a pending move awaiting confirmation.
739
+ */
740
+ hasPendingMove() {
741
+ return this._pendingMove !== null;
742
+ }
743
+ };
744
+ h(N, "TYPE", "move");
745
+ let V = N;
746
+ k.Draw.Move = V;
747
+ function Ze(s) {
748
+ const t = s.Draw;
749
+ if (!t || t.Move) return;
750
+ const o = class o extends t.Feature {
751
+ constructor(r, i) {
752
+ super(r, i);
753
+ h(this, "_featureGroup");
754
+ h(this, "_selectedLayer", null);
755
+ h(this, "_originalLatLngs", null);
756
+ h(this, "_dragStartLatLng", null);
757
+ h(this, "_isDragging", !1);
758
+ h(this, "_pendingMove", null);
759
+ this.type = o.TYPE, this._featureGroup = (i == null ? void 0 : i.featureGroup) || new k.FeatureGroup();
760
+ }
761
+ enable() {
762
+ this._enabled || super.enable();
763
+ }
764
+ disable() {
765
+ this._enabled && (this._cleanupDragging(), super.disable());
766
+ }
767
+ addHooks() {
768
+ const r = this._map;
769
+ if (!r) return;
770
+ s.DomUtil.addClass(r.getContainer(), "leaflet-draw-move-mode"), this._featureGroup.eachLayer((l) => {
771
+ this._enableLayerHover(l);
772
+ });
773
+ const i = this._tooltip;
774
+ i != null && i.updateContent && i.updateContent({
775
+ text: "Click and drag a feature to move it",
776
+ subtext: ""
777
+ });
778
+ }
779
+ removeHooks() {
780
+ const r = this._map;
781
+ r && (s.DomUtil.removeClass(r.getContainer(), "leaflet-draw-move-mode"), this._featureGroup.eachLayer((i) => {
782
+ this._disableLayerHover(i);
783
+ }), this._cleanupDragging());
784
+ }
785
+ _enableLayerHover(r) {
786
+ r.on && (r.on("mouseover", this._onLayerMouseOver, this), r.on("mouseout", this._onLayerMouseOut, this), r.on("mousedown", this._onLayerMouseDown, this));
787
+ }
788
+ _disableLayerHover(r) {
789
+ r.off && (r.off("mouseover", this._onLayerMouseOver, this), r.off("mouseout", this._onLayerMouseOut, this), r.off("mousedown", this._onLayerMouseDown, this));
790
+ }
791
+ _onLayerMouseOver(r) {
792
+ if (this._isDragging) return;
793
+ const i = r.target;
794
+ if (i.getElement) {
795
+ const l = i.getElement();
796
+ l && (l.style.cursor = "grab");
797
+ } else i._path && (i._path.style.cursor = "grab");
798
+ }
799
+ _onLayerMouseOut(r) {
800
+ if (this._isDragging) return;
801
+ const i = r.target;
802
+ if (i.getElement) {
803
+ const l = i.getElement();
804
+ l && (l.style.cursor = "");
805
+ } else i._path && (i._path.style.cursor = "");
806
+ }
807
+ _onLayerMouseDown(r) {
808
+ if (this._isDragging) return;
809
+ s.DomEvent.stopPropagation(r.originalEvent), s.DomEvent.preventDefault(r.originalEvent);
810
+ const i = r.target;
811
+ if (this._selectedLayer = i, this._isDragging = !0, this._dragStartLatLng = r.latlng, this._storeOriginalLatLngs(i), i.getElement) {
812
+ const c = i.getElement();
813
+ c && (c.style.cursor = "grabbing");
814
+ } else i._path && (i._path.style.cursor = "grabbing");
815
+ this._map.on("mousemove", this._onMouseMove, this), this._map.on("mouseup", this._onMouseUp, this);
816
+ const l = i.toGeoJSON();
817
+ this._pendingMove = {
818
+ layer: i,
819
+ originalGeoJSON: l,
820
+ newGeoJSON: l
821
+ };
822
+ }
823
+ _storeOriginalLatLngs(r) {
824
+ r.getLatLng ? this._originalLatLngs = r.getLatLng() : r.getLatLngs && (this._originalLatLngs = JSON.parse(
825
+ JSON.stringify(r.getLatLngs())
826
+ ));
827
+ }
828
+ _onMouseMove(r) {
829
+ if (!this._isDragging || !this._selectedLayer || !this._dragStartLatLng)
830
+ return;
831
+ const i = this._selectedLayer, l = {
832
+ lat: r.latlng.lat - this._dragStartLatLng.lat,
833
+ lng: r.latlng.lng - this._dragStartLatLng.lng
834
+ };
835
+ if (i.setLatLng) {
836
+ const c = s.latLng(
837
+ this._originalLatLngs.lat + l.lat,
838
+ this._originalLatLngs.lng + l.lng
839
+ );
840
+ i.setLatLng(c);
841
+ } else if (i.setLatLngs) {
842
+ const c = this._offsetLatLngs(this._originalLatLngs, l);
843
+ i.setLatLngs(c);
844
+ }
845
+ }
846
+ _offsetLatLngs(r, i) {
847
+ return r instanceof s.LatLng || r.lat !== void 0 && r.lng !== void 0 ? s.latLng(r.lat + i.lat, r.lng + i.lng) : Array.isArray(r) ? r.map((l) => this._offsetLatLngs(l, i)) : r;
848
+ }
849
+ _onMouseUp(r) {
850
+ var l, c;
851
+ if (!this._isDragging || !this._selectedLayer) return;
852
+ this._pendingMove && (this._pendingMove.newGeoJSON = this._selectedLayer.toGeoJSON());
853
+ const i = this._selectedLayer;
854
+ if (i.getElement) {
855
+ const d = i.getElement();
856
+ d && (d.style.cursor = "grab");
857
+ } else i._path && (i._path.style.cursor = "grab");
858
+ this._map.fire("draw:moveend", {
859
+ layer: this._selectedLayer,
860
+ originalGeoJSON: (l = this._pendingMove) == null ? void 0 : l.originalGeoJSON,
861
+ newGeoJSON: (c = this._pendingMove) == null ? void 0 : c.newGeoJSON
862
+ }), this._map.off("mousemove", this._onMouseMove, this), this._map.off("mouseup", this._onMouseUp, this), this._isDragging = !1;
863
+ }
864
+ _cleanupDragging() {
865
+ if (this._selectedLayer) {
866
+ const r = this._selectedLayer;
867
+ if (r.getElement) {
868
+ const i = r.getElement();
869
+ i && (i.style.cursor = "");
870
+ } else r._path && (r._path.style.cursor = "");
871
+ }
872
+ this._map.off("mousemove", this._onMouseMove, this), this._map.off("mouseup", this._onMouseUp, this), this._selectedLayer = null, this._originalLatLngs = null, this._dragStartLatLng = null, this._isDragging = !1, this._pendingMove = null;
873
+ }
874
+ confirmMove() {
875
+ this._pendingMove && (this._map.fire("draw:moveconfirmed", {
876
+ layer: this._pendingMove.layer,
877
+ originalGeoJSON: this._pendingMove.originalGeoJSON,
878
+ newGeoJSON: this._pendingMove.newGeoJSON
879
+ }), this._cleanupDragging());
880
+ }
881
+ cancelMove() {
882
+ if (!this._pendingMove) return;
883
+ const r = this._pendingMove.layer;
884
+ r.setLatLng && this._originalLatLngs ? r.setLatLng(this._originalLatLngs) : r.setLatLngs && this._originalLatLngs && r.setLatLngs(this._originalLatLngs), this._cleanupDragging();
885
+ }
886
+ hasPendingMove() {
887
+ return this._pendingMove !== null;
888
+ }
889
+ };
890
+ h(o, "TYPE", "move");
891
+ let e = o;
892
+ t.Move = e;
893
+ }
572
894
  const Ye = 63710088e-1;
573
- function F(i) {
574
- return i * Math.PI / 180;
895
+ function F(s) {
896
+ return s * Math.PI / 180;
575
897
  }
576
- function $(i) {
577
- return i * 180 / Math.PI;
898
+ function oe(s) {
899
+ return s * 180 / Math.PI;
578
900
  }
579
- function je(i, t, e) {
580
- const o = t / Ye, a = F(e), r = F(i.lat), n = F(i.lng), l = Math.sin(r), s = Math.cos(r), c = Math.sin(o), d = Math.cos(o), p = l * d + s * c * Math.cos(a), g = Math.asin(p), h = Math.sin(a) * c * s, m = d - l * p, A = n + Math.atan2(h, m);
581
- return { lat: $(g), lng: $(A) };
901
+ function je(s, t, e) {
902
+ const o = t / Ye, a = F(e), n = F(s.lat), r = F(s.lng), i = Math.sin(n), l = Math.cos(n), c = Math.sin(o), d = Math.cos(o), p = i * d + l * c * Math.cos(a), u = Math.asin(p), f = Math.sin(a) * c * l, g = d - i * p, A = r + Math.atan2(f, g);
903
+ return { lat: oe(u), lng: oe(A) };
582
904
  }
583
- function Ge(i) {
905
+ function qe(s) {
584
906
  let t = 0;
585
- for (let e = 0; e < i.length - 1; e++) {
586
- const [o, a] = i[e], [r, n] = i[e + 1];
587
- t += o * n - r * a;
907
+ for (let e = 0; e < s.length - 1; e++) {
908
+ const [o, a] = s[e], [n, r] = s[e + 1];
909
+ t += o * r - n * a;
588
910
  }
589
911
  return t / 2;
590
912
  }
591
- function Z(i) {
592
- const t = i[0], e = i.at(-1);
593
- return !t || !e || t[0] === e[0] && t[1] === e[1] ? i : [...i, t];
913
+ function G(s) {
914
+ const t = s[0], e = s.at(-1);
915
+ return !t || !e || t[0] === e[0] && t[1] === e[1] ? s : [...s, t];
594
916
  }
595
- function Y(i, t) {
596
- const e = Z(i);
597
- if (Ge(e) < 0 === t) return e;
598
- const r = [...e].reverse();
599
- return Z(r);
917
+ function J(s, t) {
918
+ const e = G(s);
919
+ if (qe(e) < 0 === t) return e;
920
+ const n = [...e].reverse();
921
+ return G(n);
600
922
  }
601
- function j(i, t, e) {
923
+ function Z(s, t, e) {
602
924
  if (e < 4) throw new Error("steps must be >= 4");
603
925
  const o = [];
604
926
  for (let a = 0; a < e; a++) {
605
- const r = a / e * 360, n = je(i, t, r);
606
- o.push([n.lng, n.lat]);
927
+ const n = a / e * 360, r = je(s, t, n);
928
+ o.push([r.lng, r.lat]);
607
929
  }
608
- return Z(o);
930
+ return G(o);
609
931
  }
610
- function qe(i) {
611
- const { id: t, center: e, radiusMeters: o, layerIndex: a, steps: r } = i, n = Y(j(e, o, r), !1);
932
+ function Qe(s) {
933
+ const { id: t, center: e, radiusMeters: o, layerIndex: a, steps: n } = s, r = J(Z(e, o, n), !1);
612
934
  return {
613
935
  type: "Feature",
614
936
  properties: {
@@ -622,29 +944,29 @@ function qe(i) {
622
944
  radius: o
623
945
  }
624
946
  },
625
- geometry: { type: "Polygon", coordinates: [n] }
947
+ geometry: { type: "Polygon", coordinates: [r] }
626
948
  };
627
949
  }
628
- function Je(i) {
950
+ function Ke(s) {
629
951
  const {
630
952
  id: t,
631
953
  center: e,
632
954
  radiusOuterMeters: o,
633
955
  radiusInnerMeters: a,
634
- layerIndex: r,
635
- steps: n
636
- } = i, l = Y(
637
- j(e, o, n),
956
+ layerIndex: n,
957
+ steps: r
958
+ } = s, i = J(
959
+ Z(e, o, r),
638
960
  !1
639
- ), s = Y(
640
- j(e, a, n),
961
+ ), l = J(
962
+ Z(e, a, r),
641
963
  !0
642
964
  );
643
965
  return {
644
966
  type: "Feature",
645
967
  properties: {
646
968
  id: t,
647
- layer_index: r,
969
+ layer_index: n,
648
970
  radius_outer: o,
649
971
  type: "ring",
650
972
  _meta: {
@@ -653,102 +975,102 @@ function Je(i) {
653
975
  radius: o
654
976
  }
655
977
  },
656
- geometry: { type: "Polygon", coordinates: [l, s] }
978
+ geometry: { type: "Polygon", coordinates: [i, l] }
657
979
  };
658
980
  }
659
- function Qe(i) {
660
- const { circles: t, steps: e = 64 } = i, o = [...t].sort((r, n) => r.getRadius() - n.getRadius()), a = [];
661
- return o.forEach((r, n) => {
662
- const l = r.getLatLng(), s = r.getRadius(), c = q();
663
- if (n === 0) {
981
+ function Xe(s) {
982
+ const { circles: t, steps: e = 64 } = s, o = [...t].sort((n, r) => n.getRadius() - r.getRadius()), a = [];
983
+ return o.forEach((n, r) => {
984
+ const i = n.getLatLng(), l = n.getRadius(), c = j();
985
+ if (r === 0) {
664
986
  a.push(
665
- qe({ id: c, center: l, radiusMeters: s, layerIndex: n, steps: e })
987
+ Qe({ id: c, center: i, radiusMeters: l, layerIndex: r, steps: e })
666
988
  );
667
989
  return;
668
990
  }
669
- const p = o[n - 1].getRadius();
991
+ const p = o[r - 1].getRadius();
670
992
  a.push(
671
- Je({
993
+ Ke({
672
994
  id: c,
673
- center: l,
674
- radiusOuterMeters: s,
995
+ center: i,
996
+ radiusOuterMeters: l,
675
997
  radiusInnerMeters: p,
676
- layerIndex: n,
998
+ layerIndex: r,
677
999
  steps: e
678
1000
  })
679
1001
  );
680
1002
  }), { type: "FeatureCollection", features: a };
681
1003
  }
682
- function R(i) {
683
- i.preventDefault(), i.stopPropagation();
1004
+ function z(s) {
1005
+ s.preventDefault(), s.stopPropagation();
684
1006
  }
685
- function Ke(i) {
1007
+ function We(s) {
686
1008
  var c, d;
687
- const { root: t, addButtonId: e, saveButtonId: o, onAddRing: a, onSave: r } = i, n = (c = t.querySelector) == null ? void 0 : c.call(t, `#${e}`), l = (d = t.querySelector) == null ? void 0 : d.call(t, `#${o}`);
688
- if (!n || !l) return;
689
- const s = "data-cake-controls-bound";
690
- if (!(n.hasAttribute(s) || l.hasAttribute(s))) {
691
- n.setAttribute(s, "true"), l.setAttribute(s, "true");
692
- for (const p of [n, l])
693
- p.addEventListener("pointerdown", R), p.addEventListener("mousedown", R), p.addEventListener("touchstart", R);
694
- n.addEventListener("click", (p) => {
695
- R(p), a();
696
- }), l.addEventListener("click", (p) => {
697
- R(p), r();
1009
+ const { root: t, addButtonId: e, saveButtonId: o, onAddRing: a, onSave: n } = s, r = (c = t.querySelector) == null ? void 0 : c.call(t, `#${e}`), i = (d = t.querySelector) == null ? void 0 : d.call(t, `#${o}`);
1010
+ if (!r || !i) return;
1011
+ const l = "data-cake-controls-bound";
1012
+ if (!(r.hasAttribute(l) || i.hasAttribute(l))) {
1013
+ r.setAttribute(l, "true"), i.setAttribute(l, "true");
1014
+ for (const p of [r, i])
1015
+ p.addEventListener("pointerdown", z), p.addEventListener("mousedown", z), p.addEventListener("touchstart", z);
1016
+ r.addEventListener("click", (p) => {
1017
+ z(p), a();
1018
+ }), i.addEventListener("click", (p) => {
1019
+ z(p), n();
698
1020
  });
699
1021
  }
700
1022
  }
701
- function Xe(i) {
1023
+ function $e(s) {
702
1024
  var e;
703
- const t = (e = i.options) != null ? e : {};
1025
+ const t = (e = s.options) != null ? e : {};
704
1026
  t.original || (t.original = { ...t }), t.editing || (t.editing = { ...t });
705
1027
  }
706
- function S(i, t) {
1028
+ function O(s, t) {
707
1029
  if (t === "imperial") {
708
- const e = i * 3.28084;
1030
+ const e = s * 3.28084;
709
1031
  return e >= 5280 ? `${(e / 5280).toFixed(2)} mi` : `${Math.round(e)} ft`;
710
1032
  }
711
- return i >= 1e3 ? `${(i / 1e3).toFixed(2)} km` : `${Math.round(i)} m`;
1033
+ return s >= 1e3 ? `${(s / 1e3).toFixed(2)} km` : `${Math.round(s)} m`;
712
1034
  }
713
- class We {
1035
+ class et {
714
1036
  constructor(t, e, o, a = "metric") {
715
- u(this, "map");
716
- u(this, "layers", []);
717
- u(this, "controlsGroup");
718
- u(this, "onSave");
719
- u(this, "sessionId", q().slice(0, 8));
720
- u(this, "baseCircleOptions");
721
- u(this, "detachMapListeners", []);
722
- u(this, "renderScheduled", !1);
723
- u(this, "measurementSystem");
724
- this.map = t, this.onSave = o, this.measurementSystem = a, this.controlsGroup = C.layerGroup().addTo(t), this.baseCircleOptions = { ...e.options }, delete this.baseCircleOptions.editing, delete this.baseCircleOptions.original, this.addLayer(e), this.installEditEventBridges(), this.renderControls();
1037
+ h(this, "map");
1038
+ h(this, "layers", []);
1039
+ h(this, "controlsGroup");
1040
+ h(this, "onSave");
1041
+ h(this, "sessionId", j().slice(0, 8));
1042
+ h(this, "baseCircleOptions");
1043
+ h(this, "detachMapListeners", []);
1044
+ h(this, "renderScheduled", !1);
1045
+ h(this, "measurementSystem");
1046
+ this.map = t, this.onSave = o, this.measurementSystem = a, this.controlsGroup = k.layerGroup().addTo(t), this.baseCircleOptions = { ...e.options }, delete this.baseCircleOptions.editing, delete this.baseCircleOptions.original, this.addLayer(e), this.installEditEventBridges(), this.renderControls();
725
1047
  }
726
1048
  installEditEventBridges() {
727
- var d, p, g, h, m, A, x, y;
728
- const t = C, e = (p = (d = t == null ? void 0 : t.Draw) == null ? void 0 : d.Event) == null ? void 0 : p.EDITMOVE, o = (h = (g = t == null ? void 0 : t.Draw) == null ? void 0 : g.Event) == null ? void 0 : h.EDITRESIZE, a = (A = (m = t == null ? void 0 : t.Draw) == null ? void 0 : m.Event) == null ? void 0 : A.EDITSTART, r = (y = (x = t == null ? void 0 : t.Draw) == null ? void 0 : x.Event) == null ? void 0 : y.EDITSTOP;
1049
+ var d, p, u, f, g, A, w, b;
1050
+ const t = k, e = (p = (d = t == null ? void 0 : t.Draw) == null ? void 0 : d.Event) == null ? void 0 : p.EDITMOVE, o = (f = (u = t == null ? void 0 : t.Draw) == null ? void 0 : u.Event) == null ? void 0 : f.EDITRESIZE, a = (A = (g = t == null ? void 0 : t.Draw) == null ? void 0 : g.Event) == null ? void 0 : A.EDITSTART, n = (b = (w = t == null ? void 0 : t.Draw) == null ? void 0 : w.Event) == null ? void 0 : b.EDITSTOP;
729
1051
  if (!e || !o) return;
730
- const n = (f) => {
731
- const b = f == null ? void 0 : f.layer;
732
- b && this.layers.includes(b) && this.syncCenters(b);
733
- }, l = (f) => {
734
- const b = f == null ? void 0 : f.layer;
735
- b && this.layers.includes(b) && (this.updateLabels(b), this.requestRenderControls());
736
- }, s = (f) => {
737
- var k;
738
- const b = f == null ? void 0 : f.layer;
739
- if (!b || !this.layers.includes(b)) return;
740
- const w = b;
741
- ((k = w.getTooltip) == null ? void 0 : k.call(w)) && this.updateLabels(w);
1052
+ const r = (m) => {
1053
+ const y = m == null ? void 0 : m.layer;
1054
+ y && this.layers.includes(y) && this.syncCenters(y);
1055
+ }, i = (m) => {
1056
+ const y = m == null ? void 0 : m.layer;
1057
+ y && this.layers.includes(y) && (this.updateLabels(y), this.requestRenderControls());
1058
+ }, l = (m) => {
1059
+ var v;
1060
+ const y = m == null ? void 0 : m.layer;
1061
+ if (!y || !this.layers.includes(y)) return;
1062
+ const x = y;
1063
+ ((v = x.getTooltip) == null ? void 0 : v.call(x)) && this.updateLabels(x);
742
1064
  }, c = () => {
743
- this.layers.forEach((f) => {
744
- var w;
745
- const b = (w = f.getTooltip) == null ? void 0 : w.call(f);
746
- b && (f.setTooltipContent(
747
- S(f.getRadius(), this.measurementSystem)
748
- ), b.options.offset = [10, 0], b.options.direction = "right", f.closeTooltip(), f.openTooltip());
1065
+ this.layers.forEach((m) => {
1066
+ var x;
1067
+ const y = (x = m.getTooltip) == null ? void 0 : x.call(m);
1068
+ y && (m.setTooltipContent(
1069
+ O(m.getRadius(), this.measurementSystem)
1070
+ ), y.options.offset = [10, 0], y.options.direction = "right", m.closeTooltip(), m.openTooltip());
749
1071
  });
750
1072
  };
751
- this.map.on(e, n), this.map.on(o, l), a && (this.map.on(a, s), this.detachMapListeners.push(() => this.map.off(a, s))), r && (this.map.on(r, c), this.detachMapListeners.push(() => this.map.off(r, c))), this.detachMapListeners.push(() => this.map.off(e, n)), this.detachMapListeners.push(() => this.map.off(o, l));
1073
+ this.map.on(e, r), this.map.on(o, i), a && (this.map.on(a, l), this.detachMapListeners.push(() => this.map.off(a, l))), n && (this.map.on(n, c), this.detachMapListeners.push(() => this.map.off(n, c))), this.detachMapListeners.push(() => this.map.off(e, r)), this.detachMapListeners.push(() => this.map.off(o, i));
752
1074
  }
753
1075
  requestRenderControls() {
754
1076
  if (this.renderScheduled) return;
@@ -758,7 +1080,7 @@ class We {
758
1080
  }
759
1081
  addLayer(t) {
760
1082
  this.layers.push(t), t.addTo(this.map), t.bindTooltip(
761
- S(t.getRadius(), this.measurementSystem),
1083
+ O(t.getRadius(), this.measurementSystem),
762
1084
  {
763
1085
  permanent: !0,
764
1086
  direction: "right",
@@ -768,13 +1090,13 @@ class We {
768
1090
  );
769
1091
  const e = t.editing;
770
1092
  setTimeout(() => {
771
- var o, a, r, n, l;
1093
+ var o, a, n, r, i;
772
1094
  try {
773
- if ((o = t.redraw) == null || o.call(t), Xe(t), (a = e == null ? void 0 : e.enabled) != null && a.call(e)) {
774
- (r = e.updateMarkers) == null || r.call(e), this.requestRenderControls();
1095
+ if ((o = t.redraw) == null || o.call(t), $e(t), (a = e == null ? void 0 : e.enabled) != null && a.call(e)) {
1096
+ (n = e.updateMarkers) == null || n.call(e), this.requestRenderControls();
775
1097
  return;
776
1098
  }
777
- (n = e == null ? void 0 : e.enable) == null || n.call(e), (l = e == null ? void 0 : e.updateMarkers) == null || l.call(e), this.requestRenderControls();
1099
+ (r = e == null ? void 0 : e.enable) == null || r.call(e), (i = e == null ? void 0 : e.updateMarkers) == null || i.call(e), this.requestRenderControls();
778
1100
  } catch {
779
1101
  }
780
1102
  }, 0);
@@ -783,14 +1105,14 @@ class We {
783
1105
  if (this.layers.length >= 10) return;
784
1106
  const t = this.getLargestCircle();
785
1107
  if (!t) return;
786
- const e = t.getRadius() * 1.5, o = C.circle(t.getLatLng(), {
1108
+ const e = t.getRadius() * 1.5, o = k.circle(t.getLatLng(), {
787
1109
  ...this.baseCircleOptions,
788
1110
  radius: e
789
1111
  });
790
1112
  this.addLayer(o), this.renderControls();
791
1113
  }
792
1114
  save() {
793
- const t = Qe({ circles: this.layers });
1115
+ const t = Xe({ circles: this.layers });
794
1116
  this.onSave(t), this.destroy();
795
1117
  }
796
1118
  getLargestCircle() {
@@ -801,8 +1123,8 @@ class We {
801
1123
  syncCenters(t) {
802
1124
  const e = t.getLatLng();
803
1125
  this.layers.forEach((o) => {
804
- var a, r, n;
805
- o !== t && (o.setLatLng(e), (a = o.redraw) == null || a.call(o), (n = (r = o.editing) == null ? void 0 : r.updateMarkers) == null || n.call(r));
1126
+ var a, n, r;
1127
+ o !== t && (o.setLatLng(e), (a = o.redraw) == null || a.call(o), (r = (n = o.editing) == null ? void 0 : n.updateMarkers) == null || r.call(n));
806
1128
  }), this.requestRenderControls();
807
1129
  }
808
1130
  /**
@@ -811,51 +1133,51 @@ class We {
811
1133
  * Positions the tooltip on the left side to avoid toolbar interference.
812
1134
  */
813
1135
  updateLabels(t) {
814
- var n;
1136
+ var r;
815
1137
  const e = t.getRadius();
816
- let o = S(e, this.measurementSystem);
1138
+ let o = O(e, this.measurementSystem);
817
1139
  const a = this.layers.filter(
818
- (l) => l !== t && l.getRadius() < e
1140
+ (i) => i !== t && i.getRadius() < e
819
1141
  );
820
1142
  if (a.length > 0) {
821
- const l = a.reduce(
1143
+ const i = a.reduce(
822
1144
  (d, p) => d.getRadius() > p.getRadius() ? d : p
823
- ), s = e - l.getRadius(), c = S(s, this.measurementSystem);
824
- o = `${S(e, this.measurementSystem)} (+${c})`;
1145
+ ), l = e - i.getRadius(), c = O(l, this.measurementSystem);
1146
+ o = `${O(e, this.measurementSystem)} (+${c})`;
825
1147
  }
826
- const r = (n = t.getTooltip) == null ? void 0 : n.call(t);
827
- if (r) {
1148
+ const n = (r = t.getTooltip) == null ? void 0 : r.call(t);
1149
+ if (n) {
828
1150
  t.setTooltipContent(o);
829
- const s = t.getBounds().getSouthWest();
830
- s.lat = t.getLatLng().lat, r.options.direction = "left", r.options.offset = [-10, 0], r.setLatLng(s), t.closeTooltip(), t.openTooltip();
1151
+ const l = t.getBounds().getSouthWest();
1152
+ l.lat = t.getLatLng().lat, n.options.direction = "left", n.options.offset = [-10, 0], n.setLatLng(l), t.closeTooltip(), t.openTooltip();
831
1153
  }
832
1154
  }
833
1155
  renderControls() {
834
1156
  this.controlsGroup.clearLayers();
835
1157
  const t = this.getLargestCircle();
836
1158
  if (!t) return;
837
- const o = t.getBounds().getNorthEast(), a = `cake-add-${this.sessionId}`, r = `cake-save-${this.sessionId}`, n = C.divIcon({
1159
+ const o = t.getBounds().getNorthEast(), a = `cake-add-${this.sessionId}`, n = `cake-save-${this.sessionId}`, r = k.divIcon({
838
1160
  className: "layer-cake-controls",
839
1161
  html: `
840
1162
  <div class="layer-cake-controls__container">
841
1163
  <button id="${a}" type="button">➕ Ring</button>
842
- <button id="${r}" type="button" class="layer-cake-controls__save">💾 Save</button>
1164
+ <button id="${n}" type="button" class="layer-cake-controls__save">💾 Save</button>
843
1165
  </div>
844
1166
  `,
845
1167
  iconSize: [140, 40],
846
1168
  iconAnchor: [-10, 20]
847
1169
  });
848
- C.marker(o, {
849
- icon: n,
1170
+ k.marker(o, {
1171
+ icon: r,
850
1172
  interactive: !0,
851
1173
  keyboard: !1,
852
1174
  bubblingMouseEvents: !1
853
1175
  }).addTo(this.controlsGroup), setTimeout(() => {
854
- const l = this.map.getContainer();
855
- Ke({
856
- root: l,
1176
+ const i = this.map.getContainer();
1177
+ We({
1178
+ root: i,
857
1179
  addButtonId: a,
858
- saveButtonId: r,
1180
+ saveButtonId: n,
859
1181
  onAddRing: () => this.addRing(),
860
1182
  onSave: () => this.save()
861
1183
  });
@@ -870,7 +1192,7 @@ class We {
870
1192
  }), this.detachMapListeners = [], this.layers.forEach((t) => this.map.removeLayer(t)), this.layers = [], this.controlsGroup.clearLayers(), this.map.removeLayer(this.controlsGroup);
871
1193
  }
872
1194
  }
873
- const _e = `<?xml version="1.0" encoding="utf-8"?>
1195
+ const tt = `<?xml version="1.0" encoding="utf-8"?>
874
1196
  \r<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
875
1197
  <svg width="800px" height="800px" viewBox="0 -1.67 47.336 47.336" xmlns="http://www.w3.org/2000/svg">\r
876
1198
  <g id="Group_42" data-name="Group 42" transform="translate(-172.455 -364.36)">\r
@@ -881,90 +1203,112 @@ const _e = `<?xml version="1.0" encoding="utf-8"?>
881
1203
  <path id="Path_91" data-name="Path 91" d="M211.234,370.794a3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778,3.778,3.778,0,0,1-3.778,3.778h0a3.779,3.779,0,0,1-3.778-3.778" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"/>\r
882
1204
  </g>\r
883
1205
  </g>\r
884
- </svg>`, le = 6378137, L = 6356752314245e-6, B = 1 / 298.257223563, $e = Math.PI / 180, et = 180 / Math.PI, P = 1e9;
885
- function tt(i) {
886
- const t = BigInt(Math.round(i * P));
887
- return Number(t) / P;
888
- }
889
- function z(i) {
890
- return tt(i) * $e;
891
- }
892
- function ee(i) {
893
- const t = i * et % 360;
1206
+ </svg>`, ot = `<?xml version="1.0" encoding="utf-8"?>
1207
+ <!-- Four-way directional arrow icon for move tool -->
1208
+ <svg width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
1209
+ <g fill="none" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1210
+ <!-- Up arrow -->
1211
+ <path d="M12 2 L12 22"/>
1212
+ <path d="M12 2 L9 5"/>
1213
+ <path d="M12 2 L15 5"/>
1214
+ <!-- Down arrow -->
1215
+ <path d="M12 22 L9 19"/>
1216
+ <path d="M12 22 L15 19"/>
1217
+ <!-- Left arrow -->
1218
+ <path d="M2 12 L22 12"/>
1219
+ <path d="M2 12 L5 9"/>
1220
+ <path d="M2 12 L5 15"/>
1221
+ <!-- Right arrow -->
1222
+ <path d="M22 12 L19 9"/>
1223
+ <path d="M22 12 L19 15"/>
1224
+ </g>
1225
+ </svg>
1226
+ `, de = 6378137, B = 6356752314245e-6, I = 1 / 298.257223563, at = Math.PI / 180, rt = 180 / Math.PI, D = 1e9;
1227
+ function nt(s) {
1228
+ const t = BigInt(Math.round(s * D));
1229
+ return Number(t) / D;
1230
+ }
1231
+ function S(s) {
1232
+ return nt(s) * at;
1233
+ }
1234
+ function ae(s) {
1235
+ const t = s * rt % 360;
894
1236
  return t < 0 ? t + 360 : t;
895
1237
  }
896
- function G(i) {
897
- const t = BigInt(Math.round(i * P));
898
- return Number(t) / P;
1238
+ function Y(s) {
1239
+ const t = BigInt(Math.round(s * D));
1240
+ return Number(t) / D;
899
1241
  }
900
- function ot(i, t, e, o) {
901
- const a = at(i, t, e, o);
1242
+ function it(s, t, e, o) {
1243
+ const a = st(s, t, e, o);
902
1244
  if (a.converged)
903
1245
  return {
904
- meters: G(a.distanceMeters),
905
- bearingDegrees: ee(a.bearingRad),
1246
+ meters: Y(a.distanceMeters),
1247
+ bearingDegrees: ae(a.bearingRad),
906
1248
  algorithm: "vincenty",
907
1249
  iterations: a.iterations
908
1250
  };
909
- const r = rt(i, t, e, o);
1251
+ const n = lt(s, t, e, o);
910
1252
  return {
911
- meters: G(r.distanceMeters),
912
- bearingDegrees: ee(r.bearingRad),
1253
+ meters: Y(n.distanceMeters),
1254
+ bearingDegrees: ae(n.bearingRad),
913
1255
  algorithm: "karney",
914
1256
  iterations: a.iterations
915
1257
  };
916
1258
  }
917
- function at(i, t, e, o) {
918
- const a = z(i), r = z(e), n = z(o - t), l = Math.atan((1 - B) * Math.tan(a)), s = Math.atan((1 - B) * Math.tan(r)), c = Math.sin(l), d = Math.cos(l), p = Math.sin(s), g = Math.cos(s);
919
- let h = n, m = 0, A = 0;
920
- const x = 200;
921
- let y = 0, f = 0, b = 0, w = 0, E = 0, k = 0;
922
- for (; Math.abs(h - m) > 1e-12 && A < x; ) {
923
- const J = Math.sin(h), Q = Math.cos(h);
924
- if (y = Math.sqrt(
925
- (g * J) ** 2 + (d * p - c * g * Q) ** 2
926
- ), y === 0)
1259
+ function st(s, t, e, o) {
1260
+ const a = S(s), n = S(e), r = S(o - t), i = Math.atan((1 - I) * Math.tan(a)), l = Math.atan((1 - I) * Math.tan(n)), c = Math.sin(i), d = Math.cos(i), p = Math.sin(l), u = Math.cos(l);
1261
+ let f = r, g = 0, A = 0;
1262
+ const w = 200;
1263
+ let b = 0, m = 0, y = 0, x = 0, M = 0;
1264
+ for (; Math.abs(f - g) > 1e-12 && A < w; ) {
1265
+ const Q = Math.sin(f), K = Math.cos(f);
1266
+ if (b = Math.sqrt(
1267
+ (u * Q) ** 2 + (d * p - c * u * K) ** 2
1268
+ ), b === 0)
927
1269
  return {
928
1270
  distanceMeters: 0,
929
1271
  bearingRad: 0,
930
1272
  iterations: A,
931
1273
  converged: !0
932
1274
  };
933
- f = c * p + d * g * Q, b = Math.atan2(y, f), w = d * g * J / y, E = 1 - w ** 2, k = E === 0 ? 0 : f - 2 * c * p / E;
934
- const V = B / 16 * E * (4 + B * (4 - 3 * E));
935
- m = h, h = n + (1 - V) * B * w * (b + V * y * (k + V * f * (-1 + 2 * k ** 2))), A += 1;
1275
+ m = c * p + d * u * K, y = Math.atan2(b, m);
1276
+ const X = d * u * Q / b;
1277
+ x = 1 - X ** 2, M = x === 0 ? 0 : m - 2 * c * p / x;
1278
+ const T = I / 16 * x * (4 + I * (4 - 3 * x));
1279
+ g = f, f = r + (1 - T) * I * X * (y + T * b * (M + T * m * (-1 + 2 * M ** 2))), A += 1;
936
1280
  }
937
- if (A >= x)
1281
+ if (A >= w)
938
1282
  return {
939
1283
  distanceMeters: Number.NaN,
940
1284
  bearingRad: 0,
941
1285
  iterations: A,
942
1286
  converged: !1
943
1287
  };
944
- const v = (le ** 2 - L ** 2) / L ** 2 * E, I = 1 + v / 16384 * (4096 + v * (-768 + v * (320 - 175 * v))), U = v / 1024 * (256 + v * (-128 + v * (74 - 47 * v))), ce = U * y * (k + U / 4 * (f * (-1 + 2 * k ** 2) - U / 6 * k * (-3 + 4 * y ** 2) * (-3 + 4 * k ** 2))), de = L * I * (b - ce), pe = Math.atan2(
945
- g * Math.sin(h),
946
- d * p - c * g * Math.cos(h)
1288
+ const v = (de ** 2 - B ** 2) / B ** 2 * x, E = 1 + v / 16384 * (4096 + v * (-768 + v * (320 - 175 * v))), C = v / 1024 * (256 + v * (-128 + v * (74 - 47 * v))), q = C * b * (M + C / 4 * (m * (-1 + 2 * M ** 2) - C / 6 * M * (-3 + 4 * b ** 2) * (-3 + 4 * M ** 2))), pe = B * E * (y - q), ue = Math.atan2(
1289
+ u * Math.sin(f),
1290
+ d * p - c * u * Math.cos(f)
947
1291
  );
948
1292
  return {
949
- distanceMeters: de,
950
- bearingRad: pe,
1293
+ distanceMeters: pe,
1294
+ bearingRad: ue,
951
1295
  iterations: A,
952
1296
  converged: !0
953
1297
  };
954
1298
  }
955
- function rt(i, t, e, o) {
956
- const a = z(i), r = z(e), n = z(o - t), l = Math.atan((1 - B) * Math.tan(a)), s = Math.atan((1 - B) * Math.tan(r)), c = Math.sin(l), d = Math.cos(l), p = Math.sin(s), g = Math.cos(s), h = Math.sqrt(
957
- (g * Math.sin(n)) ** 2 + (d * p - c * g * Math.cos(n)) ** 2
958
- ), m = c * p + d * g * Math.cos(n), A = Math.atan2(h, m);
1299
+ function lt(s, t, e, o) {
1300
+ const a = S(s), n = S(e), r = S(o - t), i = Math.atan((1 - I) * Math.tan(a)), l = Math.atan((1 - I) * Math.tan(n)), c = Math.sin(i), d = Math.cos(i), p = Math.sin(l), u = Math.cos(l), f = Math.sqrt(
1301
+ (u * Math.sin(r)) ** 2 + (d * p - c * u * Math.cos(r)) ** 2
1302
+ ), g = c * p + d * u * Math.cos(r), A = Math.atan2(f, g);
959
1303
  if (A === 0)
960
1304
  return { distanceMeters: 0, bearingRad: 0 };
961
- const y = 1 - (d * g * Math.sin(n) / Math.sin(A)) ** 2, f = y === 0 ? 0 : m - 2 * c * p / y, b = (le ** 2 - L ** 2) / L ** 2 * y, w = 1 + b / 16384 * (4096 + b * (-768 + b * (320 - 175 * b))), E = b / 1024 * (256 + b * (-128 + b * (74 - 47 * b))), k = E * h * (f + E / 4 * (m * (-1 + 2 * f ** 2) - E / 6 * f * (-3 + 4 * h ** 2) * (-3 + 4 * f ** 2))), v = L * w * (A - k), I = Math.atan2(
962
- g * Math.sin(n),
963
- d * p - c * g * Math.cos(n)
1305
+ const b = 1 - (d * u * Math.sin(r) / Math.sin(A)) ** 2, m = b === 0 ? 0 : g - 2 * c * p / b, y = (de ** 2 - B ** 2) / B ** 2 * b, x = 1 + y / 16384 * (4096 + y * (-768 + y * (320 - 175 * y))), M = y / 1024 * (256 + y * (-128 + y * (74 - 47 * y))), v = M * f * (m + M / 4 * (g * (-1 + 2 * m ** 2) - M / 6 * m * (-3 + 4 * f ** 2) * (-3 + 4 * m ** 2))), E = B * x * (A - v), C = Math.atan2(
1306
+ u * Math.sin(r),
1307
+ d * p - c * u * Math.cos(r)
964
1308
  );
965
- return { distanceMeters: v, bearingRad: I };
1309
+ return { distanceMeters: E, bearingRad: C };
966
1310
  }
967
- const nt = {
1311
+ const ct = {
968
1312
  position: "topleft",
969
1313
  circleMarker: {
970
1314
  color: "red",
@@ -980,133 +1324,136 @@ const nt = {
980
1324
  factor: null,
981
1325
  label: "Bearing:"
982
1326
  }
983
- }, it = {
1327
+ }, dt = {
984
1328
  display: "km",
985
1329
  decimal: 2,
986
1330
  factor: null,
987
1331
  label: "Distance (km):"
988
- }, lt = {
1332
+ }, ht = {
989
1333
  display: "mi",
990
1334
  decimal: 2,
991
1335
  factor: 0.621371,
992
1336
  label: "Distance (mi):"
993
1337
  };
994
- function st(i) {
995
- const t = i === "imperial" ? { ...lt } : { ...it };
1338
+ function pt(s) {
1339
+ const t = s === "imperial" ? { ...ht } : { ...dt };
996
1340
  return {
997
- ...nt,
1341
+ ...ct,
998
1342
  lengthUnit: t
999
1343
  };
1000
1344
  }
1001
- const ct = {
1345
+ const ut = {
1002
1346
  metric: "Meters / Kilometers",
1003
1347
  imperial: "Feet / Miles"
1004
1348
  };
1005
- function H(i, t = {}) {
1006
- var r, n;
1007
- const e = !!((r = i == null ? void 0 : i.Control) != null && r.Draw), o = !!i.draw, a = e && o;
1008
- return a || (n = t.onError) == null || n.call(
1349
+ function H(s, t = {}) {
1350
+ var n, r;
1351
+ const e = !!((n = s == null ? void 0 : s.Control) != null && n.Draw), o = !!s.draw, a = e && o;
1352
+ return a || (r = t.onError) == null || r.call(
1009
1353
  t,
1010
1354
  "Leaflet.draw is not available on the provided Leaflet instance"
1011
1355
  ), a;
1012
1356
  }
1013
- let te = !1;
1014
- class dt {
1357
+ let re = !1;
1358
+ class ft {
1015
1359
  constructor(t) {
1016
- u(this, "container");
1017
- u(this, "logger");
1018
- u(this, "options");
1360
+ h(this, "container");
1361
+ h(this, "logger");
1362
+ h(this, "options");
1019
1363
  // Active Leaflet namespace (injected or bundled fallback)
1020
- u(this, "L");
1364
+ h(this, "L");
1021
1365
  // Data store (id-centric)
1022
- u(this, "store");
1366
+ h(this, "store");
1023
1367
  // Leaflet entities
1024
- u(this, "map", null);
1025
- u(this, "drawnItems", null);
1368
+ h(this, "map", null);
1369
+ h(this, "drawnItems", null);
1026
1370
  // Keep 'any' here to avoid type friction across different @types/leaflet-draw versions
1027
- u(this, "drawControl", null);
1028
- u(this, "rulerControl", null);
1029
- u(this, "measurementControl", null);
1030
- u(this, "measurementSystem", "metric");
1031
- u(this, "measurementModalOverlay", null);
1032
- u(this, "measurementModalDialog", null);
1033
- u(this, "measurementModalRadios", {});
1034
- u(this, "measurementModalKeydownHandler", null);
1371
+ h(this, "drawControl", null);
1372
+ h(this, "rulerControl", null);
1373
+ h(this, "measurementControl", null);
1374
+ h(this, "measurementSystem", "metric");
1375
+ h(this, "measurementModalOverlay", null);
1376
+ h(this, "measurementModalDialog", null);
1377
+ h(this, "measurementModalRadios", {});
1378
+ h(this, "measurementModalKeydownHandler", null);
1035
1379
  // Detacher for our polygon close-on-first-vertex patch
1036
- u(this, "detachPolygonFinishPatch", null);
1380
+ h(this, "detachPolygonFinishPatch", null);
1037
1381
  // Context menu for vertex deletion
1038
- u(this, "vertexMenuEl", null);
1039
- u(this, "vertexMenuCleanup", null);
1040
- u(this, "activeCakeSession", null);
1382
+ h(this, "vertexMenuEl", null);
1383
+ h(this, "vertexMenuCleanup", null);
1384
+ h(this, "activeCakeSession", null);
1385
+ // Move tool UI elements
1386
+ h(this, "moveConfirmationUI", null);
1387
+ h(this, "activeMoveHandler", null);
1041
1388
  var e;
1042
- this.options = t, this.container = t.container, this.logger = ((e = t.logger) != null ? e : N("controller", "debug")).child(
1389
+ this.options = t, this.container = t.container, this.logger = ((e = t.logger) != null ? e : P("controller", "debug")).child(
1043
1390
  "map"
1044
- ), this.L = this.resolveLeaflet(t), this.store = new Fe(this.logger.child("store")), this.logger.debug("ctor", {
1391
+ ), this.L = this.resolveLeaflet(t), this.store = new Ve(this.logger.child("store")), this.logger.debug("ctor", {
1045
1392
  config: t.map,
1046
1393
  controls: t.controls,
1047
1394
  readOnly: t.readOnly,
1048
1395
  useExternalLeaflet: t.useExternalLeaflet
1049
- }), Ze(this.L), He(this.L);
1396
+ }), Je(this.L), Ze(this.L), Ge(this.L);
1050
1397
  }
1051
1398
  resolveLeaflet(t) {
1052
1399
  if (!t.useExternalLeaflet)
1053
- return C;
1400
+ return k;
1054
1401
  if (t.leaflet && H(t.leaflet))
1055
1402
  return this.logger.debug("leaflet-runtime:external-injected"), t.leaflet;
1056
1403
  const o = globalThis.L;
1057
1404
  return o && H(o) ? (this.logger.debug("leaflet-runtime:external-global"), o) : (this.logger.warn("leaflet-runtime:external-fallback-bundled", {
1058
1405
  message: "External Leaflet requested but Draw APIs were missing; falling back to bundled Leaflet/Draw"
1059
- }), C);
1406
+ }), k);
1060
1407
  }
1061
1408
  // ---------------- Lifecycle ----------------
1062
1409
  async init() {
1063
- var e, o, a, r, n, l;
1410
+ var e, o, a, n, r, i;
1064
1411
  const t = (o = (e = performance.now) == null ? void 0 : e.call(performance)) != null ? o : Date.now();
1065
1412
  try {
1066
1413
  await this.destroy();
1067
1414
  const {
1068
- latitude: s,
1415
+ latitude: l,
1069
1416
  longitude: c,
1070
1417
  zoom: d,
1071
1418
  minZoom: p,
1072
- maxZoom: g,
1073
- tileUrl: h,
1074
- tileAttribution: m,
1419
+ maxZoom: u,
1420
+ tileUrl: f,
1421
+ tileAttribution: g,
1075
1422
  preferCanvas: A = !0,
1076
1423
  // Default to Canvas rendering for better performance
1077
- useExternalLeaflet: x
1078
- } = this.options.map, y = [s, c], f = this.L;
1079
- x && H(f, {
1080
- onError: (v) => this.logger.warn("external-leaflet-missing-draw", { message: v })
1081
- }), this.map = f.map(this.container, {
1424
+ useExternalLeaflet: w
1425
+ } = this.options.map, b = [l, c], m = this.L;
1426
+ w && H(m, {
1427
+ onError: (E) => this.logger.warn("external-leaflet-missing-draw", { message: E })
1428
+ }), this.map = m.map(this.container, {
1082
1429
  zoomControl: !0,
1083
1430
  preferCanvas: A
1084
- }).setView(y, d), f.tileLayer(h, {
1085
- attribution: m,
1431
+ }).setView(b, d), m.tileLayer(f, {
1432
+ attribution: g,
1086
1433
  minZoom: p,
1087
- maxZoom: g
1088
- }).addTo(this.map), this.drawnItems = f.featureGroup().addTo(this.map);
1089
- const b = this.buildDrawOptions(
1434
+ maxZoom: u
1435
+ }).addTo(this.map), this.drawnItems = m.featureGroup().addTo(this.map);
1436
+ const y = this.buildDrawOptions(
1090
1437
  this.options.controls,
1091
1438
  !!this.options.readOnly
1092
- ), w = f.Control.Draw;
1093
- this.drawControl = new w(b), this.map.addControl(this.drawControl), this.applyLayerCakeToolbarIcon(), this.options.controls.ruler && (this.logger.debug("init:ruler", {
1094
- available: typeof f.control.ruler == "function"
1095
- }), typeof f.control.ruler == "function" ? (this.addRulerControl(), this.installMeasurementSettingsControl()) : this.logger.warn("init:ruler:missing", {
1439
+ ), x = m.Control.Draw;
1440
+ this.drawControl = new x(y), this.map.addControl(this.drawControl), this.applyLayerCakeToolbarIcon(), this.applyMoveToolbarIcon(), this.options.controls.ruler && (this.logger.debug("init:ruler", {
1441
+ available: typeof m.control.ruler == "function"
1442
+ }), typeof m.control.ruler == "function" ? (this.addRulerControl(), this.installMeasurementSettingsControl()) : this.logger.warn("init:ruler:missing", {
1096
1443
  msg: "L.control.ruler is not defined"
1097
1444
  })), this.patchLeafletDrawBugs(), this.installPolygonFinishPatch(), this.map.invalidateSize(), setTimeout(() => {
1098
- var v;
1445
+ var E;
1099
1446
  try {
1100
- (v = this.map) == null || v.invalidateSize();
1447
+ (E = this.map) == null || E.invalidateSize();
1101
1448
  } catch {
1102
1449
  }
1103
1450
  }, 0), this.bindDrawEvents();
1104
- const E = ((r = (a = performance.now) == null ? void 0 : a.call(performance)) != null ? r : Date.now()) - t;
1105
- this.logger.debug("init:ready", { elapsedMs: Math.round(E) });
1106
- const k = this.store.bounds();
1107
- (l = (n = this.options.callbacks) == null ? void 0 : n.onReady) == null || l.call(n, k ? { bounds: k } : {});
1108
- } catch (s) {
1109
- this._error("Failed to initialize Leaflet map", s);
1451
+ const M = ((n = (a = performance.now) == null ? void 0 : a.call(performance)) != null ? n : Date.now()) - t;
1452
+ this.logger.debug("init:ready", { elapsedMs: Math.round(M) });
1453
+ const v = this.store.bounds();
1454
+ (i = (r = this.options.callbacks) == null ? void 0 : r.onReady) == null || i.call(r, v ? { bounds: v } : {});
1455
+ } catch (l) {
1456
+ this._error("Failed to initialize Leaflet map", l);
1110
1457
  }
1111
1458
  }
1112
1459
  async destroy() {
@@ -1125,7 +1472,12 @@ class dt {
1125
1472
  (e = this.vertexMenuCleanup) == null || e.call(this);
1126
1473
  } catch {
1127
1474
  }
1128
- this.vertexMenuEl = null, this.vertexMenuCleanup = null, this.drawControl = null, this.rulerControl = null, this.measurementControl = null, this.removeMeasurementModal(), this.drawnItems = null;
1475
+ this.vertexMenuEl = null, this.vertexMenuCleanup = null;
1476
+ try {
1477
+ this.hideMoveConfirmationUI();
1478
+ } catch {
1479
+ }
1480
+ this.drawControl = null, this.rulerControl = null, this.measurementControl = null, this.removeMeasurementModal(), this.drawnItems = null;
1129
1481
  try {
1130
1482
  (o = this.activeCakeSession) == null || o.destroy();
1131
1483
  } catch {
@@ -1139,11 +1491,11 @@ class dt {
1139
1491
  async loadGeoJSON(t, e = !1) {
1140
1492
  if (!this.map || !this.drawnItems) return;
1141
1493
  await this.clearLayers();
1142
- const o = W(t), a = this.store.add(o), r = this.L.geoJSON(o);
1143
- let n = 0;
1144
- r.eachLayer((l) => {
1145
- var s;
1146
- l._fid = (s = a[n]) != null ? s : a[a.length - 1], this.drawnItems.addLayer(l), this.installVertexContextMenu(l), n++;
1494
+ const o = ee(t), a = this.store.add(o), n = this.L.geoJSON(o);
1495
+ let r = 0;
1496
+ n.eachLayer((i) => {
1497
+ var l;
1498
+ i._fid = (l = a[r]) != null ? l : a[a.length - 1], this.drawnItems.addLayer(i), this.installVertexContextMenu(i), r++;
1147
1499
  }), this.logger.debug("loadGeoJSON", {
1148
1500
  count: o.features.length,
1149
1501
  ids: a
@@ -1154,11 +1506,11 @@ class dt {
1154
1506
  }
1155
1507
  async addFeatures(t) {
1156
1508
  if (!this.map || !this.drawnItems) return [];
1157
- const e = W(t), o = this.store.add(e), a = this.L.geoJSON(e);
1158
- let r = 0;
1159
- return a.eachLayer((n) => {
1160
- var l;
1161
- n._fid = (l = o[r]) != null ? l : o[o.length - 1], this.drawnItems.addLayer(n), this.installVertexContextMenu(n), r++;
1509
+ const e = ee(t), o = this.store.add(e), a = this.L.geoJSON(e);
1510
+ let n = 0;
1511
+ return a.eachLayer((r) => {
1512
+ var i;
1513
+ r._fid = (i = o[n]) != null ? i : o[o.length - 1], this.drawnItems.addLayer(r), this.installVertexContextMenu(r), n++;
1162
1514
  }), o;
1163
1515
  }
1164
1516
  async updateFeature(t, e) {
@@ -1176,9 +1528,9 @@ class dt {
1176
1528
  if (!e) return;
1177
1529
  const o = e, a = this.L.latLngBounds(o);
1178
1530
  if (t > 0) {
1179
- const r = a.getSouthWest(), n = a.getNorthEast(), l = (n.lat - r.lat) * t, s = (n.lng - r.lng) * t, c = this.L.latLngBounds(
1180
- this.L.latLng(r.lat - l, r.lng - s),
1181
- this.L.latLng(n.lat + l, n.lng + s)
1531
+ const n = a.getSouthWest(), r = a.getNorthEast(), i = (r.lat - n.lat) * t, l = (r.lng - n.lng) * t, c = this.L.latLngBounds(
1532
+ this.L.latLng(n.lat - i, n.lng - l),
1533
+ this.L.latLng(r.lat + i, r.lng + l)
1182
1534
  );
1183
1535
  this.map.fitBounds(c);
1184
1536
  } else
@@ -1188,11 +1540,11 @@ class dt {
1188
1540
  if (!this.map) return;
1189
1541
  const o = this.L.latLngBounds(t);
1190
1542
  if (e > 0) {
1191
- const a = o.getSouthWest(), r = o.getNorthEast(), n = (r.lat - a.lat) * e, l = (r.lng - a.lng) * e, s = this.L.latLngBounds(
1192
- this.L.latLng(a.lat - n, a.lng - l),
1193
- this.L.latLng(r.lat + n, r.lng + l)
1543
+ const a = o.getSouthWest(), n = o.getNorthEast(), r = (n.lat - a.lat) * e, i = (n.lng - a.lng) * e, l = this.L.latLngBounds(
1544
+ this.L.latLng(a.lat - r, a.lng - i),
1545
+ this.L.latLng(n.lat + r, n.lng + i)
1194
1546
  );
1195
- this.map.fitBounds(s);
1547
+ this.map.fitBounds(l);
1196
1548
  } else
1197
1549
  this.map.fitBounds(o);
1198
1550
  }
@@ -1208,41 +1560,41 @@ class dt {
1208
1560
  */
1209
1561
  async mergeVisiblePolygons(t) {
1210
1562
  if (!this.map || !this.drawnItems) return null;
1211
- const o = (await this.getGeoJSON()).features.filter((l) => {
1212
- const s = l.geometry;
1213
- return s && (ne(s) || ie(s));
1563
+ const o = (await this.getGeoJSON()).features.filter((i) => {
1564
+ const l = i.geometry;
1565
+ return l && (le(l) || ce(l));
1214
1566
  });
1215
1567
  if (o.length <= 1) {
1216
1568
  if (o.length === 1) {
1217
- const l = o[0].id;
1218
- return l ? String(l) : null;
1569
+ const i = o[0].id;
1570
+ return i ? String(i) : null;
1219
1571
  }
1220
1572
  return null;
1221
1573
  }
1222
- const a = Ve(o, t == null ? void 0 : t.properties);
1574
+ const a = He(o, t == null ? void 0 : t.properties);
1223
1575
  if (!a) return null;
1224
- const r = [];
1225
- for (const l of o) {
1226
- const s = l.id;
1227
- s && r.push(String(s));
1576
+ const n = [];
1577
+ for (const i of o) {
1578
+ const l = i.id;
1579
+ l && n.push(String(l));
1228
1580
  }
1229
- for (const l of r)
1230
- await this.removeFeature(l);
1231
- const [n] = await this.addFeatures({
1581
+ for (const i of n)
1582
+ await this.removeFeature(i);
1583
+ const [r] = await this.addFeatures({
1232
1584
  type: "FeatureCollection",
1233
1585
  features: [a]
1234
1586
  });
1235
- return n || null;
1587
+ return r || null;
1236
1588
  }
1237
1589
  setRulerUnits(t) {
1238
1590
  this.measurementSystem !== t && (this.measurementSystem = t, this.logger.debug("ruler:units", { system: t }), this.syncMeasurementModalState(), this.rebuildRulerControl());
1239
1591
  }
1240
1592
  // ---------------- Internals ----------------
1241
1593
  buildDrawOptions(t, e) {
1242
- var r;
1594
+ var n;
1243
1595
  const o = {
1244
1596
  polygon: t.polygon ? {
1245
- allowIntersection: (r = this.options.map.polygonAllowIntersection) != null ? r : !1,
1597
+ allowIntersection: (n = this.options.map.polygonAllowIntersection) != null ? n : !1,
1246
1598
  // Disallow self-intersections by default
1247
1599
  showArea: !0,
1248
1600
  // Display area tooltip while drawing
@@ -1273,7 +1625,10 @@ class dt {
1273
1625
  fillOpacity: 0.2
1274
1626
  }
1275
1627
  } : !1,
1276
- marker: t.marker ? {} : !1
1628
+ marker: t.marker ? {} : !1,
1629
+ move: t.move ? {
1630
+ featureGroup: this.drawnItems
1631
+ } : !1
1277
1632
  };
1278
1633
  let a = {
1279
1634
  featureGroup: this.drawnItems
@@ -1294,7 +1649,24 @@ class dt {
1294
1649
  let o = e.querySelector(
1295
1650
  ".leaflet-geokit-cake-icon"
1296
1651
  );
1297
- o || (o = document.createElement("span"), o.className = "leaflet-geokit-cake-icon", o.setAttribute("aria-hidden", "true"), e.appendChild(o)), o.style.setProperty("position", "absolute", "important"), o.style.setProperty("display", "block", "important"), o.style.setProperty("left", "50%", "important"), o.style.setProperty("top", "50%", "important"), o.style.setProperty("width", "18px", "important"), o.style.setProperty("height", "18px", "important"), o.style.setProperty("transform", "translate(-50%, -50%)", "important"), o.style.setProperty("pointer-events", "none", "important"), o.firstElementChild || (o.innerHTML = _e);
1652
+ o || (o = document.createElement("span"), o.className = "leaflet-geokit-cake-icon", o.setAttribute("aria-hidden", "true"), e.appendChild(o)), o.style.setProperty("position", "absolute", "important"), o.style.setProperty("display", "block", "important"), o.style.setProperty("left", "50%", "important"), o.style.setProperty("top", "50%", "important"), o.style.setProperty("width", "18px", "important"), o.style.setProperty("height", "18px", "important"), o.style.setProperty("transform", "translate(-50%, -50%)", "important"), o.style.setProperty("pointer-events", "none", "important"), o.firstElementChild || (o.innerHTML = tt);
1653
+ const a = o.firstElementChild;
1654
+ a && (a.style.setProperty("width", "100%", "important"), a.style.setProperty("height", "100%", "important"), a.style.setProperty("display", "block", "important"));
1655
+ };
1656
+ t(), setTimeout(t, 0);
1657
+ }
1658
+ applyMoveToolbarIcon() {
1659
+ if (!this.container) return;
1660
+ const t = () => {
1661
+ const e = this.container.querySelector(
1662
+ "a.leaflet-draw-draw-move"
1663
+ );
1664
+ if (!e) return;
1665
+ e.style.setProperty("background-image", "none", "important"), e.style.setProperty("background-color", "#fff", "important"), e.style.setProperty("position", "relative", "important");
1666
+ let o = e.querySelector(
1667
+ ".leaflet-geokit-move-icon"
1668
+ );
1669
+ o || (o = document.createElement("span"), o.className = "leaflet-geokit-move-icon", o.setAttribute("aria-hidden", "true"), e.appendChild(o)), o.style.setProperty("position", "absolute", "important"), o.style.setProperty("display", "block", "important"), o.style.setProperty("left", "50%", "important"), o.style.setProperty("top", "50%", "important"), o.style.setProperty("width", "18px", "important"), o.style.setProperty("height", "18px", "important"), o.style.setProperty("transform", "translate(-50%, -50%)", "important"), o.style.setProperty("pointer-events", "none", "important"), o.firstElementChild || (o.innerHTML = ot);
1298
1670
  const a = o.firstElementChild;
1299
1671
  a && (a.style.setProperty("width", "100%", "important"), a.style.setProperty("height", "100%", "important"), a.style.setProperty("display", "block", "important"));
1300
1672
  };
@@ -1304,33 +1676,33 @@ class dt {
1304
1676
  addRulerControl() {
1305
1677
  if (!this.map) return;
1306
1678
  this.installRulerPrecisionPatch();
1307
- const t = st(this.measurementSystem);
1679
+ const t = pt(this.measurementSystem);
1308
1680
  this.rulerControl = this.L.control.ruler(t), this.map.addControl(this.rulerControl);
1309
1681
  }
1310
1682
  installRulerPrecisionPatch() {
1311
- if (te) return;
1683
+ if (re) return;
1312
1684
  const t = this.L.Control.Ruler;
1313
1685
  if (!t || typeof t != "function") return;
1314
1686
  const e = t.prototype, o = e._calculateBearingAndDistance;
1315
1687
  if (typeof o != "function") return;
1316
1688
  const a = this.logger;
1317
1689
  e._calculateBearingAndDistance = function() {
1318
- var n, l, s;
1690
+ var r, i, l;
1319
1691
  o.call(this);
1320
1692
  try {
1321
- const c = this._clickedLatLong, d = (n = this._movingLatLong) != null ? n : this._clickedLatLong;
1693
+ const c = this._clickedLatLong, d = (r = this._movingLatLong) != null ? r : this._clickedLatLong;
1322
1694
  if (!c || !d) return;
1323
- const { meters: p, bearingDegrees: g } = ot(
1695
+ const { meters: p, bearingDegrees: u } = it(
1324
1696
  c.lat,
1325
1697
  c.lng,
1326
1698
  d.lat,
1327
1699
  d.lng
1328
- ), h = p / 1e3, m = typeof ((s = (l = this.options) == null ? void 0 : l.lengthUnit) == null ? void 0 : s.factor) == "number" ? this.options.lengthUnit.factor : 1, A = G(h * m);
1329
- this._result = this._result || {}, this._result.Distance = A, this._result.Bearing = g, this._result.meters = p;
1700
+ ), f = p / 1e3, g = typeof ((l = (i = this.options) == null ? void 0 : i.lengthUnit) == null ? void 0 : l.factor) == "number" ? this.options.lengthUnit.factor : 1, A = Y(f * g);
1701
+ this._result = this._result || {}, this._result.Distance = A, this._result.Bearing = u, this._result.meters = p;
1330
1702
  } catch (c) {
1331
1703
  a == null || a.warn("ruler:precision-patch", c);
1332
1704
  }
1333
- }, te = !0;
1705
+ }, re = !0;
1334
1706
  }
1335
1707
  rebuildRulerControl() {
1336
1708
  if (!(!this.map || !this.options.controls.ruler)) {
@@ -1359,8 +1731,8 @@ class dt {
1359
1731
  "leaflet-ruler-settings-button",
1360
1732
  o
1361
1733
  );
1362
- return a.type = "button", a.title = "Measurement settings", a.setAttribute("aria-label", "Measurement settings"), a.addEventListener("click", (r) => {
1363
- r.preventDefault(), r.stopPropagation(), t.toggleMeasurementModal(!0);
1734
+ return a.type = "button", a.title = "Measurement settings", a.setAttribute("aria-label", "Measurement settings"), a.addEventListener("click", (n) => {
1735
+ n.preventDefault(), n.stopPropagation(), t.toggleMeasurementModal(!0);
1364
1736
  }), t.L.DomEvent.disableClickPropagation(o), t.L.DomEvent.disableScrollPropagation(o), o;
1365
1737
  }
1366
1738
  });
@@ -1374,28 +1746,28 @@ class dt {
1374
1746
  const t = document.createElement("div");
1375
1747
  t.className = "leaflet-ruler-modal-overlay", t.setAttribute("aria-hidden", "true");
1376
1748
  const e = document.createElement("div");
1377
- e.className = "leaflet-ruler-modal", e.setAttribute("role", "dialog"), e.setAttribute("aria-modal", "true"), e.tabIndex = -1, t.addEventListener("click", (s) => {
1378
- s.target === t && this.toggleMeasurementModal(!1);
1749
+ e.className = "leaflet-ruler-modal", e.setAttribute("role", "dialog"), e.setAttribute("aria-modal", "true"), e.tabIndex = -1, t.addEventListener("click", (l) => {
1750
+ l.target === t && this.toggleMeasurementModal(!1);
1379
1751
  });
1380
1752
  const o = document.createElement("h2");
1381
1753
  o.className = "leaflet-ruler-modal-title", o.textContent = "Measurement Units", e.appendChild(o);
1382
1754
  const a = document.createElement("p");
1383
1755
  a.className = "leaflet-ruler-modal-description", a.textContent = "Choose how the measurement tool reports distances.", e.appendChild(a);
1384
- const r = document.createElement("div");
1385
- r.className = "leaflet-ruler-modal-options", e.appendChild(r), ["metric", "imperial"].forEach((s) => {
1756
+ const n = document.createElement("div");
1757
+ n.className = "leaflet-ruler-modal-options", e.appendChild(n), ["metric", "imperial"].forEach((l) => {
1386
1758
  const c = document.createElement("label");
1387
1759
  c.className = "leaflet-ruler-modal-option";
1388
1760
  const d = document.createElement("input");
1389
- d.type = "radio", d.name = "leaflet-ruler-units", d.value = s, d.addEventListener("change", () => {
1390
- d.checked && this.setRulerUnits(s);
1761
+ d.type = "radio", d.name = "leaflet-ruler-units", d.value = l, d.addEventListener("change", () => {
1762
+ d.checked && this.setRulerUnits(l);
1391
1763
  });
1392
1764
  const p = document.createElement("span");
1393
- p.textContent = ct[s], c.appendChild(d), c.appendChild(p), r.appendChild(c), this.measurementModalRadios[s] = d;
1765
+ p.textContent = ut[l], c.appendChild(d), c.appendChild(p), n.appendChild(c), this.measurementModalRadios[l] = d;
1394
1766
  });
1395
- const n = document.createElement("div");
1396
- n.className = "leaflet-ruler-modal-actions";
1397
- const l = document.createElement("button");
1398
- return l.type = "button", l.className = "leaflet-ruler-modal-close", l.textContent = "Close", l.addEventListener("click", () => this.toggleMeasurementModal(!1)), n.appendChild(l), e.appendChild(n), t.appendChild(e), this.container.appendChild(t), this.measurementModalOverlay = t, this.measurementModalDialog = e, this.syncMeasurementModalState(), t;
1767
+ const r = document.createElement("div");
1768
+ r.className = "leaflet-ruler-modal-actions";
1769
+ const i = document.createElement("button");
1770
+ return i.type = "button", i.className = "leaflet-ruler-modal-close", i.textContent = "Close", i.addEventListener("click", () => this.toggleMeasurementModal(!1)), r.appendChild(i), e.appendChild(r), t.appendChild(e), this.container.appendChild(t), this.measurementModalOverlay = t, this.measurementModalDialog = e, this.syncMeasurementModalState(), t;
1399
1771
  }
1400
1772
  /* c8 ignore next */
1401
1773
  toggleMeasurementModal(t) {
@@ -1436,43 +1808,43 @@ class dt {
1436
1808
  * if the click is within a small pixel radius of the first vertex, it triggers finishShape().
1437
1809
  */
1438
1810
  installPolygonFinishPatch() {
1439
- var n, l, s, c, d;
1811
+ var r, i, l, c, d;
1440
1812
  if (!this.map || !this.drawControl) return;
1441
1813
  try {
1442
- (n = this.detachPolygonFinishPatch) == null || n.call(this);
1814
+ (r = this.detachPolygonFinishPatch) == null || r.call(this);
1443
1815
  } catch {
1444
1816
  }
1445
1817
  this.detachPolygonFinishPatch = null;
1446
- const t = this.map, e = (s = (l = this.drawControl) == null ? void 0 : l._toolbars) == null ? void 0 : s.draw;
1818
+ const t = this.map, e = (l = (i = this.drawControl) == null ? void 0 : i._toolbars) == null ? void 0 : l.draw;
1447
1819
  if (!e || !!!((d = (c = e._modes) == null ? void 0 : c.polygon) != null && d.handler)) return;
1448
- const a = 10, r = (p) => {
1449
- var g, h, m, A, x, y, f, b;
1820
+ const a = 10, n = (p) => {
1821
+ var u, f, g, A, w, b, m, y;
1450
1822
  try {
1451
- const w = (h = (g = e._modes) == null ? void 0 : g.polygon) == null ? void 0 : h.handler;
1452
- if (!w || !w._enabled) return;
1453
- const E = w._markers;
1454
- if (!Array.isArray(E) || E.length < 4) return;
1455
- const k = (A = (m = E[0]) == null ? void 0 : m.getLatLng) == null ? void 0 : A.call(m);
1456
- if (!k) return;
1457
- const v = t.latLngToContainerPoint(k), I = t.latLngToContainerPoint(p.latlng);
1458
- Math.hypot(v.x - I.x, v.y - I.y) <= a && typeof w._finishShape == "function" && ((y = (x = p.originalEvent) == null ? void 0 : x.preventDefault) == null || y.call(x), (b = (f = p.originalEvent) == null ? void 0 : f.stopPropagation) == null || b.call(f), w._finishShape());
1459
- } catch (w) {
1460
- this._error("polygon-finish-patch", w);
1823
+ const x = (f = (u = e._modes) == null ? void 0 : u.polygon) == null ? void 0 : f.handler;
1824
+ if (!x || !x._enabled) return;
1825
+ const M = x._markers;
1826
+ if (!Array.isArray(M) || M.length < 4) return;
1827
+ const v = (A = (g = M[0]) == null ? void 0 : g.getLatLng) == null ? void 0 : A.call(g);
1828
+ if (!v) return;
1829
+ const E = t.latLngToContainerPoint(v), C = t.latLngToContainerPoint(p.latlng);
1830
+ Math.hypot(E.x - C.x, E.y - C.y) <= a && typeof x._finishShape == "function" && ((b = (w = p.originalEvent) == null ? void 0 : w.preventDefault) == null || b.call(w), (y = (m = p.originalEvent) == null ? void 0 : m.stopPropagation) == null || y.call(m), x._finishShape());
1831
+ } catch (x) {
1832
+ this._error("polygon-finish-patch", x);
1461
1833
  }
1462
1834
  };
1463
- t.on("click", r), this.detachPolygonFinishPatch = () => {
1835
+ t.on("click", n), this.detachPolygonFinishPatch = () => {
1464
1836
  try {
1465
- t.off("click", r);
1837
+ t.off("click", n);
1466
1838
  } catch {
1467
1839
  }
1468
1840
  };
1469
1841
  }
1470
1842
  patchLeafletDrawBugs() {
1471
- var t, e, o, a, r;
1843
+ var t, e, o, a, n;
1472
1844
  try {
1473
- const n = this.L, l = n.GeometryUtil;
1474
- if (!l) return;
1475
- const s = {
1845
+ const r = this.L, i = r.GeometryUtil;
1846
+ if (!i) return;
1847
+ const l = {
1476
1848
  km: 2,
1477
1849
  ha: 2,
1478
1850
  m: 0,
@@ -1481,34 +1853,34 @@ class dt {
1481
1853
  yd: 0,
1482
1854
  ft: 0,
1483
1855
  nm: 2
1484
- }, c = (e = (t = l.formattedNumber) == null ? void 0 : t.bind(l)) != null ? e : ((d, p) => Number(d).toFixed(p));
1485
- l.readableArea = (d, p, g) => {
1856
+ }, c = (e = (t = i.formattedNumber) == null ? void 0 : t.bind(i)) != null ? e : ((d, p) => Number(d).toFixed(p));
1857
+ i.readableArea = (d, p, u) => {
1486
1858
  var A;
1487
- const h = (A = n.Util) != null && A.extend ? n.Util.extend({}, s, g || {}) : { ...s, ...g || {} };
1488
- let m;
1859
+ const f = (A = r.Util) != null && A.extend ? r.Util.extend({}, l, u || {}) : { ...l, ...u || {} };
1860
+ let g;
1489
1861
  if (p) {
1490
- let x = ["ha", "m"];
1491
- const y = typeof p;
1492
- y === "string" ? x = [p] : y !== "boolean" && (x = Array.isArray(p) ? p : x), d >= 1e6 && x.indexOf("km") !== -1 ? m = `${c(1e-6 * d, h.km)} km²` : d >= 1e4 && x.indexOf("ha") !== -1 ? m = `${c(1e-4 * d, h.ha)} ha` : m = `${c(d, h.m)} m²`;
1862
+ let w = ["ha", "m"];
1863
+ const b = typeof p;
1864
+ b === "string" ? w = [p] : b !== "boolean" && (w = Array.isArray(p) ? p : w), d >= 1e6 && w.indexOf("km") !== -1 ? g = `${c(1e-6 * d, f.km)} km²` : d >= 1e4 && w.indexOf("ha") !== -1 ? g = `${c(1e-4 * d, f.ha)} ha` : g = `${c(d, f.m)} m²`;
1493
1865
  } else
1494
- d = d / 0.836127, d >= 3097600 ? m = `${c(d / 3097600, h.mi)} mi²` : d >= 4840 ? m = `${c(d / 4840, h.ac)} acres` : m = `${c(d, h.yd)} yd²`;
1495
- return m;
1866
+ d = d / 0.836127, d >= 3097600 ? g = `${c(d / 3097600, f.mi)} mi²` : d >= 4840 ? g = `${c(d / 4840, f.ac)} acres` : g = `${c(d, f.yd)} yd²`;
1867
+ return g;
1496
1868
  };
1497
- } catch (n) {
1498
- this.logger.warn("leaflet-draw-patch:readableArea", n);
1869
+ } catch (r) {
1870
+ this.logger.warn("leaflet-draw-patch:readableArea", r);
1499
1871
  }
1500
1872
  try {
1501
- const n = this.L, l = (o = n.Edit) == null ? void 0 : o.Circle, s = (a = n.Draw) == null ? void 0 : a.Event, c = n.GeometryUtil;
1502
- if (!((r = l == null ? void 0 : l.prototype) != null && r._resize) || !s || !c) return;
1503
- l.prototype._resize = function(p) {
1504
- var m, A, x;
1505
- const g = this._moveMarker.getLatLng(), h = c.isVersion07x() ? g.distanceTo(p) : this._map.distance(g, p);
1506
- this._shape.setRadius(h);
1873
+ const r = this.L, i = (o = r.Edit) == null ? void 0 : o.Circle, l = (a = r.Draw) == null ? void 0 : a.Event, c = r.GeometryUtil;
1874
+ if (!((n = i == null ? void 0 : i.prototype) != null && n._resize) || !l || !c) return;
1875
+ i.prototype._resize = function(p) {
1876
+ var g, A, w;
1877
+ const u = this._moveMarker.getLatLng(), f = c.isVersion07x() ? u.distanceTo(p) : this._map.distance(u, p);
1878
+ this._shape.setRadius(f);
1507
1879
  try {
1508
- (m = this._map) != null && m.editTooltip && ((x = (A = this._map) == null ? void 0 : A._editTooltip) != null && x.updateContent) && this._map._editTooltip.updateContent({
1509
- text: n.drawLocal.edit.handlers.edit.tooltip.subtext + "<br />" + n.drawLocal.edit.handlers.edit.tooltip.text,
1510
- subtext: n.drawLocal.draw.handlers.circle.radius + ": " + c.readableDistance(
1511
- h,
1880
+ (g = this._map) != null && g.editTooltip && ((w = (A = this._map) == null ? void 0 : A._editTooltip) != null && w.updateContent) && this._map._editTooltip.updateContent({
1881
+ text: r.drawLocal.edit.handlers.edit.tooltip.subtext + "<br />" + r.drawLocal.edit.handlers.edit.tooltip.text,
1882
+ subtext: r.drawLocal.draw.handlers.circle.radius + ": " + c.readableDistance(
1883
+ f,
1512
1884
  !0,
1513
1885
  this.options.feet,
1514
1886
  this.options.nautic
@@ -1516,66 +1888,66 @@ class dt {
1516
1888
  });
1517
1889
  } catch {
1518
1890
  }
1519
- this._map.fire(s.EDITRESIZE, { layer: this._shape });
1891
+ this._map.fire(l.EDITRESIZE, { layer: this._shape });
1520
1892
  };
1521
- } catch (n) {
1522
- this.logger.warn("leaflet-draw-patch:circle-resize", n);
1893
+ } catch (r) {
1894
+ this.logger.warn("leaflet-draw-patch:circle-resize", r);
1523
1895
  }
1524
1896
  }
1525
1897
  bindDrawEvents() {
1526
1898
  !this.map || !this.drawnItems || (this.map.on(this.L.Draw.Event.CREATED, (t) => {
1527
1899
  var e, o, a;
1528
1900
  try {
1529
- const { layer: r, layerType: n } = t;
1530
- if (n === D.TYPE) {
1901
+ const { layer: n, layerType: r } = t;
1902
+ if (r === R.TYPE) {
1531
1903
  try {
1532
1904
  (e = this.activeCakeSession) == null || e.destroy();
1533
1905
  } catch {
1534
1906
  }
1535
- this.activeCakeSession = new We(
1907
+ this.activeCakeSession = new et(
1536
1908
  this.map,
1537
- r,
1909
+ n,
1538
1910
  (d) => {
1539
1911
  if (!this.drawnItems) return;
1540
- const p = this.store.add(d), g = this.L.geoJSON(d);
1541
- let h = 0;
1542
- g.eachLayer((m) => {
1543
- var x, y, f;
1544
- const A = (x = p[h]) != null ? x : p[p.length - 1];
1545
- m._fid = A, this.drawnItems.addLayer(m), this.installVertexContextMenu(m), (f = (y = this.options.callbacks) == null ? void 0 : y.onCreated) == null || f.call(y, {
1912
+ const p = this.store.add(d), u = this.L.geoJSON(d);
1913
+ let f = 0;
1914
+ u.eachLayer((g) => {
1915
+ var w, b, m;
1916
+ const A = (w = p[f]) != null ? w : p[p.length - 1];
1917
+ g._fid = A, this.drawnItems.addLayer(g), this.installVertexContextMenu(g), (m = (b = this.options.callbacks) == null ? void 0 : b.onCreated) == null || m.call(b, {
1546
1918
  id: A,
1547
1919
  layerType: "polygon",
1548
- geoJSON: m.toGeoJSON()
1549
- }), h++;
1920
+ geoJSON: g.toGeoJSON()
1921
+ }), f++;
1550
1922
  }), this.activeCakeSession = null;
1551
1923
  },
1552
1924
  this.measurementSystem
1553
1925
  );
1554
1926
  return;
1555
1927
  }
1556
- this.drawnItems.addLayer(r);
1557
- const l = r.toGeoJSON(), c = this.store.add({
1928
+ this.drawnItems.addLayer(n);
1929
+ const i = n.toGeoJSON(), c = this.store.add({
1558
1930
  type: "FeatureCollection",
1559
- features: [l]
1931
+ features: [i]
1560
1932
  })[0];
1561
- r._fid = c, this.installVertexContextMenu(r), (a = (o = this.options.callbacks) == null ? void 0 : o.onCreated) == null || a.call(o, { id: c, layerType: n, geoJSON: l });
1562
- } catch (r) {
1563
- this._error("onCreated handler failed", r);
1933
+ n._fid = c, this.installVertexContextMenu(n), (a = (o = this.options.callbacks) == null ? void 0 : o.onCreated) == null || a.call(o, { id: c, layerType: r, geoJSON: i });
1934
+ } catch (n) {
1935
+ this._error("onCreated handler failed", n);
1564
1936
  }
1565
1937
  }), this.map.on(this.L.Draw.Event.EDITED, (t) => {
1566
1938
  var e, o;
1567
1939
  try {
1568
1940
  const a = [];
1569
- t.layers.eachLayer((n) => {
1570
- const l = n.toGeoJSON(), s = n._fid;
1571
- if (s)
1572
- this.store.update(s, l), a.push(s);
1941
+ t.layers.eachLayer((r) => {
1942
+ const i = r.toGeoJSON(), l = r._fid;
1943
+ if (l)
1944
+ this.store.update(l, i), a.push(l);
1573
1945
  else {
1574
1946
  const c = this.store.add({
1575
1947
  type: "FeatureCollection",
1576
- features: [l]
1948
+ features: [i]
1577
1949
  })[0];
1578
- n._fid = c, a.push(c);
1950
+ r._fid = c, a.push(c);
1579
1951
  }
1580
1952
  }), (o = (e = this.options.callbacks) == null ? void 0 : e.onEdited) == null || o.call(e, {
1581
1953
  ids: a,
@@ -1588,9 +1960,9 @@ class dt {
1588
1960
  var e, o;
1589
1961
  try {
1590
1962
  const a = [];
1591
- t.layers.eachLayer((n) => {
1592
- const l = n._fid;
1593
- l && (a.push(l), this.store.remove(l));
1963
+ t.layers.eachLayer((r) => {
1964
+ const i = r._fid;
1965
+ i && (a.push(i), this.store.remove(i));
1594
1966
  }), (o = (e = this.options.callbacks) == null ? void 0 : e.onDeleted) == null || o.call(e, {
1595
1967
  ids: a,
1596
1968
  geoJSON: this.store.toFeatureCollection()
@@ -1598,6 +1970,27 @@ class dt {
1598
1970
  } catch (a) {
1599
1971
  this._error("onDeleted handler failed", a);
1600
1972
  }
1973
+ }), this.map.on("draw:moveend", (t) => {
1974
+ try {
1975
+ this.showMoveConfirmationUI(t.layer, t.originalGeoJSON, t.newGeoJSON);
1976
+ } catch (e) {
1977
+ this._error("draw:moveend handler failed", e);
1978
+ }
1979
+ }), this.map.on("draw:moveconfirmed", (t) => {
1980
+ var e, o;
1981
+ try {
1982
+ const a = t.layer, n = a._fid;
1983
+ if (n) {
1984
+ const r = a.toGeoJSON();
1985
+ this.store.update(n, r), (o = (e = this.options.callbacks) == null ? void 0 : e.onEdited) == null || o.call(e, {
1986
+ ids: [n],
1987
+ geoJSON: this.store.toFeatureCollection()
1988
+ });
1989
+ }
1990
+ this.hideMoveConfirmationUI();
1991
+ } catch (a) {
1992
+ this._error("draw:moveconfirmed handler failed", a);
1993
+ }
1601
1994
  }));
1602
1995
  }
1603
1996
  _error(t, e) {
@@ -1608,15 +2001,15 @@ class dt {
1608
2001
  installVertexContextMenu(t) {
1609
2002
  if (!t || typeof t.on != "function") return;
1610
2003
  const e = (a) => {
1611
- var r, n, l, s;
2004
+ var n, r, i, l;
1612
2005
  try {
1613
- (n = (r = a == null ? void 0 : a.originalEvent) == null ? void 0 : r.preventDefault) == null || n.call(r), (s = (l = a == null ? void 0 : a.originalEvent) == null ? void 0 : l.stopPropagation) == null || s.call(l);
2006
+ (r = (n = a == null ? void 0 : a.originalEvent) == null ? void 0 : n.preventDefault) == null || r.call(n), (l = (i = a == null ? void 0 : a.originalEvent) == null ? void 0 : i.stopPropagation) == null || l.call(i);
1614
2007
  } catch {
1615
2008
  }
1616
2009
  this.openVertexMenu(t, a);
1617
2010
  }, o = (a) => {
1618
- const r = a == null ? void 0 : a.originalEvent;
1619
- r && (r.ctrlKey || r.metaKey) && this.openVertexMenu(t, a);
2011
+ const n = a == null ? void 0 : a.originalEvent;
2012
+ n && (n.ctrlKey || n.metaKey) && this.openVertexMenu(t, a);
1620
2013
  };
1621
2014
  try {
1622
2015
  t.on("contextmenu", e), t.on("click", o);
@@ -1629,10 +2022,10 @@ class dt {
1629
2022
  const a = t.editing;
1630
2023
  if (!a || typeof a.enabled != "function" || !a.enabled())
1631
2024
  return;
1632
- const r = e == null ? void 0 : e.latlng, n = this.map.latLngToContainerPoint(r), l = this.findNearestVertex(t, r, 12);
1633
- if (!l) return;
1634
- this.showVertexMenu(n, async () => {
1635
- await this.deleteVertex(t, l.pathIndex, l.vertexIndex);
2025
+ const n = e == null ? void 0 : e.latlng, r = this.map.latLngToContainerPoint(n), i = this.findNearestVertex(t, n, 12);
2026
+ if (!i) return;
2027
+ this.showVertexMenu(r, async () => {
2028
+ await this.deleteVertex(t, i.pathIndex, i.vertexIndex);
1636
2029
  });
1637
2030
  } catch (o) {
1638
2031
  this._error("openVertexMenu", o);
@@ -1648,102 +2041,144 @@ class dt {
1648
2041
  if (this.vertexMenuCleanup = null, !this.container) return;
1649
2042
  const a = document.createElement("div");
1650
2043
  a.style.position = "absolute", a.style.top = `${t.y}px`, a.style.left = `${t.x}px`, a.style.transform = "translate(-50%, -100%)", a.style.background = "#fff", a.style.border = "1px solid rgba(0,0,0,0.15)", a.style.borderRadius = "6px", a.style.boxShadow = "0 4px 12px rgba(0,0,0,0.15)", a.style.padding = "6px", a.style.zIndex = "10000", a.style.fontSize = "12px", a.style.userSelect = "none";
1651
- const r = document.createElement("button");
1652
- r.textContent = "Delete vertex", r.style.padding = "6px 10px", r.style.border = "none", r.style.background = "#da1e28", r.style.color = "#fff", r.style.borderRadius = "4px", r.style.cursor = "pointer", r.addEventListener("click", (s) => {
1653
- s.stopPropagation(), s.preventDefault();
2044
+ const n = document.createElement("button");
2045
+ n.textContent = "Delete vertex", n.style.padding = "6px 10px", n.style.border = "none", n.style.background = "#da1e28", n.style.color = "#fff", n.style.borderRadius = "4px", n.style.cursor = "pointer", n.addEventListener("click", (l) => {
2046
+ l.stopPropagation(), l.preventDefault();
1654
2047
  try {
1655
2048
  e();
1656
2049
  } finally {
1657
- n();
2050
+ r();
1658
2051
  }
1659
- }), a.appendChild(r);
1660
- const n = () => {
2052
+ }), a.appendChild(n);
2053
+ const r = () => {
1661
2054
  try {
1662
- window.removeEventListener("pointerdown", l), this.container.removeEventListener("scroll", n, !0), a.remove();
2055
+ window.removeEventListener("pointerdown", i), this.container.removeEventListener("scroll", r, !0), a.remove();
1663
2056
  } catch {
1664
2057
  }
1665
2058
  this.vertexMenuEl = null, this.vertexMenuCleanup = null;
1666
- }, l = (s) => {
1667
- a.contains(s.target) || n();
2059
+ }, i = (l) => {
2060
+ a.contains(l.target) || r();
1668
2061
  };
1669
- window.addEventListener("pointerdown", l, { capture: !0 }), this.container.addEventListener("scroll", n, !0), this.container.appendChild(a), this.vertexMenuEl = a, this.vertexMenuCleanup = n;
2062
+ window.addEventListener("pointerdown", i, { capture: !0 }), this.container.addEventListener("scroll", r, !0), this.container.appendChild(a), this.vertexMenuEl = a, this.vertexMenuCleanup = r;
1670
2063
  } catch (a) {
1671
2064
  this._error("showVertexMenu", a);
1672
2065
  }
1673
2066
  }
1674
2067
  findNearestVertex(t, e, o) {
1675
2068
  if (!this.map) return null;
1676
- const a = (g) => this.map.latLngToContainerPoint(g), r = (g, h) => Math.hypot(g.x - h.x, g.y - h.y), n = a(e);
1677
- let l = 1 / 0, s = -1, c = -1;
2069
+ const a = (u) => this.map.latLngToContainerPoint(u), n = (u, f) => Math.hypot(u.x - f.x, u.y - f.y), r = a(e);
2070
+ let i = 1 / 0, l = -1, c = -1;
1678
2071
  const d = t.getLatLngs();
1679
- return (Array.isArray(d[0]) ? d : [d]).forEach((g, h) => {
1680
- g.forEach((m, A) => {
1681
- const x = a(m), y = r(x, n);
1682
- y < l && (l = y, s = h, c = A);
2072
+ return (Array.isArray(d[0]) ? d : [d]).forEach((u, f) => {
2073
+ u.forEach((g, A) => {
2074
+ const w = a(g), b = n(w, r);
2075
+ b < i && (i = b, l = f, c = A);
1683
2076
  });
1684
- }), s === -1 || l > o ? null : { pathIndex: s, vertexIndex: c };
2077
+ }), l === -1 || i > o ? null : { pathIndex: l, vertexIndex: c };
1685
2078
  }
1686
2079
  async deleteVertex(t, e, o) {
1687
- var a, r, n;
2080
+ var a, n, r;
1688
2081
  try {
1689
2082
  if (!(typeof t.getLatLngs == "function" && (t instanceof this.L.Polygon || t instanceof this.L.Polyline))) return;
1690
- const s = t.getLatLngs(), c = Array.isArray(s[0]) ? s : [s], d = c[e];
2083
+ const l = t.getLatLngs(), c = Array.isArray(l[0]) ? l : [l], d = c[e];
1691
2084
  if (!d) return;
1692
- const g = t instanceof this.L.Polygon ? 3 : 2;
1693
- if (d.length <= g) return;
2085
+ const u = t instanceof this.L.Polygon ? 3 : 2;
2086
+ if (d.length <= u) return;
1694
2087
  if (d.splice(o, 1), c.length === 1)
1695
2088
  t.setLatLngs(d);
1696
2089
  else {
1697
- const m = c.map((A, x) => x === e ? d : A);
1698
- t.setLatLngs(m);
2090
+ const g = c.map((A, w) => w === e ? d : A);
2091
+ t.setLatLngs(g);
1699
2092
  }
1700
2093
  (a = t.redraw) == null || a.call(t);
1701
- const h = t._fid;
1702
- if (h) {
1703
- const m = t.toGeoJSON();
1704
- this.store.update(h, m), (n = (r = this.options.callbacks) == null ? void 0 : r.onEdited) == null || n.call(r, {
1705
- ids: [h],
2094
+ const f = t._fid;
2095
+ if (f) {
2096
+ const g = t.toGeoJSON();
2097
+ this.store.update(f, g), (r = (n = this.options.callbacks) == null ? void 0 : n.onEdited) == null || r.call(n, {
2098
+ ids: [f],
1706
2099
  geoJSON: this.store.toFeatureCollection()
1707
2100
  });
1708
2101
  }
1709
- } catch (l) {
1710
- this._error("deleteVertex", l);
2102
+ } catch (i) {
2103
+ this._error("deleteVertex", i);
2104
+ }
2105
+ }
2106
+ // -------- Move tool Save/Cancel UI --------
2107
+ showMoveConfirmationUI(t, e, o) {
2108
+ var a, n;
2109
+ try {
2110
+ if (this.hideMoveConfirmationUI(), !this.container || !this.map) return;
2111
+ const r = this.drawControl;
2112
+ if (!r) return;
2113
+ const i = (a = r == null ? void 0 : r._toolbars) == null ? void 0 : a.draw;
2114
+ if (!i) return;
2115
+ const l = i._modes || {};
2116
+ let c = null;
2117
+ for (const f in l) {
2118
+ const g = l[f];
2119
+ if (((n = g == null ? void 0 : g.handler) == null ? void 0 : n.type) === "move") {
2120
+ c = g.handler;
2121
+ break;
2122
+ }
2123
+ }
2124
+ this.activeMoveHandler = c;
2125
+ const d = document.createElement("div");
2126
+ d.style.position = "absolute", d.style.bottom = "60px", d.style.left = "50%", d.style.transform = "translateX(-50%)", d.style.display = "flex", d.style.gap = "8px", d.style.background = "#fff", d.style.border = "2px solid #3388ff", d.style.borderRadius = "8px", d.style.padding = "12px 16px", d.style.boxShadow = "0 4px 12px rgba(0,0,0,0.2)", d.style.zIndex = "10000", d.style.fontSize = "14px", d.style.fontFamily = "system-ui, sans-serif";
2127
+ const p = document.createElement("button");
2128
+ p.textContent = "✓ Save", p.style.padding = "8px 16px", p.style.border = "none", p.style.background = "#28a745", p.style.color = "#fff", p.style.borderRadius = "4px", p.style.cursor = "pointer", p.style.fontWeight = "600", p.style.fontSize = "14px", p.addEventListener("click", (f) => {
2129
+ f.stopPropagation(), f.preventDefault(), c != null && c.confirmMove && c.confirmMove();
2130
+ });
2131
+ const u = document.createElement("button");
2132
+ u.textContent = "✕ Cancel", u.style.padding = "8px 16px", u.style.border = "1px solid #ccc", u.style.background = "#fff", u.style.color = "#333", u.style.borderRadius = "4px", u.style.cursor = "pointer", u.style.fontWeight = "600", u.style.fontSize = "14px", u.addEventListener("click", (f) => {
2133
+ f.stopPropagation(), f.preventDefault(), c != null && c.cancelMove && c.cancelMove(), this.hideMoveConfirmationUI();
2134
+ }), d.appendChild(p), d.appendChild(u), this.container.appendChild(d), this.moveConfirmationUI = d, this.logger.debug("showMoveConfirmationUI", {
2135
+ layerId: t._fid
2136
+ });
2137
+ } catch (r) {
2138
+ this._error("showMoveConfirmationUI", r);
2139
+ }
2140
+ }
2141
+ hideMoveConfirmationUI() {
2142
+ try {
2143
+ this.moveConfirmationUI && (this.moveConfirmationUI.remove(), this.moveConfirmationUI = null), this.activeMoveHandler = null;
2144
+ } catch (t) {
2145
+ this._error("hideMoveConfirmationUI", t);
1711
2146
  }
1712
2147
  }
1713
2148
  }
1714
- class se extends HTMLElement {
2149
+ class he extends HTMLElement {
1715
2150
  constructor() {
1716
2151
  super();
1717
2152
  // Shadow DOM and container references
1718
- u(this, "_root");
1719
- u(this, "_container");
2153
+ h(this, "_root");
2154
+ h(this, "_container");
1720
2155
  // Logging
1721
- u(this, "_logger", N("component:leaflet-geokit", "debug"));
2156
+ h(this, "_logger", P("component:leaflet-geokit", "debug"));
1722
2157
  // Internal state mirrors for attributes/properties
1723
- u(this, "_latitude", 0);
1724
- u(this, "_longitude", 0);
1725
- u(this, "_zoom", 2);
1726
- u(this, "_minZoom");
1727
- u(this, "_maxZoom");
1728
- u(this, "_tileUrl", "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png");
1729
- u(this, "_tileAttribution");
1730
- u(this, "_readOnly", !1);
1731
- u(this, "_logLevel", "debug");
1732
- u(this, "_devOverlay", !1);
1733
- u(this, "_polygonAllowIntersection", !1);
1734
- u(this, "_preferCanvas", !0);
2158
+ h(this, "_latitude", 0);
2159
+ h(this, "_longitude", 0);
2160
+ h(this, "_zoom", 2);
2161
+ h(this, "_minZoom");
2162
+ h(this, "_maxZoom");
2163
+ h(this, "_tileUrl", "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png");
2164
+ h(this, "_tileAttribution");
2165
+ h(this, "_readOnly", !1);
2166
+ h(this, "_logLevel", "debug");
2167
+ h(this, "_devOverlay", !1);
2168
+ h(this, "_polygonAllowIntersection", !1);
2169
+ h(this, "_preferCanvas", !0);
1735
2170
  // Default to Canvas for performance
1736
2171
  // Theming
1737
- u(this, "_themeUrl");
1738
- u(this, "_themeCss", "");
1739
- u(this, "_themeLinkEl", null);
1740
- u(this, "_themeStyleEl", null);
2172
+ h(this, "_themeUrl");
2173
+ h(this, "_themeCss", "");
2174
+ h(this, "_themeLinkEl", null);
2175
+ h(this, "_themeStyleEl", null);
1741
2176
  // Controller
1742
- u(this, "_controller", null);
2177
+ h(this, "_controller", null);
1743
2178
  // External Leaflet configuration
1744
- u(this, "_useExternalLeaflet", !1);
1745
- u(this, "_skipLeafletStyles", !1);
1746
- u(this, "_leafletInstance");
2179
+ h(this, "_useExternalLeaflet", !1);
2180
+ h(this, "_skipLeafletStyles", !1);
2181
+ h(this, "_leafletInstance");
1747
2182
  this._root = this.attachShadow({ mode: "open" }), this._root.innerHTML = `
1748
2183
  <style>
1749
2184
  :host {
@@ -1774,6 +2209,7 @@ class se extends HTMLElement {
1774
2209
  circle: this.hasAttribute("draw-circle"),
1775
2210
  cake: this.hasAttribute("draw-layer-cake"),
1776
2211
  marker: this.hasAttribute("draw-marker"),
2212
+ move: this.hasAttribute("draw-move"),
1777
2213
  edit: this.hasAttribute("edit-features"),
1778
2214
  delete: this.hasAttribute("delete-features"),
1779
2215
  ruler: this.hasAttribute("draw-ruler")
@@ -1801,10 +2237,10 @@ class se extends HTMLElement {
1801
2237
  // Lifecycle
1802
2238
  async connectedCallback() {
1803
2239
  var e;
1804
- this._logger.debug("connectedCallback", this._currentConfig()), Ie({
2240
+ this._logger.debug("connectedCallback", this._currentConfig()), Se({
1805
2241
  root: this._root,
1806
2242
  skipStyles: this._skipLeafletStyles
1807
- }), this._applyThemeStyles(), this._controller = new dt({
2243
+ }), this._applyThemeStyles(), this._controller = new ft({
1808
2244
  container: this._container,
1809
2245
  map: this._mapConfig(),
1810
2246
  controls: this._controlsFromAttributes(),
@@ -1864,6 +2300,7 @@ class se extends HTMLElement {
1864
2300
  "draw-circle",
1865
2301
  "draw-layer-cake",
1866
2302
  "draw-marker",
2303
+ "draw-move",
1867
2304
  "draw-ruler",
1868
2305
  "edit-features",
1869
2306
  "delete-features",
@@ -2020,8 +2457,8 @@ class se extends HTMLElement {
2020
2457
  return this._logger.debug("getGeoJSON"), this._controller ? this._controller.getGeoJSON() : { type: "FeatureCollection", features: [] };
2021
2458
  }
2022
2459
  async loadGeoJSON(e) {
2023
- var r, n;
2024
- if (this._logger.debug("loadGeoJSON", { features: (n = (r = e == null ? void 0 : e.features) == null ? void 0 : r.length) != null ? n : 0 }), !this._controller) return;
2460
+ var n, r;
2461
+ if (this._logger.debug("loadGeoJSON", { features: (r = (n = e == null ? void 0 : e.features) == null ? void 0 : n.length) != null ? r : 0 }), !this._controller) return;
2025
2462
  const o = { fc: e, mode: "load" };
2026
2463
  this.dispatchEvent(new CustomEvent("leaflet-draw:ingest", { detail: o }));
2027
2464
  const a = o.fc && o.fc.type === "FeatureCollection" ? o.fc : e;
@@ -2031,8 +2468,8 @@ class se extends HTMLElement {
2031
2468
  this._logger.debug("clearLayers"), this._controller && await this._controller.clearLayers();
2032
2469
  }
2033
2470
  async addFeatures(e) {
2034
- var r, n;
2035
- if (this._logger.debug("addFeatures", { count: (n = (r = e == null ? void 0 : e.features) == null ? void 0 : r.length) != null ? n : 0 }), !this._controller) return [];
2471
+ var n, r;
2472
+ if (this._logger.debug("addFeatures", { count: (r = (n = e == null ? void 0 : e.features) == null ? void 0 : n.length) != null ? r : 0 }), !this._controller) return [];
2036
2473
  const o = { fc: e, mode: "add" };
2037
2474
  this.dispatchEvent(new CustomEvent("leaflet-draw:ingest", { detail: o }));
2038
2475
  const a = o.fc && o.fc.type === "FeatureCollection" ? o.fc : e;
@@ -2072,16 +2509,16 @@ class se extends HTMLElement {
2072
2509
  */
2073
2510
  async mergePolygons(e) {
2074
2511
  if (this._logger.debug("mergePolygons"), !this._controller) return null;
2075
- const a = (await this._controller.getGeoJSON()).features.length, r = await this._controller.mergeVisiblePolygons(e);
2076
- if (r) {
2077
- const n = await this._controller.getGeoJSON(), l = {
2078
- id: r,
2079
- mergedFeatureCount: a - n.features.length + 1,
2080
- geoJSON: n
2512
+ const a = (await this._controller.getGeoJSON()).features.length, n = await this._controller.mergeVisiblePolygons(e);
2513
+ if (n) {
2514
+ const r = await this._controller.getGeoJSON(), i = {
2515
+ id: n,
2516
+ mergedFeatureCount: a - r.features.length + 1,
2517
+ geoJSON: r
2081
2518
  };
2082
- this.dispatchEvent(new CustomEvent("leaflet-draw:merged", { detail: l }));
2519
+ this.dispatchEvent(new CustomEvent("leaflet-draw:merged", { detail: i }));
2083
2520
  }
2084
- return r;
2521
+ return n;
2085
2522
  }
2086
2523
  async setMeasurementUnits(e) {
2087
2524
  this._logger.debug("setMeasurementUnits", { system: e }), this._controller && this._controller.setRulerUnits(e);
@@ -2090,38 +2527,38 @@ class se extends HTMLElement {
2090
2527
  if (this._logger.debug("loadGeoJSONFromUrl", { url: e }), !this._controller) return;
2091
2528
  const o = await fetch(e, { headers: { Accept: "application/json" } });
2092
2529
  if (!o.ok) {
2093
- const l = new Error(
2530
+ const i = new Error(
2094
2531
  `Failed to fetch GeoJSON from ${e}: ${o.status} ${o.statusText}`
2095
2532
  );
2096
2533
  throw this.dispatchEvent(
2097
2534
  new CustomEvent("leaflet-draw:error", {
2098
- detail: { message: l.message, cause: l }
2535
+ detail: { message: i.message, cause: i }
2099
2536
  })
2100
- ), l;
2537
+ ), i;
2101
2538
  }
2102
- const a = await o.json(), r = { fc: a, mode: "load" };
2103
- this.dispatchEvent(new CustomEvent("leaflet-draw:ingest", { detail: r }));
2104
- const n = r.fc && r.fc.type === "FeatureCollection" ? r.fc : a;
2105
- await this._controller.loadGeoJSON(n, !0);
2539
+ const a = await o.json(), n = { fc: a, mode: "load" };
2540
+ this.dispatchEvent(new CustomEvent("leaflet-draw:ingest", { detail: n }));
2541
+ const r = n.fc && n.fc.type === "FeatureCollection" ? n.fc : a;
2542
+ await this._controller.loadGeoJSON(r, !0);
2106
2543
  }
2107
2544
  async loadGeoJSONFromText(e) {
2108
- var n;
2109
- if (this._logger.debug("loadGeoJSONFromText", { length: (n = e == null ? void 0 : e.length) != null ? n : 0 }), !this._controller) return;
2545
+ var r;
2546
+ if (this._logger.debug("loadGeoJSONFromText", { length: (r = e == null ? void 0 : e.length) != null ? r : 0 }), !this._controller) return;
2110
2547
  let o;
2111
2548
  try {
2112
2549
  o = JSON.parse(e);
2113
- } catch (l) {
2114
- const s = new Error("Failed to parse GeoJSON text");
2550
+ } catch (i) {
2551
+ const l = new Error("Failed to parse GeoJSON text");
2115
2552
  throw this.dispatchEvent(
2116
2553
  new CustomEvent("leaflet-draw:error", {
2117
- detail: { message: s.message, cause: l }
2554
+ detail: { message: l.message, cause: i }
2118
2555
  })
2119
- ), s;
2556
+ ), l;
2120
2557
  }
2121
2558
  const a = { fc: o, mode: "load" };
2122
2559
  this.dispatchEvent(new CustomEvent("leaflet-draw:ingest", { detail: a }));
2123
- const r = a.fc && a.fc.type === "FeatureCollection" ? a.fc : o;
2124
- await this._controller.loadGeoJSON(r, !0);
2560
+ const n = a.fc && a.fc.type === "FeatureCollection" ? a.fc : o;
2561
+ await this._controller.loadGeoJSON(n, !0);
2125
2562
  }
2126
2563
  // Helpers
2127
2564
  _currentConfig() {
@@ -2148,16 +2585,16 @@ class se extends HTMLElement {
2148
2585
  const e = (a = this._themeUrl) == null ? void 0 : a.trim();
2149
2586
  if (e) {
2150
2587
  if (!this._themeLinkEl) {
2151
- const r = document.createElement("link");
2152
- r.setAttribute("rel", "stylesheet"), r.setAttribute("data-geokit-theme-url", "true"), this._root.appendChild(r), this._themeLinkEl = r;
2588
+ const n = document.createElement("link");
2589
+ n.setAttribute("rel", "stylesheet"), n.setAttribute("data-geokit-theme-url", "true"), this._root.appendChild(n), this._themeLinkEl = n;
2153
2590
  }
2154
2591
  this._themeLinkEl.getAttribute("href") !== e && this._themeLinkEl.setAttribute("href", e);
2155
2592
  } else this._themeLinkEl && (this._themeLinkEl.remove(), this._themeLinkEl = null);
2156
2593
  const o = this._themeCss;
2157
2594
  if (o.trim().length > 0) {
2158
2595
  if (!this._themeStyleEl) {
2159
- const r = document.createElement("style");
2160
- r.setAttribute("data-geokit-theme-css", "true"), this._root.appendChild(r), this._themeStyleEl = r;
2596
+ const n = document.createElement("style");
2597
+ n.setAttribute("data-geokit-theme-css", "true"), this._root.appendChild(n), this._themeStyleEl = n;
2161
2598
  }
2162
2599
  this._themeStyleEl.textContent !== o && (this._themeStyleEl.textContent = o);
2163
2600
  } else this._themeStyleEl && (this._themeStyleEl.remove(), this._themeStyleEl = null);
@@ -2174,15 +2611,15 @@ class se extends HTMLElement {
2174
2611
  return Number.isFinite(a) ? a : o != null ? o : NaN;
2175
2612
  }
2176
2613
  }
2177
- const oe = "leaflet-geokit";
2178
- customElements.get(oe) || customElements.define(oe, se);
2179
- const ae = "leaflet-draw-map";
2180
- if (!customElements.get(ae)) {
2181
- class i extends se {
2614
+ const ne = "leaflet-geokit";
2615
+ customElements.get(ne) || customElements.define(ne, he);
2616
+ const ie = "leaflet-draw-map";
2617
+ if (!customElements.get(ie)) {
2618
+ class s extends he {
2182
2619
  }
2183
- customElements.define(ae, i);
2620
+ customElements.define(ie, s);
2184
2621
  }
2185
2622
  export {
2186
- se as LeafletDrawMapElement
2623
+ he as LeafletDrawMapElement
2187
2624
  };
2188
- //# sourceMappingURL=index-BM2U4rKn.js.map
2625
+ //# sourceMappingURL=index-CC8_JrcA.js.map