@raruto/leaflet-elevation 1.6.9 → 1.7.3
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.
- package/README.md +65 -3
- package/dist/leaflet-elevation.css +1 -0
- package/dist/leaflet-elevation.js +76 -31
- package/dist/leaflet-elevation.js.map +1 -1
- package/dist/leaflet-elevation.min.css +1 -1
- package/dist/leaflet-elevation.min.js +1 -1
- package/dist/leaflet-elevation.min.js.map +1 -1
- package/libs/leaflet-gpxgroup.js +45 -35
- package/libs/leaflet-gpxgroup.min.js +14 -13
- package/package.json +1 -1
- package/src/chart.js +4 -0
- package/src/components.js +6 -0
- package/src/control.js +38 -6
- package/src/index.css +1 -0
- package/src/options.js +9 -16
- package/src/utils.js +10 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
.leaflet-hidden{visibility:hidden}.legend{cursor:pointer}.leaflet-container{z-index:0}.elevation-detached{font:12px/1.5 Helvetica Neue,Arial,Helvetica,sans-serif;height:auto;width:100%;position:relative;z-index:0}.elevation-detached .elevation{width:100%}.elevation-detached .background{max-width:100%}.elevation-control.elevation .background{background-color:rgba(70,130,180,.2);border-radius:5px;overflow:visible;display:block;touch-action:none}.elevation-control.elevation .background.zoomed .axis.time,.elevation-control.elevation .background.zoomed .point{display:none}.elevation-control.elevation .axis line,.elevation-control.elevation .axis path{stroke:#2d1130;stroke-width:1;fill:none}.elevation-control.elevation .grid .tick line{stroke:#eee;stroke-width:1px;shape-rendering:crispEdges}.elevation-control.elevation .grid path{stroke-width:0;pointer-events:none}.elevation-control.elevation .axis text,.elevation-control.elevation .point text{fill:#000;font-weight:700;paint-order:stroke fill;stroke:#fff;stroke-width:2px}.elevation-control.elevation .y.axis text{text-anchor:end}.elevation-control.elevation .area{fill:#4682b4;stroke:#000;stroke-width:1.2;paint-order:stroke fill}.elevation-detached .elevation-control.elevation .area{fill-opacity:.8}.elevation-control.elevation .horizontal-drag-line{stroke:transparent;cursor:row-resize;stroke-width:1.1;stroke-dasharray:5}.elevation-control.elevation .active .horizontal-drag-line{stroke:#000}.elevation-control.elevation .horizontal-drag-label{font-weight:700;fill:#000;paint-order:stroke;stroke:#fff;stroke-width:2px;pointer-events:none}.elevation-control.elevation .ruler{cursor:row-resize;color:#000}.elevation-control.elevation .mouse-focus-line{stroke:#0d1821;stroke-width:1;pointer-events:none}.elevation-control.elevation .mouse-focus-label-rect{fill:#000;fill-opacity:.75;pointer-events:none;stroke-width:1;stroke:#444}.elevation-control.elevation .mouse-focus-label-text{fill:#fff;pointer-events:none;font-size:10px}.elevation-control.elevation .brush .overlay{cursor:unset}.elevation-control.elevation .brush .selection{fill:rgba(23,74,117,.4);stroke:none;fill-opacity:unset}.elevation-control.elevation .elevation-toggle{cursor:pointer;box-shadow:0 1px 7px rgba(0,0,0,.4);border-radius:5px;width:36px;height:36px;background-color:#f8f8f9}.elevation-summary{font-family:Lucida Grande,Lucida Sans Unicode,Verdana,Arial,Helvetica,sans-serif;font-size:12px;margin:0 auto}.leaflet-control-container .elevation-summary{text-shadow:1.5px 0 0 #fff,-1.5px 0 0 #fff,0 1.5px 0 #fff,0 -1.5px 0 #fff,1px 1px #fff,-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff}.elevation-detached .elevation-summary{margin:0 45px}.elevation-summary.multiline-summary{margin-right:30px}.elevation-detached .elevation-summary.multiline-summary{margin-bottom:12px;margin-top:12px;line-height:2}.elevation-summary.inline-summary>span:not(:last-child):after{content:"\0020\2014\0020"}.elevation-summary.multiline-summary>span{display:block}.elevation-summary.multiline-summary .download{float:right;margin-top:-2.5em;font-weight:700;font-size:1.2em}.elevation-detached .elevation-summary.multiline-summary .download{margin-top:-3.5em}.elevation-summary .summaryvalue{font-weight:700}.elevation-control.elevation-collapsed .background,.elevation-control.elevation-collapsed .elevation-summary{display:none}.elevation-control.elevation-collapsed .elevation-toggle{display:block}.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation.svg) no-repeat 50%}.elevation-control.elevation.elevation-expanded .elevation-toggle-icon.close-button{background:transparent url(../images/remove.svg) no-repeat 50%;position:absolute;right:5px;top:5px;height:20px;width:20px}.elevation-control.elevation g.area>foreignObject{pointer-events:none}.leaflet-elevation-pane .height-focus,.leaflet-overlay-pane .height-focus{stroke:#000;fill:#fff}.leaflet-elevation-pane .height-focus.line,.leaflet-overlay-pane .height-focus.line{pointer-events:none;stroke-width:2}.leaflet-elevation-pane .height-focus-label,.leaflet-overlay-pane .height-focus-label{font-size:12px;font-weight:600;fill:#000;paint-order:stroke;stroke:#fff;stroke-width:2px}.elevation-waypoint-icon:before{background:url(../images/elevation-pushpin.svg) no-repeat 50%/contain;content:"";width:100%;height:100%;display:inline-block}.elevation-position-icon:before{background:url(../images/elevation-position.svg) no-repeat 50%/contain;content:"";width:100%;height:100%;display:inline-block}.elevation-polyline{filter:drop-shadow(1px 1px 0 #FFF) drop-shadow(-1px -1px 0 #FFF) drop-shadow(1px -1px 0 #FFF) drop-shadow(-1px 1px 0 #FFF)}.elevation-placeholder{margin:auto;height:auto;width:100%}.elevation-placeholder~*{display:none!important}.lime-theme.elevation-control.elevation .background{background-color:rgba(156,194,34,.2)}.lime-theme.elevation-control.elevation .axis line,.lime-theme.elevation-control.elevation .axis path{stroke:#566b13}.lime-theme.elevation-control.elevation .grid .tick line{stroke:#ccc}.lime-theme.elevation-control.elevation .brush .selection{fill:rgba(99,126,11,.4)}.lime-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-lime.svg) no-repeat 50%}.lime-theme.elevation-control.elevation .area{fill:#9cc222}.lime-theme.elevation-control.elevation .mouse-focus-line{stroke:#101404}.lime-theme.height-focus{stroke:#000;fill:#9cc222}.lime-theme.elevation-polyline{stroke:#566b13}.steelblue-theme.elevation-control.elevation .background{background-color:rgba(70,130,180,.2)}.steelblue-theme.elevation-control.elevation .axis line,.steelblue-theme.elevation-control.elevation .axis path{stroke:#0d1821}.steelblue-theme.elevation-control.elevation .brush .selection{fill:rgba(23,74,117,.4)}.steelblue-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-steelblue.svg) no-repeat 50%}.steelblue-theme.elevation-control.elevation .area{fill:#4682b4}.steelblue-theme.elevation-control.elevation .mouse-focus-line{stroke:#0d1821}.steelblue-theme.height-focus{stroke:#000;fill:#4682b4}.steelblue-theme.elevation-polyline{stroke:#4682b4}.purple-theme.elevation-control.elevation .background{background-color:rgba(115,44,123,.2)}.purple-theme.elevation-control.elevation .axis line,.purple-theme.elevation-control.elevation .axis path{stroke:#2d1130}.purple-theme.elevation-control.elevation .brush .selection{fill:rgba(74,14,80,.4)}.purple-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-purple.svg) no-repeat 50%}.purple-theme.elevation-control.elevation .area{fill:#732c7b}.purple-theme.elevation-control.elevation .mouse-focus-line{stroke:#000}.purple-theme.height-focus{stroke:#000;fill:#732c7b}.purple-theme.elevation-polyline{stroke:#732c7b}.yellow-theme.elevation-control.elevation .area{fill:#ff0}.yellow-theme.elevation-polyline{stroke:#ff0}.red-theme.elevation-control.elevation .area{fill:red}.red-theme.elevation-polyline{stroke:red}.magenta-theme.elevation-control.elevation .background{background-color:hsla(0,0%,100%,.47)}.magenta-theme.elevation-control.elevation .area{fill:#ff005e}.magenta-theme.elevation-polyline{stroke:#ff005e}.lightblue-theme.elevation-control.elevation .area{fill:#36c;stroke:#000}.elevation-detached .lightblue-theme.elevation-control.elevation .area{fill-opacity:.45;stroke:#36c}.lightblue-theme.height-focus{stroke:#000;fill:#fff}.lightblue-theme.elevation-polyline{stroke:#36c}.dist-marker{font-size:.5rem;border:1px solid #777;border-radius:10px;text-align:center;color:#000;background:#fff}
|
|
1
|
+
.leaflet-hidden{visibility:hidden}.legend{cursor:pointer}.leaflet-container{z-index:0}.elevation-detached{font:12px/1.5 Helvetica Neue,Arial,Helvetica,sans-serif;height:auto;width:100%;position:relative;z-index:0}.elevation-detached .elevation{width:100%}.elevation-detached .background{max-width:100%}.elevation-control.elevation .background{background-color:rgba(70,130,180,.2);border-radius:5px;overflow:visible;display:block;touch-action:none;user-select:none}.elevation-control.elevation .background.zoomed .axis.time,.elevation-control.elevation .background.zoomed .point{display:none}.elevation-control.elevation .axis line,.elevation-control.elevation .axis path{stroke:#2d1130;stroke-width:1;fill:none}.elevation-control.elevation .grid .tick line{stroke:#eee;stroke-width:1px;shape-rendering:crispEdges}.elevation-control.elevation .grid path{stroke-width:0;pointer-events:none}.elevation-control.elevation .axis text,.elevation-control.elevation .point text{fill:#000;font-weight:700;paint-order:stroke fill;stroke:#fff;stroke-width:2px}.elevation-control.elevation .y.axis text{text-anchor:end}.elevation-control.elevation .area{fill:#4682b4;stroke:#000;stroke-width:1.2;paint-order:stroke fill}.elevation-detached .elevation-control.elevation .area{fill-opacity:.8}.elevation-control.elevation .horizontal-drag-line{stroke:transparent;cursor:row-resize;stroke-width:1.1;stroke-dasharray:5}.elevation-control.elevation .active .horizontal-drag-line{stroke:#000}.elevation-control.elevation .horizontal-drag-label{font-weight:700;fill:#000;paint-order:stroke;stroke:#fff;stroke-width:2px;pointer-events:none}.elevation-control.elevation .ruler{cursor:row-resize;color:#000}.elevation-control.elevation .mouse-focus-line{stroke:#0d1821;stroke-width:1;pointer-events:none}.elevation-control.elevation .mouse-focus-label-rect{fill:#000;fill-opacity:.75;pointer-events:none;stroke-width:1;stroke:#444}.elevation-control.elevation .mouse-focus-label-text{fill:#fff;pointer-events:none;font-size:10px}.elevation-control.elevation .brush .overlay{cursor:unset}.elevation-control.elevation .brush .selection{fill:rgba(23,74,117,.4);stroke:none;fill-opacity:unset}.elevation-control.elevation .elevation-toggle{cursor:pointer;box-shadow:0 1px 7px rgba(0,0,0,.4);border-radius:5px;width:36px;height:36px;background-color:#f8f8f9}.elevation-summary{font-family:Lucida Grande,Lucida Sans Unicode,Verdana,Arial,Helvetica,sans-serif;font-size:12px;margin:0 auto}.leaflet-control-container .elevation-summary{text-shadow:1.5px 0 0 #fff,-1.5px 0 0 #fff,0 1.5px 0 #fff,0 -1.5px 0 #fff,1px 1px #fff,-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff}.elevation-detached .elevation-summary{margin:0 45px}.elevation-summary.multiline-summary{margin-right:30px}.elevation-detached .elevation-summary.multiline-summary{margin-bottom:12px;margin-top:12px;line-height:2}.elevation-summary.inline-summary>span:not(:last-child):after{content:"\0020\2014\0020"}.elevation-summary.multiline-summary>span{display:block}.elevation-summary.multiline-summary .download{float:right;margin-top:-2.5em;font-weight:700;font-size:1.2em}.elevation-detached .elevation-summary.multiline-summary .download{margin-top:-3.5em}.elevation-summary .summaryvalue{font-weight:700}.elevation-control.elevation-collapsed .background,.elevation-control.elevation-collapsed .elevation-summary{display:none}.elevation-control.elevation-collapsed .elevation-toggle{display:block}.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation.svg) no-repeat 50%}.elevation-control.elevation.elevation-expanded .elevation-toggle-icon.close-button{background:transparent url(../images/remove.svg) no-repeat 50%;position:absolute;right:5px;top:5px;height:20px;width:20px}.elevation-control.elevation g.area>foreignObject{pointer-events:none}.leaflet-elevation-pane .height-focus,.leaflet-overlay-pane .height-focus{stroke:#000;fill:#fff}.leaflet-elevation-pane .height-focus.line,.leaflet-overlay-pane .height-focus.line{pointer-events:none;stroke-width:2}.leaflet-elevation-pane .height-focus-label,.leaflet-overlay-pane .height-focus-label{font-size:12px;font-weight:600;fill:#000;paint-order:stroke;stroke:#fff;stroke-width:2px}.elevation-waypoint-icon:before{background:url(../images/elevation-pushpin.svg) no-repeat 50%/contain;content:"";width:100%;height:100%;display:inline-block}.elevation-position-icon:before{background:url(../images/elevation-position.svg) no-repeat 50%/contain;content:"";width:100%;height:100%;display:inline-block}.elevation-polyline{filter:drop-shadow(1px 1px 0 #FFF) drop-shadow(-1px -1px 0 #FFF) drop-shadow(1px -1px 0 #FFF) drop-shadow(-1px 1px 0 #FFF)}.elevation-placeholder{margin:auto;height:auto;width:100%}.elevation-placeholder~*{display:none!important}.lime-theme.elevation-control.elevation .background{background-color:rgba(156,194,34,.2)}.lime-theme.elevation-control.elevation .axis line,.lime-theme.elevation-control.elevation .axis path{stroke:#566b13}.lime-theme.elevation-control.elevation .grid .tick line{stroke:#ccc}.lime-theme.elevation-control.elevation .brush .selection{fill:rgba(99,126,11,.4)}.lime-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-lime.svg) no-repeat 50%}.lime-theme.elevation-control.elevation .area{fill:#9cc222}.lime-theme.elevation-control.elevation .mouse-focus-line{stroke:#101404}.lime-theme.height-focus{stroke:#000;fill:#9cc222}.lime-theme.elevation-polyline{stroke:#566b13}.steelblue-theme.elevation-control.elevation .background{background-color:rgba(70,130,180,.2)}.steelblue-theme.elevation-control.elevation .axis line,.steelblue-theme.elevation-control.elevation .axis path{stroke:#0d1821}.steelblue-theme.elevation-control.elevation .brush .selection{fill:rgba(23,74,117,.4)}.steelblue-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-steelblue.svg) no-repeat 50%}.steelblue-theme.elevation-control.elevation .area{fill:#4682b4}.steelblue-theme.elevation-control.elevation .mouse-focus-line{stroke:#0d1821}.steelblue-theme.height-focus{stroke:#000;fill:#4682b4}.steelblue-theme.elevation-polyline{stroke:#4682b4}.purple-theme.elevation-control.elevation .background{background-color:rgba(115,44,123,.2)}.purple-theme.elevation-control.elevation .axis line,.purple-theme.elevation-control.elevation .axis path{stroke:#2d1130}.purple-theme.elevation-control.elevation .brush .selection{fill:rgba(74,14,80,.4)}.purple-theme.elevation-control.elevation .elevation-toggle-icon{background:url(../images/elevation-purple.svg) no-repeat 50%}.purple-theme.elevation-control.elevation .area{fill:#732c7b}.purple-theme.elevation-control.elevation .mouse-focus-line{stroke:#000}.purple-theme.height-focus{stroke:#000;fill:#732c7b}.purple-theme.elevation-polyline{stroke:#732c7b}.yellow-theme.elevation-control.elevation .area{fill:#ff0}.yellow-theme.elevation-polyline{stroke:#ff0}.red-theme.elevation-control.elevation .area{fill:red}.red-theme.elevation-polyline{stroke:red}.magenta-theme.elevation-control.elevation .background{background-color:hsla(0,0%,100%,.47)}.magenta-theme.elevation-control.elevation .area{fill:#ff005e}.magenta-theme.elevation-polyline{stroke:#ff005e}.lightblue-theme.elevation-control.elevation .area{fill:#36c;stroke:#000}.elevation-detached .lightblue-theme.elevation-control.elevation .area{fill-opacity:.45;stroke:#36c}.lightblue-theme.height-focus{stroke:#000;fill:#fff}.lightblue-theme.elevation-polyline{stroke:#36c}.dist-marker{font-size:.5rem;border:1px solid #777;border-radius:10px;text-align:center;color:#000;background:#fff}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}function e(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function i(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),o=1;o<a;o++)n[o-1]=arguments[o];if(!n.length)return t;var r=n.shift();if(h(t)&&h(r))for(var s in r)h(r[s])?(t[s]||Object.assign(t,e({},s,{})),i(t[s],r[s])):Object.assign(t,e({},s,r[s]));return i.apply(void 0,[t].concat(n))}function a(t){"complete"!==document.readyState?window.addEventListener("load",t,{once:!0}):t()}!function(t,e){"function"==typeof define&&define.amd?define(["leaflet"],t):"object"==typeof exports&&(module.exports=t(require("leaflet"))),void 0!==e&&e.L&&t(e.L)}((function(t){return t.locales={},t.locale=null,t.registerLocale=function(e,i){t.locales[e]=t.Util.extend({},t.locales[e],i)},t.setLocale=function(e){t.locale=e},t.i18n=t._=function(e,i){t.locale&&t.locales[t.locale]&&t.locales[t.locale][e]&&(e=t.locales[t.locale][e]);try{e=t.Util.template(e,i)}catch(t){}return e}}),window);var n=6e4,o=60*n,r=24*o;function s(t){var e=Math.floor(t/r),i=Math.floor((t-e*r)/o),a=Math.floor((t-e*r-i*o)/n),s=Math.round((t-e*r-i*o-a*n)/1e3);return 60===s&&(a++,s=0),60===a&&(i++,a=0),24===i&&(e++,i=0),(e?e+"d ":"")+i.toString().padStart(2,0)+":"+a.toString().padStart(2,0)+"'"+s.toString().padStart(2,0)+'"'}function l(e,i){"string"==typeof e&&(e=JSON.parse(e));var a=!0===(i=i||this).options.distanceMarkers?{lazy:!0}:L.extend({lazy:!0},i.options.distanceMarkers),n=i.options.gpxOptions.marker_options.wptIcons,o=L.geoJson(e,{distanceMarkers:a,style:function(t){var e=L.extend({},i.options.polyline);return i.options.theme&&(e.className+=" "+i.options.theme),e},pointToLayer:function(t,e){var a=t.properties,o=a.desc?a.desc:"",r=a.name?a.name:"",s=(a.sym?a.sym:r).replace(" ","-").replace('"',"").replace("'","").toLowerCase();n[s]=n[s]?n[s]:L.divIcon({className:"elevation-waypoint-marker",html:'<i class="elevation-waypoint-icon '+s+'"></i>',iconSize:[30,30],iconAnchor:[8,30]});var l=L.marker(e,{icon:n[s]});return(r||o)&&l.bindPopup("<b>"+r+"</b>"+(o.length>0?"<br>"+o:"")).openPopup(),i._registerCheckPoint({latlng:e,label:r},!0),i.fire("waypoint_added",{point:l,element:e,properties:a}),l},onEachFeature:function(n,o){n.geometry&&"Point"==n.geometry.type||(o._latlngs.forEach((function(e,i,a){if(e.meta={time:null,ele:null,hr:null,cad:null,atemp:null},"alt"in e&&(e.meta.ele=e.alt),n.properties){var o=n.properties;"coordTimes"in o?e.meta.time=new Date(Date.parse(o.coordTimes[i])):"times"in o?e.meta.time=new Date(Date.parse(o.times[i])):"time"in o&&(e.meta.time=new Date(Date.parse("object"===t(o.time)?o.time[i]:o.time))),"heartRates"in o?e.meta.hr=parseInt(o.heartRates[i]):"heartRate"in o&&(e.meta.hr=parseInt("object"===t(o.heartRate)?o.heartRate[i]:o.heartRate))}})),i.addData(o),i.options.distanceMarkers&&a.lazy&&o.on("add remove",(function(t){var e=t.target;L.DistanceMarkers&&e instanceof L.Polyline&&e[t.type+"DistanceMarkers"]()})),i.track_info=L.extend({},i.track_info,{type:"geojson",name:e.name}))}});return L.Control.Elevation._d3LazyLoader.then((function(){i._fireEvt("eledata_loaded",{data:e,layer:o,name:i.track_info.name,track_info:i.track_info})})),o}function h(e){return e&&"object"===t(e)&&!Array.isArray(e)}function c(t){if(!t)return!1;var e=window.getComputedStyle(t);return!!function(t,e){return"hidden"!==e.visibility&&"none"!==e.display}(0,e)&&!!function(t,e){var i=t.getBoundingClientRect(),a=i.left+1,n=i.right-1,o=i.top+1,r=(i.bottom,!0),s=t.style.pointerEvents;return"none"==e["pointer-events"]&&(t.style.pointerEvents="auto"),document.elementFromPoint(a,o)!==t&&(r=!1),document.elementFromPoint(n,o)!==t&&(r=!1),t.style.pointerEvents=s,r}(t,e)}function d(e,i){if(i=void 0===i||i,"string"==typeof e&&i)return 0==(e=e.trim()).indexOf("{")||0==e.indexOf("[");try{JSON.parse(e.toString())}catch(a){return!("object"!==t(e)||!i)||(console.warn(a),!1)}return!0}function u(t,e){if(e=void 0===e||e,"string"==typeof t&&e)return 0==(t=t.trim()).indexOf("<");var i=(t?t.ownerDocument||t:0).documentElement;return!!i&&"HTML"!==i.nodeName}function p(t,e,i){return!1===e?Promise.resolve():i instanceof Promise?i:new Promise((function(e,i){var a=document.createElement("script");a.addEventListener("load",e,{once:!0}),a.src=t,document.head.appendChild(a)}))}function _(t,e){var i=w("a","",{href:t,target:"_new",download:e||"",style:"display:none;"}),a=document.body;a.appendChild(i),i.click(),a.removeChild(i)}function m(t){return new Promise((function(e,i){var a=!1,n=function i(){a||(L.Util.requestAnimFrame((function(){c(t)&&(window.removeEventListener("scroll",i),e()),a=!1})),a=!0)};window.addEventListener("scroll",n),t&&t.addEventListener("mouseenter",n,{once:!0}),n()}))}function f(t,e){t&&e.split(" ").every((function(e){return e&&L.DomUtil.addClass(t,e)}))}function g(t,e){t&&e.split(" ").every((function(e){return e&&L.DomUtil.removeClass(t,e)}))}function v(t,e,i){return(i?f:g).call(null,t,e)}function y(t,e,i){e&&g(t,e),i&&f(t,i)}function x(t,e,i){return void 0===i?L.DomUtil.getStyle(t,e):t.style.setProperty(e,i)}function b(t,e,i,a){return x(t,e,a?i:"")}function k(t,e,i,a){return t[a?"on":"off"](e,i)}function w(t,e,i,a){var n=L.DomUtil.create(t,e||"");return i&&M(n,i),a&&C(a,n),n}function C(t,e){return t.appendChild(e)}function z(t,e,i){return t.insertAdjacentElement(i,e)}function M(t,e){for(var i in e)t.setAttribute(i,e[i])}function S(t,e){return(e||document).querySelector(t)}var A=L.DomEvent.on,D=L.DomEvent.off,E=L.DomUtil.hasClass;function F(){return Math.random().toString(36).substr(2,9)}function T(t,e){for(var i in t)e(t[i],i)}var P=Object.freeze({__proto__:null,deepMerge:i,deferFunc:a,debounce:function(t,e,i,a){var n;return function(){var o=arguments;clearTimeout(n),n=setTimeout((function(){n=null,a||t.apply(i,o)}),e),a&&!n&&t.apply(i,o)}},formatTime:s,GeoJSONLoader:l,isDomVisible:function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},isObject:h,isVisible:c,isJSONDoc:d,isXMLDoc:u,lazyLoader:p,saveFile:_,waitHolder:m,addClass:f,removeClass:g,toggleClass:v,replaceClass:y,style:x,toggleStyle:b,toggleEvent:k,create:w,append:C,insert:z,setAttributes:M,select:S,on:A,off:D,hasClass:E,randomId:F,each:T}),O={lightblue:{area:"#3366CC",alpha:.45,stroke:"#3366CC"},magenta:{area:"#FF005E"},yellow:{area:"#FF0"},purple:{area:"#732C7B"},steelblue:{area:"#4682B4"},red:{area:"#F00"},lime:{area:"#9CC222",line:"#566B13"}},N=function(t){t.width;var e=t.height,i=t.xAttr,a=t.yAttr,n=t.scaleX,o=t.scaleY,r=t.interpolation,s=void 0===r?"curveLinear":r;return d3.area().curve("string"==typeof s?d3[s]:s).x((function(t){return t.xDiagCoord=n(t[i])})).y0(e).y1((function(t){return o(t[a])}))},I=function(t){var e=t.name,i=t.color,a=t.strokeColor,n=t.strokeOpacity,o=t.fillOpacity,r=d3.create("svg:path");return e&&r.classed(e,!0),r.style("pointer-events","none"),r.attr("fill",i||"#3366CC").attr("stroke",a||"#000").attr("stroke-opacity",n||"1").attr("fill-opacity",o||"0.8"),r},G=function(t){var e=t.type,i=void 0===e?"axis":e,a=t.tickSize,n=void 0===a?6:a,o=t.tickPadding,r=void 0===o?3:o,s=t.position,l=t.height,h=t.width,c=t.axis,d=t.scale,u=t.ticks,p=t.tickFormat,_=t.label,m=t.labelX,f=t.labelY,g=t.name,v=void 0===g?"":g,y=t.onAxisMount;return function(t){var e=0,a=0;"bottom"==s&&(a=l),"right"==s&&(e=h),"x"==c&&"grid"==i?n=-l:"y"==c&&"grid"==i&&(n=-h);var o=d3["axis"+s.replace(/\b\w/g,(function(t){return t.toUpperCase()}))]().scale(d).ticks(u).tickPadding(r).tickSize(n).tickFormat(p),g=t.append("g").attr("class",[c,i,s,v].join(" ")).attr("transform","translate("+e+","+a+")").call(o);return _&&g.append("svg:text").attr("x",m).attr("y",f).text(_),y&&g.call(y),g}},B=function(t){return t.type="grid",G(t)},H=function(t){var e=t.theme,i=t.xCoord,a=void 0===i?0:i,n=t.yCoord,o=void 0===n?0:n,r=t.length,s=void 0===r?0:r;return function(t){return t.attr("class",e+" height-focus line").attr("x1",a).attr("x2",a).attr("y1",o).attr("y2",s)}},X=function(t){var e=t.theme,i=t.xCoord,a=void 0===i?0:i,n=t.yCoord,o=void 0===n?0:n,r=t.label;return function(t){t.attr("class",e+" height-focus-label").style("pointer-events","none").attr("x",a+5).attr("y",o);var i=t.select(".height-focus-y");return i.node()||(i=t.append("svg:tspan")),i.attr("class","height-focus-y").text(r),t.selectAll("tspan").attr("x",a+5),t}},R=function(t){var e=t.theme,i=t.xCoord,a=void 0===i?0:i,n=t.yCoord,o=void 0===n?0:n;return function(t){return t.attr("class",e+" height-focus circle-lower").attr("transform","translate("+a+","+o+")").attr("r",6).attr("cx",0).attr("cy",0)}},U=function(t){var e=t.name,i=t.label,a=t.width,n=t.height,o=t.margins,r=void 0===o?{}:o,s=t.color,l=t.path;return function(t){t.attr("class","legend-item legend-"+e.toLowerCase()).attr("data-name",e);var o=d3.select(t.node().ownerSVGElement||t);return t.on("click.legend",(function(){return o.dispatch("legend_clicked",{detail:{path:l.node(),name:e,legend:t.node(),enabled:!l.classed("leaflet-hidden")}})})),t.append("svg:rect").attr("x",a/2-50).attr("y",n+r.bottom/2).attr("width",50).attr("height",10).attr("fill",s).attr("stroke","#000").attr("stroke-opacity","0.5").attr("fill-opacity","0.25"),t.append("svg:text").text(L._(i||e)).attr("x",a/2+5).attr("font-size",10).style("text-decoration-thickness","2px").style("font-weight","700").attr("y",n+r.bottom/2).attr("dy","0.75em"),t}},j=function(t){var e=t.xCoord,i=void 0===e?0:e,a=t.height;return function(t){return t.attr("class","mouse-focus-line").attr("x2",i).attr("y2",0).attr("x1",i).attr("y1",a)}},J=function(t){var e=t.xCoord,i=t.yCoord,a=t.labelX,n=void 0===a?"":a,o=t.labelY,r=void 0===o?"":o,s=t.width;return function(t){t.attr("class","mouse-focus-label");var a=t.select(".mouse-focus-label-rect"),o=t.select(".mouse-focus-label-text"),l=o.select(".mouse-focus-label-y"),h=o.select(".mouse-focus-label-x");a.node()||(a=t.append("svg:rect")),o.node()||(o=t.append("svg:text")),l.node()||(l=o.append("svg:tspan")),h.node()||(h=o.append("svg:tspan")),l.text(r),h.text(n);var c=0,d=0,u={width:0,height:0};try{u=o.node().getBBox()}catch(e){return t}return e&&(c=e+(e<s/2?10:-u.width-10)),i&&(d=Math.max(i-u.height,L.Browser.webkit?0:-1/0)),a.attr("class","mouse-focus-label-rect").attr("x",c-5).attr("y",d-5).attr("width",u.width+10).attr("height",u.height+10).attr("rx",3).attr("ry",3),o.attr("class","mouse-focus-label-text").style("font-weight","700").attr("y",d),l.attr("class","mouse-focus-label-y").attr("dy","1em"),h.attr("class","mouse-focus-label-x").attr("dy","2em"),o.selectAll("tspan").attr("x",c),t}},Y=function(t){var e=t.height,i=t.width;return function(t){t.data([{x:0,y:e}]).attr("transform",(function(t){return"translate("+t.x+","+t.y+")"}));var a=t.selectAll(".horizontal-drag-rect").data([{w:i}]),n=t.selectAll(".horizontal-drag-line").data([{w:i}]),o=t.selectAll(".horizontal-drag-label").data([{w:i-8}]),r=t.selectAll(".horizontal-drag-symbol").data([{type:d3.symbolTriangle,x:i+7,y:0,angle:-90,size:50}]);return a.exit().remove(),n.exit().remove(),o.exit().remove(),r.exit().remove(),a.enter().append("svg:rect").attr("class","horizontal-drag-rect").attr("x",0).attr("y",-8).attr("height",8).attr("fill","none").attr("pointer-events","all").merge(a).attr("width",(function(t){return t.w})),n.enter().append("svg:line").attr("class","horizontal-drag-line").attr("x1",0).merge(n).attr("x2",(function(t){return t.w})),o.enter().append("svg:text").attr("class","horizontal-drag-label").attr("text-anchor","end").attr("y",-8).merge(o).attr("x",(function(t){return t.w})),r.enter().append("svg:path").attr("class","horizontal-drag-symbol").merge(r).attr("d",d3.symbol().type((function(t){return t.type})).size((function(t){return t.size}))).attr("transform",(function(t){return"translate("+t.x+","+t.y+") rotate("+t.angle+")"})),t}},V=function(t){var e=t.min,i=t.max,a=t.attr,n=t.name,o=t.forceBounds,r=t.scale;return function(t){a=a||n,r&&r.attr&&(a=r.attr);var s=t&&t.length?d3.extent(t,(function(t){return t[a]})):[0,1];return void 0!==e&&(e<s[0]||o)&&(s[0]=e),void 0!==i&&(i>s[1]||o)&&(s[1]=i),s}},W=function(t){var e=t.axis;return function(t,i){return"x"==e?[0,t]:"y"==e?[i,0]:void 0}},Z=function(t){var e=t.data,i=t.attr,a=t.min,n=t.max,o=t.forceBounds,r=t.range;return d3.scaleLinear().range(r).domain(V({min:a,max:n,attr:i,forceBounds:o})(e))},q=function(t){var e=t.width,i=t.height,a=t.margins,n=void 0===a?{}:a,o=(t.ruler,e-n.left-n.right),r=i-n.top-n.bottom,s=d3.create("svg:svg").attr("class","background"),l=s.append("g"),h={grid:l.append("g").attr("class","grid"),area:l.append("g").attr("class","area"),point:l.append("g").attr("class","point"),axis:l.append("g").attr("class","axis"),brush:l.append("g").attr("class","brush"),tooltip:l.append("g").attr("class","tooltip").attr("display","none"),ruler:l.append("g").attr("class","ruler"),legend:l.append("g").attr("class","legend")},c=h.area.append("svg:clipPath").attr("id","elevation-clipper"),d=c.append("svg:rect"),u=h.area.append("svg:foreignObject"),p=u.append("xhtml:canvas").attr("class","canvas-plot"),_=p.node().getContext("2d"),m=h.ruler,f=h.tooltip,g=h.brush;f.append("svg:line").call(j({xCoord:0,height:r})),f.append("g").call(J({xCoord:0,yCoord:0,height:r,width:o,labelX:"",labelY:""}));var v=d3.brushX().on("start.cursor end.cursor brush.cursor",(function(){return g.select(".overlay").attr("cursor",null)})),y={clipPath:c,canvas:p,context:_,dragG:m,focusG:f,brush:v},x={svg:s,g:l,panes:h,utils:y,scale:function(t){return{x:Z(t.x),y:Z(t.y)}},_resize:function(t){var e=t.width,i=t.height,a=t.margins,n=void 0===a?{}:a,o=t.ruler,r=e-n.left-n.right,h=i-n.top-n.bottom;s.attr("viewBox","0 0 ".concat(e," ").concat(i)).attr("width",e).attr("height",i),l.attr("transform","translate("+n.left+","+n.top+")"),d.attr("x",0).attr("y",0).attr("width",r).attr("height",h),u.attr("width",r).attr("height",h),p.attr("width",r).attr("height",h),o&&m.call(Y({height:h,width:r})),g.call(v.extent([[0,0],[r,h]])),g.select(".overlay").attr("cursor",null),x._width=r,x._height=h,x.svg.dispatch("resize",{detail:{width:r,height:h}})},pane:function(t){return h[t]||(h[t]=l.append("g").attr("class",t)),h[t]},get:function(t){return y[t]}};return x._resize({width:e,height:i,margins:n}),x},K=Object.freeze({__proto__:null,Colors:O,Area:N,Path:I,Axis:G,Grid:B,HeightFocusLine:H,HeightFocusLabel:X,HeightFocusMarker:R,LegendItem:U,MouseFocusLine:j,MouseFocusLabel:J,Ruler:Y,Domain:V,Range:W,Scale:Z,Bisect:function(t){var e=t.data,i=void 0===e?[0,1]:e,a=t.scale,n=t.x,o=t.attr;return d3.bisector((function(t){return t[o]})).left(i,a.invert(n))},Chart:q}),Q=L.Class.extend({includes:L.Evented?L.Evented.prototype:L.Mixin.Events,initialize:function(t,e){this.options=t,this.control=e,this._data=[],this._props={scales:{},paths:{},areas:{},grids:{},axes:{},legendItems:{},focusLabels:{}},this._scales={},this._domains={},this._ranges={},this._paths={},this._brushEnabled=t.dragging,this._zoomEnabled=t.zooming,t.imperial?(this._xLabel="mi",this._yLabel="ft"):(this._xLabel=t.xLabel,this._yLabel=t.yLabel);var i=this._chart=q(t);this._container=i.svg;this._grid=i.pane("grid"),this._area=i.pane("area"),this._point=i.pane("point"),this._axis=i.pane("axis"),this._legend=i.pane("legend"),this._initScale(),this._clipPath=i.get("clipPath"),this._canvas=i.get("canvas"),this._context=i.get("context"),this._dragG=i.get("dragG"),this._focusG=i.get("focusG"),this._brush=i.get("brush"),this._focusline=this._focusG.select(".mouse-focus-line"),this._focuslabel=this._focusG.select(".mouse-focus-label"),this._zoom=d3.zoom(),this._drag=d3.drag(),this._initInteractions()},update:function(t){return t&&(t.data&&(this._data=t.data),t.options&&(this.options=t.options)),this._updateScale(),this._updateArea(),this._updateAxis(),this._updateLegend(),this._updateClipper(),this},render:function(){var t=this;return function(e){return e.append((function(){return t._container.node()}))}},clear:function(){this._resetDrag(),this._area.selectAll("path").attr("d","M0 0"),this._context.clearRect(0,0,this._width(),this._height()),this._path},_drawPath:function(t){var e=this.options,i=this._context,a=this._paths[t],n=this._props.areas[t],o=a.node(),r=this._scales[n.scaleX],s=this._scales[n.scaleY];if(n=L.extend({},n,{width:this._width(),height:this._height(),scaleX:r,scaleY:s}),!s||!s)return console.warn("Unable to render path:"+t);if(a.datum(this._data).attr("d",N(n)),!a.classed("leaflet-hidden"))if(e.preferCanvas){a.classed("canvas-path",!0),i.beginPath(),i.moveTo(0,0);var l=new Path2D(a.attr("d"));i.strokeStyle=a.attr("stroke"),i.fillStyle=a.attr("fill"),i.lineWidth=1.25,i.globalCompositeOperation="source-over",i.globalAlpha=a.attr("stroke-opacity")||.3,i.stroke(l),i.globalAlpha=a.attr("fill-opacity")||.45,i.fill(l),i.globalAlpha=1,i.closePath()}else this._area.append((function(){return o}))},_hasActiveLayers:function(){var t=this._paths;for(var e in t)if(!t[e].classed("leaflet-hidden"))return!0;return!1},_initBrush:function(t){var e=this,i=function(t){if("brush"!=t.type||t.sourceEvent){var i=e._chart.panes.brush.select(".overlay").node(),a=d3.pointers(t,i)[0][0],n=e._data[e._findIndexForXCoord(a)];e.fire("mouse_move",{item:n,xCoord:a})}};this._brush.filter((function(t){return e._brushEnabled&&!t.shiftKey&&!t.button})).on("end.update",(function(t){var i=t.selection;if(i){var a=e._findIndexForXCoord(i[0]),n=e._findIndexForXCoord(i[1]);e.fire("dragged",{dragstart:e._data[a],dragend:e._data[n]})}})).on("brush.update",i),this._chart.panes.brush.on("mouseenter.focus touchstart.focus",this.fire.bind(this,"mouse_enter")).on("mouseout.focus touchend.focus",this.fire.bind(this,"mouse_out")).on("mousemove.focus touchmove.focus",i)},_initClipper:function(){var t=this,e=this._container,i=this.options.margins,a=this._zoom;a.scaleExtent([1,10]).extent([[i.left,0],[this._width()-i.right,this._height()]]).translateExtent([[i.left,-1/0],[this._width()-i.right,1/0]]).filter((function(e){return t._zoomEnabled&&(e.shiftKey||4==e.buttons)})).on("start",(function(i){i.sourceEvent&&"mousedown"==i.sourceEvent.type&&e.style("cursor","grabbing"),1==i.transform.k&&0==i.transform.x&&t._container.classed("zoomed",!0),t.zooming=!0})).on("end",(function(i){1==i.transform.k&&0==i.transform.x&&t._container.classed("zoomed",!1),t.zooming=!1,e.style("cursor","")})).on("zoom",(function(e){t.zooming=!1,t._updateScale(),t.zooming=!0,t._scales.distance=t._x=e.transform.rescaleX(t._x),t._resetDrag(),e.sourceEvent&&"mousemove"==e.sourceEvent.type&&t._hideDiagramIndicator(),t.fire("zoom")})),e.call(a)},_initInteractions:function(){this._initBrush(),this._initRuler(),this._initClipper(),this._initLegend()},_initLegend:function(){var t=this;this._container.on("legend_clicked",(function(e){var i=e.detail,a=i.path,n=i.legend,o=i.name,r=i.enabled;if(a){var s=S("text",n),l=S("rect",n);b(s,"text-decoration-line","line-through",r),b(l,"fill-opacity","0",r),v(a,"leaflet-hidden",r),t._updateArea(),t.fire("elepath_toggle",{path:a,name:o,legend:n,enabled:r})}}))},_initRuler:function(){var t=this;if(this.options.ruler){var e=d3.format(".0f"),i=this._drag;i.on("start end",(function(e,i){var a=t._height(),n=t._dragG.data()[0].y;(n>=a||n<=0)&&t._dragG.select(".horizontal-drag-label").text(""),t._hideDiagramIndicator()})).on("drag",(function(i,a){var n=t._height(),o=d3.pointers(i,t._area.node())[0][1],r=o>0?o<n?o:n:0,s=t._y.invert(r),l=L.extend(t._dragG.data()[0],{y:r});t._dragG.data([l]).attr("transform",(function(t){return"translate("+t.x+","+t.y+")"})).classed("active",r<n),t._container.select(".horizontal-drag-label").text(e(s)+" "+t._yLabel),t.fire("ruler_filter",{coords:o<n&&o>0?t._findCoordsForY(o):[]})})),this._dragG.call(i)}},_initScale:function(){var t=this.options;this._registerAxisScale({axis:"x",position:"bottom",attr:t.xAttr,min:t.xAxisMin,max:t.xAxisMax,name:"distance"}),this._registerAxisScale({axis:"y",position:"left",attr:t.yAttr,min:t.yAxisMin,max:t.yAxisMax,name:"altitude"}),this._x=this._scales.distance,this._y=this._scales.altitude},_registerAreaPath:function(t){var e=this.options;t.xAttr||(t.xAttr=e.xAttr),t.yAttr||(t.yAttr=e.yAttr),void 0===t.preferCanvas&&(t.preferCanvas=e.preferCanvas);var i=I(t);this._paths[t.name]=i,this._props.areas[t.name]=t,e.legend&&(this._props.legendItems[t.name]={name:t.name,label:t.label,color:t.color,path:i})},_registerAxisGrid:function(t){this._props.grids[t.name||t.axis]=t},_registerAxisScale:function(t){var e=this.options,i=t.scale;if("function"!=typeof i){(i=L.extend({data:this._data,forceBounds:e.forceAxisBounds},i)).attr=i.attr||t.name;var a=this._domains[t.name]=V(t),n=this._ranges[t.name]=W(t);i.range=i.range||n(this._width(),this._height()),i.domain=i.domain||a(this._data),this._props.scales[t.name]=i,t.scale=this._scales[t.name]=Z(i)}return t.ticks||("x"==t.axis?t.ticks=e.xTicks:"y"==t.axis&&(t.ticks=e.yTicks)),this._props.axes[t.name]=t,i},_registerCheckPoint:function(t){if(this._data.length){var e,i,a;if(t.latlng)e=this._data[this._findIndexForLatLng(t.latlng)],i=this._x(e.dist),a=this._y(e.z);else if(isNaN(t.dist)){if(isNaN(i)||isNaN(a))return}else i=this._x(t.dist),e=this._data[this._findIndexForXCoord(i)],a=this._y(e.z);t.item&&t.item.property("isConnected")||(t.position=t.position||"bottom",t.item=this._point.append("g"),t.item.append("svg:line").attr("y1",0).attr("x1",0).attr("style","stroke: rgb(51, 51, 51); stroke-width: 0.5; stroke-dasharray: 2, 2;"),t.item.append("svg:circle").attr("class"," height-focus circle-lower").attr("r",3),t.label&&t.item.append("svg:text").attr("dx","4px").attr("dy","-4px")),t.item.datum({pos:t.position,x:i,y:a}).attr("class",(function(t){return"point "+t.pos})).attr("transform",(function(t){return"translate("+t.x+","+t.y+")"})),t.item.select("line").datum({y2:{top:-a,bottom:this._height()-a}[t.position],x2:{left:-i,right:this._width()-i}[t.position]||0}).attr("y2",(function(t){return t.y2})).attr("x2",(function(t){return t.x2})),t.label&&t.item.select("text").text(t.label)}},_registerFocusLabel:function(t){this._props.focusLabels[t.name]=t},_updateArea:function(){var t=this._paths;for(var e in this._context.clearRect(0,0,this._width(),this._height()),t)t[e].classed("leaflet-hidden")||this._drawPath(e)},_updateAxis:function(){var t=this.options;this._grid.selectAll("g").remove(),this._axis.selectAll("g").remove();var e,i,a,n=this._props.grids,o=this._props.axes,r={width:this._width(),height:this._height(),tickFormat:""},s={width:this._width(),height:this._height()};for(var l in n)e=L.extend({},r,n[l]),a=B(e),this._grid.call(a);for(var h in o)!1!==t[h]&&"summary"!==t[h]&&(e=L.extend({},s,o[h]),i=G(e),this._axis.call(i));this._axis.selectAll(".y.axis.right").each((function(t,e,i){var a=d3.select(i[e]),n=a.attr("transform"),o=n.substring(n.indexOf("(")+1,n.indexOf(")")).split(",");a.attr("transform","translate("+(+o[0]+40*e)+","+o[1]+")"),e>0&&(a.select(":scope > path").attr("opacity",.25),a.selectAll(":scope > .tick line").attr("opacity",.75))}))},_updateClipper:function(){var t=this.options.margins;this._zoom.scaleExtent([1,10]).extent([[t.left,0],[this._width()-t.right,this._height()]]).translateExtent([[t.left,-1/0],[this._width()-t.right,1/0]])},_updateLegend:function(){var t=this;if(0!=this.options.legend){var e,i=this._props.legendItems;for(var a in this._legend.selectAll("g").remove(),i)e=U(L.extend({width:this._width(),height:this._height(),margins:this.options.margins},i[a])),this._legend.append("g").call(e);var n=this._legend.selectAll(".legend-item"),o=n.nodes().length,r=Array(Math.floor(o/2)).fill(null).map((function(t,e){return 2*(e+1)-(1-Math.sign(o%2))})),s=r.slice().reverse().map((function(t){return-t}));o%2!=0&&s.push(0),r=s.concat(r);var l=this._axis.selectAll(".x.axis.bottom").nodes().length,h=30+2*l,c=30*o;o&&this.options.margins.right<c&&(this.options.margins.right=c,this.fire("margins_updated")),l&&this.options.margins.bottom<h&&(this.options.margins.bottom=h,this.fire("margins_updated")),n.each((function(e,i,a){var n=d3.select(a[i]),o=(n.select("rect"),n.attr("data-name")),s=t._paths[o],h=55*r[i],c=2*l;n.attr("transform","translate("+h+", "+c+")"),o in t.options&&"disabled"==t.options[o]&&(s.classed("leaflet-hidden",!0),n.select("text").style("text-decoration-line","line-through"),n.select("rect").style("fill-opacity","0")),t._clipPath&&s.attr("clip-path","url(#"+t._clipPath.attr("id")+")")}))}},_updateScale:function(){if(this.zooming)return{x:this._x,y:this._y};this.options;var t=this._scales,e=this._domains,i=this._ranges;for(var a in t)t[a].domain(e[a](this._data)).range(i[a](this._width(),this._height()));return{x:this._x,y:this._y}},_width:function(){return this._chart._width},_height:function(){return this._chart._height},_findCoordsForY:function(t){var e,i=this._data,a=this._y.invert(t),n=i.reduce((function(t,e,i){return e.z>=a&&t.push(i),t}),[]),o=0;return n.reduce((function(t,a,r){return n[e=r+1]===n[r]+1&&e!==n.length||(t.push(n.slice(o,e).map((function(t){return i[t].latlng}))),o=e),t}),[])},_findIndexForXCoord:function(t){var e=this;return d3.bisector((function(t){return t[e.options.xAttr]})).left(this._data||[0,1],this._x.invert(t))},_findIndexForLatLng:function(t){var e=null,i=1/0;return this._data.forEach((function(a,n){var o=t.distanceTo(a.latlng);o<i&&(i=o,e=n)})),e},_resetDrag:function(){this._chart.panes.brush.select(".selection").attr("width")&&(this._chart.panes.brush.call(this._brush.clear),this._hideDiagramIndicator(),this.fire("reset_drag"))},_resetZoom:function(){this._zoom&&this._zoom.transform(this._chart.svg,d3.zoomIdentity)},_showDiagramIndicator:function(t,e){var i=this.options,a=this._y(t[i.yAttr]);this._focusG.attr("display",null),this._focusline.call(j({xCoord:e,height:this._height()})),this._focuslabel.call(J({xCoord:e,yCoord:a,height:this._height(),width:this._width(),labelX:d3.format("."+i.decimalsX+"f")(t[i.xAttr])+" "+this._xLabel,labelY:d3.format("."+i.decimalsY+"f")(t[i.yAttr])+" "+this._yLabel}));var n,o=this._props.focusLabels,r=this._focuslabel.select("text");for(var s in o)(n=r.select(".mouse-focus-label-"+o[s].name)).size()||(n=r.append("svg:tspan",".mouse-focus-label-x").attr("class","mouse-focus-label-"+o[s].name).attr("dy","1.5em")),n.text("function"!=typeof o[s].value?o[s].value:o[s].value(t)),this._focuslabel.select(".mouse-focus-label-x").attr("dy","1.5em")},_hideDiagramIndicator:function(){this._focusG.attr("display","none")}}),$=L.Class.extend({initialize:function(t){return this.options=t,this.options.imperial?(this._xLabel="mi",this._yLabel="ft"):(this._xLabel=this.options.xLabel,this._yLabel=this.options.yLabel),"elevation-line"==this.options.marker?(this._focusline=d3.create("svg:line"),this._focusmarker=d3.create("svg:circle"),this._focuslabel=d3.create("svg:text")):"position-marker"==this.options.marker&&(this._marker=L.marker([0,0],{icon:this.options.markerIcon,zIndexOffset:1e6,interactive:!1})),this._focuslabels={},this},addTo:function(t){var e=this;if(this._map=t,"elevation-line"==this.options.marker){var i=this._container=d3.select(t.getPane("elevationPane")).select("svg > g").attr("class","height-focus-group");i.append((function(){return e._focusline.node()})),i.append((function(){return e._focusmarker.node()})),i.append((function(){return e._focuslabel.node()}))}else"position-marker"==this.options.marker&&this._marker.addTo(t,{pane:"overlayPane"});return this},update:function(t){if(t?this._props=t:t=this._props,t){t.options&&(this.options=t.options),this._map||this.addTo(t.map);var e=this.options,i=this._map;this._latlng=t.item.latlng;var a=i.latLngToLayerPoint(this._latlng);i._rotate&&(a=i.rotatedPointToMapPanePoint(a));var n=L.extend({},t.item,a);if("elevation-line"==this.options.marker){var o=this._height()/t.maxElevation*n.z,r=n.y-o;this._container.classed("leaflet-hidden",!1),this._focusmarker.call(R({theme:e.theme,xCoord:n.x,yCoord:n.y})),this._focusline.call(H({theme:e.theme,xCoord:n.x,yCoord:n.y,length:r})),this._focuslabel.call(X({theme:e.theme,xCoord:n.x,yCoord:r,label:d3.format("."+e.decimalsY+"f")(n[e.yAttr])+" "+this._yLabel}));var s,l=this._focuslabels,h=this._focuslabel;for(var c in l)(s=h.select(".height-focus-"+l[c].name)).size()||(s=h.append("svg:tspan").attr("class","height-focus-"+l[c].name).attr("dy","1.5em")),s.text("function"!=typeof l[c].value?l[c].value:l[c].value(t.item)),this._focuslabel.select(".height-focus-y").attr("dy","-1.5em")}else"position-marker"==this.options.marker&&(g(this._marker.getElement(),"leaflet-hidden"),this._marker.setLatLng(this._latlng))}},remove:function(){this._props=null,"elevation-line"==this.options.marker?this._container&&this._container.classed("leaflet-hidden",!0):"position-marker"==this.options.marker&&f(this._marker.getElement(),"leaflet-hidden")},getLatLng:function(){return this._latlng},_height:function(){var t=this.options;return t.height-t.margins.top-t.margins.bottom},_registerFocusLabel:function(t){this._focuslabels[t.name]=t}}),tt=L.Class.extend({initialize:function(t,e){this.options=t,this.control=e,x(this._container=w("div","elevation-summary "+(t.summary?t.summary+"-summary":"")),"max-width",t.width?t.width+"px":"")},render:function(){var t=this;return function(e){return e.append((function(){return t._container}))}},reset:function(){this._container.innerHTML=""},append:function(t,e,i){return this._container.innerHTML+='<span class="'.concat(t,'"><span class="summarylabel">').concat(e,'</span><span class="summaryvalue">').concat(i,"</span></span>"),this},_registerSummary:function(t){for(var e in t)this.append(e,L._(t[e].label),"function"!=typeof t[e].value?t[e].value:t[e].value(this.control.track_info))}}),et={autofitBounds:!0,autohide:!L.Browser.mobile,autohideMarker:!0,almostover:!0,altitude:!0,collapsed:!1,detached:!0,distance:!0,distanceFactor:1,distanceMarkers:!1,decimalsX:2,decimalsY:0,dragging:!L.Browser.mobile,downloadLink:"link",elevationDiv:"#elevation-div",followMarker:!0,forceAxisBounds:!1,gpxOptions:{async:!0,marker_options:{startIconUrl:null,endIconUrl:null,shadowUrl:null,wptIcons:{"":L.divIcon({className:"elevation-waypoint-marker",html:'<i class="elevation-waypoint-icon"></i>',iconSize:[30,30],iconAnchor:[8,30]})}}},height:200,heightFactor:1,imperial:!1,interpolation:"curveLinear",lazyLoadJS:!0,legend:!0,loadData:{defer:!1,lazy:!1},margins:{top:30,right:30,bottom:30,left:40},marker:"elevation-line",markerIcon:L.divIcon({className:"elevation-position-marker",html:'<i class="elevation-position-icon"></i>',iconSize:[32,32],iconAnchor:[16,16]}),placeholder:!1,position:"topright",polyline:{className:"elevation-polyline",color:"#000",opacity:.75,weight:5,lineCap:"round"},polylineSegments:{className:"elevation-polyline-segments",color:"#F00",interactive:!1},preferCanvas:!1,reverseCoords:!1,ruler:!0,skipNullZCoords:!1,theme:"lightblue-theme",responsive:!0,summary:"inline",slope:!1,speed:!1,sLimit:void 0,time:!1,timeFactor:3600,timeFormat:!1,sDeltaMax:void 0,sInterpolation:"curveStepAfter",sRange:void 0,width:600,xAttr:"dist",xLabel:"km",xTicks:void 0,yAttr:"z",yAxisMax:void 0,yAxisMin:void 0,yLabel:"m",yTicks:void 0,zFollow:!1,zooming:!L.Browser.Mobile},it=L.Control.Elevation=L.Control.extend({includes:L.Evented?L.Evented.prototype:L.Mixin.Events,options:et,__mileFactor:.621371,__footFactor:3.28084,__D3:"https://unpkg.com/d3@6.5.0/dist/d3.min.js",__TOGEOJSON:"https://unpkg.com/@tmcw/togeojson@4.3.0/dist/togeojson.umd.js",__LGEOMUTIL:"https://unpkg.com/leaflet-geometryutil@0.9.3/src/leaflet.geometryutil.js",__LALMOSTOVER:"https://unpkg.com/leaflet-almostover@1.0.1/src/leaflet.almostover.js",__LDISTANCEM:"https://unpkg.com/@raruto/leaflet-elevation@1.6.8/libs/leaflet-distance-marker.min.js",addData:function(e,i){var a=this;null==i&&e.on&&(i=e),it._d3LazyLoader=p(this.__D3,"object"!==("undefined"==typeof d3?"undefined":t(d3))||!this.options.lazyLoadJS,it._d3LazyLoader).then((function(){a._addData(e),a._addLayer(i),a._fireEvt("eledata_added",{data:e,layer:i,track_info:a.track_info})}))},addTo:function(t){if(this.options.detached){var e=this._initElevationDiv();e.isConnected||z(t.getContainer(),e,"afterend"),C(e,this.onAdd(t))}else L.Control.prototype.addTo.call(this,t);return this},clear:function(){this._marker&&this._marker.remove(),this._chart&&this._chart.clear(),this._layers&&this._layers.clearLayers(),this._data=[],this.track_info={},this._fireEvt("eledata_clear")},disableBrush:function(){this._chart._brushEnabled=!1,this._resetDrag()},enableBrush:function(){this._chart._brushEnabled=!0},enableDragging:function(){this.enableBrushing()},disableDragging:function(){this.disableBrushing()},disableZoom:function(){this._chart._zoomEnabled=!1,this._chart._resetZoom()},enableZoom:function(){this._chart._zoomEnabled=!0},fitBounds:function(t){t=t||this.getBounds(),this._map&&t.isValid()&&this._map.fitBounds(t)},getBounds:function(t){return t=t||this._data,L.latLngBounds(t.map((function(t){return t.latlng})))},getZFollow:function(){return this._zFollow},hide:function(){x(this._container,"display","none")},initialize:function(t){this._data=[],this._layers=L.featureGroup(),this._markedSegments=L.polyline([]),this._chartEnabled=!0,this.track_info={},this.options=i({},this.options,t),this._zFollow=this.options.zFollow,this.options.followMarker&&(this._setMapView=L.Util.throttle(this._setMapView,300,this)),this.options.placeholder&&(this.options.loadData.lazy=this.options.loadData.defer=!0),this.options.legend&&(this.options.margins.bottom+=30),this.options.theme&&(this.options.polylineSegments.className+=" "+this.options.theme),this._markedSegments.setStyle(this.options.polylineSegments),L.extend(O,this.options.colors||{})},load:function(t,e){this.loadData(t,e)},loadChart:function(t){this.addTo(t)},loadData:function(t,e){(e=L.extend({},this.options.loadData,e)).defer?this.loadDefer(t,e):e.lazy?this.loadLazy(t,e):u(t)?this.loadXML(t):d(t)?this.loadGeoJSON(t):this.loadFile(t)},loadDefer:function(t,e){(e=L.extend({},this.options.loadData,e)).defer=!1,a(L.bind(this.loadData,this,t,e))},loadFile:function(t){var e=this;fetch(t).then((function(t){return t.text()})).then((function(i){e._downloadURL=t,e.loadData(i,{lazy:!1,defer:!1})})).catch((function(t){return console.warn(t)}))},loadGeoJSON:function(t){l(t,this)},loadGPX:function(t){this.loadXML(t)},loadXML:function(t){var e=this;it._togeojsonLazyLoader=p(this.__TOGEOJSON,"function"!=typeof toGeoJSON||!this.options.lazyLoadJS,it._togeojsonLazyLoader).then((function(){var i=(new DOMParser).parseFromString(t,"text/xml"),a=i.documentElement.tagName.toLowerCase();a in toGeoJSON||(a="TrainingCenterDatabase"==i.documentElement.tagName?"tcx":"gpx");var n=toGeoJSON[a](i),o=i.getElementsByTagName("name");return o[0]?n.name=o[0].innerHTML:e._downloadURL&&(n.name=e._downloadURL.split("/").pop().split("#")[0].split("?")[0]),e.loadGeoJSON(n,e)}))},loadLazy:function(t,e){var i=this,a=(e=L.extend({},this.options.loadData,e)).lazy.parentNode?e.lazy:this.placeholder;m(a).then((function(){e.lazy=!1,i.loadData(t,e),i.once("eledata_loaded",(function(){return i.placeholder.parentNode.removeChild(a)}))}))},onAdd:function(e){var i=this;this._map=e;var a=this._container=w("div","elevation-control elevation "+this.options.theme);return this.options.detached||f(a,"leaflet-control"),this.options.placeholder&&!this._data.length&&(this.placeholder=w("img","elevation-placeholder","string"==typeof this.options.placeholder?{src:this.options.placeholder,alt:""}:this.options.placeholder),z(a,this.placeholder,"afterbegin")),it._d3LazyLoader=p(this.__D3,"object"!==("undefined"==typeof d3?"undefined":t(d3))||!this.options.lazyLoadJS,it._d3LazyLoader).then((function(){i._initButton(a),i._initChart(a),i._initSummary(a),i._initMarker(e),i._initLayer(e),e.on("zoom viewreset zoomanim",i._hideMarker,i).on("resize",i._resetView,i).on("resize",i._resizeChart,i).on("rotate",i._rotateMarker,i).on("mousedown",i._resetDrag,i),A(e.getContainer(),"mousewheel",i._resetDrag,i),A(e.getContainer(),"touchstart",i._resetDrag,i),i.on("eledata_added eledata_loaded",i._updateChart,i).on("eledata_added eledata_loaded",i._updateSummary,i),i._updateChart(),i._updateSummary()})),a},onRemove:function(t){this._container=null,t.off("zoom viewreset zoomanim",this._hideMarker,this).off("resize",this._resetView,this).off("resize",this._resizeChart,this).off("mousedown",this._resetDrag,this),D(t.getContainer(),"mousewheel",this._resetDrag,this),D(t.getContainer(),"touchstart",this._resetDrag,this),this.off("eledata_added eledata_loaded",this._updateChart,this).off("eledata_added eledata_loaded",this._updateSummary,this)},redraw:function(){this._resizeChart()},setZFollow:function(t){this._zFollow=t},show:function(){x(this._container,"display","block")},_addData:function(t){var e=this;if(t){var i=t.geometry;if(i)switch(i.type){case"LineString":this._addGeoJSONData(i.coordinates);break;case"MultiLineString":T(i.coordinates,(function(t){return e._addGeoJSONData(t)}));break;default:console.warn("Unsopperted GeoJSON feature geometry type:"+i.type)}"FeatureCollection"===t.type&&T(t.features,(function(t){return e._addData(t)})),t._latlngs&&this._addGPXData(t._latlngs)}},_addGeoJSONData:function(t){var e=this;T(t,(function(t){e._addPoint(t[1],t[0],t[2]),e._fireEvt("elepoint_added",{point:t,index:e._data.length-1})})),this._fireEvt("eletrack_added",{coords:t,index:this._data.length-1})},_addGPXData:function(t){var e=this;T(t,(function(t){e._addPoint(t.lat,t.lng,t.meta.ele),e._fireEvt("elepoint_added",{point:t,index:e._data.length-1})})),this._fireEvt("eletrack_added",{coords:t,index:this._data.length-1})},_addPoint:function(t,e,i){if(this.options.reverseCoords){var a=[e,t];t=a[0],e=a[1]}this._data.push({x:t,y:e,z:i,latlng:L.latLng(t,e,i)}),this._fireEvt("eledata_updated",{index:this._data.length-1})},_addLayer:function(t){t&&this._layers.addLayer(t)},_initElevationDiv:function(){var t=S(this.options.elevationDiv);return t||(this.options.elevationDiv="#elevation-div_"+F(),t=w("div","leaflet-control elevation elevation-div",{id:this.options.elevationDiv.substr(1)})),this.options.detached&&y(t,"leaflet-control","elevation-detached"),this.eleDiv=t,this.eleDiv},_collapse:function(){y(this._container,"elevation-expanded","elevation-collapsed")},_expand:function(){y(this._container,"elevation-collapsed","elevation-expanded")},_findItemForLatLng:function(t){return this._data[this._chart._findIndexForLatLng(t)]},_findItemForX:function(t){return this._data[this._chart._findIndexForXCoord(t)]},_fireEvt:function(t,e,i){this.fire&&this.fire(t,e,i),this._map&&this._map.fire(t,e,i)},_height:function(){if(this._chart)return this._chart._height();var t=this.options;return t.height-t.margins.top-t.margins.bottom},_hideMarker:function(){this.options.autohideMarker&&this._marker.remove()},_initChart:function(t){var e=this.options;if(e.xTicks=this._xTicks(),e.yTicks=this._yTicks(),e.responsive)if(e.detached){var i=this.eleDiv,a=i.offsetWidth,n=i.offsetHeight;a>0&&(e.width=a),n>20&&(e.height=n-20)}else{var o=this._map.getContainer().clientWidth;e._maxWidth=e._maxWidth>e.width?e._maxWidth:e.width,this._container.style.maxWidth=e._maxWidth+"px",e._maxWidth>o&&(e.width=o-30)}var r=this._chart=new Q(e,this);this._x=this._chart._x,this._y=this._chart._y,d3.select(t).call(r.render()),r.on("reset_drag",this._hideMarker,this).on("mouse_enter",this._fireEvt.bind("elechart_enter"),this).on("dragged",this._dragendHandler,this).on("mouse_move",this._mousemoveHandler,this).on("mouse_out",this._mouseoutHandler,this).on("ruler_filter",this._rulerFilterHandler,this).on("zoom",this._updateChart,this).on("elepath_toggle",this._toggleChartHandler,this).on("margins_updated",this._resizeChart,this),this._fireEvt("elechart_axis"),this.options.legend&&this._fireEvt("elechart_legend"),this._fireEvt("elechart_init")},_initLayer:function(){var t=this;this._layers.on("layeradd layerremove",(function(e){var i=e.layer;v(i.getElement&&i.getElement(),t.options.polyline.className+" "+t.options.theme,"layeradd"==e.type),k(i,"mousemove",t._mousemoveLayerHandler.bind(t),"layeradd"==e.type),k(i,"mouseout",t._mouseoutHandler.bind(t),"layeradd"==e.type)}))},_initMarker:function(t){var e=t.getPane("elevationPane");e||((e=this._pane=t.createPane("elevationPane",t.getPane("norotatePane")||t.getPane("mapPane"))).style.zIndex=625,e.style.pointerEvents="none"),this._renderer&&this._renderer.remove(),this._renderer=L.svg({pane:"elevationPane"}).addTo(this._map),this._marker=new $(this.options),this._fireEvt("elechart_marker")},_initButton:function(t){if(t.setAttribute("aria-haspopup",!0),this.options.detached||L.DomEvent.disableClickPropagation(t),L.Browser.mobile&&A(t,"click",L.DomEvent.stopPropagation),A(t,"mousewheel",this._mousewheelHandler,this),!this.options.detached){var e=this._button=w("a","elevation-toggle elevation-toggle-icon"+(this.options.autohide?"":" close-button"),{href:"#",title:L._("Elevation")},t);this.options.collapsed&&(this._collapse(),this.options.autohide?(A(t,"mouseover",this._expand,this),A(t,"mouseout",this._collapse,this)):(A(e,"click",L.DomEvent.stop),A(e,"click",this._toggle,this)),A(e,"focus",this._toggle,this),this._map.on("click",this._collapse,this))}},_initSummary:function(t){var e=this._summary=new tt({summary:this.options.summary},this);d3.select(t).call(e.render()),this.summaryDiv=this._summary._container},_dragendHandler:function(t){this._hideMarker(),this.fitBounds(L.latLngBounds([t.dragstart.latlng,t.dragend.latlng])),this._fireEvt("elechart_dragged")},_mousemoveHandler:function(t){if(this._data.length&&this._chartEnabled){var e=this._findItemForX(t.xCoord);if(e){var i=t.xCoord;this._chartEnabled&&this._chart._showDiagramIndicator(e,i),this._updateMarker(e),this._setMapView(e),this._map&&f(this._map.getContainer(),"elechart-hover"),this._fireEvt("elechart_change",{data:e,xCoord:i}),this._fireEvt("elechart_hover",{data:e,xCoord:i})}}},_mousemoveLayerHandler:function(t){if(this._data.length){var e=this._findItemForLatLng(t.latlng);if(e){var i=e.xDiagCoord;this._chartEnabled&&this._chart._showDiagramIndicator(e,i),this._updateMarker(e),this._fireEvt("elechart_change",{data:e,xCoord:i})}}},_mouseoutHandler:function(){this.options.detached||(this._hideMarker(),this._chart._hideDiagramIndicator()),this._map&&g(this._map.getContainer(),"elechart-hover"),this._fireEvt("elechart_leave")},_mousewheelHandler:function(t){if(!this._map.gestureHandling||!this._map.gestureHandling._enabled){var e=this._marker.getLatLng()||this._map.getCenter(),i=this._map.getZoom()+Math.sign(t.deltaY);this._resetDrag(),this._map.flyTo(e,i)}},_registerCheckPoint:function(t){var e=this;this.on("elechart_updated",(function(){return e._chart._registerCheckPoint(t)}))},_registerAreaPath:function(t){var e=this;this.on("elechart_init",(function(){return e._chart._registerAreaPath(t)}))},_registerAxisGrid:function(t){var e=this;this.on("elechart_axis",(function(){return e._chart._registerAxisGrid(t)}))},_registerAxisScale:function(t){var e=this;this.on("elechart_axis",(function(){return e._chart._registerAxisScale(t)}))},_registerFocusLabel:function(t){var e=this;if(t.chart){var i=L.extend({},t,{value:t.chart});this.on("elechart_init",(function(){return e._chart._registerFocusLabel(i)}))}if(t.marker){var a=L.extend({},t,{value:t.marker});this.on("elechart_marker",(function(){return e._marker._registerFocusLabel(a)}))}},_registerSummary:function(t){var e=this;this.on("elechart_summary",(function(){return e._summary._registerSummary(t)}))},_resetDrag:function(){this._chart._resetDrag(),this._hideMarker()},_resetView:function(){this._map&&this._map._isFullscreen||(this._resetDrag(),this._hideMarker(),this.options.autofitBounds&&this.fitBounds())},_resizeChart:function(){if("none"!=x(this._container,"display")){var t=this.options;if(t.responsive){var e;if(t.detached)e=(this.eleDiv||this._container).offsetWidth;else{var i=this._map.getContainer().clientWidth;e=t._maxWidth>i?i-30:t._maxWidth}if(e){var a=this._chart;t.width=e,a&&a._chart&&(a._chart._resize(t),t.xTicks=this._xTicks(),t.yTicks=this._yTicks(),this._updateChart())}}this._updateMapSegments()}},_rulerFilterHandler:function(t){this._updateMapSegments(t.coords)},_toggle:function(){E(this._container,"elevation-expanded")?this._collapse():this._expand()},_setMapView:function(t){if(this.options.followMarker&&this._map){var e=this._map.getZoom();"number"==typeof this._zFollow?(e<this._zFollow&&(e=this._zFollow),this._map.setView(t.latlng,e,{animate:!0,duration:.25})):this._map.getBounds().contains(t.latlng)||this._map.setView(t.latlng,e,{animate:!0,duration:.25})}},_toggleChartHandler:function(t){var e=this,i=(t.path,t.name),a=t.enabled;this._chartEnabled=this._chart._hasActiveLayers(),this._layers.eachLayer((function(t){v(t.getElement&&t.getElement(),e.options.polyline.className+" "+e.options.theme,e._chartEnabled)})),this.options[i]=a||"disabled"!=this.options[i]?"disabled":"enabled",this._chartEnabled||(this._chart._hideDiagramIndicator(),this._marker.remove())},_updateChart:function(){this._data.length&&this._container&&(this._fireEvt("elechart_axis"),this._fireEvt("elechart_area"),this._chart.update({data:this._data,options:this.options}),this._x=this._chart._x,this._y=this._chart._y,this._fireEvt("elechart_updated"))},_updateMarker:function(t){this._marker&&this._marker.update({map:this._map,item:t,maxElevation:this.track_info.elevation_max||0,options:this.options})},_rotateMarker:function(){this._marker&&this._marker.update()},_updateMapSegments:function(t){this._markedSegments.setLatLngs(t||[]),t&&this._map&&!this._map.hasLayer(this._markedSegments)&&this._markedSegments.addTo(this._map)},_updateSummary:function(){var t=this;this._summary.reset(),this.options.summary&&this._fireEvt("elechart_summary"),this.options.downloadLink&&this._downloadURL&&(this.summaryDiv.innerHTML+='<span class="download"><a href="#">'+L._("Download")+"</a></span>",S(".download a",this.summaryDiv).onclick=function(e){e.preventDefault(),t._fireEvt("eletrack_download",{downloadLink:t.options.downloadLink,confirm:_.bind(t,t._downloadURL)})})},_width:function(){if(this._chart)return this._chart._width();var t=this.options;return t.width-t.margins.left-t.margins.right},_xTicks:function(){return this.__xTicks&&(this.__xTicks=this.options.xTicks),this.__xTicks||Math.round(this._width()/75)},_yTicks:function(){return this.__yTicks&&(this.__yTicks=this.options.yTicks),this.__yTicks||Math.round(this._height()/30)}});it.addInitHook((function(){this.on("waypoint_added",(function(t){var e=t.point,i=e._popup;i&&(i.options.className="elevation-popup"),i&&i._content&&(i._content=decodeURI(i._content),e.bindTooltip(i._content,{direction:"auto",sticky:!0,opacity:1,className:"elevation-tooltip"}).openTooltip())})),this.on("eletrack_download",(function(t){"modal"==t.downloadLink&&"function"==typeof CustomEvent?document.dispatchEvent(new CustomEvent("eletrack_download",{detail:t})):"link"!=t.downloadLink&&!0!==t.downloadLink||t.confirm()})),this.on("eledata_loaded",(function(t){var e=this,i=this._map,a=t.layer;i?(i.once("layeradd",(function(t){return e.options.autofitBounds&&e.fitBounds(a.getBounds())})),L.Browser.mobile?this.options.polyline&&a.addTo(i):it._geomutilLazyLoader=p(this.__LGEOMUTIL,"function"!=typeof L.GeometryUtil||!this.options.lazyLoadJS,it._geomutilLazyLoader).then((function(){e.options.almostOver&&(it._almostoverLazyLoader=p(e.__LALMOSTOVER,"function"!=typeof L.Handler.AlmostOver||!e.options.lazyLoadJS,it._almostoverLazyLoader).then((function(){i.addHandler("almostOver",L.Handler.AlmostOver),L.GeometryUtil&&i.almostOver&&i.almostOver.enabled()&&(i.almostOver.addLayer(a),i.on("almost:move",(function(t){return e._mousemoveLayerHandler(t)})).on("almost:out",(function(t){return e._mouseoutHandler(t)})))}))),e.options.distanceMarkers?it._distanceMarkersLazyLoader=p(e.__LDISTANCEM,"function"!=typeof L.DistanceMarkers||!e.options.lazyLoadJS,it._distanceMarkersLazyLoader).then((function(){return e.options.polyline&&a.addTo(i)})):e.options.polyline&&a.addTo(i)}))):console.warn("Undefined elevation map object")}));var t=L.Canvas.prototype._fillStroke,e=this;L.Canvas.include({_fillStroke:function(i,a){if(e._layers.hasLayer(a)){var n=e.options.theme.replace("-theme",""),o=O[n]||{},r=a.options;if(r.color=o.line||o.area||n,r.stroke=!!r.color,t.call(this,i,a),r.stroke&&0!==r.weight){var s=i.globalCompositeOperation||"source-over";i.globalCompositeOperation="destination-over",i.strokeStyle="#FFF",i.lineWidth=1.75*r.weight,i.stroke(),i.globalCompositeOperation=s}}else t.call(this,i,a)}}),this.on("elechart_init",(function(){this.once("elechart_change elechart_hover",(function(t){this._chartEnabled&&(this._chart._showDiagramIndicator(t.data,t.xCoord),this._chart._showDiagramIndicator(t.data,t.xCoord)),this._updateMarker(t.data)}))}))})),it.addInitHook((function(){var t=this,e=this.options,i={};this.options.imperial?(this._distanceFactor=this.__mileFactor,this._xLabel="mi"):(this._distanceFactor=e.distanceFactor,this._xLabel=e.xLabel),this.on("eledata_updated",(function(t){var e=this._data,i=t.index,a=this.track_info,n=a.distance||0,o=e[i].latlng,r=i>0?e[i-1].latlng:o,s=o.distanceTo(r)*this._distanceFactor;n+=Math.round(s/1e3*1e5)/1e5,e[i].dist=n,a.distance=n})),this.on("elechart_axis",(function(){this._chart._registerAxisGrid({axis:"x",position:"bottom",scale:this._chart._x})})),"summary"!=this.options.distance&&this.on("elechart_axis",(function(){var t=this;i.x=this._chart._x,i.label=this._chart._xLabel,this._chart._registerAxisScale({axis:"x",position:"bottom",scale:i.x,label:i.label,labelY:25,labelX:function(){return t._width()+6},name:"distance"})})),this._registerSummary({totlen:{label:"Total Length: ",value:function(e){return(e.distance||0).toFixed(2)+" "+t._xLabel}}})})),it.addInitHook((function(){var t=this,e=this.options,i={};e.imperial?(this._heightFactor=this.__footFactor,this._yLabel="ft"):(this._heightFactor=e.heightFactor,this._yLabel=e.yLabel),this.on("eledata_updated",(function(t){var e=this._data,i=t.index,a=e[i].z*this._heightFactor,n=this.track_info,o=n.elevation_max||-1/0,r=n.elevation_min||1/0;if(!this.options.skipNullZCoords&&i>0){var s=e[i-1].z;if(isNaN(s)){var l=this._lastValidZ,h=a;if(isNaN(l)||isNaN(h)?isNaN(l)?isNaN(h)||(s=h):s=l:s=(l+h)/2,!isNaN(s))return e.splice(i-1,1);e[i-1].z=s}}isNaN(a)||(o=o<a?a:o,r=r>a?a:r,this._lastValidZ=a),e[i].z=a,n.elevation_max=o,n.elevation_min=r})),this.on("elechart_axis",(function(){this._chart._registerAxisGrid({axis:"y",position:"left",scale:this._chart._y})})),"summary"!=this.options.altitude&&(this.on("elechart_axis",(function(){i.y=this._chart._y,i.label=this._yLabel,this._chart._registerAxisScale({axis:"y",position:"left",scale:i.y,label:i.label,labelX:-3,labelY:-8,name:"altitude"})})),this.on("elechart_init",(function(){var t=this.options.theme.replace("-theme",""),e=O[t]||{},i=this.options.detached?e.alpha||"0.8":1,a=!!this.options.detached&&e.stroke;this._chart._registerAreaPath({name:"altitude",label:"Altitude",scaleX:"distance",scaleY:"altitude",color:e.area||t,strokeColor:a||"#000",strokeOpacity:"1",fillOpacity:i,preferCanvas:this.options.preferCanvas})}))),this._registerSummary({maxele:{label:"Max Elevation: ",value:function(e){return(e.elevation_max||0).toFixed(2)+" "+t._yLabel}},minele:{label:"Min Elevation: ",value:function(e){return(e.elevation_min||0).toFixed(2)+" "+t._yLabel}}})})),it.addInitHook((function(){var t=this,e=this.options,i={};i.label=e.timeLabel||"t",this._timeFactor=e.timeFactor,this._timeAVGSpeed=(e.timeAVGSpeed||3.6)*(e.speedFactor||1),e.timeFormat?"time"==e.timeFormat?e.timeFormat=function(t){return new Date(t).toLocaleTimeString()}:"date"==e.timeFormat&&(e.timeFormat=function(t){return new Date(t).toLocaleDateString()}):e.timeFormat=function(t){return new Date(t).toLocaleString().replaceAll("/","-").replaceAll(","," ")},e.xTimeFormat=e.xTimeFormat||function(t){return s(t).split("'")[0]},e.time&&"summary"!=e.time&&!L.Browser.mobile&&this._registerAxisScale({axis:"x",position:"top",scale:{attr:"duration",min:0},label:i.label,labelY:-10,labelX:function(){return t._width()},name:"time",tickFormat:function(t){return 0==t?"":e.xTimeFormat(t)},onAxisMount:function(e){e.select(".domain").remove(),e.selectAll("text").attr("opacity",.65).style("font-family","Monospace").style("font-size","110%"),e.selectAll(".tick line").attr("y2",t._height()).attr("stroke-dasharray",2).attr("opacity",.75)}}),this.on("elepoint_added",(function(t){var e=this._data,i=t.index;if(!t.point.meta||!t.point.meta.time){t.point.meta=t.point.meta||{};var a=e[i].dist-e[i>0?i-1:i].dist,n=this._timeAVGSpeed;t.point.meta.time=new Date(i>0?e[i-1].time.getTime()+a/n*this._timeFactor*1e3:Date.now())}var o=t.point.meta.time;o.getTime()-60*o.getTimezoneOffset()*1e3==0&&(o=0);var r=o,s=i>0?e[i-1].time:r,l=Math.abs(r-s),h=(this.track_info.time||0)+l;e[i].time=o,e[i].duration=h,this.track_info.time=h})),this.options.time&&(this._registerFocusLabel({name:"time",chart:function(e){return t.options.timeFormat(e.time)}}),this._registerSummary({tottime:{label:"Total Time: ",value:function(t){return s(t.time||0)}}}))})),it.addInitHook((function(){var t=this;if(this.options.slope){var e=this.options,i={};i.label=e.slopeLabel||"%","summary"!=this.options.slope&&(this._registerAxisScale({axis:"y",position:"right",scale:{min:-1,max:1},tickPadding:16,label:i.label,labelX:25,labelY:-8,name:"slope"}),this._registerAreaPath({name:"slope",label:"Slope",yAttr:"slope",scaleX:"distance",scaleY:"slope",color:"#F00",strokeColor:"#000",strokeOpacity:"0.5",fillOpacity:"0.25"})),this.on("eledata_updated",(function(t){var e=this._data,i=t.index,a=e[i].z,n=1e3*(e[i].dist-e[i>0?i-1:i].dist),o=this.track_info,r=o.ascent||0,s=o.descent||0,l=o.slope_max||0,h=o.slope_min||0,c=0;if(!isNaN(a)){var d=i>0?a-e[i-1].z:0;d>0?r+=d:d<0&&(s-=d),0!==n&&(c=d/n*100)}if(this.options.sDeltaMax){var u=i>0?c-e[i-1].slope:0,p=this.options.sDeltaMax;Math.abs(u)>p&&(c=e[i-1].slope+p*Math.sign(u))}if(this.options.sRange){var _=this.options.sRange;c<_[0]?c=_[0]:c>_[1]&&(c=_[1])}(c=L.Util.formatNum(c,2))>l&&(l=c),c<h&&(h=c),e[i].slope=c,o.ascent=r,o.descent=s,o.slope_max=l,o.slope_min=h})),this._registerFocusLabel({name:"slope",chart:function(t){return t.slope+i.label},marker:function(t){return Math.round(t.slope)+i.label}}),this._registerSummary({ascent:{label:"Total Ascent: ",value:function(e){return Math.round(e.ascent||0)+" "+t._yLabel}},descent:{label:"Total Descent: ",value:function(e){return Math.round(e.descent||0)+" "+t._yLabel}},minslope:{label:"Min Slope: ",value:function(t){return Math.round(t.slope_min||0)+" "+i.label}},maxslope:{label:"Max Slope: ",value:function(t){return Math.round(t.slope_max||0)+" "+i.label}}})}})),it.addInitHook((function(){if(this.options.speed||this.options.acceleration){var t=this.options,e={};e.label=t.speedLabel||L._(this.options.imperial?"mph":"km/h"),this._speedFactor=t.speedFactor||1,this.options.speed&&"summary"!=this.options.speed&&(this._registerAxisScale({axis:"y",position:"right",scale:{min:0,max:1},tickPadding:16,label:e.label,labelX:25,labelY:-8,name:"speed"}),this._registerAreaPath({name:"speed",label:"Speed",yAttr:"speed",scaleX:"distance",scaleY:"speed",color:"#03ffff",strokeColor:"#000",strokeOpacity:"0.5",fillOpacity:"0.25"})),this.on("elepoint_added",(function(t){var e=this._data,i=t.index,a=e[i].time,n=a-(i>0?e[i-1].time:a),o=this.track_info,r=o.speed_max||-1/0,s=o.speed_min||1/0,l=o.speed_avg||0,h=0;if(n>0){var c=1e3*(e[i].dist-e[i>0?i-1:i].dist);h=Math.abs(c/n*this._timeFactor)*this._speedFactor}if(this.options.speedDeltaMax){var d=i>0?h-e[i-1].speed:0,u=this.options.speedDeltaMax;Math.abs(d)>u&&(h=e[i-1].speed+u*Math.sign(d))}if(this.options.speedRange){var p=this.options.speedRange;h<p[0]?h=p[0]:h>p[1]&&(h=p[1])}r=(h=L.Util.formatNum(h,2))>r?h:r,s=h<s?h:s,l=(h+l)/2,e[i].speed=h,o.speed_max=r,o.speed_min=s,o.speed_avg=l})),this.options.speed&&(this._registerFocusLabel({name:"speed",chart:function(t){return t.speed+" "+e.label},marker:function(t){return Math.round(t.speed)+" "+e.label}}),this._registerSummary({minspeed:{label:"Min Speed: ",value:function(t){return Math.round(t.speed_min||0)+" "+e.label}},maxspeed:{label:"Max Speed: ",value:function(t){return Math.round(t.speed_max||0)+" "+e.label}},avgspeed:{label:"Avg Speed: ",value:function(t){return Math.round(t.speed_avg||0)+" "+e.label}}}))}})),it.addInitHook((function(){if(this.options.acceleration){var t=this.options,e={};e.label=t.accelerationLabel||L._(this.options.imperial?"ft/s²":"m/s²"),this._accelerationFactor=t.accelerationFactor||1,"summary"!=this.options.acceleration&&(this._registerAxisScale({axis:"y",position:"right",scale:{min:0,max:1},tickPadding:16,label:e.label,labelX:25,labelY:-8,name:"acceleration"}),this._registerAreaPath({name:"acceleration",label:"Acceleration",yAttr:"acceleration",scaleX:"distance",scaleY:"acceleration",color:"#050402",strokeColor:"#000",strokeOpacity:"0.5",fillOpacity:"0.25"})),this.on("elepoint_added",(function(t){var e=this._data,i=t.index,a=e[i].time,n=(a-(i>0?e[i-1].time:a))/1e3,o=this.track_info,r=o.acceleration_max||-1/0,s=o.acceleration_min||1/0,l=o.acceleration_avg||0,h=0;if(n>0){var c=e[i].speed,d=(c-(i>0?e[i-1].speed:c))*(1e3/this._timeFactor);h=Math.abs(d/n)*this._accelerationFactor}if(this.options.accelerationDeltaMax){var u=i>0?h-e[i-1].acceleration:0,p=this.options.accelerationDeltaMax;Math.abs(u)>p&&(h=e[i-1].acceleration+p*Math.sign(u))}if(this.options.accelerationRange){var _=this.options.accelerationRange;h<_[0]?h=_[0]:h>_[1]&&(h=_[1])}(h=L.Util.formatNum(h,2))>r&&(r=h),h<s&&(s=h),l=(h+l)/2,e[i].acceleration=h,o.acceleration_max=r,o.acceleration_min=s,o.acceleration_avg=l})),this._registerFocusLabel({name:"acceleration",chart:function(t){return t.acceleration+" "+e.label},marker:function(t){return Math.round(t.acceleration)+" "+e.label}}),this._registerSummary({minacceleration:{label:"Min Acceleration: ",value:function(t){return Math.round(t.acceleration_min||0)+" "+e.label}},maxacceleration:{label:"Max Acceleration: ",value:function(t){return Math.round(t.acceleration_max||0)+" "+e.label}},avgacceleration:{label:"Avg Acceleration: ",value:function(t){return Math.round(t.acceleration_avg||0)+" "+e.label}}})}})),it.Utils=P,it.Components=K,it.Chart=Q,L.control.elevation=function(t){return new it(t)}}));
|
|
1
|
+
!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(e)}function e(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function i(t){for(var a=arguments.length,n=new Array(a>1?a-1:0),o=1;o<a;o++)n[o-1]=arguments[o];if(!n.length)return t;var r=n.shift();if(h(t)&&h(r))for(var s in r)h(r[s])?(t[s]||Object.assign(t,e({},s,{})),i(t[s],r[s])):Object.assign(t,e({},s,r[s]));return i.apply(void 0,[t].concat(n))}function a(t){"complete"!==document.readyState?window.addEventListener("load",t,{once:!0}):t()}!function(t,e){"function"==typeof define&&define.amd?define(["leaflet"],t):"object"==typeof exports&&(module.exports=t(require("leaflet"))),void 0!==e&&e.L&&t(e.L)}((function(t){return t.locales={},t.locale=null,t.registerLocale=function(e,i){t.locales[e]=t.Util.extend({},t.locales[e],i)},t.setLocale=function(e){t.locale=e},t.i18n=t._=function(e,i){t.locale&&t.locales[t.locale]&&t.locales[t.locale][e]&&(e=t.locales[t.locale][e]);try{e=t.Util.template(e,i)}catch(t){}return e}}),window);var n=6e4,o=60*n,r=24*o;function s(t){var e=Math.floor(t/r),i=Math.floor((t-e*r)/o),a=Math.floor((t-e*r-i*o)/n),s=Math.round((t-e*r-i*o-a*n)/1e3);return 60===s&&(a++,s=0),60===a&&(i++,a=0),24===i&&(e++,i=0),(e?e+"d ":"")+i.toString().padStart(2,0)+":"+a.toString().padStart(2,0)+"'"+s.toString().padStart(2,0)+'"'}function l(e,i){"string"==typeof e&&(e=JSON.parse(e));var a=!0===(i=i||this).options.distanceMarkers?{lazy:!0}:L.extend({lazy:!0},i.options.distanceMarkers),n=i.options.wptIcons,o=L.geoJson(e,{distanceMarkers:a,style:function(t){var e=L.extend({},i.options.polyline);return i.options.theme&&(e.className+=" "+i.options.theme),e},pointToLayer:function(t,e){if(i.options.waypoints){var a=t.properties,o=a.desc?a.desc:"",r=a.name?a.name:"",s=(a.sym?a.sym:r).replace(" ","-").replace('"',"").replace("'","").toLowerCase();n.hasOwnProperty(s)||(n[s]=L.divIcon(L.extend({},n[""].options,{html:'<i class="elevation-waypoint-icon '+s+'"></i>'})));var l=L.marker(e,{icon:n[s]});return(r||o)&&l.bindPopup("<b>"+r+"</b>"+(o.length>0?"<br>"+o:"")).openPopup(),i._addMarker(l),i._registerCheckPoint({latlng:e,label:r},!0),i.fire("waypoint_added",{point:l,element:e,properties:a}),l}},onEachFeature:function(n,o){n.geometry&&"Point"==n.geometry.type||(o._latlngs.forEach((function(e,i,a){if(e.meta={time:null,ele:null,hr:null,cad:null,atemp:null},"alt"in e&&(e.meta.ele=e.alt),n.properties){var o=n.properties;"coordTimes"in o?e.meta.time=new Date(Date.parse(o.coordTimes[i])):"times"in o?e.meta.time=new Date(Date.parse(o.times[i])):"time"in o&&(e.meta.time=new Date(Date.parse("object"===t(o.time)?o.time[i]:o.time))),"heartRates"in o?e.meta.hr=parseInt(o.heartRates[i]):"heartRate"in o&&(e.meta.hr=parseInt("object"===t(o.heartRate)?o.heartRate[i]:o.heartRate))}})),i.addData(o),i.options.distanceMarkers&&a.lazy&&o.on("add remove",(function(t){var e=t.target;L.DistanceMarkers&&e instanceof L.Polyline&&e[t.type+"DistanceMarkers"]()})),i.track_info=L.extend({},i.track_info,{type:"geojson",name:e.name}))}});return L.Control.Elevation._d3LazyLoader.then((function(){i._fireEvt("eledata_loaded",{data:e,layer:o,name:i.track_info.name,track_info:i.track_info})})),o}function h(e){return e&&"object"===t(e)&&!Array.isArray(e)}function c(t){if(!t)return!1;var e=window.getComputedStyle(t);return!!function(t,e){return"hidden"!==e.visibility&&"none"!==e.display}(0,e)&&!!function(t,e){var i=t.getBoundingClientRect(),a=i.left+1,n=i.right-1,o=i.top+1,r=(i.bottom,!0),s=t.style.pointerEvents;return"none"==e["pointer-events"]&&(t.style.pointerEvents="auto"),document.elementFromPoint(a,o)!==t&&(r=!1),document.elementFromPoint(n,o)!==t&&(r=!1),t.style.pointerEvents=s,r}(t,e)}function d(e,i){if(i=void 0===i||i,"string"==typeof e&&i)return 0==(e=e.trim()).indexOf("{")||0==e.indexOf("[");try{JSON.parse(e.toString())}catch(a){return!("object"!==t(e)||!i)||(console.warn(a),!1)}return!0}function u(t,e){if(e=void 0===e||e,"string"==typeof t&&e)return 0==(t=t.trim()).indexOf("<");var i=(t?t.ownerDocument||t:0).documentElement;return!!i&&"HTML"!==i.nodeName}function _(t,e,i){return!1===e?Promise.resolve():i instanceof Promise?i:new Promise((function(e,i){var a=document.createElement("script");a.addEventListener("load",e,{once:!0}),a.src=t,document.head.appendChild(a)}))}function p(t,e){var i=w("a","",{href:t,target:"_new",download:e||"",style:"display:none;"}),a=document.body;a.appendChild(i),i.click(),a.removeChild(i)}function m(t){return new Promise((function(e,i){var a=!1,n=function i(){a||(L.Util.requestAnimFrame((function(){c(t)&&(window.removeEventListener("scroll",i),e()),a=!1})),a=!0)};window.addEventListener("scroll",n),t&&t.addEventListener("mouseenter",n,{once:!0}),n()}))}function f(t,e){t&&e.split(" ").every((function(e){return e&&L.DomUtil.addClass(t,e)}))}function g(t,e){t&&e.split(" ").every((function(e){return e&&L.DomUtil.removeClass(t,e)}))}function v(t,e,i){return(i?f:g).call(null,t,e)}function y(t,e,i){e&&g(t,e),i&&f(t,i)}function x(t,e,i){return void 0===i?L.DomUtil.getStyle(t,e):t.style.setProperty(e,i)}function b(t,e,i,a){return x(t,e,a?i:"")}function k(t,e,i,a){return t[a?"on":"off"](e,i)}function w(t,e,i,a){var n=L.DomUtil.create(t,e||"");return i&&z(n,i),a&&C(a,n),n}function C(t,e){return t.appendChild(e)}function M(t,e,i){return t.insertAdjacentElement(i,e)}function z(t,e){for(var i in e)t.setAttribute(i,e[i])}function A(t,e){return(e||document).querySelector(t)}var S=L.DomEvent.on,D=L.DomEvent.off,E=L.DomUtil.hasClass;function F(){return Math.random().toString(36).substr(2,9)}function T(t,e){for(var i in t)e(t[i],i)}var P=Object.freeze({__proto__:null,deepMerge:i,deferFunc:a,debounce:function(t,e,i,a){var n;return function(){var o=arguments;clearTimeout(n),n=setTimeout((function(){n=null,a||t.apply(i,o)}),e),a&&!n&&t.apply(i,o)}},formatTime:s,GeoJSONLoader:l,isDomVisible:function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},isObject:h,isVisible:c,isJSONDoc:d,isXMLDoc:u,lazyLoader:_,saveFile:p,waitHolder:m,addClass:f,removeClass:g,toggleClass:v,replaceClass:y,style:x,toggleStyle:b,toggleEvent:k,create:w,append:C,insert:M,setAttributes:z,select:A,on:S,off:D,hasClass:E,randomId:F,each:T}),O={lightblue:{area:"#3366CC",alpha:.45,stroke:"#3366CC"},magenta:{area:"#FF005E"},yellow:{area:"#FF0"},purple:{area:"#732C7B"},steelblue:{area:"#4682B4"},red:{area:"#F00"},lime:{area:"#9CC222",line:"#566B13"}},N=function(t){t.width;var e=t.height,i=t.xAttr,a=t.yAttr,n=t.scaleX,o=t.scaleY,r=t.interpolation,s=void 0===r?"curveLinear":r;return d3.area().curve("string"==typeof s?d3[s]:s).x((function(t){return t.xDiagCoord=n(t[i])})).y0(e).y1((function(t){return o(t[a])}))},I=function(t){var e=t.name,i=t.color,a=t.strokeColor,n=t.strokeOpacity,o=t.fillOpacity,r=d3.create("svg:path");return e&&r.classed(e,!0),r.style("pointer-events","none"),r.attr("fill",i||"#3366CC").attr("stroke",a||"#000").attr("stroke-opacity",n||"1").attr("fill-opacity",o||"0.8"),r},G=function(t){var e=t.type,i=void 0===e?"axis":e,a=t.tickSize,n=void 0===a?6:a,o=t.tickPadding,r=void 0===o?3:o,s=t.position,l=t.height,h=t.width,c=t.axis,d=t.scale,u=t.ticks,_=t.tickFormat,p=t.label,m=t.labelX,f=t.labelY,g=t.name,v=void 0===g?"":g,y=t.onAxisMount;return function(t){var e=0,a=0;"bottom"==s&&(a=l),"right"==s&&(e=h),"x"==c&&"grid"==i?n=-l:"y"==c&&"grid"==i&&(n=-h);var o=d3["axis"+s.replace(/\b\w/g,(function(t){return t.toUpperCase()}))]().scale(d).ticks(u).tickPadding(r).tickSize(n).tickFormat(_),g=t.append("g").attr("class",[c,i,s,v].join(" ")).attr("transform","translate("+e+","+a+")").call(o);return p&&g.append("svg:text").attr("x",m).attr("y",f).text(p),y&&g.call(y),g}},B=function(t){return t.type="grid",G(t)},H=function(t){var e=t.theme,i=t.xCoord,a=void 0===i?0:i,n=t.yCoord,o=void 0===n?0:n,r=t.length,s=void 0===r?0:r;return function(t){return t.attr("class",e+" height-focus line").attr("x1",a).attr("x2",a).attr("y1",o).attr("y2",s)}},X=function(t){var e=t.theme,i=t.xCoord,a=void 0===i?0:i,n=t.yCoord,o=void 0===n?0:n,r=t.label;return function(t){t.attr("class",e+" height-focus-label").style("pointer-events","none").attr("x",a+5).attr("y",o);var i=t.select(".height-focus-y");return i.node()||(i=t.append("svg:tspan")),i.attr("class","height-focus-y").text(r),t.selectAll("tspan").attr("x",a+5),t}},R=function(t){var e=t.theme,i=t.xCoord,a=void 0===i?0:i,n=t.yCoord,o=void 0===n?0:n;return function(t){return t.attr("class",e+" height-focus circle-lower").attr("transform","translate("+a+","+o+")").attr("r",6).attr("cx",0).attr("cy",0)}},j=function(t){var e=t.name,i=t.label,a=t.width,n=t.height,o=t.margins,r=void 0===o?{}:o,s=t.color,l=t.path;return function(t){t.attr("class","legend-item legend-"+e.toLowerCase()).attr("data-name",e);var o=d3.select(t.node().ownerSVGElement||t);return t.on("click.legend",(function(){return o.dispatch("legend_clicked",{detail:{path:l.node(),name:e,legend:t.node(),enabled:!l.classed("leaflet-hidden")}})})),t.append("svg:rect").attr("x",a/2-50).attr("y",n+r.bottom/2).attr("width",50).attr("height",10).attr("fill",s).attr("stroke","#000").attr("stroke-opacity","0.5").attr("fill-opacity","0.25"),t.append("svg:text").text(L._(i||e)).attr("x",a/2+5).attr("font-size",10).style("text-decoration-thickness","2px").style("font-weight","700").attr("y",n+r.bottom/2).attr("dy","0.75em"),t}},U=function(t){var e=t.xCoord,i=void 0===e?0:e,a=t.height;return function(t){return t.attr("class","mouse-focus-line").attr("x2",i).attr("y2",0).attr("x1",i).attr("y1",a)}},J=function(t){var e=t.xCoord,i=t.yCoord,a=t.labelX,n=void 0===a?"":a,o=t.labelY,r=void 0===o?"":o,s=t.width;return function(t){t.attr("class","mouse-focus-label");var a=t.select(".mouse-focus-label-rect"),o=t.select(".mouse-focus-label-text"),l=o.select(".mouse-focus-label-y"),h=o.select(".mouse-focus-label-x");a.node()||(a=t.append("svg:rect")),o.node()||(o=t.append("svg:text")),l.node()||(l=o.append("svg:tspan")),h.node()||(h=o.append("svg:tspan")),l.text(r),h.text(n);var c=0,d=0,u={width:0,height:0};try{u=o.node().getBBox()}catch(e){return t}return e&&(c=e+(e<s/2?10:-u.width-10)),i&&(d=Math.max(i-u.height,L.Browser.webkit?0:-1/0)),a.attr("class","mouse-focus-label-rect").attr("x",c-5).attr("y",d-5).attr("width",u.width+10).attr("height",u.height+10).attr("rx",3).attr("ry",3),o.attr("class","mouse-focus-label-text").style("font-weight","700").attr("y",d),l.attr("class","mouse-focus-label-y").attr("dy","1em"),h.attr("class","mouse-focus-label-x").attr("dy","2em"),o.selectAll("tspan").attr("x",c),t}},Y=function(t){var e=t.height,i=t.width;return function(t){t.data([{x:0,y:e}]).attr("transform",(function(t){return"translate("+t.x+","+t.y+")"}));var a=t.selectAll(".horizontal-drag-rect").data([{w:i}]),n=t.selectAll(".horizontal-drag-line").data([{w:i}]),o=t.selectAll(".horizontal-drag-label").data([{w:i-8}]),r=t.selectAll(".horizontal-drag-symbol").data([{type:d3.symbolTriangle,x:i+7,y:0,angle:-90,size:50}]);return a.exit().remove(),n.exit().remove(),o.exit().remove(),r.exit().remove(),a.enter().append("svg:rect").attr("class","horizontal-drag-rect").attr("x",0).attr("y",-8).attr("height",8).attr("fill","none").attr("pointer-events","all").merge(a).attr("width",(function(t){return t.w})),n.enter().append("svg:line").attr("class","horizontal-drag-line").attr("x1",0).merge(n).attr("x2",(function(t){return t.w})),o.enter().append("svg:text").attr("class","horizontal-drag-label").attr("text-anchor","end").attr("y",-8).merge(o).attr("x",(function(t){return t.w})),r.enter().append("svg:path").attr("class","horizontal-drag-symbol").merge(r).attr("d",d3.symbol().type((function(t){return t.type})).size((function(t){return t.size}))).attr("transform",(function(t){return"translate("+t.x+","+t.y+") rotate("+t.angle+")"})),t}},V=function(t){var e=t.min,i=t.max,a=t.attr,n=t.name,o=t.forceBounds,r=t.scale;return function(t){a=a||n,r&&r.attr&&(a=r.attr);var s=t&&t.length?d3.extent(t,(function(t){return t[a]})):[0,1];return void 0!==e&&(e<s[0]||o)&&(s[0]=e),void 0!==i&&(i>s[1]||o)&&(s[1]=i),s}},W=function(t){var e=t.axis;return function(t,i){return"x"==e?[0,t]:"y"==e?[i,0]:void 0}},Z=function(t){var e=t.data,i=t.attr,a=t.min,n=t.max,o=t.forceBounds,r=t.range;return d3.scaleLinear().range(r).domain(V({min:a,max:n,attr:i,forceBounds:o})(e))},q=function(t){var e=t.width,i=t.height,a=t.margins,n=void 0===a?{}:a,o=(t.ruler,e-n.left-n.right),r=i-n.top-n.bottom,s=d3.create("svg:svg").attr("class","background"),l=s.append("g"),h={grid:l.append("g").attr("class","grid"),area:l.append("g").attr("class","area"),point:l.append("g").attr("class","point"),axis:l.append("g").attr("class","axis"),brush:l.append("g").attr("class","brush"),tooltip:l.append("g").attr("class","tooltip").attr("display","none"),ruler:l.append("g").attr("class","ruler"),legend:l.append("g").attr("class","legend")},c=h.area.append("svg:clipPath").attr("id","elevation-clipper"),d=c.append("svg:rect"),u=h.area.append("svg:foreignObject"),_=u.append("xhtml:canvas").attr("class","canvas-plot"),p=_.node().getContext("2d"),m=h.ruler,f=h.tooltip,g=h.brush;f.append("svg:line").call(U({xCoord:0,height:r})),f.append("g").call(J({xCoord:0,yCoord:0,height:r,width:o,labelX:"",labelY:""}));var v=d3.brushX().on("start.cursor end.cursor brush.cursor",(function(){return g.select(".overlay").attr("cursor",null)})),y={clipPath:c,canvas:_,context:p,dragG:m,focusG:f,brush:v},x={svg:s,g:l,panes:h,utils:y,scale:function(t){return{x:Z(t.x),y:Z(t.y)}},_resize:function(t){var e=t.width,i=t.height,a=t.margins,n=void 0===a?{}:a,o=t.ruler,r=e-n.left-n.right,h=i-n.top-n.bottom;s.attr("viewBox","0 0 ".concat(e," ").concat(i)).attr("width",e).attr("height",i),l.attr("transform","translate("+n.left+","+n.top+")"),/Mac|iPod|iPhone|iPad/.test(navigator.platform)&&/AppleWebkit/i.test(navigator.userAgent)&&_.style("transform","translate("+n.left+"px,"+n.top+"px)"),d.attr("x",0).attr("y",0).attr("width",r).attr("height",h),u.attr("width",r).attr("height",h),_.attr("width",r).attr("height",h),o&&m.call(Y({height:h,width:r})),g.call(v.extent([[0,0],[r,h]])),g.select(".overlay").attr("cursor",null),x._width=r,x._height=h,x.svg.dispatch("resize",{detail:{width:r,height:h}})},pane:function(t){return h[t]||(h[t]=l.append("g").attr("class",t)),h[t]},get:function(t){return y[t]}};return x._resize({width:e,height:i,margins:n}),x},K=Object.freeze({__proto__:null,Colors:O,Area:N,Path:I,Axis:G,Grid:B,HeightFocusLine:H,HeightFocusLabel:X,HeightFocusMarker:R,LegendItem:j,MouseFocusLine:U,MouseFocusLabel:J,Ruler:Y,Domain:V,Range:W,Scale:Z,Bisect:function(t){var e=t.data,i=void 0===e?[0,1]:e,a=t.scale,n=t.x,o=t.attr;return d3.bisector((function(t){return t[o]})).left(i,a.invert(n))},Chart:q}),Q=L.Class.extend({includes:L.Evented?L.Evented.prototype:L.Mixin.Events,initialize:function(t,e){this.options=t,this.control=e,this._data=[],this._props={scales:{},paths:{},areas:{},grids:{},axes:{},legendItems:{},focusLabels:{}},this._scales={},this._domains={},this._ranges={},this._paths={},this._brushEnabled=t.dragging,this._zoomEnabled=t.zooming,t.imperial?(this._xLabel="mi",this._yLabel="ft"):(this._xLabel=t.xLabel,this._yLabel=t.yLabel);var i=this._chart=q(t);this._container=i.svg;this._grid=i.pane("grid"),this._area=i.pane("area"),this._point=i.pane("point"),this._axis=i.pane("axis"),this._legend=i.pane("legend"),this._initScale(),this._clipPath=i.get("clipPath"),this._canvas=i.get("canvas"),this._context=i.get("context"),this._dragG=i.get("dragG"),this._focusG=i.get("focusG"),this._brush=i.get("brush"),this._focusline=this._focusG.select(".mouse-focus-line"),this._focuslabel=this._focusG.select(".mouse-focus-label"),this._zoom=d3.zoom(),this._drag=d3.drag(),this._initInteractions()},update:function(t){return t&&(t.data&&(this._data=t.data),t.options&&(this.options=t.options)),this._updateScale(),this._updateArea(),this._updateAxis(),this._updateLegend(),this._updateClipper(),this},render:function(){var t=this;return function(e){return e.append((function(){return t._container.node()}))}},clear:function(){this._resetDrag(),this._hideDiagramIndicator(),this._area.selectAll("path").attr("d","M0 0"),this._context.clearRect(0,0,this._width(),this._height()),this._path},_drawPath:function(t){var e=this.options,i=this._context,a=this._paths[t],n=this._props.areas[t],o=a.node(),r=this._scales[n.scaleX],s=this._scales[n.scaleY];if(n=L.extend({},n,{width:this._width(),height:this._height(),scaleX:r,scaleY:s}),!s||!s)return console.warn("Unable to render path:"+t);if(a.datum(this._data).attr("d",N(n)),!a.classed("leaflet-hidden"))if(e.preferCanvas){a.classed("canvas-path",!0),i.beginPath(),i.moveTo(0,0);var l=new Path2D(a.attr("d"));i.strokeStyle=a.attr("stroke"),i.fillStyle=a.attr("fill"),i.lineWidth=1.25,i.globalCompositeOperation="source-over",i.globalAlpha=a.attr("stroke-opacity")||.3,i.stroke(l),i.globalAlpha=a.attr("fill-opacity")||.45,i.fill(l),i.globalAlpha=1,i.closePath()}else this._area.append((function(){return o}))},_hasActiveLayers:function(){var t=this._paths;for(var e in t)if(!t[e].classed("leaflet-hidden"))return!0;return!1},_initBrush:function(t){var e=this,i=function(t){if(e._data.length&&("brush"!=t.type||t.sourceEvent)){var i=e._chart.panes.brush.select(".overlay").node(),a=d3.pointers(t,i)[0][0],n=e._data[e._findIndexForXCoord(a)];e.fire("mouse_move",{item:n,xCoord:a})}};this._brush.filter((function(t){return e._brushEnabled&&!t.shiftKey&&!t.button})).on("end.update",(function(t){if(e._data.length){var i=t.selection;if(i){var a=e._findIndexForXCoord(i[0]),n=e._findIndexForXCoord(i[1]);e.fire("dragged",{dragstart:e._data[a],dragend:e._data[n]})}}})).on("brush.update",i),this._chart.panes.brush.on("mouseenter.focus touchstart.focus",this.fire.bind(this,"mouse_enter")).on("mouseout.focus touchend.focus",this.fire.bind(this,"mouse_out")).on("mousemove.focus touchmove.focus",i)},_initClipper:function(){var t=this,e=this._container,i=this.options.margins,a=this._zoom;a.scaleExtent([1,10]).extent([[i.left,0],[this._width()-i.right,this._height()]]).translateExtent([[i.left,-1/0],[this._width()-i.right,1/0]]).filter((function(e){return t._zoomEnabled&&(e.shiftKey||4==e.buttons)})).on("start",(function(i){i.sourceEvent&&"mousedown"==i.sourceEvent.type&&e.style("cursor","grabbing"),1==i.transform.k&&0==i.transform.x&&t._container.classed("zoomed",!0),t.zooming=!0})).on("end",(function(i){1==i.transform.k&&0==i.transform.x&&t._container.classed("zoomed",!1),t.zooming=!1,e.style("cursor","")})).on("zoom",(function(e){t.zooming=!1,t._updateScale(),t.zooming=!0,t._scales.distance=t._x=e.transform.rescaleX(t._x),t._resetDrag(),e.sourceEvent&&"mousemove"==e.sourceEvent.type&&t._hideDiagramIndicator(),t.fire("zoom")})),e.call(a)},_initInteractions:function(){this._initBrush(),this._initRuler(),this._initClipper(),this._initLegend()},_initLegend:function(){var t=this;this._container.on("legend_clicked",(function(e){var i=e.detail,a=i.path,n=i.legend,o=i.name,r=i.enabled;if(a){var s=A("text",n),l=A("rect",n);b(s,"text-decoration-line","line-through",r),b(l,"fill-opacity","0",r),v(a,"leaflet-hidden",r),t._updateArea(),t.fire("elepath_toggle",{path:a,name:o,legend:n,enabled:r})}}))},_initRuler:function(){var t=this;if(this.options.ruler){var e=d3.format(".0f"),i=this._drag;i.on("start end",(function(e,i){var a=t._height(),n=t._dragG.data()[0].y;(n>=a||n<=0)&&t._dragG.select(".horizontal-drag-label").text(""),t._hideDiagramIndicator()})).on("drag",(function(i,a){var n=t._height(),o=d3.pointers(i,t._area.node())[0][1],r=o>0?o<n?o:n:0,s=t._y.invert(r),l=L.extend(t._dragG.data()[0],{y:r});t._dragG.data([l]).attr("transform",(function(t){return"translate("+t.x+","+t.y+")"})).classed("active",r<n),t._container.select(".horizontal-drag-label").text(e(s)+" "+t._yLabel),t.fire("ruler_filter",{coords:o<n&&o>0?t._findCoordsForY(o):[]})})),this._dragG.call(i)}},_initScale:function(){var t=this.options;this._registerAxisScale({axis:"x",position:"bottom",attr:t.xAttr,min:t.xAxisMin,max:t.xAxisMax,name:"distance"}),this._registerAxisScale({axis:"y",position:"left",attr:t.yAttr,min:t.yAxisMin,max:t.yAxisMax,name:"altitude"}),this._x=this._scales.distance,this._y=this._scales.altitude},_registerAreaPath:function(t){var e=this.options;t.xAttr||(t.xAttr=e.xAttr),t.yAttr||(t.yAttr=e.yAttr),void 0===t.preferCanvas&&(t.preferCanvas=e.preferCanvas);var i=I(t);this._paths[t.name]=i,this._props.areas[t.name]=t,e.legend&&(this._props.legendItems[t.name]={name:t.name,label:t.label,color:t.color,path:i})},_registerAxisGrid:function(t){this._props.grids[t.name||t.axis]=t},_registerAxisScale:function(t){var e=this.options,i=t.scale;if("function"!=typeof i){(i=L.extend({data:this._data,forceBounds:e.forceAxisBounds},i)).attr=i.attr||t.name;var a=this._domains[t.name]=V(t),n=this._ranges[t.name]=W(t);i.range=i.range||n(this._width(),this._height()),i.domain=i.domain||a(this._data),this._props.scales[t.name]=i,t.scale=this._scales[t.name]=Z(i)}return t.ticks||("x"==t.axis?t.ticks=e.xTicks:"y"==t.axis&&(t.ticks=e.yTicks)),this._props.axes[t.name]=t,i},_registerCheckPoint:function(t){if(this._data.length){var e,i,a;if(t.latlng)e=this._data[this._findIndexForLatLng(t.latlng)],i=this._x(e.dist),a=this._y(e.z);else if(isNaN(t.dist)){if(isNaN(i)||isNaN(a))return}else i=this._x(t.dist),e=this._data[this._findIndexForXCoord(i)],a=this._y(e.z);t.item&&t.item.property("isConnected")||(t.position=t.position||"bottom",t.item=this._point.append("g"),t.item.append("svg:line").attr("y1",0).attr("x1",0).attr("style","stroke: rgb(51, 51, 51); stroke-width: 0.5; stroke-dasharray: 2, 2;"),t.item.append("svg:circle").attr("class"," height-focus circle-lower").attr("r",3),t.label&&t.item.append("svg:text").attr("dx","4px").attr("dy","-4px")),t.item.datum({pos:t.position,x:i,y:a}).attr("class",(function(t){return"point "+t.pos})).attr("transform",(function(t){return"translate("+t.x+","+t.y+")"})),t.item.select("line").datum({y2:{top:-a,bottom:this._height()-a}[t.position],x2:{left:-i,right:this._width()-i}[t.position]||0}).attr("y2",(function(t){return t.y2})).attr("x2",(function(t){return t.x2})),t.label&&t.item.select("text").text(t.label)}},_registerFocusLabel:function(t){this._props.focusLabels[t.name]=t},_updateArea:function(){var t=this._paths;for(var e in this._context.clearRect(0,0,this._width(),this._height()),t)t[e].classed("leaflet-hidden")||this._drawPath(e)},_updateAxis:function(){var t=this.options;this._grid.selectAll("g").remove(),this._axis.selectAll("g").remove();var e,i,a,n=this._props.grids,o=this._props.axes,r={width:this._width(),height:this._height(),tickFormat:""},s={width:this._width(),height:this._height()};for(var l in n)e=L.extend({},r,n[l]),a=B(e),this._grid.call(a);for(var h in o)!1!==t[h]&&"summary"!==t[h]&&(e=L.extend({},s,o[h]),i=G(e),this._axis.call(i));this._axis.selectAll(".y.axis.right").each((function(t,e,i){var a=d3.select(i[e]),n=a.attr("transform"),o=n.substring(n.indexOf("(")+1,n.indexOf(")")).split(",");a.attr("transform","translate("+(+o[0]+40*e)+","+o[1]+")"),e>0&&(a.select(":scope > path").attr("opacity",.25),a.selectAll(":scope > .tick line").attr("opacity",.75))}))},_updateClipper:function(){var t=this.options.margins;this._zoom.scaleExtent([1,10]).extent([[t.left,0],[this._width()-t.right,this._height()]]).translateExtent([[t.left,-1/0],[this._width()-t.right,1/0]])},_updateLegend:function(){var t=this;if(0!=this.options.legend){var e,i=this._props.legendItems;for(var a in this._legend.selectAll("g").remove(),i)e=j(L.extend({width:this._width(),height:this._height(),margins:this.options.margins},i[a])),this._legend.append("g").call(e);var n=this._legend.selectAll(".legend-item"),o=n.nodes().length,r=Array(Math.floor(o/2)).fill(null).map((function(t,e){return 2*(e+1)-(1-Math.sign(o%2))})),s=r.slice().reverse().map((function(t){return-t}));o%2!=0&&s.push(0),r=s.concat(r);var l=this._axis.selectAll(".x.axis.bottom").nodes().length,h=30+2*l,c=30*o;o&&this.options.margins.right<c&&(this.options.margins.right=c,this.fire("margins_updated")),l&&this.options.margins.bottom<h&&(this.options.margins.bottom=h,this.fire("margins_updated")),n.each((function(e,i,a){var n=d3.select(a[i]),o=(n.select("rect"),n.attr("data-name")),s=t._paths[o],h=55*r[i],c=2*l;n.attr("transform","translate("+h+", "+c+")"),o in t.options&&"disabled"==t.options[o]&&(s.classed("leaflet-hidden",!0),n.select("text").style("text-decoration-line","line-through"),n.select("rect").style("fill-opacity","0")),t._clipPath&&s.attr("clip-path","url(#"+t._clipPath.attr("id")+")")}))}},_updateScale:function(){if(this.zooming)return{x:this._x,y:this._y};this.options;var t=this._scales,e=this._domains,i=this._ranges;for(var a in t)t[a].domain(e[a](this._data)).range(i[a](this._width(),this._height()));return{x:this._x,y:this._y}},_width:function(){return this._chart._width},_height:function(){return this._chart._height},_findCoordsForY:function(t){var e,i=this._data,a=this._y.invert(t),n=i.reduce((function(t,e,i){return e.z>=a&&t.push(i),t}),[]),o=0;return n.reduce((function(t,a,r){return n[e=r+1]===n[r]+1&&e!==n.length||(t.push(n.slice(o,e).map((function(t){return i[t].latlng}))),o=e),t}),[])},_findIndexForXCoord:function(t){var e=this;return d3.bisector((function(t){return t[e.options.xAttr]})).left(this._data||[0,1],this._x.invert(t))},_findIndexForLatLng:function(t){var e=null,i=1/0;return this._data.forEach((function(a,n){var o=t.distanceTo(a.latlng);o<i&&(i=o,e=n)})),e},_resetDrag:function(){this._chart.panes.brush.select(".selection").attr("width")&&(this._chart.panes.brush.call(this._brush.clear),this._hideDiagramIndicator(),this.fire("reset_drag"))},_resetZoom:function(){this._zoom&&this._zoom.transform(this._chart.svg,d3.zoomIdentity)},_showDiagramIndicator:function(t,e){var i=this.options,a=this._y(t[i.yAttr]);this._focusG.attr("display",null),this._focusline.call(U({xCoord:e,height:this._height()})),this._focuslabel.call(J({xCoord:e,yCoord:a,height:this._height(),width:this._width(),labelX:d3.format("."+i.decimalsX+"f")(t[i.xAttr])+" "+this._xLabel,labelY:d3.format("."+i.decimalsY+"f")(t[i.yAttr])+" "+this._yLabel}));var n,o=this._props.focusLabels,r=this._focuslabel.select("text");for(var s in o)(n=r.select(".mouse-focus-label-"+o[s].name)).size()||(n=r.append("svg:tspan",".mouse-focus-label-x").attr("class","mouse-focus-label-"+o[s].name).attr("dy","1.5em")),n.text("function"!=typeof o[s].value?o[s].value:o[s].value(t)),this._focuslabel.select(".mouse-focus-label-x").attr("dy","1.5em")},_hideDiagramIndicator:function(){this._focusG.attr("display","none")}}),$=L.Class.extend({initialize:function(t){return this.options=t,this.options.imperial?(this._xLabel="mi",this._yLabel="ft"):(this._xLabel=this.options.xLabel,this._yLabel=this.options.yLabel),"elevation-line"==this.options.marker?(this._focusline=d3.create("svg:line"),this._focusmarker=d3.create("svg:circle"),this._focuslabel=d3.create("svg:text")):"position-marker"==this.options.marker&&(this._marker=L.marker([0,0],{icon:this.options.markerIcon,zIndexOffset:1e6,interactive:!1})),this._focuslabels={},this},addTo:function(t){var e=this;if(this._map=t,"elevation-line"==this.options.marker){var i=this._container=d3.select(t.getPane("elevationPane")).select("svg > g").attr("class","height-focus-group");i.append((function(){return e._focusline.node()})),i.append((function(){return e._focusmarker.node()})),i.append((function(){return e._focuslabel.node()}))}else"position-marker"==this.options.marker&&this._marker.addTo(t,{pane:"overlayPane"});return this},update:function(t){if(t?this._props=t:t=this._props,t){t.options&&(this.options=t.options),this._map||this.addTo(t.map);var e=this.options,i=this._map;this._latlng=t.item.latlng;var a=i.latLngToLayerPoint(this._latlng);i._rotate&&(a=i.rotatedPointToMapPanePoint(a));var n=L.extend({},t.item,a);if("elevation-line"==this.options.marker){var o=this._height()/t.maxElevation*n.z,r=n.y-o;this._container.classed("leaflet-hidden",!1),this._focusmarker.call(R({theme:e.theme,xCoord:n.x,yCoord:n.y})),this._focusline.call(H({theme:e.theme,xCoord:n.x,yCoord:n.y,length:r})),this._focuslabel.call(X({theme:e.theme,xCoord:n.x,yCoord:r,label:d3.format("."+e.decimalsY+"f")(n[e.yAttr])+" "+this._yLabel}));var s,l=this._focuslabels,h=this._focuslabel;for(var c in l)(s=h.select(".height-focus-"+l[c].name)).size()||(s=h.append("svg:tspan").attr("class","height-focus-"+l[c].name).attr("dy","1.5em")),s.text("function"!=typeof l[c].value?l[c].value:l[c].value(t.item)),this._focuslabel.select(".height-focus-y").attr("dy","-1.5em")}else"position-marker"==this.options.marker&&(g(this._marker.getElement(),"leaflet-hidden"),this._marker.setLatLng(this._latlng))}},remove:function(){this._props=null,"elevation-line"==this.options.marker?this._container&&this._container.classed("leaflet-hidden",!0):"position-marker"==this.options.marker&&f(this._marker.getElement(),"leaflet-hidden")},getLatLng:function(){return this._latlng},_height:function(){var t=this.options;return t.height-t.margins.top-t.margins.bottom},_registerFocusLabel:function(t){this._focuslabels[t.name]=t}}),tt=L.Class.extend({initialize:function(t,e){this.options=t,this.control=e,x(this._container=w("div","elevation-summary "+(t.summary?t.summary+"-summary":"")),"max-width",t.width?t.width+"px":"")},render:function(){var t=this;return function(e){return e.append((function(){return t._container}))}},reset:function(){this._container.innerHTML=""},append:function(t,e,i){return this._container.innerHTML+='<span class="'.concat(t,'"><span class="summarylabel">').concat(e,'</span><span class="summaryvalue">').concat(i,"</span></span>"),this},_registerSummary:function(t){for(var e in t)this.append(e,L._(t[e].label),"function"!=typeof t[e].value?t[e].value:t[e].value(this.control.track_info))}}),et={autofitBounds:!0,autohide:!L.Browser.mobile,autohideMarker:!0,almostover:!0,altitude:!0,collapsed:!1,detached:!0,distance:!0,distanceFactor:1,distanceMarkers:!1,decimalsX:2,decimalsY:0,dragging:!L.Browser.mobile,downloadLink:"link",elevationDiv:"#elevation-div",followMarker:!0,forceAxisBounds:!1,height:200,heightFactor:1,imperial:!1,interpolation:"curveLinear",lazyLoadJS:!0,legend:!0,loadData:{defer:!1,lazy:!1},margins:{top:30,right:30,bottom:30,left:40},marker:"elevation-line",markerIcon:L.divIcon({className:"elevation-position-marker",html:'<i class="elevation-position-icon"></i>',iconSize:[32,32],iconAnchor:[16,16]}),placeholder:!1,position:"topright",polyline:{className:"elevation-polyline",color:"#000",opacity:.75,weight:5,lineCap:"round"},polylineSegments:{className:"elevation-polyline-segments",color:"#F00",interactive:!1},preferCanvas:!1,reverseCoords:!1,ruler:!0,skipNullZCoords:!1,theme:"lightblue-theme",responsive:!0,summary:"inline",slope:!1,speed:!1,sLimit:void 0,time:!1,timeFactor:3600,timeFormat:!1,sDeltaMax:void 0,sInterpolation:"curveStepAfter",sRange:void 0,width:600,waypoints:!0,wptIcons:{"":L.divIcon({className:"elevation-waypoint-marker",html:'<i class="elevation-waypoint-icon"></i>',iconSize:[30,30],iconAnchor:[8,30]})},xAttr:"dist",xLabel:"km",xTicks:void 0,yAttr:"z",yAxisMax:void 0,yAxisMin:void 0,yLabel:"m",yTicks:void 0,zFollow:!1,zooming:!L.Browser.Mobile},it=L.Control.Elevation=L.Control.extend({includes:L.Evented?L.Evented.prototype:L.Mixin.Events,options:et,__mileFactor:.621371,__footFactor:3.28084,__D3:"https://unpkg.com/d3@6.5.0/dist/d3.min.js",__TOGEOJSON:"https://unpkg.com/@tmcw/togeojson@4.3.0/dist/togeojson.umd.js",__LGEOMUTIL:"https://unpkg.com/leaflet-geometryutil@0.9.3/src/leaflet.geometryutil.js",__LALMOSTOVER:"https://unpkg.com/leaflet-almostover@1.0.1/src/leaflet.almostover.js",__LDISTANCEM:"https://unpkg.com/@raruto/leaflet-elevation@1.7.3/libs/leaflet-distance-marker.min.js",addData:function(e,i){var a=this;void 0===i&&e.on&&(i=e),it._d3LazyLoader=_(this.__D3,"object"!==("undefined"==typeof d3?"undefined":t(d3))||!this.options.lazyLoadJS,it._d3LazyLoader).then((function(){a._addData(e),a._addLayer(i),a._fireEvt("eledata_added",{data:e,layer:i,track_info:a.track_info})}))},addTo:function(t){if(this.options.detached){var e=this._initElevationDiv();e.isConnected||M(t.getContainer(),e,"afterend"),C(e,this.onAdd(t))}else L.Control.prototype.addTo.call(this,t);return this},clear:function(){this._marker&&this._marker.remove(),this._chart&&this._clearChart(),this._layers&&this._clearLayers(),this._markers&&this._clearMarkers(),this._data=[],this.track_info={},this._fireEvt("eledata_clear"),this._updateChart()},_clearChart:function(){this._events&&this._events.elechart_updated&&this._events.elechart_updated.forEach((function(t){return controlElevation.off("elechart_updated",t.fn,t.ctx)})),this._chart&&this._chart._container&&(this._chart._container.selectAll("g.point .point").remove(),this._chart.clear())},_clearLayers:function(){this._layers&&this._layers.eachLayer&&(this._layers.eachLayer((function(t){return t.remove()})),this._layers.clearLayers())},_clearMarkers:function(){this._markers&&this._markers.eachLayer&&(this._markers.eachLayer((function(t){return t.remove()})),this._markers.clearLayers())},disableBrush:function(){this._chart._brushEnabled=!1,this._resetDrag()},enableBrush:function(){this._chart._brushEnabled=!0},enableDragging:function(){this.enableBrushing()},disableDragging:function(){this.disableBrushing()},disableZoom:function(){this._chart._zoomEnabled=!1,this._chart._resetZoom()},enableZoom:function(){this._chart._zoomEnabled=!0},fitBounds:function(t){t=t||this.getBounds(),this._map&&t.isValid()&&this._map.fitBounds(t)},getBounds:function(t){return t=t||this._data,L.latLngBounds(t.map((function(t){return t.latlng})))},getZFollow:function(){return this._zFollow},hide:function(){x(this._container,"display","none")},initialize:function(t){this._data=[],this._layers=L.featureGroup(),this._markers=L.featureGroup(),this._markedSegments=L.polyline([]),this._chartEnabled=!0,this.track_info={},this.options=i({},this.options,t),this._zFollow=this.options.zFollow,this.options.followMarker&&(this._setMapView=L.Util.throttle(this._setMapView,300,this)),this.options.placeholder&&(this.options.loadData.lazy=this.options.loadData.defer=!0),this.options.legend&&(this.options.margins.bottom+=30),this.options.theme&&(this.options.polylineSegments.className+=" "+this.options.theme),this._markedSegments.setStyle(this.options.polylineSegments),L.extend(O,this.options.colors||{})},load:function(t,e){this.loadData(t,e)},loadChart:function(t){this.addTo(t)},loadData:function(t,e){(e=L.extend({},this.options.loadData,e)).defer?this.loadDefer(t,e):e.lazy?this.loadLazy(t,e):u(t)?this.loadXML(t):d(t)?this.loadGeoJSON(t):this.loadFile(t)},loadDefer:function(t,e){(e=L.extend({},this.options.loadData,e)).defer=!1,a(L.bind(this.loadData,this,t,e))},loadFile:function(t){var e=this;fetch(t).then((function(t){return t.text()})).then((function(i){e._downloadURL=t,e.loadData(i,{lazy:!1,defer:!1})})).catch((function(t){return console.warn(t)}))},loadGeoJSON:function(t){l(t,this)},loadGPX:function(t){this.loadXML(t)},loadXML:function(t){var e=this;it._togeojsonLazyLoader=_(this.__TOGEOJSON,"function"!=typeof toGeoJSON||!this.options.lazyLoadJS,it._togeojsonLazyLoader).then((function(){var i=(new DOMParser).parseFromString(t,"text/xml"),a=i.documentElement.tagName.toLowerCase();a in toGeoJSON||(a="TrainingCenterDatabase"==i.documentElement.tagName?"tcx":"gpx");var n=toGeoJSON[a](i),o=i.getElementsByTagName("name");return o[0]?n.name=o[0].innerHTML:e._downloadURL&&(n.name=e._downloadURL.split("/").pop().split("#")[0].split("?")[0]),e.loadGeoJSON(n,e)}))},loadLazy:function(t,e){var i=this,a=(e=L.extend({},this.options.loadData,e)).lazy.parentNode?e.lazy:this.placeholder;m(a).then((function(){e.lazy=!1,i.loadData(t,e),i.once("eledata_loaded",(function(){return i.placeholder.parentNode.removeChild(a)}))}))},onAdd:function(e){var i=this;this._map=e;var a=this._container=w("div","elevation-control elevation "+this.options.theme);return this.options.detached||f(a,"leaflet-control"),this.options.placeholder&&!this._data.length&&(this.placeholder=w("img","elevation-placeholder","string"==typeof this.options.placeholder?{src:this.options.placeholder,alt:""}:this.options.placeholder),M(a,this.placeholder,"afterbegin")),it._d3LazyLoader=_(this.__D3,"object"!==("undefined"==typeof d3?"undefined":t(d3))||!this.options.lazyLoadJS,it._d3LazyLoader).then((function(){i._initButton(a),i._initChart(a),i._initSummary(a),i._initMarker(e),i._initLayer(e),e.on("zoom viewreset zoomanim",i._hideMarker,i).on("resize",i._resetView,i).on("resize",i._resizeChart,i).on("rotate",i._rotateMarker,i).on("mousedown",i._resetDrag,i),S(e.getContainer(),"mousewheel",i._resetDrag,i),S(e.getContainer(),"touchstart",i._resetDrag,i),i.on("eledata_added eledata_loaded",i._updateChart,i).on("eledata_added eledata_loaded",i._updateSummary,i),i._updateChart(),i._updateSummary()})),a},onRemove:function(t){this._container=null,t.off("zoom viewreset zoomanim",this._hideMarker,this).off("resize",this._resetView,this).off("resize",this._resizeChart,this).off("mousedown",this._resetDrag,this),D(t.getContainer(),"mousewheel",this._resetDrag,this),D(t.getContainer(),"touchstart",this._resetDrag,this),this.off("eledata_added eledata_loaded",this._updateChart,this).off("eledata_added eledata_loaded",this._updateSummary,this)},redraw:function(){this._resizeChart()},setZFollow:function(t){this._zFollow=t},show:function(){x(this._container,"display","block")},_addData:function(t){var e=this;if(t){var i=t.geometry;if(i)switch(i.type){case"LineString":this._addGeoJSONData(i.coordinates);break;case"MultiLineString":T(i.coordinates,(function(t){return e._addGeoJSONData(t)}));break;default:console.warn("Unsopperted GeoJSON feature geometry type:"+i.type)}"FeatureCollection"===t.type&&T(t.features,(function(t){return e._addData(t)})),t._latlngs&&this._addGPXData(t._latlngs)}},_addGeoJSONData:function(t){var e=this;T(t,(function(t){e._addPoint(t[1],t[0],t[2]),e._fireEvt("elepoint_added",{point:t,index:e._data.length-1})})),this._fireEvt("eletrack_added",{coords:t,index:this._data.length-1})},_addGPXData:function(t){var e=this;T(t,(function(t){e._addPoint(t.lat,t.lng,void 0!==t.alt?t.alt:t.meta.ele),e._fireEvt("elepoint_added",{point:t,index:e._data.length-1})})),this._fireEvt("eletrack_added",{coords:t,index:this._data.length-1})},_addPoint:function(t,e,i){if(this.options.reverseCoords){var a=[e,t];t=a[0],e=a[1]}this._data.push({x:t,y:e,z:i,latlng:L.latLng(t,e,i)}),this._fireEvt("eledata_updated",{index:this._data.length-1})},_addLayer:function(t){t&&this._layers.addLayer(t)},_addMarker:function(t){t&&this._markers.addLayer(t)},_initElevationDiv:function(){var t=A(this.options.elevationDiv);return t||(this.options.elevationDiv="#elevation-div_"+F(),t=w("div","leaflet-control elevation elevation-div",{id:this.options.elevationDiv.substr(1)})),this.options.detached&&y(t,"leaflet-control","elevation-detached"),this.eleDiv=t,this.eleDiv},_collapse:function(){y(this._container,"elevation-expanded","elevation-collapsed")},_expand:function(){y(this._container,"elevation-collapsed","elevation-expanded")},_findItemForLatLng:function(t){return this._data[this._chart._findIndexForLatLng(t)]},_findItemForX:function(t){return this._data[this._chart._findIndexForXCoord(t)]},_fireEvt:function(t,e,i){this.fire&&this.fire(t,e,i),this._map&&this._map.fire(t,e,i)},_height:function(){if(this._chart)return this._chart._height();var t=this.options;return t.height-t.margins.top-t.margins.bottom},_hideMarker:function(){this.options.autohideMarker&&this._marker.remove()},_initChart:function(t){var e=this.options;if(e.xTicks=this._xTicks(),e.yTicks=this._yTicks(),e.responsive)if(e.detached){var i=this.eleDiv,a=i.offsetWidth,n=i.offsetHeight;a>0&&(e.width=a),n>20&&(e.height=n-20)}else{var o=this._map.getContainer().clientWidth;e._maxWidth=e._maxWidth>e.width?e._maxWidth:e.width,this._container.style.maxWidth=e._maxWidth+"px",e._maxWidth>o&&(e.width=o-30)}var r=this._chart=new Q(e,this);this._x=this._chart._x,this._y=this._chart._y,d3.select(t).call(r.render()),r.on("reset_drag",this._hideMarker,this).on("mouse_enter",this._fireEvt.bind("elechart_enter"),this).on("dragged",this._dragendHandler,this).on("mouse_move",this._mousemoveHandler,this).on("mouse_out",this._mouseoutHandler,this).on("ruler_filter",this._rulerFilterHandler,this).on("zoom",this._updateChart,this).on("elepath_toggle",this._toggleChartHandler,this).on("margins_updated",this._resizeChart,this),this._fireEvt("elechart_axis"),this.options.legend&&this._fireEvt("elechart_legend"),this._fireEvt("elechart_init")},_initLayer:function(){var t=this;this._layers.on("layeradd layerremove",(function(e){var i=e.layer;v(i.getElement&&i.getElement(),t.options.polyline.className+" "+t.options.theme,"layeradd"==e.type),k(i,"mousemove",t._mousemoveLayerHandler.bind(t),"layeradd"==e.type),k(i,"mouseout",t._mouseoutHandler.bind(t),"layeradd"==e.type)}))},_initMarker:function(t){var e=t.getPane("elevationPane");e||((e=this._pane=t.createPane("elevationPane",t.getPane("norotatePane")||t.getPane("mapPane"))).style.zIndex=625,e.style.pointerEvents="none"),this._renderer&&this._renderer.remove(),this._renderer=L.svg({pane:"elevationPane"}).addTo(this._map),this._marker=new $(this.options),this._fireEvt("elechart_marker")},_initButton:function(t){if(t.setAttribute("aria-haspopup",!0),this.options.detached||L.DomEvent.disableClickPropagation(t),L.Browser.mobile&&S(t,"click",L.DomEvent.stopPropagation),S(t,"mousewheel",this._mousewheelHandler,this),!this.options.detached){var e=this._button=w("a","elevation-toggle elevation-toggle-icon"+(this.options.autohide?"":" close-button"),{href:"#",title:L._("Elevation")},t);this.options.collapsed&&(this._collapse(),this.options.autohide?(S(t,"mouseover",this._expand,this),S(t,"mouseout",this._collapse,this)):(S(e,"click",L.DomEvent.stop),S(e,"click",this._toggle,this)),S(e,"focus",this._toggle,this),this._map.on("click",this._collapse,this))}},_initSummary:function(t){var e=this._summary=new tt({summary:this.options.summary},this);d3.select(t).call(e.render()),this.summaryDiv=this._summary._container},_dragendHandler:function(t){this._hideMarker(),this.fitBounds(L.latLngBounds([t.dragstart.latlng,t.dragend.latlng])),this._fireEvt("elechart_dragged")},_mousemoveHandler:function(t){if(this._data.length&&this._chartEnabled){var e=this._findItemForX(t.xCoord);if(e){var i=t.xCoord;this._chartEnabled&&this._chart._showDiagramIndicator(e,i),this._updateMarker(e),this._setMapView(e),this._map&&f(this._map.getContainer(),"elechart-hover"),this._fireEvt("elechart_change",{data:e,xCoord:i}),this._fireEvt("elechart_hover",{data:e,xCoord:i})}}},_mousemoveLayerHandler:function(t){if(this._data.length){var e=this._findItemForLatLng(t.latlng);if(e){var i=e.xDiagCoord;this._chartEnabled&&this._chart._showDiagramIndicator(e,i),this._updateMarker(e),this._fireEvt("elechart_change",{data:e,xCoord:i})}}},_mouseoutHandler:function(){this.options.detached||(this._hideMarker(),this._chart._hideDiagramIndicator()),this._map&&g(this._map.getContainer(),"elechart-hover"),this._fireEvt("elechart_leave")},_mousewheelHandler:function(t){if(!this._map.gestureHandling||!this._map.gestureHandling._enabled){var e=this._marker.getLatLng()||this._map.getCenter(),i=this._map.getZoom()+Math.sign(t.deltaY);this._resetDrag(),this._map.flyTo(e,i)}},_registerCheckPoint:function(t){var e=this;this.on("elechart_updated",(function(){return e._chart._registerCheckPoint(t)}))},_registerAreaPath:function(t){var e=this;this.on("elechart_init",(function(){return e._chart._registerAreaPath(t)}))},_registerAxisGrid:function(t){var e=this;this.on("elechart_axis",(function(){return e._chart._registerAxisGrid(t)}))},_registerAxisScale:function(t){var e=this;this.on("elechart_axis",(function(){return e._chart._registerAxisScale(t)}))},_registerFocusLabel:function(t){var e=this;if(t.chart){var i=L.extend({},t,{value:t.chart});this.on("elechart_init",(function(){return e._chart._registerFocusLabel(i)}))}if(t.marker){var a=L.extend({},t,{value:t.marker});this.on("elechart_marker",(function(){return e._marker._registerFocusLabel(a)}))}},_registerSummary:function(t){var e=this;this.on("elechart_summary",(function(){return e._summary._registerSummary(t)}))},_resetDrag:function(){this._chart._resetDrag(),this._hideMarker()},_resetView:function(){this._map&&this._map._isFullscreen||(this._resetDrag(),this._hideMarker(),this.options.autofitBounds&&this.fitBounds())},_resizeChart:function(){if("none"!=x(this._container,"display")){var t=this.options;if(t.responsive){var e;if(t.detached)e=(this.eleDiv||this._container).offsetWidth;else{var i=this._map.getContainer().clientWidth;e=t._maxWidth>i?i-30:t._maxWidth}if(e){var a=this._chart;t.width=e,a&&a._chart&&(a._chart._resize(t),t.xTicks=this._xTicks(),t.yTicks=this._yTicks(),this._updateChart())}}this._updateMapSegments()}},_rulerFilterHandler:function(t){this._updateMapSegments(t.coords)},_toggle:function(){E(this._container,"elevation-expanded")?this._collapse():this._expand()},_setMapView:function(t){if(this.options.followMarker&&this._map){var e=this._map.getZoom();"number"==typeof this._zFollow?(e<this._zFollow&&(e=this._zFollow),this._map.setView(t.latlng,e,{animate:!0,duration:.25})):this._map.getBounds().contains(t.latlng)||this._map.setView(t.latlng,e,{animate:!0,duration:.25})}},_toggleChartHandler:function(t){var e=this,i=(t.path,t.name),a=t.enabled;this._chartEnabled=this._chart._hasActiveLayers(),this._layers.eachLayer((function(t){v(t.getElement&&t.getElement(),e.options.polyline.className+" "+e.options.theme,e._chartEnabled)})),this.options[i]=a||"disabled"!=this.options[i]?"disabled":"enabled",this._chartEnabled||(this._chart._hideDiagramIndicator(),this._marker.remove())},_updateChart:function(){this._container&&(this._fireEvt("elechart_axis"),this._fireEvt("elechart_area"),this._chart.update({data:this._data,options:this.options}),this._x=this._chart._x,this._y=this._chart._y,this._fireEvt("elechart_updated"))},_updateMarker:function(t){this._marker&&this._marker.update({map:this._map,item:t,maxElevation:this.track_info.elevation_max||0,options:this.options})},_rotateMarker:function(){this._marker&&this._marker.update()},_updateMapSegments:function(t){this._markedSegments.setLatLngs(t||[]),t&&this._map&&!this._map.hasLayer(this._markedSegments)&&this._markedSegments.addTo(this._map)},_updateSummary:function(){var t=this;this._summary.reset(),this.options.summary&&this._fireEvt("elechart_summary"),this.options.downloadLink&&this._downloadURL&&(this.summaryDiv.innerHTML+='<span class="download"><a href="#">'+L._("Download")+"</a></span>",A(".download a",this.summaryDiv).onclick=function(e){e.preventDefault(),t._fireEvt("eletrack_download",{downloadLink:t.options.downloadLink,confirm:p.bind(t,t._downloadURL)})})},_width:function(){if(this._chart)return this._chart._width();var t=this.options;return t.width-t.margins.left-t.margins.right},_xTicks:function(){return this.__xTicks&&(this.__xTicks=this.options.xTicks),this.__xTicks||Math.round(this._width()/75)},_yTicks:function(){return this.__yTicks&&(this.__yTicks=this.options.yTicks),this.__yTicks||Math.round(this._height()/30)}});it.addInitHook((function(){this.on("waypoint_added",(function(t){var e=t.point,i=e._popup;i&&(i.options.className="elevation-popup"),i&&i._content&&(i._content=decodeURI(i._content),e.bindTooltip(i._content,{direction:"auto",sticky:!0,opacity:1,className:"elevation-tooltip"}).openTooltip())})),this.on("eletrack_download",(function(t){"modal"==t.downloadLink&&"function"==typeof CustomEvent?document.dispatchEvent(new CustomEvent("eletrack_download",{detail:t})):"link"!=t.downloadLink&&!0!==t.downloadLink||t.confirm()})),this.on("eledata_loaded",(function(t){var e=this,i=this._map,a=t.layer;i?(i.once("layeradd",(function(t){return e.options.autofitBounds&&e.fitBounds(a.getBounds())})),L.Browser.mobile?this.options.polyline&&a.addTo(i):it._geomutilLazyLoader=_(this.__LGEOMUTIL,"function"!=typeof L.GeometryUtil||!this.options.lazyLoadJS,it._geomutilLazyLoader).then((function(){e.options.almostOver&&(it._almostoverLazyLoader=_(e.__LALMOSTOVER,"function"!=typeof L.Handler.AlmostOver||!e.options.lazyLoadJS,it._almostoverLazyLoader).then((function(){i.addHandler("almostOver",L.Handler.AlmostOver),L.GeometryUtil&&i.almostOver&&i.almostOver.enabled()&&(i.almostOver.addLayer(a),i.on("almost:move",(function(t){return e._mousemoveLayerHandler(t)})).on("almost:out",(function(t){return e._mouseoutHandler(t)})))}))),e.options.distanceMarkers?it._distanceMarkersLazyLoader=_(e.__LDISTANCEM,"function"!=typeof L.DistanceMarkers||!e.options.lazyLoadJS,it._distanceMarkersLazyLoader).then((function(){return e.options.polyline&&a.addTo(i)})):e.options.polyline&&a.addTo(i)}))):console.warn("Undefined elevation map object")}));var t=L.Canvas.prototype._fillStroke,e=this;L.Canvas.include({_fillStroke:function(i,a){if(e._layers.hasLayer(a)){var n=e.options.theme.replace("-theme",""),o=O[n]||{},r=a.options;if(r.color=o.line||o.area||n,r.stroke=!!r.color,t.call(this,i,a),r.stroke&&0!==r.weight){var s=i.globalCompositeOperation||"source-over";i.globalCompositeOperation="destination-over",i.strokeStyle="#FFF",i.lineWidth=1.75*r.weight,i.stroke(),i.globalCompositeOperation=s}}else t.call(this,i,a)}}),this.on("elechart_init",(function(){this.once("elechart_change elechart_hover",(function(t){this._chartEnabled&&(this._chart._showDiagramIndicator(t.data,t.xCoord),this._chart._showDiagramIndicator(t.data,t.xCoord)),this._updateMarker(t.data)}))}))})),it.addInitHook((function(){var t=this,e=this.options,i={};this.options.imperial?(this._distanceFactor=this.__mileFactor,this._xLabel="mi"):(this._distanceFactor=e.distanceFactor,this._xLabel=e.xLabel),this.on("eledata_updated",(function(t){var e=this._data,i=t.index,a=this.track_info,n=a.distance||0,o=e[i].latlng,r=i>0?e[i-1].latlng:o,s=o.distanceTo(r)*this._distanceFactor;n+=Math.round(s/1e3*1e5)/1e5,e[i].dist=n,a.distance=n})),this.on("elechart_axis",(function(){this._chart._registerAxisGrid({axis:"x",position:"bottom",scale:this._chart._x})})),"summary"!=this.options.distance&&this.on("elechart_axis",(function(){var t=this;i.x=this._chart._x,i.label=this._chart._xLabel,this._chart._registerAxisScale({axis:"x",position:"bottom",scale:i.x,label:i.label,labelY:25,labelX:function(){return t._width()+6},name:"distance"})})),this._registerSummary({totlen:{label:"Total Length: ",value:function(e){return(e.distance||0).toFixed(2)+" "+t._xLabel}}})})),it.addInitHook((function(){var t=this,e=this.options,i={};e.imperial?(this._heightFactor=this.__footFactor,this._yLabel="ft"):(this._heightFactor=e.heightFactor,this._yLabel=e.yLabel),this.on("eledata_updated",(function(t){var e=this._data,i=t.index,a=e[i].z*this._heightFactor,n=this.track_info,o=n.elevation_max||-1/0,r=n.elevation_min||1/0;if(!this.options.skipNullZCoords&&i>0){var s=e[i-1].z;if(isNaN(s)){var l=this._lastValidZ,h=a;if(isNaN(l)||isNaN(h)?isNaN(l)?isNaN(h)||(s=h):s=l:s=(l+h)/2,!isNaN(s))return e.splice(i-1,1);e[i-1].z=s}}isNaN(a)||(o=o<a?a:o,r=r>a?a:r,this._lastValidZ=a),e[i].z=a,n.elevation_max=o,n.elevation_min=r})),this.on("elechart_axis",(function(){this._chart._registerAxisGrid({axis:"y",position:"left",scale:this._chart._y})})),"summary"!=this.options.altitude&&(this.on("elechart_axis",(function(){i.y=this._chart._y,i.label=this._yLabel,this._chart._registerAxisScale({axis:"y",position:"left",scale:i.y,label:i.label,labelX:-3,labelY:-8,name:"altitude"})})),this.on("elechart_init",(function(){var t=this.options.theme.replace("-theme",""),e=O[t]||{},i=this.options.detached?e.alpha||"0.8":1,a=!!this.options.detached&&e.stroke;this._chart._registerAreaPath({name:"altitude",label:"Altitude",scaleX:"distance",scaleY:"altitude",color:e.area||t,strokeColor:a||"#000",strokeOpacity:"1",fillOpacity:i,preferCanvas:this.options.preferCanvas})}))),this._registerSummary({maxele:{label:"Max Elevation: ",value:function(e){return(e.elevation_max||0).toFixed(2)+" "+t._yLabel}},minele:{label:"Min Elevation: ",value:function(e){return(e.elevation_min||0).toFixed(2)+" "+t._yLabel}}})})),it.addInitHook((function(){var t=this,e=this.options,i={};i.label=e.timeLabel||"t",this._timeFactor=e.timeFactor,this._timeAVGSpeed=(e.timeAVGSpeed||3.6)*(e.speedFactor||1),e.timeFormat?"time"==e.timeFormat?e.timeFormat=function(t){return new Date(t).toLocaleTimeString()}:"date"==e.timeFormat&&(e.timeFormat=function(t){return new Date(t).toLocaleDateString()}):e.timeFormat=function(t){return new Date(t).toLocaleString().replaceAll("/","-").replaceAll(","," ")},e.xTimeFormat=e.xTimeFormat||function(t){return s(t).split("'")[0]},e.time&&"summary"!=e.time&&!L.Browser.mobile&&this._registerAxisScale({axis:"x",position:"top",scale:{attr:"duration",min:0},label:i.label,labelY:-10,labelX:function(){return t._width()},name:"time",tickFormat:function(t){return 0==t?"":e.xTimeFormat(t)},onAxisMount:function(e){e.select(".domain").remove(),e.selectAll("text").attr("opacity",.65).style("font-family","Monospace").style("font-size","110%"),e.selectAll(".tick line").attr("y2",t._height()).attr("stroke-dasharray",2).attr("opacity",.75)}}),this.on("elepoint_added",(function(t){var e=this._data,i=t.index;if(!t.point.meta||!t.point.meta.time){t.point.meta=t.point.meta||{};var a=e[i].dist-e[i>0?i-1:i].dist,n=this._timeAVGSpeed;t.point.meta.time=new Date(i>0?e[i-1].time.getTime()+a/n*this._timeFactor*1e3:Date.now())}var o=t.point.meta.time;o.getTime()-60*o.getTimezoneOffset()*1e3==0&&(o=0);var r=o,s=i>0?e[i-1].time:r,l=Math.abs(r-s),h=(this.track_info.time||0)+l;e[i].time=o,e[i].duration=h,this.track_info.time=h})),this.options.time&&(this._registerFocusLabel({name:"time",chart:function(e){return t.options.timeFormat(e.time)}}),this._registerSummary({tottime:{label:"Total Time: ",value:function(t){return s(t.time||0)}}}))})),it.addInitHook((function(){var t=this;if(this.options.slope){var e=this.options,i={};i.label=e.slopeLabel||"%","summary"!=this.options.slope&&(this._registerAxisScale({axis:"y",position:"right",scale:{min:-1,max:1},tickPadding:16,label:i.label,labelX:25,labelY:-8,name:"slope"}),this._registerAreaPath({name:"slope",label:"Slope",yAttr:"slope",scaleX:"distance",scaleY:"slope",color:"#F00",strokeColor:"#000",strokeOpacity:"0.5",fillOpacity:"0.25"})),this.on("eledata_updated",(function(t){var e=this._data,i=t.index,a=e[i].z,n=1e3*(e[i].dist-e[i>0?i-1:i].dist),o=this.track_info,r=o.ascent||0,s=o.descent||0,l=o.slope_max||0,h=o.slope_min||0,c=0;if(!isNaN(a)){var d=i>0?a-e[i-1].z:0;d>0?r+=d:d<0&&(s-=d),0!==n&&(c=d/n*100)}if(this.options.sDeltaMax){var u=i>0?c-e[i-1].slope:0,_=this.options.sDeltaMax;Math.abs(u)>_&&(c=e[i-1].slope+_*Math.sign(u))}if(this.options.sRange){var p=this.options.sRange;c<p[0]?c=p[0]:c>p[1]&&(c=p[1])}(c=L.Util.formatNum(c,2))>l&&(l=c),c<h&&(h=c),e[i].slope=c,o.ascent=r,o.descent=s,o.slope_max=l,o.slope_min=h})),this._registerFocusLabel({name:"slope",chart:function(t){return t.slope+i.label},marker:function(t){return Math.round(t.slope)+i.label}}),this._registerSummary({ascent:{label:"Total Ascent: ",value:function(e){return Math.round(e.ascent||0)+" "+t._yLabel}},descent:{label:"Total Descent: ",value:function(e){return Math.round(e.descent||0)+" "+t._yLabel}},minslope:{label:"Min Slope: ",value:function(t){return Math.round(t.slope_min||0)+" "+i.label}},maxslope:{label:"Max Slope: ",value:function(t){return Math.round(t.slope_max||0)+" "+i.label}}})}})),it.addInitHook((function(){if(this.options.speed||this.options.acceleration){var t=this.options,e={};e.label=t.speedLabel||L._(this.options.imperial?"mph":"km/h"),this._speedFactor=t.speedFactor||1,this.options.speed&&"summary"!=this.options.speed&&(this._registerAxisScale({axis:"y",position:"right",scale:{min:0,max:1},tickPadding:16,label:e.label,labelX:25,labelY:-8,name:"speed"}),this._registerAreaPath({name:"speed",label:"Speed",yAttr:"speed",scaleX:"distance",scaleY:"speed",color:"#03ffff",strokeColor:"#000",strokeOpacity:"0.5",fillOpacity:"0.25"})),this.on("elepoint_added",(function(t){var e=this._data,i=t.index,a=e[i].time,n=a-(i>0?e[i-1].time:a),o=this.track_info,r=o.speed_max||-1/0,s=o.speed_min||1/0,l=o.speed_avg||0,h=0;if(n>0){var c=1e3*(e[i].dist-e[i>0?i-1:i].dist);h=Math.abs(c/n*this._timeFactor)*this._speedFactor}if(this.options.speedDeltaMax){var d=i>0?h-e[i-1].speed:0,u=this.options.speedDeltaMax;Math.abs(d)>u&&(h=e[i-1].speed+u*Math.sign(d))}if(this.options.speedRange){var _=this.options.speedRange;h<_[0]?h=_[0]:h>_[1]&&(h=_[1])}r=(h=L.Util.formatNum(h,2))>r?h:r,s=h<s?h:s,l=(h+l)/2,e[i].speed=h,o.speed_max=r,o.speed_min=s,o.speed_avg=l})),this.options.speed&&(this._registerFocusLabel({name:"speed",chart:function(t){return t.speed+" "+e.label},marker:function(t){return Math.round(t.speed)+" "+e.label}}),this._registerSummary({minspeed:{label:"Min Speed: ",value:function(t){return Math.round(t.speed_min||0)+" "+e.label}},maxspeed:{label:"Max Speed: ",value:function(t){return Math.round(t.speed_max||0)+" "+e.label}},avgspeed:{label:"Avg Speed: ",value:function(t){return Math.round(t.speed_avg||0)+" "+e.label}}}))}})),it.addInitHook((function(){if(this.options.acceleration){var t=this.options,e={};e.label=t.accelerationLabel||L._(this.options.imperial?"ft/s²":"m/s²"),this._accelerationFactor=t.accelerationFactor||1,"summary"!=this.options.acceleration&&(this._registerAxisScale({axis:"y",position:"right",scale:{min:0,max:1},tickPadding:16,label:e.label,labelX:25,labelY:-8,name:"acceleration"}),this._registerAreaPath({name:"acceleration",label:"Acceleration",yAttr:"acceleration",scaleX:"distance",scaleY:"acceleration",color:"#050402",strokeColor:"#000",strokeOpacity:"0.5",fillOpacity:"0.25"})),this.on("elepoint_added",(function(t){var e=this._data,i=t.index,a=e[i].time,n=(a-(i>0?e[i-1].time:a))/1e3,o=this.track_info,r=o.acceleration_max||-1/0,s=o.acceleration_min||1/0,l=o.acceleration_avg||0,h=0;if(n>0){var c=e[i].speed,d=(c-(i>0?e[i-1].speed:c))*(1e3/this._timeFactor);h=Math.abs(d/n)*this._accelerationFactor}if(this.options.accelerationDeltaMax){var u=i>0?h-e[i-1].acceleration:0,_=this.options.accelerationDeltaMax;Math.abs(u)>_&&(h=e[i-1].acceleration+_*Math.sign(u))}if(this.options.accelerationRange){var p=this.options.accelerationRange;h<p[0]?h=p[0]:h>p[1]&&(h=p[1])}(h=L.Util.formatNum(h,2))>r&&(r=h),h<s&&(s=h),l=(h+l)/2,e[i].acceleration=h,o.acceleration_max=r,o.acceleration_min=s,o.acceleration_avg=l})),this._registerFocusLabel({name:"acceleration",chart:function(t){return t.acceleration+" "+e.label},marker:function(t){return Math.round(t.acceleration)+" "+e.label}}),this._registerSummary({minacceleration:{label:"Min Acceleration: ",value:function(t){return Math.round(t.acceleration_min||0)+" "+e.label}},maxacceleration:{label:"Max Acceleration: ",value:function(t){return Math.round(t.acceleration_max||0)+" "+e.label}},avgacceleration:{label:"Avg Acceleration: ",value:function(t){return Math.round(t.acceleration_avg||0)+" "+e.label}}})}})),it.Utils=P,it.Components=K,it.Chart=Q,L.control.elevation=function(t){return new it(t)}}));
|
|
2
2
|
//# sourceMappingURL=leaflet-elevation.min.js.map
|