@graphhopper/graphhopper-maps-bundle 0.0.0-0c925138828eeffeb4b9dbcc8f3a6868da30bbfd → 0.0.0-0d0ce21
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 +9 -5
- package/dist/01f24e0d2b07a8c8b132.png +0 -0
- package/dist/assets/android-chrome-192x192.png +0 -0
- package/dist/assets/android-chrome-36x36.png +0 -0
- package/dist/assets/android-chrome-48x48.png +0 -0
- package/dist/assets/apple-touch-icon-57x57.png +0 -0
- package/dist/assets/apple-touch-icon-60x60.png +0 -0
- package/dist/assets/apple-touch-icon-72x72.png +0 -0
- package/dist/assets/apple-touch-icon-76x76.png +0 -0
- package/dist/assets/favicon-16x16.png +0 -0
- package/dist/assets/favicon-32x32.png +0 -0
- package/dist/assets/favicon-48x48.png +0 -0
- package/dist/assets/mstile-310x310.png +0 -0
- package/dist/assets/mstile-70x70.png +0 -0
- package/dist/bundle.1452b5fda9667252bee8.js +2 -0
- package/dist/bundle.1452b5fda9667252bee8.js.LICENSE.txt +4 -0
- package/dist/bundle.72ac4529817de777d138.js +2 -0
- package/dist/bundle.72ac4529817de777d138.js.LICENSE.txt +49 -0
- package/dist/bundle.f4fc3f4a8f0eb6777d2f.js +1 -0
- package/dist/config.js +1 -1
- package/dist/index.html +8 -2
- package/dist/manifest.json +1 -1
- package/package.json +10 -1
- package/dist/bundle.44e71cedc83a0c2b222f.js +0 -2
- package/dist/bundle.44e71cedc83a0c2b222f.js.LICENSE.txt +0 -166
- package/dist/ceb05254cedfa895b512.ttf +0 -0
- package/dist/eae34fa8f1e0c4c6d797.ttf +0 -0
- package/dist/fc2b5060f7accec5cf74.ttf +0 -0
- package/dist/fc3d2f2e3a203d0037c1.ttf +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see bundle.44e71cedc83a0c2b222f.js.LICENSE.txt */
|
|
2
|
-
(()=>{var e={140:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".CodeMirror-hints {\n position: absolute;\n z-index: 10;\n overflow: hidden;\n list-style: none;\n\n margin: 0;\n padding: 2px;\n\n -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n border-radius: 3px;\n border: 1px solid silver;\n\n background: white;\n font-size: 90%;\n font-family: monospace;\n\n max-height: 20em;\n overflow-y: auto;\n box-sizing: border-box;\n}\n\n.CodeMirror-hint {\n margin: 0;\n padding: 0 4px;\n border-radius: 2px;\n white-space: pre;\n color: black;\n cursor: pointer;\n}\n\nli.CodeMirror-hint-active {\n background: #08f;\n color: white;\n}\n",""]);const a=s},6e3:(e,t,n)=>{"use strict";n.d(t,{A:()=>b});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o),a=n(3615),l=n.n(a),c=new URL(n(1954),n.b),u=new URL(n(4912),n.b),d=new URL(n(5980),n.b),h=new URL(n(3604),n.b),p=new URL(n(5139),n.b),f=s()(r()),_=l()(c),g=l()(u),m=l()(d),y=l()(h),v=l()(p);f.push([e.id,`/* The lint marker gutter */\n.CodeMirror-lint-markers {\n width: 16px;\n}\n\n.CodeMirror-lint-tooltip {\n background-color: #ffd;\n border: 1px solid black;\n border-radius: 4px 4px 4px 4px;\n color: black;\n font-family: monospace;\n font-size: 10pt;\n overflow: hidden;\n padding: 2px 5px;\n position: fixed;\n white-space: pre;\n white-space: pre-wrap;\n z-index: 100;\n max-width: 600px;\n opacity: 0;\n transition: opacity .4s;\n -moz-transition: opacity .4s;\n -webkit-transition: opacity .4s;\n -o-transition: opacity .4s;\n -ms-transition: opacity .4s;\n}\n\n.CodeMirror-lint-mark {\n background-position: left bottom;\n background-repeat: repeat-x;\n}\n\n.CodeMirror-lint-mark-warning {\n background-image: url(${_});\n}\n\n.CodeMirror-lint-mark-error {\n background-image: url(${g});\n}\n\n.CodeMirror-lint-marker {\n background-position: center center;\n background-repeat: no-repeat;\n cursor: pointer;\n display: inline-block;\n height: 16px;\n width: 16px;\n vertical-align: middle;\n position: relative;\n}\n\n.CodeMirror-lint-message {\n padding-left: 18px;\n background-position: top left;\n background-repeat: no-repeat;\n}\n\n.CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning {\n background-image: url(${m});\n}\n\n.CodeMirror-lint-marker-error, .CodeMirror-lint-message-error {\n background-image: url(${y});\n}\n\n.CodeMirror-lint-marker-multiple {\n background-image: url(${v});\n background-repeat: no-repeat;\n background-position: right bottom;\n width: 100%; height: 100%;\n}\n\n.CodeMirror-lint-line-error {\n background-color: rgba(183, 76, 81, 0.08);\n}\n\n.CodeMirror-lint-line-warning {\n background-color: rgba(255, 211, 0, 0.1);\n}\n`,""]);const b=f},4762:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,"/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor .CodeMirror-line::selection,\n.cm-fat-cursor .CodeMirror-line > span::selection, \n.cm-fat-cursor .CodeMirror-line > span > span::selection { background: transparent; }\n.cm-fat-cursor .CodeMirror-line::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span > span::-moz-selection { background: transparent; }\n.cm-fat-cursor { caret-color: transparent; }\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n z-index: 0;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n",""]);const a=s},4096:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,':root,\n:host {\n --ol-background-color: white;\n --ol-accent-background-color: #F5F5F5;\n --ol-subtle-background-color: rgba(128, 128, 128, 0.25);\n --ol-partial-background-color: rgba(255, 255, 255, 0.75);\n --ol-foreground-color: #333333;\n --ol-subtle-foreground-color: #666666;\n --ol-brand-color: #00AAFF;\n}\n\n.ol-box {\n box-sizing: border-box;\n border-radius: 2px;\n border: 1.5px solid var(--ol-background-color);\n background-color: var(--ol-partial-background-color);\n}\n\n.ol-mouse-position {\n top: 8px;\n right: 8px;\n position: absolute;\n}\n\n.ol-scale-line {\n background: var(--ol-partial-background-color);\n border-radius: 4px;\n bottom: 8px;\n left: 8px;\n padding: 2px;\n position: absolute;\n}\n\n.ol-scale-line-inner {\n border: 1px solid var(--ol-subtle-foreground-color);\n border-top: none;\n color: var(--ol-foreground-color);\n font-size: 10px;\n text-align: center;\n margin: 1px;\n will-change: contents, width;\n transition: all 0.25s;\n}\n\n.ol-scale-bar {\n position: absolute;\n bottom: 8px;\n left: 8px;\n}\n\n.ol-scale-bar-inner {\n display: flex;\n}\n\n.ol-scale-step-marker {\n width: 1px;\n height: 15px;\n background-color: var(--ol-foreground-color);\n float: right;\n z-index: 10;\n}\n\n.ol-scale-step-text {\n position: absolute;\n bottom: -5px;\n font-size: 10px;\n z-index: 11;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-text {\n position: absolute;\n font-size: 12px;\n text-align: center;\n bottom: 25px;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-singlebar {\n position: relative;\n height: 10px;\n z-index: 9;\n box-sizing: border-box;\n border: 1px solid var(--ol-foreground-color);\n}\n\n.ol-scale-singlebar-even {\n background-color: var(--ol-subtle-foreground-color);\n}\n\n.ol-scale-singlebar-odd {\n background-color: var(--ol-background-color);\n}\n\n.ol-unsupported {\n display: none;\n}\n\n.ol-viewport,\n.ol-unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.ol-viewport canvas {\n all: unset;\n overflow: hidden;\n}\n\n.ol-viewport {\n touch-action: pan-x pan-y;\n}\n\n.ol-selectable {\n -webkit-touch-callout: default;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text;\n}\n\n.ol-grabbing {\n cursor: -webkit-grabbing;\n cursor: -moz-grabbing;\n cursor: grabbing;\n}\n\n.ol-grab {\n cursor: move;\n cursor: -webkit-grab;\n cursor: -moz-grab;\n cursor: grab;\n}\n\n.ol-control {\n position: absolute;\n background-color: var(--ol-subtle-background-color);\n border-radius: 4px;\n}\n\n.ol-zoom {\n top: .5em;\n left: .5em;\n}\n\n.ol-rotate {\n top: .5em;\n right: .5em;\n transition: opacity .25s linear, visibility 0s linear;\n}\n\n.ol-rotate.ol-hidden {\n opacity: 0;\n visibility: hidden;\n transition: opacity .25s linear, visibility 0s linear .25s;\n}\n\n.ol-zoom-extent {\n top: 4.643em;\n left: .5em;\n}\n\n.ol-full-screen {\n right: .5em;\n top: .5em;\n}\n\n.ol-control button {\n display: block;\n margin: 1px;\n padding: 0;\n color: var(--ol-subtle-foreground-color);\n font-weight: bold;\n text-decoration: none;\n font-size: inherit;\n text-align: center;\n height: 1.375em;\n width: 1.375em;\n line-height: .4em;\n background-color: var(--ol-background-color);\n border: none;\n border-radius: 2px;\n}\n\n.ol-control button::-moz-focus-inner {\n border: none;\n padding: 0;\n}\n\n.ol-zoom-extent button {\n line-height: 1.4em;\n}\n\n.ol-compass {\n display: block;\n font-weight: normal;\n will-change: transform;\n}\n\n.ol-touch .ol-control button {\n font-size: 1.5em;\n}\n\n.ol-touch .ol-zoom-extent {\n top: 5.5em;\n}\n\n.ol-control button:hover,\n.ol-control button:focus {\n text-decoration: none;\n outline: 1px solid var(--ol-subtle-foreground-color);\n color: var(--ol-foreground-color);\n}\n\n.ol-zoom .ol-zoom-in {\n border-radius: 2px 2px 0 0;\n}\n\n.ol-zoom .ol-zoom-out {\n border-radius: 0 0 2px 2px;\n}\n\n.ol-attribution {\n text-align: right;\n bottom: .5em;\n right: .5em;\n max-width: calc(100% - 1.3em);\n display: flex;\n flex-flow: row-reverse;\n align-items: center;\n}\n\n.ol-attribution a {\n color: var(--ol-subtle-foreground-color);\n text-decoration: none;\n}\n\n.ol-attribution ul {\n margin: 0;\n padding: 1px .5em;\n color: var(--ol-foreground-color);\n text-shadow: 0 0 2px var(--ol-background-color);\n font-size: 12px;\n}\n\n.ol-attribution li {\n display: inline;\n list-style: none;\n}\n\n.ol-attribution li:not(:last-child):after {\n content: " ";\n}\n\n.ol-attribution img {\n max-height: 2em;\n max-width: inherit;\n vertical-align: middle;\n}\n\n.ol-attribution button {\n flex-shrink: 0;\n}\n\n.ol-attribution.ol-collapsed ul {\n display: none;\n}\n\n.ol-attribution:not(.ol-collapsed) {\n background: var(--ol-partial-background-color);\n}\n\n.ol-attribution.ol-uncollapsible {\n bottom: 0;\n right: 0;\n border-radius: 4px 0 0;\n}\n\n.ol-attribution.ol-uncollapsible img {\n margin-top: -.2em;\n max-height: 1.6em;\n}\n\n.ol-attribution.ol-uncollapsible button {\n display: none;\n}\n\n.ol-zoomslider {\n top: 4.5em;\n left: .5em;\n height: 200px;\n}\n\n.ol-zoomslider button {\n position: relative;\n height: 10px;\n}\n\n.ol-touch .ol-zoomslider {\n top: 5.5em;\n}\n\n.ol-overviewmap {\n left: 0.5em;\n bottom: 0.5em;\n}\n\n.ol-overviewmap.ol-uncollapsible {\n bottom: 0;\n left: 0;\n border-radius: 0 4px 0 0;\n}\n\n.ol-overviewmap .ol-overviewmap-map,\n.ol-overviewmap button {\n display: block;\n}\n\n.ol-overviewmap .ol-overviewmap-map {\n border: 1px solid var(--ol-subtle-foreground-color);\n height: 150px;\n width: 150px;\n}\n\n.ol-overviewmap:not(.ol-collapsed) button {\n bottom: 0;\n left: 0;\n position: absolute;\n}\n\n.ol-overviewmap.ol-collapsed .ol-overviewmap-map,\n.ol-overviewmap.ol-uncollapsible button {\n display: none;\n}\n\n.ol-overviewmap:not(.ol-collapsed) {\n background: var(--ol-subtle-background-color);\n}\n\n.ol-overviewmap-box {\n border: 1.5px dotted var(--ol-subtle-foreground-color);\n}\n\n.ol-overviewmap .ol-overviewmap-box:hover {\n cursor: move;\n}\n\n.ol-overviewmap .ol-viewport:hover {\n cursor: pointer;\n}\n',""]);const a=s},7028:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o),a=n(3615),l=n.n(a),c=new URL(n(5447),n.b),u=new URL(n(8031),n.b),d=s()(r()),h=l()(c),p=l()(u);d.push([e.id,`.heightgraph-container {\n background-color: rgba(250, 250, 250, 0.8);\n border-radius: 10px;\n display: none;\n cursor: default;\n user-select: none;\n}\n\n.heightgraph-toggle {\n cursor: pointer;\n box-shadow: 0 1px 7px rgba(0, 0, 0, 0.4);\n border-radius: 5px;\n width: 28px;\n height: 28px;\n background: #f8f8f9;\n display: block;\n}\n\n.heightgraph-toggle-icon {\n background: url(${h}) no-repeat center center;\n background-size: 14px 14px;\n width: 26px;\n height: 26px;\n position: absolute;\n}\n\n.heightgraph-close-icon {\n background: url(${p}) no-repeat center center;\n background-size: 14px 14px;\n width: 26px;\n height: 26px;\n position: absolute;\n right: 0;\n display: none;\n cursor: pointer;\n}\n\n.border-top {\n fill: none;\n}\n\n.legend-text {\n fill: #000;\n font-size: 10px;\n cursor: pointer;\n}\n\n.tick,\n.tick text {\n fill: #000;\n pointer-events: none;\n}\n\n.axis .tick line {\n visibility: hidden;\n pointer-events: none;\n}\n\n.axis path {\n stroke: black;\n fill: none;\n stroke-width: 2px;\n shape-rendering: crispEdges;\n pointer-events: none;\n}\n\n.focusbox {\n display: none;\n font-size: 10px;\n fill: #000;\n pointer-events: none;\n}\n\n.focusbox rect {\n fill: rgba(255, 255, 255, 0.8);\n stroke-width: 1px;\n stroke: #888;\n pointer-events: none;\n}\n\n.focusbox text {\n font-size: 12px;\n}\n\n.focusLine line {\n stroke-width: 1px;\n stroke: rgb(20, 20, 20);\n display: none;\n cursor: default;\n shape-rendering: crispEdges;\n}\n\n.height-focus.label rect {\n fill: rgba(255, 255, 255, 0.5);\n stroke-width: 1px;\n stroke: #888;\n pointer-events: none;\n shape-rendering: crispEdges;\n}\n\n.height-focus.line {\n stroke: rgb(20, 20, 20);\n stroke-width: 1px;\n shape-rendering: crispEdges;\n}\n\n.height-focus.circle {\n stroke: #fff;\n stroke-width: 1px;\n}\n\n.mouse-height-box-text {\n font-size: 12px;\n}\n\n.grid .tick {\n pointer-events: none;\n}\n\n.grid .tick line {\n stroke: #eee;\n stroke-width: 1px;\n shape-rendering: crispEdges;\n}\n\n.grid path {\n stroke-width: 0;\n pointer-events: none;\n}\n\n.tspan {\n font-weight: bold;\n}\n\n.select-symbol {\n cursor: pointer;\n}\n\n.select-info {\n cursor: default;\n}\n\n.lineSelection {\n cursor: move;\n}\n\n.heightgraph-show {\n display: block !important;\n}\n\n#heightgraph-legend {\n position: absolute;\n\n cursor: pointer;\n right: 15px;\n bottom: 10px;\n font-size: 14px;\n}\n\n#heightgraph-legend-text {\n float: right;\n}\n\n#heightgraph-legend-icon {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin-right: 5px;\n}\n\n#heightgraph-legend ul {\n position: relative;\n right: -7px;\n min-width: 30px;\n display: none;\n\n margin: 0 5px 7px 5px;\n padding: 0 15px 5px 5px; /* Add padding to the right to avoid that the scrollbar hides content */\n list-style: none;\n background-color: white;\n border: 1px solid #ccc;\n border-radius: 4px;\n\n max-height: 120px;\n overflow-y: auto;\n}\n\n#heightgraph-selector {\n position: absolute;\n bottom: 0;\n width: 200px;\n}\n\n#arrow-icon-for-input {\n font-size: 16px;\n\n position: absolute;\n right: 11px;\n bottom: 9px;\n pointer-events: none; /* let clicks through to input */\n}\n\n#heightgraph-selector input {\n font-size: 14px;\n\n width: 180px;\n background-color: transparent;\n cursor: pointer;\n\n margin: 0 5px 5px 5px;\n padding: 3px 5px;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n\n#heightgraph-selector ul {\n font-size: 14px;\n display: none;\n top: -100%;\n\n margin: 0 5px;\n padding: 0 5px;\n list-style: none;\n background-color: white;\n border: 1px solid #ccc;\n border-radius: 4px;\n\n max-height: 120px;\n overflow-y: auto;\n}\n\n#heightgraph-selector ul li {\n padding: 5px 0;\n cursor: pointer;\n}\n\n#heightgraph-selector ul li:hover {\n background-color: #f5f5f5;\n}\n`,""]);const f=d},9663:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".cm-s-default .cm-string {\n color: #067d17;\n}\n\n.cm-s-default .cm-property {\n color: #871094;\n}\n\n.cm-s-default .cm-number {\n color: #1750eb;\n}\n\n.cm-s-default .cm-atom {\n color: #0033b3;\n}\n",""]);const a=s},5464:(e,t,n)=>{"use strict";n.d(t,{A:()=>y});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o),a=n(3615),l=n.n(a),c=new URL(n(8264),n.b),u=new URL(n(9678),n.b),d=new URL(n(3414),n.b),h=new URL(n(4115),n.b),p=s()(r()),f=l()(c),_=l()(u),g=l()(d),m=l()(h);p.push([e.id,`.src-App-module__appWrapper {\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n display: grid;\n grid-template-columns: 26rem 1fr auto;\n grid-template-rows: 100%;\n justify-content: space-between;\n overflow: auto;\n -webkit-user-select: none;\n user-select: none; /* firefox does not ignore -webkit-user-select so make this explicit, see #217 */\n}\n\n.src-App-module__map {\n grid-column: 1 / span 3;\n grid-row: 1 / span 1;\n}\n\n.src-App-module__sidebar {\n grid-column: 1 / span 1;\n grid-row: 1 / span 1;\n background-color: transparent;\n pointer-events: none;\n z-index: 1;\n align-self: stretch;\n}\n\n.src-App-module__popupContainer {\n grid-column: 1 / span 1;\n grid-row: 1 / span 1;\n background-color: transparent;\n pointer-events: none;\n z-index: 2;\n align-self: stretch;\n\n margin: 0 0.5rem 0 0.5rem;\n overflow: hidden;\n position: relative;\n}\n\n.src-App-module__sidebarContent {\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: 0.5rem;\n background-color: white;\n max-height: calc(100% - 2rem);\n margin: 0.5rem;\n\n box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);\n pointer-events: all;\n overflow: auto;\n}\n\n.src-App-module__onMapRightSide {\n position: relative;\n grid-column: 3 / span 1;\n grid-row: 1 / span 1;\n z-index: 1;\n\n padding: 0.5rem;\n}\n\n.src-App-module__onMapRightSide > div {\n cursor: pointer !important;\n}\n\n.src-App-module__onMapRightSide > div {\n background-color: white;\n border-radius: 0.5rem;\n box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);\n}\n\n.src-App-module__pathDetails {\n grid-column: 2 / span 2;\n grid-row: 1 / span 1;\n z-index: 1;\n align-self: end;\n overflow: hidden; /* This is important to make the heightgraph shrink */\n margin: 0;\n pointer-events: none;\n}\n\n.src-App-module__smallScreenMap {\n grid-row: 1 / span 3;\n grid-column: 1 / span 1;\n}\n\n.src-App-module__smallScreenSidebar {\n grid-row: 1 / span 1;\n grid-column: 1 / span 1;\n margin: 0;\n border-radius: 0;\n z-index: 3;\n}\n\n.src-App-module__smallScreenMapOptions {\n grid-row: 2 / span 1;\n grid-column: 1 / span 1;\n justify-self: end;\n}\n\n.src-App-module__onMapRightSide > div {\n background-color: white;\n border-radius: 0.5rem;\n box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);\n}\n\n.src-App-module__smallScreenRoutingResult {\n grid-row: 4 / span 1;\n grid-column: 1 / span 1;\n margin: 0;\n z-index: 2;\n background-color: white;\n}\n\n.src-App-module__smallScreenPoweredBy {\n grid-row: 5 / span 1;\n grid-column: 1 / span 1;\n margin: 0;\n border-radius: 0;\n z-index: 2;\n}\n\n@media (max-width: 44rem) {\n .src-App-module__appWrapper {\n grid-template-columns: 100%;\n grid-template-rows: auto 0 1fr auto auto;\n }\n}\n\n/* mapilion */\n@font-face {\n font-family: 'Open Sans';\n src: url(${f}) format('truetype');\n}\n\n/* maptiler */\n@font-face {\n font-family: 'Noto Sans';\n src: url(${_}) format('truetype');\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url(${g}) format('truetype');\n}\n\n@font-face {\n font-family: 'Roboto Condensed';\n src: url(${m}) format('truetype');\n}\n\n.src-App-module__sidebarCloseButton {\n position: absolute;\n\n color: lightgray !important; /* unsure why !important is necessary here but not in ErrorMessage.module.css for same <Cross/> */\n\n height: 10px;\n width: 10px;\n\n right: 7px;\n top: 6px;\n}\n\n.src-App-module__sidebarCloseButton:hover {\n color: black !important;\n}\n\n.src-App-module__sidebarWhenClosed {\n z-index: 1;\n position: absolute;\n background-color: white;\n border-radius: 0.5rem;\n box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);\n padding: 0.25em;\n margin: 0.5em;\n}\n\n.src-App-module__sidebarOpenButton svg {\n fill: gray;\n\n width: 30px;\n height: 24px;\n}\n\n.src-App-module__sidebarOpenButton:hover svg {\n fill: black;\n}\n`,""]),p.locals={appWrapper:"src-App-module__appWrapper",map:"src-App-module__map",sidebar:"src-App-module__sidebar",popupContainer:"src-App-module__popupContainer",sidebarContent:"src-App-module__sidebarContent",onMapRightSide:"src-App-module__onMapRightSide",pathDetails:"src-App-module__pathDetails",smallScreenMap:"src-App-module__smallScreenMap",smallScreenSidebar:"src-App-module__smallScreenSidebar",smallScreenMapOptions:"src-App-module__smallScreenMapOptions",smallScreenRoutingResult:"src-App-module__smallScreenRoutingResult",smallScreenPoweredBy:"src-App-module__smallScreenPoweredBy",sidebarCloseButton:"src-App-module__sidebarCloseButton",sidebarWhenClosed:"src-App-module__sidebarWhenClosed",sidebarOpenButton:"src-App-module__sidebarOpenButton"};const y=p},5735:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-PlainButton-module__button {\n outline-color: #368fe8; /* doesn't work for firefox? force blue for chrome too */\n border: none;\n padding: 0;\n margin: 0;\n background-color: inherit;\n color: #5b616a;\n font-size: 1rem;\n}\n\n.src-PlainButton-module__button:hover {\n cursor: pointer;\n color: #2a2b31;\n}\n\n.src-PlainButton-module__button:active {\n color: lightgray;\n}\n",""]),s.locals={button:"src-PlainButton-module__button"};const a=s},8766:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-layers-ContextMenu-module__contextMenu {\n background-color: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n padding: 0.5em 0;\n border-radius: 3px 3px 3px 3px;\n}\n",""]),s.locals={contextMenu:"src-layers-ContextMenu-module__contextMenu"};const a=s},9799:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,"/* todo: this was just copy-pasted from https://openlayers.org/en/latest/examples/popup.html.\n the popup looks ugly still, but at the very minimum the background color needs to be set to make it visible.\n the popup design needs an overhaul anyway... https://github.com/graphhopper/graphhopper-maps/issues/136\n */\n.src-layers-DefaultMapPopup-module__popup {\n position: absolute;\n bottom: 12px;\n left: -50px;\n background-color: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n padding: 0 15px 0 15px;\n border-radius: 10px;\n border: 1px solid #cccccc;\n font-size: small;\n width: 110px;\n}\n.src-layers-DefaultMapPopup-module__popup:after,\n.src-layers-DefaultMapPopup-module__popup:before {\n top: 100%;\n border: solid transparent;\n content: ' ';\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.src-layers-DefaultMapPopup-module__popup:after {\n border-top-color: white;\n border-width: 10px;\n left: 48px;\n margin-left: -10px;\n}\n.src-layers-DefaultMapPopup-module__popup:before {\n border-top-color: #cccccc;\n border-width: 11px;\n left: 48px;\n margin-left: -11px;\n}\n",""]),s.locals={popup:"src-layers-DefaultMapPopup-module__popup"};const a=s},7508:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-layers-MapFeaturePopup-module__popup {\n background-color: white;\n font-size: small;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n padding: 5px 10px 5px 10px;\n border-radius: 10px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopup {\n position: relative;\n top: -40px;\n left: 20px;\n max-width: 300px;\n\n background-color: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n box-sizing: border-box;\n padding: 5px 10px 5px 10px;\n border-radius: 10px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopup div:first-child {\n font-weight: bold;\n padding-bottom: 5px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopupButton {\n display: flex;\n flex-direction: row;\n gap: 7px;\n padding-top: 12px;\n padding-bottom: 8px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopupButton svg {\n margin-top: 3px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopup a {\n color: gray;\n text-decoration: none;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopup a:hover {\n color: black;\n text-decoration: underline;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopupTable {\n font-size: small;\n padding: 6px 0;\n}\n\n.src-layers-MapFeaturePopup-module__osmLink {\n padding-bottom: 7px;\n}\n\n.src-layers-MapFeaturePopup-module__osmLink a {\n font-size: small;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopupTable th,\n.src-layers-MapFeaturePopup-module__poiPopupTable td {\n border-bottom: 1px solid #ccc;\n padding: 3px 1px 3px 0;\n text-align: left;\n\n /* strange, why do we need the following? */\n word-break: break-all;\n min-width: 120px;\n}\n",""]),s.locals={popup:"src-layers-MapFeaturePopup-module__popup",poiPopup:"src-layers-MapFeaturePopup-module__poiPopup",poiPopupButton:"src-layers-MapFeaturePopup-module__poiPopupButton",poiPopupTable:"src-layers-MapFeaturePopup-module__poiPopupTable",osmLink:"src-layers-MapFeaturePopup-module__osmLink"};const a=s},4825:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-map-ContextMenuContent-module__wrapper {\n display: flex;\n flex-direction: column;\n max-width: 11em;\n}\n\nbutton.src-map-ContextMenuContent-module__entry div {\n margin-bottom: 2px;\n padding-right: 8px;\n}\n\n.src-map-ContextMenuContent-module__entry {\n display: flex;\n align-items: center;\n\n border: none;\n background: none;\n text-align: left;\n cursor: pointer;\n outline: inherit;\n font-size: 16px;\n padding: 0.15em 0.8em;\n}\n\n.src-map-ContextMenuContent-module__entry:hover {\n background-color: #ececec;\n}\n\n.src-map-ContextMenuContent-module__entry:active {\n background-color: #c6c6c6;\n}\n\n.src-map-ContextMenuContent-module__entry:disabled {\n color: lightgray;\n}\n",""]),s.locals={wrapper:"src-map-ContextMenuContent-module__wrapper",entry:"src-map-ContextMenuContent-module__entry"};const a=s},1211:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-map-LocationButton-module__locationOnOff {\n position: absolute;\n right: 10px;\n top: 62px;\n background-color: red;\n\n padding: 4px;\n width: 34px;\n height: 34px;\n}\n\n.src-map-LocationButton-module__locationOnOff svg {\n color: gray;\n width: 100%;\n height: 100%;\n}\n",""]),s.locals={locationOnOff:"src-map-LocationButton-module__locationOnOff"};const a=s},2596:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-map-Map-module__contextMenu {\n z-index: 3;\n}\n\n.src-map-Map-module__mapContainer {\n height: 100%;\n width: 100%;\n}\n\n.src-map-Map-module__customZoom {\n right: 17px;\n top: 115px;\n}\n\n@media (max-width: 44rem) {\n .src-map-Map-module__customZoom {\n top: unset;\n bottom: 0.5em;\n }\n}\n\n/* changing the position of the attribution is a bit complex as we have to repeat the other css */\n.src-map-Map-module__customAttribution {\n left: 0;\n bottom: 0;\n padding: 1px 5px;\n background-color: rgba(255, 255, 255, 0.8);\n border-radius: 0 4px 0 0;\n}\n\n.src-map-Map-module__customAttribution ul {\n font-size: 12px;\n}\n\n.src-map-Map-module__customAttribution a {\n padding-right: 3px;\n color: rgba(0, 60, 136, 0.7);\n text-decoration: none;\n}\n\n.src-map-Map-module__customAttribution button {\n display: none;\n}\n",""]),s.locals={contextMenu:"src-map-Map-module__contextMenu",mapContainer:"src-map-Map-module__mapContainer",customZoom:"src-map-Map-module__customZoom",customAttribution:"src-map-Map-module__customAttribution"};const a=s},3116:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-map-MapOptions-module__mapOptionsContainer {\n position: absolute;\n z-index: 2;\n top: 10px;\n right: 10px;\n display: flex;\n}\n\n.src-map-MapOptions-module__options {\n width: 220px;\n display: flex;\n flex-direction: column;\n margin: 0.5rem;\n}\n\n.src-map-MapOptions-module__option {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n align-items: center;\n}\n\n.src-map-MapOptions-module__layerButton {\n margin: 5px !important;\n width: 32px;\n height: 32px;\n}\n\n.src-map-MapOptions-module__layerButton svg {\n color: gray;\n height: 100%;\n width: 100%;\n}\n",""]),s.locals={mapOptionsContainer:"src-map-MapOptions-module__mapOptionsContainer",options:"src-map-MapOptions-module__options",option:"src-map-MapOptions-module__option",layerButton:"src-map-MapOptions-module__layerButton"};const a=s},4072:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-pathDetails-PathDetails-module__heightgraphContainer {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n}\n\n.src-pathDetails-PathDetails-module__innerDiv {\n position: relative;\n pointer-events: auto;\n background-color: white;\n border-radius: 0.4rem 0 0 0;\n}\n",""]),s.locals={heightgraphContainer:"src-pathDetails-PathDetails-module__heightgraphContainer",innerDiv:"src-pathDetails-PathDetails-module__innerDiv"};const a=s},3891:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-CustomModelBox-module__customModelBox {\n margin: 0.6em 0;\n padding: 0 0;\n border-top: lightgray solid 1px;\n height: 18rem;\n}\n\n.src-sidebar-CustomModelBox-module__customModelOptionTable {\n display: grid;\n font-size: 14px;\n grid-template-columns: 50px auto 50px;\n grid-template-rows: 1.3rem;\n align-content: center;\n align-items: center;\n margin: 1.5rem 0.5rem 0.5rem 0;\n}\n\n.src-sidebar-CustomModelBox-module__customModelOptionTable svg {\n scale: 0.7;\n}\n\n.src-sidebar-CustomModelBox-module__drawAreas {\n justify-content: end;\n scale: 0.8;\n}\n\n#src-sidebar-CustomModelBox-module__element::-webkit-scrollbar {\n display: none;\n}\n\n.src-sidebar-CustomModelBox-module__customModelBoxBottomBar {\n display: flex;\n border-bottom: lightgray solid 1px;\n}\n\n.src-sidebar-CustomModelBox-module__helpLink {\n text-decoration: none;\n flex-grow: 1;\n}\n\n.src-sidebar-CustomModelBox-module__examples,\n.src-sidebar-CustomModelBox-module__helpLink,\n.src-sidebar-CustomModelBox-module__applyButton button {\n font-size: 14px;\n}\n\n.src-sidebar-CustomModelBox-module__examples {\n border: none;\n border-top: #ececec solid 1px;\n border-right: #ececec solid 1px;\n padding-left: 1em;\n margin-left: 0;\n background-color: white;\n color: rgba(0, 60, 136, 0.7);\n}\n\n.src-sidebar-CustomModelBox-module__examples option {\n background-color: white;\n color: rgba(0, 60, 136, 0.7);\n}\n\n/* show disabled button while route calculation */\n.src-sidebar-CustomModelBox-module__applyButtonProgress button,\n.src-sidebar-CustomModelBox-module__applyButtonInvalid button {\n cursor: default !important;\n color: lightgray !important;\n}\n\n.src-sidebar-CustomModelBox-module__infiniteProgressBar {\n animation: src-sidebar-CustomModelBox-module__progress 4s infinite normal;\n height: 2px;\n margin-top: -2px; /* when visible it should not occupy space */\n background-color: rgb(65, 121, 0);\n}\n\n@keyframes src-sidebar-CustomModelBox-module__progress {\n 0% {\n width: 0;\n margin-left: 0;\n }\n 50% {\n width: 100%;\n margin-left: 0;\n }\n 100% {\n width: 0;\n margin-left: 100%;\n }\n}\n\n.src-sidebar-CustomModelBox-module__helpLink:hover {\n color: black;\n}\n\n.src-sidebar-CustomModelBox-module__helpLink,\n.src-sidebar-CustomModelBox-module__examples {\n cursor: pointer;\n color: #5b616a;\n}\n\n.src-sidebar-CustomModelBox-module__applyButton button {\n background-color: rgb(124, 179, 66, 0.1);\n}\n\n.src-sidebar-CustomModelBox-module__applyButton button,\n.src-sidebar-CustomModelBox-module__helpLink {\n padding: 0.8em 1.7em;\n}\n",""]),s.locals={customModelBox:"src-sidebar-CustomModelBox-module__customModelBox",customModelOptionTable:"src-sidebar-CustomModelBox-module__customModelOptionTable",drawAreas:"src-sidebar-CustomModelBox-module__drawAreas",element:"src-sidebar-CustomModelBox-module__element",customModelBoxBottomBar:"src-sidebar-CustomModelBox-module__customModelBoxBottomBar",helpLink:"src-sidebar-CustomModelBox-module__helpLink",examples:"src-sidebar-CustomModelBox-module__examples",applyButton:"src-sidebar-CustomModelBox-module__applyButton",applyButtonProgress:"src-sidebar-CustomModelBox-module__applyButtonProgress",applyButtonInvalid:"src-sidebar-CustomModelBox-module__applyButtonInvalid",infiniteProgressBar:"src-sidebar-CustomModelBox-module__infiniteProgressBar",progress:"src-sidebar-CustomModelBox-module__progress"};const a=s},6315:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-ErrorMessage-module__errorMessageContainer {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background-color: #f97777;\n color: white;\n margin: 0.5rem;\n padding: 0.5rem;\n border-radius: 0.3rem;\n}\n\n.src-sidebar-ErrorMessage-module__errorMessage {\n font-size: smaller;\n word-break: break-word;\n max-width: 90%;\n user-select: all;\n}\n\n.src-sidebar-ErrorMessage-module__errorMessageCloseBtn {\n width: 0.8rem;\n color: white;\n align-self: flex-start;\n flex-shrink: 0;\n}\n\n.src-sidebar-ErrorMessage-module__errorMessageCloseBtn svg {\n width: 100%;\n}\n",""]),s.locals={errorMessageContainer:"src-sidebar-ErrorMessage-module__errorMessageContainer",errorMessage:"src-sidebar-ErrorMessage-module__errorMessage",errorMessageCloseBtn:"src-sidebar-ErrorMessage-module__errorMessageCloseBtn"};const a=s},822:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-MobileSidebar-module__sidebar {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.src-sidebar-MobileSidebar-module__background {\n pointer-events: all; /* we want all the content to behave normally*/\n background-color: white;\n}\n\n.src-sidebar-MobileSidebar-module__fullHeight {\n height: 100%;\n}\n\n.src-sidebar-MobileSidebar-module__addressSearch {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n padding: 0.5rem;\n}\n\n.src-sidebar-MobileSidebar-module__addressInputContainer {\n flex-grow: 1;\n}\n\n.src-sidebar-MobileSidebar-module__mapView {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.src-sidebar-MobileSidebar-module__mapViewRow {\n display: flex;\n flex-direction: row;\n}\n\n.src-sidebar-MobileSidebar-module__queryPointText {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: #5b616a;\n}\n\n.src-sidebar-MobileSidebar-module__queryPointTextTo {\n font-size: large;\n font-weight: bold;\n color: inherit;\n}\n\n.src-sidebar-MobileSidebar-module__queryPointTextVia {\n font-size: small;\n}\n\n.src-sidebar-MobileSidebar-module__markerContainer {\n align-self: center;\n justify-self: center;\n width: 0.6rem;\n margin-right: 0.5rem;\n flex-shrink: 0;\n}\n\n.src-sidebar-MobileSidebar-module__markerContainer > svg {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.src-sidebar-MobileSidebar-module__btnCloseContainer {\n display: flex;\n flex-direction: column;\n}\n\n.src-sidebar-MobileSidebar-module__btnCloseInputs svg {\n width: 34px;\n color: #adadad;\n}\n\n.src-sidebar-MobileSidebar-module__btnCloseInputs {\n z-index: 0; /* without it the button isn't clickable */\n position: absolute;\n top: 10px;\n right: 1px;\n}\n\n.src-sidebar-MobileSidebar-module__btnOpenContainer {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n\n padding: 0.25rem 0.5rem;\n border: 1px black solid;\n margin: 0.5rem;\n border-radius: 0.2rem;\n}\n\n.src-sidebar-MobileSidebar-module__btnOpenContainer .src-sidebar-MobileSidebar-module__mapView {\n width: calc(100% - 34px);\n}\n\n.src-sidebar-MobileSidebar-module__btnOpenInputs svg {\n color: #adadad;\n}\n\n.src-sidebar-MobileSidebar-module__btnOpenInputs {\n width: 34px;\n}\n",""]),s.locals={sidebar:"src-sidebar-MobileSidebar-module__sidebar",background:"src-sidebar-MobileSidebar-module__background",fullHeight:"src-sidebar-MobileSidebar-module__fullHeight",addressSearch:"src-sidebar-MobileSidebar-module__addressSearch",addressInputContainer:"src-sidebar-MobileSidebar-module__addressInputContainer",mapView:"src-sidebar-MobileSidebar-module__mapView",mapViewRow:"src-sidebar-MobileSidebar-module__mapViewRow",queryPointText:"src-sidebar-MobileSidebar-module__queryPointText",queryPointTextTo:"src-sidebar-MobileSidebar-module__queryPointTextTo",queryPointTextVia:"src-sidebar-MobileSidebar-module__queryPointTextVia",markerContainer:"src-sidebar-MobileSidebar-module__markerContainer",btnCloseContainer:"src-sidebar-MobileSidebar-module__btnCloseContainer",btnCloseInputs:"src-sidebar-MobileSidebar-module__btnCloseInputs",btnOpenContainer:"src-sidebar-MobileSidebar-module__btnOpenContainer",btnOpenInputs:"src-sidebar-MobileSidebar-module__btnOpenInputs"};const a=s},5437:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-PoweredBy-module__poweredByContainer {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 0.3rem;\n padding: 0.1rem;\n font-size: x-small;\n}\n\n.src-sidebar-PoweredBy-module__logoContainer {\n width: 7rem;\n display: flex;\n}\n",""]),s.locals={poweredByContainer:"src-sidebar-PoweredBy-module__poweredByContainer",logoContainer:"src-sidebar-PoweredBy-module__logoContainer"};const a=s},5771:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,'.src-sidebar-RoutingResult-module__resultRow {\n border-bottom: 1px lightgray solid;\n}\n\n.src-sidebar-RoutingResult-module__resultSelectableArea {\n padding: 1rem 0;\n border-left: white solid 0.25rem;\n}\n\n.src-sidebar-RoutingResult-module__resultSelectableArea:hover .src-sidebar-RoutingResult-module__resultSummary {\n border-left: rgba(201, 217, 241, 0.8) solid 0.25rem;\n padding: 0 1rem 0 15px;\n}\n\n.src-sidebar-RoutingResult-module__resultSummary {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 0 1rem 0 15px;\n border-left: white solid 0.25rem;\n}\n\n.src-sidebar-RoutingResult-module__selectedResultSummary {\n border-left: rgb(49, 104, 187) solid 0.25rem !important;\n padding: 0 1rem 0 15px;\n}\n\n.src-sidebar-RoutingResult-module__resultValues {\n cursor: pointer;\n width: 50%;\n\n display: flex;\n flex-direction: column;\n}\n\n.src-sidebar-RoutingResult-module__resultMainText {\n font-size: large;\n font-weight: bold;\n margin-bottom: 0.1rem;\n}\n\n.src-sidebar-RoutingResult-module__resultSecondaryText,\n.src-sidebar-RoutingResult-module__exportButton div,\n.src-sidebar-RoutingResult-module__elevationHint {\n color: #5b616a;\n}\n\n.src-sidebar-RoutingResult-module__resultTertiaryText {\n color: #5b616a;\n font-size: 12px;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton,\n.src-sidebar-RoutingResult-module__exportButton {\n padding-top: 1px; /* correction for "height: auto" of svg */\n}\n\n.src-sidebar-RoutingResult-module__detailsButton div,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded div,\n.src-sidebar-RoutingResult-module__exportButton div {\n color: #5b616a;\n font-size: 12px;\n float: left;\n padding-top: 0.15em;\n padding-left: 0.5em;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton svg,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded svg,\n.src-sidebar-RoutingResult-module__exportButton svg {\n float: left;\n width: 1.2em;\n height: auto;\n}\n\n.src-sidebar-RoutingResult-module__exportButton:active div,\n.src-sidebar-RoutingResult-module__detailsButton:active div,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded:active div {\n color: lightgray;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton:active svg path,\n.src-sidebar-RoutingResult-module__exportButton:active svg path,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded:active svg path {\n fill: lightgray;\n}\n\n.src-sidebar-RoutingResult-module__exportButton:hover div,\n.src-sidebar-RoutingResult-module__detailsButton:hover div,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded:hover div {\n color: black;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton:hover svg path,\n.src-sidebar-RoutingResult-module__exportButton:hover svg path,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded:hover svg path {\n fill: black;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton svg path,\n.src-sidebar-RoutingResult-module__exportButton svg path {\n fill: #5b616a;\n stroke: #5b616a;\n}\n\n.src-sidebar-RoutingResult-module__placeholderContainer {\n margin: 1.08rem 1rem;\n}\n\n.src-sidebar-RoutingResult-module__placeholderMain {\n height: 1.25rem;\n width: 7rem;\n background-color: lightgray;\n margin-bottom: 0.5rem;\n border-radius: 0.2rem;\n animation-name: src-sidebar-RoutingResult-module__pulse;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-direction: alternate;\n}\n\n.src-sidebar-RoutingResult-module__placeholderSecondary {\n height: 1rem;\n width: 5rem;\n margin-bottom: 0;\n animation-delay: 0.25s;\n}\n\n@keyframes src-sidebar-RoutingResult-module__pulse {\n from {\n opacity: 0.5;\n }\n to {\n opacity: 1;\n }\n}\n\n.src-sidebar-RoutingResult-module__routeHints div {\n padding: 0 1.5em 0.2em 1.4em;\n}\n\n.src-sidebar-RoutingResult-module__routeHints div {\n font-size: small;\n color: #383838;\n}\n\n.src-sidebar-RoutingResult-module__routeHints {\n margin-top: -0.3rem;\n padding-bottom: 0.2em;\n}\n\n.src-sidebar-RoutingResult-module__routeHints .src-sidebar-RoutingResult-module__icons {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n column-gap: 8px;\n padding-bottom: 0.5rem;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton span,\n.src-sidebar-RoutingResult-module__selectedRouteHintButton span {\n font-size: xx-small;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton,\n.src-sidebar-RoutingResult-module__selectedRouteHintButton {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 50px;\n padding: 2px 4px;\n border: 1px solid transparent; /* make border visible on hover or for selected */\n transition: border-color 0.5s ease;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton:hover {\n border-color: #bebebe;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton:hover,\n.src-sidebar-RoutingResult-module__selectedRouteHintButton:hover,\n.src-sidebar-RoutingResult-module__routeHintButton:hover span {\n color: black;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton,\n.src-sidebar-RoutingResult-module__routeHintButton span {\n color: gray;\n padding-top: 1px;\n}\n\n.src-sidebar-RoutingResult-module__selectedRouteHintButton,\n.src-sidebar-RoutingResult-module__selectedRouteHintButton span {\n color: #383838;\n padding-top: 1px;\n border-color: #d5d4d4;\n}\n\n.src-sidebar-RoutingResult-module__routingResultRoadData {\n color: gray;\n font-size: small;\n padding: 10px 5px 10px 3rem;\n}\n',""]),s.locals={resultRow:"src-sidebar-RoutingResult-module__resultRow",resultSelectableArea:"src-sidebar-RoutingResult-module__resultSelectableArea",resultSummary:"src-sidebar-RoutingResult-module__resultSummary",selectedResultSummary:"src-sidebar-RoutingResult-module__selectedResultSummary",resultValues:"src-sidebar-RoutingResult-module__resultValues",resultMainText:"src-sidebar-RoutingResult-module__resultMainText",resultSecondaryText:"src-sidebar-RoutingResult-module__resultSecondaryText",exportButton:"src-sidebar-RoutingResult-module__exportButton",elevationHint:"src-sidebar-RoutingResult-module__elevationHint",resultTertiaryText:"src-sidebar-RoutingResult-module__resultTertiaryText",detailsButton:"src-sidebar-RoutingResult-module__detailsButton",detailsButtonExpanded:"src-sidebar-RoutingResult-module__detailsButtonExpanded",placeholderContainer:"src-sidebar-RoutingResult-module__placeholderContainer",placeholderMain:"src-sidebar-RoutingResult-module__placeholderMain",pulse:"src-sidebar-RoutingResult-module__pulse",placeholderSecondary:"src-sidebar-RoutingResult-module__placeholderSecondary",routeHints:"src-sidebar-RoutingResult-module__routeHints",icons:"src-sidebar-RoutingResult-module__icons",routeHintButton:"src-sidebar-RoutingResult-module__routeHintButton",selectedRouteHintButton:"src-sidebar-RoutingResult-module__selectedRouteHintButton",routingResultRoadData:"src-sidebar-RoutingResult-module__routingResultRoadData"};const a=s},4858:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-SettingsBox-module__parent {\n margin-top: 15px;\n padding: 15px 5px 10px 5px;\n border-top: 1px lightgray solid;\n border-bottom: 1px lightgray solid;\n}\n\n.src-sidebar-SettingsBox-module__settingsTable {\n display: flex;\n flex-direction: column;\n align-items: start;\n gap: 0;\n margin: 0.2rem 0.5rem 1.5rem 0;\n}\n\n.src-sidebar-SettingsBox-module__settingsTable svg {\n scale: 0.7;\n margin-left: calc(-8px); /* scaling svg creates white space around it */\n}\n\n.src-sidebar-SettingsBox-module__settingsToggle {\n cursor: pointer;\n display: grid;\n grid-template-columns: 50px auto;\n align-content: flex-start;\n align-items: center;\n}\n\n.src-sidebar-SettingsBox-module__toggleButton {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2rem;\n}\n\n.src-sidebar-SettingsBox-module__settingsCheckboxes {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n flex-wrap: wrap;\n height: 2rem;\n}\n\n.src-sidebar-SettingsBox-module__settingsCheckbox label {\n padding-left: 3px;\n}\n\n.src-sidebar-SettingsBox-module__settingsCheckbox:hover label,\n.src-sidebar-SettingsBox-module__settingsCheckbox:hover input {\n cursor: pointer;\n}\n\n.src-sidebar-SettingsBox-module__infoLine {\n padding: 10px 2px 0 0;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n.src-sidebar-SettingsBox-module__infoLine a {\n color: gray;\n text-decoration: none;\n}\n\n.src-sidebar-SettingsBox-module__infoLine a:hover {\n color: black;\n}\n\n.src-sidebar-SettingsBox-module__title {\n font-weight: bold;\n}\n\n.src-sidebar-SettingsBox-module__title,\n.src-sidebar-SettingsBox-module__infoLine,\n.src-sidebar-SettingsBox-module__settingsTable {\n font-size: 14px;\n color: gray;\n}\n",""]),s.locals={parent:"src-sidebar-SettingsBox-module__parent",settingsTable:"src-sidebar-SettingsBox-module__settingsTable",settingsToggle:"src-sidebar-SettingsBox-module__settingsToggle",toggleButton:"src-sidebar-SettingsBox-module__toggleButton",settingsCheckboxes:"src-sidebar-SettingsBox-module__settingsCheckboxes",settingsCheckbox:"src-sidebar-SettingsBox-module__settingsCheckbox",infoLine:"src-sidebar-SettingsBox-module__infoLine",title:"src-sidebar-SettingsBox-module__title"};const a=s},7639:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-instructions-Instructions-module__instructionsList {\n}\n\n.src-sidebar-instructions-Instructions-module__instruction {\n display: grid;\n grid-template-rows: auto auto;\n grid-template-columns: 3rem auto;\n align-items: center;\n cursor: pointer;\n}\n\n.src-sidebar-instructions-Instructions-module__sign {\n grid-row: 1 / span 2;\n justify-self: center;\n align-self: center;\n height: 1.5rem;\n}\n\n.src-sidebar-instructions-Instructions-module__sign > svg {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.src-sidebar-instructions-Instructions-module__mainText {\n margin-top: 1rem;\n}\n\n.src-sidebar-instructions-Instructions-module__motorwayJunction {\n font-weight: bold;\n font-size: smaller;\n color: white;\n width: fit-content;\n margin: 3px 0;\n padding: 5px;\n border-radius: 3px;\n}\n\n.src-sidebar-instructions-Instructions-module__distance {\n grid-column: 2 / span 1;\n font-size: small;\n color: #5b616a;\n padding-bottom: 1rem;\n border-bottom: 1px solid lightgray;\n}\n",""]),s.locals={instructionsList:"src-sidebar-instructions-Instructions-module__instructionsList",instruction:"src-sidebar-instructions-Instructions-module__instruction",sign:"src-sidebar-instructions-Instructions-module__sign",mainText:"src-sidebar-instructions-Instructions-module__mainText",motorwayJunction:"src-sidebar-instructions-Instructions-module__motorwayJunction",distance:"src-sidebar-instructions-Instructions-module__distance"};const a=s},7681:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-AddressInput-module__btnInputClear {\n display: none;\n padding: 0 5px;\n color: grey;\n scale: 0.7;\n}\n\n.src-sidebar-search-AddressInput-module__btnCurrentLocation {\n padding: 0 7px 0 5px;\n color: grey;\n width: 32px;\n}\n\n.src-sidebar-search-AddressInput-module__btnCurrentLocation > svg {\n height: 100%;\n width: 100%;\n}\n\n.src-sidebar-search-AddressInput-module__btnClose {\n display: none;\n}\n\n.src-sidebar-search-AddressInput-module__inputContainer {\n display: grid;\n grid-template-columns: 1fr auto auto;\n grid-gap: 0;\n\n box-sizing: border-box;\n border: 1px solid #5b616a;\n border-radius: 0.2rem;\n /* for the radius we need some padding otherwise the corners will be nearly hidden */\n padding: 1px;\n}\n\n.src-sidebar-search-AddressInput-module__input {\n border: none;\n padding: 0.25rem 0.5rem;\n font-size: 1.05rem;\n}\n\n.src-sidebar-search-AddressInput-module__input:focus {\n outline: none;\n}\n\n.src-sidebar-search-AddressInput-module__smallList {\n grid-column: 2 / 3;\n overflow-x: hidden;\n}\n\n@media (max-width: 44rem) {\n .src-sidebar-search-AddressInput-module__fullscreen {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: white;\n z-index: 5;\n padding: 0.5rem;\n }\n\n .src-sidebar-search-AddressInput-module__fullscreen .src-sidebar-search-AddressInput-module__inputContainer {\n grid-template-columns: auto 1fr auto;\n }\n\n .src-sidebar-search-AddressInput-module__fullscreen .src-sidebar-search-AddressInput-module__btnClose {\n display: block;\n margin: 0;\n padding: 5px 15px 5px 5px;\n }\n\n .src-sidebar-search-AddressInput-module__fullscreen .src-sidebar-search-AddressInput-module__btnInputClear {\n display: block;\n }\n /* when showing btnInputClear => remove the padding */\n .src-sidebar-search-AddressInput-module__fullscreen .src-sidebar-search-AddressInput-module__input {\n padding-right: 0;\n }\n}\n\n@media not all and (max-width: 44rem) {\n .src-sidebar-search-AddressInput-module__inputContainer:hover .src-sidebar-search-AddressInput-module__btnInputClear {\n display: block;\n }\n /* when showing btnInputClear => remove the padding */\n .src-sidebar-search-AddressInput-module__inputContainer:hover .src-sidebar-search-AddressInput-module__input {\n padding-right: 0;\n }\n}\n\n.src-sidebar-search-AddressInput-module__topBorder {\n padding-top: 3px;\n margin-top: -5px;\n border-top: dashed grey 2px;\n}\n\n.src-sidebar-search-AddressInput-module__bottomBorder {\n padding-bottom: 3px;\n margin-bottom: -5px;\n border-bottom: dashed grey 2px;\n}\n",""]),s.locals={btnInputClear:"src-sidebar-search-AddressInput-module__btnInputClear",btnCurrentLocation:"src-sidebar-search-AddressInput-module__btnCurrentLocation",btnClose:"src-sidebar-search-AddressInput-module__btnClose",inputContainer:"src-sidebar-search-AddressInput-module__inputContainer",input:"src-sidebar-search-AddressInput-module__input",smallList:"src-sidebar-search-AddressInput-module__smallList",fullscreen:"src-sidebar-search-AddressInput-module__fullscreen",topBorder:"src-sidebar-search-AddressInput-module__topBorder",bottomBorder:"src-sidebar-search-AddressInput-module__bottomBorder"};const a=s},61:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-AddressInputAutocomplete-module__autocompleteItem:not(:last-child) {\n border-bottom: 1px lightgray solid;\n}\n\n@media (max-width: 44rem) {\n .src-sidebar-search-AddressInputAutocomplete-module__autocompleteItem:first-child {\n border-top: 1px lightgray solid;\n }\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__selectableItem {\n display: block;\n width: 100%;\n border: none;\n background: none;\n color: inherit;\n font: inherit;\n padding: 0;\n cursor: pointer;\n outline: inherit;\n overflow: hidden;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__highlightedItem,\n.src-sidebar-search-AddressInputAutocomplete-module__selectableItem:hover {\n background-color: #ececec;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__selectableItem:active {\n background-color: #c6c6c6;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__poiEntry {\n padding: 0.5em 0;\n display: flex;\n flex-direction: row;\n gap: 0.4rem;\n text-align: start;\n margin: 0.4rem 0.5rem;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__poiEntryPrimaryText {\n font-weight: bold;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__geocodingEntry {\n display: flex;\n flex-direction: column;\n text-align: start;\n margin: 0.4rem 0.5rem;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__mainText {\n font-weight: bold;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__secondaryText {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n font-size: small;\n color: #5b616a;\n}\n",""]),s.locals={autocompleteItem:"src-sidebar-search-AddressInputAutocomplete-module__autocompleteItem",selectableItem:"src-sidebar-search-AddressInputAutocomplete-module__selectableItem",highlightedItem:"src-sidebar-search-AddressInputAutocomplete-module__highlightedItem",poiEntry:"src-sidebar-search-AddressInputAutocomplete-module__poiEntry",poiEntryPrimaryText:"src-sidebar-search-AddressInputAutocomplete-module__poiEntryPrimaryText",geocodingEntry:"src-sidebar-search-AddressInputAutocomplete-module__geocodingEntry",mainText:"src-sidebar-search-AddressInputAutocomplete-module__mainText",secondaryText:"src-sidebar-search-AddressInputAutocomplete-module__secondaryText"};const a=s},1679:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-PopUp-module__popup {\n box-sizing: border-box;\n background-color: white;\n border: solid 1px lightgray;\n box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);\n border-radius: 0.2rem;\n position: absolute;\n pointer-events: all;\n}\n",""]),s.locals={popup:"src-sidebar-search-PopUp-module__popup"};const a=s},4457:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-Search-module__searchBoxParent {\n margin: 0.1rem 0.5rem 0.5rem 0.5rem;\n}\n\n.src-sidebar-search-Search-module__searchBox {\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n grid-gap: 0.5rem;\n margin: 0.5rem 0.1rem 0.7rem 0;\n}\n\n.src-sidebar-search-Search-module__searchBoxScrollable {\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.src-sidebar-search-Search-module__searchBoxInput {\n grid-column: 2 / span 2;\n}\n\n.src-sidebar-search-Search-module__removeSearchBox {\n grid-column: 4;\n width: 1rem;\n color: #adadad;\n justify-self: center;\n}\n\n.src-sidebar-search-Search-module__markerContainer {\n grid-column: 1 / span 1;\n align-self: center;\n justify-self: center;\n width: 1rem;\n}\n\n.src-sidebar-search-Search-module__markerContainer > svg {\n height: 100%;\n width: 100%;\n}\n\n.src-sidebar-search-Search-module__searchOptions {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin: 1rem 0;\n}\n\n.src-sidebar-search-Search-module__geocodingResults {\n grid-column: 1 / span 3;\n}\n\n.src-sidebar-search-Search-module__addSearchBox,\n.src-sidebar-search-Search-module__settingsButton {\n font-size: 14px;\n color: gray;\n}\n\n.src-sidebar-search-Search-module__lastSearchLine {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n margin-right: 2px;\n}\n\n.src-sidebar-search-Search-module__addSearchBox:hover path,\n.src-sidebar-search-Search-module__infoButton:hover path {\n fill: black;\n}\n\n.src-sidebar-search-Search-module__infoButton:active path,\n.src-sidebar-search-Search-module__addSearchBox:active path,\n.src-sidebar-search-Search-module__markerTarget:active path {\n fill: lightgray;\n}\n\n.src-sidebar-search-Search-module__addSearchBox svg {\n width: 18px;\n height: 18px;\n}\n\n.src-sidebar-search-Search-module__addSearchBox svg {\n color: #adadad;\n padding: 0 1.25em 0 0;\n}\n\n.src-sidebar-search-Search-module__addSearchBox {\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n}\n\n.src-sidebar-search-Search-module__infoButton svg {\n fill: #adadad;\n}\n\n.src-sidebar-search-Search-module__markerContainer:hover svg {\n fill: black !important;\n}\n\n.src-sidebar-search-Search-module__markerContainer,\n.src-sidebar-search-Search-module__markerSelected,\n.src-sidebar-search-Search-module__markerTarget {\n grid-column: 1 / span 1;\n align-self: center;\n justify-self: center;\n width: 1rem;\n}\n\n.src-sidebar-search-Search-module__markerContainer {\n outline: none;\n}\n\n.src-sidebar-search-Search-module__markerTarget:hover svg {\n fill: black;\n}\n\n.src-sidebar-search-Search-module__markerContainer > svg,\n.src-sidebar-search-Search-module__markerTarget > svg {\n height: 100%;\n width: 100%;\n}\n\n.src-sidebar-search-Search-module__markerSelected {\n margin-left: -4px;\n}\n\n.src-sidebar-search-Search-module__markerTarget > svg {\n transform: scaleX(1.7) scaleY(1.5);\n margin-left: 3px;\n fill: gray;\n}\n\n.src-sidebar-search-Search-module__dropPreview > svg {\n fill: black;\n}\n\n.src-sidebar-search-Search-module__hide {\n visibility: hidden;\n}\n",""]),s.locals={searchBoxParent:"src-sidebar-search-Search-module__searchBoxParent",searchBox:"src-sidebar-search-Search-module__searchBox",searchBoxScrollable:"src-sidebar-search-Search-module__searchBoxScrollable",searchBoxInput:"src-sidebar-search-Search-module__searchBoxInput",removeSearchBox:"src-sidebar-search-Search-module__removeSearchBox",markerContainer:"src-sidebar-search-Search-module__markerContainer",searchOptions:"src-sidebar-search-Search-module__searchOptions",geocodingResults:"src-sidebar-search-Search-module__geocodingResults",addSearchBox:"src-sidebar-search-Search-module__addSearchBox",settingsButton:"src-sidebar-search-Search-module__settingsButton",lastSearchLine:"src-sidebar-search-Search-module__lastSearchLine",infoButton:"src-sidebar-search-Search-module__infoButton",markerTarget:"src-sidebar-search-Search-module__markerTarget",markerSelected:"src-sidebar-search-Search-module__markerSelected",dropPreview:"src-sidebar-search-Search-module__dropPreview",hide:"src-sidebar-search-Search-module__hide"};const a=s},7382:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-routingProfiles-RoutingProfiles-module__profilesParent {\n display: flex;\n flex-direction: row;\n padding: 0.7em 0 0.1em 0;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__carousel {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 0.5rem;\n padding: 0 2rem;\n box-sizing: border-box;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__profiles {\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: start;\n overflow: scroll;\n gap: 0.1rem;\n\n /* Hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n /* Hide scrollbar for Chrome, Safari and Opera */\n &::-webkit-scrollbar {\n display: none;\n }\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__profiles_center {\n justify-content: center;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__chevron {\n cursor: pointer;\n display: none;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabled {\n display: inline-block;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__chevron svg path {\n fill: #000000;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__chevron:disabled svg path {\n fill: lightgray;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__flip {\n transform: scaleX(-1);\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__selectedProfile {\n background-color: rgba(39, 93, 173, 0.2);\n color: #275dad;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__selectedProfile:hover {\n color: #275dad;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__profileBtn {\n position: relative;\n border-radius: 50%;\n padding: 0.3em;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__iconContainer {\n position: relative;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__batchNumber {\n position: absolute;\n top: -7.1px;\n right: -5px;\n font-size: 0.75em;\n font-weight: bold;\n -webkit-text-stroke: 2px #fff;\n paint-order: stroke fill;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__asIndicator {\n position: absolute;\n fill: none;\n stroke: #193b6e;\n left: -20px;\n top: -41px;\n z-index: 1;\n scale: 0.1;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox {\n position: absolute;\n border-radius: 50%;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox svg path,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox svg path {\n fill: #a8a8a8;\n stroke: #a8a8a8;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox:active svg path,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox:active svg path {\n fill: lightgray;\n stroke: lightgray;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox:hover svg path,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox:hover svg path {\n fill: #000000;\n stroke: #000000;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox:active svg path,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox:active svg path {\n fill: lightgray;\n stroke: lightgray;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox svg,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox svg {\n margin: 0;\n padding: 8px;\n width: 18px;\n height: 18px;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox svg {\n transform: rotate(0);\n animation-name: src-sidebar-search-routingProfiles-RoutingProfiles-module__reverse_rotate;\n animation-duration: 0.2s;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox svg {\n transform: rotate(180deg);\n animation-name: src-sidebar-search-routingProfiles-RoutingProfiles-module__setting_rotate;\n animation-duration: 0.2s;\n}\n\n@keyframes src-sidebar-search-routingProfiles-RoutingProfiles-module__setting_rotate {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(180deg);\n }\n}\n\n@keyframes src-sidebar-search-routingProfiles-RoutingProfiles-module__reverse_rotate {\n 0% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(0);\n }\n}\n",""]),s.locals={profilesParent:"src-sidebar-search-routingProfiles-RoutingProfiles-module__profilesParent",carousel:"src-sidebar-search-routingProfiles-RoutingProfiles-module__carousel",profiles:"src-sidebar-search-routingProfiles-RoutingProfiles-module__profiles",profiles_center:"src-sidebar-search-routingProfiles-RoutingProfiles-module__profiles_center",chevron:"src-sidebar-search-routingProfiles-RoutingProfiles-module__chevron",enabled:"src-sidebar-search-routingProfiles-RoutingProfiles-module__enabled",flip:"src-sidebar-search-routingProfiles-RoutingProfiles-module__flip",selectedProfile:"src-sidebar-search-routingProfiles-RoutingProfiles-module__selectedProfile",profileBtn:"src-sidebar-search-routingProfiles-RoutingProfiles-module__profileBtn",iconContainer:"src-sidebar-search-routingProfiles-RoutingProfiles-module__iconContainer",batchNumber:"src-sidebar-search-routingProfiles-RoutingProfiles-module__batchNumber",asIndicator:"src-sidebar-search-routingProfiles-RoutingProfiles-module__asIndicator",enabledCMBox:"src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox",cmBox:"src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox",reverse_rotate:"src-sidebar-search-routingProfiles-RoutingProfiles-module__reverse_rotate",setting_rotate:"src-sidebar-search-routingProfiles-RoutingProfiles-module__setting_rotate"};const a=s},4468:(e,t,n)=>{!function(e){var t={pairs:"()[]{}''\"\"",closeBefore:")]}'\":;>",triples:"",explode:"[]{}"},n=e.Pos;function i(e,n){return"pairs"==n&&"string"==typeof e?e:"object"==typeof e&&null!=e[n]?e[n]:t[n]}e.defineOption("autoCloseBrackets",!1,(function(t,n,s){s&&s!=e.Init&&(t.removeKeyMap(r),t.state.closeBrackets=null),n&&(o(i(n,"pairs")),t.state.closeBrackets=n,t.addKeyMap(r))}));var r={Backspace:function(t){var r=a(t);if(!r||t.getOption("disableInput"))return e.Pass;for(var o=i(r,"pairs"),s=t.listSelections(),l=0;l<s.length;l++){if(!s[l].empty())return e.Pass;var c=u(t,s[l].head);if(!c||o.indexOf(c)%2!=0)return e.Pass}for(l=s.length-1;l>=0;l--){var d=s[l].head;t.replaceRange("",n(d.line,d.ch-1),n(d.line,d.ch+1),"+delete")}},Enter:function(t){var n=a(t),r=n&&i(n,"explode");if(!r||t.getOption("disableInput"))return e.Pass;for(var o=t.listSelections(),s=0;s<o.length;s++){if(!o[s].empty())return e.Pass;var c=u(t,o[s].head);if(!c||r.indexOf(c)%2!=0)return e.Pass}t.operation((function(){var e=t.lineSeparator()||"\n";t.replaceSelection(e+e,null),l(t,-1),o=t.listSelections();for(var n=0;n<o.length;n++){var i=o[n].head.line;t.indentLine(i,null,!0),t.indentLine(i+1,null,!0)}}))}};function o(e){for(var t=0;t<e.length;t++){var n=e.charAt(t),i="'"+n+"'";r[i]||(r[i]=s(n))}}function s(t){return function(r){return function(t,r){var o=a(t);if(!o||t.getOption("disableInput"))return e.Pass;var s=i(o,"pairs"),u=s.indexOf(r);if(-1==u)return e.Pass;for(var h,p=i(o,"closeBefore"),f=i(o,"triples"),_=s.charAt(u+1)==r,g=t.listSelections(),m=u%2==0,y=0;y<g.length;y++){var v,b=g[y],x=b.head,w=t.getRange(x,n(x.line,x.ch+1));if(m&&!b.empty())v="surround";else if(!_&&m||w!=r)if(_&&x.ch>1&&f.indexOf(r)>=0&&t.getRange(n(x.line,x.ch-2),x)==r+r){if(x.ch>2&&/\bstring/.test(t.getTokenTypeAt(n(x.line,x.ch-2))))return e.Pass;v="addFour"}else if(_){var k=0==x.ch?" ":t.getRange(n(x.line,x.ch-1),x);if(e.isWordChar(w)||k==r||e.isWordChar(k))return e.Pass;v="both"}else{if(!m||!(0===w.length||/\s/.test(w)||p.indexOf(w)>-1))return e.Pass;v="both"}else v=_&&d(t,x)?"both":f.indexOf(r)>=0&&t.getRange(x,n(x.line,x.ch+3))==r+r+r?"skipThree":"skip";if(h){if(h!=v)return e.Pass}else h=v}var C=u%2?s.charAt(u-1):r,S=u%2?r:s.charAt(u+1);t.operation((function(){if("skip"==h)l(t,1);else if("skipThree"==h)l(t,3);else if("surround"==h){for(var e=t.getSelections(),n=0;n<e.length;n++)e[n]=C+e[n]+S;for(t.replaceSelections(e,"around"),e=t.listSelections().slice(),n=0;n<e.length;n++)e[n]=c(e[n]);t.setSelections(e)}else"both"==h?(t.replaceSelection(C+S,null),t.triggerElectric(C+S),l(t,-1)):"addFour"==h&&(t.replaceSelection(C+C+C+C,"before"),l(t,1))}))}(r,t)}}function a(e){var t=e.state.closeBrackets;return!t||t.override?t:e.getModeAt(e.getCursor()).closeBrackets||t}function l(e,t){for(var n=[],i=e.listSelections(),r=0,o=0;o<i.length;o++){var s=i[o];s.head==e.getCursor()&&(r=o);var a=s.head.ch||t>0?{line:s.head.line,ch:s.head.ch+t}:{line:s.head.line-1};n.push({anchor:a,head:a})}e.setSelections(n,r)}function c(t){var i=e.cmpPos(t.anchor,t.head)>0;return{anchor:new n(t.anchor.line,t.anchor.ch+(i?-1:1)),head:new n(t.head.line,t.head.ch+(i?1:-1))}}function u(e,t){var i=e.getRange(n(t.line,t.ch-1),n(t.line,t.ch+1));return 2==i.length?i:null}function d(e,t){var i=e.getTokenAt(n(t.line,t.ch+1));return/\bstring/.test(i.type)&&i.start==t.ch&&(0==t.ch||!/\bstring/.test(e.getTokenTypeAt(t)))}o(t.pairs+"`")}(n(1719))},8709:(e,t,n)=>{!function(e){var t=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,i={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function r(e){return e&&e.bracketRegex||/[(){}[\]]/}function o(e,t,o){var a=e.getLineHandle(t.line),l=t.ch-1,c=o&&o.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var u=r(o),d=!c&&l>=0&&u.test(a.text.charAt(l))&&i[a.text.charAt(l)]||u.test(a.text.charAt(l+1))&&i[a.text.charAt(++l)];if(!d)return null;var h=">"==d.charAt(1)?1:-1;if(o&&o.strict&&h>0!=(l==t.ch))return null;var p=e.getTokenTypeAt(n(t.line,l+1)),f=s(e,n(t.line,l+(h>0?1:0)),h,p,o);return null==f?null:{from:n(t.line,l),to:f&&f.pos,match:f&&f.ch==d.charAt(0),forward:h>0}}function s(e,t,o,s,a){for(var l=a&&a.maxScanLineLength||1e4,c=a&&a.maxScanLines||1e3,u=[],d=r(a),h=o>0?Math.min(t.line+c,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-c),p=t.line;p!=h;p+=o){var f=e.getLine(p);if(f){var _=o>0?0:f.length-1,g=o>0?f.length:-1;if(!(f.length>l))for(p==t.line&&(_=t.ch-(o<0?1:0));_!=g;_+=o){var m=f.charAt(_);if(d.test(m)&&(void 0===s||(e.getTokenTypeAt(n(p,_+1))||"")==(s||""))){var y=i[m];if(y&&">"==y.charAt(1)==o>0)u.push(m);else{if(!u.length)return{pos:n(p,_),ch:m};u.pop()}}}}}return p-o!=(o>0?e.lastLine():e.firstLine())&&null}function a(e,i,r){for(var s=e.state.matchBrackets.maxHighlightLineLength||1e3,a=r&&r.highlightNonMatching,l=[],c=e.listSelections(),u=0;u<c.length;u++){var d=c[u].empty()&&o(e,c[u].head,r);if(d&&(d.match||!1!==a)&&e.getLine(d.from.line).length<=s){var h=d.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";l.push(e.markText(d.from,n(d.from.line,d.from.ch+1),{className:h})),d.to&&e.getLine(d.to.line).length<=s&&l.push(e.markText(d.to,n(d.to.line,d.to.ch+1),{className:h}))}}if(l.length){t&&e.state.focused&&e.focus();var p=function(){e.operation((function(){for(var e=0;e<l.length;e++)l[e].clear()}))};if(!i)return p;setTimeout(p,800)}}function l(e){e.operation((function(){e.state.matchBrackets.currentlyHighlighted&&(e.state.matchBrackets.currentlyHighlighted(),e.state.matchBrackets.currentlyHighlighted=null),e.state.matchBrackets.currentlyHighlighted=a(e,!1,e.state.matchBrackets)}))}function c(e){e.state.matchBrackets&&e.state.matchBrackets.currentlyHighlighted&&(e.state.matchBrackets.currentlyHighlighted(),e.state.matchBrackets.currentlyHighlighted=null)}e.defineOption("matchBrackets",!1,(function(t,n,i){i&&i!=e.Init&&(t.off("cursorActivity",l),t.off("focus",l),t.off("blur",c),c(t)),n&&(t.state.matchBrackets="object"==typeof n?n:{},t.on("cursorActivity",l),t.on("focus",l),t.on("blur",c))})),e.defineExtension("matchBrackets",(function(){a(this,!0)})),e.defineExtension("findMatchingBracket",(function(e,t,n){return(n||"boolean"==typeof t)&&(n?(n.strict=t,t=n):t=t?{strict:!0}:null),o(this,e,t)})),e.defineExtension("scanForBracket",(function(e,t,n,i){return s(this,e,t,n,i)}))}(n(1719))},5397:(e,t,n)=>{!function(e){"use strict";var t="CodeMirror-hint-active";function n(e,t){if(this.cm=e,this.options=t,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length,this.options.updateOnCursorActivity){var n=this;e.on("cursorActivity",this.activityFunc=function(){n.cursorActivity()})}}e.showHint=function(e,t,n){if(!t)return e.showHint(n);n&&n.async&&(t.async=!0);var i={hint:t};if(n)for(var r in n)i[r]=n[r];return e.showHint(i)},e.defineExtension("showHint",(function(t){t=function(e,t,n){var i=e.options.hintOptions,r={};for(var o in c)r[o]=c[o];if(i)for(var o in i)void 0!==i[o]&&(r[o]=i[o]);if(n)for(var o in n)void 0!==n[o]&&(r[o]=n[o]);return r.hint.resolve&&(r.hint=r.hint.resolve(e,t)),r}(this,this.getCursor("start"),t);var i=this.listSelections();if(!(i.length>1)){if(this.somethingSelected()){if(!t.hint.supportsSelection)return;for(var r=0;r<i.length;r++)if(i[r].head.line!=i[r].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var o=this.state.completionActive=new n(this,t);o.options.hint&&(e.signal(this,"startCompletion",this),o.update(!0))}})),e.defineExtension("closeHint",(function(){this.state.completionActive&&this.state.completionActive.close()}));var i=window.requestAnimationFrame||function(e){return setTimeout(e,1e3/60)},r=window.cancelAnimationFrame||clearTimeout;function o(e){return"string"==typeof e?e:e.text}function s(e,t){for(;t&&t!=e;){if("LI"===t.nodeName.toUpperCase()&&t.parentNode==e)return t;t=t.parentNode}}function a(n,i){this.id="cm-complete-"+Math.floor(Math.random(1e6)),this.completion=n,this.data=i,this.picked=!1;var r=this,a=n.cm,l=a.getInputField().ownerDocument,c=l.defaultView||l.parentWindow,u=this.hints=l.createElement("ul");u.setAttribute("role","listbox"),u.setAttribute("aria-expanded","true"),u.id=this.id;var d=n.cm.options.theme;u.className="CodeMirror-hints "+d,this.selectedHint=i.selectedHint||0;for(var h=i.list,p=0;p<h.length;++p){var f=u.appendChild(l.createElement("li")),_=h[p],g="CodeMirror-hint"+(p!=this.selectedHint?"":" "+t);null!=_.className&&(g=_.className+" "+g),f.className=g,p==this.selectedHint&&f.setAttribute("aria-selected","true"),f.id=this.id+"-"+p,f.setAttribute("role","option"),_.render?_.render(f,i,_):f.appendChild(l.createTextNode(_.displayText||o(_))),f.hintId=p}var m=n.options.container||l.body,y=a.cursorCoords(n.options.alignWithWord?i.from:null),v=y.left,b=y.bottom,x=!0,w=0,k=0;if(m!==l.body){var C=-1!==["absolute","relative","fixed"].indexOf(c.getComputedStyle(m).position)?m:m.offsetParent,S=C.getBoundingClientRect(),A=l.body.getBoundingClientRect();w=S.left-A.left-C.scrollLeft,k=S.top-A.top-C.scrollTop}u.style.left=v-w+"px",u.style.top=b-k+"px";var E=c.innerWidth||Math.max(l.body.offsetWidth,l.documentElement.offsetWidth),M=c.innerHeight||Math.max(l.body.offsetHeight,l.documentElement.offsetHeight);m.appendChild(u),a.getInputField().setAttribute("aria-autocomplete","list"),a.getInputField().setAttribute("aria-owns",this.id),a.getInputField().setAttribute("aria-activedescendant",this.id+"-"+this.selectedHint);var T,P=n.options.moveOnOverlap?u.getBoundingClientRect():new DOMRect,R=!!n.options.paddingForScrollbar&&u.scrollHeight>u.clientHeight+1;if(setTimeout((function(){T=a.getScrollInfo()})),P.bottom-M>0){var I=P.bottom-P.top,L=P.top-(y.bottom-y.top)-2;M-P.top<L?(I>L&&(u.style.height=(I=L)+"px"),u.style.top=(b=y.top-I)+k+"px",x=!1):u.style.height=M-P.top-2+"px"}var z,O=P.right-E;if(R&&(O+=a.display.nativeBarWidth),O>0&&(P.right-P.left>E&&(u.style.width=E-5+"px",O-=P.right-P.left-E),u.style.left=(v=Math.max(y.left-O-w,0))+"px"),R)for(var F=u.firstChild;F;F=F.nextSibling)F.style.paddingRight=a.display.nativeBarWidth+"px";a.addKeyMap(this.keyMap=function(e,t){var n={Up:function(){t.moveFocus(-1)},Down:function(){t.moveFocus(1)},PageUp:function(){t.moveFocus(1-t.menuSize(),!0)},PageDown:function(){t.moveFocus(t.menuSize()-1,!0)},Home:function(){t.setFocus(0)},End:function(){t.setFocus(t.length-1)},Enter:t.pick,Tab:t.pick,Esc:t.close};/Mac/.test(navigator.platform)&&(n["Ctrl-P"]=function(){t.moveFocus(-1)},n["Ctrl-N"]=function(){t.moveFocus(1)});var i=e.options.customKeys,r=i?{}:n;function o(e,i){var o;o="string"!=typeof i?function(e){return i(e,t)}:n.hasOwnProperty(i)?n[i]:i,r[e]=o}if(i)for(var s in i)i.hasOwnProperty(s)&&o(s,i[s]);var a=e.options.extraKeys;if(a)for(var s in a)a.hasOwnProperty(s)&&o(s,a[s]);return r}(n,{moveFocus:function(e,t){r.changeActive(r.selectedHint+e,t)},setFocus:function(e){r.changeActive(e)},menuSize:function(){return r.screenAmount()},length:h.length,close:function(){n.close()},pick:function(){r.pick()},data:i})),n.options.closeOnUnfocus&&(a.on("blur",this.onBlur=function(){z=setTimeout((function(){n.close()}),100)}),a.on("focus",this.onFocus=function(){clearTimeout(z)})),a.on("scroll",this.onScroll=function(){var e=a.getScrollInfo(),t=a.getWrapperElement().getBoundingClientRect();T||(T=a.getScrollInfo());var i=b+T.top-e.top,r=i-(c.pageYOffset||(l.documentElement||l.body).scrollTop);if(x||(r+=u.offsetHeight),r<=t.top||r>=t.bottom)return n.close();u.style.top=i+"px",u.style.left=v+T.left-e.left+"px"}),e.on(u,"dblclick",(function(e){var t=s(u,e.target||e.srcElement);t&&null!=t.hintId&&(r.changeActive(t.hintId),r.pick())})),e.on(u,"click",(function(e){var t=s(u,e.target||e.srcElement);t&&null!=t.hintId&&(r.changeActive(t.hintId),n.options.completeOnSingleClick&&r.pick())})),e.on(u,"mousedown",(function(){setTimeout((function(){a.focus()}),20)}));var j=this.getSelectedHintRange();return 0===j.from&&0===j.to||this.scrollToActive(),e.signal(i,"select",h[this.selectedHint],u.childNodes[this.selectedHint]),!0}function l(e,t,n,i){if(e.async)e(t,i,n);else{var r=e(t,n);r&&r.then?r.then(i):i(r)}}n.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.options.updateOnCursorActivity&&this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&e.signal(this.data,"close"),this.widget&&this.widget.close(),e.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(t,n){var i=t.list[n],r=this;this.cm.operation((function(){i.hint?i.hint(r.cm,t,i):r.cm.replaceRange(o(i),i.from||t.from,i.to||t.to,"complete"),e.signal(t,"pick",i),r.cm.scrollIntoView()})),this.options.closeOnPick&&this.close()},cursorActivity:function(){this.debounce&&(r(this.debounce),this.debounce=0);var e=this.startPos;this.data&&(e=this.data.from);var t=this.cm.getCursor(),n=this.cm.getLine(t.line);if(t.line!=this.startPos.line||n.length-t.ch!=this.startLen-this.startPos.ch||t.ch<e.ch||this.cm.somethingSelected()||!t.ch||this.options.closeCharacters.test(n.charAt(t.ch-1)))this.close();else{var o=this;this.debounce=i((function(){o.update()})),this.widget&&this.widget.disable()}},update:function(e){if(null!=this.tick){var t=this,n=++this.tick;l(this.options.hint,this.cm,this.options,(function(i){t.tick==n&&t.finishUpdate(i,e)}))}},finishUpdate:function(t,n){this.data&&e.signal(this.data,"update");var i=this.widget&&this.widget.picked||n&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=t,t&&t.list.length&&(i&&1==t.list.length?this.pick(t,0):(this.widget=new a(this,t),e.signal(t,"shown")))}},a.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode&&this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var e=this.completion.cm.getInputField();e.removeAttribute("aria-activedescendant"),e.removeAttribute("aria-owns");var t=this.completion.cm;this.completion.options.closeOnUnfocus&&(t.off("blur",this.onBlur),t.off("focus",this.onFocus)),t.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var e=this;this.keyMap={Enter:function(){e.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(n,i){if(n>=this.data.list.length?n=i?this.data.list.length-1:0:n<0&&(n=i?0:this.data.list.length-1),this.selectedHint!=n){var r=this.hints.childNodes[this.selectedHint];r&&(r.className=r.className.replace(" "+t,""),r.removeAttribute("aria-selected")),(r=this.hints.childNodes[this.selectedHint=n]).className+=" "+t,r.setAttribute("aria-selected","true"),this.completion.cm.getInputField().setAttribute("aria-activedescendant",r.id),this.scrollToActive(),e.signal(this.data,"select",this.data.list[this.selectedHint],r)}},scrollToActive:function(){var e=this.getSelectedHintRange(),t=this.hints.childNodes[e.from],n=this.hints.childNodes[e.to],i=this.hints.firstChild;t.offsetTop<this.hints.scrollTop?this.hints.scrollTop=t.offsetTop-i.offsetTop:n.offsetTop+n.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=n.offsetTop+n.offsetHeight-this.hints.clientHeight+i.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1},getSelectedHintRange:function(){var e=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-e),to:Math.min(this.data.list.length-1,this.selectedHint+e)}}},e.registerHelper("hint","auto",{resolve:function(t,n){var i,r=t.getHelpers(n,"hint");if(r.length){var o=function(e,t,n){var i=function(e,t){if(!e.somethingSelected())return t;for(var n=[],i=0;i<t.length;i++)t[i].supportsSelection&&n.push(t[i]);return n}(e,r);!function r(o){if(o==i.length)return t(null);l(i[o],e,n,(function(e){e&&e.list.length>0?t(e):r(o+1)}))}(0)};return o.async=!0,o.supportsSelection=!0,o}return(i=t.getHelper(t.getCursor(),"hintWords"))?function(t){return e.hint.fromList(t,{words:i})}:e.hint.anyword?function(t,n){return e.hint.anyword(t,n)}:function(){}}}),e.registerHelper("hint","fromList",(function(t,n){var i,r=t.getCursor(),o=t.getTokenAt(r),s=e.Pos(r.line,o.start),a=r;o.start<r.ch&&/\w/.test(o.string.charAt(r.ch-o.start-1))?i=o.string.substr(0,r.ch-o.start):(i="",s=r);for(var l=[],c=0;c<n.words.length;c++){var u=n.words[c];u.slice(0,i.length)==i&&l.push(u)}if(l.length)return{list:l,from:s,to:a}})),e.commands.autocomplete=e.showHint;var c={hint:e.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};e.defineOption("hintOptions",null)}(n(1719))},5399:(e,t,n)=>{!function(e){"use strict";var t="CodeMirror-lint-markers";function n(e){e.parentNode&&e.parentNode.removeChild(e)}function i(t,i,r,o){var s=function(t,n,i){var r=document.createElement("div");function o(t){if(!r.parentNode)return e.off(document,"mousemove",o);r.style.top=Math.max(0,t.clientY-r.offsetHeight-5)+"px",r.style.left=t.clientX+5+"px"}return r.className="CodeMirror-lint-tooltip cm-s-"+t.options.theme,r.appendChild(i.cloneNode(!0)),t.state.lint.options.selfContain?t.getWrapperElement().appendChild(r):document.body.appendChild(r),e.on(document,"mousemove",o),o(n),null!=r.style.opacity&&(r.style.opacity=1),r}(t,i,r);function a(){var t;e.off(o,"mouseout",a),s&&((t=s).parentNode&&(null==t.style.opacity&&n(t),t.style.opacity=0,setTimeout((function(){n(t)}),600)),s=null)}var l=setInterval((function(){if(s)for(var e=o;;e=e.parentNode){if(e&&11==e.nodeType&&(e=e.host),e==document.body)return;if(!e){a();break}}if(!s)return clearInterval(l)}),400);e.on(o,"mouseout",a)}function r(e,t,n){for(var r in this.marked=[],t instanceof Function&&(t={getAnnotations:t}),t&&!0!==t||(t={}),this.options={},this.linterOptions=t.options||{},o)this.options[r]=o[r];for(var r in t)o.hasOwnProperty(r)?null!=t[r]&&(this.options[r]=t[r]):t.options||(this.linterOptions[r]=t[r]);this.timeout=null,this.hasGutter=n,this.onMouseOver=function(t){!function(e,t){var n=t.target||t.srcElement;if(/\bCodeMirror-lint-mark-/.test(n.className)){for(var r=n.getBoundingClientRect(),o=(r.left+r.right)/2,s=(r.top+r.bottom)/2,a=e.findMarksAt(e.coordsChar({left:o,top:s},"client")),c=[],u=0;u<a.length;++u){var d=a[u].__annotation;d&&c.push(d)}c.length&&function(e,t,n){for(var r=n.target||n.srcElement,o=document.createDocumentFragment(),s=0;s<t.length;s++){var a=t[s];o.appendChild(l(a))}i(e,n,o,r)}(e,c,t)}}(e,t)},this.waitingFor=0}var o={highlightLines:!1,tooltips:!0,delay:500,lintOnChange:!0,getAnnotations:null,async:!1,selfContain:null,formatAnnotation:null,onUpdateLinting:null};function s(e){var n=e.state.lint;n.hasGutter&&e.clearGutter(t),n.options.highlightLines&&function(e){e.eachLine((function(t){var n=t.wrapClass&&/\bCodeMirror-lint-line-\w+\b/.exec(t.wrapClass);n&&e.removeLineClass(t,"wrap",n[0])}))}(e);for(var i=0;i<n.marked.length;++i)n.marked[i].clear();n.marked.length=0}function a(t,n,r,o,s){var a=document.createElement("div"),l=a;return a.className="CodeMirror-lint-marker CodeMirror-lint-marker-"+r,o&&((l=a.appendChild(document.createElement("div"))).className="CodeMirror-lint-marker CodeMirror-lint-marker-multiple"),0!=s&&e.on(l,"mouseover",(function(e){i(t,e,n,l)})),a}function l(e){var t=e.severity;t||(t="error");var n=document.createElement("div");return n.className="CodeMirror-lint-message CodeMirror-lint-message-"+t,void 0!==e.messageHTML?n.innerHTML=e.messageHTML:n.appendChild(document.createTextNode(e.message)),n}function c(t){var n=t.state.lint;if(n){var i=n.options,r=i.getAnnotations||t.getHelper(e.Pos(0,0),"lint");if(r)if(i.async||r.async)!function(t,n){var i=t.state.lint,r=++i.waitingFor;function o(){r=-1,t.off("change",o)}t.on("change",o),n(t.getValue(),(function(n,s){t.off("change",o),i.waitingFor==r&&(s&&n instanceof e&&(n=s),t.operation((function(){u(t,n)})))}),i.linterOptions,t)}(t,r);else{var o=r(t.getValue(),n.linterOptions,t);if(!o)return;o.then?o.then((function(e){t.operation((function(){u(t,e)}))})):t.operation((function(){u(t,o)}))}}}function u(e,n){var i,r,o=e.state.lint;if(o){var c=o.options;s(e);for(var u=function(e){for(var t=[],n=0;n<e.length;++n){var i=e[n],r=i.from.line;(t[r]||(t[r]=[])).push(i)}return t}(n),d=0;d<u.length;++d){var h=u[d];if(h){var p=[];h=h.filter((function(e){return!(p.indexOf(e.message)>-1)&&p.push(e.message)}));for(var f=null,_=o.hasGutter&&document.createDocumentFragment(),g=0;g<h.length;++g){var m=h[g],y=m.severity;y||(y="error"),r=y,f="error"==(i=f)?i:r,c.formatAnnotation&&(m=c.formatAnnotation(m)),o.hasGutter&&_.appendChild(l(m)),m.to&&o.marked.push(e.markText(m.from,m.to,{className:"CodeMirror-lint-mark CodeMirror-lint-mark-"+y,__annotation:m}))}o.hasGutter&&e.setGutterMarker(d,t,a(e,_,f,u[d].length>1,c.tooltips)),c.highlightLines&&e.addLineClass(d,"wrap","CodeMirror-lint-line-"+f)}}c.onUpdateLinting&&c.onUpdateLinting(n,u,e)}}function d(e){var t=e.state.lint;t&&(clearTimeout(t.timeout),t.timeout=setTimeout((function(){c(e)}),t.options.delay))}e.defineOption("lint",!1,(function(n,i,o){if(o&&o!=e.Init&&(s(n),!1!==n.state.lint.options.lintOnChange&&n.off("change",d),e.off(n.getWrapperElement(),"mouseover",n.state.lint.onMouseOver),clearTimeout(n.state.lint.timeout),delete n.state.lint),i){for(var a=n.getOption("gutters"),l=!1,u=0;u<a.length;++u)a[u]==t&&(l=!0);var h=n.state.lint=new r(n,i,l);h.options.lintOnChange&&n.on("change",d),0!=h.options.tooltips&&"gutter"!=h.options.tooltips&&e.on(n.getWrapperElement(),"mouseover",h.onMouseOver),c(n)}})),e.defineExtension("performLint",(function(){c(this)}))}(n(1719))},1719:function(e){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),i=/MSIE \d/.test(e),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),s=i||r||o,a=s&&(i?document.documentMode||6:+(o||r)[1]),l=!o&&/WebKit\//.test(e),c=l&&/Qt\/\d+\.\d+/.test(e),u=!o&&/Chrome\/(\d+)/.exec(e),d=u&&+u[1],h=/Opera\//.test(e),p=/Apple Computer/.test(navigator.vendor),f=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),_=/PhantomJS/.test(e),g=p&&(/Mobile\/\w+/.test(e)||navigator.maxTouchPoints>2),m=/Android/.test(e),y=g||m||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),v=g||/Mac/.test(t),b=/\bCrOS\b/.test(e),x=/win/i.test(t),w=h&&e.match(/Version\/(\d*\.\d*)/);w&&(w=Number(w[1])),w&&w>=15&&(h=!1,l=!0);var k=v&&(c||h&&(null==w||w<12.11)),C=n||s&&a>=9;function S(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var A,E=function(e,t){var n=e.className,i=S(t).exec(n);if(i){var r=n.slice(i.index+i[0].length);e.className=n.slice(0,i.index)+(r?i[1]+r:"")}};function M(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function T(e,t){return M(e).appendChild(t)}function P(e,t,n,i){var r=document.createElement(e);if(n&&(r.className=n),i&&(r.style.cssText=i),"string"==typeof t)r.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)r.appendChild(t[o]);return r}function R(e,t,n,i){var r=P(e,t,n,i);return r.setAttribute("role","presentation"),r}function I(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)}function L(e){var t;try{t=e.activeElement}catch(n){t=e.body||null}for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function z(e,t){var n=e.className;S(t).test(n)||(e.className+=(n?" ":"")+t)}function O(e,t){for(var n=e.split(" "),i=0;i<n.length;i++)n[i]&&!S(n[i]).test(t)&&(t+=" "+n[i]);return t}A=document.createRange?function(e,t,n,i){var r=document.createRange();return r.setEnd(i||e,n),r.setStart(e,t),r}:function(e,t,n){var i=document.body.createTextRange();try{i.moveToElementText(e.parentNode)}catch(e){return i}return i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",t),i};var F=function(e){e.select()};function j(e){return e.display.wrapper.ownerDocument}function D(e){return j(e).defaultView}function N(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function q(e,t,n){for(var i in t||(t={}),e)!e.hasOwnProperty(i)||!1===n&&t.hasOwnProperty(i)||(t[i]=e[i]);return t}function B(e,t,n,i,r){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);for(var o=i||0,s=r||0;;){var a=e.indexOf("\t",o);if(a<0||a>=t)return s+(t-o);s+=a-o,s+=n-s%n,o=a+1}}g?F=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:s&&(F=function(e){try{e.select()}catch(e){}});var G=function(){this.id=null,this.f=null,this.time=0,this.handler=N(this.onTimeout,this)};function V(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}G.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},G.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=n)};var H={toString:function(){return"CodeMirror.Pass"}},W={scroll:!1},U={origin:"*mouse"},$={origin:"+move"};function Z(e,t,n){for(var i=0,r=0;;){var o=e.indexOf("\t",i);-1==o&&(o=e.length);var s=o-i;if(o==e.length||r+s>=t)return i+Math.min(s,t-r);if(r+=o-i,i=o+1,(r+=n-r%n)>=t)return i}}var K=[""];function X(e){for(;K.length<=e;)K.push(Y(K)+" ");return K[e]}function Y(e){return e[e.length-1]}function Q(e,t){for(var n=[],i=0;i<e.length;i++)n[i]=t(e[i],i);return n}function J(){}function ee(e,t){var n;return Object.create?n=Object.create(e):(J.prototype=e,n=new J),t&&q(t,n),n}var te=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function ne(e){return/\w/.test(e)||e>""&&(e.toUpperCase()!=e.toLowerCase()||te.test(e))}function ie(e,t){return t?!!(t.source.indexOf("\\w")>-1&&ne(e))||t.test(e):ne(e)}function re(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var oe=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function se(e){return e.charCodeAt(0)>=768&&oe.test(e)}function ae(e,t,n){for(;(n<0?t>0:t<e.length)&&se(e.charAt(t));)t+=n;return t}function le(e,t,n){for(var i=t>n?-1:1;;){if(t==n)return t;var r=(t+n)/2,o=i<0?Math.ceil(r):Math.floor(r);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+i}}var ce=null;function ue(e,t,n){var i;ce=null;for(var r=0;r<e.length;++r){var o=e[r];if(o.from<t&&o.to>t)return r;o.to==t&&(o.from!=o.to&&"before"==n?i=r:ce=r),o.from==t&&(o.from!=o.to&&"before"!=n?i=r:ce=r)}return null!=i?i:ce}var de=function(){var e=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,t=/[stwN]/,n=/[LRr]/,i=/[Lb1n]/,r=/[1n]/;function o(e,t,n){this.level=e,this.from=t,this.to=n}return function(s,a){var l,c="ltr"==a?"L":"R";if(0==s.length||"ltr"==a&&!e.test(s))return!1;for(var u=s.length,d=[],h=0;h<u;++h)d.push((l=s.charCodeAt(h))<=247?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(l):1424<=l&&l<=1524?"R":1536<=l&&l<=1785?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(l-1536):1774<=l&&l<=2220?"r":8192<=l&&l<=8203?"w":8204==l?"b":"L");for(var p=0,f=c;p<u;++p){var _=d[p];"m"==_?d[p]=f:f=_}for(var g=0,m=c;g<u;++g){var y=d[g];"1"==y&&"r"==m?d[g]="n":n.test(y)&&(m=y,"r"==y&&(d[g]="R"))}for(var v=1,b=d[0];v<u-1;++v){var x=d[v];"+"==x&&"1"==b&&"1"==d[v+1]?d[v]="1":","!=x||b!=d[v+1]||"1"!=b&&"n"!=b||(d[v]=b),b=x}for(var w=0;w<u;++w){var k=d[w];if(","==k)d[w]="N";else if("%"==k){var C=void 0;for(C=w+1;C<u&&"%"==d[C];++C);for(var S=w&&"!"==d[w-1]||C<u&&"1"==d[C]?"1":"N",A=w;A<C;++A)d[A]=S;w=C-1}}for(var E=0,M=c;E<u;++E){var T=d[E];"L"==M&&"1"==T?d[E]="L":n.test(T)&&(M=T)}for(var P=0;P<u;++P)if(t.test(d[P])){var R=void 0;for(R=P+1;R<u&&t.test(d[R]);++R);for(var I="L"==(P?d[P-1]:c),L=I==("L"==(R<u?d[R]:c))?I?"L":"R":c,z=P;z<R;++z)d[z]=L;P=R-1}for(var O,F=[],j=0;j<u;)if(i.test(d[j])){var D=j;for(++j;j<u&&i.test(d[j]);++j);F.push(new o(0,D,j))}else{var N=j,q=F.length,B="rtl"==a?1:0;for(++j;j<u&&"L"!=d[j];++j);for(var G=N;G<j;)if(r.test(d[G])){N<G&&(F.splice(q,0,new o(1,N,G)),q+=B);var V=G;for(++G;G<j&&r.test(d[G]);++G);F.splice(q,0,new o(2,V,G)),q+=B,N=G}else++G;N<j&&F.splice(q,0,new o(1,N,j))}return"ltr"==a&&(1==F[0].level&&(O=s.match(/^\s+/))&&(F[0].from=O[0].length,F.unshift(new o(0,0,O[0].length))),1==Y(F).level&&(O=s.match(/\s+$/))&&(Y(F).to-=O[0].length,F.push(new o(0,u-O[0].length,u)))),"rtl"==a?F.reverse():F}}();function he(e,t){var n=e.order;return null==n&&(n=e.order=de(e.text,t)),n}var pe=[],fe=function(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent)e.attachEvent("on"+t,n);else{var i=e._handlers||(e._handlers={});i[t]=(i[t]||pe).concat(n)}};function _e(e,t){return e._handlers&&e._handlers[t]||pe}function ge(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent("on"+t,n);else{var i=e._handlers,r=i&&i[t];if(r){var o=V(r,n);o>-1&&(i[t]=r.slice(0,o).concat(r.slice(o+1)))}}}function me(e,t){var n=_e(e,t);if(n.length)for(var i=Array.prototype.slice.call(arguments,2),r=0;r<n.length;++r)n[r].apply(null,i)}function ye(e,t,n){return"string"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),me(e,n||t.type,e,t),Ce(t)||t.codemirrorIgnore}function ve(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),i=0;i<t.length;++i)-1==V(n,t[i])&&n.push(t[i])}function be(e,t){return _e(e,t).length>0}function xe(e){e.prototype.on=function(e,t){fe(this,e,t)},e.prototype.off=function(e,t){ge(this,e,t)}}function we(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function ke(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Ce(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Se(e){we(e),ke(e)}function Ae(e){return e.target||e.srcElement}function Ee(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),v&&e.ctrlKey&&1==t&&(t=3),t}var Me,Te,Pe=function(){if(s&&a<9)return!1;var e=P("div");return"draggable"in e||"dragDrop"in e}();function Re(e){if(null==Me){var t=P("span","");T(e,P("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Me=t.offsetWidth<=1&&t.offsetHeight>2&&!(s&&a<8))}var n=Me?P("span",""):P("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Ie(e){if(null!=Te)return Te;var t=T(e,document.createTextNode("AخA")),n=A(t,0,1).getBoundingClientRect(),i=A(t,1,2).getBoundingClientRect();return M(e),!(!n||n.left==n.right)&&(Te=i.right-n.right<3)}var Le,ze=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],i=e.length;t<=i;){var r=e.indexOf("\n",t);-1==r&&(r=e.length);var o=e.slice(t,"\r"==e.charAt(r-1)?r-1:r),s=o.indexOf("\r");-1!=s?(n.push(o.slice(0,s)),t+=s+1):(n.push(o),t=r+1)}return n}:function(e){return e.split(/\r\n?|\n/)},Oe=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},Fe="oncopy"in(Le=P("div"))||(Le.setAttribute("oncopy","return;"),"function"==typeof Le.oncopy),je=null;var De={},Ne={};function qe(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),De[e]=t}function Be(e){if("string"==typeof e&&Ne.hasOwnProperty(e))e=Ne[e];else if(e&&"string"==typeof e.name&&Ne.hasOwnProperty(e.name)){var t=Ne[e.name];"string"==typeof t&&(t={name:t}),(e=ee(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Be("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Be("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function Ge(e,t){t=Be(t);var n=De[t.name];if(!n)return Ge(e,"text/plain");var i=n(e,t);if(Ve.hasOwnProperty(t.name)){var r=Ve[t.name];for(var o in r)r.hasOwnProperty(o)&&(i.hasOwnProperty(o)&&(i["_"+o]=i[o]),i[o]=r[o])}if(i.name=t.name,t.helperType&&(i.helperType=t.helperType),t.modeProps)for(var s in t.modeProps)i[s]=t.modeProps[s];return i}var Ve={};function He(e,t){q(t,Ve.hasOwnProperty(e)?Ve[e]:Ve[e]={})}function We(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var i in t){var r=t[i];r instanceof Array&&(r=r.concat([])),n[i]=r}return n}function Ue(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function $e(e,t,n){return!e.startState||e.startState(t,n)}var Ze=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ke(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var i=0;;++i){var r=n.children[i],o=r.chunkSize();if(t<o){n=r;break}t-=o}return n.lines[t]}function Xe(e,t,n){var i=[],r=t.line;return e.iter(t.line,n.line+1,(function(e){var o=e.text;r==n.line&&(o=o.slice(0,n.ch)),r==t.line&&(o=o.slice(t.ch)),i.push(o),++r})),i}function Ye(e,t,n){var i=[];return e.iter(t,n,(function(e){i.push(e.text)})),i}function Qe(e,t){var n=t-e.height;if(n)for(var i=e;i;i=i.parent)i.height+=n}function Je(e){if(null==e.parent)return null;for(var t=e.parent,n=V(t.lines,e),i=t.parent;i;t=i,i=i.parent)for(var r=0;i.children[r]!=t;++r)n+=i.children[r].chunkSize();return n+t.first}function et(e,t){var n=e.first;e:do{for(var i=0;i<e.children.length;++i){var r=e.children[i],o=r.height;if(t<o){e=r;continue e}t-=o,n+=r.chunkSize()}return n}while(!e.lines);for(var s=0;s<e.lines.length;++s){var a=e.lines[s].height;if(t<a)break;t-=a}return n+s}function tt(e,t){return t>=e.first&&t<e.first+e.size}function nt(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function it(e,t,n){if(void 0===n&&(n=null),!(this instanceof it))return new it(e,t,n);this.line=e,this.ch=t,this.sticky=n}function rt(e,t){return e.line-t.line||e.ch-t.ch}function ot(e,t){return e.sticky==t.sticky&&0==rt(e,t)}function st(e){return it(e.line,e.ch)}function at(e,t){return rt(e,t)<0?t:e}function lt(e,t){return rt(e,t)<0?e:t}function ct(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function ut(e,t){if(t.line<e.first)return it(e.first,0);var n=e.first+e.size-1;return t.line>n?it(n,Ke(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?it(e.line,t):n<0?it(e.line,0):e}(t,Ke(e,t.line).text.length)}function dt(e,t){for(var n=[],i=0;i<t.length;i++)n[i]=ut(e,t[i]);return n}Ze.prototype.eol=function(){return this.pos>=this.string.length},Ze.prototype.sol=function(){return this.pos==this.lineStart},Ze.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Ze.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Ze.prototype.eat=function(e){var t=this.string.charAt(this.pos);if("string"==typeof e?t==e:t&&(e.test?e.test(t):e(t)))return++this.pos,t},Ze.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},Ze.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},Ze.prototype.skipToEnd=function(){this.pos=this.string.length},Ze.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},Ze.prototype.backUp=function(e){this.pos-=e},Ze.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=B(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?B(this.string,this.lineStart,this.tabSize):0)},Ze.prototype.indentation=function(){return B(this.string,null,this.tabSize)-(this.lineStart?B(this.string,this.lineStart,this.tabSize):0)},Ze.prototype.match=function(e,t,n){if("string"!=typeof e){var i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}var r=function(e){return n?e.toLowerCase():e};if(r(this.string.substr(this.pos,e.length))==r(e))return!1!==t&&(this.pos+=e.length),!0},Ze.prototype.current=function(){return this.string.slice(this.start,this.pos)},Ze.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},Ze.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},Ze.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ht=function(e,t){this.state=e,this.lookAhead=t},pt=function(e,t,n,i){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=i||0,this.baseTokens=null,this.baseTokenPos=1};function ft(e,t,n,i){var r=[e.state.modeGen],o={};kt(e,t.text,e.doc.mode,n,(function(e,t){return r.push(e,t)}),o,i);for(var s=n.state,a=function(i){n.baseTokens=r;var a=e.state.overlays[i],l=1,c=0;n.state=!0,kt(e,t.text,a.mode,n,(function(e,t){for(var n=l;c<e;){var i=r[l];i>e&&r.splice(l,1,e,r[l+1],i),l+=2,c=Math.min(e,i)}if(t)if(a.opaque)r.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;n<l;n+=2){var o=r[n+1];r[n+1]=(o?o+" ":"")+"overlay "+t}}),o),n.state=s,n.baseTokens=null,n.baseTokenPos=1},l=0;l<e.state.overlays.length;++l)a(l);return{styles:r,classes:o.bgClass||o.textClass?o:null}}function _t(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var i=gt(e,Je(t)),r=t.text.length>e.options.maxHighlightLength&&We(e.doc.mode,i.state),o=ft(e,t,i);r&&(i.state=r),t.stateAfter=i.save(!r),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function gt(e,t,n){var i=e.doc,r=e.display;if(!i.mode.startState)return new pt(i,!0,t);var o=function(e,t,n){for(var i,r,o=e.doc,s=n?-1:t-(e.doc.mode.innerMode?1e3:100),a=t;a>s;--a){if(a<=o.first)return o.first;var l=Ke(o,a-1),c=l.stateAfter;if(c&&(!n||a+(c instanceof ht?c.lookAhead:0)<=o.modeFrontier))return a;var u=B(l.text,null,e.options.tabSize);(null==r||i>u)&&(r=a-1,i=u)}return r}(e,t,n),s=o>i.first&&Ke(i,o-1).stateAfter,a=s?pt.fromSaved(i,s,o):new pt(i,$e(i.mode),o);return i.iter(o,t,(function(n){mt(e,n.text,a);var i=a.line;n.stateAfter=i==t-1||i%5==0||i>=r.viewFrom&&i<r.viewTo?a.save():null,a.nextLine()})),n&&(i.modeFrontier=a.line),a}function mt(e,t,n,i){var r=e.doc.mode,o=new Ze(t,e.options.tabSize,n);for(o.start=o.pos=i||0,""==t&&yt(r,n.state);!o.eol();)vt(r,o,n.state),o.start=o.pos}function yt(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var n=Ue(e,t);return n.mode.blankLine?n.mode.blankLine(n.state):void 0}}function vt(e,t,n,i){for(var r=0;r<10;r++){i&&(i[0]=Ue(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}pt.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},pt.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},pt.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},pt.fromSaved=function(e,t,n){return t instanceof ht?new pt(e,We(e.mode,t.state),n,t.lookAhead):new pt(e,We(e.mode,t),n)},pt.prototype.save=function(e){var t=!1!==e?We(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ht(t,this.maxLookAhead):t};var bt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function xt(e,t,n,i){var r,o,s=e.doc,a=s.mode,l=Ke(s,(t=ut(s,t)).line),c=gt(e,t.line,n),u=new Ze(l.text,e.options.tabSize,c);for(i&&(o=[]);(i||u.pos<t.ch)&&!u.eol();)u.start=u.pos,r=vt(a,u,c.state),i&&o.push(new bt(u,r,We(s.mode,c.state)));return i?o:new bt(u,r,c.state)}function wt(e,t){if(e)for(;;){var n=e.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var i=n[1]?"bgClass":"textClass";null==t[i]?t[i]=n[2]:new RegExp("(?:^|\\s)"+n[2]+"(?:$|\\s)").test(t[i])||(t[i]+=" "+n[2])}return e}function kt(e,t,n,i,r,o,s){var a=n.flattenSpans;null==a&&(a=e.options.flattenSpans);var l,c=0,u=null,d=new Ze(t,e.options.tabSize,i),h=e.options.addModeClass&&[null];for(""==t&&wt(yt(n,i.state),o);!d.eol();){if(d.pos>e.options.maxHighlightLength?(a=!1,s&&mt(e,t,i,d.pos),d.pos=t.length,l=null):l=wt(vt(n,d,i.state,h),o),h){var p=h[0].name;p&&(l="m-"+(l?p+" "+l:p))}if(!a||u!=l){for(;c<d.start;)r(c=Math.min(d.start,c+5e3),u);u=l}d.start=d.pos}for(;c<d.pos;){var f=Math.min(d.pos,c+5e3);r(f,u),c=f}}var Ct=!1,St=!1;function At(e,t,n){this.marker=e,this.from=t,this.to=n}function Et(e,t){if(e)for(var n=0;n<e.length;++n){var i=e[n];if(i.marker==t)return i}}function Mt(e,t){for(var n,i=0;i<e.length;++i)e[i]!=t&&(n||(n=[])).push(e[i]);return n}function Tt(e,t){if(t.full)return null;var n=tt(e,t.from.line)&&Ke(e,t.from.line).markedSpans,i=tt(e,t.to.line)&&Ke(e,t.to.line).markedSpans;if(!n&&!i)return null;var r=t.from.ch,o=t.to.ch,s=0==rt(t.from,t.to),a=function(e,t,n){var i;if(e)for(var r=0;r<e.length;++r){var o=e[r],s=o.marker;if(null==o.from||(s.inclusiveLeft?o.from<=t:o.from<t)||o.from==t&&"bookmark"==s.type&&(!n||!o.marker.insertLeft)){var a=null==o.to||(s.inclusiveRight?o.to>=t:o.to>t);(i||(i=[])).push(new At(s,o.from,a?null:o.to))}}return i}(n,r,s),l=function(e,t,n){var i;if(e)for(var r=0;r<e.length;++r){var o=e[r],s=o.marker;if(null==o.to||(s.inclusiveRight?o.to>=t:o.to>t)||o.from==t&&"bookmark"==s.type&&(!n||o.marker.insertLeft)){var a=null==o.from||(s.inclusiveLeft?o.from<=t:o.from<t);(i||(i=[])).push(new At(s,a?null:o.from-t,null==o.to?null:o.to-t))}}return i}(i,o,s),c=1==t.text.length,u=Y(t.text).length+(c?r:0);if(a)for(var d=0;d<a.length;++d){var h=a[d];if(null==h.to){var p=Et(l,h.marker);p?c&&(h.to=null==p.to?null:p.to+u):h.to=r}}if(l)for(var f=0;f<l.length;++f){var _=l[f];null!=_.to&&(_.to+=u),null==_.from?Et(a,_.marker)||(_.from=u,c&&(a||(a=[])).push(_)):(_.from+=u,c&&(a||(a=[])).push(_))}a&&(a=Pt(a)),l&&l!=a&&(l=Pt(l));var g=[a];if(!c){var m,y=t.text.length-2;if(y>0&&a)for(var v=0;v<a.length;++v)null==a[v].to&&(m||(m=[])).push(new At(a[v].marker,null,null));for(var b=0;b<y;++b)g.push(m);g.push(l)}return g}function Pt(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function Rt(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function It(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function Lt(e){return e.inclusiveLeft?-1:0}function zt(e){return e.inclusiveRight?1:0}function Ot(e,t){var n=e.lines.length-t.lines.length;if(0!=n)return n;var i=e.find(),r=t.find(),o=rt(i.from,r.from)||Lt(e)-Lt(t);return o?-o:rt(i.to,r.to)||zt(e)-zt(t)||t.id-e.id}function Ft(e,t){var n,i=St&&e.markedSpans;if(i)for(var r=void 0,o=0;o<i.length;++o)(r=i[o]).marker.collapsed&&null==(t?r.from:r.to)&&(!n||Ot(n,r.marker)<0)&&(n=r.marker);return n}function jt(e){return Ft(e,!0)}function Dt(e){return Ft(e,!1)}function Nt(e,t){var n,i=St&&e.markedSpans;if(i)for(var r=0;r<i.length;++r){var o=i[r];o.marker.collapsed&&(null==o.from||o.from<t)&&(null==o.to||o.to>t)&&(!n||Ot(n,o.marker)<0)&&(n=o.marker)}return n}function qt(e,t,n,i,r){var o=Ke(e,t),s=St&&o.markedSpans;if(s)for(var a=0;a<s.length;++a){var l=s[a];if(l.marker.collapsed){var c=l.marker.find(0),u=rt(c.from,n)||Lt(l.marker)-Lt(r),d=rt(c.to,i)||zt(l.marker)-zt(r);if(!(u>=0&&d<=0||u<=0&&d>=0)&&(u<=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?rt(c.to,n)>=0:rt(c.to,n)>0)||u>=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?rt(c.from,i)<=0:rt(c.from,i)<0)))return!0}}}function Bt(e){for(var t;t=jt(e);)e=t.find(-1,!0).line;return e}function Gt(e,t){var n=Ke(e,t),i=Bt(n);return n==i?t:Je(i)}function Vt(e,t){if(t>e.lastLine())return t;var n,i=Ke(e,t);if(!Ht(e,i))return t;for(;n=Dt(i);)i=n.find(1,!0).line;return Je(i)+1}function Ht(e,t){var n=St&&t.markedSpans;if(n)for(var i=void 0,r=0;r<n.length;++r)if((i=n[r]).marker.collapsed){if(null==i.from)return!0;if(!i.marker.widgetNode&&0==i.from&&i.marker.inclusiveLeft&&Wt(e,t,i))return!0}}function Wt(e,t,n){if(null==n.to){var i=n.marker.find(1,!0);return Wt(e,i.line,Et(i.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var r=void 0,o=0;o<t.markedSpans.length;++o)if((r=t.markedSpans[o]).marker.collapsed&&!r.marker.widgetNode&&r.from==n.to&&(null==r.to||r.to!=n.from)&&(r.marker.inclusiveLeft||n.marker.inclusiveRight)&&Wt(e,t,r))return!0}function Ut(e){for(var t=0,n=(e=Bt(e)).parent,i=0;i<n.lines.length;++i){var r=n.lines[i];if(r==e)break;t+=r.height}for(var o=n.parent;o;o=(n=o).parent)for(var s=0;s<o.children.length;++s){var a=o.children[s];if(a==n)break;t+=a.height}return t}function $t(e){if(0==e.height)return 0;for(var t,n=e.text.length,i=e;t=jt(i);){var r=t.find(0,!0);i=r.from.line,n+=r.from.ch-r.to.ch}for(i=e;t=Dt(i);){var o=t.find(0,!0);n-=i.text.length-o.from.ch,n+=(i=o.to.line).text.length-o.to.ch}return n}function Zt(e){var t=e.display,n=e.doc;t.maxLine=Ke(n,n.first),t.maxLineLength=$t(t.maxLine),t.maxLineChanged=!0,n.iter((function(e){var n=$t(e);n>t.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)}))}var Kt=function(e,t,n){this.text=e,It(this,t),this.height=n?n(this):1};function Xt(e){e.parent=null,Rt(e)}Kt.prototype.lineNo=function(){return Je(this)},xe(Kt);var Yt={},Qt={};function Jt(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?Qt:Yt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function en(e,t){var n=R("span",null,null,l?"padding-right: .1px":null),i={pre:R("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var r=0;r<=(t.rest?t.rest.length:0);r++){var o=r?t.rest[r-1]:t.line,s=void 0;i.pos=0,i.addToken=nn,Ie(e.display.measure)&&(s=he(o,e.doc.direction))&&(i.addToken=rn(i.addToken,s)),i.map=[],sn(o,i,_t(e,o,t!=e.display.externalMeasured&&Je(o))),o.styleClasses&&(o.styleClasses.bgClass&&(i.bgClass=O(o.styleClasses.bgClass,i.bgClass||"")),o.styleClasses.textClass&&(i.textClass=O(o.styleClasses.textClass,i.textClass||""))),0==i.map.length&&i.map.push(0,0,i.content.appendChild(Re(e.display.measure))),0==r?(t.measure.map=i.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(i.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var a=i.content.lastChild;(/\bcm-tab\b/.test(a.className)||a.querySelector&&a.querySelector(".cm-tab"))&&(i.content.className="cm-tab-wrap-hack")}return me(e,"renderLine",e,t.line,i.pre),i.pre.className&&(i.textClass=O(i.pre.className,i.textClass||"")),i}function tn(e){var t=P("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function nn(e,t,n,i,r,o,l){if(t){var c,u=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,i="",r=0;r<e.length;r++){var o=e.charAt(r);" "!=o||!n||r!=e.length-1&&32!=e.charCodeAt(r+1)||(o=" "),i+=o,n=" "==o}return i}(t,e.trailingSpace):t,d=e.cm.state.specialChars,h=!1;if(d.test(t)){c=document.createDocumentFragment();for(var p=0;;){d.lastIndex=p;var f=d.exec(t),_=f?f.index-p:t.length-p;if(_){var g=document.createTextNode(u.slice(p,p+_));s&&a<9?c.appendChild(P("span",[g])):c.appendChild(g),e.map.push(e.pos,e.pos+_,g),e.col+=_,e.pos+=_}if(!f)break;p+=_+1;var m=void 0;if("\t"==f[0]){var y=e.cm.options.tabSize,v=y-e.col%y;(m=c.appendChild(P("span",X(v),"cm-tab"))).setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),e.col+=v}else"\r"==f[0]||"\n"==f[0]?((m=c.appendChild(P("span","\r"==f[0]?"␍":"","cm-invalidchar"))).setAttribute("cm-text",f[0]),e.col+=1):((m=e.cm.options.specialCharPlaceholder(f[0])).setAttribute("cm-text",f[0]),s&&a<9?c.appendChild(P("span",[m])):c.appendChild(m),e.col+=1);e.map.push(e.pos,e.pos+1,m),e.pos++}}else e.col+=t.length,c=document.createTextNode(u),e.map.push(e.pos,e.pos+t.length,c),s&&a<9&&(h=!0),e.pos+=t.length;if(e.trailingSpace=32==u.charCodeAt(t.length-1),n||i||r||h||o||l){var b=n||"";i&&(b+=i),r&&(b+=r);var x=P("span",[c],b,o);if(l)for(var w in l)l.hasOwnProperty(w)&&"style"!=w&&"class"!=w&&x.setAttribute(w,l[w]);return e.content.appendChild(x)}e.content.appendChild(c)}}function rn(e,t){return function(n,i,r,o,s,a,l){r=r?r+" cm-force-border":"cm-force-border";for(var c=n.pos,u=c+i.length;;){for(var d=void 0,h=0;h<t.length&&!((d=t[h]).to>c&&d.from<=c);h++);if(d.to>=u)return e(n,i,r,o,s,a,l);e(n,i.slice(0,d.to-c),r,o,null,a,l),o=null,i=i.slice(d.to-c),c=d.to}}}function on(e,t,n,i){var r=!i&&n.widgetNode;r&&e.map.push(e.pos,e.pos+t,r),!i&&e.cm.display.input.needsContentAttribute&&(r||(r=e.content.appendChild(document.createElement("span"))),r.setAttribute("cm-marker",n.id)),r&&(e.cm.display.input.setUneditable(r),e.content.appendChild(r)),e.pos+=t,e.trailingSpace=!1}function sn(e,t,n){var i=e.markedSpans,r=e.text,o=0;if(i)for(var s,a,l,c,u,d,h,p=r.length,f=0,_=1,g="",m=0;;){if(m==f){l=c=u=a="",h=null,d=null,m=1/0;for(var y=[],v=void 0,b=0;b<i.length;++b){var x=i[b],w=x.marker;if("bookmark"==w.type&&x.from==f&&w.widgetNode)y.push(w);else if(x.from<=f&&(null==x.to||x.to>f||w.collapsed&&x.to==f&&x.from==f)){if(null!=x.to&&x.to!=f&&m>x.to&&(m=x.to,c=""),w.className&&(l+=" "+w.className),w.css&&(a=(a?a+";":"")+w.css),w.startStyle&&x.from==f&&(u+=" "+w.startStyle),w.endStyle&&x.to==m&&(v||(v=[])).push(w.endStyle,x.to),w.title&&((h||(h={})).title=w.title),w.attributes)for(var k in w.attributes)(h||(h={}))[k]=w.attributes[k];w.collapsed&&(!d||Ot(d.marker,w)<0)&&(d=x)}else x.from>f&&m>x.from&&(m=x.from)}if(v)for(var C=0;C<v.length;C+=2)v[C+1]==m&&(c+=" "+v[C]);if(!d||d.from==f)for(var S=0;S<y.length;++S)on(t,0,y[S]);if(d&&(d.from||0)==f){if(on(t,(null==d.to?p+1:d.to)-f,d.marker,null==d.from),null==d.to)return;d.to==f&&(d=!1)}}if(f>=p)break;for(var A=Math.min(p,m);;){if(g){var E=f+g.length;if(!d){var M=E>A?g.slice(0,A-f):g;t.addToken(t,M,s?s+l:l,u,f+M.length==m?c:"",a,h)}if(E>=A){g=g.slice(A-f),f=A;break}f=E,u=""}g=r.slice(o,o=n[_++]),s=Jt(n[_++],t.cm.options)}}else for(var T=1;T<n.length;T+=2)t.addToken(t,r.slice(o,o=n[T]),Jt(n[T+1],t.cm.options))}function an(e,t,n){this.line=t,this.rest=function(e){for(var t,n;t=Dt(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}(t),this.size=this.rest?Je(Y(this.rest))-n+1:1,this.node=this.text=null,this.hidden=Ht(e,t)}function ln(e,t,n){for(var i,r=[],o=t;o<n;o=i){var s=new an(e.doc,Ke(e.doc,o),o);i=o+s.size,r.push(s)}return r}var cn=null;var un=null;function dn(e,t){var n=_e(e,t);if(n.length){var i,r=Array.prototype.slice.call(arguments,2);cn?i=cn.delayedCallbacks:un?i=un:(i=un=[],setTimeout(hn,0));for(var o=function(e){i.push((function(){return n[e].apply(null,r)}))},s=0;s<n.length;++s)o(s)}}function hn(){var e=un;un=null;for(var t=0;t<e.length;++t)e[t]()}function pn(e,t,n,i){for(var r=0;r<t.changes.length;r++){var o=t.changes[r];"text"==o?gn(e,t):"gutter"==o?yn(e,t,n,i):"class"==o?mn(e,t):"widget"==o&&vn(e,t,i)}t.changes=null}function fn(e){return e.node==e.text&&(e.node=P("div",null,null,"position: relative"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),s&&a<8&&(e.node.style.zIndex=2)),e.node}function _n(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):en(e,t)}function gn(e,t){var n=t.text.className,i=_n(e,t);t.text==t.node&&(t.node=i.pre),t.text.parentNode.replaceChild(i.pre,t.text),t.text=i.pre,i.bgClass!=t.bgClass||i.textClass!=t.textClass?(t.bgClass=i.bgClass,t.textClass=i.textClass,mn(e,t)):n&&(t.text.className=n)}function mn(e,t){(function(e,t){var n=t.bgClass?t.bgClass+" "+(t.line.bgClass||""):t.line.bgClass;if(n&&(n+=" CodeMirror-linebackground"),t.background)n?t.background.className=n:(t.background.parentNode.removeChild(t.background),t.background=null);else if(n){var i=fn(t);t.background=i.insertBefore(P("div",null,n),i.firstChild),e.display.input.setUneditable(t.background)}})(e,t),t.line.wrapClass?fn(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className="");var n=t.textClass?t.textClass+" "+(t.line.textClass||""):t.line.textClass;t.text.className=n||""}function yn(e,t,n,i){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var r=fn(t);t.gutterBackground=P("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px; width: "+i.gutterTotalWidth+"px"),e.display.input.setUneditable(t.gutterBackground),r.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var s=fn(t),a=t.gutter=P("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px");if(a.setAttribute("aria-hidden","true"),e.display.input.setUneditable(a),s.insertBefore(a,t.text),t.line.gutterClass&&(a.className+=" "+t.line.gutterClass),!e.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(t.lineNumber=a.appendChild(P("div",nt(e.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+i.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),o)for(var l=0;l<e.display.gutterSpecs.length;++l){var c=e.display.gutterSpecs[l].className,u=o.hasOwnProperty(c)&&o[c];u&&a.appendChild(P("div",[u],"CodeMirror-gutter-elt","left: "+i.gutterLeft[c]+"px; width: "+i.gutterWidth[c]+"px"))}}}function vn(e,t,n){t.alignable&&(t.alignable=null);for(var i=S("CodeMirror-linewidget"),r=t.node.firstChild,o=void 0;r;r=o)o=r.nextSibling,i.test(r.className)&&t.node.removeChild(r);xn(e,t,n)}function bn(e,t,n,i){var r=_n(e,t);return t.text=t.node=r.pre,r.bgClass&&(t.bgClass=r.bgClass),r.textClass&&(t.textClass=r.textClass),mn(e,t),yn(e,t,n,i),xn(e,t,i),t.node}function xn(e,t,n){if(wn(e,t.line,t,n,!0),t.rest)for(var i=0;i<t.rest.length;i++)wn(e,t.rest[i],t,n,!1)}function wn(e,t,n,i,r){if(t.widgets)for(var o=fn(n),s=0,a=t.widgets;s<a.length;++s){var l=a[s],c=P("div",[l.node],"CodeMirror-linewidget"+(l.className?" "+l.className:""));l.handleMouseEvents||c.setAttribute("cm-ignore-events","true"),kn(l,c,n,i),e.display.input.setUneditable(c),r&&l.above?o.insertBefore(c,n.gutter||n.text):o.appendChild(c),dn(l,"redraw")}}function kn(e,t,n,i){if(e.noHScroll){(n.alignable||(n.alignable=[])).push(t);var r=i.wrapperWidth;t.style.left=i.fixedPos+"px",e.coverGutter||(r-=i.gutterTotalWidth,t.style.paddingLeft=i.gutterTotalWidth+"px"),t.style.width=r+"px"}e.coverGutter&&(t.style.zIndex=5,t.style.position="relative",e.noHScroll||(t.style.marginLeft=-i.gutterTotalWidth+"px"))}function Cn(e){if(null!=e.height)return e.height;var t=e.doc.cm;if(!t)return 0;if(!I(document.body,e.node)){var n="position: relative;";e.coverGutter&&(n+="margin-left: -"+t.display.gutters.offsetWidth+"px;"),e.noHScroll&&(n+="width: "+t.display.wrapper.clientWidth+"px;"),T(t.display.measure,P("div",[e.node],null,n))}return e.height=e.node.parentNode.offsetHeight}function Sn(e,t){for(var n=Ae(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&"true"==n.getAttribute("cm-ignore-events")||n.parentNode==e.sizer&&n!=e.mover)return!0}function An(e){return e.lineSpace.offsetTop}function En(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function Mn(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=T(e.measure,P("pre","x","CodeMirror-line-like")),n=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,i={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return isNaN(i.left)||isNaN(i.right)||(e.cachedPaddingH=i),i}function Tn(e){return 50-e.display.nativeBarWidth}function Pn(e){return e.display.scroller.clientWidth-Tn(e)-e.display.barWidth}function Rn(e){return e.display.scroller.clientHeight-Tn(e)-e.display.barHeight}function In(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var i=0;i<e.rest.length;i++)if(e.rest[i]==t)return{map:e.measure.maps[i],cache:e.measure.caches[i]};for(var r=0;r<e.rest.length;r++)if(Je(e.rest[r])>n)return{map:e.measure.maps[r],cache:e.measure.caches[r],before:!0}}}function Ln(e,t,n,i){return Fn(e,On(e,t),n,i)}function zn(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[pi(e,t)];var n=e.display.externalMeasured;return n&&t>=n.lineN&&t<n.lineN+n.size?n:void 0}function On(e,t){var n=Je(t),i=zn(e,n);i&&!i.text?i=null:i&&i.changes&&(pn(e,i,n,li(e)),e.curOp.forceUpdate=!0),i||(i=function(e,t){var n=Je(t=Bt(t)),i=e.display.externalMeasured=new an(e.doc,t,n);i.lineN=n;var r=i.built=en(e,i);return i.text=r.pre,T(e.display.lineMeasure,r.pre),i}(e,t));var r=In(i,t,n);return{line:t,view:i,rect:null,map:r.map,cache:r.cache,before:r.before,hasHeights:!1}}function Fn(e,t,n,i,r){t.before&&(n=-1);var o,l=n+(i||"");return t.cache.hasOwnProperty(l)?o=t.cache[l]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(function(e,t,n){var i=e.options.lineWrapping,r=i&&Pn(e);if(!t.measure.heights||i&&t.measure.width!=r){var o=t.measure.heights=[];if(i){t.measure.width=r;for(var s=t.text.firstChild.getClientRects(),a=0;a<s.length-1;a++){var l=s[a],c=s[a+1];Math.abs(l.bottom-c.bottom)>2&&o.push((l.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,i){var r,o=Nn(t.map,n,i),l=o.node,c=o.start,u=o.end,d=o.collapse;if(3==l.nodeType){for(var h=0;h<4;h++){for(;c&&se(t.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+u<o.coverEnd&&se(t.line.text.charAt(o.coverStart+u));)++u;if((r=s&&a<9&&0==c&&u==o.coverEnd-o.coverStart?l.parentNode.getBoundingClientRect():qn(A(l,c,u).getClientRects(),i)).left||r.right||0==c)break;u=c,c-=1,d="right"}s&&a<11&&(r=function(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(e){if(null!=je)return je;var t=T(e,P("span","x")),n=t.getBoundingClientRect(),i=A(t,0,1).getBoundingClientRect();return je=Math.abs(n.left-i.left)>1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,i=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*i,bottom:t.bottom*i}}(e.display.measure,r))}else{var p;c>0&&(d=i="right"),r=e.options.lineWrapping&&(p=l.getClientRects()).length>1?p["right"==i?p.length-1:0]:l.getBoundingClientRect()}if(s&&a<9&&!c&&(!r||!r.left&&!r.right)){var f=l.parentNode.getClientRects()[0];r=f?{left:f.left,right:f.left+ai(e.display),top:f.top,bottom:f.bottom}:Dn}for(var _=r.top-t.rect.top,g=r.bottom-t.rect.top,m=(_+g)/2,y=t.view.measure.heights,v=0;v<y.length-1&&!(m<y[v]);v++);var b=v?y[v-1]:0,x=y[v],w={left:("right"==d?r.right:r.left)-t.rect.left,right:("left"==d?r.left:r.right)-t.rect.left,top:b,bottom:x};return r.left||r.right||(w.bogus=!0),e.options.singleCursorHeightPerLine||(w.rtop=_,w.rbottom=g),w}(e,t,n,i)).bogus||(t.cache[l]=o)),{left:o.left,right:o.right,top:r?o.rtop:o.top,bottom:r?o.rbottom:o.bottom}}var jn,Dn={left:0,right:0,top:0,bottom:0};function Nn(e,t,n){for(var i,r,o,s,a,l,c=0;c<e.length;c+=3)if(a=e[c],l=e[c+1],t<a?(r=0,o=1,s="left"):t<l?o=1+(r=t-a):(c==e.length-3||t==l&&e[c+3]>t)&&(r=(o=l-a)-1,t>=l&&(s="right")),null!=r){if(i=e[c+2],a==l&&n==(i.insertLeft?"left":"right")&&(s=n),"left"==n&&0==r)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)i=e[2+(c-=3)],s="left";if("right"==n&&r==l-a)for(;c<e.length-3&&e[c+3]==e[c+4]&&!e[c+5].insertLeft;)i=e[(c+=3)+2],s="right";break}return{node:i,start:r,end:o,collapse:s,coverStart:a,coverEnd:l}}function qn(e,t){var n=Dn;if("left"==t)for(var i=0;i<e.length&&(n=e[i]).left==n.right;i++);else for(var r=e.length-1;r>=0&&(n=e[r]).left==n.right;r--);return n}function Bn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Gn(e){e.display.externalMeasure=null,M(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)Bn(e.display.view[t])}function Vn(e){Gn(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function Hn(e){return u&&m?-(e.body.getBoundingClientRect().left-parseInt(getComputedStyle(e.body).marginLeft)):e.defaultView.pageXOffset||(e.documentElement||e.body).scrollLeft}function Wn(e){return u&&m?-(e.body.getBoundingClientRect().top-parseInt(getComputedStyle(e.body).marginTop)):e.defaultView.pageYOffset||(e.documentElement||e.body).scrollTop}function Un(e){var t=Bt(e).widgets,n=0;if(t)for(var i=0;i<t.length;++i)t[i].above&&(n+=Cn(t[i]));return n}function $n(e,t,n,i,r){if(!r){var o=Un(t);n.top+=o,n.bottom+=o}if("line"==i)return n;i||(i="local");var s=Ut(t);if("local"==i?s+=An(e.display):s-=e.display.viewOffset,"page"==i||"window"==i){var a=e.display.lineSpace.getBoundingClientRect();s+=a.top+("window"==i?0:Wn(j(e)));var l=a.left+("window"==i?0:Hn(j(e)));n.left+=l,n.right+=l}return n.top+=s,n.bottom+=s,n}function Zn(e,t,n){if("div"==n)return t;var i=t.left,r=t.top;if("page"==n)i-=Hn(j(e)),r-=Wn(j(e));else if("local"==n||!n){var o=e.display.sizer.getBoundingClientRect();i+=o.left,r+=o.top}var s=e.display.lineSpace.getBoundingClientRect();return{left:i-s.left,top:r-s.top}}function Kn(e,t,n,i,r){return i||(i=Ke(e.doc,t.line)),$n(e,i,Ln(e,i,t.ch,r),n)}function Xn(e,t,n,i,r,o){function s(t,s){var a=Fn(e,r,t,s?"right":"left",o);return s?a.left=a.right:a.right=a.left,$n(e,i,a,n)}i=i||Ke(e.doc,t.line),r||(r=On(e,i));var a=he(i,e.doc.direction),l=t.ch,c=t.sticky;if(l>=i.text.length?(l=i.text.length,c="before"):l<=0&&(l=0,c="after"),!a)return s("before"==c?l-1:l,"before"==c);function u(e,t,n){return s(n?e-1:e,1==a[t].level!=n)}var d=ue(a,l,c),h=ce,p=u(l,d,"before"==c);return null!=h&&(p.other=u(l,h,"before"!=c)),p}function Yn(e,t){var n=0;t=ut(e.doc,t),e.options.lineWrapping||(n=ai(e.display)*t.ch);var i=Ke(e.doc,t.line),r=Ut(i)+An(e.display);return{left:n,right:n,top:r,bottom:r+i.height}}function Qn(e,t,n,i,r){var o=it(e,t,n);return o.xRel=r,i&&(o.outside=i),o}function Jn(e,t,n){var i=e.doc;if((n+=e.display.viewOffset)<0)return Qn(i.first,0,null,-1,-1);var r=et(i,n),o=i.first+i.size-1;if(r>o)return Qn(i.first+i.size-1,Ke(i,o).text.length,null,1,1);t<0&&(t=0);for(var s=Ke(i,r);;){var a=ii(e,s,r,t,n),l=Nt(s,a.ch+(a.xRel>0||a.outside>0?1:0));if(!l)return a;var c=l.find(1);if(c.line==r)return c;s=Ke(i,r=c.line)}}function ei(e,t,n,i){i-=Un(t);var r=t.text.length,o=le((function(t){return Fn(e,n,t-1).bottom<=i}),r,0);return{begin:o,end:r=le((function(t){return Fn(e,n,t).top>i}),o,r)}}function ti(e,t,n,i){return n||(n=On(e,t)),ei(e,t,n,$n(e,t,Fn(e,n,i),"line").top)}function ni(e,t,n,i){return!(e.bottom<=n)&&(e.top>n||(i?e.left:e.right)>t)}function ii(e,t,n,i,r){r-=Ut(t);var o=On(e,t),s=Un(t),a=0,l=t.text.length,c=!0,u=he(t,e.doc.direction);if(u){var d=(e.options.lineWrapping?oi:ri)(e,t,n,o,u,i,r);a=(c=1!=d.level)?d.from:d.to-1,l=c?d.to:d.from-1}var h,p,f=null,_=null,g=le((function(t){var n=Fn(e,o,t);return n.top+=s,n.bottom+=s,!!ni(n,i,r,!1)&&(n.top<=r&&n.left<=i&&(f=t,_=n),!0)}),a,l),m=!1;if(_){var y=i-_.left<_.right-i,v=y==c;g=f+(v?0:1),p=v?"after":"before",h=y?_.left:_.right}else{c||g!=l&&g!=a||g++,p=0==g?"after":g==t.text.length?"before":Fn(e,o,g-(c?1:0)).bottom+s<=r==c?"after":"before";var b=Xn(e,it(n,g,p),"line",t,o);h=b.left,m=r<b.top?-1:r>=b.bottom?1:0}return Qn(n,g=ae(t.text,g,1),p,m,i-h)}function ri(e,t,n,i,r,o,s){var a=le((function(a){var l=r[a],c=1!=l.level;return ni(Xn(e,it(n,c?l.to:l.from,c?"before":"after"),"line",t,i),o,s,!0)}),0,r.length-1),l=r[a];if(a>0){var c=1!=l.level,u=Xn(e,it(n,c?l.from:l.to,c?"after":"before"),"line",t,i);ni(u,o,s,!0)&&u.top>s&&(l=r[a-1])}return l}function oi(e,t,n,i,r,o,s){var a=ei(e,t,i,s),l=a.begin,c=a.end;/\s/.test(t.text.charAt(c-1))&&c--;for(var u=null,d=null,h=0;h<r.length;h++){var p=r[h];if(!(p.from>=c||p.to<=l)){var f=Fn(e,i,1!=p.level?Math.min(c,p.to)-1:Math.max(l,p.from)).right,_=f<o?o-f+1e9:f-o;(!u||d>_)&&(u=p,d=_)}}return u||(u=r[r.length-1]),u.from<l&&(u={from:l,to:u.to,level:u.level}),u.to>c&&(u={from:u.from,to:c,level:u.level}),u}function si(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==jn){jn=P("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)jn.appendChild(document.createTextNode("x")),jn.appendChild(P("br"));jn.appendChild(document.createTextNode("x"))}T(e.measure,jn);var n=jn.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),M(e.measure),n||1}function ai(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=P("span","xxxxxxxxxx"),n=P("pre",[t],"CodeMirror-line-like");T(e.measure,n);var i=t.getBoundingClientRect(),r=(i.right-i.left)/10;return r>2&&(e.cachedCharWidth=r),r||10}function li(e){for(var t=e.display,n={},i={},r=t.gutters.clientLeft,o=t.gutters.firstChild,s=0;o;o=o.nextSibling,++s){var a=e.display.gutterSpecs[s].className;n[a]=o.offsetLeft+o.clientLeft+r,i[a]=o.clientWidth}return{fixedPos:ci(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:i,wrapperWidth:t.wrapper.clientWidth}}function ci(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function ui(e){var t=si(e.display),n=e.options.lineWrapping,i=n&&Math.max(5,e.display.scroller.clientWidth/ai(e.display)-3);return function(r){if(Ht(e.doc,r))return 0;var o=0;if(r.widgets)for(var s=0;s<r.widgets.length;s++)r.widgets[s].height&&(o+=r.widgets[s].height);return n?o+(Math.ceil(r.text.length/i)||1)*t:o+t}}function di(e){var t=e.doc,n=ui(e);t.iter((function(e){var t=n(e);t!=e.height&&Qe(e,t)}))}function hi(e,t,n,i){var r=e.display;if(!n&&"true"==Ae(t).getAttribute("cm-not-content"))return null;var o,s,a=r.lineSpace.getBoundingClientRect();try{o=t.clientX-a.left,s=t.clientY-a.top}catch(e){return null}var l,c=Jn(e,o,s);if(i&&c.xRel>0&&(l=Ke(e.doc,c.line).text).length==c.ch){var u=B(l,l.length,e.options.tabSize)-l.length;c=it(c.line,Math.max(0,Math.round((o-Mn(e.display).left)/ai(e.display))-u))}return c}function pi(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,i=0;i<n.length;i++)if((t-=n[i].size)<0)return i}function fi(e,t,n,i){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),i||(i=0);var r=e.display;if(i&&n<r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>t)&&(r.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=r.viewTo)St&&Gt(e.doc,t)<r.viewTo&&gi(e);else if(n<=r.viewFrom)St&&Vt(e.doc,n+i)>r.viewFrom?gi(e):(r.viewFrom+=i,r.viewTo+=i);else if(t<=r.viewFrom&&n>=r.viewTo)gi(e);else if(t<=r.viewFrom){var o=mi(e,n,n+i,1);o?(r.view=r.view.slice(o.index),r.viewFrom=o.lineN,r.viewTo+=i):gi(e)}else if(n>=r.viewTo){var s=mi(e,t,t,-1);s?(r.view=r.view.slice(0,s.index),r.viewTo=s.lineN):gi(e)}else{var a=mi(e,t,t,-1),l=mi(e,n,n+i,1);a&&l?(r.view=r.view.slice(0,a.index).concat(ln(e,a.lineN,l.lineN)).concat(r.view.slice(l.index)),r.viewTo+=i):gi(e)}var c=r.externalMeasured;c&&(n<c.lineN?c.lineN+=i:t<c.lineN+c.size&&(r.externalMeasured=null))}function _i(e,t,n){e.curOp.viewChanged=!0;var i=e.display,r=e.display.externalMeasured;if(r&&t>=r.lineN&&t<r.lineN+r.size&&(i.externalMeasured=null),!(t<i.viewFrom||t>=i.viewTo)){var o=i.view[pi(e,t)];if(null!=o.node){var s=o.changes||(o.changes=[]);-1==V(s,n)&&s.push(n)}}}function gi(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function mi(e,t,n,i){var r,o=pi(e,t),s=e.display.view;if(!St||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var a=e.display.viewFrom,l=0;l<o;l++)a+=s[l].size;if(a!=t){if(i>0){if(o==s.length-1)return null;r=a+s[o].size-t,o++}else r=a-t;t+=r,n+=r}for(;Gt(e.doc,n)!=n;){if(o==(i<0?0:s.length-1))return null;n+=i*s[o-(i<0?1:0)].size,o+=i}return{index:o,lineN:n}}function yi(e){for(var t=e.display.view,n=0,i=0;i<t.length;i++){var r=t[i];r.hidden||r.node&&!r.changes||++n}return n}function vi(e){e.display.input.showSelection(e.display.input.prepareSelection())}function bi(e,t){void 0===t&&(t=!0);var n=e.doc,i={},r=i.cursors=document.createDocumentFragment(),o=i.selection=document.createDocumentFragment(),s=e.options.$customCursor;s&&(t=!0);for(var a=0;a<n.sel.ranges.length;a++)if(t||a!=n.sel.primIndex){var l=n.sel.ranges[a];if(!(l.from().line>=e.display.viewTo||l.to().line<e.display.viewFrom)){var c=l.empty();if(s){var u=s(e,l);u&&xi(e,u,r)}else(c||e.options.showCursorWhenSelecting)&&xi(e,l.head,r);c||ki(e,l,o)}}return i}function xi(e,t,n){var i=Xn(e,t,"div",null,null,!e.options.singleCursorHeightPerLine),r=n.appendChild(P("div"," ","CodeMirror-cursor"));if(r.style.left=i.left+"px",r.style.top=i.top+"px",r.style.height=Math.max(0,i.bottom-i.top)*e.options.cursorHeight+"px",/\bcm-fat-cursor\b/.test(e.getWrapperElement().className)){var o=Kn(e,t,"div",null,null),s=o.right-o.left;r.style.width=(s>0?s:e.defaultCharWidth())+"px"}if(i.other){var a=n.appendChild(P("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));a.style.display="",a.style.left=i.other.left+"px",a.style.top=i.other.top+"px",a.style.height=.85*(i.other.bottom-i.other.top)+"px"}}function wi(e,t){return e.top-t.top||e.left-t.left}function ki(e,t,n){var i=e.display,r=e.doc,o=document.createDocumentFragment(),s=Mn(e.display),a=s.left,l=Math.max(i.sizerWidth,Pn(e)-i.sizer.offsetLeft)-s.right,c="ltr"==r.direction;function u(e,t,n,i){t<0&&(t=0),t=Math.round(t),i=Math.round(i),o.appendChild(P("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px;\n top: "+t+"px; width: "+(null==n?l-e:n)+"px;\n height: "+(i-t)+"px"))}function d(t,n,i){var o,s,d=Ke(r,t),h=d.text.length;function p(n,i){return Kn(e,it(t,n),"div",d,i)}function f(t,n,i){var r=ti(e,d,null,t),o="ltr"==n==("after"==i)?"left":"right";return p("after"==i?r.begin:r.end-(/\s/.test(d.text.charAt(r.end-1))?2:1),o)[o]}var _=he(d,r.direction);return function(e,t,n,i){if(!e)return i(t,n,"ltr",0);for(var r=!1,o=0;o<e.length;++o){var s=e[o];(s.from<n&&s.to>t||t==n&&s.to==t)&&(i(Math.max(s.from,t),Math.min(s.to,n),1==s.level?"rtl":"ltr",o),r=!0)}r||i(t,n,"ltr")}(_,n||0,null==i?h:i,(function(e,t,r,d){var g="ltr"==r,m=p(e,g?"left":"right"),y=p(t-1,g?"right":"left"),v=null==n&&0==e,b=null==i&&t==h,x=0==d,w=!_||d==_.length-1;if(y.top-m.top<=3){var k=(c?b:v)&&w,C=(c?v:b)&&x?a:(g?m:y).left,S=k?l:(g?y:m).right;u(C,m.top,S-C,m.bottom)}else{var A,E,M,T;g?(A=c&&v&&x?a:m.left,E=c?l:f(e,r,"before"),M=c?a:f(t,r,"after"),T=c&&b&&w?l:y.right):(A=c?f(e,r,"before"):a,E=!c&&v&&x?l:m.right,M=!c&&b&&w?a:y.left,T=c?f(t,r,"after"):l),u(A,m.top,E-A,m.bottom),m.bottom<y.top&&u(a,m.bottom,null,y.top),u(M,y.top,T-M,y.bottom)}(!o||wi(m,o)<0)&&(o=m),wi(y,o)<0&&(o=y),(!s||wi(m,s)<0)&&(s=m),wi(y,s)<0&&(s=y)})),{start:o,end:s}}var h=t.from(),p=t.to();if(h.line==p.line)d(h.line,h.ch,p.ch);else{var f=Ke(r,h.line),_=Ke(r,p.line),g=Bt(f)==Bt(_),m=d(h.line,h.ch,g?f.text.length+1:null).end,y=d(p.line,g?0:null,p.ch).start;g&&(m.top<y.top-2?(u(m.right,m.top,null,m.bottom),u(a,y.top,y.left,y.bottom)):u(m.right,m.top,y.left-m.right,m.bottom)),m.bottom<y.top&&u(a,m.bottom,null,y.top)}n.appendChild(o)}function Ci(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var n=!0;t.cursorDiv.style.visibility="",e.options.cursorBlinkRate>0?t.blinker=setInterval((function(){e.hasFocus()||Mi(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"}),e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Si(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Ei(e))}function Ai(e){e.state.delayingBlurEvent=!0,setTimeout((function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Mi(e))}),100)}function Ei(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(me(e,"focus",e,t),e.state.focused=!0,z(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout((function(){return e.display.input.reset(!0)}),20)),e.display.input.receivedFocus()),Ci(e))}function Mi(e,t){e.state.delayingBlurEvent||(e.state.focused&&(me(e,"blur",e,t),e.state.focused=!1,E(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout((function(){e.state.focused||(e.display.shift=!1)}),150))}function Ti(e){for(var t=e.display,n=t.lineDiv.offsetTop,i=Math.max(0,t.scroller.getBoundingClientRect().top),r=t.lineDiv.getBoundingClientRect().top,o=0,l=0;l<t.view.length;l++){var c=t.view[l],u=e.options.lineWrapping,d=void 0,h=0;if(!c.hidden){if(r+=c.line.height,s&&a<8){var p=c.node.offsetTop+c.node.offsetHeight;d=p-n,n=p}else{var f=c.node.getBoundingClientRect();d=f.bottom-f.top,!u&&c.text.firstChild&&(h=c.text.firstChild.getBoundingClientRect().right-f.left-1)}var _=c.line.height-d;if((_>.005||_<-.005)&&(r<i&&(o-=_),Qe(c.line,d),Pi(c.line),c.rest))for(var g=0;g<c.rest.length;g++)Pi(c.rest[g]);if(h>e.display.sizerWidth){var m=Math.ceil(h/ai(e.display));m>e.display.maxLineLength&&(e.display.maxLineLength=m,e.display.maxLine=c.line,e.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(t.scroller.scrollTop+=o)}function Pi(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],i=n.node.parentNode;i&&(n.height=i.offsetHeight)}}function Ri(e,t,n){var i=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop;i=Math.floor(i-An(e));var r=n&&null!=n.bottom?n.bottom:i+e.wrapper.clientHeight,o=et(t,i),s=et(t,r);if(n&&n.ensure){var a=n.ensure.from.line,l=n.ensure.to.line;a<o?(o=a,s=et(t,Ut(Ke(t,a))+e.wrapper.clientHeight)):Math.min(l,t.lastLine())>=s&&(o=et(t,Ut(Ke(t,l))-e.wrapper.clientHeight),s=l)}return{from:o,to:Math.max(s,o+1)}}function Ii(e,t){var n=e.display,i=si(e.display);t.top<0&&(t.top=0);var r=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=Rn(e),s={};t.bottom-t.top>o&&(t.bottom=t.top+o);var a=e.doc.height+En(n),l=t.top<i,c=t.bottom>a-i;if(t.top<r)s.scrollTop=l?0:t.top;else if(t.bottom>r+o){var u=Math.min(t.top,(c?a:t.bottom)-o);u!=r&&(s.scrollTop=u)}var d=e.options.fixedGutter?0:n.gutters.offsetWidth,h=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-d,p=Pn(e)-n.gutters.offsetWidth,f=t.right-t.left>p;return f&&(t.right=t.left+p),t.left<10?s.scrollLeft=0:t.left<h?s.scrollLeft=Math.max(0,t.left+d-(f?0:10)):t.right>p+h-3&&(s.scrollLeft=t.right+(f?0:10)-p),s}function Li(e,t){null!=t&&(Fi(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function zi(e){Fi(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function Oi(e,t,n){null==t&&null==n||Fi(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Fi(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,ji(e,Yn(e,t.from),Yn(e,t.to),t.margin))}function ji(e,t,n,i){var r=Ii(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-i,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+i});Oi(e,r.scrollLeft,r.scrollTop)}function Di(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||hr(e,{top:t}),Ni(e,t,!0),n&&hr(e),sr(e,100))}function Ni(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function qi(e,t,n,i){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!i||(e.doc.scrollLeft=t,_r(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Bi(e){var t=e.display,n=t.gutters.offsetWidth,i=Math.round(e.doc.height+En(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:i,scrollHeight:i+Tn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Gi=function(e,t,n){this.cm=n;var i=this.vert=P("div",[P("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),r=this.horiz=P("div",[P("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");i.tabIndex=r.tabIndex=-1,e(i),e(r),fe(i,"scroll",(function(){i.clientHeight&&t(i.scrollTop,"vertical")})),fe(r,"scroll",(function(){r.clientWidth&&t(r.scrollLeft,"horizontal")})),this.checkedZeroWidth=!1,s&&a<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Gi.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,i=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?i+"px":"0";var r=e.viewHeight-(t?i:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+r)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?i:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?i:0,bottom:t?i:0}},Gi.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Gi.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Gi.prototype.zeroWidthHack=function(){var e=v&&!f?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new G,this.disableVert=new G},Gi.prototype.enableZeroWidthBar=function(e,t,n){e.style.visibility="",t.set(1e3,(function i(){var r=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(r.right-1,(r.top+r.bottom)/2):document.elementFromPoint((r.right+r.left)/2,r.bottom-1))!=e?e.style.visibility="hidden":t.set(1e3,i)}))},Gi.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Vi=function(){};function Hi(e,t){t||(t=Bi(e));var n=e.display.barWidth,i=e.display.barHeight;Wi(e,t);for(var r=0;r<4&&n!=e.display.barWidth||i!=e.display.barHeight;r++)n!=e.display.barWidth&&e.options.lineWrapping&&Ti(e),Wi(e,Bi(e)),n=e.display.barWidth,i=e.display.barHeight}function Wi(e,t){var n=e.display,i=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=i.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=i.bottom)+"px",n.heightForcer.style.borderBottom=i.bottom+"px solid transparent",i.right&&i.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=i.bottom+"px",n.scrollbarFiller.style.width=i.right+"px"):n.scrollbarFiller.style.display="",i.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=i.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}Vi.prototype.update=function(){return{bottom:0,right:0}},Vi.prototype.setScrollLeft=function(){},Vi.prototype.setScrollTop=function(){},Vi.prototype.clear=function(){};var Ui={native:Gi,null:Vi};function $i(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&E(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Ui[e.options.scrollbarStyle]((function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),fe(t,"mousedown",(function(){e.state.focused&&setTimeout((function(){return e.display.input.focus()}),0)})),t.setAttribute("cm-not-content","true")}),(function(t,n){"horizontal"==n?qi(e,t):Di(e,t)}),e),e.display.scrollbars.addClass&&z(e.display.wrapper,e.display.scrollbars.addClass)}var Zi=0;function Ki(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Zi,markArrays:null},t=e.curOp,cn?cn.ops.push(t):t.ownsGroup=cn={ops:[t],delayedCallbacks:[]}}function Xi(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var i=0;i<e.ops.length;i++){var r=e.ops[i];if(r.cursorActivityHandlers)for(;r.cursorActivityCalled<r.cursorActivityHandlers.length;)r.cursorActivityHandlers[r.cursorActivityCalled++].call(null,r.cm)}}while(n<t.length)}(n)}finally{cn=null,t(n)}}(t,(function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;!function(e){for(var t=e.ops,n=0;n<t.length;n++)Yi(t[n]);for(var i=0;i<t.length;i++)Qi(t[i]);for(var r=0;r<t.length;r++)Ji(t[r]);for(var o=0;o<t.length;o++)er(t[o]);for(var s=0;s<t.length;s++)tr(t[s])}(e)}))}function Yi(e){var t=e.cm,n=t.display;(function(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=Tn(e)+"px",t.sizer.style.marginBottom=-t.nativeBarWidth+"px",t.sizer.style.borderRightWidth=Tn(e)+"px",t.scrollbarsClipped=!0)})(t),e.updateMaxLine&&Zt(t),e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new lr(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function Qi(e){e.updatedDisplay=e.mustUpdate&&ur(e.cm,e.update)}function Ji(e){var t=e.cm,n=t.display;e.updatedDisplay&&Ti(t),e.barMeasure=Bi(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=Ln(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Tn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Pn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function er(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft<t.doc.scrollLeft&&qi(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==L(j(t));e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n),(e.updatedDisplay||e.startHeight!=t.doc.height)&&Hi(t,e.barMeasure),e.updatedDisplay&&fr(t,e.barMeasure),e.selectionChanged&&Ci(t),t.state.focused&&e.updateInput&&t.display.input.reset(e.typing),n&&Si(e.cm)}function tr(e){var t=e.cm,n=t.display,i=t.doc;e.updatedDisplay&&dr(t,e.update),null==n.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(n.wheelStartX=n.wheelStartY=null),null!=e.scrollTop&&Ni(t,e.scrollTop,e.forceScroll),null!=e.scrollLeft&&qi(t,e.scrollLeft,!0,!0),e.scrollToPos&&function(e,t){if(!ye(e,"scrollCursorIntoView")){var n=e.display,i=n.sizer.getBoundingClientRect(),r=null,o=n.wrapper.ownerDocument;if(t.top+i.top<0?r=!0:t.bottom+i.top>(o.defaultView.innerHeight||o.documentElement.clientHeight)&&(r=!1),null!=r&&!_){var s=P("div","",null,"position: absolute;\n top: "+(t.top-n.viewOffset-An(e.display))+"px;\n height: "+(t.bottom-t.top+Tn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(s),s.scrollIntoView(r),e.display.lineSpace.removeChild(s)}}}(t,function(e,t,n,i){var r;null==i&&(i=0),e.options.lineWrapping||t!=n||(n="before"==t.sticky?it(t.line,t.ch+1,"before"):t,t=t.ch?it(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var s=!1,a=Xn(e,t),l=n&&n!=t?Xn(e,n):a,c=Ii(e,r={left:Math.min(a.left,l.left),top:Math.min(a.top,l.top)-i,right:Math.max(a.left,l.left),bottom:Math.max(a.bottom,l.bottom)+i}),u=e.doc.scrollTop,d=e.doc.scrollLeft;if(null!=c.scrollTop&&(Di(e,c.scrollTop),Math.abs(e.doc.scrollTop-u)>1&&(s=!0)),null!=c.scrollLeft&&(qi(e,c.scrollLeft),Math.abs(e.doc.scrollLeft-d)>1&&(s=!0)),!s)break}return r}(t,ut(i,e.scrollToPos.from),ut(i,e.scrollToPos.to),e.scrollToPos.margin));var r=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(r)for(var s=0;s<r.length;++s)r[s].lines.length||me(r[s],"hide");if(o)for(var a=0;a<o.length;++a)o[a].lines.length&&me(o[a],"unhide");n.wrapper.offsetHeight&&(i.scrollTop=t.display.scroller.scrollTop),e.changeObjs&&me(t,"changes",t,e.changeObjs),e.update&&e.update.finish()}function nr(e,t){if(e.curOp)return t();Ki(e);try{return t()}finally{Xi(e)}}function ir(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Ki(e);try{return t.apply(e,arguments)}finally{Xi(e)}}}function rr(e){return function(){if(this.curOp)return e.apply(this,arguments);Ki(this);try{return e.apply(this,arguments)}finally{Xi(this)}}}function or(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Ki(t);try{return e.apply(this,arguments)}finally{Xi(t)}}}function sr(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,N(ar,e))}function ar(e){var t=e.doc;if(!(t.highlightFrontier>=e.display.viewTo)){var n=+new Date+e.options.workTime,i=gt(e,t.highlightFrontier),r=[];t.iter(i.line,Math.min(t.first+t.size,e.display.viewTo+500),(function(o){if(i.line>=e.display.viewFrom){var s=o.styles,a=o.text.length>e.options.maxHighlightLength?We(t.mode,i.state):null,l=ft(e,o,i,!0);a&&(i.state=a),o.styles=l.styles;var c=o.styleClasses,u=l.classes;u?o.styleClasses=u:c&&(o.styleClasses=null);for(var d=!s||s.length!=o.styles.length||c!=u&&(!c||!u||c.bgClass!=u.bgClass||c.textClass!=u.textClass),h=0;!d&&h<s.length;++h)d=s[h]!=o.styles[h];d&&r.push(i.line),o.stateAfter=i.save(),i.nextLine()}else o.text.length<=e.options.maxHighlightLength&&mt(e,o.text,i),o.stateAfter=i.line%5==0?i.save():null,i.nextLine();if(+new Date>n)return sr(e,e.options.workDelay),!0})),t.highlightFrontier=i.line,t.modeFrontier=Math.max(t.modeFrontier,i.line),r.length&&nr(e,(function(){for(var t=0;t<r.length;t++)_i(e,r[t],"text")}))}}var lr=function(e,t,n){var i=e.display;this.viewport=t,this.visible=Ri(i,e.doc,t),this.editorIsHidden=!i.wrapper.offsetWidth,this.wrapperHeight=i.wrapper.clientHeight,this.wrapperWidth=i.wrapper.clientWidth,this.oldDisplayWidth=Pn(e),this.force=n,this.dims=li(e),this.events=[]};function cr(e){if(e.hasFocus())return null;var t=L(j(e));if(!t||!I(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var i=D(e).getSelection();i.anchorNode&&i.extend&&I(e.display.lineDiv,i.anchorNode)&&(n.anchorNode=i.anchorNode,n.anchorOffset=i.anchorOffset,n.focusNode=i.focusNode,n.focusOffset=i.focusOffset)}return n}function ur(e,t){var n=e.display,i=e.doc;if(t.editorIsHidden)return gi(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==yi(e))return!1;gr(e)&&(gi(e),t.dims=li(e));var r=i.first+i.size,o=Math.max(t.visible.from-e.options.viewportMargin,i.first),s=Math.min(r,t.visible.to+e.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(i.first,n.viewFrom)),n.viewTo>s&&n.viewTo-s<20&&(s=Math.min(r,n.viewTo)),St&&(o=Gt(e.doc,o),s=Vt(e.doc,s));var a=o!=n.viewFrom||s!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;(function(e,t,n){var i=e.display;0==i.view.length||t>=i.viewTo||n<=i.viewFrom?(i.view=ln(e,t,n),i.viewFrom=t):(i.viewFrom>t?i.view=ln(e,t,i.viewFrom).concat(i.view):i.viewFrom<t&&(i.view=i.view.slice(pi(e,t))),i.viewFrom=t,i.viewTo<n?i.view=i.view.concat(ln(e,i.viewTo,n)):i.viewTo>n&&(i.view=i.view.slice(0,pi(e,n)))),i.viewTo=n})(e,o,s),n.viewOffset=Ut(Ke(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var c=yi(e);if(!a&&0==c&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var u=cr(e);return c>4&&(n.lineDiv.style.display="none"),function(e,t,n){var i=e.display,r=e.options.lineNumbers,o=i.lineDiv,s=o.firstChild;function a(t){var n=t.nextSibling;return l&&v&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var c=i.view,u=i.viewFrom,d=0;d<c.length;d++){var h=c[d];if(h.hidden);else if(h.node&&h.node.parentNode==o){for(;s!=h.node;)s=a(s);var p=r&&null!=t&&t<=u&&h.lineNumber;h.changes&&(V(h.changes,"gutter")>-1&&(p=!1),pn(e,h,u,n)),p&&(M(h.lineNumber),h.lineNumber.appendChild(document.createTextNode(nt(e.options,u)))),s=h.node.nextSibling}else{var f=bn(e,h,u,n);o.insertBefore(f,s)}u+=h.size}for(;s;)s=a(s)}(e,n.updateLineNumbers,t.dims),c>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=L(e.activeElt.ownerDocument)&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&I(document.body,e.anchorNode)&&I(document.body,e.focusNode))){var t=e.activeElt.ownerDocument,n=t.defaultView.getSelection(),i=t.createRange();i.setEnd(e.anchorNode,e.anchorOffset),i.collapse(!1),n.removeAllRanges(),n.addRange(i),n.extend(e.focusNode,e.focusOffset)}}(u),M(n.cursorDiv),M(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,a&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,sr(e,400)),n.updateLineNumbers=null,!0}function dr(e,t){for(var n=t.viewport,i=!0;;i=!1){if(i&&e.options.lineWrapping&&t.oldDisplayWidth!=Pn(e))i&&(t.visible=Ri(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+En(e.display)-Rn(e),n.top)}),t.visible=Ri(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!ur(e,t))break;Ti(e);var r=Bi(e);vi(e),Hi(e,r),fr(e,r),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function hr(e,t){var n=new lr(e,t);if(ur(e,n)){Ti(e),dr(e,n);var i=Bi(e);vi(e),Hi(e,i),fr(e,i),n.finish()}}function pr(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",dn(e,"gutterChanged",e)}function fr(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Tn(e)+"px"}function _r(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var i=ci(t)-t.scroller.scrollLeft+e.doc.scrollLeft,r=t.gutters.offsetWidth,o=i+"px",s=0;s<n.length;s++)if(!n[s].hidden){e.options.fixedGutter&&(n[s].gutter&&(n[s].gutter.style.left=o),n[s].gutterBackground&&(n[s].gutterBackground.style.left=o));var a=n[s].alignable;if(a)for(var l=0;l<a.length;l++)a[l].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=i+r+"px")}}function gr(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=nt(e.options,t.first+t.size-1),i=e.display;if(n.length!=i.lineNumChars){var r=i.measure.appendChild(P("div",[P("div",n)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=r.firstChild.offsetWidth,s=r.offsetWidth-o;return i.lineGutter.style.width="",i.lineNumInnerWidth=Math.max(o,i.lineGutter.offsetWidth-s)+1,i.lineNumWidth=i.lineNumInnerWidth+s,i.lineNumChars=i.lineNumInnerWidth?n.length:-1,i.lineGutter.style.width=i.lineNumWidth+"px",pr(e.display),!0}return!1}function mr(e,t){for(var n=[],i=!1,r=0;r<e.length;r++){var o=e[r],s=null;if("string"!=typeof o&&(s=o.style,o=o.className),"CodeMirror-linenumbers"==o){if(!t)continue;i=!0}n.push({className:o,style:s})}return t&&!i&&n.push({className:"CodeMirror-linenumbers",style:null}),n}function yr(e){var t=e.gutters,n=e.gutterSpecs;M(t),e.lineGutter=null;for(var i=0;i<n.length;++i){var r=n[i],o=r.className,s=r.style,a=t.appendChild(P("div",null,"CodeMirror-gutter "+o));s&&(a.style.cssText=s),"CodeMirror-linenumbers"==o&&(e.lineGutter=a,a.style.width=(e.lineNumWidth||1)+"px")}t.style.display=n.length?"":"none",pr(e)}function vr(e){yr(e.display),fi(e),_r(e)}function br(e,t,i,r){var o=this;this.input=i,o.scrollbarFiller=P("div",null,"CodeMirror-scrollbar-filler"),o.scrollbarFiller.setAttribute("cm-not-content","true"),o.gutterFiller=P("div",null,"CodeMirror-gutter-filler"),o.gutterFiller.setAttribute("cm-not-content","true"),o.lineDiv=R("div",null,"CodeMirror-code"),o.selectionDiv=P("div",null,null,"position: relative; z-index: 1"),o.cursorDiv=P("div",null,"CodeMirror-cursors"),o.measure=P("div",null,"CodeMirror-measure"),o.lineMeasure=P("div",null,"CodeMirror-measure"),o.lineSpace=R("div",[o.measure,o.lineMeasure,o.selectionDiv,o.cursorDiv,o.lineDiv],null,"position: relative; outline: none");var c=R("div",[o.lineSpace],"CodeMirror-lines");o.mover=P("div",[c],null,"position: relative"),o.sizer=P("div",[o.mover],"CodeMirror-sizer"),o.sizerWidth=null,o.heightForcer=P("div",null,null,"position: absolute; height: 50px; width: 1px;"),o.gutters=P("div",null,"CodeMirror-gutters"),o.lineGutter=null,o.scroller=P("div",[o.sizer,o.heightForcer,o.gutters],"CodeMirror-scroll"),o.scroller.setAttribute("tabIndex","-1"),o.wrapper=P("div",[o.scrollbarFiller,o.gutterFiller,o.scroller],"CodeMirror"),u&&d>=105&&(o.wrapper.style.clipPath="inset(0px)"),o.wrapper.setAttribute("translate","no"),s&&a<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),l||n&&y||(o.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(o.wrapper):e(o.wrapper)),o.viewFrom=o.viewTo=t.first,o.reportedViewFrom=o.reportedViewTo=t.first,o.view=[],o.renderedView=null,o.externalMeasured=null,o.viewOffset=0,o.lastWrapHeight=o.lastWrapWidth=0,o.updateLineNumbers=null,o.nativeBarWidth=o.barHeight=o.barWidth=0,o.scrollbarsClipped=!1,o.lineNumWidth=o.lineNumInnerWidth=o.lineNumChars=null,o.alignWidgets=!1,o.cachedCharWidth=o.cachedTextHeight=o.cachedPaddingH=null,o.maxLine=null,o.maxLineLength=0,o.maxLineChanged=!1,o.wheelDX=o.wheelDY=o.wheelStartX=o.wheelStartY=null,o.shift=!1,o.selForContextMenu=null,o.activeTouch=null,o.gutterSpecs=mr(r.gutters,r.lineNumbers),yr(o),i.init(o)}lr.prototype.signal=function(e,t){be(e,t)&&this.events.push(arguments)},lr.prototype.finish=function(){for(var e=0;e<this.events.length;e++)me.apply(null,this.events[e])};var xr=0,wr=null;function kr(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}}function Cr(e){var t=kr(e);return t.x*=wr,t.y*=wr,t}function Sr(e,t){u&&102==d&&(null==e.display.chromeScrollHack?e.display.sizer.style.pointerEvents="none":clearTimeout(e.display.chromeScrollHack),e.display.chromeScrollHack=setTimeout((function(){e.display.chromeScrollHack=null,e.display.sizer.style.pointerEvents=""}),100));var i=kr(t),r=i.x,o=i.y,s=wr;0===t.deltaMode&&(r=t.deltaX,o=t.deltaY,s=1);var a=e.display,c=a.scroller,p=c.scrollWidth>c.clientWidth,f=c.scrollHeight>c.clientHeight;if(r&&p||o&&f){if(o&&v&&l)e:for(var _=t.target,g=a.view;_!=c;_=_.parentNode)for(var m=0;m<g.length;m++)if(g[m].node==_){e.display.currentWheelTarget=_;break e}if(r&&!n&&!h&&null!=s)return o&&f&&Di(e,Math.max(0,c.scrollTop+o*s)),qi(e,Math.max(0,c.scrollLeft+r*s)),(!o||o&&f)&&we(t),void(a.wheelStartX=null);if(o&&null!=s){var y=o*s,b=e.doc.scrollTop,x=b+a.wrapper.clientHeight;y<0?b=Math.max(0,b+y-50):x=Math.min(e.doc.height,x+y+50),hr(e,{top:b,bottom:x})}xr<20&&0!==t.deltaMode&&(null==a.wheelStartX?(a.wheelStartX=c.scrollLeft,a.wheelStartY=c.scrollTop,a.wheelDX=r,a.wheelDY=o,setTimeout((function(){if(null!=a.wheelStartX){var e=c.scrollLeft-a.wheelStartX,t=c.scrollTop-a.wheelStartY,n=t&&a.wheelDY&&t/a.wheelDY||e&&a.wheelDX&&e/a.wheelDX;a.wheelStartX=a.wheelStartY=null,n&&(wr=(wr*xr+n)/(xr+1),++xr)}}),200)):(a.wheelDX+=r,a.wheelDY+=o))}}s?wr=-.53:n?wr=15:u?wr=-.7:p&&(wr=-1/3);var Ar=function(e,t){this.ranges=e,this.primIndex=t};Ar.prototype.primary=function(){return this.ranges[this.primIndex]},Ar.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],i=e.ranges[t];if(!ot(n.anchor,i.anchor)||!ot(n.head,i.head))return!1}return!0},Ar.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new Er(st(this.ranges[t].anchor),st(this.ranges[t].head));return new Ar(e,this.primIndex)},Ar.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},Ar.prototype.contains=function(e,t){t||(t=e);for(var n=0;n<this.ranges.length;n++){var i=this.ranges[n];if(rt(t,i.from())>=0&&rt(e,i.to())<=0)return n}return-1};var Er=function(e,t){this.anchor=e,this.head=t};function Mr(e,t,n){var i=e&&e.options.selectionsMayTouch,r=t[n];t.sort((function(e,t){return rt(e.from(),t.from())})),n=V(t,r);for(var o=1;o<t.length;o++){var s=t[o],a=t[o-1],l=rt(a.to(),s.from());if(i&&!s.empty()?l>0:l>=0){var c=lt(a.from(),s.from()),u=at(a.to(),s.to()),d=a.empty()?s.from()==s.head:a.from()==a.head;o<=n&&--n,t.splice(--o,2,new Er(d?u:c,d?c:u))}}return new Ar(t,n)}function Tr(e,t){return new Ar([new Er(e,t||e)],0)}function Pr(e){return e.text?it(e.from.line+e.text.length-1,Y(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Rr(e,t){if(rt(e,t.from)<0)return e;if(rt(e,t.to)<=0)return Pr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,i=e.ch;return e.line==t.to.line&&(i+=Pr(t).ch-t.to.ch),it(n,i)}function Ir(e,t){for(var n=[],i=0;i<e.sel.ranges.length;i++){var r=e.sel.ranges[i];n.push(new Er(Rr(r.anchor,t),Rr(r.head,t)))}return Mr(e.cm,n,e.sel.primIndex)}function Lr(e,t,n){return e.line==t.line?it(n.line,e.ch-t.ch+n.ch):it(n.line+(e.line-t.line),e.ch)}function zr(e){e.doc.mode=Ge(e.options,e.doc.modeOption),Or(e)}function Or(e){e.doc.iter((function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)})),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,sr(e,100),e.state.modeGen++,e.curOp&&fi(e)}function Fr(e,t){return 0==t.from.ch&&0==t.to.ch&&""==Y(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function jr(e,t,n,i){function r(e){return n?n[e]:null}function o(e,n,r){(function(e,t,n,i){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),Rt(e),It(e,n);var r=i?i(e):1;r!=e.height&&Qe(e,r)})(e,n,r,i),dn(e,"change",e,t)}function s(e,t){for(var n=[],o=e;o<t;++o)n.push(new Kt(c[o],r(o),i));return n}var a=t.from,l=t.to,c=t.text,u=Ke(e,a.line),d=Ke(e,l.line),h=Y(c),p=r(c.length-1),f=l.line-a.line;if(t.full)e.insert(0,s(0,c.length)),e.remove(c.length,e.size-c.length);else if(Fr(e,t)){var _=s(0,c.length-1);o(d,d.text,p),f&&e.remove(a.line,f),_.length&&e.insert(a.line,_)}else if(u==d)if(1==c.length)o(u,u.text.slice(0,a.ch)+h+u.text.slice(l.ch),p);else{var g=s(1,c.length-1);g.push(new Kt(h+u.text.slice(l.ch),p,i)),o(u,u.text.slice(0,a.ch)+c[0],r(0)),e.insert(a.line+1,g)}else if(1==c.length)o(u,u.text.slice(0,a.ch)+c[0]+d.text.slice(l.ch),r(0)),e.remove(a.line+1,f);else{o(u,u.text.slice(0,a.ch)+c[0],r(0)),o(d,h+d.text.slice(l.ch),p);var m=s(1,c.length-1);f>1&&e.remove(a.line+1,f-1),e.insert(a.line+1,m)}dn(e,"change",e,t)}function Dr(e,t,n){!function e(i,r,o){if(i.linked)for(var s=0;s<i.linked.length;++s){var a=i.linked[s];if(a.doc!=r){var l=o&&a.sharedHist;n&&!l||(t(a.doc,l),e(a.doc,i,l))}}}(e,null,!0)}function Nr(e,t){if(t.cm)throw new Error("This document is already in use.");e.doc=t,t.cm=e,di(e),zr(e),qr(e),e.options.direction=t.direction,e.options.lineWrapping||Zt(e),e.options.mode=t.modeOption,fi(e)}function qr(e){("rtl"==e.doc.direction?z:E)(e.display.lineDiv,"CodeMirror-rtl")}function Br(e){this.done=[],this.undone=[],this.undoDepth=e?e.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e?e.maxGeneration:1}function Gr(e,t){var n={from:st(t.from),to:Pr(t),text:Xe(e,t.from,t.to)};return $r(e,n,t.from.line,t.to.line+1),Dr(e,(function(e){return $r(e,n,t.from.line,t.to.line+1)}),!0),n}function Vr(e){for(;e.length&&Y(e).ranges;)e.pop()}function Hr(e,t,n,i){var r=e.history;r.undone.length=0;var o,s,a=+new Date;if((r.lastOp==i||r.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&r.lastModTime>a-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Vr(e.done),Y(e.done)):e.done.length&&!Y(e.done).ranges?Y(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),Y(e.done)):void 0}(r,r.lastOp==i)))s=Y(o.changes),0==rt(t.from,t.to)&&0==rt(t.from,s.to)?s.to=Pr(t):o.changes.push(Gr(e,t));else{var l=Y(r.done);for(l&&l.ranges||Ur(e.sel,r.done),o={changes:[Gr(e,t)],generation:r.generation},r.done.push(o);r.done.length>r.undoDepth;)r.done.shift(),r.done[0].ranges||r.done.shift()}r.done.push(n),r.generation=++r.maxGeneration,r.lastModTime=r.lastSelTime=a,r.lastOp=r.lastSelOp=i,r.lastOrigin=r.lastSelOrigin=t.origin,s||me(e,"historyAdded")}function Wr(e,t,n,i){var r=e.history,o=i&&i.origin;n==r.lastSelOp||o&&r.lastSelOrigin==o&&(r.lastModTime==r.lastSelTime&&r.lastOrigin==o||function(e,t,n,i){var r=t.charAt(0);return"*"==r||"+"==r&&n.ranges.length==i.ranges.length&&n.somethingSelected()==i.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,Y(r.done),t))?r.done[r.done.length-1]=t:Ur(t,r.done),r.lastSelTime=+new Date,r.lastSelOrigin=o,r.lastSelOp=n,i&&!1!==i.clearRedo&&Vr(r.undone)}function Ur(e,t){var n=Y(t);n&&n.ranges&&n.equals(e)||t.push(e)}function $r(e,t,n,i){var r=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,i),(function(n){n.markedSpans&&((r||(r=t["spans_"+e.id]={}))[o]=n.markedSpans),++o}))}function Zr(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t||(t=e.slice(0,n)):t&&t.push(e[n]);return t?t.length?t:null:e}function Kr(e,t){var n=function(e,t){var n=t["spans_"+e.id];if(!n)return null;for(var i=[],r=0;r<t.text.length;++r)i.push(Zr(n[r]));return i}(e,t),i=Tt(e,t);if(!n)return i;if(!i)return n;for(var r=0;r<n.length;++r){var o=n[r],s=i[r];if(o&&s)e:for(var a=0;a<s.length;++a){for(var l=s[a],c=0;c<o.length;++c)if(o[c].marker==l.marker)continue e;o.push(l)}else s&&(n[r]=s)}return n}function Xr(e,t,n){for(var i=[],r=0;r<e.length;++r){var o=e[r];if(o.ranges)i.push(n?Ar.prototype.deepCopy.call(o):o);else{var s=o.changes,a=[];i.push({changes:a});for(var l=0;l<s.length;++l){var c=s[l],u=void 0;if(a.push({from:c.from,to:c.to,text:c.text}),t)for(var d in c)(u=d.match(/^spans_(\d+)$/))&&V(t,Number(u[1]))>-1&&(Y(a)[d]=c[d],delete c[d])}}}return i}function Yr(e,t,n,i){if(i){var r=e.anchor;if(n){var o=rt(t,r)<0;o!=rt(n,r)<0?(r=t,t=n):o!=rt(t,n)<0&&(t=n)}return new Er(r,t)}return new Er(n||t,t)}function Qr(e,t,n,i,r){null==r&&(r=e.cm&&(e.cm.display.shift||e.extend)),io(e,new Ar([Yr(e.sel.primary(),t,n,r)],0),i)}function Jr(e,t,n){for(var i=[],r=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)i[o]=Yr(e.sel.ranges[o],t[o],null,r);io(e,Mr(e.cm,i,e.sel.primIndex),n)}function eo(e,t,n,i){var r=e.sel.ranges.slice(0);r[t]=n,io(e,Mr(e.cm,r,e.sel.primIndex),i)}function to(e,t,n,i){io(e,Tr(t,n),i)}function no(e,t,n){var i=e.history.done,r=Y(i);r&&r.ranges?(i[i.length-1]=t,ro(e,t,n)):io(e,t,n)}function io(e,t,n){ro(e,t,n),Wr(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function ro(e,t,n){(be(e,"beforeSelectionChange")||e.cm&&be(e.cm,"beforeSelectionChange"))&&(t=function(e,t,n){var i={ranges:t.ranges,update:function(t){this.ranges=[];for(var n=0;n<t.length;n++)this.ranges[n]=new Er(ut(e,t[n].anchor),ut(e,t[n].head))},origin:n&&n.origin};return me(e,"beforeSelectionChange",e,i),e.cm&&me(e.cm,"beforeSelectionChange",e.cm,i),i.ranges!=t.ranges?Mr(e.cm,i.ranges,i.ranges.length-1):t}(e,t,n));var i=n&&n.bias||(rt(t.primary().head,e.sel.primary().head)<0?-1:1);oo(e,ao(e,t,i,!0)),n&&!1===n.scroll||!e.cm||"nocursor"==e.cm.getOption("readOnly")||zi(e.cm)}function oo(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,ve(e.cm)),dn(e,"cursorActivity",e))}function so(e){oo(e,ao(e,e.sel,null,!1))}function ao(e,t,n,i){for(var r,o=0;o<t.ranges.length;o++){var s=t.ranges[o],a=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],l=co(e,s.anchor,a&&a.anchor,n,i),c=s.head==s.anchor?l:co(e,s.head,a&&a.head,n,i);(r||l!=s.anchor||c!=s.head)&&(r||(r=t.ranges.slice(0,o)),r[o]=new Er(l,c))}return r?Mr(e.cm,r,t.primIndex):t}function lo(e,t,n,i,r){var o=Ke(e,t.line);if(o.markedSpans)for(var s=0;s<o.markedSpans.length;++s){var a=o.markedSpans[s],l=a.marker,c="selectLeft"in l?!l.selectLeft:l.inclusiveLeft,u="selectRight"in l?!l.selectRight:l.inclusiveRight;if((null==a.from||(c?a.from<=t.ch:a.from<t.ch))&&(null==a.to||(u?a.to>=t.ch:a.to>t.ch))){if(r&&(me(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--s;continue}break}if(!l.atomic)continue;if(n){var d=l.find(i<0?1:-1),h=void 0;if((i<0?u:c)&&(d=uo(e,d,-i,d&&d.line==t.line?o:null)),d&&d.line==t.line&&(h=rt(d,n))&&(i<0?h<0:h>0))return lo(e,d,t,i,r)}var p=l.find(i<0?-1:1);return(i<0?c:u)&&(p=uo(e,p,i,p.line==t.line?o:null)),p?lo(e,p,t,i,r):null}}return t}function co(e,t,n,i,r){var o=i||1;return lo(e,t,n,o,r)||!r&&lo(e,t,n,o,!0)||lo(e,t,n,-o,r)||!r&&lo(e,t,n,-o,!0)||(e.cantEdit=!0,it(e.first,0))}function uo(e,t,n,i){return n<0&&0==t.ch?t.line>e.first?ut(e,it(t.line-1)):null:n>0&&t.ch==(i||Ke(e,t.line)).text.length?t.line<e.first+e.size-1?it(t.line+1,0):null:new it(t.line,t.ch+n)}function ho(e){e.setSelection(it(e.firstLine(),0),it(e.lastLine()),W)}function po(e,t,n){var i={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return i.canceled=!0}};return n&&(i.update=function(t,n,r,o){t&&(i.from=ut(e,t)),n&&(i.to=ut(e,n)),r&&(i.text=r),void 0!==o&&(i.origin=o)}),me(e,"beforeChange",e,i),e.cm&&me(e.cm,"beforeChange",e.cm,i),i.canceled?(e.cm&&(e.cm.curOp.updateInput=2),null):{from:i.from,to:i.to,text:i.text,origin:i.origin}}function fo(e,t,n){if(e.cm){if(!e.cm.curOp)return ir(e.cm,fo)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(be(e,"beforeChange")||e.cm&&be(e.cm,"beforeChange"))||(t=po(e,t,!0))){var i=Ct&&!n&&function(e,t,n){var i=null;if(e.iter(t.line,n.line+1,(function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||i&&-1!=V(i,n)||(i||(i=[])).push(n)}})),!i)return null;for(var r=[{from:t,to:n}],o=0;o<i.length;++o)for(var s=i[o],a=s.find(0),l=0;l<r.length;++l){var c=r[l];if(!(rt(c.to,a.from)<0||rt(c.from,a.to)>0)){var u=[l,1],d=rt(c.from,a.from),h=rt(c.to,a.to);(d<0||!s.inclusiveLeft&&!d)&&u.push({from:c.from,to:a.from}),(h>0||!s.inclusiveRight&&!h)&&u.push({from:a.to,to:c.to}),r.splice.apply(r,u),l+=u.length-3}}return r}(e,t.from,t.to);if(i)for(var r=i.length-1;r>=0;--r)_o(e,{from:i[r].from,to:i[r].to,text:r?[""]:t.text,origin:t.origin});else _o(e,t)}}function _o(e,t){if(1!=t.text.length||""!=t.text[0]||0!=rt(t.from,t.to)){var n=Ir(e,t);Hr(e,t,n,e.cm?e.cm.curOp.id:NaN),yo(e,t,n,Tt(e,t));var i=[];Dr(e,(function(e,n){n||-1!=V(i,e.history)||(wo(e.history,t),i.push(e.history)),yo(e,t,null,Tt(e,t))}))}}function go(e,t,n){var i=e.cm&&e.cm.state.suppressEdits;if(!i||n){for(var r,o=e.history,s=e.sel,a="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,c=0;c<a.length&&(r=a[c],n?!r.ranges||r.equals(e.sel):r.ranges);c++);if(c!=a.length){for(o.lastOrigin=o.lastSelOrigin=null;;){if(!(r=a.pop()).ranges){if(i)return void a.push(r);break}if(Ur(r,l),n&&!r.equals(e.sel))return void io(e,r,{clearRedo:!1});s=r}var u=[];Ur(s,l),l.push({changes:u,generation:o.generation}),o.generation=r.generation||++o.maxGeneration;for(var d=be(e,"beforeChange")||e.cm&&be(e.cm,"beforeChange"),h=function(n){var i=r.changes[n];if(i.origin=t,d&&!po(e,i,!1))return a.length=0,{};u.push(Gr(e,i));var o=n?Ir(e,i):Y(a);yo(e,i,o,Kr(e,i)),!n&&e.cm&&e.cm.scrollIntoView({from:i.from,to:Pr(i)});var s=[];Dr(e,(function(e,t){t||-1!=V(s,e.history)||(wo(e.history,i),s.push(e.history)),yo(e,i,null,Kr(e,i))}))},p=r.changes.length-1;p>=0;--p){var f=h(p);if(f)return f.v}}}}function mo(e,t){if(0!=t&&(e.first+=t,e.sel=new Ar(Q(e.sel.ranges,(function(e){return new Er(it(e.anchor.line+t,e.anchor.ch),it(e.head.line+t,e.head.ch))})),e.sel.primIndex),e.cm)){fi(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,i=n.viewFrom;i<n.viewTo;i++)_i(e.cm,i,"gutter")}}function yo(e,t,n,i){if(e.cm&&!e.cm.curOp)return ir(e.cm,yo)(e,t,n,i);if(t.to.line<e.first)mo(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var r=t.text.length-1-(e.first-t.from.line);mo(e,r),t={from:it(e.first,0),to:it(t.to.line+r,t.to.ch),text:[Y(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:it(o,Ke(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Xe(e,t.from,t.to),n||(n=Ir(e,t)),e.cm?function(e,t,n){var i=e.doc,r=e.display,o=t.from,s=t.to,a=!1,l=o.line;e.options.lineWrapping||(l=Je(Bt(Ke(i,o.line))),i.iter(l,s.line+1,(function(e){if(e==r.maxLine)return a=!0,!0}))),i.sel.contains(t.from,t.to)>-1&&ve(e),jr(i,t,n,ui(e)),e.options.lineWrapping||(i.iter(l,o.line+t.text.length,(function(e){var t=$t(e);t>r.maxLineLength&&(r.maxLine=e,r.maxLineLength=t,r.maxLineChanged=!0,a=!1)})),a&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,i=t-1;i>n;i--){var r=Ke(e,i).stateAfter;if(r&&(!(r instanceof ht)||i+r.lookAhead<t)){n=i+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}}(i,o.line),sr(e,400);var c=t.text.length-(s.line-o.line)-1;t.full?fi(e):o.line!=s.line||1!=t.text.length||Fr(e.doc,t)?fi(e,o.line,s.line+1,c):_i(e,o.line,"text");var u=be(e,"changes"),d=be(e,"change");if(d||u){var h={from:o,to:s,text:t.text,removed:t.removed,origin:t.origin};d&&dn(e,"change",e,h),u&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(h)}e.display.selForContextMenu=null}(e.cm,t,i):jr(e,t,i),ro(e,n,W),e.cantEdit&&co(e,it(e.firstLine(),0))&&(e.cantEdit=!1)}}function vo(e,t,n,i,r){var o;i||(i=n),rt(i,n)<0&&(n=(o=[i,n])[0],i=o[1]),"string"==typeof t&&(t=e.splitLines(t)),fo(e,{from:n,to:i,text:t,origin:r})}function bo(e,t,n,i){n<e.line?e.line+=i:t<e.line&&(e.line=t,e.ch=0)}function xo(e,t,n,i){for(var r=0;r<e.length;++r){var o=e[r],s=!0;if(o.ranges){o.copied||((o=e[r]=o.deepCopy()).copied=!0);for(var a=0;a<o.ranges.length;a++)bo(o.ranges[a].anchor,t,n,i),bo(o.ranges[a].head,t,n,i)}else{for(var l=0;l<o.changes.length;++l){var c=o.changes[l];if(n<c.from.line)c.from=it(c.from.line+i,c.from.ch),c.to=it(c.to.line+i,c.to.ch);else if(t<=c.to.line){s=!1;break}}s||(e.splice(0,r+1),r=0)}}}function wo(e,t){var n=t.from.line,i=t.to.line,r=t.text.length-(i-n)-1;xo(e.done,n,i,r),xo(e.undone,n,i,r)}function ko(e,t,n,i){var r=t,o=t;return"number"==typeof t?o=Ke(e,ct(e,t)):r=Je(t),null==r?null:(i(o,r)&&e.cm&&_i(e.cm,r,n),o)}function Co(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}function So(e){this.children=e;for(var t=0,n=0,i=0;i<e.length;++i){var r=e[i];t+=r.chunkSize(),n+=r.height,r.parent=this}this.size=t,this.height=n,this.parent=null}Er.prototype.from=function(){return lt(this.anchor,this.head)},Er.prototype.to=function(){return at(this.anchor,this.head)},Er.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Co.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,i=e+t;n<i;++n){var r=this.lines[n];this.height-=r.height,Xt(r),dn(r,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var i=0;i<t.length;++i)t[i].parent=this},iterN:function(e,t,n){for(var i=e+t;e<i;++e)if(n(this.lines[e]))return!0}},So.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;n<this.children.length;++n){var i=this.children[n],r=i.chunkSize();if(e<r){var o=Math.min(t,r-e),s=i.height;if(i.removeInner(e,o),this.height-=s-i.height,r==o&&(this.children.splice(n--,1),i.parent=null),0==(t-=o))break;e=0}else e-=r}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof Co))){var a=[];this.collapse(a),this.children=[new Co(a)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(e<=o){if(r.insertInner(e,t,n),r.lines&&r.lines.length>50){for(var s=r.lines.length%25+25,a=s;a<r.lines.length;){var l=new Co(r.lines.slice(a,a+=25));r.height-=l.height,this.children.splice(++i,0,l),l.parent=this}r.lines=r.lines.slice(0,s),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=new So(e.children.splice(e.children.length-5,5));if(e.parent){e.size-=t.size,e.height-=t.height;var n=V(e.parent.children,e);e.parent.children.splice(n+1,0,t)}else{var i=new So(e.children);i.parent=e,e.children=[i,t],e=i}t.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(e<o){var s=Math.min(t,o-e);if(r.iterN(e,s,n))return!0;if(0==(t-=s))break;e=0}else e-=o}}};var Ao=function(e,t,n){if(n)for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i]);this.doc=e,this.node=t};function Eo(e,t,n){Ut(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&Li(e,n)}Ao.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,i=Je(n);if(null!=i&&t){for(var r=0;r<t.length;++r)t[r]==this&&t.splice(r--,1);t.length||(n.widgets=null);var o=Cn(this);Qe(n,Math.max(0,n.height-o)),e&&(nr(e,(function(){Eo(e,n,-o),_i(e,i,"widget")})),dn(e,"lineWidgetCleared",e,this,i))}},Ao.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,i=this.line;this.height=null;var r=Cn(this)-t;r&&(Ht(this.doc,i)||Qe(i,i.height+r),n&&nr(n,(function(){n.curOp.forceUpdate=!0,Eo(n,i,r),dn(n,"lineWidgetChanged",n,e,Je(i))})))},xe(Ao);var Mo=0,To=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++Mo};function Po(e,t,n,i,r){if(i&&i.shared)return function(e,t,n,i,r){(i=q(i)).shared=!1;var o=[Po(e,t,n,i,r)],s=o[0],a=i.widgetNode;return Dr(e,(function(e){a&&(i.widgetNode=a.cloneNode(!0)),o.push(Po(e,ut(e,t),ut(e,n),i,r));for(var l=0;l<e.linked.length;++l)if(e.linked[l].isParent)return;s=Y(o)})),new Ro(o,s)}(e,t,n,i,r);if(e.cm&&!e.cm.curOp)return ir(e.cm,Po)(e,t,n,i,r);var o=new To(e,r),s=rt(t,n);if(i&&q(i,o,!1),s>0||0==s&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=R("span",[o.replacedWith],"CodeMirror-widget"),i.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),i.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(qt(e,t.line,t,n,o)||t.line!=n.line&&qt(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");St=!0}o.addToHistory&&Hr(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var a,l=t.line,c=e.cm;if(e.iter(l,n.line+1,(function(i){c&&o.collapsed&&!c.options.lineWrapping&&Bt(i)==c.display.maxLine&&(a=!0),o.collapsed&&l!=t.line&&Qe(i,0),function(e,t,n){var i=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));i&&e.markedSpans&&i.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],i&&i.add(e.markedSpans)),t.marker.attachLine(e)}(i,new At(o,l==t.line?t.ch:null,l==n.line?n.ch:null),e.cm&&e.cm.curOp),++l})),o.collapsed&&e.iter(t.line,n.line+1,(function(t){Ht(e,t)&&Qe(t,0)})),o.clearOnEnter&&fe(o,"beforeCursorEnter",(function(){return o.clear()})),o.readOnly&&(Ct=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++Mo,o.atomic=!0),c){if(a&&(c.curOp.updateMaxLine=!0),o.collapsed)fi(c,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var u=t.line;u<=n.line;u++)_i(c,u,"text");o.atomic&&so(c.doc),dn(c,"markerAdded",c,o)}return o}To.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Ki(e),be(this,"clear")){var n=this.find();n&&dn(this,"clear",n.from,n.to)}for(var i=null,r=null,o=0;o<this.lines.length;++o){var s=this.lines[o],a=Et(s.markedSpans,this);e&&!this.collapsed?_i(e,Je(s),"text"):e&&(null!=a.to&&(r=Je(s)),null!=a.from&&(i=Je(s))),s.markedSpans=Mt(s.markedSpans,a),null==a.from&&this.collapsed&&!Ht(this.doc,s)&&e&&Qe(s,si(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var l=0;l<this.lines.length;++l){var c=Bt(this.lines[l]),u=$t(c);u>e.display.maxLineLength&&(e.display.maxLine=c,e.display.maxLineLength=u,e.display.maxLineChanged=!0)}null!=i&&e&&this.collapsed&&fi(e,i,r+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&so(e.doc)),e&&dn(e,"markerCleared",e,this,i,r),t&&Xi(e),this.parent&&this.parent.clear()}},To.prototype.find=function(e,t){var n,i;null==e&&"bookmark"==this.type&&(e=1);for(var r=0;r<this.lines.length;++r){var o=this.lines[r],s=Et(o.markedSpans,this);if(null!=s.from&&(n=it(t?o:Je(o),s.from),-1==e))return n;if(null!=s.to&&(i=it(t?o:Je(o),s.to),1==e))return i}return n&&{from:n,to:i}},To.prototype.changed=function(){var e=this,t=this.find(-1,!0),n=this,i=this.doc.cm;t&&i&&nr(i,(function(){var r=t.line,o=Je(t.line),s=zn(i,o);if(s&&(Bn(s),i.curOp.selectionChanged=i.curOp.forceUpdate=!0),i.curOp.updateMaxLine=!0,!Ht(n.doc,r)&&null!=n.height){var a=n.height;n.height=null;var l=Cn(n)-a;l&&Qe(r,r.height+l)}dn(i,"markerChanged",i,e)}))},To.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;t.maybeHiddenMarkers&&-1!=V(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},To.prototype.detachLine=function(e){if(this.lines.splice(V(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},xe(To);var Ro=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};function Io(e){return e.findMarks(it(e.first,0),e.clipPos(it(e.lastLine())),(function(e){return e.parent}))}function Lo(e){for(var t=function(t){var n=e[t],i=[n.primary.doc];Dr(n.primary.doc,(function(e){return i.push(e)}));for(var r=0;r<n.markers.length;r++){var o=n.markers[r];-1==V(i,o.doc)&&(o.parent=null,n.markers.splice(r--,1))}},n=0;n<e.length;n++)t(n)}Ro.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();dn(this,"clear")}},Ro.prototype.find=function(e,t){return this.primary.find(e,t)},xe(Ro);var zo=0,Oo=function(e,t,n,i,r){if(!(this instanceof Oo))return new Oo(e,t,n,i,r);null==n&&(n=0),So.call(this,[new Co([new Kt("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=it(n,0);this.sel=Tr(o),this.history=new Br(null),this.id=++zo,this.modeOption=t,this.lineSep=i,this.direction="rtl"==r?"rtl":"ltr",this.extend=!1,"string"==typeof e&&(e=this.splitLines(e)),jr(this,{from:o,to:o,text:e}),io(this,Tr(o),W)};Oo.prototype=ee(So.prototype,{constructor:Oo,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,i=0;i<t.length;++i)n+=t[i].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=Ye(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:or((function(e){var t=it(this.first,0),n=this.first+this.size-1;fo(this,{from:t,to:it(n,Ke(this,n).text.length),text:this.splitLines(e),origin:"setValue",full:!0},!0),this.cm&&Oi(this.cm,0,0),io(this,Tr(t),W)})),replaceRange:function(e,t,n,i){vo(this,e,t=ut(this,t),n=n?ut(this,n):t,i)},getRange:function(e,t,n){var i=Xe(this,ut(this,e),ut(this,t));return!1===n?i:""===n?i.join(""):i.join(n||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(tt(this,e))return Ke(this,e)},getLineNumber:function(e){return Je(e)},getLineHandleVisualStart:function(e){return"number"==typeof e&&(e=Ke(this,e)),Bt(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return ut(this,e)},getCursor:function(e){var t=this.sel.primary();return null==e||"head"==e?t.head:"anchor"==e?t.anchor:"end"==e||"to"==e||!1===e?t.to():t.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:or((function(e,t,n){to(this,ut(this,"number"==typeof e?it(e,t||0):e),null,n)})),setSelection:or((function(e,t,n){to(this,ut(this,e),ut(this,t||e),n)})),extendSelection:or((function(e,t,n){Qr(this,ut(this,e),t&&ut(this,t),n)})),extendSelections:or((function(e,t){Jr(this,dt(this,e),t)})),extendSelectionsBy:or((function(e,t){Jr(this,dt(this,Q(this.sel.ranges,e)),t)})),setSelections:or((function(e,t,n){if(e.length){for(var i=[],r=0;r<e.length;r++)i[r]=new Er(ut(this,e[r].anchor),ut(this,e[r].head||e[r].anchor));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),io(this,Mr(this.cm,i,t),n)}})),addSelection:or((function(e,t,n){var i=this.sel.ranges.slice(0);i.push(new Er(ut(this,e),ut(this,t||e))),io(this,Mr(this.cm,i,i.length-1),n)})),getSelection:function(e){for(var t,n=this.sel.ranges,i=0;i<n.length;i++){var r=Xe(this,n[i].from(),n[i].to());t=t?t.concat(r):r}return!1===e?t:t.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,i=0;i<n.length;i++){var r=Xe(this,n[i].from(),n[i].to());!1!==e&&(r=r.join(e||this.lineSeparator())),t[i]=r}return t},replaceSelection:function(e,t,n){for(var i=[],r=0;r<this.sel.ranges.length;r++)i[r]=e;this.replaceSelections(i,t,n||"+input")},replaceSelections:or((function(e,t,n){for(var i=[],r=this.sel,o=0;o<r.ranges.length;o++){var s=r.ranges[o];i[o]={from:s.from(),to:s.to(),text:this.splitLines(e[o]),origin:n}}for(var a=t&&"end"!=t&&function(e,t,n){for(var i=[],r=it(e.first,0),o=r,s=0;s<t.length;s++){var a=t[s],l=Lr(a.from,r,o),c=Lr(Pr(a),r,o);if(r=a.to,o=c,"around"==n){var u=e.sel.ranges[s],d=rt(u.head,u.anchor)<0;i[s]=new Er(d?c:l,d?l:c)}else i[s]=new Er(l,l)}return new Ar(i,e.sel.primIndex)}(this,i,t),l=i.length-1;l>=0;l--)fo(this,i[l]);a?no(this,a):this.cm&&zi(this.cm)})),undo:or((function(){go(this,"undo")})),redo:or((function(){go(this,"redo")})),undoSelection:or((function(){go(this,"undo",!0)})),redoSelection:or((function(){go(this,"redo",!0)})),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,i=0;i<e.done.length;i++)e.done[i].ranges||++t;for(var r=0;r<e.undone.length;r++)e.undone[r].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){var e=this;this.history=new Br(this.history),Dr(this,(function(t){return t.history=e.history}),!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Xr(this.history.done),undone:Xr(this.history.undone)}},setHistory:function(e){var t=this.history=new Br(this.history);t.done=Xr(e.done.slice(0),null,!0),t.undone=Xr(e.undone.slice(0),null,!0)},setGutterMarker:or((function(e,t,n){return ko(this,e,"gutter",(function(e){var i=e.gutterMarkers||(e.gutterMarkers={});return i[t]=n,!n&&re(i)&&(e.gutterMarkers=null),!0}))})),clearGutter:or((function(e){var t=this;this.iter((function(n){n.gutterMarkers&&n.gutterMarkers[e]&&ko(t,n,"gutter",(function(){return n.gutterMarkers[e]=null,re(n.gutterMarkers)&&(n.gutterMarkers=null),!0}))}))})),lineInfo:function(e){var t;if("number"==typeof e){if(!tt(this,e))return null;if(t=e,!(e=Ke(this,e)))return null}else if(null==(t=Je(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:or((function(e,t,n){return ko(this,e,"gutter"==t?"gutter":"class",(function(e){var i="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass";if(e[i]){if(S(n).test(e[i]))return!1;e[i]+=" "+n}else e[i]=n;return!0}))})),removeLineClass:or((function(e,t,n){return ko(this,e,"gutter"==t?"gutter":"class",(function(e){var i="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass",r=e[i];if(!r)return!1;if(null==n)e[i]=null;else{var o=r.match(S(n));if(!o)return!1;var s=o.index+o[0].length;e[i]=r.slice(0,o.index)+(o.index&&s!=r.length?" ":"")+r.slice(s)||null}return!0}))})),addLineWidget:or((function(e,t,n){return function(e,t,n,i){var r=new Ao(e,n,i),o=e.cm;return o&&r.noHScroll&&(o.display.alignWidgets=!0),ko(e,t,"widget",(function(t){var n=t.widgets||(t.widgets=[]);if(null==r.insertAt?n.push(r):n.splice(Math.min(n.length,Math.max(0,r.insertAt)),0,r),r.line=t,o&&!Ht(e,t)){var i=Ut(t)<e.scrollTop;Qe(t,t.height+Cn(r)),i&&Li(o,r.height),o.curOp.forceUpdate=!0}return!0})),o&&dn(o,"lineWidgetAdded",o,r,"number"==typeof t?t:Je(t)),r}(this,e,t,n)})),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return Po(this,ut(this,e),ut(this,t),n,n&&n.type||"range")},setBookmark:function(e,t){var n={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return Po(this,e=ut(this,e),e,n,"bookmark")},findMarksAt:function(e){var t=[],n=Ke(this,(e=ut(this,e)).line).markedSpans;if(n)for(var i=0;i<n.length;++i){var r=n[i];(null==r.from||r.from<=e.ch)&&(null==r.to||r.to>=e.ch)&&t.push(r.marker.parent||r.marker)}return t},findMarks:function(e,t,n){e=ut(this,e),t=ut(this,t);var i=[],r=e.line;return this.iter(e.line,t.line+1,(function(o){var s=o.markedSpans;if(s)for(var a=0;a<s.length;a++){var l=s[a];null!=l.to&&r==e.line&&e.ch>=l.to||null==l.from&&r!=e.line||null!=l.from&&r==t.line&&l.from>=t.ch||n&&!n(l.marker)||i.push(l.marker.parent||l.marker)}++r})),i},getAllMarks:function(){var e=[];return this.iter((function(t){var n=t.markedSpans;if(n)for(var i=0;i<n.length;++i)null!=n[i].from&&e.push(n[i].marker)})),e},posFromIndex:function(e){var t,n=this.first,i=this.lineSeparator().length;return this.iter((function(r){var o=r.text.length+i;if(o>e)return t=e,!0;e-=o,++n})),ut(this,it(n,t))},indexFromPos:function(e){var t=(e=ut(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,(function(e){t+=e.text.length+n})),t},copy:function(e){var t=new Oo(Ye(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to);var i=new Oo(Ye(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(i.history=this.history),(this.linked||(this.linked=[])).push({doc:i,sharedHist:e.sharedHist}),i.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],function(e,t){for(var n=0;n<t.length;n++){var i=t[n],r=i.find(),o=e.clipPos(r.from),s=e.clipPos(r.to);if(rt(o,s)){var a=Po(e,o,s,i.primary,i.primary.type);i.markers.push(a),a.parent=i}}}(i,Io(this)),i},unlinkDoc:function(e){if(e instanceof Rs&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t)if(this.linked[t].doc==e){this.linked.splice(t,1),e.unlinkDoc(this),Lo(Io(this));break}if(e.history==this.history){var n=[e.id];Dr(e,(function(e){return n.push(e.id)}),!0),e.history=new Br(null),e.history.done=Xr(this.history.done,n),e.history.undone=Xr(this.history.undone,n)}},iterLinkedDocs:function(e){Dr(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):ze(e)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:or((function(e){var t;"rtl"!=e&&(e="ltr"),e!=this.direction&&(this.direction=e,this.iter((function(e){return e.order=null})),this.cm&&nr(t=this.cm,(function(){qr(t),fi(t)})))}))}),Oo.prototype.eachLine=Oo.prototype.iter;var Fo=0;function jo(e){var t=this;if(Do(t),!ye(t,e)&&!Sn(t.display,e)){we(e),s&&(Fo=+new Date);var n=hi(t,e,!0),i=e.dataTransfer.files;if(n&&!t.isReadOnly())if(i&&i.length&&window.FileReader&&window.File)for(var r=i.length,o=Array(r),a=0,l=function(){++a==r&&ir(t,(function(){var e={from:n=ut(t.doc,n),to:n,text:t.doc.splitLines(o.filter((function(e){return null!=e})).join(t.doc.lineSeparator())),origin:"paste"};fo(t.doc,e),no(t.doc,Tr(ut(t.doc,n),ut(t.doc,Pr(e))))}))()},c=function(e,n){if(t.options.allowDropFileTypes&&-1==V(t.options.allowDropFileTypes,e.type))l();else{var i=new FileReader;i.onerror=function(){return l()},i.onload=function(){var e=i.result;/[\x00-\x08\x0e-\x1f]{2}/.test(e)||(o[n]=e),l()},i.readAsText(e)}},u=0;u<i.length;u++)c(i[u],u);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1)return t.state.draggingText(e),void setTimeout((function(){return t.display.input.focus()}),20);try{var d=e.dataTransfer.getData("Text");if(d){var h;if(t.state.draggingText&&!t.state.draggingText.copy&&(h=t.listSelections()),ro(t.doc,Tr(n,n)),h)for(var p=0;p<h.length;++p)vo(t.doc,"",h[p].anchor,h[p].head,"drag");t.replaceSelection(d,"around","paste"),t.display.input.focus()}}catch(e){}}}}function Do(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function No(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName("CodeMirror"),n=[],i=0;i<t.length;i++){var r=t[i].CodeMirror;r&&n.push(r)}n.length&&n[0].operation((function(){for(var t=0;t<n.length;t++)e(n[t])}))}}var qo=!1;function Bo(){var e;qo||(fe(window,"resize",(function(){null==e&&(e=setTimeout((function(){e=null,No(Go)}),100))})),fe(window,"blur",(function(){return No(Mi)})),qo=!0)}function Go(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var Vo={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Mod",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Ho=0;Ho<10;Ho++)Vo[Ho+48]=Vo[Ho+96]=String(Ho);for(var Wo=65;Wo<=90;Wo++)Vo[Wo]=String.fromCharCode(Wo);for(var Uo=1;Uo<=12;Uo++)Vo[Uo+111]=Vo[Uo+63235]="F"+Uo;var $o={};function Zo(e){var t,n,i,r,o=e.split(/-(?!$)/);e=o[o.length-1];for(var s=0;s<o.length-1;s++){var a=o[s];if(/^(cmd|meta|m)$/i.test(a))r=!0;else if(/^a(lt)?$/i.test(a))t=!0;else if(/^(c|ctrl|control)$/i.test(a))n=!0;else{if(!/^s(hift)?$/i.test(a))throw new Error("Unrecognized modifier name: "+a);i=!0}}return t&&(e="Alt-"+e),n&&(e="Ctrl-"+e),r&&(e="Cmd-"+e),i&&(e="Shift-"+e),e}function Ko(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if("..."==i){delete e[n];continue}for(var r=Q(n.split(" "),Zo),o=0;o<r.length;o++){var s=void 0,a=void 0;o==r.length-1?(a=r.join(" "),s=i):(a=r.slice(0,o+1).join(" "),s="...");var l=t[a];if(l){if(l!=s)throw new Error("Inconsistent bindings for "+a)}else t[a]=s}delete e[n]}for(var c in t)e[c]=t[c];return e}function Xo(e,t,n,i){var r=(t=es(t)).call?t.call(e,i):t[e];if(!1===r)return"nothing";if("..."===r)return"multi";if(null!=r&&n(r))return"handled";if(t.fallthrough){if("[object Array]"!=Object.prototype.toString.call(t.fallthrough))return Xo(e,t.fallthrough,n,i);for(var o=0;o<t.fallthrough.length;o++){var s=Xo(e,t.fallthrough[o],n,i);if(s)return s}}}function Yo(e){var t="string"==typeof e?e:Vo[e.keyCode];return"Ctrl"==t||"Alt"==t||"Shift"==t||"Mod"==t}function Qo(e,t,n){var i=e;return t.altKey&&"Alt"!=i&&(e="Alt-"+e),(k?t.metaKey:t.ctrlKey)&&"Ctrl"!=i&&(e="Ctrl-"+e),(k?t.ctrlKey:t.metaKey)&&"Mod"!=i&&(e="Cmd-"+e),!n&&t.shiftKey&&"Shift"!=i&&(e="Shift-"+e),e}function Jo(e,t){if(h&&34==e.keyCode&&e.char)return!1;var n=Vo[e.keyCode];return null!=n&&!e.altGraphKey&&(3==e.keyCode&&e.code&&(n=e.code),Qo(n,e,t))}function es(e){return"string"==typeof e?$o[e]:e}function ts(e,t){for(var n=e.doc.sel.ranges,i=[],r=0;r<n.length;r++){for(var o=t(n[r]);i.length&&rt(o.from,Y(i).to)<=0;){var s=i.pop();if(rt(s.from,o.from)<0){o.from=s.from;break}}i.push(o)}nr(e,(function(){for(var t=i.length-1;t>=0;t--)vo(e.doc,"",i[t].from,i[t].to,"+delete");zi(e)}))}function ns(e,t,n){var i=ae(e.text,t+n,n);return i<0||i>e.text.length?null:i}function is(e,t,n){var i=ns(e,t.ch,n);return null==i?null:new it(t.line,i,n<0?"after":"before")}function rs(e,t,n,i,r){if(e){"rtl"==t.doc.direction&&(r=-r);var o=he(n,t.doc.direction);if(o){var s,a=r<0?Y(o):o[0],l=r<0==(1==a.level)?"after":"before";if(a.level>0||"rtl"==t.doc.direction){var c=On(t,n);s=r<0?n.text.length-1:0;var u=Fn(t,c,s).top;s=le((function(e){return Fn(t,c,e).top==u}),r<0==(1==a.level)?a.from:a.to-1,s),"before"==l&&(s=ns(n,s,1))}else s=r<0?a.to:a.from;return new it(i,s,l)}}return new it(i,r<0?n.text.length:0,r<0?"before":"after")}$o.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},$o.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},$o.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},$o.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},$o.default=v?$o.macDefault:$o.pcDefault;var os={selectAll:ho,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),W)},killLine:function(e){return ts(e,(function(t){if(t.empty()){var n=Ke(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line<e.lastLine()?{from:t.head,to:it(t.head.line+1,0)}:{from:t.head,to:it(t.head.line,n)}}return{from:t.from(),to:t.to()}}))},deleteLine:function(e){return ts(e,(function(t){return{from:it(t.from().line,0),to:ut(e.doc,it(t.to().line+1,0))}}))},delLineLeft:function(e){return ts(e,(function(e){return{from:it(e.from().line,0),to:e.from()}}))},delWrappedLineLeft:function(e){return ts(e,(function(t){var n=e.charCoords(t.head,"div").top+5;return{from:e.coordsChar({left:0,top:n},"div"),to:t.from()}}))},delWrappedLineRight:function(e){return ts(e,(function(t){var n=e.charCoords(t.head,"div").top+5,i=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div");return{from:t.from(),to:i}}))},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(it(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(it(e.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy((function(t){return ss(e,t.head.line)}),{origin:"+move",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy((function(t){return as(e,t.head)}),{origin:"+move",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy((function(t){return function(e,t){var n=Ke(e.doc,t),i=function(e){for(var t;t=Dt(e);)e=t.find(1,!0).line;return e}(n);return i!=n&&(t=Je(i)),rs(!0,e,n,t,-1)}(e,t.head.line)}),{origin:"+move",bias:-1})},goLineRight:function(e){return e.extendSelectionsBy((function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div")}),$)},goLineLeft:function(e){return e.extendSelectionsBy((function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:0,top:n},"div")}),$)},goLineLeftSmart:function(e){return e.extendSelectionsBy((function(t){var n=e.cursorCoords(t.head,"div").top+5,i=e.coordsChar({left:0,top:n},"div");return i.ch<e.getLine(i.line).search(/\S/)?as(e,t.head):i}),$)},goLineUp:function(e){return e.moveV(-1,"line")},goLineDown:function(e){return e.moveV(1,"line")},goPageUp:function(e){return e.moveV(-1,"page")},goPageDown:function(e){return e.moveV(1,"page")},goCharLeft:function(e){return e.moveH(-1,"char")},goCharRight:function(e){return e.moveH(1,"char")},goColumnLeft:function(e){return e.moveH(-1,"column")},goColumnRight:function(e){return e.moveH(1,"column")},goWordLeft:function(e){return e.moveH(-1,"word")},goGroupRight:function(e){return e.moveH(1,"group")},goGroupLeft:function(e){return e.moveH(-1,"group")},goWordRight:function(e){return e.moveH(1,"word")},delCharBefore:function(e){return e.deleteH(-1,"codepoint")},delCharAfter:function(e){return e.deleteH(1,"char")},delWordBefore:function(e){return e.deleteH(-1,"word")},delWordAfter:function(e){return e.deleteH(1,"word")},delGroupBefore:function(e){return e.deleteH(-1,"group")},delGroupAfter:function(e){return e.deleteH(1,"group")},indentAuto:function(e){return e.indentSelection("smart")},indentMore:function(e){return e.indentSelection("add")},indentLess:function(e){return e.indentSelection("subtract")},insertTab:function(e){return e.replaceSelection("\t")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),i=e.options.tabSize,r=0;r<n.length;r++){var o=n[r].from(),s=B(e.getLine(o.line),o.ch,i);t.push(X(i-s%i))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.execCommand("insertTab")},transposeChars:function(e){return nr(e,(function(){for(var t=e.listSelections(),n=[],i=0;i<t.length;i++)if(t[i].empty()){var r=t[i].head,o=Ke(e.doc,r.line).text;if(o)if(r.ch==o.length&&(r=new it(r.line,r.ch-1)),r.ch>0)r=new it(r.line,r.ch+1),e.replaceRange(o.charAt(r.ch-1)+o.charAt(r.ch-2),it(r.line,r.ch-2),r,"+transpose");else if(r.line>e.doc.first){var s=Ke(e.doc,r.line-1).text;s&&(r=new it(r.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+s.charAt(s.length-1),it(r.line-1,s.length-1),r,"+transpose"))}n.push(new Er(r,r))}e.setSelections(n)}))},newlineAndIndent:function(e){return nr(e,(function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var i=0;i<t.length;i++)e.indentLine(t[i].from().line,null,!0);zi(e)}))},openLine:function(e){return e.replaceSelection("\n","start")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function ss(e,t){var n=Ke(e.doc,t),i=Bt(n);return i!=n&&(t=Je(i)),rs(!0,e,i,t,1)}function as(e,t){var n=ss(e,t.line),i=Ke(e.doc,n.line),r=he(i,e.doc.direction);if(!r||0==r[0].level){var o=Math.max(n.ch,i.text.search(/\S/)),s=t.line==n.line&&t.ch<=o&&t.ch;return it(n.line,s?0:o,n.sticky)}return n}function ls(e,t,n){if("string"==typeof t&&!(t=os[t]))return!1;e.display.input.ensurePolled();var i=e.display.shift,r=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),r=t(e)!=H}finally{e.display.shift=i,e.state.suppressEdits=!1}return r}var cs=new G;function us(e,t,n,i){var r=e.state.keySeq;if(r){if(Yo(t))return"handled";if(/\'$/.test(t)?e.state.keySeq=null:cs.set(50,(function(){e.state.keySeq==r&&(e.state.keySeq=null,e.display.input.reset())})),ds(e,r+" "+t,n,i))return!0}return ds(e,t,n,i)}function ds(e,t,n,i){var r=function(e,t,n){for(var i=0;i<e.state.keyMaps.length;i++){var r=Xo(t,e.state.keyMaps[i],n,e);if(r)return r}return e.options.extraKeys&&Xo(t,e.options.extraKeys,n,e)||Xo(t,e.options.keyMap,n,e)}(e,t,i);return"multi"==r&&(e.state.keySeq=t),"handled"==r&&dn(e,"keyHandled",e,t,n),"handled"!=r&&"multi"!=r||(we(n),Ci(e)),!!r}function hs(e,t){var n=Jo(t,!0);return!!n&&(t.shiftKey&&!e.state.keySeq?us(e,"Shift-"+n,t,(function(t){return ls(e,t,!0)}))||us(e,n,t,(function(t){if("string"==typeof t?/^go[A-Z]/.test(t):t.motion)return ls(e,t)})):us(e,n,t,(function(t){return ls(e,t)})))}var ps=null;function fs(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||(t.curOp.focus=L(j(t)),ye(t,e)))){s&&a<11&&27==e.keyCode&&(e.returnValue=!1);var i=e.keyCode;t.display.shift=16==i||e.shiftKey;var r=hs(t,e);h&&(ps=r?i:null,r||88!=i||Fe||!(v?e.metaKey:e.ctrlKey)||t.replaceSelection("",null,"cut")),n&&!v&&!r&&46==i&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand("cut"),18!=i||/\bCodeMirror-crosshair\b/.test(t.display.lineDiv.className)||function(e){var t=e.display.lineDiv;function n(e){18!=e.keyCode&&e.altKey||(E(t,"CodeMirror-crosshair"),ge(document,"keyup",n),ge(document,"mouseover",n))}z(t,"CodeMirror-crosshair"),fe(document,"keyup",n),fe(document,"mouseover",n)}(t)}}function _s(e){16==e.keyCode&&(this.doc.sel.shift=!1),ye(this,e)}function gs(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||Sn(t.display,e)||ye(t,e)||e.ctrlKey&&!e.altKey||v&&e.metaKey)){var n=e.keyCode,i=e.charCode;if(h&&n==ps)return ps=null,void we(e);if(!h||e.which&&!(e.which<10)||!hs(t,e)){var r=String.fromCharCode(null==i?n:i);"\b"!=r&&(function(e,t,n){return us(e,"'"+n+"'",t,(function(t){return ls(e,t,!0)}))}(t,e,r)||t.display.input.onKeyPress(e))}}}var ms,ys,vs=function(e,t,n){this.time=e,this.pos=t,this.button=n};function bs(e){var t=this,n=t.display;if(!(ye(t,e)||n.activeTouch&&n.input.supportsTouch()))if(n.input.ensurePolled(),n.shift=e.shiftKey,Sn(n,e))l||(n.scroller.draggable=!1,setTimeout((function(){return n.scroller.draggable=!0}),100));else if(!ks(t,e)){var i=hi(t,e),r=Ee(e),o=i?function(e,t){var n=+new Date;return ys&&ys.compare(n,e,t)?(ms=ys=null,"triple"):ms&&ms.compare(n,e,t)?(ys=new vs(n,e,t),ms=null,"double"):(ms=new vs(n,e,t),ys=null,"single")}(i,r):"single";D(t).focus(),1==r&&t.state.selectingText&&t.state.selectingText(e),i&&function(e,t,n,i,r){var o="Click";return"double"==i?o="Double"+o:"triple"==i&&(o="Triple"+o),us(e,Qo(o=(1==t?"Left":2==t?"Middle":"Right")+o,r),r,(function(t){if("string"==typeof t&&(t=os[t]),!t)return!1;var i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),i=t(e,n)!=H}finally{e.state.suppressEdits=!1}return i}))}(t,r,i,o,e)||(1==r?i?function(e,t,n,i){s?setTimeout(N(Si,e),0):e.curOp.focus=L(j(e));var r,o=function(e,t,n){var i=e.getOption("configureMouse"),r=i?i(e,t,n):{};if(null==r.unit){var o=b?n.shiftKey&&n.metaKey:n.altKey;r.unit=o?"rectangle":"single"==t?"char":"double"==t?"word":"line"}return(null==r.extend||e.doc.extend)&&(r.extend=e.doc.extend||n.shiftKey),null==r.addNew&&(r.addNew=v?n.metaKey:n.ctrlKey),null==r.moveOnDrag&&(r.moveOnDrag=!(v?n.altKey:n.ctrlKey)),r}(e,n,i),c=e.doc.sel;e.options.dragDrop&&Pe&&!e.isReadOnly()&&"single"==n&&(r=c.contains(t))>-1&&(rt((r=c.ranges[r]).from(),t)<0||t.xRel>0)&&(rt(r.to(),t)>0||t.xRel<0)?function(e,t,n,i){var r=e.display,o=!1,c=ir(e,(function(t){l&&(r.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Ai(e)),ge(r.wrapper.ownerDocument,"mouseup",c),ge(r.wrapper.ownerDocument,"mousemove",u),ge(r.scroller,"dragstart",d),ge(r.scroller,"drop",c),o||(we(t),i.addNew||Qr(e.doc,n,null,null,i.extend),l&&!p||s&&9==a?setTimeout((function(){r.wrapper.ownerDocument.body.focus({preventScroll:!0}),r.input.focus()}),20):r.input.focus())})),u=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},d=function(){return o=!0};l&&(r.scroller.draggable=!0),e.state.draggingText=c,c.copy=!i.moveOnDrag,fe(r.wrapper.ownerDocument,"mouseup",c),fe(r.wrapper.ownerDocument,"mousemove",u),fe(r.scroller,"dragstart",d),fe(r.scroller,"drop",c),e.state.delayingBlurEvent=!0,setTimeout((function(){return r.input.focus()}),20),r.scroller.dragDrop&&r.scroller.dragDrop()}(e,i,t,o):function(e,t,n,i){s&&Ai(e);var r=e.display,o=e.doc;we(t);var a,l,c=o.sel,u=c.ranges;if(i.addNew&&!i.extend?(l=o.sel.contains(n),a=l>-1?u[l]:new Er(n,n)):(a=o.sel.primary(),l=o.sel.primIndex),"rectangle"==i.unit)i.addNew||(a=new Er(n,n)),n=hi(e,t,!0,!0),l=-1;else{var d=xs(e,n,i.unit);a=i.extend?Yr(a,d.anchor,d.head,i.extend):d}i.addNew?-1==l?(l=u.length,io(o,Mr(e,u.concat([a]),l),{scroll:!1,origin:"*mouse"})):u.length>1&&u[l].empty()&&"char"==i.unit&&!i.extend?(io(o,Mr(e,u.slice(0,l).concat(u.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),c=o.sel):eo(o,l,a,U):(l=0,io(o,new Ar([a],0),U),c=o.sel);var h=n;function p(t){if(0!=rt(h,t))if(h=t,"rectangle"==i.unit){for(var r=[],s=e.options.tabSize,u=B(Ke(o,n.line).text,n.ch,s),d=B(Ke(o,t.line).text,t.ch,s),p=Math.min(u,d),f=Math.max(u,d),_=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));_<=g;_++){var m=Ke(o,_).text,y=Z(m,p,s);p==f?r.push(new Er(it(_,y),it(_,y))):m.length>y&&r.push(new Er(it(_,y),it(_,Z(m,f,s))))}r.length||r.push(new Er(n,n)),io(o,Mr(e,c.ranges.slice(0,l).concat(r),l),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var v,b=a,x=xs(e,t,i.unit),w=b.anchor;rt(x.anchor,w)>0?(v=x.head,w=lt(b.from(),x.anchor)):(v=x.anchor,w=at(b.to(),x.head));var k=c.ranges.slice(0);k[l]=function(e,t){var n=t.anchor,i=t.head,r=Ke(e.doc,n.line);if(0==rt(n,i)&&n.sticky==i.sticky)return t;var o=he(r);if(!o)return t;var s=ue(o,n.ch,n.sticky),a=o[s];if(a.from!=n.ch&&a.to!=n.ch)return t;var l,c=s+(a.from==n.ch==(1!=a.level)?0:1);if(0==c||c==o.length)return t;if(i.line!=n.line)l=(i.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var u=ue(o,i.ch,i.sticky),d=u-s||(i.ch-n.ch)*(1==a.level?-1:1);l=u==c-1||u==c?d<0:d>0}var h=o[c+(l?-1:0)],p=l==(1==h.level),f=p?h.from:h.to,_=p?"after":"before";return n.ch==f&&n.sticky==_?t:new Er(new it(n.line,f,_),i)}(e,new Er(ut(o,w),v)),io(o,Mr(e,k,l),U)}}var f=r.wrapper.getBoundingClientRect(),_=0;function g(t){var n=++_,s=hi(e,t,!0,"rectangle"==i.unit);if(s)if(0!=rt(s,h)){e.curOp.focus=L(j(e)),p(s);var a=Ri(r,o);(s.line>=a.to||s.line<a.from)&&setTimeout(ir(e,(function(){_==n&&g(t)})),150)}else{var l=t.clientY<f.top?-20:t.clientY>f.bottom?20:0;l&&setTimeout(ir(e,(function(){_==n&&(r.scroller.scrollTop+=l,g(t))})),50)}}function m(t){e.state.selectingText=!1,_=1/0,t&&(we(t),r.input.focus()),ge(r.wrapper.ownerDocument,"mousemove",y),ge(r.wrapper.ownerDocument,"mouseup",v),o.history.lastSelOrigin=null}var y=ir(e,(function(e){0!==e.buttons&&Ee(e)?g(e):m(e)})),v=ir(e,m);e.state.selectingText=v,fe(r.wrapper.ownerDocument,"mousemove",y),fe(r.wrapper.ownerDocument,"mouseup",v)}(e,i,t,o)}(t,i,o,e):Ae(e)==n.scroller&&we(e):2==r?(i&&Qr(t.doc,i),setTimeout((function(){return n.input.focus()}),20)):3==r&&(C?t.display.input.onContextMenu(e):Ai(t)))}}function xs(e,t,n){if("char"==n)return new Er(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Er(it(t.line,0),ut(e.doc,it(t.line+1,0)));var i=n(e,t);return new Er(i.from,i.to)}function ws(e,t,n,i){var r,o;if(t.touches)r=t.touches[0].clientX,o=t.touches[0].clientY;else try{r=t.clientX,o=t.clientY}catch(e){return!1}if(r>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;i&&we(t);var s=e.display,a=s.lineDiv.getBoundingClientRect();if(o>a.bottom||!be(e,n))return Ce(t);o-=a.top-s.viewOffset;for(var l=0;l<e.display.gutterSpecs.length;++l){var c=s.gutters.childNodes[l];if(c&&c.getBoundingClientRect().right>=r)return me(e,n,e,et(e.doc,o),e.display.gutterSpecs[l].className,t),Ce(t)}}function ks(e,t){return ws(e,t,"gutterClick",!0)}function Cs(e,t){Sn(e.display,t)||function(e,t){return!!be(e,"gutterContextMenu")&&ws(e,t,"gutterContextMenu",!1)}(e,t)||ye(e,t,"contextmenu")||C||e.display.input.onContextMenu(t)}function Ss(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Vn(e)}vs.prototype.compare=function(e,t,n){return this.time+400>e&&0==rt(t,this.pos)&&n==this.button};var As={toString:function(){return"CodeMirror.Init"}},Es={},Ms={};function Ts(e,t,n){if(!t!=!(n&&n!=As)){var i=e.display.dragFunctions,r=t?fe:ge;r(e.display.scroller,"dragstart",i.start),r(e.display.scroller,"dragenter",i.enter),r(e.display.scroller,"dragover",i.over),r(e.display.scroller,"dragleave",i.leave),r(e.display.scroller,"drop",i.drop)}}function Ps(e){e.options.lineWrapping?(z(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(E(e.display.wrapper,"CodeMirror-wrap"),Zt(e)),di(e),fi(e),Vn(e),setTimeout((function(){return Hi(e)}),100)}function Rs(e,t){var n=this;if(!(this instanceof Rs))return new Rs(e,t);this.options=t=t?q(t):{},q(Es,t,!1);var i=t.value;"string"==typeof i?i=new Oo(i,t.mode,null,t.lineSeparator,t.direction):t.mode&&(i.modeOption=t.mode),this.doc=i;var r=new Rs.inputStyles[t.inputStyle](this),o=this.display=new br(e,i,r,t);for(var c in o.wrapper.CodeMirror=this,Ss(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),$i(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new G,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),s&&a<11&&setTimeout((function(){return n.display.input.reset(!0)}),20),function(e){var t=e.display;fe(t.scroller,"mousedown",ir(e,bs)),fe(t.scroller,"dblclick",s&&a<11?ir(e,(function(t){if(!ye(e,t)){var n=hi(e,t);if(n&&!ks(e,t)&&!Sn(e.display,t)){we(t);var i=e.findWordAt(n);Qr(e.doc,i.anchor,i.head)}}})):function(t){return ye(e,t)||we(t)}),fe(t.scroller,"contextmenu",(function(t){return Cs(e,t)})),fe(t.input.getField(),"contextmenu",(function(n){t.scroller.contains(n.target)||Cs(e,n)}));var n,i={end:0};function r(){t.activeTouch&&(n=setTimeout((function(){return t.activeTouch=null}),1e3),(i=t.activeTouch).end=+new Date)}function o(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}function l(e,t){if(null==t.left)return!0;var n=t.left-e.left,i=t.top-e.top;return n*n+i*i>400}fe(t.scroller,"touchstart",(function(r){if(!ye(e,r)&&!o(r)&&!ks(e,r)){t.input.ensurePolled(),clearTimeout(n);var s=+new Date;t.activeTouch={start:s,moved:!1,prev:s-i.end<=300?i:null},1==r.touches.length&&(t.activeTouch.left=r.touches[0].pageX,t.activeTouch.top=r.touches[0].pageY)}})),fe(t.scroller,"touchmove",(function(){t.activeTouch&&(t.activeTouch.moved=!0)})),fe(t.scroller,"touchend",(function(n){var i=t.activeTouch;if(i&&!Sn(t,n)&&null!=i.left&&!i.moved&&new Date-i.start<300){var o,s=e.coordsChar(t.activeTouch,"page");o=!i.prev||l(i,i.prev)?new Er(s,s):!i.prev.prev||l(i,i.prev.prev)?e.findWordAt(s):new Er(it(s.line,0),ut(e.doc,it(s.line+1,0))),e.setSelection(o.anchor,o.head),e.focus(),we(n)}r()})),fe(t.scroller,"touchcancel",r),fe(t.scroller,"scroll",(function(){t.scroller.clientHeight&&(Di(e,t.scroller.scrollTop),qi(e,t.scroller.scrollLeft,!0),me(e,"scroll",e))})),fe(t.scroller,"mousewheel",(function(t){return Sr(e,t)})),fe(t.scroller,"DOMMouseScroll",(function(t){return Sr(e,t)})),fe(t.wrapper,"scroll",(function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0})),t.dragFunctions={enter:function(t){ye(e,t)||Se(t)},over:function(t){ye(e,t)||(function(e,t){var n=hi(e,t);if(n){var i=document.createDocumentFragment();xi(e,n,i),e.display.dragCursor||(e.display.dragCursor=P("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),T(e.display.dragCursor,i)}}(e,t),Se(t))},start:function(t){return function(e,t){if(s&&(!e.state.draggingText||+new Date-Fo<100))Se(t);else if(!ye(e,t)&&!Sn(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!p)){var n=P("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",h&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),h&&n.parentNode.removeChild(n)}}(e,t)},drop:ir(e,jo),leave:function(t){ye(e,t)||Do(e)}};var c=t.input.getField();fe(c,"keyup",(function(t){return _s.call(e,t)})),fe(c,"keydown",ir(e,fs)),fe(c,"keypress",ir(e,gs)),fe(c,"focus",(function(t){return Ei(e,t)})),fe(c,"blur",(function(t){return Mi(e,t)}))}(this),Bo(),Ki(this),this.curOp.forceUpdate=!0,Nr(this,i),t.autofocus&&!y||this.hasFocus()?setTimeout((function(){n.hasFocus()&&!n.state.focused&&Ei(n)}),20):Mi(this),Ms)Ms.hasOwnProperty(c)&&Ms[c](this,t[c],As);gr(this),t.finishInit&&t.finishInit(this);for(var u=0;u<Is.length;++u)Is[u](this);Xi(this),l&&t.lineWrapping&&"optimizelegibility"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering="auto")}Rs.defaults=Es,Rs.optionHandlers=Ms;var Is=[];function Ls(e,t,n,i){var r,o=e.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?r=gt(e,t).state:n="prev");var s=e.options.tabSize,a=Ke(o,t),l=B(a.text,null,s);a.stateAfter&&(a.stateAfter=null);var c,u=a.text.match(/^\s*/)[0];if(i||/\S/.test(a.text)){if("smart"==n&&((c=o.mode.indent(r,a.text.slice(u.length),a.text))==H||c>150)){if(!i)return;n="prev"}}else c=0,n="not";"prev"==n?c=t>o.first?B(Ke(o,t-1).text,null,s):0:"add"==n?c=l+e.options.indentUnit:"subtract"==n?c=l-e.options.indentUnit:"number"==typeof n&&(c=l+n),c=Math.max(0,c);var d="",h=0;if(e.options.indentWithTabs)for(var p=Math.floor(c/s);p;--p)h+=s,d+="\t";if(h<c&&(d+=X(c-h)),d!=u)return vo(o,d,it(t,0),it(t,u.length),"+input"),a.stateAfter=null,!0;for(var f=0;f<o.sel.ranges.length;f++){var _=o.sel.ranges[f];if(_.head.line==t&&_.head.ch<u.length){var g=it(t,u.length);eo(o,f,new Er(g,g));break}}}Rs.defineInitHook=function(e){return Is.push(e)};var zs=null;function Os(e){zs=e}function Fs(e,t,n,i,r){var o=e.doc;e.display.shift=!1,i||(i=o.sel);var s=+new Date-200,a="paste"==r||e.state.pasteIncoming>s,l=ze(t),c=null;if(a&&i.ranges.length>1)if(zs&&zs.text.join("\n")==t){if(i.ranges.length%zs.text.length==0){c=[];for(var u=0;u<zs.text.length;u++)c.push(o.splitLines(zs.text[u]))}}else l.length==i.ranges.length&&e.options.pasteLinesPerSelection&&(c=Q(l,(function(e){return[e]})));for(var d=e.curOp.updateInput,h=i.ranges.length-1;h>=0;h--){var p=i.ranges[h],f=p.from(),_=p.to();p.empty()&&(n&&n>0?f=it(f.line,f.ch-n):e.state.overwrite&&!a?_=it(_.line,Math.min(Ke(o,_.line).text.length,_.ch+Y(l).length)):a&&zs&&zs.lineWise&&zs.text.join("\n")==l.join("\n")&&(f=_=it(f.line,0)));var g={from:f,to:_,text:c?c[h%c.length]:l,origin:r||(a?"paste":e.state.cutIncoming>s?"cut":"+input")};fo(e.doc,g),dn(e,"inputRead",e,g)}t&&!a&&Ds(e,t),zi(e),e.curOp.updateInput<2&&(e.curOp.updateInput=d),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function js(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||!t.hasFocus()||nr(t,(function(){return Fs(t,n,0,null,"paste")})),!0}function Ds(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,i=n.ranges.length-1;i>=0;i--){var r=n.ranges[i];if(!(r.head.ch>100||i&&n.ranges[i-1].head.line==r.head.line)){var o=e.getModeAt(r.head),s=!1;if(o.electricChars){for(var a=0;a<o.electricChars.length;a++)if(t.indexOf(o.electricChars.charAt(a))>-1){s=Ls(e,r.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ke(e.doc,r.head.line).text.slice(0,r.head.ch))&&(s=Ls(e,r.head.line,"smart"));s&&dn(e,"electricInput",e,r.head.line)}}}function Ns(e){for(var t=[],n=[],i=0;i<e.doc.sel.ranges.length;i++){var r=e.doc.sel.ranges[i].head.line,o={anchor:it(r,0),head:it(r+1,0)};n.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:n}}function qs(e,t,n,i){e.setAttribute("autocorrect",n?"on":"off"),e.setAttribute("autocapitalize",i?"on":"off"),e.setAttribute("spellcheck",!!t)}function Bs(){var e=P("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none"),t=P("div",[e],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return l?e.style.width="1000px":e.setAttribute("wrap","off"),g&&(e.style.border="1px solid black"),t}function Gs(e,t,n,i,r){var o=t,s=n,a=Ke(e,t.line),l=r&&"rtl"==e.direction?-n:n;function c(o){var s,c;if("codepoint"==i){var u=a.text.charCodeAt(t.ch+(n>0?0:-1));if(isNaN(u))s=null;else{var d=n>0?u>=55296&&u<56320:u>=56320&&u<57343;s=new it(t.line,Math.max(0,Math.min(a.text.length,t.ch+n*(d?2:1))),-n)}}else s=r?function(e,t,n,i){var r=he(t,e.doc.direction);if(!r)return is(t,n,i);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=ue(r,n.ch,n.sticky),s=r[o];if("ltr"==e.doc.direction&&s.level%2==0&&(i>0?s.to>n.ch:s.from<n.ch))return is(t,n,i);var a,l=function(e,n){return ns(t,e instanceof it?e.ch:e,n)},c=function(n){return e.options.lineWrapping?(a=a||On(e,t),ti(e,t,a,n)):{begin:0,end:t.text.length}},u=c("before"==n.sticky?l(n,-1):n.ch);if("rtl"==e.doc.direction||1==s.level){var d=1==s.level==i<0,h=l(n,d?1:-1);if(null!=h&&(d?h<=s.to&&h<=u.end:h>=s.from&&h>=u.begin)){var p=d?"before":"after";return new it(n.line,h,p)}}var f=function(e,t,i){for(var o=function(e,t){return t?new it(n.line,l(e,1),"before"):new it(n.line,e,"after")};e>=0&&e<r.length;e+=t){var s=r[e],a=t>0==(1!=s.level),c=a?i.begin:l(i.end,-1);if(s.from<=c&&c<s.to)return o(c,a);if(c=a?s.from:l(s.to,-1),i.begin<=c&&c<i.end)return o(c,a)}},_=f(o+i,i,u);if(_)return _;var g=i>0?u.end:l(u.begin,-1);return null==g||i>0&&g==t.text.length||!(_=f(i>0?0:r.length-1,i,c(g)))?null:_}(e.cm,a,t,n):is(a,t,n);if(null==s){if(o||((c=t.line+l)<e.first||c>=e.first+e.size||(t=new it(c,t.ch,t.sticky),!(a=Ke(e,c)))))return!1;t=rs(r,e.cm,a,t.line,l)}else t=s;return!0}if("char"==i||"codepoint"==i)c();else if("column"==i)c(!0);else if("word"==i||"group"==i)for(var u=null,d="group"==i,h=e.cm&&e.cm.getHelper(t,"wordChars"),p=!0;!(n<0)||c(!p);p=!1){var f=a.text.charAt(t.ch)||"\n",_=ie(f,h)?"w":d&&"\n"==f?"n":!d||/\s/.test(f)?null:"p";if(!d||p||_||(_="s"),u&&u!=_){n<0&&(n=1,c(),t.sticky="after");break}if(_&&(u=_),n>0&&!c(!p))break}var g=co(e,t,o,s,!0);return ot(o,g)&&(g.hitSide=!0),g}function Vs(e,t,n,i){var r,o,s=e.doc,a=t.left;if("page"==i){var l=Math.min(e.display.wrapper.clientHeight,D(e).innerHeight||s(e).documentElement.clientHeight),c=Math.max(l-.5*si(e.display),3);r=(n>0?t.bottom:t.top)+n*c}else"line"==i&&(r=n>0?t.bottom+3:t.top-3);for(;(o=Jn(e,a,r)).outside;){if(n<0?r<=0:r>=s.height){o.hitSide=!0;break}r+=5*n}return o}var Hs=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new G,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Ws(e,t){var n=zn(e,t.line);if(!n||n.hidden)return null;var i=Ke(e.doc,t.line),r=In(n,i,t.line),o=he(i,e.doc.direction),s="left";o&&(s=ue(o,t.ch)%2?"right":"left");var a=Nn(r.map,t.ch,s);return a.offset="right"==a.collapse?a.end:a.start,a}function Us(e,t){return t&&(e.bad=!0),e}function $s(e,t,n){var i;if(t==e.display.lineDiv){if(!(i=e.display.lineDiv.childNodes[n]))return Us(e.clipPos(it(e.display.viewTo-1)),!0);t=null,n=0}else for(i=t;;i=i.parentNode){if(!i||i==e.display.lineDiv)return null;if(i.parentNode&&i.parentNode==e.display.lineDiv)break}for(var r=0;r<e.display.view.length;r++){var o=e.display.view[r];if(o.node==i)return Zs(o,t,n)}}function Zs(e,t,n){var i=e.text.firstChild,r=!1;if(!t||!I(i,t))return Us(it(Je(e.line),0),!0);if(t==i&&(r=!0,t=i.childNodes[n],n=0,!t)){var o=e.rest?Y(e.rest):e.line;return Us(it(Je(o),o.text.length),r)}var s=3==t.nodeType?t:null,a=t;for(s||1!=t.childNodes.length||3!=t.firstChild.nodeType||(s=t.firstChild,n&&(n=s.nodeValue.length));a.parentNode!=i;)a=a.parentNode;var l=e.measure,c=l.maps;function u(t,n,i){for(var r=-1;r<(c?c.length:0);r++)for(var o=r<0?l.map:c[r],s=0;s<o.length;s+=3){var a=o[s+2];if(a==t||a==n){var u=Je(r<0?e.line:e.rest[r]),d=o[s]+i;return(i<0||a!=t)&&(d=o[s+(i?1:0)]),it(u,d)}}}var d=u(s,a,n);if(d)return Us(d,r);for(var h=a.nextSibling,p=s?s.nodeValue.length-n:0;h;h=h.nextSibling){if(d=u(h,h.firstChild,0))return Us(it(d.line,d.ch-p),r);p+=h.textContent.length}for(var f=a.previousSibling,_=n;f;f=f.previousSibling){if(d=u(f,f.firstChild,-1))return Us(it(d.line,d.ch+_),r);_+=f.textContent.length}}Hs.prototype.init=function(e){var t=this,n=this,i=n.cm,r=n.div=e.lineDiv;function o(e){for(var t=e.target;t;t=t.parentNode){if(t==r)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(t.className))break}return!1}function s(e){if(o(e)&&!ye(i,e)){if(i.somethingSelected())Os({lineWise:!1,text:i.getSelections()}),"cut"==e.type&&i.replaceSelection("",null,"cut");else{if(!i.options.lineWiseCopyCut)return;var t=Ns(i);Os({lineWise:!0,text:t.text}),"cut"==e.type&&i.operation((function(){i.setSelections(t.ranges,0,W),i.replaceSelection("",null,"cut")}))}if(e.clipboardData){e.clipboardData.clearData();var s=zs.text.join("\n");if(e.clipboardData.setData("Text",s),e.clipboardData.getData("Text")==s)return void e.preventDefault()}var a=Bs(),l=a.firstChild;qs(l),i.display.lineSpace.insertBefore(a,i.display.lineSpace.firstChild),l.value=zs.text.join("\n");var c=L(r.ownerDocument);F(l),setTimeout((function(){i.display.lineSpace.removeChild(a),c.focus(),c==r&&n.showPrimarySelection()}),50)}}r.contentEditable=!0,qs(r,i.options.spellcheck,i.options.autocorrect,i.options.autocapitalize),fe(r,"paste",(function(e){!o(e)||ye(i,e)||js(e,i)||a<=11&&setTimeout(ir(i,(function(){return t.updateFromDOM()})),20)})),fe(r,"compositionstart",(function(e){t.composing={data:e.data,done:!1}})),fe(r,"compositionupdate",(function(e){t.composing||(t.composing={data:e.data,done:!1})})),fe(r,"compositionend",(function(e){t.composing&&(e.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)})),fe(r,"touchstart",(function(){return n.forceCompositionEnd()})),fe(r,"input",(function(){t.composing||t.readFromDOMSoon()})),fe(r,"copy",s),fe(r,"cut",s)},Hs.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},Hs.prototype.prepareSelection=function(){var e=bi(this.cm,!1);return e.focus=L(this.div.ownerDocument)==this.div,e},Hs.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Hs.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Hs.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,i=t.doc.sel.primary(),r=i.from(),o=i.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||o.line<t.display.viewFrom)e.removeAllRanges();else{var s=$s(t,e.anchorNode,e.anchorOffset),a=$s(t,e.focusNode,e.focusOffset);if(!s||s.bad||!a||a.bad||0!=rt(lt(s,a),r)||0!=rt(at(s,a),o)){var l=t.display.view,c=r.line>=t.display.viewFrom&&Ws(t,r)||{node:l[0].measure.map[2],offset:0},u=o.line<t.display.viewTo&&Ws(t,o);if(!u){var d=l[l.length-1].measure,h=d.maps?d.maps[d.maps.length-1]:d.map;u={node:h[h.length-1],offset:h[h.length-2]-h[h.length-3]}}if(c&&u){var p,f=e.rangeCount&&e.getRangeAt(0);try{p=A(c.node,c.offset,u.offset,u.node)}catch(e){}p&&(!n&&t.state.focused?(e.collapse(c.node,c.offset),p.collapsed||(e.removeAllRanges(),e.addRange(p))):(e.removeAllRanges(),e.addRange(p)),f&&null==e.anchorNode?e.addRange(f):n&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},Hs.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout((function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation((function(){return e.cm.curOp.selectionChanged=!0}))}),20)},Hs.prototype.showMultipleSelections=function(e){T(this.cm.display.cursorDiv,e.cursors),T(this.cm.display.selectionDiv,e.selection)},Hs.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},Hs.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return I(this.div,t)},Hs.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()&&L(this.div.ownerDocument)==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Hs.prototype.blur=function(){this.div.blur()},Hs.prototype.getField=function(){return this.div},Hs.prototype.supportsTouch=function(){return!0},Hs.prototype.receivedFocus=function(){var e=this,t=this;this.selectionInEditor()?setTimeout((function(){return e.pollSelection()}),20):nr(this.cm,(function(){return t.cm.curOp.selectionChanged=!0})),this.polling.set(this.cm.options.pollInterval,(function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))}))},Hs.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},Hs.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e=this.getSelection(),t=this.cm;if(m&&u&&this.cm.display.gutterSpecs.length&&function(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}(e.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var n=$s(t,e.anchorNode,e.anchorOffset),i=$s(t,e.focusNode,e.focusOffset);n&&i&&nr(t,(function(){io(t.doc,Tr(n,i),W),(n.bad||i.bad)&&(t.curOp.selectionChanged=!0)}))}}},Hs.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e,t,n,i=this.cm,r=i.display,o=i.doc.sel.primary(),s=o.from(),a=o.to();if(0==s.ch&&s.line>i.firstLine()&&(s=it(s.line-1,Ke(i.doc,s.line-1).length)),a.ch==Ke(i.doc,a.line).text.length&&a.line<i.lastLine()&&(a=it(a.line+1,0)),s.line<r.viewFrom||a.line>r.viewTo-1)return!1;s.line==r.viewFrom||0==(e=pi(i,s.line))?(t=Je(r.view[0].line),n=r.view[0].node):(t=Je(r.view[e].line),n=r.view[e-1].node.nextSibling);var l,c,u=pi(i,a.line);if(u==r.view.length-1?(l=r.viewTo-1,c=r.lineDiv.lastChild):(l=Je(r.view[u+1].line)-1,c=r.view[u+1].node.previousSibling),!n)return!1;for(var d=i.doc.splitLines(function(e,t,n,i,r){var o="",s=!1,a=e.doc.lineSeparator(),l=!1;function c(){s&&(o+=a,l&&(o+=a),s=l=!1)}function u(e){e&&(c(),o+=e)}function d(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void u(n);var o,h=t.getAttribute("cm-marker");if(h){var p=e.findMarks(it(i,0),it(r+1,0),(g=+h,function(e){return e.id==g}));return void(p.length&&(o=p[0].find(0))&&u(Xe(e.doc,o.from,o.to).join(a)))}if("false"==t.getAttribute("contenteditable"))return;var f=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;f&&c();for(var _=0;_<t.childNodes.length;_++)d(t.childNodes[_]);/^(pre|p)$/i.test(t.nodeName)&&(l=!0),f&&(s=!0)}else 3==t.nodeType&&u(t.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "));var g}for(;d(t),t!=n;)t=t.nextSibling,l=!1;return o}(i,n,c,t,l)),h=Xe(i.doc,it(t,0),it(l,Ke(i.doc,l).text.length));d.length>1&&h.length>1;)if(Y(d)==Y(h))d.pop(),h.pop(),l--;else{if(d[0]!=h[0])break;d.shift(),h.shift(),t++}for(var p=0,f=0,_=d[0],g=h[0],m=Math.min(_.length,g.length);p<m&&_.charCodeAt(p)==g.charCodeAt(p);)++p;for(var y=Y(d),v=Y(h),b=Math.min(y.length-(1==d.length?p:0),v.length-(1==h.length?p:0));f<b&&y.charCodeAt(y.length-f-1)==v.charCodeAt(v.length-f-1);)++f;if(1==d.length&&1==h.length&&t==s.line)for(;p&&p>s.ch&&y.charCodeAt(y.length-f-1)==v.charCodeAt(v.length-f-1);)p--,f++;d[d.length-1]=y.slice(0,y.length-f).replace(/^\u200b+/,""),d[0]=d[0].slice(p).replace(/\u200b+$/,"");var x=it(t,p),w=it(l,h.length?Y(h).length-f:0);return d.length>1||d[0]||rt(x,w)?(vo(i.doc,d,x,w,"+input"),!0):void 0},Hs.prototype.ensurePolled=function(){this.forceCompositionEnd()},Hs.prototype.reset=function(){this.forceCompositionEnd()},Hs.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Hs.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout((function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()}),80))},Hs.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||nr(this.cm,(function(){return fi(e.cm)}))},Hs.prototype.setUneditable=function(e){e.contentEditable="false"},Hs.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||ir(this.cm,Fs)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Hs.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Hs.prototype.onContextMenu=function(){},Hs.prototype.resetPosition=function(){},Hs.prototype.needsContentAttribute=!0;var Ks=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new G,this.hasSelection=!1,this.composing=null,this.resetting=!1};Ks.prototype.init=function(e){var t=this,n=this,i=this.cm;this.createField(e);var r=this.textarea;function o(e){if(!ye(i,e)){if(i.somethingSelected())Os({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var t=Ns(i);Os({lineWise:!0,text:t.text}),"cut"==e.type?i.setSelections(t.ranges,null,W):(n.prevInput="",r.value=t.text.join("\n"),F(r))}"cut"==e.type&&(i.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),g&&(r.style.width="0px"),fe(r,"input",(function(){s&&a>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()})),fe(r,"paste",(function(e){ye(i,e)||js(e,i)||(i.state.pasteIncoming=+new Date,n.fastPoll())})),fe(r,"cut",o),fe(r,"copy",o),fe(e.scroller,"paste",(function(t){if(!Sn(e,t)&&!ye(i,t)){if(!r.dispatchEvent)return i.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,r.dispatchEvent(o)}})),fe(e.lineSpace,"selectstart",(function(t){Sn(e,t)||we(t)})),fe(r,"compositionstart",(function(){var e=i.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:i.markText(e,i.getCursor("to"),{className:"CodeMirror-composing"})}})),fe(r,"compositionend",(function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)}))},Ks.prototype.createField=function(e){this.wrapper=Bs(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;qs(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},Ks.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Ks.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,i=bi(e);if(e.options.moveInputWithCursor){var r=Xn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),s=t.lineDiv.getBoundingClientRect();i.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,r.top+s.top-o.top)),i.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,r.left+s.left-o.left))}return i},Ks.prototype.showSelection=function(e){var t=this.cm.display;T(t.cursorDiv,e.cursors),T(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Ks.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&F(this.textarea),s&&a>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",s&&a>=9&&(this.hasSelection=null));this.resetting=!1}},Ks.prototype.getField=function(){return this.textarea},Ks.prototype.supportsTouch=function(){return!1},Ks.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!y||L(this.textarea.ownerDocument)!=this.textarea))try{this.textarea.focus()}catch(e){}},Ks.prototype.blur=function(){this.textarea.blur()},Ks.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Ks.prototype.receivedFocus=function(){this.slowPoll()},Ks.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,(function(){e.poll(),e.cm.state.focused&&e.slowPoll()}))},Ks.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,(function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))}))},Ks.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,i=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||Oe(n)&&!i&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var r=n.value;if(r==i&&!t.somethingSelected())return!1;if(s&&a>=9&&this.hasSelection===r||v&&/[\uf700-\uf7ff]/.test(r))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=r.charCodeAt(0);if(8203!=o||i||(i=""),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,c=Math.min(i.length,r.length);l<c&&i.charCodeAt(l)==r.charCodeAt(l);)++l;return nr(t,(function(){Fs(t,r.slice(l),i.length-l,null,e.composing?"*compose":null),r.length>1e3||r.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=r,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))})),!0},Ks.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Ks.prototype.onKeyPress=function(){s&&a>=9&&(this.hasSelection=null),this.fastPoll()},Ks.prototype.onContextMenu=function(e){var t=this,n=t.cm,i=n.display,r=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=hi(n,e),c=i.scroller.scrollTop;if(o&&!h){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&ir(n,io)(n.doc,Tr(o),W);var u,d=r.style.cssText,p=t.wrapper.style.cssText,f=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",r.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-f.top-5)+"px; left: "+(e.clientX-f.left-5)+"px;\n z-index: 1000; background: "+(s?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(u=r.ownerDocument.defaultView.scrollY),i.input.focus(),l&&r.ownerDocument.defaultView.scrollTo(null,u),i.input.reset(),n.somethingSelected()||(r.value=t.prevInput=" "),t.contextMenuPending=m,i.selForContextMenu=n.doc.sel,clearTimeout(i.detectingSelectAll),s&&a>=9&&g(),C){Se(e);var _=function(){ge(window,"mouseup",_),setTimeout(m,20)};fe(window,"mouseup",_)}else setTimeout(m,50)}function g(){if(null!=r.selectionStart){var e=n.somethingSelected(),o=""+(e?r.value:"");r.value="⇚",r.value=o,t.prevInput=e?"":"",r.selectionStart=1,r.selectionEnd=o.length,i.selForContextMenu=n.doc.sel}}function m(){if(t.contextMenuPending==m&&(t.contextMenuPending=!1,t.wrapper.style.cssText=p,r.style.cssText=d,s&&a<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=c),null!=r.selectionStart)){(!s||s&&a<9)&&g();var e=0,o=function(){i.selForContextMenu==n.doc.sel&&0==r.selectionStart&&r.selectionEnd>0&&""==t.prevInput?ir(n,ho)(n):e++<10?i.detectingSelectAll=setTimeout(o,500):(i.selForContextMenu=null,i.input.reset())};i.detectingSelectAll=setTimeout(o,200)}}},Ks.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},Ks.prototype.setUneditable=function(){},Ks.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,i,r,o){e.defaults[n]=i,r&&(t[n]=o?function(e,t,n){n!=As&&r(e,t,n)}:r)}e.defineOption=n,e.Init=As,n("value","",(function(e,t){return e.setValue(t)}),!0),n("mode",null,(function(e,t){e.doc.modeOption=t,zr(e)}),!0),n("indentUnit",2,zr,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,(function(e){Or(e),Vn(e),fi(e)}),!0),n("lineSeparator",null,(function(e,t){if(e.doc.lineSep=t,t){var n=[],i=e.doc.first;e.doc.iter((function(e){for(var r=0;;){var o=e.text.indexOf(t,r);if(-1==o)break;r=o+t.length,n.push(it(i,o))}i++}));for(var r=n.length-1;r>=0;r--)vo(e.doc,t,n[r],it(n[r].line,n[r].ch+t.length))}})),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,(function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=As&&e.refresh()})),n("specialCharPlaceholder",tn,(function(e){return e.refresh()}),!0),n("electricChars",!0),n("inputStyle",y?"contenteditable":"textarea",(function(){throw new Error("inputStyle can not (yet) be changed in a running editor")}),!0),n("spellcheck",!1,(function(e,t){return e.getInputField().spellcheck=t}),!0),n("autocorrect",!1,(function(e,t){return e.getInputField().autocorrect=t}),!0),n("autocapitalize",!1,(function(e,t){return e.getInputField().autocapitalize=t}),!0),n("rtlMoveVisually",!x),n("wholeLineUpdateBefore",!0),n("theme","default",(function(e){Ss(e),vr(e)}),!0),n("keyMap","default",(function(e,t,n){var i=es(t),r=n!=As&&es(n);r&&r.detach&&r.detach(e,i),i.attach&&i.attach(e,r||null)})),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Ps,!0),n("gutters",[],(function(e,t){e.display.gutterSpecs=mr(t,e.options.lineNumbers),vr(e)}),!0),n("fixedGutter",!0,(function(e,t){e.display.gutters.style.left=t?ci(e.display)+"px":"0",e.refresh()}),!0),n("coverGutterNextToScrollbar",!1,(function(e){return Hi(e)}),!0),n("scrollbarStyle","native",(function(e){$i(e),Hi(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)}),!0),n("lineNumbers",!1,(function(e,t){e.display.gutterSpecs=mr(e.options.gutters,t),vr(e)}),!0),n("firstLineNumber",1,vr,!0),n("lineNumberFormatter",(function(e){return e}),vr,!0),n("showCursorWhenSelecting",!1,vi,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,(function(e,t){"nocursor"==t&&(Mi(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)})),n("screenReaderLabel",null,(function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)})),n("disableInput",!1,(function(e,t){t||e.display.input.reset()}),!0),n("dragDrop",!0,Ts),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,vi,!0),n("singleCursorHeightPerLine",!0,vi,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Or,!0),n("addModeClass",!1,Or,!0),n("pollInterval",100),n("undoDepth",200,(function(e,t){return e.doc.history.undoDepth=t})),n("historyEventDelay",1250),n("viewportMargin",10,(function(e){return e.refresh()}),!0),n("maxHighlightLength",1e4,Or,!0),n("moveInputWithCursor",!0,(function(e,t){t||e.display.input.resetPosition()})),n("tabindex",null,(function(e,t){return e.display.input.getField().tabIndex=t||""})),n("autofocus",null),n("direction","ltr",(function(e,t){return e.doc.setDirection(t)}),!0),n("phrases",null)}(Rs),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){D(this).focus(),this.display.input.focus()},setOption:function(e,n){var i=this.options,r=i[e];i[e]==n&&"mode"!=e||(i[e]=n,t.hasOwnProperty(e)&&ir(this,t[e])(this,n,r),me(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](es(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:rr((function(t,n){var i=t.token?t:e.getMode(this.options,t);if(i.startState)throw new Error("Overlays may not be stateful.");(function(e,t,n){for(var i=0,r=n(t);i<e.length&&n(e[i])<=r;)i++;e.splice(i,0,t)})(this.state.overlays,{mode:i,modeSpec:t,opaque:n&&n.opaque,priority:n&&n.priority||0},(function(e){return e.priority})),this.state.modeGen++,fi(this)})),removeOverlay:rr((function(e){for(var t=this.state.overlays,n=0;n<t.length;++n){var i=t[n].modeSpec;if(i==e||"string"==typeof e&&i.name==e)return t.splice(n,1),this.state.modeGen++,void fi(this)}})),indentLine:rr((function(e,t,n){"string"!=typeof t&&"number"!=typeof t&&(t=null==t?this.options.smartIndent?"smart":"prev":t?"add":"subtract"),tt(this.doc,e)&&Ls(this,e,t,n)})),indentSelection:rr((function(e){for(var t=this.doc.sel.ranges,n=-1,i=0;i<t.length;i++){var r=t[i];if(r.empty())r.head.line>n&&(Ls(this,r.head.line,e,!0),n=r.head.line,i==this.doc.sel.primIndex&&zi(this));else{var o=r.from(),s=r.to(),a=Math.max(n,o.line);n=Math.min(this.lastLine(),s.line-(s.ch?0:1))+1;for(var l=a;l<n;++l)Ls(this,l,e);var c=this.doc.sel.ranges;0==o.ch&&t.length==c.length&&c[i].from().ch>0&&eo(this.doc,i,new Er(o,c[i].to()),W)}}})),getTokenAt:function(e,t){return xt(this,e,t)},getLineTokens:function(e,t){return xt(this,it(e),t,!0)},getTokenTypeAt:function(e){e=ut(this.doc,e);var t,n=_t(this,Ke(this.doc,e.line)),i=0,r=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var s=i+r>>1;if((s?n[2*s-1]:0)>=o)r=s;else{if(!(n[2*s+1]<o)){t=n[2*s+2];break}i=s+1}}var a=t?t.indexOf("overlay "):-1;return a<0?t:0==a?null:t.slice(0,a-1)},getModeAt:function(t){var n=this.doc.mode;return n.innerMode?e.innerMode(n,this.getTokenAt(t).state).mode:n},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var i=[];if(!n.hasOwnProperty(t))return i;var r=n[t],o=this.getModeAt(e);if("string"==typeof o[t])r[o[t]]&&i.push(r[o[t]]);else if(o[t])for(var s=0;s<o[t].length;s++){var a=r[o[t][s]];a&&i.push(a)}else o.helperType&&r[o.helperType]?i.push(r[o.helperType]):r[o.name]&&i.push(r[o.name]);for(var l=0;l<r._global.length;l++){var c=r._global[l];c.pred(o,this)&&-1==V(i,c.val)&&i.push(c.val)}return i},getStateAfter:function(e,t){var n=this.doc;return gt(this,(e=ct(n,null==e?n.first+n.size-1:e))+1,t).state},cursorCoords:function(e,t){var n=this.doc.sel.primary();return Xn(this,null==e?n.head:"object"==typeof e?ut(this.doc,e):e?n.from():n.to(),t||"page")},charCoords:function(e,t){return Kn(this,ut(this.doc,e),t||"page")},coordsChar:function(e,t){return Jn(this,(e=Zn(this,e,t||"page")).left,e.top)},lineAtHeight:function(e,t){return e=Zn(this,{top:e,left:0},t||"page").top,et(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,n){var i,r=!1;if("number"==typeof e){var o=this.doc.first+this.doc.size-1;e<this.doc.first?e=this.doc.first:e>o&&(e=o,r=!0),i=Ke(this.doc,e)}else i=e;return $n(this,i,{top:0,left:0},t||"page",n||r).top+(r?this.doc.height-Ut(i):0)},defaultTextHeight:function(){return si(this.display)},defaultCharWidth:function(){return ai(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,i,r){var o,s,a,l=this.display,c=(e=Xn(this,ut(this.doc,e))).bottom,u=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),l.sizer.appendChild(t),"over"==i)c=e.top;else if("above"==i||"near"==i){var d=Math.max(l.wrapper.clientHeight,this.doc.height),h=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==i||e.bottom+t.offsetHeight>d)&&e.top>t.offsetHeight?c=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=d&&(c=e.bottom),u+t.offsetWidth>h&&(u=h-t.offsetWidth)}t.style.top=c+"px",t.style.left=t.style.right="","right"==r?(u=l.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==r?u=0:"middle"==r&&(u=(l.sizer.clientWidth-t.offsetWidth)/2),t.style.left=u+"px"),n&&(o=this,s={left:u,top:c,right:u+t.offsetWidth,bottom:c+t.offsetHeight},null!=(a=Ii(o,s)).scrollTop&&Di(o,a.scrollTop),null!=a.scrollLeft&&qi(o,a.scrollLeft))},triggerOnKeyDown:rr(fs),triggerOnKeyPress:rr(gs),triggerOnKeyUp:_s,triggerOnMouseDown:rr(bs),execCommand:function(e){if(os.hasOwnProperty(e))return os[e].call(null,this)},triggerElectric:rr((function(e){Ds(this,e)})),findPosH:function(e,t,n,i){var r=1;t<0&&(r=-1,t=-t);for(var o=ut(this.doc,e),s=0;s<t&&!(o=Gs(this.doc,o,r,n,i)).hitSide;++s);return o},moveH:rr((function(e,t){var n=this;this.extendSelectionsBy((function(i){return n.display.shift||n.doc.extend||i.empty()?Gs(n.doc,i.head,e,t,n.options.rtlMoveVisually):e<0?i.from():i.to()}),$)})),deleteH:rr((function(e,t){var n=this.doc.sel,i=this.doc;n.somethingSelected()?i.replaceSelection("",null,"+delete"):ts(this,(function(n){var r=Gs(i,n.head,e,t,!1);return e<0?{from:r,to:n.head}:{from:n.head,to:r}}))})),findPosV:function(e,t,n,i){var r=1,o=i;t<0&&(r=-1,t=-t);for(var s=ut(this.doc,e),a=0;a<t;++a){var l=Xn(this,s,"div");if(null==o?o=l.left:l.left=o,(s=Vs(this,l,r,n)).hitSide)break}return s},moveV:rr((function(e,t){var n=this,i=this.doc,r=[],o=!this.display.shift&&!i.extend&&i.sel.somethingSelected();if(i.extendSelectionsBy((function(s){if(o)return e<0?s.from():s.to();var a=Xn(n,s.head,"div");null!=s.goalColumn&&(a.left=s.goalColumn),r.push(a.left);var l=Vs(n,a,e,t);return"page"==t&&s==i.sel.primary()&&Li(n,Kn(n,l,"div").top-a.top),l}),$),r.length)for(var s=0;s<i.sel.ranges.length;s++)i.sel.ranges[s].goalColumn=r[s]})),findWordAt:function(e){var t=Ke(this.doc,e.line).text,n=e.ch,i=e.ch;if(t){var r=this.getHelper(e,"wordChars");"before"!=e.sticky&&i!=t.length||!n?++i:--n;for(var o=t.charAt(n),s=ie(o,r)?function(e){return ie(e,r)}:/\s/.test(o)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!ie(e)};n>0&&s(t.charAt(n-1));)--n;for(;i<t.length&&s(t.charAt(i));)++i}return new Er(it(e.line,n),it(e.line,i))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?z(this.display.cursorDiv,"CodeMirror-overwrite"):E(this.display.cursorDiv,"CodeMirror-overwrite"),me(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==L(j(this))},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:rr((function(e,t){Oi(this,e,t)})),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-Tn(this)-this.display.barHeight,width:e.scrollWidth-Tn(this)-this.display.barWidth,clientHeight:Rn(this),clientWidth:Pn(this)}},scrollIntoView:rr((function(e,t){null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):"number"==typeof e?e={from:it(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?function(e,t){Fi(e),e.curOp.scrollToPos=t}(this,e):ji(this,e.from,e.to,e.margin)})),setSize:rr((function(e,t){var n=this,i=function(e){return"number"==typeof e||/^\d+$/.test(String(e))?e+"px":e};null!=e&&(this.display.wrapper.style.width=i(e)),null!=t&&(this.display.wrapper.style.height=i(t)),this.options.lineWrapping&&Gn(this);var r=this.display.viewFrom;this.doc.iter(r,this.display.viewTo,(function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){_i(n,r,"widget");break}++r})),this.curOp.forceUpdate=!0,me(this,"refresh",this)})),operation:function(e){return nr(this,e)},startOperation:function(){return Ki(this)},endOperation:function(){return Xi(this)},refresh:rr((function(){var e=this.display.cachedTextHeight;fi(this),this.curOp.forceUpdate=!0,Vn(this),Oi(this,this.doc.scrollLeft,this.doc.scrollTop),pr(this.display),(null==e||Math.abs(e-si(this.display))>.5||this.options.lineWrapping)&&di(this),me(this,"refresh",this)})),swapDoc:rr((function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Nr(this,e),Vn(this),this.display.input.reset(),Oi(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,dn(this,"swapDoc",this,t),t})),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},xe(e),e.registerHelper=function(t,i,r){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][i]=r},e.registerGlobalHelper=function(t,i,r,o){e.registerHelper(t,i,o),n[t]._global.push({pred:r,val:o})}}(Rs);var Xs="iter insert remove copy getEditor constructor".split(" ");for(var Ys in Oo.prototype)Oo.prototype.hasOwnProperty(Ys)&&V(Xs,Ys)<0&&(Rs.prototype[Ys]=function(e){return function(){return e.apply(this.doc,arguments)}}(Oo.prototype[Ys]));return xe(Oo),Rs.inputStyles={textarea:Ks,contenteditable:Hs},Rs.defineMode=function(e){Rs.defaults.mode||"null"==e||(Rs.defaults.mode=e),qe.apply(this,arguments)},Rs.defineMIME=function(e,t){Ne[e]=t},Rs.defineMode("null",(function(){return{token:function(e){return e.skipToEnd()}}})),Rs.defineMIME("text/plain","null"),Rs.defineExtension=function(e,t){Rs.prototype[e]=t},Rs.defineDocExtension=function(e,t){Oo.prototype[e]=t},Rs.fromTextArea=function(e,t){if((t=t?q(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=L(e.ownerDocument);t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function i(){e.value=a.getValue()}var r;if(e.form&&(fe(e.form,"submit",i),!t.leaveSubmitMethodAlone)){var o=e.form;r=o.submit;try{var s=o.submit=function(){i(),o.submit=r,o.submit(),o.submit=s}}catch(e){}}t.finishInit=function(n){n.save=i,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,i(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display="",e.form&&(ge(e.form,"submit",i),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=r))}},e.style.display="none";var a=Rs((function(t){return e.parentNode.insertBefore(t,e.nextSibling)}),t);return a},function(e){e.off=ge,e.on=fe,e.wheelEventPixels=Cr,e.Doc=Oo,e.splitLines=ze,e.countColumn=B,e.findColumn=Z,e.isWordChar=ne,e.Pass=H,e.signal=me,e.Line=Kt,e.changeEnd=Pr,e.scrollbarModel=Ui,e.Pos=it,e.cmpPos=rt,e.modes=De,e.mimeModes=Ne,e.resolveMode=Be,e.getMode=Ge,e.modeExtensions=Ve,e.extendMode=He,e.copyState=We,e.startState=$e,e.innerMode=Ue,e.commands=os,e.keyMap=$o,e.keyName=Jo,e.isModifierKey=Yo,e.lookupKey=Xo,e.normalizeKeyMap=Ko,e.StringStream=Ze,e.SharedTextMarker=Ro,e.TextMarker=To,e.LineWidget=Ao,e.e_preventDefault=we,e.e_stopPropagation=ke,e.e_stop=Se,e.addClass=z,e.contains=I,e.rmClass=E,e.keyNames=Vo}(Rs),Rs.version="5.65.13",Rs}()},7518:(e,t,n)=>{!function(e){"use strict";e.defineMode("javascript",(function(t,n){var i,r,o=t.indentUnit,s=n.statementIndent,a=n.jsonld,l=n.json||a,c=!1!==n.trackScope,u=n.typescript,d=n.wordCharacters||/[\w$\xa1-\uffff]/,h=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),i=e("keyword c"),r=e("keyword d"),o=e("operator"),s={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:r,break:r,continue:r,new:e("new"),delete:i,void:i,throw:i,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:o,typeof:o,instanceof:o,true:s,false:s,null:s,undefined:s,NaN:s,Infinity:s,this:e("this"),class:e("class"),super:e("atom"),yield:i,export:e("export"),import:e("import"),extends:i,await:i}}(),p=/[+\-*&%=<>!?|~^@]/,f=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function _(e,t,n){return i=e,r=n,t}function g(e,t){var n,i=e.next();if('"'==i||"'"==i)return t.tokenize=(n=i,function(e,t){var i,r=!1;if(a&&"@"==e.peek()&&e.match(f))return t.tokenize=g,_("jsonld-keyword","meta");for(;null!=(i=e.next())&&(i!=n||r);)r=!r&&"\\"==i;return r||(t.tokenize=g),_("string","string")}),t.tokenize(e,t);if("."==i&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return _("number","number");if("."==i&&e.match(".."))return _("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return _(i);if("="==i&&e.eat(">"))return _("=>","operator");if("0"==i&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return _("number","number");if(/\d/.test(i))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),_("number","number");if("/"==i)return e.eat("*")?(t.tokenize=m,m(e,t)):e.eat("/")?(e.skipToEnd(),_("comment","comment")):Je(e,t,1)?(function(e){for(var t,n=!1,i=!1;null!=(t=e.next());){if(!n){if("/"==t&&!i)return;"["==t?i=!0:i&&"]"==t&&(i=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),_("regexp","string-2")):(e.eat("="),_("operator","operator",e.current()));if("`"==i)return t.tokenize=y,y(e,t);if("#"==i&&"!"==e.peek())return e.skipToEnd(),_("meta","meta");if("#"==i&&e.eatWhile(d))return _("variable","property");if("<"==i&&e.match("!--")||"-"==i&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),_("comment","comment");if(p.test(i))return">"==i&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=i&&"="!=i||e.eat("="):/[<>*+\-|&?]/.test(i)&&(e.eat(i),">"==i&&e.eat(i))),"?"==i&&e.eat(".")?_("."):_("operator","operator",e.current());if(d.test(i)){e.eatWhile(d);var r=e.current();if("."!=t.lastType){if(h.propertyIsEnumerable(r)){var o=h[r];return _(o.type,o.style,r)}if("async"==r&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return _("async","keyword",r)}return _("variable","variable",r)}}function m(e,t){for(var n,i=!1;n=e.next();){if("/"==n&&i){t.tokenize=g;break}i="*"==n}return _("comment","comment")}function y(e,t){for(var n,i=!1;null!=(n=e.next());){if(!i&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}i=!i&&"\\"==n}return _("quasi","string-2",e.current())}function v(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(u){var i=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));i&&(n=i.index)}for(var r=0,o=!1,s=n-1;s>=0;--s){var a=e.string.charAt(s),l="([{}])".indexOf(a);if(l>=0&&l<3){if(!r){++s;break}if(0==--r){"("==a&&(o=!0);break}}else if(l>=3&&l<6)++r;else if(d.test(a))o=!0;else if(/["'\/`]/.test(a))for(;;--s){if(0==s)return;if(e.string.charAt(s-1)==a&&"\\"!=e.string.charAt(s-2)){s--;break}}else if(o&&!r){++s;break}}o&&!r&&(t.fatArrowAt=s)}}var b={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function x(e,t,n,i,r,o){this.indented=e,this.column=t,this.type=n,this.prev=r,this.info=o,null!=i&&(this.align=i)}function w(e,t){if(!c)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var i=e.context;i;i=i.prev)for(n=i.vars;n;n=n.next)if(n.name==t)return!0}function k(e,t,n,i,r){var o=e.cc;for(C.state=e,C.stream=r,C.marked=null,C.cc=o,C.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():l?G:q)(n,i)){for(;o.length&&o[o.length-1].lex;)o.pop()();return C.marked?C.marked:"variable"==n&&w(e,i)?"variable-2":t}}var C={state:null,column:null,marked:null,cc:null};function S(){for(var e=arguments.length-1;e>=0;e--)C.cc.push(arguments[e])}function A(){return S.apply(null,arguments),!0}function E(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function M(e){var t=C.state;if(C.marked="def",c){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var i=T(e,t.context);if(null!=i)return void(t.context=i)}else if(!E(e,t.localVars))return void(t.localVars=new I(e,t.localVars));n.globalVars&&!E(e,t.globalVars)&&(t.globalVars=new I(e,t.globalVars))}}function T(e,t){if(t){if(t.block){var n=T(e,t.prev);return n?n==t.prev?t:new R(n,t.vars,!0):null}return E(e,t.vars)?t:new R(t.prev,new I(e,t.vars),!1)}return null}function P(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function R(e,t,n){this.prev=e,this.vars=t,this.block=n}function I(e,t){this.name=e,this.next=t}var L=new I("this",new I("arguments",null));function z(){C.state.context=new R(C.state.context,C.state.localVars,!1),C.state.localVars=L}function O(){C.state.context=new R(C.state.context,C.state.localVars,!0),C.state.localVars=null}function F(){C.state.localVars=C.state.context.vars,C.state.context=C.state.context.prev}function j(e,t){var n=function(){var n=C.state,i=n.indented;if("stat"==n.lexical.type)i=n.lexical.indented;else for(var r=n.lexical;r&&")"==r.type&&r.align;r=r.prev)i=r.indented;n.lexical=new x(i,C.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function D(){var e=C.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function N(e){return function t(n){return n==e?A():";"==e||"}"==n||")"==n||"]"==n?S():A(t)}}function q(e,t){return"var"==e?A(j("vardef",t),Ce,N(";"),D):"keyword a"==e?A(j("form"),H,q,D):"keyword b"==e?A(j("form"),q,D):"keyword d"==e?C.stream.match(/^\s*$/,!1)?A():A(j("stat"),U,N(";"),D):"debugger"==e?A(N(";")):"{"==e?A(j("}"),O,le,D,F):";"==e?A():"if"==e?("else"==C.state.lexical.info&&C.state.cc[C.state.cc.length-1]==D&&C.state.cc.pop()(),A(j("form"),H,q,D,Pe)):"function"==e?A(ze):"for"==e?A(j("form"),O,Re,q,F,D):"class"==e||u&&"interface"==t?(C.marked="keyword",A(j("form","class"==e?e:t),Ne,D)):"variable"==e?u&&"declare"==t?(C.marked="keyword",A(q)):u&&("module"==t||"enum"==t||"type"==t)&&C.stream.match(/^\s*\w/,!1)?(C.marked="keyword","enum"==t?A(Ye):"type"==t?A(Fe,N("operator"),pe,N(";")):A(j("form"),Se,N("{"),j("}"),le,D,D)):u&&"namespace"==t?(C.marked="keyword",A(j("form"),G,q,D)):u&&"abstract"==t?(C.marked="keyword",A(q)):A(j("stat"),te):"switch"==e?A(j("form"),H,N("{"),j("}","switch"),O,le,D,D,F):"case"==e?A(G,N(":")):"default"==e?A(N(":")):"catch"==e?A(j("form"),z,B,q,D,F):"export"==e?A(j("stat"),Ve,D):"import"==e?A(j("stat"),We,D):"async"==e?A(q):"@"==t?A(G,q):S(j("stat"),G,N(";"),D)}function B(e){if("("==e)return A(je,N(")"))}function G(e,t){return W(e,t,!1)}function V(e,t){return W(e,t,!0)}function H(e){return"("!=e?S():A(j(")"),U,N(")"),D)}function W(e,t,n){if(C.state.fatArrowAt==C.stream.start){var i=n?Q:Y;if("("==e)return A(z,j(")"),se(je,")"),D,N("=>"),i,F);if("variable"==e)return S(z,Se,N("=>"),i,F)}var r=n?Z:$;return b.hasOwnProperty(e)?A(r):"function"==e?A(ze,r):"class"==e||u&&"interface"==t?(C.marked="keyword",A(j("form"),De,D)):"keyword c"==e||"async"==e?A(n?V:G):"("==e?A(j(")"),U,N(")"),D,r):"operator"==e||"spread"==e?A(n?V:G):"["==e?A(j("]"),Xe,D,r):"{"==e?ae(ie,"}",null,r):"quasi"==e?S(K,r):"new"==e?A(function(e){return function(t){return"."==t?A(e?ee:J):"variable"==t&&u?A(xe,e?Z:$):S(e?V:G)}}(n)):A()}function U(e){return e.match(/[;\}\)\],]/)?S():S(G)}function $(e,t){return","==e?A(U):Z(e,t,!1)}function Z(e,t,n){var i=0==n?$:Z,r=0==n?G:V;return"=>"==e?A(z,n?Q:Y,F):"operator"==e?/\+\+|--/.test(t)||u&&"!"==t?A(i):u&&"<"==t&&C.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?A(j(">"),se(pe,">"),D,i):"?"==t?A(G,N(":"),r):A(r):"quasi"==e?S(K,i):";"!=e?"("==e?ae(V,")","call",i):"."==e?A(ne,i):"["==e?A(j("]"),U,N("]"),D,i):u&&"as"==t?(C.marked="keyword",A(pe,i)):"regexp"==e?(C.state.lastType=C.marked="operator",C.stream.backUp(C.stream.pos-C.stream.start-1),A(r)):void 0:void 0}function K(e,t){return"quasi"!=e?S():"${"!=t.slice(t.length-2)?A(K):A(U,X)}function X(e){if("}"==e)return C.marked="string-2",C.state.tokenize=y,A(K)}function Y(e){return v(C.stream,C.state),S("{"==e?q:G)}function Q(e){return v(C.stream,C.state),S("{"==e?q:V)}function J(e,t){if("target"==t)return C.marked="keyword",A($)}function ee(e,t){if("target"==t)return C.marked="keyword",A(Z)}function te(e){return":"==e?A(D,q):S($,N(";"),D)}function ne(e){if("variable"==e)return C.marked="property",A()}function ie(e,t){return"async"==e?(C.marked="property",A(ie)):"variable"==e||"keyword"==C.style?(C.marked="property","get"==t||"set"==t?A(re):(u&&C.state.fatArrowAt==C.stream.start&&(n=C.stream.match(/^\s*:\s*/,!1))&&(C.state.fatArrowAt=C.stream.pos+n[0].length),A(oe))):"number"==e||"string"==e?(C.marked=a?"property":C.style+" property",A(oe)):"jsonld-keyword"==e?A(oe):u&&P(t)?(C.marked="keyword",A(ie)):"["==e?A(G,ce,N("]"),oe):"spread"==e?A(V,oe):"*"==t?(C.marked="keyword",A(ie)):":"==e?S(oe):void 0;var n}function re(e){return"variable"!=e?S(oe):(C.marked="property",A(ze))}function oe(e){return":"==e?A(V):"("==e?S(ze):void 0}function se(e,t,n){function i(r,o){if(n?n.indexOf(r)>-1:","==r){var s=C.state.lexical;return"call"==s.info&&(s.pos=(s.pos||0)+1),A((function(n,i){return n==t||i==t?S():S(e)}),i)}return r==t||o==t?A():n&&n.indexOf(";")>-1?S(e):A(N(t))}return function(n,r){return n==t||r==t?A():S(e,i)}}function ae(e,t,n){for(var i=3;i<arguments.length;i++)C.cc.push(arguments[i]);return A(j(t,n),se(e,t),D)}function le(e){return"}"==e?A():S(q,le)}function ce(e,t){if(u){if(":"==e)return A(pe);if("?"==t)return A(ce)}}function ue(e,t){if(u&&(":"==e||"in"==t))return A(pe)}function de(e){if(u&&":"==e)return C.stream.match(/^\s*\w+\s+is\b/,!1)?A(G,he,pe):A(pe)}function he(e,t){if("is"==t)return C.marked="keyword",A()}function pe(e,t){return"keyof"==t||"typeof"==t||"infer"==t||"readonly"==t?(C.marked="keyword",A("typeof"==t?V:pe)):"variable"==e||"void"==t?(C.marked="type",A(be)):"|"==t||"&"==t?A(pe):"string"==e||"number"==e||"atom"==e?A(be):"["==e?A(j("]"),se(pe,"]",","),D,be):"{"==e?A(j("}"),_e,D,be):"("==e?A(se(ve,")"),fe,be):"<"==e?A(se(pe,">"),pe):"quasi"==e?S(me,be):void 0}function fe(e){if("=>"==e)return A(pe)}function _e(e){return e.match(/[\}\)\]]/)?A():","==e||";"==e?A(_e):S(ge,_e)}function ge(e,t){return"variable"==e||"keyword"==C.style?(C.marked="property",A(ge)):"?"==t||"number"==e||"string"==e?A(ge):":"==e?A(pe):"["==e?A(N("variable"),ue,N("]"),ge):"("==e?S(Oe,ge):e.match(/[;\}\)\],]/)?void 0:A()}function me(e,t){return"quasi"!=e?S():"${"!=t.slice(t.length-2)?A(me):A(pe,ye)}function ye(e){if("}"==e)return C.marked="string-2",C.state.tokenize=y,A(me)}function ve(e,t){return"variable"==e&&C.stream.match(/^\s*[?:]/,!1)||"?"==t?A(ve):":"==e?A(pe):"spread"==e?A(ve):S(pe)}function be(e,t){return"<"==t?A(j(">"),se(pe,">"),D,be):"|"==t||"."==e||"&"==t?A(pe):"["==e?A(pe,N("]"),be):"extends"==t||"implements"==t?(C.marked="keyword",A(pe)):"?"==t?A(pe,N(":"),pe):void 0}function xe(e,t){if("<"==t)return A(j(">"),se(pe,">"),D,be)}function we(){return S(pe,ke)}function ke(e,t){if("="==t)return A(pe)}function Ce(e,t){return"enum"==t?(C.marked="keyword",A(Ye)):S(Se,ce,Me,Te)}function Se(e,t){return u&&P(t)?(C.marked="keyword",A(Se)):"variable"==e?(M(t),A()):"spread"==e?A(Se):"["==e?ae(Ee,"]"):"{"==e?ae(Ae,"}"):void 0}function Ae(e,t){return"variable"!=e||C.stream.match(/^\s*:/,!1)?("variable"==e&&(C.marked="property"),"spread"==e?A(Se):"}"==e?S():"["==e?A(G,N("]"),N(":"),Ae):A(N(":"),Se,Me)):(M(t),A(Me))}function Ee(){return S(Se,Me)}function Me(e,t){if("="==t)return A(V)}function Te(e){if(","==e)return A(Ce)}function Pe(e,t){if("keyword b"==e&&"else"==t)return A(j("form","else"),q,D)}function Re(e,t){return"await"==t?A(Re):"("==e?A(j(")"),Ie,D):void 0}function Ie(e){return"var"==e?A(Ce,Le):"variable"==e?A(Le):S(Le)}function Le(e,t){return")"==e?A():";"==e?A(Le):"in"==t||"of"==t?(C.marked="keyword",A(G,Le)):S(G,Le)}function ze(e,t){return"*"==t?(C.marked="keyword",A(ze)):"variable"==e?(M(t),A(ze)):"("==e?A(z,j(")"),se(je,")"),D,de,q,F):u&&"<"==t?A(j(">"),se(we,">"),D,ze):void 0}function Oe(e,t){return"*"==t?(C.marked="keyword",A(Oe)):"variable"==e?(M(t),A(Oe)):"("==e?A(z,j(")"),se(je,")"),D,de,F):u&&"<"==t?A(j(">"),se(we,">"),D,Oe):void 0}function Fe(e,t){return"keyword"==e||"variable"==e?(C.marked="type",A(Fe)):"<"==t?A(j(">"),se(we,">"),D):void 0}function je(e,t){return"@"==t&&A(G,je),"spread"==e?A(je):u&&P(t)?(C.marked="keyword",A(je)):u&&"this"==e?A(ce,Me):S(Se,ce,Me)}function De(e,t){return"variable"==e?Ne(e,t):qe(e,t)}function Ne(e,t){if("variable"==e)return M(t),A(qe)}function qe(e,t){return"<"==t?A(j(">"),se(we,">"),D,qe):"extends"==t||"implements"==t||u&&","==e?("implements"==t&&(C.marked="keyword"),A(u?pe:G,qe)):"{"==e?A(j("}"),Be,D):void 0}function Be(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||u&&P(t))&&C.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1)?(C.marked="keyword",A(Be)):"variable"==e||"keyword"==C.style?(C.marked="property",A(Ge,Be)):"number"==e||"string"==e?A(Ge,Be):"["==e?A(G,ce,N("]"),Ge,Be):"*"==t?(C.marked="keyword",A(Be)):u&&"("==e?S(Oe,Be):";"==e||","==e?A(Be):"}"==e?A():"@"==t?A(G,Be):void 0}function Ge(e,t){if("!"==t)return A(Ge);if("?"==t)return A(Ge);if(":"==e)return A(pe,Me);if("="==t)return A(V);var n=C.state.lexical.prev;return S(n&&"interface"==n.info?Oe:ze)}function Ve(e,t){return"*"==t?(C.marked="keyword",A(Ke,N(";"))):"default"==t?(C.marked="keyword",A(G,N(";"))):"{"==e?A(se(He,"}"),Ke,N(";")):S(q)}function He(e,t){return"as"==t?(C.marked="keyword",A(N("variable"))):"variable"==e?S(V,He):void 0}function We(e){return"string"==e?A():"("==e?S(G):"."==e?S($):S(Ue,$e,Ke)}function Ue(e,t){return"{"==e?ae(Ue,"}"):("variable"==e&&M(t),"*"==t&&(C.marked="keyword"),A(Ze))}function $e(e){if(","==e)return A(Ue,$e)}function Ze(e,t){if("as"==t)return C.marked="keyword",A(Ue)}function Ke(e,t){if("from"==t)return C.marked="keyword",A(G)}function Xe(e){return"]"==e?A():S(se(V,"]"))}function Ye(){return S(j("form"),Se,N("{"),j("}"),se(Qe,"}"),D,D)}function Qe(){return S(Se,Me)}function Je(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return z.lex=O.lex=!0,F.lex=!0,D.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new x((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new R(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),v(e,t)),t.tokenize!=m&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==i?n:(t.lastType="operator"!=i||"++"!=r&&"--"!=r?i:"incdec",k(t,n,i,r,e))},indent:function(t,i){if(t.tokenize==m||t.tokenize==y)return e.Pass;if(t.tokenize!=g)return 0;var r,a=i&&i.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(i))for(var c=t.cc.length-1;c>=0;--c){var u=t.cc[c];if(u==D)l=l.prev;else if(u!=Pe&&u!=F)break}for(;("stat"==l.type||"form"==l.type)&&("}"==a||(r=t.cc[t.cc.length-1])&&(r==$||r==Z)&&!/^[,\.=+\-*:?[\(]/.test(i));)l=l.prev;s&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var d=l.type,h=a==d;return"vardef"==d?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==d&&"{"==a?l.indented:"form"==d?l.indented+o:"stat"==d?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||p.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,i)?s||o:0):"switch"!=l.info||h||0==n.doubleIndentSwitch?l.align?l.column+(h?0:1):l.indented+(h?0:o):l.indented+(/^(?:case|default)\b/.test(i)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:a,jsonMode:l,expressionAllowed:Je,skipExpression:function(t){k(t,"atom","atom","true",new e.StringStream("",2,null))}}})),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(1719))},1364:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",i=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),i&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),i&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,i,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var s={};if(i)for(var a=0;a<this.length;a++){var l=this[a][0];null!=l&&(s[l]=!0)}for(var c=0;c<e.length;c++){var u=[].concat(e[c]);i&&s[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),t.push(u))}},t}},3615:e=>{"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},2379:e=>{"use strict";e.exports=function(e){return e[1]}},7045:(e,t,n)=>{"use strict";var i=n(7810),r=n(2328);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var s=new Set,a={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(a[e]=t,e=0;e<t.length;e++)s.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,h=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},f={};function _(e,t,n,i,r,o,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=i,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=s}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){g[e]=new _(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];g[t]=new _(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){g[e]=new _(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){g[e]=new _(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){g[e]=new _(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){g[e]=new _(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){g[e]=new _(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){g[e]=new _(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){g[e]=new _(e,5,!1,e.toLowerCase(),null,!1,!1)}));var m=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function v(e,t,n,i){var r=g.hasOwnProperty(t)?g[t]:null;(null!==r?0!==r.type:i||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,i){if(null==t||function(e,t,n,i){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!i&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,i))return!0;if(i)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,i)&&(n=null),i||null===r?function(e){return!!d.call(f,e)||!d.call(p,e)&&(h.test(e)?f[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,i=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,i?e.setAttributeNS(i,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(m,y);g[t]=new _(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(m,y);g[t]=new _(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(m,y);g[t]=new _(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){g[e]=new _(e,1,!1,e.toLowerCase(),null,!1,!1)})),g.xlinkHref=new _("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){g[e]=new _(e,1,!1,e.toLowerCase(),null,!0,!0)}));var b=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,x=Symbol.for("react.element"),w=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),C=Symbol.for("react.strict_mode"),S=Symbol.for("react.profiler"),A=Symbol.for("react.provider"),E=Symbol.for("react.context"),M=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),R=Symbol.for("react.memo"),I=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var L=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var z=Symbol.iterator;function O(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=z&&e[z]||e["@@iterator"])?e:null}var F,j=Object.assign;function D(e){if(void 0===F)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);F=t&&t[1]||""}return"\n"+F+e}var N=!1;function q(e,t){if(!e||N)return"";N=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var i=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){i=e}e.call(t.prototype)}else{try{throw Error()}catch(e){i=e}e()}}catch(t){if(t&&i&&"string"==typeof t.stack){for(var r=t.stack.split("\n"),o=i.stack.split("\n"),s=r.length-1,a=o.length-1;1<=s&&0<=a&&r[s]!==o[a];)a--;for(;1<=s&&0<=a;s--,a--)if(r[s]!==o[a]){if(1!==s||1!==a)do{if(s--,0>--a||r[s]!==o[a]){var l="\n"+r[s].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=s&&0<=a);break}}}finally{N=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?D(e):""}function B(e){switch(e.tag){case 5:return D(e.type);case 16:return D("Lazy");case 13:return D("Suspense");case 19:return D("SuspenseList");case 0:case 2:case 15:return q(e.type,!1);case 11:return q(e.type.render,!1);case 1:return q(e.type,!0);default:return""}}function G(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case k:return"Fragment";case w:return"Portal";case S:return"Profiler";case C:return"StrictMode";case T:return"Suspense";case P:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case E:return(e.displayName||"Context")+".Consumer";case A:return(e._context.displayName||"Context")+".Provider";case M:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case R:return null!==(t=e.displayName||null)?t:G(e.type)||"Memo";case I:t=e._payload,e=e._init;try{return G(e(t))}catch(e){}}return null}function V(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return G(t);case 8:return t===C?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function W(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function U(e){e._valueTracker||(e._valueTracker=function(e){var t=W(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),i=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){i=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(e){i=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function $(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=W(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function Z(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function K(e,t){var n=t.checked;return j({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function X(e,t){var n=null==t.defaultValue?"":t.defaultValue,i=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:i,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Y(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function Q(e,t){Y(e,t);var n=H(t.value),i=t.type;if(null!=n)"number"===i?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===i||"reset"===i)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!("submit"!==i&&"reset"!==i||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&Z(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(i&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function ie(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return j({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function re(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function oe(e,t){var n=H(t.value),i=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=i&&(e.defaultValue=""+i)}function se(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function ae(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?ae(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,i){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function he(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fe=["Webkit","ms","Moz","O"];function _e(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var i=0===n.indexOf("--"),r=_e(n,t[n],i);"float"===n&&(n="cssFloat"),i?e.setProperty(n,r):e[n]=r}}Object.keys(pe).forEach((function(e){fe.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]}))}));var me=j({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ye(e,t){if(t){if(me[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var be=null;function xe(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var we=null,ke=null,Ce=null;function Se(e){if(e=vr(e)){if("function"!=typeof we)throw Error(o(280));var t=e.stateNode;t&&(t=xr(t),we(e.stateNode,e.type,t))}}function Ae(e){ke?Ce?Ce.push(e):Ce=[e]:ke=e}function Ee(){if(ke){var e=ke,t=Ce;if(Ce=ke=null,Se(e),t)for(e=0;e<t.length;e++)Se(t[e])}}function Me(e,t){return e(t)}function Te(){}var Pe=!1;function Re(e,t,n){if(Pe)return e(t,n);Pe=!0;try{return Me(e,t,n)}finally{Pe=!1,(null!==ke||null!==Ce)&&(Te(),Ee())}}function Ie(e,t){var n=e.stateNode;if(null===n)return null;var i=xr(n);if(null===i)return null;n=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(i=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!i;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Le=!1;if(u)try{var ze={};Object.defineProperty(ze,"passive",{get:function(){Le=!0}}),window.addEventListener("test",ze,ze),window.removeEventListener("test",ze,ze)}catch(ue){Le=!1}function Oe(e,t,n,i,r,o,s,a,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(e){this.onError(e)}}var Fe=!1,je=null,De=!1,Ne=null,qe={onError:function(e){Fe=!0,je=e}};function Be(e,t,n,i,r,o,s,a,l){Fe=!1,je=null,Oe.apply(qe,arguments)}function Ge(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ve(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function He(e){if(Ge(e)!==e)throw Error(o(188))}function We(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ge(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,i=t;;){var r=n.return;if(null===r)break;var s=r.alternate;if(null===s){if(null!==(i=r.return)){n=i;continue}break}if(r.child===s.child){for(s=r.child;s;){if(s===n)return He(r),e;if(s===i)return He(r),t;s=s.sibling}throw Error(o(188))}if(n.return!==i.return)n=r,i=s;else{for(var a=!1,l=r.child;l;){if(l===n){a=!0,n=r,i=s;break}if(l===i){a=!0,i=r,n=s;break}l=l.sibling}if(!a){for(l=s.child;l;){if(l===n){a=!0,n=s,i=r;break}if(l===i){a=!0,i=s,n=r;break}l=l.sibling}if(!a)throw Error(o(189))}}if(n.alternate!==i)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?Ue(e):null}function Ue(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ue(e);if(null!==t)return t;e=e.sibling}return null}var $e=r.unstable_scheduleCallback,Ze=r.unstable_cancelCallback,Ke=r.unstable_shouldYield,Xe=r.unstable_requestPaint,Ye=r.unstable_now,Qe=r.unstable_getCurrentPriorityLevel,Je=r.unstable_ImmediatePriority,et=r.unstable_UserBlockingPriority,tt=r.unstable_NormalPriority,nt=r.unstable_LowPriority,it=r.unstable_IdlePriority,rt=null,ot=null,st=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(at(e)/lt|0)|0},at=Math.log,lt=Math.LN2,ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ht(e,t){var n=e.pendingLanes;if(0===n)return 0;var i=0,r=e.suspendedLanes,o=e.pingedLanes,s=268435455&n;if(0!==s){var a=s&~r;0!==a?i=dt(a):0!=(o&=s)&&(i=dt(o))}else 0!=(s=n&~r)?i=dt(s):0!==o&&(i=dt(o));if(0===i)return 0;if(0!==t&&t!==i&&!(t&r)&&((r=i&-i)>=(o=t&-t)||16===r&&4194240&o))return t;if(4&i&&(i|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=i;0<t;)r=1<<(n=31-st(t)),i|=e[n],t&=~r;return i}function pt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ft(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function _t(){var e=ct;return!(4194240&(ct<<=1))&&(ct=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function mt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-st(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var i=31-st(n),r=1<<i;r&t|e[i]&t&&(e[i]|=t),n&=~r}}var vt=0;function bt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var xt,wt,kt,Ct,St,At=!1,Et=[],Mt=null,Tt=null,Pt=null,Rt=new Map,It=new Map,Lt=[],zt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Ot(e,t){switch(e){case"focusin":case"focusout":Mt=null;break;case"dragenter":case"dragleave":Tt=null;break;case"mouseover":case"mouseout":Pt=null;break;case"pointerover":case"pointerout":Rt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":It.delete(t.pointerId)}}function Ft(e,t,n,i,r,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:i,nativeEvent:o,targetContainers:[r]},null!==t&&null!==(t=vr(t))&&wt(t),e):(e.eventSystemFlags|=i,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function jt(e){var t=yr(e.target);if(null!==t){var n=Ge(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ve(n)))return e.blockedOn=t,void St(e.priority,(function(){kt(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Dt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Kt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=vr(n))&&wt(t),e.blockedOn=n,!1;var i=new(n=e.nativeEvent).constructor(n.type,n);be=i,n.target.dispatchEvent(i),be=null,t.shift()}return!0}function Nt(e,t,n){Dt(e)&&n.delete(t)}function qt(){At=!1,null!==Mt&&Dt(Mt)&&(Mt=null),null!==Tt&&Dt(Tt)&&(Tt=null),null!==Pt&&Dt(Pt)&&(Pt=null),Rt.forEach(Nt),It.forEach(Nt)}function Bt(e,t){e.blockedOn===t&&(e.blockedOn=null,At||(At=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,qt)))}function Gt(e){function t(t){return Bt(t,e)}if(0<Et.length){Bt(Et[0],e);for(var n=1;n<Et.length;n++){var i=Et[n];i.blockedOn===e&&(i.blockedOn=null)}}for(null!==Mt&&Bt(Mt,e),null!==Tt&&Bt(Tt,e),null!==Pt&&Bt(Pt,e),Rt.forEach(t),It.forEach(t),n=0;n<Lt.length;n++)(i=Lt[n]).blockedOn===e&&(i.blockedOn=null);for(;0<Lt.length&&null===(n=Lt[0]).blockedOn;)jt(n),null===n.blockedOn&&Lt.shift()}var Vt=b.ReactCurrentBatchConfig,Ht=!0;function Wt(e,t,n,i){var r=vt,o=Vt.transition;Vt.transition=null;try{vt=1,$t(e,t,n,i)}finally{vt=r,Vt.transition=o}}function Ut(e,t,n,i){var r=vt,o=Vt.transition;Vt.transition=null;try{vt=4,$t(e,t,n,i)}finally{vt=r,Vt.transition=o}}function $t(e,t,n,i){if(Ht){var r=Kt(e,t,n,i);if(null===r)Hi(e,t,i,Zt,n),Ot(e,i);else if(function(e,t,n,i,r){switch(t){case"focusin":return Mt=Ft(Mt,e,t,n,i,r),!0;case"dragenter":return Tt=Ft(Tt,e,t,n,i,r),!0;case"mouseover":return Pt=Ft(Pt,e,t,n,i,r),!0;case"pointerover":var o=r.pointerId;return Rt.set(o,Ft(Rt.get(o)||null,e,t,n,i,r)),!0;case"gotpointercapture":return o=r.pointerId,It.set(o,Ft(It.get(o)||null,e,t,n,i,r)),!0}return!1}(r,e,t,n,i))i.stopPropagation();else if(Ot(e,i),4&t&&-1<zt.indexOf(e)){for(;null!==r;){var o=vr(r);if(null!==o&&xt(o),null===(o=Kt(e,t,n,i))&&Hi(e,t,i,Zt,n),o===r)break;r=o}null!==r&&i.stopPropagation()}else Hi(e,t,i,null,n)}}var Zt=null;function Kt(e,t,n,i){if(Zt=null,null!==(e=yr(e=xe(i))))if(null===(t=Ge(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Ve(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Zt=e,null}function Xt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Qe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case it:return 536870912;default:return 16}default:return 16}}var Yt=null,Qt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Qt,i=n.length,r="value"in Yt?Yt.value:Yt.textContent,o=r.length;for(e=0;e<i&&n[e]===r[e];e++);var s=i-e;for(t=1;t<=s&&n[i-t]===r[o-t];t++);return Jt=r.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function on(e){function t(t,n,i,r,o){for(var s in this._reactName=t,this._targetInst=i,this.type=n,this.nativeEvent=r,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(r):r[s]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return j(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var sn,an,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(cn),dn=j({},cn,{view:0,detail:0}),hn=on(dn),pn=j({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Sn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(sn=e.screenX-ln.screenX,an=e.screenY-ln.screenY):an=sn=0,ln=e),sn)},movementY:function(e){return"movementY"in e?e.movementY:an}}),fn=on(pn),_n=on(j({},pn,{dataTransfer:0})),gn=on(j({},dn,{relatedTarget:0})),mn=on(j({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=j({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),vn=on(yn),bn=on(j({},cn,{data:0})),xn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},wn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},kn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Cn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=kn[e])&&!!t[e]}function Sn(){return Cn}var An=j({},dn,{key:function(e){if(e.key){var t=xn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?wn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Sn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),En=on(An),Mn=on(j({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Tn=on(j({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Sn})),Pn=on(j({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Rn=j({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),In=on(Rn),Ln=[9,13,27,32],zn=u&&"CompositionEvent"in window,On=null;u&&"documentMode"in document&&(On=document.documentMode);var Fn=u&&"TextEvent"in window&&!On,jn=u&&(!zn||On&&8<On&&11>=On),Dn=String.fromCharCode(32),Nn=!1;function qn(e,t){switch(e){case"keyup":return-1!==Ln.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Gn=!1,Vn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Vn[e.type]:"textarea"===t}function Wn(e,t,n,i){Ae(i),0<(t=Ui(t,"onChange")).length&&(n=new un("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var Un=null,$n=null;function Zn(e){Di(e,0)}function Kn(e){if($(br(e)))return e}function Xn(e,t){if("change"===e)return t}var Yn=!1;if(u){var Qn;if(u){var Jn="oninput"in document;if(!Jn){var ei=document.createElement("div");ei.setAttribute("oninput","return;"),Jn="function"==typeof ei.oninput}Qn=Jn}else Qn=!1;Yn=Qn&&(!document.documentMode||9<document.documentMode)}function ti(){Un&&(Un.detachEvent("onpropertychange",ni),$n=Un=null)}function ni(e){if("value"===e.propertyName&&Kn($n)){var t=[];Wn(t,$n,e,xe(e)),Re(Zn,t)}}function ii(e,t,n){"focusin"===e?(ti(),$n=n,(Un=t).attachEvent("onpropertychange",ni)):"focusout"===e&&ti()}function ri(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Kn($n)}function oi(e,t){if("click"===e)return Kn(t)}function si(e,t){if("input"===e||"change"===e)return Kn(t)}var ai="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function li(e,t){if(ai(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++){var r=n[i];if(!d.call(t,r)||!ai(e[r],t[r]))return!1}return!0}function ci(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ui(e,t){var n,i=ci(e);for(e=0;i;){if(3===i.nodeType){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=ci(i)}}function di(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?di(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function hi(){for(var e=window,t=Z();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=Z((e=t.contentWindow).document)}return t}function pi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function fi(e){var t=hi(),n=e.focusedElem,i=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&di(n.ownerDocument.documentElement,n)){if(null!==i&&pi(n))if(t=i.start,void 0===(e=i.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var r=n.textContent.length,o=Math.min(i.start,r);i=void 0===i.end?o:Math.min(i.end,r),!e.extend&&o>i&&(r=i,i=o,o=r),r=ui(n,o);var s=ui(n,i);r&&s&&(1!==e.rangeCount||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(r.node,r.offset),e.removeAllRanges(),o>i?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var _i=u&&"documentMode"in document&&11>=document.documentMode,gi=null,mi=null,yi=null,vi=!1;function bi(e,t,n){var i=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;vi||null==gi||gi!==Z(i)||(i="selectionStart"in(i=gi)&&pi(i)?{start:i.selectionStart,end:i.selectionEnd}:{anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},yi&&li(yi,i)||(yi=i,0<(i=Ui(mi,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=gi)))}function xi(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var wi={animationend:xi("Animation","AnimationEnd"),animationiteration:xi("Animation","AnimationIteration"),animationstart:xi("Animation","AnimationStart"),transitionend:xi("Transition","TransitionEnd")},ki={},Ci={};function Si(e){if(ki[e])return ki[e];if(!wi[e])return e;var t,n=wi[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ci)return ki[e]=n[t];return e}u&&(Ci=document.createElement("div").style,"AnimationEvent"in window||(delete wi.animationend.animation,delete wi.animationiteration.animation,delete wi.animationstart.animation),"TransitionEvent"in window||delete wi.transitionend.transition);var Ai=Si("animationend"),Ei=Si("animationiteration"),Mi=Si("animationstart"),Ti=Si("transitionend"),Pi=new Map,Ri="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ii(e,t){Pi.set(e,t),l(t,[e])}for(var Li=0;Li<Ri.length;Li++){var zi=Ri[Li];Ii(zi.toLowerCase(),"on"+(zi[0].toUpperCase()+zi.slice(1)))}Ii(Ai,"onAnimationEnd"),Ii(Ei,"onAnimationIteration"),Ii(Mi,"onAnimationStart"),Ii("dblclick","onDoubleClick"),Ii("focusin","onFocus"),Ii("focusout","onBlur"),Ii(Ti,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Oi="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Fi=new Set("cancel close invalid load scroll toggle".split(" ").concat(Oi));function ji(e,t,n){var i=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,i,r,s,a,l,c){if(Be.apply(this,arguments),Fe){if(!Fe)throw Error(o(198));var u=je;Fe=!1,je=null,De||(De=!0,Ne=u)}}(i,t,void 0,e),e.currentTarget=null}function Di(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var i=e[n],r=i.event;i=i.listeners;e:{var o=void 0;if(t)for(var s=i.length-1;0<=s;s--){var a=i[s],l=a.instance,c=a.currentTarget;if(a=a.listener,l!==o&&r.isPropagationStopped())break e;ji(r,a,c),o=l}else for(s=0;s<i.length;s++){if(l=(a=i[s]).instance,c=a.currentTarget,a=a.listener,l!==o&&r.isPropagationStopped())break e;ji(r,a,c),o=l}}}if(De)throw e=Ne,De=!1,Ne=null,e}function Ni(e,t){var n=t[_r];void 0===n&&(n=t[_r]=new Set);var i=e+"__bubble";n.has(i)||(Vi(t,e,2,!1),n.add(i))}function qi(e,t,n){var i=0;t&&(i|=4),Vi(n,e,i,t)}var Bi="_reactListening"+Math.random().toString(36).slice(2);function Gi(e){if(!e[Bi]){e[Bi]=!0,s.forEach((function(t){"selectionchange"!==t&&(Fi.has(t)||qi(t,!1,e),qi(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Bi]||(t[Bi]=!0,qi("selectionchange",!1,t))}}function Vi(e,t,n,i){switch(Xt(t)){case 1:var r=Wt;break;case 4:r=Ut;break;default:r=$t}n=r.bind(null,t,n,e),r=void 0,!Le||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),i?void 0!==r?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):void 0!==r?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function Hi(e,t,n,i,r){var o=i;if(!(1&t||2&t||null===i))e:for(;;){if(null===i)return;var s=i.tag;if(3===s||4===s){var a=i.stateNode.containerInfo;if(a===r||8===a.nodeType&&a.parentNode===r)break;if(4===s)for(s=i.return;null!==s;){var l=s.tag;if((3===l||4===l)&&((l=s.stateNode.containerInfo)===r||8===l.nodeType&&l.parentNode===r))return;s=s.return}for(;null!==a;){if(null===(s=yr(a)))return;if(5===(l=s.tag)||6===l){i=o=s;continue e}a=a.parentNode}}i=i.return}Re((function(){var i=o,r=xe(n),s=[];e:{var a=Pi.get(e);if(void 0!==a){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=En;break;case"focusin":c="focus",l=gn;break;case"focusout":c="blur",l=gn;break;case"beforeblur":case"afterblur":l=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=fn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=_n;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Tn;break;case Ai:case Ei:case Mi:l=mn;break;case Ti:l=Pn;break;case"scroll":l=hn;break;case"wheel":l=In;break;case"copy":case"cut":case"paste":l=vn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Mn}var u=!!(4&t),d=!u&&"scroll"===e,h=u?null!==a?a+"Capture":null:a;u=[];for(var p,f=i;null!==f;){var _=(p=f).stateNode;if(5===p.tag&&null!==_&&(p=_,null!==h&&null!=(_=Ie(f,h))&&u.push(Wi(f,_,p))),d)break;f=f.return}0<u.length&&(a=new l(a,c,null,n,r),s.push({event:a,listeners:u}))}}if(!(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(a="mouseover"===e||"pointerover"===e)||n===be||!(c=n.relatedTarget||n.fromElement)||!yr(c)&&!c[fr])&&(l||a)&&(a=r.window===r?r:(a=r.ownerDocument)?a.defaultView||a.parentWindow:window,l?(l=i,null!==(c=(c=n.relatedTarget||n.toElement)?yr(c):null)&&(c!==(d=Ge(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=i),l!==c)){if(u=fn,_="onMouseLeave",h="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(u=Mn,_="onPointerLeave",h="onPointerEnter",f="pointer"),d=null==l?a:br(l),p=null==c?a:br(c),(a=new u(_,f+"leave",l,n,r)).target=d,a.relatedTarget=p,_=null,yr(r)===i&&((u=new u(h,f+"enter",c,n,r)).target=p,u.relatedTarget=d,_=u),d=_,l&&c)e:{for(h=c,f=0,p=u=l;p;p=$i(p))f++;for(p=0,_=h;_;_=$i(_))p++;for(;0<f-p;)u=$i(u),f--;for(;0<p-f;)h=$i(h),p--;for(;f--;){if(u===h||null!==h&&u===h.alternate)break e;u=$i(u),h=$i(h)}u=null}else u=null;null!==l&&Zi(s,a,l,u,!1),null!==c&&null!==d&&Zi(s,d,c,u,!0)}if("select"===(l=(a=i?br(i):window).nodeName&&a.nodeName.toLowerCase())||"input"===l&&"file"===a.type)var g=Xn;else if(Hn(a))if(Yn)g=si;else{g=ri;var m=ii}else(l=a.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===a.type||"radio"===a.type)&&(g=oi);switch(g&&(g=g(e,i))?Wn(s,g,n,r):(m&&m(e,a,i),"focusout"===e&&(m=a._wrapperState)&&m.controlled&&"number"===a.type&&ee(a,"number",a.value)),m=i?br(i):window,e){case"focusin":(Hn(m)||"true"===m.contentEditable)&&(gi=m,mi=i,yi=null);break;case"focusout":yi=mi=gi=null;break;case"mousedown":vi=!0;break;case"contextmenu":case"mouseup":case"dragend":vi=!1,bi(s,n,r);break;case"selectionchange":if(_i)break;case"keydown":case"keyup":bi(s,n,r)}var y;if(zn)e:{switch(e){case"compositionstart":var v="onCompositionStart";break e;case"compositionend":v="onCompositionEnd";break e;case"compositionupdate":v="onCompositionUpdate";break e}v=void 0}else Gn?qn(e,n)&&(v="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(v="onCompositionStart");v&&(jn&&"ko"!==n.locale&&(Gn||"onCompositionStart"!==v?"onCompositionEnd"===v&&Gn&&(y=en()):(Qt="value"in(Yt=r)?Yt.value:Yt.textContent,Gn=!0)),0<(m=Ui(i,v)).length&&(v=new bn(v,e,null,n,r),s.push({event:v,listeners:m}),(y||null!==(y=Bn(n)))&&(v.data=y))),(y=Fn?function(e,t){switch(e){case"compositionend":return Bn(t);case"keypress":return 32!==t.which?null:(Nn=!0,Dn);case"textInput":return(e=t.data)===Dn&&Nn?null:e;default:return null}}(e,n):function(e,t){if(Gn)return"compositionend"===e||!zn&&qn(e,t)?(e=en(),Jt=Qt=Yt=null,Gn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return jn&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(i=Ui(i,"onBeforeInput")).length&&(r=new bn("onBeforeInput","beforeinput",null,n,r),s.push({event:r,listeners:i}),r.data=y)}Di(s,t)}))}function Wi(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ui(e,t){for(var n=t+"Capture",i=[];null!==e;){var r=e,o=r.stateNode;5===r.tag&&null!==o&&(r=o,null!=(o=Ie(e,n))&&i.unshift(Wi(e,o,r)),null!=(o=Ie(e,t))&&i.push(Wi(e,o,r))),e=e.return}return i}function $i(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Zi(e,t,n,i,r){for(var o=t._reactName,s=[];null!==n&&n!==i;){var a=n,l=a.alternate,c=a.stateNode;if(null!==l&&l===i)break;5===a.tag&&null!==c&&(a=c,r?null!=(l=Ie(n,o))&&s.unshift(Wi(n,l,a)):r||null!=(l=Ie(n,o))&&s.push(Wi(n,l,a))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}var Ki=/\r\n?/g,Xi=/\u0000|\uFFFD/g;function Yi(e){return("string"==typeof e?e:""+e).replace(Ki,"\n").replace(Xi,"")}function Qi(e,t,n){if(t=Yi(t),Yi(e)!==t&&n)throw Error(o(425))}function Ji(){}var er=null,tr=null;function nr(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ir="function"==typeof setTimeout?setTimeout:void 0,rr="function"==typeof clearTimeout?clearTimeout:void 0,or="function"==typeof Promise?Promise:void 0,sr="function"==typeof queueMicrotask?queueMicrotask:void 0!==or?function(e){return or.resolve(null).then(e).catch(ar)}:ir;function ar(e){setTimeout((function(){throw e}))}function lr(e,t){var n=t,i=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&8===r.nodeType)if("/$"===(n=r.data)){if(0===i)return e.removeChild(r),void Gt(t);i--}else"$"!==n&&"$?"!==n&&"$!"!==n||i++;n=r}while(n);Gt(t)}function cr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ur(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var dr=Math.random().toString(36).slice(2),hr="__reactFiber$"+dr,pr="__reactProps$"+dr,fr="__reactContainer$"+dr,_r="__reactEvents$"+dr,gr="__reactListeners$"+dr,mr="__reactHandles$"+dr;function yr(e){var t=e[hr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fr]||n[hr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ur(e);null!==e;){if(n=e[hr])return n;e=ur(e)}return t}n=(e=n).parentNode}return null}function vr(e){return!(e=e[hr]||e[fr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function br(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function xr(e){return e[pr]||null}var wr=[],kr=-1;function Cr(e){return{current:e}}function Sr(e){0>kr||(e.current=wr[kr],wr[kr]=null,kr--)}function Ar(e,t){kr++,wr[kr]=e.current,e.current=t}var Er={},Mr=Cr(Er),Tr=Cr(!1),Pr=Er;function Rr(e,t){var n=e.type.contextTypes;if(!n)return Er;var i=e.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var r,o={};for(r in n)o[r]=t[r];return i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ir(e){return null!=e.childContextTypes}function Lr(){Sr(Tr),Sr(Mr)}function zr(e,t,n){if(Mr.current!==Er)throw Error(o(168));Ar(Mr,t),Ar(Tr,n)}function Or(e,t,n){var i=e.stateNode;if(t=t.childContextTypes,"function"!=typeof i.getChildContext)return n;for(var r in i=i.getChildContext())if(!(r in t))throw Error(o(108,V(e)||"Unknown",r));return j({},n,i)}function Fr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Er,Pr=Mr.current,Ar(Mr,e),Ar(Tr,Tr.current),!0}function jr(e,t,n){var i=e.stateNode;if(!i)throw Error(o(169));n?(e=Or(e,t,Pr),i.__reactInternalMemoizedMergedChildContext=e,Sr(Tr),Sr(Mr),Ar(Mr,e)):Sr(Tr),Ar(Tr,n)}var Dr=null,Nr=!1,qr=!1;function Br(e){null===Dr?Dr=[e]:Dr.push(e)}function Gr(){if(!qr&&null!==Dr){qr=!0;var e=0,t=vt;try{var n=Dr;for(vt=1;e<n.length;e++){var i=n[e];do{i=i(!0)}while(null!==i)}Dr=null,Nr=!1}catch(t){throw null!==Dr&&(Dr=Dr.slice(e+1)),$e(Je,Gr),t}finally{vt=t,qr=!1}}return null}var Vr=[],Hr=0,Wr=null,Ur=0,$r=[],Zr=0,Kr=null,Xr=1,Yr="";function Qr(e,t){Vr[Hr++]=Ur,Vr[Hr++]=Wr,Wr=e,Ur=t}function Jr(e,t,n){$r[Zr++]=Xr,$r[Zr++]=Yr,$r[Zr++]=Kr,Kr=e;var i=Xr;e=Yr;var r=32-st(i)-1;i&=~(1<<r),n+=1;var o=32-st(t)+r;if(30<o){var s=r-r%5;o=(i&(1<<s)-1).toString(32),i>>=s,r-=s,Xr=1<<32-st(t)+r|n<<r|i,Yr=o+e}else Xr=1<<o|n<<r|i,Yr=e}function eo(e){null!==e.return&&(Qr(e,1),Jr(e,1,0))}function to(e){for(;e===Wr;)Wr=Vr[--Hr],Vr[Hr]=null,Ur=Vr[--Hr],Vr[Hr]=null;for(;e===Kr;)Kr=$r[--Zr],$r[Zr]=null,Yr=$r[--Zr],$r[Zr]=null,Xr=$r[--Zr],$r[Zr]=null}var no=null,io=null,ro=!1,oo=null;function so(e,t){var n=Ic(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function ao(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,io=cr(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,io=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Kr?{id:Xr,overflow:Yr}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Ic(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,io=null,!0);default:return!1}}function lo(e){return!(!(1&e.mode)||128&e.flags)}function co(e){if(ro){var t=io;if(t){var n=t;if(!ao(e,t)){if(lo(e))throw Error(o(418));t=cr(n.nextSibling);var i=no;t&&ao(e,t)?so(i,n):(e.flags=-4097&e.flags|2,ro=!1,no=e)}}else{if(lo(e))throw Error(o(418));e.flags=-4097&e.flags|2,ro=!1,no=e}}}function uo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function ho(e){if(e!==no)return!1;if(!ro)return uo(e),ro=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!nr(e.type,e.memoizedProps)),t&&(t=io)){if(lo(e))throw po(),Error(o(418));for(;t;)so(e,t),t=cr(t.nextSibling)}if(uo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){io=cr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}io=null}}else io=no?cr(e.stateNode.nextSibling):null;return!0}function po(){for(var e=io;e;)e=cr(e.nextSibling)}function fo(){io=no=null,ro=!1}function _o(e){null===oo?oo=[e]:oo.push(e)}var go=b.ReactCurrentBatchConfig;function mo(e,t){if(e&&e.defaultProps){for(var n in t=j({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var yo=Cr(null),vo=null,bo=null,xo=null;function wo(){xo=bo=vo=null}function ko(e){var t=yo.current;Sr(yo),e._currentValue=t}function Co(e,t,n){for(;null!==e;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==i&&(i.childLanes|=t)):null!==i&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===n)break;e=e.return}}function So(e,t){vo=e,xo=bo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(ba=!0),e.firstContext=null)}function Ao(e){var t=e._currentValue;if(xo!==e)if(e={context:e,memoizedValue:t,next:null},null===bo){if(null===vo)throw Error(o(308));bo=e,vo.dependencies={lanes:0,firstContext:e}}else bo=bo.next=e;return t}var Eo=null;function Mo(e){null===Eo?Eo=[e]:Eo.push(e)}function To(e,t,n,i){var r=t.interleaved;return null===r?(n.next=n,Mo(t)):(n.next=r.next,r.next=n),t.interleaved=n,Po(e,i)}function Po(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ro=!1;function Io(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Lo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function zo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Oo(e,t,n){var i=e.updateQueue;if(null===i)return null;if(i=i.shared,2&Tl){var r=i.pending;return null===r?t.next=t:(t.next=r.next,r.next=t),i.pending=t,Po(e,n)}return null===(r=i.interleaved)?(t.next=t,Mo(i)):(t.next=r.next,r.next=t),i.interleaved=t,Po(e,n)}function Fo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var i=t.lanes;n|=i&=e.pendingLanes,t.lanes=n,yt(e,n)}}function jo(e,t){var n=e.updateQueue,i=e.alternate;if(null!==i&&n===(i=i.updateQueue)){var r=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?r=o=s:o=o.next=s,n=n.next}while(null!==n);null===o?r=o=t:o=o.next=t}else r=o=t;return n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:i.shared,effects:i.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Do(e,t,n,i){var r=e.updateQueue;Ro=!1;var o=r.firstBaseUpdate,s=r.lastBaseUpdate,a=r.shared.pending;if(null!==a){r.shared.pending=null;var l=a,c=l.next;l.next=null,null===s?o=c:s.next=c,s=l;var u=e.alternate;null!==u&&(a=(u=u.updateQueue).lastBaseUpdate)!==s&&(null===a?u.firstBaseUpdate=c:a.next=c,u.lastBaseUpdate=l)}if(null!==o){var d=r.baseState;for(s=0,u=c=l=null,a=o;;){var h=a.lane,p=a.eventTime;if((i&h)===h){null!==u&&(u=u.next={eventTime:p,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});e:{var f=e,_=a;switch(h=t,p=n,_.tag){case 1:if("function"==typeof(f=_.payload)){d=f.call(p,d,h);break e}d=f;break e;case 3:f.flags=-65537&f.flags|128;case 0:if(null==(h="function"==typeof(f=_.payload)?f.call(p,d,h):f))break e;d=j({},d,h);break e;case 2:Ro=!0}}null!==a.callback&&0!==a.lane&&(e.flags|=64,null===(h=r.effects)?r.effects=[a]:h.push(a))}else p={eventTime:p,lane:h,tag:a.tag,payload:a.payload,callback:a.callback,next:null},null===u?(c=u=p,l=d):u=u.next=p,s|=h;if(null===(a=a.next)){if(null===(a=r.shared.pending))break;a=(h=a).next,h.next=null,r.lastBaseUpdate=h,r.shared.pending=null}}if(null===u&&(l=d),r.baseState=l,r.firstBaseUpdate=c,r.lastBaseUpdate=u,null!==(t=r.shared.interleaved)){r=t;do{s|=r.lane,r=r.next}while(r!==t)}else null===o&&(r.shared.lanes=0);jl|=s,e.lanes=s,e.memoizedState=d}}function No(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var i=e[t],r=i.callback;if(null!==r){if(i.callback=null,i=n,"function"!=typeof r)throw Error(o(191,r));r.call(i)}}}var qo=(new i.Component).refs;function Bo(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:j({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Go={isMounted:function(e){return!!(e=e._reactInternals)&&Ge(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var i=tc(),r=nc(e),o=zo(i,r);o.payload=t,null!=n&&(o.callback=n),null!==(t=Oo(e,o,r))&&(ic(t,e,r,i),Fo(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=tc(),r=nc(e),o=zo(i,r);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Oo(e,o,r))&&(ic(t,e,r,i),Fo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tc(),i=nc(e),r=zo(n,i);r.tag=2,null!=t&&(r.callback=t),null!==(t=Oo(e,r,i))&&(ic(t,e,i,n),Fo(t,e,i))}};function Vo(e,t,n,i,r,o,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,o,s):!(t.prototype&&t.prototype.isPureReactComponent&&li(n,i)&&li(r,o))}function Ho(e,t,n){var i=!1,r=Er,o=t.contextType;return"object"==typeof o&&null!==o?o=Ao(o):(r=Ir(t)?Pr:Mr.current,o=(i=null!=(i=t.contextTypes))?Rr(e,r):Er),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Go,e.stateNode=t,t._reactInternals=e,i&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=o),t}function Wo(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&Go.enqueueReplaceState(t,t.state,null)}function Uo(e,t,n,i){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs=qo,Io(e);var o=t.contextType;"object"==typeof o&&null!==o?r.context=Ao(o):(o=Ir(t)?Pr:Mr.current,r.context=Rr(e,o)),r.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(Bo(e,t,o,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&Go.enqueueReplaceState(r,r.state,null),Do(e,n,r,i),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.flags|=4194308)}function $o(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var i=n.stateNode}if(!i)throw Error(o(147,e));var r=i,s=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===s?t.ref:(t=function(e){var t=r.refs;t===qo&&(t=r.refs={}),null===e?delete t[s]:t[s]=e},t._stringRef=s,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function Zo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Ko(e){return(0,e._init)(e._payload)}function Xo(e){function t(t,n){if(e){var i=t.deletions;null===i?(t.deletions=[n],t.flags|=16):i.push(n)}}function n(n,i){if(!e)return null;for(;null!==i;)t(n,i),i=i.sibling;return null}function i(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function r(e,t){return(e=zc(e,t)).index=0,e.sibling=null,e}function s(t,n,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<n?(t.flags|=2,n):i:(t.flags|=2,n):(t.flags|=1048576,n)}function a(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,i){return null===t||6!==t.tag?((t=Dc(n,e.mode,i)).return=e,t):((t=r(t,n)).return=e,t)}function c(e,t,n,i){var o=n.type;return o===k?d(e,t,n.props.children,i,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===I&&Ko(o)===t.type)?((i=r(t,n.props)).ref=$o(e,t,n),i.return=e,i):((i=Oc(n.type,n.key,n.props,null,e.mode,i)).ref=$o(e,t,n),i.return=e,i)}function u(e,t,n,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Nc(n,e.mode,i)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function d(e,t,n,i,o){return null===t||7!==t.tag?((t=Fc(n,e.mode,i,o)).return=e,t):((t=r(t,n)).return=e,t)}function h(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Dc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case x:return(n=Oc(t.type,t.key,t.props,null,e.mode,n)).ref=$o(e,null,t),n.return=e,n;case w:return(t=Nc(t,e.mode,n)).return=e,t;case I:return h(e,(0,t._init)(t._payload),n)}if(te(t)||O(t))return(t=Fc(t,e.mode,n,null)).return=e,t;Zo(e,t)}return null}function p(e,t,n,i){var r=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==r?null:l(e,t,""+n,i);if("object"==typeof n&&null!==n){switch(n.$$typeof){case x:return n.key===r?c(e,t,n,i):null;case w:return n.key===r?u(e,t,n,i):null;case I:return p(e,t,(r=n._init)(n._payload),i)}if(te(n)||O(n))return null!==r?null:d(e,t,n,i,null);Zo(e,n)}return null}function f(e,t,n,i,r){if("string"==typeof i&&""!==i||"number"==typeof i)return l(t,e=e.get(n)||null,""+i,r);if("object"==typeof i&&null!==i){switch(i.$$typeof){case x:return c(t,e=e.get(null===i.key?n:i.key)||null,i,r);case w:return u(t,e=e.get(null===i.key?n:i.key)||null,i,r);case I:return f(e,t,n,(0,i._init)(i._payload),r)}if(te(i)||O(i))return d(t,e=e.get(n)||null,i,r,null);Zo(t,i)}return null}function _(r,o,a,l){for(var c=null,u=null,d=o,_=o=0,g=null;null!==d&&_<a.length;_++){d.index>_?(g=d,d=null):g=d.sibling;var m=p(r,d,a[_],l);if(null===m){null===d&&(d=g);break}e&&d&&null===m.alternate&&t(r,d),o=s(m,o,_),null===u?c=m:u.sibling=m,u=m,d=g}if(_===a.length)return n(r,d),ro&&Qr(r,_),c;if(null===d){for(;_<a.length;_++)null!==(d=h(r,a[_],l))&&(o=s(d,o,_),null===u?c=d:u.sibling=d,u=d);return ro&&Qr(r,_),c}for(d=i(r,d);_<a.length;_++)null!==(g=f(d,r,_,a[_],l))&&(e&&null!==g.alternate&&d.delete(null===g.key?_:g.key),o=s(g,o,_),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach((function(e){return t(r,e)})),ro&&Qr(r,_),c}function g(r,a,l,c){var u=O(l);if("function"!=typeof u)throw Error(o(150));if(null==(l=u.call(l)))throw Error(o(151));for(var d=u=null,_=a,g=a=0,m=null,y=l.next();null!==_&&!y.done;g++,y=l.next()){_.index>g?(m=_,_=null):m=_.sibling;var v=p(r,_,y.value,c);if(null===v){null===_&&(_=m);break}e&&_&&null===v.alternate&&t(r,_),a=s(v,a,g),null===d?u=v:d.sibling=v,d=v,_=m}if(y.done)return n(r,_),ro&&Qr(r,g),u;if(null===_){for(;!y.done;g++,y=l.next())null!==(y=h(r,y.value,c))&&(a=s(y,a,g),null===d?u=y:d.sibling=y,d=y);return ro&&Qr(r,g),u}for(_=i(r,_);!y.done;g++,y=l.next())null!==(y=f(_,r,g,y.value,c))&&(e&&null!==y.alternate&&_.delete(null===y.key?g:y.key),a=s(y,a,g),null===d?u=y:d.sibling=y,d=y);return e&&_.forEach((function(e){return t(r,e)})),ro&&Qr(r,g),u}return function e(i,o,s,l){if("object"==typeof s&&null!==s&&s.type===k&&null===s.key&&(s=s.props.children),"object"==typeof s&&null!==s){switch(s.$$typeof){case x:e:{for(var c=s.key,u=o;null!==u;){if(u.key===c){if((c=s.type)===k){if(7===u.tag){n(i,u.sibling),(o=r(u,s.props.children)).return=i,i=o;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===I&&Ko(c)===u.type){n(i,u.sibling),(o=r(u,s.props)).ref=$o(i,u,s),o.return=i,i=o;break e}n(i,u);break}t(i,u),u=u.sibling}s.type===k?((o=Fc(s.props.children,i.mode,l,s.key)).return=i,i=o):((l=Oc(s.type,s.key,s.props,null,i.mode,l)).ref=$o(i,o,s),l.return=i,i=l)}return a(i);case w:e:{for(u=s.key;null!==o;){if(o.key===u){if(4===o.tag&&o.stateNode.containerInfo===s.containerInfo&&o.stateNode.implementation===s.implementation){n(i,o.sibling),(o=r(o,s.children||[])).return=i,i=o;break e}n(i,o);break}t(i,o),o=o.sibling}(o=Nc(s,i.mode,l)).return=i,i=o}return a(i);case I:return e(i,o,(u=s._init)(s._payload),l)}if(te(s))return _(i,o,s,l);if(O(s))return g(i,o,s,l);Zo(i,s)}return"string"==typeof s&&""!==s||"number"==typeof s?(s=""+s,null!==o&&6===o.tag?(n(i,o.sibling),(o=r(o,s)).return=i,i=o):(n(i,o),(o=Dc(s,i.mode,l)).return=i,i=o),a(i)):n(i,o)}}var Yo=Xo(!0),Qo=Xo(!1),Jo={},es=Cr(Jo),ts=Cr(Jo),ns=Cr(Jo);function is(e){if(e===Jo)throw Error(o(174));return e}function rs(e,t){switch(Ar(ns,t),Ar(ts,e),Ar(es,Jo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Sr(es),Ar(es,t)}function os(){Sr(es),Sr(ts),Sr(ns)}function ss(e){is(ns.current);var t=is(es.current),n=le(t,e.type);t!==n&&(Ar(ts,e),Ar(es,n))}function as(e){ts.current===e&&(Sr(es),Sr(ts))}var ls=Cr(0);function cs(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var us=[];function ds(){for(var e=0;e<us.length;e++)us[e]._workInProgressVersionPrimary=null;us.length=0}var hs=b.ReactCurrentDispatcher,ps=b.ReactCurrentBatchConfig,fs=0,_s=null,gs=null,ms=null,ys=!1,vs=!1,bs=0,xs=0;function ws(){throw Error(o(321))}function ks(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ai(e[n],t[n]))return!1;return!0}function Cs(e,t,n,i,r,s){if(fs=s,_s=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,hs.current=null===e||null===e.memoizedState?aa:la,e=n(i,r),vs){s=0;do{if(vs=!1,bs=0,25<=s)throw Error(o(301));s+=1,ms=gs=null,t.updateQueue=null,hs.current=ca,e=n(i,r)}while(vs)}if(hs.current=sa,t=null!==gs&&null!==gs.next,fs=0,ms=gs=_s=null,ys=!1,t)throw Error(o(300));return e}function Ss(){var e=0!==bs;return bs=0,e}function As(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ms?_s.memoizedState=ms=e:ms=ms.next=e,ms}function Es(){if(null===gs){var e=_s.alternate;e=null!==e?e.memoizedState:null}else e=gs.next;var t=null===ms?_s.memoizedState:ms.next;if(null!==t)ms=t,gs=e;else{if(null===e)throw Error(o(310));e={memoizedState:(gs=e).memoizedState,baseState:gs.baseState,baseQueue:gs.baseQueue,queue:gs.queue,next:null},null===ms?_s.memoizedState=ms=e:ms=ms.next=e}return ms}function Ms(e,t){return"function"==typeof t?t(e):t}function Ts(e){var t=Es(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var i=gs,r=i.baseQueue,s=n.pending;if(null!==s){if(null!==r){var a=r.next;r.next=s.next,s.next=a}i.baseQueue=r=s,n.pending=null}if(null!==r){s=r.next,i=i.baseState;var l=a=null,c=null,u=s;do{var d=u.lane;if((fs&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),i=u.hasEagerState?u.eagerState:e(i,u.action);else{var h={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=h,a=i):c=c.next=h,_s.lanes|=d,jl|=d}u=u.next}while(null!==u&&u!==s);null===c?a=i:c.next=l,ai(i,t.memoizedState)||(ba=!0),t.memoizedState=i,t.baseState=a,t.baseQueue=c,n.lastRenderedState=i}if(null!==(e=n.interleaved)){r=e;do{s=r.lane,_s.lanes|=s,jl|=s,r=r.next}while(r!==e)}else null===r&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Ps(e){var t=Es(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var i=n.dispatch,r=n.pending,s=t.memoizedState;if(null!==r){n.pending=null;var a=r=r.next;do{s=e(s,a.action),a=a.next}while(a!==r);ai(s,t.memoizedState)||(ba=!0),t.memoizedState=s,null===t.baseQueue&&(t.baseState=s),n.lastRenderedState=s}return[s,i]}function Rs(){}function Is(e,t){var n=_s,i=Es(),r=t(),s=!ai(i.memoizedState,r);if(s&&(i.memoizedState=r,ba=!0),i=i.queue,Hs(Os.bind(null,n,i,e),[e]),i.getSnapshot!==t||s||null!==ms&&1&ms.memoizedState.tag){if(n.flags|=2048,Ns(9,zs.bind(null,n,i,r,t),void 0,null),null===Pl)throw Error(o(349));30&fs||Ls(n,t,r)}return r}function Ls(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=_s.updateQueue)?(t={lastEffect:null,stores:null},_s.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function zs(e,t,n,i){t.value=n,t.getSnapshot=i,Fs(t)&&js(e)}function Os(e,t,n){return n((function(){Fs(t)&&js(e)}))}function Fs(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!ai(e,n)}catch(e){return!0}}function js(e){var t=Po(e,1);null!==t&&ic(t,e,1,-1)}function Ds(e){var t=As();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ms,lastRenderedState:e},t.queue=e,e=e.dispatch=na.bind(null,_s,e),[t.memoizedState,e]}function Ns(e,t,n,i){return e={tag:e,create:t,destroy:n,deps:i,next:null},null===(t=_s.updateQueue)?(t={lastEffect:null,stores:null},_s.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function qs(){return Es().memoizedState}function Bs(e,t,n,i){var r=As();_s.flags|=e,r.memoizedState=Ns(1|t,n,void 0,void 0===i?null:i)}function Gs(e,t,n,i){var r=Es();i=void 0===i?null:i;var o=void 0;if(null!==gs){var s=gs.memoizedState;if(o=s.destroy,null!==i&&ks(i,s.deps))return void(r.memoizedState=Ns(t,n,o,i))}_s.flags|=e,r.memoizedState=Ns(1|t,n,o,i)}function Vs(e,t){return Bs(8390656,8,e,t)}function Hs(e,t){return Gs(2048,8,e,t)}function Ws(e,t){return Gs(4,2,e,t)}function Us(e,t){return Gs(4,4,e,t)}function $s(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Zs(e,t,n){return n=null!=n?n.concat([e]):null,Gs(4,4,$s.bind(null,t,e),n)}function Ks(){}function Xs(e,t){var n=Es();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&ks(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function Ys(e,t){var n=Es();t=void 0===t?null:t;var i=n.memoizedState;return null!==i&&null!==t&&ks(t,i[1])?i[0]:(e=e(),n.memoizedState=[e,t],e)}function Qs(e,t,n){return 21&fs?(ai(n,t)||(n=_t(),_s.lanes|=n,jl|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,ba=!0),e.memoizedState=n)}function Js(e,t){var n=vt;vt=0!==n&&4>n?n:4,e(!0);var i=ps.transition;ps.transition={};try{e(!1),t()}finally{vt=n,ps.transition=i}}function ea(){return Es().memoizedState}function ta(e,t,n){var i=nc(e);n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},ia(e)?ra(t,n):null!==(n=To(e,t,n,i))&&(ic(n,e,i,tc()),oa(n,t,i))}function na(e,t,n){var i=nc(e),r={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(ia(e))ra(t,r);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var s=t.lastRenderedState,a=o(s,n);if(r.hasEagerState=!0,r.eagerState=a,ai(a,s)){var l=t.interleaved;return null===l?(r.next=r,Mo(t)):(r.next=l.next,l.next=r),void(t.interleaved=r)}}catch(e){}null!==(n=To(e,t,r,i))&&(ic(n,e,i,r=tc()),oa(n,t,i))}}function ia(e){var t=e.alternate;return e===_s||null!==t&&t===_s}function ra(e,t){vs=ys=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function oa(e,t,n){if(4194240&n){var i=t.lanes;n|=i&=e.pendingLanes,t.lanes=n,yt(e,n)}}var sa={readContext:Ao,useCallback:ws,useContext:ws,useEffect:ws,useImperativeHandle:ws,useInsertionEffect:ws,useLayoutEffect:ws,useMemo:ws,useReducer:ws,useRef:ws,useState:ws,useDebugValue:ws,useDeferredValue:ws,useTransition:ws,useMutableSource:ws,useSyncExternalStore:ws,useId:ws,unstable_isNewReconciler:!1},aa={readContext:Ao,useCallback:function(e,t){return As().memoizedState=[e,void 0===t?null:t],e},useContext:Ao,useEffect:Vs,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Bs(4194308,4,$s.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Bs(4194308,4,e,t)},useInsertionEffect:function(e,t){return Bs(4,2,e,t)},useMemo:function(e,t){var n=As();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var i=As();return t=void 0!==n?n(t):t,i.memoizedState=i.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},i.queue=e,e=e.dispatch=ta.bind(null,_s,e),[i.memoizedState,e]},useRef:function(e){return e={current:e},As().memoizedState=e},useState:Ds,useDebugValue:Ks,useDeferredValue:function(e){return As().memoizedState=e},useTransition:function(){var e=Ds(!1),t=e[0];return e=Js.bind(null,e[1]),As().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var i=_s,r=As();if(ro){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===Pl)throw Error(o(349));30&fs||Ls(i,t,n)}r.memoizedState=n;var s={value:n,getSnapshot:t};return r.queue=s,Vs(Os.bind(null,i,s,e),[e]),i.flags|=2048,Ns(9,zs.bind(null,i,s,n,t),void 0,null),n},useId:function(){var e=As(),t=Pl.identifierPrefix;if(ro){var n=Yr;t=":"+t+"R"+(n=(Xr&~(1<<32-st(Xr)-1)).toString(32)+n),0<(n=bs++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=xs++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},la={readContext:Ao,useCallback:Xs,useContext:Ao,useEffect:Hs,useImperativeHandle:Zs,useInsertionEffect:Ws,useLayoutEffect:Us,useMemo:Ys,useReducer:Ts,useRef:qs,useState:function(){return Ts(Ms)},useDebugValue:Ks,useDeferredValue:function(e){return Qs(Es(),gs.memoizedState,e)},useTransition:function(){return[Ts(Ms)[0],Es().memoizedState]},useMutableSource:Rs,useSyncExternalStore:Is,useId:ea,unstable_isNewReconciler:!1},ca={readContext:Ao,useCallback:Xs,useContext:Ao,useEffect:Hs,useImperativeHandle:Zs,useInsertionEffect:Ws,useLayoutEffect:Us,useMemo:Ys,useReducer:Ps,useRef:qs,useState:function(){return Ps(Ms)},useDebugValue:Ks,useDeferredValue:function(e){var t=Es();return null===gs?t.memoizedState=e:Qs(t,gs.memoizedState,e)},useTransition:function(){return[Ps(Ms)[0],Es().memoizedState]},useMutableSource:Rs,useSyncExternalStore:Is,useId:ea,unstable_isNewReconciler:!1};function ua(e,t){try{var n="",i=t;do{n+=B(i),i=i.return}while(i);var r=n}catch(e){r="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:r,digest:null}}function da(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ha(e,t){try{console.error(t.value)}catch(e){setTimeout((function(){throw e}))}}var pa="function"==typeof WeakMap?WeakMap:Map;function fa(e,t,n){(n=zo(-1,n)).tag=3,n.payload={element:null};var i=t.value;return n.callback=function(){Wl||(Wl=!0,Ul=i),ha(0,t)},n}function _a(e,t,n){(n=zo(-1,n)).tag=3;var i=e.type.getDerivedStateFromError;if("function"==typeof i){var r=t.value;n.payload=function(){return i(r)},n.callback=function(){ha(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){ha(0,t),"function"!=typeof i&&(null===$l?$l=new Set([this]):$l.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function ga(e,t,n){var i=e.pingCache;if(null===i){i=e.pingCache=new pa;var r=new Set;i.set(t,r)}else void 0===(r=i.get(t))&&(r=new Set,i.set(t,r));r.has(n)||(r.add(n),e=Ac.bind(null,e,t,n),t.then(e,e))}function ma(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ya(e,t,n,i,r){return 1&e.mode?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=zo(-1,1)).tag=2,Oo(n,t,1))),n.lanes|=1),e)}var va=b.ReactCurrentOwner,ba=!1;function xa(e,t,n,i){t.child=null===e?Qo(t,null,n,i):Yo(t,e.child,n,i)}function wa(e,t,n,i,r){n=n.render;var o=t.ref;return So(t,r),i=Cs(e,t,n,i,o,r),n=Ss(),null===e||ba?(ro&&n&&eo(t),t.flags|=1,xa(e,t,i,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Wa(e,t,r))}function ka(e,t,n,i,r){if(null===e){var o=n.type;return"function"!=typeof o||Lc(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Oc(n.type,null,i,t,t.mode,r)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Ca(e,t,o,i,r))}if(o=e.child,!(e.lanes&r)){var s=o.memoizedProps;if((n=null!==(n=n.compare)?n:li)(s,i)&&e.ref===t.ref)return Wa(e,t,r)}return t.flags|=1,(e=zc(o,i)).ref=t.ref,e.return=t,t.child=e}function Ca(e,t,n,i,r){if(null!==e){var o=e.memoizedProps;if(li(o,i)&&e.ref===t.ref){if(ba=!1,t.pendingProps=i=o,!(e.lanes&r))return t.lanes=e.lanes,Wa(e,t,r);131072&e.flags&&(ba=!0)}}return Ea(e,t,n,i,r)}function Sa(e,t,n){var i=t.pendingProps,r=i.children,o=null!==e?e.memoizedState:null;if("hidden"===i.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ar(zl,Ll),Ll|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=null!==o?o.baseLanes:n,Ar(zl,Ll),Ll|=i}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ar(zl,Ll),Ll|=n;else null!==o?(i=o.baseLanes|n,t.memoizedState=null):i=n,Ar(zl,Ll),Ll|=i;return xa(e,t,r,n),t.child}function Aa(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ea(e,t,n,i,r){var o=Ir(n)?Pr:Mr.current;return o=Rr(t,o),So(t,r),n=Cs(e,t,n,i,o,r),i=Ss(),null===e||ba?(ro&&i&&eo(t),t.flags|=1,xa(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Wa(e,t,r))}function Ma(e,t,n,i,r){if(Ir(n)){var o=!0;Fr(t)}else o=!1;if(So(t,r),null===t.stateNode)Ha(e,t),Ho(t,n,i),Uo(t,n,i,r),i=!0;else if(null===e){var s=t.stateNode,a=t.memoizedProps;s.props=a;var l=s.context,c=n.contextType;c="object"==typeof c&&null!==c?Ao(c):Rr(t,c=Ir(n)?Pr:Mr.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof s.getSnapshotBeforeUpdate;d||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(a!==i||l!==c)&&Wo(t,s,i,c),Ro=!1;var h=t.memoizedState;s.state=h,Do(t,i,s,r),l=t.memoizedState,a!==i||h!==l||Tr.current||Ro?("function"==typeof u&&(Bo(t,n,u,i),l=t.memoizedState),(a=Ro||Vo(t,n,a,i,h,l,c))?(d||"function"!=typeof s.UNSAFE_componentWillMount&&"function"!=typeof s.componentWillMount||("function"==typeof s.componentWillMount&&s.componentWillMount(),"function"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"==typeof s.componentDidMount&&(t.flags|=4194308)):("function"==typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=l),s.props=i,s.state=l,s.context=c,i=a):("function"==typeof s.componentDidMount&&(t.flags|=4194308),i=!1)}else{s=t.stateNode,Lo(e,t),a=t.memoizedProps,c=t.type===t.elementType?a:mo(t.type,a),s.props=c,d=t.pendingProps,h=s.context,l="object"==typeof(l=n.contextType)&&null!==l?Ao(l):Rr(t,l=Ir(n)?Pr:Mr.current);var p=n.getDerivedStateFromProps;(u="function"==typeof p||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(a!==d||h!==l)&&Wo(t,s,i,l),Ro=!1,h=t.memoizedState,s.state=h,Do(t,i,s,r);var f=t.memoizedState;a!==d||h!==f||Tr.current||Ro?("function"==typeof p&&(Bo(t,n,p,i),f=t.memoizedState),(c=Ro||Vo(t,n,c,i,h,f,l)||!1)?(u||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(i,f,l),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(i,f,l)),"function"==typeof s.componentDidUpdate&&(t.flags|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof s.componentDidUpdate||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=f),s.props=i,s.state=f,s.context=l,i=c):("function"!=typeof s.componentDidUpdate||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||a===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),i=!1)}return Ta(e,t,n,i,o,r)}function Ta(e,t,n,i,r,o){Aa(e,t);var s=!!(128&t.flags);if(!i&&!s)return r&&jr(t,n,!1),Wa(e,t,o);i=t.stateNode,va.current=t;var a=s&&"function"!=typeof n.getDerivedStateFromError?null:i.render();return t.flags|=1,null!==e&&s?(t.child=Yo(t,e.child,null,o),t.child=Yo(t,null,a,o)):xa(e,t,a,o),t.memoizedState=i.state,r&&jr(t,n,!0),t.child}function Pa(e){var t=e.stateNode;t.pendingContext?zr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&zr(0,t.context,!1),rs(e,t.containerInfo)}function Ra(e,t,n,i,r){return fo(),_o(r),t.flags|=256,xa(e,t,n,i),t.child}var Ia,La,za,Oa,Fa={dehydrated:null,treeContext:null,retryLane:0};function ja(e){return{baseLanes:e,cachePool:null,transitions:null}}function Da(e,t,n){var i,r=t.pendingProps,s=ls.current,a=!1,l=!!(128&t.flags);if((i=l)||(i=(null===e||null!==e.memoizedState)&&!!(2&s)),i?(a=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(s|=1),Ar(ls,1&s),null===e)return co(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=r.children,e=r.fallback,a?(r=t.mode,a=t.child,l={mode:"hidden",children:l},1&r||null===a?a=jc(l,r,0,null):(a.childLanes=0,a.pendingProps=l),e=Fc(e,r,n,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=ja(n),t.memoizedState=Fa,e):Na(t,l));if(null!==(s=e.memoizedState)&&null!==(i=s.dehydrated))return function(e,t,n,i,r,s,a){if(n)return 256&t.flags?(t.flags&=-257,qa(e,t,a,i=da(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(s=i.fallback,r=t.mode,i=jc({mode:"visible",children:i.children},r,0,null),(s=Fc(s,r,a,null)).flags|=2,i.return=t,s.return=t,i.sibling=s,t.child=i,1&t.mode&&Yo(t,e.child,null,a),t.child.memoizedState=ja(a),t.memoizedState=Fa,s);if(!(1&t.mode))return qa(e,t,a,null);if("$!"===r.data){if(i=r.nextSibling&&r.nextSibling.dataset)var l=i.dgst;return i=l,qa(e,t,a,i=da(s=Error(o(419)),i,void 0))}if(l=!!(a&e.childLanes),ba||l){if(null!==(i=Pl)){switch(a&-a){case 4:r=2;break;case 16:r=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}0!==(r=r&(i.suspendedLanes|a)?0:r)&&r!==s.retryLane&&(s.retryLane=r,Po(e,r),ic(i,e,r,-1))}return gc(),qa(e,t,a,i=da(Error(o(421))))}return"$?"===r.data?(t.flags|=128,t.child=e.child,t=Mc.bind(null,e),r._reactRetry=t,null):(e=s.treeContext,io=cr(r.nextSibling),no=t,ro=!0,oo=null,null!==e&&($r[Zr++]=Xr,$r[Zr++]=Yr,$r[Zr++]=Kr,Xr=e.id,Yr=e.overflow,Kr=t),(t=Na(t,i.children)).flags|=4096,t)}(e,t,l,r,i,s,n);if(a){a=r.fallback,l=t.mode,i=(s=e.child).sibling;var c={mode:"hidden",children:r.children};return 1&l||t.child===s?(r=zc(s,c)).subtreeFlags=14680064&s.subtreeFlags:((r=t.child).childLanes=0,r.pendingProps=c,t.deletions=null),null!==i?a=zc(i,a):(a=Fc(a,l,n,null)).flags|=2,a.return=t,r.return=t,r.sibling=a,t.child=r,r=a,a=t.child,l=null===(l=e.child.memoizedState)?ja(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},a.memoizedState=l,a.childLanes=e.childLanes&~n,t.memoizedState=Fa,r}return e=(a=e.child).sibling,r=zc(a,{mode:"visible",children:r.children}),!(1&t.mode)&&(r.lanes=n),r.return=t,r.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Na(e,t){return(t=jc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function qa(e,t,n,i){return null!==i&&_o(i),Yo(t,e.child,null,n),(e=Na(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Ba(e,t,n){e.lanes|=t;var i=e.alternate;null!==i&&(i.lanes|=t),Co(e.return,t,n)}function Ga(e,t,n,i,r){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=i,o.tail=n,o.tailMode=r)}function Va(e,t,n){var i=t.pendingProps,r=i.revealOrder,o=i.tail;if(xa(e,t,i.children,n),2&(i=ls.current))i=1&i|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Ba(e,n,t);else if(19===e.tag)Ba(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}i&=1}if(Ar(ls,i),1&t.mode)switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===cs(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Ga(t,!1,r,n,o);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===cs(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Ga(t,!0,n,null,o);break;case"together":Ga(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Ha(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Wa(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),jl|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=zc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=zc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Ua(e,t){if(!ro)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function $a(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=14680064&r.subtreeFlags,i|=14680064&r.flags,r.return=e,r=r.sibling;else for(r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function Za(e,t,n){var i=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $a(t),null;case 1:case 17:return Ir(t.type)&&Lr(),$a(t),null;case 3:return i=t.stateNode,os(),Sr(Tr),Sr(Mr),ds(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),null!==e&&null!==e.child||(ho(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==oo&&(ac(oo),oo=null))),La(e,t),$a(t),null;case 5:as(t);var r=is(ns.current);if(n=t.type,null!==e&&null!=t.stateNode)za(e,t,n,i,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(null===t.stateNode)throw Error(o(166));return $a(t),null}if(e=is(es.current),ho(t)){i=t.stateNode,n=t.type;var s=t.memoizedProps;switch(i[hr]=t,i[pr]=s,e=!!(1&t.mode),n){case"dialog":Ni("cancel",i),Ni("close",i);break;case"iframe":case"object":case"embed":Ni("load",i);break;case"video":case"audio":for(r=0;r<Oi.length;r++)Ni(Oi[r],i);break;case"source":Ni("error",i);break;case"img":case"image":case"link":Ni("error",i),Ni("load",i);break;case"details":Ni("toggle",i);break;case"input":X(i,s),Ni("invalid",i);break;case"select":i._wrapperState={wasMultiple:!!s.multiple},Ni("invalid",i);break;case"textarea":re(i,s),Ni("invalid",i)}for(var l in ye(n,s),r=null,s)if(s.hasOwnProperty(l)){var c=s[l];"children"===l?"string"==typeof c?i.textContent!==c&&(!0!==s.suppressHydrationWarning&&Qi(i.textContent,c,e),r=["children",c]):"number"==typeof c&&i.textContent!==""+c&&(!0!==s.suppressHydrationWarning&&Qi(i.textContent,c,e),r=["children",""+c]):a.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&Ni("scroll",i)}switch(n){case"input":U(i),J(i,s,!0);break;case"textarea":U(i),se(i);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(i.onclick=Ji)}i=r,t.updateQueue=i,null!==i&&(t.flags|=4)}else{l=9===r.nodeType?r:r.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=ae(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof i.is?e=l.createElement(n,{is:i.is}):(e=l.createElement(n),"select"===n&&(l=e,i.multiple?l.multiple=!0:i.size&&(l.size=i.size))):e=l.createElementNS(e,n),e[hr]=t,e[pr]=i,Ia(e,t,!1,!1),t.stateNode=e;e:{switch(l=ve(n,i),n){case"dialog":Ni("cancel",e),Ni("close",e),r=i;break;case"iframe":case"object":case"embed":Ni("load",e),r=i;break;case"video":case"audio":for(r=0;r<Oi.length;r++)Ni(Oi[r],e);r=i;break;case"source":Ni("error",e),r=i;break;case"img":case"image":case"link":Ni("error",e),Ni("load",e),r=i;break;case"details":Ni("toggle",e),r=i;break;case"input":X(e,i),r=K(e,i),Ni("invalid",e);break;case"option":default:r=i;break;case"select":e._wrapperState={wasMultiple:!!i.multiple},r=j({},i,{value:void 0}),Ni("invalid",e);break;case"textarea":re(e,i),r=ie(e,i),Ni("invalid",e)}for(s in ye(n,r),c=r)if(c.hasOwnProperty(s)){var u=c[s];"style"===s?ge(e,u):"dangerouslySetInnerHTML"===s?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===s?"string"==typeof u?("textarea"!==n||""!==u)&&he(e,u):"number"==typeof u&&he(e,""+u):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(a.hasOwnProperty(s)?null!=u&&"onScroll"===s&&Ni("scroll",e):null!=u&&v(e,s,u,l))}switch(n){case"input":U(e),J(e,i,!1);break;case"textarea":U(e),se(e);break;case"option":null!=i.value&&e.setAttribute("value",""+H(i.value));break;case"select":e.multiple=!!i.multiple,null!=(s=i.value)?ne(e,!!i.multiple,s,!1):null!=i.defaultValue&&ne(e,!!i.multiple,i.defaultValue,!0);break;default:"function"==typeof r.onClick&&(e.onclick=Ji)}switch(n){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}}i&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return $a(t),null;case 6:if(e&&null!=t.stateNode)Oa(e,t,e.memoizedProps,i);else{if("string"!=typeof i&&null===t.stateNode)throw Error(o(166));if(n=is(ns.current),is(es.current),ho(t)){if(i=t.stateNode,n=t.memoizedProps,i[hr]=t,(s=i.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Qi(i.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Qi(i.nodeValue,n,!!(1&e.mode))}s&&(t.flags|=4)}else(i=(9===n.nodeType?n:n.ownerDocument).createTextNode(i))[hr]=t,t.stateNode=i}return $a(t),null;case 13:if(Sr(ls),i=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ro&&null!==io&&1&t.mode&&!(128&t.flags))po(),fo(),t.flags|=98560,s=!1;else if(s=ho(t),null!==i&&null!==i.dehydrated){if(null===e){if(!s)throw Error(o(318));if(!(s=null!==(s=t.memoizedState)?s.dehydrated:null))throw Error(o(317));s[hr]=t}else fo(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;$a(t),s=!1}else null!==oo&&(ac(oo),oo=null),s=!0;if(!s)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((i=null!==i)!=(null!==e&&null!==e.memoizedState)&&i&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ls.current?0===Ol&&(Ol=3):gc())),null!==t.updateQueue&&(t.flags|=4),$a(t),null);case 4:return os(),La(e,t),null===e&&Gi(t.stateNode.containerInfo),$a(t),null;case 10:return ko(t.type._context),$a(t),null;case 19:if(Sr(ls),null===(s=t.memoizedState))return $a(t),null;if(i=!!(128&t.flags),null===(l=s.rendering))if(i)Ua(s,!1);else{if(0!==Ol||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(l=cs(e))){for(t.flags|=128,Ua(s,!1),null!==(i=l.updateQueue)&&(t.updateQueue=i,t.flags|=4),t.subtreeFlags=0,i=n,n=t.child;null!==n;)e=i,(s=n).flags&=14680066,null===(l=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=l.childLanes,s.lanes=l.lanes,s.child=l.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=l.memoizedProps,s.memoizedState=l.memoizedState,s.updateQueue=l.updateQueue,s.type=l.type,e=l.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ar(ls,1&ls.current|2),t.child}e=e.sibling}null!==s.tail&&Ye()>Vl&&(t.flags|=128,i=!0,Ua(s,!1),t.lanes=4194304)}else{if(!i)if(null!==(e=cs(l))){if(t.flags|=128,i=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Ua(s,!0),null===s.tail&&"hidden"===s.tailMode&&!l.alternate&&!ro)return $a(t),null}else 2*Ye()-s.renderingStartTime>Vl&&1073741824!==n&&(t.flags|=128,i=!0,Ua(s,!1),t.lanes=4194304);s.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=s.last)?n.sibling=l:t.child=l,s.last=l)}return null!==s.tail?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=Ye(),t.sibling=null,n=ls.current,Ar(ls,i?1&n|2:1&n),t):($a(t),null);case 22:case 23:return hc(),i=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==i&&(t.flags|=8192),i&&1&t.mode?!!(1073741824&Ll)&&($a(t),6&t.subtreeFlags&&(t.flags|=8192)):$a(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Ka(e,t){switch(to(t),t.tag){case 1:return Ir(t.type)&&Lr(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return os(),Sr(Tr),Sr(Mr),ds(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return as(t),null;case 13:if(Sr(ls),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));fo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Sr(ls),null;case 4:return os(),null;case 10:return ko(t.type._context),null;case 22:case 23:return hc(),null;default:return null}}Ia=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},La=function(){},za=function(e,t,n,i){var r=e.memoizedProps;if(r!==i){e=t.stateNode,is(es.current);var o,s=null;switch(n){case"input":r=K(e,r),i=K(e,i),s=[];break;case"select":r=j({},r,{value:void 0}),i=j({},i,{value:void 0}),s=[];break;case"textarea":r=ie(e,r),i=ie(e,i),s=[];break;default:"function"!=typeof r.onClick&&"function"==typeof i.onClick&&(e.onclick=Ji)}for(u in ye(n,i),n=null,r)if(!i.hasOwnProperty(u)&&r.hasOwnProperty(u)&&null!=r[u])if("style"===u){var l=r[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(a.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in i){var c=i[u];if(l=null!=r?r[u]:void 0,i.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(s||(s=[]),s.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(s=s||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(a.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&Ni("scroll",e),s||l===c||(s=[])):(s=s||[]).push(u,c))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}},Oa=function(e,t,n,i){n!==i&&(t.flags|=4)};var Xa=!1,Ya=!1,Qa="function"==typeof WeakSet?WeakSet:Set,Ja=null;function el(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){Sc(e,t,n)}else n.current=null}function tl(e,t,n){try{n()}catch(n){Sc(e,t,n)}}var nl=!1;function il(e,t,n){var i=t.updateQueue;if(null!==(i=null!==i?i.lastEffect:null)){var r=i=i.next;do{if((r.tag&e)===e){var o=r.destroy;r.destroy=void 0,void 0!==o&&tl(t,n,o)}r=r.next}while(r!==i)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var i=n.create;n.destroy=i()}n=n.next}while(n!==t)}}function ol(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function sl(e){var t=e.alternate;null!==t&&(e.alternate=null,sl(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[hr],delete t[pr],delete t[_r],delete t[gr],delete t[mr]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function al(e){return 5===e.tag||3===e.tag||4===e.tag}function ll(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||al(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cl(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Ji));else if(4!==i&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}function ul(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&null!==(e=e.child))for(ul(e,t,n),e=e.sibling;null!==e;)ul(e,t,n),e=e.sibling}var dl=null,hl=!1;function pl(e,t,n){for(n=n.child;null!==n;)fl(e,t,n),n=n.sibling}function fl(e,t,n){if(ot&&"function"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(rt,n)}catch(e){}switch(n.tag){case 5:Ya||el(n,t);case 6:var i=dl,r=hl;dl=null,pl(e,t,n),hl=r,null!==(dl=i)&&(hl?(e=dl,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):dl.removeChild(n.stateNode));break;case 18:null!==dl&&(hl?(e=dl,n=n.stateNode,8===e.nodeType?lr(e.parentNode,n):1===e.nodeType&&lr(e,n),Gt(e)):lr(dl,n.stateNode));break;case 4:i=dl,r=hl,dl=n.stateNode.containerInfo,hl=!0,pl(e,t,n),dl=i,hl=r;break;case 0:case 11:case 14:case 15:if(!Ya&&null!==(i=n.updateQueue)&&null!==(i=i.lastEffect)){r=i=i.next;do{var o=r,s=o.destroy;o=o.tag,void 0!==s&&(2&o||4&o)&&tl(n,t,s),r=r.next}while(r!==i)}pl(e,t,n);break;case 1:if(!Ya&&(el(n,t),"function"==typeof(i=n.stateNode).componentWillUnmount))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(e){Sc(n,t,e)}pl(e,t,n);break;case 21:pl(e,t,n);break;case 22:1&n.mode?(Ya=(i=Ya)||null!==n.memoizedState,pl(e,t,n),Ya=i):pl(e,t,n);break;default:pl(e,t,n)}}function _l(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Qa),t.forEach((function(t){var i=Tc.bind(null,e,t);n.has(t)||(n.add(t),t.then(i,i))}))}}function gl(e,t){var n=t.deletions;if(null!==n)for(var i=0;i<n.length;i++){var r=n[i];try{var s=e,a=t,l=a;e:for(;null!==l;){switch(l.tag){case 5:dl=l.stateNode,hl=!1;break e;case 3:case 4:dl=l.stateNode.containerInfo,hl=!0;break e}l=l.return}if(null===dl)throw Error(o(160));fl(s,a,r),dl=null,hl=!1;var c=r.alternate;null!==c&&(c.return=null),r.return=null}catch(e){Sc(r,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)ml(t,e),t=t.sibling}function ml(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(gl(t,e),yl(e),4&i){try{il(3,e,e.return),rl(3,e)}catch(t){Sc(e,e.return,t)}try{il(5,e,e.return)}catch(t){Sc(e,e.return,t)}}break;case 1:gl(t,e),yl(e),512&i&&null!==n&&el(n,n.return);break;case 5:if(gl(t,e),yl(e),512&i&&null!==n&&el(n,n.return),32&e.flags){var r=e.stateNode;try{he(r,"")}catch(t){Sc(e,e.return,t)}}if(4&i&&null!=(r=e.stateNode)){var s=e.memoizedProps,a=null!==n?n.memoizedProps:s,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===s.type&&null!=s.name&&Y(r,s),ve(l,a);var u=ve(l,s);for(a=0;a<c.length;a+=2){var d=c[a],h=c[a+1];"style"===d?ge(r,h):"dangerouslySetInnerHTML"===d?de(r,h):"children"===d?he(r,h):v(r,d,h,u)}switch(l){case"input":Q(r,s);break;case"textarea":oe(r,s);break;case"select":var p=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!s.multiple;var f=s.value;null!=f?ne(r,!!s.multiple,f,!1):p!==!!s.multiple&&(null!=s.defaultValue?ne(r,!!s.multiple,s.defaultValue,!0):ne(r,!!s.multiple,s.multiple?[]:"",!1))}r[pr]=s}catch(t){Sc(e,e.return,t)}}break;case 6:if(gl(t,e),yl(e),4&i){if(null===e.stateNode)throw Error(o(162));r=e.stateNode,s=e.memoizedProps;try{r.nodeValue=s}catch(t){Sc(e,e.return,t)}}break;case 3:if(gl(t,e),yl(e),4&i&&null!==n&&n.memoizedState.isDehydrated)try{Gt(t.containerInfo)}catch(t){Sc(e,e.return,t)}break;case 4:default:gl(t,e),yl(e);break;case 13:gl(t,e),yl(e),8192&(r=e.child).flags&&(s=null!==r.memoizedState,r.stateNode.isHidden=s,!s||null!==r.alternate&&null!==r.alternate.memoizedState||(Gl=Ye())),4&i&&_l(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ya=(u=Ya)||d,gl(t,e),Ya=u):gl(t,e),yl(e),8192&i){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Ja=e,d=e.child;null!==d;){for(h=Ja=d;null!==Ja;){switch(f=(p=Ja).child,p.tag){case 0:case 11:case 14:case 15:il(4,p,p.return);break;case 1:el(p,p.return);var _=p.stateNode;if("function"==typeof _.componentWillUnmount){i=p,n=p.return;try{t=i,_.props=t.memoizedProps,_.state=t.memoizedState,_.componentWillUnmount()}catch(e){Sc(i,n,e)}}break;case 5:el(p,p.return);break;case 22:if(null!==p.memoizedState){wl(h);continue}}null!==f?(f.return=p,Ja=f):wl(h)}d=d.sibling}e:for(d=null,h=e;;){if(5===h.tag){if(null===d){d=h;try{r=h.stateNode,u?"function"==typeof(s=r.style).setProperty?s.setProperty("display","none","important"):s.display="none":(l=h.stateNode,a=null!=(c=h.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=_e("display",a))}catch(t){Sc(e,e.return,t)}}}else if(6===h.tag){if(null===d)try{h.stateNode.nodeValue=u?"":h.memoizedProps}catch(t){Sc(e,e.return,t)}}else if((22!==h.tag&&23!==h.tag||null===h.memoizedState||h===e)&&null!==h.child){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;null===h.sibling;){if(null===h.return||h.return===e)break e;d===h&&(d=null),h=h.return}d===h&&(d=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:gl(t,e),yl(e),4&i&&_l(e);case 21:}}function yl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(al(n)){var i=n;break e}n=n.return}throw Error(o(160))}switch(i.tag){case 5:var r=i.stateNode;32&i.flags&&(he(r,""),i.flags&=-33),ul(e,ll(e),r);break;case 3:case 4:var s=i.stateNode.containerInfo;cl(e,ll(e),s);break;default:throw Error(o(161))}}catch(t){Sc(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vl(e,t,n){Ja=e,bl(e,t,n)}function bl(e,t,n){for(var i=!!(1&e.mode);null!==Ja;){var r=Ja,o=r.child;if(22===r.tag&&i){var s=null!==r.memoizedState||Xa;if(!s){var a=r.alternate,l=null!==a&&null!==a.memoizedState||Ya;a=Xa;var c=Ya;if(Xa=s,(Ya=l)&&!c)for(Ja=r;null!==Ja;)l=(s=Ja).child,22===s.tag&&null!==s.memoizedState?kl(r):null!==l?(l.return=s,Ja=l):kl(r);for(;null!==o;)Ja=o,bl(o,t,n),o=o.sibling;Ja=r,Xa=a,Ya=c}xl(e)}else 8772&r.subtreeFlags&&null!==o?(o.return=r,Ja=o):xl(e)}}function xl(e){for(;null!==Ja;){var t=Ja;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Ya||rl(5,t);break;case 1:var i=t.stateNode;if(4&t.flags&&!Ya)if(null===n)i.componentDidMount();else{var r=t.elementType===t.type?n.memoizedProps:mo(t.type,n.memoizedProps);i.componentDidUpdate(r,n.memoizedState,i.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;null!==s&&No(t,s,i);break;case 3:var a=t.updateQueue;if(null!==a){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}No(t,a,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var h=d.dehydrated;null!==h&&Gt(h)}}}break;default:throw Error(o(163))}Ya||512&t.flags&&ol(t)}catch(e){Sc(t,t.return,e)}}if(t===e){Ja=null;break}if(null!==(n=t.sibling)){n.return=t.return,Ja=n;break}Ja=t.return}}function wl(e){for(;null!==Ja;){var t=Ja;if(t===e){Ja=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Ja=n;break}Ja=t.return}}function kl(e){for(;null!==Ja;){var t=Ja;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(e){Sc(t,n,e)}break;case 1:var i=t.stateNode;if("function"==typeof i.componentDidMount){var r=t.return;try{i.componentDidMount()}catch(e){Sc(t,r,e)}}var o=t.return;try{ol(t)}catch(e){Sc(t,o,e)}break;case 5:var s=t.return;try{ol(t)}catch(e){Sc(t,s,e)}}}catch(e){Sc(t,t.return,e)}if(t===e){Ja=null;break}var a=t.sibling;if(null!==a){a.return=t.return,Ja=a;break}Ja=t.return}}var Cl,Sl=Math.ceil,Al=b.ReactCurrentDispatcher,El=b.ReactCurrentOwner,Ml=b.ReactCurrentBatchConfig,Tl=0,Pl=null,Rl=null,Il=0,Ll=0,zl=Cr(0),Ol=0,Fl=null,jl=0,Dl=0,Nl=0,ql=null,Bl=null,Gl=0,Vl=1/0,Hl=null,Wl=!1,Ul=null,$l=null,Zl=!1,Kl=null,Xl=0,Yl=0,Ql=null,Jl=-1,ec=0;function tc(){return 6&Tl?Ye():-1!==Jl?Jl:Jl=Ye()}function nc(e){return 1&e.mode?2&Tl&&0!==Il?Il&-Il:null!==go.transition?(0===ec&&(ec=_t()),ec):0!==(e=vt)?e:e=void 0===(e=window.event)?16:Xt(e.type):1}function ic(e,t,n,i){if(50<Yl)throw Yl=0,Ql=null,Error(o(185));mt(e,n,i),2&Tl&&e===Pl||(e===Pl&&(!(2&Tl)&&(Dl|=n),4===Ol&&lc(e,Il)),rc(e,i),1===n&&0===Tl&&!(1&t.mode)&&(Vl=Ye()+500,Nr&&Gr()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes;0<o;){var s=31-st(o),a=1<<s,l=r[s];-1===l?a&n&&!(a&i)||(r[s]=pt(a,t)):l<=t&&(e.expiredLanes|=a),o&=~a}}(e,t);var i=ht(e,e===Pl?Il:0);if(0===i)null!==n&&Ze(n),e.callbackNode=null,e.callbackPriority=0;else if(t=i&-i,e.callbackPriority!==t){if(null!=n&&Ze(n),1===t)0===e.tag?function(e){Nr=!0,Br(e)}(cc.bind(null,e)):Br(cc.bind(null,e)),sr((function(){!(6&Tl)&&Gr()})),n=null;else{switch(bt(i)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=it}n=Pc(n,oc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function oc(e,t){if(Jl=-1,ec=0,6&Tl)throw Error(o(327));var n=e.callbackNode;if(kc()&&e.callbackNode!==n)return null;var i=ht(e,e===Pl?Il:0);if(0===i)return null;if(30&i||i&e.expiredLanes||t)t=mc(e,i);else{t=i;var r=Tl;Tl|=2;var s=_c();for(Pl===e&&Il===t||(Hl=null,Vl=Ye()+500,pc(e,t));;)try{vc();break}catch(t){fc(e,t)}wo(),Al.current=s,Tl=r,null!==Rl?t=0:(Pl=null,Il=0,t=Ol)}if(0!==t){if(2===t&&0!==(r=ft(e))&&(i=r,t=sc(e,r)),1===t)throw n=Fl,pc(e,0),lc(e,i),rc(e,Ye()),n;if(6===t)lc(e,i);else{if(r=e.current.alternate,!(30&i||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var i=0;i<n.length;i++){var r=n[i],o=r.getSnapshot;r=r.value;try{if(!ai(o(),r))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(r)||(t=mc(e,i),2===t&&(s=ft(e),0!==s&&(i=s,t=sc(e,s))),1!==t)))throw n=Fl,pc(e,0),lc(e,i),rc(e,Ye()),n;switch(e.finishedWork=r,e.finishedLanes=i,t){case 0:case 1:throw Error(o(345));case 2:case 5:wc(e,Bl,Hl);break;case 3:if(lc(e,i),(130023424&i)===i&&10<(t=Gl+500-Ye())){if(0!==ht(e,0))break;if(((r=e.suspendedLanes)&i)!==i){tc(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=ir(wc.bind(null,e,Bl,Hl),t);break}wc(e,Bl,Hl);break;case 4:if(lc(e,i),(4194240&i)===i)break;for(t=e.eventTimes,r=-1;0<i;){var a=31-st(i);s=1<<a,(a=t[a])>r&&(r=a),i&=~s}if(i=r,10<(i=(120>(i=Ye()-i)?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Sl(i/1960))-i)){e.timeoutHandle=ir(wc.bind(null,e,Bl,Hl),i);break}wc(e,Bl,Hl);break;default:throw Error(o(329))}}}return rc(e,Ye()),e.callbackNode===n?oc.bind(null,e):null}function sc(e,t){var n=ql;return e.current.memoizedState.isDehydrated&&(pc(e,t).flags|=256),2!==(e=mc(e,t))&&(t=Bl,Bl=n,null!==t&&ac(t)),e}function ac(e){null===Bl?Bl=e:Bl.push.apply(Bl,e)}function lc(e,t){for(t&=~Nl,t&=~Dl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-st(t),i=1<<n;e[n]=-1,t&=~i}}function cc(e){if(6&Tl)throw Error(o(327));kc();var t=ht(e,0);if(!(1&t))return rc(e,Ye()),null;var n=mc(e,t);if(0!==e.tag&&2===n){var i=ft(e);0!==i&&(t=i,n=sc(e,i))}if(1===n)throw n=Fl,pc(e,0),lc(e,t),rc(e,Ye()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wc(e,Bl,Hl),rc(e,Ye()),null}function uc(e,t){var n=Tl;Tl|=1;try{return e(t)}finally{0===(Tl=n)&&(Vl=Ye()+500,Nr&&Gr())}}function dc(e){null!==Kl&&0===Kl.tag&&!(6&Tl)&&kc();var t=Tl;Tl|=1;var n=Ml.transition,i=vt;try{if(Ml.transition=null,vt=1,e)return e()}finally{vt=i,Ml.transition=n,!(6&(Tl=t))&&Gr()}}function hc(){Ll=zl.current,Sr(zl)}function pc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,rr(n)),null!==Rl)for(n=Rl.return;null!==n;){var i=n;switch(to(i),i.tag){case 1:null!=(i=i.type.childContextTypes)&&Lr();break;case 3:os(),Sr(Tr),Sr(Mr),ds();break;case 5:as(i);break;case 4:os();break;case 13:case 19:Sr(ls);break;case 10:ko(i.type._context);break;case 22:case 23:hc()}n=n.return}if(Pl=e,Rl=e=zc(e.current,null),Il=Ll=t,Ol=0,Fl=null,Nl=Dl=jl=0,Bl=ql=null,null!==Eo){for(t=0;t<Eo.length;t++)if(null!==(i=(n=Eo[t]).interleaved)){n.interleaved=null;var r=i.next,o=n.pending;if(null!==o){var s=o.next;o.next=r,i.next=s}n.pending=i}Eo=null}return e}function fc(e,t){for(;;){var n=Rl;try{if(wo(),hs.current=sa,ys){for(var i=_s.memoizedState;null!==i;){var r=i.queue;null!==r&&(r.pending=null),i=i.next}ys=!1}if(fs=0,ms=gs=_s=null,vs=!1,bs=0,El.current=null,null===n||null===n.return){Ol=1,Fl=t,Rl=null;break}e:{var s=e,a=n.return,l=n,c=t;if(t=Il,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=l,h=d.tag;if(!(1&d.mode||0!==h&&11!==h&&15!==h)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var f=ma(a);if(null!==f){f.flags&=-257,ya(f,a,l,0,t),1&f.mode&&ga(s,u,t),c=u;var _=(t=f).updateQueue;if(null===_){var g=new Set;g.add(c),t.updateQueue=g}else _.add(c);break e}if(!(1&t)){ga(s,u,t),gc();break e}c=Error(o(426))}else if(ro&&1&l.mode){var m=ma(a);if(null!==m){!(65536&m.flags)&&(m.flags|=256),ya(m,a,l,0,t),_o(ua(c,l));break e}}s=c=ua(c,l),4!==Ol&&(Ol=2),null===ql?ql=[s]:ql.push(s),s=a;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t,jo(s,fa(0,c,t));break e;case 1:l=c;var y=s.type,v=s.stateNode;if(!(128&s.flags||"function"!=typeof y.getDerivedStateFromError&&(null===v||"function"!=typeof v.componentDidCatch||null!==$l&&$l.has(v)))){s.flags|=65536,t&=-t,s.lanes|=t,jo(s,_a(s,l,t));break e}}s=s.return}while(null!==s)}xc(n)}catch(e){t=e,Rl===n&&null!==n&&(Rl=n=n.return);continue}break}}function _c(){var e=Al.current;return Al.current=sa,null===e?sa:e}function gc(){0!==Ol&&3!==Ol&&2!==Ol||(Ol=4),null===Pl||!(268435455&jl)&&!(268435455&Dl)||lc(Pl,Il)}function mc(e,t){var n=Tl;Tl|=2;var i=_c();for(Pl===e&&Il===t||(Hl=null,pc(e,t));;)try{yc();break}catch(t){fc(e,t)}if(wo(),Tl=n,Al.current=i,null!==Rl)throw Error(o(261));return Pl=null,Il=0,Ol}function yc(){for(;null!==Rl;)bc(Rl)}function vc(){for(;null!==Rl&&!Ke();)bc(Rl)}function bc(e){var t=Cl(e.alternate,e,Ll);e.memoizedProps=e.pendingProps,null===t?xc(e):Rl=t,El.current=null}function xc(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ka(n,t)))return n.flags&=32767,void(Rl=n);if(null===e)return Ol=6,void(Rl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Za(n,t,Ll)))return void(Rl=n);if(null!==(t=t.sibling))return void(Rl=t);Rl=t=e}while(null!==t);0===Ol&&(Ol=5)}function wc(e,t,n){var i=vt,r=Ml.transition;try{Ml.transition=null,vt=1,function(e,t,n,i){do{kc()}while(null!==Kl);if(6&Tl)throw Error(o(327));n=e.finishedWork;var r=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var s=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var i=e.eventTimes;for(e=e.expirationTimes;0<n;){var r=31-st(n),o=1<<r;t[r]=0,i[r]=-1,e[r]=-1,n&=~o}}(e,s),e===Pl&&(Rl=Pl=null,Il=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Zl||(Zl=!0,Pc(tt,(function(){return kc(),null}))),s=!!(15990&n.flags),15990&n.subtreeFlags||s){s=Ml.transition,Ml.transition=null;var a=vt;vt=1;var l=Tl;Tl|=4,El.current=null,function(e,t){if(er=Ht,pi(e=hi())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var i=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(i&&0!==i.rangeCount){n=i.anchorNode;var r=i.anchorOffset,s=i.focusNode;i=i.focusOffset;try{n.nodeType,s.nodeType}catch(e){n=null;break e}var a=0,l=-1,c=-1,u=0,d=0,h=e,p=null;t:for(;;){for(var f;h!==n||0!==r&&3!==h.nodeType||(l=a+r),h!==s||0!==i&&3!==h.nodeType||(c=a+i),3===h.nodeType&&(a+=h.nodeValue.length),null!==(f=h.firstChild);)p=h,h=f;for(;;){if(h===e)break t;if(p===n&&++u===r&&(l=a),p===s&&++d===i&&(c=a),null!==(f=h.nextSibling))break;p=(h=p).parentNode}h=f}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(tr={focusedElem:e,selectionRange:n},Ht=!1,Ja=t;null!==Ja;)if(e=(t=Ja).child,1028&t.subtreeFlags&&null!==e)e.return=t,Ja=e;else for(;null!==Ja;){t=Ja;try{var _=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==_){var g=_.memoizedProps,m=_.memoizedState,y=t.stateNode,v=y.getSnapshotBeforeUpdate(t.elementType===t.type?g:mo(t.type,g),m);y.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var b=t.stateNode.containerInfo;1===b.nodeType?b.textContent="":9===b.nodeType&&b.documentElement&&b.removeChild(b.documentElement);break;default:throw Error(o(163))}}catch(e){Sc(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,Ja=e;break}Ja=t.return}_=nl,nl=!1}(e,n),ml(n,e),fi(tr),Ht=!!er,tr=er=null,e.current=n,vl(n,e,r),Xe(),Tl=l,vt=a,Ml.transition=s}else e.current=n;if(Zl&&(Zl=!1,Kl=e,Xl=r),0===(s=e.pendingLanes)&&($l=null),function(e){if(ot&&"function"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(rt,e,void 0,!(128&~e.current.flags))}catch(e){}}(n.stateNode),rc(e,Ye()),null!==t)for(i=e.onRecoverableError,n=0;n<t.length;n++)i((r=t[n]).value,{componentStack:r.stack,digest:r.digest});if(Wl)throw Wl=!1,e=Ul,Ul=null,e;!!(1&Xl)&&0!==e.tag&&kc(),1&(s=e.pendingLanes)?e===Ql?Yl++:(Yl=0,Ql=e):Yl=0,Gr()}(e,t,n,i)}finally{Ml.transition=r,vt=i}return null}function kc(){if(null!==Kl){var e=bt(Xl),t=Ml.transition,n=vt;try{if(Ml.transition=null,vt=16>e?16:e,null===Kl)var i=!1;else{if(e=Kl,Kl=null,Xl=0,6&Tl)throw Error(o(331));var r=Tl;for(Tl|=4,Ja=e.current;null!==Ja;){var s=Ja,a=s.child;if(16&Ja.flags){var l=s.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Ja=u;null!==Ja;){var d=Ja;switch(d.tag){case 0:case 11:case 15:il(8,d,s)}var h=d.child;if(null!==h)h.return=d,Ja=h;else for(;null!==Ja;){var p=(d=Ja).sibling,f=d.return;if(sl(d),d===u){Ja=null;break}if(null!==p){p.return=f,Ja=p;break}Ja=f}}}var _=s.alternate;if(null!==_){var g=_.child;if(null!==g){_.child=null;do{var m=g.sibling;g.sibling=null,g=m}while(null!==g)}}Ja=s}}if(2064&s.subtreeFlags&&null!==a)a.return=s,Ja=a;else e:for(;null!==Ja;){if(2048&(s=Ja).flags)switch(s.tag){case 0:case 11:case 15:il(9,s,s.return)}var y=s.sibling;if(null!==y){y.return=s.return,Ja=y;break e}Ja=s.return}}var v=e.current;for(Ja=v;null!==Ja;){var b=(a=Ja).child;if(2064&a.subtreeFlags&&null!==b)b.return=a,Ja=b;else e:for(a=v;null!==Ja;){if(2048&(l=Ja).flags)try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(e){Sc(l,l.return,e)}if(l===a){Ja=null;break e}var x=l.sibling;if(null!==x){x.return=l.return,Ja=x;break e}Ja=l.return}}if(Tl=r,Gr(),ot&&"function"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(rt,e)}catch(e){}i=!0}return i}finally{vt=n,Ml.transition=t}}return!1}function Cc(e,t,n){e=Oo(e,t=fa(0,t=ua(n,t),1),1),t=tc(),null!==e&&(mt(e,1,t),rc(e,t))}function Sc(e,t,n){if(3===e.tag)Cc(e,e,n);else for(;null!==t;){if(3===t.tag){Cc(t,e,n);break}if(1===t.tag){var i=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===$l||!$l.has(i))){t=Oo(t,e=_a(t,e=ua(n,e),1),1),e=tc(),null!==t&&(mt(t,1,e),rc(t,e));break}}t=t.return}}function Ac(e,t,n){var i=e.pingCache;null!==i&&i.delete(t),t=tc(),e.pingedLanes|=e.suspendedLanes&n,Pl===e&&(Il&n)===n&&(4===Ol||3===Ol&&(130023424&Il)===Il&&500>Ye()-Gl?pc(e,0):Nl|=n),rc(e,t)}function Ec(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=tc();null!==(e=Po(e,t))&&(mt(e,t,n),rc(e,n))}function Mc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Ec(e,n)}function Tc(e,t){var n=0;switch(e.tag){case 13:var i=e.stateNode,r=e.memoizedState;null!==r&&(n=r.retryLane);break;case 19:i=e.stateNode;break;default:throw Error(o(314))}null!==i&&i.delete(t),Ec(e,n)}function Pc(e,t){return $e(e,t)}function Rc(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ic(e,t,n,i){return new Rc(e,t,n,i)}function Lc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function zc(e,t){var n=e.alternate;return null===n?((n=Ic(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Oc(e,t,n,i,r,s){var a=2;if(i=e,"function"==typeof e)Lc(e)&&(a=1);else if("string"==typeof e)a=5;else e:switch(e){case k:return Fc(n.children,r,s,t);case C:a=8,r|=8;break;case S:return(e=Ic(12,n,t,2|r)).elementType=S,e.lanes=s,e;case T:return(e=Ic(13,n,t,r)).elementType=T,e.lanes=s,e;case P:return(e=Ic(19,n,t,r)).elementType=P,e.lanes=s,e;case L:return jc(n,r,s,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case A:a=10;break e;case E:a=9;break e;case M:a=11;break e;case R:a=14;break e;case I:a=16,i=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Ic(a,n,t,r)).elementType=e,t.type=i,t.lanes=s,t}function Fc(e,t,n,i){return(e=Ic(7,e,i,t)).lanes=n,e}function jc(e,t,n,i){return(e=Ic(22,e,i,t)).elementType=L,e.lanes=n,e.stateNode={isHidden:!1},e}function Dc(e,t,n){return(e=Ic(6,e,null,t)).lanes=n,e}function Nc(e,t,n){return(t=Ic(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function qc(e,t,n,i,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=i,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Bc(e,t,n,i,r,o,s,a,l){return e=new qc(e,t,n,a,l),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Ic(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Io(o),e}function Gc(e){if(!e)return Er;e:{if(Ge(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ir(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Ir(n))return Or(e,n,t)}return t}function Vc(e,t,n,i,r,o,s,a,l){return(e=Bc(n,i,!0,e,0,o,0,a,l)).context=Gc(null),n=e.current,(o=zo(i=tc(),r=nc(n))).callback=null!=t?t:null,Oo(n,o,r),e.current.lanes=r,mt(e,r,i),rc(e,i),e}function Hc(e,t,n,i){var r=t.current,o=tc(),s=nc(r);return n=Gc(n),null===t.context?t.context=n:t.pendingContext=n,(t=zo(o,s)).payload={element:e},null!==(i=void 0===i?null:i)&&(t.callback=i),null!==(e=Oo(r,t,s))&&(ic(e,r,s,o),Fo(e,r,s)),s}function Wc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Uc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function $c(e,t){Uc(e,t),(e=e.alternate)&&Uc(e,t)}Cl=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Tr.current)ba=!0;else{if(!(e.lanes&n||128&t.flags))return ba=!1,function(e,t,n){switch(t.tag){case 3:Pa(t),fo();break;case 5:ss(t);break;case 1:Ir(t.type)&&Fr(t);break;case 4:rs(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,r=t.memoizedProps.value;Ar(yo,i._currentValue),i._currentValue=r;break;case 13:if(null!==(i=t.memoizedState))return null!==i.dehydrated?(Ar(ls,1&ls.current),t.flags|=128,null):n&t.child.childLanes?Da(e,t,n):(Ar(ls,1&ls.current),null!==(e=Wa(e,t,n))?e.sibling:null);Ar(ls,1&ls.current);break;case 19:if(i=!!(n&t.childLanes),128&e.flags){if(i)return Va(e,t,n);t.flags|=128}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),Ar(ls,ls.current),i)break;return null;case 22:case 23:return t.lanes=0,Sa(e,t,n)}return Wa(e,t,n)}(e,t,n);ba=!!(131072&e.flags)}else ba=!1,ro&&1048576&t.flags&&Jr(t,Ur,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;Ha(e,t),e=t.pendingProps;var r=Rr(t,Mr.current);So(t,n),r=Cs(null,t,i,e,r,n);var s=Ss();return t.flags|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ir(i)?(s=!0,Fr(t)):s=!1,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,Io(t),r.updater=Go,t.stateNode=r,r._reactInternals=t,Uo(t,i,e,n),t=Ta(null,t,i,!0,s,n)):(t.tag=0,ro&&s&&eo(t),xa(null,t,r,n),t=t.child),t;case 16:i=t.elementType;e:{switch(Ha(e,t),e=t.pendingProps,i=(r=i._init)(i._payload),t.type=i,r=t.tag=function(e){if("function"==typeof e)return Lc(e)?1:0;if(null!=e){if((e=e.$$typeof)===M)return 11;if(e===R)return 14}return 2}(i),e=mo(i,e),r){case 0:t=Ea(null,t,i,e,n);break e;case 1:t=Ma(null,t,i,e,n);break e;case 11:t=wa(null,t,i,e,n);break e;case 14:t=ka(null,t,i,mo(i.type,e),n);break e}throw Error(o(306,i,""))}return t;case 0:return i=t.type,r=t.pendingProps,Ea(e,t,i,r=t.elementType===i?r:mo(i,r),n);case 1:return i=t.type,r=t.pendingProps,Ma(e,t,i,r=t.elementType===i?r:mo(i,r),n);case 3:e:{if(Pa(t),null===e)throw Error(o(387));i=t.pendingProps,r=(s=t.memoizedState).element,Lo(e,t),Do(t,i,null,n);var a=t.memoizedState;if(i=a.element,s.isDehydrated){if(s={element:i,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=s,t.memoizedState=s,256&t.flags){t=Ra(e,t,i,n,r=ua(Error(o(423)),t));break e}if(i!==r){t=Ra(e,t,i,n,r=ua(Error(o(424)),t));break e}for(io=cr(t.stateNode.containerInfo.firstChild),no=t,ro=!0,oo=null,n=Qo(t,null,i,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(fo(),i===r){t=Wa(e,t,n);break e}xa(e,t,i,n)}t=t.child}return t;case 5:return ss(t),null===e&&co(t),i=t.type,r=t.pendingProps,s=null!==e?e.memoizedProps:null,a=r.children,nr(i,r)?a=null:null!==s&&nr(i,s)&&(t.flags|=32),Aa(e,t),xa(e,t,a,n),t.child;case 6:return null===e&&co(t),null;case 13:return Da(e,t,n);case 4:return rs(t,t.stateNode.containerInfo),i=t.pendingProps,null===e?t.child=Yo(t,null,i,n):xa(e,t,i,n),t.child;case 11:return i=t.type,r=t.pendingProps,wa(e,t,i,r=t.elementType===i?r:mo(i,r),n);case 7:return xa(e,t,t.pendingProps,n),t.child;case 8:case 12:return xa(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(i=t.type._context,r=t.pendingProps,s=t.memoizedProps,a=r.value,Ar(yo,i._currentValue),i._currentValue=a,null!==s)if(ai(s.value,a)){if(s.children===r.children&&!Tr.current){t=Wa(e,t,n);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var l=s.dependencies;if(null!==l){a=s.child;for(var c=l.firstContext;null!==c;){if(c.context===i){if(1===s.tag){(c=zo(-1,n&-n)).tag=2;var u=s.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),Co(s.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===s.tag)a=s.type===t.type?null:s.child;else if(18===s.tag){if(null===(a=s.return))throw Error(o(341));a.lanes|=n,null!==(l=a.alternate)&&(l.lanes|=n),Co(a,n,t),a=s.sibling}else a=s.child;if(null!==a)a.return=s;else for(a=s;null!==a;){if(a===t){a=null;break}if(null!==(s=a.sibling)){s.return=a.return,a=s;break}a=a.return}s=a}xa(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,i=t.pendingProps.children,So(t,n),i=i(r=Ao(r)),t.flags|=1,xa(e,t,i,n),t.child;case 14:return r=mo(i=t.type,t.pendingProps),ka(e,t,i,r=mo(i.type,r),n);case 15:return Ca(e,t,t.type,t.pendingProps,n);case 17:return i=t.type,r=t.pendingProps,r=t.elementType===i?r:mo(i,r),Ha(e,t),t.tag=1,Ir(i)?(e=!0,Fr(t)):e=!1,So(t,n),Ho(t,i,r),Uo(t,i,r,n),Ta(null,t,i,!0,e,n);case 19:return Va(e,t,n);case 22:return Sa(e,t,n)}throw Error(o(156,t.tag))};var Zc="function"==typeof reportError?reportError:function(e){console.error(e)};function Kc(e){this._internalRoot=e}function Xc(e){this._internalRoot=e}function Yc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function eu(e,t,n,i,r){var o=n._reactRootContainer;if(o){var s=o;if("function"==typeof r){var a=r;r=function(){var e=Wc(s);a.call(e)}}Hc(t,s,e,r)}else s=function(e,t,n,i,r){if(r){if("function"==typeof i){var o=i;i=function(){var e=Wc(s);o.call(e)}}var s=Vc(t,i,e,0,null,!1,0,"",Jc);return e._reactRootContainer=s,e[fr]=s.current,Gi(8===e.nodeType?e.parentNode:e),dc(),s}for(;r=e.lastChild;)e.removeChild(r);if("function"==typeof i){var a=i;i=function(){var e=Wc(l);a.call(e)}}var l=Bc(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=l,e[fr]=l.current,Gi(8===e.nodeType?e.parentNode:e),dc((function(){Hc(t,l,n,i)})),l}(n,t,e,r,i);return Wc(s)}Xc.prototype.render=Kc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));Hc(e,t,null,null)},Xc.prototype.unmount=Kc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;dc((function(){Hc(null,e,null,null)})),t[fr]=null}},Xc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ct();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Lt.length&&0!==t&&t<Lt[n].priority;n++);Lt.splice(n,0,e),0===n&&jt(e)}},xt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),rc(t,Ye()),!(6&Tl)&&(Vl=Ye()+500,Gr()))}break;case 13:dc((function(){var t=Po(e,1);if(null!==t){var n=tc();ic(t,e,1,n)}})),$c(e,1)}},wt=function(e){if(13===e.tag){var t=Po(e,134217728);null!==t&&ic(t,e,134217728,tc()),$c(e,134217728)}},kt=function(e){if(13===e.tag){var t=nc(e),n=Po(e,t);null!==n&&ic(n,e,t,tc()),$c(e,t)}},Ct=function(){return vt},St=function(e,t){var n=vt;try{return vt=e,t()}finally{vt=n}},we=function(e,t,n){switch(t){case"input":if(Q(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var r=xr(i);if(!r)throw Error(o(90));$(i),Q(i,r)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Me=uc,Te=dc;var tu={usingClientEntryPoint:!1,Events:[vr,br,xr,Ae,Ee,uc]},nu={findFiberByHostInstance:yr,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},iu={bundleType:nu.bundleType,version:nu.version,rendererPackageName:nu.rendererPackageName,rendererConfig:nu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:b.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=We(e))?null:e.stateNode},findFiberByHostInstance:nu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{rt=ru.inject(iu),ot=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yc(t))throw Error(o(200));return function(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:w,key:null==i?null:""+i,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Yc(e))throw Error(o(299));var n=!1,i="",r=Zc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(i=t.identifierPrefix),void 0!==t.onRecoverableError&&(r=t.onRecoverableError)),t=Bc(e,1,!1,null,0,n,0,i,r),e[fr]=t.current,Gi(8===e.nodeType?e.parentNode:e),new Kc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return null===(e=We(t))?null:e.stateNode},t.flushSync=function(e){return dc(e)},t.hydrate=function(e,t,n){if(!Qc(t))throw Error(o(200));return eu(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Yc(e))throw Error(o(405));var i=null!=n&&n.hydratedSources||null,r=!1,s="",a=Zc;if(null!=n&&(!0===n.unstable_strictMode&&(r=!0),void 0!==n.identifierPrefix&&(s=n.identifierPrefix),void 0!==n.onRecoverableError&&(a=n.onRecoverableError)),t=Vc(t,null,e,1,null!=n?n:null,r,0,s,a),e[fr]=t.current,Gi(e),i)for(e=0;e<i.length;e++)r=(r=(n=i[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,r]:t.mutableSourceEagerHydrationData.push(n,r);return new Xc(t)},t.render=function(e,t,n){if(!Qc(t))throw Error(o(200));return eu(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Qc(e))throw Error(o(40));return!!e._reactRootContainer&&(dc((function(){eu(null,null,e,!1,(function(){e._reactRootContainer=null,e[fr]=null}))})),!0)},t.unstable_batchedUpdates=uc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,i){if(!Qc(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return eu(e,t,n,!1,i)},t.version="18.2.0-next-9e3b772b8-20220608"},4140:(e,t,n)=>{"use strict";var i=n(2483);t.H=i.createRoot,i.hydrateRoot},2483:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(7045)},570:function(e,t,n){var i;i=e=>(()=>{var t={"./node_modules/css-mediaquery/index.js":(e,t)=>{"use strict";t.match=function(e,t){return a(e).some((function(e){var n=e.inverse,i="all"===e.type||t.type===e.type;if(i&&n||!i&&!n)return!1;var r=e.expressions.every((function(e){var n=e.feature,i=e.modifier,r=e.value,o=t[n];if(!o)return!1;switch(n){case"orientation":case"scan":return o.toLowerCase()===r.toLowerCase();case"width":case"height":case"device-width":case"device-height":r=u(r),o=u(o);break;case"resolution":r=c(r),o=c(o);break;case"aspect-ratio":case"device-aspect-ratio":case"device-pixel-ratio":r=l(r),o=l(o);break;case"grid":case"color":case"color-index":case"monochrome":r=parseInt(r,10)||1,o=parseInt(o,10)||0}switch(i){case"min":return o>=r;case"max":return o<=r;default:return o===r}}));return r&&!n||!r&&n}))},t.parse=a;var n=/(?:(only|not)?\s*([^\s\(\)]+)(?:\s*and)?\s*)?(.+)?/i,i=/\(\s*([^\s\:\)]+)\s*(?:\:\s*([^\s\)]+))?\s*\)/,r=/^(?:(min|max)-)?(.+)/,o=/(em|rem|px|cm|mm|in|pt|pc)?$/,s=/(dpi|dpcm|dppx)?$/;function a(e){return e.split(",").map((function(e){var t=(e=e.trim()).match(n),o=t[1],s=t[2],a=t[3]||"",l={};return l.inverse=!!o&&"not"===o.toLowerCase(),l.type=s?s.toLowerCase():"all",a=a.match(/\([^\)]+\)/g)||[],l.expressions=a.map((function(e){var t=e.match(i),n=t[1].toLowerCase().match(r);return{modifier:n[1],feature:n[2],value:t[2]}})),l}))}function l(e){var t,n=Number(e);return n||(n=(t=e.match(/^(\d+)\s*\/\s*(\d+)$/))[1]/t[2]),n}function c(e){var t=parseFloat(e);switch(String(e).match(s)[1]){case"dpcm":return t/2.54;case"dppx":return 96*t;default:return t}}function u(e){var t=parseFloat(e);switch(String(e).match(o)[1]){case"em":case"rem":return 16*t;case"cm":return 96*t/2.54;case"mm":return 96*t/2.54/10;case"in":return 96*t;case"pt":return 72*t;case"pc":return 72*t/12;default:return t}}},"./node_modules/hyphenate-style-name/index.js":(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var i=/[A-Z]/g,r=/^ms-/,o={};function s(e){return"-"+e.toLowerCase()}const a=function(e){if(o.hasOwnProperty(e))return o[e];var t=e.replace(i,s);return o[e]=r.test(t)?"-"+t:t}},"./node_modules/matchmediaquery/index.js":(e,t,n)=>{"use strict";var i=n("./node_modules/css-mediaquery/index.js").match,r="undefined"!=typeof window?window.matchMedia:null;function o(e,t,n){var o=this;if(r&&!n){var s=r.call(window,e);this.matches=s.matches,this.media=s.media,s.addListener(a)}else this.matches=i(e,t),this.media=e;function a(e){o.matches=e.matches,o.media=e.media}this.addListener=function(e){s&&s.addListener(e)},this.removeListener=function(e){s&&s.removeListener(e)},this.dispose=function(){s&&s.removeListener(a)}}e.exports=function(e,t,n){return new o(e,t,n)}},"./node_modules/object-assign/index.js":e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,r){for(var o,s,a=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var c in o=Object(arguments[l]))n.call(o,c)&&(a[c]=o[c]);if(t){s=t(o);for(var u=0;u<s.length;u++)i.call(o,s[u])&&(a[s[u]]=o[s[u]])}}return a}},"./node_modules/prop-types/checkPropTypes.js":(e,t,n)=>{"use strict";var i=function(){},r=n("./node_modules/prop-types/lib/ReactPropTypesSecret.js"),o={},s=n("./node_modules/prop-types/lib/has.js");function a(e,t,n,a,l){for(var c in e)if(s(e,c)){var u;try{if("function"!=typeof e[c]){var d=Error((a||"React class")+": "+n+" type `"+c+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[c]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw d.name="Invariant Violation",d}u=e[c](t,c,a,n,null,r)}catch(e){u=e}if(!u||u instanceof Error||i((a||"React class")+": type specification of "+n+" `"+c+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof u+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error&&!(u.message in o)){o[u.message]=!0;var h=l?l():"";i("Failed "+n+" type: "+u.message+(null!=h?h:""))}}}i=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}},a.resetWarningCache=function(){o={}},e.exports=a},"./node_modules/prop-types/factoryWithTypeCheckers.js":(e,t,n)=>{"use strict";var i,r=n("./node_modules/react-is/index.js"),o=n("./node_modules/object-assign/index.js"),s=n("./node_modules/prop-types/lib/ReactPropTypesSecret.js"),a=n("./node_modules/prop-types/lib/has.js"),l=n("./node_modules/prop-types/checkPropTypes.js");function c(){return null}i=function(e){var t="Warning: "+e;"undefined"!=typeof console&&console.error(t);try{throw new Error(t)}catch(e){}},e.exports=function(e,t){var n="function"==typeof Symbol&&Symbol.iterator,u="<<anonymous>>",d={array:f("array"),bigint:f("bigint"),bool:f("boolean"),func:f("function"),number:f("number"),object:f("object"),string:f("string"),symbol:f("symbol"),any:p(c),arrayOf:function(e){return p((function(t,n,i,r,o){if("function"!=typeof e)return new h("Property `"+o+"` of component `"+i+"` has invalid PropType notation inside arrayOf.");var a=t[n];if(!Array.isArray(a))return new h("Invalid "+r+" `"+o+"` of type `"+m(a)+"` supplied to `"+i+"`, expected an array.");for(var l=0;l<a.length;l++){var c=e(a,l,i,r,o+"["+l+"]",s);if(c instanceof Error)return c}return null}))},element:p((function(t,n,i,r,o){var s=t[n];return e(s)?null:new h("Invalid "+r+" `"+o+"` of type `"+m(s)+"` supplied to `"+i+"`, expected a single ReactElement.")})),elementType:p((function(e,t,n,i,o){var s=e[t];return r.isValidElementType(s)?null:new h("Invalid "+i+" `"+o+"` of type `"+m(s)+"` supplied to `"+n+"`, expected a single ReactElement type.")})),instanceOf:function(e){return p((function(t,n,i,r,o){if(!(t[n]instanceof e)){var s=e.name||u;return new h("Invalid "+r+" `"+o+"` of type `"+((a=t[n]).constructor&&a.constructor.name?a.constructor.name:u)+"` supplied to `"+i+"`, expected instance of `"+s+"`.")}var a;return null}))},node:p((function(e,t,n,i,r){return g(e[t])?null:new h("Invalid "+i+" `"+r+"` supplied to `"+n+"`, expected a ReactNode.")})),objectOf:function(e){return p((function(t,n,i,r,o){if("function"!=typeof e)return new h("Property `"+o+"` of component `"+i+"` has invalid PropType notation inside objectOf.");var l=t[n],c=m(l);if("object"!==c)return new h("Invalid "+r+" `"+o+"` of type `"+c+"` supplied to `"+i+"`, expected an object.");for(var u in l)if(a(l,u)){var d=e(l,u,i,r,o+"."+u,s);if(d instanceof Error)return d}return null}))},oneOf:function(e){return Array.isArray(e)?p((function(t,n,i,r,o){for(var s=t[n],a=0;a<e.length;a++)if(l=s,c=e[a],l===c?0!==l||1/l==1/c:l!=l&&c!=c)return null;var l,c,u=JSON.stringify(e,(function(e,t){return"symbol"===y(t)?String(t):t}));return new h("Invalid "+r+" `"+o+"` of value `"+String(s)+"` supplied to `"+i+"`, expected one of "+u+".")})):(i(arguments.length>1?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array."),c)},oneOfType:function(e){if(!Array.isArray(e))return i("Invalid argument supplied to oneOfType, expected an instance of array."),c;for(var t=0;t<e.length;t++){var n=e[t];if("function"!=typeof n)return i("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+v(n)+" at index "+t+"."),c}return p((function(t,n,i,r,o){for(var l=[],c=0;c<e.length;c++){var u=(0,e[c])(t,n,i,r,o,s);if(null==u)return null;u.data&&a(u.data,"expectedType")&&l.push(u.data.expectedType)}return new h("Invalid "+r+" `"+o+"` supplied to `"+i+"`"+(l.length>0?", expected one of type ["+l.join(", ")+"]":"")+".")}))},shape:function(e){return p((function(t,n,i,r,o){var a=t[n],l=m(a);if("object"!==l)return new h("Invalid "+r+" `"+o+"` of type `"+l+"` supplied to `"+i+"`, expected `object`.");for(var c in e){var u=e[c];if("function"!=typeof u)return _(i,r,o,c,y(u));var d=u(a,c,i,r,o+"."+c,s);if(d)return d}return null}))},exact:function(e){return p((function(t,n,i,r,l){var c=t[n],u=m(c);if("object"!==u)return new h("Invalid "+r+" `"+l+"` of type `"+u+"` supplied to `"+i+"`, expected `object`.");var d=o({},t[n],e);for(var p in d){var f=e[p];if(a(e,p)&&"function"!=typeof f)return _(i,r,l,p,y(f));if(!f)return new h("Invalid "+r+" `"+l+"` key `"+p+"` supplied to `"+i+"`.\nBad object: "+JSON.stringify(t[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var g=f(c,p,i,r,l+"."+p,s);if(g)return g}return null}))}};function h(e,t){this.message=e,this.data=t&&"object"==typeof t?t:{},this.stack=""}function p(e){var n={},r=0;function o(o,a,l,c,d,p,f){if(c=c||u,p=p||l,f!==s){if(t){var _=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw _.name="Invariant Violation",_}if("undefined"!=typeof console){var g=c+":"+l;!n[g]&&r<3&&(i("You are manually calling a React.PropTypes validation function for the `"+p+"` prop on `"+c+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),n[g]=!0,r++)}}return null==a[l]?o?null===a[l]?new h("The "+d+" `"+p+"` is marked as required in `"+c+"`, but its value is `null`."):new h("The "+d+" `"+p+"` is marked as required in `"+c+"`, but its value is `undefined`."):null:e(a,l,c,d,p)}var a=o.bind(null,!1);return a.isRequired=o.bind(null,!0),a}function f(e){return p((function(t,n,i,r,o,s){var a=t[n];return m(a)!==e?new h("Invalid "+r+" `"+o+"` of type `"+y(a)+"` supplied to `"+i+"`, expected `"+e+"`.",{expectedType:e}):null}))}function _(e,t,n,i,r){return new h((e||"React class")+": "+t+" type `"+n+"."+i+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+r+"`.")}function g(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(g);if(null===t||e(t))return!0;var i=function(e){var t=e&&(n&&e[n]||e["@@iterator"]);if("function"==typeof t)return t}(t);if(!i)return!1;var r,o=i.call(t);if(i!==t.entries){for(;!(r=o.next()).done;)if(!g(r.value))return!1}else for(;!(r=o.next()).done;){var s=r.value;if(s&&!g(s[1]))return!1}return!0;default:return!1}}function m(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||!!t&&("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}(t,e)?"symbol":t}function y(e){if(null==e)return""+e;var t=m(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function v(e){var t=y(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return h.prototype=Error.prototype,d.checkPropTypes=l,d.resetWarningCache=l.resetWarningCache,d.PropTypes=d,d}},"./node_modules/prop-types/index.js":(e,t,n)=>{var i=n("./node_modules/react-is/index.js");e.exports=n("./node_modules/prop-types/factoryWithTypeCheckers.js")(i.isElement,!0)},"./node_modules/prop-types/lib/ReactPropTypesSecret.js":e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},"./node_modules/prop-types/lib/has.js":e=>{e.exports=Function.call.bind(Object.prototype.hasOwnProperty)},"./node_modules/react-is/cjs/react-is.development.js":(e,t)=>{"use strict";!function(){var e="function"==typeof Symbol&&Symbol.for,n=e?Symbol.for("react.element"):60103,i=e?Symbol.for("react.portal"):60106,r=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,s=e?Symbol.for("react.profiler"):60114,a=e?Symbol.for("react.provider"):60109,l=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,u=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,h=e?Symbol.for("react.suspense"):60113,p=e?Symbol.for("react.suspense_list"):60120,f=e?Symbol.for("react.memo"):60115,_=e?Symbol.for("react.lazy"):60116,g=e?Symbol.for("react.block"):60121,m=e?Symbol.for("react.fundamental"):60117,y=e?Symbol.for("react.responder"):60118,v=e?Symbol.for("react.scope"):60119;function b(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:var p=e.type;switch(p){case c:case u:case r:case s:case o:case h:return p;default:var g=p&&p.$$typeof;switch(g){case l:case d:case _:case f:case a:return g;default:return t}}case i:return t}}}var x=c,w=u,k=l,C=a,S=n,A=d,E=r,M=_,T=f,P=i,R=s,I=o,L=h,z=!1;function O(e){return b(e)===u}t.AsyncMode=x,t.ConcurrentMode=w,t.ContextConsumer=k,t.ContextProvider=C,t.Element=S,t.ForwardRef=A,t.Fragment=E,t.Lazy=M,t.Memo=T,t.Portal=P,t.Profiler=R,t.StrictMode=I,t.Suspense=L,t.isAsyncMode=function(e){return z||(z=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),O(e)||b(e)===c},t.isConcurrentMode=O,t.isContextConsumer=function(e){return b(e)===l},t.isContextProvider=function(e){return b(e)===a},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return b(e)===d},t.isFragment=function(e){return b(e)===r},t.isLazy=function(e){return b(e)===_},t.isMemo=function(e){return b(e)===f},t.isPortal=function(e){return b(e)===i},t.isProfiler=function(e){return b(e)===s},t.isStrictMode=function(e){return b(e)===o},t.isSuspense=function(e){return b(e)===h},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===u||e===s||e===o||e===h||e===p||"object"==typeof e&&null!==e&&(e.$$typeof===_||e.$$typeof===f||e.$$typeof===a||e.$$typeof===l||e.$$typeof===d||e.$$typeof===m||e.$$typeof===y||e.$$typeof===v||e.$$typeof===g)},t.typeOf=b}()},"./node_modules/react-is/index.js":(e,t,n)=>{"use strict";e.exports=n("./node_modules/react-is/cjs/react-is.development.js")},"./node_modules/shallow-equal/dist/index.esm.js":(e,t,n)=>{"use strict";function i(e,t){if(e===t)return!0;if(!e||!t)return!1;var n=Object.keys(e),i=Object.keys(t),r=n.length;if(i.length!==r)return!1;for(var o=0;o<r;o++){var s=n[o];if(e[s]!==t[s]||!Object.prototype.hasOwnProperty.call(t,s))return!1}return!0}function r(e,t){if(e===t)return!0;if(!e||!t)return!1;var n=e.length;if(t.length!==n)return!1;for(var i=0;i<n;i++)if(e[i]!==t[i])return!1;return!0}n.r(t),n.d(t,{shallowEqualArrays:()=>r,shallowEqualObjects:()=>i})},"./src/Component.ts":function(e,t,n){"use strict";var i=this&&this.__rest||function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n("./src/useMediaQuery.ts"));t.default=function(e){var t=e.children,n=e.device,r=e.onChange,s=i(e,["children","device","onChange"]),a=(0,o.default)(s,n,r);return"function"==typeof t?t(a):a?t:null}},"./src/Context.ts":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=(0,n("react").createContext)(void 0);t.default=i},"./src/index.ts":function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Context=t.toQuery=t.useMediaQuery=t.default=void 0;var r=i(n("./src/useMediaQuery.ts"));t.useMediaQuery=r.default;var o=i(n("./src/Component.ts"));t.default=o.default;var s=i(n("./src/toQuery.ts"));t.toQuery=s.default;var a=i(n("./src/Context.ts"));t.Context=a.default},"./src/mediaQuery.ts":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},i.apply(this,arguments)},r=this&&this.__rest||function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r<i.length;r++)t.indexOf(i[r])<0&&Object.prototype.propertyIsEnumerable.call(e,i[r])&&(n[i[r]]=e[i[r]])}return n},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var s=o(n("./node_modules/prop-types/index.js")),a=s.default.oneOfType([s.default.string,s.default.number]),l={all:s.default.bool,grid:s.default.bool,aural:s.default.bool,braille:s.default.bool,handheld:s.default.bool,print:s.default.bool,projection:s.default.bool,screen:s.default.bool,tty:s.default.bool,tv:s.default.bool,embossed:s.default.bool},c={orientation:s.default.oneOf(["portrait","landscape"]),scan:s.default.oneOf(["progressive","interlace"]),aspectRatio:s.default.string,deviceAspectRatio:s.default.string,height:a,deviceHeight:a,width:a,deviceWidth:a,color:s.default.bool,colorIndex:s.default.bool,monochrome:s.default.bool,resolution:a,type:Object.keys(l)},u=r(c,["type"]),d=i({minAspectRatio:s.default.string,maxAspectRatio:s.default.string,minDeviceAspectRatio:s.default.string,maxDeviceAspectRatio:s.default.string,minHeight:a,maxHeight:a,minDeviceHeight:a,maxDeviceHeight:a,minWidth:a,maxWidth:a,minDeviceWidth:a,maxDeviceWidth:a,minColor:s.default.number,maxColor:s.default.number,minColorIndex:s.default.number,maxColorIndex:s.default.number,minMonochrome:s.default.number,maxMonochrome:s.default.number,minResolution:a,maxResolution:a},u),h=i(i({},l),d);t.default={all:h,types:l,matchers:c,features:d}},"./src/toQuery.ts":function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=i(n("./node_modules/hyphenate-style-name/index.js")),o=i(n("./src/mediaQuery.ts"));t.default=function(e){var t=[];return Object.keys(o.default.all).forEach((function(n){var i=e[n];null!=i&&t.push(function(e,t){var n=(0,r.default)(e);return"number"==typeof t&&(t="".concat(t,"px")),!0===t?n:!1===t?"not ".concat(n):"(".concat(n,": ").concat(t,")")}(n,i))})),t.join(" and ")}},"./src/useMediaQuery.ts":function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var r=n("react"),o=i(n("./node_modules/matchmediaquery/index.js")),s=i(n("./node_modules/hyphenate-style-name/index.js")),a=n("./node_modules/shallow-equal/dist/index.esm.js"),l=i(n("./src/toQuery.ts")),c=i(n("./src/Context.ts")),u=function(e){if(e)return Object.keys(e).reduce((function(t,n){return t[(0,s.default)(n)]=e[n],t}),{})},d=function(){var e=(0,r.useRef)(!1);return(0,r.useEffect)((function(){e.current=!0}),[]),e.current};t.default=function(e,t,n){var i=function(e){var t=(0,r.useContext)(c.default),n=function(){return u(e)||u(t)},i=(0,r.useState)(n),o=i[0],s=i[1];return(0,r.useEffect)((function(){var e=n();(0,a.shallowEqualObjects)(o,e)||s(e)}),[e,t]),o}(t),s=function(e){var t=function(){return function(e){return e.query||(0,l.default)(e)}(e)},n=(0,r.useState)(t),i=n[0],o=n[1];return(0,r.useEffect)((function(){var e=t();i!==e&&o(e)}),[e]),i}(e);if(!s)throw new Error("Invalid or missing MediaQuery!");var h=function(e,t){var n=function(){return(0,o.default)(e,t||{},!!t)},i=(0,r.useState)(n),s=i[0],a=i[1],l=d();return(0,r.useEffect)((function(){if(l){var e=n();return a(e),function(){e&&e.dispose()}}}),[e,t]),s}(s,i),p=function(e){var t=(0,r.useState)(e.matches),n=t[0],i=t[1];return(0,r.useEffect)((function(){var t=function(e){i(e.matches)};return e.addListener(t),i(e.matches),function(){e.removeListener(t)}}),[e]),n}(h),f=d();return(0,r.useEffect)((function(){f&&n&&n(p)}),[p]),(0,r.useEffect)((function(){return function(){h&&h.dispose()}}),[]),p}},react:t=>{"use strict";t.exports=e}},n={};function i(e){var r=n[e];if(void 0!==r)return r.exports;var o=n[e]={exports:{}};return t[e].call(o.exports,o,o.exports,i),o.exports}return i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i("./src/index.ts")})(),e.exports=i(n(7810))},3394:(e,t,n)=>{"use strict";var i=n(7810),r=Symbol.for("react.element"),o=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,a=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var i,o={},c=null,u=null;for(i in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)s.call(t,i)&&!l.hasOwnProperty(i)&&(o[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps)void 0===o[i]&&(o[i]=t[i]);return{$$typeof:r,type:e,key:c,ref:u,props:o,_owner:a.current}}t.Fragment=o,t.jsx=c,t.jsxs=c},5677:(e,t)=>{"use strict";var n=Symbol.for("react.element"),i=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.iterator,f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,g={};function m(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||f}function y(){}function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||f}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=m.prototype;var b=v.prototype=new y;b.constructor=v,_(b,m.prototype),b.isPureReactComponent=!0;var x=Array.isArray,w=Object.prototype.hasOwnProperty,k={current:null},C={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,i){var r,o={},s=null,a=null;if(null!=t)for(r in void 0!==t.ref&&(a=t.ref),void 0!==t.key&&(s=""+t.key),t)w.call(t,r)&&!C.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(1===l)o.children=i;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];o.children=c}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===o[r]&&(o[r]=l[r]);return{$$typeof:n,type:e,key:s,ref:a,props:o,_owner:k.current}}function A(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var E=/\/+/g;function M(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function T(e,t,r,o,s){var a=typeof e;"undefined"!==a&&"boolean"!==a||(e=null);var l=!1;if(null===e)l=!0;else switch(a){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case i:l=!0}}if(l)return s=s(l=e),e=""===o?"."+M(l,0):o,x(s)?(r="",null!=e&&(r=e.replace(E,"$&/")+"/"),T(s,t,r,"",(function(e){return e}))):null!=s&&(A(s)&&(s=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,r+(!s.key||l&&l.key===s.key?"":(""+s.key).replace(E,"$&/")+"/")+e)),t.push(s)),1;if(l=0,o=""===o?".":o+":",x(e))for(var c=0;c<e.length;c++){var u=o+M(a=e[c],c);l+=T(a,t,r,u,s)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(a=e.next()).done;)l+=T(a=a.value,t,r,u=o+M(a,c++),s);else if("object"===a)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function P(e,t,n){if(null==e)return e;var i=[],r=0;return T(e,i,"","",(function(e){return t.call(n,e,r++)})),i}function R(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I={current:null},L={transition:null},z={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:L,ReactCurrentOwner:k};t.Children={map:P,forEach:function(e,t,n){P(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return P(e,(function(){t++})),t},toArray:function(e){return P(e,(function(e){return e}))||[]},only:function(e){if(!A(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=m,t.Fragment=r,t.Profiler=s,t.PureComponent=v,t.StrictMode=o,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=z,t.cloneElement=function(e,t,i){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=_({},e.props),o=e.key,s=e.ref,a=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,a=k.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)w.call(t,c)&&!C.hasOwnProperty(c)&&(r[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)r.children=i;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];r.children=l}return{$$typeof:n,type:e.type,key:o,ref:s,props:r,_owner:a}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:a,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=A,t.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:R}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=L.transition;L.transition={};try{e()}finally{L.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return I.current.useCallback(e,t)},t.useContext=function(e){return I.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return I.current.useDeferredValue(e)},t.useEffect=function(e,t){return I.current.useEffect(e,t)},t.useId=function(){return I.current.useId()},t.useImperativeHandle=function(e,t,n){return I.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return I.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return I.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return I.current.useMemo(e,t)},t.useReducer=function(e,t,n){return I.current.useReducer(e,t,n)},t.useRef=function(e){return I.current.useRef(e)},t.useState=function(e){return I.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return I.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return I.current.useTransition()},t.version="18.2.0"},7810:(e,t,n)=>{"use strict";e.exports=n(5677)},4922:(e,t,n)=>{"use strict";e.exports=n(3394)},1613:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var i=n-1>>>1,r=e[i];if(!(0<o(r,t)))break e;e[i]=t,e[n]=r,n=i}}function i(e){return 0===e.length?null:e[0]}function r(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,r=e.length,s=r>>>1;i<s;){var a=2*(i+1)-1,l=e[a],c=a+1,u=e[c];if(0>o(l,n))c<r&&0>o(u,l)?(e[i]=u,e[c]=n,i=c):(e[i]=l,e[a]=n,i=a);else{if(!(c<r&&0>o(u,n)))break e;e[i]=u,e[c]=n,i=c}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var a=Date,l=a.now();t.unstable_now=function(){return a.now()-l}}var c=[],u=[],d=1,h=null,p=3,f=!1,_=!1,g=!1,m="function"==typeof setTimeout?setTimeout:null,y="function"==typeof clearTimeout?clearTimeout:null,v="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var t=i(u);null!==t;){if(null===t.callback)r(u);else{if(!(t.startTime<=e))break;r(u),t.sortIndex=t.expirationTime,n(c,t)}t=i(u)}}function x(e){if(g=!1,b(e),!_)if(null!==i(c))_=!0,L(w);else{var t=i(u);null!==t&&z(x,t.startTime-e)}}function w(e,n){_=!1,g&&(g=!1,y(A),A=-1),f=!0;var o=p;try{for(b(n),h=i(c);null!==h&&(!(h.expirationTime>n)||e&&!T());){var s=h.callback;if("function"==typeof s){h.callback=null,p=h.priorityLevel;var a=s(h.expirationTime<=n);n=t.unstable_now(),"function"==typeof a?h.callback=a:h===i(c)&&r(c),b(n)}else r(c);h=i(c)}if(null!==h)var l=!0;else{var d=i(u);null!==d&&z(x,d.startTime-n),l=!1}return l}finally{h=null,p=o,f=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var k,C=!1,S=null,A=-1,E=5,M=-1;function T(){return!(t.unstable_now()-M<E)}function P(){if(null!==S){var e=t.unstable_now();M=e;var n=!0;try{n=S(!0,e)}finally{n?k():(C=!1,S=null)}}else C=!1}if("function"==typeof v)k=function(){v(P)};else if("undefined"!=typeof MessageChannel){var R=new MessageChannel,I=R.port2;R.port1.onmessage=P,k=function(){I.postMessage(null)}}else k=function(){m(P,0)};function L(e){S=e,C||(C=!0,k())}function z(e,n){A=m((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){_||f||(_=!0,L(w))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):E=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return i(c)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,r,o){var s=t.unstable_now();switch(o="object"==typeof o&&null!==o&&"number"==typeof(o=o.delay)&&0<o?s+o:s,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=1073741823;break;case 4:a=1e4;break;default:a=5e3}return e={id:d++,callback:r,priorityLevel:e,startTime:o,expirationTime:a=o+a,sortIndex:-1},o>s?(e.sortIndex=o,n(u,e),null===i(c)&&e===i(u)&&(g?(y(A),A=-1):g=!0,z(x,o-s))):(e.sortIndex=a,n(c,e),_||f||(_=!0,L(w))),e},t.unstable_shouldYield=T,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},2328:(e,t,n)=>{"use strict";e.exports=n(1613)},6186:e=>{"use strict";var t=[];function n(e){for(var n=-1,i=0;i<t.length;i++)if(t[i].identifier===e){n=i;break}return n}function i(e,i){for(var o={},s=[],a=0;a<e.length;a++){var l=e[a],c=i.base?l[0]+i.base:l[0],u=o[c]||0,d="".concat(c," ").concat(u);o[c]=u+1;var h=n(d),p={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==h)t[h].references++,t[h].updater(p);else{var f=r(p,i);i.byIndex=a,t.splice(a,0,{identifier:d,updater:f,references:1})}s.push(d)}return s}function r(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,r){var o=i(e=e||[],r=r||{});return function(e){e=e||[];for(var s=0;s<o.length;s++){var a=n(o[s]);t[a].references--}for(var l=i(e,r),c=0;c<o.length;c++){var u=n(o[c]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}o=l}}},7433:e=>{"use strict";var t={};e.exports=function(e,n){var i=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(n)}},8990:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},8626:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},2155:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var i="";n.supports&&(i+="@supports (".concat(n.supports,") {")),n.media&&(i+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(i+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),i+=n.css,r&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},9827:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},4912:e=>{"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg=="},1954:e=>{"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII="},5139:e=>{"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC"},3604:e=>{"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII="},5980:e=>{"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII="},9678:(e,t,n)=>{"use strict";e.exports=n.p+"eae34fa8f1e0c4c6d797.ttf"},8264:(e,t,n)=>{"use strict";e.exports=n.p+"ceb05254cedfa895b512.ttf"},3414:(e,t,n)=>{"use strict";e.exports=n.p+"fc2b5060f7accec5cf74.ttf"},4115:(e,t,n)=>{"use strict";e.exports=n.p+"fc3d2f2e3a203d0037c1.ttf"},5447:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xOTIwIDE1MzZ2MTI4aC0yMDQ4di0xNTM2aDEyOHYxNDA4aDE5MjB6bS0zODQtMTAyNGwyNTYgODk2aC0xNjY0di01NzZsNDQ4LTU3NiA1NzYgNTc2eiIvPjwvc3ZnPg=="},8031:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTc5MiIgaGVpZ2h0PSIxNzkyIiB2aWV3Qm94PSIwIDAgMTc5MiAxNzkyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNDkwIDEzMjJxMCA0MC0yOCA2OGwtMTM2IDEzNnEtMjggMjgtNjggMjh0LTY4LTI4bC0yOTQtMjk0LTI5NCAyOTRxLTI4IDI4LTY4IDI4dC02OC0yOGwtMTM2LTEzNnEtMjgtMjgtMjgtNjh0MjgtNjhsMjk0LTI5NC0yOTQtMjk0cS0yOC0yOC0yOC02OHQyOC02OGwxMzYtMTM2cTI4LTI4IDY4LTI4dDY4IDI4bDI5NCAyOTQgMjk0LTI5NHEyOC0yOCA2OC0yOHQ2OCAyOGwxMzYgMTM2cTI4IDI4IDI4IDY4dC0yOCA2OGwtMjk0IDI5NCAyOTQgMjk0cTI4IDI4IDI4IDY4eiIvPjwvc3ZnPg=="}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={id:i,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}n.m=e,n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var i=t.getElementsByTagName("script");if(i.length)for(var r=i.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=i[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),n.b=document.baseURI||self.location.href,n.nc=void 0,(()=>{"use strict";var e=n(4922),t=n(4140);const i=JSON.parse('{"en_US":{"total_ascend":"%1$s total ascent","total_descend":"%1$s total descent","way_contains_ford":"Route includes fords","way_contains_ferry":"Route includes ferries","way_contains_private":"Route with private roads","way_contains_toll":"Route has tolls","way_crosses_border":"Route crosses a country border","way_contains":"Route includes %1$s","way_contains_restrictions":"Route with potential access restrictions","tracks":"unpaved dirt roads","steps":"steps","footways":"footways","steep_sections":"steep sections","private_sections":"private sections","challenging_sections":"challenging or dangerous sections","trunk_roads_warn":"Route includes potentially dangerous trunk roads or worse","get_off_bike_for":"Get off the bike and push for %1$s","start_label":"Start","intermediate_label":"Intermediate","end_label":"End","set_start":"From here","set_intermediate":"Via location","set_end":"To here","center_map":"Center map","show_coords":"Show coordinates","query_osm":"Query OSM","route":"Route","add_to_route":"Add location","delete_from_route":"Delete from Route","open_custom_model_box":"Open custom model box","draw_areas_enabled":"Draw and modify areas on map","help_custom_model":"Help","apply_custom_model":"Apply","custom_model_enabled":"Custom Model Active","settings":"Settings","settings_close":"Close","exclude_motorway_example":"Exclude Motorway","exclude_disneyland_paris_example":"Exclude Disneyland Paris","simple_electric_car_example":"Simple Electric Car","avoid_tunnels_bridges_example":"Avoid Bridges & Tunnels","limit_speed_example":"Limit Speed","cargo_bike_example":"Cargo Bike","prefer_bike_network":"Prefer Cycle Routes","exclude_area_example":"Exclude Area","combined_example":"Combined Example","examples_custom_model":"Examples","marker":"Marker","gh_offline_info":"GraphHopper API offline?","refresh_button":"Refresh page","server_status":"Status","zoom_in":"Zoom in","zoom_out":"Zoom out","zoom_to_route":"Zoom to route","drag_to_reorder":"Drag to reorder","route_timed_out":"Route calculation timed out","route_request_failed":"Route request failed","current_location":"Current Location","searching_location":"Searching location","searching_location_failed":"Searching location failed","via_hint":"Via","from_hint":"From","gpx_export_button":"GPX Export","gpx_button":"GPX","settings_gpx_export":"GPX export","settings_gpx_export_trk":"With track","settings_gpx_export_rte":"With route","settings_gpx_export_wpt":"With waypoint","hide_button":"Hide","details_button":"Details","to_hint":"To","route_info":"%1$s will take %2$s","search_button":"Search","more_button":"more","pt_route_info":"arrives at %1$s with %2$s transfers (%3$s)","pt_route_info_walking":"arrives at %1$s with just walking (%2$s)","locations_not_found":"Routing not possible. Location(s) not found in the area.","search_with_nominatim":"Search with Nominatim","powered_by":"Powered by","info":"Info","feedback":"Feedback","imprint":"Imprint","privacy":"Privacy","terms":"Terms","bike":"Bike","racingbike":"Racing Bike","mtb":"MTB","car":"Car","foot":"Foot","hike":"Hike","small_truck":"Small Truck","bus":"Bus","truck":"Truck","staticlink":"static link","motorcycle":"Motorcycle","scooter":"Scooter","back_to_map":"Back","distance_unit":"Distances are in %1$s","waiting_for_gps":"Waiting for the GPS signal...","elevation":"Elevation","slope":"Slope","towerslope":"Towerslope","country":"Country","surface":"Surface","road_environment":"Road environment","road_access":"Road access","road_class":"Road class","max_speed":"Max. speed","average_speed":"Avg. speed","track_type":"Track type","toll":"Toll","next":"Next","back":"Back","as_start":"As start","as_destination":"As destination","poi_removal_words":"area, around, here, in, local, nearby, this","poi_nearby":"%1$s nearby","poi_in":"%1$s in %2$s","poi_airports":"airports, airport","poi_atm":"atm, money","poi_banks":"banks, bank","poi_bureau_de_change":"bureau de change, money changer, money change, currency exchange","poi_bus_stops":"bus stops, bus stop, bus","poi_bicycle":"bicycle shop, bike repair, bike shop","poi_bicycle_rental":"bicycle rental, bike rental","poi_cafe":"café, cafe, cafe shop, coffeehouse, bistro","poi_car_rental":"car rental, car sharing, car share, rental car, vehicle hire","poi_car_repair":"car repair, auto repair, car service, vehicle maintenance","poi_charging_station":"charging stations, charging station, charging, charger","poi_cinema":"cinema, movie theater, theater, picture house, motion pictures","poi_cuisine_american":"american food, american","poi_cuisine_african":"african food, african","poi_cuisine_arab":"arab food, arab","poi_cuisine_asian":"asian food, asian","poi_cuisine_chinese":"chinese food, chinese","poi_cuisine_greek":"greek food, greek","poi_cuisine_indian":"indian food, indian","poi_cuisine_italian":"italian food, italian","poi_cuisine_japanese":"japanese food, japanese","poi_cuisine_mexican":"mexican food, mexican","poi_cuisine_polish":"polish food, polish","poi_cuisine_russian":"russian food, russian","poi_cuisine_turkish":"turkish food, turkish","poi_diy":"hardware stores, hardware store, hardware shop, home improvement, home improvement store, home improvement shop, do it yourself, DYI, DYI store, DYI shop, Lumberyard, ","poi_dentist":"dentist, dental surgeon","poi_doctor":"doctors, doctor, physician","poi_education":"education","poi_fast_food":"fast food, take away","poi_food_burger":"eat burger, burger, eat hamburger, hamburger","poi_food_kebab":"eat kebab, kebab","poi_food_pizza":"eat pizza, pizza","poi_food_sandwich":"eat sandwich, sandwich, toast, eat toast","poi_food_sushi":"eat sushi, sushi","poi_food_chicken":"eat chicken, chicken","poi_gas_station":"gas stations, gas station, petrol stations, petrol station","poi_hospitals":"hospitals, hospital","poi_hotels":"hotels, hotel","poi_leisure":"leisure","poi_museums":"museums, museum","poi_parking":"parking, parking place","poi_parks":"parks, park","poi_pharmacies":"pharmacies, pharmacy","poi_playgrounds":"playgrounds, playground","poi_public_transit":"public transit","poi_police":"police","poi_post":"post, postal office, stamps","poi_post_box":"mailbox, post box, letterbox, letter box","poi_railway_station":"railway stations, railway station, trains, train","poi_recycling":"recycling","poi_restaurants":"restaurants, restaurant, eat, go eat","poi_schools":"schools, school","poi_shopping":"shops, shop, shopping","poi_shop_bakery":"bakery, baker","poi_shop_butcher":"butcher shop, butcher\'s shop, butchers shop, meat market, butcher","poi_super_markets":"super markets, super market, supermarket","poi_swim":"swim, bathing","poi_toilets":"toilets, toilet","poi_tourism":"tourism","poi_townhall":"town hall, city hall, municipal, municipal building, council, council building","poi_transit_stops":"stop, station, public transit, public transport","poi_viewpoint":"viewpoint, view, lookout, vantage point, outlook","poi_water":"water","poi_wifi":"wifi, wlan, internet"},"ar":{"total_ascend":"%1$s اجمالى صعود","total_descend":"%1$s اجمالى نزول","way_contains_ford":"انتبه ، هناك مخاضة على الطريق","way_contains_ferry":"استخدم العبارة","way_contains_private":"طريق خاص","way_contains_toll":"طريق برسم عبور","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"البداية","intermediate_label":"نقطة عبور","end_label":"النهاية","set_start":"ادخل نقطة بدء","set_intermediate":"ادخل نقطة عبور","set_end":"ادخل نقطة وصول","center_map":"اجعل وسط الخريطة هنا","show_coords":"اظهر الاحداثيات","query_osm":"","route":"المسار","add_to_route":"","delete_from_route":"احذف من المسار","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"رمز او علامة","gh_offline_info":"واجهة برمجة التطبيقات (API) بلا اتصال؟","refresh_button":"اعادة تنشيط","server_status":"الحالة","zoom_in":"تكبير","zoom_out":"تصغير","zoom_to_route":"","drag_to_reorder":"اسحب لاعادة الترتيب","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"خلال","from_hint":"من","gpx_export_button":"GPX التصدير","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"إلي","route_info":"%1$s ستاخذ %2$s","search_button":"ابحث","more_button":"المزيد","pt_route_info":"وصول سعت %1$s مع %2$s انتقال (%3$s)","pt_route_info_walking":"الوصول عند %1$s مشياً (%2$s)","locations_not_found":"لا يوجد طريق من هذه المنطقة","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"دراجة","racingbike":"دراجة سباق","mtb":"دراجة جبلية","car":"سيارة","foot":"مشياً","hike":"نزهة","small_truck":"شاحنة صغيرة","bus":"باص","truck":"شاحنة","staticlink":"رابط ثابت","motorcycle":"دراجة نارية","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ast":{"total_ascend":"%1$s d\'ascensu total","total_descend":"%1$s de descensu total","way_contains_ford":"hai un vau nel camín","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Principiu","intermediate_label":"Intermediu","end_label":"Final","set_start":"Poner como principiu","set_intermediate":"Poner como intermediu","set_end":"Poner como final","center_map":"Centrar el mapa equí","show_coords":"Ver coordenaes","query_osm":"","route":"Ruta","add_to_route":"","delete_from_route":"Quitar de la ruta","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marcador","gh_offline_info":"¿Cayó la API de GraphHopper?","refresh_button":"Refrescar la páxina","server_status":"Estáu","zoom_in":"Averar","zoom_out":"Alloñar","zoom_to_route":"","drag_to_reorder":"Abasnar pa cambiar l\'orde","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Pasando per","from_hint":"Dende","gpx_export_button":"Esportar GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"","route_info":"%1$s tardaràs %2$s","search_button":"Buscar","more_button":"más","pt_route_info":"llegada a les %1$s con %2$s tresbordos (%3$s)","pt_route_info_walking":"llegada a les %1$s sólo caminando (%2$s)","locations_not_found":"Nun se puede trazar una ruta. Dalgún llugar nun s\'alcuentra nel área","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bici de carreres","mtb":"Bici de montaña","car":"Coche","foot":"A pie","hike":"Senderismu","small_truck":"Camioneta","bus":"Autobús","truck":"Camión","staticlink":"enllaz estáticu","motorcycle":"Motocicleta","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"az":{"total_ascend":"%1$s yüksəliş","total_descend":"%1$s eniş","way_contains_ford":"Yolda keçid var","way_contains_ferry":"Bərəyə minin","way_contains_private":"özəl yol","way_contains_toll":"ödənişli yol","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Başlanğıc","intermediate_label":"Ara nöqtə","end_label":"Son","set_start":"Başlanğıcını burada təyin edin","set_intermediate":"Ara nöqtə olaraq təyin edin","set_end":"Bitmə məntəqəsi olaraq təyin edin","center_map":"Xəritənin mərkəzini bura təyin edin","show_coords":"Koordinatları göstər","query_osm":"","route":"Marşrut","add_to_route":"","delete_from_route":"Marşrutdan sil","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"İşarələyici","gh_offline_info":"GraphHopper APİ ilə bağlantı qurulmadı?","refresh_button":"Səhifəni yeniləyin","server_status":"Server statusu","zoom_in":"Yaxınlaşdır","zoom_out":"Uzaqlaşdır","zoom_to_route":"","drag_to_reorder":"Yol nöqtəsini köçürün","route_timed_out":"Marşrutun hesablanma vaxtı keçdi","route_request_failed":"Marşrut qurulması baş tutmadı","current_location":"Hazırki yer","searching_location":"Məkan axtarışı","searching_location_failed":"Məkan axtarış baş tutmadı","via_hint":"vasitəsilə","from_hint":"-dan","gpx_export_button":"GPX ixrac","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"-dək","route_info":"məsafə - %1$s vaxt - %2$s","search_button":"Axtarış","more_button":"daha","pt_route_info":"Təxmini çatma vaxtı %1$s transfer - %2$s (%3$s)","pt_route_info_walking":"Piyada olaraq təxmini çatma vaxtı %1$s ( %2$s)","locations_not_found":"Marşrut qurulmağı mümkün deyil. Yer müəyyən edilməyib.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Velosiped","racingbike":"Yarış velosipedi","mtb":"Dağ velosipedi","car":"Avtomobil","foot":"Piyada","hike":"Gəzinti","small_truck":"yüngül yük maşını","bus":"Avtobus","truck":"Yük maşını","staticlink":"Daimi keçid","motorcycle":"Motosiklet","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"bg":{"total_ascend":"%1$s общо изкачване","total_descend":"%1$s общо слизане","way_contains_ford":"Внимание, на пътя има брод","way_contains_ferry":"вземете ферибота","way_contains_private":"частен път","way_contains_toll":"път с такса","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Начална точка","intermediate_label":"Междинна точка","end_label":"Крайна точка","set_start":"Избиране като начална точка","set_intermediate":"Избиране като междинна точка","set_end":"Избиране като крайна точка","center_map":"Центриране на картата тук","show_coords":"Показване на координатите","query_osm":"","route":"Маршрут","add_to_route":"","delete_from_route":"Премахване от маршрута","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Значка","gh_offline_info":"ППИ на GraphHopper е без мрежа?","refresh_button":"Презареждане на страницата","server_status":"Състояние","zoom_in":"Увеличаване","zoom_out":"Намаляване","zoom_to_route":"","drag_to_reorder":"Влачете за преподреждане","route_timed_out":"Времето за изчисляване на маршрут изтече","route_request_failed":"Заявката за маршрут е неуспешна","current_location":"Текущо местоположение","searching_location":"","searching_location_failed":"","via_hint":"През","from_hint":"От","gpx_export_button":"Изнасяне като GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"До","route_info":"%1$s ще отнемат %2$s","search_button":"Търсене","more_button":"повече","pt_route_info":"пристига в %1$s с %2$s прекачвания (%3$s)","pt_route_info_walking":"пристига в %1$s само с ходене (%2$s)","locations_not_found":"Не са изтеглени упътвания. Търсеното местоположение не е открито.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Велосипед","racingbike":"Състезателно колело","mtb":"Планинско колело","car":"Автомобил","foot":"Пеша","hike":"Планински преход","small_truck":"Малък камион","bus":"Автобус","truck":"Камион","staticlink":"Постоянна препратка","motorcycle":"Мотоциклет","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"bn_BN":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"রুটে টোল আছে","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"সাহায্য","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"উদাহরণ","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"","from_hint":"","gpx_export_button":"","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"","route_info":"","search_button":"অনুসন্ধান করুন","more_button":"আরও","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"","racingbike":"","mtb":"","car":"","foot":"","hike":"","small_truck":"","bus":"","truck":"","staticlink":"","motorcycle":"","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ca":{"total_ascend":"%1$s de pujada total","total_descend":"%1$s de baixada total","way_contains_ford":"hi ha un gual en el camí","way_contains_ferry":"Agafa el ferri","way_contains_private":"camí privat","way_contains_toll":"via de peatge","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Punt d\'inici","intermediate_label":"Punt intermig","end_label":"Punt final","set_start":"Defineix com a punt d\'inici","set_intermediate":"Defineix com a punt intermig","set_end":"Defineix com a punt final","center_map":"Centra el mapa","show_coords":"Mostra les coordenades","query_osm":"","route":"Ruta","add_to_route":"","delete_from_route":"Suprimeix el punt de la ruta","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marcador","gh_offline_info":"L\'API GraphHopper no té connexió ?","refresh_button":"Actualitza la pàgina","server_status":"Estat","zoom_in":"Apropa","zoom_out":"Allunya","zoom_to_route":"","drag_to_reorder":"Arrossega per canviar l\'ordre","route_timed_out":"S\'ha esgotat el temps de càlcul de la ruta","route_request_failed":"Ha fallat la resolució de la ruta.","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Passant per","from_hint":"Des de","gpx_export_button":"Exporta a GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Cap a","route_info":"%1$s trigaràs %2$s","search_button":"Cerca","more_button":"més","pt_route_info":"arriba a les %1$s amb %2$s transbordaments (%3$s)","pt_route_info_walking":"arriba caminant a les %1$s (%2$s)","locations_not_found":"No hi ha cap ruta. El destí no es troba dins l\'àrea.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bicicleta de curses","mtb":"Bicicleta de muntanya","car":"Cotxe","foot":"A peu","hike":"Senderisme","small_truck":"Camioneta","bus":"Autobús","truck":"Camió","staticlink":"Enllaç","motorcycle":"Motocicleta","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"cs_CZ":{"total_ascend":"celkové stoupání %1$s","total_descend":"celkové klesání %1$s","way_contains_ford":"Trasa obsahuje brody","way_contains_ferry":"Trasa obsahuje přívozy","way_contains_private":"Trasa obsahuje soukromé cesty","way_contains_toll":"Trasa obsahuje zpoplatněné úseky","way_crosses_border":"Trasa obsahuje překročení hranic","way_contains":"Trasa obsahuje %1$s","way_contains_restrictions":"","tracks":"nezpevněné cesty","steps":"schody","footways":"stezky pro pěší","steep_sections":"příkré úseky","private_sections":"soukromé úseky","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"Je třeba sesednout z kola a %1$s jej tlačit","start_label":"Start","intermediate_label":"Zastávka","end_label":"Cíl","set_start":"Nastavit jako start","set_intermediate":"Nastavit jako zastávku","set_end":"Nastavit jako cíl","center_map":"Vycentrovat mapu sem","show_coords":"Zobrazit souřadnice","query_osm":"Dotaz do OSM","route":"Trasa","add_to_route":"Přidat místo","delete_from_route":"Odstranit z trasy","open_custom_model_box":"Otevřít rámeček s vlastním modelem","draw_areas_enabled":"Kreslit a měnit oblasti na mapě","help_custom_model":"Nápověda","apply_custom_model":"Použít","custom_model_enabled":"Vlastní model aktivní","settings":"Nastavení","settings_close":"Zavřít","exclude_motorway_example":"Vynechat dálnice","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Rychlostní omezení","cargo_bike_example":"Nákladní kolo","prefer_bike_network":"","exclude_area_example":"Vynechat oblast","combined_example":"Kombinovaný příklad","examples_custom_model":"Příklady","marker":"Značka","gh_offline_info":"API GraphHopper je offline?","refresh_button":"Obnovit stránku","server_status":"Stav","zoom_in":"Přiblížit","zoom_out":"Oddálit","zoom_to_route":"","drag_to_reorder":"Přetažením změníte pořadí","route_timed_out":"Časový limit výpočtu trasy překročen","route_request_failed":"Trasa nemohla být vypočítána","current_location":"Aktuální pozice","searching_location":"Hledá se pozice","searching_location_failed":"Nepodařilo se najít pozici","via_hint":"Přes","from_hint":"Z","gpx_export_button":"Export do GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Skrýt","details_button":"Detaily","to_hint":"Do","route_info":"%1$s bude trvat %2$s","search_button":"Vyhledat","more_button":"více","pt_route_info":"dorazí v %1$s, %2$s přestup(y) (%3$s)","pt_route_info_walking":"dorazí v %1$s pěšky (%2$s)","locations_not_found":"","search_with_nominatim":"Hledat pomocí Nominatim","powered_by":"Běží na","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Kolo","racingbike":"Závodní kolo","mtb":"Horské kolo","car":"Automobil","foot":"Pěšky","hike":"Turistika","small_truck":"Dodávka","bus":"Autobus","truck":"Nákladní automobil","staticlink":"statický odkaz","motorcycle":"Motocykl","scooter":"","back_to_map":"Zpět","distance_unit":"Vzdálenosti jsou uváděny v %1$s","waiting_for_gps":"Čekání na signál GPS…","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"da_DK":{"total_ascend":"%1$s samlet stigning","total_descend":"%1$s samlet fald","way_contains_ford":"der er et vadested undervejs","way_contains_ferry":"Rute med færger","way_contains_private":"Rute med private veje","way_contains_toll":"Rute med betalingsveje","way_crosses_border":"Rute der krydser landegrænser","way_contains":"Rute inkluderer %1$s","way_contains_restrictions":"","tracks":"Grusveje uden asfalt","steps":"Trapper","footways":"Fortove","steep_sections":"Stejle sektioner","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"Føreren skal stige af og cyklen skal skubbes %1$s","start_label":"Start","intermediate_label":"Via","end_label":"Mål","set_start":"Sæt som start","set_intermediate":"Sæt via","set_end":"Sæt som mål","center_map":"Centrer kort her","show_coords":"Vis koordinater","query_osm":"","route":"Rute","add_to_route":"Tilføj placering","delete_from_route":"Fjern fra rute","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"Hjælp","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Eksludér motorvej","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Max hastighed","cargo_bike_example":"Ladcykel","prefer_bike_network":"","exclude_area_example":"Eksludér område","combined_example":"Kombinerede eksempler","examples_custom_model":"Eksempler","marker":"Markør","gh_offline_info":"Er GraphHopper API offline?","refresh_button":"Genindlæs siden","server_status":"Status","zoom_in":"Zoom ind","zoom_out":"Zoom ud","zoom_to_route":"","drag_to_reorder":"Træk for at ændre rækkefølgen","route_timed_out":"Ruteberegning fejlede","route_request_failed":"Ukendt fejl","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Via","from_hint":"Fra","gpx_export_button":"Eksportér GPX-fil","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Gem","details_button":"Detaljer","to_hint":"Til","route_info":"%1$s med køretid %2$s","search_button":"Søg","more_button":"mere","pt_route_info":"ankommer %1$s med %2$s omstigninger (%3$s)","pt_route_info_walking":"ankommer til fods %1$s (%2$s)","locations_not_found":"Kan ikke beregne ruten. Lokation(erne) kan ikke findes i området.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Cykel","racingbike":"Racercykel","mtb":"Mountain bike","car":"Bil","foot":"Gang","hike":"Vandre","small_truck":"Varevogn","bus":"Bus","truck":"Lastbil","staticlink":"statisk link","motorcycle":"Motorcykel","scooter":"","back_to_map":"Tilbage","distance_unit":"Distance er i %1$s","waiting_for_gps":"Venter på GPS signal","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"de_DE":{"total_ascend":"%1$s Gesamtaufstieg","total_descend":"%1$s Gesamtabstieg","way_contains_ford":"Eine Furt muss überquert werden","way_contains_ferry":"Route erfordert Fährennutzung","way_contains_private":"Route mit Privatwegen","way_contains_toll":"Route mit mautpflichtigen Straßen","way_crosses_border":"Route überquert Landesgrenzen","way_contains":"Auf der Route sind %1$s","way_contains_restrictions":"Auf der Route gibt es potentielle Zugangsbeschränkungen","tracks":"unbefestigte Feldwege","steps":"Treppen","footways":"Fußwege","steep_sections":"sehr steile Passagen","private_sections":"private Abschnitte","challenging_sections":"herausfordernde oder gefährliche Abschnitte","trunk_roads_warn":"Route beinhaltet potentiell gefährliche Fernstraßen","get_off_bike_for":"Vom Fahrrad absteigen und für %1$s schieben","start_label":"Start","intermediate_label":"Zwischenziel","end_label":"Ziel","set_start":"Von hier","set_intermediate":"Zwischenziel","set_end":"Bis hier","center_map":"Zentriere Karte","show_coords":"Zeige Koordinaten","query_osm":"OSM anfragen","route":"Route","add_to_route":"Ziel hinzufügen","delete_from_route":"Lösche aus Route","open_custom_model_box":"Öffne custom model Kasten","draw_areas_enabled":"Auf der Karte neue Gebiete einzeichnen und verändern","help_custom_model":"Hilfe","apply_custom_model":"Anwenden","custom_model_enabled":"Custom Model aktiv","settings":"Optionen","settings_close":"Schließen","exclude_motorway_example":"Autobahn vermeiden","exclude_disneyland_paris_example":"","simple_electric_car_example":"Elektroauto (vereinfacht)","avoid_tunnels_bridges_example":"Brücken u. Tunnel vermeiden","limit_speed_example":"Max. Geschwindigkeit","cargo_bike_example":"Lastenfahrrad","prefer_bike_network":"Radnetz bevorzugen","exclude_area_example":"Gebiet umfahren","combined_example":"Kombiniertes Bsp","examples_custom_model":"Beispiele","marker":"Marker","gh_offline_info":"Ist die GraphHopper API offline?","refresh_button":"Lade Seite neu","server_status":"Status","zoom_in":"Vergrössern","zoom_out":"Verkleinern","zoom_to_route":"Zeige Gesamtroute","drag_to_reorder":"Zum Ändern der Reihenfolge ziehen","route_timed_out":"Zeitlimit für Routenberechnung überschritten","route_request_failed":"Route konnte nicht berechnet werden","current_location":"Aktueller Standort","searching_location":"Suche Standort","searching_location_failed":"Standortsuche fehlgeschlagen","via_hint":"Über","from_hint":"Von","gpx_export_button":"GPX Export","gpx_button":"GPX","settings_gpx_export":"GPX Export","settings_gpx_export_trk":"Mit Track","settings_gpx_export_rte":"Mit Route","settings_gpx_export_wpt":"Mit Wegpunkten","hide_button":"Weniger","details_button":"Details","to_hint":"Nach","route_info":"%1$s werden %2$s brauchen","search_button":"Suche","more_button":"mehr","pt_route_info":"Ankunft %1$s mit %2$s Umstiegen (%3$s)","pt_route_info_walking":"Ankunft zu Fuß %1$s (%2$s)","locations_not_found":"Routing war nicht möglich. Ort(e) nicht gefunden in diesem Gebiet.","search_with_nominatim":"Suche mit Nominatim","powered_by":"Powered by","info":"Info","feedback":"Feedback","imprint":"Impressum","privacy":"Datenschutz","terms":"AGB","bike":"Fahrrad","racingbike":"Rennrad","mtb":"Mountainbike","car":"Auto","foot":"Zu Fuß","hike":"Wandern","small_truck":"Kleintransporter","bus":"Bus","truck":"LKW","staticlink":"Link","motorcycle":"Motorrad","scooter":"Roller","back_to_map":"Zurück","distance_unit":"Distanzen sind in %1$s","waiting_for_gps":"Warten auf das GPS Signal...","elevation":"Höhe","slope":"Gefälle","towerslope":"Towerslope","country":"Land","surface":"Oberfläche","road_environment":"Straßenumgebung","road_access":"Straßenzugang","road_class":"Straßentyp","max_speed":"Max. Geschwindigkeit","average_speed":"Durchsch. Geschwindigkeit","track_type":"Straßenbefestigung","toll":"Maut","next":"Weiter","back":"Zurück","as_start":"Als Start","as_destination":"Als Ziel","poi_removal_words":"der, dem, gebiet, in, karte, lokal, lokale, nähe","poi_nearby":"%1$s in der Nähe","poi_in":"%1$s in %2$s","poi_airports":"Flughäfen, Flughafen","poi_atm":"Geldautomaten, Geldautomat, Geld abheben, Geld, abheben","poi_banks":"Banken, Bank","poi_bureau_de_change":"Wechselstube, Geld wechseln, Geld tauschen","poi_bus_stops":"Bushaltestellen, Bushaltestelle","poi_bicycle":"Radläden, Fahrradladen, Radladen, Fahrradreparatur, Fahrradwerkstatt","poi_bicycle_rental":"fahrradverleih, radverleih, fahrrad verleih, rad verleih","poi_cafe":"café, cafe, Kaffee, Kaffeehaus, bistro","poi_car_rental":"Autoverleih, Auto leihen, Auto mieten, car sharing, car share","poi_car_repair":"Autowerkstatt, Auto Werkstatt, Werkstatt, Autoreparatur, Auto Reparatur","poi_charging_station":"Ladestation, Ladesäulen, Ladesäule, aufladen","poi_cinema":"Kinos, Kino, Film","poi_cuisine_american":"amerikanisch essen, amerikanisch","poi_cuisine_african":"afrikanisch essen, afrikanisch","poi_cuisine_arab":"arabisch essen, arabisch, araber","poi_cuisine_asian":"asiatisch essen, asiatisch, asia, asiate","poi_cuisine_chinese":"chinesisch essen, chinesisch, china","poi_cuisine_greek":"griechisch essen, griechisch, grieche","poi_cuisine_indian":"indisch essen, indisch, indisches Essen, inder","poi_cuisine_italian":"italienisch essen, italienisch, italienisches Essen, italiener","poi_cuisine_japanese":"japanisch essen, japanisch, japanisches Essen, japaner","poi_cuisine_mexican":"mexikanisch essen, mexikanisch, mexikanisches Essen,","poi_cuisine_polish":"polnisch essen, polnisch, polnisches Essen","poi_cuisine_russian":"russisch essen, russisch, russisches Essen","poi_cuisine_turkish":"türkisch essen, türkisch, türkisches Essen","poi_diy":"Baumärkte, Baumarkt, Heimwerkerbedarf, Heimwerker, Heimwerker Bedarf, Baustoffhandel, Baufachhandel, Heimwerkermarkt, Heimwerker Markt","poi_dentist":"Zahnärzte, Zahnarzt, Zahnärztin","poi_doctor":"Ärzte, Arzt, Ärztin, Doktor, Doktorin","poi_education":"Bildung","poi_fast_food":"Imbiss, fast food","poi_food_burger":"burger, hamburger","poi_food_kebab":"kebab, döner","poi_food_pizza":"pizza","poi_food_sandwich":"sandwich, toast","poi_food_sushi":"sushi","poi_food_chicken":"hühnchen, grillhuhn, huhn","poi_gas_station":"Tankstellen, Tankstelle","poi_hospitals":"Krankenhäuser, Krankenhaus","poi_hotels":"Hotels, Hotel","poi_leisure":"Freizeit","poi_museums":"Museen, Museum","poi_parking":"Parkplätze, Parkplatz","poi_parks":"Parks, Park","poi_pharmacies":"Apotheken, Apotheke","poi_playgrounds":"Spielplätze, Spielplatz","poi_public_transit":"ÖPNV, Nahverkehr","poi_police":"Polizei","poi_post":"Post, Postamt, Poststelle, Briefmarke, Briefmarken","poi_post_box":"Briefkästen, Briefkasten","poi_railway_station":"Bahnhöfe, Bahnhof, Züge, Zug","poi_recycling":"Abfallcontainer, recycling, pappe container, Pappcontainer, Pappecontainer, Glascontainer, Glasabfall","poi_restaurants":"Restaurants, Restaurant, Gasthof, Gaststätten, Gaststätte, Essen gehen","poi_schools":"Schulen, Schule","poi_shopping":"Einkaufen, Einkauf, Laden, shoppen. shopping, shop","poi_shop_bakery":"Bäckerei, Bäcker, Backwaren","poi_shop_butcher":"Fleicherei, Fleischer, Fleisch, Fleischwaren, Metzger, Metzgerei","poi_super_markets":"Supermärkte, Supermarkt, Einkauf, Einkaufsladen, Einkauf Laden, Essen","poi_swim":"schwimmen, baden, badesee","poi_toilets":"Toiletten, Toilette, WC","poi_tourism":"Tourismus, Fremdenverkehr, Touristik, Sehenswürdigkeit, Sehenswürdigkeiten","poi_townhall":"Rathaus, Meldeamt, Bürgeramt","poi_transit_stops":"Haltestellen, Haltestelle, ÖPNV, Nahverkehr","poi_viewpoint":"Aussicht, Aussichtsturm, Aussichtsplattform","poi_water":"Wasser, Wasserspender","poi_wifi":"wlan, wifi, internet"},"el":{"total_ascend":"%1$s συνολική ανάβαση","total_descend":"%1$s συνολική κατάβαση","way_contains_ford":"διαδρομή με περάσματα από ποτάμια","way_contains_ferry":"διαδρομή με ferry","way_contains_private":"διαδρομή με ιδιωτικούς δρόμους","way_contains_toll":"διαδρομή με διόδια","way_crosses_border":"διαδρομή διασχίζει σύνορα χώρας","way_contains":"διαδρομή περιλαμβάνει %1$s","way_contains_restrictions":"","tracks":"μη ασφαλτοστρωμένοι χωματόδρομοι","steps":"σκαλοπάτια","footways":"μονοπάτια","steep_sections":"απότομα τμήματα","private_sections":"ιδιωτικά τμήματα","challenging_sections":"","trunk_roads_warn":"διαδρομή περιλαμβάνει πιθανά επικίνδυνους αυτοκινητρόδρομους ή χειρότερα","get_off_bike_for":"Πρέπει να κατεβείτε από το ποδήλατο και να σπρώξετε για %1$s","start_label":"Αφετηρία","intermediate_label":"Ενδιάμεσο σημείο","end_label":"Προορισμός","set_start":"Ορισμός αφετηρίας","set_intermediate":"Ορισμός ενδιάμεσου σημείου","set_end":"Ορισμός προορισμού","center_map":"Κεντράρισμα χάρτη εδώ","show_coords":"Εμφάνιση συντεταγμένων","query_osm":"Ερώτημα OSM","route":"Διαδρομή","add_to_route":"Προσθήκη τοποθεσίας","delete_from_route":"Αφαίρεση από διαδρομή","open_custom_model_box":"Άνοιγμα πλαισίου προσαρμοσμένου μοντέλου","draw_areas_enabled":"Σχεδίαση και τροποποίηση περιοχών στον χάρτη","help_custom_model":"Βοήθεια","apply_custom_model":"Εφαρμογή","custom_model_enabled":"Προσαρμοσμένο Μοντέλο Ενεργό","settings":"Ρυθμίσεις","settings_close":"Κλείσιμο","exclude_motorway_example":"Αποφυγή αυτοκινητόδρομου","exclude_disneyland_paris_example":"Αποφυγή Disneyland Παρισιού","simple_electric_car_example":"Απλό ηλεκτρικό αυτοκίνητο","avoid_tunnels_bridges_example":"Αποφυγή γεφυρών και σηράγγων","limit_speed_example":"Περιορισμός ταχύτητας","cargo_bike_example":"Ποδήλατο μεταφοράς","prefer_bike_network":"Προτίμησε ποδηλατικές διαδρομές","exclude_area_example":"Αποφυγή περιοχής","combined_example":"Συνδυαστικό παράδειγμα","examples_custom_model":"Παραδείγματα","marker":"Σημάδι","gh_offline_info":"GraphHopper API offline;","refresh_button":"Ανανέωση σελίδας","server_status":"Κατάσταση","zoom_in":"Μεγέθυνση","zoom_out":"Σμίκρυνση","zoom_to_route":"","drag_to_reorder":"Σύρετε για αναδιάταξη","route_timed_out":"Ο υπολογισμός διαδρομής απέτυχε λόγω εξάντλησης χρόνου","route_request_failed":"Ο υπολογισμός διαδρομής απέτυχε","current_location":"Τωρινή τοποθεσία","searching_location":"Αναζήτηση τοποθεσίας","searching_location_failed":"Η αναζήτηση τοποθεσίας απέτυχε","via_hint":"Μέσω","from_hint":"Αφετηρία","gpx_export_button":"Εξαγωγή GPX","gpx_button":"GPX","settings_gpx_export":"Εξαγγωγή GPX","settings_gpx_export_trk":"Με ίχνος","settings_gpx_export_rte":"Με διαδρομή","settings_gpx_export_wpt":"Με σημεία","hide_button":"Απόκρυψη","details_button":"Λεπτομέρειες","to_hint":"Προορισμός","route_info":"%1$s σε %2$s","search_button":"Αναζήτηση","more_button":"περισσότερα","pt_route_info":"φτάνει στις %1$s με %2$s μεταβιβάσεις (%3$s)","pt_route_info_walking":"φτάνει στις %1$s απλά περπατώντας (%2$s)","locations_not_found":"Η δρομολόγηση δεν είναι δυνατή. Οι τοποθεσίες δεν βρέθηκαν στην περιοχή.","search_with_nominatim":"Αναζήτηση με Nominatim","powered_by":"Τροφοδοτείται από","info":"Πληροφορίες","feedback":"Ανατροφοδότηση","imprint":"Αποτύπωμα","privacy":"Απόρρητο","terms":"Όροι","bike":"Ποδήλατο","racingbike":"Αγωνιστικό ποδήλατο","mtb":"Ποδήλατο βουνού","car":"Αυτοκίνητο","foot":"Πεζός","hike":"Πεζοπορία","small_truck":"Μικρό φορτηγό","bus":"Λεωφορείο","truck":"Φορτηγό","staticlink":"στατική διεύθυνση","motorcycle":"Μοτοσυκλέτα","scooter":"Σκούτερ","back_to_map":"Πίσω","distance_unit":"Οι αποστάσεις είναι σε %1$s","waiting_for_gps":"Αναμονή για σήμα GPS...","elevation":"Ανύψωση","slope":"Πλαγιά","towerslope":"Towerslope","country":"Χώρα","surface":"Επιφάνεια","road_environment":"Περιβάλλον δρόμου","road_access":"Πρόσβαση δρόμου","road_class":"Κλάση δρόμου","max_speed":"Μέγιστη ταχύτητα","average_speed":"Μέση ταχύτητα","track_type":"Τύπος δρόμου","toll":"Διόδια","next":"Επόμενο","back":"Πίσω","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"eo":{"total_ascend":"%1$s supreniro tute","total_descend":"%1$s malsupreniro tute","way_contains_ford":"travadejo sur la kurso","way_contains_ferry":"enpramiĝu","way_contains_private":"privata vojo","way_contains_toll":"pegenda vojo","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Komenco","intermediate_label":"Intercelo","end_label":"Celo!","set_start":"Agordi kiel komencon","set_intermediate":"Agordi kiel intercelon","set_end":"Agordi kiel celon","center_map":"Centrigi mapon ĉi tien","show_coords":"Montri koordinatojn","query_osm":"","route":"Kurso","add_to_route":"","delete_from_route":"Forigi el la kurso","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marko","gh_offline_info":"Eble GraphHopper-API malfunkcias?","refresh_button":"Aktualigi paĝon","server_status":"Stato","zoom_in":"Pligrandigi","zoom_out":"Malgrandigi","zoom_to_route":"","drag_to_reorder":"Trenu por reordigi","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Tra","from_hint":"El","gpx_export_button":"Elporti GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Al","route_info":"%1$s daŭros %2$s","search_button":"Serĉi","more_button":"pli","pt_route_info":"alveno je %1$s kun %2$s transveturiliĝoj (%3$s)","pt_route_info_walking":"alveno je %1$s nur perpiede (%2$s)","locations_not_found":"Vojdifinado ne eblas. Ne trovis loko(j)n en la ĉirkaŭaĵo.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Biciklo","racingbike":"Sporta biciklo","mtb":"Montara biciklo","car":"Aŭto","foot":"Piede","hike":"Marŝade","small_truck":"Eta kamiono","bus":"Aŭtobuso","truck":"Kamiono","staticlink":"konstanta ligilo","motorcycle":"Motorciklo","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"es":{"total_ascend":"Ascender %1$s en total","total_descend":"Descender %1$s en total","way_contains_ford":"hay un vado en el camino","way_contains_ferry":"toma el ferry","way_contains_private":"carretera privada","way_contains_toll":"carretera con peaje","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Punto de partida","intermediate_label":"Punto intermedio","end_label":"Punto de finalización","set_start":"Fijar como partida","set_intermediate":"Fijar como punto intermedio","set_end":"Fijar como finalización","center_map":"Centrar mapa aquí","show_coords":"Mostrar coordenadas","query_osm":"","route":"Ruta","add_to_route":"","delete_from_route":"Borrar punto de ruta","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marcador","gh_offline_info":"¿API de GraphHopper sin conexión?","refresh_button":"Actualizar página","server_status":"Estado","zoom_in":"Acercar","zoom_out":"Alejar","zoom_to_route":"","drag_to_reorder":"Arrastra para cambiar el orden","route_timed_out":"Se ha agotado el tiempo de cálculo de la ruta","route_request_failed":"Solicitud de ruta fallida","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Pasando por","from_hint":"Desde","gpx_export_button":"Exportar GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Hasta","route_info":"%1$s tardará %2$s","search_button":"Buscar","more_button":"más","pt_route_info":"llega a las %1$s con %2$s transferencias (%3$s)","pt_route_info_walking":"llega sólo caminando a las %1$s (%2$s)","locations_not_found":"No se ha encontrado la ruta. El destino no se encuentra en el área.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bicicleta de carrera","mtb":"Bicicleta de montaña","car":"Automóvil","foot":"A pie","hike":"Senderismo","small_truck":"Camioneta","bus":"Autobús","truck":"Camión","staticlink":"enlace estático","motorcycle":"Motocicleta","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fa":{"total_ascend":"مجموع صعود %1$s","total_descend":"مجموع نزول %1$s","way_contains_ford":"در طول مسیر گُدار وجود دارد","way_contains_ferry":"این مسیر دارای کشتی است","way_contains_private":"مسیردارای گذرگاه های شخصی (مالکیت خصوصی)","way_contains_toll":"این مسیر دارای عوارض است","way_crosses_border":"این مسیر از مرز یک کشور عبور میکند","way_contains":"این مسیر دارای %1$s است","way_contains_restrictions":"","tracks":"هشدار: این مسیر دارای جاده های خاکی و غیر آسفالت است","steps":"پله","footways":"","steep_sections":"هشدار: این مسیر دارای شیب تند رو به بالا و یا رو به پایین است","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"آغاز","intermediate_label":"نقطهٔ میانی","end_label":"پایان","set_start":"انتخاب نقطهٔ آغاز","set_intermediate":"انتخاب نقطهٔ میانی","set_end":"انتخاب نقطهٔ پایان","center_map":"اینجا مرکز نقشه شود","show_coords":"مختصات اینجا","query_osm":"","route":"مسیر","add_to_route":"مقصد جدید را اضافه کنید","delete_from_route":"از مسیر حذف شود","open_custom_model_box":"","draw_areas_enabled":"محدوده را مشخص و یا ویرایش کنید","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"نشانه","gh_offline_info":"گرافهاپر در دسترس نیست؟","refresh_button":"تازهسازی صفحه","server_status":"وضعیت","zoom_in":"بزرگنمایی","zoom_out":"کوچکنمایی","zoom_to_route":"","drag_to_reorder":"برای مرتبسازی جابهجا کنید","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"با گذر از","from_hint":"از","gpx_export_button":"دریافت در قالب GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"به","route_info":"%1$s %2$s طول میکشد","search_button":"جستوجو","more_button":"بیشتر","pt_route_info":"با %2$s جابهجایی در ساعت %1$s میرسید (%3$s)","pt_route_info_walking":"ساعت %1$s میرسید، فقط پیاده (%2$s)","locations_not_found":"مسیریابی ممکن نیست. مکان(ها) در ناحیهٔ موردنظر پیدا نشد.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"دوچرخه","racingbike":"دوچرخه کورسی","mtb":"دوچرخه کوهستان","car":"ماشین","foot":"پیادهروی","hike":"پیادهگردی","small_truck":"وانت","bus":"اتوبوس","truck":"کامیون","staticlink":"پیوند ثابت","motorcycle":"موتورسیکلت","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fil":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"","from_hint":"mula sa","gpx_export_button":"GPX Export","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"upang sa","route_info":"%1$s ay magdadala sa %2$s","search_button":"Paghahanap","more_button":"mas","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Routing hindi maaari, hindi nahanap Lokasyon sa lugar.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bike","racingbike":"Racing Bike","mtb":"Mountain Bike","car":"kotse","foot":"lumakad","hike":"","small_truck":"","bus":"","truck":"","staticlink":"static link","motorcycle":"motorsiklo","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fi":{"total_ascend":"nousu yhteensä %1$s","total_descend":"lasku yhteensä %1$s","way_contains_ford":"Huomio, reitillä on kahlaamo","way_contains_ferry":"käytä lauttaa","way_contains_private":"yksityinen tie","way_contains_toll":"maksullinen tie","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Lähtöpaikka","intermediate_label":"Välikohde","end_label":"Päätepiste","set_start":"Merkitse lähtöpaikaksi","set_intermediate":"Merkitse välikohteeksi","set_end":"Merkitse päätepisteeksi","center_map":"Keskitä kartta tähän","show_coords":"Näytä koordinaatit","query_osm":"","route":"Reitti","add_to_route":"","delete_from_route":"Poista reitistä","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Merkki","gh_offline_info":"Ei yhteyttä GraphHopper-palvelimeen","refresh_button":"Päivitä sivu","server_status":"Tilanne","zoom_in":"Lähennä","zoom_out":"Loitonna","zoom_to_route":"","drag_to_reorder":"Järjestele vetämällä","route_timed_out":"Reitin laskenan aikaraja ylittyi","route_request_failed":"Reittipyyntö epäonnistui","current_location":"Nykyinen paikka","searching_location":"Paikkaa haetaan","searching_location_failed":"Paikan haku epäonnistui","via_hint":"Reittipiste","from_hint":"Lähtöpaikka","gpx_export_button":"GPX-tuonti","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Määränpää","route_info":"%1$s kestää %2$s","search_button":"Etsi","more_button":"lisää","pt_route_info":"saapuu kello %1$s, %2$s vaihtoa (%3$s)","pt_route_info_walking":"saapuu kello %1$s, vain kävely (%3$s)","locations_not_found":"Reittiohjeiden luonti epäonnistui. Paikkaa ei löydy tältä alueelta.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Pyörä","racingbike":"Kilpapyörä","mtb":"Maastopyörä","car":"Auto","foot":"Kävely","hike":"Patikointi","small_truck":"Pieni kuorma-auto","bus":"Linja-auto","truck":"Kuorma-auto","staticlink":"yhteys","motorcycle":"Moottoripyörällä","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fr_FR":{"total_ascend":"%1$s de dénivelé positif","total_descend":"%1$s de dénivelé négatif","way_contains_ford":"cet itinéraire comprend un passage à gué","way_contains_ferry":"prenez le bateau","way_contains_private":"chemin privé","way_contains_toll":"route à péage","way_crosses_border":"L\'itinéraire traverse une frontière nationale","way_contains":"L\'itinéraire inclut %1$s","way_contains_restrictions":"","tracks":"chemins de terre non pavés","steps":"pas","footways":"chemin pédestre","steep_sections":"section raide","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Départ","intermediate_label":"Point intermédiaire","end_label":"Arrivée","set_start":"Départ de l\'itinéraire ici","set_intermediate":"Ajouter un point intermédiaire","set_end":"Arrivée de l\'itinéraire ici","center_map":"Centrer la carte ici","show_coords":"Afficher les coordonnées","query_osm":"Interroger OSM","route":"Itinéraire","add_to_route":"Ajouter un Emplacement","delete_from_route":"Supprimer ce point de l\'itinéraire","open_custom_model_box":"Ouvrir la boîte du modèle personnalisé","draw_areas_enabled":"","help_custom_model":"Aide","apply_custom_model":"Appliquer","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Eviter les Autoroutes","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Vitesse Limite","cargo_bike_example":"Vélo cargo","prefer_bike_network":"","exclude_area_example":"Exclure Zone","combined_example":"Exemple Combiné","examples_custom_model":"Exemples","marker":"Marqueur","gh_offline_info":"GraphHopper API hors connexion?","refresh_button":"Rafraîchir","server_status":"Statut","zoom_in":"Zoom avant","zoom_out":"Zoom arrière","zoom_to_route":"","drag_to_reorder":"Faire glisser pour réorganiser","route_timed_out":"Le calcul de l\'itinéraire a expiré","route_request_failed":"Échec du calcul de l\'itinéraire","current_location":"Localisation actuelle","searching_location":"Chercher localisation","searching_location_failed":"Recherche de localisation échouée","via_hint":"Via","from_hint":"De","gpx_export_button":"Export GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Cacher","details_button":"Détails","to_hint":"À","route_info":"%1$s durera %2$s","search_button":"Rechercher","more_button":"plus","pt_route_info":"arrivée à %1$s avec %2$s changements (%3$s)","pt_route_info_walking":"arrivée à pied à %1$s (%2$s)","locations_not_found":"Calcul d\'itinéraire impossible. Position(s) non trouvée(s) dans la zone.","search_with_nominatim":"Rechercher avec Nominatim","powered_by":"Alimenté par","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Vélo","racingbike":"Vélo de course","mtb":"VTT","car":"Voiture","foot":"À pied","hike":"Randonnée pédestre","small_truck":"Camionnette","bus":"Bus","truck":"Camion","staticlink":"Lien","motorcycle":"Moto","scooter":"","back_to_map":"Retour","distance_unit":"Les distances sont en %1$s","waiting_for_gps":"En attente du signal GPS...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fr_CH":{"total_ascend":"%1$s de dénivelé positif","total_descend":"%1$s de dénivelé négatif","way_contains_ford":"cet itinéraire comprend un passage à gué","way_contains_ferry":"prenez le bateau","way_contains_private":"chemin privé","way_contains_toll":"route à péage","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Départ","intermediate_label":"Point intermédiaire","end_label":"Arrivée","set_start":"Départ de l\'itinéraire ici","set_intermediate":"Ajouter un point intermédiaire","set_end":"Arrivée de l\'itinéraire ici","center_map":"Centrer la carte ici","show_coords":"Afficher les coordonnées","query_osm":"","route":"Itinéraire","add_to_route":"Ajouter un Emplacement","delete_from_route":"Supprimer ce point de l\'itinéraire","open_custom_model_box":"Ouvrir la boîte du modèle personnalisé","draw_areas_enabled":"","help_custom_model":"Aide","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marqueur","gh_offline_info":"GraphHopper API hors connexion?","refresh_button":"Rafraîchir","server_status":"Statut","zoom_in":"Zoom avant","zoom_out":"Zoom arrière","zoom_to_route":"","drag_to_reorder":"Faire glisser pour réorganiser","route_timed_out":"Le calcul de l\'itinéraire a expiré","route_request_failed":"Échec du calcul de l\'itinéraire","current_location":"Localisation actuelle","searching_location":"Chercher localisation","searching_location_failed":"Recherche de localisation échouée","via_hint":"Via","from_hint":"De","gpx_export_button":"Export GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"À","route_info":"%1$s durera %2$s","search_button":"Rechercher","more_button":"plus","pt_route_info":"arrivée à %1$s avec %2$s changements (%3$s)","pt_route_info_walking":"arrivée à pied à %1$s (%2$s)","locations_not_found":"Calcul d\'itinéraire impossible. Position(s) non trouvée(s) dans la zone.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Vélo","racingbike":"Vélo de course","mtb":"VTT","car":"Voiture","foot":"À pied","hike":"Randonnée pédestre","small_truck":"Camionnette","bus":"Bus","truck":"Camion","staticlink":"Lien","motorcycle":"Moto","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"gl":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Vía","from_hint":"dende","gpx_export_button":"GPX Exportación","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"ata","route_info":"%1$s tardará %2$s","search_button":"buscar","more_button":"máis","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Non se atopou a ruta. O destino non se atopa na área","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bicleta de carreiras","mtb":"Bicicleta de montaña","car":"automóbil","foot":"A pé","hike":"","small_truck":"","bus":"","truck":"","staticlink":"Enlace","motorcycle":"Motocicleta","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"he":{"total_ascend":"עלייה כוללת של %1$s","total_descend":"ירידה כוללת של %1$s","way_contains_ford":"המסלול כולל מעברי מים (גשרים איריים)","way_contains_ferry":"המסלול כולל מעבורות","way_contains_private":"המסלול כולל דרכים פרטיות","way_contains_toll":"המסלול כולל כבישי אגרה","way_crosses_border":"המסלול כולל חציית גבולות בין מדינות","way_contains":"המסלול כולל %1$s","way_contains_restrictions":"","tracks":"דרכי עפר לא סלולות","steps":"מדרגות","footways":"שבילים להולכי רגל","steep_sections":"קטעים תלולים","private_sections":"קטעים פרטיים","challenging_sections":"","trunk_roads_warn":"המסלול כולל דרכי עפר שיכולות להיות מסוכנות ואף גרוע מכך.","get_off_bike_for":"יש לרדת מהאופניים למשך %1$s","start_label":"התחלה","intermediate_label":"נקודת ביניים","end_label":"סוף","set_start":"הגדרה כהתחלה","set_intermediate":"הגדרה כנקודת ביניים","set_end":"הגדרה כסוף","center_map":"למרכז את המפה לכאן","show_coords":"הצגת קואורדינטות","query_osm":"שאילתת OSM","route":"מסלול","add_to_route":"הוספה למסלול","delete_from_route":"מחיקה מהמסלול","open_custom_model_box":"פתיחת חלונית מודל מותאם אישית","draw_areas_enabled":"שירטוט ועריכה של אזורים על המפה","help_custom_model":"עזרה","apply_custom_model":"החל","custom_model_enabled":"מודל מותאם אישית מופעל","settings":"הגדרות","settings_close":"סגירה","exclude_motorway_example":"ללא כבישים מהירים","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"הגבלת מהירות","cargo_bike_example":"אופני משא","prefer_bike_network":"העדפת מסלולי אופניים","exclude_area_example":"המנעות מאיזור","combined_example":"דוגמה משולבת","examples_custom_model":"דוגמאות","marker":"נעץ","gh_offline_info":" GraphHopper API לא מקוון?","refresh_button":"רענון הדף","server_status":"מצב","zoom_in":"התקרבות","zoom_out":"התרחקות","zoom_to_route":"","drag_to_reorder":"יש לגרור כדי לסדר מחדש","route_timed_out":"חישוב המסלול ארך זמן רב מדי","route_request_failed":"בקשת חישוב המסלול נכשלה","current_location":"מיקום נוכחי","searching_location":"חיפוש מיקום","searching_location_failed":"חיפוש המיקום נכשל","via_hint":"נקודת ביניים","from_hint":"מוצא","gpx_export_button":"ייצוא GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"הסתרה","details_button":"פרטים","to_hint":"יעד","route_info":"%1$s ייקחו %2$s","search_button":"חיפוש","more_button":"עוד","pt_route_info":"מגיע ב־%1$s עם %2$s החלפות (%3$s)","pt_route_info_walking":"מגיע ב־%1$s עם הליכה בלבד (%3$s)","locations_not_found":"אין נתיב ישיר אל היעד. המקום/ות לא נמצא/ים באזור.","search_with_nominatim":"חיפוש בעזרת Nominatim","powered_by":"פועל בעזרת","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"אופניים","racingbike":"מסלולי אופניים","mtb":"אופני הרים","car":"מכונית","foot":"רגל","hike":"טיול רגלי","small_truck":"משאית קטנה","bus":"אוטובוס","truck":"משאית","staticlink":"קישור קבוע","motorcycle":"אופנוע","scooter":"","back_to_map":"חזרה","distance_unit":"מרחקים ב%1$s","waiting_for_gps":"המתנה לאות GPS...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"hr_HR":{"total_ascend":"%1$s ukupni uspon","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Početak","intermediate_label":"Posrednik","end_label":"Kraj","set_start":"Postavi kao početak","set_intermediate":"Postavi kao posrednik","set_end":"Postavi kao kraj","center_map":"Postavi kao centar karte","show_coords":"Prikaži koordinate","query_osm":"","route":"Ruta","add_to_route":"","delete_from_route":"Izbriši iz rute","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Oznaka","gh_offline_info":"GraphHopper API nedostupan","refresh_button":"Osvježi stranicu","server_status":"Status","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Preko","from_hint":"Od","gpx_export_button":"Izvezi kao GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Do","route_info":"%1$s trajat će %2$s","search_button":"Pretraži","more_button":"više","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Rutiranje nije moguće. Lokacije nisu pronađene na ovome području.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicikl","racingbike":"Trkaći motocikl","mtb":"Brdski bicikl","car":"Automobil","foot":"Pješak","hike":"","small_truck":"Mali kamion","bus":"Autobus","truck":"Kamion","staticlink":"statička poveznica","motorcycle":"Motocikl","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"hsb":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"přez","from_hint":"wot","gpx_export_button":"eksport do GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"do","route_info":"za %1$s so trjeba %2$s","search_button":"pytaj","more_button":"wjac","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Čara njeje móžna. Městno so w tutej kónčinje njenamaka.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"koleso","racingbike":"wubědźowanske koleso","mtb":"mountainbike","car":"awto","foot":"pěši","hike":"","small_truck":"","bus":"","truck":"","staticlink":"link","motorcycle":"motorske","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"hu_HU":{"total_ascend":"Összes szintemelkedés: %1$s","total_descend":"Összes szintcsökkenés: %1$s","way_contains_ford":"Az útvonalon gázló található","way_contains_ferry":"Az útvonalon kompátkelés található","way_contains_private":"Az útvonalon magánút is található","way_contains_toll":"Az útvonalon útdíjat kell fizetni","way_crosses_border":"Az útvonal országhatárt keresztez","way_contains":"Az útvonalon előfordul %1$s","way_contains_restrictions":"Az útvonalon korlátozások lehetnek","tracks":"burkolatlan földút","steps":"lépcső","footways":"gyalogút","steep_sections":"meredek szakasz","private_sections":"magánút","challenging_sections":"nehéz vagy veszélyes szakaszok","trunk_roads_warn":"Az útvonal potenciálisan veszélyes autóutat vagy forgalmasabbat is tartalmaz","get_off_bike_for":"A kerékpárt tolni kell ennyit: %1$s","start_label":"Indulás","intermediate_label":"Köztes célpont","end_label":"Célpont","set_start":"Beállítás kiindulási pontnak","set_intermediate":"Beállítás köztes célpontnak","set_end":"Beállítás célpontnak","center_map":"Beállítás a térkép középpontjának","show_coords":"Pozíció megjelenítése","query_osm":"OSM-lekérdezés","route":"Útvonal","add_to_route":"Hely hozzáadása","delete_from_route":"Eltávolítás az útvonalról","open_custom_model_box":"Egyedi modelldoboz megnyitása","draw_areas_enabled":"Területek rajzolása és módosítása a térképen","help_custom_model":"Súgó","apply_custom_model":"Alkalmazás","custom_model_enabled":"Egyedi modell bekapcsolva","settings":"Beállítások","settings_close":"Bezárás","exclude_motorway_example":"Autópálya nélkül","exclude_disneyland_paris_example":"Disneyland Párizs kizárása","simple_electric_car_example":"Egyszerű elektromos autó","avoid_tunnels_bridges_example":"Hidak és alagutak elkerülése","limit_speed_example":"Sebességkorlátozás","cargo_bike_example":"Viszikli (teherkerékpár)","prefer_bike_network":"Kerékpárutak előnyben részesítése","exclude_area_example":"Terület elkerülése","combined_example":"Kombinált példa","examples_custom_model":"Példák","marker":"Jelölő","gh_offline_info":"Lehet, hogy a GraphHopper API nem elérhető?","refresh_button":"Oldal frissítése","server_status":"Állapot","zoom_in":"Nagyítás","zoom_out":"Kicsinyítés","zoom_to_route":"Útvonalra közelítés","drag_to_reorder":"Húzza el az átrendezéshez","route_timed_out":"Időtúllépés az útvonaltervezéskor","route_request_failed":"Útvonaltervezés sikertelen","current_location":"Jelenlegi helyzet","searching_location":"Helyzet keresése","searching_location_failed":"A jelenlegi helyzet megtalálása sikertelen","via_hint":"Ezen keresztül","from_hint":"Innen","gpx_export_button":"GPX export","gpx_button":"GPX","settings_gpx_export":"GPX-be való exportálás beállításai","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"Útpontokkal","hide_button":"Elrejtés","details_button":"Részletek","to_hint":"Ide","route_info":"%1$s ennyi ideig tart: %2$s","search_button":"Keresés","more_button":"tovább","pt_route_info":"érkezés %1$s órakor, %2$s átszállással (%3$s)","pt_route_info_walking":"érkezés %1$s órakor, csak gyalog (%2$s)","locations_not_found":"Útvonaltervezés nem lehetséges. A megadott hely(ek) nem található(k) meg a területen.","search_with_nominatim":"Keresés a Nominatim segítségével","powered_by":"Motor:","info":"Információ","feedback":"Visszajelzés","imprint":"Impresszum","privacy":"Adatvédelem","terms":"Feltételek","bike":"Kerékpár","racingbike":"Versenykerékpár","mtb":"Hegyi kerékpár","car":"Autó","foot":"Gyalogos","hike":"Túrázás","small_truck":"Kisteherautó","bus":"Busz","truck":"Teherautó","staticlink":"statikus hivatkozás","motorcycle":"Motorkerékpár","scooter":"Robogó","back_to_map":"Vissza","distance_unit":"Távolság mértékegysége: %1$s","waiting_for_gps":"Várakozás a GPS jelre...","elevation":"Magasság","slope":"Meredekség","towerslope":"","country":"Ország","surface":"Útfelület","road_environment":"","road_access":"","road_class":"Útbesorolás","max_speed":"Max. sebesség","average_speed":"Átl. sebesség","track_type":"Úttípus","toll":"Útdíj","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"repülőterek, repülőtér","poi_atm":"bankautomata","poi_banks":"bankok, bank","poi_bureau_de_change":"","poi_bus_stops":"buszmegállók, buszmegálló, busz","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"oktatás","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"benzinkutak, benzinkút, benzinkutak, benzinkút","poi_hospitals":"kórházak, kórház","poi_hotels":"hotelek, hotel","poi_leisure":"szabadidő","poi_museums":"múzeumok, múzeum","poi_parking":"parkoló, parkolóhely","poi_parks":"","poi_pharmacies":"gyógyszertárak, gyógyszertár","poi_playgrounds":"játszóterek, játszótér","poi_public_transit":"közösségi közlekedés","poi_police":"rendőrség","poi_post":"","poi_post_box":"","poi_railway_station":"vasútállomások, vasútállomás, vonat","poi_recycling":"","poi_restaurants":"éttermek, étterem","poi_schools":"iskolák, iskola","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"szupermarketek, szupermarket","poi_swim":"","poi_toilets":"mosdók, mosdó","poi_tourism":"turizmus","poi_townhall":"","poi_transit_stops":"buszmegállók, buszmegálló, busz","poi_viewpoint":"","poi_water":"","poi_wifi":""},"in_ID":{"total_ascend":"naik dengan jarak %1$s","total_descend":"turun dengan jarak %1$s","way_contains_ford":"terdapat jalan untuk dilewati","way_contains_ferry":"Rute termasuk kapal feri","way_contains_private":"Rute dengan jalan pribadi","way_contains_toll":"Rute dengan jalan tol","way_crosses_border":"Rute melintasi perbatasan negara","way_contains":"Rute termasuk %1$s","way_contains_restrictions":"Rute dengan potensi pembatasan akses","tracks":"Jalan Tanah","steps":"Langkah","footways":"Jalan setapak","steep_sections":"bagian curam","private_sections":"bagian pribadi","challenging_sections":"Bagian yang menantang atau berbahaya","trunk_roads_warn":"Rute termasuk jalan utama yang berpotensi berbahaya atau lebih buruk","get_off_bike_for":"Turun dan dorong sepeda untuk %1$s","start_label":"Mulai","intermediate_label":"Antara","end_label":"Akhir","set_start":"Atur sebagai titik mulai","set_intermediate":"Atur sebagai titik antara","set_end":"Atur sebagai titik akhir","center_map":"Tengahkan Peta","show_coords":"Tampilkan koordinat","query_osm":"Query OSM","route":"Rute","add_to_route":"Tambah Lokasi","delete_from_route":"Hapus dari rute","open_custom_model_box":"Buka kotak model kustom","draw_areas_enabled":"Gambar dan ubah area di peta","help_custom_model":"Bantuan","apply_custom_model":"Terapkan","custom_model_enabled":"Model Kustom Aktif","settings":"Pengaturan","settings_close":"Tutup","exclude_motorway_example":"Tidak termasuk jalur motor","exclude_disneyland_paris_example":"Tidak termasuk Disneyland Paris","simple_electric_car_example":"Mobil Listrik Sederhana","avoid_tunnels_bridges_example":"Hindari Jembatan & Terowongan","limit_speed_example":"Batas Kecepatan","cargo_bike_example":"Sepeda Kargo","prefer_bike_network":"Lebih suka Rute Sepeda","exclude_area_example":"Kecualikan Area","combined_example":"Contoh Gabungan","examples_custom_model":"Contoh","marker":"Titik","gh_offline_info":"Pelayanan API Graphhopper dalam kondisi offline","refresh_button":"Perbarui Halaman","server_status":"Status","zoom_in":"Perbesaran","zoom_out":"Pengecilan","zoom_to_route":"","drag_to_reorder":"Drag untuk mengatur urutan","route_timed_out":"Waktu Penghitungan Rute Habis","route_request_failed":"Permintaan Rute Gagal","current_location":"Lokasi Saat Ini","searching_location":"Mencari Lokasi","searching_location_failed":"Pencarian lokasi gagal","via_hint":"melalui","from_hint":"dari","gpx_export_button":"Ekspor GPX","gpx_button":"GPX","settings_gpx_export":"Ekspor GPX","settings_gpx_export_trk":"Dengan trek","settings_gpx_export_rte":"Dengan rute","settings_gpx_export_wpt":"Dengan titik jalan","hide_button":"Sembunyikan","details_button":"Detil","to_hint":"ke","route_info":"%1$s berada dalam waktu %2$s","search_button":"pencarian","more_button":"lebih lanjut","pt_route_info":"sampai pada %1$s dengan %2$s jarak (%3$s)","pt_route_info_walking":"sampai pada %1$s dengan berjalan kaki (%2$s)","locations_not_found":"Penentuan rute tidak dapat dilakukan. Lokasi tidak ditemukan","search_with_nominatim":"Pencarian dengan Nominatim","powered_by":"Didukung oleh","info":"Info","feedback":"Umpan Balik","imprint":"Jejak","privacy":"Privasi","terms":"Syarat","bike":"Sepeda","racingbike":"Sepeda Balap","mtb":"Sepeda Gunung","car":"Mobil","foot":"Jalan Kaki","hike":"Mendaki","small_truck":"Truk Kecil","bus":"Bus","truck":"Truk","staticlink":"Jalur tetap","motorcycle":"Motor","scooter":"Vespa","back_to_map":"Kembali","distance_unit":"Jarak dalam %1$s","waiting_for_gps":"Menunggu sinyal GPS","elevation":"Ketinggian","slope":"Kemiringan","towerslope":"","country":"Negara","surface":"Permukaan","road_environment":"Lingkungan Jalan","road_access":"Akses Jalan","road_class":"Kelas Jalan","max_speed":"Kecepatan Maks","average_speed":"Kecepatan Rata-Rata","track_type":"Tipe trek","toll":"Tol","next":"Selanjutnya","back":"Sebelumnya","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"it":{"total_ascend":"%1$s di dislivello positivo","total_descend":"%1$s di dislivello negativo","way_contains_ford":"Il percorso include un guado","way_contains_ferry":"Il percorso include traghetti","way_contains_private":"Il percorso include strade private","way_contains_toll":"Il percorso include pedaggi","way_crosses_border":"Il percorso attraversa un confine di stato","way_contains":"Il percorso include %1$s","way_contains_restrictions":"","tracks":"strade sterrate","steps":"Passi","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Partenza","intermediate_label":"Punto intermedio","end_label":"Arrivo","set_start":"Imposta partenza","set_intermediate":"Imposta punto intermedio","set_end":"Imposta arrivo","center_map":"Centra la mappa qui","show_coords":"Mostra coordinate","query_osm":"","route":"Itinerario","add_to_route":"Aggiungi destinazione","delete_from_route":"Elimina dall\'itinerario","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"Aiuto","apply_custom_model":"Applica","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Escludi autostrada","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Limita velocità","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"Escludi area","combined_example":"Esempio combinato","examples_custom_model":"Esempi","marker":"Marker","gh_offline_info":"Servizio GraphHopper non disponibile?","refresh_button":"Ricarica pagina","server_status":"Stato","zoom_in":"Zoom avanti","zoom_out":"Zoom indietro","zoom_to_route":"","drag_to_reorder":"Trascina per riordinare","route_timed_out":"Calcolo del percorso fallito","route_request_failed":"Richiesta della posizione fallita","current_location":"Posizione attuale","searching_location":"Ricerca posizione","searching_location_failed":"Ricerca posizione fallita","via_hint":"Attraverso","from_hint":"Da","gpx_export_button":"Esporta GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Nascondi","details_button":"Dettagli","to_hint":"A","route_info":"%1$s in %2$s","search_button":"Ricerca","more_button":"altro","pt_route_info":"arrivato alle %1$s con %2$s trasferimenti (%3$s)","pt_route_info_walking":"arrivato alle %1$s solo camminando (%2$s)","locations_not_found":"Percorso non calcolabile. Località non trovata(e) nell\'area.","search_with_nominatim":"Cerca con Nominatim","powered_by":"Offerto da","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicletta","racingbike":"Bici da corsa","mtb":"Mountainbike","car":"Auto","foot":"A piedi","hike":"Scarpinata","small_truck":"Furgone","bus":"Tram","truck":"Camion","staticlink":"permalink","motorcycle":"Moto","scooter":"","back_to_map":"Indietro","distance_unit":"Le distanze sono in %1$s","waiting_for_gps":"Aspettando il segnale GPS...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ja":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"座標を表示","query_osm":"","route":"経路","add_to_route":"","delete_from_route":"経路から取り除く","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"ピン","gh_offline_info":"サーバに接続できませんでした","refresh_button":"更新","server_status":"ステータス","zoom_in":"拡大","zoom_out":"縮小","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"経由","from_hint":"出発地点","gpx_export_button":"GPX形式でエクスポート","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"目的地点","route_info":"%1$s 所要時間 %2$s","search_button":"検索","more_button":"詳細","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"経路を検索できませんでした.指定の地点が存在しません.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"自転車","racingbike":"レースバイク","mtb":"マウンテンバイク","car":"車","foot":"徒歩","hike":"","small_truck":"","bus":"","truck":"","staticlink":"パーマリンク","motorcycle":"オートバイ","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ko":{"total_ascend":"오르막길 총 %1$s","total_descend":"내리막길 총 %1$s","way_contains_ford":"경로에 여울이 있습니다","way_contains_ferry":"페리 승선","way_contains_private":"사유 도로","way_contains_toll":"유료 도로","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"출발지","intermediate_label":"경유지","end_label":"도착지","set_start":"출발지로 설정","set_intermediate":"경유지로 설정","set_end":"도착지로 설정","center_map":"여기를 지도의 중심으로 설정","show_coords":"좌표 보기","query_osm":"","route":"경로","add_to_route":"","delete_from_route":"경로에서 삭제","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"핀","gh_offline_info":"GraphHopper API에 연결할 수 없습니다.","refresh_button":"새로고침","server_status":"상태","zoom_in":"확대","zoom_out":"축소","zoom_to_route":"","drag_to_reorder":"드래그하여 재정렬","route_timed_out":"경로 탐색 시간 초과","route_request_failed":"경로 탐색 요청 실패","current_location":"현재 위치","searching_location":"위치 탐색","searching_location_failed":"위티 탐색 실패","via_hint":"경유","from_hint":"출발","gpx_export_button":"GPX 내보내기","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"도착","route_info":"%1$s %2$s 소요","search_button":"탐색","more_button":"더보기","pt_route_info":"%1$s회 환승, %2$s에 도착 (%3$s)","pt_route_info_walking":"도보 이용, %1$s에 도착 (%2$s)","locations_not_found":"경로를 탐색할 수 없습니다. 이 지역에서 위치를 찾을 수 없습니다.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"자전거","racingbike":"경주용 자전거","mtb":"산악자전거","car":"자동차","foot":"도보","hike":"하이킹","small_truck":"소형 트럭","bus":"버스","truck":"트럭","staticlink":"정적 링크","motorcycle":"모터사이클","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"kz":{"total_ascend":"%1$s көтерілу","total_descend":"%1$s төмен түсу","way_contains_ford":"Жолда өткел бар","way_contains_ferry":"паромға отырыңыз","way_contains_private":"жекеменшік жол","way_contains_toll":"жол ақылы","way_crosses_border":"жол ел шекарасын кесіп жатыр","way_contains":"жолда %1$s бар","way_contains_restrictions":"","tracks":"асфальтталмаған қара жолдар","steps":"қадамдар","footways":"жаяу жүргіншілер жолы","steep_sections":"күрделі аялдамалар","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"бастапқы нүкте","intermediate_label":"аралық нүкте","end_label":"соңғы нүкте","set_start":"бастапқы нүктені таңдау","set_intermediate":"аралық нүктені қосу","set_end":"соңғы нүктені таңдау","center_map":"","show_coords":"координаталарды көрсету","query_osm":"","route":"маршрут","add_to_route":"","delete_from_route":"маршруттан жою","open_custom_model_box":"Арнайы модель қорабын ашыңыз","draw_areas_enabled":"","help_custom_model":"көмек","apply_custom_model":"қолдану","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Автомогистральді алып тастау","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"шектеулі жылдамдық","cargo_bike_example":"жүк велосипеді","prefer_bike_network":"","exclude_area_example":"Аймақты алып тастау","combined_example":"","examples_custom_model":"мысалдар","marker":"белгі","gh_offline_info":"","refresh_button":"бетті жаңартыңыз","server_status":"жағдайы","zoom_in":"үлкейту","zoom_out":"кішірейту","zoom_to_route":"","drag_to_reorder":"Ретін өзгерту үшін жылжытыңыз","route_timed_out":"Маршрутты есептеу уақыты таусылды","route_request_failed":"маршрут сұранысы орындалмады","current_location":"қазіргі орныңыз","searching_location":"орналасқан жерді іздеу","searching_location_failed":"Қазіргі орныңызды іздеу сәтсіз аяқталды","via_hint":"арқылы","from_hint":"Бастауы","gpx_export_button":"GPX Экспорты","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"жасыру","details_button":"толығырақ","to_hint":"дейін","route_info":"%1$s-ге дейін шамамен %2$s уақыт кетеді","search_button":"іздеу","more_button":"тағы","pt_route_info":"%2$s-ден %1$s-ге пересадкамен бару (%3$s)","pt_route_info_walking":"%1$s-ге дейін тек жаяу жүру (%2$s)","locations_not_found":"Маршрут құру мүмкін болмады. Орын анықталмады.","search_with_nominatim":"Nominatim арқылы іздеу","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"велосипед","racingbike":"","mtb":"Таулы велосипед","car":"көлік","foot":"жаяу жүргінші","hike":"","small_truck":"Шағын жүк көлігі","bus":"автобус","truck":"үлкен жүк көлігі","staticlink":"","motorcycle":"мотоцикл","scooter":"","back_to_map":"Қайту","distance_unit":"","waiting_for_gps":"GPS сигналын күтіңіз...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"lt_LT":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Pradėti","intermediate_label":"","end_label":"Baigti","set_start":"Pasirinkti pradžią čia","set_intermediate":"","set_end":"Pasirinkti pabaigą čia","center_map":"Centruoti žemėlapį čia","show_coords":"Rodyti koordinates","query_osm":"","route":"Maršrutas","add_to_route":"","delete_from_route":"Ištrinti iš maršruto","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Žymeklis","gh_offline_info":"GraphHopper API nepasiekiamas?","refresh_button":"Atnaujinti puslapį","server_status":"Būsena","zoom_in":"Priartinti","zoom_out":"Atitolinti","zoom_to_route":"","drag_to_reorder":"Tempkite, kad pakeistumėte eilės tvarką","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Per","from_hint":"Nuo","gpx_export_button":"GPX eksportas","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Iki","route_info":"%1$s užtruksite %2$s","search_button":"Ieškoti","more_button":"dar","pt_route_info":"Atvyksta %1$s su %2$s persėdimais (%3$s)","pt_route_info_walking":"Atvyksta %1$s, su ėjimu pėščiomis (%2$s)","locations_not_found":"Neįmanoma sukurti maršruto. Nurodyti taškai nerasti šioje zonoje.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Dviratis","racingbike":"Plentinis dviratis","mtb":"MTB dviratis","car":"Automobilis","foot":"Pėsčiomis","hike":"","small_truck":"Mažas sunkvežimis","bus":"Autobusas","truck":"Sunkvežimis","staticlink":"statinė nuoroda","motorcycle":"Motociklas","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"mn":{"total_ascend":"%1$s нийт өгсөнө","total_descend":"%1$s нийт уруудна","way_contains_ford":"Маршрут нь гүүрүүд багтдаг","way_contains_ferry":"Маршрут нь гарам багтана","way_contains_private":"Хувийн замтай маршрут","way_contains_toll":"Маршрут хураамжтай","way_crosses_border":"Маршрут нь улсын хилээр дамждаг","way_contains":"Маршрут нь %1$s-г агуулдаг","way_contains_restrictions":"Боломжит хандалтын хязгаарлалттай маршрут","tracks":"шороон замууд","steps":"алхам","footways":"явган хүний зам","steep_sections":"эгц хэсгүүд","private_sections":"хувийн хэсгүүд","challenging_sections":"хүнд хэцүү эсвэл аюултай хэсгүүд","trunk_roads_warn":"Маршрут нь аюултай байж болзошгүй гол зам буюу түүнээс ч дор байдаг","get_off_bike_for":"Унадаг дугуйнаасаа бууж, %1$s руу түлхэнэ үү","start_label":"Эхлэх","intermediate_label":"Дунд зэрэг","end_label":"Төгсгөл","set_start":"Эндээс","set_intermediate":"Байршлаар дамжуулан","set_end":"Энд","center_map":"Төвийн газрын зураг","show_coords":"Координатуудыг харуулах","query_osm":"OSM асуулга","route":"Маршрут","add_to_route":"Байршил нэмэх","delete_from_route":"Маршрутаас устгах","open_custom_model_box":"Захиалгат загварын хайрцгийг нээнэ үү","draw_areas_enabled":"Газрын зураг дээр газар нутгийг зурж, өөрчлөх","help_custom_model":"Туслаач","apply_custom_model":"Өргөдөл гаргах","custom_model_enabled":"Захиалгат загвар идэвхтэй","settings":"Тохиргоо","settings_close":"Хаах","exclude_motorway_example":"Хурдны замыг оруулахгүй","exclude_disneyland_paris_example":"Парисын Диснейлэндийг оруулахгүй","simple_electric_car_example":"Энгийн цахилгаан машин","avoid_tunnels_bridges_example":"Гүүр, хонгилоос зайлсхий","limit_speed_example":"Хурд хязгаарлах","cargo_bike_example":"Ачааны дугуй","prefer_bike_network":"Дугуйн замыг илүүд үзээрэй","exclude_area_example":"Талбайг оруулахгүй","combined_example":"Хосолсон жишээ","examples_custom_model":"Жишээ","marker":"Тэмдэглэгч","gh_offline_info":"GraphHopper API офлайн уу?","refresh_button":"Хуудсыг шинэчлэх","server_status":"Статус","zoom_in":"Томруулах","zoom_out":"Жижигрүүлэх","zoom_to_route":"Чиглэл рүү томруулна уу","drag_to_reorder":"Дахин эрэмбэлэхийн тулд чирнэ үү","route_timed_out":"Маршрутын тооцооны хугацаа дууссан","route_request_failed":"Маршрутын хүсэлт амжилтгүй боллоо","current_location":"Одоогийн байршил","searching_location":"Байршил хайж байна","searching_location_failed":"Байршлыг хайж чадсангүй","via_hint":"Via","from_hint":"-аас","gpx_export_button":"GPX экспорт","gpx_button":"GPX","settings_gpx_export":"GPX экспорт","settings_gpx_export_trk":"Замтай","settings_gpx_export_rte":"Маршруттай","settings_gpx_export_wpt":"Замын цэгтэй","hide_button":"Нуух","details_button":"Дэлгэрэнгүй мэдээлэл","to_hint":"руу","route_info":"%1$s нь %2$s авна","search_button":"Хайх","more_button":"илүү","pt_route_info":"%1$s-д %2$s шилжүүлгээр (%3$s) ирнэ","pt_route_info_walking":"зүгээр л алхаж байж %1$s хүрнэ (%2$s)","locations_not_found":"Чиглүүлэлт хийх боломжгүй. Тухайн бүсэд байршил олдсонгүй.","search_with_nominatim":"Nominatim ашиглан хайх","powered_by":"Powered by","info":"Мэдээлэл","feedback":"Санал хүсэлт","imprint":"Дардас","privacy":"Нууцлал","terms":"Нөхцөл","bike":"Унадаг дугуй","racingbike":"Уралдааны дугуй","mtb":"MTB","car":"Машин","foot":"Хөл","hike":"Явган аялал","small_truck":"Жижиг ачааны машин","bus":"Автобус","truck":"Ачааны машин","staticlink":"статик холбоос","motorcycle":"Мотоцикл","scooter":"Скутер","back_to_map":"Буцах","distance_unit":"Зай %1$s байна","waiting_for_gps":"GPS дохиог хүлээж байна...","elevation":"Өндөр","slope":"Налуу","towerslope":"Цамхаг налуу","country":"Улс","surface":"Гадаргуу","road_environment":"Замын орчин","road_access":"Зам нэвтрэх","road_class":"Замын анги","max_speed":"Макс. хурд","average_speed":"Дундаж. хурд","track_type":"Замын төрөл","toll":"Төлбөр","next":"Дараачийн","back":"Буцах","as_start":"","as_destination":"","poi_removal_words":"талбай, эргэн тойронд, энд, дотор, орон нутгийн, ойролцоо, энэ","poi_nearby":"%1$s ойролцоо байна","poi_in":"%2$s-д %1$s","poi_airports":"нисэх онгоцны буудал, нисэх онгоцны буудал","poi_atm":"атм","poi_banks":"банк, банк","poi_bureau_de_change":"","poi_bus_stops":"автобусны зогсоол, автобусны зогсоол, автобус","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"цэнэглэх станц, цэнэглэх станц, цэнэглэгч, цэнэглэгч","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"боловсрол","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"шатахуун түгээх станц, шатахуун түгээх станц, шатахуун түгээх станц, шатахуун түгээх станц","poi_hospitals":"эмнэлгүүд, эмнэлэг","poi_hotels":"зочид буудал, зочид буудал","poi_leisure":"чөлөөт цаг","poi_museums":"музей, музей","poi_parking":"зогсоол, зогсоол","poi_parks":"цэцэрлэгт хүрээлэн, цэцэрлэгт хүрээлэн","poi_pharmacies":"эмийн сан, эмийн сан","poi_playgrounds":"тоглоомын талбай, тоглоомын талбай","poi_public_transit":"нийтийн тээвэр","poi_police":"цагдаа","poi_post":"шуудан, шуудангийн газар","poi_post_box":"шуудангийн хайрцаг, шуудангийн хайрцаг, шуудангийн хайрцаг, захидлын хайрцаг","poi_railway_station":"төмөр замын өртөө, төмөр замын буудал, галт тэрэг, галт тэрэг","poi_recycling":"","poi_restaurants":"ресторан, зоогийн газар, идэх","poi_schools":"сургууль, сургууль","poi_shopping":"дэлгүүр, дэлгүүр, дэлгүүр","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"супер захууд, супер захууд","poi_swim":"","poi_toilets":"бие засах газар, бие засах газар","poi_tourism":"аялал жуулчлал","poi_townhall":"","poi_transit_stops":"автобусны зогсоол, автобусны зогсоол, автобус","poi_viewpoint":"","poi_water":"ус","poi_wifi":""},"nb_NO":{"total_ascend":"%1$s totale høydemeter","total_descend":"%1$s total nedkjøring","way_contains_ford":"ruten inneholder vadesteder","way_contains_ferry":"ruten inneholder ferge","way_contains_private":"ruten inneholder privat vei","way_contains_toll":"ruten er avgiftsbelagt","way_crosses_border":"ruten krysser landegrense","way_contains":"ruten inneholder %1$s","way_contains_restrictions":"","tracks":"grusvei","steps":"trapper","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Start","intermediate_label":"delmål","end_label":"Mål","set_start":"Angi som start","set_intermediate":"Angi delmål","set_end":"Angi som mål","center_map":"Sentrer kart","show_coords":"Via koordinater","query_osm":"","route":"Rute","add_to_route":"Legg til","delete_from_route":"Fjern fra ruten","open_custom_model_box":"Åpne tilpasser modellboks","draw_areas_enabled":"","help_custom_model":"Hjelp","apply_custom_model":"Bekreft","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Unngå motorvei","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Begrens hastighet","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"Unngå område","combined_example":"","examples_custom_model":"Eksempler","marker":"Nål","gh_offline_info":"GraphHopper API offline?","refresh_button":"Oppdater side","server_status":"Status","zoom_in":"Zoom inn","zoom_out":"Zoom ut","zoom_to_route":"","drag_to_reorder":"Dra for å endre rekkefølge","route_timed_out":"","route_request_failed":"","current_location":"Nåværende plassering","searching_location":"Søker…","searching_location_failed":"Søk feilet","via_hint":"Via","from_hint":"Fra","gpx_export_button":"Eksporter GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Skjul","details_button":"Detaljer","to_hint":"Til","route_info":"%1$s vil ta %2$s","search_button":"Søk","more_button":"flere","pt_route_info":"ankommer %1$s med %2$s bytter (%3$s)","pt_route_info_walking":"ankommer %1$s ved å gå (%2$s)","locations_not_found":"Ruteplanlegging mislykket. Destinasjon(ene) ikke funnet i valgt område","search_with_nominatim":"Søk med Nominatim","powered_by":"Powered by","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Sykkel","racingbike":"Landeveisykkel","mtb":"Mountain bike","car":"Bil","foot":"Gange","hike":"Vandring","small_truck":"Lett lastebil","bus":"Buss","truck":"Lastebil","staticlink":"lenke","motorcycle":"Motorsykkel","scooter":"","back_to_map":"Tilbake","distance_unit":"Avstand måles i %1$s","waiting_for_gps":"Venter på GPS-signal","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ne":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"बाट","from_hint":"सुरु","gpx_export_button":"GPX मा परिबर्तन गर्नुहोस","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"अन्त्य","route_info":"%1$s को लागि %2$s लाग्नेछ","search_button":"खोज","more_button":"अझै","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"ठाउँ नभेटीनाले बाटो पत्ता लगाउन सकिएन","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"बाईक","racingbike":"छिटो गतिका बाईक","mtb":"माउन्टेन बाईक","car":"गाडी","foot":"पैदल","hike":"","small_truck":"","bus":"","truck":"","staticlink":"ईस्ट्यातिक लिंक","motorcycle":"मोटरसाइकल","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"nl":{"total_ascend":"%1$s totale klim","total_descend":"%1$s totale daling","way_contains_ford":"Er is een doorwaadbare plaats","way_contains_ferry":"route met veerponten","way_contains_private":"route met privé wegen","way_contains_toll":"route met tolwegen","way_crosses_border":"route met grensovergangen","way_contains":"route bevat %1$s","way_contains_restrictions":"","tracks":"route bevat onverharde wegen","steps":"trappen","footways":"voetpaden","steep_sections":"route bevat stijle hellingen","private_sections":"privé gedeelten","challenging_sections":"","trunk_roads_warn":"Route bevat mogelijk gevaarlijke stukken","get_off_bike_for":"stap af en duw voor %1$s","start_label":"Start","intermediate_label":"Tussenstop","end_label":"Einde","set_start":"Stel in als startpunt","set_intermediate":"Stel in als tussenstop","set_end":"Stel in als einde","center_map":"Centreer de kaart hier","show_coords":"Laat coordinaten zien","query_osm":"Query OSM","route":"Route","add_to_route":"voeg locatie toe","delete_from_route":"Van route verwijderen","open_custom_model_box":"Open op maat gemaakte box","draw_areas_enabled":"Teken en verander gebied op de kaart","help_custom_model":"Help","apply_custom_model":"Activeer","custom_model_enabled":"","settings":"Instellingen","settings_close":"Sluit","exclude_motorway_example":"Vermijd snelweg","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Max snelheid","cargo_bike_example":"Bestel fiets","prefer_bike_network":"Prefereer fiets routes","exclude_area_example":"Exclusief gebied","combined_example":"Samengesteld voorbeeld","examples_custom_model":"Voorbeeld","marker":"Pin","gh_offline_info":"GrabHopper API offline?","refresh_button":"Ververs pagina","server_status":"Status","zoom_in":"Zoom in","zoom_out":"Zoom uit","zoom_to_route":"","drag_to_reorder":"Slepen om opnieuw te organiseren","route_timed_out":"server berekening time out","route_request_failed":"Aanvraag mislukt","current_location":"huidige locatie","searching_location":"zoek locatie","searching_location_failed":"locatie zoeken mislukt","via_hint":"via","from_hint":"van","gpx_export_button":"GPX export","gpx_button":"GPX export te groot","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"verberg","details_button":"details","to_hint":"naar","route_info":"%1$s duurt %2$s","search_button":"zoek","more_button":"meer","pt_route_info":"aankomst om %1$s met %2$s overstappen (%3$s)","pt_route_info_walking":"aankomst om %1$s te voet (%2$s)","locations_not_found":"Route niet mogelijk. Locatie(s) niet gevonden.","search_with_nominatim":"","powered_by":"Powered by","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"fiets","racingbike":"racefiets","mtb":"mountainbike","car":"auto","foot":"te voet","hike":"wandelen","small_truck":"bestelbus","bus":"bus","truck":"vrachtwagen","staticlink":"statische link","motorcycle":"motorfiets","scooter":"","back_to_map":"Terug","distance_unit":"Afstanden zijn in %1$s","waiting_for_gps":"Wacht op GPS signaal","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"pl_PL":{"total_ascend":"%1$s w górę","total_descend":"%1$s w dół","way_contains_ford":"Trasa przez brody","way_contains_ferry":"Trasa obejmuje promy","way_contains_private":"Trasa przez prywatne drogi","way_contains_toll":"Trasa jest płatna","way_crosses_border":"Trasa przebiega przez granicę państwową","way_contains":"Trasa przez %1$s","way_contains_restrictions":"","tracks":"nieutwardzone drogi gruntowe","steps":"schody","footways":"chodniki","steep_sections":"strome fragmenty","private_sections":"tereny prywatne","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"piechotą przez %1$s","start_label":"Początek","intermediate_label":"Punkt pośredni","end_label":"Cel","set_start":"Ustaw jako początek","set_intermediate":"Ustaw jako punkt pośredni","set_end":"Ustaw jako cel","center_map":"Centruj mapę tutaj","show_coords":"Pokaż współrzędne","query_osm":"Wyświetl dane obiektów na OSM","route":"Trasa","add_to_route":"Dodaj punkt pośredni","delete_from_route":"Usuń z trasy","open_custom_model_box":"Otwórz okienko modelu niestandardowego","draw_areas_enabled":"Rysuj i zmieniaj obszar na mapie","help_custom_model":"Pomoc","apply_custom_model":"Zastosuj","custom_model_enabled":"","settings":"Ustawienia","settings_close":"Zamknij","exclude_motorway_example":"Pomijaj autostrady","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Ogranicz prędkość","cargo_bike_example":"Rower towarowy","prefer_bike_network":"Preferuj ścieżki rowerowe","exclude_area_example":"Wyklucz obszar","combined_example":"Przykład łączony","examples_custom_model":"Przykłady","marker":"Znacznik","gh_offline_info":"GraphHopper API nie działa?","refresh_button":"Odśwież stronę","server_status":"Stan","zoom_in":"Przybliż","zoom_out":"Oddal","zoom_to_route":"","drag_to_reorder":"Przeciągnij, aby przestawić","route_timed_out":"Przekroczono limit czasu","route_request_failed":"Wyznaczenie trasy nie powiodło się","current_location":"Moja geolokalizacja","searching_location":"Wyszukiwanie...","searching_location_failed":"Nie udało się wyszukać lokalizacji","via_hint":"Przez","from_hint":"Z","gpx_export_button":"Eksportuj GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Ukryj","details_button":"Szczegóły","to_hint":"Do","route_info":"%1$s zajmie %2$s","search_button":"Szukaj","more_button":"więcej","pt_route_info":"przybycie o %1$s z %2$s przesiadkami (%3$s)","pt_route_info_walking":"przybycie o %1$s pieszo (%2$s)","locations_not_found":"Nie można wyznaczyć trasy. Nie znaleziono lokalizacji.","search_with_nominatim":"Szukaj z Nominatimem","powered_by":"Dostarczony przez","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Rower","racingbike":"Rower wyścigowy","mtb":"Rower górski","car":"Samochód","foot":"Pieszo","hike":"Szlakiem turystycznym","small_truck":"Mała ciężarówka","bus":"Autobus","truck":"Ciężarówka","staticlink":"link","motorcycle":"Motocykl","scooter":"","back_to_map":"Wróć","distance_unit":"Odległości w %1$s","waiting_for_gps":"Oczekiwanie na sygnał GPS...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"pt_BR":{"total_ascend":"subida de %1$s","total_descend":"descida de %1$s","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Início","intermediate_label":"Intermediário","end_label":"Fim","set_start":"Definir como início","set_intermediate":"Definir como intermediário","set_end":"Definir como fim","center_map":"Centralizar o mapa aqui","show_coords":"Mostrar coordenadas","query_osm":"","route":"Rota","add_to_route":"","delete_from_route":"Remover da rota","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marca","gh_offline_info":"API do GraphHopper offline?","refresh_button":"Recarregar página","server_status":"Status","zoom_in":"Ampliar","zoom_out":"Reduzir zoom","zoom_to_route":"","drag_to_reorder":"Arraste para reordenar","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Via","from_hint":"De","gpx_export_button":"Exportar GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Para","route_info":"%1$s levará %2$s","search_button":"Pesquisar","more_button":"mais","pt_route_info":"chega às %1$s com %2$s trocas (%3$s)","pt_route_info_walking":"chega às %1$s caminhando (%2$s)","locations_not_found":"Rota inviável. Localização(ões) não encontrada(s) na área.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bicicleta de corrida","mtb":"Mountainbike","car":"Carro","foot":"A pé","hike":"Caminhada","small_truck":"Caminhão pequeno","bus":"Ônibus","truck":"Caminhão","staticlink":"Link estático","motorcycle":"Motocicleta","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"pt_PT":{"total_ascend":"subida de %1$s","total_descend":"descida de %1$s","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"Mostrar coordenadas","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Por","from_hint":"De","gpx_export_button":"Exportar GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Para","route_info":"%1$s irá demorar %2$s","search_button":"Pesquisar","more_button":"mais","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Roteamento impossível. Localização(ões) não encontrada(s) na área.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bicicleta de corrida","mtb":"Bicicleta de montanha","car":"Carro","foot":"A pé","hike":"Caminhada","small_truck":"Camião pequeno","bus":"Autocarro","truck":"Camião","staticlink":"Ligação permanente","motorcycle":"Motocicleta","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ro":{"total_ascend":"urcare %1$s","total_descend":"coborâre %1$s","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Pornire","intermediate_label":"Intermediar","end_label":"Sfârșit","set_start":"Selectează ca punct de pornire","set_intermediate":"Selectează ca punct intermediar","set_end":"Selectează ca punct de sosire","center_map":"Centrează harta aici","show_coords":"Arată coordonatele","query_osm":"","route":"Intinerariu","add_to_route":"","delete_from_route":"Șterge din intinerariu","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Punct de interes","gh_offline_info":"Serverul GraphHopper API este disponibil?","refresh_button":"Reîmprospătează pagina","server_status":"Disponibilitate","zoom_in":"Mărește","zoom_out":"Micșorează","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Prin","from_hint":"De la","gpx_export_button":"Exportă GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"La","route_info":"%1$s durează %2$s","search_button":"Caută","more_button":"mai mult","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Traseul nu este posibil. Locul(locurile) nu pot fi găsite în zonă.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"bicicletă","racingbike":"bicicletă de curse","mtb":"Mountainbike","car":"mașină","foot":"pe jos","hike":"Drumeție","small_truck":"Camionetă","bus":"Autobuz","truck":"Camion","staticlink":"link","motorcycle":"Motocicletă","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ru":{"total_ascend":"подъём на %1$s","total_descend":"спуск на %1$s","way_contains_ford":"На пути есть брод","way_contains_ferry":"садитесь на паром","way_contains_private":"частная дорога","way_contains_toll":"платная дорога","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Начало","intermediate_label":"Промежуточная точка","end_label":"Конец","set_start":"Установить начало здесь","set_intermediate":"Установить промежуточной точкой","set_end":"Установить конец здесь","center_map":"Сдвинуть карту сюда","show_coords":"Показать координаты","query_osm":"","route":"Маршрут","add_to_route":"","delete_from_route":"Удалить из маршрута","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Значок","gh_offline_info":"GraphHopper API недоступен?","refresh_button":"Обновить страницу","server_status":"Статус сервера","zoom_in":"Приблизить","zoom_out":"Отдалить","zoom_to_route":"","drag_to_reorder":"Переместите путевую точку","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Через","from_hint":"От","gpx_export_button":"Экспорт GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"До","route_info":"%1$s займет %2$s","search_button":"Поиск","more_button":"еще","pt_route_info":"Прибытие в %1$s с %2$s пересадками (%3$s)","pt_route_info_walking":"Прибытие в %1$s пешком (%2$s)","locations_not_found":"Построить маршрут невозможно. Не определено местоположение.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Велосипед","racingbike":"Гоночный велосипед","mtb":"Горный велосипед","car":"Автомобиль","foot":"Пешком","hike":"Пеший туризм","small_truck":"Лёгкий грузовик","bus":"Автобус","truck":"Грузовой автомобиль","staticlink":"Постоянная ссылка","motorcycle":"Мотоцикл","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"sk":{"total_ascend":"%1$s celkové stúpanie","total_descend":"%1$s celkové klesanie","way_contains_ford":"popri ceste sa nachádza brod","way_contains_ferry":"","way_contains_private":"Trasa obsahuje súkromné cesty.","way_contains_toll":"Trasa obsahuje spoplatnené úseky.","way_crosses_border":"Trasa križuje štátnu hranicu.","way_contains":"Trasa obsahuje %1$s","way_contains_restrictions":"","tracks":"nespevnené cesty","steps":"schody","footways":"chodníky","steep_sections":"úseky s prudkým stúpaním","private_sections":"súkromné úseky","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"Je potrebné zosadnúť z bicykla a %1$s ho tlačiť","start_label":"Začiatok","intermediate_label":"Bod trasy","end_label":"Koniec","set_start":"Nastaviť ako začiatok","set_intermediate":"Nastaviť ako bod trasy","set_end":"Nastaviť ako koniec","center_map":"Vycentrovať mapu sem","show_coords":"Zobraziť súradnice","query_osm":"Požiadavka na OSM","route":"Trasa","add_to_route":"Pridať umiestnenie","delete_from_route":"Odstrániť z trasy","open_custom_model_box":"","draw_areas_enabled":"Kresliť a meniť oblasti na mape","help_custom_model":"Pomocník","apply_custom_model":"Použiť","custom_model_enabled":"Je aktívny vlastný model","settings":"Nastavenia","settings_close":"Zavrieť","exclude_motorway_example":"Vynechať diaľnice","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Limit rýchlosti","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"Vynechať oblasť","combined_example":"","examples_custom_model":"Príklady","marker":"Značka","gh_offline_info":"GraphHopper API bez pripojenia?","refresh_button":"Obnoviť stránku","server_status":"Stav","zoom_in":"Priblížiť","zoom_out":"Oddialiť","zoom_to_route":"","drag_to_reorder":"Ťahaj pre zmenu poradia","route_timed_out":"","route_request_failed":"","current_location":"Aktuálna pozícia","searching_location":"Hľadám pozíciu","searching_location_failed":"Pozícia sa nepodarila nájsť","via_hint":"Cez","from_hint":"Odkiaľ","gpx_export_button":"Export do GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Skryť","details_button":"Podrobnosti","to_hint":"Kam","route_info":"%1$s zaberie %2$s","search_button":"Vyhľadať","more_button":"viac","pt_route_info":"dorazí o %1$s, %2$s prestup(y) (%3$s)","pt_route_info_walking":"príchod o %1$s iba chôdzou (%2$s)","locations_not_found":"Navigovanie nie je možné. Umiestnenie nebolo nájdené v oblasti.","search_with_nominatim":"Hľadať pomocou Nominatim-u","powered_by":"Beží na","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicykel","racingbike":"Cestný bicykel","mtb":"Horský bicykel","car":"Automobil","foot":"Pešo","hike":"Túra","small_truck":"Dodávka","bus":"Autobus","truck":"Kamión","staticlink":"nemenný odkaz","motorcycle":"Motocykel","scooter":"","back_to_map":"Späť","distance_unit":"Vzdialenosti sú v %1$s","waiting_for_gps":"Čakám na GPS signál...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"sl_SI":{"total_ascend":"Skupni vzpon: %1$s","total_descend":"Skupni spust: %1$s","way_contains_ford":"Na poti je pregaz","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Začetna točka","intermediate_label":"Vmesna točka","end_label":"Končna točka","set_start":"Nastavi kot začetno točko","set_intermediate":"Nastavi kot vmesno točko","set_end":"Nastavi kot končno točko","center_map":"Premakni na sredino","show_coords":"Prikaži koordinate","query_osm":"","route":"Pot","add_to_route":"","delete_from_route":"Izbriši iz poti","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Oznaka","gh_offline_info":"Je API GraphHopper morda izklopljen?","refresh_button":"Osveži stran","server_status":"Stanje","zoom_in":"Povečaj","zoom_out":"Pomanjšaj","zoom_to_route":"","drag_to_reorder":"Povlecite za spremembo vrstnega reda","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Preko","from_hint":"Od","gpx_export_button":"Izvozi GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Do","route_info":"%1$s bo trajalo %2$s","search_button":"Išči","more_button":"več","pt_route_info":"prispe ob %1$s s/z %2$s-imi prestopi (%3$s)","pt_route_info_walking":"prispe ob %1$s s samo hojo (%3$s)","locations_not_found":"Usmerjanje ni mogoče. Lokacije ni bilo mogoče najti na tem območju.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Kolo","racingbike":"Cestno kolo","mtb":"Gorsko kolo","car":"Avto","foot":"Hoja","hike":"Pohodništvo","small_truck":"Majhen tovornjak","bus":"Avtobus","truck":"Tovornjak","staticlink":"Povezava","motorcycle":"Motorno kolo","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"sr_RS":{"total_ascend":"%1$s ukupni uspon","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Početak","intermediate_label":"Prelazni","end_label":"Kraj","set_start":"Postavi kao početak","set_intermediate":"Postavi kao prelazni","set_end":"Postavi kao kraj","center_map":"Postavi kao centar karte","show_coords":"Prikaži koordinate","query_osm":"","route":"Ruta","add_to_route":"","delete_from_route":"Izbriši iz rute","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Oznaka","gh_offline_info":"GraphHopper API nedostupan","refresh_button":"Osveži stranicu","server_status":"Status","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Preko","from_hint":"Od","gpx_export_button":"Izvezi kao GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Do","route_info":"%1$s trajaće %2$s","search_button":"Pretraži","more_button":"više","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Rutiranje nije moguće. Lokacije nisu pronađene na ovome području.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicikl","racingbike":"Trkački motocikl","mtb":"Brdski bicikl","car":"Automobil","foot":"Pešak","hike":"","small_truck":"Mali kamion","bus":"Autobus","truck":"Kamion","staticlink":"statička veza","motorcycle":"Motocikl","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"sv_SE":{"total_ascend":"%1$s stigning","total_descend":"%1$s nedstigning","way_contains_ford":"Observera att det finns ett vadställe längs rutten","way_contains_ferry":"Ta färjan","way_contains_private":"Privat väg","way_contains_toll":"Avgiftsbelagd väg","way_crosses_border":"","way_contains":"Rutten inkluderar %1$s","way_contains_restrictions":"","tracks":"","steps":"steg","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Start","intermediate_label":"delmål","end_label":"mål","set_start":"Ange som start","set_intermediate":"ange delmål","set_end":"Ange som mål","center_map":"Centrera kartan här","show_coords":"Visa koordinater","query_osm":"","route":"Rutt","add_to_route":"Lägg till plats","delete_from_route":"Ta bort från rutt","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"Hjälp","apply_custom_model":"Applicera","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"Exempel","marker":"Markör","gh_offline_info":"GrabHopper API offline?","refresh_button":"Ladda om sida","server_status":"Status","zoom_in":"Zooma in","zoom_out":"Zooma ut","zoom_to_route":"","drag_to_reorder":"Dra för att ändra ordning","route_timed_out":"","route_request_failed":"","current_location":"Nuvarande plats","searching_location":"Söker plats","searching_location_failed":"","via_hint":"Via","from_hint":"Från","gpx_export_button":"exportera GPX-fil","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Göm","details_button":"Detaljer","to_hint":"Till","route_info":"%1$s med körtid %2$s","search_button":"Sök","more_button":"fler","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Kan inte beräkna rutt. Platsen eller platserna kan inte hittas i området.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Cykel","racingbike":"Tävlingscykel","mtb":"Mountain bike","car":"Bil","foot":"Gång","hike":"Vandra","small_truck":"lätt lastbil","bus":"Buss","truck":"Lastbil","staticlink":"direktlänk","motorcycle":"Motorcykel","scooter":"","back_to_map":"Backa","distance_unit":"Avstånden är i %1$s","waiting_for_gps":"Väntar på GPS signal...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"tr":{"total_ascend":"%1$s toplam tırmanış","total_descend":"%1$s toplam alçalış","way_contains_ford":"Dikkat, yolda bir sığ yer var","way_contains_ferry":"feribota binin","way_contains_private":"özel yol","way_contains_toll":"Ücretli yol","way_crosses_border":"Rota ülke sınırından geçmektedir","way_contains":"Rota %1$s içermektedir","way_contains_restrictions":"","tracks":"Asfaltsız toprak yol","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Başlangıç","intermediate_label":"Ara nokta","end_label":"Son","set_start":"Başlangıç olarak ayarla","set_intermediate":"Ara nokta olarak ayarla","set_end":"Bitiş olarak ayarla","center_map":"Haritayı buraya ortala","show_coords":"Koordinatları göster","query_osm":"","route":"Rota","add_to_route":"Konum ekle","delete_from_route":"Rotadan kaldır","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"Yardım","apply_custom_model":"Uygula","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Hız limiti","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"Örnekler","marker":"İşaretler","gh_offline_info":"GraphHopper arayüzüne ulaşılamıyor","refresh_button":"Sayfayı yinele","server_status":"Durum","zoom_in":"Yakınlaştır","zoom_out":"Uzaklaştır","zoom_to_route":"","drag_to_reorder":"Yeniden sıralamak için sürükle bırak","route_timed_out":"Rota planlaması zaman aşımına uğradı","route_request_failed":"Rota oluşturulamadı","current_location":"Mevcut konum","searching_location":"Konum aranıyor","searching_location_failed":"Konum bulunamadı","via_hint":"Yoluyla","from_hint":"Şuradan","gpx_export_button":"GPX dışa aktar","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Gizle","details_button":"Ayrıntılar","to_hint":"Yönüne","route_info":"%1$s alacak %2$s","search_button":"Ara","more_button":"daha fazlası","pt_route_info":"%2$s aktarma ile varış saati %1$s (%3$s)","pt_route_info_walking":"yürüyerek varış saati %1$s (%2$s)","locations_not_found":"Rota oluşturulamadı. Bölgedeki yer(ler) bulunamadı.","search_with_nominatim":"Nominatim ile ara","powered_by":"... tarafından desteklenmektedir","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bisiklet","racingbike":"Yarış Bisikleti","mtb":"Dağ Bisikleti","car":"Otomobil","foot":"Yürüyerek","hike":"Doğa yürüyüşü","small_truck":"Kamyonet","bus":"Otobüs","truck":"Kamyon","staticlink":"kalıcı bağlantı","motorcycle":"motosiklet","scooter":"","back_to_map":"geri","distance_unit":"Mesafe birimi %1$s","waiting_for_gps":"GPS sinyali bekleniyor","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"uk":{"total_ascend":"%1$s загалом підйому","total_descend":"%1$s загалом спуску","way_contains_ford":"На шляху є брід","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Початок","intermediate_label":"Проміжна точка","end_label":"Кінець","set_start":"Встановити початок","set_intermediate":"Додати проміжну точку","set_end":"Встановити кінець","center_map":"Відцентрувати мапу тут","show_coords":"Показати координати","query_osm":"","route":"Маршрут","add_to_route":"","delete_from_route":"Вилучити з маршруту","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Значок","gh_offline_info":"GraphHopper API в офлайн режимі?","refresh_button":"Оновити сторінку","server_status":"Стан","zoom_in":"Наблизити","zoom_out":"Віддалити","zoom_to_route":"","drag_to_reorder":"Перемістіть шляхову точку","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"через","from_hint":"Від","gpx_export_button":"Експорт в GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"До","route_info":"%1$s займе %2$s","search_button":"Пошук","more_button":"ще","pt_route_info":"Прибуття до %1$s з %2$s пересадками (%3$s)","pt_route_info_walking":"Прибуття до %1$s пішки (%2$s)","locations_not_found":"Побудова маршруту неможлива. Місцезнаходження не визначено.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Велосипед","racingbike":"Шосейний велосипед","mtb":"Гірський велосипед","car":"Автомобіль","foot":"Пішки","hike":"Пішохідний туризм","small_truck":"Мала вантажівка","bus":"Автобус","truck":"Велика вантажівка","staticlink":"статичне посилання","motorcycle":"Мотоцикл","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"uz":{"total_ascend":"%1$s ga ko\'tarilish","total_descend":"%1$s ga tushish","way_contains_ford":"Yo\'lda ford bor","way_contains_ferry":"paromga o\'tiring","way_contains_private":"xususiy yo\'l","way_contains_toll":"pullik yo\'l","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Boshlanish","intermediate_label":"Oraliq nuqta","end_label":"Tamom","set_start":"Boshlash nuqtasi deb belgilash","set_intermediate":"Oraliq nuqtasi deb belgilash","set_end":"Yakunlash nuqtasi deb belgilash","center_map":"Xaritani shu yerga siljitish","show_coords":"Kordinatalarni ko\'rsatish","query_osm":"","route":"Marshrut","add_to_route":"","delete_from_route":"Marshrutdan o\'chirish","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Belgi","gh_offline_info":"GraphHopper API mavjud emasmi?","refresh_button":"Sahifani yangilash","server_status":"Server holati","zoom_in":"Yaqinlashtirish","zoom_out":"Uzoqlashtirish","zoom_to_route":"","drag_to_reorder":"Yoʻnalish nuqtasini koʻchirish","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"orqali","from_hint":"dan","gpx_export_button":"GPX yuklab olish","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"gacha","route_info":"%1$s %2$s oladi","search_button":"Qidiruv","more_button":"yana","pt_route_info":"","pt_route_info_walking":"%1$s ga piyoda yetib kelish (%2$s)","locations_not_found":"Marshrut qurish imkonsiz. Joylashuvingiz aniqlanmadi","search_with_nominatim":"Nominatim orqali qidirish","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Velosiped","racingbike":"Poyga velosipedi","mtb":"Tog\' velosipedi","car":"Avtoulov","foot":"Piyoda","hike":"Piyoda turizmi","small_truck":"Yengil yuk mashinasi","bus":"Avtobus","truck":"Yuk mashinasi","staticlink":"Doimiy havola","motorcycle":"Mototsikl","scooter":"","back_to_map":"Xaritaga qaytish","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"vi_VN":{"total_ascend":"Đi tiếp %1$s nữa","total_descend":"Tổng số hạ %1$s","way_contains_ford":"Chú ý, có khúc sông cạn trên đường","way_contains_ferry":"","way_contains_private":"","way_contains_toll":"đường thu phí","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Điểm bắt đầu","intermediate_label":"Điểm trung gian","end_label":"Điểm kết thúc","set_start":"Chọn điểm bắt đầu","set_intermediate":"Chọn điểm trung gian","set_end":"Chọn điểm kết thúc","center_map":"Trung tâm bản đồ","show_coords":"Xem tọa độ","query_osm":"","route":"Lộ trình","add_to_route":"","delete_from_route":"Xóa khỏi tuyến đường","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Đánh dấu","gh_offline_info":"Mất kết nối với GH API","refresh_button":"Làm mới lại trang","server_status":"Tình trạng Server","zoom_in":"Phóng to","zoom_out":"Thu nhỏ","zoom_to_route":"","drag_to_reorder":"Kéo để sắp xếp lại","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Qua","from_hint":"Từ","gpx_export_button":"Xuất GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Đến","route_info":"%1$s mất %2$s","search_button":"Tìm","more_button":"thêm","pt_route_info":"Đến lúc %1$s với %2$s phương tiện(tuyến) (%3$s )","pt_route_info_walking":"Đến lúc %1$s chỉ bằng cách đi bộ (%2$s)","locations_not_found":"Không tìm thấy lộ trình! Các điểm đã chọn không tìm thấy trong vùng này.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Xe đạp","racingbike":"Xe đạp đua","mtb":"Xe leo núi","car":"Ô tô","foot":"Đi bộ","hike":"Đi bộ đường dài","small_truck":"Xe tải nhỏ","bus":"Xe buýt","truck":"Xe tải","staticlink":"liên kết tĩnh","motorcycle":"Mô tô","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"zh_CN":{"total_ascend":"总上升 %1$s","total_descend":"总下降 %1$s","way_contains_ford":"路径中包含河滩","way_contains_ferry":"路径中包含轮渡","way_contains_private":"路径中包含私有道路","way_contains_toll":"路径中包含收费路段","way_crosses_border":"路径中跨越了国界","way_contains":"路径中包含%1$s","way_contains_restrictions":"可能存在访问限制的路线","tracks":"未铺设的土路","steps":"台阶","footways":"人行道","steep_sections":"陡峭路段","private_sections":"私人路段","challenging_sections":"","trunk_roads_warn":"路线中可能包含潜在危险的主干道或其他更糟糕的道路条件","get_off_bike_for":"骑行者必须下车并推行自行车 %1$s","start_label":"起点","intermediate_label":"途经点","end_label":"终点","set_start":"设置为起点","set_intermediate":"设置为途经点","set_end":"设置为终点","center_map":"地图居中到这里","show_coords":"显示坐标","query_osm":"查询 OSM","route":"路线","add_to_route":"增加位置","delete_from_route":"从线路中移除","open_custom_model_box":"打开自定义模型选项","draw_areas_enabled":" 在地图上绘制和修改区域","help_custom_model":"帮助","apply_custom_model":"应用","custom_model_enabled":"激活自定义模型","settings":"设置","settings_close":"关闭","exclude_motorway_example":"排除高速公路","exclude_disneyland_paris_example":"请避开巴黎迪士尼乐园","simple_electric_car_example":"适合电动汽车行驶的路线","avoid_tunnels_bridges_example":"请避开桥梁和隧道","limit_speed_example":"限速","cargo_bike_example":"货运自行车","prefer_bike_network":"优先选择自行车道","exclude_area_example":"排除区域","combined_example":"综合范例","examples_custom_model":"范例","marker":"标记","gh_offline_info":"无法连接 GraphHopper API","refresh_button":"刷新网页","server_status":"状态","zoom_in":"放大","zoom_out":"缩小","zoom_to_route":"","drag_to_reorder":"拖动可重新排序","route_timed_out":"导航计算超时","route_request_failed":"导航请求失败","current_location":"当前位置","searching_location":"正在搜索位置","searching_location_failed":"搜索位置失败","via_hint":"途经点","from_hint":"起点","gpx_export_button":"GPX 格式导出","gpx_button":"GPX","settings_gpx_export":"GPX导出","settings_gpx_export_trk":"轨迹","settings_gpx_export_rte":"路线","settings_gpx_export_wpt":"航点","hide_button":"隐藏","details_button":"详情","to_hint":"终点","route_info":"%1$s 的路线,需要 %2$s","search_button":"搜索","more_button":"更多","pt_route_info":"换乘 %2$s 次,在 %1$s 到达 (%3$s)","pt_route_info_walking":"仅需步行,在 %1$s 到达 (%2$s)","locations_not_found":"无法导航,因为地点未找到。","search_with_nominatim":"用 Nominatim 搜索","powered_by":"Powered by","info":"信息","feedback":"反馈","imprint":"印记","privacy":"个人隐私","terms":"条款","bike":"自行车","racingbike":"竞技自行车","mtb":"山地自行车","car":"驾车","foot":"步行","hike":"徒步","small_truck":"小货车","bus":"公交车","truck":"卡车","staticlink":"永久链接","motorcycle":"摩托车","scooter":"滑板车","back_to_map":"返回","distance_unit":"距离单位:%1$s","waiting_for_gps":"正在搜索 GPS 信号……","elevation":"高程(地面某点相对于海平面或其他参考平面的垂直距离)","slope":"坡度","towerslope":"塔形坡","country":"国家/乡村","surface":"表面","road_environment":"道路环境","road_access":"道路通行","road_class":"道路等级","max_speed":"最高速度","average_speed":"平均速度","track_type":"轨道类型","toll":"收费","next":"下一页","back":"返回","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"zh_HK":{"total_ascend":"總共上昇 %1$s","total_descend":"總共下降 %1$s","way_contains_ford":"路径中包含河灘","way_contains_ferry":"路径中包含渡輪","way_contains_private":"路径中包含私人道路","way_contains_toll":"路径中包含收費路段","way_crosses_border":"路径跨越了國界","way_contains":"路径中包含%1$s","way_contains_restrictions":"可能存在訪問限制的路線","tracks":"未鋪設的土路","steps":"台階","footways":"人行道","steep_sections":"陡峭路段","private_sections":"私人路段","challenging_sections":"","trunk_roads_warn":"路線中可能包含潛在危險的主幹道或其他更糟糕的路況","get_off_bike_for":"騎行者必須下車並推行自行車 %1$s","start_label":"起點","intermediate_label":"途經點","end_label":"目的地","set_start":"設置為起點","set_intermediate":"設置為途經點","set_end":"設置為目的地","center_map":"地圖居中","show_coords":"顯示坐標","query_osm":"查詢 OSM","route":"路線","add_to_route":"增加位置","delete_from_route":"從路線移除","open_custom_model_box":"打開自定義模型選項","draw_areas_enabled":"在地圖上繪製和修改區域","help_custom_model":"幫助","apply_custom_model":"應用","custom_model_enabled":"啟用自定義模型","settings":"設置","settings_close":"關閉","exclude_motorway_example":"排除高速公路","exclude_disneyland_paris_example":"請避開巴黎迪士尼樂園","simple_electric_car_example":"適合電動汽車行駛的路線","avoid_tunnels_bridges_example":"請避開橋樑和隧道","limit_speed_example":"限速","cargo_bike_example":"貨運自行車","prefer_bike_network":"優先選擇自行車道","exclude_area_example":"排除區域","combined_example":"綜合範例","examples_custom_model":"範例","marker":"標記","gh_offline_info":"無法連接 GraphHopper API","refresh_button":"刷新網頁","server_status":"狀況","zoom_in":"放大","zoom_out":"縮小","zoom_to_route":"","drag_to_reorder":"拖動可重新排序","route_timed_out":"導航計算超時","route_request_failed":"導航請求失敗","current_location":"當前位置","searching_location":"正在搜索位置","searching_location_failed":"搜索位置失敗","via_hint":"途經","from_hint":"起點","gpx_export_button":"GPX格式輸出","gpx_button":"GPX","settings_gpx_export":"GPX導出","settings_gpx_export_trk":"軌跡","settings_gpx_export_rte":"路線","settings_gpx_export_wpt":"航點","hide_button":"隱藏","details_button":"詳情","to_hint":"目的地","route_info":"%1$s 需時 %2$s","search_button":"搜尋","more_button":"更多","pt_route_info":"换乘 %2$s 次,在 %1$s 到達 (%3$s)","pt_route_info_walking":"僅需步行,在 %1$s 到達 (%2$s)","locations_not_found":"無法導航,因為地點未找到。","search_with_nominatim":"用 Nominatim 搜索","powered_by":"Powered by","info":"信息","feedback":"反饋","imprint":"印記","privacy":"個人隱私","terms":"條款","bike":"單車","racingbike":"競技單車","mtb":"越野單車","car":"汽車","foot":"步行","hike":"徒步","small_truck":"小型貨車","bus":"巴士","truck":"貨車","staticlink":"鏈接","motorcycle":"電單車","scooter":"滑板車","back_to_map":"返回","distance_unit":"距離單位:%1$s","waiting_for_gps":"正在搜索 GPS 信號……","elevation":"高程(地面某點相對於海平面或其他參考平面的垂直距離)","slope":"坡度","towerslope":"塔形坡","country":"國家/鄉村","surface":"表面","road_environment":"道路環境","road_access":"道路通行","road_class":"道路等級","max_speed":"最高速度","average_speed":"平均速度","track_type":"軌道類型","toll":"收費","next":"下一頁","back":"返回","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"zh_TW":{"total_ascend":"總共上昇 %1$s","total_descend":"總共下降 %1$s","way_contains_ford":"路徑中含有淺灘","way_contains_ferry":"搭乘渡輪","way_contains_private":"私人道路","way_contains_toll":"收費道路","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","challenging_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"出發點","intermediate_label":"途經點","end_label":"抵達點","set_start":"設為出發點","set_intermediate":"設為途經點","set_end":"設為抵達點","center_map":"設為地圖中心","show_coords":"顯示坐標","query_osm":"","route":"路線","add_to_route":"","delete_from_route":"從路線中移除","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"標記","gh_offline_info":"GraphHopper API 離線狀態?","refresh_button":"刷新頁面","server_status":"狀態","zoom_in":"放大","zoom_out":"縮小","zoom_to_route":"","drag_to_reorder":"拖曳排序","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"途經","from_hint":"起點","gpx_export_button":"匯出GPS","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"迄點","route_info":"%1$s 需時 %2$s","search_button":"搜尋","more_button":"更多","pt_route_info":"於 %1$s 抵達,%2$s 次轉乘 (%3$s)","pt_route_info_walking":"於 %1$s 抵達,僅步行 (%2$s)","locations_not_found":"無法進行規劃。無法在此區域內找到指定的地點","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"自行車","racingbike":"競技自行車","mtb":"登山車","car":"汽車","foot":"步行","hike":"健行","small_truck":"小貨車","bus":"公車","truck":"貨車","staticlink":"永久鏈結","motorcycle":"摩托車","scooter":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""}}');class r{constructor(e,t,n){if(!t)throw Error("Translation is undefined");if(!n)throw Error("Translation fallback is undefined");this.lang=e,this.data=t,this.fallback=n}get(e,t){let n=this.data[e];if(!n&&(n=this.fallback[e],!n))return e;if(t)for(let e=0;e<t.length;e++)n=n.replace("%"+(e+1)+"$s",t[e]);return n||""}getLang(){return this.lang}}let o;function s(e){return e.indexOf("_")>0?e.substring(0,e.indexOf("_")):e}function a(){if(!o)throw new Error("init translation via setTranslation before using getTranslation");return o}function l(e,t){return a().get(e,t)}var c=n(7810),u=n(6186),d=n.n(u),h=n(2155),p=n.n(h),f=n(7433),_=n.n(f),g=n(8626),m=n.n(g),y=n(8990),v=n.n(y),b=n(9827),x=n.n(b),w=n(4072),k={};k.styleTagTransform=x(),k.setAttributes=m(),k.insert=_().bind(null,"head"),k.domAPI=p(),k.insertStyleElement=v(),d()(w.A,k);const C=w.A&&w.A.locals?w.A.locals:void 0;function S(){}function A(e){return null==e?S:function(){return this.querySelector(e)}}function E(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function M(){return[]}function T(e){return function(t){return t.matches(e)}}var P=Array.prototype.find;function R(){return this.firstElementChild}var I=Array.prototype.filter;function L(){return Array.from(this.children)}function z(e){return new Array(e.length)}function O(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function F(e,t,n,i,r,o){for(var s,a=0,l=t.length,c=o.length;a<c;++a)(s=t[a])?(s.__data__=o[a],i[a]=s):n[a]=new O(e,o[a]);for(;a<l;++a)(s=t[a])&&(r[a]=s)}function j(e,t,n,i,r,o,s){var a,l,c,u=new Map,d=t.length,h=o.length,p=new Array(d);for(a=0;a<d;++a)(l=t[a])&&(p[a]=c=s.call(l,l.__data__,a,t)+"",u.has(c)?r[a]=l:u.set(c,l));for(a=0;a<h;++a)c=s.call(e,o[a],a,o)+"",(l=u.get(c))?(i[a]=l,l.__data__=o[a],u.delete(c)):n[a]=new O(e,o[a]);for(a=0;a<d;++a)(l=t[a])&&u.get(p[a])===l&&(r[a]=l)}function D(e){return e.__data__}function N(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function q(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}O.prototype={constructor:O,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var B="http://www.w3.org/1999/xhtml";const G={svg:"http://www.w3.org/2000/svg",xhtml:B,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function V(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),G.hasOwnProperty(t)?{space:G[t],local:e}:e}function H(e){return function(){this.removeAttribute(e)}}function W(e){return function(){this.removeAttributeNS(e.space,e.local)}}function U(e,t){return function(){this.setAttribute(e,t)}}function $(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Z(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function K(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function X(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Y(e){return function(){this.style.removeProperty(e)}}function Q(e,t,n){return function(){this.style.setProperty(e,t,n)}}function J(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function ee(e){return function(){delete this[e]}}function te(e,t){return function(){this[e]=t}}function ne(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function ie(e){return e.trim().split(/^|\s+/)}function re(e){return e.classList||new oe(e)}function oe(e){this._node=e,this._names=ie(e.getAttribute("class")||"")}function se(e,t){for(var n=re(e),i=-1,r=t.length;++i<r;)n.add(t[i])}function ae(e,t){for(var n=re(e),i=-1,r=t.length;++i<r;)n.remove(t[i])}function le(e){return function(){se(this,e)}}function ce(e){return function(){ae(this,e)}}function ue(e,t){return function(){(t.apply(this,arguments)?se:ae)(this,e)}}function de(){this.textContent=""}function he(e){return function(){this.textContent=e}}function pe(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function fe(){this.innerHTML=""}function _e(e){return function(){this.innerHTML=e}}function ge(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function me(){this.nextSibling&&this.parentNode.appendChild(this)}function ye(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ve(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===B&&t.documentElement.namespaceURI===B?t.createElement(e):t.createElementNS(n,e)}}function be(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function xe(e){var t=V(e);return(t.local?be:ve)(t)}function we(){return null}function ke(){var e=this.parentNode;e&&e.removeChild(this)}function Ce(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Se(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Ae(e){return function(){var t=this.__on;if(t){for(var n,i=0,r=-1,o=t.length;i<o;++i)n=t[i],e.type&&n.type!==e.type||n.name!==e.name?t[++r]=n:this.removeEventListener(n.type,n.listener,n.options);++r?t.length=r:delete this.__on}}}function Ee(e,t,n){return function(){var i,r=this.__on,o=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(r)for(var s=0,a=r.length;s<a;++s)if((i=r[s]).type===e.type&&i.name===e.name)return this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),void(i.value=t);this.addEventListener(e.type,o,n),i={type:e.type,name:e.name,value:t,listener:o,options:n},r?r.push(i):this.__on=[i]}}function Me(e,t,n){var i=X(e),r=i.CustomEvent;"function"==typeof r?r=new r(t,n):(r=i.document.createEvent("Event"),n?(r.initEvent(t,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(t,!1,!1)),e.dispatchEvent(r)}function Te(e,t){return function(){return Me(this,e,t)}}function Pe(e,t){return function(){return Me(this,e,t.apply(this,arguments))}}oe.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var Re=[null];function Ie(e,t){this._groups=e,this._parents=t}function Le(e){return"string"==typeof e?new Ie([[document.querySelector(e)]],[document.documentElement]):new Ie([[e]],Re)}function ze(e,t){if(e=function(e){let t;for(;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,[(i=i.matrixTransform(t.getScreenCTM().inverse())).x,i.y]}if(t.getBoundingClientRect){var r=t.getBoundingClientRect();return[e.clientX-r.left-t.clientLeft,e.clientY-r.top-t.clientTop]}}return[e.pageX,e.pageY]}function Oe(e){return"string"==typeof e?new Ie([document.querySelectorAll(e)],[document.documentElement]):new Ie([E(e)],Re)}Ie.prototype=function(){return new Ie([[document.documentElement]],Re)}.prototype={constructor:Ie,select:function(e){"function"!=typeof e&&(e=A(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r<n;++r)for(var o,s,a=t[r],l=a.length,c=i[r]=new Array(l),u=0;u<l;++u)(o=a[u])&&(s=e.call(o,o.__data__,u,a))&&("__data__"in o&&(s.__data__=o.__data__),c[u]=s);return new Ie(i,this._parents)},selectAll:function(e){e="function"==typeof e?function(e){return function(){return E(e.apply(this,arguments))}}(e):function(e){return null==e?M:function(){return this.querySelectorAll(e)}}(e);for(var t=this._groups,n=t.length,i=[],r=[],o=0;o<n;++o)for(var s,a=t[o],l=a.length,c=0;c<l;++c)(s=a[c])&&(i.push(e.call(s,s.__data__,c,a)),r.push(s));return new Ie(i,r)},selectChild:function(e){return this.select(null==e?R:function(e){return function(){return P.call(this.children,e)}}("function"==typeof e?e:T(e)))},selectChildren:function(e){return this.selectAll(null==e?L:function(e){return function(){return I.call(this.children,e)}}("function"==typeof e?e:T(e)))},filter:function(e){"function"!=typeof e&&(e=function(e){return function(){return this.matches(e)}}(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r<n;++r)for(var o,s=t[r],a=s.length,l=i[r]=[],c=0;c<a;++c)(o=s[c])&&e.call(o,o.__data__,c,s)&&l.push(o);return new Ie(i,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,D);var n,i=t?j:F,r=this._parents,o=this._groups;"function"!=typeof e&&(n=e,e=function(){return n});for(var s=o.length,a=new Array(s),l=new Array(s),c=new Array(s),u=0;u<s;++u){var d=r[u],h=o[u],p=h.length,f=N(e.call(d,d&&d.__data__,u,r)),_=f.length,g=l[u]=new Array(_),m=a[u]=new Array(_);i(d,h,g,m,c[u]=new Array(p),f,t);for(var y,v,b=0,x=0;b<_;++b)if(y=g[b]){for(b>=x&&(x=b+1);!(v=m[x])&&++x<_;);y._next=v||null}}return(a=new Ie(a,r))._enter=l,a._exit=c,a},enter:function(){return new Ie(this._enter||this._groups.map(z),this._parents)},exit:function(){return new Ie(this._exit||this._groups.map(z),this._parents)},join:function(e,t,n){var i=this.enter(),r=this,o=this.exit();return"function"==typeof e?(i=e(i))&&(i=i.selection()):i=i.append(e+""),null!=t&&(r=t(r))&&(r=r.selection()),null==n?o.remove():n(o),i&&r?i.merge(r).order():r},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,i=t._groups,r=n.length,o=i.length,s=Math.min(r,o),a=new Array(r),l=0;l<s;++l)for(var c,u=n[l],d=i[l],h=u.length,p=a[l]=new Array(h),f=0;f<h;++f)(c=u[f]||d[f])&&(p[f]=c);for(;l<r;++l)a[l]=n[l];return new Ie(a,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var i,r=e[t],o=r.length-1,s=r[o];--o>=0;)(i=r[o])&&(s&&4^i.compareDocumentPosition(s)&&s.parentNode.insertBefore(i,s),s=i);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=q);for(var n=this._groups,i=n.length,r=new Array(i),o=0;o<i;++o){for(var s,a=n[o],l=a.length,c=r[o]=new Array(l),u=0;u<l;++u)(s=a[u])&&(c[u]=s);c.sort(t)}return new Ie(r,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i=e[t],r=0,o=i.length;r<o;++r){var s=i[r];if(s)return s}return null},size:function(){let e=0;for(const t of this)++e;return e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,i=t.length;n<i;++n)for(var r,o=t[n],s=0,a=o.length;s<a;++s)(r=o[s])&&e.call(r,r.__data__,s,o);return this},attr:function(e,t){var n=V(e);if(arguments.length<2){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((null==t?n.local?W:H:"function"==typeof t?n.local?K:Z:n.local?$:U)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?Y:"function"==typeof t?J:Q)(e,t,null==n?"":n)):function(e,t){return e.style.getPropertyValue(t)||X(e).getComputedStyle(e,null).getPropertyValue(t)}(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?ee:"function"==typeof t?ne:te)(e,t)):this.node()[e]},classed:function(e,t){var n=ie(e+"");if(arguments.length<2){for(var i=re(this.node()),r=-1,o=n.length;++r<o;)if(!i.contains(n[r]))return!1;return!0}return this.each(("function"==typeof t?ue:t?le:ce)(n,t))},text:function(e){return arguments.length?this.each(null==e?de:("function"==typeof e?pe:he)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?fe:("function"==typeof e?ge:_e)(e)):this.node().innerHTML},raise:function(){return this.each(me)},lower:function(){return this.each(ye)},append:function(e){var t="function"==typeof e?e:xe(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var n="function"==typeof e?e:xe(e),i=null==t?we:"function"==typeof t?t:A(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)}))},remove:function(){return this.each(ke)},clone:function(e){return this.select(e?Se:Ce)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var i,r,o=function(e){return e.trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}(e+""),s=o.length;if(!(arguments.length<2)){for(a=t?Ee:Ae,i=0;i<s;++i)this.each(a(o[i],t,n));return this}var a=this.node().__on;if(a)for(var l,c=0,u=a.length;c<u;++c)for(i=0,l=a[c];i<s;++i)if((r=o[i]).type===l.type&&r.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"==typeof t?Pe:Te)(e,t))},[Symbol.iterator]:function*(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i,r=e[t],o=0,s=r.length;o<s;++o)(i=r[o])&&(yield i)}};class Fe extends Map{constructor(e,t=De){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[t,n]of e)this.set(t,n)}get(e){return super.get(je(this,e))}has(e){return super.has(je(this,e))}set(e,t){return super.set(function({_intern:e,_key:t},n){const i=t(n);return e.has(i)?e.get(i):(e.set(i,n),n)}(this,e),t)}delete(e){return super.delete(function({_intern:e,_key:t},n){const i=t(n);return e.has(i)&&(n=e.get(i),e.delete(i)),n}(this,e))}}function je({_intern:e,_key:t},n){const i=t(n);return e.has(i)?e.get(i):n}function De(e){return null!==e&&"object"==typeof e?e.valueOf():e}function Ne(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}Set;const qe=Symbol("implicit");function Be(){var e=new Fe,t=[],n=[],i=qe;function r(r){let o=e.get(r);if(void 0===o){if(i!==qe)return i;e.set(r,o=t.push(r)-1)}return n[o%n.length]}return r.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new Fe;for(const i of n)e.has(i)||e.set(i,t.push(i)-1);return r},r.range=function(e){return arguments.length?(n=Array.from(e),r):n.slice()},r.unknown=function(e){return arguments.length?(i=e,r):i},r.copy=function(){return Be(t,n).unknown(i)},Ne.apply(r,arguments),r}const Ge=Math.sqrt(50),Ve=Math.sqrt(10),He=Math.sqrt(2);function We(e,t,n){const i=(t-e)/Math.max(0,n),r=Math.floor(Math.log10(i)),o=i/Math.pow(10,r),s=o>=Ge?10:o>=Ve?5:o>=He?2:1;let a,l,c;return r<0?(c=Math.pow(10,-r)/s,a=Math.round(e*c),l=Math.round(t*c),a/c<e&&++a,l/c>t&&--l,c=-c):(c=Math.pow(10,r)*s,a=Math.round(e/c),l=Math.round(t/c),a*c<e&&++a,l*c>t&&--l),l<a&&.5<=n&&n<2?We(e,t,2*n):[a,l,c]}function Ue(e,t,n){return We(e=+e,t=+t,n=+n)[2]}function $e(e,t){return null==e||null==t?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Ze(e,t){return null==e||null==t?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Ke(e){let t,n,i;function r(e,i,r=0,o=e.length){if(r<o){if(0!==t(i,i))return o;do{const t=r+o>>>1;n(e[t],i)<0?r=t+1:o=t}while(r<o)}return r}return 2!==e.length?(t=$e,n=(t,n)=>$e(e(t),n),i=(t,n)=>e(t)-n):(t=e===$e||e===Ze?e:Xe,n=e,i=e),{left:r,center:function(e,t,n=0,o=e.length){const s=r(e,t,n,o-1);return s>n&&i(e[s-1],t)>-i(e[s],t)?s-1:s},right:function(e,i,r=0,o=e.length){if(r<o){if(0!==t(i,i))return o;do{const t=r+o>>>1;n(e[t],i)<=0?r=t+1:o=t}while(r<o)}return r}}}function Xe(){return 0}const Ye=Ke($e),Qe=Ye.right,Je=(Ye.left,Ke((function(e){return null===e?NaN:+e})).center,Qe);function et(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function tt(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function nt(){}var it=.7,rt=1/it,ot="\\s*([+-]?\\d+)\\s*",st="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",at="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lt=/^#([0-9a-f]{3,8})$/,ct=new RegExp(`^rgb\\(${ot},${ot},${ot}\\)$`),ut=new RegExp(`^rgb\\(${at},${at},${at}\\)$`),dt=new RegExp(`^rgba\\(${ot},${ot},${ot},${st}\\)$`),ht=new RegExp(`^rgba\\(${at},${at},${at},${st}\\)$`),pt=new RegExp(`^hsl\\(${st},${at},${at}\\)$`),ft=new RegExp(`^hsla\\(${st},${at},${at},${st}\\)$`),_t={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function gt(){return this.rgb().formatHex()}function mt(){return this.rgb().formatRgb()}function yt(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=lt.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?vt(t):3===n?new wt(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?bt(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?bt(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=ct.exec(e))?new wt(t[1],t[2],t[3],1):(t=ut.exec(e))?new wt(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=dt.exec(e))?bt(t[1],t[2],t[3],t[4]):(t=ht.exec(e))?bt(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=pt.exec(e))?Mt(t[1],t[2]/100,t[3]/100,1):(t=ft.exec(e))?Mt(t[1],t[2]/100,t[3]/100,t[4]):_t.hasOwnProperty(e)?vt(_t[e]):"transparent"===e?new wt(NaN,NaN,NaN,0):null}function vt(e){return new wt(e>>16&255,e>>8&255,255&e,1)}function bt(e,t,n,i){return i<=0&&(e=t=n=NaN),new wt(e,t,n,i)}function xt(e,t,n,i){return 1===arguments.length?((r=e)instanceof nt||(r=yt(r)),r?new wt((r=r.rgb()).r,r.g,r.b,r.opacity):new wt):new wt(e,t,n,null==i?1:i);var r}function wt(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function kt(){return`#${Et(this.r)}${Et(this.g)}${Et(this.b)}`}function Ct(){const e=St(this.opacity);return`${1===e?"rgb(":"rgba("}${At(this.r)}, ${At(this.g)}, ${At(this.b)}${1===e?")":`, ${e})`}`}function St(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function At(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Et(e){return((e=At(e))<16?"0":"")+e.toString(16)}function Mt(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Pt(e,t,n,i)}function Tt(e){if(e instanceof Pt)return new Pt(e.h,e.s,e.l,e.opacity);if(e instanceof nt||(e=yt(e)),!e)return new Pt;if(e instanceof Pt)return e;var t=(e=e.rgb()).r/255,n=e.g/255,i=e.b/255,r=Math.min(t,n,i),o=Math.max(t,n,i),s=NaN,a=o-r,l=(o+r)/2;return a?(s=t===o?(n-i)/a+6*(n<i):n===o?(i-t)/a+2:(t-n)/a+4,a/=l<.5?o+r:2-o-r,s*=60):a=l>0&&l<1?0:s,new Pt(s,a,l,e.opacity)}function Pt(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function Rt(e){return(e=(e||0)%360)<0?e+360:e}function It(e){return Math.max(0,Math.min(1,e||0))}function Lt(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function zt(e,t,n,i,r){var o=e*e,s=o*e;return((1-3*e+3*o-s)*t+(4-6*o+3*s)*n+(1+3*e+3*o-3*s)*i+s*r)/6}et(nt,yt,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:gt,formatHex:gt,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Tt(this).formatHsl()},formatRgb:mt,toString:mt}),et(wt,xt,tt(nt,{brighter(e){return e=null==e?rt:Math.pow(rt,e),new wt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?it:Math.pow(it,e),new wt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new wt(At(this.r),At(this.g),At(this.b),St(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:kt,formatHex:kt,formatHex8:function(){return`#${Et(this.r)}${Et(this.g)}${Et(this.b)}${Et(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Ct,toString:Ct})),et(Pt,(function(e,t,n,i){return 1===arguments.length?Tt(e):new Pt(e,t,n,null==i?1:i)}),tt(nt,{brighter(e){return e=null==e?rt:Math.pow(rt,e),new Pt(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?it:Math.pow(it,e),new Pt(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,r=2*n-i;return new wt(Lt(e>=240?e-240:e+120,r,i),Lt(e,r,i),Lt(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new Pt(Rt(this.h),It(this.s),It(this.l),St(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=St(this.opacity);return`${1===e?"hsl(":"hsla("}${Rt(this.h)}, ${100*It(this.s)}%, ${100*It(this.l)}%${1===e?")":`, ${e})`}`}}));const Ot=e=>()=>e;function Ft(e,t){var n=t-e;return n?function(e,t){return function(n){return e+n*t}}(e,n):Ot(isNaN(e)?t:e)}const jt=function e(t){var n=function(e){return 1==(e=+e)?Ft:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}(t,n,e):Ot(isNaN(t)?n:t)}}(t);function i(e,t){var i=n((e=xt(e)).r,(t=xt(t)).r),r=n(e.g,t.g),o=n(e.b,t.b),s=Ft(e.opacity,t.opacity);return function(t){return e.r=i(t),e.g=r(t),e.b=o(t),e.opacity=s(t),e+""}}return i.gamma=e,i}(1);function Dt(e){return function(t){var n,i,r=t.length,o=new Array(r),s=new Array(r),a=new Array(r);for(n=0;n<r;++n)i=xt(t[n]),o[n]=i.r||0,s[n]=i.g||0,a[n]=i.b||0;return o=e(o),s=e(s),a=e(a),i.opacity=1,function(e){return i.r=o(e),i.g=s(e),i.b=a(e),i+""}}}function Nt(e,t){var n,i=t?t.length:0,r=e?Math.min(i,e.length):0,o=new Array(r),s=new Array(i);for(n=0;n<r;++n)o[n]=$t(e[n],t[n]);for(;n<i;++n)s[n]=t[n];return function(e){for(n=0;n<r;++n)s[n]=o[n](e);return s}}function qt(e,t){var n=new Date;return e=+e,t=+t,function(i){return n.setTime(e*(1-i)+t*i),n}}function Bt(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Gt(e,t){var n,i={},r={};for(n in null!==e&&"object"==typeof e||(e={}),null!==t&&"object"==typeof t||(t={}),t)n in e?i[n]=$t(e[n],t[n]):r[n]=t[n];return function(e){for(n in i)r[n]=i[n](e);return r}}Dt((function(e){var t=e.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),r=e[i],o=e[i+1],s=i>0?e[i-1]:2*r-o,a=i<t-1?e[i+2]:2*o-r;return zt((n-i/t)*t,s,r,o,a)}})),Dt((function(e){var t=e.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*t),r=e[(i+t-1)%t],o=e[i%t],s=e[(i+1)%t],a=e[(i+2)%t];return zt((n-i/t)*t,r,o,s,a)}}));var Vt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ht=new RegExp(Vt.source,"g");function Wt(e,t){var n,i,r,o=Vt.lastIndex=Ht.lastIndex=0,s=-1,a=[],l=[];for(e+="",t+="";(n=Vt.exec(e))&&(i=Ht.exec(t));)(r=i.index)>o&&(r=t.slice(o,r),a[s]?a[s]+=r:a[++s]=r),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,l.push({i:s,x:Bt(n,i)})),o=Ht.lastIndex;return o<t.length&&(r=t.slice(o),a[s]?a[s]+=r:a[++s]=r),a.length<2?l[0]?function(e){return function(t){return e(t)+""}}(l[0].x):function(e){return function(){return e}}(t):(t=l.length,function(e){for(var n,i=0;i<t;++i)a[(n=l[i]).i]=n.x(e);return a.join("")})}function Ut(e,t){t||(t=[]);var n,i=e?Math.min(t.length,e.length):0,r=t.slice();return function(o){for(n=0;n<i;++n)r[n]=e[n]*(1-o)+t[n]*o;return r}}function $t(e,t){var n,i,r=typeof t;return null==t||"boolean"===r?Ot(t):("number"===r?Bt:"string"===r?(n=yt(t))?(t=n,jt):Wt:t instanceof yt?jt:t instanceof Date?qt:(i=t,!ArrayBuffer.isView(i)||i instanceof DataView?Array.isArray(t)?Nt:"function"!=typeof t.valueOf&&"function"!=typeof t.toString||isNaN(t)?Gt:Bt:Ut))(e,t)}function Zt(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function Kt(e){return+e}var Xt=[0,1];function Yt(e){return e}function Qt(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:(n=isNaN(t)?NaN:.5,function(){return n});var n}function Jt(e,t,n){var i=e[0],r=e[1],o=t[0],s=t[1];return r<i?(i=Qt(r,i),o=n(s,o)):(i=Qt(i,r),o=n(o,s)),function(e){return o(i(e))}}function en(e,t,n){var i=Math.min(e.length,t.length)-1,r=new Array(i),o=new Array(i),s=-1;for(e[i]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<i;)r[s]=Qt(e[s],e[s+1]),o[s]=n(t[s],t[s+1]);return function(t){var n=Je(e,t,1,i)-1;return o[n](r[n](t))}}var tn,nn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function rn(e){if(!(t=nn.exec(e)))throw new Error("invalid format: "+e);var t;return new on({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}function on(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function sn(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,i=e.slice(0,n);return[i.length>1?i[0]+i.slice(2):i,+e.slice(n+1)]}function an(e){return(e=sn(Math.abs(e)))?e[1]:NaN}function ln(e,t){var n=sn(e,t);if(!n)return e+"";var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}rn.prototype=on.prototype,on.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const cn={"%":(e,t)=>(100*e).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>ln(100*e,t),r:ln,s:function(e,t){var n=sn(e,t);if(!n)return e+"";var i=n[0],r=n[1],o=r-(tn=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,s=i.length;return o===s?i:o>s?i+new Array(o-s+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+new Array(1-o).join("0")+sn(e,Math.max(0,t+o-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function un(e){return e}var dn,hn,pn,fn=Array.prototype.map,_n=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function gn(e){var t=e.domain;return e.ticks=function(e){var n=t();return function(e,t,n){if(!((n=+n)>0))return[];if((e=+e)==(t=+t))return[e];const i=t<e,[r,o,s]=i?We(t,e,n):We(e,t,n);if(!(o>=r))return[];const a=o-r+1,l=new Array(a);if(i)if(s<0)for(let e=0;e<a;++e)l[e]=(o-e)/-s;else for(let e=0;e<a;++e)l[e]=(o-e)*s;else if(s<0)for(let e=0;e<a;++e)l[e]=(r+e)/-s;else for(let e=0;e<a;++e)l[e]=(r+e)*s;return l}(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){var i=t();return function(e,t,n,i){var r,o=function(e,t,n){n=+n;const i=(t=+t)<(e=+e),r=i?Ue(t,e,n):Ue(e,t,n);return(i?-1:1)*(r<0?1/-r:r)}(e,t,n);switch((i=rn(null==i?",f":i)).type){case"s":var s=Math.max(Math.abs(e),Math.abs(t));return null!=i.precision||isNaN(r=function(e,t){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(an(t)/3)))-an(Math.abs(e)))}(o,s))||(i.precision=r),pn(i,s);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(r=function(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,an(t)-an(e))+1}(o,Math.max(Math.abs(e),Math.abs(t))))||(i.precision=r-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(r=function(e){return Math.max(0,-an(Math.abs(e)))}(o))||(i.precision=r-2*("%"===i.type))}return hn(i)}(i[0],i[i.length-1],null==e?10:e,n)},e.nice=function(n){null==n&&(n=10);var i,r,o=t(),s=0,a=o.length-1,l=o[s],c=o[a],u=10;for(c<l&&(r=l,l=c,c=r,r=s,s=a,a=r);u-- >0;){if((r=Ue(l,c,n))===i)return o[s]=l,o[a]=c,t(o);if(r>0)l=Math.floor(l/r)*r,c=Math.ceil(c/r)*r;else{if(!(r<0))break;l=Math.ceil(l*r)/r,c=Math.floor(c*r)/r}i=r}return e},e}function mn(){var e=function(){var e,t,n,i,r,o,s=Xt,a=Xt,l=$t,c=Yt;function u(){var e,t,n,l=Math.min(s.length,a.length);return c!==Yt&&(e=s[0],t=s[l-1],e>t&&(n=e,e=t,t=n),c=function(n){return Math.max(e,Math.min(t,n))}),i=l>2?en:Jt,r=o=null,d}function d(t){return null==t||isNaN(t=+t)?n:(r||(r=i(s.map(e),a,l)))(e(c(t)))}return d.invert=function(n){return c(t((o||(o=i(a,s.map(e),Bt)))(n)))},d.domain=function(e){return arguments.length?(s=Array.from(e,Kt),u()):s.slice()},d.range=function(e){return arguments.length?(a=Array.from(e),u()):a.slice()},d.rangeRound=function(e){return a=Array.from(e),l=Zt,u()},d.clamp=function(e){return arguments.length?(c=!!e||Yt,u()):c!==Yt},d.interpolate=function(e){return arguments.length?(l=e,u()):l},d.unknown=function(e){return arguments.length?(n=e,d):n},function(n,i){return e=n,t=i,u()}}()(Yt,Yt);return e.copy=function(){return t=e,mn().domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown());var t},Ne.apply(e,arguments),gn(e)}function yn(e,t){let n;if(void 0===t)for(const t of e)null!=t&&(n<t||void 0===n&&t>=t)&&(n=t);else{let i=-1;for(let r of e)null!=(r=t(r,++i,e))&&(n<r||void 0===n&&r>=r)&&(n=r)}return n}dn=function(e){var t,n,i=void 0===e.grouping||void 0===e.thousands?un:(t=fn.call(e.grouping,Number),n=e.thousands+"",function(e,i){for(var r=e.length,o=[],s=0,a=t[0],l=0;r>0&&a>0&&(l+a+1>i&&(a=Math.max(1,i-l)),o.push(e.substring(r-=a,r+a)),!((l+=a+1)>i));)a=t[s=(s+1)%t.length];return o.reverse().join(n)}),r=void 0===e.currency?"":e.currency[0]+"",o=void 0===e.currency?"":e.currency[1]+"",s=void 0===e.decimal?".":e.decimal+"",a=void 0===e.numerals?un:function(e){return function(t){return t.replace(/[0-9]/g,(function(t){return e[+t]}))}}(fn.call(e.numerals,String)),l=void 0===e.percent?"%":e.percent+"",c=void 0===e.minus?"−":e.minus+"",u=void 0===e.nan?"NaN":e.nan+"";function d(e){var t=(e=rn(e)).fill,n=e.align,d=e.sign,h=e.symbol,p=e.zero,f=e.width,_=e.comma,g=e.precision,m=e.trim,y=e.type;"n"===y?(_=!0,y="g"):cn[y]||(void 0===g&&(g=12),m=!0,y="g"),(p||"0"===t&&"="===n)&&(p=!0,t="0",n="=");var v="$"===h?r:"#"===h&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",b="$"===h?o:/[%p]/.test(y)?l:"",x=cn[y],w=/[defgprs%]/.test(y);function k(e){var r,o,l,h=v,k=b;if("c"===y)k=x(e)+k,e="";else{var C=(e=+e)<0||1/e<0;if(e=isNaN(e)?u:x(Math.abs(e),g),m&&(e=function(e){e:for(var t,n=e.length,i=1,r=-1;i<n;++i)switch(e[i]){case".":r=t=i;break;case"0":0===r&&(r=i),t=i;break;default:if(!+e[i])break e;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(t+1):e}(e)),C&&0==+e&&"+"!==d&&(C=!1),h=(C?"("===d?d:c:"-"===d||"("===d?"":d)+h,k=("s"===y?_n[8+tn/3]:"")+k+(C&&"("===d?")":""),w)for(r=-1,o=e.length;++r<o;)if(48>(l=e.charCodeAt(r))||l>57){k=(46===l?s+e.slice(r+1):e.slice(r))+k,e=e.slice(0,r);break}}_&&!p&&(e=i(e,1/0));var S=h.length+e.length+k.length,A=S<f?new Array(f-S+1).join(t):"";switch(_&&p&&(e=i(A+e,A.length?f-k.length:1/0),A=""),n){case"<":e=h+e+k+A;break;case"=":e=h+A+e+k;break;case"^":e=A.slice(0,S=A.length>>1)+h+e+k+A.slice(S);break;default:e=A+h+e+k}return a(e)}return g=void 0===g?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g)),k.toString=function(){return e+""},k}return{format:d,formatPrefix:function(e,t){var n=d(((e=rn(e)).type="f",e)),i=3*Math.max(-8,Math.min(8,Math.floor(an(t)/3))),r=Math.pow(10,-i),o=_n[8+i/3];return function(e){return n(r*e)+o}}}}({thousands:",",grouping:[3],currency:["$",""]}),hn=dn.format,pn=dn.formatPrefix;var vn={value:()=>{}};function bn(){for(var e,t=0,n=arguments.length,i={};t<n;++t){if(!(e=arguments[t]+"")||e in i||/[\s.]/.test(e))throw new Error("illegal type: "+e);i[e]=[]}return new xn(i)}function xn(e){this._=e}function wn(e,t){for(var n,i=0,r=e.length;i<r;++i)if((n=e[i]).name===t)return n.value}function kn(e,t,n){for(var i=0,r=e.length;i<r;++i)if(e[i].name===t){e[i]=vn,e=e.slice(0,i).concat(e.slice(i+1));break}return null!=n&&e.push({name:t,value:n}),e}xn.prototype=bn.prototype={constructor:xn,on:function(e,t){var n,i=this._,r=function(e,t){return e.trim().split(/^|\s+/).map((function(e){var n="",i=e.indexOf(".");if(i>=0&&(n=e.slice(i+1),e=e.slice(0,i)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}(e+"",i),o=-1,s=r.length;if(!(arguments.length<2)){if(null!=t&&"function"!=typeof t)throw new Error("invalid callback: "+t);for(;++o<s;)if(n=(e=r[o]).type)i[n]=kn(i[n],e.name,t);else if(null==t)for(n in i)i[n]=kn(i[n],e.name,null);return this}for(;++o<s;)if((n=(e=r[o]).type)&&(n=wn(i[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new xn(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,i,r=new Array(n),o=0;o<n;++o)r[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=0,n=(i=this._[e]).length;o<n;++o)i[o].value.apply(t,r)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var i=this._[e],r=0,o=i.length;r<o;++r)i[r].value.apply(t,n)}};const Cn=bn,Sn={passive:!1},An={capture:!0,passive:!1};function En(e){e.stopImmediatePropagation()}function Mn(e){e.preventDefault(),e.stopImmediatePropagation()}const Tn=e=>()=>e;function Pn(e,{sourceEvent:t,subject:n,target:i,identifier:r,active:o,x:s,y:a,dx:l,dy:c,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:a,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:u}})}function Rn(e){return!e.ctrlKey&&!e.button}function In(){return this.parentNode}function Ln(e,t){return null==t?{x:e.x,y:e.y}:t}function zn(){return navigator.maxTouchPoints||"ontouchstart"in this}function On(e){return e}Pn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var Fn=1e-6;function jn(e){return"translate("+e+",0)"}function Dn(e){return"translate(0,"+e+")"}function Nn(e){return t=>+e(t)}function qn(e,t){return t=Math.max(0,e.bandwidth()-2*t)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function Bn(){return!this.__axis}function Gn(e,t){var n=[],i=null,r=null,o=6,s=6,a=3,l="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,c=1===e||4===e?-1:1,u=4===e||2===e?"x":"y",d=1===e||3===e?jn:Dn;function h(h){var p=null==i?t.ticks?t.ticks.apply(t,n):t.domain():i,f=null==r?t.tickFormat?t.tickFormat.apply(t,n):On:r,_=Math.max(o,0)+a,g=t.range(),m=+g[0]+l,y=+g[g.length-1]+l,v=(t.bandwidth?qn:Nn)(t.copy(),l),b=h.selection?h.selection():h,x=b.selectAll(".domain").data([null]),w=b.selectAll(".tick").data(p,t).order(),k=w.exit(),C=w.enter().append("g").attr("class","tick"),S=w.select("line"),A=w.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),w=w.merge(C),S=S.merge(C.append("line").attr("stroke","currentColor").attr(u+"2",c*o)),A=A.merge(C.append("text").attr("fill","currentColor").attr(u,c*_).attr("dy",1===e?"0em":3===e?"0.71em":"0.32em")),h!==b&&(x=x.transition(h),w=w.transition(h),S=S.transition(h),A=A.transition(h),k=k.transition(h).attr("opacity",Fn).attr("transform",(function(e){return isFinite(e=v(e))?d(e+l):this.getAttribute("transform")})),C.attr("opacity",Fn).attr("transform",(function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:v(e))+l)}))),k.remove(),x.attr("d",4===e||2===e?s?"M"+c*s+","+m+"H"+l+"V"+y+"H"+c*s:"M"+l+","+m+"V"+y:s?"M"+m+","+c*s+"V"+l+"H"+y+"V"+c*s:"M"+m+","+l+"H"+y),w.attr("opacity",1).attr("transform",(function(e){return d(v(e)+l)})),S.attr(u+"2",c*o),A.attr(u,c*_).text(f),b.filter(Bn).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===e?"start":4===e?"end":"middle"),b.each((function(){this.__axis=v}))}return h.scale=function(e){return arguments.length?(t=e,h):t},h.ticks=function(){return n=Array.from(arguments),h},h.tickArguments=function(e){return arguments.length?(n=null==e?[]:Array.from(e),h):n.slice()},h.tickValues=function(e){return arguments.length?(i=null==e?null:Array.from(e),h):i&&i.slice()},h.tickFormat=function(e){return arguments.length?(r=e,h):r},h.tickSize=function(e){return arguments.length?(o=s=+e,h):o},h.tickSizeInner=function(e){return arguments.length?(o=+e,h):o},h.tickSizeOuter=function(e){return arguments.length?(s=+e,h):s},h.tickPadding=function(e){return arguments.length?(a=+e,h):a},h.offset=function(e){return arguments.length?(l=+e,h):l},h}function Vn(e){return Gn(3,e)}function Hn(e){return Gn(4,e)}Math.abs,Math.atan2;const Wn=Math.cos,Un=(Math.max,Math.min,Math.sin),$n=Math.sqrt,Zn=Math.PI,Kn=2*Zn,Xn=$n(3),Yn={draw(e,t){const n=-$n(t/(3*Xn));e.moveTo(0,2*n),e.lineTo(-Xn*n,-n),e.lineTo(Xn*n,-n),e.closePath()}};function Qn(e){return function(){return e}}const Jn=Math.PI,ei=2*Jn,ti=1e-6,ni=ei-ti;function ii(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}class ri{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==e?ii:function(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return ii;const n=10**t;return function(e){this._+=e[0];for(let t=1,i=e.length;t<i;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,i){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,t,n,i,r,o){this._append`C${+e},${+t},${+n},${+i},${this._x1=+r},${this._y1=+o}`}arcTo(e,t,n,i,r){if(e=+e,t=+t,n=+n,i=+i,(r=+r)<0)throw new Error(`negative radius: ${r}`);let o=this._x1,s=this._y1,a=n-e,l=i-t,c=o-e,u=s-t,d=c*c+u*u;if(null===this._x1)this._append`M${this._x1=e},${this._y1=t}`;else if(d>ti)if(Math.abs(u*a-l*c)>ti&&r){let h=n-o,p=i-s,f=a*a+l*l,_=h*h+p*p,g=Math.sqrt(f),m=Math.sqrt(d),y=r*Math.tan((Jn-Math.acos((f+d-_)/(2*g*m)))/2),v=y/m,b=y/g;Math.abs(v-1)>ti&&this._append`L${e+v*c},${t+v*u}`,this._append`A${r},${r},0,0,${+(u*h>c*p)},${this._x1=e+b*a},${this._y1=t+b*l}`}else this._append`L${this._x1=e},${this._y1=t}`}arc(e,t,n,i,r,o){if(e=+e,t=+t,o=!!o,(n=+n)<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(i),a=n*Math.sin(i),l=e+s,c=t+a,u=1^o,d=o?i-r:r-i;null===this._x1?this._append`M${l},${c}`:(Math.abs(this._x1-l)>ti||Math.abs(this._y1-c)>ti)&&this._append`L${l},${c}`,n&&(d<0&&(d=d%ei+ei),d>ni?this._append`A${n},${n},0,1,${u},${e-s},${t-a}A${n},${n},0,1,${u},${this._x1=l},${this._y1=c}`:d>ti&&this._append`A${n},${n},0,${+(d>=Jn)},${u},${this._x1=e+n*Math.cos(r)},${this._y1=t+n*Math.sin(r)}`)}rect(e,t,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function oi(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(null==n)t=null;else{const e=Math.floor(n);if(!(e>=0))throw new RangeError(`invalid digits: ${n}`);t=e}return e},()=>new ri(t)}$n(3);const si={draw(e,t){const n=$n(t/Zn);e.moveTo(n,0),e.arc(0,0,n,0,Kn)}};$n(1/3),Un(Zn/10),Un(7*Zn/10);function ai(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}function li(e){this._context=e}function ci(e){return new li(e)}function ui(e){return e[0]}function di(e){return e[1]}function hi(e,t){var n=Qn(!0),i=null,r=ci,o=null,s=oi(a);function a(a){var l,c,u,d=(a=ai(a)).length,h=!1;for(null==i&&(o=r(u=s())),l=0;l<=d;++l)!(l<d&&n(c=a[l],l,a))===h&&((h=!h)?o.lineStart():o.lineEnd()),h&&o.point(+e(c,l,a),+t(c,l,a));if(u)return o=null,u+""||null}return e="function"==typeof e?e:void 0===e?ui:Qn(e),t="function"==typeof t?t:void 0===t?di:Qn(t),a.x=function(t){return arguments.length?(e="function"==typeof t?t:Qn(+t),a):e},a.y=function(e){return arguments.length?(t="function"==typeof e?e:Qn(+e),a):t},a.defined=function(e){return arguments.length?(n="function"==typeof e?e:Qn(!!e),a):n},a.curve=function(e){return arguments.length?(r=e,null!=i&&(o=r(i)),a):r},a.context=function(e){return arguments.length?(null==e?i=o=null:o=r(i=e),a):i},a}function pi(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function fi(e){this._context=e}function _i(e){return new fi(e)}function gi(e){for(var t=e.length/6|0,n=new Array(t),i=0;i<t;)n[i]="#"+e.slice(6*i,6*++i);return n}Un(Kn/10),Wn(Kn/10),$n(3),$n(3),$n(12),Array.prototype.slice,li.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}},fi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:pi(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:pi(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};const mi=gi("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),yi=gi("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),vi=gi("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),bi=gi("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),xi=gi("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),wi=gi("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),ki={width:800,height:280,margins:{top:10,right:30,bottom:55,left:50},imperial:!1,expand:!0,expandControls:!0,translation:{}};class Ci{constructor(e,t={},n={}){this._container=e,t=Object.assign(ki,t),this._margin=t.margins,this._width=t.width,this._height=t.height,this._graphStyle=t.graphStyle||{},this._xTicks=t.xTicks,this._yTicks=t.yTicks,this._translation=t.translation,this._imperial=t.imperial,this._expand=t.expand,this._expandControls=t.expandControls,this._expandCallback=t.expandCallback,this._pointSelected=n.pointSelectedCallback||Function(),this._areaSelected=n.areaSelectedCallback||Function(),this._routeSegmentsSelected=n.routeSegmentsSelectedCallback||Function(),this._chooseSelectionCallback=t.chooseSelectionCallback,this._defaultTranslation={distance:"Distance",elevation:"Elevation",segment_length:"Segment length",type:"Type",legend:"Legend"},this._d3ColorCategorical=[mi,yi,vi,bi,xi,wi],this._containerMouseUpHandler=()=>this._mouseUpHandler(),this._svgWidth=this._width-this._margin.left-this._margin.right,this._svgHeight=this._height-this._margin.top-this._margin.bottom,this._expandControls&&(this._button=this._createDOMElement("div","heightgraph-toggle",this._container),this._createDOMElement("a","heightgraph-toggle-icon",this._button),this._button.addEventListener("click",(()=>this._expandContainer())),this._closeButton=this._createDOMElement("a","heightgraph-close-icon",this._container),this._closeButton.addEventListener("click",(()=>this._expandContainer()))),this._showState=!1,this._stopPropagation(),this._svg=Le(this._container).append("svg").attr("class","heightgraph-container").attr("width",this._width).attr("height",this._height).append("g").attr("transform","translate("+this._margin.left+","+this._margin.top+")"),this._legendMain=document.createElement("div"),this._legendMain.id="heightgraph-legend",this._legend=document.createElement("ul"),this._legendMain.append(this._legend);const i=document.createElement("span");i.id="heightgraph-legend-text",i.innerHTML=this._getTranslation("legend"),this._legendMain.append(i),i.addEventListener("click",(e=>{this._legend.classList.toggle("heightgraph-show")})),this._container.append(this._legendMain),this._selectorMain=document.createElement("div"),this._selectorMain.id="heightgraph-selector",this._container.append(this._selectorMain),this._optionsSelect=document.createElement("ul"),this._selectorMain.append(this._optionsSelect),this._optionsSelectInput=document.createElement("input"),this._selectorMain.append(this._optionsSelectInput);const r=document.createElement("span");r.innerHTML="▾",r.id="arrow-icon-for-input",this._selectorMain.append(r),this._optionsSelectInput.addEventListener("click",(e=>{this._optionsSelectInput.select();for(let e=0;e<this._optionsSelect.children.length;e++)this._optionsSelect.children[e].style.display="";this._optionsSelect.classList.toggle("heightgraph-show")})),this._optionsSelectInput.addEventListener("input",(e=>{const t=this._optionsSelectInput.value.toLowerCase();for(let e=0;e<this._optionsSelect.children.length;e++){const n=this._optionsSelect.children[e],i=n.textContent.toLowerCase();n.style.display=i.indexOf(t)>-1?"":"none"}})),this._optionsSelect.addEventListener("click",(e=>{this._optionsSelectInput.value=e.target.textContent,this._optionsSelect.classList.remove("heightgraph-show");const t=this._currentSelection=e.target.getAttribute("value");0!==this._categories.length&&("function"==typeof this._chooseSelectionCallback&&this._chooseSelectionCallback(t,this._categories[t].info),this._routeSegmentsSelected([]),this._removeChart(),this._createChart(t),this._removeDragRectangle(),this._rectangle&&this._drawDragRectangle(this._rectangle[0],this._rectangle[1]))})),this._expand&&this._expandContainer()}resize(e){e.width&&(this._width=e.width),e.height&&(this._height=e.height),Le(this._container).selectAll("svg").attr("width",this._width).attr("height",this._height),this._svgWidth=this._width-this._margin.left-this._margin.right,this._svgHeight=this._height-this._margin.top-this._margin.bottom,this.redraw()}redraw(){this.setData(this._data,this._mappings,this._currentSelection)}setData(e,t,n){void 0!==n&&(this._currentSelection=n),(void 0===this._currentSelection||this._currentSelection>=e.length)&&(this._currentSelection=0),this._mappings=t,this._routeSegmentsSelected([]),void 0!==this._svg&&this._svg.selectAll("*").remove(),this._removeDragRectangle(),this._rectangle=null,this._data=e,this._prepareData(),this._calculateElevationBounds(),this._appendScales(),this._appendGrid(),0!==Object.keys(e).length&&this._createChart(this._currentSelection),this._createOptions()}_createOptions(){for(;this._optionsSelect.firstChild;)this._optionsSelect.removeChild(this._optionsSelect.lastChild);this._data.forEach(((e,t)=>{const n=e.properties.label?e.properties.label:e.properties.summary;t===this._currentSelection&&(this._optionsSelectInput.value=n);let i=document.createElement("li");this._optionsSelect.append(i),i.setAttribute("value",t),i.innerHTML=n}))}_stopPropagation(){this._container.addEventListener("click mousedown touchstart dblclick",(e=>{e.stopPropagation?e.stopPropagation():e.originalEvent?e.originalEvent._stopped=!0:e.cancelBubble=!0}))}_dragHandler(e){if(void 0!==e&&(e.preventDefault(),e.stopPropagation()),this._gotDragged=!0,this._dragStartCoords){const t=this._dragCurrentCoords=ze(e,this._background.node()),n=Math.min(this._dragStartCoords[0],t[0]),i=Math.max(this._dragStartCoords[0],t[0]);this._drawDragRectangle(n,i)}}_drawDragRectangle(e,t){if(this._rectangle=[e,t],this._dragRectangle||this._dragRectangleG)this._dragRectangle.attr("width",t-e).attr("x",e);else{const n=Le(this._container).select("svg").select("g");this._dragRectangleG=n.append("g"),this._dragRectangle=this._dragRectangleG.append("rect").attr("width",t-e).attr("height",this._svgHeight).attr("x",e).attr("class","mouse-drag").style("fill","grey").style("opacity",.5).style("pointer-events","none")}}_removeDragRectangle(){this._dragRectangleG&&(this._dragRectangleG.remove(),this._dragRectangleG=null,this._dragRectangle=null)}getBounds(){return this._calculateFullExtent(this._areasFlattended)}isImperial(){return this._imperial}setImperial(e){this._imperial=e}_mouseUpHandler(){if(this._arrowClick)return void(this._arrowClick=!1);if(!this._dragStartCoords||!this._gotDragged)return this._dragStartCoords=null,this._gotDragged=!1,void(this._dragRectangleG&&(this._removeDragRectangle(),this._rectangle=null,this._areaSelected(null)));const e=this._findItemForX(this._dragStartCoords[0]),t=this._findItemForX(this._dragCurrentCoords[0]);this._fitSection(e,t),this._dragStartCoords=null,this._gotDragged=!1}_dragStartHandler(e){e.preventDefault(),e.stopPropagation(),this._gotDragged=!1,this._dragStartCoords=ze(e,this._background.node())}_calculateFullExtent(e){if(!e||e.length<1)return null;let t=e[0].latlng.lat,n=e[0].latlng.lng,i=e[0].latlng.lat,r=e[0].latlng.lng;return e.forEach((e=>{n=Math.min(n,e.latlng.lng),t=Math.min(t,e.latlng.lat),r=Math.max(r,e.latlng.lng),i=Math.max(i,e.latlng.lat)})),{sw:this._createCoordinate(n,t),ne:this._createCoordinate(r,i)}}_fitSection(e,t){const n=Math.min(e,t),i=Math.max(e,t);let r;n!==i?r=this._calculateFullExtent(this._areasFlattended.slice(n,i+1)):this._areasFlattended.length>0&&(r=[this._areasFlattended[n].latlng,this._areasFlattended[i].latlng]),r&&this._areaSelected(r)}_expandContainer(){!0!==this._expandControls&&(this._showState=!1),this._showState?(Le(this._button).style("display","block"),Le(this._container).selectAll("svg").style("display","none"),Le(this._closeButton).style("display","none"),Le(this._legendMain).style("display","none"),Le(this._selectorMain).style("display","none")):(Le(this._button).style("display","none"),Le(this._container).selectAll("svg").style("display","block"),Le(this._closeButton).style("display","block"),Le(this._legendMain).style("display","block"),Le(this._selectorMain).style("display","block")),this._showState=!this._showState,"function"==typeof this._expandCallback&&this._expandCallback(this._showState)}_removeChart(){void 0!==this._svg&&(this._svg.selectAll("path.area").remove(),this._svg.selectAll("path.border-top").remove(),this._svg.selectAll(".legend").remove(),this._svg.selectAll(".lineSelection").remove(),this._svg.selectAll(".horizontalLine").remove(),this._svg.selectAll(".horizontalLineText").remove())}_randomNumber(e){return Math.round(Math.random()*(e-0))}_prepareData(){this._coordinates=[],this._elevations=[],this._cumulatedDistances=[],this._cumulatedDistances.push(0),this._categories=[];const e=this._data;let t;if(void 0===this._mappings){const e=this._randomNumber(this._d3ColorCategorical.length-1);t=Be(this._d3ColorCategorical[e])}for(let n=0;n<e.length;n++){let i=0;this._categories[n]={info:{id:n,text:e[n].properties.label||e[n].properties.summary},distances:[],attributes:[],geometries:[],legend:{}};let r,o=0;const s={},a=void 0!==this._mappings&&"function"==typeof this._mappings[e[n].properties.summary];for(r=0;r<e[n].features.length;r++){let l,c,u,d;const h=[],p=e[n].features[r].geometry.coordinates.length,f=e[n].features[r].properties.attributeType;let _,g;if(void 0===this._mappings)f in s?(_=f,g=s[f]):(_=f,g=t(r),s[f]=g);else if(a){const t=this._mappings[e[n].properties.summary](f);_=t.text,g=t.color}else _=this._mappings[e[n].properties.summary][f].text,g=this._mappings[e[n].properties.summary][f].color;const m={type:f,text:_,color:g};this._categories[n].attributes.push(m),f in this._categories[n].legend||(this._categories[n].legend[f]=m);for(let t=0;t<p;t++){let s;c=this._createCoordinate(e[n].features[r].geometry.coordinates[t][0],e[n].features[r].geometry.coordinates[t][1]),l=e[n].features[r].geometry.coordinates[t][2],t<p-1?(u=this._createCoordinate(e[n].features[r].geometry.coordinates[t+1][0],e[n].features[r].geometry.coordinates[t+1][1]),d=this._calcDistance(c,u)/1e3,i+=d,0===n&&(this._elevations.push(l),this._coordinates.push(c),this._cumulatedDistances.push(i)),o+=1):t===p-1&&r===e[n].features.length-1&&(0===n&&(this._elevations.push(l),this._coordinates.push(u)),o+=1),s=t===p-1&&r<e[n].features.length-1?this._cumulatedDistances[o]:this._cumulatedDistances[o-1],h.push({altitude:l,position:s,x:c.lng,y:c.lat,latlng:c,type:_,areaIdx:r})}this._categories[n].distances.push(i),this._categories[n].geometries.push(h)}n===e.length-1&&(this._totalDistance=i)}}_calculateElevationBounds(){if(0===this._elevations.length)return void(this._elevationBounds={min:0,max:0});const e=yn(this._elevations),t=function(e){let t;for(const n of e)null!=n&&(t>n||void 0===t&&n>=n)&&(t=n);return t}(this._elevations),n=e-t;this._elevationBounds={min:n<10?t-10:t-.1*n,max:n<10?e+10:e+.1*n}}_createChart(e){let t=0===this._categories.length?[]:this._categories[e].geometries;this._areasFlattended=[].concat.apply([],t);for(let n=0;n<t.length;n++)this._appendAreas(t[n],e,n);this._createFocus(),this._appendBackground(),this._createBorderTopLine(),this._createLegend(),this._createHorizontalLine()}_createFocus(){const e=this._elevationBounds.min;this._focus&&(this._focus.remove(),this._focusLineGroup.remove()),this._focus=this._svg.append("g").attr("class","focusbox"),this._focusRect=this._focus.append("rect").attr("x",3).attr("y",-this._y(e)).attr("display","none"),this._focusDistance=this._focus.append("text").attr("x",7).attr("y",15-this._y(e)).attr("id","heightgraph.distance").text(this._getTranslation("distance")+":"),this._focusHeight=this._focus.append("text").attr("x",7).attr("y",30-this._y(e)).attr("id","heightgraph.height").text(this._getTranslation("elevation")+":"),this._focusBlockDistance=this._focus.append("text").attr("x",7).attr("y",45-this._y(e)).attr("id","heightgraph.blockdistance").text(this._getTranslation("segment_length")+":"),this._focusType=this._focus.append("text").attr("x",7).attr("y",60-this._y(e)).attr("id","heightgraph.type").text(this._getTranslation("type")+":"),this._areaTspan=this._focusBlockDistance.append("tspan").attr("class","tspan"),this._typeTspan=this._focusType.append("tspan").attr("class","tspan");const t=Oe(".focusbox text").size();Oe(".focusbox rect").attr("height",15*t+7.5).attr("display","block"),this._focusLineGroup=this._svg.append("g").attr("class","focusLine"),this._focusLine=this._focusLineGroup.append("line").attr("y1",0).attr("y2",this._y(this._elevationBounds.min)),this._distTspan=this._focusDistance.append("tspan").attr("class","tspan"),this._altTspan=this._focusHeight.append("tspan").attr("class","tspan")}_createHorizontalLine(){this._horizontalLine=this._svg.append("line").attr("class","horizontalLine").attr("x1",0).attr("x2",this._width-this._margin.left-this._margin.right).attr("y1",this._y(this._elevationBounds.min)).attr("y2",this._y(this._elevationBounds.min)).style("stroke","black"),this._elevationValueText=this._svg.append("text").attr("class","horizontalLineText").attr("x",this._width-this._margin.left-this._margin.right-20).attr("y",this._y(this._elevationBounds.min)-10).attr("fill","black");const e=[{x:this._width-this._margin.left-this._margin.right+7,y:this._y(this._elevationBounds.min),color:"black",type:Yn,angle:-90,size:100}],t=(e,t)=>{const n=this._svgHeight,i=ze(t,this._container)[1]-10,r=Math.max(0,Math.min(i,n));Le(e).attr("transform",(e=>"translate("+e.x+","+r+") rotate("+e.angle+")")),Le(".horizontalLine").attr("y1",r).attr("y2",r),this._highlightedCoords=i>=n?[]:this._findCoordsForY(i),Le(".horizontalLineText").attr("y",r<10?0:r-10).text(Ai(this._y.invert(r),this._imperial,!0)),this._routeSegmentsSelected(this._highlightedCoords)},n=e=>{Le(e).classed("active",!1),Le(".horizontalLine").classed("active",!1),this._routeSegmentsSelected(this._highlightedCoords)};this._svg.selectAll(".horizontal-symbol").data(e).enter().append("path").attr("class","lineSelection").attr("d",function(e,t){let n=null,i=oi(r);function r(){let r;if(n||(n=r=i()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),r)return n=null,r+""||null}return e="function"==typeof e?e:Qn(e||si),t="function"==typeof t?t:Qn(void 0===t?64:+t),r.type=function(t){return arguments.length?(e="function"==typeof t?t:Qn(t),r):e},r.size=function(e){return arguments.length?(t="function"==typeof e?e:Qn(+e),r):t},r.context=function(e){return arguments.length?(n=null==e?null:e,r):n},r}().type((e=>e.type)).size((e=>e.size))).attr("transform",(e=>"translate("+e.x+","+e.y+") rotate("+e.angle+")")).attr("id",(e=>e.id)).style("fill",(e=>e.color)).call(function(){var e,t,n,i,r=Rn,o=In,s=Ln,a=zn,l={},c=Cn("start","drag","end"),u=0,d=0;function h(e){e.on("mousedown.drag",p).filter(a).on("touchstart.drag",g).on("touchmove.drag",m,Sn).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(s,a){if(!i&&r.call(this,s,a)){var l=v(this,o.call(this,s,a),s,a,"mouse");l&&(Le(s.view).on("mousemove.drag",f,An).on("mouseup.drag",_,An),function(e){var t=e.document.documentElement,n=Le(e).on("dragstart.drag",Mn,An);"onselectstart"in t?n.on("selectstart.drag",Mn,An):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}(s.view),En(s),n=!1,e=s.clientX,t=s.clientY,l("start",s))}}function f(i){if(Mn(i),!n){var r=i.clientX-e,o=i.clientY-t;n=r*r+o*o>d}l.mouse("drag",i)}function _(e){Le(e.view).on("mousemove.drag mouseup.drag",null),function(e,t){var n=e.document.documentElement,i=Le(e).on("dragstart.drag",null);t&&(i.on("click.drag",Mn,An),setTimeout((function(){i.on("click.drag",null)}),0)),"onselectstart"in n?i.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}(e.view,n),Mn(e),l.mouse("end",e)}function g(e,t){if(r.call(this,e,t)){var n,i,s=e.changedTouches,a=o.call(this,e,t),l=s.length;for(n=0;n<l;++n)(i=v(this,a,e,t,s[n].identifier,s[n]))&&(En(e),i("start",e,s[n]))}}function m(e){var t,n,i=e.changedTouches,r=i.length;for(t=0;t<r;++t)(n=l[i[t].identifier])&&(Mn(e),n("drag",e,i[t]))}function y(e){var t,n,r=e.changedTouches,o=r.length;for(i&&clearTimeout(i),i=setTimeout((function(){i=null}),500),t=0;t<o;++t)(n=l[r[t].identifier])&&(En(e),n("end",e,r[t]))}function v(e,t,n,i,r,o){var a,d,p,f=c.copy(),_=ze(o||n,t);if(null!=(p=s.call(e,new Pn("beforestart",{sourceEvent:n,target:h,identifier:r,active:u,x:_[0],y:_[1],dx:0,dy:0,dispatch:f}),i)))return a=p.x-_[0]||0,d=p.y-_[1]||0,function n(o,s,c){var g,m=_;switch(o){case"start":l[r]=n,g=u++;break;case"end":delete l[r],--u;case"drag":_=ze(c||s,t),g=u}f.call(o,e,new Pn(o,{sourceEvent:s,subject:p,target:h,identifier:r,active:g,x:_[0]+a,y:_[1]+d,dx:_[0]-m[0],dy:_[1]-m[1],dispatch:f}),i)}}return h.filter=function(e){return arguments.length?(r="function"==typeof e?e:Tn(!!e),h):r},h.container=function(e){return arguments.length?(o="function"==typeof e?e:Tn(e),h):o},h.subject=function(e){return arguments.length?(s="function"==typeof e?e:Tn(e),h):s},h.touchable=function(e){return arguments.length?(a="function"==typeof e?e:Tn(!!e),h):a},h.on=function(){var e=c.on.apply(c,arguments);return e===c?h:e},h.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,h):Math.sqrt(d)},h}().on("start",(function(e,t){Le(this).raise().classed("active",!0),Le(".horizontalLine").raise().classed("active",!0)})).on("drag",(function(e,n){t(this,e)})).on("end",(function(e,t){n(this)})))}_appendScales(){this._x=mn().range([0,this._svgWidth]),this._y=mn().range([this._svgHeight,0]),this._x.domain([0,this._totalDistance]),this._y.domain([this._elevationBounds.min,this._elevationBounds.max]),this._xAxis=Vn().scale(this._x),this._xAxis.tickFormat((e=>Si(1e3*e,this._totalDistance,this._imperial,!1))),this._xAxis.ticks(this._xTicks?Math.pow(2,this._xTicks):Math.round(this._svgWidth/75),"s"),this._yAxis=Hn().scale(this._y).tickFormat((e=>Ai(e,this._imperial,!1))),this._yAxis.ticks(this._yTicks?Math.pow(2,this._yTicks):Math.round(this._svgHeight/30),"s")}_appendBackground(){const e=this._background=Le(this._container).select("svg").select("g").append("rect").attr("width",this._svgWidth).attr("height",this._svgHeight).style("fill","none").style("stroke","none").style("pointer-events","all").on("mousemove.focusbox",((e,t)=>this._mousemoveHandler(e))).on("mouseout.focusbox",((e,t)=>this._mouseoutHandler()));this._isMobile()?(e.on("touchstart.drag",((e,t)=>this._dragHandler(e))).on("touchstart.drag",((e,t)=>this._dragStartHandler(e))).on("touchstart.focusbox",((e,t)=>this._mousemoveHandler(e,t))),this._container.addEventListener("touchend",this._containerMouseUpHandler)):(e.on("mousemove.focusbox",((e,t)=>this._mousemoveHandler(e))).on("mouseout.focusbox",((e,t)=>this._mouseoutHandler())).on("mousedown.drag",((e,t)=>this._dragStartHandler(e))).on("mousemove.drag",((e,t)=>this._dragHandler(e))),this._container.addEventListener("mouseup",this._containerMouseUpHandler))}_appendGrid(){this._svg.append("g").attr("class","grid").attr("transform","translate(0,"+this._svgHeight+")").call(this._make_x_axis().tickSize(-this._svgHeight,0,0).ticks(Math.round(this._svgWidth/75)).tickFormat("")),this._svg.append("g").attr("class","grid").call(this._make_y_axis().tickSize(-this._svgWidth,0,0).ticks(Math.round(this._svgHeight/30)).tickFormat("")),this._svg.append("g").attr("transform","translate(0,"+this._svgHeight+")").attr("class","x axis").call(this._xAxis),this._svg.append("g").attr("transform","translate(-2,0)").attr("class","y axis").call(this._yAxis)}_appendAreas(e,t,n){const i=this._categories[t].attributes[n].color;this._area=function(e,t,n){var i=null,r=Qn(!0),o=null,s=ci,a=null,l=oi(c);function c(c){var u,d,h,p,f,_=(c=ai(c)).length,g=!1,m=new Array(_),y=new Array(_);for(null==o&&(a=s(f=l())),u=0;u<=_;++u){if(!(u<_&&r(p=c[u],u,c))===g)if(g=!g)d=u,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),h=u-1;h>=d;--h)a.point(m[h],y[h]);a.lineEnd(),a.areaEnd()}g&&(m[u]=+e(p,u,c),y[u]=+t(p,u,c),a.point(i?+i(p,u,c):m[u],n?+n(p,u,c):y[u]))}if(f)return a=null,f+""||null}function u(){return hi().defined(r).curve(s).context(o)}return e="function"==typeof e?e:void 0===e?ui:Qn(+e),t="function"==typeof t?t:Qn(void 0===t?0:+t),n="function"==typeof n?n:void 0===n?di:Qn(+n),c.x=function(t){return arguments.length?(e="function"==typeof t?t:Qn(+t),i=null,c):e},c.x0=function(t){return arguments.length?(e="function"==typeof t?t:Qn(+t),c):e},c.x1=function(e){return arguments.length?(i=null==e?null:"function"==typeof e?e:Qn(+e),c):i},c.y=function(e){return arguments.length?(t="function"==typeof e?e:Qn(+e),n=null,c):t},c.y0=function(e){return arguments.length?(t="function"==typeof e?e:Qn(+e),c):t},c.y1=function(e){return arguments.length?(n=null==e?null:"function"==typeof e?e:Qn(+e),c):n},c.lineX0=c.lineY0=function(){return u().x(e).y(t)},c.lineY1=function(){return u().x(e).y(n)},c.lineX1=function(){return u().x(i).y(t)},c.defined=function(e){return arguments.length?(r="function"==typeof e?e:Qn(!!e),c):r},c.curve=function(e){return arguments.length?(s=e,null!=o&&(a=s(o)),c):s},c.context=function(e){return arguments.length?(null==e?o=a=null:a=s(o=e),c):o},c}().x((e=>{const t=this._x(e.position);return e.xDiagonalCoordinate=t,t})).y0(this._svgHeight).y1((e=>this._y(e.altitude))).curve(ci),this._areapath=this._svg.append("path").attr("class","area"),this._areapath.datum(e).attr("d",this._area).attr("stroke",i),Object.entries(this._graphStyle).forEach((([e,t])=>{this._areapath.style(e,t)})),this._areapath.style("fill",i).style("pointer-events","none")}_make_x_axis(){return Vn().scale(this._x)}_make_y_axis(){return Hn().scale(this._y)}_createLegend(){for(;this._legend.firstChild;)this._legend.removeChild(this._legend.lastChild);if(this._categories.length>0)for(let e in this._categories[this._currentSelection].legend){const t=this._categories[this._currentSelection].legend[e],n=document.createElement("li");this._legend.append(n);const i=document.createElement("span");i.style.backgroundColor=t.color,i.id="heightgraph-legend-icon",n.append(i);const r=document.createElement("span");r.innerHTML=t.text,n.append(r)}}_createBorderTopLine(){const e=this._areasFlattended,t=hi().x((e=>(0,this._x)(e.position))).y((e=>(0,this._y)(e.altitude))).curve(_i);this._svg.append("svg:path").attr("d",t(e)).attr("class","border-top")}_mouseoutHandler(){for(let e of["_focusLine","_focus","_pointG","_mouseHeightFocus","_mouseHeightFocusLabel"])this[e]&&this[e].style("display","none");this._pointSelected(null)}_mousemoveHandler(e){const t=ze(e,this._svg.node()),n=this._areasFlattended[this._findItemForX(t[0])];n&&this._internalMousemoveHandler(n)}_internalMousemoveHandler(e,t=!0){let n;const i=e.altitude,r=e.position,o=e.latlng,s=e.areaIdx,a=e.type,l=Ti(".focusbox text").width+10;n=0===s?this._categories[this._currentSelection].distances[s]:this._categories[this._currentSelection].distances[s]-this._categories[this._currentSelection].distances[s-1],t&&this._pointSelected(o,i,a),this._distTspan.text(" "+Si(1e3*r,this._totalDistance,this._imperial,!0)),this._altTspan.text(" "+Ai(i,this._imperial,!0)),this._areaTspan.text(" "+Si(1e3*n,this._totalDistance,this._imperial,!0)),this._typeTspan.text(" "+a),this._focusRect.attr("width",l),this._focusLine.style("display","block").attr("x1",this._x(r)).attr("x2",this._x(r));const c=this._x(r)-(l+5),u=this._width-this._margin.left-this._margin.right;this._x(r)+l<u&&this._focus.style("display","initial").attr("transform","translate("+this._x(r)+","+this._y(this._elevationBounds.min)+")"),this._x(r)+l>u&&this._focus.style("display","initial").attr("transform","translate("+c+","+this._y(this._elevationBounds.min)+")")}_findItemForX(e){const t=Ke((e=>e.position)).left,n=this._x.invert(e);return t(this._areasFlattended,n)}_findCoordsForY(e){const t=this._y.invert(e);return((e,t)=>{const n=[];for(let i=0;i<e.length;i++)e[i].altitude>=t&&n.push(i);const i=[];let r=0;for(let e=0;e<n.length-1;e++)n[e+1]!==n[e]+1&&(i.push(n.slice(r,e+1)),r=e+1);i.push(n.slice(r,n.length));for(let t=0;t<i.length;t++)for(let n=0;n<i[t].length;n++)i[t][n]=e[i[t][n]].latlng;return i})(this._areasFlattended,t)}_getTranslation(e){return this._translation[e]?this._translation[e]:this._defaultTranslation[e]?this._defaultTranslation[e]:(console.error("Unexpected error when looking up the translation for "+e),"No translation found")}_createCoordinate(e,t){return{lat:t,lng:e}}_calcDistance(e,t){const n=Math.PI/180,i=Math.sin((t.lat-e.lat)*n/2),r=Math.sin((t.lng-e.lng)*n/2),o=i*i+Math.cos(e.lat*n)*Math.cos(t.lat*n)*r*r;return 12742e3*Math.atan2(Math.sqrt(o),Math.sqrt(1-o))}_createDOMElement(e,t,n){const i=document.createElement(e);return i.className=t||"",n&&n.appendChild(i),i}_isMobile(){return/Android|webOS|iPhone|iPad|Mac|Macintosh|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}}function Si(e,t,n,i){return n?Ei(1e3*t)<.1?Mi(e).toFixed(i?1:0)+" ft":Ei(1e3*t)<10?Ei(e).toFixed(i?3:1)+" mi":Ei(e).toFixed(i?3:0)+" mi":t<1?e.toFixed(i?2:0)+" m":t<10?(e/1e3).toFixed(i?3:1)+" km":(e/1e3).toFixed(i?3:0)+" km"}function Ai(e,t,n){return t?Mi(e).toFixed(n?1:0)+" ft":e.toFixed(n?2:0)+" m"}function Ei(e){return e/1609.34}function Mi(e){return e/.3048}const Ti=e=>{const t=[],n=[];return Oe(e).nodes().map((e=>e.getBBox())).forEach((e=>{t.push(e.width),n.push(e.height)})),{width:yn(t),height:yn(n)}};var Pi=n(7028),Ri={};Ri.styleTagTransform=x(),Ri.setAttributes=m(),Ri.insert=_().bind(null,"head"),Ri.domAPI=p(),Ri.insertStyleElement=v(),d()(Pi.A,Ri),Pi.A&&Pi.A.locals&&Pi.A.locals;const Ii=new class{constructor(){this.receivers=[],this.isDispatching=!1}dispatch(e){this.isDispatching&&console.error("No calls to 'dispatch' allowed while another dispatch is ongoing."),this.isDispatching=!0,this.receivers.forEach((t=>t.receive(e))),this.isDispatching=!1}register(e){this.receivers.push(e)}clear(){this.receivers=[]}};class Li{constructor(e){this.result=e}}class zi{constructor(e,t){this.point=e,this.zoomResponse=t}}class Oi{constructor(e){this.profile=e}}class Fi{constructor(e,t,n,i){this.atIndex=e,this.coordinate=t,this.isInitialized=n,this.zoom=i}}class ji{constructor(e){this.queryPoints=e}}class Di{}class Ni{constructor(e){this.point=e}}class qi{constructor(e,t){this.point=e,this.newIndex=t}}class Bi{constructor(e){this.point=e}}class Gi{constructor(e){this.enabled=e}}class Vi{constructor(e,t){this.customModelStr=e,this.issueRoutingRequest=t}}class Hi{constructor(e,t,n){this.result=n,this.request=e,this.zoom=t}}class Wi{constructor(e){this.message=e}}class Ui extends Wi{constructor(e,t){super(t),this.request=e}}class $i{}class Zi{constructor(e){this.path=e}}class Ki{}class Xi{constructor(e){this.layer=e}}class Yi{constructor(e){this.routingGraphEnabled=e}}class Qi{constructor(e){this.urbanDensityEnabled=e}}class Ji{constructor(e){this.externalMVTLayerEnabled=e}}class er{}class tr{constructor(e){this.coordinate=e}}class nr{constructor(e){this.bbox=e}}class ir{constructor(e){this.pathDetailsPoint=e}}class rr{constructor(e){this.bbox=e}}class or{constructor(e){this.segments=e}}class sr{constructor(e,t){this.point=e,this.properties=t}}class ar{constructor(e,t){this.coordinate=e,this.text=t}}class lr{constructor(e){this.updatedSettings=e}}class cr{constructor(e){this.selected=e}}class ur{constructor(e){this.pois=e}}function dr(e){const t=Math.floor(e/36e5),n=Math.round(e%36e5/6e4);if(60==n)return t+1+" h";const i=t>0?t+" h":"";return 0==n&&i.length>0?i:(i?i+" ":"")+n+" min"}let hr=new Intl.NumberFormat("en",{maximumFractionDigits:1});function pr(e,t,n=!1){return t?e<160.934||n?Math.floor(e/.3048)+" ft":hr.format(e/1609.34)+" mi":e<1e3||n?Math.floor(e)+" m":hr.format(e/1e3)+" km"}function fr(e,t){return t?e<160.934?Math.floor(e/.3048)+"ft":e<160934?hr.format(e/1609.34)+"mi":Math.round(e/1609.34)+"mi":e<1e3?Math.floor(e)+"m":e<1e5?hr.format(e/1e3)+"km":Math.round(e/1e3)+"km"}function _r(e){const t=e.street&&e.name.indexOf(e.street)>=0?e.street+(e.housenumber?" "+e.housenumber:""):e.name;return{mainText:t,secondText:gr(e,t)}}function gr(e,t){let n=e.street&&t.indexOf(e.street)<0?e.street+(e.housenumber?" "+e.housenumber:"")+", ":"";return n+=function(e){return e.city&&e.postcode?e.postcode+" "+e.city:e.city?e.city:e.postcode?e.postcode:""}(e),e.state&&!n.includes(e.state)&&(n+=(n?", ":"")+e.state),e.country&&(n+=(n?", ":"")+e.country),n}function mr(e){return Math.round(1e6*e.lat)/1e6+","+Math.round(1e6*e.lng)/1e6}function yr(e){const t=e.split(/[,| s]/).filter((e=>e));if(2!==t.length)return null;const n={lat:Number.parseFloat(t[0]),lng:Number.parseFloat(t[1])};return isNaN(n.lng)||isNaN(n.lat)?null:n}const vr=config;var br=n.n(vr);let xr;function wr(){if(!xr)throw Error('Api must be initialized before it can be used. Use "setApi" when starting the app');return xr}class kr{constructor(e,t,n){this.routeCounter=0,this.lastRouteNumber=-1,this.apiKey=n,this.routingApi=e,this.geocodingApi=t}async info(){const e=await fetch(this.getRoutingURLWithKey("info").toString(),{headers:{Accept:"application/json"}}).catch((()=>{throw new Error("Could not connect to the Service. Try to reload!")})),t=await e.json();if(e.ok)return kr.convertToApiInfo(t);if(t.message)throw new Error(t.message);throw new Error("There has been an error. Server responded with "+e.statusText+" ("+e.status+")")}async geocode(e,t,n){if(!this.supportsGeocoding())return{hits:[],took:0};const i=this.getGeocodingURLWithKey("geocode");i.searchParams.append("q",e),i.searchParams.append("provider",t);const r=a().getLang().split("_");if(i.searchParams.append("locale",r.length>0?r[0]:"en"),i.searchParams.append("osm_tag","!place:county"),i.searchParams.append("osm_tag","!boundary"),i.searchParams.append("osm_tag","!historic"),n)for(const e in n)i.searchParams.append(e,n[e]);const o=await fetch(i.toString(),{headers:{Accept:"application/json"}});if(o.ok)return await o.json();throw new Error("Geocoding went wrong "+o.status)}async reverseGeocode(e,t){if(!this.supportsGeocoding())return[];let n=t[1],i=t[0],r=t[3],o=t[2];if(r-n>.3){const e=(r+n)/2;r=e+.15,n=e-.15}if(o-i>.3){const e=(o+i)/2;o=e+.15,i=e-.15}let s="";for(const t of e.queries){s+="nwr";for(const e of t.phrases)"="==e.sign&&"*"==e.v?s+=`["${e.k}"]`:e.ignoreCase?s+=`["${e.k}"${e.sign}"${e.v}", i]`:s+=`["${e.k}"${e.sign}"${e.v}"]`;s+=";\n"}try{const e=`[out:json][timeout:15][bbox:${n}, ${i}, ${r}, ${o}];\n(${s});\nout center 100;`;console.log(e);const t=await fetch("https://overpass-api.de/api/interpreter",{method:"POST",body:"data="+encodeURIComponent(e)}),a=await t.json();return a.elements?a.elements.map((e=>e.center?{...e,point:{lat:e.center.lat,lng:e.center.lon}}:{...e,point:{lat:e.lat,lng:e.lon}})).filter((e=>!!e.tags&&e.point)):[]}catch(e){return console.warn("error occured "+e),[]}}supportsGeocoding(){return""!==this.geocodingApi}async route(e){const t=kr.createRequest(e),n=await fetch(this.getRoutingURLWithKey("route").toString(),{method:"POST",mode:"cors",body:JSON.stringify(t),headers:{Accept:"application/json","Content-Type":"application/json"}});if(n.ok){const e=await n.json();return{...e,paths:kr.decodeResult(e,t.elevation)}}if(500===n.status)throw new Error(l("route_timed_out"));if(400===n.status){const e=await n.json();let t=e.message;if(e.hints&&e.hints.length>0){let n="";e.hints.forEach((e=>{e.message.includes(t)||(n+=(n?" and ":"")+n,n+=e.message)})),n&&(t+=(t?" and ":"")+n)}throw new Error(t)}throw new Error(l("route_request_failed"))}routeWithDispatch(e,t){const n=this.routeCounter++;this.route(e).then((i=>{if(n>this.lastRouteNumber)this.lastRouteNumber=n,Ii.dispatch(new Hi(e,t,i));else{const t=JSON.stringify(e)+" "+n+" <= "+this.lastRouteNumber;console.log("Ignore response of earlier started route "+t)}})).catch((t=>{if(n>this.lastRouteNumber)console.warn("error when performing /route request "+n+": ",t),this.lastRouteNumber=n,Ii.dispatch(new Ui(e,t.message));else{const i=JSON.stringify(e)+" "+n+" <= "+this.lastRouteNumber;console.log("Ignore error "+t.message+" of earlier started route "+i)}}))}getRoutingURLWithKey(e){const t=new URL(this.routingApi+e);return t.searchParams.append("key",this.apiKey),t}getGeocodingURLWithKey(e){const t=new URL(this.geocodingApi+e);return t.searchParams.append("key",this.apiKey),t}static createRequest(e){var t,n,i;let r=vr.profiles?vr.profiles[e.profile]:{},o=(null===(t=vr.request)||void 0===t?void 0:t.details)?vr.request.details:[];(null==r?void 0:r.details)&&(o=[...o,...r.details]);const s={points:e.points,profile:e.profile,elevation:!0,instructions:!0,locale:a().getLang(),points_encoded:!0,points_encoded_multiplier:1e6,...r,details:o};return(null===(n=vr.request)||void 0===n?void 0:n.snapPreventions)&&(s.snap_preventions=null===(i=vr.request)||void 0===i?void 0:i.snapPreventions),e.customModel&&(s.custom_model=e.customModel,s["ch.disable"]=!0),e.points.length<=2&&e.maxAlternativeRoutes>1&&!s.curbsides&&!e.profile.startsWith("cp_")?{...s,"alternative_route.max_paths":e.maxAlternativeRoutes,algorithm:"alternative_route"}:s}static convertToApiInfo(e){let t=[0,0,0,0],n="";const i=[];for(const t in e.profiles){const n={name:e.profiles[t].name};i.push(n)}for(const i in e)"bbox"===i?t=e[i]:"version"===i&&(n=e[i]);return{profiles:i,elevation:e.elevation,bbox:t,version:n,encoded_values:e.encoded_values}}static decodeResult(e,t){return e.paths.map((e=>({...e,points:kr.decodePoints(e,t),snapped_waypoints:kr.decodeWaypoints(e,t)}))).map((e=>({...e,instructions:kr.setPointsOnInstructions(e)})))}static decodePoints(e,t){if(e.points_encoded){const n=e.points_encoded_multiplier||1e5;return{type:"LineString",coordinates:kr.decodePath(e.points,t,n)}}return e.points}static decodeWaypoints(e,t){if(e.points_encoded){const n=e.points_encoded_multiplier||1e5;return{type:"LineString",coordinates:kr.decodePath(e.snapped_waypoints,t,n)}}return e.snapped_waypoints}static setPointsOnInstructions(e){return e.instructions?e.instructions.map((t=>({...t,points:e.points.coordinates.slice(t.interval[0],t.interval[1]+1)}))):e.instructions}static decodePath(e,t,n){const i=e.length;let r=0;const o=[];let s=0,a=0,l=0;for(;r<i;){let i,c=0,u=0;do{i=e.charCodeAt(r++)-63,u|=(31&i)<<c,c+=5}while(i>=32);s+=1&u?~(u>>1):u>>1,c=0,u=0;do{i=e.charCodeAt(r++)-63,u|=(31&i)<<c,c+=5}while(i>=32);if(a+=1&u?~(u>>1):u>>1,t){c=0,u=0;do{i=e.charCodeAt(r++)-63,u|=(31&i)<<c,c+=5}while(i>=32);l+=1&u?~(u>>1):u>>1,o.push([a/n,s/n,l/100])}else o.push([a/n,s/n])}return o}static isFootLike(e){return e.includes("hike")||e.includes("foot")}static isBikeLike(e){return e.includes("mtb")||e.includes("bike")}static isMotorVehicle(e){return e.includes("car")||e.includes("truck")||e.includes("scooter")||e.includes("bus")||e.includes("motorcycle")}static isTruck(e){return e.includes("truck")}static getBBoxPoints(e){const t=e.reduce(((e,t)=>[Math.min(e[0],t.lng),Math.min(e[1],t.lat),Math.max(e[2],t.lng),Math.max(e[3],t.lat)]),[180,90,-180,-90]);return 1==e.length&&(t[0]=t[0]-.001,t[1]=t[1]-.001,t[2]=t[2]+.001,t[3]=t[3]+.001),t[0]<t[2]&&t[1]<t[3]?t:null}}class Cr{constructor(e){this._subscriptions=[],this._state=e}get state(){return this._state}receive(e){const t=this.reduce(this._state,e);t!==this._state&&this.setState(t)}register(e){this._subscriptions.push(e)}deregister(e){this._subscriptions=this._subscriptions.filter((t=>t!==e))}setState(e){this._state=e,this.notifyChanged()}notifyChanged(){this._subscriptions.forEach((e=>e()))}}function Sr(e,t){const n=e.lat,i=t.lat,r=e.lng,o=t.lng,s=Math.sin(Ar(i-n)/2),a=Math.sin(Ar(o-r)/2);return 12742e3*Math.asin(Math.sqrt(s*s+a*a*Math.cos(Ar(n))*Math.cos(Ar(i))))}function Ar(e){return.017453292519943295*e}const Er={default_example:{distance_influence:15,priority:[{if:"road_environment == FERRY",multiply_by:"0.9"}],speed:[],areas:{type:"FeatureCollection",features:[]}},exclude_motorway:{priority:[{if:"road_class == MOTORWAY",multiply_by:"0.0"}]},avoid_tunnels_bridges:{priority:[{if:"road_environment == TUNNEL || road_environment == BRIDGE",multiply_by:"0.1"}]},exclude_disneyland_paris:{priority:[{if:"road_environment==FERRY",multiply_by:"0.9"},{if:"in_area1",multiply_by:"0"}],areas:{type:"FeatureCollection",features:[{id:"area1",properties:{},type:"Feature",geometry:{type:"Polygon",coordinates:[[[2.74773,48.876539],[2.751936,48.794903],[2.850813,48.819775],[2.808754,48.887642],[2.74773,48.876539]]]}}]}},simple_electric_car:{distance_influence:100,priority:[{if:"average_slope >= 10",multiply_by:"0.7"},{else_if:"average_slope >= 7",multiply_by:"0.8"},{else_if:"average_slope >= 4",multiply_by:"0.9"}],speed:[{if:"true",limit_to:"110"}]},limit_speed:{speed:[{if:"true",limit_to:"100"},{if:"road_class == TERTIARY",limit_to:"80"}]},cargo_bike:{speed:[{if:"road_class == TRACK",limit_to:"2"}],priority:[{if:"max_width < 1.5 || road_class == STEPS",multiply_by:"0"}]},bike_network:{priority:[{if:"bike_network == MISSING",multiply_by:"0.5"}]},combined:{distance_influence:100,speed:[{if:"road_class == TRACK || road_environment == FERRY || surface == DIRT",limit_to:"10"}],priority:[{if:"road_environment == TUNNEL || toll == ALL",multiply_by:"0.5"},{if:"max_weight < 3 || max_height < 2.5",multiply_by:"0.0"}]}};function Mr(e){return JSON.stringify(e,null,2)}function Tr(e,t=.005){return[e.lng-t,e.lat-t,e.lng+t,e.lat+t]}var Pr,Rr;!function(e){e[e.From=0]="From",e[e.To=1]="To",e[e.Via=2]="Via"}(Pr||(Pr={})),function(e){e[e.SENT=0]="SENT",e[e.SUCCESS=1]="SUCCESS",e[e.FAILED=2]="FAILED"}(Rr||(Rr={}));class Ir extends Cr{constructor(e,t=null){super(Ir.getInitialState(t)),this.api=e}static getInitialState(e){const t=null!=e;e||(e=Mr(Er.default_example));try{e=Mr(JSON.parse(e))}catch(e){}return{profiles:[],queryPoints:[Ir.getEmptyPoint(0,Pr.From),Ir.getEmptyPoint(1,Pr.To)],nextQueryPointId:2,currentRequest:{subRequests:[]},maxAlternativeRoutes:3,routingProfile:{name:""},customModelEnabled:t,customModelStr:e}}reduce(e,t){if(t instanceof Bi){const n=Ir.replacePoint(e.queryPoints,{...t.point,isInitialized:!1});return{...e,queryPoints:n}}if(t instanceof Di){const t=e.queryPoints.map((e=>({...e,queryText:"",point:{lat:0,lng:0},isInitialized:!1})));return{...e,queryPoints:t}}if(t instanceof zi){const n={...e,queryPoints:Ir.replacePoint(e.queryPoints,t.point)};return this.routeIfReady(n,t.zoomResponse)}if(t instanceof qi){const n=Ir.movePoint(e.queryPoints,t.point,t.newIndex).map(((t,n)=>{const i=Ir.getPointType(n,e.queryPoints.length);return{...t,color:Ir.getMarkerColor(i),type:i,id:this.state.nextQueryPointId+n}})),i={...e,nextQueryPointId:e.nextQueryPointId+e.queryPoints.length,queryPoints:n};return this.routeIfReady(i,!1)}if(t instanceof Fi){const n=e.queryPoints.slice(),i=t.isInitialized?mr(t.coordinate):"";n.splice(t.atIndex,0,{coordinate:t.coordinate,id:e.nextQueryPointId,queryText:i,color:"",isInitialized:t.isInitialized,type:Pr.Via});const r=n.map(((e,t)=>{const i=Ir.getPointType(t,n.length);return{...e,color:Ir.getMarkerColor(i),type:i}})),o={...e,nextQueryPointId:e.nextQueryPointId+1,queryPoints:r};return this.routeIfReady(o,t.zoom)}if(t instanceof ji){const n=t.queryPoints.map(((n,i)=>{const r=Ir.getPointType(i,t.queryPoints.length),o=n.isInitialized&&!n.queryText?mr(n.coordinate):n.queryText;return{...n,id:e.nextQueryPointId+i,type:r,color:Ir.getMarkerColor(r),queryText:o}}));for(;n.length<2;){const e=Ir.getPointType(n.length,2);n.push({id:n.length,type:e,color:Ir.getMarkerColor(e),queryText:"",isInitialized:!1,coordinate:{lat:0,lng:0}})}const i=e.nextQueryPointId+n.length;return this.routeIfReady({...e,queryPoints:n,nextQueryPointId:i},!0)}if(t instanceof Ni){const n=e.queryPoints.filter((e=>e.id!==t.point.id)).map(((t,n)=>{const i=Ir.getPointType(n,e.queryPoints.length-1);return{...t,color:Ir.getMarkerColor(i),type:i}})),i={...e,queryPoints:n};return this.routeIfReady(i,!1)}if(t instanceof Li){if(t.result.profiles.length<=0)return e;const n=br().profiles?Object.keys(br().profiles).map((e=>({name:e}))):t.result.profiles,i=e.routingProfile.name?e.routingProfile:n[0];return this.routeIfReady({...e,profiles:n,routingProfile:i},!0)}if(t instanceof Oi){const n={...e,routingProfile:t.profile};return this.routeIfReady(n,!0)}if(t instanceof Vi){const n={...e,customModelStr:t.customModelStr};return t.issueRoutingRequest?this.routeIfReady(n,!0):n}if(t instanceof Hi||t instanceof Ui)return Ir.handleFinishedRequest(e,t);if(t instanceof Gi){const n={...e,customModelEnabled:t.enabled};return this.routeIfReady(n,!0)}return e}static handleFinishedRequest(e,t){const n=t instanceof Hi?Rr.SUCCESS:Rr.FAILED,i=Ir.replaceSubRequest(e.currentRequest.subRequests,t.request,n);return{...e,currentRequest:{subRequests:i}}}routeIfReady(e,t){if(Ir.isReadyToRoute(e)){let n;const i=function(e){let t=0;for(let n=1;n<e.length;n++){const i=Sr(e[n-1].coordinate,e[n].coordinate);t=Math.max(i,t)}return t}(e.queryPoints);if(e.customModelEnabled)if(i<2e5)n=[Ir.buildRouteRequest(e)];else{if(!(i<5e5))return Ii.dispatch(new Wi("Using the custom model feature is unfortunately not possible when the request points are further than "+pr(5e5,!1)+" apart.")),e;n=[Ir.buildRouteRequest({...e,maxAlternativeRoutes:1})]}else n=[Ir.buildRouteRequest({...e,maxAlternativeRoutes:1})],2===e.queryPoints.length&&e.maxAlternativeRoutes>1&&(kr.isMotorVehicle(e.routingProfile.name)&&i<7e6||i<5e5)&&n.push(Ir.buildRouteRequest(e));return{...e,currentRequest:{subRequests:this.send(n,t)}}}return e}send(e,t){const n=e.map((e=>({args:e,state:Rr.SENT})));return n.forEach(((e,n)=>this.api.routeWithDispatch(e.args,0==n&&t))),n}static isReadyToRoute(e){if(e.customModelEnabled)try{JSON.parse(e.customModelStr)}catch{return!1}return!(e.queryPoints.length<=1||!e.queryPoints.every((e=>e.isInitialized))||!e.routingProfile.name)}static movePoint(e,t,n){if(n<0)return e;const i=e.filter(((e,i)=>e.id!=t.id||(i<n&&n--,!1)));return n>=e.length?e:(i.splice(n,0,t),i)}static replacePoint(e,t){return Lr(e,(e=>e.id===t.id),(()=>t))}static replaceSubRequest(e,t,n){return Lr(e,(e=>e.args===t),(e=>({...e,state:n})))}static getMarkerColor(e){switch(e){case Pr.From:return"#7cb342";case Pr.To:return"#F97777";default:return"#76D0F7"}}static getPointType(e,t){return 0===e?Pr.From:e===t-1?Pr.To:Pr.Via}static buildRouteRequest(e){const t=e.queryPoints.map((e=>[e.coordinate.lng,e.coordinate.lat]));let n=null;if(e.customModelEnabled)try{n=JSON.parse(e.customModelStr)}catch{}return{points:t,profile:e.routingProfile.name,maxAlternativeRoutes:e.maxAlternativeRoutes,customModel:n}}static getEmptyPoint(e,t){return{isInitialized:!1,queryText:"",coordinate:{lat:0,lng:0},id:e,color:Ir.getMarkerColor(t),type:t}}}function Lr(e,t,n){const i=[];for(const r of e)t(r)?i.push(n(r)):i.push(r);return i}const zr={showDistanceInMiles:!1,drawAreasEnabled:!1,gpxExportRte:!1,gpxExportWpt:!1,gpxExportTrk:!0},Or=(0,c.createContext)(zr);function Fr({selectedPath:t}){const n=(0,c.useRef)(null),i=(0,c.useRef)(null),[r,o]=(0,c.useState)(null);(0,c.useEffect)((()=>{const e={width:jr(n.current.clientWidth),height:160,expandControls:!0},t={pointSelectedCallback:Dr,areaSelectedCallback:Nr,routeSegmentsSelectedCallback:qr};o(new Ci(i.current,e,t))}),[i]);const s=()=>{null==r||r.resize({width:jr(n.current.clientWidth)})};(0,c.useEffect)((()=>(window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)))),(0,c.useEffect)((()=>{const e=function(e){const t=e.points.coordinates.map((e=>2==e.length?[...e,0]:e)),n={data:[],mappings:{}},i=Vr(l("elevation"),[Gr(t,"elevation")]);n.data.push(i),n.mappings[l("elevation")]=function(){return{text:l("elevation"),color:Ir.getMarkerColor(Pr.From)}};const r=[];for(let e=0;e<t.length-1;e++){const n=t[e],i=t[e+1],o=Hr(n,i),s=0==o?0:100*(i[2]-n[2])/o,a=3*Math.round(s/3);r.push(Gr([n,i],a))}const o=Vr(l("slope"),r);if(n.data.push(o),n.mappings[l("slope")]=Br,e.details.edge_id){const i=e.details.edge_id,r=[];for(let e=0;e<i.length;e++){const n=t.slice(i[e][0],i[e][1]+1),o=n[0],s=n[n.length-1],a=Hr(o,s),l=0==a?0:100*(s[2]-o[2])/a,c=3*Math.round(l/3);let u=0;for(let e=0;e<n.length;e++){const t=u/a;let i=o[2]+t*(s[2]-o[2]);e===n.length-1&&(i=s[2]),n[e]=[n[e][0],n[e][1],i],e<n.length-1&&(u+=Hr(n[e],n[e+1]))}r.push(Gr(n,c))}const o=Vr(l("towerslope"),r);n.data.push(o),n.mappings[l("towerslope")]=Br}return Object.entries(e.details).map((([e,i])=>{const r=i.map((([e,n,i="Undefined"])=>Gr(t.slice(e,n+1),i)));n.data.push(Vr(l(e),r)),n.mappings[l(e)]=function(e){const t=function(e){const t=new Set;let n,i,r=0;for(let o=0;o<e.length;o++){const s=e[o][2];"number"==typeof s&&(n||(n=s),i||(i=s),t.add(s),r++,n=Math.min(s,n),i=Math.max(s,i))}return{numeric:r===e.length,minVal:n,maxVal:i}}(e);if(!0===t.numeric&&t.minVal!==t.maxVal){const e=[0,153,247],n=[241,23,18];return function(i){const r=(i-t.minVal)/(t.maxVal-t.minVal),o=[];for(let t=0;t<3;t++)o.push(e[t]+r*(n[t]-e[t]));return{text:""+i,color:"rgb("+o[0]+", "+o[1]+", "+o[2]+")"}}}{const t=e.map((e=>e[2]));return function(e){const n=["#332288","#88ccee","#44aa99","#117733","#999933","#ddcc77","#cc6677","#882255","#aa4499"],i=t.indexOf(e)%n.length;return{text:e,color:"missing"===e||"unclassified"===e||"Undefined"===e?"#dddddd":n[i]}}}}(i)})),n}(t);null==r||r.setData(e.data,e.mappings)}),[t,r]);const a=(0,c.useContext)(Or);(0,c.useEffect)((()=>{null==r||r.setImperial(a.showDistanceInMiles),null==r||r.redraw()}),[r,a.showDistanceInMiles]);const u={display:0!==t.points.coordinates.length?null:"none"};return(0,e.jsx)("div",{className:C.heightgraphContainer,ref:n,children:(0,e.jsx)("div",{className:C.innerDiv,style:u,ref:i})})}function jr(e){return Math.min(e,1e3)}function Dr(e,t,n){Ii.dispatch(new ir(e?{point:e,elevation:t,description:n}:null))}function Nr(e){Ii.dispatch(new rr(e?[e.sw.lng,e.sw.lat,e.ne.lng,e.ne.lat]:null))}function qr(e){Ii.dispatch(new or(e))}function Br(e){const t=[0,153,247],n=[241,23,18],i=Math.min(25,Math.abs(e))/25,r=[0,1,2].map((e=>t[e]+i*(n[e]-t[e])));return{text:e<0?"↘ "+(-e-3).toFixed(0)+"-"+(-e).toFixed(0)+"%":"↗ "+e.toFixed(0)+"-"+(e+3).toFixed(0)+"%",color:Number.isNaN(e)?"red":"rgb("+r[0]+", "+r[1]+", "+r[2]+")"}}function Gr(e,t){return{type:"Feature",geometry:{type:"LineString",coordinates:e},properties:{attributeType:t}}}function Vr(e,t){return{type:"FeatureCollection",features:t,properties:{summary:e,records:t.length}}}function Hr(e,t){return Sr({lat:e[1],lng:e[0]},{lat:t[1],lng:t[0]})}var Wr=n(5464),Ur={};Ur.styleTagTransform=x(),Ur.setAttributes=m(),Ur.insert=_().bind(null,"head"),Ur.domAPI=p(),Ur.insertStyleElement=v(),d()(Wr.A,Ur);const $r=Wr.A&&Wr.A.locals?Wr.A.locals:void 0;let Zr,Kr,Xr,Yr,Qr,Jr,eo,to,no;const io=()=>Zr,ro=()=>Kr,oo=()=>Xr,so=()=>Yr,ao=()=>Qr,lo=()=>Jr,co=()=>eo,uo=()=>to,ho=()=>no;var po=n(4096),fo={};fo.styleTagTransform=x(),fo.setAttributes=m(),fo.insert=_().bind(null,"head"),fo.domAPI=p(),fo.insertStyleElement=v(),d()(po.A,fo),po.A&&po.A.locals&&po.A.locals;var _o=n(2596),go={};go.styleTagTransform=x(),go.setAttributes=m(),go.insert=_().bind(null,"head"),go.domAPI=p(),go.insertStyleElement=v(),d()(_o.A,go);const mo=_o.A&&_o.A.locals?_o.A.locals:void 0;function yo({map:t}){const n=(0,c.useRef)(null);return(0,c.useEffect)((()=>{t.setTarget(n.current)}),[t]),(0,e.jsx)("div",{ref:n,className:mo.mapContainer})}var vo=n(3116),bo={};bo.styleTagTransform=x(),bo.setAttributes=m(),bo.insert=_().bind(null,"head"),bo.domAPI=p(),bo.insertStyleElement=v(),d()(vo.A,bo);const xo=vo.A&&vo.A.locals?vo.A.locals:void 0;var wo=n(5735),ko={};ko.styleTagTransform=x(),ko.setAttributes=m(),ko.insert=_().bind(null,"head"),ko.domAPI=p(),ko.insertStyleElement=v(),d()(wo.A,ko);const Co=wo.A&&wo.A.locals?wo.A.locals:void 0;function So(t){const n=Co.button+" "+t.className;return(0,e.jsx)("button",{...t,className:n,children:t.children})}var Ao;function Eo(){return Eo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Eo.apply(this,arguments)}const Mo=function(e){return c.createElement("svg",Eo({xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",className:"layer-group-solid_svg__svg-inline--fa layer-group-solid_svg__fa-layer-group layer-group-solid_svg__fa-w-16","data-icon":"layer-group","data-prefix":"fas",viewBox:"0 0 512 512"},e),Ao||(Ao=c.createElement("path",{fill:"currentColor",d:"m12.41 148.02 232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z"})))};function To(t){const[n,i]=(0,c.useState)(!1);return(0,e.jsx)("div",{className:xo.mapOptionsContainer,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:n?(0,e.jsx)(Po,{storeState:t,notifyChanged:()=>i(!1)}):(0,e.jsx)(So,{className:xo.layerButton,onClick:()=>i(!0),children:(0,e.jsx)(Mo,{})})})}const Po=function({storeState:t,notifyChanged:n}){return(0,e.jsxs)("div",{className:xo.options,children:[(0,e.jsx)("div",{onChange:e=>{var t;n(),t=e.target,Ii.dispatch(new Xi(t.value))},children:t.styleOptions.map((n=>(0,e.jsxs)("div",{className:xo.option,children:[(0,e.jsx)("input",{type:"radio",id:n.name,name:"layer",value:n.name,defaultChecked:n===t.selectedStyle,disabled:!t.isMapLoaded}),(0,e.jsx)("label",{htmlFor:n.name,children:n.name+("vector"===n.type?" (Vector)":"")})]},n.name)))}),vr.routingGraphLayerAllowed&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:xo.option,children:[(0,e.jsx)("input",{type:"checkbox",id:"routing-graph-checkbox",checked:t.routingGraphEnabled,onChange:e=>{n(),Ii.dispatch(new Yi(e.target.checked))}}),(0,e.jsx)("label",{htmlFor:"routing-graph-checkbox",children:"Show Routing Graph"})]}),(0,e.jsxs)("div",{className:xo.option,children:[(0,e.jsx)("input",{type:"checkbox",id:"urban-density-checkbox",checked:t.urbanDensityEnabled,onChange:e=>{n(),Ii.dispatch(new Qi(e.target.checked))}}),(0,e.jsx)("label",{htmlFor:"urban-density-checkbox",children:"Show Urban Density"})]})]}),vr.externalMVTLayer&&(0,e.jsx)(e.Fragment,{children:(0,e.jsxs)("div",{className:xo.option,children:[(0,e.jsx)("input",{type:"checkbox",id:"external-mvt-layer-checkbox",checked:t.externalMVTEnabled,onChange:e=>{n(),Ii.dispatch(new Ji(e.target.checked))}}),(0,e.jsx)("label",{htmlFor:"external-mvt-layer-checkbox",children:"Show External MVT"})]})})]})};var Ro=n(822),Io={};Io.styleTagTransform=x(),Io.setAttributes=m(),Io.insert=_().bind(null,"head"),Io.domAPI=p(),Io.insertStyleElement=v(),d()(Ro.A,Io);const Lo=Ro.A&&Ro.A.locals?Ro.A.locals:void 0;var zo=n(4457),Oo={};Oo.styleTagTransform=x(),Oo.setAttributes=m(),Oo.insert=_().bind(null,"head"),Oo.domAPI=p(),Oo.insertStyleElement=v(),d()(zo.A,Oo);const Fo=zo.A&&zo.A.locals?zo.A.locals:void 0;var jo;function Do(){return Do=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Do.apply(this,arguments)}const No=function(e){return c.createElement("svg",Do({xmlns:"http://www.w3.org/2000/svg",className:"minus-circle-solid_svg__svg-inline--fa minus-circle-solid_svg__fa-minus-circle minus-circle-solid_svg__fa-w-16","data-icon":"minus-circle","data-prefix":"fas",viewBox:"0 0 512 512"},e),jo||(jo=c.createElement("path",{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"})))};var qo;function Bo(){return Bo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Bo.apply(this,arguments)}const Go=function(e){return c.createElement("svg",Bo({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,"aria-hidden":"true",className:"plus-circle-solid_svg__svg-inline--fa plus-circle-solid_svg__fa-plus-circle plus-circle-solid_svg__fa-w-16","data-icon":"plus-circle","data-prefix":"fas",viewBox:"0 0 512 512"},e),qo||(qo=c.createElement("path",{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"})))};var Vo;function Ho(){return Ho=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Ho.apply(this,arguments)}const Wo=function(e){return c.createElement("svg",Ho({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 0 50 50"},e),Vo||(Vo=c.createElement("path",{d:"M6 40V8l38 16Zm3-4.65L36.2 24 9 12.5v8.4L21.1 24 9 27Zm0 0V12.5 27Z"})))};var Uo=n(61),$o={};$o.styleTagTransform=x(),$o.setAttributes=m(),$o.insert=_().bind(null,"head"),$o.domAPI=p(),$o.insertStyleElement=v(),d()(Uo.A,$o);const Zo=Uo.A&&Uo.A.locals?Uo.A.locals:void 0;class Ko{constructor(e,t,n,i){this.mainText=e,this.secondText=t,this.point=n,this.bbox=i}toText(){return this.mainText+", "+this.secondText}}class Xo{constructor(e){this.result=e}}function Yo({items:t,highlightedItem:n,onSelect:i}){return(0,e.jsx)("ul",{children:t.map(((t,r)=>(0,e.jsx)("li",{className:Zo.autocompleteItem,children:Qo(t,n===t,i)},r)))})}function Qo(t,n,i){if(t instanceof Ko)return(0,e.jsx)(es,{item:t,isHighlighted:n,onSelect:i});if(t instanceof Xo)return(0,e.jsx)(Jo,{item:t,isHighlighted:n,onSelect:i});throw Error("Unsupported item type: "+typeof t)}function Jo({item:t,isHighlighted:n,onSelect:i}){const r=t.result.poi?t.result.poi:"";return(0,e.jsx)(ts,{isHighlighted:n,onSelect:()=>i(t),children:(0,e.jsxs)("div",{className:Zo.poiEntry,children:[(0,e.jsx)("span",{className:Zo.poiEntryPrimaryText,children:r.charAt(0).toUpperCase()+r.slice(1)}),(0,e.jsx)("span",{children:t.result.text("")})]})})}function es({item:t,isHighlighted:n,onSelect:i}){return(0,e.jsx)(ts,{isHighlighted:n,onSelect:()=>i(t),children:(0,e.jsxs)("div",{className:Zo.geocodingEntry,title:t.toText(),children:[(0,e.jsx)("span",{className:Zo.mainText,children:t.mainText}),(0,e.jsx)("span",{className:Zo.secondaryText,children:t.secondText})]})})}function ts({isHighlighted:t,children:n,onSelect:i}){const r=t?Zo.selectableItem+" "+Zo.highlightedItem:Zo.selectableItem;return(0,e.jsx)("button",{className:r,onClick:()=>i(),onTouchEnd:e=>{e.preventDefault(),i()},onMouseDown:e=>{e.preventDefault()},children:n})}var ns;function is(){return is=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},is.apply(this,arguments)}const rs=function(e){return c.createElement("svg",is({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),ns||(ns=c.createElement("path",{fill:"currentColor",d:"m313-440 224 224-57 56-320-320 320-320 57 56-224 224h487v80H313Z"})))};var os;function ss(){return ss=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ss.apply(this,arguments)}const as=function(e){return c.createElement("svg",ss({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),os||(os=c.createElement("path",{fill:"currentColor",d:"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z"})))};var ls,cs;function us(){return us=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},us.apply(this,arguments)}const ds=function(e){return c.createElement("svg",us({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},e),ls||(ls=c.createElement("path",{fill:"none",d:"M0 0h24v24H0V0z"})),cs||(cs=c.createElement("path",{fill:"currentColor",d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3A8.994 8.994 0 0 0 13 3.06V2c0-.55-.45-1-1-1s-1 .45-1 1v1.06A8.994 8.994 0 0 0 3.06 11H2c-.55 0-1 .45-1 1s.45 1 1 1h1.06A8.994 8.994 0 0 0 11 20.94V22c0 .55.45 1 1 1s1-.45 1-1v-1.06A8.994 8.994 0 0 0 20.94 13H22c.55 0 1-.45 1-1s-.45-1-1-1h-1.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"})))};var hs=n(7681),ps={};ps.styleTagTransform=x(),ps.setAttributes=m(),ps.insert=_().bind(null,"head"),ps.domAPI=p(),ps.insertStyleElement=v(),d()(hs.A,ps);const fs=hs.A&&hs.A.locals?hs.A.locals:void 0;var _s=n(570),gs=n(2483),ms=n(1679),ys={};ys.styleTagTransform=x(),ys.setAttributes=m(),ys.insert=_().bind(null,"head"),ys.domAPI=p(),ys.insertStyleElement=v(),d()(ms.A,ys);const vs=ms.A&&ms.A.locals?ms.A.locals:void 0;function bs({children:e,inputElement:t,keepClearAtBottom:n}){const i=(0,c.useRef)(document.createElement("div")),r=(0,c.useRef)(document.getElementById(yR)),o=function(e,t){const[n,i]=(0,c.useState)(DOMRect.fromRect());return(0,c.useEffect)((()=>{t&&i(t.getBoundingClientRect())}),[t]),(0,c.useEffect)((()=>{const n=()=>{i(t.getBoundingClientRect())},r=document.getElementById(e);return r&&r.addEventListener("scroll",n,{passive:!0}),()=>{r&&r.removeEventListener("scroll",n)}}),[t]),n}(vR,t);return(0,c.useEffect)((()=>(i.current.className=vs.popup,r.current.appendChild(i.current),()=>{r.current.removeChild(i.current)})),[i]),(0,c.useEffect)((()=>{const e=r.current.getBoundingClientRect();e.bottom-o.bottom>n?function(e,t,n){const i=e.bottom-t.top,r=e.left-t.left;n.style.top=i+"px",n.style.bottom="",n.style.left=r+"px",n.style.width=e.width+"px"}(o,e,i.current):function(e,t,n){const i=t.bottom-e.bottom+e.height,r=e.left-t.left;n.style.bottom=i+"px",n.style.top="",n.style.left=r+"px",n.style.width=e.width+"px"}(o,e,i.current)}),[o]),(0,gs.createPortal)(e,i.current)}const xs={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937},ws=class{constructor(e){this.code_=e.code,this.units_=e.units,this.extent_=void 0!==e.extent?e.extent:null,this.worldExtent_=void 0!==e.worldExtent?e.worldExtent:null,this.axisOrientation_=void 0!==e.axisOrientation?e.axisOrientation:"enu",this.global_=void 0!==e.global&&e.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=e.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=e.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||xs[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(e){this.global_=e,this.canWrapX_=!(!e||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(e){this.defaultTileGrid_=e}setExtent(e){this.extent_=e,this.canWrapX_=!(!this.global_||!e)}setWorldExtent(e){this.worldExtent_=e}setGetPointResolution(e){this.getPointResolutionFunc_=e}getPointResolutionFunc(){return this.getPointResolutionFunc_}},ks=6378137,Cs=Math.PI*ks,Ss=[-Cs,-Cs,Cs,Cs],As=[-180,-85,180,85],Es=ks*Math.log(Math.tan(Math.PI/2));class Ms extends ws{constructor(e){super({code:e,units:"m",extent:Ss,global:!0,worldExtent:As,getPointResolution:function(e,t){return e/Math.cosh(t[1]/ks)}})}}const Ts=[new Ms("EPSG:3857"),new Ms("EPSG:102100"),new Ms("EPSG:102113"),new Ms("EPSG:900913"),new Ms("http://www.opengis.net/def/crs/EPSG/0/3857"),new Ms("http://www.opengis.net/gml/srs/epsg.xml#3857")];const Ps=[-180,-90,180,90],Rs=6378137*Math.PI/180;class Is extends ws{constructor(e,t){super({code:e,units:"degrees",extent:Ps,axisOrientation:t,global:!0,metersPerUnit:Rs,worldExtent:Ps})}}const Ls=[new Is("CRS:84"),new Is("EPSG:4326","neu"),new Is("urn:ogc:def:crs:OGC:1.3:CRS84"),new Is("urn:ogc:def:crs:OGC:2:84"),new Is("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new Is("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new Is("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let zs={},Os={};function Fs(e,t,n){const i=e.getCode(),r=t.getCode();i in Os||(Os[i]={}),Os[i][r]=n}function js(e){const t=[1/0,1/0,-1/0,-1/0];for(let n=0,i=e.length;n<i;++n)Ys(t,e[n]);return t}function Ds(e,t,n){return n?(n[0]=e[0]-t,n[1]=e[1]-t,n[2]=e[2]+t,n[3]=e[3]+t,n):[e[0]-t,e[1]-t,e[2]+t,e[3]+t]}function Ns(e,t){return t?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):e.slice()}function qs(e,t,n){let i,r;return i=t<e[0]?e[0]-t:e[2]<t?t-e[2]:0,r=n<e[1]?e[1]-n:e[3]<n?n-e[3]:0,i*i+r*r}function Bs(e,t){return Vs(e,t[0],t[1])}function Gs(e,t){return e[0]<=t[0]&&t[2]<=e[2]&&e[1]<=t[1]&&t[3]<=e[3]}function Vs(e,t,n){return e[0]<=t&&t<=e[2]&&e[1]<=n&&n<=e[3]}function Hs(e,t){const n=e[0],i=e[1],r=e[2],o=e[3],s=t[0],a=t[1];let l=0;return s<n?l|=16:s>r&&(l|=4),a<i?l|=8:a>o&&(l|=2),0===l&&(l=1),l}function Ws(e,t,n,i,r){return r?(r[0]=e,r[1]=t,r[2]=n,r[3]=i,r):[e,t,n,i]}function Us(e){return Ws(1/0,1/0,-1/0,-1/0,e)}function $s(e,t){const n=e[0],i=e[1];return Ws(n,i,n,i,t)}function Zs(e,t,n,i,r){return Qs(Us(r),e,t,n,i)}function Ks(e,t){return e[0]==t[0]&&e[2]==t[2]&&e[1]==t[1]&&e[3]==t[3]}function Xs(e,t){return t[0]<e[0]&&(e[0]=t[0]),t[2]>e[2]&&(e[2]=t[2]),t[1]<e[1]&&(e[1]=t[1]),t[3]>e[3]&&(e[3]=t[3]),e}function Ys(e,t){t[0]<e[0]&&(e[0]=t[0]),t[0]>e[2]&&(e[2]=t[0]),t[1]<e[1]&&(e[1]=t[1]),t[1]>e[3]&&(e[3]=t[1])}function Qs(e,t,n,i,r){for(;n<i;n+=r)Js(e,t[n],t[n+1]);return e}function Js(e,t,n){e[0]=Math.min(e[0],t),e[1]=Math.min(e[1],n),e[2]=Math.max(e[2],t),e[3]=Math.max(e[3],n)}function ea(e,t){let n;return n=t(na(e)),n||(n=t(ia(e)),n||(n=t(ua(e)),n||(n=t(ca(e)),n||!1)))}function ta(e){let t=0;return pa(e)||(t=da(e)*aa(e)),t}function na(e){return[e[0],e[1]]}function ia(e){return[e[2],e[1]]}function ra(e){return[(e[0]+e[2])/2,(e[1]+e[3])/2]}function oa(e,t){let n;if("bottom-left"===t)n=na(e);else if("bottom-right"===t)n=ia(e);else if("top-left"===t)n=ca(e);else{if("top-right"!==t)throw new Error("Invalid corner");n=ua(e)}return n}function sa(e,t,n,i,r){const[o,s,a,l,c,u,d,h]=function(e,t,n,i){const r=t*i[0]/2,o=t*i[1]/2,s=Math.cos(n),a=Math.sin(n),l=r*s,c=r*a,u=o*s,d=o*a,h=e[0],p=e[1];return[h-l+d,p-c-u,h-l-d,p-c+u,h+l-d,p+c+u,h+l+d,p+c-u,h-l+d,p-c-u]}(e,t,n,i);return Ws(Math.min(o,a,c,d),Math.min(s,l,u,h),Math.max(o,a,c,d),Math.max(s,l,u,h),r)}function aa(e){return e[3]-e[1]}function la(e,t,n){const i=n||[1/0,1/0,-1/0,-1/0];return ha(e,t)?(e[0]>t[0]?i[0]=e[0]:i[0]=t[0],e[1]>t[1]?i[1]=e[1]:i[1]=t[1],e[2]<t[2]?i[2]=e[2]:i[2]=t[2],e[3]<t[3]?i[3]=e[3]:i[3]=t[3]):Us(i),i}function ca(e){return[e[0],e[3]]}function ua(e){return[e[2],e[3]]}function da(e){return e[2]-e[0]}function ha(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]}function pa(e){return e[2]<e[0]||e[3]<e[1]}function fa(e,t,n,i){if(pa(e))return Us(n);let r=[];if(i>1){const t=e[2]-e[0],n=e[3]-e[1];for(let o=0;o<i;++o)r.push(e[0]+t*o/i,e[1],e[2],e[1]+n*o/i,e[2]-t*o/i,e[3],e[0],e[3]-n*o/i)}else r=[e[0],e[1],e[2],e[1],e[2],e[3],e[0],e[3]];t(r,r,2);const o=[],s=[];for(let e=0,t=r.length;e<t;e+=2)o.push(r[e]),s.push(r[e+1]);return function(e,t,n){return Ws(Math.min.apply(null,e),Math.min.apply(null,t),Math.max.apply(null,e),Math.max.apply(null,t),n)}(o,s,n)}function _a(e,t){const n=t.getExtent(),i=ra(e);if(t.canWrapX()&&(i[0]<n[0]||i[0]>=n[2])){const t=da(n),r=Math.floor((i[0]-n[0])/t)*t;e[0]-=r,e[2]-=r}return e}function ga(e,t,n){if(t.canWrapX()){const i=t.getExtent();if(!isFinite(e[0])||!isFinite(e[2]))return[[i[0],e[1],i[2],e[3]]];_a(e,t);const r=da(i);if(da(e)>r&&!n)return[[i[0],e[1],i[2],e[3]]];if(e[0]<i[0])return[[e[0]+r,e[1],i[2],e[3]],[i[0],e[1],e[2],e[3]]];if(e[2]>i[2])return[[e[0],e[1],i[2],e[3]],[i[0],e[1],e[2]-r,e[3]]]}return[e]}function ma(e,t,n){return Math.min(Math.max(e,t),n)}function ya(e,t,n,i,r,o){const s=r-n,a=o-i;if(0!==s||0!==a){const l=((e-n)*s+(t-i)*a)/(s*s+a*a);l>1?(n=r,i=o):l>0&&(n+=s*l,i+=a*l)}return va(e,t,n,i)}function va(e,t,n,i){const r=n-e,o=i-t;return r*r+o*o}function ba(e){return e*Math.PI/180}function xa(e,t){const n=e%t;return n*t<0?n+t:n}function wa(e,t,n){return e+n*(t-e)}function ka(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}function Ca(e,t){return Math.floor(ka(e,t))}function Sa(e,t){return Math.ceil(ka(e,t))}function Aa(e,t){const n=t.getRadius(),i=t.getCenter(),r=i[0],o=i[1];let s=e[0]-r;const a=e[1]-o;0===s&&0===a&&(s=1);const l=Math.sqrt(s*s+a*a);return[r+n*s/l,o+n*a/l]}function Ea(e,t){const n=e[0],i=e[1],r=t[0],o=t[1],s=r[0],a=r[1],l=o[0],c=o[1],u=l-s,d=c-a,h=0===u&&0===d?0:(u*(n-s)+d*(i-a))/(u*u+d*d||0);let p,f;return h<=0?(p=s,f=a):h>=1?(p=l,f=c):(p=s+h*u,f=a+h*d),[p,f]}function Ma(e,t){let n=!0;for(let i=e.length-1;i>=0;--i)if(e[i]!=t[i]){n=!1;break}return n}function Ta(e,t){const n=Math.cos(t),i=Math.sin(t),r=e[0]*n-e[1]*i,o=e[1]*n+e[0]*i;return e[0]=r,e[1]=o,e}function Pa(e,t){const n=e[0]-t[0],i=e[1]-t[1];return n*n+i*i}function Ra(e,t){return Math.sqrt(Pa(e,t))}function Ia(e,t){if(t.canWrapX()){const n=da(t.getExtent()),i=function(e,t,n){const i=t.getExtent();let r=0;return t.canWrapX()&&(e[0]<i[0]||e[0]>i[2])&&(n=n||da(i),r=Math.floor((e[0]-i[0])/n)),r}(e,t,n);i&&(e[0]-=i*n)}return e}function La(e,t,n){n=n||6371008.8;const i=ba(e[1]),r=ba(t[1]),o=(r-i)/2,s=ba(t[0]-e[0])/2,a=Math.sin(o)*Math.sin(o)+Math.sin(s)*Math.sin(s)*Math.cos(i)*Math.cos(r);return 2*n*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}const za=2;let Oa=1;function Fa(...e){Oa>za||console.warn(...e)}let ja=!0;function Da(e){ja=!(void 0===e||e)}function Na(e,t){if(void 0!==t)for(let n=0,i=e.length;n<i;++n)t[n]=e[n];else t=e.slice();return t}function qa(e,t){if(void 0!==t&&e!==t){for(let n=0,i=e.length;n<i;++n)t[n]=e[n];e=t}return e}function Ba(e){!function(e,t){zs[e]=t}(e.getCode(),e),Fs(e,e,Na)}function Ga(e){return"string"==typeof e?zs[t=e]||zs[t.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/,"EPSG:$3")]||null:e||null;var t}function Va(e,t,n,i){let r;const o=(e=Ga(e)).getPointResolutionFunc();if(o){if(r=o(t,n),i&&i!==e.getUnits()){const t=e.getMetersPerUnit();t&&(r=r*t/xs[i])}}else{const o=e.getUnits();if("degrees"==o&&!i||"degrees"==i)r=t;else{const s=Ka(e,Ga("EPSG:4326"));if(s===qa&&"degrees"!==o)r=t*e.getMetersPerUnit();else{let e=[n[0]-t/2,n[1],n[0]+t/2,n[1],n[0],n[1]-t/2,n[0],n[1]+t/2];e=s(e,e,2),r=(La(e.slice(0,2),e.slice(2,4))+La(e.slice(4,6),e.slice(6,8)))/2}const a=i?xs[i]:e.getMetersPerUnit();void 0!==a&&(r/=a)}}return r}function Ha(e){!function(e){e.forEach(Ba)}(e),e.forEach((function(t){e.forEach((function(e){t!==e&&Fs(t,e,Na)}))}))}function Wa(e,t){return e?"string"==typeof e?Ga(e):e:Ga(t)}function Ua(e,t){return Da(),Ya(e,"EPSG:4326",void 0!==t?t:"EPSG:3857")}function $a(e,t){const n=Ya(e,void 0!==t?t:"EPSG:3857","EPSG:4326"),i=n[0];return(i<-180||i>180)&&(n[0]=xa(i+180,360)-180),n}function Za(e,t){if(e===t)return!0;const n=e.getUnits()===t.getUnits();return(e.getCode()===t.getCode()||Ka(e,t)===Na)&&n}function Ka(e,t){let n=function(e,t){let n;return e in Os&&t in Os[e]&&(n=Os[e][t]),n}(e.getCode(),t.getCode());return n||(n=qa),n}function Xa(e,t){return Ka(Ga(e),Ga(t))}function Ya(e,t,n){return Xa(t,n)(e,void 0,e.length)}function Qa(e,t,n,i){return fa(e,Xa(t,n),void 0,i)}let Ja=null;function el(){return Ja}function tl(e,t){return e}function nl(e,t){return ja&&!Ma(e,[0,0])&&e[0]>=-180&&e[0]<=180&&e[1]>=-90&&e[1]<=90&&(ja=!1,Fa("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),e}function il(e,t){return e}function rl(e,t){return e}function ol(e,t){return e}var sl,al,ll;Ha(Ts),Ha(Ls),sl=Ts,al=function(e,t,n,i){const r=e.length;n=n>1?n:2,i=i??n,void 0===t&&(t=n>2?e.slice():new Array(r));for(let n=0;n<r;n+=i){t[n]=Cs*e[n]/180;let i=ks*Math.log(Math.tan(Math.PI*(+e[n+1]+90)/360));i>Es?i=Es:i<-Es&&(i=-Es),t[n+1]=i}return t},ll=function(e,t,n,i){const r=e.length;n=n>1?n:2,i=i??n,void 0===t&&(t=n>2?e.slice():new Array(r));for(let n=0;n<r;n+=i)t[n]=180*e[n]/Cs,t[n+1]=360*Math.atan(Math.exp(e[n+1]/ks))/Math.PI-90;return t},Ls.forEach((function(e){sl.forEach((function(t){Fs(e,t,al),Fs(t,e,ll)}))}));class cl{constructor(e,t,n,i){this.location=e,this.query=t,this.icon=n,this.poi=i}hasPOIs(){return this.query.queries.length>0}text(e){return this.location?l("poi_in",[e,this.location]):l("poi_nearby",[e])}static parse(e,t){e=e.toLowerCase();const n=cl.REMOVE_VALUES,i=e.split(" ").filter((e=>e&&!n.includes(e))),r=cl.getGeneric(i);if(r.hasPOIs())return r;const o=i.join(" "),s=[];for(let e=0;e<i.length-1;e++)s.push(i[e]+" "+i[e+1]);const a=[];for(let e=0;e<i.length-2;e++)a.push(i[e]+" "+i[e+1]+" "+i[e+2]);for(const e of cl.TRIGGER_VALUES){if(a.length>0)for(const t of e.k){const n=a.indexOf(t);if(!(n<0))return new cl(o.replace(a[n],"").trim(),e.q,e.i,e.k[0])}if(s.length>0)for(const t of e.k){const n=s.indexOf(t);if(!(n<0))return new cl(o.replace(s[n],"").trim(),e.q,e.i,e.k[0])}for(const t of e.k){const n=i.indexOf(t);if(!(n<0))return new cl(o.replace(i[n],"").trim(),e.q,e.i,e.k[0])}}return new cl("",new ul([]),"","")}static getGeneric(e){const t=[],n=[],i=[],r=new ul([new dl([])]),o=e.includes("and");for(const o of e){const e=o.indexOf("!"),s=o.indexOf("="),a=o.indexOf("~");if(e>=0){const t=o.includes("~")?"!~":"!=",n=new hl(o.substring(0,e),t,o.substring(e+2),!1);r.queries[0].phrases.push(n),i.push(n)}else if(a>=0){const e=new hl(o.substring(0,a),"~",o.substring(a+1),!0);r.queries[0].phrases.push(e),n.push(e)}else if(s>=0){const e=new hl(o.substring(0,s),"=",o.substring(s+1),!1);r.queries[0].phrases.push(e),n.push(e)}else"and"==o||t.push(o)}if(o)return new cl(t.join(" "),r,"store",r.toString());const s=[];for(const e of n)s.push(new dl([e,...i]));const a=new ul(s);return new cl(t.join(" "),a,"store",a.toString())}static handleGeocodingResponse(e,t){if(0==e.length)return void Ii.dispatch(new ur([]));const n=e.filter((e=>!!e.point)).map((e=>{const n=_r({name:e.tags.name?e.tags.name:"",country:e.tags["addr:country"],city:e.tags["addr:city"],state:e.tags["addr:state"],street:e.tags["addr:street"],housenumber:e.tags["addr:housenumer"],postcode:e.tags["addr:postcode"]});return{name:n.mainText,osm_id:""+e.id,osm_type:e.type,query:t.query,tags:e.tags,icon:t.icon,coordinate:e.point,address:n.secondText}})),i=kr.getBBoxPoints(n.map((e=>e.coordinate)));i?(t.location&&Ii.dispatch(new nr(i)),Ii.dispatch(new ur(n))):console.warn("invalid bbox for points "+JSON.stringify(n)+" result was: "+JSON.stringify(t))}static setPOITriggerPhrases(e){const t=t=>e.get(t).split(",").map((e=>e.trim().toLowerCase()));cl.REMOVE_VALUES=t("poi_removal_words"),cl.TRIGGER_VALUES=[{k:"poi_airports",q:["aeroway=aerodrome and landuse!=military and military!~.*"],i:"flight_takeoff"},{k:"poi_bureau_de_change",q:["amenity=bureau_de_change"],i:"local_atm"},{k:"poi_atm",q:["amenity=atm","amenity=bank"],i:"local_atm"},{k:"poi_banks",q:["amenity=bank"],i:"universal_currency_alt"},{k:"poi_bicycle",q:["shop=bicycle"],i:"pedal_bike"},{k:"poi_bicycle_rental",q:["amenity=bicycle_rental"],i:"pedal_bike"},{k:"poi_car_rental",q:["amenity=car_rental","amenity=car_sharing"],i:"car_rental"},{k:"poi_car_repair",q:["shop=car","shop=car_repair"],i:"car_repair"},{k:"poi_bus_stops",q:["highway=bus_stop"],i:"train"},{k:"poi_cafe",q:["amenity=cafe","amenity=restaurant and cuisine=coffee_shop","amenity=internet_cafe"],i:"restaurant"},{k:"poi_charging_station",q:["amenity=charging_station"],i:"charger"},{k:"poi_cinema",q:["amenity=cinema"],i:"cinematic_blur"},{k:"poi_cuisine_american",q:["cuisine=american","origin=american"],i:"restaurant"},{k:"poi_cuisine_african",q:["cuisine=african","origin=african"],i:"restaurant"},{k:"poi_cuisine_arab",q:["cuisine=arab","origin=arab"],i:"restaurant"},{k:"poi_cuisine_asian",q:["cuisine=asian","origin=asian","name~asia"],i:"restaurant"},{k:"poi_cuisine_chinese",q:["cuisine=chinese","origin=chinese"],i:"restaurant"},{k:"poi_cuisine_greek",q:["cuisine=greek","origin=greek"],i:"restaurant"},{k:"poi_cuisine_indian",q:["cuisine=indian","origin=indian"],i:"restaurant"},{k:"poi_cuisine_italian",q:["cuisine=italian","origin=italian"],i:"restaurant"},{k:"poi_cuisine_japanese",q:["cuisine=japanese","origin=japanese"],i:"restaurant"},{k:"poi_cuisine_mexican",q:["cuisine=mexican","origin=mexican"],i:"restaurant"},{k:"poi_cuisine_polish",q:["cuisine=polish","origin=polish"],i:"restaurant"},{k:"poi_cuisine_russian",q:["cuisine=russian","origin=russian"],i:"restaurant"},{k:"poi_cuisine_turkish",q:["cuisine=turkish","origin=turkish"],i:"restaurant"},{k:"poi_diy",q:["shop=doityourself"],i:"store"},{k:"poi_doctor",q:["amenity=doctors","healthcare=doctor"],i:"local_pharmacy"},{k:"poi_dentist",q:["amenity=dentist","healthcare=dentist"],i:"local_pharmacy"},{k:"poi_education",q:["amenity=school","building=school","building=university"],i:"school"},{k:"poi_fast_food",q:["amenity=fast_food"],i:"restaurant"},{k:"poi_food_burger",q:["cuisine=burger","name~burger"],i:"restaurant"},{k:"poi_food_kebab",q:["cuisine=kebab","name~kebab"],i:"restaurant"},{k:"poi_food_pizza",q:["cuisine=pizza","name~pizza"],i:"restaurant"},{k:"poi_food_sandwich",q:["cuisine=sandwich","name~sandwich"],i:"restaurant"},{k:"poi_food_sushi",q:["cuisine=sushi","name~sushi"],i:"restaurant"},{k:"poi_food_chicken",q:["cuisine=chicken","name~chicken"],i:"restaurant"},{k:"poi_gas_station",q:["amenity=fuel"],i:"local_gas_station"},{k:"poi_hospitals",q:["amenity=hospital","building=hospital"],i:"local_hospital"},{k:"poi_hotels",q:["amenity=hotel","building=hotel","tourism=hotel"],i:"hotel"},{k:"poi_leisure",q:["leisure=*"],i:"sports_handball"},{k:"poi_museums",q:["tourism=museum","building=museum"],i:"museum"},{k:"poi_parking",q:["amenity=parking"],i:"local_parking"},{k:"poi_parks",q:["leisure=park"],i:"sports_handball"},{k:"poi_pharmacies",q:["amenity=pharmacy"],i:"local_pharmacy"},{k:"poi_playgrounds",q:["leisure=playground"],i:"sports_handball"},{k:"poi_police",q:["amenity=police"],i:"police"},{k:"poi_post_box",q:["amenity=post_box","amenity=post_office","amenity=post_depot"],i:"local_post_office"},{k:"poi_post",q:["amenity=post_office","amenity=post_depot"],i:"local_post_office"},{k:"poi_public_transit",q:["public_transport=station","railway=station","highway=bus_stop"],i:"train"},{k:"poi_railway_station",q:["railway=station","railway=halt"],i:"train"},{k:"poi_recycling",q:["amenity=recycling"],i:"recycling"},{k:"poi_restaurants",q:["amenity=restaurant"],i:"restaurant"},{k:"poi_schools",q:["amenity=school","building=school"],i:"school"},{k:"poi_shopping",q:["shop=*"],i:"store"},{k:"poi_shop_bakery",q:["shop=bakery"],i:"store"},{k:"poi_shop_butcher",q:["shop=butcher"],i:"store"},{k:"poi_super_markets",q:["shop=supermarket","building=supermarket"],i:"store"},{k:"poi_swim",q:["natural=beach","sport=swimming"],i:"pool"},{k:"poi_toilets",q:["amenity=toilets"],i:"home_and_garden"},{k:"poi_tourism",q:["tourism=*"],i:"luggage"},{k:"poi_townhall",q:["amenity=townhall"],i:"location_city"},{k:"poi_transit_stops",q:["highway=bus_stop","railway=tram_stop","public_transport=platform","railway=platform"],i:"train"},{k:"poi_viewpoint",q:["tourism=viewpoint"],i:"visibility"},{k:"poi_water",q:["amenity=drinking_water","natural=spring"],i:"water_drop"},{k:"poi_wifi",q:["internet_access=* and internet_access!=no","amenity=internet_cafe"],i:"wifi"}].map((e=>{const n=e.q.map((e=>new dl(e.split(" and ").map((e=>{let t=e.split("!=");return t.length>1?new hl(t[0],"!=",t[1],!1):(t=e.split("!~"),t.length>1?new hl(t[0],"!~",t[1],!1):(t=e.split("~"),t.length>1?new hl(t[0],"~",t[1],!0):(t=e.split("="),new hl(t[0],"=",t[1],!1))))})))));return{k:t(e.k),q:new ul(n),i:e.i}}))}}class ul{constructor(e){this.queries=e}toString(){return this.queries.join(" ")}}class dl{constructor(e){this.phrases=e}toString(){return this.phrases.map((e=>e.toString())).join(" and ").trim()}}class hl{constructor(e,t,n,i){this.k=e,this.sign=t,this.v=n,this.ignoreCase=i}toString(){return this.k+this.sign+this.v}}const pl=class{constructor(e){this.propagationStopped,this.defaultPrevented,this.type=e,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}},fl="propertychange",_l=class{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}};function gl(e,t){return e>t?1:e<t?-1:0}function ml(e,t,n){if(e[0]<=t)return 0;const i=e.length;if(t<=e[i-1])return i-1;if("function"==typeof n){for(let r=1;r<i;++r){const i=e[r];if(i===t)return r;if(i<t)return n(t,e[r-1],i)>0?r-1:r}return i-1}if(n>0){for(let n=1;n<i;++n)if(e[n]<t)return n-1;return i-1}if(n<0){for(let n=1;n<i;++n)if(e[n]<=t)return n;return i-1}for(let n=1;n<i;++n){if(e[n]==t)return n;if(e[n]<t)return e[n-1]-t<t-e[n]?n-1:n}return i-1}function yl(e,t,n){for(;t<n;){const i=e[t];e[t]=e[n],e[n]=i,++t,--n}}function vl(e,t){const n=Array.isArray(t)?t:[t],i=n.length;for(let t=0;t<i;t++)e[e.length]=n[t]}function bl(e,t){const n=e.length;if(n!==t.length)return!1;for(let i=0;i<n;i++)if(e[i]!==t[i])return!1;return!0}function xl(){return!0}function wl(){return!1}function kl(){}function Cl(e){let t,n,i;return function(){const r=Array.prototype.slice.call(arguments);return n&&this===i&&bl(r,n)||(i=this,n=r,t=e.apply(this,arguments)),t}}function Sl(e){return function(){let t;try{t=e()}catch(e){return Promise.reject(e)}return t instanceof Promise?t:Promise.resolve(t)}()}function Al(e){for(const t in e)delete e[t]}function El(e){let t;for(t in e)return!1;return!t}const Ml=class extends _l{constructor(e){super(),this.eventTarget_=e,this.pendingRemovals_=null,this.dispatching_=null,this.listeners_=null}addEventListener(e,t){if(!e||!t)return;const n=this.listeners_||(this.listeners_={}),i=n[e]||(n[e]=[]);i.includes(t)||i.push(t)}dispatchEvent(e){const t="string"==typeof e,n=t?e:e.type,i=this.listeners_&&this.listeners_[n];if(!i)return;const r=t?new pl(e):e;r.target||(r.target=this.eventTarget_||this);const o=this.dispatching_||(this.dispatching_={}),s=this.pendingRemovals_||(this.pendingRemovals_={});let a;n in o||(o[n]=0,s[n]=0),++o[n];for(let e=0,t=i.length;e<t;++e)if(a="handleEvent"in i[e]?i[e].handleEvent(r):i[e].call(this,r),!1===a||r.propagationStopped){a=!1;break}if(0==--o[n]){let e=s[n];for(delete s[n];e--;)this.removeEventListener(n,kl);delete o[n]}return a}disposeInternal(){this.listeners_&&Al(this.listeners_)}getListeners(e){return this.listeners_&&this.listeners_[e]||void 0}hasListener(e){return!!this.listeners_&&(e?e in this.listeners_:Object.keys(this.listeners_).length>0)}removeEventListener(e,t){if(!this.listeners_)return;const n=this.listeners_[e];if(!n)return;const i=n.indexOf(t);-1!==i&&(this.pendingRemovals_&&e in this.pendingRemovals_?(n[i]=kl,++this.pendingRemovals_[e]):(n.splice(i,1),0===n.length&&delete this.listeners_[e]))}},Tl="change",Pl="contextmenu",Rl="click",Il="keydown",Ll="keypress",zl="touchmove",Ol="wheel";function Fl(e,t,n,i,r){if(r){const r=n;n=function(){e.removeEventListener(t,n),r.apply(i??this,arguments)}}else i&&i!==e&&(n=n.bind(i));const o={target:e,type:t,listener:n};return e.addEventListener(t,n),o}function jl(e,t,n,i){return Fl(e,t,n,i,!0)}function Dl(e){e&&e.target&&(e.target.removeEventListener(e.type,e.listener),Al(e))}class Nl extends Ml{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(Tl)}getRevision(){return this.revision_}onInternal(e,t){if(Array.isArray(e)){const n=e.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=Fl(this,e[r],t);return i}return Fl(this,e,t)}onceInternal(e,t){let n;if(Array.isArray(e)){const i=e.length;n=new Array(i);for(let r=0;r<i;++r)n[r]=jl(this,e[r],t)}else n=jl(this,e,t);return t.ol_key=n,n}unInternal(e,t){const n=t.ol_key;if(n)!function(e){if(Array.isArray(e))for(let t=0,n=e.length;t<n;++t)Dl(e[t]);else Dl(e)}(n);else if(Array.isArray(e))for(let n=0,i=e.length;n<i;++n)this.removeEventListener(e[n],t);else this.removeEventListener(e,t)}}Nl.prototype.on,Nl.prototype.once,Nl.prototype.un;const ql=Nl;function Bl(){throw new Error("Unimplemented abstract method.")}let Gl=0;function Vl(e){return e.ol_uid||(e.ol_uid=String(++Gl))}class Hl extends pl{constructor(e,t,n){super(e),this.key=t,this.oldValue=n}}const Wl=class extends ql{constructor(e){super(),this.on,this.once,this.un,Vl(this),this.values_=null,void 0!==e&&this.setProperties(e)}get(e){let t;return this.values_&&this.values_.hasOwnProperty(e)&&(t=this.values_[e]),t}getKeys(){return this.values_&&Object.keys(this.values_)||[]}getProperties(){return this.values_&&Object.assign({},this.values_)||{}}getPropertiesInternal(){return this.values_}hasProperties(){return!!this.values_}notify(e,t){let n;n=`change:${e}`,this.hasListener(n)&&this.dispatchEvent(new Hl(n,e,t)),n=fl,this.hasListener(n)&&this.dispatchEvent(new Hl(n,e,t))}addChangeListener(e,t){this.addEventListener(`change:${e}`,t)}removeChangeListener(e,t){this.removeEventListener(`change:${e}`,t)}set(e,t,n){const i=this.values_||(this.values_={});if(n)i[e]=t;else{const n=i[e];i[e]=t,n!==t&&this.notify(e,n)}}setProperties(e,t){for(const n in e)this.set(n,e[n],t)}applyProperties(e){e.values_&&Object.assign(this.values_||(this.values_={}),e.values_)}unset(e,t){if(this.values_&&e in this.values_){const n=this.values_[e];delete this.values_[e],El(this.values_)&&(this.values_=null),t||this.notify(e,n)}}},Ul="add",$l="remove",Zl="length";class Kl extends pl{constructor(e,t,n){super(e),this.element=t,this.index=n}}const Xl=class extends Wl{constructor(e,t){if(super(),this.on,this.once,this.un,t=t||{},this.unique_=!!t.unique,this.array_=e||[],this.unique_)for(let e=0,t=this.array_.length;e<t;++e)this.assertUnique_(this.array_[e],e);this.updateLength_()}clear(){for(;this.getLength()>0;)this.pop()}extend(e){for(let t=0,n=e.length;t<n;++t)this.push(e[t]);return this}forEach(e){const t=this.array_;for(let n=0,i=t.length;n<i;++n)e(t[n],n,t)}getArray(){return this.array_}item(e){return this.array_[e]}getLength(){return this.get(Zl)}insertAt(e,t){if(e<0||e>this.getLength())throw new Error("Index out of bounds: "+e);this.unique_&&this.assertUnique_(t),this.array_.splice(e,0,t),this.updateLength_(),this.dispatchEvent(new Kl(Ul,t,e))}pop(){return this.removeAt(this.getLength()-1)}push(e){this.unique_&&this.assertUnique_(e);const t=this.getLength();return this.insertAt(t,e),this.getLength()}remove(e){const t=this.array_;for(let n=0,i=t.length;n<i;++n)if(t[n]===e)return this.removeAt(n)}removeAt(e){if(e<0||e>=this.getLength())return;const t=this.array_[e];return this.array_.splice(e,1),this.updateLength_(),this.dispatchEvent(new Kl($l,t,e)),t}setAt(e,t){if(e>=this.getLength())return void this.insertAt(e,t);if(e<0)throw new Error("Index out of bounds: "+e);this.unique_&&this.assertUnique_(t,e);const n=this.array_[e];this.array_[e]=t,this.dispatchEvent(new Kl($l,n,e)),this.dispatchEvent(new Kl(Ul,t,e))}updateLength_(){this.set(Zl,this.array_.length)}assertUnique_(e,t){for(let n=0,i=this.array_.length;n<i;++n)if(this.array_[n]===e&&n!==t)throw new Error("Duplicate item added to a unique collection")}},Yl="opacity",Ql="visible",Jl="extent",ec="zIndex",tc="maxResolution",nc="minResolution",ic="maxZoom",rc="minZoom",oc="source";function sc(e,t){if(!e)throw new Error(t)}const ac=class extends Wl{constructor(e){super(),this.on,this.once,this.un,this.background_=e.background;const t=Object.assign({},e);"object"==typeof e.properties&&(delete t.properties,Object.assign(t,e.properties)),t[Yl]=void 0!==e.opacity?e.opacity:1,sc("number"==typeof t[Yl],"Layer opacity must be a number"),t[Ql]=void 0===e.visible||e.visible,t[ec]=e.zIndex,t[tc]=void 0!==e.maxResolution?e.maxResolution:1/0,t[nc]=void 0!==e.minResolution?e.minResolution:0,t[rc]=void 0!==e.minZoom?e.minZoom:-1/0,t[ic]=void 0!==e.maxZoom?e.maxZoom:1/0,this.className_=void 0!==t.className?t.className:"ol-layer",delete t.className,this.setProperties(t),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(e){const t=this.state_||{layer:this,managed:void 0===e||e},n=this.getZIndex();return t.opacity=ma(Math.round(100*this.getOpacity())/100,0,1),t.visible=this.getVisible(),t.extent=this.getExtent(),t.zIndex=void 0!==n||t.managed?n:1/0,t.maxResolution=this.getMaxResolution(),t.minResolution=Math.max(this.getMinResolution(),0),t.minZoom=this.getMinZoom(),t.maxZoom=this.getMaxZoom(),this.state_=t,t}getLayersArray(e){return Bl()}getLayerStatesArray(e){return Bl()}getExtent(){return this.get(Jl)}getMaxResolution(){return this.get(tc)}getMinResolution(){return this.get(nc)}getMinZoom(){return this.get(rc)}getMaxZoom(){return this.get(ic)}getOpacity(){return this.get(Yl)}getSourceState(){return Bl()}getVisible(){return this.get(Ql)}getZIndex(){return this.get(ec)}setBackground(e){this.background_=e,this.changed()}setExtent(e){this.set(Jl,e)}setMaxResolution(e){this.set(tc,e)}setMinResolution(e){this.set(nc,e)}setMaxZoom(e){this.set(ic,e)}setMinZoom(e){this.set(rc,e)}setOpacity(e){sc("number"==typeof e,"Layer opacity must be a number"),this.set(Yl,e)}setVisible(e){this.set(Ql,e)}setZIndex(e){this.set(ec,e)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}},lc="prerender",cc="postrender",uc="precompose",dc="rendercomplete",hc={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function pc(e,t,n){return function(i,r,o,s,a){if(!i)return;if(!r&&!t)return i;const l=t?0:o[0]*r,c=t?0:o[1]*r,u=a?a[0]:0,d=a?a[1]:0;let h=e[0]+l/2+u,p=e[2]-l/2+u,f=e[1]+c/2+d,_=e[3]-c/2+d;h>p&&(h=(p+h)/2,p=h),f>_&&(f=(_+f)/2,_=f);let g=ma(i[0],h,p),m=ma(i[1],f,_);if(s&&n&&r){const e=30*r;g+=-e*Math.log(1+Math.max(0,h-i[0])/e)+e*Math.log(1+Math.max(0,i[0]-p)/e),m+=-e*Math.log(1+Math.max(0,f-i[1])/e)+e*Math.log(1+Math.max(0,i[1]-_)/e)}return[g,m]}}function fc(e){return e}function _c(e,t,n,i){const r=da(t)/n[0],o=aa(t)/n[1];return i?Math.min(e,Math.max(r,o)):Math.min(e,Math.min(r,o))}function gc(e,t,n){let i=Math.min(e,t);return i*=Math.log(1+50*Math.max(0,e/t-1))/50+1,n&&(i=Math.max(i,n),i/=Math.log(1+50*Math.max(0,n/e-1))/50+1),ma(i,n/2,2*t)}function mc(e,t,n,i,r){return n=void 0===n||n,function(o,s,a,l){if(void 0!==o){const s=i?_c(e,i,a,r):e;return n&&l?gc(o,s,t):ma(o,t,s)}}}function yc(e){if(void 0!==e)return 0}function vc(e){if(void 0!==e)return e}function bc(e){return Math.pow(e,3)}function xc(e){return 1-bc(1-e)}function wc(e){return 3*e*e-2*e*e*e}function kc(e){return e}const Cc=new Array(6);function Sc(e){return Ec(e,1,0,0,1,0,0)}function Ac(e,t){const n=e[0],i=e[1],r=e[2],o=e[3],s=e[4],a=e[5],l=t[0],c=t[1],u=t[2],d=t[3],h=t[4],p=t[5];return e[0]=n*l+r*c,e[1]=i*l+o*c,e[2]=n*u+r*d,e[3]=i*u+o*d,e[4]=n*h+r*p+s,e[5]=i*h+o*p+a,e}function Ec(e,t,n,i,r,o,s){return e[0]=t,e[1]=n,e[2]=i,e[3]=r,e[4]=o,e[5]=s,e}function Mc(e,t){const n=t[0],i=t[1];return t[0]=e[0]*n+e[2]*i+e[4],t[1]=e[1]*n+e[3]*i+e[5],t}function Tc(e,t,n){return Ac(e,Ec(Cc,t,0,0,n,0,0))}function Pc(e,t,n,i,r,o,s,a){const l=Math.sin(o),c=Math.cos(o);return e[0]=i*c,e[1]=r*l,e[2]=-i*l,e[3]=r*c,e[4]=s*i*c-a*i*l+t,e[5]=s*r*l+a*r*c+n,e}function Rc(e,t){const n=(i=t)[0]*i[3]-i[1]*i[2];var i;sc(0!==n,"Transformation matrix cannot be inverted");const r=t[0],o=t[1],s=t[2],a=t[3],l=t[4],c=t[5];return e[0]=a/n,e[1]=-o/n,e[2]=-s/n,e[3]=r/n,e[4]=(s*c-a*l)/n,e[5]=-(r*c-o*l)/n,e}const Ic=[1e6,1e6,1e6,1e6,2,2];function Lc(e,t,n,i,r,o,s){o=o||[],s=s||2;let a=0;for(let l=t;l<n;l+=i){const t=e[l],n=e[l+1];o[a++]=r[0]*t+r[2]*n+r[4],o[a++]=r[1]*t+r[3]*n+r[5];for(let t=2;t<s;t++)o[a++]=e[l+t]}return o&&o.length!=a&&(o.length=a),o}function zc(e,t,n,i,r,o,s){s=s||[];const a=Math.cos(r),l=Math.sin(r),c=o[0],u=o[1];let d=0;for(let r=t;r<n;r+=i){const t=e[r]-c,n=e[r+1]-u;s[d++]=c+t*a-n*l,s[d++]=u+t*l+n*a;for(let t=r+2;t<r+i;++t)s[d++]=e[t]}return s&&s.length!=d&&(s.length=d),s}const Oc=[1,0,0,1,0,0],Fc=class extends Wl{constructor(){super(),this.extent_=[1/0,1/0,-1/0,-1/0],this.extentRevision_=-1,this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=0,this.simplifyTransformedInternal=Cl(((e,t,n)=>{if(!n)return this.getSimplifiedGeometry(t);const i=this.clone();return i.applyTransform(n),i.getSimplifiedGeometry(t)}))}simplifyTransformed(e,t){return this.simplifyTransformedInternal(this.getRevision(),e,t)}clone(){return Bl()}closestPointXY(e,t,n,i){return Bl()}containsXY(e,t){const n=this.getClosestPoint([e,t]);return n[0]===e&&n[1]===t}getClosestPoint(e,t){return t=t||[NaN,NaN],this.closestPointXY(e[0],e[1],t,1/0),t}intersectsCoordinate(e){return this.containsXY(e[0],e[1])}computeExtent(e){return Bl()}getExtent(e){if(this.extentRevision_!=this.getRevision()){const e=this.computeExtent(this.extent_);(isNaN(e[0])||isNaN(e[1]))&&Us(e),this.extentRevision_=this.getRevision()}return function(e,t){return t?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):e}(this.extent_,e)}rotate(e,t){Bl()}scale(e,t,n){Bl()}simplify(e){return this.getSimplifiedGeometry(e*e)}getSimplifiedGeometry(e){return Bl()}getType(){return Bl()}applyTransform(e){Bl()}intersectsExtent(e){return Bl()}translate(e,t){Bl()}transform(e,t){const n=Ga(e),i="tile-pixels"==n.getUnits()?function(e,i,r){const o=n.getExtent(),s=n.getWorldExtent(),a=aa(s)/aa(o);return Pc(Oc,s[0],s[3],a,-a,0,0,0),Lc(e,0,e.length,r,Oc,i),Xa(n,t)(e,i,r)}:Xa(n,t);return this.applyTransform(i),this}};function jc(e){let t;return 2==e?t="XY":3==e?t="XYZ":4==e&&(t="XYZM"),t}function Dc(e){let t;return"XY"==e?t=2:"XYZ"==e||"XYM"==e?t=3:"XYZM"==e&&(t=4),t}const Nc=class extends Fc{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(e){return Zs(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e)}getCoordinates(){return Bl()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(e){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),e<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&e<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const t=this.getSimplifiedGeometryInternal(e);return t.getFlatCoordinates().length<this.flatCoordinates.length?t:(this.simplifiedGeometryMaxMinSquaredTolerance=e,this)}getSimplifiedGeometryInternal(e){return this}getStride(){return this.stride}setFlatCoordinates(e,t){this.stride=Dc(e),this.layout=e,this.flatCoordinates=t}setCoordinates(e,t){Bl()}setLayout(e,t,n){let i;if(e)i=Dc(e);else{for(let e=0;e<n;++e){if(0===t.length)return this.layout="XY",void(this.stride=2);t=t[0]}i=t.length,e=jc(i)}this.layout=e,this.stride=i}applyTransform(e){this.flatCoordinates&&(e(this.flatCoordinates,this.flatCoordinates,this.layout.startsWith("XYZ")?3:2,this.stride),this.changed())}rotate(e,t){const n=this.getFlatCoordinates();if(n){const i=this.getStride();zc(n,0,n.length,i,e,t,n),this.changed()}}scale(e,t,n){void 0===t&&(t=e),n||(n=ra(this.getExtent()));const i=this.getFlatCoordinates();if(i){const r=this.getStride();!function(e,t,n,i,r,o,s,a){a=a||[];const l=s[0],c=s[1];let u=0;for(let t=0;t<n;t+=i){const n=e[t]-l,s=e[t+1]-c;a[u++]=l+r*n,a[u++]=c+o*s;for(let n=t+2;n<t+i;++n)a[u++]=e[n]}a&&a.length!=u&&(a.length=u)}(i,0,i.length,r,e,t,n,i),this.changed()}}translate(e,t){const n=this.getFlatCoordinates();if(n){const i=this.getStride();!function(e,t,n,i,r,o,s){s=s||[];let a=0;for(let t=0;t<n;t+=i){s[a++]=e[t]+r,s[a++]=e[t+1]+o;for(let n=t+2;n<t+i;++n)s[a++]=e[n]}s&&s.length!=a&&(s.length=a)}(n,0,n.length,i,e,t,n),this.changed()}}};function qc(e,t,n,i,r,o,s){const a=e[t],l=e[t+1],c=e[n]-a,u=e[n+1]-l;let d;if(0===c&&0===u)d=t;else{const h=((r-a)*c+(o-l)*u)/(c*c+u*u);if(h>1)d=n;else{if(h>0){for(let r=0;r<i;++r)s[r]=wa(e[t+r],e[n+r],h);return void(s.length=i)}d=t}}for(let t=0;t<i;++t)s[t]=e[d+t];s.length=i}function Bc(e,t,n,i,r){let o=e[t],s=e[t+1];for(t+=i;t<n;t+=i){const n=e[t],i=e[t+1],a=va(o,s,n,i);a>r&&(r=a),o=n,s=i}return r}function Gc(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o];r=Bc(e,t,s,i,r),t=s}return r}function Vc(e,t,n,i,r,o,s,a,l,c,u){if(t==n)return c;let d,h;if(0===r){if(h=va(s,a,e[t],e[t+1]),h<c){for(d=0;d<i;++d)l[d]=e[t+d];return l.length=i,h}return c}u=u||[NaN,NaN];let p=t+i;for(;p<n;)if(qc(e,p-i,p,i,s,a,u),h=va(s,a,u[0],u[1]),h<c){for(c=h,d=0;d<i;++d)l[d]=u[d];l.length=i,p+=i}else p+=i*Math.max((Math.sqrt(h)-Math.sqrt(c))/r|0,1);if(o&&(qc(e,n-i,t,i,s,a,u),h=va(s,a,u[0],u[1]),h<c)){for(c=h,d=0;d<i;++d)l[d]=u[d];l.length=i}return c}function Hc(e,t,n,i,r,o,s,a,l,c,u){u=u||[NaN,NaN];for(let d=0,h=n.length;d<h;++d){const h=n[d];c=Vc(e,t,h,i,r,o,s,a,l,c,u),t=h}return c}function Wc(e,t,n,i){for(let i=0,r=n.length;i<r;++i)e[t++]=n[i];return t}function Uc(e,t,n,i){for(let r=0,o=n.length;r<o;++r){const o=n[r];for(let n=0;n<i;++n)e[t++]=o[n]}return t}function $c(e,t,n,i,r){r=r||[];let o=0;for(let s=0,a=n.length;s<a;++s){const a=Uc(e,t,n[s],i);r[o++]=a,t=a}return r.length=o,r}function Zc(e,t,n,i,r){r=r||[];let o=0;for(let s=0,a=n.length;s<a;++s){const a=$c(e,t,n[s],i,r[o]);0===a.length&&(a[0]=t),r[o++]=a,t=a[a.length-1]}return r.length=o,r}function Kc(e,t,n,i,r,o,s){const a=(n-t)/i;if(a<3){for(;t<n;t+=i)o[s++]=e[t],o[s++]=e[t+1];return s}const l=new Array(a);l[0]=1,l[a-1]=1;const c=[t,n-i];let u=0;for(;c.length>0;){const n=c.pop(),o=c.pop();let s=0;const a=e[o],d=e[o+1],h=e[n],p=e[n+1];for(let t=o+i;t<n;t+=i){const n=ya(e[t],e[t+1],a,d,h,p);n>s&&(u=t,s=n)}s>r&&(l[(u-t)/i]=1,o+i<u&&c.push(o,u),u+i<n&&c.push(u,n))}for(let n=0;n<a;++n)l[n]&&(o[s++]=e[t+n*i],o[s++]=e[t+n*i+1]);return s}function Xc(e,t,n,i,r,o,s,a){for(let l=0,c=n.length;l<c;++l){const c=n[l];s=Kc(e,t,c,i,r,o,s),a.push(s),t=c}return s}function Yc(e,t){return t*Math.round(e/t)}function Qc(e,t,n,i,r,o,s){if(t==n)return s;let a,l,c=Yc(e[t],r),u=Yc(e[t+1],r);t+=i,o[s++]=c,o[s++]=u;do{if(a=Yc(e[t],r),l=Yc(e[t+1],r),(t+=i)==n)return o[s++]=a,o[s++]=l,s}while(a==c&&l==u);for(;t<n;){const n=Yc(e[t],r),d=Yc(e[t+1],r);if(t+=i,n==a&&d==l)continue;const h=a-c,p=l-u,f=n-c,_=d-u;h*_==p*f&&(h<0&&f<h||h==f||h>0&&f>h)&&(p<0&&_<p||p==_||p>0&&_>p)?(a=n,l=d):(o[s++]=a,o[s++]=l,c=a,u=l,a=n,l=d)}return o[s++]=a,o[s++]=l,s}function Jc(e,t,n,i,r,o,s,a){for(let l=0,c=n.length;l<c;++l){const c=n[l];s=Qc(e,t,c,i,r,o,s),a.push(s),t=c}return s}function eu(e,t,n,i,r){r=void 0!==r?r:[];let o=0;for(let s=t;s<n;s+=i)r[o++]=e.slice(s,s+i);return r.length=o,r}function tu(e,t,n,i,r){r=void 0!==r?r:[];let o=0;for(let s=0,a=n.length;s<a;++s){const a=n[s];r[o++]=eu(e,t,a,i,r[o]),t=a}return r.length=o,r}function nu(e,t,n,i,r){r=void 0!==r?r:[];let o=0;for(let s=0,a=n.length;s<a;++s){const a=n[s];r[o++]=1===a.length&&a[0]===t?[]:tu(e,t,a,i,r[o]),t=a[a.length-1]}return r.length=o,r}function iu(e,t,n,i){let r=0;const o=e[n-i],s=e[n-i+1];let a=0,l=0;for(;t<n;t+=i){const n=e[t]-o,i=e[t+1]-s;r+=l*n-a*i,a=n,l=i}return r/2}function ru(e,t,n,i){let r=0;for(let o=0,s=n.length;o<s;++o){const s=n[o];r+=iu(e,t,s,i),t=s}return r}class ou extends Nc{constructor(e,t){super(),this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===t||Array.isArray(e[0])?this.setCoordinates(e,t):this.setFlatCoordinates(t,e)}clone(){return new ou(this.flatCoordinates.slice(),this.layout)}closestPointXY(e,t,n,i){return i<qs(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Bc(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Vc(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!0,e,t,n,i))}getArea(){return iu(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinates(){return eu(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getSimplifiedGeometryInternal(e){const t=[];return t.length=Kc(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,0),new ou(t,"XY")}getType(){return"LinearRing"}intersectsExtent(e){return!1}setCoordinates(e,t){this.setLayout(t,e,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Uc(this.flatCoordinates,0,e,this.stride),this.changed()}}const su=ou;class au extends Nc{constructor(e,t){super(),this.setCoordinates(e,t)}clone(){const e=new au(this.flatCoordinates.slice(),this.layout);return e.applyProperties(this),e}closestPointXY(e,t,n,i){const r=this.flatCoordinates,o=va(e,t,r[0],r[1]);if(o<i){const e=this.stride;for(let t=0;t<e;++t)n[t]=r[t];return n.length=e,o}return i}getCoordinates(){return this.flatCoordinates.slice()}computeExtent(e){return $s(this.flatCoordinates,e)}getType(){return"Point"}intersectsExtent(e){return Vs(e,this.flatCoordinates[0],this.flatCoordinates[1])}setCoordinates(e,t){this.setLayout(t,e,0),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Wc(this.flatCoordinates,0,e,this.stride),this.changed()}}const lu=au;function cu(e,t,n,i,r){return!ea(r,(function(r){return!uu(e,t,n,i,r[0],r[1])}))}function uu(e,t,n,i,r,o){let s=0,a=e[n-i],l=e[n-i+1];for(;t<n;t+=i){const n=e[t],i=e[t+1];l<=o?i>o&&(n-a)*(o-l)-(r-a)*(i-l)>0&&s++:i<=o&&(n-a)*(o-l)-(r-a)*(i-l)<0&&s--,a=n,l=i}return 0!==s}function du(e,t,n,i,r,o){if(0===n.length)return!1;if(!uu(e,t,n[0],i,r,o))return!1;for(let t=1,s=n.length;t<s;++t)if(uu(e,n[t-1],n[t],i,r,o))return!1;return!0}function hu(e,t,n,i,r,o,s){let a,l,c,u,d,h,p;const f=r[o+1],_=[];for(let r=0,o=n.length;r<o;++r){const o=n[r];for(u=e[o-i],h=e[o-i+1],a=t;a<o;a+=i)d=e[a],p=e[a+1],(f<=h&&p<=f||h<=f&&f<=p)&&(c=(f-h)/(p-h)*(d-u)+u,_.push(c)),u=d,h=p}let g=NaN,m=-1/0;for(_.sort(gl),u=_[0],a=1,l=_.length;a<l;++a){d=_[a];const r=Math.abs(d-u);r>m&&(c=(u+d)/2,du(e,t,n,i,c,f)&&(g=c,m=r)),u=d}return isNaN(g)&&(g=r[o]),s?(s.push(g,f,m),s):[g,f,m]}function pu(e,t,n,i,r){let o=[];for(let s=0,a=n.length;s<a;++s){const a=n[s];o=hu(e,t,a,i,r,2*s,o),t=a[a.length-1]}return o}function fu(e,t,n,i,r){let o;for(t+=i;t<n;t+=i)if(o=r(e.slice(t-i,t),e.slice(t,t+i)),o)return o;return!1}function _u(e,t,n,i,r){const o=Qs([1/0,1/0,-1/0,-1/0],e,t,n,i);return!!ha(r,o)&&(!!Gs(r,o)||o[0]>=r[0]&&o[2]<=r[2]||o[1]>=r[1]&&o[3]<=r[3]||fu(e,t,n,i,(function(e,t){return function(e,t,n){let i=!1;const r=Hs(e,t),o=Hs(e,n);if(1===r||1===o)i=!0;else{const s=e[0],a=e[1],l=e[2],c=e[3],u=t[0],d=t[1],h=n[0],p=n[1],f=(p-d)/(h-u);let _,g;2&o&&!(2&r)&&(_=h-(p-c)/f,i=_>=s&&_<=l),i||!(4&o)||4&r||(g=p-(h-l)*f,i=g>=a&&g<=c),i||!(8&o)||8&r||(_=h-(p-a)/f,i=_>=s&&_<=l),i||!(16&o)||16&r||(g=p-(h-s)*f,i=g>=a&&g<=c)}return i}(r,e,t)})))}function gu(e,t,n,i,r){return!!(_u(e,t,n,i,r)||uu(e,t,n,i,r[0],r[1])||uu(e,t,n,i,r[0],r[3])||uu(e,t,n,i,r[2],r[1])||uu(e,t,n,i,r[2],r[3]))}function mu(e,t,n,i,r){if(!gu(e,t,n[0],i,r))return!1;if(1===n.length)return!0;for(let t=1,o=n.length;t<o;++t)if(cu(e,n[t-1],n[t],i,r)&&!_u(e,n[t-1],n[t],i,r))return!1;return!0}function yu(e,t,n,i){for(;t<n-i;){for(let r=0;r<i;++r){const o=e[t+r];e[t+r]=e[n-i+r],e[n-i+r]=o}t+=i,n-=i}}function vu(e,t,n,i){let r=0,o=e[n-i],s=e[n-i+1];for(;t<n;t+=i){const n=e[t],i=e[t+1];r+=(n-o)*(i+s),o=n,s=i}return 0===r?void 0:r>0}function bu(e,t,n,i,r){r=void 0!==r&&r;for(let o=0,s=n.length;o<s;++o){const s=n[o],a=vu(e,t,s,i);if(0===o){if(r&&a||!r&&!a)return!1}else if(r&&!a||!r&&a)return!1;t=s}return!0}function xu(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o];if(!bu(e,t,s,i,r))return!1;s.length&&(t=s[s.length-1])}return!0}function wu(e,t,n,i,r){r=void 0!==r&&r;for(let o=0,s=n.length;o<s;++o){const s=n[o],a=vu(e,t,s,i);(0===o?r&&a||!r&&!a:r&&!a||!r&&a)&&yu(e,t,s,i),t=s}return t}function ku(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o)t=wu(e,t,n[o],i,r);return t}function Cu(e,t){const n=[];let i,r=0,o=0;for(let s=0,a=t.length;s<a;++s){const a=t[s],l=vu(e,r,a,2);if(void 0===i&&(i=l),l===i)n.push(t.slice(o,s+1));else{if(0===n.length)continue;n[n.length-1].push(t[o])}o=s+1,r=a}return n}class Su extends Nc{constructor(e,t,n){super(),this.ends_=[],this.flatInteriorPointRevision_=-1,this.flatInteriorPoint_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,void 0!==t&&n?(this.setFlatCoordinates(t,e),this.ends_=n):this.setCoordinates(e,t)}appendLinearRing(e){this.flatCoordinates?vl(this.flatCoordinates,e.getFlatCoordinates()):this.flatCoordinates=e.getFlatCoordinates().slice(),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const e=new Su(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return e.applyProperties(this),e}closestPointXY(e,t,n,i){return i<qs(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Gc(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Hc(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!0,e,t,n,i))}containsXY(e,t){return du(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,t)}getArea(){return ru(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)}getCoordinates(e){let t;return void 0!==e?(t=this.getOrientedFlatCoordinates().slice(),wu(t,0,this.ends_,this.stride,e)):t=this.flatCoordinates,tu(t,0,this.ends_,this.stride)}getEnds(){return this.ends_}getFlatInteriorPoint(){if(this.flatInteriorPointRevision_!=this.getRevision()){const e=ra(this.getExtent());this.flatInteriorPoint_=hu(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,0),this.flatInteriorPointRevision_=this.getRevision()}return this.flatInteriorPoint_}getInteriorPoint(){return new lu(this.getFlatInteriorPoint(),"XYM")}getLinearRingCount(){return this.ends_.length}getLinearRing(e){return e<0||this.ends_.length<=e?null:new su(this.flatCoordinates.slice(0===e?0:this.ends_[e-1],this.ends_[e]),this.layout)}getLinearRings(){const e=this.layout,t=this.flatCoordinates,n=this.ends_,i=[];let r=0;for(let o=0,s=n.length;o<s;++o){const s=n[o],a=new su(t.slice(r,s),e);i.push(a),r=s}return i}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const e=this.flatCoordinates;bu(e,0,this.ends_,this.stride)?this.orientedFlatCoordinates_=e:(this.orientedFlatCoordinates_=e.slice(),this.orientedFlatCoordinates_.length=wu(this.orientedFlatCoordinates_,0,this.ends_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(e){const t=[],n=[];return t.length=Jc(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(e),t,0,n),new Su(t,"XY",n)}getType(){return"Polygon"}intersectsExtent(e){return mu(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,2),this.flatCoordinates||(this.flatCoordinates=[]);const n=$c(this.flatCoordinates,0,e,this.stride,this.ends_);this.flatCoordinates.length=0===n.length?0:n[n.length-1],this.changed()}}const Au=Su;function Eu(e){if(pa(e))throw new Error("Cannot create polygon from empty extent");const t=e[0],n=e[1],i=e[2],r=e[3],o=[t,n,t,r,i,r,i,n,t,n];return new Su(o,"XY",[o.length])}function Mu(e,t,n){t=t||32;const i=e.getStride(),r=e.getLayout(),o=e.getCenter(),s=i*(t+1),a=new Array(s);for(let e=0;e<s;e+=i){a[e]=0,a[e+1]=0;for(let t=2;t<i;t++)a[e+t]=o[t]}const l=[a.length],c=new Su(a,r,l);return function(e,t,n,i){const r=e.getFlatCoordinates(),o=e.getStride(),s=r.length/o-1,a=i||0;for(let e=0;e<=s;++e){const i=e*o,l=a+2*xa(e,s)*Math.PI/s;r[i]=t[0]+n*Math.cos(l),r[i+1]=t[1]+n*Math.sin(l)}e.changed()}(c,o,e.getRadius(),n),c}function Tu(e,t){setTimeout((function(){e(t)}),0)}function Pu(e){return!(e.sourceCenter&&e.targetCenter&&!Ma(e.sourceCenter,e.targetCenter))&&e.sourceResolution===e.targetResolution&&e.sourceRotation===e.targetRotation}function Ru(e,t,n,i,r){const o=Math.cos(-r);let s=Math.sin(-r),a=e[0]*o-e[1]*s,l=e[1]*o+e[0]*s;return a+=(t[0]/2-n[0])*i,l+=(n[1]-t[1]/2)*i,s=-s,[a*o-l*s,l*o+a*s]}const Iu=class extends Wl{constructor(e){super(),this.on,this.once,this.un,e=Object.assign({},e),this.hints_=[0,0],this.animations_=[],this.updateAnimationKey_,this.projection_=Wa(e.projection,"EPSG:3857"),this.viewportSize_=[100,100],this.targetCenter_=null,this.targetResolution_,this.targetRotation_,this.nextCenter_=null,this.nextResolution_,this.nextRotation_,this.cancelAnchor_=void 0,e.projection&&Da(),e.center&&(e.center=nl(e.center,this.projection_)),e.extent&&(e.extent=rl(e.extent,this.projection_)),this.applyOptions_(e)}applyOptions_(e){const t=Object.assign({},e);for(const e in hc)delete t[e];this.setProperties(t,!0);const n=function(e){let t,n,i;let r=void 0!==e.minZoom?e.minZoom:0,o=void 0!==e.maxZoom?e.maxZoom:28;const s=void 0!==e.zoomFactor?e.zoomFactor:2,a=void 0!==e.multiWorld&&e.multiWorld,l=void 0===e.smoothResolutionConstraint||e.smoothResolutionConstraint,c=void 0!==e.showFullExtent&&e.showFullExtent,u=Wa(e.projection,"EPSG:3857"),d=u.getExtent();let h=e.constrainOnlyCenter,p=e.extent;if(a||p||!u.isGlobal()||(h=!1,p=d),void 0!==e.resolutions){const s=e.resolutions;n=s[r],i=void 0!==s[o]?s[o]:s[s.length-1],t=e.constrainResolution?function(e,t,n,i){return t=void 0===t||t,function(r,o,s,a){if(void 0!==r){const l=e[0],c=e[e.length-1],u=n?_c(l,n,s,i):l;if(a)return t?gc(r,u,c):ma(r,c,u);const d=Math.min(u,r),h=Math.floor(ml(e,d,o));return e[h]>u&&h<e.length-1?e[h+1]:e[h]}}}(s,l,!h&&p,c):mc(n,i,l,!h&&p,c)}else{const a=(d?Math.max(da(d),aa(d)):360*xs.degrees/u.getMetersPerUnit())/256/Math.pow(2,0),f=a/Math.pow(2,28);n=e.maxResolution,void 0!==n?r=0:n=a/Math.pow(s,r),i=e.minResolution,void 0===i&&(i=void 0!==e.maxZoom?void 0!==e.maxResolution?n/Math.pow(s,o):a/Math.pow(s,o):f),o=r+Math.floor(Math.log(n/i)/Math.log(s)),i=n/Math.pow(s,o-r),t=e.constrainResolution?function(e,t,n,i,r,o){return i=void 0===i||i,n=void 0!==n?n:0,function(s,a,l,c){if(void 0!==s){const u=r?_c(t,r,l,o):t;if(c)return i?gc(s,u,n):ma(s,n,u);const d=1e-9,h=Math.ceil(Math.log(t/u)/Math.log(e)-d),p=-a*(.5-d)+.5,f=Math.min(u,s),_=Math.floor(Math.log(t/f)/Math.log(e)+p),g=Math.max(h,_);return ma(t/Math.pow(e,g),n,u)}}}(s,n,i,l,!h&&p,c):mc(n,i,l,!h&&p,c)}return{constraint:t,maxResolution:n,minResolution:i,minZoom:r,zoomFactor:s}}(e);this.maxResolution_=n.maxResolution,this.minResolution_=n.minResolution,this.zoomFactor_=n.zoomFactor,this.resolutions_=e.resolutions,this.padding_=e.padding,this.minZoom_=n.minZoom;const i=function(e){if(void 0!==e.extent){const t=void 0===e.smoothExtentConstraint||e.smoothExtentConstraint;return pc(e.extent,e.constrainOnlyCenter,t)}const t=Wa(e.projection,"EPSG:3857");if(!0!==e.multiWorld&&t.isGlobal()){const e=t.getExtent().slice();return e[0]=-1/0,e[2]=1/0,pc(e,!1,!1)}return fc}(e),r=n.constraint,o=function(e){if(void 0===e.enableRotation||e.enableRotation){const t=e.constrainRotation;return void 0===t||!0===t?function(){const e=ba(5);return function(t,n){return n||void 0===t?t:Math.abs(t)<=e?0:t}}():!1===t?vc:"number"==typeof t?function(e){const t=2*Math.PI/e;return function(e,n){return n?e:void 0!==e?e=Math.floor(e/t+.5)*t:void 0}}(t):vc}return yc}(e);this.constraints_={center:i,resolution:r,rotation:o},this.setRotation(void 0!==e.rotation?e.rotation:0),this.setCenterInternal(void 0!==e.center?e.center:null),void 0!==e.resolution?this.setResolution(e.resolution):void 0!==e.zoom&&this.setZoom(e.zoom)}get padding(){return this.padding_}set padding(e){let t=this.padding_;this.padding_=e;const n=this.getCenterInternal();if(n){const i=e||[0,0,0,0];t=t||[0,0,0,0];const r=this.getResolution(),o=r/2*(i[3]-t[3]+t[1]-i[1]),s=r/2*(i[0]-t[0]+t[2]-i[2]);this.setCenterInternal([n[0]+o,n[1]-s])}}getUpdatedOptions_(e){const t=this.getProperties();return void 0!==t.resolution?t.resolution=this.getResolution():t.zoom=this.getZoom(),t.center=this.getCenterInternal(),t.rotation=this.getRotation(),Object.assign({},t,e)}animate(e){this.isDef()&&!this.getAnimating()&&this.resolveConstraints(0);const t=new Array(arguments.length);for(let e=0;e<t.length;++e){let n=arguments[e];n.center&&(n=Object.assign({},n),n.center=nl(n.center,this.getProjection())),n.anchor&&(n=Object.assign({},n),n.anchor=nl(n.anchor,this.getProjection())),t[e]=n}this.animateInternal.apply(this,t)}animateInternal(e){let t,n=arguments.length;n>1&&"function"==typeof arguments[n-1]&&(t=arguments[n-1],--n);let i=0;for(;i<n&&!this.isDef();++i){const e=arguments[i];e.center&&this.setCenterInternal(e.center),void 0!==e.zoom?this.setZoom(e.zoom):e.resolution&&this.setResolution(e.resolution),void 0!==e.rotation&&this.setRotation(e.rotation)}if(i===n)return void(t&&Tu(t,!0));let r=Date.now(),o=this.targetCenter_.slice(),s=this.targetResolution_,a=this.targetRotation_;const l=[];for(;i<n;++i){const e=arguments[i],n={start:r,complete:!1,anchor:e.anchor,duration:void 0!==e.duration?e.duration:1e3,easing:e.easing||wc,callback:t};if(e.center&&(n.sourceCenter=o,n.targetCenter=e.center.slice(),o=n.targetCenter),void 0!==e.zoom?(n.sourceResolution=s,n.targetResolution=this.getResolutionForZoom(e.zoom),s=n.targetResolution):e.resolution&&(n.sourceResolution=s,n.targetResolution=e.resolution,s=n.targetResolution),void 0!==e.rotation){n.sourceRotation=a;const t=xa(e.rotation-a+Math.PI,2*Math.PI)-Math.PI;n.targetRotation=a+t,a=n.targetRotation}Pu(n)?n.complete=!0:r+=n.duration,l.push(n)}this.animations_.push(l),this.setHint(0,1),this.updateAnimations_()}getAnimating(){return this.hints_[0]>0}getInteracting(){return this.hints_[1]>0}cancelAnimations(){let e;this.setHint(0,-this.hints_[0]);for(let t=0,n=this.animations_.length;t<n;++t){const n=this.animations_[t];if(n[0].callback&&Tu(n[0].callback,!1),!e)for(let t=0,i=n.length;t<i;++t){const i=n[t];if(!i.complete){e=i.anchor;break}}}this.animations_.length=0,this.cancelAnchor_=e,this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN}updateAnimations_(){if(void 0!==this.updateAnimationKey_&&(cancelAnimationFrame(this.updateAnimationKey_),this.updateAnimationKey_=void 0),!this.getAnimating())return;const e=Date.now();let t=!1;for(let n=this.animations_.length-1;n>=0;--n){const i=this.animations_[n];let r=!0;for(let n=0,o=i.length;n<o;++n){const o=i[n];if(o.complete)continue;const s=e-o.start;let a=o.duration>0?s/o.duration:1;a>=1?(o.complete=!0,a=1):r=!1;const l=o.easing(a);if(o.sourceCenter){const e=o.sourceCenter[0],t=o.sourceCenter[1],n=o.targetCenter[0],i=o.targetCenter[1];this.nextCenter_=o.targetCenter;const r=e+l*(n-e),s=t+l*(i-t);this.targetCenter_=[r,s]}if(o.sourceResolution&&o.targetResolution){const e=1===l?o.targetResolution:o.sourceResolution+l*(o.targetResolution-o.sourceResolution);if(o.anchor){const t=this.getViewportSize_(this.getRotation()),n=this.constraints_.resolution(e,0,t,!0);this.targetCenter_=this.calculateCenterZoom(n,o.anchor)}this.nextResolution_=o.targetResolution,this.targetResolution_=e,this.applyTargetState_(!0)}if(void 0!==o.sourceRotation&&void 0!==o.targetRotation){const e=1===l?xa(o.targetRotation+Math.PI,2*Math.PI)-Math.PI:o.sourceRotation+l*(o.targetRotation-o.sourceRotation);if(o.anchor){const t=this.constraints_.rotation(e,!0);this.targetCenter_=this.calculateCenterRotate(t,o.anchor)}this.nextRotation_=o.targetRotation,this.targetRotation_=e}if(this.applyTargetState_(!0),t=!0,!o.complete)break}if(r){this.animations_[n]=null,this.setHint(0,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const e=i[0].callback;e&&Tu(e,!0)}}this.animations_=this.animations_.filter(Boolean),t&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(e,t){let n;const i=this.getCenterInternal();var r,o;return void 0!==i&&(n=[i[0]-t[0],i[1]-t[1]],Ta(n,e-this.getRotation()),o=t,(r=n)[0]+=+o[0],r[1]+=+o[1]),n}calculateCenterZoom(e,t){let n;const i=this.getCenterInternal(),r=this.getResolution();return void 0!==i&&void 0!==r&&(n=[t[0]-e*(t[0]-i[0])/r,t[1]-e*(t[1]-i[1])/r]),n}getViewportSize_(e){const t=this.viewportSize_;if(e){const n=t[0],i=t[1];return[Math.abs(n*Math.cos(e))+Math.abs(i*Math.sin(e)),Math.abs(n*Math.sin(e))+Math.abs(i*Math.cos(e))]}return t}setViewportSize(e){this.viewportSize_=Array.isArray(e)?e.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const e=this.getCenterInternal();return e?tl(e,this.getProjection()):e}getCenterInternal(){return this.get(hc.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(e){return void 0!==e?(e[0]=this.hints_[0],e[1]=this.hints_[1],e):this.hints_.slice()}calculateExtent(e){return il(this.calculateExtentInternal(e),this.getProjection())}calculateExtentInternal(e){e=e||this.getViewportSizeMinusPadding_();const t=this.getCenterInternal();sc(t,"The view center is not defined");const n=this.getResolution();sc(void 0!==n,"The view resolution is not defined");const i=this.getRotation();return sc(void 0!==i,"The view rotation is not defined"),sa(t,n,i,e)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(e){this.applyOptions_(this.getUpdatedOptions_({maxZoom:e}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(e){this.applyOptions_(this.getUpdatedOptions_({minZoom:e}))}setConstrainResolution(e){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:e}))}getProjection(){return this.projection_}getResolution(){return this.get(hc.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(e,t){return this.getResolutionForExtentInternal(rl(e,this.getProjection()),t)}getResolutionForExtentInternal(e,t){t=t||this.getViewportSizeMinusPadding_();const n=da(e)/t[0],i=aa(e)/t[1];return Math.max(n,i)}getResolutionForValueFunction(e){e=e||2;const t=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(t/n)/Math.log(e);return function(n){return t/Math.pow(e,n*i)}}getRotation(){return this.get(hc.ROTATION)}getValueForResolutionFunction(e){const t=Math.log(e||2),n=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,r=Math.log(n/i)/t;return function(e){return Math.log(n/e)/t/r}}getViewportSizeMinusPadding_(e){let t=this.getViewportSize_(e);const n=this.padding_;return n&&(t=[t[0]-n[1]-n[3],t[1]-n[0]-n[2]]),t}getState(){const e=this.getProjection(),t=this.getResolution(),n=this.getRotation();let i=this.getCenterInternal();const r=this.padding_;if(r){const e=this.getViewportSizeMinusPadding_();i=Ru(i,this.getViewportSize_(),[e[0]/2+r[3],e[1]/2+r[0]],t,n)}return{center:i.slice(0),projection:void 0!==e?e:null,resolution:t,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:n,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let e;const t=this.getResolution();return void 0!==t&&(e=this.getZoomForResolution(t)),e}getZoomForResolution(e){let t,n,i=this.minZoom_||0;if(this.resolutions_){const r=ml(this.resolutions_,e,1);i=r,t=this.resolutions_[r],n=r==this.resolutions_.length-1?2:t/this.resolutions_[r+1]}else t=this.maxResolution_,n=this.zoomFactor_;return i+Math.log(t/e)/Math.log(n)}getResolutionForZoom(e){if(this.resolutions_?.length){if(1===this.resolutions_.length)return this.resolutions_[0];const t=ma(Math.floor(e),0,this.resolutions_.length-2),n=this.resolutions_[t]/this.resolutions_[t+1];return this.resolutions_[t]/Math.pow(n,ma(e-t,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,e-this.minZoom_)}fit(e,t){let n;if(sc(Array.isArray(e)||"function"==typeof e.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(e))sc(!pa(e),"Cannot fit empty extent provided as `geometry`"),n=Eu(rl(e,this.getProjection()));else if("Circle"===e.getType()){const t=rl(e.getExtent(),this.getProjection());n=Eu(t),n.rotate(this.getRotation(),ra(t))}else{const t=el();n=t?e.clone().transform(t,this.getProjection()):e}this.fitInternal(n,t)}rotatedExtentForGeometry(e){const t=this.getRotation(),n=Math.cos(t),i=Math.sin(-t),r=e.getFlatCoordinates(),o=e.getStride();let s=1/0,a=1/0,l=-1/0,c=-1/0;for(let e=0,t=r.length;e<t;e+=o){const t=r[e]*n-r[e+1]*i,o=r[e]*i+r[e+1]*n;s=Math.min(s,t),a=Math.min(a,o),l=Math.max(l,t),c=Math.max(c,o)}return[s,a,l,c]}fitInternal(e,t){let n=(t=t||{}).size;n||(n=this.getViewportSizeMinusPadding_());const i=void 0!==t.padding?t.padding:[0,0,0,0],r=void 0!==t.nearest&&t.nearest;let o;o=void 0!==t.minResolution?t.minResolution:void 0!==t.maxZoom?this.getResolutionForZoom(t.maxZoom):0;const s=this.rotatedExtentForGeometry(e);let a=this.getResolutionForExtentInternal(s,[n[0]-i[1]-i[3],n[1]-i[0]-i[2]]);a=isNaN(a)?o:Math.max(a,o),a=this.getConstrainedResolution(a,r?0:1);const l=this.getRotation(),c=Math.sin(l),u=Math.cos(l),d=ra(s);d[0]+=(i[1]-i[3])/2*a,d[1]+=(i[0]-i[2])/2*a;const h=d[0]*u-d[1]*c,p=d[1]*u+d[0]*c,f=this.getConstrainedCenter([h,p],a),_=t.callback?t.callback:kl;void 0!==t.duration?this.animateInternal({resolution:a,center:f,duration:t.duration,easing:t.easing},_):(this.targetResolution_=a,this.targetCenter_=f,this.applyTargetState_(!1,!0),Tu(_,!0))}centerOn(e,t,n){this.centerOnInternal(nl(e,this.getProjection()),t,n)}centerOnInternal(e,t,n){this.setCenterInternal(Ru(e,t,n,this.getResolution(),this.getRotation()))}calculateCenterShift(e,t,n,i){let r;const o=this.padding_;if(o&&e){const s=this.getViewportSizeMinusPadding_(-n),a=Ru(e,i,[s[0]/2+o[3],s[1]/2+o[0]],t,n);r=[e[0]-a[0],e[1]-a[1]]}return r}isDef(){return!!this.getCenterInternal()&&void 0!==this.getResolution()}adjustCenter(e){const t=tl(this.targetCenter_,this.getProjection());this.setCenter([t[0]+e[0],t[1]+e[1]])}adjustCenterInternal(e){const t=this.targetCenter_;this.setCenterInternal([t[0]+e[0],t[1]+e[1]])}adjustResolution(e,t){t=t&&nl(t,this.getProjection()),this.adjustResolutionInternal(e,t)}adjustResolutionInternal(e,t){const n=this.getAnimating()||this.getInteracting(),i=this.getViewportSize_(this.getRotation()),r=this.constraints_.resolution(this.targetResolution_*e,0,i,n);t&&(this.targetCenter_=this.calculateCenterZoom(r,t)),this.targetResolution_*=e,this.applyTargetState_()}adjustZoom(e,t){this.adjustResolution(Math.pow(this.zoomFactor_,-e),t)}adjustRotation(e,t){t&&(t=nl(t,this.getProjection())),this.adjustRotationInternal(e,t)}adjustRotationInternal(e,t){const n=this.getAnimating()||this.getInteracting(),i=this.constraints_.rotation(this.targetRotation_+e,n);t&&(this.targetCenter_=this.calculateCenterRotate(i,t)),this.targetRotation_+=e,this.applyTargetState_()}setCenter(e){this.setCenterInternal(e?nl(e,this.getProjection()):e)}setCenterInternal(e){this.targetCenter_=e,this.applyTargetState_()}setHint(e,t){return this.hints_[e]+=t,this.changed(),this.hints_[e]}setResolution(e){this.targetResolution_=e,this.applyTargetState_()}setRotation(e){this.targetRotation_=e,this.applyTargetState_()}setZoom(e){this.setResolution(this.getResolutionForZoom(e))}applyTargetState_(e,t){const n=this.getAnimating()||this.getInteracting()||t,i=this.constraints_.rotation(this.targetRotation_,n),r=this.getViewportSize_(i),o=this.constraints_.resolution(this.targetResolution_,0,r,n),s=this.constraints_.center(this.targetCenter_,o,r,n,this.calculateCenterShift(this.targetCenter_,o,i,r));this.get(hc.ROTATION)!==i&&this.set(hc.ROTATION,i),this.get(hc.RESOLUTION)!==o&&(this.set(hc.RESOLUTION,o),this.set("zoom",this.getZoom(),!0)),s&&this.get(hc.CENTER)&&Ma(this.get(hc.CENTER),s)||this.set(hc.CENTER,s),this.getAnimating()&&!e&&this.cancelAnimations(),this.cancelAnchor_=void 0}resolveConstraints(e,t,n){e=void 0!==e?e:200;const i=t||0,r=this.constraints_.rotation(this.targetRotation_),o=this.getViewportSize_(r),s=this.constraints_.resolution(this.targetResolution_,i,o),a=this.constraints_.center(this.targetCenter_,s,o,!1,this.calculateCenterShift(this.targetCenter_,s,r,o));if(0===e&&!this.cancelAnchor_)return this.targetResolution_=s,this.targetRotation_=r,this.targetCenter_=a,void this.applyTargetState_();n=n||(0===e?this.cancelAnchor_:void 0),this.cancelAnchor_=void 0,this.getResolution()===s&&this.getRotation()===r&&this.getCenterInternal()&&Ma(this.getCenterInternal(),a)||(this.getAnimating()&&this.cancelAnimations(),this.animateInternal({rotation:r,center:a,resolution:s,duration:e,easing:xc,anchor:n}))}beginInteraction(){this.resolveConstraints(0),this.setHint(1,1)}endInteraction(e,t,n){n=n&&nl(n,this.getProjection()),this.endInteractionInternal(e,t,n)}endInteractionInternal(e,t,n){this.getInteracting()&&(this.setHint(1,-1),this.resolveConstraints(e,t,n))}getConstrainedCenter(e,t){const n=this.getViewportSize_(this.getRotation());return this.constraints_.center(e,t||this.getResolution(),n)}getConstrainedZoom(e,t){const n=this.getResolutionForZoom(e);return this.getZoomForResolution(this.getConstrainedResolution(n,t))}getConstrainedResolution(e,t){t=t||0;const n=this.getViewportSize_(this.getRotation());return this.constraints_.resolution(e,t,n)}};function Lu(e,t){if(!e.visible)return!1;const n=t.resolution;if(n<e.minResolution||n>=e.maxResolution)return!1;const i=t.zoom;return i>e.minZoom&&i<=e.maxZoom}const zu=class extends ac{constructor(e){const t=Object.assign({},e);delete t.source,super(t),this.on,this.once,this.un,this.mapPrecomposeKey_=null,this.mapRenderKey_=null,this.sourceChangeKey_=null,this.renderer_=null,this.sourceReady_=!1,this.rendered=!1,e.render&&(this.render=e.render),e.map&&this.setMap(e.map),this.addChangeListener(oc,this.handleSourcePropertyChange_);const n=e.source?e.source:null;this.setSource(n)}getLayersArray(e){return(e=e||[]).push(this),e}getLayerStatesArray(e){return(e=e||[]).push(this.getLayerState()),e}getSource(){return this.get(oc)||null}getRenderSource(){return this.getSource()}getSourceState(){const e=this.getSource();return e?e.getState():"undefined"}handleSourceChange_(){this.changed(),this.sourceReady_||"ready"!==this.getSource().getState()||(this.sourceReady_=!0,this.dispatchEvent("sourceready"))}handleSourcePropertyChange_(){this.sourceChangeKey_&&(Dl(this.sourceChangeKey_),this.sourceChangeKey_=null),this.sourceReady_=!1;const e=this.getSource();e&&(this.sourceChangeKey_=Fl(e,Tl,this.handleSourceChange_,this),"ready"===e.getState()&&(this.sourceReady_=!0,setTimeout((()=>{this.dispatchEvent("sourceready")}),0))),this.changed()}getFeatures(e){return this.renderer_?this.renderer_.getFeatures(e):Promise.resolve([])}getData(e){return this.renderer_&&this.rendered?this.renderer_.getData(e):null}isVisible(e){let t;const n=this.getMapInternal();let i;!e&&n&&(e=n.getView()),t=e instanceof Iu?{viewState:e.getState(),extent:e.calculateExtent()}:e,!t.layerStatesArray&&n&&(t.layerStatesArray=n.getLayerGroup().getLayerStatesArray()),i=t.layerStatesArray?t.layerStatesArray.find((e=>e.layer===this)):this.getLayerState();const r=this.getExtent();return Lu(i,t.viewState)&&(!r||ha(r,t.extent))}getAttributions(e){if(!this.isVisible(e))return[];const t=this.getSource()?.getAttributions();if(!t)return[];let n=t(e instanceof Iu?e.getViewStateAndExtent():e);return Array.isArray(n)||(n=[n]),n}render(e,t){const n=this.getRenderer();return n.prepareFrame(e)?(this.rendered=!0,n.renderFrame(e,t)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(e,t){}renderDeferred(e){const t=this.getRenderer();t&&t.renderDeferred(e)}setMapInternal(e){e||this.unrender(),this.set("map",e)}getMapInternal(){return this.get("map")}setMap(e){this.mapPrecomposeKey_&&(Dl(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),e||this.changed(),this.mapRenderKey_&&(Dl(this.mapRenderKey_),this.mapRenderKey_=null),e&&(this.mapPrecomposeKey_=Fl(e,uc,this.handlePrecompose_,this),this.mapRenderKey_=Fl(this,Tl,e.render,e),this.changed())}handlePrecompose_(e){const t=e.frameState.layerStatesArray,n=this.getLayerState(!1);sc(!t.some((e=>e.layer===n.layer)),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),t.push(n)}setSource(e){this.set(oc,e)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}disposeInternal(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_),this.setSource(null),super.disposeInternal()}};function Ou(e,t,n=0,i=e.length-1,r=ju){for(;i>n;){if(i-n>600){const o=i-n+1,s=t-n+1,a=Math.log(o),l=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*l*(o-l)/o)*(s-o/2<0?-1:1);Ou(e,t,Math.max(n,Math.floor(t-s*l/o+c)),Math.min(i,Math.floor(t+(o-s)*l/o+c)),r)}const o=e[t];let s=n,a=i;for(Fu(e,n,t),r(e[i],o)>0&&Fu(e,n,i);s<a;){for(Fu(e,s,a),s++,a--;r(e[s],o)<0;)s++;for(;r(e[a],o)>0;)a--}0===r(e[n],o)?Fu(e,n,a):(a++,Fu(e,a,i)),a<=t&&(n=a+1),t<=a&&(i=a-1)}}function Fu(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function ju(e,t){return e<t?-1:e>t?1:0}class Du{constructor(e=9){this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(e){let t=this.data;const n=[];if(!Ku(e,t))return n;const i=this.toBBox,r=[];for(;t;){for(let o=0;o<t.children.length;o++){const s=t.children[o],a=t.leaf?i(s):s;Ku(e,a)&&(t.leaf?n.push(s):Zu(e,a)?this._all(s,n):r.push(s))}t=r.pop()}return n}collides(e){let t=this.data;if(!Ku(e,t))return!1;const n=[];for(;t;){for(let i=0;i<t.children.length;i++){const r=t.children[i],o=t.leaf?this.toBBox(r):r;if(Ku(e,o)){if(t.leaf||Zu(e,o))return!0;n.push(r)}}t=n.pop()}return!1}load(e){if(!e||!e.length)return this;if(e.length<this._minEntries){for(let t=0;t<e.length;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this.data.children.length)if(this.data.height===t.height)this._splitRoot(this.data,t);else{if(this.data.height<t.height){const e=this.data;this.data=t,t=e}this._insert(t,this.data.height-t.height-1,!0)}else this.data=t;return this}insert(e){return e&&this._insert(e,this.data.height-1),this}clear(){return this.data=Xu([]),this}remove(e,t){if(!e)return this;let n=this.data;const i=this.toBBox(e),r=[],o=[];let s,a,l;for(;n||r.length;){if(n||(n=r.pop(),a=r[r.length-1],s=o.pop(),l=!0),n.leaf){const i=Nu(e,n.children,t);if(-1!==i)return n.children.splice(i,1),r.push(n),this._condense(r),this}l||n.leaf||!Zu(n,i)?a?(s++,n=a.children[s],l=!1):n=null:(r.push(n),o.push(s),s=0,a=n,n=n.children[0])}return this}toBBox(e){return e}compareMinX(e,t){return e.minX-t.minX}compareMinY(e,t){return e.minY-t.minY}toJSON(){return this.data}fromJSON(e){return this.data=e,this}_all(e,t){const n=[];for(;e;)e.leaf?t.push(...e.children):n.push(...e.children),e=n.pop();return t}_build(e,t,n,i){const r=n-t+1;let o,s=this._maxEntries;if(r<=s)return o=Xu(e.slice(t,n+1)),qu(o,this.toBBox),o;i||(i=Math.ceil(Math.log(r)/Math.log(s)),s=Math.ceil(r/Math.pow(s,i-1))),o=Xu([]),o.leaf=!1,o.height=i;const a=Math.ceil(r/s),l=a*Math.ceil(Math.sqrt(s));Yu(e,t,n,l,this.compareMinX);for(let r=t;r<=n;r+=l){const t=Math.min(r+l-1,n);Yu(e,r,t,a,this.compareMinY);for(let n=r;n<=t;n+=a){const r=Math.min(n+a-1,t);o.children.push(this._build(e,n,r,i-1))}}return qu(o,this.toBBox),o}_chooseSubtree(e,t,n,i){for(;i.push(t),!t.leaf&&i.length-1!==n;){let n,i=1/0,s=1/0;for(let a=0;a<t.children.length;a++){const l=t.children[a],c=Wu(l),u=(r=e,o=l,(Math.max(o.maxX,r.maxX)-Math.min(o.minX,r.minX))*(Math.max(o.maxY,r.maxY)-Math.min(o.minY,r.minY))-c);u<s?(s=u,i=c<i?c:i,n=l):u===s&&c<i&&(i=c,n=l)}t=n||t.children[0]}var r,o;return t}_insert(e,t,n){const i=n?e:this.toBBox(e),r=[],o=this._chooseSubtree(i,this.data,t,r);for(o.children.push(e),Gu(o,i);t>=0&&r[t].children.length>this._maxEntries;)this._split(r,t),t--;this._adjustParentBBoxes(i,r,t)}_split(e,t){const n=e[t],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const o=this._chooseSplitIndex(n,r,i),s=Xu(n.children.splice(o,n.children.length-o));s.height=n.height,s.leaf=n.leaf,qu(n,this.toBBox),qu(s,this.toBBox),t?e[t-1].children.push(s):this._splitRoot(n,s)}_splitRoot(e,t){this.data=Xu([e,t]),this.data.height=e.height+1,this.data.leaf=!1,qu(this.data,this.toBBox)}_chooseSplitIndex(e,t,n){let i,r=1/0,o=1/0;for(let s=t;s<=n-t;s++){const t=Bu(e,0,s,this.toBBox),a=Bu(e,s,n,this.toBBox),l=$u(t,a),c=Wu(t)+Wu(a);l<r?(r=l,i=s,o=c<o?c:o):l===r&&c<o&&(o=c,i=s)}return i||n-t}_chooseSplitAxis(e,t,n){const i=e.leaf?this.compareMinX:Vu,r=e.leaf?this.compareMinY:Hu;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,r)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const r=this.toBBox,o=Bu(e,0,t,r),s=Bu(e,n-t,n,r);let a=Uu(o)+Uu(s);for(let i=t;i<n-t;i++){const t=e.children[i];Gu(o,e.leaf?r(t):t),a+=Uu(o)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];Gu(s,e.leaf?r(t):t),a+=Uu(s)}return a}_adjustParentBBoxes(e,t,n){for(let i=n;i>=0;i--)Gu(t[i],e)}_condense(e){for(let t,n=e.length-1;n>=0;n--)0===e[n].children.length?n>0?(t=e[n-1].children,t.splice(t.indexOf(e[n]),1)):this.clear():qu(e[n],this.toBBox)}}function Nu(e,t,n){if(!n)return t.indexOf(e);for(let i=0;i<t.length;i++)if(n(e,t[i]))return i;return-1}function qu(e,t){Bu(e,0,e.children.length,t,e)}function Bu(e,t,n,i,r){r||(r=Xu(null)),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let o=t;o<n;o++){const t=e.children[o];Gu(r,e.leaf?i(t):t)}return r}function Gu(e,t){return e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),e}function Vu(e,t){return e.minX-t.minX}function Hu(e,t){return e.minY-t.minY}function Wu(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function Uu(e){return e.maxX-e.minX+(e.maxY-e.minY)}function $u(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),o=Math.min(e.maxY,t.maxY);return Math.max(0,r-n)*Math.max(0,o-i)}function Zu(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function Ku(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function Xu(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function Yu(e,t,n,i,r){const o=[t,n];for(;o.length;){if((n=o.pop())-(t=o.pop())<=i)continue;const s=t+Math.ceil((n-t)/i/2)*i;Ou(e,s,t,n,r),o.push(t,s,s,n)}}function Qu(e){return e[0]>0&&e[1]>0}function Ju(e,t){return Array.isArray(e)?e:(void 0===t?t=[e,e]:(t[0]=e,t[1]=e),t)}class ed{constructor(e){this.opacity_=e.opacity,this.rotateWithView_=e.rotateWithView,this.rotation_=e.rotation,this.scale_=e.scale,this.scaleArray_=Ju(e.scale),this.displacement_=e.displacement,this.declutterMode_=e.declutterMode}clone(){const e=this.getScale();return new ed({opacity:this.getOpacity(),scale:Array.isArray(e)?e.slice():e,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return Bl()}getImage(e){return Bl()}getHitDetectionImage(){return Bl()}getPixelRatio(e){return 1}getImageState(){return Bl()}getImageSize(){return Bl()}getOrigin(){return Bl()}getSize(){return Bl()}setDisplacement(e){this.displacement_=e}setOpacity(e){this.opacity_=e}setRotateWithView(e){this.rotateWithView_=e}setRotation(e){this.rotation_=e}setScale(e){this.scale_=e,this.scaleArray_=Ju(e)}listenImageChange(e){Bl()}load(){Bl()}unlistenImageChange(e){Bl()}ready(){return Promise.resolve()}}const td=ed,nd={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]};var id={name:"xyz",min:[0,0,0],channel:["X","Y","Z"],alias:["XYZ","ciexyz","cie1931"],whitepoint:{2:{A:[109.85,100,35.585],C:[98.074,100,118.232],D50:[96.422,100,82.521],D55:[95.682,100,92.149],D65:[95.045592705167,100,108.9057750759878],D75:[94.972,100,122.638],F2:[99.187,100,67.395],F7:[95.044,100,108.755],F11:[100.966,100,64.37],E:[100,100,100]},10:{A:[111.144,100,35.2],C:[97.285,100,116.145],D50:[96.72,100,81.427],D55:[95.799,100,90.926],D65:[94.811,100,107.304],D75:[94.416,100,120.641],F2:[103.28,100,69.026],F7:[95.792,100,107.687],F11:[103.866,100,65.627],E:[100,100,100]}}};id.max=id.whitepoint[2].D65,id.rgb=function(e,t){t=t||id.whitepoint[2].E;var n,i,r,o=e[0]/t[0],s=e[1]/t[1],a=e[2]/t[2];return i=-.96924363628087*o+1.87596750150772*s+.041555057407175*a,r=.055630079696993*o+-.20397695888897*s+1.056971514242878*a,n=(n=3.240969941904521*o+-1.537383177570093*s+-.498610760293*a)>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:r*=12.92,[255*(n=Math.min(Math.max(0,n),1)),255*(i=Math.min(Math.max(0,i),1)),255*(r=Math.min(Math.max(0,r),1))]},nd.xyz=function(e,t){var n=e[0]/255,i=e[1]/255,r=e[2]/255,o=.21263900587151*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.71516867876775*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)+.072192315360733*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92),s=.019330818715591*n+.11919477979462*i+.95053215224966*r;return[(.41239079926595*n+.35758433938387*i+.18048078840183*r)*(t=t||id.whitepoint[2].E)[0],o*t[1],s*t[2]]};const rd=id,od={name:"luv",min:[0,-134,-140],max:[100,224,122],channel:["lightness","u","v"],alias:["LUV","cieluv","cie1976"],xyz:function(e,t,n){var i,r,o,s,a,l,c,u,d;return o=e[0],s=e[1],a=e[2],0===o?[0,0,0]:(t=t||"D65",n=n||2,i=s/(13*o)+4*(c=rd.whitepoint[n][t][0])/(c+15*(u=rd.whitepoint[n][t][1])+3*(d=rd.whitepoint[n][t][2]))||0,r=a/(13*o)+9*u/(c+15*u+3*d)||0,[9*(l=o>8?u*Math.pow((o+16)/116,3):u*o*.0011070564598794539)*i/(4*r)||0,l,l*(12-3*i-20*r)/(4*r)||0])}};rd.luv=function(e,t,n){var i,r,o,s,a,l,c,u,d,h,p;t=t||"D65",n=n||2,h=4*(c=rd.whitepoint[n][t][0])/(c+15*(u=rd.whitepoint[n][t][1])+3*(d=rd.whitepoint[n][t][2])),p=9*u/(c+15*u+3*d),i=4*(s=e[0])/(s+15*(a=e[1])+3*(l=e[2]))||0,r=9*a/(s+15*a+3*l)||0;var f=a/u;return[o=f<=.008856451679035631?903.2962962962961*f:116*Math.pow(f,1/3)-16,13*o*(i-h),13*o*(r-p)]};var sd={name:"lchuv",channel:["lightness","chroma","hue"],alias:["LCHuv","cielchuv"],min:[0,0,0],max:[100,100,360],luv:function(e){var t,n=e[0],i=e[1];return t=e[2]/360*2*Math.PI,[n,i*Math.cos(t),i*Math.sin(t)]},xyz:function(e){return od.xyz(sd.luv(e))}};const ad=sd;od.lchuv=function(e){var t=e[0],n=e[1],i=e[2],r=Math.sqrt(n*n+i*i),o=360*Math.atan2(i,n)/2/Math.PI;return o<0&&(o+=360),[t,r,o]},rd.lchuv=function(e){return od.lchuv(rd.luv(e))};const ld={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};var cd={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};const ud={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t,n,i,r,o,s=e[0]/360,a=e[1]/100,l=e[2]/100,c=0;if(0===a)return[o=255*l,o,o];for(t=2*l-(n=l<.5?l*(1+a):l+a-l*a),r=[0,0,0];c<3;)(i=s+1/3*-(c-1))<0?i++:i>1&&i--,o=6*i<1?t+6*(n-t)*i:2*i<1?n:3*i<2?t+(n-t)*(2/3-i)*6:t,r[c++]=255*o;return r}};nd.hsl=function(e){var t,n,i=e[0]/255,r=e[1]/255,o=e[2]/255,s=Math.min(i,r,o),a=Math.max(i,r,o),l=a-s;return a===s?t=0:i===a?t=(r-o)/l:r===a?t=2+(o-i)/l:o===a&&(t=4+(i-r)/l),(t=Math.min(60*t,360))<0&&(t+=360),n=(s+a)/2,[t,100*(a===s?0:n<=.5?l/(a+s):l/(2-a-s)),100*n]};const dd=[NaN,NaN,NaN,0],hd={};let pd=0;function fd(e){if(4===e.length)return e;const t=e.slice();return t[3]=1,t}function _d(e){const t=rd.lchuv(nd.xyz(e));return t[3]=e[3],t}function gd(e){if("none"===e)return dd;if(hd.hasOwnProperty(e))return hd[e];if(pd>=1024){let e=0;for(const t in hd)3&e++||(delete hd[t],--pd)}const t=function(e){var t;Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var n=function(e){var t,n,i=[],r=1;if("number"==typeof e)return{space:"rgb",values:[e>>>16,(65280&e)>>>8,255&e],alpha:1};if("number"==typeof e)return{space:"rgb",values:[e>>>16,(65280&e)>>>8,255&e],alpha:1};if(e=String(e).toLowerCase(),ld[e])i=ld[e].slice(),n="rgb";else if("transparent"===e)r=0,n="rgb",i=[0,0,0];else if("#"===e[0]){var o=e.slice(1),s=o.length;r=1,s<=4?(i=[parseInt(o[0]+o[0],16),parseInt(o[1]+o[1],16),parseInt(o[2]+o[2],16)],4===s&&(r=parseInt(o[3]+o[3],16)/255)):(i=[parseInt(o[0]+o[1],16),parseInt(o[2]+o[3],16),parseInt(o[4]+o[5],16)],8===s&&(r=parseInt(o[6]+o[7],16)/255)),i[0]||(i[0]=0),i[1]||(i[1]=0),i[2]||(i[2]=0),n="rgb"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(e)){var a=t[1],l="cmyk"===(n=a.replace(/a$/,""))?4:"gray"===n?1:3;i=t[2].trim().split(/\s*[,\/]\s*|\s+/),"color"===n&&(n=i.shift()),r=(i=i.map((function(e,t){if("%"===e[e.length-1])return e=parseFloat(e)/100,3===t?e:"rgb"===n?255*e:"h"===n[0]?100*e:"l"!==n[0]||t?"lab"===n?125*e:"lch"===n?t<2?150*e:360*e:"o"!==n[0]||t?"oklab"===n?.4*e:"oklch"===n?t<2?.4*e:360*e:e:e:100*e;if("h"===n[t]||2===t&&"h"===n[n.length-1]){if(void 0!==cd[e])return cd[e];if(e.endsWith("deg"))return parseFloat(e);if(e.endsWith("turn"))return 360*parseFloat(e);if(e.endsWith("grad"))return 360*parseFloat(e)/400;if(e.endsWith("rad"))return 180*parseFloat(e)/Math.PI}return"none"===e?0:parseFloat(e)}))).length>l?i.pop():1}else/[0-9](?:\s|\/|,)/.test(e)&&(i=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),n=e.match(/([a-z])/gi)?.join("")?.toLowerCase()||"rgb");return{space:n,values:i,alpha:r}}(e);if(!n.space)return[];const i="h"===n.space[0]?ud.min:nd.min,r="h"===n.space[0]?ud.max:nd.max;return(t=Array(3))[0]=Math.min(Math.max(n.values[0],i[0]),r[0]),t[1]=Math.min(Math.max(n.values[1],i[1]),r[1]),t[2]=Math.min(Math.max(n.values[2],i[2]),r[2]),"h"===n.space[0]&&(t=ud.rgb(t)),t.push(Math.min(Math.max(n.alpha,0),1)),t}(e);if(4!==t.length)throw new Error('failed to parse "'+e+'" as color');for(const n of t)if(isNaN(n))throw new Error('failed to parse "'+e+'" as color');return yd(t),hd[e]=t,++pd,t}function md(e){return Array.isArray(e)?e:gd(e)}function yd(e){return e[0]=ma(e[0]+.5|0,0,255),e[1]=ma(e[1]+.5|0,0,255),e[2]=ma(e[2]+.5|0,0,255),e[3]=ma(e[3],0,1),e}function vd(e){let t=e[0];t!=(0|t)&&(t=t+.5|0);let n=e[1];n!=(0|n)&&(n=n+.5|0);let i=e[2];return i!=(0|i)&&(i=i+.5|0),"rgba("+t+","+n+","+i+","+(void 0===e[3]?1:Math.round(1e3*e[3])/1e3)+")"}const bd="undefined"!=typeof navigator&&void 0!==navigator.userAgent?navigator.userAgent.toLowerCase():"",xd=bd.includes("firefox"),wd=(bd.includes("safari")&&!bd.includes("chrom")&&(bd.includes("version/15.4")||/cpu (os|iphone os) 15_4 like mac os x/.test(bd)),bd.includes("webkit")&&!bd.includes("edge")),kd=bd.includes("macintosh"),Cd="undefined"!=typeof devicePixelRatio?devicePixelRatio:1,Sd="undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas&&self instanceof WorkerGlobalScope,Ad="undefined"!=typeof Image&&Image.prototype.decode,Ed=function(){let e=!1;try{const t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("_",null,t),window.removeEventListener("_",null,t)}catch(e){}return e}();function Md(e,t,n,i){let r;return r=n&&n.length?n.shift():Sd?new OffscreenCanvas(e||300,t||300):document.createElement("canvas"),e&&(r.width=e),t&&(r.height=t),r.getContext("2d",i)}let Td;function Pd(){return Td||(Td=Md(1,1)),Td}function Rd(e){const t=e.canvas;t.width=1,t.height=1,e.clearRect(0,0,1,1)}function Id(e){let t=e.offsetWidth;const n=getComputedStyle(e);return t+=parseInt(n.marginLeft,10)+parseInt(n.marginRight,10),t}function Ld(e){let t=e.offsetHeight;const n=getComputedStyle(e);return t+=parseInt(n.marginTop,10)+parseInt(n.marginBottom,10),t}function zd(e,t){const n=t.parentNode;n&&n.replaceChild(e,t)}function Od(e){for(;e.lastChild;)e.lastChild.remove()}const Fd=class extends Ml{constructor(e,t,n,i){super(),this.extent=e,this.pixelRatio_=n,this.resolution=t,this.state="function"==typeof i?0:i,this.image_=null,this.loader="function"==typeof i?i:null}changed(){this.dispatchEvent(Tl)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(0==this.state&&this.loader){this.state=1,this.changed();const e=this.getResolution(),t=Array.isArray(e)?e[0]:e;Sl((()=>this.loader(this.getExtent(),t,this.getPixelRatio()))).then((e=>{"image"in e&&(this.image_=e.image),"extent"in e&&(this.extent=e.extent),"resolution"in e&&(this.resolution=e.resolution),"pixelRatio"in e&&(this.pixelRatio_=e.pixelRatio),(e instanceof HTMLImageElement||e instanceof ImageBitmap||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement)&&(this.image_=e),this.state=2})).catch((e=>{this.state=3,console.error(e)})).finally((()=>this.changed()))}}setImage(e){this.image_=e}setResolution(e){this.resolution=e}};function jd(e,t,n){return t+":"+e+":"+(n?md(n):"null")}const Dd=new class{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=32}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let e=0;for(const t in this.cache_){const n=this.cache_[t];3&e++||n.hasListener()||(delete this.cache_[t],delete this.patternCache_[t],--this.cacheSize_)}}}get(e,t,n){const i=jd(e,t,n);return i in this.cache_?this.cache_[i]:null}getPattern(e,t,n){const i=jd(e,t,n);return i in this.patternCache_?this.patternCache_[i]:null}set(e,t,n,i,r){const o=jd(e,t,n),s=o in this.cache_;this.cache_[o]=i,r&&(0===i.getImageState()&&i.load(),1===i.getImageState()?i.ready().then((()=>{this.patternCache_[o]=Pd().createPattern(i.getImage(1),"repeat")})):this.patternCache_[o]=Pd().createPattern(i.getImage(1),"repeat")),s||++this.cacheSize_}setSize(e){this.maxCacheSize_=e,this.expire()}};let Nd=null;class qd extends Ml{constructor(e,t,n,i,r){super(),this.hitDetectionImage_=null,this.image_=e,this.crossOrigin_=n,this.canvas_={},this.color_=r,this.imageState_=void 0===i?0:i,this.size_=e&&e.width&&e.height?[e.width,e.height]:null,this.src_=t,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(void 0===this.tainted_&&2===this.imageState_){Nd||(Nd=Md(1,1,void 0,{willReadFrequently:!0})),Nd.drawImage(this.image_,0,0);try{Nd.getImageData(0,0,1,1),this.tainted_=!1}catch(e){Nd=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(Tl)}handleImageError_(){this.imageState_=3,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=2,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(e){return this.image_||this.initializeImage_(),this.replaceColor_(e),this.canvas_[e]?this.canvas_[e]:this.image_}getPixelRatio(e){return this.replaceColor_(e),this.canvas_[e]?e:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const e=this.size_[0],t=this.size_[1],n=Md(e,t);n.fillRect(0,0,e,t),this.hitDetectionImage_=n.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(0===this.imageState_){this.image_||this.initializeImage_(),this.imageState_=1;try{void 0!==this.src_&&(this.image_.src=this.src_)}catch(e){this.handleImageError_()}this.image_ instanceof HTMLImageElement&&(e=this.image_,t=this.src_,t&&(e.src=t),e.src&&Ad?new Promise(((t,n)=>e.decode().then((()=>t(e))).catch((i=>e.complete&&e.width?t(e):n(i))))):function(e){return new Promise(((t,n)=>{function i(){o(),t(e)}function r(){o(),n(new Error("Image load error"))}function o(){e.removeEventListener("load",i),e.removeEventListener("error",r)}e.addEventListener("load",i),e.addEventListener("error",r)}))}(e)).then((e=>{this.image_=e,this.handleImageLoad_()})).catch(this.handleImageError_.bind(this))}var e,t}replaceColor_(e){if(!this.color_||this.canvas_[e]||2!==this.imageState_)return;const t=this.image_,n=Md(Math.ceil(t.width*e),Math.ceil(t.height*e)),i=n.canvas;n.scale(e,e),n.drawImage(t,0,0),n.globalCompositeOperation="multiply",n.fillStyle=function(e){return"string"==typeof e?e:vd(e)}(this.color_),n.fillRect(0,0,i.width/e,i.height/e),n.globalCompositeOperation="destination-in",n.drawImage(t,0,0),this.canvas_[e]=i}ready(){return this.ready_||(this.ready_=new Promise((e=>{if(2===this.imageState_||3===this.imageState_)e();else{const t=()=>{2!==this.imageState_&&3!==this.imageState_||(this.removeEventListener(Tl,t),e())};this.addEventListener(Tl,t)}}))),this.ready_}}function Bd(e,t,n,i,r,o){let s=void 0===t?void 0:Dd.get(t,n,r);return s||(s=new qd(e,e&&"src"in e?e.src||void 0:t,n,i,r),Dd.set(t,n,r,s,o)),o&&s&&!Dd.getPattern(t,n,r)&&Dd.set(t,n,r,s,o),s}function Gd(e){return e?Array.isArray(e)?vd(e):"object"==typeof e&&"src"in e?function(e){if(!e.offset||!e.size)return Dd.getPattern(e.src,"anonymous",e.color);const t=e.src+":"+e.offset,n=Dd.getPattern(t,void 0,e.color);if(n)return n;const i=Dd.get(e.src,"anonymous",null);if(2!==i.getImageState())return null;const r=Md(e.size[0],e.size[1]);return r.drawImage(i.getImage(1),e.offset[0],e.offset[1],e.size[0],e.size[1],0,0,e.size[0],e.size[1]),Bd(r.canvas,t,void 0,2,e.color,!0),Dd.getPattern(t,void 0,e.color)}(e):e:null}const Vd="ol-hidden",Hd="ol-unselectable",Wd="ol-control",Ud="ol-collapsed",$d=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))","?\\s*([-,\\\"\\'\\sa-z]+?)\\s*$"].join(""),"i"),Zd=["style","variant","weight","size","lineHeight","family"],Kd=function(e){const t=e.match($d);if(!t)return null;const n={lineHeight:"normal",size:"1.2em",style:"normal",weight:"normal",variant:"normal"};for(let e=0,i=Zd.length;e<i;++e){const i=t[e+1];void 0!==i&&(n[Zd[e]]=i)}return n.families=n.family.split(/,\s?/),n},Xd="10px sans-serif",Yd="#000",Qd="round",Jd=[],eh="round",th="#000",nh="center",ih="middle",rh=[0,0,0,0],oh=new Wl;let sh,ah=null;const lh={},ch=function(){const e="32px ",t=["monospace","serif"],n=t.length,i="wmytzilWMYTZIL@#/&?$%10";let r,o;function s(r,s,a){let l=!0;for(let c=0;c<n;++c){const n=t[c];if(o=hh(r+" "+s+" "+e+n,i),a!=n){const t=hh(r+" "+s+" "+e+a+","+n,i);l=l&&t!=o}}return!!l}function a(){let e=!0;const t=oh.getKeys();for(let n=0,i=t.length;n<i;++n){const i=t[n];if(oh.get(i)<100){const[t,n,r]=i.split("\n");s(t,n,r)?(Al(lh),ah=null,sh=void 0,oh.set(i,100)):(oh.set(i,oh.get(i)+1,!0),e=!1)}}e&&(clearInterval(r),r=void 0)}return function(e){const t=Kd(e);if(!t)return;const n=t.families;for(let e=0,i=n.length;e<i;++e){const i=n[e],o=t.style+"\n"+t.weight+"\n"+i;void 0===oh.get(o)&&(oh.set(o,100,!0),s(t.style,t.weight,i)||(oh.set(o,0,!0),void 0===r&&(r=setInterval(a,32))))}}}(),uh=function(){let e;return function(t){let n=lh[t];if(null==n){if(Sd){const e=Kd(t),i=dh(t,"Žg");n=(isNaN(Number(e.lineHeight))?1.2:Number(e.lineHeight))*(i.actualBoundingBoxAscent+i.actualBoundingBoxDescent)}else e||(e=document.createElement("div"),e.innerHTML="M",e.style.minHeight="0",e.style.maxHeight="none",e.style.height="auto",e.style.padding="0",e.style.border="none",e.style.position="absolute",e.style.display="block",e.style.left="-99999px"),e.style.font=t,document.body.appendChild(e),n=e.offsetHeight,document.body.removeChild(e);lh[t]=n}return n}}();function dh(e,t){return ah||(ah=Md(1,1)),e!=sh&&(ah.font=e,sh=ah.font),ah.measureText(t)}function hh(e,t){return dh(e,t).width}function ph(e,t,n){if(t in n)return n[t];const i=t.split("\n").reduce(((t,n)=>Math.max(t,hh(e,n))),0);return n[t]=i,i}class fh extends td{constructor(e){super({opacity:1,rotateWithView:void 0!==e.rotateWithView&&e.rotateWithView,rotation:void 0!==e.rotation?e.rotation:0,scale:void 0!==e.scale?e.scale:1,displacement:void 0!==e.displacement?e.displacement:[0,0],declutterMode:e.declutterMode}),this.canvases_,this.hitDetectionCanvas_=null,this.fill_=void 0!==e.fill?e.fill:null,this.origin_=[0,0],this.points_=e.points,this.radius=e.radius,this.radius2_=e.radius2,this.angle_=void 0!==e.angle?e.angle:0,this.stroke_=void 0!==e.stroke?e.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?1:2,1===this.imageState_&&this.ready().then((()=>this.imageState_=2)),this.render()}clone(){const e=this.getScale(),t=new fh({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(e)?e.slice():e,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return t.setOpacity(this.getOpacity()),t}getAnchor(){const e=this.size_,t=this.getDisplacement(),n=this.getScaleArray();return[e[0]/2-t[0]/n[0],e[1]/2+t[1]/n[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(e){this.fill_=e,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(e){let t=this.canvases_[e];if(!t){const n=this.renderOptions_,i=Md(n.size*e,n.size*e);this.draw_(n,i,e),t=i.canvas,this.canvases_[e]=t}return t}getPixelRatio(e){return e}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(e){this.stroke_=e,this.render()}listenImageChange(e){}load(){}unlistenImageChange(e){}calculateLineJoinSize_(e,t,n){if(0===t||this.points_===1/0||"bevel"!==e&&"miter"!==e)return t;let i=this.radius,r=void 0===this.radius2_?i:this.radius2_;if(i<r){const e=i;i=r,r=e}const o=void 0===this.radius2_?this.points_:2*this.points_,s=2*Math.PI/o,a=r*Math.sin(s),l=i-Math.sqrt(r*r-a*a),c=Math.sqrt(a*a+l*l),u=c/a;if("miter"===e&&u<=n)return u*t;const d=t/2/u,h=t/2*(l/c),p=Math.sqrt((i+d)*(i+d)+h*h)-i;if(void 0===this.radius2_||"bevel"===e)return 2*p;const f=i*Math.sin(s),_=r-Math.sqrt(i*i-f*f),g=Math.sqrt(f*f+_*_)/f;if(g<=n){const e=g*t/2-r-i;return 2*Math.max(p,e)}return 2*p}createRenderOptions(){let e,t=Qd,n=eh,i=0,r=null,o=0,s=0;this.stroke_&&(e=Gd(this.stroke_.getColor()??th),s=this.stroke_.getWidth()??1,r=this.stroke_.getLineDash(),o=this.stroke_.getLineDashOffset()??0,n=this.stroke_.getLineJoin()??eh,t=this.stroke_.getLineCap()??Qd,i=this.stroke_.getMiterLimit()??10);const a=this.calculateLineJoinSize_(n,s,i),l=Math.max(this.radius,this.radius2_||0);return{strokeStyle:e,strokeWidth:s,size:Math.ceil(2*l+a),lineCap:t,lineDash:r,lineDashOffset:o,lineJoin:n,miterLimit:i}}render(){this.renderOptions_=this.createRenderOptions();const e=this.renderOptions_.size;this.canvases_={},this.hitDetectionCanvas_=null,this.size_=[e,e]}draw_(e,t,n){if(t.scale(n,n),t.translate(e.size/2,e.size/2),this.createPath_(t),this.fill_){let e=this.fill_.getColor();null===e&&(e=Yd),t.fillStyle=Gd(e),t.fill()}e.strokeStyle&&(t.strokeStyle=e.strokeStyle,t.lineWidth=e.strokeWidth,e.lineDash&&(t.setLineDash(e.lineDash),t.lineDashOffset=e.lineDashOffset),t.lineCap=e.lineCap,t.lineJoin=e.lineJoin,t.miterLimit=e.miterLimit,t.stroke())}createHitDetectionCanvas_(e){let t;if(this.fill_){let n=this.fill_.getColor(),i=0;"string"==typeof n&&(n=md(n)),null===n?i=1:Array.isArray(n)&&(i=4===n.length?n[3]:1),0===i&&(t=Md(e.size,e.size),this.drawHitDetectionCanvas_(e,t))}return t?t.canvas:this.getImage(1)}createPath_(e){let t=this.points_;const n=this.radius;if(t===1/0)e.arc(0,0,n,0,2*Math.PI);else{const i=void 0===this.radius2_?n:this.radius2_;void 0!==this.radius2_&&(t*=2);const r=this.angle_-Math.PI/2,o=2*Math.PI/t;for(let s=0;s<t;s++){const t=r+s*o,a=s%2==0?n:i;e.lineTo(a*Math.cos(t),a*Math.sin(t))}e.closePath()}}drawHitDetectionCanvas_(e,t){t.translate(e.size/2,e.size/2),this.createPath_(t),t.fillStyle=Yd,t.fill(),e.strokeStyle&&(t.strokeStyle=e.strokeStyle,t.lineWidth=e.strokeWidth,e.lineDash&&(t.setLineDash(e.lineDash),t.lineDashOffset=e.lineDashOffset),t.lineJoin=e.lineJoin,t.miterLimit=e.miterLimit,t.stroke())}ready(){return this.fill_?this.fill_.ready():Promise.resolve()}}const _h=fh;class gh extends _h{constructor(e){super({points:1/0,fill:(e=e||{radius:5}).fill,radius:e.radius,stroke:e.stroke,scale:void 0!==e.scale?e.scale:1,rotation:void 0!==e.rotation?e.rotation:0,rotateWithView:void 0!==e.rotateWithView&&e.rotateWithView,displacement:void 0!==e.displacement?e.displacement:[0,0],declutterMode:e.declutterMode})}clone(){const e=this.getScale(),t=new gh({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),scale:Array.isArray(e)?e.slice():e,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return t.setOpacity(this.getOpacity()),t}setRadius(e){this.radius=e,this.render()}}const mh=gh;class yh{constructor(e){e=e||{},this.patternImage_=null,this.color_=null,void 0!==e.color&&this.setColor(e.color)}clone(){const e=this.getColor();return new yh({color:Array.isArray(e)?e.slice():e||void 0})}getColor(){return this.color_}setColor(e){if(null!==e&&"object"==typeof e&&"src"in e){const t=Bd(null,e.src,"anonymous",void 0,e.offset?null:e.color?e.color:null,!(e.offset&&e.size));t.ready().then((()=>{this.patternImage_=null})),0===t.getImageState()&&t.load(),1===t.getImageState()&&(this.patternImage_=t)}this.color_=e}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}const vh=yh;class bh{constructor(e){e=e||{},this.color_=void 0!==e.color?e.color:null,this.lineCap_=e.lineCap,this.lineDash_=void 0!==e.lineDash?e.lineDash:null,this.lineDashOffset_=e.lineDashOffset,this.lineJoin_=e.lineJoin,this.miterLimit_=e.miterLimit,this.width_=e.width}clone(){const e=this.getColor();return new bh({color:Array.isArray(e)?e.slice():e||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(e){this.color_=e}setLineCap(e){this.lineCap_=e}setLineDash(e){this.lineDash_=e}setLineDashOffset(e){this.lineDashOffset_=e}setLineJoin(e){this.lineJoin_=e}setMiterLimit(e){this.miterLimit_=e}setWidth(e){this.width_=e}}const xh=bh;class wh{constructor(e){e=e||{},this.geometry_=null,this.geometryFunction_=Ah,void 0!==e.geometry&&this.setGeometry(e.geometry),this.fill_=void 0!==e.fill?e.fill:null,this.image_=void 0!==e.image?e.image:null,this.renderer_=void 0!==e.renderer?e.renderer:null,this.hitDetectionRenderer_=void 0!==e.hitDetectionRenderer?e.hitDetectionRenderer:null,this.stroke_=void 0!==e.stroke?e.stroke:null,this.text_=void 0!==e.text?e.text:null,this.zIndex_=e.zIndex}clone(){let e=this.getGeometry();return e&&"object"==typeof e&&(e=e.clone()),new wh({geometry:e??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(e){this.renderer_=e}setHitDetectionRenderer(e){this.hitDetectionRenderer_=e}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(e){this.fill_=e}getImage(){return this.image_}setImage(e){this.image_=e}getStroke(){return this.stroke_}setStroke(e){this.stroke_=e}getText(){return this.text_}setText(e){this.text_=e}getZIndex(){return this.zIndex_}setGeometry(e){"function"==typeof e?this.geometryFunction_=e:"string"==typeof e?this.geometryFunction_=function(t){return t.get(e)}:e?void 0!==e&&(this.geometryFunction_=function(){return e}):this.geometryFunction_=Ah,this.geometry_=e}setZIndex(e){this.zIndex_=e}}let kh=null;function Ch(e,t){if(!kh){const e=new vh({color:"rgba(255,255,255,0.4)"}),t=new xh({color:"#3399CC",width:1.25});kh=[new wh({image:new mh({fill:e,stroke:t,radius:5}),fill:e,stroke:t})]}return kh}function Sh(){const e={},t=[255,255,255,1],n=[0,153,255,1];return e.Polygon=[new wh({fill:new vh({color:[255,255,255,.5]})})],e.MultiPolygon=e.Polygon,e.LineString=[new wh({stroke:new xh({color:t,width:5})}),new wh({stroke:new xh({color:n,width:3})})],e.MultiLineString=e.LineString,e.Circle=e.Polygon.concat(e.LineString),e.Point=[new wh({image:new mh({radius:6,fill:new vh({color:n}),stroke:new xh({color:t,width:1.5})}),zIndex:1/0})],e.MultiPoint=e.Point,e.GeometryCollection=e.Polygon.concat(e.LineString,e.Point),e}function Ah(e){return e.getGeometry()}const Eh=wh;function Mh(e,t,n,i){return void 0!==n&&void 0!==i?[n/e,i/t]:void 0!==n?n/e:void 0!==i?i/t:1}class Th extends td{constructor(e){const t=void 0!==(e=e||{}).opacity?e.opacity:1,n=void 0!==e.rotation?e.rotation:0,i=void 0!==e.scale?e.scale:1,r=void 0!==e.rotateWithView&&e.rotateWithView;super({opacity:t,rotation:n,scale:i,displacement:void 0!==e.displacement?e.displacement:[0,0],rotateWithView:r,declutterMode:e.declutterMode}),this.anchor_=void 0!==e.anchor?e.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=void 0!==e.anchorOrigin?e.anchorOrigin:"top-left",this.anchorXUnits_=void 0!==e.anchorXUnits?e.anchorXUnits:"fraction",this.anchorYUnits_=void 0!==e.anchorYUnits?e.anchorYUnits:"fraction",this.crossOrigin_=void 0!==e.crossOrigin?e.crossOrigin:null;const o=void 0!==e.img?e.img:null;let s,a=e.src;if(sc(!(void 0!==a&&o),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!o||(a=o.src||Vl(o)),sc(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),sc(!((void 0!==e.width||void 0!==e.height)&&void 0!==e.scale),"`width` or `height` cannot be provided together with `scale`"),void 0!==e.src?s=0:void 0!==o&&(s="complete"in o?o.complete?o.src?2:0:1:2),this.color_=void 0!==e.color?md(e.color):null,this.iconImage_=Bd(o,a,this.crossOrigin_,s,this.color_),this.offset_=void 0!==e.offset?e.offset:[0,0],this.offsetOrigin_=void 0!==e.offsetOrigin?e.offsetOrigin:"top-left",this.origin_=null,this.size_=void 0!==e.size?e.size:null,this.initialOptions_,void 0!==e.width||void 0!==e.height){let t,n;if(e.size)[t,n]=e.size;else{const i=this.getImage(1);if(i.width&&i.height)t=i.width,n=i.height;else if(i instanceof HTMLImageElement){this.initialOptions_=e;const t=()=>{if(this.unlistenImageChange(t),!this.initialOptions_)return;const n=this.iconImage_.getSize();this.setScale(Mh(n[0],n[1],e.width,e.height))};return void this.listenImageChange(t)}}void 0!==t&&this.setScale(Mh(t,n,e.width,e.height))}}clone(){let e,t,n;return this.initialOptions_?(t=this.initialOptions_.width,n=this.initialOptions_.height):(e=this.getScale(),e=Array.isArray(e)?e.slice():e),new Th({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:e,width:t,height:n,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let e=this.normalizedAnchor_;if(!e){e=this.anchor_;const t=this.getSize();if("fraction"==this.anchorXUnits_||"fraction"==this.anchorYUnits_){if(!t)return null;e=this.anchor_.slice(),"fraction"==this.anchorXUnits_&&(e[0]*=t[0]),"fraction"==this.anchorYUnits_&&(e[1]*=t[1])}if("top-left"!=this.anchorOrigin_){if(!t)return null;e===this.anchor_&&(e=this.anchor_.slice()),"top-right"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(e[0]=-e[0]+t[0]),"bottom-left"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(e[1]=-e[1]+t[1])}this.normalizedAnchor_=e}const t=this.getDisplacement(),n=this.getScaleArray();return[e[0]-t[0]/n[0],e[1]+t[1]/n[1]]}setAnchor(e){this.anchor_=e,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(e){return this.iconImage_.getImage(e)}getPixelRatio(e){return this.iconImage_.getPixelRatio(e)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let e=this.offset_;if("top-left"!=this.offsetOrigin_){const t=this.getSize(),n=this.iconImage_.getSize();if(!t||!n)return null;e=e.slice(),"top-right"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(e[0]=n[0]-t[0]-e[0]),"bottom-left"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(e[1]=n[1]-t[1]-e[1])}return this.origin_=e,this.origin_}getSrc(){return this.iconImage_.getSrc()}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const e=this.getScaleArray();return this.size_?this.size_[0]*e[0]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[0]*e[0]:void 0}getHeight(){const e=this.getScaleArray();return this.size_?this.size_[1]*e[1]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[1]*e[1]:void 0}setScale(e){delete this.initialOptions_,super.setScale(e)}listenImageChange(e){this.iconImage_.addEventListener(Tl,e)}load(){this.iconImage_.load()}unlistenImageChange(e){this.iconImage_.removeEventListener(Tl,e)}ready(){return this.iconImage_.ready()}}const Ph=Th;class Rh{constructor(e){e=e||{},this.font_=e.font,this.rotation_=e.rotation,this.rotateWithView_=e.rotateWithView,this.scale_=e.scale,this.scaleArray_=Ju(void 0!==e.scale?e.scale:1),this.text_=e.text,this.textAlign_=e.textAlign,this.justify_=e.justify,this.repeat_=e.repeat,this.textBaseline_=e.textBaseline,this.fill_=void 0!==e.fill?e.fill:new vh({color:"#333"}),this.maxAngle_=void 0!==e.maxAngle?e.maxAngle:Math.PI/4,this.placement_=void 0!==e.placement?e.placement:"point",this.overflow_=!!e.overflow,this.stroke_=void 0!==e.stroke?e.stroke:null,this.offsetX_=void 0!==e.offsetX?e.offsetX:0,this.offsetY_=void 0!==e.offsetY?e.offsetY:0,this.backgroundFill_=e.backgroundFill?e.backgroundFill:null,this.backgroundStroke_=e.backgroundStroke?e.backgroundStroke:null,this.padding_=void 0===e.padding?null:e.padding,this.declutterMode_=e.declutterMode}clone(){const e=this.getScale();return new Rh({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(e){this.overflow_=e}setFont(e){this.font_=e}setMaxAngle(e){this.maxAngle_=e}setOffsetX(e){this.offsetX_=e}setOffsetY(e){this.offsetY_=e}setPlacement(e){this.placement_=e}setRepeat(e){this.repeat_=e}setRotateWithView(e){this.rotateWithView_=e}setFill(e){this.fill_=e}setRotation(e){this.rotation_=e}setScale(e){this.scale_=e,this.scaleArray_=Ju(void 0!==e?e:1)}setStroke(e){this.stroke_=e}setText(e){this.text_=e}setTextAlign(e){this.textAlign_=e}setJustify(e){this.justify_=e}setTextBaseline(e){this.textBaseline_=e}setBackgroundFill(e){this.backgroundFill_=e}setBackgroundStroke(e){this.backgroundStroke_=e}setPadding(e){this.padding_=e}}const Ih=Rh;let Lh=0;const zh=1<<Lh++,Oh=1<<Lh++,Fh=1<<Lh++,jh=1<<Lh++,Dh=1<<Lh++,Nh=1<<Lh++,qh=Math.pow(2,6)-1,Bh={[zh]:"boolean",[Oh]:"number",[Fh]:"string",[jh]:"color",[Dh]:"number[]",[Nh]:"size"},Gh=Object.keys(Bh).map(Number).sort(gl);function Vh(e){const t=[];for(const n of Gh)Hh(e,n)&&t.push(Bh[n]);return 0===t.length?"untyped":t.length<3?t.join(" or "):t.slice(0,-1).join(", ")+", or "+t[t.length-1]}function Hh(e,t){return(e&t)===t}function Wh(e,t){return e===t}class Uh{constructor(e,t){if(!function(e){return e in Bh}(e))throw new Error(`literal expressions must have a specific type, got ${Vh(e)}`);this.type=e,this.value=t}}class $h{constructor(e,t,...n){this.type=e,this.operator=t,this.args=n}}function Zh(){return{variables:new Set,properties:new Set,featureId:!1,geometryType:!1}}function Kh(e,t,n){switch(typeof e){case"boolean":if(Wh(t,Fh))return new Uh(Fh,e?"true":"false");if(!Hh(t,zh))throw new Error(`got a boolean, but expected ${Vh(t)}`);return new Uh(zh,e);case"number":if(Wh(t,Nh))return new Uh(Nh,Ju(e));if(Wh(t,zh))return new Uh(zh,!!e);if(Wh(t,Fh))return new Uh(Fh,e.toString());if(!Hh(t,Oh))throw new Error(`got a number, but expected ${Vh(t)}`);return new Uh(Oh,e);case"string":if(Wh(t,jh))return new Uh(jh,gd(e));if(Wh(t,zh))return new Uh(zh,!!e);if(!Hh(t,Fh))throw new Error(`got a string, but expected ${Vh(t)}`);return new Uh(Fh,e)}if(!Array.isArray(e))throw new Error("expression must be an array or a primitive value");if(0===e.length)throw new Error("empty expression");if("string"==typeof e[0])return function(e,t,n){const i=e[0],r=Vp[i];if(!r)throw new Error(`unknown operator: ${i}`);return r(e,t,n)}(e,t,n);for(const t of e)if("number"!=typeof t)throw new Error("expected an array of numbers");if(Wh(t,Nh)){if(2!==e.length)throw new Error(`expected an array of two values for a size, got ${e.length}`);return new Uh(Nh,e)}if(Wh(t,jh)){if(3===e.length)return new Uh(jh,[...e,1]);if(4===e.length)return new Uh(jh,e);throw new Error(`expected an array of 3 or 4 values for a color, got ${e.length}`)}if(!Hh(t,Dh))throw new Error(`got an array of numbers, but expected ${Vh(t)}`);return new Uh(Dh,e)}const Xh="get",Yh="var",Qh="concat",Jh="geometry-type",ep="line-metric",tp="any",np="all",ip="!",rp="resolution",op="zoom",sp="time",ap="==",lp="!=",cp=">",up=">=",dp="<",hp="<=",pp="*",fp="/",_p="+",gp="-",mp="clamp",yp="%",vp="^",bp="abs",xp="floor",wp="ceil",kp="round",Cp="sin",Sp="cos",Ap="atan",Ep="sqrt",Mp="match",Tp="between",Pp="interpolate",Rp="coalesce",Ip="case",Lp="in",zp="number",Op="string",Fp="array",jp="color",Dp="id",Np="band",qp="palette",Bp="to-string",Gp="has",Vp={[Xh]:Xp(Up(1,1/0),Hp),[Yh]:Xp(Up(1,1),(function(e,t,n){const i=e[1];if("string"!=typeof i)throw new Error("expected a string argument for var operation");return n.variables.add(i),[new Uh(Fh,i)]})),[Gp]:Xp(Up(1,1/0),Hp),[Dp]:Xp((function(e,t,n){n.featureId=!0}),Wp),[Qh]:Xp(Up(2,1/0),Zp(Fh)),[Jh]:Xp((function(e,t,n){n.geometryType=!0}),Wp),[ep]:Xp(Wp),[rp]:Xp(Wp),[op]:Xp(Wp),[sp]:Xp(Wp),[tp]:Xp(Up(2,1/0),Zp(zh)),[np]:Xp(Up(2,1/0),Zp(zh)),[ip]:Xp(Up(1,1),Zp(zh)),[ap]:Xp(Up(2,2),Zp(qh)),[lp]:Xp(Up(2,2),Zp(qh)),[cp]:Xp(Up(2,2),Zp(Oh)),[up]:Xp(Up(2,2),Zp(Oh)),[dp]:Xp(Up(2,2),Zp(Oh)),[hp]:Xp(Up(2,2),Zp(Oh)),[pp]:Xp(Up(2,1/0),$p),[Rp]:Xp(Up(2,1/0),$p),[fp]:Xp(Up(2,2),Zp(Oh)),[_p]:Xp(Up(2,1/0),Zp(Oh)),[gp]:Xp(Up(2,2),Zp(Oh)),[mp]:Xp(Up(3,3),Zp(Oh)),[yp]:Xp(Up(2,2),Zp(Oh)),[vp]:Xp(Up(2,2),Zp(Oh)),[bp]:Xp(Up(1,1),Zp(Oh)),[xp]:Xp(Up(1,1),Zp(Oh)),[wp]:Xp(Up(1,1),Zp(Oh)),[kp]:Xp(Up(1,1),Zp(Oh)),[Cp]:Xp(Up(1,1),Zp(Oh)),[Sp]:Xp(Up(1,1),Zp(Oh)),[Ap]:Xp(Up(1,2),Zp(Oh)),[Ep]:Xp(Up(1,1),Zp(Oh)),[Mp]:Xp(Up(4,1/0),Kp,(function(e,t,n){const i=e.length-1,r=Fh|Oh|zh,o=Kh(e[1],r,n),s=Kh(e[e.length-1],t,n),a=new Array(i-2);for(let t=0;t<i-2;t+=2){try{const i=Kh(e[t+2],o.type,n);a[t]=i}catch(e){throw new Error(`failed to parse argument ${t+1} of match expression: ${e.message}`)}try{const i=Kh(e[t+3],s.type,n);a[t+1]=i}catch(e){throw new Error(`failed to parse argument ${t+2} of match expression: ${e.message}`)}}return[o,...a,s]})),[Tp]:Xp(Up(3,3),Zp(Oh)),[Pp]:Xp(Up(6,1/0),Kp,(function(e,t,n){const i=e[1];let r;switch(i[0]){case"linear":r=1;break;case"exponential":const e=i[1];if("number"!=typeof e||e<=0)throw new Error(`expected a number base for exponential interpolation, got ${JSON.stringify(e)} instead`);r=e;break;default:throw new Error(`invalid interpolation type: ${JSON.stringify(i)}`)}const o=new Uh(Oh,r);let s;try{s=Kh(e[2],Oh,n)}catch(e){throw new Error(`failed to parse argument 1 in interpolate expression: ${e.message}`)}const a=new Array(e.length-3);for(let i=0;i<a.length;i+=2){try{const t=Kh(e[i+3],Oh,n);a[i]=t}catch(e){throw new Error(`failed to parse argument ${i+2} for interpolate expression: ${e.message}`)}try{const r=Kh(e[i+4],t,n);a[i+1]=r}catch(e){throw new Error(`failed to parse argument ${i+3} for interpolate expression: ${e.message}`)}}return[o,s,...a]})),[Ip]:Xp(Up(3,1/0),(function(e,t,n){const i=e[0],r=e.length-1;if(r%2==0)throw new Error(`expected an odd number of arguments for ${i}, got ${r} instead`)}),(function(e,t,n){const i=Kh(e[e.length-1],t,n),r=new Array(e.length-1);for(let t=0;t<r.length-1;t+=2){try{const i=Kh(e[t+1],zh,n);r[t]=i}catch(e){throw new Error(`failed to parse argument ${t} of case expression: ${e.message}`)}try{const o=Kh(e[t+2],i.type,n);r[t+1]=o}catch(e){throw new Error(`failed to parse argument ${t+1} of case expression: ${e.message}`)}}return r[r.length-1]=i,r})),[Lp]:Xp(Up(2,2),(function(e,t,n){let i,r=e[2];if(!Array.isArray(r))throw new Error('the second argument for the "in" operator must be an array');if("string"==typeof r[0]){if("literal"!==r[0])throw new Error('for the "in" operator, a string array should be wrapped in a "literal" operator to disambiguate from expressions');if(!Array.isArray(r[1]))throw new Error('failed to parse "in" expression: the literal operator must be followed by an array');r=r[1],i=Fh}else i=Oh;const o=new Array(r.length);for(let e=0;e<o.length;e++)try{const t=Kh(r[e],i,n);o[e]=t}catch(t){throw new Error(`failed to parse haystack item ${e} for "in" expression: ${t.message}`)}return[Kh(e[1],i,n),...o]})),[zp]:Xp(Up(1,1/0),Zp(qh)),[Op]:Xp(Up(1,1/0),Zp(qh)),[Fp]:Xp(Up(1,1/0),Zp(Oh)),[jp]:Xp(Up(1,4),Zp(Oh)),[Np]:Xp(Up(1,3),Zp(Oh)),[qp]:Xp(Up(2,2),(function(e,t,n){let i;try{i=Kh(e[1],Oh,n)}catch(e){throw new Error(`failed to parse first argument in palette expression: ${e.message}`)}const r=e[2];if(!Array.isArray(r))throw new Error("the second argument of palette must be an array");const o=new Array(r.length);for(let e=0;e<o.length;e++){let t;try{t=Kh(r[e],jh,n)}catch(t){throw new Error(`failed to parse color at index ${e} in palette expression: ${t.message}`)}if(!(t instanceof Uh))throw new Error(`the palette color at index ${e} must be a literal value`);o[e]=t}return[i,...o]})),[Bp]:Xp(Up(1,1),Zp(zh|Oh|Fh|jh))};function Hp(e,t,n){const i=e.length-1,r=new Array(i);for(let t=0;t<i;++t){const i=e[t+1];switch(typeof i){case"number":r[t]=new Uh(Oh,i);break;case"string":r[t]=new Uh(Fh,i);break;default:throw new Error(`expected a string key or numeric array index for a get operation, got ${i}`)}0===t&&n.properties.add(String(i))}return r}function Wp(e,t,n){const i=e[0];if(1!==e.length)throw new Error(`expected no arguments for ${i} operation`);return[]}function Up(e,t){return function(n,i,r){const o=n[0],s=n.length-1;if(e===t){if(s!==e)throw new Error(`expected ${e} argument${1===e?"":"s"} for ${o}, got ${s}`)}else if(s<e||s>t)throw new Error(`expected ${t===1/0?`${e} or more`:`${e} to ${t}`} arguments for ${o}, got ${s}`)}}function $p(e,t,n){const i=e.length-1,r=new Array(i);for(let o=0;o<i;++o){const i=Kh(e[o+1],t,n);r[o]=i}return r}function Zp(e){return function(t,n,i){const r=t.length-1,o=new Array(r);for(let n=0;n<r;++n){const r=Kh(t[n+1],e,i);o[n]=r}return o}}function Kp(e,t,n){const i=e[0],r=e.length-1;if(r%2==1)throw new Error(`expected an even number of arguments for operation ${i}, got ${r} instead`)}function Xp(...e){return function(t,n,i){const r=t[0];let o;for(let r=0;r<e.length;r++){const s=e[r](t,n,i);if(r==e.length-1){if(!s)throw new Error("expected last argument validator to return the parsed args");o=s}}return new $h(n,r,...o)}}function Yp(e){if(!e)return"";const t=e.getType();switch(t){case"Point":case"LineString":case"Polygon":return t;case"MultiPoint":case"MultiLineString":case"MultiPolygon":return t.substring(5);case"Circle":return"Polygon";case"GeometryCollection":return Yp(e.getGeometries()[0]);default:return""}}function Qp(e,t,n){return Jp(Kh(e,t,n),n)}function Jp(e,t){if(e instanceof Uh){if(e.type===jh&&"string"==typeof e.value){const t=gd(e.value);return function(){return t}}return function(){return e.value}}const n=e.operator;switch(n){case zp:case Op:case Rp:return function(e,t){const n=e.operator,i=e.args.length,r=new Array(i);for(let n=0;n<i;++n)r[n]=Jp(e.args[n],t);switch(n){case Rp:return e=>{for(let t=0;t<i;++t){const n=r[t](e);if(null!=n)return n}throw new Error("Expected one of the values to be non-null")};case zp:case Op:return e=>{for(let t=0;t<i;++t){const i=r[t](e);if(typeof i===n)return i}throw new Error(`Expected one of the values to be a ${n}`)};default:throw new Error(`Unsupported assertion operator ${n}`)}}(e,t);case Xh:case Yh:case Gp:return function(e){const t=e.args[0].value;switch(e.operator){case Xh:return n=>{const i=e.args;let r=n.properties[t];for(let e=1,t=i.length;e<t;++e)r=r[i[e].value];return r};case Yh:return e=>e.variables[t];case Gp:return n=>{const i=e.args;if(!(t in n.properties))return!1;let r=n.properties[t];for(let e=1,t=i.length;e<t;++e){const t=i[e].value;if(!r||!Object.hasOwn(r,t))return!1;r=r[t]}return!0};default:throw new Error(`Unsupported accessor operator ${e.operator}`)}}(e);case"id":return e=>e.featureId;case Jh:return e=>e.geometryType;case Qh:{const n=e.args.map((e=>Jp(e,t)));return e=>"".concat(...n.map((t=>t(e).toString())))}case rp:return e=>e.resolution;case tp:case np:case Tp:case Lp:case"!":return function(e,t){const n=e.operator,i=e.args.length,r=new Array(i);for(let n=0;n<i;++n)r[n]=Jp(e.args[n],t);switch(n){case tp:return e=>{for(let t=0;t<i;++t)if(r[t](e))return!0;return!1};case np:return e=>{for(let t=0;t<i;++t)if(!r[t](e))return!1;return!0};case Tp:return e=>{const t=r[0](e),n=r[1](e),i=r[2](e);return t>=n&&t<=i};case Lp:return e=>{const t=r[0](e);for(let n=1;n<i;++n)if(t===r[n](e))return!0;return!1};case"!":return e=>!r[0](e);default:throw new Error(`Unsupported logical operator ${n}`)}}(e,t);case ap:case lp:case"<":case hp:case">":case up:return function(e,t){const n=e.operator,i=Jp(e.args[0],t),r=Jp(e.args[1],t);switch(n){case ap:return e=>i(e)===r(e);case lp:return e=>i(e)!==r(e);case"<":return e=>i(e)<r(e);case hp:return e=>i(e)<=r(e);case">":return e=>i(e)>r(e);case up:return e=>i(e)>=r(e);default:throw new Error(`Unsupported comparison operator ${n}`)}}(e,t);case"*":case"/":case"+":case"-":case mp:case"%":case"^":case bp:case xp:case wp:case kp:case Cp:case Sp:case Ap:case Ep:return function(e,t){const n=e.operator,i=e.args.length,r=new Array(i);for(let n=0;n<i;++n)r[n]=Jp(e.args[n],t);switch(n){case"*":return e=>{let t=1;for(let n=0;n<i;++n)t*=r[n](e);return t};case"/":return e=>r[0](e)/r[1](e);case"+":return e=>{let t=0;for(let n=0;n<i;++n)t+=r[n](e);return t};case"-":return e=>r[0](e)-r[1](e);case mp:return e=>{const t=r[0](e),n=r[1](e);if(t<n)return n;const i=r[2](e);return t>i?i:t};case"%":return e=>r[0](e)%r[1](e);case"^":return e=>Math.pow(r[0](e),r[1](e));case bp:return e=>Math.abs(r[0](e));case xp:return e=>Math.floor(r[0](e));case wp:return e=>Math.ceil(r[0](e));case kp:return e=>Math.round(r[0](e));case Cp:return e=>Math.sin(r[0](e));case Sp:return e=>Math.cos(r[0](e));case Ap:return 2===i?e=>Math.atan2(r[0](e),r[1](e)):e=>Math.atan(r[0](e));case Ep:return e=>Math.sqrt(r[0](e));default:throw new Error(`Unsupported numeric operator ${n}`)}}(e,t);case Ip:return function(e,t){const n=e.args.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=Jp(e.args[r],t);return e=>{for(let t=0;t<n-1;t+=2)if(i[t](e))return i[t+1](e);return i[n-1](e)}}(e,t);case Mp:return function(e,t){const n=e.args.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=Jp(e.args[r],t);return e=>{const t=i[0](e);for(let r=1;r<n;r+=2)if(t===i[r](e))return i[r+1](e);return i[n-1](e)}}(e,t);case Pp:return function(e,t){const n=e.args.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=Jp(e.args[r],t);return e=>{const t=i[0](e),r=i[1](e);let o,s;for(let a=2;a<n;a+=2){const n=i[a](e);let l=i[a+1](e);const c=Array.isArray(l);if(c&&(l=fd(l)),n>=r)return 2===a?l:c?tf(t,r,o,s,n,l):ef(t,r,o,s,n,l);o=n,s=l}return s}}(e,t);case Bp:return function(e,t){const n=e.operator,i=e.args.length,r=new Array(i);for(let n=0;n<i;++n)r[n]=Jp(e.args[n],t);if(n===Bp)return t=>{const n=r[0](t);return e.args[0].type===jh?vd(n):n.toString()};throw new Error(`Unsupported convert operator ${n}`)}(e,t);default:throw new Error(`Unsupported operator ${n}`)}}function ef(e,t,n,i,r,o){const s=r-n;if(0===s)return i;const a=t-n;return i+(1===e?a/s:(Math.pow(e,a)-1)/(Math.pow(e,s)-1))*(o-i)}function tf(e,t,n,i,r,o){if(0==r-n)return i;const s=_d(i),a=_d(o);let l=a[2]-s[2];return l>180?l-=360:l<-180&&(l+=360),yd(function(e){const t=rd.rgb(ad.xyz(e));return t[3]=e[3],t}([ef(e,t,n,s[0],r,a[0]),ef(e,t,n,s[1],r,a[1]),s[2]+ef(e,t,n,0,r,l),ef(e,t,n,i[3],r,o[3])]))}function nf(e){return!0}function rf(e){const t=Zh(),n=function(e,t){const n=e.length,i=new Array(n);for(let r=0;r<n;++r){const n=e[r],o="filter"in n?Qp(n.filter,zh,t):nf;let s;if(Array.isArray(n.style)){const e=n.style.length;s=new Array(e);for(let i=0;i<e;++i)s[i]=sf(n.style[i],t)}else s=[sf(n.style,t)];i[r]={filter:o,styles:s}}return function(t){const r=[];let o=!1;for(let s=0;s<n;++s)if((0,i[s].filter)(t)&&(!e[s].else||!o)){o=!0;for(const e of i[s].styles){const n=e(t);n&&r.push(n)}}return r}}(e,t),i={variables:{},properties:{},resolution:NaN,featureId:null,geometryType:""};return function(e,r){if(i.properties=e.getPropertiesInternal(),i.resolution=r,t.featureId){const t=e.getId();i.featureId=void 0!==t?t:null}return t.geometryType&&(i.geometryType=Yp(e.getGeometry())),n(i)}}function of(e){const t=Zh(),n=e.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=sf(e[r],t);const r={variables:{},properties:{},resolution:NaN,featureId:null,geometryType:""},o=new Array(n);return function(e,s){if(r.properties=e.getPropertiesInternal(),r.resolution=s,t.featureId){const t=e.getId();r.featureId=void 0!==t?t:null}let a=0;for(let e=0;e<n;++e){const t=i[e](r);t&&(o[a]=t,a+=1)}return o.length=a,o}}function sf(e,t){const n=af(e,"",t),i=lf(e,"",t),r=function(e,t){const n="text-",i=uf(e,n+"value",t);if(!i)return null;const r=af(e,n,t),o=af(e,n+"background-",t),s=lf(e,n,t),a=lf(e,n+"background-",t),l=uf(e,n+"font",t),c=cf(e,n+"max-angle",t),u=cf(e,n+"offset-x",t),d=cf(e,n+"offset-y",t),h=df(e,n+"overflow",t),p=uf(e,n+"placement",t),f=cf(e,n+"repeat",t),_=gf(e,n+"scale",t),g=df(e,n+"rotate-with-view",t),m=cf(e,n+"rotation",t),y=uf(e,n+"align",t),v=uf(e,n+"justify",t),b=uf(e,n+"baseline",t),x=pf(e,n+"padding",t),w=bf(e,n+"declutter-mode"),k=new Ih({declutterMode:w});return function(e){if(k.setText(i(e)),r&&k.setFill(r(e)),o&&k.setBackgroundFill(o(e)),s&&k.setStroke(s(e)),a&&k.setBackgroundStroke(a(e)),l&&k.setFont(l(e)),c&&k.setMaxAngle(c(e)),u&&k.setOffsetX(u(e)),d&&k.setOffsetY(d(e)),h&&k.setOverflow(h(e)),p){const t=p(e);if("point"!==t&&"line"!==t)throw new Error("Expected point or line for text-placement");k.setPlacement(t)}if(f&&k.setRepeat(f(e)),_&&k.setScale(_(e)),g&&k.setRotateWithView(g(e)),m&&k.setRotation(m(e)),y){const t=y(e);if("left"!==t&&"center"!==t&&"right"!==t&&"end"!==t&&"start"!==t)throw new Error("Expected left, right, center, start, or end for text-align");k.setTextAlign(t)}if(v){const t=v(e);if("left"!==t&&"right"!==t&&"center"!==t)throw new Error("Expected left, right, or center for text-justify");k.setJustify(t)}if(b){const t=b(e);if("bottom"!==t&&"top"!==t&&"middle"!==t&&"alphabetic"!==t&&"hanging"!==t)throw new Error("Expected bottom, top, middle, alphabetic, or hanging for text-baseline");k.setTextBaseline(t)}return x&&k.setPadding(x(e)),k}}(e,t),o=function(e,t){return"icon-src"in e?function(e,t){const n="icon-",i=n+"src",r=wf(e[i],i),o=ff(e,n+"anchor",t),s=gf(e,n+"scale",t),a=cf(e,n+"opacity",t),l=ff(e,n+"displacement",t),c=cf(e,n+"rotation",t),u=df(e,n+"rotate-with-view",t),d=yf(e,n+"anchor-origin"),h=vf(e,n+"anchor-x-units"),p=vf(e,n+"anchor-y-units"),f=function(e,t){const n=e[t];if(void 0!==n)return Cf(n,t)}(e,n+"color"),_=function(e,t){const n=e[t];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${t}`);return n}}(e,n+"cross-origin"),g=function(e,t){const n=e[t];if(void 0!==n)return xf(n,t)}(e,n+"offset"),m=yf(e,n+"offset-origin"),y=mf(e,n+"width"),v=mf(e,n+"height"),b=function(e,t){const n=e[t];if(void 0!==n){if("number"==typeof n)return Ju(n);if(!Array.isArray(n))throw new Error(`Expected a number or size array for ${t}`);if(2!==n.length||"number"!=typeof n[0]||"number"!=typeof n[1])throw new Error(`Expected a number or size array for ${t}`);return n}}(e,n+"size"),x=bf(e,n+"declutter-mode"),w=new Ph({src:r,anchorOrigin:d,anchorXUnits:h,anchorYUnits:p,color:f,crossOrigin:_,offset:g,offsetOrigin:m,height:v,width:y,size:b,declutterMode:x});return function(e){return a&&w.setOpacity(a(e)),l&&w.setDisplacement(l(e)),c&&w.setRotation(c(e)),u&&w.setRotateWithView(u(e)),s&&w.setScale(s(e)),o&&w.setAnchor(o(e)),w}}(e,t):"shape-points"in e?function(e,t){const n="shape-",i=n+"points",r=n+"radius",o=kf(e[i],i),s=kf(e[r],r),a=af(e,n,t),l=lf(e,n,t),c=gf(e,n+"scale",t),u=ff(e,n+"displacement",t),d=cf(e,n+"rotation",t),h=df(e,n+"rotate-with-view",t),p=mf(e,n+"radius2"),f=mf(e,n+"angle"),_=bf(e,n+"declutter-mode"),g=new _h({points:o,radius:s,radius2:p,angle:f,declutterMode:_});return function(e){return a&&g.setFill(a(e)),l&&g.setStroke(l(e)),u&&g.setDisplacement(u(e)),d&&g.setRotation(d(e)),h&&g.setRotateWithView(h(e)),c&&g.setScale(c(e)),g}}(e,t):"circle-radius"in e?function(e,t){const n="circle-",i=af(e,n,t),r=lf(e,n,t),o=cf(e,n+"radius",t),s=gf(e,n+"scale",t),a=ff(e,n+"displacement",t),l=cf(e,n+"rotation",t),c=df(e,n+"rotate-with-view",t),u=bf(e,n+"declutter-mode"),d=new mh({radius:5,declutterMode:u});return function(e){return o&&d.setRadius(o(e)),i&&d.setFill(i(e)),r&&d.setStroke(r(e)),a&&d.setDisplacement(a(e)),l&&d.setRotation(l(e)),c&&d.setRotateWithView(c(e)),s&&d.setScale(s(e)),d}}(e,t):null}(e,t),s=cf(e,"z-index",t);if(!(n||i||r||o||El(e)))throw new Error("No fill, stroke, point, or text symbolizer properties in style: "+JSON.stringify(e));const a=new Eh;return function(e){let t=!0;if(n){const i=n(e);i&&(t=!1),a.setFill(i)}if(i){const n=i(e);n&&(t=!1),a.setStroke(n)}if(r){const n=r(e);n&&(t=!1),a.setText(n)}if(o){const n=o(e);n&&(t=!1),a.setImage(n)}return s&&a.setZIndex(s(e)),t?null:a}}function af(e,t,n){let i;if(t+"fill-pattern-src"in e)i=function(e,t,n){const i=uf(e,t+"pattern-src",n),r=_f(e,t+"pattern-offset",n),o=_f(e,t+"pattern-size",n),s=hf(e,t+"color",n);return function(e){return{src:i(e),offset:r&&r(e),size:o&&o(e),color:s&&s(e)}}}(e,t+"fill-",n);else{if("none"===e[t+"fill-color"])return e=>null;i=hf(e,t+"fill-color",n)}if(!i)return null;const r=new vh;return function(e){const t=i(e);return t===dd?null:(r.setColor(t),r)}}function lf(e,t,n){const i=cf(e,t+"stroke-width",n),r=hf(e,t+"stroke-color",n);if(!i&&!r)return null;const o=uf(e,t+"stroke-line-cap",n),s=uf(e,t+"stroke-line-join",n),a=pf(e,t+"stroke-line-dash",n),l=cf(e,t+"stroke-line-dash-offset",n),c=cf(e,t+"stroke-miter-limit",n),u=new xh;return function(e){if(r){const t=r(e);if(t===dd)return null;u.setColor(t)}if(i&&u.setWidth(i(e)),o){const t=o(e);if("butt"!==t&&"round"!==t&&"square"!==t)throw new Error("Expected butt, round, or square line cap");u.setLineCap(t)}if(s){const t=s(e);if("bevel"!==t&&"round"!==t&&"miter"!==t)throw new Error("Expected bevel, round, or miter line join");u.setLineJoin(t)}return a&&u.setLineDash(a(e)),l&&u.setLineDashOffset(l(e)),c&&u.setMiterLimit(c(e)),u}}function cf(e,t,n){if(!(t in e))return;const i=Qp(e[t],Oh,n);return function(e){return kf(i(e),t)}}function uf(e,t,n){if(!(t in e))return null;const i=Qp(e[t],Fh,n);return function(e){return wf(i(e),t)}}function df(e,t,n){if(!(t in e))return null;const i=Qp(e[t],zh,n);return function(e){const n=i(e);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${t}`);return n}}function hf(e,t,n){if(!(t in e))return null;const i=Qp(e[t],jh,n);return function(e){return Cf(i(e),t)}}function pf(e,t,n){if(!(t in e))return null;const i=Qp(e[t],Dh,n);return function(e){return xf(i(e),t)}}function ff(e,t,n){if(!(t in e))return null;const i=Qp(e[t],Dh,n);return function(e){const n=xf(i(e),t);if(2!==n.length)throw new Error(`Expected two numbers for ${t}`);return n}}function _f(e,t,n){if(!(t in e))return null;const i=Qp(e[t],Dh,n);return function(e){return Sf(i(e),t)}}function gf(e,t,n){if(!(t in e))return null;const i=Qp(e[t],Dh|Oh,n);return function(e){return function(e,t){return"number"==typeof e?e:Sf(e,t)}(i(e),t)}}function mf(e,t){const n=e[t];if(void 0!==n){if("number"!=typeof n)throw new Error(`Expected a number for ${t}`);return n}}function yf(e,t){const n=e[t];if(void 0!==n){if("bottom-left"!==n&&"bottom-right"!==n&&"top-left"!==n&&"top-right"!==n)throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${t}`);return n}}function vf(e,t){const n=e[t];if(void 0!==n){if("pixels"!==n&&"fraction"!==n)throw new Error(`Expected pixels or fraction for ${t}`);return n}}function bf(e,t){const n=e[t];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${t}`);if("declutter"!==n&&"obstacle"!==n&&"none"!==n)throw new Error(`Expected declutter, obstacle, or none for ${t}`);return n}}function xf(e,t){if(!Array.isArray(e))throw new Error(`Expected an array for ${t}`);const n=e.length;for(let i=0;i<n;++i)if("number"!=typeof e[i])throw new Error(`Expected an array of numbers for ${t}`);return e}function wf(e,t){if("string"!=typeof e)throw new Error(`Expected a string for ${t}`);return e}function kf(e,t){if("number"!=typeof e)throw new Error(`Expected a number for ${t}`);return e}function Cf(e,t){if("string"==typeof e)return e;const n=xf(e,t),i=n.length;if(i<3||i>4)throw new Error(`Expected a color with 3 or 4 values for ${t}`);return n}function Sf(e,t){const n=xf(e,t);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${t}`);return n}const Af="renderOrder",Ef=class extends zu{constructor(e){e=e||{};const t=Object.assign({},e);delete t.style,delete t.renderBuffer,delete t.updateWhileAnimating,delete t.updateWhileInteracting,super(t),this.declutter_=e.declutter?String(e.declutter):void 0,this.renderBuffer_=void 0!==e.renderBuffer?e.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(e.style),this.updateWhileAnimating_=void 0!==e.updateWhileAnimating&&e.updateWhileAnimating,this.updateWhileInteracting_=void 0!==e.updateWhileInteracting&&e.updateWhileInteracting}getDeclutter(){return this.declutter_}getFeatures(e){return super.getFeatures(e)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(Af)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(e,t){const n=this.getDeclutter();n in e.declutter==0&&(e.declutter[n]=new Du(9)),this.getRenderer().renderDeclutter(e,t)}setRenderOrder(e){this.set(Af,e)}setStyle(e){this.style_=void 0===e?Ch:e;const t=function(e){if(void 0===e)return Ch;if(!e)return null;if("function"==typeof e)return e;if(e instanceof Eh)return e;if(!Array.isArray(e))return of([e]);if(0===e.length)return[];const t=e.length,n=e[0];if(n instanceof Eh){const n=new Array(t);for(let i=0;i<t;++i){const t=e[i];if(!(t instanceof Eh))throw new Error("Expected a list of style instances");n[i]=t}return n}if("style"in n){const n=new Array(t);for(let i=0;i<t;++i){const t=e[i];if(!("style"in t))throw new Error("Expected a list of rules with a style property");n[i]=t}return rf(n)}return of(e)}(e);this.styleFunction_=null===e?void 0:function(e){let t;if("function"==typeof e)t=e;else{let n;Array.isArray(e)?n=e:(sc("function"==typeof e.getZIndex,"Expected an `Style` or an array of `Style`"),n=[e]),t=function(){return n}}return t}(t),this.changed()}};function Mf(e,t){Dd.expire()}const Tf=class extends _l{constructor(e){super(),this.map_=e}dispatchRenderEvent(e,t){Bl()}calculateMatrices2D(e){const t=e.viewState,n=e.coordinateToPixelTransform,i=e.pixelToCoordinateTransform;Pc(n,e.size[0]/2,e.size[1]/2,1/t.resolution,-1/t.resolution,-t.rotation,-t.center[0],-t.center[1]),Rc(i,n)}forEachFeatureAtCoordinate(e,t,n,i,r,o,s,a){let l;const c=t.viewState;function u(e,t,n,i){return r.call(o,t,e?n:null,i)}const d=c.projection,h=Ia(e.slice(),d),p=[[0,0]];if(d.canWrapX()&&i){const e=da(d.getExtent());p.push([-e,0],[e,0])}const f=t.layerStatesArray,_=f.length,g=[],m=[];for(let i=0;i<p.length;i++)for(let r=_-1;r>=0;--r){const o=f[r],d=o.layer;if(d.hasRenderer()&&Lu(o,c)&&s.call(a,d)){const r=d.getRenderer(),s=d.getSource();if(r&&s){const a=s.getWrapX()?h:e,c=u.bind(null,o.managed);m[0]=a[0]+p[i][0],m[1]=a[1]+p[i][1],l=r.forEachFeatureAtCoordinate(m,t,n,c,g)}if(l)return l}}if(0===g.length)return;const y=1/g.length;return g.forEach(((e,t)=>e.distanceSq+=t*y)),g.sort(((e,t)=>e.distanceSq-t.distanceSq)),g.some((e=>l=e.callback(e.feature,e.layer,e.geometry))),l}hasFeatureAtCoordinate(e,t,n,i,r,o){return void 0!==this.forEachFeatureAtCoordinate(e,t,n,i,xl,this,r,o)}getMap(){return this.map_}renderFrame(e){Bl()}scheduleExpireIconCache(e){Dd.canExpireCache()&&e.postRenderFunctions.push(Mf)}},Pf=class extends pl{constructor(e,t,n,i){super(e),this.inversePixelTransform=t,this.frameState=n,this.context=i}},Rf=class extends Tf{constructor(e){super(e),this.fontChangeListenerKey_=Fl(oh,fl,e.redrawText,e),this.element_=document.createElement("div");const t=this.element_.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="0",this.element_.className=Hd+" ol-layers";const n=e.getViewport();n.insertBefore(this.element_,n.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(e,t){const n=this.getMap();if(n.hasListener(e)){const i=new Pf(e,void 0,t);n.dispatchEvent(i)}}disposeInternal(){Dl(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(e){if(!e)return void(this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1));this.calculateMatrices2D(e),this.dispatchRenderEvent(uc,e);const t=e.layerStatesArray.sort(((e,t)=>e.zIndex-t.zIndex));t.some((e=>e.layer instanceof Ef&&e.layer.getDeclutter()))&&(e.declutter={});const n=e.viewState;this.children_.length=0;const i=[];let r=null;for(let o=0,s=t.length;o<s;++o){const s=t[o];e.layerIndex=o;const a=s.layer,l=a.getSourceState();if(!Lu(s,n)||"ready"!=l&&"undefined"!=l){a.unrender();continue}const c=a.render(e,r);c&&(c!==r&&(this.children_.push(c),r=c),i.push(s))}this.declutter(e,i),function(e,t){const n=e.childNodes;for(let i=0;;++i){const r=n[i],o=t[i];if(!r&&!o)break;r!==o&&(r?o?e.insertBefore(o,r):(e.removeChild(r),--i):e.appendChild(o))}}(this.element_,this.children_),this.dispatchRenderEvent("postcompose",e),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(e)}declutter(e,t){if(e.declutter){for(let n=t.length-1;n>=0;--n){const i=t[n],r=i.layer;r.getDeclutter()&&r.renderDeclutter(e,i)}t.forEach((t=>t.layer.renderDeferred(e)))}}};class If extends pl{constructor(e,t){super(e),this.layer=t}}const Lf="layers";class zf extends ac{constructor(e){e=e||{};const t=Object.assign({},e);delete t.layers;let n=e.layers;super(t),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(Lf,this.handleLayersChanged_),n?Array.isArray(n)?n=new Xl(n.slice(),{unique:!0}):sc("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new Xl(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(Dl),this.layersListenerKeys_.length=0;const e=this.getLayers();this.layersListenerKeys_.push(Fl(e,Ul,this.handleLayersAdd_,this),Fl(e,$l,this.handleLayersRemove_,this));for(const e in this.listenerKeys_)this.listenerKeys_[e].forEach(Dl);Al(this.listenerKeys_);const t=e.getArray();for(let e=0,n=t.length;e<n;e++){const n=t[e];this.registerLayerListeners_(n),this.dispatchEvent(new If("addlayer",n))}this.changed()}registerLayerListeners_(e){const t=[Fl(e,fl,this.handleLayerChange_,this),Fl(e,Tl,this.handleLayerChange_,this)];e instanceof zf&&t.push(Fl(e,"addlayer",this.handleLayerGroupAdd_,this),Fl(e,"removelayer",this.handleLayerGroupRemove_,this)),this.listenerKeys_[Vl(e)]=t}handleLayerGroupAdd_(e){this.dispatchEvent(new If("addlayer",e.layer))}handleLayerGroupRemove_(e){this.dispatchEvent(new If("removelayer",e.layer))}handleLayersAdd_(e){const t=e.element;this.registerLayerListeners_(t),this.dispatchEvent(new If("addlayer",t)),this.changed()}handleLayersRemove_(e){const t=e.element,n=Vl(t);this.listenerKeys_[n].forEach(Dl),delete this.listenerKeys_[n],this.dispatchEvent(new If("removelayer",t)),this.changed()}getLayers(){return this.get(Lf)}setLayers(e){const t=this.getLayers();if(t){const e=t.getArray();for(let t=0,n=e.length;t<n;++t)this.dispatchEvent(new If("removelayer",e[t]))}this.set(Lf,e)}getLayersArray(e){return e=void 0!==e?e:[],this.getLayers().forEach((function(t){t.getLayersArray(e)})),e}getLayerStatesArray(e){const t=void 0!==e?e:[],n=t.length;this.getLayers().forEach((function(e){e.getLayerStatesArray(t)}));const i=this.getLayerState();let r=i.zIndex;e||void 0!==i.zIndex||(r=0);for(let e=n,o=t.length;e<o;e++){const n=t[e];n.opacity*=i.opacity,n.visible=n.visible&&i.visible,n.maxResolution=Math.min(n.maxResolution,i.maxResolution),n.minResolution=Math.max(n.minResolution,i.minResolution),n.minZoom=Math.max(n.minZoom,i.minZoom),n.maxZoom=Math.min(n.maxZoom,i.maxZoom),void 0!==i.extent&&(void 0!==n.extent?n.extent=la(n.extent,i.extent):n.extent=i.extent),void 0===n.zIndex&&(n.zIndex=r)}return t}getSourceState(){return"ready"}}const Of=zf,Ff=class extends pl{constructor(e,t,n){super(e),this.map=t,this.frameState=void 0!==n?n:null}},jf=class extends Ff{constructor(e,t,n,i,r,o){super(e,t,r),this.originalEvent=n,this.pixel_=null,this.coordinate_=null,this.dragging=void 0!==i&&i,this.activePointers=o}get pixel(){return this.pixel_||(this.pixel_=this.map.getEventPixel(this.originalEvent)),this.pixel_}set pixel(e){this.pixel_=e}get coordinate(){return this.coordinate_||(this.coordinate_=this.map.getCoordinateFromPixel(this.pixel)),this.coordinate_}set coordinate(e){this.coordinate_=e}preventDefault(){super.preventDefault(),"preventDefault"in this.originalEvent&&this.originalEvent.preventDefault()}stopPropagation(){super.stopPropagation(),"stopPropagation"in this.originalEvent&&this.originalEvent.stopPropagation()}},Df={SINGLECLICK:"singleclick",CLICK:Rl,DBLCLICK:"dblclick",POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"},Nf="pointerdown",qf=class extends Ml{constructor(e,t){super(e),this.map_=e,this.clickTimeoutId_,this.emulateClicks_=!1,this.dragging_=!1,this.dragListenerKeys_=[],this.moveTolerance_=void 0===t?1:t,this.down_=null;const n=this.map_.getViewport();this.activePointers_=[],this.trackedTouches_={},this.element_=n,this.pointerdownListenerKey_=Fl(n,Nf,this.handlePointerDown_,this),this.originalPointerMoveEvent_,this.relayedListenerKey_=Fl(n,"pointermove",this.relayMoveEvent_,this),this.boundHandleTouchMove_=this.handleTouchMove_.bind(this),this.element_.addEventListener(zl,this.boundHandleTouchMove_,!!Ed&&{passive:!1})}emulateClick_(e){let t=new jf(Df.CLICK,this.map_,e);this.dispatchEvent(t),void 0!==this.clickTimeoutId_?(clearTimeout(this.clickTimeoutId_),this.clickTimeoutId_=void 0,t=new jf(Df.DBLCLICK,this.map_,e),this.dispatchEvent(t)):this.clickTimeoutId_=setTimeout((()=>{this.clickTimeoutId_=void 0;const t=new jf(Df.SINGLECLICK,this.map_,e);this.dispatchEvent(t)}),250)}updateActivePointers_(e){const t=e,n=t.pointerId;if(t.type==Df.POINTERUP||t.type==Df.POINTERCANCEL){delete this.trackedTouches_[n];for(const e in this.trackedTouches_)if(this.trackedTouches_[e].target!==t.target){delete this.trackedTouches_[e];break}}else t.type!=Df.POINTERDOWN&&t.type!=Df.POINTERMOVE||(this.trackedTouches_[n]=t);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(e){this.updateActivePointers_(e);const t=new jf(Df.POINTERUP,this.map_,e,void 0,void 0,this.activePointers_);this.dispatchEvent(t),this.emulateClicks_&&!t.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(e)&&this.emulateClick_(this.down_),0===this.activePointers_.length&&(this.dragListenerKeys_.forEach(Dl),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(e){return 0===e.button}handlePointerDown_(e){this.emulateClicks_=0===this.activePointers_.length,this.updateActivePointers_(e);const t=new jf(Df.POINTERDOWN,this.map_,e,void 0,void 0,this.activePointers_);if(this.dispatchEvent(t),this.down_=new PointerEvent(e.type,e),Object.defineProperty(this.down_,"target",{writable:!1,value:e.target}),0===this.dragListenerKeys_.length){const e=this.map_.getOwnerDocument();this.dragListenerKeys_.push(Fl(e,Df.POINTERMOVE,this.handlePointerMove_,this),Fl(e,Df.POINTERUP,this.handlePointerUp_,this),Fl(this.element_,Df.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==e&&this.dragListenerKeys_.push(Fl(this.element_.getRootNode(),Df.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(e){if(this.isMoving_(e)){this.updateActivePointers_(e),this.dragging_=!0;const t=new jf(Df.POINTERDRAG,this.map_,e,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(t)}}relayMoveEvent_(e){this.originalPointerMoveEvent_=e;const t=!(!this.down_||!this.isMoving_(e));this.dispatchEvent(new jf(Df.POINTERMOVE,this.map_,e,t))}handleTouchMove_(e){const t=this.originalPointerMoveEvent_;t&&!t.defaultPrevented||"boolean"==typeof e.cancelable&&!0!==e.cancelable||e.preventDefault()}isMoving_(e){return this.dragging_||Math.abs(e.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(e.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(Dl(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(zl,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(Dl(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(Dl),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}},Bf="postrender",Gf="loadstart",Vf="loadend",Hf="layergroup",Wf="size",Uf="target",$f="view",Zf=1/0,Kf=class{constructor(e,t){this.priorityFunction_=e,this.keyFunction_=t,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,Al(this.queuedElements_)}dequeue(){const e=this.elements_,t=this.priorities_,n=e[0];1==e.length?(e.length=0,t.length=0):(e[0]=e.pop(),t[0]=t.pop(),this.siftUp_(0));const i=this.keyFunction_(n);return delete this.queuedElements_[i],n}enqueue(e){sc(!(this.keyFunction_(e)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const t=this.priorityFunction_(e);return t!=Zf&&(this.elements_.push(e),this.priorities_.push(t),this.queuedElements_[this.keyFunction_(e)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}getCount(){return this.elements_.length}getLeftChildIndex_(e){return 2*e+1}getRightChildIndex_(e){return 2*e+2}getParentIndex_(e){return e-1>>1}heapify_(){let e;for(e=(this.elements_.length>>1)-1;e>=0;e--)this.siftUp_(e)}isEmpty(){return 0===this.elements_.length}isKeyQueued(e){return e in this.queuedElements_}isQueued(e){return this.isKeyQueued(this.keyFunction_(e))}siftUp_(e){const t=this.elements_,n=this.priorities_,i=t.length,r=t[e],o=n[e],s=e;for(;e<i>>1;){const r=this.getLeftChildIndex_(e),o=this.getRightChildIndex_(e),s=o<i&&n[o]<n[r]?o:r;t[e]=t[s],n[e]=n[s],e=s}t[e]=r,n[e]=o,this.siftDown_(s,e)}siftDown_(e,t){const n=this.elements_,i=this.priorities_,r=n[t],o=i[t];for(;t>e;){const e=this.getParentIndex_(t);if(!(i[e]>o))break;n[t]=n[e],i[t]=i[e],t=e}n[t]=r,i[t]=o}reprioritize(){const e=this.priorityFunction_,t=this.elements_,n=this.priorities_;let i=0;const r=t.length;let o,s,a;for(s=0;s<r;++s)o=t[s],a=e(o),a==Zf?delete this.queuedElements_[this.keyFunction_(o)]:(n[i]=a,t[i++]=o);t.length=i,n.length=i,this.heapify_()}},Xf=class extends Kf{constructor(e,t){super((function(t){return e.apply(null,t)}),(function(e){return e[0].getKey()})),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=t,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(e){const t=super.enqueue(e);return t&&e[0].addEventListener(Tl,this.boundHandleTileChange_),t}getTilesLoading(){return this.tilesLoading_}handleTileChange(e){const t=e.target,n=t.getState();if(2===n||3===n||4===n){3!==n&&t.removeEventListener(Tl,this.boundHandleTileChange_);const e=t.getKey();e in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[e],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(e,t){let n=0;for(;this.tilesLoading_<e&&n<t&&this.getCount()>0;){const e=this.dequeue()[0],t=e.getKey();0!==e.getState()||t in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[t]=!0,++this.tilesLoading_,++n,e.load())}}},Yf=class extends Wl{constructor(e){super();const t=e.element;!t||e.target||t.style.pointerEvents||(t.style.pointerEvents="auto"),this.element=t||null,this.target_=null,this.map_=null,this.listenerKeys=[],e.render&&(this.render=e.render),e.target&&this.setTarget(e.target)}disposeInternal(){this.element?.remove(),super.disposeInternal()}getMap(){return this.map_}setMap(e){this.map_&&this.element?.remove();for(let e=0,t=this.listenerKeys.length;e<t;++e)Dl(this.listenerKeys[e]);this.listenerKeys.length=0,this.map_=e,e&&((this.target_??e.getOverlayContainerStopEvent()).appendChild(this.element),this.render!==kl&&this.listenerKeys.push(Fl(e,Bf,this.render,this)),e.render())}render(e){}setTarget(e){this.target_="string"==typeof e?document.getElementById(e):e}},Qf=class extends Yf{constructor(e){e=e||{},super({element:document.createElement("div"),render:e.render,target:e.target}),this.ulElement_=document.createElement("ul"),this.collapsed_=void 0===e.collapsed||e.collapsed,this.userCollapsed_=this.collapsed_,this.overrideCollapsible_=void 0!==e.collapsible,this.collapsible_=void 0===e.collapsible||e.collapsible,this.collapsible_||(this.collapsed_=!1),this.attributions_=e.attributions;const t=void 0!==e.className?e.className:"ol-attribution",n=void 0!==e.tipLabel?e.tipLabel:"Attributions",i=void 0!==e.expandClassName?e.expandClassName:t+"-expand",r=void 0!==e.collapseLabel?e.collapseLabel:"›",o=void 0!==e.collapseClassName?e.collapseClassName:t+"-collapse";"string"==typeof r?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=r,this.collapseLabel_.className=o):this.collapseLabel_=r;const s=void 0!==e.label?e.label:"i";"string"==typeof s?(this.label_=document.createElement("span"),this.label_.textContent=s,this.label_.className=i):this.label_=s;const a=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_;this.toggleButton_=document.createElement("button"),this.toggleButton_.setAttribute("type","button"),this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_)),this.toggleButton_.title=n,this.toggleButton_.appendChild(a),this.toggleButton_.addEventListener(Rl,this.handleClick_.bind(this),!1);const l=t+" "+Hd+" "+Wd+(this.collapsed_&&this.collapsible_?" "+Ud:"")+(this.collapsible_?"":" ol-uncollapsible"),c=this.element;c.className=l,c.appendChild(this.toggleButton_),c.appendChild(this.ulElement_),this.renderedAttributions_=[],this.renderedVisible_=!0}collectSourceAttributions_(e){const t=this.getMap().getAllLayers(),n=new Set(t.flatMap((t=>t.getAttributions(e))));if(void 0!==this.attributions_&&(Array.isArray(this.attributions_)?this.attributions_.forEach((e=>n.add(e))):n.add(this.attributions_)),!this.overrideCollapsible_){const e=!t.some((e=>!1===e.getSource()?.getAttributionsCollapsible()));this.setCollapsible(e)}return Array.from(n)}async updateElement_(e){if(!e)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const t=await Promise.all(this.collectSourceAttributions_(e).map((e=>Sl((()=>e))))),n=t.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!bl(t,this.renderedAttributions_)){Od(this.ulElement_);for(let e=0,n=t.length;e<n;++e){const n=document.createElement("li");n.innerHTML=t[e],this.ulElement_.appendChild(n)}this.renderedAttributions_=t}}handleClick_(e){e.preventDefault(),this.handleToggle_(),this.userCollapsed_=this.collapsed_}handleToggle_(){this.element.classList.toggle(Ud),this.collapsed_?zd(this.collapseLabel_,this.label_):zd(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_,this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_))}getCollapsible(){return this.collapsible_}setCollapsible(e){this.collapsible_!==e&&(this.collapsible_=e,this.element.classList.toggle("ol-uncollapsible"),this.userCollapsed_&&this.handleToggle_())}setCollapsed(e){this.userCollapsed_=e,this.collapsible_&&this.collapsed_!==e&&this.handleToggle_()}getCollapsed(){return this.collapsed_}render(e){this.updateElement_(e.frameState)}},Jf=class extends Yf{constructor(e){e=e||{},super({element:document.createElement("div"),render:e.render,target:e.target});const t=void 0!==e.className?e.className:"ol-rotate",n=void 0!==e.label?e.label:"⇧",i=void 0!==e.compassClassName?e.compassClassName:"ol-compass";this.label_=null,"string"==typeof n?(this.label_=document.createElement("span"),this.label_.className=i,this.label_.textContent=n):(this.label_=n,this.label_.classList.add(i));const r=e.tipLabel?e.tipLabel:"Reset rotation",o=document.createElement("button");o.className=t+"-reset",o.setAttribute("type","button"),o.title=r,o.appendChild(this.label_),o.addEventListener(Rl,this.handleClick_.bind(this),!1);const s=t+" "+Hd+" "+Wd,a=this.element;a.className=s,a.appendChild(o),this.callResetNorth_=e.resetNorth?e.resetNorth:void 0,this.duration_=void 0!==e.duration?e.duration:250,this.autoHide_=void 0===e.autoHide||e.autoHide,this.rotation_=void 0,this.autoHide_&&this.element.classList.add(Vd)}handleClick_(e){e.preventDefault(),void 0!==this.callResetNorth_?this.callResetNorth_():this.resetNorth_()}resetNorth_(){const e=this.getMap().getView();if(!e)return;const t=e.getRotation();void 0!==t&&(this.duration_>0&&t%(2*Math.PI)!=0?e.animate({rotation:0,duration:this.duration_,easing:xc}):e.setRotation(0))}render(e){const t=e.frameState;if(!t)return;const n=t.viewState.rotation;if(n!=this.rotation_){const e="rotate("+n+"rad)";if(this.autoHide_){const e=this.element.classList.contains(Vd);e||0!==n?e&&0!==n&&this.element.classList.remove(Vd):this.element.classList.add(Vd)}this.label_.style.transform=e}this.rotation_=n}},e_=class extends Yf{constructor(e){e=e||{},super({element:document.createElement("div"),target:e.target});const t=void 0!==e.className?e.className:"ol-zoom",n=void 0!==e.delta?e.delta:1,i=void 0!==e.zoomInClassName?e.zoomInClassName:t+"-in",r=void 0!==e.zoomOutClassName?e.zoomOutClassName:t+"-out",o=void 0!==e.zoomInLabel?e.zoomInLabel:"+",s=void 0!==e.zoomOutLabel?e.zoomOutLabel:"–",a=void 0!==e.zoomInTipLabel?e.zoomInTipLabel:"Zoom in",l=void 0!==e.zoomOutTipLabel?e.zoomOutTipLabel:"Zoom out",c=document.createElement("button");c.className=i,c.setAttribute("type","button"),c.title=a,c.appendChild("string"==typeof o?document.createTextNode(o):o),c.addEventListener(Rl,this.handleClick_.bind(this,n),!1);const u=document.createElement("button");u.className=r,u.setAttribute("type","button"),u.title=l,u.appendChild("string"==typeof s?document.createTextNode(s):s),u.addEventListener(Rl,this.handleClick_.bind(this,-n),!1);const d=t+" "+Hd+" "+Wd,h=this.element;h.className=d,h.appendChild(c),h.appendChild(u),this.duration_=void 0!==e.duration?e.duration:250}handleClick_(e,t){t.preventDefault(),this.zoomByDelta_(e)}zoomByDelta_(e){const t=this.getMap().getView();if(!t)return;const n=t.getZoom();if(void 0!==n){const i=t.getConstrainedZoom(n+e);this.duration_>0?(t.getAnimating()&&t.cancelAnimations(),t.animate({zoom:i,duration:this.duration_,easing:xc})):t.setZoom(i)}}};function t_(e){e=e||{};const t=new Xl;return(void 0===e.zoom||e.zoom)&&t.push(new e_(e.zoomOptions)),(void 0===e.rotate||e.rotate)&&t.push(new Jf(e.rotateOptions)),(void 0===e.attribution||e.attribution)&&t.push(new Qf(e.attributionOptions)),t}const n_="active";function i_(e,t,n,i){const r=e.getZoom();if(void 0===r)return;const o=e.getConstrainedZoom(r+t),s=e.getResolutionForZoom(o);e.getAnimating()&&e.cancelAnimations(),e.animate({resolution:s,anchor:n,duration:void 0!==i?i:250,easing:xc})}const r_=class extends Wl{constructor(e){super(),this.on,this.once,this.un,e&&e.handleEvent&&(this.handleEvent=e.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(n_)}getMap(){return this.map_}handleEvent(e){return!0}setActive(e){this.set(n_,e)}setMap(e){this.map_=e}},o_=class extends r_{constructor(e){super(),e=e||{},this.delta_=e.delta?e.delta:1,this.duration_=void 0!==e.duration?e.duration:250}handleEvent(e){let t=!1;if(e.type==Df.DBLCLICK){const n=e.originalEvent,i=e.map,r=e.coordinate,o=n.shiftKey?-this.delta_:this.delta_;i_(i.getView(),o,r,this.duration_),n.preventDefault(),t=!0}return!t}};function s_(e){const t=e.length;let n=0,i=0;for(let r=0;r<t;r++)n+=e[r].clientX,i+=e[r].clientY;return{clientX:n/t,clientY:i/t}}const a_=class extends r_{constructor(e){super(e=e||{}),e.handleDownEvent&&(this.handleDownEvent=e.handleDownEvent),e.handleDragEvent&&(this.handleDragEvent=e.handleDragEvent),e.handleMoveEvent&&(this.handleMoveEvent=e.handleMoveEvent),e.handleUpEvent&&(this.handleUpEvent=e.handleUpEvent),e.stopDown&&(this.stopDown=e.stopDown),this.handlingDownUpSequence=!1,this.targetPointers=[]}getPointerCount(){return this.targetPointers.length}handleDownEvent(e){return!1}handleDragEvent(e){}handleEvent(e){if(!e.originalEvent)return!0;let t=!1;if(this.updateTrackedPointers_(e),this.handlingDownUpSequence){if(e.type==Df.POINTERDRAG)this.handleDragEvent(e),e.originalEvent.preventDefault();else if(e.type==Df.POINTERUP){const t=this.handleUpEvent(e);this.handlingDownUpSequence=t&&this.targetPointers.length>0}}else if(e.type==Df.POINTERDOWN){const n=this.handleDownEvent(e);this.handlingDownUpSequence=n,t=this.stopDown(n)}else e.type==Df.POINTERMOVE&&this.handleMoveEvent(e);return!t}handleMoveEvent(e){}handleUpEvent(e){return!1}stopDown(e){return e}updateTrackedPointers_(e){e.activePointers&&(this.targetPointers=e.activePointers)}};function l_(e){const t=arguments;return function(e){let n=!0;for(let i=0,r=t.length;i<r&&(n=n&&t[i](e),n);++i);return n}}const c_=function(e){const t=e.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},u_=function(e){const t=e.map.getTargetElement(),n=t.getRootNode();return!(n instanceof ShadowRoot?n.host:t).hasAttribute("tabindex")||function(e){const t=e.map.getTargetElement(),n=t.getRootNode(),i=e.map.getOwnerDocument().activeElement;return n instanceof ShadowRoot?n.host.contains(i):t.contains(i)}(e)},d_=xl,h_=function(e){return e.type==Df.CLICK},p_=function(e){const t=e.originalEvent;return 0==t.button&&!(wd&&kd&&t.ctrlKey)},f_=wl,__=function(e){return e.type==Df.SINGLECLICK},g_=function(e){const t=e.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey},m_=function(e){const t=e.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},y_=function(e){const t=e.originalEvent,n=t.target.tagName;return"INPUT"!==n&&"SELECT"!==n&&"TEXTAREA"!==n&&!t.target.isContentEditable},v_=function(e){const t=e.originalEvent;return sc(void 0!==t,"mapBrowserEvent must originate from a pointer event"),"mouse"==t.pointerType},b_=function(e){const t=e.originalEvent;return sc(void 0!==t,"mapBrowserEvent must originate from a pointer event"),t.isPrimary&&0===t.button},x_=class extends a_{constructor(e){super({stopDown:wl}),e=e||{},this.kinetic_=e.kinetic,this.lastCentroid=null,this.lastPointersCount_,this.panning_=!1;const t=e.condition?e.condition:l_(g_,b_);this.condition_=e.onFocusOnly?l_(u_,t):t,this.noKinetic_=!1}handleDragEvent(e){const t=e.map;this.panning_||(this.panning_=!0,t.getView().beginInteraction());const n=this.targetPointers,i=t.getEventPixel(s_(n));if(n.length==this.lastPointersCount_){if(this.kinetic_&&this.kinetic_.update(i[0],i[1]),this.lastCentroid){const t=[this.lastCentroid[0]-i[0],i[1]-this.lastCentroid[1]],n=e.map.getView();r=t,o=n.getResolution(),r[0]*=o,r[1]*=o,Ta(t,n.getRotation()),n.adjustCenterInternal(t)}}else this.kinetic_&&this.kinetic_.begin();var r,o;this.lastCentroid=i,this.lastPointersCount_=n.length,e.originalEvent.preventDefault()}handleUpEvent(e){const t=e.map,n=t.getView();if(0===this.targetPointers.length){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){const e=this.kinetic_.getDistance(),i=this.kinetic_.getAngle(),r=n.getCenterInternal(),o=t.getPixelFromCoordinateInternal(r),s=t.getCoordinateFromPixelInternal([o[0]-e*Math.cos(i),o[1]-e*Math.sin(i)]);n.animateInternal({center:n.getConstrainedCenter(s),duration:500,easing:xc})}return this.panning_&&(this.panning_=!1,n.endInteraction()),!1}return this.kinetic_&&this.kinetic_.begin(),this.lastCentroid=null,!0}handleDownEvent(e){if(this.targetPointers.length>0&&this.condition_(e)){const t=e.map.getView();return this.lastCentroid=null,t.getAnimating()&&t.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}},w_=class extends a_{constructor(e){e=e||{},super({stopDown:wl}),this.condition_=e.condition?e.condition:c_,this.lastAngle_=void 0,this.duration_=void 0!==e.duration?e.duration:250}handleDragEvent(e){if(!v_(e))return;const t=e.map,n=t.getView();if(n.getConstraints().rotation===yc)return;const i=t.getSize(),r=e.pixel,o=Math.atan2(i[1]/2-r[1],r[0]-i[0]/2);if(void 0!==this.lastAngle_){const e=o-this.lastAngle_;n.adjustRotationInternal(-e)}this.lastAngle_=o}handleUpEvent(e){return!v_(e)||(e.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(e){return!!v_(e)&&(!(!p_(e)||!this.condition_(e))&&(e.map.getView().beginInteraction(),this.lastAngle_=void 0,!0))}},k_=class extends _l{constructor(e){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+e,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const e=this.startPixel_,t=this.endPixel_,n="px",i=this.element_.style;i.left=Math.min(e[0],t[0])+n,i.top=Math.min(e[1],t[1])+n,i.width=Math.abs(t[0]-e[0])+n,i.height=Math.abs(t[1]-e[1])+n}setMap(e){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const e=this.element_.style;e.left="inherit",e.top="inherit",e.width="inherit",e.height="inherit"}this.map_=e,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(e,t){this.startPixel_=e,this.endPixel_=t,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;const e=this.startPixel_,t=this.endPixel_,n=[e,[e[0],t[1]],t,[t[0],e[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);n[4]=n[0].slice(),this.geometry_?this.geometry_.setCoordinates([n]):this.geometry_=new Au([n])}getGeometry(){return this.geometry_}},C_="boxcancel";class S_ extends pl{constructor(e,t,n){super(e),this.coordinate=t,this.mapBrowserEvent=n}}const A_=class extends a_{constructor(e){super(),this.on,this.once,this.un,e=e??{},this.box_=new k_(e.className||"ol-dragbox"),this.minArea_=e.minArea??64,e.onBoxEnd&&(this.onBoxEnd=e.onBoxEnd),this.startPixel_=null,this.condition_=e.condition??p_,this.boxEndCondition_=e.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(e,t,n){const i=n[0]-t[0],r=n[1]-t[1];return i*i+r*r>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(e){this.startPixel_&&(this.box_.setPixels(this.startPixel_,e.pixel),this.dispatchEvent(new S_("boxdrag",e.coordinate,e)))}handleUpEvent(e){if(!this.startPixel_)return!1;const t=this.boxEndCondition_(e,this.startPixel_,e.pixel);return t&&this.onBoxEnd(e),this.dispatchEvent(new S_(t?"boxend":C_,e.coordinate,e)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(e){return!!this.condition_(e)&&(this.startPixel_=e.pixel,this.box_.setMap(e.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new S_("boxstart",e.coordinate,e)),!0)}onBoxEnd(e){}setActive(e){e||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new S_(C_,this.startPixel_,null)),this.startPixel_=null)),super.setActive(e)}setMap(e){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new S_(C_,this.startPixel_,null)),this.startPixel_=null)),super.setMap(e)}},E_=class extends A_{constructor(e){super({condition:(e=e||{}).condition?e.condition:m_,className:e.className||"ol-dragzoom",minArea:e.minArea}),this.duration_=void 0!==e.duration?e.duration:200,this.out_=void 0!==e.out&&e.out}onBoxEnd(e){const t=this.getMap().getView();let n=this.getGeometry();if(this.out_){const e=t.rotatedExtentForGeometry(n),i=t.getResolutionForExtentInternal(e),r=t.getResolution()/i;n=n.clone(),n.scale(r*r)}t.fitInternal(n,{duration:this.duration_,easing:xc})}},M_="ArrowLeft",T_="ArrowRight",P_="ArrowDown",R_=class extends r_{constructor(e){super(),e=e||{},this.defaultCondition_=function(e){return g_(e)&&y_(e)},this.condition_=void 0!==e.condition?e.condition:this.defaultCondition_,this.duration_=void 0!==e.duration?e.duration:100,this.pixelDelta_=void 0!==e.pixelDelta?e.pixelDelta:128}handleEvent(e){let t=!1;if(e.type==Il){const n=e.originalEvent,i=n.key;if(this.condition_(e)&&(i==P_||i==M_||i==T_||"ArrowUp"==i)){const r=e.map.getView(),o=r.getResolution()*this.pixelDelta_;let s=0,a=0;i==P_?a=-o:i==M_?s=-o:i==T_?s=o:a=o;const l=[s,a];Ta(l,r.getRotation()),function(e,t,n){const i=e.getCenterInternal();if(i){const r=[i[0]+t[0],i[1]+t[1]];e.animateInternal({duration:void 0!==n?n:250,easing:kc,center:e.getConstrainedCenter(r)})}}(r,l,this.duration_),n.preventDefault(),t=!0}}return!t}},I_=class extends r_{constructor(e){super(),e=e||{},this.condition_=e.condition?e.condition:function(e){return!function(e){const t=e.originalEvent;return kd?t.metaKey:t.ctrlKey}(e)&&y_(e)},this.delta_=e.delta?e.delta:1,this.duration_=void 0!==e.duration?e.duration:100}handleEvent(e){let t=!1;if(e.type==Il||e.type==Ll){const n=e.originalEvent,i=n.key;if(this.condition_(e)&&("+"===i||"-"===i)){const r=e.map,o="+"===i?this.delta_:-this.delta_;i_(r.getView(),o,void 0,this.duration_),n.preventDefault(),t=!0}}return!t}},L_=class{constructor(e,t,n){this.decay_=e,this.minVelocity_=t,this.delay_=n,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(e,t){this.points_.push(e,t,Date.now())}end(){if(this.points_.length<6)return!1;const e=Date.now()-this.delay_,t=this.points_.length-3;if(this.points_[t+2]<e)return!1;let n=t-3;for(;n>0&&this.points_[n+2]>e;)n-=3;const i=this.points_[t+2]-this.points_[n+2];if(i<1e3/60)return!1;const r=this.points_[t]-this.points_[n],o=this.points_[t+1]-this.points_[n+1];return this.angle_=Math.atan2(o,r),this.initialVelocity_=Math.sqrt(r*r+o*o)/i,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}},z_=class extends r_{constructor(e){super(e=e||{}),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=void 0!==e.maxDelta?e.maxDelta:1,this.duration_=void 0!==e.duration?e.duration:250,this.timeout_=void 0!==e.timeout?e.timeout:80,this.useAnchor_=void 0===e.useAnchor||e.useAnchor,this.constrainResolution_=void 0!==e.constrainResolution&&e.constrainResolution;const t=e.condition?e.condition:d_;this.condition_=e.onFocusOnly?l_(u_,t):t,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const e=this.getMap();e&&e.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(e){if(!this.condition_(e))return!0;if(e.type!==Ol)return!0;const t=e.map,n=e.originalEvent;let i;if(n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=e.pixel),e.type==Ol&&(i=n.deltaY,xd&&n.deltaMode===WheelEvent.DOM_DELTA_PIXEL&&(i/=Cd),n.deltaMode===WheelEvent.DOM_DELTA_LINE&&(i*=40)),0===i)return!1;this.lastDelta_=i;const r=Date.now();void 0===this.startTime_&&(this.startTime_=r),(!this.mode_||r-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(i)<4?"trackpad":"wheel");const o=t.getView();if("trackpad"===this.mode_&&!o.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(o.getAnimating()&&o.cancelAnimations(),o.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),o.adjustZoom(-i/this.deltaPerZoom_,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=r,!1;this.totalDelta_+=i;const s=Math.max(this.timeout_-(r-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,t),s),!1}handleWheelZoom_(e){const t=e.getView();t.getAnimating()&&t.cancelAnimations();let n=-ma(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(t.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),i_(t,n,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(e){this.useAnchor_=e,e||(this.lastAnchor_=null)}},O_=class extends a_{constructor(e){const t=e=e||{};t.stopDown||(t.stopDown=wl),super(t),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=void 0!==e.threshold?e.threshold:.3,this.duration_=void 0!==e.duration?e.duration:250}handleDragEvent(e){let t=0;const n=this.targetPointers[0],i=this.targetPointers[1],r=Math.atan2(i.clientY-n.clientY,i.clientX-n.clientX);if(void 0!==this.lastAngle_){const e=r-this.lastAngle_;this.rotationDelta_+=e,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),t=e}this.lastAngle_=r;const o=e.map,s=o.getView();s.getConstraints().rotation!==yc&&(this.anchor_=o.getCoordinateFromPixelInternal(o.getEventPixel(s_(this.targetPointers))),this.rotating_&&(o.render(),s.adjustRotationInternal(t,this.anchor_)))}handleUpEvent(e){return!(this.targetPointers.length<2)||(e.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(e){if(this.targetPointers.length>=2){const t=e.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||t.getView().beginInteraction(),!0}return!1}},F_=class extends a_{constructor(e){const t=e=e||{};t.stopDown||(t.stopDown=wl),super(t),this.anchor_=null,this.duration_=void 0!==e.duration?e.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(e){let t=1;const n=this.targetPointers[0],i=this.targetPointers[1],r=n.clientX-i.clientX,o=n.clientY-i.clientY,s=Math.sqrt(r*r+o*o);void 0!==this.lastDistance_&&(t=this.lastDistance_/s),this.lastDistance_=s;const a=e.map,l=a.getView();1!=t&&(this.lastScaleDelta_=t),this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(s_(this.targetPointers))),a.render(),l.adjustResolutionInternal(t,this.anchor_)}handleUpEvent(e){if(this.targetPointers.length<2){const t=e.map.getView(),n=this.lastScaleDelta_>1?1:-1;return t.endInteraction(this.duration_,n),!1}return!0}handleDownEvent(e){if(this.targetPointers.length>=2){const t=e.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||t.getView().beginInteraction(),!0}return!1}};function j_(e){e instanceof zu?e.setMapInternal(null):e instanceof Of&&e.getLayers().forEach(j_)}function D_(e,t){if(e instanceof zu)e.setMapInternal(t);else if(e instanceof Of){const n=e.getLayers().getArray();for(let e=0,i=n.length;e<i;++e)D_(n[e],t)}}const N_=class extends Wl{constructor(e){super(),e=e||{},this.on,this.once,this.un;const t=function(e){let t=null;void 0!==e.keyboardEventTarget&&(t="string"==typeof e.keyboardEventTarget?document.getElementById(e.keyboardEventTarget):e.keyboardEventTarget);const n={},i=e.layers&&"function"==typeof e.layers.getLayers?e.layers:new Of({layers:e.layers});let r,o,s;return n[Hf]=i,n[Uf]=e.target,n[$f]=e.view instanceof Iu?e.view:new Iu,void 0!==e.controls&&(Array.isArray(e.controls)?r=new Xl(e.controls.slice()):(sc("function"==typeof e.controls.getArray,"Expected `controls` to be an array or an `ol/Collection.js`"),r=e.controls)),void 0!==e.interactions&&(Array.isArray(e.interactions)?o=new Xl(e.interactions.slice()):(sc("function"==typeof e.interactions.getArray,"Expected `interactions` to be an array or an `ol/Collection.js`"),o=e.interactions)),void 0!==e.overlays?Array.isArray(e.overlays)?s=new Xl(e.overlays.slice()):(sc("function"==typeof e.overlays.getArray,"Expected `overlays` to be an array or an `ol/Collection.js`"),s=e.overlays):s=new Xl,{controls:r,interactions:o,keyboardEventTarget:t,overlays:s,values:n}}(e);this.renderComplete_=!1,this.loaded_=!0,this.boundHandleBrowserEvent_=this.handleBrowserEvent.bind(this),this.maxTilesLoading_=void 0!==e.maxTilesLoading?e.maxTilesLoading:16,this.pixelRatio_=void 0!==e.pixelRatio?e.pixelRatio:Cd,this.postRenderTimeoutHandle_,this.animationDelayKey_,this.animationDelay_=this.animationDelay_.bind(this),this.coordinateToPixelTransform_=[1,0,0,1,0,0],this.pixelToCoordinateTransform_=[1,0,0,1,0,0],this.frameIndex_=0,this.frameState_=null,this.previousExtent_=null,this.viewPropertyListenerKey_=null,this.viewChangeListenerKey_=null,this.layerGroupPropertyListenerKeys_=null,this.viewport_=document.createElement("div"),this.viewport_.className="ol-viewport"+("ontouchstart"in window?" ol-touch":""),this.viewport_.style.position="relative",this.viewport_.style.overflow="hidden",this.viewport_.style.width="100%",this.viewport_.style.height="100%",this.overlayContainer_=document.createElement("div"),this.overlayContainer_.style.position="absolute",this.overlayContainer_.style.zIndex="0",this.overlayContainer_.style.width="100%",this.overlayContainer_.style.height="100%",this.overlayContainer_.style.pointerEvents="none",this.overlayContainer_.className="ol-overlaycontainer",this.viewport_.appendChild(this.overlayContainer_),this.overlayContainerStopEvent_=document.createElement("div"),this.overlayContainerStopEvent_.style.position="absolute",this.overlayContainerStopEvent_.style.zIndex="0",this.overlayContainerStopEvent_.style.width="100%",this.overlayContainerStopEvent_.style.height="100%",this.overlayContainerStopEvent_.style.pointerEvents="none",this.overlayContainerStopEvent_.className="ol-overlaycontainer-stopevent",this.viewport_.appendChild(this.overlayContainerStopEvent_),this.mapBrowserEventHandler_=null,this.moveTolerance_=e.moveTolerance,this.keyboardEventTarget_=t.keyboardEventTarget,this.targetChangeHandlerKeys_=null,this.targetElement_=null,this.resizeObserver_=new ResizeObserver((()=>this.updateSize())),this.controls=t.controls||t_(),this.interactions=t.interactions||function(e){e=e||{};const t=new Xl,n=new L_(-.005,.05,100);return(void 0===e.altShiftDragRotate||e.altShiftDragRotate)&&t.push(new w_),(void 0===e.doubleClickZoom||e.doubleClickZoom)&&t.push(new o_({delta:e.zoomDelta,duration:e.zoomDuration})),(void 0===e.dragPan||e.dragPan)&&t.push(new x_({onFocusOnly:e.onFocusOnly,kinetic:n})),(void 0===e.pinchRotate||e.pinchRotate)&&t.push(new O_),(void 0===e.pinchZoom||e.pinchZoom)&&t.push(new F_({duration:e.zoomDuration})),(void 0===e.keyboard||e.keyboard)&&(t.push(new R_),t.push(new I_({delta:e.zoomDelta,duration:e.zoomDuration}))),(void 0===e.mouseWheelZoom||e.mouseWheelZoom)&&t.push(new z_({onFocusOnly:e.onFocusOnly,duration:e.zoomDuration})),(void 0===e.shiftDragZoom||e.shiftDragZoom)&&t.push(new E_({duration:e.zoomDuration})),t}({onFocusOnly:!0}),this.overlays_=t.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new Xf(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(Hf,this.handleLayerGroupChanged_),this.addChangeListener($f,this.handleViewChanged_),this.addChangeListener(Wf,this.handleSizeChanged_),this.addChangeListener(Uf,this.handleTargetChanged_),this.setProperties(t.values);const n=this;!e.view||e.view instanceof Iu||e.view.then((function(e){n.setView(new Iu(e))})),this.controls.addEventListener(Ul,(e=>{e.element.setMap(this)})),this.controls.addEventListener($l,(e=>{e.element.setMap(null)})),this.interactions.addEventListener(Ul,(e=>{e.element.setMap(this)})),this.interactions.addEventListener($l,(e=>{e.element.setMap(null)})),this.overlays_.addEventListener(Ul,(e=>{this.addOverlayInternal_(e.element)})),this.overlays_.addEventListener($l,(e=>{const t=e.element.getId();void 0!==t&&delete this.overlayIdIndex_[t.toString()],e.element.setMap(null)})),this.controls.forEach((e=>{e.setMap(this)})),this.interactions.forEach((e=>{e.setMap(this)})),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(e){this.getControls().push(e)}addInteraction(e){this.getInteractions().push(e)}addLayer(e){this.getLayerGroup().getLayers().push(e)}handleLayerAdd_(e){D_(e.layer,this)}addOverlay(e){this.getOverlays().push(e)}addOverlayInternal_(e){const t=e.getId();void 0!==t&&(this.overlayIdIndex_[t.toString()]=e),e.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(e,t,n){if(!this.frameState_||!this.renderer_)return;const i=this.getCoordinateFromPixelInternal(e),r=void 0!==(n=void 0!==n?n:{}).hitTolerance?n.hitTolerance:0,o=void 0!==n.layerFilter?n.layerFilter:xl,s=!1!==n.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(i,this.frameState_,r,s,t,null,o,null)}getFeaturesAtPixel(e,t){const n=[];return this.forEachFeatureAtPixel(e,(function(e){n.push(e)}),t),n}getAllLayers(){const e=[];return function t(n){n.forEach((function(n){n instanceof Of?t(n.getLayers()):e.push(n)}))}(this.getLayers()),e}hasFeatureAtPixel(e,t){if(!this.frameState_||!this.renderer_)return!1;const n=this.getCoordinateFromPixelInternal(e),i=void 0!==(t=void 0!==t?t:{}).layerFilter?t.layerFilter:xl,r=void 0!==t.hitTolerance?t.hitTolerance:0,o=!1!==t.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(n,this.frameState_,r,o,i,null)}getEventCoordinate(e){return this.getCoordinateFromPixel(this.getEventPixel(e))}getEventCoordinateInternal(e){return this.getCoordinateFromPixelInternal(this.getEventPixel(e))}getEventPixel(e){const t=this.viewport_.getBoundingClientRect(),n=this.getSize(),i=t.width/n[0],r=t.height/n[1],o="changedTouches"in e?e.changedTouches[0]:e;return[(o.clientX-t.left)/i,(o.clientY-t.top)/r]}getTarget(){return this.get(Uf)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(e){return tl(this.getCoordinateFromPixelInternal(e),this.getView().getProjection())}getCoordinateFromPixelInternal(e){const t=this.frameState_;return t?Mc(t.pixelToCoordinateTransform,e.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(e){const t=this.overlayIdIndex_[e.toString()];return void 0!==t?t:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(Hf)}setLayers(e){const t=this.getLayerGroup();if(e instanceof Xl)return void t.setLayers(e);const n=t.getLayers();n.clear(),n.extend(e)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const e=this.getLayerGroup().getLayerStatesArray();for(let t=0,n=e.length;t<n;++t){const n=e[t];if(!n.visible)continue;const i=n.layer.getRenderer();if(i&&!i.ready)return!0;const r=n.layer.getSource();if(r&&r.loading)return!0}return!1}getPixelFromCoordinate(e){const t=nl(e,this.getView().getProjection());return this.getPixelFromCoordinateInternal(t)}getPixelFromCoordinateInternal(e){const t=this.frameState_;return t?Mc(t.coordinateToPixelTransform,e.slice(0,2)):null}getRenderer(){return this.renderer_}getSize(){return this.get(Wf)}getView(){return this.get($f)}getViewport(){return this.viewport_}getOverlayContainer(){return this.overlayContainer_}getOverlayContainerStopEvent(){return this.overlayContainerStopEvent_}getOwnerDocument(){const e=this.getTargetElement();return e?e.ownerDocument:document}getTilePriority(e,t,n,i){return function(e,t,n,i,r){if(!e||!(n in e.wantedTiles))return Zf;if(!e.wantedTiles[n][t.getKey()])return Zf;const o=e.viewState.center,s=i[0]-o[0],a=i[1]-o[1];return 65536*Math.log(r)+Math.sqrt(s*s+a*a)/r}(this.frameState_,e,t,n,i)}handleBrowserEvent(e,t){t=t||e.type;const n=new jf(t,this,e);this.handleMapBrowserEvent(n)}handleMapBrowserEvent(e){if(!this.frameState_)return;const t=e.originalEvent,n=t.type;if(n===Nf||n===Ol||n===Il){const e=this.getOwnerDocument(),n=this.viewport_.getRootNode?this.viewport_.getRootNode():e,i=t.target,r=n instanceof ShadowRoot?n.host===i?n.host.ownerDocument:n:n===e?e.documentElement:n;if(this.overlayContainerStopEvent_.contains(i)||!r.contains(i))return}if(e.frameState=this.frameState_,!1!==this.dispatchEvent(e)){const t=this.getInteractions().getArray().slice();for(let n=t.length-1;n>=0;n--){const i=t[n];if(i.getMap()===this&&i.getActive()&&this.getTargetElement()&&(!i.handleEvent(e)||e.propagationStopped))break}}}handlePostRender(){const e=this.frameState_,t=this.tileQueue_;if(!t.isEmpty()){let n=this.maxTilesLoading_,i=n;if(e){const t=e.viewHints;if(t[0]||t[1]){const t=Date.now()-e.time>8;n=t?0:8,i=t?0:2}}t.getTilesLoading()<n&&(t.reprioritize(),t.loadMoreTiles(n,i))}e&&this.renderer_&&!e.animate&&(this.renderComplete_?(this.hasListener(dc)&&this.renderer_.dispatchRenderEvent(dc,e),!1===this.loaded_&&(this.loaded_=!0,this.dispatchEvent(new Ff(Vf,this,e)))):!0===this.loaded_&&(this.loaded_=!1,this.dispatchEvent(new Ff(Gf,this,e))));const n=this.postRenderFunctions_;for(let t=0,i=n.length;t<i;++t)n[t](this,e);n.length=0}handleSizeChanged_(){this.getView()&&!this.getView().getAnimating()&&this.getView().resolveConstraints(0),this.render()}handleTargetChanged_(){if(this.mapBrowserEventHandler_){for(let e=0,t=this.targetChangeHandlerKeys_.length;e<t;++e)Dl(this.targetChangeHandlerKeys_[e]);this.targetChangeHandlerKeys_=null,this.viewport_.removeEventListener(Pl,this.boundHandleBrowserEvent_),this.viewport_.removeEventListener(Ol,this.boundHandleBrowserEvent_),this.mapBrowserEventHandler_.dispose(),this.mapBrowserEventHandler_=null,this.viewport_.remove()}if(this.targetElement_){this.resizeObserver_.unobserve(this.targetElement_);const e=this.targetElement_.getRootNode();e instanceof ShadowRoot&&this.resizeObserver_.unobserve(e.host),this.setSize(void 0)}const e=this.getTarget(),t="string"==typeof e?document.getElementById(e):e;if(this.targetElement_=t,t){t.appendChild(this.viewport_),this.renderer_||(this.renderer_=new Rf(this)),this.mapBrowserEventHandler_=new qf(this,this.moveTolerance_);for(const e in Df)this.mapBrowserEventHandler_.addEventListener(Df[e],this.handleMapBrowserEvent.bind(this));let e;if(this.viewport_.addEventListener(Pl,this.boundHandleBrowserEvent_,!1),this.viewport_.addEventListener(Ol,this.boundHandleBrowserEvent_,!!Ed&&{passive:!1}),this.keyboardEventTarget_)e=this.keyboardEventTarget_;else{const n=t.getRootNode();e=n instanceof ShadowRoot?n.host:t}this.targetChangeHandlerKeys_=[Fl(e,Il,this.handleBrowserEvent,this),Fl(e,Ll,this.handleBrowserEvent,this)];const n=t.getRootNode();n instanceof ShadowRoot&&this.resizeObserver_.observe(n.host),this.resizeObserver_.observe(t)}else this.renderer_&&(clearTimeout(this.postRenderTimeoutHandle_),this.postRenderTimeoutHandle_=void 0,this.postRenderFunctions_.length=0,this.renderer_.dispose(),this.renderer_=null),this.animationDelayKey_&&(cancelAnimationFrame(this.animationDelayKey_),this.animationDelayKey_=void 0);this.updateSize()}handleTileChange_(){this.render()}handleViewPropertyChanged_(){this.render()}handleViewChanged_(){this.viewPropertyListenerKey_&&(Dl(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(Dl(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);const e=this.getView();e&&(this.updateViewportSize_(this.getSize()),this.viewPropertyListenerKey_=Fl(e,fl,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=Fl(e,Tl,this.handleViewPropertyChanged_,this),e.resolveConstraints(0)),this.render()}handleLayerGroupChanged_(){this.layerGroupPropertyListenerKeys_&&(this.layerGroupPropertyListenerKeys_.forEach(Dl),this.layerGroupPropertyListenerKeys_=null);const e=this.getLayerGroup();e&&(this.handleLayerAdd_(new If("addlayer",e)),this.layerGroupPropertyListenerKeys_=[Fl(e,fl,this.render,this),Fl(e,Tl,this.render,this),Fl(e,"addlayer",this.handleLayerAdd_,this),Fl(e,"removelayer",this.handleLayerRemove_,this)]),this.render()}isRendered(){return!!this.frameState_}animationDelay_(){this.animationDelayKey_=void 0,this.renderFrame_(Date.now())}renderSync(){this.animationDelayKey_&&cancelAnimationFrame(this.animationDelayKey_),this.animationDelay_()}redrawText(){const e=this.getLayerGroup().getLayerStatesArray();for(let t=0,n=e.length;t<n;++t){const n=e[t].layer;n.hasRenderer()&&n.getRenderer().handleFontsChanged()}}render(){this.renderer_&&void 0===this.animationDelayKey_&&(this.animationDelayKey_=requestAnimationFrame(this.animationDelay_))}removeControl(e){return this.getControls().remove(e)}removeInteraction(e){return this.getInteractions().remove(e)}removeLayer(e){return this.getLayerGroup().getLayers().remove(e)}handleLayerRemove_(e){j_(e.layer)}removeOverlay(e){return this.getOverlays().remove(e)}renderFrame_(e){const t=this.getSize(),n=this.getView(),i=this.frameState_;let r=null;if(void 0!==t&&Qu(t)&&n&&n.isDef()){const i=n.getHints(this.frameState_?this.frameState_.viewHints:void 0),o=n.getState();if(r={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutter:null,extent:sa(o.center,o.resolution,o.rotation,t),index:this.frameIndex_++,layerIndex:0,layerStatesArray:this.getLayerGroup().getLayerStatesArray(),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:t,tileQueue:this.tileQueue_,time:e,usedTiles:{},viewState:o,viewHints:i,wantedTiles:{},mapId:Vl(this),renderTargets:{}},o.nextCenter&&o.nextResolution){const e=isNaN(o.nextRotation)?o.rotation:o.nextRotation;r.nextExtent=sa(o.nextCenter,o.nextResolution,e,t)}}this.frameState_=r,this.renderer_.renderFrame(r),r&&(r.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,r.postRenderFunctions),i&&(!this.previousExtent_||!pa(this.previousExtent_)&&!Ks(r.extent,this.previousExtent_))&&(this.dispatchEvent(new Ff("movestart",this,i)),this.previousExtent_=Us(this.previousExtent_)),this.previousExtent_&&!r.viewHints[0]&&!r.viewHints[1]&&!Ks(r.extent,this.previousExtent_)&&(this.dispatchEvent(new Ff("moveend",this,r)),Ns(r.extent,this.previousExtent_))),this.dispatchEvent(new Ff(Bf,this,r)),this.renderComplete_=(this.hasListener(Gf)||this.hasListener(Vf)||this.hasListener(dc))&&!this.tileQueue_.getTilesLoading()&&!this.tileQueue_.getCount()&&!this.getLoadingOrNotReady(),this.postRenderTimeoutHandle_||(this.postRenderTimeoutHandle_=setTimeout((()=>{this.postRenderTimeoutHandle_=void 0,this.handlePostRender()}),0))}setLayerGroup(e){const t=this.getLayerGroup();t&&this.handleLayerRemove_(new If("removelayer",t)),this.set(Hf,e)}setSize(e){this.set(Wf,e)}setTarget(e){this.set(Uf,e)}setView(e){if(!e||e instanceof Iu)return void this.set($f,e);this.set($f,new Iu);const t=this;e.then((function(e){t.setView(new Iu(e))}))}updateSize(){const e=this.getTargetElement();let t;if(e){const n=getComputedStyle(e),i=e.offsetWidth-parseFloat(n.borderLeftWidth)-parseFloat(n.paddingLeft)-parseFloat(n.paddingRight)-parseFloat(n.borderRightWidth),r=e.offsetHeight-parseFloat(n.borderTopWidth)-parseFloat(n.paddingTop)-parseFloat(n.paddingBottom)-parseFloat(n.borderBottomWidth);isNaN(i)||isNaN(r)||(t=[Math.max(0,i),Math.max(0,r)],!Qu(t)&&(e.offsetWidth||e.offsetHeight||e.getClientRects().length)&&Fa("No map visible because the map container's width or height are 0."))}const n=this.getSize();!t||n&&bl(t,n)||(this.setSize(t),this.updateViewportSize_(t))}updateViewportSize_(e){const t=this.getView();t&&t.setViewportSize(e)}};let q_;function B_(){if(!q_)throw Error('Map must be initialized before it can be used. Use "createMap" when starting the app');return q_}function G_(t){const[n,i]=(0,c.useState)(t.point.queryText),[r,o]=(0,c.useState)(t.point.queryText);(0,c.useEffect)((()=>o(t.point.queryText)),[t.point.queryText]);const[s,a]=(0,c.useState)(!1),u=(0,_s.useMediaQuery)({query:"(max-width: 44rem)"}),[d,h]=(0,c.useState)([]),[p,f]=(0,c.useState)([]),[_]=(0,c.useState)(new W_(wr(),((e,t,n)=>{const r=[],o=cl.parse(e,!0);o.hasPOIs()&&r.push(new Xo(o)),n.forEach((e=>{const t=_r(e);r.push(new Ko(t.mainText,t.secondText,e.point,e.extent?e.extent:Tr(e.point)))})),i(e),f(r)}))),[g]=(0,c.useState)(new U_(wr(),t.point,cl.handleGeocodingResponse));(0,c.useEffect)((()=>f([])),[t.point]);const[m,y]=(0,c.useState)(-1);(0,c.useEffect)((()=>y(-1)),[p]);const v=(0,c.useRef)(null),b=(0,c.useRef)(null),x=(0,c.useCallback)((e=>{if("Escape"===e.key)return o(n),void b.current.blur();switch(e.key){case"ArrowUp":case"ArrowDown":y((t=>{t<0&&o(n);const i="ArrowUp"===e.key?-1:1,r=function(e,t,n){const i=t+n;return i>=e?-1:i<-1?e-1:i}(p.length,t,i);if(p.length>0)if(r<0)o(n);else if(r>=0){const e=p[r];o(e instanceof Ko?e.mainText:n)}return r})),e.preventDefault();break;case"Enter":case"Tab":const i=yr(r);if(i)t.onAddressSelected(r,i);else if(p.length>0){const e=p[m>=0?m:0];e instanceof Xo?(V_(g,e.result,t.map),t.onAddressSelected(e.result.text(e.result.poi),void 0)):m<0&&!t.point.isInitialized?wr().geocode(r,"nominatim").then((n=>{if(n&&n.hits.length>0){const e=n.hits[0],i=function(e){const t=e.name?e.name:e.country,n=e.street?e.street+(e.housenumber?" "+e.housenumber:""):"",i=e.street&&0==t.indexOf(e.street)?n:t.split(",")[0];return{mainText:i,secondText:(!i.includes(n)&&n.length>0?n+", ":"")+(!i.includes(e.postcode)&&e.postcode?e.postcode+" ":"")+(!i.includes(e.city)&&e.city?e.city+", ":"")+(!i.includes(e.state)&&e.state?e.state+", ":"")+e.country}}(e);t.onAddressSelected(i.mainText+", "+i.secondText,e.point)}else e instanceof Ko&&t.onAddressSelected(e.toText(),e.point)})):e instanceof Ko&&t.onAddressSelected(e.toText(),e.point)}"Enter"==e.key&&b.current.blur()}}),[p,m]),w=s?fs.fullscreen:"",k=t.point.type,C=$a(B_().getView().getCenter()),S={lng:C[0],lat:C[1]},A=0==t.index&&!u;return(0,e.jsx)("div",{className:w,children:(0,e.jsxs)("div",{ref:v,className:[fs.inputContainer,t.dropPreviewIndex==t.index?t.dropPreviewIndex<t.moveStartIndex?fs.topBorder:fs.bottomBorder:{}].join(" "),children:[(0,e.jsx)(So,{className:fs.btnClose,onMouseDown:e=>e.preventDefault(),onClick:()=>b.current.blur(),children:(0,e.jsx)(rs,{})}),(0,e.jsx)("input",{style:t.moveStartIndex==t.index?{borderWidth:"2px",margin:"-1px"}:{},className:fs.input,type:"text",autoFocus:A,ref:b,autoComplete:"off",onChange:e=>{const n=e.target.value;o(n),yr(n)||_.request(e.target.value,S,B_().getView().getZoom()),t.onChange(n)},onKeyDown:x,onFocus:()=>{a(!0),t.clearDragDrop(),d.length>0&&f(d)},onBlur:()=>{a(!1),_.cancel(),h(p),f([])},value:r,placeholder:l(k==Pr.From?"from_hint":k==Pr.To?"to_hint":"via_hint")}),(0,e.jsx)(So,{tabIndex:-1,style:0==r.length?{display:"none"}:{},className:fs.btnInputClear,onMouseDown:e=>e.preventDefault(),onClick:e=>{o(""),t.onChange(""),b.current.focus()},children:(0,e.jsx)(as,{})}),(0,e.jsx)(So,{tabIndex:-1,style:0==r.length&&s?{}:{display:"none"},className:fs.btnCurrentLocation,onMouseDown:e=>e.preventDefault(),onClick:()=>{var e;e=t.onAddressSelected,navigator.geolocation?(e(l("searching_location")+" ...",void 0,void 0),navigator.geolocation.getCurrentPosition((t=>{const n={lat:t.coords.latitude,lng:t.coords.longitude};e(l("current_location"),n,Tr(n))}),(t=>{Ii.dispatch(new Wi(l("searching_location_failed")+": "+t.message)),e("",void 0,void 0)}),{timeout:3e5,enableHighAccuracy:!0})):Ii.dispatch(new Wi("Geolocation is not supported in this browser")),b.current.blur()},children:(0,e.jsx)(ds,{})}),p.length>0&&(0,e.jsx)(H_,{inputRef:v.current,index:t.index,isSmallScreen:u,children:(0,e.jsx)(Yo,{items:p,highlightedItem:p[m],onSelect:e=>{e instanceof Ko?t.onAddressSelected(e.toText(),e.point):e instanceof Xo&&(V_(g,e.result,t.map),o(e.result.text(e.result.poi))),b.current.blur()}})})]})})}function V_(e,t,n){if(!t.hasPOIs())return;const i=Qa(n.getView().calculateExtent(n.getSize()),"EPSG:3857","EPSG:4326");e.request(t,i)}function H_({inputRef:t,children:n,index:i,isSmallScreen:r}){return(0,e.jsx)(e.Fragment,{children:r?(0,e.jsx)("div",{className:fs.smallList,children:n}):(0,e.jsx)(bs,{inputElement:t,keepClearAtBottom:i>5?270:0,children:n})})}class W_{constructor(e,t){this.requestId=0,this.timeout=new $_(200),this.api=e,this.onSuccess=t}request(e,t,n=11){this.requestAsync(e,t,n).then((()=>{}))}cancel(){this.getNextId()}async requestAsync(e,t,n){const i="default",r=this.getNextId();if(this.timeout.cancel(),e&&!(e.length<2)){await this.timeout.wait();try{const o=t?{point:mr(t),location_bias_scale:"0.5",zoom:""+(n+1)}:{},s=await this.api.geocode(e,i,o),a=W_.filterDuplicates(s.hits);r===this.requestId&&this.onSuccess(e,i,a)}catch(e){throw Error("Could not get geocoding results because: "+e)}}}getNextId(){return this.requestId++,this.requestId}static filterDuplicates(e){const t=new Set;return e.filter((e=>!t.has(e.osm_id)&&(t.add(e.osm_id),!0)))}}class U_{constructor(e,t,n){this.requestId=0,this.timeout=new $_(200),this.api=e,this.onSuccess=n,this.queryPoint=t}cancel(){this.getNextId()}request(e,t){this.requestAsync(e,t).then((()=>{}))}async requestAsync(e,t){const n=this.getNextId();this.timeout.cancel(),await this.timeout.wait();try{let i=[];if(e.location){let n={point:mr({lat:(t[1]+t[3])/2,lng:(t[0]+t[2])/2}),location_bias_scale:"0.5",zoom:"9"};const r=await this.api.geocode(e.location,"default",n);if(r.hits.length>0){const t=r.hits[0].extent?r.hits[0].extent:Tr(r.hits[0].point,.01);t&&(i=await this.api.reverseGeocode(e.query,t))}}else i=await this.api.reverseGeocode(e.query,t);n===this.requestId&&this.onSuccess(i,e,this.queryPoint)}catch(e){throw Error("Could not get geocoding results because: "+e)}}getNextId(){return this.requestId++,this.requestId}}class $_{constructor(e){this.handle=0,this.delay=e}wait(){return new Promise((e=>{this.handle=window.setTimeout(e,this.delay)}))}cancel(){clearTimeout(this.handle)}}const Z_={cursor:"pointer",stroke:"none"};function K_({color:t,number:n,size:i=0,cursor:r}){return(0,e.jsxs)("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",height:i,style:{...Z_,fill:t,cursor:r||Z_.cursor},children:[(0,e.jsx)("path",{d:"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z"}),void 0===n?(0,e.jsx)("path",{d:"M192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z",fill:"white"}):(0,e.jsx)("circle",{cx:"192",cy:"190",r:"150",fill:"white"}),(0,e.jsx)("text",{x:"50%",y:"55%",textAnchor:"middle",style:{fontSize:210},fill:"black",children:void 0!==n?n:""})]})}var X_=n(4858),Y_={};Y_.styleTagTransform=x(),Y_.setAttributes=m(),Y_.insert=_().bind(null,"head"),Y_.domAPI=p(),Y_.insertStyleElement=v(),d()(X_.A,Y_);const Q_=X_.A&&X_.A.locals?X_.A.locals:void 0;var J_;function eg(){return eg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},eg.apply(this,arguments)}const tg=function(e){return c.createElement("svg",eg({xmlns:"http://www.w3.org/2000/svg",width:48,height:48},e),J_||(J_=c.createElement("path",{fill:"currentColor",d:"M14 36q-5 0-8.5-3.5T2 24q0-5 3.5-8.5T14 12h20q5 0 8.5 3.5T46 24q0 5-3.5 8.5T34 36Zm0-3h20q3.75 0 6.375-2.625T43 24q0-3.75-2.625-6.375T34 15H14q-3.75 0-6.375 2.625T5 24q0 3.75 2.625 6.375T14 33Zm20.05-3.95q2.1 0 3.575-1.475T39.1 24q0-2.1-1.475-3.575T34.05 18.95q-2.1 0-3.575 1.475T29 24q0 2.1 1.475 3.575t3.575 1.475ZM24 24Z"})))};var ng;function ig(){return ig=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ig.apply(this,arguments)}const rg=function(e){return c.createElement("svg",ig({xmlns:"http://www.w3.org/2000/svg",width:48,height:48},e),ng||(ng=c.createElement("path",{fill:"currentColor",d:"M14 36q-5 0-8.5-3.5T2 24q0-5 3.5-8.5T14 12h20q5 0 8.5 3.5T46 24q0 5-3.5 8.5T34 36Zm0-3h20q3.75 0 6.375-2.625T43 24q0-3.75-2.625-6.375T34 15H14q-3.75 0-6.375 2.625T5 24q0 3.75 2.625 6.375T14 33Zm-.05-3.95q2.1 0 3.575-1.475T19 24q0-2.1-1.475-3.575T13.95 18.95q-2.1 0-3.575 1.475T8.9 24q0 2.1 1.475 3.575t3.575 1.475ZM24 24Z"})))};function og(){const t=(0,c.useContext)(Or);return(0,e.jsxs)("div",{className:Q_.parent,children:[(0,e.jsx)("div",{className:Q_.title,children:l("settings")}),(0,e.jsx)("div",{className:Q_.settingsTable,children:(0,e.jsx)(sg,{title:l("distance_unit",[l(t.showDistanceInMiles?"mi":"km")]),enabled:t.showDistanceInMiles,onClick:()=>Ii.dispatch(new lr({showDistanceInMiles:!t.showDistanceInMiles}))})}),(0,e.jsx)("div",{className:Q_.title,children:l("settings_gpx_export")}),(0,e.jsx)("div",{className:Q_.settingsTable,children:(0,e.jsxs)("div",{className:Q_.settingsCheckboxes,children:[(0,e.jsx)(ag,{title:l("settings_gpx_export_trk"),enabled:t.gpxExportTrk,onClick:()=>Ii.dispatch(new lr({gpxExportTrk:!t.gpxExportTrk}))}),(0,e.jsx)(ag,{title:l("settings_gpx_export_rte"),enabled:t.gpxExportRte,onClick:()=>Ii.dispatch(new lr({gpxExportRte:!t.gpxExportRte}))}),(0,e.jsx)(ag,{title:l("settings_gpx_export_wpt"),enabled:t.gpxExportWpt,onClick:()=>Ii.dispatch(new lr({gpxExportWpt:!t.gpxExportWpt}))})]})}),(0,e.jsxs)("div",{className:Q_.infoLine,children:[(0,e.jsx)("a",{href:"https://www.graphhopper.com/maps-route-planner/",children:l("info")}),(0,e.jsx)("a",{href:"https://github.com/graphhopper/graphhopper-maps/issues",children:l("feedback")}),(0,e.jsx)("a",{href:"https://www.graphhopper.com/imprint/",children:l("imprint")}),(0,e.jsx)("a",{href:"https://www.graphhopper.com/privacy/",children:l("privacy")}),(0,e.jsx)("a",{href:"https://www.graphhopper.com/terms/",children:l("terms")})]})]})}function sg({title:t,enabled:n,onClick:i}){return(0,e.jsxs)("div",{className:Q_.settingsToggle,onClick:i,children:[(0,e.jsx)(So,{style:{color:n?"":"lightgray"},className:Q_.toggleButton,children:n?(0,e.jsx)(tg,{}):(0,e.jsx)(rg,{})}),(0,e.jsx)("div",{style:{color:n?"#5b616a":"gray"},children:t})]})}function ag({title:t,enabled:n,onClick:i}){return(0,e.jsxs)("div",{className:Q_.settingsCheckbox,onClick:i,children:[(0,e.jsx)("input",{type:"checkbox",checked:n,onChange:e=>{}}),(0,e.jsx)("label",{style:{color:n?"#5b616a":"gray"},children:t})]})}function lg({points:t,map:n}){const[i,r]=(0,c.useState)(!1),[o,s]=(0,c.useState)(!0),[a,u]=(0,c.useState)(-1),[d,h]=(0,c.useState)(-1);return(0,e.jsxs)("div",{className:Fo.searchBoxParent,children:[(0,e.jsx)("div",{className:Fo.searchBox,children:t.map(((i,r)=>(0,e.jsx)(cg,{index:r,points:t,deletable:t.length>2,onChange:()=>{Ii.dispatch(new $i),Ii.dispatch(new Bi(i))},showTargetIcons:o,moveStartIndex:a,onMoveStartSelect:(e,t)=>{u(e),s(t)},dropPreviewIndex:d,onDropPreviewSelect:h,map:n},i.id)))}),(0,e.jsxs)("div",{className:Fo.lastSearchLine,children:[(0,e.jsxs)(So,{style:o&&a>=0&&a+1<t.length?{paddingTop:"2rem"}:{},onClick:()=>Ii.dispatch(new Fi(t.length,{lat:0,lng:0},!1,!0)),className:Fo.addSearchBox,children:[(0,e.jsx)(Go,{}),(0,e.jsx)("div",{children:l("add_to_route")})]}),(0,e.jsx)(So,{className:Fo.settingsButton,onClick:()=>r(!i),children:l(i?"settings_close":"settings")})]}),i&&(0,e.jsx)(og,{})]})}const cg=({index:t,points:n,onChange:i,deletable:r,moveStartIndex:o,showTargetIcons:s,onMoveStartSelect:a,dropPreviewIndex:c,onDropPreviewSelect:u,map:d})=>{const h=n[t];function p(){u(-1);const e=o<t?t+1:t;Ii.dispatch(new qi(n[o],e)),a(t,!1),setTimeout((()=>{a(-1,!0)}),1e3)}return(0,e.jsxs)(e.Fragment,{children:[(o<0||o==t)&&(0,e.jsx)("div",{title:l("drag_to_reorder"),className:Fo.markerContainer,draggable:!0,onDragStart:()=>{o!=t&&(a(t,!0),u(-1))},onDragEnd:()=>{a(-1,!0),u(-1)},onClick:()=>{o==t?(a(-1,!0),u(-1)):a(t,!0)},children:(0,e.jsx)(K_,{number:t>0&&t+1<n.length?""+t:void 0,cursor:"ns-resize",color:o>=0?"gray":h.color})}),o>=0&&o!=t&&(0,e.jsx)(So,{title:l("click to move selected input here"),className:[s?"":Fo.hide,Fo.markerTarget,c>=0&&c==t?Fo.dropPreview:""].join(" "),style:o>t?{marginTop:"-2.4rem"}:{marginBottom:"-2.4rem"},onDragOver:e=>{e.preventDefault(),u(t)},onDragLeave:()=>u(-1),onDrop:p,onClick:p,children:(0,e.jsx)(Wo,{})}),(0,e.jsx)("div",{className:Fo.searchBoxInput,children:(0,e.jsx)(G_,{map:d,moveStartIndex:o,dropPreviewIndex:c,index:t,point:h,points:n,onCancel:()=>console.log("cancel"),onAddressSelected:(e,t)=>{const i=n.filter((e=>e.isInitialized)).length;t&&i!=n.length&&Ii.dispatch(new nr(Tr(t))),Ii.dispatch(new zi({...h,isInitialized:!!t,queryText:e,coordinate:t||h.coordinate},i>0))},clearDragDrop:()=>{a(-1,!0),u(-1)},onChange:i})}),r&&(0,e.jsx)(So,{title:l("delete_from_route"),onClick:()=>{Ii.dispatch(new Ni(h)),a(-1,!0)},className:Fo.removeSearchBox,children:(0,e.jsx)(No,{})})]})};var ug=n(6315),dg={};dg.styleTagTransform=x(),dg.setAttributes=m(),dg.insert=_().bind(null,"head"),dg.domAPI=p(),dg.insertStyleElement=v(),d()(ug.A,dg);const hg=ug.A&&ug.A.locals?ug.A.locals:void 0;var pg;function fg(){return fg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},fg.apply(this,arguments)}const _g=function(e){return c.createElement("svg",fg({xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",className:"times-solid_svg__svg-inline--fa times-solid_svg__fa-times times-solid_svg__fa-w-11","data-icon":"times","data-prefix":"fas",viewBox:"0 0 352 512"},e),pg||(pg=c.createElement("path",{fill:"currentColor",d:"m242.72 256 100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"})))};function gg({error:t}){return(0,e.jsxs)("div",{className:hg.errorMessageContainer,children:[(0,e.jsx)("span",{className:hg.errorMessage,children:t.lastError}),(0,e.jsx)(So,{className:hg.errorMessageCloseBtn,onClick:()=>Ii.dispatch(new Ki),children:(0,e.jsx)(_g,{})})]})}var mg=n(7382),yg={};yg.styleTagTransform=x(),yg.setAttributes=m(),yg.insert=_().bind(null,"head"),yg.domAPI=p(),yg.insertStyleElement=v(),d()(mg.A,yg);const vg=mg.A&&mg.A.locals?mg.A.locals:void 0;var bg;function xg(){return xg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},xg.apply(this,arguments)}const wg=function(e){return c.createElement("svg",xg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),bg||(bg=c.createElement("path",{d:"M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z"})))};function kg(){return kg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},kg.apply(this,arguments)}const Cg=function(e){return c.createElement("svg",kg({xmlns:"http://www.w3.org/2000/svg",xmlSpace:"preserve",width:96,height:96,viewBox:"0 0 11 11"},e),c.createElement("path",{fill:"currentColor",d:"m4.194 10.685-.265-1.667q-.25-.092-.529-.251-.278-.159-.49-.33l-1.56.713L.12 6.98l1.428-1.044q-.026-.12-.033-.271-.007-.153-.007-.272 0-.119.007-.27.007-.153.033-.272L.12 3.806l1.23-2.17 1.562.715q.211-.172.49-.331.277-.159.528-.238l.265-1.68h2.434l.265 1.667q.251.092.536.244.284.152.482.338l1.561-.715 1.23 2.17-1.428 1.019q.027.132.033.284.007.152.007.284 0 .133-.007.278-.007.146-.033.278l1.429 1.032-1.23 2.17-1.562-.715q-.211.172-.482.337-.272.166-.536.245l-.265 1.667zm1.217-3.572q.714 0 1.217-.503.503-.502.503-1.217 0-.714-.503-1.217-.503-.502-1.217-.502-.714 0-1.217.502-.503.503-.503 1.217 0 .715.503 1.217.503.503 1.217.503zm0-.794q-.384 0-.655-.27-.271-.272-.271-.656 0-.383.271-.654.271-.272.655-.272t.655.272q.271.27.271.654t-.271.655q-.271.271-.655.271zm0-.926zM4.83 9.891h1.164l.185-1.481q.437-.106.827-.331.39-.225.708-.542l1.402.608.53-.952L8.4 6.28q.053-.225.086-.443.033-.219.033-.444 0-.224-.027-.443-.026-.218-.092-.443l1.243-.913-.529-.952-1.402.608q-.304-.344-.688-.575-.384-.232-.847-.298L5.993.895H4.83l-.185 1.482q-.45.093-.84.318-.39.225-.695.555l-1.402-.608-.53.952 1.244.913q-.053.225-.086.443-.033.219-.033.443 0 .225.033.444.033.218.086.443l-1.243.913.529.952 1.402-.608q.318.317.708.542.39.225.827.33z",style:{strokeWidth:.1}}),c.createElement("rect",{width:1.208,height:1.633,x:4.803,y:3.421,ry:.049,style:{fill:"#fff",strokeWidth:.209373}}))};function Sg(){return Sg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Sg.apply(this,arguments)}function Ag(){return Ag=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Ag.apply(this,arguments)}function Eg(){return Eg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Eg.apply(this,arguments)}function Mg(){return Mg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Mg.apply(this,arguments)}function Tg(){return Tg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Tg.apply(this,arguments)}function Pg(){return Pg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Pg.apply(this,arguments)}function Rg(){return Rg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Rg.apply(this,arguments)}function Ig(){return Ig=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Ig.apply(this,arguments)}function Lg(){return Lg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Lg.apply(this,arguments)}function zg(){return zg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},zg.apply(this,arguments)}var Og;function Fg(){return Fg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Fg.apply(this,arguments)}function jg(){return jg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},jg.apply(this,arguments)}const Dg={car:function(e){return c.createElement("svg",Ag({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("path",{d:"m5.35 1043.364 13.272.015c0-2.144.003-3.484.002-4.136-.004-.324-.086-.354-.188-.527-.49-.78-2.167-3.815-2.352-4.103-.11-.157-.216-.203-.388-.189H8.364c-.206 0-.317.073-.406.189-.228.361-1.99 3.453-2.508 4.278-.095.151-.103.346-.11.526.003 1.98.005 2.974.01 3.946zm3.048-7.778 7.226.039 1.537 3.236H6.813Zm-1.055 4.442a1.041 1.041 0 1 1 0 2.083 1.041 1.041 0 0 1 0-2.083zm9.265 0a1.041 1.041 0 1 1 0 2.083 1.041 1.041 0 0 1 0-2.083z",style:{fillOpacity:1,stroke:"none",strokeWidth:"1.38819px",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:1,fill:"currentColor"},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"m6.39 1043.127-.008 2.192",style:{fillOpacity:1,strokeWidth:2.08227,strokeLinecap:"round",strokeLinejoin:"miter",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,fill:"currentColor",stroke:"currentColor"},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"m17.587 1043.12-.009 2.199",style:{fillOpacity:1,strokeWidth:2.07309,strokeLinecap:"round",strokeLinejoin:"miter",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,fill:"currentColor",stroke:"currentColor"},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"m5.35 1043.364 13.275.015c-.001-2.144-.663-3.037-.553-4.43-2.15-3.365-1.269-3.902-6.134-3.9-3.52-.011-6.582.374-6.588 8.314zm3.232-7.753 6.81-.026 1.77 3.275H6.812Zm-1.239 4.417a1.041 1.041 0 1 1 0 2.083 1.041 1.041 0 0 1 0-2.083zm9.265 0a1.041 1.041 0 1 1 0 2.083 1.041 1.041 0 0 1 0-2.083z",style:{fillOpacity:1,stroke:"none",strokeWidth:"1.38819px",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:1,fill:"currentColor"},transform:"translate(0 -1028.362)"}))},small_truck:function(e){return c.createElement("svg",Lg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M9.93 1035.133a.424.424 0 0 0-.423.424l-.104 8.262c2.162.024 5.242.01 7.704.015.254-.456.408-1.129 1.713-1.13 1.345 0 1.405.642 1.66 1.099h.471a.423.423 0 0 0 .423-.424v-7.823a.423.423 0 0 0-.423-.423z",style:{fillOpacity:1,strokeWidth:1.15286,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor",fill:"currentColor"}}),c.createElement("path",{d:"M3.697 1039.694h6.218v3.192H3.697z",style:{fillOpacity:1,stroke:"none",strokeWidth:1.04201,fill:"currentColor"}}),c.createElement("path",{d:"M2.85 1040.73v3.68h1.706a1.441 1.441 0 0 1-.004-.048 1.441 1.441 0 0 1 1.44-1.44 1.441 1.441 0 0 1 1.442 1.44 1.441 1.441 0 0 1-.005.047h4.889v-3.68z",style:{fillOpacity:1,stroke:"none",strokeWidth:1.0461,fill:"currentColor"}}),c.createElement("path",{d:"M5.624 1036.386c-3.576 7.11-3.044 4.821-3.076 7.505l1.366-.01 1.373-1.312 2.042-.382.922-.184 1.014.138.138-5.715c-.594-.018-3.162-.047-3.779-.046z",style:{fill:"none",strokeWidth:"1.04276px",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"m5.402 1035.907 4.112-1.26.09 1.555z",style:{fillOpacity:1,stroke:"none",strokeWidth:1.04201,fill:"currentColor"}}),c.createElement("circle",{cx:18.949,cy:1044.363,r:1.441,style:{fill:"#fff",fillOpacity:.0820312,strokeWidth:.864469,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("circle",{cx:6.078,cy:1044.363,r:1.441,style:{fill:"#fff",fillOpacity:.0820312,strokeWidth:.864469,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"M7.999 1036.68h6.218v3.192H7.999z",style:{fillOpacity:1,stroke:"none",strokeWidth:1.04201,fill:"currentColor"}})))},truck:function(e){return c.createElement("svg",zg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("rect",{width:7.3,height:2.796,x:6.392,y:1041.53,ry:.684,style:{strokeWidth:.99494,stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M1.417 1039.837a.022.022 0 0 0-.02.02v4.448c0 .014.008.021.02.021h2.039a1.533 1.533 0 0 1-.004-.038 1.533 1.533 0 0 1 3.066 0 1.533 1.533 0 0 1-.003.038h1.984c.012 0 .021-.012.021-.02v-4.448c0-.013-.01-.021-.021-.021z",style:{fillOpacity:1,stroke:"none",strokeWidth:.99494,fill:"currentColor"}}),c.createElement("path",{d:"M1.244 1043.746H2.93l.506-1.555 1.002-.551 2.075-.2 1.401.114-.01-5.58c-1.188.02-6.147-.012-6.648 0-.028 3.015-.003 5.58-.012 7.772z",style:{strokeOpacity:1,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:"1.19518px",stroke:"currentColor",fill:"none"}}),c.createElement("rect",{width:2.329,height:4.491,x:5.468,y:1036.143,ry:.022,style:{fillOpacity:1,stroke:"none",strokeWidth:.99494,fill:"currentColor"}}),c.createElement("path",{d:"M10.047 1034.45c-.637 0-1.148.513-1.148 1.15v7.57c0 .636.511 1.15 1.148 1.15h4.579a1.533 1.533 0 0 1-.004-.028 1.533 1.533 0 0 1 1.533-1.532 1.533 1.533 0 0 1 1.533 1.532 1.533 1.533 0 0 1-.004.028h1.481a1.533 1.533 0 0 1 1.53-1.49 1.533 1.533 0 0 1 1.53 1.488 1.146 1.146 0 0 0 1.1-1.149v-7.569c0-.637-.51-1.15-1.148-1.15z",style:{fillOpacity:1,stroke:"none",strokeWidth:2.00558,strokeOpacity:1,fill:"currentColor"}}),c.createElement("circle",{cx:16.288,cy:1044.289,r:1.533,fill:"none",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.919458,stroke:"currentColor",fillOpacity:0,fill:"#fff"}}),c.createElement("circle",{cx:4.887,cy:1044.289,r:1.533,fill:"none",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.919458,stroke:"currentColor",fillOpacity:0,fill:"#fff"}}),c.createElement("circle",{cx:20.733,cy:1044.289,r:1.533,fill:"none",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.919458,stroke:"currentColor",fillOpacity:0,fill:"#fff"}})))},scooter:function(e){return c.createElement("svg",Ig({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M5.548 1039.803c.905 1.804 1.202 2.42 3.18 2.495h.98l5.104.079c3.577-2.625 1.439-3.39 1.277-7.866.985.237 1.25 1.446 1.898 1.94.462.352 1.049 1.298 1.034 2.32-.3 1.348-2.838 4.798-3.328 5.233-.265.382-2.747.463-5.553.419-2.806-.044-5.936-.216-8.121-.588.516-1.95 1.369-3.47 3.529-4.032z",style:{stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("circle",{cx:19.143,cy:1043.334,r:2.267,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.957069,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"m17.614 1040.655 1.523 2.73",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.16776,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"M5.183 1041.033c-1.384-1.072-1.439-3.227-1.106-3.739.026-.04 4.81.452 7.13.09 2.375.382-2.742 3.904.167 5.137-2.709.076-4.184 1-6.191-1.488z",style:{stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("circle",{cx:5.436,cy:1043.355,r:2.267,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.957069,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"M15.645 1042.746c.66-1.65 1.007-1.608 2.641-3.034 2.079-.304 3.533 1.57 3.416 1.795-.75.58-2.606-2.008-5.292.885z",style:{stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M16.68 1035.348s-1.95.398-1.72.89c.197.416.944-.126 1.72-.89z",style:{strokeOpacity:1,strokeLinejoin:"miter",strokeLinecap:"butt",strokeWidth:1,stroke:"none",fillRule:"evenodd",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M18.188 1035.784c-.332.054-.551.048-.931.048s-.665-.292-.665-.61c0-.32.241-.767.62-.767.19 0 .49-.054.94.092-.116.357-.12.79.036 1.238z",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.7,stroke:"none",fillOpacity:1,fill:"currentColor"}})))},foot:function(e){return c.createElement("svg",Eg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("path",{d:"M11.393 1031.664c-.947 0-1.71.763-1.71 1.71 0 .948.832 1.355 1.71 1.71 2.064.578 2.473-3.332 0-3.42zm.245 10.752a.346.346 0 0 0-.03.122c-1.57-2.758 1.099-4.25.03-.122z",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.3,fill:"none",stroke:"#fff",strokeWidth:1.95499,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,marker:"none",enableBackground:"accumulate"},transform:"translate(0 -1028.362)"}),c.createElement("g",{style:{fill:"currentColor"}},c.createElement("g",{style:{display:"inline",fill:"currentColor"}},c.createElement("path",{d:"M14.875 1008.362c-.97 0-1.75.78-1.75 1.75s.78 1.75 1.75 1.75 1.75-.78 1.75-1.75-.78-1.75-1.75-1.75z",style:{color:"currentColor",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:2,marker:"none",enableBackground:"accumulate"},transform:"matrix(.9775 0 0 .9775 -3.025 -982.366)"}))),c.createElement("path",{d:"M0 1028.362h24v24H0z",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.5,fill:"none",stroke:"none",strokeWidth:2,marker:"none",enableBackground:"accumulate"},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"M12.475 1035.556c-.358-.067-.972-.264-1.531.211-.567.625-.44.89-.263 2.093 0 0 .033 2.472-.421 4.243a.359.359 0 0 0-.053.115l-1.76 5.453c-.361.598.03 1.068.5 1.15.307.056.635-.075.852-.401l2.383-5.959c.113-5.007.1-3.506.293-6.905z",style:{enableBackground:"accumulate",marker:"none",strokeWidth:1.95499,stroke:"none",fillRule:"nonzero",fillOpacity:1,fill:"currentColor",visibility:"visible",overflow:"visible",display:"inline",color:"currentColor"},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"M12.838 1035.562c.508.232 1.057.842 1.682 2.646.508.901.588 1.321 1.117 2.207.351.589-.977 1.023-1.243.399l-1.144-2.677s-.24 2.782.516 4.035a.359.359 0 0 1 .052.115l1.205 2.24.851 2.852a.743.743 0 0 1-.623.905c-.306.057-.818-.256-.851-.583l-.673-2.494-1.883-2.677c.151-2.783-1.831-7.856.994-6.969z",style:{enableBackground:"accumulate",marker:"none",strokeWidth:1.95499,stroke:"none",fillRule:"nonzero",fillOpacity:1,fill:"currentColor",visibility:"visible",overflow:"visible",display:"inline",color:"currentColor"},transform:"translate(0 -1028.362)"}))},hike:function(e){return c.createElement("svg",Mg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M11.583 1031.78c-.942 0-1.701.758-1.701 1.7 0 .943.828 1.348 1.7 1.701 2.053.575 2.46-3.313 0-3.401zm.243 10.691a.342.342 0 0 0-.03.121c-1.561-2.742 1.093-4.227.03-.121z",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.3,fill:"none",stroke:"#fff",strokeWidth:1.94388,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,marker:"none",enableBackground:"accumulate"}}),c.createElement("g",{style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.00006006,stroke:"none",fillOpacity:1,fill:"currentColor"}},c.createElement("g",{style:{display:"inline",stroke:"none",strokeOpacity:1,fill:"currentColor",fillOpacity:1,strokeWidth:1.00006006,strokeMiterlimit:4,strokeDasharray:"none"}},c.createElement("path",{d:"M14.875 1008.362c-.97 0-1.75.78-1.75 1.75s.78 1.75 1.75 1.75 1.75-.78 1.75-1.75-.78-1.75-1.75-1.75z",style:{color:"currentColor",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:1.00006006,marker:"none",enableBackground:"accumulate",strokeOpacity:1,strokeMiterlimit:4,strokeDasharray:"none"},transform:"translate(-2.753 51.71) scale(.97194)"}))),c.createElement("path",{d:"M0 1028.362h24v24H0z",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.5,fill:"none",stroke:"none",strokeWidth:2,marker:"none",enableBackground:"accumulate"}}),c.createElement("path",{d:"M12.295 1035.65c-.356-.067-.967-.263-1.523.21-.563.62-.438.884-.26 2.08 0 0 .032 2.459-.42 4.22a.354.354 0 0 0-.052.114l-1.75 5.422c-.36.594.03 1.063.497 1.143.305.056.631-.073.847-.398l2.37-5.925c.112-4.979.098-3.487.29-6.867z",style:{color:"currentColor",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:1.94389,marker:"none",enableBackground:"accumulate"}}),c.createElement("path",{d:"M12.655 1035.655c.506.231 1.052.838 1.673 2.631.506.897.982 1.062 1.508 1.943.35.585-.418 1.083-.827.545l-1.943-2.557s-.24 2.766.512 4.012c.026.042.047.08.053.114l1.198 2.227.846 2.836a.739.739 0 0 1-.62.9c-.304.056-.813-.255-.846-.58l-.67-2.48-1.872-2.661c.151-2.767-1.82-7.812.988-6.93z",style:{color:"currentColor",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:1.94389,marker:"none",enableBackground:"accumulate"}}),c.createElement("rect",{width:2.7,height:2.395,x:274.144,y:1069.759,ry:.293,style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:.971942},transform:"skewX(-14.409) scale(1 .96854)"}),c.createElement("rect",{width:2.467,height:4.322,x:110.265,y:1041.998,ry:.529,style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:.971942},transform:"skewX(-5.616) scale(1 .9952)"}),c.createElement("path",{d:"m16.008 1040.567.332 7.844",style:{fill:"none",stroke:"currentColor",strokeWidth:.777553,strokeLinecap:"round",strokeLinejoin:"miter",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}})))},bike:function(e){return c.createElement("svg",Sg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("circle",{cx:17.346,cy:1044.106,r:3.092,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.30522,stroke:"currentColor",fill:"none"}}),c.createElement("circle",{cx:6.759,cy:1044.106,r:3.092,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.30522,stroke:"currentColor",fill:"none"}}),c.createElement("circle",{cx:12.729,cy:1033.707,r:1.128,style:{strokeWidth:.243187,stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M10.38 1040.226c2.188 1.92 1.38 3.656.856 5.451.243-.93.809-2.298.76-3.105-.232-.971-2.227-2.74-1.616-2.346z",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.25956,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"m9.962 1039.68 1.78-3.357v0",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:2.29606,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"m12.15 1036.158 2.803 2.52",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.20108,stroke:"currentColor",fill:"none"}})))},mtb:function(e){return c.createElement("svg",Pg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("circle",{cx:17.398,cy:1042.2,r:2.846,style:{fill:"none",strokeWidth:1.20111,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("circle",{cx:6.753,cy:1044.276,r:2.846,style:{fill:"none",strokeWidth:1.20119,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("circle",{cx:14.234,cy:1033.513,r:1.173,style:{strokeWidth:.252678,fillOpacity:1,fill:"currentColor",stroke:"currentColor"}}),c.createElement("path",{d:"M10.602 1040.225c.644.561 1.46 3.262.655 5.06.252-.965.297-1.56.442-2.43-.242-1.01-1.731-3.039-1.097-2.63z",style:{fill:"none",strokeWidth:1.30871,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"m9.992 1039.283 2.824-3.072",style:{fill:"none",strokeWidth:2.38567,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"m13.47 1036.203 2.89 1.47",style:{fill:"none",strokeWidth:1.24796,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"m2.787 1050.013 2.373-1.78 5.22-.296 6.227-1.78 3.915.534 2.017-2.432",style:{fill:"none",strokeWidth:".949028px",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:1,stroke:"currentColor"}})))},racingbike:function(e){return c.createElement("svg",Rg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("circle",{cx:17.366,cy:1043.13,r:3.199,style:{fill:"none",strokeWidth:1.3502,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("circle",{cx:6.414,cy:1043.13,r:3.199,style:{fill:"none",strokeWidth:1.3502,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("circle",{cx:16.52,cy:1035.737,r:1.167,style:{strokeWidth:.251568,stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M10.925 1039.245c.642.559.922 3.72.12 5.51.252-.961.414-1.907.559-2.774-.241-1.005-1.31-3.143-.679-2.736z",style:{fill:"none",strokeWidth:1.30296,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"m10.693 1038.554 3.734-1.229v0",style:{fill:"none",strokeWidth:2.37518,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"m15.263 1037.495 1.103 3.74",style:{fill:"none",strokeWidth:1.24247,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"m11.245 1034.652-6.437-.354",style:{fill:"#4d4d4d",strokeWidth:.755886,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"m6.604 1037.74-3.42-.201",style:{fill:"#474747",fillOpacity:1,strokeWidth:.755886,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}}),c.createElement("path",{d:"m8.474 1036.063-5.295-.32",style:{fill:"none",strokeWidth:.755886,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1,stroke:"currentColor"}})))},motorcycle:function(e){return c.createElement("svg",Tg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M5.406 1043.768c-.356-.12-.571-.333-.716-.71-.146-.378-.17-.662-.085-.992.08-.309.211-.487.429-.58.137-.059.701 0 2.061.197.369.055.97.092 1.546.094h.942l.253-.183c2.115-1.958 5.018-4.124 6.424-5.109.053-.246-.177-1-.379-1.374-.102-.19-.178-.354-.17-.364.034-.04.635.216.878.372.784.507 1.574 1.765 1.642 2.617.03.37.009.392-.642.635-.706.264-1.393.796-2.22 1.721-.68.76-1.145 1.664-1.522 2.955l-.212.726-.29-.034c-.708-.082-3.088-.099-5.284-.038a95.46 95.46 0 0 0-2.462.085.39.39 0 0 1-.193-.023z",style:{strokeWidth:.960606,stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("circle",{cx:18.2,cy:1042.641,r:3.002,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.4,stroke:"currentColor",fill:"none"}}),c.createElement("circle",{cx:5.732,cy:1042.592,r:3.002,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.4,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"m16.147 1039.015 1.99 3.568",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.52584,stroke:"currentColor",fill:"none"}}),c.createElement("rect",{width:6.45,height:1.035,x:235.031,y:1002.115,ry:0,style:{strokeWidth:.960606,stroke:"none",fillOpacity:1,fill:"currentColor",opacity:.99},transform:"matrix(.96339 .26812 -.22085 .9753 0 0)"}),c.createElement("path",{d:"M5.193 1038.175c-1.33-.764-1.467-1.281-1.148-1.646.026-.029 2.499-.023 3.242.191 1.111.322 1.323.44 2.679 1.49.311.242.657.384.934.384.15 0 .89-.22 2.192-.655 1.08-.36 1.975-.644 1.988-.63.012.014-.415.397-.95.85-1.57 1.328-3.27 2.946-3.541 2.946-1.117-1.647-3.638-2.417-5.396-2.93z",style:{strokeWidth:.960606,stroke:"none",fillOpacity:1,fill:"currentColor"}})))},wheelchair:function(e){return c.createElement("svg",Fg({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:24,height:24},e),c.createElement("defs",null,Og||(Og=c.createElement("pattern",{xlinkHref:"#wheelchair_svg__a",id:"wheelchair_svg__b",patternTransform:"matrix(10 0 0 10 -20.86 7.16)"})),c.createElement("pattern",{id:"wheelchair_svg__a",width:2,height:1,patternTransform:"scale(10)",patternUnits:"userSpaceOnUse"},c.createElement("path",{d:"M0-.5h1v2H0z",style:{fill:"#000",stroke:"none"}}))),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M0 1028.362h24v24H0z",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.5,fill:"none",stroke:"none",strokeWidth:2,marker:"none",enableBackground:"accumulate"}}),c.createElement("path",{d:"M12.26 1036.434c.696.172 1.449.624 2.304 1.96.697.668.807.979 1.531 1.635.482.436-1.338.757-1.703.295l-1.567-1.982s-.408 1.483.628 2.411c.035.031.862.761.869.787l1.307 1.535 1.447 1.518c.118.307-.054 1.204-.697 1.264-.42.042-1.433-.815-1.479-1.057l-2.65-3.252-2.383-.015c.207-2.061-1.478-5.756 2.392-5.099z",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:1.96937,marker:"none",enableBackground:"accumulate"}}),c.createElement("path",{d:"M11 1041.362a3.281 3.281 0 1 0 0 6.563 3.281 3.281 0 0 0 0-6.563z",style:{fill:"none",fillOpacity:1,stroke:"currentColor",strokeWidth:1.037,strokeMiterlimit:10,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("circle",{cx:11.402,cy:1034.037,r:1.75,style:{strokeWidth:1.33307,fill:"currentColor"}})))},question_mark:function(e){return c.createElement("svg",jg({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("path",{d:"M10.446 1043.803v-.149q.016-1.456.29-2.317.281-.861.798-1.394.517-.532 1.245-.97.47-.298.846-.666.375-.368.595-.846.219-.477.219-1.057 0-.696-.329-1.205-.329-.51-.877-.783-.54-.282-1.206-.282-.602 0-1.15.25-.549.251-.909.783-.36.525-.415 1.355h-2.38q.055-1.41.713-2.38.657-.979 1.738-1.48 1.088-.501 2.403-.501 1.441 0 2.521.54 1.08.532 1.676 1.495.603.956.603 2.232 0 .877-.274 1.581-.274.697-.783 1.245-.501.548-1.206.971-.665.415-1.08.861-.407.447-.595 1.057-.188.611-.204 1.511v.15zm1.182 4.76q-.642 0-1.104-.454-.462-.461-.462-1.111 0-.642.462-1.096.462-.462 1.104-.462.634 0 1.096.462.47.454.47 1.096 0 .43-.22.79-.21.353-.563.564-.352.212-.783.212z","aria-label":"?",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.25956,stroke:"none",fill:"currentColor"},transform:"translate(0 -1028.362)"}))}};function Ng({routingProfiles:t,selectedProfile:n,showCustomModelBox:i,toggleCustomModelBox:r,customModelBoxEnabled:o}){const[s,a]=(0,c.useState)(0),[u,d]=(0,c.useState)(0);function h(){const e=document.getElementById("profiles_carousel_items");if(e){if(e.scrollWidth>e.clientWidth){for(const e of document.getElementsByClassName(vg.chevron))e.classList.add(vg.enabled);e.classList.remove(vg.profiles_center)}else{for(const e of document.getElementsByClassName(vg.chevron))e.classList.remove(vg.enabled);e.classList.add(vg.profiles_center)}d(e.scrollWidth-e.clientWidth)}}function p(e=!0){const t=document.getElementById("profiles_carousel_items");if(!t)return;const n=t.clientWidth*(e?1:-1),i=e?u-s:-s,r=e?Math.min(n,i):Math.max(n,i);t.scrollBy({left:r,behavior:"smooth"})}(0,c.useEffect)((()=>(h(),window.addEventListener("resize",h),()=>window.removeEventListener("resize",h))),[t]);let f={};return t.forEach((e=>{const t=(Object.keys(Dg).find((t=>e.name.startsWith(t+"_")))||"")+"_";Dg[e.name]||(f[t]=[...f[t]||[],e.name])})),(0,e.jsxs)("div",{className:vg.profilesParent,children:[(0,e.jsx)(So,{title:l("open_custom_model_box"),className:i?vg.enabledCMBox:vg.cmBox,onClick:r,children:(0,e.jsx)(Cg,{})}),(0,e.jsxs)("div",{className:vg.carousel,children:[(0,e.jsx)(So,{className:vg.chevron,title:l("back"),onClick:()=>p(!1),disabled:s<=0,children:(0,e.jsx)(wg,{})}),(0,e.jsx)("ul",{className:vg.profiles,id:"profiles_carousel_items",onScroll:function(){const e=document.getElementById("profiles_carousel_items");e&&a(e.scrollLeft)},children:t.map((t=>{const i=t.name===n.name?vg.selectedProfile+" "+vg.profileBtn:vg.profileBtn;return(0,e.jsx)("li",{children:(0,e.jsxs)(So,{title:l(t.name),onClick:()=>Ii.dispatch(new Oi(t)),className:i,children:[o&&t.name===n.name&&(0,e.jsx)(Cg,{className:vg.asIndicator}),qg(t.name,f)]})},t.name)}))}),(0,e.jsx)(So,{className:vg.chevron+" "+vg.flip,title:l("next"),onClick:()=>p(),disabled:s>=u,children:(0,e.jsx)(wg,{})})]})]})}function qg(t,n){let i=Dg[t];if(i)return c.createElement(i);for(const[i,r]of Object.entries(n)){const n=r.findIndex((e=>e==t))+1;if(n>=1){let t=Dg[i.slice(0,-1)];return t||(t=Dg.question_mark),"_"===i?(0,e.jsx)(Gg,{number:n}):(0,e.jsx)(Bg,{baseIcon:t,number:n})}}return c.createElement(Dg.question_mark)}function Bg({baseIcon:t,number:n}){return(0,e.jsxs)("div",{className:vg.iconContainer,children:[c.createElement(t),(0,e.jsx)("div",{className:vg.batchNumber,children:(0,e.jsx)(Gg,{number:n})})]})}function Gg({number:t}){return(0,e.jsx)("span",{children:t})}var Vg;function Hg(){return Hg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Hg.apply(this,arguments)}const Wg=function(e){return c.createElement("svg",Hg({xmlns:"http://www.w3.org/2000/svg",width:36,height:36,viewBox:"0 0 48 48"},e),Vg||(Vg=c.createElement("path",{fill:"currentColor",d:"m24 42-9-9 2.2-2.2 6.8 6.8 6.8-6.8L33 33Zm-6.8-24.6L15 15.2l9-9 9 9-2.2 2.2-6.8-6.8Z"})))};var Ug;function $g(){return $g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},$g.apply(this,arguments)}const Zg=function(e){return c.createElement("svg",$g({xmlns:"http://www.w3.org/2000/svg",width:36,height:36,viewBox:"0 0 48 48"},e),Ug||(Ug=c.createElement("path",{fill:"currentColor",d:"M17.15 40 15 37.85l9-9 9 9L30.85 40 24 33.15ZM24 19.15l-9-9L17.15 8 24 14.85 30.85 8 33 10.15Z"})))};var Kg=n(4762),Xg={};Xg.styleTagTransform=x(),Xg.setAttributes=m(),Xg.insert=_().bind(null,"head"),Xg.domAPI=p(),Xg.insertStyleElement=v(),d()(Kg.A,Xg),Kg.A&&Kg.A.locals&&Kg.A.locals;var Yg=n(140),Qg={};Qg.styleTagTransform=x(),Qg.setAttributes=m(),Qg.insert=_().bind(null,"head"),Qg.domAPI=p(),Qg.insertStyleElement=v(),d()(Yg.A,Qg),Yg.A&&Yg.A.locals&&Yg.A.locals;var Jg=n(6e3),em={};em.styleTagTransform=x(),em.setAttributes=m(),em.insert=_().bind(null,"head"),em.domAPI=p(),em.insertStyleElement=v(),d()(Jg.A,em),Jg.A&&Jg.A.locals&&Jg.A.locals;var tm=n(9663),nm={};nm.styleTagTransform=x(),nm.setAttributes=m(),nm.insert=_().bind(null,"head"),nm.domAPI=p(),nm.insertStyleElement=v(),d()(tm.A,nm),tm.A&&tm.A.locals&&tm.A.locals;var im=n(3891),rm={};rm.styleTagTransform=x(),rm.setAttributes=m(),rm.insert=_().bind(null,"head"),rm.domAPI=p(),rm.insertStyleElement=v(),d()(im.A,rm);const om=im.A&&im.A.locals?im.A.locals:void 0;var sm,am,lm,cm,um=n(1719),dm=n.n(um);function hm(e){return 32===e||9===e}function pm(e){return 10===e||13===e}function fm(e){return e>=48&&e<=57}function _m(e,t,n=am.DEFAULT){const i=function(e,t=!1){const n=e.length;let i=0,r="",o=0,s=16,a=0,l=0,c=0,u=0,d=0;function h(t,n){let r=0,o=0;for(;r<t||!n;){let t=e.charCodeAt(i);if(t>=48&&t<=57)o=16*o+t-48;else if(t>=65&&t<=70)o=16*o+t-65+10;else{if(!(t>=97&&t<=102))break;o=16*o+t-97+10}i++,r++}return r<t&&(o=-1),o}function p(){if(r="",d=0,o=i,l=a,u=c,i>=n)return o=n,s=17;let t=e.charCodeAt(i);if(hm(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(hm(t));return s=15}if(pm(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,s=14;switch(t){case 123:return i++,s=1;case 125:return i++,s=2;case 91:return i++,s=3;case 93:return i++,s=4;case 58:return i++,s=6;case 44:return i++,s=5;case 34:return i++,r=function(){let t="",r=i;for(;;){if(i>=n){t+=e.substring(r,i),d=2;break}const o=e.charCodeAt(i);if(34===o){t+=e.substring(r,i),i++;break}if(92!==o){if(o>=0&&o<=31){if(pm(o)){t+=e.substring(r,i),d=2;break}d=6}i++}else{if(t+=e.substring(r,i),i++,i>=n){d=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:const e=h(4,!0);e>=0?t+=String.fromCharCode(e):d=4;break;default:d=5}r=i}}return t}(),s=10;case 47:const l=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i<n&&!pm(e.charCodeAt(i));)i++;return r=e.substring(l,i),s=12}if(42===e.charCodeAt(i+1)){i+=2;const t=n-1;let o=!1;for(;i<t;){const t=e.charCodeAt(i);if(42===t&&47===e.charCodeAt(i+1)){i+=2,o=!0;break}i++,pm(t)&&(13===t&&10===e.charCodeAt(i)&&i++,a++,c=i)}return o||(i++,d=1),r=e.substring(l,i),s=13}return r+=String.fromCharCode(t),i++,s=16;case 45:if(r+=String.fromCharCode(t),i++,i===n||!fm(e.charCodeAt(i)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return r+=function(){let t=i;if(48===e.charCodeAt(i))i++;else for(i++;i<e.length&&fm(e.charCodeAt(i));)i++;if(i<e.length&&46===e.charCodeAt(i)){if(i++,!(i<e.length&&fm(e.charCodeAt(i))))return d=3,e.substring(t,i);for(i++;i<e.length&&fm(e.charCodeAt(i));)i++}let n=i;if(i<e.length&&(69===e.charCodeAt(i)||101===e.charCodeAt(i)))if(i++,(i<e.length&&43===e.charCodeAt(i)||45===e.charCodeAt(i))&&i++,i<e.length&&fm(e.charCodeAt(i))){for(i++;i<e.length&&fm(e.charCodeAt(i));)i++;n=i}else d=3;return e.substring(t,n)}(),s=11;default:for(;i<n&&f(t);)i++,t=e.charCodeAt(i);if(o!==i){switch(r=e.substring(o,i),r){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return r+=String.fromCharCode(t),i++,s=16}}function f(e){if(hm(e)||pm(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}return{setPosition:function(e){i=e,r="",o=0,s=16,d=0},getPosition:()=>i,scan:t?function(){let e;do{e=p()}while(e>=12&&e<=15);return e}:p,getToken:()=>s,getTokenValue:()=>r,getTokenOffset:()=>o,getTokenLength:()=>i-o,getTokenStartLine:()=>l,getTokenStartCharacter:()=>o-u,getTokenError:()=>d}}(e,!1),r=[];function o(e){return e?()=>e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter()):()=>!0}function s(e){return e?()=>e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter(),(()=>r.slice())):()=>!0}function a(e){return e?t=>e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter()):()=>!0}function l(e){return e?t=>e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter(),(()=>r.slice())):()=>!0}const c=s(t.onObjectBegin),u=l(t.onObjectProperty),d=o(t.onObjectEnd),h=s(t.onArrayBegin),p=o(t.onArrayEnd),f=l(t.onLiteralValue),_=a(t.onSeparator),g=o(t.onComment),m=a(t.onError),y=n&&n.disallowComments,v=n&&n.allowTrailingComma;function b(){for(;;){const e=i.scan();switch(i.getTokenError()){case 4:x(14);break;case 5:x(15);break;case 3:x(13);break;case 1:y||x(11);break;case 2:x(12);break;case 6:x(16)}switch(e){case 12:case 13:y?x(10):g();break;case 16:x(1);break;case 15:case 14:break;default:return e}}}function x(e,t=[],n=[]){if(m(e),t.length+n.length>0){let e=i.getToken();for(;17!==e;){if(-1!==t.indexOf(e)){b();break}if(-1!==n.indexOf(e))break;e=b()}}}function w(e){const t=i.getTokenValue();return e?f(t):(u(t),r.push(t)),b(),!0}return b(),17===i.getToken()?!!n.allowEmptyContent||(x(4,[],[]),!1):function e(){switch(i.getToken()){case 3:return function(){h(),b();let t=!0,n=!1;for(;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(n||x(4,[],[]),_(","),b(),4===i.getToken()&&v)break}else n&&x(6,[],[]);t?(r.push(0),t=!1):r[r.length-1]++,e()||x(4,[],[4,5]),n=!0}return p(),t||r.pop(),4!==i.getToken()?x(8,[4],[]):b(),!0}();case 1:return function(){c(),b();let t=!1;for(;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||x(4,[],[]),_(","),b(),2===i.getToken()&&v)break}else t&&x(6,[],[]);(10!==i.getToken()?(x(3,[],[2,5]),0):(w(!1),6===i.getToken()?(_(":"),b(),e()||x(4,[],[2,5])):x(5,[],[2,5]),r.pop(),1))||x(4,[],[2,5]),t=!0}return d(),2!==i.getToken()?x(7,[2],[]):b(),!0}();case 10:return w(!0);default:return function(){switch(i.getToken()){case 11:const e=i.getTokenValue();let t=Number(e);isNaN(t)&&(x(2),t=0),f(t);break;case 7:f(null);break;case 8:f(!0);break;case 9:f(!1);break;default:return!1}return b(),!0}()}}()?(17!==i.getToken()&&x(9,[],[]),!0):(x(4,[],[]),!1)}function gm(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":return e?Array.isArray(e)?"array":"object":"null";default:return"null"}}n(7518),n(8709),n(4468),n(5397),n(5399),function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"}(sm||(sm={})),function(e){e.DEFAULT={allowTrailingComma:!1}}(am||(am={})),function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"}(lm||(lm={})),function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"}(cm||(cm={}));const mm=function(e,t=[],n=am.DEFAULT){let i={type:"array",offset:-1,length:-1,children:[],parent:void 0};function r(e){"property"===i.type&&(i.length=e-i.offset,i=i.parent)}function o(e){return i.children.push(e),e}const s={onObjectBegin:e=>{i=o({type:"object",offset:e,length:-1,parent:i,children:[]})},onObjectProperty:(e,t,n)=>{i=o({type:"property",offset:t,length:-1,parent:i,children:[]}),i.children.push({type:"string",value:e,offset:t,length:n,parent:i})},onObjectEnd:(e,t)=>{r(e+t),i.length=e+t-i.offset,i=i.parent,r(e+t)},onArrayBegin:(e,t)=>{i=o({type:"array",offset:e,length:-1,parent:i,children:[]})},onArrayEnd:(e,t)=>{i.length=e+t-i.offset,i=i.parent,r(e+t)},onLiteralValue:(e,t,n)=>{o({type:gm(e),offset:t,length:n,parent:i,value:e}),r(t+n)},onSeparator:(e,t,n)=>{"property"===i.type&&(":"===e?i.colonOffset=t:","===e&&r(t))},onError:(e,n,i)=>{t.push({error:e,offset:n,length:i})}};_m(e,s,n);const a=i.children[0];return a&&delete a.parent,a},ym=function e(t,n,i=!1){if(function(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}(t,n,i)){const r=t.children;if(Array.isArray(r))for(let t=0;t<r.length&&r[t].offset<=n;t++){const o=e(r[t],n,i);if(o)return o}return t}};var vm;!function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"}(vm||(vm={}));const bm=["speed","priority","distance_influence","areas"],xm=["if","else_if","else"],wm=["multiply_by","limit_to"],km=xm.concat(wm);let Cm=[],Sm=[],Am=[];function Em(e){if(Cm=[],Sm=[],Am=[],0===e.trim().length)return{errors:[Hm("root","must be an object",[0,e.length])],jsonErrors:[],conditionRanges:Cm,operatorValueRanges:Sm,areas:Am};const t=[],n=mm(e,t,{allowEmptyContent:!1,allowTrailingComma:!1,disallowComments:!0}),i=t.map((e=>Hm("syntax",function(e){switch(e){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}(e.error),[e.offset,e.offset+Math.max(1,e.length)]))),r=n?function(e){return Vm("root",e,(e=>bm.indexOf(e.value)>=0),((e,t,n)=>[]),`possible keys: ${Xm(bm)}`,Mm)}(n):[];return{errors:r,jsonErrors:i,conditionRanges:Cm,operatorValueRanges:Sm,areas:Am}}function Mm(e,t,n){if("null"===n.type)return[Hm(`${t.value}`,"must not be null",Zm(n))];if("speed"===t.value||"priority"===t.value)return function(e,t){const n=Nm(e,t,0,-1,Tm);if(n.length>0)return n;const i=t.children,r=[];for(let e=0;e<i.length;++e)for(let t=0;t<i[e].children.length;++t){const n=i[e].children[t].children[0].value;xm.indexOf(n)>=0&&r.push(n)}let o="";for(let t=0;t<r.length;++t)"else_if"!==r[t]&&"else"!==r[t]||"else_if"===o||"if"===o||n.push(Hm(`${e}[${t}]`,`'${r[t]}' clause must be preceded by 'if' or 'else_if'`,Zm(i[t]))),o=r[t];return n}(t.value,n);if("distance_influence"===t.value)return function(e){return Um(e)?[]:[Hm("distance_influence",`must be a number. given type: ${Km(e)}`,Zm(e))]}(n);if("areas"===t.value)return function(e){const t=["type","features"];return Vm("areas",e,(e=>t.indexOf(e.value)>=0),Im,`possible keys: ${Xm(t)}`,Lm)}(n);throw`Unexpected root key ${t.value}`}function Tm(e,t,n){return Vm(e,t,(e=>km.indexOf(e.value)>=0),Pm,`possible keys: ${Xm(km)}`,Rm)}function Pm(e,t,n){const i=[];t.length>2&&i.push(Hm(e,`too many keys. maximum: 2. given: ${t.sort()}`,n));const r=t.some((e=>xm.indexOf(e)>=0)),o=t.some((e=>wm.indexOf(e)>=0));return r||i.push(Hm(e,`every statement must have a clause ${Xm(xm)}. given: ${t}`,n)),o||i.push(Hm(e,`every statement must have an operator ${Xm(wm)}. given: ${t}`,n)),i}function Rm(e,t,n){const i=[],r=xm.indexOf(t.value)>=0,o=wm.indexOf(t.value)>=0;if(r&&("else"===t.value?$m(n)&&""===n.value||i.push(Hm(`${e}[else]`,`must be an empty string. given: '${n.value}'`,Zm(n))):$m(n)?Cm.push(Zm(n)):i.push(Hm(`${e}[${t.value}]`,`must be a string. given type: ${Km(n)}`,Zm(n)))),o&&($m(n)?Sm.push(Zm(n)):i.push(Hm(`${e}[${t.value}]`,`must be a string. given type: ${Km(n)}`,Zm(n)))),r===o)throw`Unexpected statement: ${r} ${o} ${t} ${n}`;return i}function Im(e,t,n){const i=["type","features"],r=[];for(let o=0;o<i.length;o++)t.indexOf(i[o])<0&&r.push(Hm(e,`missing '${i[o]}'. given: ${Xm(t)}`,n));return r}function Lm(e,t,n){return"type"===t.value?$m(n)?"FeatureCollection"!==n.value?[Hm(`${e}[${t.value}]`,`must be "FeatureCollection". given: "${n.value}"`,Zm(n))]:[]:[Hm(`${e}[${t.value}]`,`must be "FeatureCollection". given type: ${Km(n)}`,Zm(n))]:"features"===t.value?Nm(`${e}[${t.value}]`,n,0,-1,zm):(console.error(`unexpected FeatureCollection field ${t.value}`),[])}function zm(e,t,n){const i=["type","geometry","id","properties"];return Vm(e,t,(e=>i.indexOf(e.value)>=0),Om,`possible keys: ${Xm(i)}`,Fm)}function Om(e,t,n){const i=["type","id","geometry"],r=[];for(let o=0;o<i.length;o++)t.indexOf(i[o])<0&&r.push(Hm(e,`missing '${i[o]}'. given: ${Xm(t)}`,n));return r}function Fm(e,t,n){if("type"===t.value)return $m(n)?"Feature"!==n.value?[Hm(`${e}[${t.value}]`,`must be "Feature". given: "${n.value}"`,Zm(n))]:[]:[Hm(`${e}[${t.value}]`,`must be "Feature". given type: ${Km(n)}`,Zm(n))];if("properties"===t.value)return Vm(`${e}[${t.value}]`,n,(()=>!0),(()=>[]),"",(()=>[]));if("id"!==t.value){if("geometry"===t.value){const i=["type","coordinates"],r=`possible keys: ${Xm(i)}`,o=e=>i.indexOf(e.value)>=0;return Vm(`${e}[${t.value}]`,n,o,jm,r,Dm)}return console.error(`unexpected area field ${t.value}`),[]}return $m(n)?/^[0-9A-Za-z][0-9A-Za-z_]*$/g.test(n.value)?Am.indexOf(n.value)>=0?[Hm(`${e}[${t.value}]`,`area ids must be unique. duplicate: '${n.value}'`,Zm(n))]:void Am.push(n.value):[Hm(`${e}[${t.value}]`,`area ids may only contain a-z, A-Z, digits and _. given: '${n.value}'`,Zm(n))]:[Hm(`${e}[${t.value}]`,`must be a string. given type: ${Km(n)}`,Zm(n))]}function jm(e,t,n){const i=["type","coordinates"],r=[];for(let o=0;o<i.length;o++)t.indexOf(i[o])<0&&r.push(Hm(e,`missing '${i[o]}'. given: ${Xm(t)}`,n));return r}function Dm(e,t,n){if("type"===t.value)return"Polygon"!==n.value?[Hm(`${e}[${t.value}]`,`must be "Polygon". given: '${n.value}'`,Zm(n))]:[];if("coordinates"===t.value)return function(e,t,n){return Nm(e,n,1,-1,qm)}(`${e}[${t.value}]`,0,n);throw`unexpected geometry field ${t.value}`}function Nm(e,t,n,i,r){if(!function(e){return"array"===e.type}(t))return[Hm(e,`must be an array. given type: ${Km(t)}`,Zm(t))];const o=t.children;if(o.length<n)return[Hm(e,`minimum length: ${n}, given: ${o.length}`,Zm(t))];if(i>=0&&o.length>i)return[Hm(e,`maximum length: ${i}, given: ${o.length}`,Zm(t))];const s=[];for(let t=0;t<o.length;++t){const n=o[t];s.push.apply(s,r(`${e}[${t}]`,n,t))}return s}function qm(e,t,n){const i=Nm(e,t,4,-1,Bm);if(i.length>0)return i;const r=t.children[0],o=t.children[t.children.length-1];return a=o,(s=r).children[0].value!==a.children[0].value||s.children[1].value!==a.children[1].value?[Hm(`${e}`,"the last point must be equal to the first",Zm(o))]:[];var s,a}function Bm(e,t,n){return Nm(e,t,2,2,Gm)}function Gm(e,t,n){const i=[];return Um(t)?(0===n&&(t.value<-180||t.value>180)&&i.push(Hm(`${e}`,"longitude must be in [-180, +180]",Zm(t))),1===n&&(t.value<-90||t.value>90)&&i.push(Hm(`${e}`,"latitude must be in [-90, +90]",Zm(t)))):i.push(Hm(e,"must be a number",Zm(t))),i}function Vm(e,t,n,i,r,o){if("object"!==t.type)return[Hm(e,`must be an object. given type: ${Km(t)}`,Zm(t))];const s=function(e,t,n,i){const r=[],o=new Set,s=i.children;for(let i=0;i<s.length;++i){if(!Wm(s[i]))throw`Expected a key-value pair, but got: ${s[i]}`;const a=s[i].children[0];0===a.value.length||0===a.value.trim().length?r.push(Hm(e,`keys must be non-empty and must not only consist of whitespace. given: '${a.value}'`,Zm(a))):t(a)?o.has(a.value)?r.push(Hm(e,`keys must be unique. duplicate: '${a.value}'`,Zm(a))):o.add(a.value):r.push(Hm(e,`${n}. given: '${a.value}'`,Zm(a)))}return{errors:r,keys:Array.from(o)}}(e,n,r,t);if(s.errors.length>0)return s.errors;const a=[];return a.push.apply(a,i(e,s.keys,Zm(t))),a.length>0||a.push.apply(a,function(e,t,n){const i=[];for(let r=0;r<t.length;++r){if(!Wm(t[r]))throw`Expected a key-value pair, but got: ${t[r]}`;const o=t[r].children[0],s=t[r].children[1];if(s)i.push.apply(i,n(e,o,s));else{const t="root"===e?o.value:`${e}[${o.value}]`;i.push(Hm(t,"missing value",Zm(o)))}}return i}(e,t.children,o)),a}function Hm(e,t,n){return{path:e,message:t,range:n}}function Wm(e){return"property"===e.type}function Um(e){return"number"===e.type}function $m(e){return"string"===e.type}function Zm(e){return[e.offset,e.offset+e.length]}function Km(e){return e.type}function Xm(e){return`[${e.map((e=>`'${e}'`)).join(", ")}]`}const Ym=["(",")","<",">"],Qm=["||","&&","==","!=","<=",">="],Jm=["*","/","+","-"],ey=[];function ty(e,t,n,i){if(t<0||t>=e.length)throw`pos ${t} out of range: [0, ${e.length}[`;const r=ny(e,n,i);for(let e=0;e<r.ranges.length;++e){const n=r.ranges[e];if(n[0]<=t&&t<n[1])return{token:r.tokens[e],range:n};if(n[0]>t)return{token:null,range:0===e?[0,n[0]]:[r.ranges[e-1][1],n[0]]}}return{token:null,range:0===r.ranges.length?[0,e.length]:[r.ranges[r.ranges.length-1][1],e.length]}}function ny(e,t,n){let i=[],r=[];const o=function(a,l){return a>=e.length?(s(a-l,a),{ranges:i,tokens:r}):function(e,t,n){return n.indexOf(e.slice(t,t+2))>=0}(e,a,n)?(s(a-l,a),s(a,a+2),o(a+2,0)):function(e,t,n){return n.indexOf(e[t])>=0}(e,a,t)?(s(a-l,a),s(a,a+1),o(a+1,0)):function(e,t){return""!==e.slice(t,t+1).trim()}(e,a)?(l++,o(a+1,l)):(s(a-l,a),o(a+1,0))},s=function(t,n){n>t&&(r.push(e.slice(t,n)),i.push([t,n]))};return o(0,0)}function iy(e,t,n,i){return[n===t.length?e.length:t[n][0],i===t.length?e.length:t[i-1][t[i-1].length-1]]}const ry=["==","!="],oy=["<","<=",">",">=","==","!="],sy=["||","&&"];let ay,ly,cy,uy;function dy(e,t,n){const i=function(e){return ny(e,Ym,Qm)}(e),r=function(e,t,n){for(let[e,n]of Object.entries(t))if("enum"===n.type){if(n.values.length<1)return vy(`no values given for enum category ${e}`)}else if("boolean"!==n.type&&"numeric"!==n.type)return vy(`unknown category type: ${n.type} for category ${e}`);ay=t,ly=n,cy=e,uy=0;const i=hy();return null!==i.error?i:_y()?{error:null,range:[],completions:[]}:vy(`unexpected token '${cy[uy]}'`,[uy,uy+1],sy)}(i.tokens,t,n);return r.tokens=i.tokens,null!==r.error&&(r.range=iy(e,i.ranges,r.range[0],r.range[1])),r}function hy(){const e=py();if(null!==e.error)return e;if(_y())return{error:null,range:[],completions:[]};for(;t=cy[uy],sy.indexOf(t)>=0;){if(gy(),_y())return vy(`unexpected token '${cy[uy-1]}'`,[uy-1,uy],[]);const e=py();if(null!==e.error)return e}var t;return{error:null,range:[],completions:[]}}function py(){return my()&&"enum"===ay[cy[uy]].type?fy(ry,((e,t,n)=>function(e,t){return ay[e].values.indexOf(t)>=0}(e,n)),((e,t,n)=>void 0!==ay[e]?ay[e].values:[])):my()&&"numeric"===ay[cy[uy]].type?fy(oy,((e,t,n)=>function(e){return!isNaN(Number(e))}(n)),((e,t,n)=>["__hint__type a number"])):yy(cy[uy])?(uy++,{error:null,range:[],completions:[]}):my()&&"boolean"===ay[cy[uy]].type?uy+1===cy.length||ry.indexOf(cy[uy+1])<0?(uy++,{error:null,range:[],completions:[]}):fy(ry,((e,t,n)=>yy(n)),((e,t,n)=>["true","false"])):function(){const e=cy[uy];return"string"==typeof e&&"in_"===e.substr(0,3)}()?function(){const e=cy[uy];if(e.length<3)return void console.error(`expected something like 'in_xyz', but got: '${e}'`);const t=e.substring(3);return ly.indexOf(t)<0?vy(`unknown area: '${t}'`,[uy,uy+1],ly.map((e=>"in_"+e))):uy+1===cy.length||ry.indexOf(cy[uy+1])<0?(uy++,{error:null,range:[],completions:[]}):fy(ry,((e,t,n)=>yy(n)),((e,t,n)=>["true","false"]))}():"("===cy[uy]?function(){const e=uy;if(_y())return vy("unmatched opening '('",[e,uy],[]);gy();const t=hy();return null!==t.error?t:")"===cy[uy]?(gy(),{error:null,range:[],completions:[]}):vy("unmatched opening '('",[e,uy],[])}():_y()?vy("empty comparison",[uy,uy],[]):function(){const e=cy[uy];return"string"==typeof e&&ly.indexOf(e)>=0}()?function(){const e=cy[uy];if("in_"!==e.substring(0,3))return vy("area names must be prefixed with 'in_'",[uy,uy+1],ly.map((e=>"in_"+e)));console.error(`${e} is a valid area operator and should have been detected earlier`)}():vy(`unexpected token '${cy[uy]}'`,[uy,uy+1],Object.keys(ay).concat(ly.map((e=>"in_"+e))).concat(["true","false"]))}function fy(e,t,n){if(uy+1>=cy.length)return vy("invalid comparison. missing operator.",[uy,uy+1],[]);const i=cy[uy],r=cy[uy+1];if(e.indexOf(r)<0)return vy(`invalid operator '${r}'`,[uy+1,uy+2],e);if(uy+2>=cy.length)return vy("invalid comparison. missing value.",[uy,uy+2],[]);const o=cy[uy+2];return t(i,r,o)?(uy+=3,{error:null,range:[],completions:[]}):vy(`invalid ${i}: '${o}'`,[uy+2,uy+3],n(i,r,o))}function _y(){return uy===cy.length}function gy(){uy++}function my(){return void 0!==ay[cy[uy]]}function yy(e){return"true"===e||"false"===e}function vy(e,t,n){return{error:e,range:t,completions:n}}const by=["+","-","*"];let xy,wy,ky;function Cy(e,t){const n=function(e){return ny(e,Jm,ey)}(e),i=function(e,t){xy=t,wy=e,ky=0;const n=function(){const e=Sy();if(null!==e.error)return e;if(Ay())return{error:null,range:[],completions:[]};for(;t=void 0,t=wy[ky],by.indexOf(t)>=0;){if(Ey(),Ay())return My(`unexpected token '${wy[ky-1]}'`,[ky-1,ky],[]);const e=Sy();if(null!==e.error)return e}var t;return{error:null,range:[],completions:[]}}();return null!==n.error?n:Ay()?e.reduce(((e,n)=>e+(t.indexOf(n)>=0)),0)>1?My("too many encoded values, max: 1",[0,wy.length],[]):{error:null,range:[],completions:[]}:My(`unexpected token '${wy[ky]}'`,[ky,ky+1],by)}(n.tokens,t);return i.tokens=n.tokens,null!==i.error&&(i.range=iy(e,n.ranges,i.range[0],i.range[1])),i}function Sy(){return Ay()?My("empty expression",[ky,ky],[]):xy.indexOf(wy[ky])>=0||function(e){return!isNaN(Number(e))}(wy[ky])?(Ey(),{error:null,range:[],completions:[]}):My(`unexpected token '${wy[ky]}'`,[ky,ky+1],["__hint__type a number"].concat(xy))}function Ay(){return ky===wy.length}function Ey(){ky++}function My(e,t,n){return{error:e,range:t,completions:n}}function Ty(e,t,n,i){const r=function(e){for(let t=e.length-1;t>=0;--t)if(""!==e.slice(t,t+1).trim())return t;return-1}(e);if(t>r){let r=e;for(;r.length<t;)r+=" ";r=r.slice(0,t),r+="…";const o=n(r),s=i(r,t);if(o.range[0]!==s.range[0])return{suggestions:[],range:null};const a=o.completions.filter((e=>Py(e,s.token.substring(0,s.token.length-1))));return{suggestions:a,range:0===a.length?null:[s.range[0],t]}}{let r=i(e,t);const o=e.substring(0,r.range[0])+"…"+e.substring(r.range[1]),s=i(o,r.range[0]),a=n(o);if(a.range[0]!==s.range[0])return{suggestions:[],range:null};const l=a.completions.filter((e=>Py(e,null===r.token?s.token.substring(0,s.token.length-1):r.token.substring(0,t-r.range[0]))));return{suggestions:l,range:0===l.length?null:[s.range[0],null===r.token?t:r.range[1]]}}}function Py(e,t){return e.substring(0,t.length)===t}function Ry(e,t){for(;t>=e.length;)e+=" ";const n=function(e,t){if(0===e.trim().length)return{path:[],signature:["root"],tokenRange:[]};const n=mm(e,[],{allowEmptyContent:!1,allowTrailingComma:!1,disallowComments:!0});if(!n)return{path:[],signature:[],tokenRange:[]};const i=ym(n,t,!0);if(!i)return{path:[],signature:[],tokenRange:[]};const r=function(e){const t=[e];let n=e;for(;n.parent;)t.push(n.parent),n=n.parent;return t.reverse(),t}(i),o=r.map(((e,t)=>function(e,t){if("object"===e.type)return"object";if("property"===e.type)return null!==t&&e.children[1]===t?`property[${e.children[0].value}]`:"property";if("array"===e.type)return null!==t?`array[${e.children.indexOf(t)}]`:"array";if("string"===e.type||"number"===e.type||"boolean"===e.type){if(e.parent&&"property"===e.parent.type){if(e.parent.children[0]===e)return"key";if(e.parent.children[1]===e)return"value";throw"a literal in a property should be the first or second child"}return"literal"}return`unknown[${e.type}]`}(e,t+1<r.length?r[t+1]:null)));o.unshift("root");const s=[i.offset,i.offset+i.length];return"property"===i.type&&i.colonOffset&&t>i.colonOffset&&(o[o.length-1]=`property[${i.children[0].value}]`,o.push("value"),s[0]=i.colonOffset+1),{path:r,signature:o,tokenRange:s}}(e,t),i=n.signature.join("-");if(/^root-object(-property|-property-key)?$/.test(i)){return{suggestions:['"speed"','"priority"','"distance_influence"','"areas"'].filter((e=>!Iy(n.path[0].children,n.path[1],e))),range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]}}if(/^root-object-property\[distance_influence]-value$/.test(i))return{suggestions:["__hint__type a number"],range:n.tokenRange};if(/^root-object-property\[(speed|priority)]-array\[[0-9]+]-object(-property|-property-key)?$/.test(i)){const e=['"if"','"else_if"','"else"'],i=['"limit_to"','"multiply_by"'],r=n.signature.length>4&&Ly(n.path[3].children,n.path[4],e),o=n.signature.length>4&&Ly(n.path[3].children,n.path[4],i);let s=[];return r||s.push(...e),o||s.push(...i),{suggestions:s,range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]}}if(/^root-object-property\[(speed|priority)]-array\[[0-9]+]-object-property\[(else)]-value$/.test(i))return{suggestions:['""'],range:[t,t+2]};if(/^root-object-property\[(speed|priority)]-array\[[0-9]+]-object-property\[(if|else_if)]-value$/.test(i))return{suggestions:["__hint__type a condition"],range:n.tokenRange};if(/^root-object-property\[(speed|priority)]-array\[[0-9]+]-object-property\[(limit_to|multiply_by)]-value$/.test(i))return{suggestions:["__hint__type an expression"],range:n.tokenRange};if(/^root-object-property\[areas]-value$/.test(i))return{suggestions:[' {\n "type": "FeatureCollection",\n "features": [\n {\n "type": "Feature",\n "id": "area_id",\n "geometry": {\n "type": "Polygon",\n "coordinates": [[[0, 0], [0, 0], [0, 0], [0, 0]]]\n }\n }\n ]\n }'],range:n.tokenRange};if(/^root-object-property\[areas]-object(-property-key)?$/.test(i)){return{suggestions:['"type"','"features"'].filter((e=>!Iy(n.path[2].children,n.path[3],e))),range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]}}if(/^root-object-property\[areas]-object-property\[type]-value$/.test(i))return{suggestions:['"FeatureCollection"'],range:n.tokenRange};if(/^root-object-property\[areas]-object-property\[features]-value$/.test(i))return{suggestions:["__hint__type an array of features"],range:n.tokenRange};if(/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object(-property-key)?$/.test(i)){return{suggestions:['"type"','"id"','"geometry"'].filter((e=>!Iy(n.path[5].children,n.path[6],e))),range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]}}if(/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object-property\[type]-value$/.test(i))return{suggestions:['"Feature"'],range:n.tokenRange};if(/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object-property\[id]-value$/.test(i))return{suggestions:["__hint__type an area id"],range:n.tokenRange};if(/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object-property\[geometry]-object(-property-key)?$/.test(i)){return{suggestions:['"type"','"coordinates"'].filter((e=>!Iy(n.path[7].children,n.path[8],e))),range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]}}return/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object-property\[geometry]-object-property\[type]-value$/.test(i)?{suggestions:['"Polygon"'],range:n.tokenRange}:{suggestions:[],range:[]}}function Iy(e,t,n){return e.some((e=>e!==t&&e.children&&`"${e.children[0].value}"`===n))}function Ly(e,t,n){return e.some((e=>e!==t&&e.children&&n.indexOf(`"${e.children[0].value}"`)>=0))}class zy{cm;_categories={};_numericCategories=[];_validListener;constructor(e,t){this.categories=e,this.cm=dm()(t,{lineNumbers:!1,matchBrackets:!0,autoCloseBrackets:!0,mode:{name:"javascript",json:!0},extraKeys:{"Ctrl-Space":this.showAutoCompleteSuggestions,"Alt-Enter":this.showAutoCompleteSuggestions},lint:{getAnnotations:this.getAnnotations},gutters:[]}),this.cm.on("cursorActivity",(e=>{const t=this.cm.state.completionActive;this.cm.closeHint(),t&&this.showAutoCompleteSuggestions()}))}set categories(e){this._categories=e,0===Object.keys(e).length&&console.warn("Empty list of categories provided to Custom Model Editor"),this._numericCategories=[],Object.entries(this._categories).forEach((([e,t])=>{"numeric"===t.type&&this._numericCategories.push(e)}))}set value(e){this.cm.setValue(e)}get value(){return this.cm.getValue()}get jsonObj(){try{return JSON.parse(this.cm.getValue())}catch(e){throw"invalid json: "+this.cm.getValue()+"error: "+e}}getUsedCategories=()=>{const e=this.getCurrentErrors(this.cm.getValue(),this.cm);return 0!==e.errors.length&&console.warn("invalid custom model",e.errors),e.usedCategories};setExtraKey=(e,t)=>{this.cm.getOption("extraKeys")[e]=t};set validListener(e){this._validListener=e}getAnnotations=(e,t,n)=>{const i=this.getCurrentErrors(e,n).errors;return this._validListener&&this._validListener(0===i.length),i};getCurrentErrors=(e,t)=>{const n=Em(e),i=n.errors.map(((e,n)=>({message:e.path+": "+e.message,severity:"error",from:t.posFromIndex(e.range[0]),to:t.posFromIndex(e.range[1])}))),r=n.areas,o=new Set;return n.conditionRanges.forEach(((n,s)=>{const a=e.substring(n[0],n[1]);if(a.length<3||'"'!==a[0]||'"'!==a[a.length-1])return void i.push({message:`must be a non-empty string with double quotes, e.g. "true". given: ${a}`,severity:"error",from:t.posFromIndex(n[0]),to:t.posFromIndex(n[1])});const l=dy(a.substring(1,a.length-1),this._categories,r);null!==l.error&&i.push({message:l.error,severity:"error",from:t.posFromIndex(n[0]+l.range[0]+1),to:t.posFromIndex(n[0]+l.range[1]+1)}),Object.keys(this._categories).filter((e=>l.tokens.includes(e))).forEach((e=>o.add(e)))})),n.operatorValueRanges.forEach(((n,r)=>{const s=e.substring(n[0],n[1]);if(s.length<3||'"'!==s[0]||'"'!==s[s.length-1])return void i.push({message:`must be a non-empty string with double quotes, e.g. "100". given: ${s}`,severity:"error",from:t.posFromIndex(n[0]),to:t.posFromIndex(n[1])});const a=Cy(s.substring(1,s.length-1),this._numericCategories);null!==a.error&&i.push({message:a.error,severity:"error",from:t.posFromIndex(n[0]+a.range[0]+1),to:t.posFromIndex(n[0]+a.range[1]+1)}),this._numericCategories.filter((e=>a.tokens.includes(e))).forEach((e=>o.add(e)))})),0===i.length&&n.jsonErrors.forEach((e=>{i.push({message:e.path+": "+e.message,severity:"error",from:t.posFromIndex(e.range[0]),to:t.posFromIndex(e.range[1])})})),{errors:i,usedCategories:Array.from(o)}};showAutoCompleteSuggestions=()=>{const e=Em(this.cm.getValue()),t=this.cm.indexFromPos(this.cm.getCursor()),n=Ry(this.cm.getValue(),t);if(n.suggestions.length>0)if(1===n.suggestions.length&&"__hint__type a condition"===n.suggestions[0])this._completeExpression(n,t,((t,n)=>function(e,t,n,i){return Ty(e,t,(e=>dy(e,n,i)),((e,t)=>function(e,t){return ty(e,t,Ym,Qm)}(e,t)))}(t,n,this._categories,e.areas)));else if(1===n.suggestions.length&&"__hint__type an expression"===n.suggestions[0])this._completeExpression(n,t,((e,t)=>function(e,t,n){return Ty(e,t,(e=>Cy(e,n)),((e,t)=>function(e,t){return ty(e,t,Jm,ey)}(e,t)))}(e,t,this._numericCategories)));else{const e=this.cm.indexFromPos({line:this.cm.getCursor().line,ch:0}),t=this.cm.indexFromPos({line:this.cm.getCursor().line+1,ch:0}),i=Math.max(e,n.range[0]);let r=Math.min(t,n.range[1]);r>i&&/\r\n|\r|\n/g.test(this.cm.getValue()[r-1])&&r--;const o=[this.cm.posFromIndex(i),this.cm.posFromIndex(r)];this._suggest(o,n.suggestions)}};_completeExpression=(e,t,n)=>{let i=e.range[0],r=e.range[1];'"'===this.cm.getValue()[i]&&i++,'"'===this.cm.getValue()[r-1]&&r--;const o=n(this.cm.getValue().substring(i,r),t-i);if(o.suggestions.length>0){const e=[this.cm.posFromIndex(o.range[0]+i),this.cm.posFromIndex(o.range[1]+i)];this._suggest(e,o.suggestions.sort())}};_suggest=(e,t)=>{const n={hint:function(){const n={from:e[0],to:e[1],list:t.map((e=>{return t="__hint__",e.substr(0,8)===t?{text:"",displayText:e.substring(8)}:{text:e};var t}))};return dm().on(n,"pick",(function(e){})),n},completeSingle:!1};this.cm.showHint(n)}}var Oy;function Fy(){return Fy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Fy.apply(this,arguments)}const jy=function(e){return c.createElement("svg",Fy({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 96 960 960"},e),Oy||(Oy=c.createElement("path",{fill:"currentColor",d:"M158.511 965.582q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h405l-60 60h-345v600h600v-348l60-60v408q0 24-18 42t-42 18zm300-360zm182-352 43 42-285 284v86h85l286-286 42 42-303 304h-170v-170zm171 168-171-168 100-100q17-17 42.311-17t42.69 18l84 85q17 18 17 42.472t-18 41.528z"})))};var Dy,Ny,qy;function By(){return By=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},By.apply(this,arguments)}const Gy=function(e){return c.createElement("svg",By({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 96 960 960"},e),Dy||(Dy=c.createElement("path",{fill:"currentColor",d:"m811.146 420-171-168 100-100q17-17 42.31-17 25.312 0 42.69 18l84 85q17 18 17 42.472t-18 41.528z"})),Ny||(Ny=c.createElement("path",{fill:"currentColor",d:"m562.079 592.242 42.851 42.032 206.203-214.29-41.992-41.992zM370.43 521.742l-32.266 32.266v170h170l33.906-34.024-42.851-42.03-16.055 16.054h-85v-86.016l14.727-14.648-42.461-41.602zM431.88 460.988l42.461 41.601 208.823-208.581-43.008-41.992zM458.146 604ZM758.033 788.08l60.073 60.366.058-352.446-60 60z"})),qy||(qy=c.createElement("path",{fill:"currentColor",d:"M114.61 265.57c-10.055 11.294-16.446 23.793-16.446 38.438v600c0 16 5.969 29.992 17.969 41.992 12 12 26.031 18.008 42.031 18.008h600c16 0 29.992-6.008 41.992-18.008 1.733-1.732 1.135-4.239 2.617-6.055l-44.609-43.71v7.773h-600V308.227L114.61 265.57zM275.835 303.246l227.33.762 60-60-346.658.078z"})),c.createElement("path",{d:"m56.648 207.056 796.235 799.184",style:{fill:"none",stroke:"currentColor",strokeWidth:60}}))};function Vy(e){const t={};return Object.keys(e).forEach((n=>{const i=e[n];2===i.length&&"true"===i[0]&&"false"===i[1]?t[n]={type:"boolean"}:2===i.length&&">number"===i[0]&&"<number"===i[1]?t[n]={type:"numeric"}:t[n]={type:"enum",values:i.sort()}})),t}function Hy({customModelEnabled:t,encodedValues:n,customModelStr:i,queryOngoing:r,drawAreas:o}){const[s,a]=(0,c.useState)(),[u,d]=(0,c.useState)(!1),h=(0,c.useRef)(null);(0,c.useEffect)((()=>{const e=(t=Vy(n),new zy(t,(e=>{var t;return null===(t=h.current)||void 0===t?void 0:t.appendChild(e)})));var t;a(e),e.cm.setSize("100%","100%"),e.cm.on("change",(()=>Ii.dispatch(new Vi(e.value,!1)))),e.validListener=e=>d(e)}),[]),(0,c.useEffect)((()=>{s&&(s.categories=Vy(n),t&&s.cm.focus(),s.value!==i&&(s.value=i))}),[s,n,t,i]);const p=(0,c.useCallback)((e=>{if(e.ctrlKey&&"Enter"===e.key){try{JSON.parse(s.value)}catch(e){Ii.dispatch(new Wi("Custom Model "+e.toString()))}Ii.dispatch(new Vi(s.value,!0))}}),[s,u]);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:om.customModelOptionTable,children:[(0,e.jsx)(So,{style:{color:t?"":"lightgray"},onClick:()=>{t&&Ii.dispatch(new Ki),Ii.dispatch(new $i),Ii.dispatch(new Gi(!t))},children:t?(0,e.jsx)(tg,{}):(0,e.jsx)(rg,{})}),(0,e.jsx)("div",{style:{color:t?"#5b616a":"gray"},children:l("custom_model_enabled")}),t&&(0,e.jsx)(So,{className:om.drawAreas,title:l("draw_areas_enabled"),style:{color:o?"":"lightgray"},onClick:()=>Ii.dispatch(new lr({drawAreasEnabled:!o})),children:o?(0,e.jsx)(jy,{}):(0,e.jsx)(Gy,{})})]}),(0,e.jsx)("div",{ref:h,className:om.customModelBox,onKeyUp:p}),(0,e.jsxs)("div",{className:om.customModelBoxBottomBar,children:[(0,e.jsxs)("select",{className:om.examples,onChange:e=>{Ii.dispatch(new Vi(Mr(Er[e.target.value]),!0))},children:[(0,e.jsx)("option",{value:"default_example",children:l("examples_custom_model")}),(0,e.jsx)("option",{value:"exclude_motorway",children:l("exclude_motorway_example")}),(0,e.jsx)("option",{value:"exclude_disneyland_paris",children:l("exclude_disneyland_paris_example")}),(0,e.jsx)("option",{value:"avoid_tunnels_bridges",children:l("avoid_tunnels_bridges_example")}),(0,e.jsx)("option",{value:"simple_electric_car",children:l("simple_electric_car_example")}),(0,e.jsx)("option",{value:"limit_speed",children:l("limit_speed_example")}),(0,e.jsx)("option",{value:"cargo_bike",children:l("cargo_bike_example")}),(0,e.jsx)("option",{value:"bike_network",children:l("prefer_bike_network")}),(0,e.jsx)("option",{value:"combined",children:l("combined_example")})]}),(0,e.jsx)("a",{target:"_blank",className:om.helpLink,href:"https://github.com/graphhopper/graphhopper/blob/master/docs/core/custom-models.md",children:l("help_custom_model")}),(0,e.jsxs)("div",{className:`${om.applyButton} ${u?"":om.applyButtonInvalid} ${r?om.applyButtonProgress:""}`,children:[(0,e.jsx)(So,{title:l("Apply custom model of text box to routing request"),disabled:!u||r,onClick:()=>{t||Ii.dispatch(new Gi(!0)),Ii.dispatch(new Vi(s.value,!0))},children:l("apply_custom_model")}),r&&(0,e.jsx)("div",{className:om.infiniteProgressBar})]})]})]})}function Wy({query:t,route:n,error:i,encodedValues:r,drawAreas:o,map:s}){var a;const[l,u]=(0,c.useState)(!1),d=(0,_s.useMediaQuery)({query:"(max-height: 55rem)"}),[h,p]=(0,c.useState)(d&&Uy(n)),f=(0,c.useRef)(null),_=(0,c.useCallback)((e=>{var t;!(e.target instanceof Node&&(null===(t=f.current)||void 0===t?void 0:t.contains(e.target)))&&d&&Uy(n)&&p(!0)}),[d,n]);return(0,c.useEffect)((()=>(window.addEventListener("mousedown",_),window.addEventListener("touchstart",_),()=>{window.removeEventListener("mousedown",_),window.removeEventListener("touchstart",_)}))),(0,e.jsx)("div",{className:Lo.sidebar,children:(0,e.jsxs)("div",{className:Lo.background,ref:f,children:[h?(0,e.jsx)($y,{points:t.queryPoints,onClick:()=>p(!1)}):(0,e.jsxs)("div",{className:Lo.btnCloseContainer,children:[(0,e.jsx)("div",{className:Lo.btnCloseInputs,onClick:()=>p(!0),children:(0,e.jsx)(Zg,{})}),(0,e.jsx)(Ng,{routingProfiles:t.profiles,selectedProfile:t.routingProfile,showCustomModelBox:l,toggleCustomModelBox:()=>u(!l),customModelBoxEnabled:t.customModelEnabled}),l&&(0,e.jsx)(Hy,{customModelEnabled:t.customModelEnabled,encodedValues:r,customModelStr:t.customModelStr,queryOngoing:(null===(a=t.currentRequest.subRequests[0])||void 0===a?void 0:a.state)===Rr.SENT,drawAreas:o}),(0,e.jsx)(lg,{points:t.queryPoints,map:s})]}),!i.isDismissed&&(0,e.jsx)(gg,{error:i})]})})}function Uy(e){return e.routingResult.paths.length>0}function $y(t){const n=t.points[0],i=t.points[t.points.length-1],r=(0,_s.useMediaQuery)({query:"(max-height: 36rem)"});return(0,e.jsxs)("div",{className:Lo.btnOpenContainer,onClick:t.onClick,children:[(0,e.jsxs)("div",{className:Lo.mapView,children:[!r&&(0,e.jsx)(Zy,{text:n.queryText,color:n.color,position:n.type}),!r&&(0,e.jsx)(Xy,{points:t.points}),(0,e.jsx)(Zy,{text:i.queryText,color:i.color,position:i.type})]}),(0,e.jsx)("div",{className:Lo.btnOpenInputs,children:(0,e.jsx)(Wg,{})})]})}function Zy({text:t,color:n,position:i}){return(0,e.jsxs)("div",{className:Lo.mapViewRow,children:[(0,e.jsx)("div",{className:Lo.markerContainer,children:(0,e.jsx)(K_,{color:n})}),(0,e.jsx)("span",{className:Ky(i),children:t})]})}function Ky(e){switch(e){case Pr.To:return Lo.queryPointText+" "+Lo.queryPointTextTo;case Pr.Via:return Lo.queryPointText+" "+Lo.queryPointTextVia;default:return Lo.queryPointText}}function Xy({points:t}){return 3===t.length?(0,e.jsx)(Zy,{text:t[1].queryText,color:t[1].color,position:Pr.Via}):t.length>3?(0,e.jsx)(Zy,{text:t.length-2+" via points",color:"#76D0F7",position:Pr.Via}):(0,e.jsx)("div",{})}var Yy=n(5771),Qy={};Qy.styleTagTransform=x(),Qy.setAttributes=m(),Qy.insert=_().bind(null,"head"),Qy.domAPI=p(),Qy.insertStyleElement=v(),d()(Yy.A,Qy);const Jy=Yy.A&&Yy.A.locals?Yy.A.locals:void 0;var ev;function tv(){return tv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},tv.apply(this,arguments)}const nv=function(e){return c.createElement("svg",tv({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 0 50 50"},e),ev||(ev=c.createElement("path",{d:"M7.5 34q-.65 0-1.075-.425Q6 33.15 6 32.5q0-.65.425-1.075Q6.85 31 7.5 31q.65 0 1.075.425Q9 31.85 9 32.5q0 .65-.425 1.075Q8.15 34 7.5 34Zm0-8.5q-.65 0-1.075-.425Q6 24.65 6 24q0-.65.425-1.075Q6.85 22.5 7.5 22.5q.65 0 1.075.425Q9 23.35 9 24q0 .65-.425 1.075-.425.425-1.075.425Zm0-8.5q-.65 0-1.075-.425Q6 16.15 6 15.5q0-.65.425-1.075Q6.85 14 7.5 14q.65 0 1.075.425Q9 14.85 9 15.5q0 .65-.425 1.075Q8.15 17 7.5 17Zm7 17v-3H42v3Zm0-8.5v-3H42v3Zm0-8.5v-3H42v3Z"})))};var iv;function rv(){return rv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},rv.apply(this,arguments)}const ov=function(e){return c.createElement("svg",rv({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 0 50 50"},e),iv||(iv=c.createElement("path",{d:"M11 40q-1.2 0-2.1-.9Q8 38.2 8 37v-7.15h3V37h26v-7.15h3V37q0 1.2-.9 2.1-.9.9-2.1.9Zm13-7.65-9.65-9.65 2.15-2.15 6 6V8h3v18.55l6-6 2.15 2.15Z"})))};var sv=n(7639),av={};av.styleTagTransform=x(),av.setAttributes=m(),av.insert=_().bind(null,"head"),av.domAPI=p(),av.insertStyleElement=v(),d()(sv.A,av);const lv=sv.A&&sv.A.locals?sv.A.locals:void 0;function cv(t){return(0,e.jsx)("ul",{className:lv.instructionsList,children:t.instructions.map(((n,i)=>(0,e.jsx)(uv,{instruction:n,index:i,us:t.us},i)))})}const uv=function({instruction:t,index:n,us:i}){const r=(0,c.useContext)(Or);return(0,e.jsxs)("li",{className:lv.instruction,onClick:()=>Ii.dispatch(new ar({lng:t.points[0][0],lat:t.points[0][1]},t.text)),children:[dv(t.sign,n),(0,e.jsx)("span",{className:lv.mainText,children:t.text}),t.motorway_junction&&(0,e.jsx)("span",{style:{background:i?"#00674c":"#003399"},className:lv.motorwayJunction,children:t.motorway_junction}),(0,e.jsx)("span",{className:lv.distance,children:pr(t.distance,r.showDistanceInMiles)})]})};function dv(t,n){if(0===n||4===t||5===t){let i;return i=0===n?Ir.getMarkerColor(Pr.From):4===t?Ir.getMarkerColor(Pr.To):Ir.getMarkerColor(Pr.Via),(0,e.jsx)("div",{className:lv.sign,children:(0,e.jsx)(K_,{color:i})})}return(0,e.jsx)("img",{className:lv.sign,src:hv(t),alt:"turn instruction"})}function hv(e){switch(e){case-98:case-8:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAKxAAACsQBZm2C1AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAUySURBVGiB7ZldiFRlGMf/z+s5Izuru7PSBwRqoRcZiBWR7IY40JxZF9ToYwMhAqUuFKIb9SIKRsgotMQSWvqkCMqmC1mSac67wqFYtsK9yNQ+yFWiwtRpN7dtd77epwtnt1l3znvec8aNLvxfnbPP128f3jnzzHOA6/pvRPORNJlM3mDb9hpmvoOIFgNoA9BCRKPMfBHABSHEmWKxeMLzvErY/NcMOpVKrSaiLQB6Aaw0DJsgos8AfNDV1dWfyWSUSVDT0Ol0+nZm3gvgwSbz/Qhgl5SyP8ixKehUKvU4EfUBaGkmT72Y+Y2Ojo6nstlsyc8nKjSlUqlDRLQjYrxWzPyFbdsbc7nc5UZ2ESWp4zjPzxcwABDRumq1ejiZTFqN7KGh0+n0RgDPNE0WIGbeEIvF9jWyhToeyWQyYdv2KQC3hAgbA3AewASAm2qxCwxjlRCiM5/Pf13/x1CdtizraRgAE9EZADuJaJWUcomUcpWU8h4p5bJyuZwA8CSA7w1KCqXUa5lMZhancac3b968eHJy8hyAJRo3JqIXCoXCnuHh4bIuX2dnZ0tra+shItpmUP6B+kdhw4PeSFNTU73QAwPADtd1+0zyDQ0NTQJ4wnGcFgBbdL5EtB3ADLTx8VBKPRbg8p6U0gi4Tlwul7cB+EnrxJxOp9O3Td8bQXd3dy8hovUal78ty9plxjlbnudNAdgd4CaY+aGZG5PESqn1Ab7v53K5iya5GklKeYSZf9D5ENGG6WvT46HrMoQQHxvm8RMLId7WOjCv27RpUxwwhGbmuzXmcltb22AIQD99EmBfWCwW7wTMoImIVmuM3+mGG1O5rnsWwIjOh5nvAgygk8nkzQASmkQnwgJq9LnOSERrAAPoWCy2PMDlZAgorZj5G51dKbUSMDseS3VGIor81GiQ61udXQixDDCAVkrdGGAvhEPzFxH9qrMz89JMJiNMOt0eUGgsFJlGpVLpfIBLbGhoKCEAIJ1Ot149SdVBtemyCCGuGbTneWMApnQ+1Wp1kTV9MTg4eNxxnKMAPpJSHq/z69AlqVQqM9NcT0/Pwkqlcj8zPyyEOOm67oEI7OcB3Kqxt86Mpo7jvIR/Z4CfmflTIjpKRFuZ+RG/DEqpHiHEcgDdzJyq7TkuMfPKgYGBP8MSO47zJYC1mnr3zoym5XJ5n2VZ22tFl9V+A+5gZm0RIURu+proSg+YeW8U4JomdEbLshbNnGPP8y4JIV6NWKhe52zbfr2JeO3GiZlbZ334SqXSfgCjTRQEET2by+WKUeOZOWgkWDQL2vO8MWY+GLUgEZ3o6ur6MGp8TUGdpjmPOdu2DwD4I0o1pdRu032cn4hI22lmrs6Brm11Xo5QzxsYGMhHiLta2n9aCKH8vlAOArgQohAT0c4wZBrFdEalVGNo13UniGh/iEKHXdcdDoXmLzvAPvd4TGt8fPwQgN8MipSFEM+FwtJL22nf4wFc2Uswc8NdWr2IqC+fz2tXACGl7XTDD2K9KpVKH4BfNC5/VavVvVHINNJ2mojKWujaTuJFPzsz7z927NjvEeH8pO00EVUC5+lEIvEmgLMNTBfi8fgrUck00na6Wq3qOw0A2Wy2RERzuk1Ee/r7+8ebofORttNCiGBoACgUCu9i9s/7kfb29reaIfMTMwc98irGq95UKrWViN6p3T4qpcxGR/OX4zj3MbPvi6d4PP6VMXRvb++C0dHRU0R0WUq5FoB+0J5Hmb5GwOnTp3nFihVjAI6MjIxoN0H/N83La+nr+r/qHxuK3rF5mZJHAAAAAElFTkSuQmCC";case-7:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAABACAYAAACOcP4eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPMQAADzEBHgryygAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAcZSURBVGiB7ZltjFxVGcd/z53Zpdt2tzubGECb0nQXE6Hxg01NNrvqpHPv3I5lP2CyIK0bBIxNKOGlJoJR6RI0WBIIqKGtBtEYX3CiEetmd+69sx1pt8FQoTUQ4ku1ppIqCGzB9G3v3McPO0Om0zs7d6YzLiT9f5p7zv+c85szz3nOOXewLGunbdt9vI9kAH2q+rJlWZ9ebJioMkQkr6pXAL81TXPPyMjI0sWGqicDmAYUEBH54pkzZw7Ztv2xReZaUAKQTqePqOpHK8p9EfnmihUrHsxms8VFYqspAyAIgnxVeVxVd8zOzh6wbXvg/wk0ODjYVc8TA1izZk1cRDaH1K8MguCWgYGBN44ePfqHlhNWKZlMxru6ug709/evTSQS+RMnTgRhPgNg6dKlzwJzYQYR6VbVPaZpehs3blzdPmSIx+M7gPXAnX19fa5t21eGMpU/WJZ1ABiq0+8p4CbXdX/TMtKSbNv+eBAEM8DbwFFgvYj8S0Q253K5fZXeWPlDf3//VcCn6vTdAdzU39/fv2rVKvfYsWPnWgGcTCaXGIYxAVyhql/wfX97LBa7DNioqp8bGBgwxsbGni0UCgql8AAQkerFuJDGOjo6/mia5nAroDs6OnYC14rIM57n/bRQKPiu694nItcD76jqjpmZGTeVSl0OFeExOjraOTs7+yawrIHxfOCR3t7e+7PZbFOzbppmsjRh/4nH42snJydfr6xPpVIfjsVi2VJKPh4EwY1SabAsaz/QzOw9H4vFxqampv7USKNMJtPj+/4RYLWIXO84zq/DfIODg13d3d3PlcDzRmWliLzSBDDA+mKx+KJlWXdR8evVk+/7jwKrgR/XAgbo7u4eVtW1wJsicst50EEQ7GoSGqALeMyyrKkNGzZ8qJ45nU5fB9wGvNrZ2XlXLV8mk/mAqv6I+XPS7Y7jHD8Penh4+AjwxkWAA6RjsdhLpmmGbVZlkB5V3QOoqt42MTHxVg2rzM3N/QC4UlW/5zjO01CRPQDGx8cDYF9Y6wbVKyI/sSzrF5s2bUpUVxaLxQeADwI/9DwvV6sT0zS3ich1wCtdXV33lMuNEG8jqa+eRs+dO/eiaZrJckE6nV6rqtuAt+Lx+L21Gtq2fa2IPAycBTbv3bv3VE1owzC8FgGfAZ4DjojIzalU6hpAVHUX85vUV6rTW1mDg4NdQRD8nPl1cq/ruocr6+PVDXK53F8ty/oHcFWjlCLyT+CJIAj2JRKJF6pzdzqdvlFVh4Hnh4aGvu+6bmg/y5cv/xawFphwXffb1fUXQAOoal5Ebm0UWlXp7OzcHbaw1q1b16Gq3yj5tpfWzwWybfsTQRDcAbxeYtBqT1hMYxjGdKPAJa08e/bsd8IqEonEVmCgtFUfCPOUwuLJEtc2x3FeC+ULKywWix4h3zCKRGRLOp3+bGXZyMjIUhH5GlAUka/Warts2bIHgKuBX7mum63lC4XO5/P/Bl5uBhpAVXeZprmq/Hz69OlbgcuBn+VyudB+U6nUNSJyNzAbBMHtC/UfCl1SsyEC0GsYxpOAJJPJuIh8CVAR2VkTxDAeBTpU9eulSauphaDD8vXjwJ+jUKuqaVnWnfF4/Abmzxd7Hcd5KcxrmuZnABs4nEgk6h4lakKr6u+YP3qWn/cPDQ1tB7ZQ42oWop0ish1ARB4JM4yOjsZEpJxV7oly+68J7XneSeBQ6fEssHV8fDxwXfcQ8FBE6MuAdcBfHMfZH2Y4efLkzcBHRGTK87xClE4XCo93bzOq+pDnee8eW+fm5h4Efh8RHOBVQrLR+Pi4oar3MR/vNbNKtaJAn1LV71aWFwoFv1gsbgH+G2UQEflk5fmjrIMHD24CrhaRfC6Xe6El0D09PTPArnw+f8FxdXp6+qiqfjnKIKpqiMhTmUymp6r8DoAgCB6LCgx1oLPZ7LklS5bcX6ve87zdwETEsVb7vv94+aF0SU0Bx4eHhycj9gHUgQaoPBKGSEvngwXzaoU+b5rmDQAiMgrEROTpWueQWqoLXU+O47ymqluj+kVkdyaTWSkiGwGCIPhlo2NeNDSA53nPAE9FtCd8338CGFbVd3zfP1S3RZVaAg0Qj8fvBv4e0T4CrBCRg4VCwa/rrlLLoCcnJ98GxoBG3mcfrm+5UC2DBnBddwZ4uIEmTZ0kWwoN0NvbOw6cjGj/WzNjtBy6dC+M9F5PVU80M0bLoUuK1beA7/uh16l6agu0iER6n5dMJhfauGqqLdCqWhdaRIJGd8Ky2hUedftV1ab/6lvM8GhqlmERw4PGNqHz1K7wiALd1HsVaB9000BR1K7wiAId+W+OarVrIdZdZBHjPlSLFh4R959QtQs6Sjp7z830+w86SkxfjBYzezStdoVHW7VoM/1ezB5tVbsWYt2ZvpiwvzTTFbqUPap1aabLirIQuYgv9j8F7ZPhIGK1QgAAAABJRU5ErkJggg==";case-3:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA+CAYAAACbQR1vAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAYVQAAGFUBN+4GkAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAATaSURBVGiB7VtdiBtVFP6+u5mxVltqUCtI/QGlIOIfVUQpMpq5d9KuLYgPrYqi0ILVaiviH4hdRUWEWuuDiC9WaCmLhSrKNklroA/VF8G/F6H40ifpwxRaSEky9/jQBpaa3c3cmWTdZD9YSGbOOffeM+ec79w7G4oI5hPGmK3NZvNAvV4/l5fNNWvWeMVicRzAIyTXish5kr9Za4/WarXJ6bKcTwdorV8G8Fa1Wl2Zh70oiopJkmwl+SKA67vJkDwCYGulUjkFzKMDwjB8g+SHJH+qVCoPZLFVLpdXJ0myA8DTAJb2oHKq1WrdUa/XzxSyDOwKrfW7JN8GABE56WonDMMSyZ0AygCYQnWV53mfA9g8cAcYYz4G8GrnO8l/0ugHQbDE9/0nRWQHydszTGWTMeb9gTmAJMMw/AzAC9Ovi4jfi36pVFqplNrmed7zInJNHnMSkQcH4oCJiQlVKpW+BPBcl0ksmU03iqI7rbU7lVKbAfTkrBS4t+8OCIKg4Pv+PpJPdLtP8rJLr01MTKgTJ06st9buJBn0cXrL+uqAi3x8UEQem0VseeeDMeYKa+2zJF8CcCuZpq45gX2jwSAIlnie9w2A9XOIniT5sLV2O8ktAFb0ZUJdQPJQXyJgw4YNS33f/1ZESj2I3yIif5McOCOJiMp90I0bNy5rNBo/kFybQm1e+hERydfr4+PjVzWbzSMk78vTbr9AMr8ICILgas/zagDuysvmAJBPBARBcJ3neccA3JaHvQFCqawWjDGrPM87joW3eCCrA4wxN4vIcQC35jShLIjTKpCkswPK5fJqEfkZwE2uNnJAk+TXAO4GsCetsoi4RUCpVIqSJPkdwLUu+jngNID3Wq3WjZVK5ZlqtforAJeOLn0RjKLoHqXUfuS/MekFf5Lc02w299fr9fPTb4iIdWid09FgGIb3k5zCANtVXHiyUyLySa1WOzqTEMnUEZCqE9RaP0TyewBXph3IBSLSUEp9pZT6dGpq6q8e5FNHAHvtv7XWGsBhAJenGiEbjlUqlW29CpO0DmPMXQSNMY8C+A6DXTxIjodh+E4KeZcUmJ0GjTGPi8ghAP85tBgESO7SWn/Qi6yIpI4AkjNHgNb6KRE5CMBLazhnvGmM2cu5Ezx1BMzogDAMtwDYB2AsrdF+QES2h2F4YN26dctnkUkdAV1TIAzD7SS/AJB5n5AzNrXb7T+iKOp6RqiUyl4Etdavk9yLdC8ZBokbrLWHtdavXHrDWputEzTG7ALQc9XNAhE5SzLGhQ1MDCAWkZhkLCKxUioWkdhaG4+NjcVJksS+78eNRiOu1+vtritxpMECAGitPwLwWpo1ADh7yeTPkVwB4BcROd1ZSGcR1tq41WrFAM7MtIgsIClpD3hFhIWL4RQC+LHzBKY/hc41a21cKBTidrsdF4vFM5OTk0nei8gCVxosVKvV3QB292FOAwVJmzYCZu0DFhpciuCcneBCQi40uMDhRIND4wCXIohhioCRd4DLdhjDlAIuneAiDS7S4BDVALjR4PA4wJEFhicFRp4GMeqdoEsRXKRB17fD/0c40uDwpIC1drSL4MjvBRYjYNQjwKUIDhUL5P52eKFh5FNgsQiOegSM/IHIYgo4psC8/FKjH7DWdv5P0OLC2cD0v5mu2X8Bfk0MprjEg5cAAAAASUVORK5CYII=";case-2:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAYAAABQHc7KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAVrAAAFawBqQLmJgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASTSURBVGiB7VtBaBxVGP6+2Z2tIg0xAVtLCVispVUk0SCWFXV1ZjZZKGk9RFsVtaC2ik2sMSAeovWu4kGveg09pAeHnbdJ0yqGXhRLQTwoepLqydRDWLMzv4dsQrrsNjO7k7fr7n4w7OzM//738e/3/v+9ebMUEbQSbNvOknxcKfW+jv6SOjrZCplMJplKpZ4FME3yQZJpXX03NQDZbPaOIAheNU3zbREZKF8+73neki4OTQlANpu9C8AZEXmD5J2bbolhGO/p5KI1AI7j7AfwDoCXANxWxWQpn8//opOTlgCMjIw8IiLTAI4BMGrZkZzVwWczti0AJGnb9iiAaQBPhGgiInJ+u/jUAuMug8PDw2Z/f/8JEZkC8ECEpt8ppR6LlUwIxKaAsbGxnSsrK6/19fVNisjeOlxciYtLFDQcgEwmszuVSk2IyCkAvfX6IXmtUS71oO4AjI6OHvB9f8o0zRdFZEejRJoVgMg5wLKswySnSY4BYEw8hOTXIkKSCRExACTKR9VzkoaIbFwvt9uwqfBjAPgdwPeGYXyRz+d/WO84VADKGf0IgHcBaE9UMaME4COl1DlgiwCMj4+nlpeXXyhn9IOaCGoByTc9z/u8agByuVxPqVQ6BWACwB7t7PRgheT9NyVBx3H2iMgkydcB9DSJmC7cLiK5JABYlnXIMIwpAM+TTDWZmDaIyOHE0tLSWZJzAIawljE7BiSvG0qpjwE8BOArAMUmc9IN3pQELcvalUgkTpdndbuax0sbFmpVgR2lUuk41qrAoHZa+nBxy4mQbdtPGoYxKSJHcIu1/P8Ul0JPhW3b3kfyjIicJLkzbiYi8jfJEoAAgF8+AgA+yUBENq6R9Mvf1+/7IrLe7lEAYSvZ5chrgVwu17O6unqS5FsA9kVqfAuQfNrzvIuN+nEc5w8Ad4exFZFvI0vadd0bhULh03Q6vZ/kMQCXo/qoQSauXBP6FyVp1L0cnpmZCQDMAZhzHGcQwCSA4wgvv0oM1culAkEEW8aS1JRSPyqlXg6CYIDkhwD+qsPNw3FwQQQFADBizerz8/N/ep73QTKZHADwCoCrEZoftCzrUAw09CugEq7rFpVSXyqlBkUkQ/JCGGKJROJEDN1HCUC8CqiGQqFwyfO8o77v3wfgMxH5p5atiMQRgChDYHsUUA0LCwu/KqUmTNPcS/IsgN+qmN3jOE6jG6OhFSAi26+ASriue8PzvE/S6fS9AJ4B8E2FybkGu4hSBhn7xkg9sG17qDzdfg5ASkSOFgqFC3X6+pnkgZDmV1siAOvIZDK7TdM8DcDq7e3NzM7O/hvVh+M4PyH888trLbW4WVxcvK6Umkkmk08Vi8V69xoiJcGWeEOkEq7rFlH/w5nWKoNNQGuWQY1o7TKoAaEDQLL9FCDRylr7KYBkZysAEZJgx+cAtOMQQLcMdhXQ/CdCzUS3DHbLYLcMdnYSjDIE0E2CbagAdHoZJNnZCii/JxDWtv0UECUAJNtPARGHQPspIGIZbD8FBEHQ2Umw4ydC6PSpMNpha6wRiEhQrgSCNTVs/tw4l7X/5/j/AZzOwmKqcltsAAAAAElFTkSuQmCC";case-1:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAABACAYAAADidqwbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAARIQAAESEBdkeL6QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPaSURBVFiF7ZhPaBx1FMc/77c7odKYaEAQvXiogh6k1OAhFx2d+c1iDgGVvajkqmLpQQ8VD6VUBfGg1Is9qbRF3KPG4EyyWSjNUmhMQYuI6CFI8RLq1hDWZrPzPGQ3hGT/zG52k1D7hWGY33u//fzevDdv5zf4vv/B+Pj4/arKXh9GRB5YW1v7OQgCnz2WAfLAw6oaBkFwdmxs7J49g6dSqTlAAVHV44ODg4vW2tG9gIuqYq29BhzdMr4OnKlUKh8WCoX1fsFN7ZzfNp4GTjuOM+953mN9hcdxPNvE/rQx5loQBG/2Ay6qShAEh1X1JjDQwndORE6EYXi9V3ADEIbhKnClje9zqrro+362p/Catue9kRwR+cb3/Quu697XM7iINMv7DonIK47j/GStfX43cFFVAFzXTafT6Zsicm8H8xU4W6lUThYKhX87hW9GXigU1kVkscP5ApxwHGcxk8kc6xoOICJXO/2Bmh6P4/iK7/vvZbPZVFdw4Ksu4bBRjO+XSqXLmUzmSJIJmzmvKwiCv1T1wV0sAmAVeDuKonOtnLZHDjC3SzDAYeBza+33rus2DWQHvEWr7UYvOI5z3ff9lxLBSdZskqoKrIjIG77vP7vduCPnANba34BHu4CVgU9U9VIqlfpjeXl5aWFhodLMOd1oUERmVbUbuIjI+SiKfk3i3Oi2E8dxt7f+UBzHF0dHR52u4alUqgDE3dBF5NjIyMjpRL6Ncg5grV0AnupmAUCsqs/MzMxcbuXUMPKadvPIGRE5PzEx0fJPqilcVXfAReQHoGU0W/RIuVz+rCv46urqPHB7y9CNlZWVF6vV6qvArYQLmAyC4OWO4cVisQzM169F5FSxWCzn8/kl4K2EcFT1nLX2oY7gNdUfuV+Gh4e/rA9GUXQByCXkjwBfiIh0BDfGzAKIyMlcLlfdahsYGHgduJFwAdZae7wj+NDQ0I/At2EYfrfdNjU19TcwycarVFup6kee5z2RGJ7L5arpdPq1ZvYoivKq+mkSOHDIGHMxm81u7g3a5Zzp6el/Wtkdx3kXSLqROFoqlc7UL5p2uE7ked6TxpirtN7x1BWLiBuG4aWewAF8339HRD5O6L5UqVSO9AwuIuJ5Xl5E3IRTgrY5TypVVWPMJFBKOCXbMzhAGIZ/Akm306M9hQNEUfQ1sKMvNJDpORxAVX/fN7gxptreq3+RJ3kFk77ARSQJfF8jvwPhdwuuje7AnB/4ghOR/uQ8SeSq2p/I/9cFt39Nxhizf03mwBeciNwtuN7qwBcc/Yo8aYdr+Plzt6pFrmx8SKyf64eqaiwi8X/xCNwLBu+YEwAAAABJRU5ErkJggg==";case 0:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAABACAYAAACUTB6QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAARtwAAEbcBmmNTKwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAKkSURBVGiB7Zg/aBNhGId/71EJ0lQdCmL9MzgoCg5ChdKpGWwwbZPJKi6CICiKDhZRWv90Lbq4iLi4uXTpdwm2IBQnESy4KChYwVUQHIRo6fdzMG+4prnc1cudy/dAIHf3cu+TJ5clIIkkr7GxsRujo6O9Se7hIQHlcrlfRO7ncrnLSe6TSALAFIA8yanJycntmUuUy+V+klcah7vr9frFzCXQqKAHJG+WSqVcZhItFZS9nuddyEwCLRUUEbk1ODi4LXWJkArKgYGBgfOpSyCkgkLydqFQ6ElNIqKCcjCfz59LTQIRFQJMz87Oxr537MGYFZRDKysrZ7ougfgVAADW2hkRkTizQjJyqFHhy1YkGpz2fX8+aihuiS1VCBCrRmSJBBUAACQr1WrVdJqJU+JfK/xd4Hl3omY6lkhaoblEpGSMeRF2PapEogoKyY41Qkt0q0JA5GS1Wn3Z7lqnEl2p0FzU4dloW6LbFZrLREaMMa82CYbMd7WCEvZsbCqRVoUAw77vvw6eaFcilQqKiNzddC5YIoMKAABr7YlarfZWj1tLpFqhubTll9IskVUFxVp7vFarvQM2lsikguJ53oy+F5KRFUTkB8kPAH4BGImx45uIrJI8AmBHyAxF5Jgx5r2W2FBBRD4DmBORIoB9xphdvu8Pk3wSQwAismqMGfJ9f+f6+vp+a+0pEXkI4FNwjOQMAMjExIRW+E3yMcl5/a5aGR8fPysiz2NIvDHGDLW7VqlUDltrKwCuAdjjed7RHpLXATxbW1u7t7i4+D3OJ03CwsLCRwBzhULhUV9f31WSl3pE5Kkx5mvay1tZXl6uA3hQLBZ7vf8hEGRpaeln0j9JuoKTUJyE4iQUJ6E4CcVJKE5CcRKKk1CchOIkFCehOAnFSSh/ABGodcE7J4gvAAAAAElFTkSuQmCC";case 1:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAABACAYAAADidqwbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAARHwAAER8BCfL2SQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPHSURBVFiF7ZhPiFtFHMc/v7dJDFrYjaGKFxGpuniUUKQLyoP3MkGXPekelF4silSooB5KUUQvBSl40wpSKutB4i0KkpeU58GFwtKKf1hkD3qV4mFxZVmSZn4empTsbjZvkn3ZhaW/U2bezPvMd35/Zl5EVTlom5+fL7Rarfe8gwaXy+Vyq9X6TUSOZw4KurCwcP/W1tYnwFlArLVNOYhtr1QqJ621S8CT3S5tt9sPTVS57/uZbDb7AXAB6Gf9EsfxPxODG2Nms9nsElDa+UxEmgCpB5yIiDHmnKreHAQG6HQ61wBS9bkxZhb4TFX9IcNa+Xy+UKvVNlPbdmPMq6p6BcglDL1eq9U2YXsQjGWVSuVBa+1l4GXHKc3ej33BgyCoeJ53BXjEdY61dn9wY8wDqnrJ87w3R5z6b6fTWRkbHobhsyKyBJwYda6q3ojj+PbI8FKplC0Wix+KyHlgalQwgIis9red4EEQPF0oFJZU9ZlxoD3zPO/zbYsZluciIkEQvC0iF4H8fsCq+nej0dgWmHsqD8Pw0SAIrorIsILhbL2S2m8Dy2u5XD4tIr+mBe7atUR4GIYvAq8BG0BqtTeTyexSPtTnvu/np6amHvc87wTwPPAWcN8Y7LUoip7ataBhM+I43gJWgdUwDH8H3hCRkeGqukt1Irxni4uLU93CcmxUMAwONnA8z9fX1y8Ap8YBAzaXy/04cFFJ53n3/rXM+IfQShRFJwc9GPrC7gHy9T7A0HeE7rSkbf8UeMIRcgP4bkD/rvxOhJfL5QVVfd0RvGmtfWVmZuYl4M++/q12u708EjwIgoeBLx3BAO82m821arXaAt7vdYrIT910dYd3byfHXaiq+n0URZd77Uaj8Q3wM4C1ds8tHwg3xpwFXnABA7c8zzuzYzEKnIe983sg3Bgzq6qXHMGIyJl6vX5rZ38URRHw7dzc3M2h83t5XiqVsoVC4bqIuF4YvoiiaM87nO/7x+I4/m/YC+4qLxaLH48AXsvn8+8MG5AEhq5yY8xzqhrjVm5vW2tPNZvNleShw83zfT+jql85ghGRj9IAA3i5XM4HHnMcvzw9PX0xDTDcUev0maOqGyJyulqtdlKDq+rAE2enici5er3+V1pguKPcxdc/RFF0NU2wM1xV/0gb7AwXETspuCQNUtWJwQ9VuUvAHU3liT631k7kb8pDV+6S50fT54enXEQSA87zvMnAVfWez/e0I6v88CqcS8BNLNpFJBFurT08n09MuQt8ktGeGHD38jxtywAbqtqLeulb0N32pJT/D6Ytcj4BbQBBAAAAAElFTkSuQmCC";case 2:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAYAAABQHc7KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAViAAAFYgBxNdAoAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAARSSURBVGiB7ZvfayNVFMe/38nEHw/apU+y+OCCIC4+qAuC7YO0JHdSfeiL9GH/AdFXf+CLFhZErBVjF+3CYlUQd62+xIVIZlLiLiv6UHD9haLYlVXEXSjCFqlJO3N8yKTW0IS5M+lNdprPS2bmzL33zOGc+517h1BEYAKl1EsicsHzvIqRASNCUwFwHGdMRD4n+Q2AuUaj8WGtVts2MngXjAUAAJRSHwF4PDy9IiKvW5Z1ulKp/G3MiTaMBqBQKNwdBMFPALjr8l8k3wKwUKlUrhlzJsRoAABAKXURwPgepn8AvAfgNdd1fzblj2VqoBYklzuYbgHwBIAfHcf5uFAoPGTEnz5kwGEAv+P/ZdCJ8wDmPM/7VPbJUeMBALqWQSe+Izm/vr7+werq6lYvfTFeAiFfat5/n4i8Ozo6uqaUenp6evq2XjnSlwCQ/DZm0zsBzG9ubl5xHOfliYmJO5L6cqMFoMUhEXk+m83+qpQ6PTU1dU9sX3bPAYVC4cEgCJ4EcAzAXQACAD7JQER8AD6AgKQfnrfsvogEoX3nevtxqx+SIiKPIdpEGAURkZKIzFWr1S90Gu4EQCn1IoAXANg9cqpfXATwqud556IoB0UEjuM8JSJvGnDOJD+QnB8ZGXl/eXm50ekmKqWOiMj3AG416JxJ/gDwhm3bp8rl8vV2oyUijyK9Dw8AhwG8sr29/Vs+n58LX8R2sETk4T45ZprbST4L4LJSaimXyx0FAObz+QoA1V/f+oIAeMZG76ToRqEO4CyAouu6l2z073XYNFdJnvJ9f7FarV5tXTwIGXAJTRU4Uy6X6+3GtGZAQPJcEARFz/M+63ajbgY00FzJZUhaIpIBkAFgkcyE51Zoz4iI1bKHvxk0lccmeUj/ubojIhskl0RkwXXdtShtbBGxyMgxWHdd95H4LjZxHGdSRFaS9rOLNRE5mc1ml/Z62emGTVKnBHqyeyIi9/eiHwDnSRbHxsY+mZ2dDeJ0oFsCsQbZgwcStG0AOINQxpI6ojsJ9mr/7FiMNtdILrbLWFKMZ0AulztqWda9Gk2+BlDsJGNJ0c2AxAHIZDLHIyzTI8tYUnQzIHEJiMjxLrYNku/4vr+wsrLyS9KxoqArg4kyQCk1DuDIHqbLJE/atv22rowlxabG0yN5BpxoO78AoDg+Pl6KK2NJ0ZoDwo3PWOTz+WmSkwAaJM+G9f1V3P56hVYASMYKwMzMzE0knwNwYmtra7FWq/0Zp5/9wMgkWK/Xb7Zte3I/ZCwpRmSwVCptxGlnAguGZXDQsMIla1T6MlPvJ5amDKYvANCTwfSVgE4GxJXBQUZ3DkhfBsDwanDQGMoghhnQlz3BgWEog0MZHMrgcBI82CWAgz4JYiiDWnuC6csAEYmcAUl2hQcVS+fzeCoDAD0VSF8JwMB3gUFGKwBBEKQyA4YvQhr3pzIAB3pHyAZwXUQy4bKY+C8ou48tNP9ckboM+Bfnbd377tn9YQAAAABJRU5ErkJggg==";case 3:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAYAAABQHc7KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAYlAAAGJQBP7stjgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAU9SURBVGiB7ZpdaBxVFMf/5+5M0jSKma0f1dJiq5haULEEoaWCQ+feSULYgJWIoiD4IEL1QZD64FftgyloRYtfoC+iWGJFiIiZWU2yDw1+VCn0RawPShErkTZKG9NNdo4P2W3T7W6yc2emdTf7g2F3Zu459+7lnPO/c2eJmbEQx3G2CCH6AHQx8y9EdFQI8ePIyMh3iBHbtleYpvmo7/tvxuk3LFSagEwms3JmZuY9AA9UaXsEwL6TJ08eOHz48GwcnSulThDRXs/zXovDnw7EzKUfPwHgjhpsfgewf3Z29t2xsbGpKJ0rpb4FcBeAZ3zf3xvFly4CAGZmZl5GbT8eANYAGDRN87hS6nXXdddH6P+34ueg67rPRvCjjZBS3gpgp4btFQCeZOZjSqlPHMfZouHjz9IXZt6jlHpJw0ckBIBtxU9dUgDuE0JMuK47IaXcsXv37lr9mWXnzymlBiOMJTSCiDbH5YyZtxDRwUOHDh2TUj7hum77EiatFa7tUkq9GteYlkIASCfgdwMRvcHMx5VSg0qpG6q0W1Hl+lNKqf1ERAmM7QIEgCQ7sQDsAvCrUuqD7u7u8kK7chHbnVLKt5OeBEFEUfK/VkwADwdBcEQp9ZXruj1ERMzcuYTdY1LK90PUlNCQlPJTAPcm1cEi/ASgE7VF4IcdHR2PDA0NFeIehGDmSxEBldiI2tPvoVOnTn1k27YR9yCEECLxQhMHRHR/S0vLga6urnLpjMTljIDQMPOOdDp9cGBgoCUunwLRFkGXg8zU1NRntm1Xk9BQJC2DSdFrmubw1q1b26I6ulQymASyvb39ixpWm4simDl0BDDzWwD2APgrSudRISI7CIIv+/v7r9T1oVUDiOiE7/vPnz59eh2AxwH8rDuAqBDR3dPT09/39fVZOvZCZ6lJRAwAExMT//q+/042m91IRBkAOZ1BRIWIOvP5fE5nErRkkJmDsnP2PO9z3/fvIaIuAB8DmAvrNyK35fP5rx3HWRXGSDcFuNo9z/N+8H3/QSLaQESvAPg7rP8I3JlKpUZ7e3uvqdVASwbLI6ASnucd9zzv6ba2trWYj4hLAjPfPjc3N27b9upa2mulABEtOQElzp49uw5Af9g+IrLJMIzxRfYhzqFVBIMgqJoCC3EcZ1MQBFks/tyfCETUCSDnuu7axdrp1oAlI6C7u3uzECIH4Pqw/mPkZmbO9fT03FitQSQZrIaUclsQBKMArg7rOwHWFwqF3Pbt22+qdDMWGSxh27bhuu6LRDQG4KqwfhNkXSqVyjmOc0v5jdhk0HGcTaZpfsPMLwCIfeMiBtakUqlc8T3IOQxoyGAQBBdFgGEY1xUKhX0A0kRkMbNFRBYRWUEQpInIwvwmqYXLUBQBgJlXE9G4lNLJZrNHAcBgZhG2DAghLpqAkZGRsVrtBwYGWiYnJ9OGYVhCCCsIAqs0aShO4IJzC/Nb96uKR9ToupaIxpRSju/7R4wkZbAaQ0NDeQAnikcobNvuaG1tbQOQLhQKF0wgFkQfzkdbesH30k7SKgCjSillICEZTIriG+kpAH+Etc1kMivPnDljCSHSQgiLmduN4v58KEdLyeD/leHh4WkA05h/xQ8gZhmsR7Qehuo1AiqhtQ6oJIP1ilYKVJLBeiXRp8F6ILGnwXohkafBeqIpg2jK4DKXQWhMQEPJIPT2A5Z3CjRlsJGKYFMGmzLYlMFY3w7XG7oyuLwjoKEWQjp/kmqoFND5m1xTBhspAtCUwaYMhk6BhlIBNFNgeRdBA8A/OB8JVHZUvNZIEfAf4JbpKskQ/HUAAAAASUVORK5CYII=";case 6:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPHgAADx4B+ux9RAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAVTSURBVHic7ZtdiFVVFMd/czJjMpMCy2myjxcNNBBKDE2DpKSmccrSkNVLFKMPQg9ak0I+2INp9iCR1JD4UAspy5rRTNEJnEqTqQhSMF8KTUcNCjP7spwe9rrjzDjXe886+9wZ0x8cuHPOXWv995p97tn77LWrurq6yBMRuRN4ELgFqLXjBuCaPl/9BTgCHLbjB2CLqn6Zp76q2AkQkSHANOBhO0ZndHkI+NCOdlX9J6O/XkRLgIjUAi8As4Frozg9l5+BDcCLqno4hsPMCRCRq4DngIXAlTFElcHvwCvASlX9LYsjdwJE5DLgKWAZcH0WERk4BiwF1qrqvx4HrgSIyDjgHWCcJ2gO7AMeV9V9aQ2TtAYiUgfsZvA0HoKW3aYtFakSICILgVZgeNpAFWA40Coii9IYlXULiMhQ4HXgSZ+2irMOmK+qf5f6YskE2HN9MzAjjraKsQ14qNS4oZxbYDUXXuMhaF5d6kvn7QEi0gi8EVHUQDBPVZuLXSyaABGZCrQBl+ckrFKcBqar6qf9Xew3ASIyGvgKGBlRyClgK7AdOEiY+BwBqoAb7bgZmA7cR9xR5U/AHap6qO+FIUUMXiNe41uAtcB2Vf2zyHeOA1/b51dFpBq4n/DUaYigYSShTTP7XjinB1jXb48QdBfwrKruyuJERCYDLwOTI2i6W1U/73mivx6wImOQP4BGVX07ox8ALIFTROQJoBmozuDuJWBqzxO9eoCIPAJszBCgE2hQ1Y4MPooiIhMJt1RNBjf1qrq58Ed3Amx2txe4zen4O8KvbZR5ejHsvUMbMNbp4ltggqqegd4DoTn4G38CmJl34wEsxkyL6eF2wksboHcCHnM6PAPMVdUDTvvUWKy5FtvDnMKHBEBErsA/3F2hqh87bd1YTO8P9gxrc3cPmA4Mczg6Dix3iojBctOQlmGENncnwDvYWKaqJ522mbHYy5zmDQCJiFQB9Q4HBwnP5YGmmaAlLfUiUpUAE/E9Vzeq6mmHXVRMg2fsUgNMSIBbnbE3Oe3ywKtlTILvv3+COPOFWLTjGxfUeBOwJ/YSVRZMyx6HqTsBuY/4HHg0uRPQ6bDJG4+mmgQYVaFgeePRNCr1ytD/jQQ46rDLMh/PC4+mownOe8dhkzeu3zJvAmodNnnj0eROwCRbMhsUmJZJDlN3AkYQ6oAGC9MImtLSmQDfO4N6ZpB54dVyIAE68PWCWSIy4MtmpmGWw7QT+CZR1S58s6mbgEaHXWwaCVrSsklVuwoDoRZn8KUiMmDVIhZ7qdO8Bc6+EmsjLF6m5TpgsVNADBabhrScIrQ5JEBV/yJUVHhoEpEHnLZuLGaT03ybtbnXusB7TmcJsF5ExjjtU2Ox1uOocjPeLXxI+pzc73Q4glChlfsI0WK04nvuQ1ga21D4ozsBVmm5JIO2sUCHLWDmgvnuwL8uCLCksC4IfbqQqn5AKIL0UgPstKXsqJjPnWSbiH3Wc2UY+q8PaCLbC89q4C0RmQ8sUtUvMvhCRO4CVgFTsvgxnu97oliNUCvxhrrvA28Cn5RTuGjxhwL3Ak8Dj0bSsUlVS5fImIA8iqR+BbYQuvGPdhReZNZytlDqHsIOk6sjxi5aJHXRl8kVfY6awYK8VFWQBcUaDyUGElZhuSa6pMqx5nxVolDeSOoZYEccPRVlB0H7eSmZAFt2qiOUoF8orAPqylm+S7VlxjZMrMQ/Bs+bM0CTqq4q1yD1niHblrKewbdr5CShWOujNEbeTVPjCRMKb1ldbPYDs1V1b1pDV1e2QOOBeYStawPFMdMw3tN4uLRx8tLW2Uubpy/27fP/AamW7NQNtbA8AAAAAElFTkSuQmCC";case 7:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAABACAYAAACOcP4eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPMQAADzEBHgryygAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAbzSURBVGiB7ZlvjFxVGYef99y5dXGprGJSKhjq7kajEkkaY1h3G8a9c2dc0YbUjh/EaFGsYqQVsWJQyUQtqSRVIaDSmkUsKLqRD9aw3Xvv1IW0Wmg26Nb/cUtME4zVdraubRaYva8fZraZbu/M3LnTSZfE36e557znnGfe857/witImUzmMmPM7eZig8SV67qOiBwB3pC62DDNlE6nu2zbLgDbAAMU5eIiNVY2m71GVR8Frq0maRiGq62LCVVPhULB2La9BRgDrqzJmg6CYGfTmB4YGLikY3QRGh4evvrgwYP7ge8Ar1qSXYRKjEQqn89b2Wy20N3dfSCfz6/oIOdZua6btyzrt8D1dUyKAJEDMZfLrZ6dnf0JcL2IMDs7+xXg7s6gwsjIyFXlcvn7wA0NzMqpVOoAwHkDMZfLvUdVf6yqVwCHgX5gZRiG7y4Wi4cvNLDrulngCaC7iekB3/fXwbnhIa7rbg3D0FPVK1R1V09Pz5CI3AakjDE/upDxPTAwcInruvcB+2IAIyLFxd8pAMdxLjfG7AFGVHXOGLPZ9/3HqzaPua57I7Cxu7t7O/D5doFzudy7wjDcA7w5bplaaOM4zoAx5jlgRESmVfWdnuc9XlsglUp9BjguIltd1603SJoqnU6nXNe9MwzDA60AA2eMMc+ehTbGfB14o4hMz83NXVcsFv+6tMT4+Pi/VPVWKuH08Pr161e2CpzJZHpt254EdgB2K2VF5Lnx8fEXz0KLyM1ASVWvWbly5VC9gkEQPKGqjwFvmp+f39ki8EdF5HfAYCvlFqWqf679Np7nHVPVWwCjqnscx1lVr3C5XP4scExVP+m67vuaNeY4zirXdX8hIo8AlyYBruqBc6Ch4kUR2Q2sMsbsJmIqBJicnJwVkU8BCuxqFCaZTGaDMeb3wAfagAU4OTg4OF2bcHbv0dfXtx/YAAz29/cfn5mZiZyTZ2Zm/tbf398LrCuXyyuOHj3q1eaPjIy8Zs2aNfeLyL3Aq9sEBvjl6Ojoz2oTzs7TnuedVtUPAfOqutNxnHc0qGgbUAK21to5jjNQLpenRGTzBYBdVHFpwjl7jyAIjojIXUCXMebRdDrdFVWL53nHga9SWXTuB8RxnLcZYzYDfwQOAfMXgtgYcx50VOxKNpt9UlXfC+z0ff8LUZXl83mrVCo9KyJrVXVjEAQ/X5K/olQqrRWRYeBW4KoEzH/3fX/NeX8kwlAXFhY2ASeBrblcbm1UbWNjYwvAHdXP7el0OrUk/6UgCA6p6oPAQgJgVPU8L9eDplgs/lNEvgikwjAcXQq0qCAIJoEnReQttm3fEtmAMd8Frk4CTUQ8Q4P9tOd5o8AkcG31FBEpVf0SEAJ3Lx0DmUzmg6r64US4oJZl/Soqo9HJRS3L+jTwIvC14eHhSG8FQXAE+Cmw2rbtTYvpw8PDV4rIroTAAH+YmJj4R1RGw+PWvn37/gLcA3RblvW9enZhGO6gsuBsq4aSWJa1G3hdcubo0IAm0AA9PT07qExjI9ls9sbI2ovFaSr74t5UKrUhk8lsBUZiwh0FHlyaWLsVbRl6bGzsJWALgKp+I5/PR57gVfVb1cZuF5F7YgKXVfWmwcHBLcDB2vQwDJ9ODA3g+36RSne9/dSpUx+JsgmCoAg8r6rXAbFOOCKyPQiCQ4VCIbQs6xNUFyQRORwEwam2oKsVfRlAVe8kelFS4JhI7PufqRMnTmxf/KiOn3urn/sbFYwN7XneM8BTwFsdx8ktzXddd5D4++UzlmXdNDU19fI5MMbcB5wOwzBoVLilC0hV/Xa18ttq09Pp9KXAD6nZNTbRHVXPnqOJiYmTwA9s2/5No8ItQQ8NDe0FXgCy6XT69Yvptm0/QOWqIY483/cfqpfZ1dV1V+3RKkotQRcKhZDK/VrKtu2NANVp8GMxq/i3MWYTlfiP1N69e880q6TlC8je3t7/isjHgbCvr+9pYJz4m/1N1bHRllq+VC+VSs8Ap4F1qvoQcHnMog/7vj/WantRahm6OuJ/DbxWRN4fs9jzqVTqc622VU+Jni+q1wFxFQI3j4+P/ydJW1FK+ubypxZsv+n7/lMJ24lUIugwDI/GND3V09NTSNJGIyWCVtUXYprOVzdcF1SJoBcWFo7HNO3I61ki6Lm5udMxTTvyepYIempq6mVVrbuqLUpa2PK1osQvtiISNrNR1WUHHecuY3lBq2pTT4tIR97e26m0KXQYhsvL08ToemNM08GaRO2ERxybpr2RRO0MxDhdv7w8TbyZYXl5Oqb+7+lFddrTyws6zhIdZ3+SRImhOzUHx2q7k5WLyPLydId6PpbaWVzimC0vT8dRp3qj0+HxyvN0p9QOdJwzYhvV11enoTsSHv8DYKFg2UAoHpgAAAAASUVORK5CYII=";case 8:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAKxAAACsQBZm2C1AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAVFSURBVGiB7ZlbiBtVGMf/3zeT0G0X3XStiNTbRhQsqBBEsIJTcmmxBakYiuJb8aEvilBpxQpRVtAqra1asF5AFC8EL2zFpJkNDGrdp0opdqG0xqIrbW3dTbuX0sxmPh+6kWw2c87kwupDf2+Z73J+O3tO5swJcJXFgdopisViof7+/rtFZADA9US0QkQiAC4R0QXP86aY+VilUjnqOM757iq3IJ1Op42JiYlHiOhJAGsBLA1YegJAlog+KxQKv7Qj2Ugg6WQyuRHATgC3dzCWAPjSMIwd+Xz+eAd91NKWZZmhUGgQwLZOBmngMoBttm3vabeB4RewLKsvFAoVADzebnMfTADrotHo8lKplG+nQVPpWCwW6u3t/QaA1YGcjvuj0SiXSiWn1UJudjESibwJINmpVQBejMfj61otWjCnE4nEg0T0fbOYD1UAfwI4B2AZgBsA9LXgMGaa5qpcLncxaIFZ/yGdThvlcnkvggmPEtEuAJ8XCoXpuuuUSqXu9DxvAxFtATCg6bOyWq0+DWAwqPQ8uVQq9ZiIZLVFRO9NTk4+MzIyckmVl06nw+VyOQNge+NYDfztuu6tjuNMBZGetxAHBgbeAnCbpuZj27Y3j42Nubrmo6Oj1VKpVIxGo+cBPKxIXcrMJ0ul0hG9ct1CjMfjdwBYo8k/YZrmU7jyoAiMbdvvAPhEKcL8RNB+/0oT0aPQz+WtuVzuctDm9XietxWA73QSkTWJROLaIL3qpddqckdt2x4KpriQYrF4lohUd9sgooeC9GIAsCyrF8ADqkQiej+4YnNE5AtNSnDpUCgUAxBWJjJ/HUzNH9M0fwSgWsD3BulTmx7KZBE5ns/nTwVT82duPah2ePcE6RNImoh+COilhYiOKsL9lmVdp+tRk1buk0VENVBLiMgxVTwcDt+i61GTvlmVZBhGV944AEBEzqninufppS3LMgHcqGk01pqaknGlELN+eoTD4eVo2Dg1Yprm2RbFVFITmhTtA4Y9z+vV5Ey3sm3UQURlTUpT6Uwmw6lUahkAmCLSS6R8ep9uRy6VSj0rIqsAfNXX1zeczWYrADA7OzvL3PTdAwAgIvOk4/H4fcy86dChQ+s9z7MATJu4snFX8Vc70p7nfUhEJwFsLpfLF5PJZJGI8gD+EPHfbxHRikQisZ6Z14vIBgA3zYV2FovFswDARKSTntbEmzI8PHxBRF6Z+3gNgI0i8q6IfKeqE5FNRPStiGypCYvIpOu6r9dymJl1c1q7b/YjEonsI6Jf262vY0/9SRVDMz2IqG3pbDZbEZFMu/VzXDAMY3f9BRYR/1UBQETalgaA1atXfyoiP3fQYtfBgwfnfbeziFRVFURU6WBAZDIZT0ReaLO87Lru3saLzMxKac/zWnq1akaxWMwT0XCrdUS003GcBd/rLCKeplC5zw6KiDwHQDlWA+eXLFnydrOAVlpEQq3I+WHb9pEgxxN14742NDQ02SzGRLQodxoAmPl5ANo1QkRnenp69vn2IaJZTYOuSRcKhd8A7NflicirBw4cmPGLMwCldLemRw3TNF8GoNqAnZ6amlL+YSwiyn9XN+80AORyuXNEtNsvTkSDuuM21j3xRKSr0gBQqVTeIKIzTUK/G4bxga6eq9WqUpqIujo9AMBxnCkRWXBKKiKDQU6wmJkX/U4DwPj4+H5c+eWrxqlIJPJRkFqzp6fn+MzMjO+pPzP7ruJOOHz4sJtIJHYQUe3U6aXai4KOtn787CKUTCZ/AtDvuu5djuMov8lqKF9oFwEBsJ2IVgYV/j/xX//Hr9KUfwAe1OfnoChuNgAAAABJRU5ErkJggg==";case 101:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAArEAAAKxAFmbYLUAAAAB3RJTUUH4AsWFQQSVQpdpwAABhBJREFUaN7VmWtoFFcUx//nTjbRRA0x0cbGRzVLTGnqu0pQaczO7pjKagVFihpLW6Ev6EuQ9kvzQfrBDy2VfiiFKlZqBVvUvlhnR7uKQSnEttIS0iYbEfHVNiYkmjU7c08/dFY2m93NTjJRcmDY4c6dc3979tzzuEsAqgB0YfzI1Dwb+J+HCEEA2MkL4mGbLRAIzGxoaJg5rqA9Hk+fZVnPjSvorq6uGDM3jivoadOm5QGo0TRtSa7v5I1mwYaGhinxeHy1EKKSmScQ0U1m/iMej/8aiUTMXHTE4/EJACClbARwMdedW+Y0eqiqWkxEewC8CGBimik9AI4T0X5d189m0+Xz+RYIIX4D8HdXV1dFS0tLfJjlyxy7h9/vX0RElwC8ngEYAIoB7GDmM36//4Kmaasz6VMUpSLhKaWlpWtd92m/37+Smc8CmO3gtRVSyjOqqh5RVXXIe8y8IOm+0VXoQCBQA+AHIpo8kgRCRFuIqFVV1Z0pzxYl3QfXrVtX4opPr1+/fnJ/f//PAKpdChrHhBAv1dbWdjc3N18HMD3p2SvhcPjT0fo0xWKxQy4CA8BGKWVLc3Pz1hRgEFHjqC0dCATeYuYPxyhMDwDIT7M5q0OhUNuILK2q6jxm3jOGuSU/3aBpmttGuhGJiD4DUDjMwj8S0WYp5XwAi4loGxEdBnBnxGUf0fampibh2D38fv92AF9k0R0D8EI4HP4q3UNN06ZKKd8EsCtLPM8ozLzGMIxIOvdQbEveTfHjIgDHAUzJrJM3G4bxdaZFOzo6+qPR6E9er/cwET3mdCMTEUej0RNpHhWKDES7AVRkUfiJYRgncllc1/VOXdefZeYdAPocWHpTMBgszMmnNU2bAeCdLPr+7O3t3e305y4pKTlCROccWHryvXv3NuYEzczvZtt8RPT++fPn+x12J7O6u7tPM/Nah37dOCx0fX19BTPvzKKkrbi4+KiD0rVAVdVdzPw7gJUjCCS++vr6iqz1tKIobwOYkEXJx0ePHrVysGy1lHKLZVkvE1H5KOK4oijKVgB700JrmjbVsqydRJQxxBUUFBxJHWxqahLnzp1bLoRYw8xPEtFyZq4kIjAzXJDGVOj7Ia+qqkoCKAJQmyHpHAuFQodSByORCEej0atVVVWXLMu6RUTdRGQCeHS0nZEt071e7/cdHR3XEyFvSHIJBAIrpJQHiWh+ygbcpuv6l7muVFdXl5efn7+QmVfZ/rzGXmsksi8cDr+RSC5pM2IwGCyMxWJ7AbxqZ00ppZx+6tSpf0djMlVV5wFYBWAlEa0C8LitfzhJbsXKslZ5qqqqRLSfiG7rur7Q7WrJ5/M9oijKcmZeaX+ZZQAKMkzfEA6Hvx0WOtHECiHW6Lp+fKyPE4LBYGF/f/8SIlpqu1Q9gFLbPb/RdX1TTtAPU+zI9ETiVzBN87VIJDIJo9gcD0vGG+//0HkpaRfxeBypicE0TUQikTGn8fv9ywA8Yx9R3GHmFgAnDMPoSW0CEvEZUsrkOiO17sDp06fHBFbTtBlSygMAtHRnlMy8yzCMA8lNwCDgZFhmvn8BwKxZs3DlyhVXgevq6sqFEBcALM0wZSIRbaisrIxFo9FmAIWirKxsCDAzQ0o56LIsC0II1NTUuArt8Xg+BzAnh6kf+Hy+pwBAVFdXZwS2LGvINWnSJNeAVVVdbPtwTqdhRPQeAOR5PJ5B7pBq4WT3sI9kXYMmogaH87WioiIlLxEpUq9s4C7KbIfzJ86ZM6csj5mRqKGTgdNZPV1UGaU4Phu5e/fuHWGaZqbWahB44n5gYMBN6F8czm+/fPlyn7h165aTRhM9PT2uETPzdwBuO/DpgwAg2traEgP3P9NdABCPx3Ht2jXXoA3D6LHPWHL5gm0APkq0W+js7MTcuXPTZsNk4Pb2dliW5epOjEajF71eLwF4OktD8JeiKOt0Xb8JoFBJjHZ2dqK8vByKogyCNU0Tvb29aG1tdR046QgtUllZGSGimXZESfSoV5l5n8fjeT4UCg3qEdNKeXk5bty48cBLOLvVqxBC9J08efIGhv5vPj5LU3rQC7qgY+p/raHc/dLH+CUAAAAASUVORK5CYII=";case 102:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAKxAAACsQBZm2C1AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAZUSURBVGiB1ZlbbBRlFMf//5luC61QKQuKqCV0rRBviIpBIJTuXFzJFk28xIiYeEm8JSqSGI2JfTA+SKLR+ECINyQgSTXglWZ2qouhQkzqLRqCuiMPJl7Q2sqli7s7x4ddcdnO7M6UkuL/YTP7fd8557czZ77LWQJoBzCI/49a6lAE/n0CIQhAwhgopwgksAzDODeRSJwbxmbCoSORyOFCoXBrGJsJhx4cHMyKyJowNhMOPWPGjDoAF5umuTCoTd3JBEwkElNzudwyRVHaRGQSyV9F5NtcLvdlOp3OB/GRy+UmAYDrumsAfB7EhgCiCDl7aJrWTPJpAHcBmOwxZBjADpKvWpb1STVf8Xj8UkVRvgJwcHBwcPbAwECuRvho6PTQdX0Bya8BPOgDDADNAO4QkV26ru81TXOZnz9VVWeXLmdMnz792iAMoaB1XV8iIp8AOD+E2dWu6+7SNG2bpmmj7ETk0rLrQC9kYGjDMC4G8AHJKUFtykSSt5Dcp2naPRV9C8qukytXrpxW0xkC5HRXV9eUkZGRzwDMC43rre2Koty9ePHiof7+/p8BzCzruy+VSm2oYhsop5nNZjdj/IAB4AbXdQf6+/tvw4nAIFkzRWreacMwHhGR504a01t/A6ivbFRVdV5vb+9+H5vqd1rTtLki8vR40PloFDAA5PP51dWMqkGT5EYAjTUCf0jyJtd1LwRwOcnVJLcCOFLDrlrg27u7u33ZfNND1/XbAbxRxXcWwJ2pVOpNr07TNFtc130YwDr4z+e+EpEVtm2nPbqiKop38mh5q2EYTQB2AJjq71Nusm37Lb+gmUxmxHGcj2Ox2FaScxDyRSYpjuO849HV6PkIROQxALO9+koOX7Jt28vhKFmW9aNlWdeLyB0ADgciLjLcmEwmPVNzFLRpmrMAPFrF33eHDh16LGjwfzVt2rRtJHcHHU9yyrFjx27w6hsFLSKPo8rLR/KpPXv2jAQNDgCGYZw3NDT0kYgE2luUsXjO2SdAd3Z2zhaRymW23Mn+5ubmnqBBE4lEg6Zp60TkGwBLAtP+p3hnZ+eoND1hP62q6loAk6o4eaGnp6dQK5JhGPNc172lUCjcS/Ls8KzlSOptAJ4tbzwObZpmS6FQuIekn4NsQ0PDtsrG7u5uZffu3YsURVkhIpeQXCQibSQhEuqQ7ac1ldDHp7z29nYXQBOAxfBedLb39vZurmxMp9PiOM5P7e3tXxcKhd9IDpHMAzgHJ3kyKmlmLBZ7P5PJ/Fz63jhqcTEM42rXdTeRvLDckuRqy7K2BI3U0dFRV19ff5mILEUxn1eUYo1FL6ZSqYdK11HPFTGZTDZms9lnAdyP4qrpuq47s6+v748xBgVQ3MsAWApgCcmlAOaX/NdS+VHMG7osiEbyVZJ/WpZ12ckAeykej5+lquoiEVmC4o+5EkCDz/BVqVTq3ZrQJfBmRVFWWJa1Y7yhK5VMJhtHRkYWkrwCxZTqBDAdAEi+bVnWjYGgJ1KlmekilJ5CPp9/IJ1OnwGM/eWYKIUvIZwOOmEeTSQSDfl8/maSmojMAjBM8lMAWyzL+u1Uw+i6fiWA61AsURwRkQEA79i2PVw+7nhOG4ZxjYhsBdDq4e8wyUcty9p4KmBN05zluu5rAEyP7kERWWfb9mul78VDgGEYC0SkD/75XQ8gOXfu3GHHcfaOJ3BHR8fZiqLsBXCFz5DJJFe1tbVlHcfpB9CoRKPRehHZguobJQAAyfWGYYxnKQGRSOQVeD/dSj0Tj8evAgBl/vz5XQDmBIxRB2Dt2PBGS9O0y1HM4SBSSD4BAEokElkeJpCIaGHh/EQyEXK82dTUpCokzwoZy/fsOAaFKWQCwOTW1taoIiKHQhoO1x4SWKFrI0ePHj2i5PP5QNX3Mo3n7PFFyPE/HDhw4LBy8ODBt1FR96ihl0MG8pWIvAfgz6DjSW4CAGXfvn2/kHwyoN320vZwXGTb9nCpxlJTIrIfwPNA6biVyWQ+isViBLAc/pvyd0muzmQytf4TCSXHcT4PEPt7VVVXWpb1KyqPW/F4/CpFUdYBMACcCSArInsAbLBtuwch/w4OI13Xl5N8UkQ68N+e6CcReT0SiazfuXPnX6W26PGPSvmVpE61kslko67rF5QqXV533h/6NFa0DkDLRFOEVMs/dfMzpJFEFmAAAAAASUVORK5CYII=";case 103:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAArEAAAKxAFmbYLUAAAAB3RJTUUH4QQHDzoKt7uMpAAABf5JREFUaN7VWV1sU2UYft7vrBtswrIfcDhkQpsxI/I/yDKI23raw1wKkkCIAYZRSfxL/CMheuMuiBdcaCReGBMhSEQSNIB/6U4PWsgWiMlQicZM3dkuSJCpY4SxFtt+rxecztq1Xc/aMfdeNef7vvd9znven+f9SgBqAQxh5kh5gQX4z2kEQQDYzgEx3W7zer0LW1tbF84o0A6HYyQWiz0+o0APDQ2Fmbl9RoGeN29eAYBlmqatzvZMQS4GW1tb50YikY1CCCczzyKia8z8UyQS+T4YDEaz0RGJRGYBgJSyHcClbDO30m71UFW1lIgOAHgKwOwUW24AOE1Eh3VdP59Jl9vtXi6E+AHAH0NDQ9U9PT2RCcxX2g4Pj8ezkoguA3ghDWAAKAWwh5nPeTyei5qmbUynT1GU6nikVFRUbMp7THs8nkZmPg9gkY1j66WU51RVPaGq6rhzzLw84Xd7XkF7vd5lAL4kojmTaSBEtIOIflZVdW/S2sqE3762trayvMT05s2b54RCoW8B1OWpaJwSQjzd0NAw3N3dfRXA/IS1ZwOBwHu5xjSFw+FjeQQMAFullD3d3d07kwCDiNpz9rTX632Zmd+aojL9N4DCFMlZ5/f7eyflaVVVlzDzgSnsLYWpHkaj0V2TTUQiovcBFE9g+Csi2i6lXApgFRHtIqLjAG5NmvYR7e7o6BC2w8Pj8ewG8GEG3WEATwYCgY9TLWqaVi6lfAnAvgz1PK0wc7NhGMFU4aFYnhxNiuMSAKcBzE2vk7cbhvFJOqN9fX0h0zS/cblcx4noAbuJTERsmuaZFEvFIg2i/QCqMyh81zCMM9kY13W9X9f1x5h5D4ARG57e5vP5irOKaU3TFgB4NYO+X27evLnf7ucuKys7QURdNjw95/bt21uzAs3Mr2VKPiJ648KFCyGb08n9w8PDXzPzJptx3T4h6JaWlmpm3ptBSW9paelJG9S1SFXVfcz8I4DGSRQSd0tLS3VGPq0oyisAZmVQ8s7JkydjWXi2Tkq5IxaLPUNEVTnUcUVRlJ0ADqYErWlaeSwW20tEaUtcUVHRieSHHR0doqura50QopmZHyaidczsJCIwM/Ig7cmgx0pebW2tBFACoCFN0znl9/uPJT8MBoNsmuaV2tray7FYbJCIhokoCuC+XCcjS+a7XK4v+vr6rsZL3rjm4vV610spjxLR0qQE3KXr+kfZWmpqaiooLCxcwcwbrHhutmxNRg4FAoEX480lZUf0+XzF4XD4IIDnrK4ppZTzz549+1cuLlNVdQmADQAaiWgDgAct/RNJ4ihWmZHlqaqqEtFhIrqu6/qKfLMlt9t9r6Io65i50XqZtQCK0mzfEggEPpsQdHyIFUI067p+eqqvE3w+X3EoFFpNRGuskGoBUGGF56e6rm/LCvR0ilWZHop/hWg0+nwwGLwHOSTHdEnltCuYjBQktV1EIhFYDWYtgEet64JbzNwD4IxhGDemCozH40mmDQAAwzDGDQHx+gwpJRRFWSClPAJAS3VfyMz7DMM4kuDpnPNB0zRIKTMRp/8AVxIBR6PRKiHERQBr0pyfTURbnE5n2DTN7lQDhF1pamqCEGIimgqn0wnTNO+wvMrKyrG3dDgcHwCoycLWm263uz4fIeFwOOzU9Tug6+rGpqBVVgxndTNFRK/nClhVVbsD7x3j8TclolabCrSSkhIlF9AZGGXa/SUlJRAJFHKRTZuza2pq7nrJq6mpgUjgvLbvKUZHR2/dbdCjo6MQ0ejYhf13Ns//NjAwMHK3QQ8MDEAMDg7Ga+HnAK7biK+juQKwO9mMJWJvb29cwQ3rviMbY70A3s4VtGEYWQNP3KcAQH9/PxYvXgwp5SVFUQjAIxnI+a+KorTpun4tH83FNE24XK5sJlzouv4v6DjwqqoqAAgqihIkooVWRYm3qyvMfMjhcDzh9/vH5rVcQVtXaHA6nSlLIDPD4XDA7/eP5x7JUlVVhfr6+uJwOFwthBjp7Oz8HeP/w847F/f5fAiHwxBCoLOz8//JbSdLTXMxXG7T03n5Mv8AYvZC/w+MjzcAAAAASUVORK5CYII=";default:return"unknown"}}var pv;function fv(){return fv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},fv.apply(this,arguments)}const _v=function(e){return c.createElement("svg",fv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),pv||(pv=c.createElement("path",{fill:"currentColor",d:"M80 805v-60q38 0 61.5-23t68.5-23q45 0 70 27t64 27q39 0 65-27t71-27q45 0 70.5 27t64.5 27q39 0 64.5-27t70.5-27q45 0 68.5 23t61.5 23v60q-47 0-69.5-23T750 759q-38 0-64 27t-71 27q-45 0-71-27t-64-27q-38 0-64.5 27T344 813q-45 0-70.5-27T210 759q-38 0-60.5 23T80 805Zm0-160v-60q38 0 61.5-23t68.5-23q45 0 70 27t64 27q39 0 65-27t71-27q45 0 70.5 27t64.5 27q39 0 64.5-27t70.5-27q45 0 68.5 23t61.5 23v60q-47 0-69.5-23T750 599q-38 0-64 27t-71 27q-45 0-71-27t-64-27q-38 0-64.5 27T344 653q-45 0-70.5-27T210 599q-38 0-60.5 23T80 645Zm0-160v-60q38 0 61.5-23t68.5-23q45 0 70 27t64 27q39 0 65-27t71-27q45 0 70.5 27t64.5 27q39 0 64.5-27t70.5-27q45 0 68.5 23t61.5 23v60q-47 0-69.5-23T750 439q-38 0-64 27t-71 27q-45 0-71-27t-64-27q-38 0-64.5 27T344 493q-45 0-70.5-27T210 439q-38 0-60.5 23T80 485Z"})))};var gv;function mv(){return mv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},mv.apply(this,arguments)}const yv=function(e){return c.createElement("svg",mv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),gv||(gv=c.createElement("path",{fill:"currentColor",d:"M720-160v-640h80v640zm-560 0v-640h80v640zm280-480v-160h80v160zm0 480v-160h80v160zM337.02-396.3l85-85-85-84 57-57 85 85 85-85 56 57-85 85 84 85-55 56-86-85-85 85z"})))};var vv;function bv(){return bv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},bv.apply(this,arguments)}const xv=function(e){return c.createElement("svg",bv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),vv||(vv=c.createElement("path",{fill:"currentColor",d:"M480 648ZM156 856 82 599q-4-12 1.5-23.5T101 560l59-20V316q0-25 17.5-42t42.5-18h150V136h220v120h150q24.75 0 42.375 17.625T800 316v225l60 19q11 4 16.5 15t1.5 23l-74 258q-48-5-89.5-29T641 770q-32 36-72.685 61-40.684 25-88.315 25t-88.315-25Q351 806 319 770q-32 33-73.5 57T156 856Zm-76 160v-60h80q42 0 83-13t77-37q36 24 77 36t83 12q42 0 83-12t77-36q36 24 77 37t83 13h80v60h-80q-41 0-81-10.5T640 975q-39 20-80 30.5t-80 10.5q-39 0-80-10.5T320 975q-39 20-78.802 30.5-39.802 10.5-81.594 10.5H80Zm140-495 260-84 260 85V316H220v205Zm259.5 275q51.5 0 91.5-41t69-76q25 30 55.5 58.5T762 787l51-179-333-108-334 108 52 177q35-19 66.5-47.5T320 679q30 36 69 76.5t90.5 40.5Z"})))};var wv;function kv(){return kv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},kv.apply(this,arguments)}const Cv=function(e){return c.createElement("svg",kv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),wv||(wv=c.createElement("path",{fill:"currentColor",d:"M450 772h60V515h-60v257Zm30-323q14.45 0 24.225-9.775Q514 429.45 514 415q0-14.45-9.775-24.225Q494.45 381 480 381q-14.45 0-24.225 9.775Q446 400.55 446 415q0 14.45 9.775 24.225Q465.55 449 480 449Zm0 526q-140-35-230-162.5T160 533V295l320-120 320 120v238q0 152-90 279.5T480 975Zm0-62q115-38 187.5-143.5T740 533V337l-260-98-260 98v196q0 131 72.5 236.5T480 913Zm0-337Z"})))};var Sv;function Av(){return Av=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Av.apply(this,arguments)}const Ev=function(e){return c.createElement("svg",Av({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),Sv||(Sv=c.createElement("path",{fill:"currentColor",d:"M120 966v-60h150V726h180V546h180V366h180V216h60v210H690v180H510v180H330v180H120Z"})))};function Mv(){return Mv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Mv.apply(this,arguments)}const Tv=function(e){return c.createElement("svg",Mv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),c.createElement("path",{fill:"currentColor",d:"M45.142 628.976V145.815l256.814.537 13.5 61.106 176.37.907-1.03 277.722-189.16-.908-13.452-60.395H99.846l1.03 204.73zm293.761-201.253H441.93l-1.03-162.808H278.19l-13.501-61.106H99.846l1.03 163.519h224.527z",style:{strokeWidth:.710532}}),c.createElement("path",{fill:"currentColor",d:"M606.257 1024.678V680.055h189.175l9.63 43.585 130.321.675v200.901l-139.444-.676-9.595-43.078H652.008v143.216Zm215.529-143.93h73.486V767.432H779.215l-9.63-43.585H652.008V837.67h160.149z",style:{strokeWidth:.506799}}),c.createElement("path",{d:"m718.589 177.478-59.666 312.817-139.16 127.263-154.83 56.304-110.74 232.069-199.849 59.814",style:{fill:"none",stroke:"currentColor",strokeWidth:60,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}))};function Pv(){return Pv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Pv.apply(this,arguments)}const Rv=function(e){return c.createElement("svg",Pv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),c.createElement("path",{fill:"currentColor",d:"M724.175 970.88q-72.065 0-133.163-42.299-61.098-42.299-83.03-114.363h-84.598v-37.599h77.078q-2.507-17.546-2.193-31.332.313-13.786 2.193-31.332h-77.078v-37.6h84.598q21.932-72.063 83.03-114.362 61.098-42.299 133.163-42.299 43.238 0 81.15 14.726 37.913 14.727 69.245 42.926l-26.946 26.319q-25.692-22.56-57.651-34.466-31.96-11.906-65.798-11.906-58.905 0-107.47 32.899t-68.618 86.164h176.088v37.599H538.687q-3.133 16.92-3.133 31.332 0 14.413 3.133 31.332h185.488v37.599H548.087q20.053 53.265 68.618 86.164t107.47 32.899q33.212 0 65.171-11.28 31.959-11.28 58.905-35.092l26.319 26.32q-27.573 26.318-67.051 41.984-39.48 15.667-83.344 15.667z",style:{strokeWidth:.626646}}),c.createElement("path",{d:"m474.326 176.788 48.327 355.214M192.135 177.419l-86.064 796.71",style:{fill:"none",stroke:"currentColor",strokeWidth:48,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m336.384 194.835.131 163.04M336.384 458.057l.131 163.04",style:{fill:"none",stroke:"currentColor",strokeWidth:44,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m336.383 733.697.121 149.452",style:{fill:"none",stroke:"currentColor",strokeWidth:43.9994,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}))};function Iv(){return Iv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Iv.apply(this,arguments)}const Lv=function(e){return c.createElement("svg",Iv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),c.createElement("circle",{cx:654.31,cy:728.639,r:232.522,style:{fill:"none",stroke:"currentColor",strokeWidth:48,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m476.247 174.472 48.327 355.214M194.056 175.103l-86.064 796.71",style:{fill:"none",stroke:"currentColor",strokeWidth:48,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m338.305 192.52.132 163.04M338.305 455.74l.132 163.04",style:{fill:"none",stroke:"currentColor",strokeWidth:44,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m657.177 542.357.017 40.212M658.598 870.665l.07 42.484",style:{fill:"none",stroke:"currentColor",strokeWidth:48,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m338.305 731.382.12 149.45",style:{fill:"none",stroke:"currentColor",strokeWidth:43.9994,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"M728.411 623.884c-14.47-16.73-36.415-35.035-65.873-35.676-45.732-.994-70.376 21.669-70.767 56.445-.866 77.092 148.25 75.893 148.222 165.686-.012 39.4-53.63 52.43-83.814 51.957-36.238-.568-65.603-20.787-90.654-59.177",style:{fill:"none",stroke:"currentColor",strokeWidth:43.9287,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}))};var zv;function Ov(){return Ov=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Ov.apply(this,arguments)}const Fv=function(e){return c.createElement("svg",Ov({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),zv||(zv=c.createElement("path",{fill:"currentColor",d:"m278 1016 116-586-101 43v133h-61V433l192-81q14-6 29.5-7.5T484 346q17 3 29.5 11t20.5 20l42 66q31 48 77.5 75.5T753 546v60q-70-2-123.5-30.5T533 488l-38 152 92 83v293h-60V776l-108-98-79 338h-62Zm262-714q-30 0-51.5-21.5T467 229q0-30 21.5-51.5T540 156q30 0 51.5 21.5T613 229q0 30-21.5 51.5T540 302Z"})))};var jv;function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Dv.apply(this,arguments)}const Nv=function(e){return c.createElement("svg",Dv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),jv||(jv=c.createElement("path",{fill:"currentColor",d:"m82 936 258-360h202l298-348v708H82Zm62-257-48-35 163-228h201l185-215 45 39-202 236H289L144 679Zm55 197h581V390L569 636H370L199 876Zm581 0Z"})))};var qv;function Bv(){return Bv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Bv.apply(this,arguments)}const Gv=function(e){return c.createElement("svg",Bv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),qv||(qv=c.createElement("path",{fill:"currentColor",d:"M481 936 233 696l-113 81v-74l119-85 245 238 172-137h184v60H676L481 936Zm0-386L306 375 120 510v-74l192-140 175 175 353-255v74L481 550Z"})))};var Vv;function Hv(){return Hv=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Hv.apply(this,arguments)}const Wv=function(e){return c.createElement("svg",Hv({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),Vv||(Vv=c.createElement("path",{fill:"currentColor",d:"M480 775q14 0 24.5-10.5T515 740q0-14-10.5-24.5T480 705q-14 0-24.5 10.5T445 740q0 14 10.5 24.5T480 775Zm-30-144h60V368h-60v263ZM330 936 120 726V426l210-210h300l210 210v300L630 936H330Zm25-60h250l175-175V451L605 276H355L180 451v250l175 175Zm125-300Z"})))};function Uv(t){const n=(0,_s.useMediaQuery)({query:"(max-height: 45rem) and (orientation: landscape), (max-height: 70rem) and (orientation: portrait)"});return(0,e.jsx)("ul",{children:n?nb(t):ib(t)})}function $v({info:t,path:n,isSelected:i,profile:r}){const[o,s]=(0,c.useState)(!1),[a,u]=(0,c.useState)(""),[d,h]=(0,c.useState)(""),p=i?Jy.resultSummary+" "+Jy.selectedResultSummary:Jy.resultSummary;(0,c.useEffect)((()=>s(i&&o)),[i]);const f=(0,c.useContext)(Or),_=f.showDistanceInMiles,g=Yv(n.points,n.details.road_environment,(e=>"ford"===e)),m=Yv(n.points,n.details.toll,(e=>"all"===e||"hgv"===e&&kr.isTruck(r))),y=Yv(n.points,n.details.road_environment,(e=>"ferry"===e)),v=Yv(n.points,n.details.access_conditional,(e=>null!=e&&e.length>0)),b=kr.isFootLike(r)?Yv(n.points,n.details.foot_conditional,(e=>null!=e&&e.length>0)):new Kv,x=kr.isFootLike(r)?Yv(n.points,n.details.hike_rating,(e=>e>1)):new Kv,w=kr.isBikeLike(r)?Yv(n.points,n.details.bike_conditional,(e=>null!=e&&e.length>0)):new Kv,k=kr.isBikeLike(r)?Yv(n.points,n.details.mtb_rating,(e=>e>1)):new Kv,C=kr.isMotorVehicle(r)?Yv(n.points,n.details.road_access,(e=>"private"===e||"customers"===e||"delivery"===e)):new Kv,S=kr.isMotorVehicle(r)?Yv(n.points,n.details.track_type,(e=>"grade2"===e||"grade3"===e||"grade4"===e||"grade5"===e)):new Kv,A=kr.isMotorVehicle(r)?new Kv:Yv(n.points,n.details.road_class,(e=>"motorway"===e||"trunk"===e)),E=kr.isBikeLike(r)?Yv(n.points,n.details.road_class,(e=>"steps"===e)):new Kv,M=kr.isMotorVehicle(r)?new Kv:function(e,t,n){if(0==e.coordinates.length)return new Kv;if(3!=e.coordinates[0].length)return new Kv;const i=new Kv;let r=0,o=[],s=e.coordinates[0],a=e.coordinates[0];return e.coordinates.forEach((e=>{if(r+=Qv(e,a),r>100){const t=100*Math.abs(s[2]-e[2])/r;if(t>15){const e=fr(Math.round(r),n);i.values.push(e+" ("+Math.round(t)+"%)"),i.distance+=r,i.segments.push(o)}s=e,r=0,o=[]}a=e,o.push(Xv(e))})),i}(n.points,0,_),T=kr.isBikeLike(r)?Yv(n.points,n.details.get_off_bike,(e=>e)):new Kv,P=function(e,t){if(!t||0==t.length)return new Kv;const n=new Kv;let i=t[0][2];const r=e.coordinates;for(const e in t)t[e][2]!=i&&(n.values.push(i+" - "+t[e][2]),n.segments.push([Xv(r[t[e][0]-1]),Xv(r[t[e][0]])]),i=t[e][2]);return n}(n.points,n.details.country),R=g.distance>0||m.distance>0||y.distance>0||v.distance>0||b.distance>0||w.distance>0||C.distance>0||A.distance>0||S.distance>0||E.distance>0||P.values.length>0||T.distance>0||k.distance>0||x.distance>0||M.distance>0;return(0,e.jsxs)("div",{className:Jy.resultRow,children:[(0,e.jsx)("div",{className:Jy.resultSelectableArea,onClick:()=>Ii.dispatch(new Zi(n)),children:(0,e.jsxs)("div",{className:p,children:[(0,e.jsxs)("div",{className:Jy.resultValues,children:[(0,e.jsx)("span",{className:Jy.resultMainText,children:dr(n.time)}),(0,e.jsx)("span",{className:Jy.resultSecondaryText,children:fr(n.distance,_)}),i&&!kr.isMotorVehicle(r)&&(0,e.jsxs)("div",{className:Jy.elevationHint,children:[(0,e.jsxs)("span",{title:l("total_ascend",[Math.round(n.ascend)+"m"]),children:["↗",fr(n.ascend,_)," "]}),(0,e.jsxs)("span",{title:l("total_descend",[Math.round(n.descend)+"m"]),children:["↘",fr(n.descend,_)]})]}),n.description&&(0,e.jsxs)("span",{className:Jy.resultTertiaryText,children:[l("Via")," ",n.description]})]}),i&&(0,e.jsxs)(So,{className:Jy.exportButton,onClick:()=>function(e,t){let n='<?xml version="1.0" encoding="UTF-8" standalone="no" ?><gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" creator="GraphHopper" version="1.1" xmlns:gh="https://graphhopper.com/public/schema/gpx/1.1">\n';n+=`<metadata><copyright author="OpenStreetMap contributors"/><link href="http://graphhopper.com"><text>GraphHopper GPX</text></link><time>${(new Date).toISOString()}</time></metadata>\n`;const i=t.gpxExportRte,r=t.gpxExportWpt,o=t.gpxExportTrk;r&&(n+=e.snapped_waypoints.coordinates.reduce(((e,t)=>e+`<wpt lat="${t[1]}" lon="${t[0]}"></wpt>\n`),"")),i&&(n+="<rte>\n",n+=e.instructions.reduce(((e,t)=>{let n=`<rtept lat="${t.points[0][1].toFixed(6)}" lon="${t.points[0][0].toFixed(6)}">`;return n+=`<desc>${t.text}</desc><extensions><gh:distance>${t.distance}</gh:distance>`,n+=`<gh:time>${t.time}</gh:time><gh:sign>${t.sign}</gh:sign>`,n+="</extensions></rtept>\n",e+n}),""),n+="</rte>\n"),o&&(n+="<trk>\n<name>GraphHopper Track</name><desc></desc>\n<trkseg>",n+=e.points.coordinates.reduce(((e,t)=>{let n="<trkpt ";return n+=`lat="${t[1].toFixed(6)}" lon="${t[0].toFixed(6)}">`,t.length>2&&(n+=`<ele>${t[2].toFixed(1)}</ele>`),n+="</trkpt>\n",e+n}),""),n+="</trkseg></trk>\n</gpx>");const s=document.createElement("a"),a=new Blob([n],{type:"application/gpx+xml"});s.href=URL.createObjectURL(a);const l=new Date;s.download=`GraphHopper-Track-${l.getUTCFullYear()}-${Jv(l.getUTCMonth()+1)}-${Jv(l.getUTCDate())}-${function(e,t){return t?e<1609.34?Math.floor(e/.3048)+"ft":Math.round(e/1609.34)+"mi":e<1e3?Math.floor(e)+"m":Math.round(e/1e3)+"km"}(e.distance,t.showDistanceInMiles)}.gpx`,s.click()}(n,f),children:[(0,e.jsx)(ov,{}),(0,e.jsx)("div",{children:l("gpx_button")})]}),i&&(0,e.jsxs)(So,{className:o?Jy.detailsButtonExpanded:Jy.detailsButton,onClick:()=>s(!o),children:[(0,e.jsx)(nv,{}),(0,e.jsx)("div",{children:l(o?"hide_button":"details_button")})]})]})}),i&&!o&&R&&(0,e.jsxs)("div",{className:Jy.routeHints,children:[(0,e.jsxs)("div",{className:Jy.icons,children:[(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains_ford"),setType:e=>u(e),type:"ford",child:(0,e.jsx)(_v,{}),value:g.distance>0&&fr(g.distance,_),selected:a,segments:g.segments,values:[]}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_crosses_border"),setType:e=>u(e),type:"border",child:(0,e.jsx)(Tv,{}),value:P.values.length>0&&P.values[0],selected:a,segments:P.segments,values:P.values}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains_ferry"),setType:e=>u(e),type:"ferry",child:(0,e.jsx)(xv,{}),value:y.distance>0&&fr(y.distance,_),selected:a,segments:y.segments,values:[]}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains_restrictions"),setType:e=>u(e),type:"access_conditional",child:(0,e.jsx)(yv,{}),value:v.distance>0&&fr(v.distance,_),selected:a,segments:v.segments,values:v.values}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains_restrictions"),setType:e=>u(e),type:"foot_access_conditional",child:(0,e.jsx)(yv,{}),value:b.distance>0&&fr(b.distance,_),selected:a,segments:b.segments,values:b.values}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains_restrictions"),setType:e=>u(e),type:"bike_access_conditional",child:(0,e.jsx)(yv,{}),value:w.distance>0&&fr(w.distance,_),selected:a,segments:w.segments,values:w.values}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains",[l("private_sections")]),setType:e=>u(e),type:"private",child:(0,e.jsx)(Cv,{}),value:C.distance>0&&fr(C.distance,_),selected:a,segments:C.segments,values:[]}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains_toll"),setType:e=>u(e),type:"toll",child:_?(0,e.jsx)(Lv,{}):(0,e.jsx)(Rv,{}),value:m.distance>0&&fr(m.distance,_),selected:a,segments:m.segments,values:[]}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains",[l("challenging_sections")]),setType:e=>u(e),type:"mtb_rating",child:(0,e.jsx)(Wv,{}),value:k.distance>0&&fr(k.distance,_),selected:a,segments:k.segments,values:k.values}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains",[l("challenging_sections")]),setType:e=>u(e),type:"hike_rating",child:(0,e.jsx)(Wv,{}),value:x.distance>0&&fr(x.distance,_),selected:a,segments:x.segments,values:x.values}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains",[l("steps")]),setType:e=>u(e),type:"steps",child:(0,e.jsx)(Ev,{}),value:E.distance>0&&fr(E.distance,_),selected:a,segments:E.segments,values:[]}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains",[l("tracks")]),setType:e=>u(e),type:"tracks",child:(0,e.jsx)(Gv,{}),value:S.distance>0&&fr(S.distance,_),selected:a,segments:S.segments,values:S.values}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("trunk_roads_warn"),setType:e=>u(e),type:"trunk",child:(0,e.jsx)(Wv,{}),value:A.distance>0&&fr(A.distance,_),selected:a,segments:A.segments,values:[]}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("get_off_bike_for",[fr(T.distance,_)]),setType:e=>u(e),type:"get_off_bike",child:(0,e.jsx)(Fv,{}),value:T.distance>0&&fr(T.distance,_),selected:a,segments:T.segments,values:[]}),(0,e.jsx)(Zv,{setDescription:e=>h(e),description:l("way_contains",[l("steep_sections")]),setType:e=>u(e),type:"steep_sections",child:(0,e.jsx)(Nv,{}),value:M.distance>0&&fr(M.distance,_),selected:a,segments:M.segments,values:M.values})]}),d&&(0,e.jsx)("div",{children:d})]}),o&&(0,e.jsx)(cv,{instructions:n.instructions,us:_}),o&&(0,e.jsxs)("div",{className:Jy.routingResultRoadData,children:[l("road_data_from"),": ",t.road_data_timestamp]})]})}function Zv(t){let[n,i]=(0,c.useState)(0);return!1===t.value?null:(0,e.jsxs)(So,{className:t.selected==t.type?Jy.selectedRouteHintButton:Jy.routeHintButton,onClick:()=>{if(t.setType(t.type),n<0)Ii.dispatch(new or([])),t.setDescription("");else{let e;e="get_off_bike"==t.type?t.description:"border"==t.type?t.description+": "+t.values[n]:t.values&&t.values[n]?t.type.includes("rating")?t.description+": "+t.value+" ("+t.type+":"+t.values[n]+")":t.type.includes("steep")?t.description+": "+t.values[n]:t.description+": "+t.value+" "+t.values[n]:t.description+": "+t.value,t.setDescription(e),Ii.dispatch(new or(t.segments)),t.segments.length>n&&Ii.dispatch(new nr(function(e){const t=Tr(e[0],.002);return e.length,e.forEach((e=>{t[0]=Math.min(t[0],e.lng),t[1]=Math.min(t[1],e.lat),t[2]=Math.max(t[2],e.lng),t[3]=Math.max(t[3],e.lat)})),t[2]-t[0]<.005&&(t[0]-=.0025,t[2]+=.0025),t[3]-t[1]<.005&&(t[1]-=.0025,t[3]+=.0025),t}(t.segments[n])))}i(n+1>=t.segments.length?-1:n+1)},title:t.description,children:[t.child,(0,e.jsx)("span",{children:t.value})]})}class Kv{constructor(){this.segments=[],this.distance=0,this.values=[]}}function Xv(e){return{lng:e[0],lat:e[1]}}function Yv(e,t,n){if(!t)return new Kv;let i=new Kv;const r=e.coordinates;for(const e in t)if(n(t[e][2])){const n=t[e][0],o=t[e][1],s=[];for(let e=n;e<o;e++){const t=Qv(r[e],r[e+1]);i.distance+=t,0==t&&(i.distance+=.01),s.push(Xv(r[e]))}s.push(Xv(r[o])),i.values.push(t[e][2]),i.segments.push(s)}return i}function Qv(e,t){return Sr({lat:e[1],lng:e[0]},{lat:t[1],lng:t[0]})}function Jv(e){return e<10?"0"+e:""+e}function eb(){return(0,e.jsx)("div",{className:Jy.resultRow,children:(0,e.jsxs)("div",{className:Jy.placeholderContainer,children:[(0,e.jsx)("div",{className:Jy.placeholderMain}),(0,e.jsx)("div",{className:Jy.placeholderMain+" "+Jy.placeholderSecondary})]})})}function tb(e){return e.some((e=>e.state===Rr.SENT))}function nb(t){return t.paths.length>0?(0,e.jsx)($v,{path:t.selectedPath,isSelected:!0,profile:t.profile,info:t.info}):tb(t.currentRequest.subRequests)?(0,e.jsx)(eb,{},1):""}function ib({info:t,paths:n,currentRequest:i,selectedPath:r,profile:o}){const s=function(e,t){return t.length>0&&tb(t)?Math.max(e.length,...t.filter((e=>e.state===Rr.SENT)).map((e=>e.args.maxAlternativeRoutes))):e.length}(n,i.subRequests),a=[];for(let i=0;i<s;i++)i<n.length?a.push((0,e.jsx)($v,{path:n[i],isSelected:n[i]===r,profile:o,info:t},i)):a.push((0,e.jsx)(eb,{},i));return a}var rb=n(5437),ob={};ob.styleTagTransform=x(),ob.setAttributes=m(),ob.insert=_().bind(null,"head"),ob.domAPI=p(),ob.insertStyleElement=v(),d()(rb.A,ob);const sb=rb.A&&rb.A.locals?rb.A.locals:void 0;var ab,lb,cb,ub,db,hb,pb,fb;function _b(){return _b=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_b.apply(this,arguments)}const gb=function(e){return c.createElement("svg",_b({xmlns:"http://www.w3.org/2000/svg",width:260,height:30,viewBox:"0 0 260 50"},e),ab||(ab=c.createElement("g",{fill:"#ccc"},c.createElement("path",{d:"M118.239 24.82v13.557h-6.462V28.04c0-1.948-.042-3.286-.125-4.015-.072-.729-.204-1.266-.395-1.61a2.705 2.705 0 0 0-1.023-1.074 2.752 2.752 0 0 0-1.472-.397c-1.34 0-2.393.576-3.159 1.73-.766 1.139-1.149 2.723-1.149 4.75v10.953H98.03c-5.456-18.695 6.405-40.603 6.425-19.003.97-1.299 1.999-2.253 3.087-2.862 1.09-.623 2.292-.935 3.608-.935 2.322 0 4.08.789 5.277 2.366 1.209 1.577 1.813 3.87 1.813 6.878M145.469 20.34c-3.726 6.104-.904 16.197 4.033 18.054H138.3v-12.83c0-2.02-.047-3.409-.14-4.164-.08-.756-.226-1.313-.44-1.67a2.903 2.903 0 0 0-1.138-1.113c-.48-.275-1.025-.413-1.638-.413-1.491 0-2.663.598-3.516 1.794-.852 1.182-1.278 2.824-1.278 4.927v13.47h-7.152c-6.071-19.39 7.071-43.55 7.152-21.82 1.079-1.346 2.224-2.335 3.436-2.968 1.212-.646 2.55-.969 4.015-.969 2.583 0 4.541.818 5.873 2.454.797.858 1.88 2.74 2.017 4.47"}),c.createElement("path",{d:"M156.659 20.48c-1.372 0-2.422.557-3.148 1.67-.715 1.101-1.072 2.694-1.072 4.78 0 2.084.357 3.683 1.072 4.797.726 1.1 1.776 1.651 3.148 1.651 1.35 0 2.381-.55 3.096-1.65.715-1.115 1.073-2.714 1.073-4.799 0-2.085-.358-3.678-1.073-4.778-.715-1.114-1.747-1.67-3.096-1.671m0-4.973c3.333 0 5.933 1.01 7.801 3.03 1.88 2.02 2.82 4.818 2.82 8.392s-.94 6.371-2.82 8.392c-1.868 2.02-4.468 3.03-7.801 3.03-3.344 0-5.962-1.01-7.853-3.03-1.88-2.02-2.82-4.818-2.82-8.392s.94-6.371 2.82-8.392c1.891-2.02 4.509-3.03 7.853-3.03"}),c.createElement("path",{d:"M175.189 34.62v11.385c-14.984 2.813-5.88-24.53 2.784-29.547 1.019-.607 2.19-.91 3.514-.91 2.343 0 4.267 1.065 5.773 3.195 1.505 2.117 2.257 4.847 2.257 8.19 0 3.343-.752 6.08-2.257 8.21-1.506 2.116-3.43 3.175-5.773 3.175-1.324 0-2.495-.297-3.514-.89-1.018-.608-1.947-1.543-2.784-2.808m4.04-14.038c-1.301 0-2.303.548-3.004 1.645-.69 1.085-1.036 2.653-1.036 4.705 0 2.053.345 3.628 1.036 4.725.701 1.084 1.703 1.626 3.005 1.626 1.301 0 2.291-.542 2.97-1.626.69-1.084 1.036-2.66 1.036-4.725 0-2.065-.345-3.64-1.035-4.724-.68-1.084-1.67-1.626-2.971-1.626M247.119 21.34c-1.797 0-3.228.538-4.204 1.7-.964 1.15-1.446 2.804-1.446 4.96v10.117c-16.799 2.842-4.274-17.8 3.086-21.486 1.782-.81 3.284-1.047 4.961-.96 2.758-.027 2.22 3.442 1.476 5.72M218.249 18.13c1.806-1.43 5.043-2.78 8.148-2.59 3.656.226 5.387 2.173 6.333 4.28 1.025 2.938.94 6.068-.747 8.114-3.247 3.473-6.536 3.639-11.171 2.538 0 0 1.979 2.508 4.938 5.691-4.888 4.869-10.733.475-11.814-4.518-.86-3.975-.024-10.079 4.314-13.515zm5.161 2.285c-1.541.03-2.232.519-2.936 1.228-.657.813-.71 1.812-.748 2.874-.05 1.405.41 2.368.903 2.87.794.705 1.846.85 2.922.849 1.036-.002 1.882-.264 2.53-.913.311-.362.987-1.089.965-2.863-.002-1.467-.333-2.303-.909-2.945-.917-.842-1.64-1.063-2.556-1.089M50.509 21.37c-2.047 0-3.228.54-4.204 1.71-.964 1.156-1.446 2.819-1.446 4.987v10.17c-16.799 2.857-4.274-17.896 3.086-21.602 1.782-.815 3.284-1.053 4.961-.966 2.758-.026 2.22 3.461 1.476 5.752"}),c.createElement("path",{d:"M27.479 11.39c-3.53-3.949-9.117-4.201-12.908-1.616-2.728 1.907-4.671 4.846-5.83 8.818-1.158 3.972-1.108 7.527.149 10.666 3.315 6.812 9.042 7.113 15.514 5.886 0 0-2.094 4.523-3.623 7.642 7.77 7.645 12.59 1.003 13.302-7.188.714-8.192-1.733-19.477-6.604-24.207zm-2.905 3.813c1.725.526 2.862 1.582 3.412 3.17.54 1.567.453 3.57-.258 6.008-.71 2.438-1.714 4.17-3.009 5.194-1.305 1.005-2.82 1.244-4.545.719-1.725-.526-2.85-1.57-3.374-3.133-.539-1.567-.45-3.578.265-6.031.715-2.454 1.718-4.186 3.009-5.195 1.275-1.014 2.775-1.258 4.5-.732M197.409 34.69v11.385c-14.984 2.813-5.88-24.53 2.784-29.547 1.019-.607 2.19-.91 3.514-.91 2.343 0 4.267 1.065 5.773 3.195 1.505 2.117 2.258 4.847 2.258 8.19 0 3.343-.753 6.08-2.258 8.21-1.506 2.116-3.43 3.175-5.773 3.175-1.324 0-2.495-.297-3.514-.89-1.018-.608-1.946-1.543-2.784-2.808m4.04-14.038c-1.301 0-2.303.548-3.004 1.645-.69 1.085-1.036 2.653-1.036 4.705 0 2.053.345 3.628 1.036 4.725.701 1.084 1.703 1.626 3.005 1.626 1.301 0 2.291-.542 2.97-1.626.69-1.084 1.036-2.66 1.036-4.725 0-2.065-.345-3.64-1.035-4.724-.68-1.084-1.67-1.626-2.971-1.626M80.239 34.74v11.385c-14.984 2.813-5.88-24.53 2.784-29.547 1.019-.607 2.19-.91 3.514-.91 2.343 0 4.267 1.065 5.773 3.195 1.505 2.117 2.258 4.847 2.258 8.19 0 3.343-.753 6.08-2.258 8.21-1.506 2.116-3.43 3.175-5.773 3.175-1.324 0-2.495-.297-3.514-.89-1.018-.608-1.946-1.543-2.784-2.808m4.04-14.038c-1.301 0-2.303.548-3.004 1.645-.69 1.085-1.036 2.653-1.036 4.705 0 2.053.345 3.628 1.036 4.725.701 1.084 1.703 1.626 3.004 1.626 1.302 0 2.292-.542 2.972-1.626.69-1.084 1.035-2.66 1.035-4.725 0-2.065-.345-3.64-1.035-4.724-.68-1.084-1.67-1.626-2.972-1.626"}))),lb||(lb=c.createElement("path",{d:"M116.859 23.54v13.557h-6.462V26.76c0-1.948-.042-3.286-.125-4.015-.072-.729-.204-1.266-.395-1.61a2.705 2.705 0 0 0-1.023-1.074 2.752 2.752 0 0 0-1.472-.397c-1.34 0-2.393.576-3.159 1.73-.766 1.139-1.149 2.723-1.149 4.75v10.953H96.65c-5.456-18.695 6.405-40.603 6.425-19.003.97-1.299 1.999-2.253 3.087-2.862 1.09-.623 2.292-.935 3.608-.935 2.322 0 4.08.789 5.277 2.366 1.209 1.577 1.813 3.87 1.813 6.878M144.089 19.05c-3.726 6.104-.904 16.197 4.033 18.054H136.92v-12.83c0-2.02-.046-3.409-.14-4.164-.08-.756-.226-1.313-.44-1.67a2.903 2.903 0 0 0-1.138-1.113c-.48-.275-1.025-.413-1.638-.413-1.491 0-2.663.598-3.516 1.794-.852 1.182-1.278 2.824-1.278 4.927v13.47h-7.152c-6.071-19.39 7.071-43.55 7.152-21.82 1.079-1.346 2.224-2.335 3.436-2.968 1.212-.646 2.55-.969 4.015-.969 2.583 0 4.541.818 5.873 2.454.797.858 1.88 2.74 2.017 4.47"})),cb||(cb=c.createElement("path",{d:"M155.279 19.2c-1.372 0-2.422.557-3.148 1.67-.715 1.101-1.073 2.694-1.073 4.78 0 2.084.358 3.683 1.073 4.797.726 1.1 1.776 1.651 3.148 1.651 1.35 0 2.381-.55 3.096-1.65.715-1.115 1.073-2.714 1.073-4.799 0-2.085-.358-3.678-1.073-4.778-.715-1.114-1.747-1.67-3.096-1.671m0-4.973c3.333 0 5.933 1.01 7.801 3.03 1.88 2.02 2.82 4.818 2.82 8.392s-.94 6.371-2.82 8.392c-1.868 2.02-4.468 3.03-7.801 3.03-3.344 0-5.962-1.01-7.853-3.03-1.88-2.02-2.82-4.818-2.82-8.392s.94-6.371 2.82-8.392c1.891-2.02 4.509-3.03 7.853-3.03"})),ub||(ub=c.createElement("path",{d:"M173.809 33.33v11.385c-14.984 2.813-5.88-24.53 2.784-29.547 1.019-.607 2.19-.91 3.514-.91 2.343 0 4.267 1.065 5.773 3.195 1.505 2.117 2.257 4.847 2.257 8.19 0 3.343-.752 6.08-2.257 8.21-1.506 2.116-3.43 3.175-5.773 3.175-1.324 0-2.495-.297-3.514-.89-1.018-.608-1.946-1.543-2.784-2.808m4.04-14.038c-1.301 0-2.303.548-3.004 1.645-.69 1.085-1.036 2.653-1.036 4.705 0 2.053.345 3.628 1.036 4.725.701 1.084 1.703 1.626 3.005 1.626 1.301 0 2.291-.542 2.97-1.626.69-1.084 1.036-2.66 1.036-4.725 0-2.065-.345-3.64-1.035-4.724-.68-1.084-1.67-1.626-2.971-1.626M245.739 20.05c-1.797 0-3.228.538-4.204 1.7-.964 1.15-1.446 2.804-1.446 4.96v10.117c-16.799 2.842-4.274-17.8 3.086-21.486 1.782-.81 3.284-1.047 4.961-.96 2.758-.027 2.22 3.442 1.476 5.72M216.869 16.85c1.806-1.43 5.043-2.78 8.148-2.59 3.656.226 5.387 2.173 6.333 4.28 1.025 2.938.94 6.068-.747 8.114-3.247 3.473-6.536 3.639-11.171 2.538 0 0 1.979 2.508 4.938 5.691-4.888 4.869-10.733.475-11.814-4.518-.86-3.975-.024-10.079 4.314-13.515zm5.161 2.285c-1.541.03-2.232.519-2.936 1.228-.657.813-.71 1.812-.748 2.874-.05 1.405.41 2.368.903 2.87.794.705 1.846.85 2.922.849 1.036-.002 1.882-.264 2.53-.913.311-.362.987-1.089.965-2.863-.002-1.467-.333-2.303-.909-2.945-.917-.842-1.64-1.063-2.556-1.089M49.129 20.08c-2.047 0-3.228.54-4.204 1.71-.964 1.156-1.446 2.819-1.446 4.987v10.17c-16.799 2.857-4.274-17.896 3.086-21.602 1.782-.815 3.284-1.053 4.961-.966 2.758-.026 2.22 3.461 1.476 5.752"})),db||(db=c.createElement("path",{d:"M26.099 10.1c-3.53-3.949-9.117-4.201-12.908-1.616-2.728 1.907-4.671 4.846-5.83 8.818-1.158 3.972-1.108 7.527.149 10.666 3.315 6.812 9.042 7.113 15.514 5.886 0 0-2.094 4.523-3.623 7.642 7.77 7.645 12.59 1.003 13.302-7.188.714-8.192-1.733-19.477-6.604-24.207zm-2.905 3.813c1.725.526 2.862 1.582 3.412 3.17.54 1.567.453 3.57-.258 6.008-.71 2.438-1.714 4.17-3.009 5.194-1.305 1.005-2.82 1.244-4.545.719-1.725-.526-2.85-1.57-3.373-3.133-.54-1.567-.452-3.578.264-6.031.715-2.454 1.718-4.186 3.009-5.195 1.275-1.014 2.776-1.258 4.5-.732M196.029 33.4v11.385c-14.984 2.813-5.88-24.53 2.784-29.547 1.019-.607 2.19-.91 3.514-.91 2.343 0 4.267 1.065 5.773 3.195 1.505 2.117 2.258 4.847 2.258 8.19 0 3.343-.753 6.08-2.258 8.21-1.506 2.116-3.43 3.175-5.773 3.175-1.324 0-2.495-.297-3.514-.89-1.018-.608-1.946-1.543-2.784-2.808m4.04-14.038c-1.301 0-2.303.548-3.004 1.645-.69 1.085-1.036 2.653-1.036 4.705 0 2.053.345 3.628 1.036 4.725.701 1.084 1.703 1.626 3.005 1.626 1.301 0 2.291-.542 2.97-1.626.69-1.084 1.036-2.66 1.036-4.725 0-2.065-.345-3.64-1.035-4.724-.68-1.084-1.67-1.626-2.971-1.626M78.849 33.45v11.385c-14.984 2.813-5.88-24.53 2.784-29.547 1.019-.607 2.19-.91 3.514-.91 2.343 0 4.267 1.065 5.773 3.195 1.505 2.117 2.257 4.847 2.257 8.19 0 3.343-.752 6.08-2.257 8.21-1.506 2.116-3.43 3.175-5.773 3.175-1.324 0-2.495-.297-3.514-.89-1.018-.608-1.947-1.543-2.784-2.808m4.04-14.038c-1.301 0-2.303.548-3.004 1.645-.69 1.085-1.036 2.653-1.036 4.705 0 2.053.345 3.628 1.036 4.725.701 1.084 1.703 1.626 3.004 1.626 1.302 0 2.292-.542 2.971-1.626.69-1.084 1.036-2.66 1.036-4.725 0-2.065-.345-3.64-1.036-4.724-.679-1.084-1.669-1.626-2.97-1.626"})),hb||(hb=c.createElement("g",{fill:"#ccc"},c.createElement("path",{d:"M68.49 35.284c-1.644 1.535-4.681 3.097-7.702 3.137-3.556.047-5.373-1.737-6.442-3.735-1.205-2.807-1.349-5.884.138-8.014 2.893-3.645 6.065-4.049 10.634-3.308 0 0-2.098-2.315-5.194-5.222 4.381-5.134 9.077-1.296 10.485 3.523 1.121 3.837 2.034 9.93-1.918 13.62zm-4.85-1.802c.835.015 1.593-.453 2.223-1.2.578-.846.824-1.86.798-2.905-.022-.852-.193-1.637-.676-2.562-.6-.916-1.41-1.263-2.328-1.276-1.005-.014-1.647.303-2.227.988-.884 1.073-1.205 3.575-.135 5.607.45.759 1.048 1.394 2.218 1.352"}),c.createElement("path",{d:"m71.37 27.544.028 3.465c-.773 1.761-1.44 3.843-1.63 7.355h-3.121l-.044-2.607.882-7.866"}))),pb||(pb=c.createElement("path",{d:"M67.359 34.01c-1.645 1.535-4.682 3.097-7.702 3.137-3.557.047-5.374-1.737-6.443-3.735-1.205-2.807-1.349-5.884.138-8.014 2.893-3.645 6.065-4.049 10.634-3.308 0 0-2.098-2.315-5.194-5.222 4.381-5.134 9.078-1.296 10.485 3.523 1.121 3.837 2.034 9.93-1.918 13.62zm-4.85-1.802c.834.015 1.592-.453 2.222-1.2.579-.846.825-1.86.798-2.905-.021-.852-.192-1.637-.675-2.562-.601-.916-1.412-1.263-2.329-1.276-1.005-.014-1.771.49-2.351 1.175-.884 1.073-1.205 3.513-.136 5.545.45.759 1.173 1.27 2.343 1.227"})),fb||(fb=c.createElement("path",{d:"m70.239 26.27.028 3.465c-.774 1.761-1.44 3.843-1.63 7.355h-3.122l-.044-2.607.882-7.866"})))};function mb(){return(0,e.jsxs)("div",{className:sb.poweredByContainer,children:[(0,e.jsx)("span",{children:l("powered_by")}),(0,e.jsx)("a",{className:sb.logoContainer,href:"https://www.graphhopper.com",target:"_blank",children:(0,e.jsx)(gb,{})})]})}class yb extends Wl{constructor(e){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),e)if("function"==typeof e.getSimplifiedGeometry){const t=e;this.setGeometry(t)}else{const t=e;this.setProperties(t)}}clone(){const e=new yb(this.hasProperties()?this.getProperties():null);e.setGeometryName(this.getGeometryName());const t=this.getGeometry();t&&e.setGeometry(t.clone());const n=this.getStyle();return n&&e.setStyle(n),e}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(Dl(this.geometryChangeKey_),this.geometryChangeKey_=null);const e=this.getGeometry();e&&(this.geometryChangeKey_=Fl(e,Tl,this.handleGeometryChange_,this)),this.changed()}setGeometry(e){this.set(this.geometryName_,e)}setStyle(e){this.style_=e,this.styleFunction_=e?function(e){if("function"==typeof e)return e;let t;return Array.isArray(e)?t=e:(sc("function"==typeof e.getZIndex,"Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),t=[e]),function(){return t}}(e):void 0,this.changed()}setId(e){this.id_=e,this.changed()}setGeometryName(e){this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=e,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_()}}const vb=yb,bb="preload",xb="useInterimTilesOnError",wb=class extends zu{constructor(e){e=e||{};const t=Object.assign({},e),n=e.cacheSize;delete e.cacheSize,delete t.preload,delete t.useInterimTilesOnError,super(t),this.on,this.once,this.un,this.cacheSize_=n,this.setPreload(void 0!==e.preload?e.preload:0),this.setUseInterimTilesOnError(void 0===e.useInterimTilesOnError||e.useInterimTilesOnError)}getCacheSize(){return this.cacheSize_}getPreload(){return this.get(bb)}setPreload(e){this.set(bb,e)}getUseInterimTilesOnError(){return this.get(xb)}setUseInterimTilesOnError(e){this.set(xb,e)}getData(e){return super.getData(e)}},kb=class extends ql{constructor(e){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=e,this.staleKeys_=new Array,this.maxStaleKeys=5}getStaleKeys(){return this.staleKeys_}prependStaleKey(e){this.staleKeys_.unshift(e),this.staleKeys_.length>this.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(e){return Bl()}getData(e){return null}prepareFrame(e){return Bl()}renderFrame(e,t){return Bl()}forEachFeatureAtCoordinate(e,t,n,i,r){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(e){const t=e.target;2!==t.getState()&&3!==t.getState()||this.renderIfReadyAndVisible()}loadImage(e){let t=e.getState();return 2!=t&&3!=t&&e.addEventListener(Tl,this.boundHandleImageChange_),0==t&&(e.load(),t=e.getState()),2==t}renderIfReadyAndVisible(){const e=this.getLayer();e&&e.getVisible()&&"ready"===e.getSourceState()&&e.changed()}renderDeferred(e){}disposeInternal(){delete this.layer_,super.disposeInternal()}},Cb=class{constructor(){this.instructions_=[],this.zIndex=0,this.offset_=0,this.context_=new Proxy(Pd(),{get:(e,t)=>{if("function"==typeof Pd()[t])return this.instructions_[this.zIndex+this.offset_]||(this.instructions_[this.zIndex+this.offset_]=[]),this.instructions_[this.zIndex+this.offset_].push(t),this.pushMethodArgs_},set:(e,t,n)=>(this.instructions_[this.zIndex+this.offset_]||(this.instructions_[this.zIndex+this.offset_]=[]),this.instructions_[this.zIndex+this.offset_].push(t,n),!0)})}pushMethodArgs_=(...e)=>(this.instructions_[this.zIndex+this.offset_].push(e),this);pushFunction(e){this.instructions_[this.zIndex+this.offset_].push(e)}getContext(){return this.context_}draw(e){this.instructions_.forEach((t=>{for(let n=0,i=t.length;n<i;++n){const i=t[n];if("function"==typeof i){i(e);continue}const r=t[++n];if("function"==typeof e[i])e[i](...r);else{if("function"==typeof r){e[i]=r(e);continue}e[i]=r}}}))}clear(){this.instructions_.length=0,this.zIndex=0,this.offset_=0}offset(){this.offset_=this.instructions_.length,this.zIndex=0}},Sb=[];let Ab=null;const Eb=class extends kb{constructor(e){super(e),this.container=null,this.renderedResolution,this.tempTransform=[1,0,0,1,0,0],this.pixelTransform=[1,0,0,1,0,0],this.inversePixelTransform=[1,0,0,1,0,0],this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(e,t,n){let i;Ab||(Ab=Md(1,1,void 0,{willReadFrequently:!0})),Ab.clearRect(0,0,1,1);try{Ab.drawImage(e,t,n,1,1,0,0,1,1),i=Ab.getImageData(0,0,1,1).data}catch(e){return Ab=null,null}return i}getBackground(e){let t=this.getLayer().getBackground();return"function"==typeof t&&(t=t(e.viewState.resolution)),t||void 0}useContainer(e,t,n){const i=this.getLayer().getClassName();let r,o;if(e&&e.className===i&&(!n||e&&e.style.backgroundColor&&bl(md(e.style.backgroundColor),md(n)))){const t=e.firstElementChild;t instanceof HTMLCanvasElement&&(o=t.getContext("2d"))}if(o&&o.canvas.style.transform===t?(this.container=e,this.context=o,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){r=document.createElement("div"),r.className=i;let e=r.style;e.position="absolute",e.width="100%",e.height="100%",o=Md();const t=o.canvas;r.appendChild(t),e=t.style,e.position="absolute",e.left="0",e.transformOrigin="top left",this.container=r,this.context=o}this.containerReused||!n||this.container.style.backgroundColor||(this.container.style.backgroundColor=n)}clipUnrotated(e,t,n){const i=ca(n),r=ua(n),o=ia(n),s=na(n);Mc(t.coordinateToPixelTransform,i),Mc(t.coordinateToPixelTransform,r),Mc(t.coordinateToPixelTransform,o),Mc(t.coordinateToPixelTransform,s);const a=this.inversePixelTransform;Mc(a,i),Mc(a,r),Mc(a,o),Mc(a,s),e.save(),e.beginPath(),e.moveTo(Math.round(i[0]),Math.round(i[1])),e.lineTo(Math.round(r[0]),Math.round(r[1])),e.lineTo(Math.round(o[0]),Math.round(o[1])),e.lineTo(Math.round(s[0]),Math.round(s[1])),e.clip()}prepareContainer(e,t){const n=e.extent,i=e.viewState.resolution,r=e.viewState.rotation,o=e.pixelRatio,s=Math.round(da(n)/i*o),a=Math.round(aa(n)/i*o);Pc(this.pixelTransform,e.size[0]/2,e.size[1]/2,1/o,1/o,r,-s/2,-a/2),Rc(this.inversePixelTransform,this.pixelTransform);const l=function(e){const t="matrix("+e.map(((e,t)=>Math.round(e*Ic[t])/Ic[t])).join(", ")+")";return t}(this.pixelTransform);if(this.useContainer(t,l,this.getBackground(e)),!this.containerReused){const e=this.context.canvas;e.width!=s||e.height!=a?(e.width=s,e.height=a):this.context.clearRect(0,0,s,a),l!==e.style.transform&&(e.style.transform=l)}}dispatchRenderEvent_(e,t,n){const i=this.getLayer();if(i.hasListener(e)){const r=new Pf(e,this.inversePixelTransform,n,t);i.dispatchEvent(r)}}preRender(e,t){this.frameState=t,t.declutter||this.dispatchRenderEvent_(lc,e,t)}postRender(e,t){t.declutter||this.dispatchRenderEvent_(cc,e,t)}renderDeferredInternal(e){}getRenderContext(e){return e.declutter&&!this.deferredContext_&&(this.deferredContext_=new Cb),e.declutter?this.deferredContext_.getContext():this.context}renderDeferred(e){e.declutter&&(this.dispatchRenderEvent_(lc,this.context,e),e.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(e),this.dispatchRenderEvent_(cc,this.context,e))}getRenderTransform(e,t,n,i,r,o,s){const a=r/2,l=o/2,c=i/t,u=-c,d=-e[0]+s,h=-e[1];return Pc(this.tempTransform,a,l,c,u,-n,d,h)}disposeInternal(){delete this.frameState,super.disposeInternal()}},Mb=class extends Ml{constructor(e,t,n){super(),n=n||{},this.tileCoord=e,this.state=t,this.key="",this.transition_=void 0===n.transition?250:n.transition,this.transitionStarts_={},this.interpolate=!!n.interpolate}changed(){this.dispatchEvent(Tl)}release(){3===this.state&&this.setState(4)}getKey(){return this.key+"/"+this.tileCoord}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(e){if(3!==this.state&&this.state>e)throw new Error("Tile load sequence violation");this.state=e,this.changed()}load(){Bl()}getAlpha(e,t){if(!this.transition_)return 1;let n=this.transitionStarts_[e];if(n){if(-1===n)return 1}else n=t,this.transitionStarts_[e]=n;const i=t-n+1e3/60;return i>=this.transition_?1:bc(i/this.transition_)}inTransition(e){return!!this.transition_&&-1!==this.transitionStarts_[e]}endTransition(e){this.transition_&&(this.transitionStarts_[e]=-1)}disposeInternal(){this.release(),super.disposeInternal()}};function Tb(e){return e instanceof Image||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageBitmap?e:null}const Pb=new Error("disposed");let Rb=null;const Ib=[256,256],Lb=class extends Mb{constructor(e){super(e.tileCoord,0,{transition:e.transition,interpolate:e.interpolate}),this.loader_=e.loader,this.data_=null,this.error_=null,this.size_=e.size||null,this.controller_=e.controller||null}getSize(){if(this.size_)return this.size_;const e=Tb(this.data_);return e?[e.width,e.height]:Ib}getData(){return this.data_}getError(){return this.error_}load(){if(0!==this.state&&3!==this.state)return;this.state=1,this.changed();const e=this;this.loader_().then((function(t){e.data_=t,e.state=2,e.changed()})).catch((function(t){e.error_=t,e.state=3,e.changed()}))}disposeInternal(){this.controller_&&(this.controller_.abort(Pb),this.controller_=null),super.disposeInternal()}},zb=class extends Mb{constructor(e,t,n,i,r,o){super(e,t,o),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_=new Image,null!==i&&(this.image_.crossOrigin=i),this.unlisten_=null,this.tileLoadFunction_=r}getImage(){return this.image_}setImage(e){this.image_=e,this.state=2,this.unlistenImage_(),this.changed()}handleImageError_(){this.state=3,this.unlistenImage_(),this.image_=function(){const e=Md(1,1);return e.fillStyle="rgba(0,0,0,0)",e.fillRect(0,0,1,1),e.canvas}(),this.changed()}handleImageLoad_(){const e=this.image_;e.naturalWidth&&e.naturalHeight?this.state=2:this.state=4,this.unlistenImage_(),this.changed()}load(){3==this.state&&(this.state=0,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),0==this.state&&(this.state=1,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=function(e,t,n){const i=e;let r=!0,o=!1,s=!1;const a=[jl(i,"load",(function(){s=!0,o||t()}))];return i.src&&Ad?(o=!0,i.decode().then((function(){r&&t()})).catch((function(e){r&&(s?t():n())}))):a.push(jl(i,"error",n)),function(){r=!1,a.forEach(Dl)}}(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}disposeInternal(){this.unlistenImage_(),this.image_=null,super.disposeInternal()}},Ob=class{constructor(e){this.highWaterMark=void 0!==e?e:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(e){for(;this.canExpireCache();){const e=this.pop();e instanceof _l&&e.dispose()}}clear(){this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}containsKey(e){return this.entries_.hasOwnProperty(e)}forEach(e){let t=this.oldest_;for(;t;)e(t.value_,t.key_,this),t=t.newer}get(e,t){const n=this.entries_[e];return sc(void 0!==n,"Tried to get a value for a key that does not exist in the cache"),n===this.newest_||(n===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(n.newer.older=n.older,n.older.newer=n.newer),n.newer=null,n.older=this.newest_,this.newest_.newer=n,this.newest_=n),n.value_}remove(e){const t=this.entries_[e];return sc(void 0!==t,"Tried to get a value for a key that does not exist in the cache"),t===this.newest_?(this.newest_=t.older,this.newest_&&(this.newest_.newer=null)):t===this.oldest_?(this.oldest_=t.newer,this.oldest_&&(this.oldest_.older=null)):(t.newer.older=t.older,t.older.newer=t.newer),delete this.entries_[e],--this.count_,t.value_}getCount(){return this.count_}getKeys(){const e=new Array(this.count_);let t,n=0;for(t=this.newest_;t;t=t.older)e[n++]=t.key_;return e}getValues(){const e=new Array(this.count_);let t,n=0;for(t=this.newest_;t;t=t.older)e[n++]=t.value_;return e}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(e){return this.entries_[e]?.value_}pop(){const e=this.oldest_;return delete this.entries_[e.key_],e.newer&&(e.newer.older=null),this.oldest_=e.newer,this.oldest_||(this.newest_=null),--this.count_,e.value_}replace(e,t){this.get(e),this.entries_[e].value_=t}set(e,t){sc(!(e in this.entries_),"Tried to set a value for a key that is used already");const n={key_:e,newer:null,older:this.newest_,value_:t};this.newest_?this.newest_.newer=n:this.oldest_=n,this.newest_=n,this.entries_[e]=n,++this.count_}setSize(e){this.highWaterMark=e}},Fb=class{constructor(e,t,n,i,r,o){this.sourceProj_=e,this.targetProj_=t;let s={};const a=Xa(this.targetProj_,this.sourceProj_);this.transformInv_=function(e){const t=e[0]+"/"+e[1];return s[t]||(s[t]=a(e)),s[t]},this.maxSourceExtent_=i,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!i&&!!this.sourceProj_.getExtent()&&da(i)>=da(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?da(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?da(this.targetProj_.getExtent()):null;const l=ca(n),c=ua(n),u=ia(n),d=na(n),h=this.transformInv_(l),p=this.transformInv_(c),f=this.transformInv_(u),_=this.transformInv_(d),g=10+(o?Math.max(0,Math.ceil(Math.log2(ta(n)/(o*o*256*256)))):0);if(this.addQuad_(l,c,u,d,h,p,f,_,g),this.wrapsXInSource_){let e=1/0;this.triangles_.forEach((function(t,n,i){e=Math.min(e,t.source[0][0],t.source[1][0],t.source[2][0])})),this.triangles_.forEach((t=>{if(Math.max(t.source[0][0],t.source[1][0],t.source[2][0])-e>this.sourceWorldWidth_/2){const n=[[t.source[0][0],t.source[0][1]],[t.source[1][0],t.source[1][1]],[t.source[2][0],t.source[2][1]]];n[0][0]-e>this.sourceWorldWidth_/2&&(n[0][0]-=this.sourceWorldWidth_),n[1][0]-e>this.sourceWorldWidth_/2&&(n[1][0]-=this.sourceWorldWidth_),n[2][0]-e>this.sourceWorldWidth_/2&&(n[2][0]-=this.sourceWorldWidth_);const i=Math.min(n[0][0],n[1][0],n[2][0]);Math.max(n[0][0],n[1][0],n[2][0])-i<this.sourceWorldWidth_/2&&(t.source=n)}}))}s={}}addTriangle_(e,t,n,i,r,o){this.triangles_.push({source:[i,r,o],target:[e,t,n]})}addQuad_(e,t,n,i,r,o,s,a,l){const c=js([r,o,s,a]),u=this.sourceWorldWidth_?da(c)/this.sourceWorldWidth_:null,d=this.sourceWorldWidth_,h=this.sourceProj_.canWrapX()&&u>.5&&u<1;let p=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(p=da(js([e,t,n,i]))/this.targetWorldWidth_>.25||p),!h&&this.sourceProj_.isGlobal()&&u&&(p=u>.25||p)),!p&&this.maxSourceExtent_&&isFinite(c[0])&&isFinite(c[1])&&isFinite(c[2])&&isFinite(c[3])&&!ha(c,this.maxSourceExtent_))return;let f=0;if(!(p||isFinite(r[0])&&isFinite(r[1])&&isFinite(o[0])&&isFinite(o[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(a[0])&&isFinite(a[1])))if(l>0)p=!0;else if(f=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(o[0])&&isFinite(o[1])?0:4)+(isFinite(s[0])&&isFinite(s[1])?0:2)+(isFinite(a[0])&&isFinite(a[1])?0:1),1!=f&&2!=f&&4!=f&&8!=f)return;if(l>0){if(!p){const t=[(e[0]+n[0])/2,(e[1]+n[1])/2],i=this.transformInv_(t);let o;o=h?(xa(r[0],d)+xa(s[0],d))/2-xa(i[0],d):(r[0]+s[0])/2-i[0];const a=(r[1]+s[1])/2-i[1];p=o*o+a*a>this.errorThresholdSquared_}if(p){if(Math.abs(e[0]-n[0])<=Math.abs(e[1]-n[1])){const c=[(t[0]+n[0])/2,(t[1]+n[1])/2],u=this.transformInv_(c),d=[(i[0]+e[0])/2,(i[1]+e[1])/2],h=this.transformInv_(d);this.addQuad_(e,t,c,d,r,o,u,h,l-1),this.addQuad_(d,c,n,i,h,u,s,a,l-1)}else{const c=[(e[0]+t[0])/2,(e[1]+t[1])/2],u=this.transformInv_(c),d=[(n[0]+i[0])/2,(n[1]+i[1])/2],h=this.transformInv_(d);this.addQuad_(e,c,d,i,r,u,h,a,l-1),this.addQuad_(c,t,n,d,u,o,s,h,l-1)}return}}if(h){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&f||this.addTriangle_(e,n,i,r,s,a),14&f||this.addTriangle_(e,n,t,r,s,o),f&&(13&f||this.addTriangle_(t,i,e,o,a,r),7&f||this.addTriangle_(t,i,n,o,a,s))}calculateSourceExtent(){const e=[1/0,1/0,-1/0,-1/0];return this.triangles_.forEach((function(t,n,i){const r=t.source;Ys(e,r[0]),Ys(e,r[1]),Ys(e,r[2])})),e}getTriangles(){return this.triangles_}};let jb;const Db=[];function Nb(e,t,n,i,r){e.beginPath(),e.moveTo(0,0),e.lineTo(t,n),e.lineTo(i,r),e.closePath(),e.save(),e.clip(),e.fillRect(0,0,Math.max(t,i)+1,Math.max(n,r)),e.restore()}function qb(e,t){return Math.abs(e[4*t]-210)>2||Math.abs(e[4*t+3]-191.25)>2}function Bb(e,t,n,i){const r=Ya(n,t,e);let o=Va(t,i,n);const s=t.getMetersPerUnit();void 0!==s&&(o*=s);const a=e.getMetersPerUnit();void 0!==a&&(o/=a);const l=e.getExtent();if(!l||Bs(l,r)){const t=Va(e,o,r)/o;isFinite(t)&&t>0&&(o/=t)}return o}function Gb(e,t,n,i){const r=ra(n);let o=Bb(e,t,r,i);return(!isFinite(o)||o<=0)&&ea(n,(function(n){return o=Bb(e,t,n,i),isFinite(o)&&o>0})),o}function Vb(e,t,n,i,r,o,s,a,l,c,u,d,h,p){const f=Md(Math.round(n*e),Math.round(n*t),Db);if(d||(f.imageSmoothingEnabled=!1),0===l.length)return f.canvas;function _(e){return Math.round(e*n)/n}f.scale(n,n),f.globalCompositeOperation="lighter";const g=[1/0,1/0,-1/0,-1/0];let m;l.forEach((function(e,t,n){Xs(g,e.extent)}));const y=n/i,v=(d?1:1+Math.pow(2,-24))/y;if(!h||1!==l.length||0!==c){if(m=Md(Math.round(da(g)*y),Math.round(aa(g)*y),Db),d||(m.imageSmoothingEnabled=!1),r&&p){const e=(r[0]-g[0])*y,t=-(r[3]-g[3])*y,n=da(r)*y,i=aa(r)*y;m.rect(e,t,n,i),m.clip()}l.forEach((function(e,t,n){if(e.image.width>0&&e.image.height>0){if(e.clipExtent){m.save();const t=(e.clipExtent[0]-g[0])*y,n=-(e.clipExtent[3]-g[3])*y,i=da(e.clipExtent)*y,r=aa(e.clipExtent)*y;m.rect(d?t:Math.round(t),d?n:Math.round(n),d?i:Math.round(t+i)-Math.round(t),d?r:Math.round(n+r)-Math.round(n)),m.clip()}const t=(e.extent[0]-g[0])*y,n=-(e.extent[3]-g[3])*y,i=da(e.extent)*y,r=aa(e.extent)*y;m.drawImage(e.image,c,c,e.image.width-2*c,e.image.height-2*c,d?t:Math.round(t),d?n:Math.round(n),d?i:Math.round(t+i)-Math.round(t),d?r:Math.round(n+r)-Math.round(n)),e.clipExtent&&m.restore()}}))}const b=ca(s);return a.getTriangles().forEach((function(e,t,n){const i=e.source,r=e.target;let s=i[0][0],a=i[0][1],c=i[1][0],u=i[1][1],h=i[2][0],p=i[2][1];const y=_((r[0][0]-b[0])/o),x=_(-(r[0][1]-b[1])/o),w=_((r[1][0]-b[0])/o),k=_(-(r[1][1]-b[1])/o),C=_((r[2][0]-b[0])/o),S=_(-(r[2][1]-b[1])/o),A=s,E=a;s=0,a=0,c-=A,u-=E,h-=A,p-=E;const M=function(e){const t=e.length;for(let n=0;n<t;n++){let i=n,r=Math.abs(e[n][n]);for(let o=n+1;o<t;o++){const t=Math.abs(e[o][n]);t>r&&(r=t,i=o)}if(0===r)return null;const o=e[i];e[i]=e[n],e[n]=o;for(let i=n+1;i<t;i++){const r=-e[i][n]/e[n][n];for(let o=n;o<t+1;o++)n==o?e[i][o]=0:e[i][o]+=r*e[n][o]}}const n=new Array(t);for(let i=t-1;i>=0;i--){n[i]=e[i][t]/e[i][i];for(let r=i-1;r>=0;r--)e[r][t]-=e[r][i]*n[i]}return n}([[c,u,0,0,w-y],[h,p,0,0,C-y],[0,0,c,u,k-x],[0,0,h,p,S-x]]);if(!M)return;if(f.save(),f.beginPath(),function(){if(void 0===jb){const e=Md(6,6,Db);e.globalCompositeOperation="lighter",e.fillStyle="rgba(210, 0, 0, 0.75)",Nb(e,4,5,4,0),Nb(e,4,5,0,5);const t=e.getImageData(0,0,3,3).data;jb=qb(t,0)||qb(t,4)||qb(t,8),Rd(e),Db.push(e.canvas)}return jb}()||!d){f.moveTo(w,k);const e=4,t=y-w,n=x-k;for(let i=0;i<e;i++)f.lineTo(w+_((i+1)*t/e),k+_(i*n/(e-1))),i!=e-1&&f.lineTo(w+_((i+1)*t/e),k+_((i+1)*n/(e-1)));f.lineTo(C,S)}else f.moveTo(w,k),f.lineTo(y,x),f.lineTo(C,S);let T;if(f.clip(),f.transform(M[0],M[2],M[1],M[3],y,x),f.translate(g[0]-A,g[3]-E),m)T=m.canvas,f.scale(v,-v);else{const e=l[0],t=e.extent;T=e.image,f.scale(da(t)/T.width,-aa(t)/T.height)}f.drawImage(T,0,0),f.restore()})),m&&(Rd(m),Db.push(m.canvas)),u&&(f.save(),f.globalCompositeOperation="source-over",f.strokeStyle="black",f.lineWidth=1,a.getTriangles().forEach((function(e,t,n){const i=e.target,r=(i[0][0]-b[0])/o,s=-(i[0][1]-b[1])/o,a=(i[1][0]-b[0])/o,l=-(i[1][1]-b[1])/o,c=(i[2][0]-b[0])/o,u=-(i[2][1]-b[1])/o;f.beginPath(),f.moveTo(a,l),f.lineTo(r,s),f.lineTo(c,u),f.closePath(),f.stroke()})),f.restore()),f.canvas}const Hb=class extends Lb{constructor(e){super({tileCoord:e.tileCoord,loader:()=>Promise.resolve(new Uint8ClampedArray(4)),interpolate:e.interpolate,transition:e.transition}),this.pixelRatio_=e.pixelRatio,this.gutter_=e.gutter,this.reprojData_=null,this.reprojError_=null,this.reprojSize_=void 0,this.sourceTileGrid_=e.sourceTileGrid,this.targetTileGrid_=e.targetTileGrid,this.wrappedTileCoord_=e.wrappedTileCoord||e.tileCoord,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0;const t=e.sourceProj,n=t.getExtent(),i=e.sourceTileGrid.getExtent();this.clipExtent_=t.canWrapX()?i?la(n,i):n:i;const r=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_),o=this.targetTileGrid_.getExtent();let s=this.sourceTileGrid_.getExtent();const a=o?la(r,o):r;if(0===ta(a))return void(this.state=4);n&&(s=s?la(s,n):n);const l=this.targetTileGrid_.getResolution(this.wrappedTileCoord_[0]),c=e.targetProj,u=Gb(t,c,a,l);if(!isFinite(u)||u<=0)return void(this.state=4);const d=void 0!==e.errorThreshold?e.errorThreshold:.5;if(this.triangulation_=new Fb(t,c,a,s,u*d,l),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=this.sourceTileGrid_.getZForResolution(u);let h=this.triangulation_.calculateSourceExtent();if(s&&(t.canWrapX()?(h[1]=ma(h[1],s[1],s[3]),h[3]=ma(h[3],s[1],s[3])):h=la(h,s)),ta(h)){let i=0,r=0;t.canWrapX()&&(i=da(n),r=Math.floor((h[0]-n[0])/i)),ga(h.slice(),t,!0).forEach((t=>{const n=this.sourceTileGrid_.getTileRangeForExtentAndZ(t,this.sourceZ_),o=e.getTileFunction;for(let e=n.minX;e<=n.maxX;e++)for(let t=n.minY;t<=n.maxY;t++){const n=o(this.sourceZ_,e,t,this.pixelRatio_);if(n){const e=r*i;this.sourceTiles_.push({tile:n,offset:e})}}++r})),0===this.sourceTiles_.length&&(this.state=4)}else this.state=4}getSize(){return this.reprojSize_}getData(){return this.reprojData_}getError(){return this.reprojError_}reproject_(){const e=[];let t=!1;if(this.sourceTiles_.forEach((n=>{const i=n.tile;if(!i||2!==i.getState())return;const r=i.getSize(),o=this.gutter_;let s;const a=(l=i.getData())instanceof Uint8Array||l instanceof Uint8ClampedArray||l instanceof Float32Array||l instanceof DataView?l:null;var l;a?s=a:(t=!0,s=function(e){Rb||(Rb=Md(e.width,e.height,void 0,{willReadFrequently:!0}));const t=Rb.canvas,n=e.width;t.width!==n&&(t.width=n);const i=e.height;return t.height!==i&&(t.height=i),Rb.clearRect(0,0,n,i),Rb.drawImage(e,0,0),Rb.getImageData(0,0,n,i).data}(Tb(i.getData())));const c=[r[0]+2*o,r[1]+2*o],u=s instanceof Float32Array,d=c[0]*c[1],h=u?Float32Array:Uint8ClampedArray,p=new h(s.buffer),f=h.BYTES_PER_ELEMENT,_=f*p.length/d,g=p.byteLength/c[1],m=Math.floor(g/f/c[0]),y=d*m;let v=p;if(p.length!==y){v=new h(y);let e=0,t=0;const n=c[0]*m;for(let i=0;i<c[1];++i){for(let i=0;i<n;++i)v[e++]=p[t+i];t+=g/f}}const b=this.sourceTileGrid_.getTileCoordExtent(i.tileCoord);b[0]+=n.offset,b[2]+=n.offset;const x=this.clipExtent_?.slice();x&&(x[0]+=n.offset,x[2]+=n.offset),e.push({extent:b,clipExtent:x,data:new Uint8ClampedArray(v.buffer),dataType:h,bytesPerPixel:_,pixelSize:c})})),this.sourceTiles_.length=0,0===e.length)return this.state=3,void this.changed();const n=this.wrappedTileCoord_[0],i=this.targetTileGrid_.getTileSize(n),r="number"==typeof i?i:i[0],o="number"==typeof i?i:i[1],s=this.targetTileGrid_.getResolution(n),a=this.sourceTileGrid_.getResolution(this.sourceZ_),l=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);let c,u;const d=e[0].bytesPerPixel;for(let t=Math.ceil(d/3)-1;t>=0;--t){const n=[];for(let i=0,r=e.length;i<r;++i){const r=e[i],o=r.data,s=r.pixelSize,a=s[0],l=s[1],c=Md(a,l,Db),u=c.createImageData(a,l),h=u.data;let p=3*t;for(let e=0,t=h.length;e<t;e+=4)h[e]=o[p],h[e+1]=o[p+1],h[e+2]=o[p+2],h[e+3]=255,p+=d;c.putImageData(u,0,0),n.push({extent:r.extent,clipExtent:r.clipExtent,image:c.canvas})}const i=Vb(r,o,this.pixelRatio_,a,this.sourceTileGrid_.getExtent(),s,l,this.triangulation_,n,this.gutter_,!1,!1,!1);for(let e=0,t=n.length;e<t;++e){const t=n[e].image.getContext("2d");Rd(t),Db.push(t.canvas)}const h=i.getContext("2d"),p=h.getImageData(0,0,i.width,i.height);Rd(h),Db.push(i),c||(u=new Uint8ClampedArray(d*p.width*p.height),c=new e[0].dataType(u.buffer));const f=p.data;let _=3*t;for(let e=0,t=f.length;e<t;e+=4)255===f[e+3]?(u[_]=f[e],u[_+1]=f[e+1],u[_+2]=f[e+2]):(u[_]=0,u[_+1]=0,u[_+2]=0),_+=d}if(t){const e=Md(r,o),t=new ImageData(c,r);e.putImageData(t,0,0),this.reprojData_=e.canvas}else this.reprojData_=c;this.reprojSize_=[Math.round(r*this.pixelRatio_),Math.round(o*this.pixelRatio_)],this.state=2,this.changed()}load(){if(0!==this.state&&3!==this.state)return;this.state=1,this.changed();let e=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach((({tile:t})=>{const n=t.getState();if(0!==n&&1!==n)return;e++;const i=Fl(t,Tl,(()=>{const n=t.getState();2!=n&&3!=n&&4!=n||(Dl(i),e--,0===e&&(this.unlistenSources_(),this.reproject_()))}));this.sourcesListenerKeys_.push(i)})),0===e?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach((function({tile:e}){0==e.getState()&&e.load()}))}unlistenSources_(){this.sourcesListenerKeys_.forEach(Dl),this.sourcesListenerKeys_=null}},Wb=class extends Mb{constructor(e,t,n,i,r,o,s,a,l,c,u,d){super(r,0,d),this.renderEdges_=void 0!==u&&u,this.pixelRatio_=s,this.gutter_=a,this.canvas_=null,this.sourceTileGrid_=t,this.targetTileGrid_=i,this.wrappedTileCoord_=o||r,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=e.canWrapX()?e.getExtent():void 0;const h=i.getTileCoordExtent(this.wrappedTileCoord_),p=this.targetTileGrid_.getExtent();let f=this.sourceTileGrid_.getExtent();const _=p?la(h,p):h;if(0===ta(_))return void(this.state=4);const g=e.getExtent();g&&(f=f?la(f,g):g);const m=i.getResolution(this.wrappedTileCoord_[0]),y=Gb(e,n,_,m);if(!isFinite(y)||y<=0)return void(this.state=4);const v=void 0!==c?c:.5;if(this.triangulation_=new Fb(e,n,_,f,y*v,m),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=t.getZForResolution(y);let b=this.triangulation_.calculateSourceExtent();if(f&&(e.canWrapX()?(b[1]=ma(b[1],f[1],f[3]),b[3]=ma(b[3],f[1],f[3])):b=la(b,f)),ta(b)){let n=0,i=0;e.canWrapX()&&(n=da(g),i=Math.floor((b[0]-g[0])/n)),ga(b.slice(),e,!0).forEach((e=>{const r=t.getTileRangeForExtentAndZ(e,this.sourceZ_);for(let e=r.minX;e<=r.maxX;e++)for(let t=r.minY;t<=r.maxY;t++){const r=l(this.sourceZ_,e,t,s);if(r){const e=i*n;this.sourceTiles_.push({tile:r,offset:e})}}++i})),0===this.sourceTiles_.length&&(this.state=4)}else this.state=4}getImage(){return this.canvas_}reproject_(){const e=[];if(this.sourceTiles_.forEach((t=>{const n=t.tile;if(n&&2==n.getState()){const i=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);i[0]+=t.offset,i[2]+=t.offset;const r=this.clipExtent_?.slice();r&&(r[0]+=t.offset,r[2]+=t.offset),e.push({extent:i,clipExtent:r,image:n.getImage()})}})),this.sourceTiles_.length=0,0===e.length)this.state=3;else{const t=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(t),i="number"==typeof n?n:n[0],r="number"==typeof n?n:n[1],o=this.targetTileGrid_.getResolution(t),s=this.sourceTileGrid_.getResolution(this.sourceZ_),a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=Vb(i,r,this.pixelRatio_,s,this.sourceTileGrid_.getExtent(),o,a,this.triangulation_,e,this.gutter_,this.renderEdges_,this.interpolate),this.state=2}this.changed()}load(){if(0==this.state){this.state=1,this.changed();let e=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach((({tile:t})=>{const n=t.getState();if(0==n||1==n){e++;const n=Fl(t,Tl,(i=>{const r=t.getState();2!=r&&3!=r&&4!=r||(Dl(n),e--,0===e&&(this.unlistenSources_(),this.reproject_()))}));this.sourcesListenerKeys_.push(n)}})),0===e?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach((function({tile:e},t,n){0==e.getState()&&e.load()}))}}unlistenSources_(){this.sourcesListenerKeys_.forEach(Dl),this.sourcesListenerKeys_=null}release(){this.canvas_&&(Rd(this.canvas_.getContext("2d")),Db.push(this.canvas_),this.canvas_=null),super.release()}};class Ub{constructor(e,t,n,i){this.minX=e,this.maxX=t,this.minY=n,this.maxY=i}contains(e){return this.containsXY(e[1],e[2])}containsTileRange(e){return this.minX<=e.minX&&e.maxX<=this.maxX&&this.minY<=e.minY&&e.maxY<=this.maxY}containsXY(e,t){return this.minX<=e&&e<=this.maxX&&this.minY<=t&&t<=this.maxY}equals(e){return this.minX==e.minX&&this.minY==e.minY&&this.maxX==e.maxX&&this.maxY==e.maxY}extend(e){e.minX<this.minX&&(this.minX=e.minX),e.maxX>this.maxX&&(this.maxX=e.maxX),e.minY<this.minY&&(this.minY=e.minY),e.maxY>this.maxY&&(this.maxY=e.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(e){return this.minX<=e.maxX&&this.maxX>=e.minX&&this.minY<=e.maxY&&this.maxY>=e.minY}}function $b(e,t,n,i,r){return void 0!==r?(r.minX=e,r.maxX=t,r.minY=n,r.maxY=i,r):new Ub(e,t,n,i)}const Zb=Ub;function Kb(e,t,n,i){return void 0!==i?(i[0]=e,i[1]=t,i[2]=n,i):[e,t,n]}function Xb(e,t,n,i){return`${e},${function(e,t,n){return e+"/"+t+"/"+n}(t,n,i)}`}function Yb(e,t,n){if(!(n in e))return e[n]=new Set([t]),!0;const i=e[n],r=i.has(t);return r||i.add(t),!r}function Qb(e,t,n){const i=e[n];return!!i&&i.delete(t)}function Jb(e,t){const n=e.layerStatesArray[e.layerIndex];n.extent&&(t=la(t,rl(n.extent,e.viewState.projection)));const i=n.layer.getRenderSource();if(!i.getWrapX()){const n=i.getTileGridForProjection(e.viewState.projection).getExtent();n&&(t=la(t,n))}return t}const ex=class extends Eb{constructor(e,t){super(e),t=t||{},this.extentChanged=!0,this.renderComplete=!1,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedRevision,this.renderedTiles=[],this.renderedSourceKey_,this.renderedSourceRevision_,this.tempExtent=[1/0,1/0,-1/0,-1/0],this.tempTileRange_=new Zb(0,0,0,0),this.tempTileCoord_=Kb(0,0,0);const n=void 0!==t.cacheSize?t.cacheSize:512;this.tileCache_=new Ob(n),this.renderedProjection_=void 0,this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getOrCreateTile(e,t,n,i){const r=this.tileCache_,o=this.getLayer().getSource(),s=Xb(o.getKey(),e,t,n);let a;if(r.containsKey(s))a=r.get(s);else{if(a=o.getTile(e,t,n,i.pixelRatio,i.viewState.projection),!a)return null;r.set(s,a)}return a}getTile(e,t,n,i){return this.getOrCreateTile(e,t,n,i)||null}getData(e){const t=this.frameState;if(!t)return null;const n=this.getLayer(),i=Mc(t.pixelToCoordinateTransform,e.slice()),r=n.getExtent();if(r&&!Bs(r,i))return null;const o=t.viewState,s=n.getRenderSource(),a=s.getTileGridForProjection(o.projection),l=s.getTilePixelRatio(t.pixelRatio);for(let e=a.getZForResolution(o.resolution);e>=a.getMinZoom();--e){const n=a.getTileCoordForCoordAndZ(i,e),r=this.getTile(e,n[1],n[2],t);if(!r||2!==r.getState())continue;const c=a.getOrigin(e),u=Ju(a.getTileSize(e)),d=a.getResolution(e);let h;if(r instanceof zb||r instanceof Wb)h=r.getImage();else{if(!(r instanceof Lb))continue;if(h=Tb(r.getData()),!h)continue}const p=Math.floor(l*((i[0]-c[0])/d-n[1]*u[0])),f=Math.floor(l*((c[1]-i[1])/d-n[2]*u[1])),_=Math.round(l*s.getGutterForProjection(o.projection));return this.getImageData(h,p+_,f+_)}return null}prepareFrame(e){this.renderedProjection_?e.viewState.projection!==this.renderedProjection_&&(this.tileCache_.clear(),this.renderedProjection_=e.viewState.projection):this.renderedProjection_=e.viewState.projection;const t=this.getLayer().getSource();if(!t)return!1;const n=t.getRevision();return this.renderedRevision_?this.renderedRevision_!==n&&(this.renderedRevision_=n,this.renderedSourceKey_===t.getKey()&&this.tileCache_.clear()):this.renderedRevision_=n,!0}enqueueTiles(e,t,n,i,r){const o=e.viewState,s=this.getLayer(),a=s.getRenderSource(),l=a.getTileGridForProjection(o.projection),c=Vl(a);c in e.wantedTiles||(e.wantedTiles[c]={});const u=e.wantedTiles[c],d=s.getMapInternal(),h=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(s.getMaxResolution(),d?d.getView().getResolutionForZoom(Math.max(s.getMinZoom(),0)):l.getResolution(0)),a.zDirection));for(let r=n;r>=h;--r){const n=l.getTileRangeForExtentAndZ(t,r,this.tempTileRange_),o=l.getResolution(r);for(let t=n.minX;t<=n.maxX;++t)for(let s=n.minY;s<=n.maxY;++s){const n=this.getTile(r,t,s,e);if(!n)continue;if(!Yb(i,n,r))continue;const a=n.getKey();if(u[a]=!0,0===n.getState()&&!e.tileQueue.isKeyQueued(a)){const i=Kb(r,t,s,this.tempTileCoord_);e.tileQueue.enqueue([n,c,l.getTileCoordCenter(i),o])}}}}findStaleTile_(e,t){const n=this.tileCache_,i=e[0],r=e[1],o=e[2],s=this.getStaleKeys();for(let e=0;e<s.length;++e){const a=Xb(s[e],i,r,o);if(n.containsKey(a)){const e=n.get(a);if(2===e.getState())return e.endTransition(Vl(this)),Yb(t,e,i),!0}}return!1}findAltTiles_(e,t,n,i){const r=e.getTileRangeForTileCoordAndZ(t,n,this.tempTileRange_);if(!r)return!1;let o=!0;const s=this.tileCache_,a=this.getLayer().getRenderSource().getKey();for(let e=r.minX;e<=r.maxX;++e)for(let t=r.minY;t<=r.maxY;++t){const r=Xb(a,n,e,t);let l=!1;if(s.containsKey(r)){const e=s.get(r);2===e.getState()&&(Yb(i,e,n),l=!0)}l||(o=!1)}return o}renderFrame(e,t){this.renderComplete=!0;const n=e.layerStatesArray[e.layerIndex],i=e.viewState,r=i.projection,o=i.resolution,s=i.center,a=e.pixelRatio,l=this.getLayer(),c=l.getSource(),u=c.getRevision(),d=c.getTileGridForProjection(r),h=d.getZForResolution(o,c.zDirection),p=d.getResolution(h),f=c.getKey();this.renderedSourceKey_?this.renderedSourceKey_!==f&&(this.prependStaleKey(this.renderedSourceKey_),this.renderedSourceKey_=f):this.renderedSourceKey_=f;let _=e.extent;const g=c.getTilePixelRatio(a);this.prepareContainer(e,t);const m=this.context.canvas.width,y=this.context.canvas.height,v=n.extent&&rl(n.extent);v&&(_=la(_,rl(n.extent)));const b=p*m/2/g,x=p*y/2/g,w=[s[0]-b,s[1]-x,s[0]+b,s[1]+x],k={};this.renderedTiles.length=0;const C=l.getPreload();if(e.nextExtent){const t=d.getZForResolution(i.nextResolution,c.zDirection),n=Jb(e,e.nextExtent);this.enqueueTiles(e,n,t,k,C)}const S=Jb(e,_);if(this.enqueueTiles(e,S,h,k,0),C>0&&setTimeout((()=>{this.enqueueTiles(e,S,h-1,k,C-1)}),0),!(h in k))return this.container;const A=Vl(this),E=e.time;for(const t of k[h]){const n=t.getState();if((t instanceof Wb||t instanceof Hb)&&4===n)continue;const i=t.tileCoord;if(2===n&&1===t.getAlpha(A,E)){t.endTransition(A);continue}if(this.renderComplete=!1,this.findStaleTile_(i,k)){Qb(k,t,h),e.animate=!0;continue}if(this.findAltTiles_(d,i,h+1,k))continue;const r=d.getMinZoom();for(let e=h-1;e>=r&&!this.findAltTiles_(d,i,e,k);--e);}const M=p/o*a/g,T=this.getRenderContext(e);Pc(this.tempTransform,m/2,y/2,M,M,0,-m/2,-y/2),n.extent&&this.clipUnrotated(T,e,v),c.getInterpolate()||(T.imageSmoothingEnabled=!1),this.preRender(T,e);const P=Object.keys(k).map(Number);let R;P.sort(gl);const I=[],L=[];for(let t=P.length-1;t>=0;--t){const n=P[t],i=c.getTilePixelSize(n,a,r),o=d.getResolution(n)/p,s=i[0]*o*M,l=i[1]*o*M,u=d.getTileCoordForCoordAndZ(ca(w),n),h=d.getTileCoordExtent(u),f=Mc(this.tempTransform,[g*(h[0]-w[0])/p,g*(w[3]-h[3])/p]),_=g*c.getGutterForProjection(r);for(const t of k[n]){if(2!==t.getState())continue;const i=t.tileCoord,r=u[1]-i[1],o=Math.round(f[0]-(r-1)*s),a=u[2]-i[2],d=Math.round(f[1]-(a-1)*l),h=Math.round(f[0]-r*s),p=Math.round(f[1]-a*l),g=o-h,m=d-p,y=1===P.length;let v=!1;R=[h,p,h+g,p,h+g,p+m,h,p+m];for(let e=0,t=I.length;e<t;++e)if(!y&&n<L[e]){const t=I[e];ha([h,p,h+g,p+m],[t[0],t[3],t[4],t[7]])&&(v||(T.save(),v=!0),T.beginPath(),T.moveTo(R[0],R[1]),T.lineTo(R[2],R[3]),T.lineTo(R[4],R[5]),T.lineTo(R[6],R[7]),T.moveTo(t[6],t[7]),T.lineTo(t[4],t[5]),T.lineTo(t[2],t[3]),T.lineTo(t[0],t[1]),T.clip())}I.push(R),L.push(n),this.drawTile(t,e,h,p,g,m,_,y),v&&T.restore(),this.renderedTiles.unshift(t),this.updateUsedTiles(e.usedTiles,c,t)}}return this.renderedRevision=u,this.renderedResolution=p,this.extentChanged=!this.renderedExtent_||!Ks(this.renderedExtent_,w),this.renderedExtent_=w,this.renderedPixelRatio=a,this.renderedProjection=r,this.postRender(this.context,e),n.extent&&T.restore(),T.imageSmoothingEnabled=!0,e.postRenderFunctions.push(((e,t)=>{const n=Vl(c),i=t.wantedTiles[n],r=i?Object.keys(i).length:0;this.updateCacheSize(r),this.tileCache_.expireCache()})),this.container}updateCacheSize(e){this.tileCache_.highWaterMark=Math.max(this.tileCache_.highWaterMark,2*e)}drawTile(e,t,n,i,r,o,s,a){let l;if(e instanceof Lb){if(l=Tb(e.getData()),!l)throw new Error("Rendering array data is not yet supported")}else l=this.getTileImage(e);if(!l)return;const c=this.getRenderContext(t),u=Vl(this),d=t.layerStatesArray[t.layerIndex],h=d.opacity*(a?e.getAlpha(u,t.time):1),p=h!==c.globalAlpha;p&&(c.save(),c.globalAlpha=h),c.drawImage(l,s,s,l.width-2*s,l.height-2*s,n,i,r,o),p&&c.restore(),h!==d.opacity?t.animate=!0:a&&e.endTransition(u)}getImage(){const e=this.context;return e?e.canvas:null}getTileImage(e){return e.getImage()}updateUsedTiles(e,t,n){const i=Vl(t);i in e||(e[i]={}),e[i][n.getKey()]=!0}},tx=class extends wb{constructor(e){super(e)}createRenderer(){return new ex(this,{cacheSize:this.getCacheSize()})}};function nx(e){return e?"function"==typeof e?e:(Array.isArray(e)||(e=[e]),t=>e):null}const ix=class extends Wl{constructor(e){super(),this.projection=Ga(e.projection),this.attributions_=nx(e.attributions),this.attributionsCollapsible_=e.attributionsCollapsible??!0,this.loading=!1,this.state_=void 0!==e.state?e.state:"ready",this.wrapX_=void 0!==e.wrapX&&e.wrapX,this.interpolate_=!!e.interpolate,this.viewResolver=null,this.viewRejector=null;const t=this;this.viewPromise_=new Promise((function(e,n){t.viewResolver=e,t.viewRejector=n}))}getAttributions(){return this.attributions_}getAttributionsCollapsible(){return this.attributionsCollapsible_}getProjection(){return this.projection}getResolutions(e){return null}getView(){return this.viewPromise_}getState(){return this.state_}getWrapX(){return this.wrapX_}getInterpolate(){return this.interpolate_}refresh(){this.changed()}setAttributions(e){this.attributions_=nx(e),this.changed()}setState(e){this.state_=e,this.changed()}},rx=[0,0,0],ox=class{constructor(e){let t;if(this.minZoom=void 0!==e.minZoom?e.minZoom:0,this.resolutions_=e.resolutions,sc(function(e){const t=((e,t)=>t-e)||gl;return e.every((function(n,i){if(0===i)return!0;const r=t(e[i-1],n);return!(r>0||0===r)}))}(this.resolutions_),"`resolutions` must be sorted in descending order"),!e.origins)for(let e=0,n=this.resolutions_.length-1;e<n;++e)if(t){if(this.resolutions_[e]/this.resolutions_[e+1]!==t){t=void 0;break}}else t=this.resolutions_[e]/this.resolutions_[e+1];this.zoomFactor_=t,this.maxZoom=this.resolutions_.length-1,this.origin_=void 0!==e.origin?e.origin:null,this.origins_=null,void 0!==e.origins&&(this.origins_=e.origins,sc(this.origins_.length==this.resolutions_.length,"Number of `origins` and `resolutions` must be equal"));const n=e.extent;void 0===n||this.origin_||this.origins_||(this.origin_=ca(n)),sc(!this.origin_&&this.origins_||this.origin_&&!this.origins_,"Either `origin` or `origins` must be configured, never both"),this.tileSizes_=null,void 0!==e.tileSizes&&(this.tileSizes_=e.tileSizes,sc(this.tileSizes_.length==this.resolutions_.length,"Number of `tileSizes` and `resolutions` must be equal")),this.tileSize_=void 0!==e.tileSize?e.tileSize:this.tileSizes_?null:256,sc(!this.tileSize_&&this.tileSizes_||this.tileSize_&&!this.tileSizes_,"Either `tileSize` or `tileSizes` must be configured, never both"),this.extent_=void 0!==n?n:null,this.fullTileRanges_=null,this.tmpSize_=[0,0],this.tmpExtent_=[0,0,0,0],void 0!==e.sizes?this.fullTileRanges_=e.sizes.map(((e,t)=>{const i=new Zb(Math.min(0,e[0]),Math.max(e[0]-1,-1),Math.min(0,e[1]),Math.max(e[1]-1,-1));if(n){const e=this.getTileRangeForExtentAndZ(n,t);i.minX=Math.max(e.minX,i.minX),i.maxX=Math.min(e.maxX,i.maxX),i.minY=Math.max(e.minY,i.minY),i.maxY=Math.min(e.maxY,i.maxY)}return i})):n&&this.calculateTileRanges_(n)}forEachTileCoord(e,t,n){const i=this.getTileRangeForExtentAndZ(e,t);for(let e=i.minX,r=i.maxX;e<=r;++e)for(let r=i.minY,o=i.maxY;r<=o;++r)n([t,e,r])}forEachTileCoordParentTileRange(e,t,n,i){let r,o,s,a=null,l=e[0]-1;for(2===this.zoomFactor_?(o=e[1],s=e[2]):a=this.getTileCoordExtent(e,i);l>=this.minZoom;){if(void 0!==o&&void 0!==s?(o=Math.floor(o/2),s=Math.floor(s/2),r=$b(o,o,s,s,n)):r=this.getTileRangeForExtentAndZ(a,l,n),t(l,r))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(e){return this.origin_?this.origin_:this.origins_[e]}getResolution(e){return this.resolutions_[e]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(e,t,n){if(e[0]<this.maxZoom){if(2===this.zoomFactor_){const n=2*e[1],i=2*e[2];return $b(n,n+1,i,i+1,t)}const i=this.getTileCoordExtent(e,n||this.tmpExtent_);return this.getTileRangeForExtentAndZ(i,e[0]+1,t)}return null}getTileRangeForTileCoordAndZ(e,t,n){if(t>this.maxZoom||t<this.minZoom)return null;const i=e[0],r=e[1],o=e[2];if(t===i)return $b(r,o,r,o,n);if(this.zoomFactor_){const e=Math.pow(this.zoomFactor_,t-i),s=Math.floor(r*e),a=Math.floor(o*e);return t<i?$b(s,s,a,a,n):$b(s,Math.floor(e*(r+1))-1,a,Math.floor(e*(o+1))-1,n)}const s=this.getTileCoordExtent(e,this.tmpExtent_);return this.getTileRangeForExtentAndZ(s,t,n)}getTileRangeForExtentAndZ(e,t,n){this.getTileCoordForXYAndZ_(e[0],e[3],t,!1,rx);const i=rx[1],r=rx[2];return this.getTileCoordForXYAndZ_(e[2],e[1],t,!0,rx),$b(i,rx[1],r,rx[2],n)}getTileCoordCenter(e){const t=this.getOrigin(e[0]),n=this.getResolution(e[0]),i=Ju(this.getTileSize(e[0]),this.tmpSize_);return[t[0]+(e[1]+.5)*i[0]*n,t[1]-(e[2]+.5)*i[1]*n]}getTileCoordExtent(e,t){const n=this.getOrigin(e[0]),i=this.getResolution(e[0]),r=Ju(this.getTileSize(e[0]),this.tmpSize_),o=n[0]+e[1]*r[0]*i,s=n[1]-(e[2]+1)*r[1]*i;return Ws(o,s,o+r[0]*i,s+r[1]*i,t)}getTileCoordForCoordAndResolution(e,t,n){return this.getTileCoordForXYAndResolution_(e[0],e[1],t,!1,n)}getTileCoordForXYAndResolution_(e,t,n,i,r){const o=this.getZForResolution(n),s=n/this.getResolution(o),a=this.getOrigin(o),l=Ju(this.getTileSize(o),this.tmpSize_);let c=s*(e-a[0])/n/l[0],u=s*(a[1]-t)/n/l[1];return i?(c=Sa(c,5)-1,u=Sa(u,5)-1):(c=Ca(c,5),u=Ca(u,5)),Kb(o,c,u,r)}getTileCoordForXYAndZ_(e,t,n,i,r){const o=this.getOrigin(n),s=this.getResolution(n),a=Ju(this.getTileSize(n),this.tmpSize_);let l=(e-o[0])/s/a[0],c=(o[1]-t)/s/a[1];return i?(l=Sa(l,5)-1,c=Sa(c,5)-1):(l=Ca(l,5),c=Ca(c,5)),Kb(n,l,c,r)}getTileCoordForCoordAndZ(e,t,n){return this.getTileCoordForXYAndZ_(e[0],e[1],t,!1,n)}getTileCoordResolution(e){return this.resolutions_[e[0]]}getTileSize(e){return this.tileSize_?this.tileSize_:this.tileSizes_[e]}getFullTileRange(e){return this.fullTileRanges_?this.fullTileRanges_[e]:this.extent_?this.getTileRangeForExtentAndZ(this.extent_,e):null}getZForResolution(e,t){return ma(ml(this.resolutions_,e,t||0),this.minZoom,this.maxZoom)}tileCoordIntersectsViewport(e,t){return gu(t,0,t.length,2,this.getTileCoordExtent(e))}calculateTileRanges_(e){const t=this.resolutions_.length,n=new Array(t);for(let i=this.minZoom;i<t;++i)n[i]=this.getTileRangeForExtentAndZ(e,i);this.fullTileRanges_=n}};function sx(e){let t=e.getDefaultTileGrid();return t||(t=function(e){return function(e,t,n,i){i=void 0!==i?i:"top-left";const r=lx(e,t,n);return new ox({extent:e,origin:oa(e,i),resolutions:r,tileSize:n})}(cx(e),void 0,void 0,void 0)}(e),e.setDefaultTileGrid(t)),t}function ax(e){const t=e||{},n=t.extent||Ga("EPSG:3857").getExtent(),i={extent:n,minZoom:t.minZoom,tileSize:t.tileSize,resolutions:lx(n,t.maxZoom,t.tileSize,t.maxResolution)};return new ox(i)}function lx(e,t,n,i){t=void 0!==t?t:42,n=Ju(void 0!==n?n:256);const r=aa(e),o=da(e);i=i>0?i:Math.max(o/n[0],r/n[1]);const s=t+1,a=new Array(s);for(let e=0;e<s;++e)a[e]=i/Math.pow(2,e);return a}function cx(e){let t=(e=Ga(e)).getExtent();if(!t){const n=180*xs.degrees/e.getMetersPerUnit();t=Ws(-n,-n,n,n)}return t}class ux extends pl{constructor(e,t){super(e),this.tile=t}}const dx=class extends ix{constructor(e){super({attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,projection:e.projection,state:e.state,wrapX:e.wrapX,interpolate:e.interpolate}),this.on,this.once,this.un,this.tilePixelRatio_=void 0!==e.tilePixelRatio?e.tilePixelRatio:1,this.tileGrid=void 0!==e.tileGrid?e.tileGrid:null;this.tileGrid&&Ju(this.tileGrid.getTileSize(this.tileGrid.getMinZoom()),[256,256]),this.tmpSize=[0,0],this.key_=e.key||Vl(this),this.tileOptions={transition:e.transition,interpolate:e.interpolate},this.zDirection=e.zDirection?e.zDirection:0}getGutterForProjection(e){return 0}getKey(){return this.key_}setKey(e){this.key_!==e&&(this.key_=e,this.changed())}getResolutions(e){const t=e?this.getTileGridForProjection(e):this.tileGrid;return t?t.getResolutions():null}getTile(e,t,n,i,r){return Bl()}getTileGrid(){return this.tileGrid}getTileGridForProjection(e){return this.tileGrid?this.tileGrid:sx(e)}getTilePixelRatio(e){return this.tilePixelRatio_}getTilePixelSize(e,t,n){const i=this.getTileGridForProjection(n),r=this.getTilePixelRatio(t),o=Ju(i.getTileSize(e),this.tmpSize);return 1==r?o:(s=o,a=r,void 0===(l=this.tmpSize)&&(l=[0,0]),l[0]=s[0]*a+.5|0,l[1]=s[1]*a+.5|0,l);var s,a,l}getTileCoordForTileUrlFunction(e,t){t=void 0!==t?t:this.getProjection();const n=this.getTileGridForProjection(t);return this.getWrapX()&&t.isGlobal()&&(e=function(e,t,n){const i=t[0],r=e.getTileCoordCenter(t),o=cx(n);if(!Bs(o,r)){const t=da(o),n=Math.ceil((o[0]-r[0])/t);return r[0]+=t*n,e.getTileCoordForCoordAndZ(r,i)}return t}(n,e,t)),function(e,t){const n=e[0],i=e[1],r=e[2];if(t.getMinZoom()>n||n>t.getMaxZoom())return!1;const o=t.getFullTileRange(n);return!o||o.containsXY(i,r)}(e,n)?e:null}clear(){}refresh(){this.clear(),super.refresh()}},hx=/\{z\}/g,px=/\{x\}/g,fx=/\{y\}/g,_x=/\{-y\}/g;function gx(e){const t=[];let n=/\{([a-z])-([a-z])\}/.exec(e);if(n){const i=n[1].charCodeAt(0),r=n[2].charCodeAt(0);let o;for(o=i;o<=r;++o)t.push(e.replace(n[0],String.fromCharCode(o)));return t}if(n=/\{(\d+)-(\d+)\}/.exec(e),n){const i=parseInt(n[2],10);for(let r=parseInt(n[1],10);r<=i;r++)t.push(e.replace(n[0],r.toString()));return t}return t.push(e),t}function mx(e,t){return function(n,i,r){if(!n)return;let o;const s=n[0];if(t){const e=t.getFullTileRange(s);e&&(o=e.getHeight()-1)}return function(e,t,n,i,r){return e.replace(hx,t.toString()).replace(px,n.toString()).replace(fx,i.toString()).replace(_x,(function(){if(void 0===r)throw new Error("If the URL template has a {-y} placeholder, the grid extent must be known");return(r-i).toString()}))}(e,s,n[1],n[2],o)}}function yx(e,t){const n=e.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=mx(e[r],t);return function(e){return 1===e.length?e[0]:function(t,n,i){if(!t)return;const r=function(e){return t=e[0],(e[1]<<t)+e[2];var t}(t),o=xa(r,e.length);return e[o](t,n,i)}}(i)}class vx extends dx{constructor(e){super({attributions:e.attributions,cacheSize:e.cacheSize,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tilePixelRatio:e.tilePixelRatio,wrapX:e.wrapX,transition:e.transition,interpolate:e.interpolate,key:e.key,attributionsCollapsible:e.attributionsCollapsible,zDirection:e.zDirection}),this.generateTileUrlFunction_=this.tileUrlFunction===vx.prototype.tileUrlFunction,this.tileLoadFunction=e.tileLoadFunction,e.tileUrlFunction&&(this.tileUrlFunction=e.tileUrlFunction),this.urls=null,e.urls?this.setUrls(e.urls):e.url&&this.setUrl(e.url),this.tileLoadingKeys_={}}getTileLoadFunction(){return this.tileLoadFunction}getTileUrlFunction(){return Object.getPrototypeOf(this).tileUrlFunction===this.tileUrlFunction?this.tileUrlFunction.bind(this):this.tileUrlFunction}getUrls(){return this.urls}handleTileChange(e){const t=e.target,n=Vl(t),i=t.getState();let r;1==i?(this.tileLoadingKeys_[n]=!0,r="tileloadstart"):n in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[n],r=3==i?"tileloaderror":2==i?"tileloadend":void 0),null!=r&&this.dispatchEvent(new ux(r,t))}setTileLoadFunction(e){this.tileLoadFunction=e,this.changed()}setTileUrlFunction(e,t){this.tileUrlFunction=e,void 0!==t?this.setKey(t):this.changed()}setUrl(e){const t=gx(e);this.urls=t,this.setUrls(t)}setUrls(e){this.urls=e;const t=e.join("\n");this.generateTileUrlFunction_?this.setTileUrlFunction(yx(e,this.tileGrid),t):this.setKey(t)}tileUrlFunction(e,t,n){}}const bx=vx;function xx(e,t){e.getImage().src=t}const wx=class extends bx{constructor(e){super({attributions:e.attributions,cacheSize:e.cacheSize,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tileLoadFunction:e.tileLoadFunction?e.tileLoadFunction:xx,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:e.wrapX,transition:e.transition,interpolate:void 0===e.interpolate||e.interpolate,key:e.key,attributionsCollapsible:e.attributionsCollapsible,zDirection:e.zDirection}),this.crossOrigin=void 0!==e.crossOrigin?e.crossOrigin:null,this.tileClass=void 0!==e.tileClass?e.tileClass:zb,this.tileGridForProjection={},this.reprojectionErrorThreshold_=e.reprojectionErrorThreshold,this.renderReprojectionEdges_=!1}getGutterForProjection(e){return this.getProjection()&&e&&!Za(this.getProjection(),e)?0:this.getGutter()}getGutter(){return 0}getKey(){let e=super.getKey();return this.getInterpolate()||(e+=":disable-interpolation"),e}getTileGridForProjection(e){const t=this.getProjection();if(this.tileGrid&&(!t||Za(t,e)))return this.tileGrid;const n=Vl(e);return n in this.tileGridForProjection||(this.tileGridForProjection[n]=sx(e)),this.tileGridForProjection[n]}createTile_(e,t,n,i,r,o){const s=[e,t,n],a=this.getTileCoordForTileUrlFunction(s,r),l=a?this.tileUrlFunction(a,i,r):void 0,c=new this.tileClass(s,void 0!==l?0:4,void 0!==l?l:"",this.crossOrigin,this.tileLoadFunction,this.tileOptions);return c.key=o,c.addEventListener(Tl,this.handleTileChange.bind(this)),c}getTile(e,t,n,i,r){const o=this.getProjection();if(!o||!r||Za(o,r))return this.getTileInternal(e,t,n,i,o||r);const s=[e,t,n],a=this.getKey(),l=this.getTileGridForProjection(o),c=this.getTileGridForProjection(r),u=this.getTileCoordForTileUrlFunction(s,r),d=new Wb(o,l,r,c,s,u,this.getTilePixelRatio(i),this.getGutter(),((e,t,n,i)=>this.getTileInternal(e,t,n,i,o)),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return d.key=a,d}getTileInternal(e,t,n,i,r){const o=this.getKey();return this.createTile_(e,t,n,i,r,o)}setRenderReprojectionEdges(e){this.renderReprojectionEdges_!=e&&(this.renderReprojectionEdges_=e,this.changed())}setTileGridForProjection(e,t){const n=Ga(e);if(n){const e=Vl(n);e in this.tileGridForProjection||(this.tileGridForProjection[e]=t)}}},kx=class extends wx{constructor(e){const t=void 0!==(e=e||{}).projection?e.projection:"EPSG:3857",n=void 0!==e.tileGrid?e.tileGrid:ax({extent:cx(t),maxResolution:e.maxResolution,maxZoom:e.maxZoom,minZoom:e.minZoom,tileSize:e.tileSize});super({attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:e.interpolate,projection:t,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileGrid:n,tileLoadFunction:e.tileLoadFunction,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,attributionsCollapsible:e.attributionsCollapsible,zDirection:e.zDirection}),this.gutter_=void 0!==e.gutter?e.gutter:0}getGutter(){return this.gutter_}};function Cx(e,t,n,i,r,o,s){let a,l;const c=(n-t)/i;if(1===c)a=t;else if(2===c)a=t,l=r;else if(0!==c){let o=e[t],s=e[t+1],c=0;const u=[0];for(let r=t+i;r<n;r+=i){const t=e[r],n=e[r+1];c+=Math.sqrt((t-o)*(t-o)+(n-s)*(n-s)),u.push(c),o=t,s=n}const d=r*c,h=function(e,t,n){let i,r;n=n||gl;let o=0,s=e.length,a=!1;for(;o<s;)i=o+(s-o>>1),r=+n(e[i],t),r<0?o=i+1:(s=i,a=!r);return a?o:~o}(u,d);h<0?(l=(d-u[-h-2])/(u[-h-1]-u[-h-2]),a=t+(-h-2)*i):a=t+h*i}s=s>1?s:2,o=o||new Array(s);for(let t=0;t<s;++t)o[t]=void 0===a?NaN:void 0===l?e[a+t]:wa(e[a+t],e[a+i+t],l);return o}function Sx(e,t,n,i,r,o){if(n==t)return null;let s;if(r<e[t+i-1])return o?(s=e.slice(t,t+i),s[i-1]=r,s):null;if(e[n-1]<r)return o?(s=e.slice(n-i,n),s[i-1]=r,s):null;if(r==e[t+i-1])return e.slice(t,t+i);let a=t/i,l=n/i;for(;a<l;){const t=a+l>>1;r<e[(t+1)*i-1]?l=t:a=t+1}const c=e[a*i-1];if(r==c)return e.slice((a-1)*i,(a-1)*i+i);const u=(r-c)/(e[(a+1)*i-1]-c);s=[];for(let t=0;t<i-1;++t)s.push(wa(e[(a-1)*i+t],e[a*i+t],u));return s.push(r),s}function Ax(e,t,n,i){const r=[];let o=[1/0,1/0,-1/0,-1/0];for(let s=0,a=n.length;s<a;++s){const a=n[s];o=Zs(e,t,a[0],i),r.push((o[0]+o[2])/2,(o[1]+o[3])/2),t=a[a.length-1]}return r}const Ex=[1,0,0,1,0,0];class Mx{constructor(e,t,n,i,r,o){this.styleFunction,this.extent_,this.id_=o,this.type_=e,this.flatCoordinates_=t,this.flatInteriorPoints_=null,this.flatMidpoints_=null,this.ends_=n||null,this.properties_=r,this.squaredTolerance_,this.stride_=i,this.simplifiedGeometry_}get(e){return this.properties_[e]}getExtent(){return this.extent_||(this.extent_="Point"===this.type_?$s(this.flatCoordinates_):Zs(this.flatCoordinates_,0,this.flatCoordinates_.length,2)),this.extent_}getFlatInteriorPoint(){if(!this.flatInteriorPoints_){const e=ra(this.getExtent());this.flatInteriorPoints_=hu(this.flatCoordinates_,0,this.ends_,2,e,0)}return this.flatInteriorPoints_}getFlatInteriorPoints(){if(!this.flatInteriorPoints_){const e=Cu(this.flatCoordinates_,this.ends_),t=Ax(this.flatCoordinates_,0,e,2);this.flatInteriorPoints_=pu(this.flatCoordinates_,0,e,2,t)}return this.flatInteriorPoints_}getFlatMidpoint(){return this.flatMidpoints_||(this.flatMidpoints_=Cx(this.flatCoordinates_,0,this.flatCoordinates_.length,2,.5)),this.flatMidpoints_}getFlatMidpoints(){if(!this.flatMidpoints_){this.flatMidpoints_=[];const e=this.flatCoordinates_;let t=0;const n=this.ends_;for(let i=0,r=n.length;i<r;++i){const r=n[i],o=Cx(e,t,r,2,.5);vl(this.flatMidpoints_,o),t=r}}return this.flatMidpoints_}getId(){return this.id_}getOrientedFlatCoordinates(){return this.flatCoordinates_}getGeometry(){return this}getSimplifiedGeometry(e){return this}simplifyTransformed(e,t){return this}getProperties(){return this.properties_}getPropertiesInternal(){return this.properties_}getStride(){return this.stride_}getStyleFunction(){return this.styleFunction}getType(){return this.type_}transform(e){const t=(e=Ga(e)).getExtent(),n=e.getWorldExtent();if(t&&n){const e=aa(n)/aa(t);Pc(Ex,n[0],n[3],e,-e,0,0,0),Lc(this.flatCoordinates_,0,this.flatCoordinates_.length,2,Ex,this.flatCoordinates_)}}applyTransform(e){e(this.flatCoordinates_,this.flatCoordinates_,this.stride_)}clone(){return new Mx(this.type_,this.flatCoordinates_.slice(),this.ends_?.slice(),this.stride_,Object.assign({},this.properties_),this.id_)}getEnds(){return this.ends_}enableSimplifyTransformed(){return this.simplifyTransformed=Cl(((e,t)=>{if(e===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),t&&this.simplifiedGeometry_.applyTransform(t);const n=this.simplifiedGeometry_.getFlatCoordinates();let i;switch(this.type_){case"LineString":n.length=Kc(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,e,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=Xc(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,e,n,0,i);break;case"Polygon":i=[],n.length=Jc(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(e),n,0,i)}return i&&(this.simplifiedGeometry_=new Mx(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=e,this.simplifiedGeometry_})),this}}Mx.prototype.getFlatCoordinates=Mx.prototype.getOrientedFlatCoordinates;const Tx=Mx,Px=class extends Mb{constructor(e,t,n,i,r,o){super(e,t,o),this.extent=null,this.format_=i,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=r,this.url_=n,this.key=n}getTileUrl(){return this.url_}getFormat(){return this.format_}getFeatures(){return this.features_}load(){0==this.state&&(this.setState(1),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))}onLoad(e,t){this.setFeatures(e)}onError(){this.setState(3)}setFeatures(e){this.features_=e,this.setState(2)}setLoader(e){this.loader_=e}};function Rx(e,t,n,i){let r=e[t],o=e[t+1],s=0;for(let a=t+i;a<n;a+=i){const t=e[a],n=e[a+1];s+=Math.sqrt((t-r)*(t-r)+(n-o)*(n-o)),r=t,o=n}return s}class Ix extends Nc{constructor(e,t){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===t||Array.isArray(e[0])?this.setCoordinates(e,t):this.setFlatCoordinates(t,e)}appendCoordinate(e){vl(this.flatCoordinates,e),this.changed()}clone(){const e=new Ix(this.flatCoordinates.slice(),this.layout);return e.applyProperties(this),e}closestPointXY(e,t,n,i){return i<qs(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Bc(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Vc(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,e,t,n,i))}forEachSegment(e){return fu(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e)}getCoordinateAtM(e,t){return"XYM"!=this.layout&&"XYZM"!=this.layout?null:(t=void 0!==t&&t,Sx(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t))}getCoordinates(){return eu(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(e,t){return Cx(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,this.stride)}getLength(){return Rx(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(e){const t=[];return t.length=Kc(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,0),new Ix(t,"XY")}getType(){return"LineString"}intersectsExtent(e){return _u(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Uc(this.flatCoordinates,0,e,this.stride),this.changed()}}const Lx=Ix;class zx extends Nc{constructor(e,t){super(),t&&!Array.isArray(e[0])?this.setFlatCoordinates(t,e):this.setCoordinates(e,t)}appendPoint(e){vl(this.flatCoordinates,e.getFlatCoordinates()),this.changed()}clone(){const e=new zx(this.flatCoordinates.slice(),this.layout);return e.applyProperties(this),e}closestPointXY(e,t,n,i){if(i<qs(this.getExtent(),e,t))return i;const r=this.flatCoordinates,o=this.stride;for(let s=0,a=r.length;s<a;s+=o){const a=va(e,t,r[s],r[s+1]);if(a<i){i=a;for(let e=0;e<o;++e)n[e]=r[s+e];n.length=o}}return i}getCoordinates(){return eu(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getPoint(e){const t=this.flatCoordinates.length/this.stride;return e<0||t<=e?null:new lu(this.flatCoordinates.slice(e*this.stride,(e+1)*this.stride),this.layout)}getPoints(){const e=this.flatCoordinates,t=this.layout,n=this.stride,i=[];for(let r=0,o=e.length;r<o;r+=n){const o=new lu(e.slice(r,r+n),t);i.push(o)}return i}getType(){return"MultiPoint"}intersectsExtent(e){const t=this.flatCoordinates,n=this.stride;for(let i=0,r=t.length;i<r;i+=n)if(Vs(e,t[i],t[i+1]))return!0;return!1}setCoordinates(e,t){this.setLayout(t,e,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=Uc(this.flatCoordinates,0,e,this.stride),this.changed()}}const Ox=zx;class Fx extends Nc{constructor(e,t,n){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(e[0]))this.setCoordinates(e,t);else if(void 0!==t&&n)this.setFlatCoordinates(t,e),this.ends_=n;else{const t=e,n=[],i=[];for(let e=0,r=t.length;e<r;++e)vl(n,t[e].getFlatCoordinates()),i.push(n.length);const r=0===t.length?this.getLayout():t[0].getLayout();this.setFlatCoordinates(r,n),this.ends_=i}}appendLineString(e){vl(this.flatCoordinates,e.getFlatCoordinates().slice()),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const e=new Fx(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return e.applyProperties(this),e}closestPointXY(e,t,n,i){return i<qs(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(Gc(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),Hc(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!1,e,t,n,i))}getCoordinateAtM(e,t,n){return"XYM"!=this.layout&&"XYZM"!=this.layout||0===this.flatCoordinates.length?null:(t=void 0!==t&&t,n=void 0!==n&&n,function(e,t,n,i,r,o,s){if(s)return Sx(e,t,n[n.length-1],i,r,o);let a;if(r<e[i-1])return o?(a=e.slice(0,i),a[i-1]=r,a):null;if(e[e.length-1]<r)return o?(a=e.slice(e.length-i),a[i-1]=r,a):null;for(let o=0,s=n.length;o<s;++o){const s=n[o];if(t!=s){if(r<e[t+i-1])return null;if(r<=e[s-1])return Sx(e,t,s,i,r,!1);t=s}}return null}(this.flatCoordinates,0,this.ends_,this.stride,e,t,n))}getCoordinates(){return tu(this.flatCoordinates,0,this.ends_,this.stride)}getEnds(){return this.ends_}getLineString(e){return e<0||this.ends_.length<=e?null:new Lx(this.flatCoordinates.slice(0===e?0:this.ends_[e-1],this.ends_[e]),this.layout)}getLineStrings(){const e=this.flatCoordinates,t=this.ends_,n=this.layout,i=[];let r=0;for(let o=0,s=t.length;o<s;++o){const s=t[o],a=new Lx(e.slice(r,s),n);i.push(a),r=s}return i}getFlatMidpoints(){const e=[],t=this.flatCoordinates;let n=0;const i=this.ends_,r=this.stride;for(let o=0,s=i.length;o<s;++o){const s=i[o];vl(e,Cx(t,n,s,r,.5)),n=s}return e}getSimplifiedGeometryInternal(e){const t=[],n=[];return t.length=Xc(this.flatCoordinates,0,this.ends_,this.stride,e,t,0,n),new Fx(t,"XY",n)}getType(){return"MultiLineString"}intersectsExtent(e){return function(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){if(_u(e,t,n[o],i,r))return!0;t=n[o]}return!1}(this.flatCoordinates,0,this.ends_,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,2),this.flatCoordinates||(this.flatCoordinates=[]);const n=$c(this.flatCoordinates,0,e,this.stride,this.ends_);this.flatCoordinates.length=0===n.length?0:n[n.length-1],this.changed()}}const jx=Fx;class Dx extends Nc{constructor(e,t,n){if(super(),this.endss_=[],this.flatInteriorPointsRevision_=-1,this.flatInteriorPoints_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,!n&&!Array.isArray(e[0])){const i=e,r=[],o=[];for(let e=0,t=i.length;e<t;++e){const t=i[e],n=r.length,s=t.getEnds();for(let e=0,t=s.length;e<t;++e)s[e]+=n;vl(r,t.getFlatCoordinates()),o.push(s)}t=0===i.length?this.getLayout():i[0].getLayout(),e=r,n=o}void 0!==t&&n?(this.setFlatCoordinates(t,e),this.endss_=n):this.setCoordinates(e,t)}appendPolygon(e){let t;if(this.flatCoordinates){const n=this.flatCoordinates.length;vl(this.flatCoordinates,e.getFlatCoordinates()),t=e.getEnds().slice();for(let e=0,i=t.length;e<i;++e)t[e]+=n}else this.flatCoordinates=e.getFlatCoordinates().slice(),t=e.getEnds().slice(),this.endss_.push();this.endss_.push(t),this.changed()}clone(){const e=this.endss_.length,t=new Array(e);for(let n=0;n<e;++n)t[n]=this.endss_[n].slice();const n=new Dx(this.flatCoordinates.slice(),this.layout,t);return n.applyProperties(this),n}closestPointXY(e,t,n,i){return i<qs(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(function(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o];r=Gc(e,t,s,i,r),t=s[s.length-1]}return r}(this.flatCoordinates,0,this.endss_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),function(e,t,n,i,r,o,s,a,l,c,u){u=u||[NaN,NaN];for(let o=0,d=n.length;o<d;++o){const d=n[o];c=Hc(e,t,d,i,r,true,s,a,l,c,u),t=d[d.length-1]}return c}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,this.maxDelta_,0,e,t,n,i))}containsXY(e,t){return function(e,t,n,i,r,o){if(0===n.length)return!1;for(let s=0,a=n.length;s<a;++s){const a=n[s];if(du(e,t,a,i,r,o))return!0;t=a[a.length-1]}return!1}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,e,t)}getArea(){return function(e,t,n,i){let r=0;for(let o=0,s=n.length;o<s;++o){const s=n[o];r+=ru(e,t,s,i),t=s[s.length-1]}return r}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride)}getCoordinates(e){let t;return void 0!==e?(t=this.getOrientedFlatCoordinates().slice(),ku(t,0,this.endss_,this.stride,e)):t=this.flatCoordinates,nu(t,0,this.endss_,this.stride)}getEndss(){return this.endss_}getFlatInteriorPoints(){if(this.flatInteriorPointsRevision_!=this.getRevision()){const e=Ax(this.flatCoordinates,0,this.endss_,this.stride);this.flatInteriorPoints_=pu(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,e),this.flatInteriorPointsRevision_=this.getRevision()}return this.flatInteriorPoints_}getInteriorPoints(){return new Ox(this.getFlatInteriorPoints().slice(),"XYM")}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const e=this.flatCoordinates;xu(e,0,this.endss_,this.stride)?this.orientedFlatCoordinates_=e:(this.orientedFlatCoordinates_=e.slice(),this.orientedFlatCoordinates_.length=ku(this.orientedFlatCoordinates_,0,this.endss_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(e){const t=[],n=[];return t.length=function(e,t,n,i,r,o,s,a){for(let l=0,c=n.length;l<c;++l){const c=n[l],u=[];s=Jc(e,t,c,i,r,o,s,u),a.push(u),t=c[c.length-1]}return s}(this.flatCoordinates,0,this.endss_,this.stride,Math.sqrt(e),t,0,n),new Dx(t,"XY",n)}getPolygon(e){if(e<0||this.endss_.length<=e)return null;let t;if(0===e)t=0;else{const n=this.endss_[e-1];t=n[n.length-1]}const n=this.endss_[e].slice(),i=n[n.length-1];if(0!==t)for(let e=0,i=n.length;e<i;++e)n[e]-=t;return new Au(this.flatCoordinates.slice(t,i),this.layout,n)}getPolygons(){const e=this.layout,t=this.flatCoordinates,n=this.endss_,i=[];let r=0;for(let o=0,s=n.length;o<s;++o){const s=n[o].slice(),a=s[s.length-1];if(0!==r)for(let e=0,t=s.length;e<t;++e)s[e]-=r;const l=new Au(t.slice(r,a),e,s);i.push(l),r=a}return i}getType(){return"MultiPolygon"}intersectsExtent(e){return function(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o];if(mu(e,t,s,i,r))return!0;t=s[s.length-1]}return!1}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,3),this.flatCoordinates||(this.flatCoordinates=[]);const n=Zc(this.flatCoordinates,0,e,this.stride,this.endss_);if(0===n.length)this.flatCoordinates.length=0;else{const e=n[n.length-1];this.flatCoordinates.length=0===e.length?0:e[e.length-1]}this.changed()}}const Nx=Dx;class qx extends Fc{constructor(e){super(),this.geometries_=e,this.changeEventsKeys_=[],this.listenGeometriesChange_()}unlistenGeometriesChange_(){this.changeEventsKeys_.forEach(Dl),this.changeEventsKeys_.length=0}listenGeometriesChange_(){const e=this.geometries_;for(let t=0,n=e.length;t<n;++t)this.changeEventsKeys_.push(Fl(e[t],Tl,this.changed,this))}clone(){const e=new qx(Bx(this.geometries_));return e.applyProperties(this),e}closestPointXY(e,t,n,i){if(i<qs(this.getExtent(),e,t))return i;const r=this.geometries_;for(let o=0,s=r.length;o<s;++o)i=r[o].closestPointXY(e,t,n,i);return i}containsXY(e,t){const n=this.geometries_;for(let i=0,r=n.length;i<r;++i)if(n[i].containsXY(e,t))return!0;return!1}computeExtent(e){Us(e);const t=this.geometries_;for(let n=0,i=t.length;n<i;++n)Xs(e,t[n].getExtent());return e}getGeometries(){return Bx(this.geometries_)}getGeometriesArray(){return this.geometries_}getGeometriesArrayRecursive(){let e=[];const t=this.geometries_;for(let n=0,i=t.length;n<i;++n)t[n].getType()===this.getType()?e=e.concat(t[n].getGeometriesArrayRecursive()):e.push(t[n]);return e}getSimplifiedGeometry(e){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),e<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&e<this.simplifiedGeometryMaxMinSquaredTolerance)return this;const t=[],n=this.geometries_;let i=!1;for(let r=0,o=n.length;r<o;++r){const o=n[r],s=o.getSimplifiedGeometry(e);t.push(s),s!==o&&(i=!0)}return i?new qx(t):(this.simplifiedGeometryMaxMinSquaredTolerance=e,this)}getType(){return"GeometryCollection"}intersectsExtent(e){const t=this.geometries_;for(let n=0,i=t.length;n<i;++n)if(t[n].intersectsExtent(e))return!0;return!1}isEmpty(){return 0===this.geometries_.length}rotate(e,t){const n=this.geometries_;for(let i=0,r=n.length;i<r;++i)n[i].rotate(e,t);this.changed()}scale(e,t,n){n||(n=ra(this.getExtent()));const i=this.geometries_;for(let r=0,o=i.length;r<o;++r)i[r].scale(e,t,n);this.changed()}setGeometries(e){this.setGeometriesArray(Bx(e))}setGeometriesArray(e){this.unlistenGeometriesChange_(),this.geometries_=e,this.listenGeometriesChange_(),this.changed()}applyTransform(e){const t=this.geometries_;for(let n=0,i=t.length;n<i;++n)t[n].applyTransform(e);this.changed()}translate(e,t){const n=this.geometries_;for(let i=0,r=n.length;i<r;++i)n[i].translate(e,t);this.changed()}disposeInternal(){this.unlistenGeometriesChange_(),super.disposeInternal()}}function Bx(e){return e.map((e=>e.clone()))}const Gx=qx,Vx=class{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=vb,this.supportedMediaTypes=null}getReadOptions(e,t){if(t){let n=t.dataProjection?Ga(t.dataProjection):this.readProjection(e);t.extent&&n&&"tile-pixels"===n.getUnits()&&(n=Ga(n),n.setWorldExtent(t.extent)),t={dataProjection:n,featureProjection:t.featureProjection}}return this.adaptOptions(t)}adaptOptions(e){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},e)}getType(){return Bl()}readFeature(e,t){return Bl()}readFeatures(e,t){return Bl()}readGeometry(e,t){return Bl()}readProjection(e){return Bl()}writeFeature(e,t){return Bl()}writeFeatures(e,t){return Bl()}writeGeometry(e,t){return Bl()}};function Hx(e,t,n){const i=n?Ga(n.featureProjection):null,r=n?Ga(n.dataProjection):null;let o=e;if(i&&r&&!Za(i,r)){t&&(o=e.clone());const n=t?i:r,s=t?r:i;"tile-pixels"===n.getUnits()?o.transform(n,s):o.applyTransform(Xa(n,s))}if(t&&n&&void 0!==n.decimals){const t=Math.pow(10,n.decimals),i=function(e){for(let n=0,i=e.length;n<i;++n)e[n]=Math.round(e[n]*t)/t;return e};o===e&&(o=e.clone()),o.applyTransform(i)}return o}const Wx={Point:lu,LineString:Lx,Polygon:Au,MultiPoint:Ox,MultiLineString:jx,MultiPolygon:Nx};function Ux(e,t){const n=e.geometry;if(!n)return[];if(Array.isArray(n))return n.map((t=>Ux({...e,geometry:t}))).flat();const i="MultiPolygon"===n.type?"Polygon":n.type;if("GeometryCollection"===i||"Circle"===i)throw new Error("Unsupported geometry type: "+i);const r=n.layout.length;return Hx(new Tx(i,"Polygon"===i?function(e,t,n){return Array.isArray(t[0])?(xu(e,0,t,n)||ku(e=e.slice(),0,t,n),e):(bu(e,0,t,n)||wu(e=e.slice(),0,t,n),e)}(n.flatCoordinates,n.ends,r):n.flatCoordinates,n.ends?.flat(),r,e.properties||{},e.id).enableSimplifyTransformed(),!1,t)}function $x(e,t){if(!e)return null;if(Array.isArray(e)){const n=e.map((e=>$x(e,t)));return new Gx(n)}return Hx(new(0,Wx[e.type])(e.flatCoordinates,e.layout,e.ends),!1,t)}function Zx(e){if("string"==typeof e){return JSON.parse(e)||null}return null!==e?e:null}const Kx=class extends Vx{constructor(){super()}getType(){return"json"}readFeature(e,t){return this.readFeatureFromObject(Zx(e),this.getReadOptions(e,t))}readFeatures(e,t){return this.readFeaturesFromObject(Zx(e),this.getReadOptions(e,t))}readFeatureFromObject(e,t){return Bl()}readFeaturesFromObject(e,t){return Bl()}readGeometry(e,t){return this.readGeometryFromObject(Zx(e),this.getReadOptions(e,t))}readGeometryFromObject(e,t){return Bl()}readProjection(e){return this.readProjectionFromObject(Zx(e))}readProjectionFromObject(e){return Bl()}writeFeature(e,t){return JSON.stringify(this.writeFeatureObject(e,t))}writeFeatureObject(e,t){return Bl()}writeFeatures(e,t){return JSON.stringify(this.writeFeaturesObject(e,t))}writeFeaturesObject(e,t){return Bl()}writeGeometry(e,t){return JSON.stringify(this.writeGeometryObject(e,t))}writeGeometryObject(e,t){return Bl()}};function Xx(e,t){if(!e)return null;let n;switch(e.type){case"Point":n=function(e){const t=e.coordinates;return{type:"Point",flatCoordinates:t,layout:jc(t.length)}}(e);break;case"LineString":n=function(e){const t=e.coordinates,n=t.flat();return{type:"LineString",flatCoordinates:n,ends:[n.length],layout:jc(t[0]?.length||2)}}(e);break;case"Polygon":n=function(e){const t=e.coordinates,n=[],i=t[0]?.[0]?.length;return{type:"Polygon",flatCoordinates:n,ends:$c(n,0,t,i),layout:jc(i)}}(e);break;case"MultiPoint":n=function(e){const t=e.coordinates;return{type:"MultiPoint",flatCoordinates:t.flat(),layout:jc(t[0]?.length||2)}}(e);break;case"MultiLineString":n=function(e){const t=e.coordinates,n=t[0]?.[0]?.length||2,i=[];return{type:"MultiLineString",flatCoordinates:i,ends:$c(i,0,t,n),layout:jc(n)}}(e);break;case"MultiPolygon":n=function(e){const t=e.coordinates,n=[],i=t[0]?.[0]?.[0].length||2;return{type:"MultiPolygon",flatCoordinates:n,ends:Zc(n,0,t,i),layout:jc(i)}}(e);break;case"GeometryCollection":n=function(e){const t=e.geometries.map((function(e){return Xx(e)}));return t}(e);break;default:throw new Error("Unsupported GeoJSON type: "+e.type)}return n}function Yx(e,t){const n=(e=Hx(e,!0,t)).getType();let i;switch(n){case"Point":i=function(e){return{type:"Point",coordinates:e.getCoordinates()}}(e);break;case"LineString":i=function(e){return{type:"LineString",coordinates:e.getCoordinates()}}(e);break;case"Polygon":i=function(e,t){let n;return t&&(n=t.rightHanded),{type:"Polygon",coordinates:e.getCoordinates(n)}}(e,t);break;case"MultiPoint":i=function(e){return{type:"MultiPoint",coordinates:e.getCoordinates()}}(e);break;case"MultiLineString":i=function(e){return{type:"MultiLineString",coordinates:e.getCoordinates()}}(e);break;case"MultiPolygon":i=function(e,t){let n;return t&&(n=t.rightHanded),{type:"MultiPolygon",coordinates:e.getCoordinates(n)}}(e,t);break;case"GeometryCollection":i=function(e,t){delete(t=Object.assign({},t)).featureProjection;return{type:"GeometryCollection",geometries:e.getGeometriesArray().map((function(e){return Yx(e,t)}))}}(e,t);break;case"Circle":i={type:"GeometryCollection",geometries:[]};break;default:throw new Error("Unsupported geometry type: "+n)}return i}const Qx=class extends Kx{constructor(e){e=e||{},super(),this.dataProjection=Ga(e.dataProjection?e.dataProjection:"EPSG:4326"),e.featureProjection&&(this.defaultFeatureProjection=Ga(e.featureProjection)),e.featureClass&&(this.featureClass=e.featureClass),this.geometryName_=e.geometryName,this.extractGeometryName_=e.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(e,t){let n=null;n="Feature"===e.type?e:{type:"Feature",geometry:e,properties:null};const i=Xx(n.geometry);if(this.featureClass===Tx)return Ux({geometry:i,id:n.id,properties:n.properties},t);const r=new vb;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry($x(i,t)),"id"in n&&r.setId(n.id),n.properties&&r.setProperties(n.properties,!0),r}readFeaturesFromObject(e,t){let n=null;if("FeatureCollection"===e.type){n=[];const i=e.features;for(let e=0,r=i.length;e<r;++e){const r=this.readFeatureFromObject(i[e],t);r&&n.push(r)}}else n=[this.readFeatureFromObject(e,t)];return n.flat()}readGeometryFromObject(e,t){return function(e,t){return $x(Xx(e),t)}(e,t)}readProjectionFromObject(e){const t=e.crs;let n;if(t)if("name"==t.type)n=Ga(t.properties.name);else{if("EPSG"!==t.type)throw new Error("Unknown SRS type");n=Ga("EPSG:"+t.properties.code)}else n=this.dataProjection;return n}writeFeatureObject(e,t){t=this.adaptOptions(t);const n={type:"Feature",geometry:null,properties:null},i=e.getId();if(void 0!==i&&(n.id=i),!e.hasProperties())return n;const r=e.getProperties(),o=e.getGeometry();return o&&(n.geometry=Yx(o,t),delete r[e.getGeometryName()]),El(r)||(n.properties=r),n}writeFeaturesObject(e,t){t=this.adaptOptions(t);const n=[];for(let i=0,r=e.length;i<r;++i)n.push(this.writeFeatureObject(e[i],t));return{type:"FeatureCollection",features:n}}writeGeometryObject(e,t){return Yx(e,this.adaptOptions(t))}},Jx=class extends zu{constructor(e){super(e=e||{})}},ew=class extends Eb{constructor(e){super(e),this.image=null}getImage(){return this.image?this.image.getImage():null}prepareFrame(e){const t=e.layerStatesArray[e.layerIndex],n=e.pixelRatio,i=e.viewState,r=i.resolution,o=this.getLayer().getSource(),s=e.viewHints;let a=e.extent;if(void 0!==t.extent&&(a=la(a,rl(t.extent,i.projection))),!s[0]&&!s[1]&&!pa(a))if(o){const e=i.projection,t=o.getImage(a,r,n,e);t&&(this.loadImage(t)?this.image=t:4===t.getState()&&(this.image=null))}else this.image=null;return!!this.image}getData(e){const t=this.frameState;if(!t)return null;const n=this.getLayer(),i=Mc(t.pixelToCoordinateTransform,e.slice()),r=n.getExtent();if(r&&!Bs(r,i))return null;const o=this.image.getExtent(),s=this.image.getImage(),a=da(o),l=Math.floor(s.width*((i[0]-o[0])/a));if(l<0||l>=s.width)return null;const c=aa(o),u=Math.floor(s.height*((o[3]-i[1])/c));return u<0||u>=s.height?null:this.getImageData(s,l,u)}renderFrame(e,t){const n=this.image,i=n.getExtent(),r=n.getResolution(),[o,s]=Array.isArray(r)?r:[r,r],a=n.getPixelRatio(),l=e.layerStatesArray[e.layerIndex],c=e.pixelRatio,u=e.viewState,d=u.center,h=u.resolution,p=c*o/(h*a),f=c*s/(h*a);this.prepareContainer(e,t);const _=this.context.canvas.width,g=this.context.canvas.height,m=this.getRenderContext(e);let y=!1,v=!0;if(l.extent){const t=rl(l.extent,u.projection);v=ha(t,e.extent),y=v&&!Gs(t,e.extent),y&&this.clipUnrotated(m,e,t)}const b=n.getImage(),x=Pc(this.tempTransform,_/2,g/2,p,f,0,a*(i[0]-d[0])/o,a*(d[1]-i[3])/s);this.renderedResolution=s*c/a;const w=b.width*x[0],k=b.height*x[3];if(this.getLayer().getSource().getInterpolate()||(m.imageSmoothingEnabled=!1),this.preRender(m,e),v&&w>=.5&&k>=.5){const e=x[4],t=x[5],n=l.opacity;1!==n&&(m.save(),m.globalAlpha=n),m.drawImage(b,0,0,+b.width,+b.height,e,t,w,k),1!==n&&m.restore()}return this.postRender(this.context,e),y&&m.restore(),m.imageSmoothingEnabled=!0,this.container}},tw=class extends Jx{constructor(e){super(e)}createRenderer(){return new ew(this)}getData(e){return super.getData(e)}},nw=4294967296,iw=1/nw,rw="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8");class ow{constructor(e=new Uint8Array(16)){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer),this.pos=0,this.type=0,this.length=this.buf.length}readFields(e,t,n=this.length){for(;this.pos<n;){const n=this.readVarint(),i=n>>3,r=this.pos;this.type=7&n,e(i,t,this),this.pos===r&&this.skip(n)}return t}readMessage(e,t){return this.readFields(e,t,this.readVarint()+this.pos)}readFixed32(){const e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){const e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){const e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*nw;return this.pos+=8,e}readSFixed64(){const e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*nw;return this.pos+=8,e}readFloat(){const e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){const e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){const t=this.buf;let n,i;return i=t[this.pos++],n=127&i,i<128?n:(i=t[this.pos++],n|=(127&i)<<7,i<128?n:(i=t[this.pos++],n|=(127&i)<<14,i<128?n:(i=t[this.pos++],n|=(127&i)<<21,i<128?n:(i=t[this.pos],n|=(15&i)<<28,function(e,t,n){const i=n.buf;let r,o;if(o=i[n.pos++],r=(112&o)>>4,o<128)return sw(e,r,t);if(o=i[n.pos++],r|=(127&o)<<3,o<128)return sw(e,r,t);if(o=i[n.pos++],r|=(127&o)<<10,o<128)return sw(e,r,t);if(o=i[n.pos++],r|=(127&o)<<17,o<128)return sw(e,r,t);if(o=i[n.pos++],r|=(127&o)<<24,o<128)return sw(e,r,t);if(o=i[n.pos++],r|=(1&o)<<31,o<128)return sw(e,r,t);throw new Error("Expected varint not more than 10 bytes")}(n,e,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){const e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return Boolean(this.readVarint())}readString(){const e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&rw?rw.decode(this.buf.subarray(t,e)):function(e,t,n){let i="",r=t;for(;r<n;){const t=e[r];let o,s,a,l=null,c=t>239?4:t>223?3:t>191?2:1;if(r+c>n)break;1===c?t<128&&(l=t):2===c?(o=e[r+1],128==(192&o)&&(l=(31&t)<<6|63&o,l<=127&&(l=null))):3===c?(o=e[r+1],s=e[r+2],128==(192&o)&&128==(192&s)&&(l=(15&t)<<12|(63&o)<<6|63&s,(l<=2047||l>=55296&&l<=57343)&&(l=null))):4===c&&(o=e[r+1],s=e[r+2],a=e[r+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(l=(15&t)<<18|(63&o)<<12|(63&s)<<6|63&a,(l<=65535||l>=1114112)&&(l=null))),null===l?(l=65533,c=1):l>65535&&(l-=65536,i+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),i+=String.fromCharCode(l),r+=c}return i}(this.buf,t,e)}readBytes(){const e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}readPackedVarint(e=[],t){const n=this.readPackedEnd();for(;this.pos<n;)e.push(this.readVarint(t));return e}readPackedSVarint(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSVarint());return e}readPackedBoolean(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readBoolean());return e}readPackedFloat(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFloat());return e}readPackedDouble(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readDouble());return e}readPackedFixed32(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed32());return e}readPackedSFixed32(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed32());return e}readPackedFixed64(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed64());return e}readPackedSFixed64(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed64());return e}readPackedEnd(){return 2===this.type?this.readVarint()+this.pos:this.pos+1}skip(e){const t=7&e;if(0===t)for(;this.buf[this.pos++]>127;);else if(2===t)this.pos=this.readVarint()+this.pos;else if(5===t)this.pos+=4;else{if(1!==t)throw new Error(`Unimplemented type: ${t}`);this.pos+=8}}writeTag(e,t){this.writeVarint(e<<3|t)}realloc(e){let t=this.length||16;for(;t<this.pos+e;)t*=2;if(t!==this.length){const e=new Uint8Array(t);e.set(this.buf),this.buf=e,this.dataView=new DataView(e.buffer),this.length=t}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeSFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,-1&e,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*iw),!0),this.pos+=8}writeSFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,-1&e,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*iw),!0),this.pos+=8}writeVarint(e){(e=+e||0)>268435455||e<0?function(e,t){let n,i;if(e>=0?(n=e%4294967296|0,i=e/4294967296|0):(n=~(-e%4294967296),i=~(-e/4294967296),4294967295^n?n=n+1|0:(n=0,i=i+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,n){n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos]=127&e}(n,0,t),function(e,t){const n=(7&e)<<4;t.buf[t.pos++]|=n|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(i,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))}writeSVarint(e){this.writeVarint(e<0?2*-e-1:2*e)}writeBoolean(e){this.writeVarint(+e)}writeString(e){e=String(e),this.realloc(4*e.length),this.pos++;const t=this.pos;this.pos=function(e,t,n){for(let i,r,o=0;o<t.length;o++){if(i=t.charCodeAt(o),i>55295&&i<57344){if(!r){i>56319||o+1===t.length?(e[n++]=239,e[n++]=191,e[n++]=189):r=i;continue}if(i<56320){e[n++]=239,e[n++]=191,e[n++]=189,r=i;continue}i=r-55296<<10|i-56320|65536,r=null}else r&&(e[n++]=239,e[n++]=191,e[n++]=189,r=null);i<128?e[n++]=i:(i<2048?e[n++]=i>>6|192:(i<65536?e[n++]=i>>12|224:(e[n++]=i>>18|240,e[n++]=i>>12&63|128),e[n++]=i>>6&63|128),e[n++]=63&i|128)}return n}(this.buf,e,this.pos);const n=this.pos-t;n>=128&&aw(t,n,this),this.pos=t-1,this.writeVarint(n),this.pos+=n}writeFloat(e){this.realloc(4),this.dataView.setFloat32(this.pos,e,!0),this.pos+=4}writeDouble(e){this.realloc(8),this.dataView.setFloat64(this.pos,e,!0),this.pos+=8}writeBytes(e){const t=e.length;this.writeVarint(t),this.realloc(t);for(let n=0;n<t;n++)this.buf[this.pos++]=e[n]}writeRawMessage(e,t){this.pos++;const n=this.pos;e(t,this);const i=this.pos-n;i>=128&&aw(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i}writeMessage(e,t,n){this.writeTag(e,2),this.writeRawMessage(t,n)}writePackedVarint(e,t){t.length&&this.writeMessage(e,lw,t)}writePackedSVarint(e,t){t.length&&this.writeMessage(e,cw,t)}writePackedBoolean(e,t){t.length&&this.writeMessage(e,hw,t)}writePackedFloat(e,t){t.length&&this.writeMessage(e,uw,t)}writePackedDouble(e,t){t.length&&this.writeMessage(e,dw,t)}writePackedFixed32(e,t){t.length&&this.writeMessage(e,pw,t)}writePackedSFixed32(e,t){t.length&&this.writeMessage(e,fw,t)}writePackedFixed64(e,t){t.length&&this.writeMessage(e,_w,t)}writePackedSFixed64(e,t){t.length&&this.writeMessage(e,gw,t)}writeBytesField(e,t){this.writeTag(e,2),this.writeBytes(t)}writeFixed32Field(e,t){this.writeTag(e,5),this.writeFixed32(t)}writeSFixed32Field(e,t){this.writeTag(e,5),this.writeSFixed32(t)}writeFixed64Field(e,t){this.writeTag(e,1),this.writeFixed64(t)}writeSFixed64Field(e,t){this.writeTag(e,1),this.writeSFixed64(t)}writeVarintField(e,t){this.writeTag(e,0),this.writeVarint(t)}writeSVarintField(e,t){this.writeTag(e,0),this.writeSVarint(t)}writeStringField(e,t){this.writeTag(e,2),this.writeString(t)}writeFloatField(e,t){this.writeTag(e,5),this.writeFloat(t)}writeDoubleField(e,t){this.writeTag(e,1),this.writeDouble(t)}writeBooleanField(e,t){this.writeVarintField(e,+t)}}function sw(e,t,n){return n?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function aw(e,t,n){const i=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));n.realloc(i);for(let t=n.pos-1;t>=e;t--)n.buf[t+i]=n.buf[t]}function lw(e,t){for(let n=0;n<e.length;n++)t.writeVarint(e[n])}function cw(e,t){for(let n=0;n<e.length;n++)t.writeSVarint(e[n])}function uw(e,t){for(let n=0;n<e.length;n++)t.writeFloat(e[n])}function dw(e,t){for(let n=0;n<e.length;n++)t.writeDouble(e[n])}function hw(e,t){for(let n=0;n<e.length;n++)t.writeBoolean(e[n])}function pw(e,t){for(let n=0;n<e.length;n++)t.writeFixed32(e[n])}function fw(e,t){for(let n=0;n<e.length;n++)t.writeSFixed32(e[n])}function _w(e,t){for(let n=0;n<e.length;n++)t.writeFixed64(e[n])}function gw(e,t){for(let n=0;n<e.length;n++)t.writeSFixed64(e[n])}function mw(e,t,n){if(3===e){const e={keys:[],values:[],features:[]},i=n.readVarint()+n.pos;n.readFields(yw,e,i),e.length=e.features.length,e.length&&(t[e.name]=e)}}function yw(e,t,n){if(15===e)t.version=n.readVarint();else if(1===e)t.name=n.readString();else if(5===e)t.extent=n.readVarint();else if(2===e)t.features.push(n.pos);else if(3===e)t.keys.push(n.readString());else if(4===e){let i=null;const r=n.readVarint()+n.pos;for(;n.pos<r;)i=1==(e=n.readVarint()>>3)?n.readString():2===e?n.readFloat():3===e?n.readDouble():4===e?n.readVarint64():5===e?n.readVarint():6===e?n.readSVarint():7===e?n.readBoolean():null;t.values.push(i)}}function vw(e,t,n){if(1==e)t.id=n.readVarint();else if(2==e){const e=n.readVarint()+n.pos;for(;n.pos<e;){const e=t.layer.keys[n.readVarint()],i=t.layer.values[n.readVarint()];t.properties[e]=i}}else 3==e?t.type=n.readVarint():4==e&&(t.geometry=n.pos)}function bw(e,t,n){e.pos=t.features[n];const i=e.readVarint()+e.pos,r={layer:t,type:0,properties:{}};return e.readFields(vw,r,i),r}const xw=class extends Vx{constructor(e){super(),e=e||{},this.dataProjection=new ws({code:"",units:"tile-pixels"}),this.featureClass=e.featureClass?e.featureClass:Tx,this.geometryName_=e.geometryName,this.layerName_=e.layerName?e.layerName:"layer",this.layers_=e.layers?e.layers:null,this.idProperty_=e.idProperty,this.supportedMediaTypes=["application/vnd.mapbox-vector-tile","application/x-protobuf"]}readRawGeometry_(e,t,n,i){e.pos=t.geometry;const r=e.readVarint()+e.pos;let o=1,s=0,a=0,l=0,c=0,u=0;for(;e.pos<r;){if(!s){const t=e.readVarint();o=7&t,s=t>>3}if(s--,1===o||2===o)a+=e.readSVarint(),l+=e.readSVarint(),1===o&&c>u&&(i.push(c),u=c),n.push(a,l),c+=2;else{if(7!==o)throw new Error("Invalid command found in the PBF");c>u&&(n.push(n[u],n[u+1]),c+=2)}}c>u&&(i.push(c),u=c)}createFeature_(e,t,n){const i=t.type;if(0===i)return null;let r;const o=t.properties;let s;this.idProperty_?(s=o[this.idProperty_],delete o[this.idProperty_]):s=t.id,o[this.layerName_]=t.layer.name;const a=[],l=[];this.readRawGeometry_(e,t,a,l);const c=function(e,t){let n;return 1===e?n=1===t?"Point":"MultiPoint":2===e?n=1===t?"LineString":"MultiLineString":3===e&&(n="Polygon"),n}(i,l.length);if(this.featureClass===Tx)r=new this.featureClass(c,a,l,2,o,s),r.transform(n.dataProjection);else{let e;if("Polygon"==c){const t=Cu(a,l);e=t.length>1?new Nx(a,"XY",t):new Au(a,"XY",l)}else e="Point"===c?new lu(a,"XY"):"LineString"===c?new Lx(a,"XY"):"MultiPoint"===c?new Ox(a,"XY"):"MultiLineString"===c?new jx(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const t=Hx(e,!1,n);r.setGeometry(t),void 0!==s&&r.setId(s),r.setProperties(o,!0)}return r}getType(){return"arraybuffer"}readFeatures(e,t){const n=this.layers_,i=Ga((t=this.adaptOptions(t)).dataProjection);i.setWorldExtent(t.extent),t.dataProjection=i;const r=new ow(e),o=r.readFields(mw,{}),s=[];for(const e in o){if(n&&!n.includes(e))continue;const a=o[e],l=a?[0,0,a.extent,a.extent]:null;i.setExtent(l);for(let e=0,n=a.length;e<n;++e){const n=bw(r,a,e),i=this.createFeature_(r,n,t);null!==i&&s.push(i)}}return s}readProjection(e){return this.dataProjection}setLayers(e){this.layers_=e}},ww=class extends Fd{constructor(e,t,n,i,r){super(e,t,n,void 0!==r?0:2),this.loader_=void 0!==r?r:null,this.canvas_=i,this.error_=null}getError(){return this.error_}handleLoad_(e){e?(this.error_=e,this.state=3):this.state=2,this.changed()}load(){0==this.state&&(this.state=1,this.changed(),this.loader_(this.handleLoad_.bind(this)))}getImage(){return this.canvas_}};function kw(e){return Array.isArray(e)?Math.min(...e):e}const Cw=class extends Fd{constructor(e,t,n,i,r,o,s){let a=e.getExtent();a&&e.canWrapX()&&(a=a.slice(),a[0]=-1/0,a[2]=1/0);let l=t.getExtent();l&&t.canWrapX()&&(l=l.slice(),l[0]=-1/0,l[2]=1/0);const c=l?la(n,l):n,u=Bb(e,t,ra(c),i),d=new Fb(e,t,c,a,.5*u,i),h=d.calculateSourceExtent(),p=pa(h)?null:o(h,u,r),f=p?0:4,_=p?p.getPixelRatio():1;super(n,i,_,f),this.targetProj_=t,this.maxSourceExtent_=a,this.triangulation_=d,this.targetResolution_=i,this.targetExtent_=n,this.sourceImage_=p,this.sourcePixelRatio_=_,this.interpolate_=s,this.canvas_=null,this.sourceListenerKey_=null}disposeInternal(){1==this.state&&this.unlistenSource_(),super.disposeInternal()}getImage(){return this.canvas_}getProjection(){return this.targetProj_}reproject_(){const e=this.sourceImage_.getState();if(2==e){const e=da(this.targetExtent_)/this.targetResolution_,t=aa(this.targetExtent_)/this.targetResolution_;this.canvas_=Vb(e,t,this.sourcePixelRatio_,kw(this.sourceImage_.getResolution()),this.maxSourceExtent_,this.targetResolution_,this.targetExtent_,this.triangulation_,[{extent:this.sourceImage_.getExtent(),image:this.sourceImage_.getImage()}],0,void 0,this.interpolate_,!0)}this.state=e,this.changed()}load(){if(0==this.state){this.state=1,this.changed();const e=this.sourceImage_.getState();2==e||3==e?this.reproject_():(this.sourceListenerKey_=Fl(this.sourceImage_,Tl,(e=>{const t=this.sourceImage_.getState();2!=t&&3!=t||(this.unlistenSource_(),this.reproject_())})),this.sourceImage_.load())}}unlistenSource_(){Dl(this.sourceListenerKey_),this.sourceListenerKey_=null}};class Sw extends pl{constructor(e,t){super(e),this.image=t}}const Aw=class extends ix{constructor(e){super({attributions:e.attributions,projection:e.projection,state:e.state,interpolate:void 0===e.interpolate||e.interpolate}),this.on,this.once,this.un,this.loader=e.loader||null,this.resolutions_=void 0!==e.resolutions?e.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=!!e.loader&&0===e.loader.length,this.wantedProjection_=null}getResolutions(){return this.resolutions_}setResolutions(e){this.resolutions_=e}findNearestResolution(e){const t=this.getResolutions();return t&&(e=t[ml(t,e,0)]),e}getImage(e,t,n,i){const r=this.getProjection();if(!r||!i||Za(r,i))return r&&(i=r),this.getImageInternal(e,t,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&Za(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==t&&Ks(this.reprojectedImage_.getExtent(),e))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new Cw(r,i,e,t,n,((e,t,n)=>this.getImageInternal(e,t,n,r)),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(e,t,n,i){if(this.loader){const r=function(e,t,n){const i=t/n,r=ra(e),o=Sa(da(e)/i,4),s=Sa(aa(e)/i,4);return sa(r,i,0,[o+2*Sa(0*o/2,4),s+2*Sa(0*s/2,4)])}(e,t,n),o=this.findNearestResolution(t);if(this.image&&(this.static_||this.wantedProjection_===i&&(this.wantedExtent_&&Gs(this.wantedExtent_,r)||Gs(this.image.getExtent(),r))&&(this.wantedResolution_&&kw(this.wantedResolution_)===o||kw(this.image.getResolution())===o)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=o,this.image=new Fd(r,o,n,this.loader),this.image.addEventListener(Tl,this.handleImageChange.bind(this))}return this.image}handleImageChange(e){const t=e.target;let n;switch(t.getState()){case 1:this.loading=!0,n="imageloadstart";break;case 2:this.loading=!1,n="imageloadend";break;case 3:this.loading=!1,n="imageloaderror";break;default:return}this.hasListener(n)&&this.dispatchEvent(new Sw(n,t))}};function Ew(e){return function(t){const n=t.buffers,i=t.meta,r=t.imageOps,o=t.width,s=t.height,a=n.length,l=n[0].byteLength;if(r){const t=new Array(a);for(let e=0;e<a;++e)t[e]=new ImageData(new Uint8ClampedArray(n[e]),o,s);return e(t,i).data.buffer}const c=new Uint8ClampedArray(l),u=new Array(a),d=new Array(a);for(let e=0;e<a;++e)u[e]=new Uint8ClampedArray(n[e]),d[e]=[0,0,0,0];for(let t=0;t<l;t+=4){for(let e=0;e<a;++e){const n=u[e];d[e][0]=n[t],d[e][1]=n[t+1],d[e][2]=n[t+2],d[e][3]=n[t+3]}const n=e(d,i);c[t]=n[0],c[t+1]=n[1],c[t+2]=n[2],c[t+3]=n[3]}return c.buffer}}function Mw(e,t){const n=Object.keys(e.lib||{}).map((function(t){return"const "+t+" = "+e.lib[t].toString()+";"})).concat(["const __minion__ = ("+Ew.toString()+")(",e.operation.toString(),");",'self.addEventListener("message", function(event) {'," const buffer = __minion__(event.data);"," self.postMessage({buffer: buffer, meta: event.data.meta}, [buffer]);","});"]),i=new Worker("undefined"==typeof Blob?"data:text/javascript;base64,"+Buffer.from(n.join("\n"),"binary").toString("base64"):URL.createObjectURL(new Blob(n,{type:"text/javascript"})));return i.addEventListener("message",t),i}class Tw extends _l{constructor(e){let t;super(),this.imageOps_=!!e.imageOps,t=0===e.threads?0:this.imageOps_?1:e.threads||1;const n=new Array(t);if(t)for(let i=0;i<t;++i)n[i]=Mw(e,this.onWorkerMessage_.bind(this,i));else n[0]=function(e,t){const n=Ew(e.operation);let i=!1;return{postMessage:function(e){setTimeout((function(){i||t({data:{buffer:n(e),meta:e.meta}})}),0)},terminate:function(){i=!0}}}(e,this.onWorkerMessage_.bind(this,0));this.workers_=n,this.queue_=[],this.maxQueueLength_=e.queue||1/0,this.running_=0,this.dataLookup_={},this.job_=null}process(e,t,n){this.enqueue_({inputs:e,meta:t,callback:n}),this.dispatch_()}enqueue_(e){for(this.queue_.push(e);this.queue_.length>this.maxQueueLength_;)this.queue_.shift().callback(null,null)}dispatch_(){if(this.running_||0===this.queue_.length)return;const e=this.queue_.shift();this.job_=e;const t=e.inputs[0].width,n=e.inputs[0].height,i=e.inputs.map((function(e){return e.data.buffer})),r=this.workers_.length;if(this.running_=r,1===r)return void this.workers_[0].postMessage({buffers:i,meta:e.meta,imageOps:this.imageOps_,width:t,height:n},i);const o=e.inputs[0].data.length,s=4*Math.ceil(o/4/r);for(let o=0;o<r;++o){const r=o*s,a=[];for(let e=0,t=i.length;e<t;++e)a.push(i[e].slice(r,r+s));this.workers_[o].postMessage({buffers:a,meta:e.meta,imageOps:this.imageOps_,width:t,height:n},a)}}onWorkerMessage_(e,t){this.disposed||(this.dataLookup_[e]=t.data,--this.running_,0===this.running_&&this.resolveJob_())}resolveJob_(){const e=this.job_,t=this.workers_.length;let n,i;if(1===t)n=new Uint8ClampedArray(this.dataLookup_[0].buffer),i=this.dataLookup_[0].meta;else{const r=e.inputs[0].data.length;n=new Uint8ClampedArray(r),i=new Array(t);const o=4*Math.ceil(r/4/t);for(let e=0;e<t;++e){const t=this.dataLookup_[e].buffer,r=e*o;n.set(new Uint8ClampedArray(t),r),i[e]=this.dataLookup_[e].meta}}this.job_=null,this.dataLookup_={},e.callback(null,new ImageData(n,e.inputs[0].width,e.inputs[0].height),i),this.dispatch_()}disposeInternal(){for(let e=0;e<this.workers_.length;++e)this.workers_[e].terminate();this.workers_.length=0}}class Pw extends pl{constructor(e,t,n){super(e),this.extent=t.extent,this.resolution=t.viewState.resolution/t.pixelRatio,this.data=n}}class Rw extends Aw{constructor(e){super({projection:null}),this.on,this.once,this.un,this.processor_=null,this.operationType_=void 0!==e.operationType?e.operationType:"pixel",this.threads_=void 0!==e.threads?e.threads:1,this.layers_=function(e){const t=e.length,n=new Array(t);for(let i=0;i<t;++i)n[i]=zw(e[i]);return n}(e.sources);const t=this.changed.bind(this);for(let e=0,n=this.layers_.length;e<n;++e)this.layers_[e].addEventListener(Tl,t);var n;this.useResolutions_=null!==e.resolutions,this.tileQueue_=new Xf((function(){return 1}),this.processSources_.bind(this)),this.requestedFrameState_,this.renderedImageCanvas_=null,this.renderedRevision_,this.frameState_={animate:!1,coordinateToPixelTransform:[1,0,0,1,0,0],declutter:null,extent:null,index:0,layerIndex:0,layerStatesArray:(n=this.layers_,n.map((function(e){return e.getLayerState()}))),pixelRatio:1,pixelToCoordinateTransform:[1,0,0,1,0,0],postRenderFunctions:[],size:[0,0],tileQueue:this.tileQueue_,time:Date.now(),usedTiles:{},viewState:{rotation:0},viewHints:[],wantedTiles:{},mapId:Vl(this),renderTargets:{}},this.setAttributions((function(t){const n=[];for(let i=0,r=e.sources.length;i<r;++i){const r=e.sources[i],o=r instanceof ix?r:r.getSource();if(!o)continue;const s=o.getAttributions()?.(t);"string"==typeof s?n.push(s):void 0!==s&&n.push(...s)}return n})),void 0!==e.operation&&this.setOperation(e.operation,e.lib)}setOperation(e,t){this.processor_&&this.processor_.dispose(),this.processor_=new Tw({operation:e,imageOps:"image"===this.operationType_,queue:1,lib:t,threads:this.threads_}),this.changed()}updateFrameState_(e,t,n){const i=Object.assign({},this.frameState_);i.viewState=Object.assign({},i.viewState);const r=ra(e);i.size[0]=Math.ceil(da(e)/t),i.size[1]=Math.ceil(aa(e)/t),i.extent=[r[0]-i.size[0]*t/2,r[1]-i.size[1]*t/2,r[0]+i.size[0]*t/2,r[1]+i.size[1]*t/2],i.time=Date.now();const o=i.viewState;return o.center=r,o.projection=n,o.resolution=t,i}allSourcesReady_(){let e,t=!0;for(let n=0,i=this.layers_.length;n<i;++n)if(e=this.layers_[n].getSource(),!e||"ready"!==e.getState()){t=!1;break}return t}getImage(e,t,n,i){if(!this.allSourcesReady_())return null;this.tileQueue_.loadMoreTiles(16,16),t=this.findNearestResolution(t);const r=this.updateFrameState_(e,t,i);if(this.requestedFrameState_=r,this.renderedImageCanvas_){const e=this.renderedImageCanvas_.getResolution(),n=this.renderedImageCanvas_.getExtent();t===e&&Ks(r.extent,n)||(this.renderedImageCanvas_=null)}return this.renderedImageCanvas_&&this.getRevision()===this.renderedRevision_||this.processSources_(),r.animate&&requestAnimationFrame(this.changed.bind(this)),this.renderedImageCanvas_}processSources_(){const e=this.requestedFrameState_,t=this.layers_.length,n=new Array(t);for(let i=0;i<t;++i){e.layerIndex=i,e.renderTargets={};const t=Lw(this.layers_[i],e);if(!t)return;n[i]=t}const i={};this.dispatchEvent(new Pw("beforeoperations",e,i)),this.processor_.process(n,i,this.onWorkerComplete_.bind(this,e))}onWorkerComplete_(e,t,n,i){if(t||!n)return;const r=e.extent,o=e.viewState.resolution;if(o!==this.requestedFrameState_.viewState.resolution||!Ks(r,this.requestedFrameState_.extent))return;let s;this.renderedImageCanvas_?s=this.renderedImageCanvas_.getImage().getContext("2d"):(s=Md(Math.round(da(r)/o),Math.round(aa(r)/o)),this.renderedImageCanvas_=new ww(r,o,1,s.canvas)),s.putImageData(n,0,0),e.animate?requestAnimationFrame(this.changed.bind(this)):this.changed(),this.renderedRevision_=this.getRevision(),this.dispatchEvent(new Pw("afteroperations",e,i))}getResolutions(e){if(!this.useResolutions_)return null;let t=super.getResolutions();if(!t)for(let n=0,i=this.layers_.length;n<i&&(t=this.layers_[n].getSource().getResolutions(e),!t);++n);return t}disposeInternal(){this.processor_&&this.processor_.dispose(),super.disposeInternal()}}Rw.prototype.dispose;let Iw=null;function Lw(e,t){const n=e.getRenderer();if(!n)throw new Error("Unsupported layer type: "+e);if(!n.prepareFrame(t))return null;const i=t.size[0],r=t.size[1];if(0===i||0===r)return null;const o=n.renderFrame(t,null);let s;if(o instanceof HTMLCanvasElement)s=o;else{if(o&&(s=o.firstElementChild),!(s instanceof HTMLCanvasElement))throw new Error("Unsupported rendered element: "+s);if(s.width===i&&s.height===r)return s.getContext("2d").getImageData(0,0,i,r)}if(Iw){const e=Iw.canvas;e.width!==i||e.height!==r?Iw=Md(i,r,void 0,{willReadFrequently:!0}):Iw.clearRect(0,0,i,r)}else Iw=Md(i,r,void 0,{willReadFrequently:!0});return Iw.drawImage(s,0,0,i,r),Iw.getImageData(0,0,i,r)}function zw(e){let t;return e instanceof ix?e instanceof dx?t=new tx({source:e}):e instanceof Aw&&(t=new tw({source:e})):t=e,t}const Ow=Rw;Error,Error;const Fw=class extends wx{constructor(e){if(super({attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:e.interpolate,projection:Ga("EPSG:3857"),reprojectionErrorThreshold:e.reprojectionErrorThreshold,state:"loading",tileLoadFunction:e.tileLoadFunction,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:e.zDirection}),this.tileJSON_=null,this.tileSize_=e.tileSize,e.url)if(e.jsonp)!function(e,t,n){const i=document.createElement("script"),r="olc_"+Vl(t);function o(){delete window[r],i.parentNode.removeChild(i)}i.async=!0,i.src=e+(e.includes("?")?"&":"?")+"callback="+r;const s=setTimeout((function(){o(),n&&n()}),1e4);window[r]=function(e){clearTimeout(s),o(),t(e)},document.head.appendChild(i)}(e.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const t=new XMLHttpRequest;t.addEventListener("load",this.onXHRLoad_.bind(this)),t.addEventListener("error",this.onXHRError_.bind(this)),t.open("GET",e.url),t.send()}else{if(!e.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(e.tileJSON)}}onXHRLoad_(e){const t=e.target;if(!t.status||t.status>=200&&t.status<300){let e;try{e=JSON.parse(t.responseText)}catch(e){return void this.handleTileJSONError()}this.handleTileJSONResponse(e)}else this.handleTileJSONError()}onXHRError_(e){this.handleTileJSONError()}getTileJSON(){return this.tileJSON_}handleTileJSONResponse(e){const t=Ga("EPSG:4326"),n=this.getProjection();let i;if(void 0!==e.bounds){const r=Ka(t,n);i=fa(e.bounds,r)}const r=cx(n),o=e.minzoom||0,s=ax({extent:r,maxZoom:e.maxzoom||22,minZoom:o,tileSize:this.tileSize_});if(this.tileGrid=s,this.tileUrlFunction=yx(e.tiles,s),e.attribution&&!this.getAttributions()){const t=void 0!==i?i:r;this.setAttributions((function(n){return ha(t,n.extent)?[e.attribution]:null}))}this.tileJSON_=e,this.setState("ready")}handleTileJSONError(){this.setState("error")}},jw={BEGIN_GEOMETRY:0,BEGIN_PATH:1,CIRCLE:2,CLOSE_PATH:3,CUSTOM:4,DRAW_CHARS:5,DRAW_IMAGE:6,END_GEOMETRY:7,FILL:8,MOVE_TO_LINE_TO:9,SET_FILL_STYLE:10,SET_STROKE_STYLE:11,STROKE:12},Dw=[jw.FILL],Nw=[jw.STROKE],qw=[jw.BEGIN_PATH],Bw=[jw.CLOSE_PATH],Gw=jw,Vw=class{drawCustom(e,t,n,i,r){}drawGeometry(e){}setStyle(e){}drawCircle(e,t,n){}drawFeature(e,t,n){}drawGeometryCollection(e,t,n){}drawLineString(e,t,n){}drawMultiLineString(e,t,n){}drawMultiPoint(e,t,n){}drawMultiPolygon(e,t,n){}drawPoint(e,t,n){}drawPolygon(e,t,n){}drawText(e,t,n){}setFillStrokeStyle(e,t){}setImageStyle(e,t){}setTextStyle(e,t){}},Hw=class extends Vw{constructor(e,t,n,i){super(),this.tolerance=e,this.maxExtent=t,this.pixelRatio=i,this.maxLineWidth=0,this.resolution=n,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(e){const t=this.pixelRatio;return 1==t?e:e.map((function(e){return e*t}))}appendFlatPointCoordinates(e,t){const n=this.getBufferedMaxExtent(),i=this.tmpCoordinate_,r=this.coordinates;let o=r.length;for(let s=0,a=e.length;s<a;s+=t)i[0]=e[s],i[1]=e[s+1],Bs(n,i)&&(r[o++]=i[0],r[o++]=i[1]);return o}appendFlatLineCoordinates(e,t,n,i,r,o){const s=this.coordinates;let a=s.length;const l=this.getBufferedMaxExtent();o&&(t+=i);let c=e[t],u=e[t+1];const d=this.tmpCoordinate_;let h,p,f,_=!0;for(h=t+i;h<n;h+=i)d[0]=e[h],d[1]=e[h+1],f=Hs(l,d),f!==p?(_&&(s[a++]=c,s[a++]=u,_=!1),s[a++]=d[0],s[a++]=d[1]):1===f?(s[a++]=d[0],s[a++]=d[1],_=!1):_=!0,c=d[0],u=d[1],p=f;return(r&&_||h===t+i)&&(s[a++]=c,s[a++]=u),a}drawCustomCoordinates_(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o],a=this.appendFlatLineCoordinates(e,t,s,i,!1,!1);r.push(a),t=s}return t}drawCustom(e,t,n,i,r){this.beginGeometry(e,t,r);const o=e.getType(),s=e.getStride(),a=this.coordinates.length;let l,c,u,d,h;switch(o){case"MultiPolygon":l=e.getOrientedFlatCoordinates(),d=[];const t=e.getEndss();h=0;for(let e=0,n=t.length;e<n;++e){const n=[];h=this.drawCustomCoordinates_(l,h,t[e],s,n),d.push(n)}this.instructions.push([Gw.CUSTOM,a,d,e,n,nu,r]),this.hitDetectionInstructions.push([Gw.CUSTOM,a,d,e,i||n,nu,r]);break;case"Polygon":case"MultiLineString":u=[],l="Polygon"==o?e.getOrientedFlatCoordinates():e.getFlatCoordinates(),h=this.drawCustomCoordinates_(l,0,e.getEnds(),s,u),this.instructions.push([Gw.CUSTOM,a,u,e,n,tu,r]),this.hitDetectionInstructions.push([Gw.CUSTOM,a,u,e,i||n,tu,r]);break;case"LineString":case"Circle":l=e.getFlatCoordinates(),c=this.appendFlatLineCoordinates(l,0,l.length,s,!1,!1),this.instructions.push([Gw.CUSTOM,a,c,e,n,eu,r]),this.hitDetectionInstructions.push([Gw.CUSTOM,a,c,e,i||n,eu,r]);break;case"MultiPoint":l=e.getFlatCoordinates(),c=this.appendFlatPointCoordinates(l,s),c>a&&(this.instructions.push([Gw.CUSTOM,a,c,e,n,eu,r]),this.hitDetectionInstructions.push([Gw.CUSTOM,a,c,e,i||n,eu,r]));break;case"Point":l=e.getFlatCoordinates(),this.coordinates.push(l[0],l[1]),c=this.coordinates.length,this.instructions.push([Gw.CUSTOM,a,c,e,n,void 0,r]),this.hitDetectionInstructions.push([Gw.CUSTOM,a,c,e,i||n,void 0,r])}this.endGeometry(t)}beginGeometry(e,t,n){this.beginGeometryInstruction1_=[Gw.BEGIN_GEOMETRY,t,0,e,n],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[Gw.BEGIN_GEOMETRY,t,0,e,n],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const e=this.hitDetectionInstructions;let t;e.reverse();const n=e.length;let i,r,o=-1;for(t=0;t<n;++t)i=e[t],r=i[0],r==Gw.END_GEOMETRY?o=t:r==Gw.BEGIN_GEOMETRY&&(i[2]=t,yl(this.hitDetectionInstructions,o,t),o=-1)}setFillStrokeStyle(e,t){const n=this.state;if(e){const t=e.getColor();n.fillPatternScale=t&&"object"==typeof t&&"src"in t?this.pixelRatio:1,n.fillStyle=Gd(t||Yd)}else n.fillStyle=void 0;if(t){const e=t.getColor();n.strokeStyle=Gd(e||th);const i=t.getLineCap();n.lineCap=void 0!==i?i:Qd;const r=t.getLineDash();n.lineDash=r?r.slice():Jd;const o=t.getLineDashOffset();n.lineDashOffset=o||0;const s=t.getLineJoin();n.lineJoin=void 0!==s?s:eh;const a=t.getWidth();n.lineWidth=void 0!==a?a:1;const l=t.getMiterLimit();n.miterLimit=void 0!==l?l:10,n.lineWidth>this.maxLineWidth&&(this.maxLineWidth=n.lineWidth,this.bufferedMaxExtent_=null)}else n.strokeStyle=void 0,n.lineCap=void 0,n.lineDash=null,n.lineDashOffset=void 0,n.lineJoin=void 0,n.lineWidth=void 0,n.miterLimit=void 0}createFill(e){const t=e.fillStyle,n=[Gw.SET_FILL_STYLE,t];return"string"!=typeof t&&n.push(e.fillPatternScale),n}applyStroke(e){this.instructions.push(this.createStroke(e))}createStroke(e){return[Gw.SET_STROKE_STYLE,e.strokeStyle,e.lineWidth*this.pixelRatio,e.lineCap,e.lineJoin,e.miterLimit,this.applyPixelRatio(e.lineDash),e.lineDashOffset*this.pixelRatio]}updateFillStyle(e,t){const n=e.fillStyle;"string"==typeof n&&e.currentFillStyle==n||(void 0!==n&&this.instructions.push(t.call(this,e)),e.currentFillStyle=n)}updateStrokeStyle(e,t){const n=e.strokeStyle,i=e.lineCap,r=e.lineDash,o=e.lineDashOffset,s=e.lineJoin,a=e.lineWidth,l=e.miterLimit;(e.currentStrokeStyle!=n||e.currentLineCap!=i||r!=e.currentLineDash&&!bl(e.currentLineDash,r)||e.currentLineDashOffset!=o||e.currentLineJoin!=s||e.currentLineWidth!=a||e.currentMiterLimit!=l)&&(void 0!==n&&t.call(this,e),e.currentStrokeStyle=n,e.currentLineCap=i,e.currentLineDash=r,e.currentLineDashOffset=o,e.currentLineJoin=s,e.currentLineWidth=a,e.currentMiterLimit=l)}endGeometry(e){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const t=[Gw.END_GEOMETRY,e];this.instructions.push(t),this.hitDetectionInstructions.push(t)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=Ns(this.maxExtent),this.maxLineWidth>0)){const e=this.resolution*(this.maxLineWidth+1)/2;Ds(this.bufferedMaxExtent_,e,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}},Ww=class extends Hw{constructor(e,t,n,i){super(e,t,n,i)}drawFlatCoordinatess_(e,t,n,i){const r=this.state,o=void 0!==r.fillStyle,s=void 0!==r.strokeStyle,a=n.length;this.instructions.push(qw),this.hitDetectionInstructions.push(qw);for(let r=0;r<a;++r){const o=n[r],a=this.coordinates.length,l=this.appendFlatLineCoordinates(e,t,o,i,!0,!s),c=[Gw.MOVE_TO_LINE_TO,a,l];this.instructions.push(c),this.hitDetectionInstructions.push(c),s&&(this.instructions.push(Bw),this.hitDetectionInstructions.push(Bw)),t=o}return o&&(this.instructions.push(Dw),this.hitDetectionInstructions.push(Dw)),s&&(this.instructions.push(Nw),this.hitDetectionInstructions.push(Nw)),t}drawCircle(e,t,n){const i=this.state,r=i.fillStyle,o=i.strokeStyle;if(void 0===r&&void 0===o)return;this.setFillStrokeStyles_(),this.beginGeometry(e,t,n),void 0!==i.fillStyle&&this.hitDetectionInstructions.push([Gw.SET_FILL_STYLE,Yd]),void 0!==i.strokeStyle&&this.hitDetectionInstructions.push([Gw.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0]);const s=e.getFlatCoordinates(),a=e.getStride(),l=this.coordinates.length;this.appendFlatLineCoordinates(s,0,s.length,a,!1,!1);const c=[Gw.CIRCLE,l];this.instructions.push(qw,c),this.hitDetectionInstructions.push(qw,c),void 0!==i.fillStyle&&(this.instructions.push(Dw),this.hitDetectionInstructions.push(Dw)),void 0!==i.strokeStyle&&(this.instructions.push(Nw),this.hitDetectionInstructions.push(Nw)),this.endGeometry(t)}drawPolygon(e,t,n){const i=this.state,r=i.fillStyle,o=i.strokeStyle;if(void 0===r&&void 0===o)return;this.setFillStrokeStyles_(),this.beginGeometry(e,t,n),void 0!==i.fillStyle&&this.hitDetectionInstructions.push([Gw.SET_FILL_STYLE,Yd]),void 0!==i.strokeStyle&&this.hitDetectionInstructions.push([Gw.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0]);const s=e.getEnds(),a=e.getOrientedFlatCoordinates(),l=e.getStride();this.drawFlatCoordinatess_(a,0,s,l),this.endGeometry(t)}drawMultiPolygon(e,t,n){const i=this.state,r=i.fillStyle,o=i.strokeStyle;if(void 0===r&&void 0===o)return;this.setFillStrokeStyles_(),this.beginGeometry(e,t,n),void 0!==i.fillStyle&&this.hitDetectionInstructions.push([Gw.SET_FILL_STYLE,Yd]),void 0!==i.strokeStyle&&this.hitDetectionInstructions.push([Gw.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0]);const s=e.getEndss(),a=e.getOrientedFlatCoordinates(),l=e.getStride();let c=0;for(let e=0,t=s.length;e<t;++e)c=this.drawFlatCoordinatess_(a,c,s[e],l);this.endGeometry(t)}finish(){this.reverseHitDetectionInstructions(),this.state=null;const e=this.tolerance;if(0!==e){const t=this.coordinates;for(let n=0,i=t.length;n<i;++n)t[n]=Yc(t[n],e)}return super.finish()}setFillStrokeStyles_(){const e=this.state;void 0!==e.fillStyle&&this.updateFillStyle(e,this.createFill),void 0!==e.strokeStyle&&this.updateStrokeStyle(e,this.applyStroke)}};function Uw(e,t,n,i,r){const o=[];let s=n,a=0,l=t.slice(n,2);for(;a<e&&s+r<i;){const[n,i]=l.slice(-2),c=t[s+r],u=t[s+r+1],d=Math.sqrt((c-n)*(c-n)+(u-i)*(u-i));if(a+=d,a>=e){const t=(e-a+d)/d,h=wa(n,c,t),p=wa(i,u,t);l.push(h,p),o.push(l),l=[h,p],a==e&&(s+=r),a=0}else if(a<e)l.push(t[s+r],t[s+r+1]),s+=r;else{const e=d-a,t=wa(n,c,e/d),h=wa(i,u,e/d);l.push(t,h),o.push(l),l=[t,h],a=0,s+=r}}return a>0&&o.push(l),o}function $w(e,t,n,i,r){let o,s,a,l,c,u,d,h,p,f,_=n,g=n,m=0,y=0,v=n;for(s=n;s<i;s+=r){const n=t[s],i=t[s+1];void 0!==c&&(p=n-c,f=i-u,l=Math.sqrt(p*p+f*f),void 0!==d&&(y+=a,o=Math.acos((d*p+h*f)/(a*l)),o>e&&(y>m&&(m=y,_=v,g=s),y=0,v=s-r)),a=l,d=p,h=f),c=n,u=i}return y+=l,y>m?[v,s]:[_,g]}const Zw={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},Kw={Circle:Ww,Default:Hw,Image:class extends Hw{constructor(e,t,n,i){super(e,t,n,i),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(e,t,n){if(!this.image_||this.maxExtent&&!Bs(this.maxExtent,e.getFlatCoordinates()))return;this.beginGeometry(e,t,n);const i=e.getFlatCoordinates(),r=e.getStride(),o=this.coordinates.length,s=this.appendFlatPointCoordinates(i,r);this.instructions.push([Gw.DRAW_IMAGE,o,s,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([Gw.DRAW_IMAGE,o,s,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(t)}drawMultiPoint(e,t,n){if(!this.image_)return;this.beginGeometry(e,t,n);const i=e.getFlatCoordinates(),r=[];for(let t=0,n=i.length;t<n;t+=e.getStride())this.maxExtent&&!Bs(this.maxExtent,i.slice(t,t+2))||r.push(i[t],i[t+1]);const o=this.coordinates.length,s=this.appendFlatPointCoordinates(r,2);this.instructions.push([Gw.DRAW_IMAGE,o,s,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([Gw.DRAW_IMAGE,o,s,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(t)}finish(){return this.reverseHitDetectionInstructions(),this.anchorX_=void 0,this.anchorY_=void 0,this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.height_=void 0,this.scale_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.width_=void 0,super.finish()}setImageStyle(e,t){const n=e.getAnchor(),i=e.getSize(),r=e.getOrigin();this.imagePixelRatio_=e.getPixelRatio(this.pixelRatio),this.anchorX_=n[0],this.anchorY_=n[1],this.hitDetectionImage_=e.getHitDetectionImage(),this.image_=e.getImage(this.pixelRatio),this.height_=i[1],this.opacity_=e.getOpacity(),this.originX_=r[0],this.originY_=r[1],this.rotateWithView_=e.getRotateWithView(),this.rotation_=e.getRotation(),this.scale_=e.getScaleArray(),this.width_=i[0],this.declutterMode_=e.getDeclutterMode(),this.declutterImageWithText_=t}},LineString:class extends Hw{constructor(e,t,n,i){super(e,t,n,i)}drawFlatCoordinates_(e,t,n,i){const r=this.coordinates.length,o=this.appendFlatLineCoordinates(e,t,n,i,!1,!1),s=[Gw.MOVE_TO_LINE_TO,r,o];return this.instructions.push(s),this.hitDetectionInstructions.push(s),n}drawLineString(e,t,n){const i=this.state,r=i.strokeStyle,o=i.lineWidth;if(void 0===r||void 0===o)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(e,t,n),this.hitDetectionInstructions.push([Gw.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0],qw);const s=e.getFlatCoordinates(),a=e.getStride();this.drawFlatCoordinates_(s,0,s.length,a),this.hitDetectionInstructions.push(Nw),this.endGeometry(t)}drawMultiLineString(e,t,n){const i=this.state,r=i.strokeStyle,o=i.lineWidth;if(void 0===r||void 0===o)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(e,t,n),this.hitDetectionInstructions.push([Gw.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0],qw);const s=e.getEnds(),a=e.getFlatCoordinates(),l=e.getStride();let c=0;for(let e=0,t=s.length;e<t;++e)c=this.drawFlatCoordinates_(a,c,s[e],l);this.hitDetectionInstructions.push(Nw),this.endGeometry(t)}finish(){const e=this.state;return null!=e.lastStroke&&e.lastStroke!=this.coordinates.length&&this.instructions.push(Nw),this.reverseHitDetectionInstructions(),this.state=null,super.finish()}applyStroke(e){null!=e.lastStroke&&e.lastStroke!=this.coordinates.length&&(this.instructions.push(Nw),e.lastStroke=this.coordinates.length),e.lastStroke=0,super.applyStroke(e),this.instructions.push(qw)}},Polygon:Ww,Text:class extends Hw{constructor(e,t,n,i){super(e,t,n,i),this.labels_=null,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=void 0,this.textRotation_=0,this.textFillState_=null,this.fillStates={},this.fillStates[Yd]={fillStyle:Yd},this.textStrokeState_=null,this.strokeStates={},this.textState_={},this.textStates={},this.textKey_="",this.fillKey_="",this.strokeKey_="",this.declutterMode_=void 0,this.declutterImageWithText_=void 0}finish(){const e=super.finish();return e.textStates=this.textStates,e.fillStates=this.fillStates,e.strokeStates=this.strokeStates,e}drawText(e,t,n){const i=this.textFillState_,r=this.textStrokeState_,o=this.textState_;if(""===this.text_||!o||!i&&!r)return;const s=this.coordinates;let a=s.length;const l=e.getType();let c=null,u=e.getStride();if("line"!==o.placement||"LineString"!=l&&"MultiLineString"!=l&&"Polygon"!=l&&"MultiPolygon"!=l){let i=o.overflow?null:[];switch(l){case"Point":case"MultiPoint":c=e.getFlatCoordinates();break;case"LineString":c=e.getFlatMidpoint();break;case"Circle":c=e.getCenter();break;case"MultiLineString":c=e.getFlatMidpoints(),u=2;break;case"Polygon":c=e.getFlatInteriorPoint(),o.overflow||i.push(c[2]/this.resolution),u=3;break;case"MultiPolygon":const t=e.getFlatInteriorPoints();c=[];for(let e=0,n=t.length;e<n;e+=3)o.overflow||i.push(t[e+2]/this.resolution),c.push(t[e],t[e+1]);if(0===c.length)return;u=2}const r=this.appendFlatPointCoordinates(c,u);if(r===a)return;if(i&&(r-a)/2!=c.length/u){let e=a/2;i=i.filter(((t,n)=>{const i=s[2*(e+n)]===c[n*u]&&s[2*(e+n)+1]===c[n*u+1];return i||--e,i}))}this.saveTextStates_(),(o.backgroundFill||o.backgroundStroke)&&(this.setFillStrokeStyle(o.backgroundFill,o.backgroundStroke),o.backgroundFill&&this.updateFillStyle(this.state,this.createFill),o.backgroundStroke&&(this.updateStrokeStyle(this.state,this.applyStroke),this.hitDetectionInstructions.push(this.createStroke(this.state)))),this.beginGeometry(e,t,n);let d=o.padding;if(d!=rh&&(o.scale[0]<0||o.scale[1]<0)){let e=o.padding[0],t=o.padding[1],n=o.padding[2],i=o.padding[3];o.scale[0]<0&&(t=-t,i=-i),o.scale[1]<0&&(e=-e,n=-n),d=[e,t,n,i]}const h=this.pixelRatio;this.instructions.push([Gw.DRAW_IMAGE,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,d==rh?rh:d.map((function(e){return e*h})),!!o.backgroundFill,!!o.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const p=1/h,f=this.state.fillStyle;o.backgroundFill&&(this.state.fillStyle=Yd,this.hitDetectionInstructions.push(this.createFill(this.state))),this.hitDetectionInstructions.push([Gw.DRAW_IMAGE,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[p,p],NaN,this.declutterMode_,this.declutterImageWithText_,d,!!o.backgroundFill,!!o.backgroundStroke,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?Yd:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),o.backgroundFill&&(this.state.fillStyle=f,this.hitDetectionInstructions.push(this.createFill(this.state))),this.endGeometry(t)}else{if(!ha(this.maxExtent,e.getExtent()))return;let i;if(c=e.getFlatCoordinates(),"LineString"==l)i=[c.length];else if("MultiLineString"==l)i=e.getEnds();else if("Polygon"==l)i=e.getEnds().slice(0,1);else if("MultiPolygon"==l){const t=e.getEndss();i=[];for(let e=0,n=t.length;e<n;++e)i.push(t[e][0])}this.beginGeometry(e,t,n);const r=o.repeat,d=r?void 0:o.textAlign;let h=0;for(let e=0,t=i.length;e<t;++e){let t;t=r?Uw(r*this.resolution,c,h,i[e],u):[c.slice(h,i[e])];for(let n=0,r=t.length;n<r;++n){const r=t[n];let l=0,c=r.length;if(null==d){const e=$w(o.maxAngle,r,0,r.length,2);l=e[0],c=e[1]}for(let e=l;e<c;e+=u)s.push(r[e],r[e+1]);const p=s.length;h=i[e],this.drawChars_(a,p),a=p}}this.endGeometry(t)}}saveTextStates_(){const e=this.textStrokeState_,t=this.textState_,n=this.textFillState_,i=this.strokeKey_;e&&(i in this.strokeStates||(this.strokeStates[i]={strokeStyle:e.strokeStyle,lineCap:e.lineCap,lineDashOffset:e.lineDashOffset,lineWidth:e.lineWidth,lineJoin:e.lineJoin,miterLimit:e.miterLimit,lineDash:e.lineDash}));const r=this.textKey_;r in this.textStates||(this.textStates[r]={font:t.font,textAlign:t.textAlign||nh,justify:t.justify,textBaseline:t.textBaseline||ih,scale:t.scale});const o=this.fillKey_;n&&(o in this.fillStates||(this.fillStates[o]={fillStyle:n.fillStyle}))}drawChars_(e,t){const n=this.textStrokeState_,i=this.textState_,r=this.strokeKey_,o=this.textKey_,s=this.fillKey_;this.saveTextStates_();const a=this.pixelRatio,l=Zw[i.textBaseline],c=this.textOffsetY_*a,u=this.text_,d=n?n.lineWidth*Math.abs(i.scale[0])/2:0;this.instructions.push([Gw.DRAW_CHARS,e,t,l,i.overflow,s,i.maxAngle,a,c,r,d*a,u,o,1,this.declutterMode_]),this.hitDetectionInstructions.push([Gw.DRAW_CHARS,e,t,l,i.overflow,s?Yd:s,i.maxAngle,a,c,r,d*a,u,o,1/a,this.declutterMode_])}setTextStyle(e,t){let n,i,r;if(e){const t=e.getFill();t?(i=this.textFillState_,i||(i={},this.textFillState_=i),i.fillStyle=Gd(t.getColor()||Yd)):(i=null,this.textFillState_=i);const o=e.getStroke();if(o){r=this.textStrokeState_,r||(r={},this.textStrokeState_=r);const e=o.getLineDash(),t=o.getLineDashOffset(),n=o.getWidth(),i=o.getMiterLimit();r.lineCap=o.getLineCap()||Qd,r.lineDash=e?e.slice():Jd,r.lineDashOffset=void 0===t?0:t,r.lineJoin=o.getLineJoin()||eh,r.lineWidth=void 0===n?1:n,r.miterLimit=void 0===i?10:i,r.strokeStyle=Gd(o.getColor()||th)}else r=null,this.textStrokeState_=r;n=this.textState_;const s=e.getFont()||Xd;ch(s);const a=e.getScaleArray();n.overflow=e.getOverflow(),n.font=s,n.maxAngle=e.getMaxAngle(),n.placement=e.getPlacement(),n.textAlign=e.getTextAlign(),n.repeat=e.getRepeat(),n.justify=e.getJustify(),n.textBaseline=e.getTextBaseline()||ih,n.backgroundFill=e.getBackgroundFill(),n.backgroundStroke=e.getBackgroundStroke(),n.padding=e.getPadding()||rh,n.scale=void 0===a?[1,1]:a;const l=e.getOffsetX(),c=e.getOffsetY(),u=e.getRotateWithView(),d=e.getRotation();this.text_=e.getText()||"",this.textOffsetX_=void 0===l?0:l,this.textOffsetY_=void 0===c?0:c,this.textRotateWithView_=void 0!==u&&u,this.textRotation_=void 0===d?0:d,this.strokeKey_=r?("string"==typeof r.strokeStyle?r.strokeStyle:Vl(r.strokeStyle))+r.lineCap+r.lineDashOffset+"|"+r.lineWidth+r.lineJoin+r.miterLimit+"["+r.lineDash.join()+"]":"",this.textKey_=n.font+n.scale+(n.textAlign||"?")+(n.repeat||"?")+(n.justify||"?")+(n.textBaseline||"?"),this.fillKey_=i&&i.fillStyle?"string"==typeof i.fillStyle?i.fillStyle:"|"+Vl(i.fillStyle):""}else this.text_="";this.declutterMode_=e.getDeclutterMode(),this.declutterImageWithText_=t}}},Xw=class{constructor(e,t,n,i){this.tolerance_=e,this.maxExtent_=t,this.pixelRatio_=i,this.resolution_=n,this.buildersByZIndex_={}}finish(){const e={};for(const t in this.buildersByZIndex_){e[t]=e[t]||{};const n=this.buildersByZIndex_[t];for(const i in n){const r=n[i].finish();e[t][i]=r}}return e}getBuilder(e,t){const n=void 0!==e?e.toString():"0";let i=this.buildersByZIndex_[n];void 0===i&&(i={},this.buildersByZIndex_[n]=i);let r=i[t];return void 0===r&&(r=new(0,Kw[t])(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_),i[t]=r),r}};function Yw(e,t,n,i,r,o,s,a,l,c,u,d){let h=e[t],p=e[t+1],f=0,_=0,g=0,m=0;function y(){f=h,_=p,h=e[t+=i],p=e[t+1],m+=g,g=Math.sqrt((h-f)*(h-f)+(p-_)*(p-_))}do{y()}while(t<n-i&&m+g<o);let v=0===g?0:(o-m)/g;const b=wa(f,h,v),x=wa(_,p,v),w=t-i,k=m,C=o+a*l(c,r,u);for(;t<n-i&&m+g<C;)y();v=0===g?0:(C-m)/g;const S=wa(f,h,v),A=wa(_,p,v);let E;if(d){const e=[b,x,S,A];zc(e,0,4,2,d,e,e),E=e[0]>e[2]}else E=b>S;const M=Math.PI,T=[],P=w+i===t;let R;if(g=0,m=k,h=e[t=w],p=e[t+1],P){y(),R=Math.atan2(p-_,h-f),E&&(R+=R>0?-M:M);const e=(S+b)/2,t=(A+x)/2;return T[0]=[e,t,(C-o)/2,R,r],T}for(let e=0,d=(r=r.replace(/\n/g," ")).length;e<d;){y();let b=Math.atan2(p-_,h-f);if(E&&(b+=b>0?-M:M),void 0!==R){let e=b-R;if(e+=e>M?-2*M:e<-M?2*M:0,Math.abs(e)>s)return null}R=b;const x=e;let w=0;for(;e<d;++e){const s=a*l(c,r[E?d-e-1:e],u);if(t+i<n&&m+g<o+w+s/2)break;w+=s}if(e===x)continue;const k=E?r.substring(d-x,d-e):r.substring(x,e);v=0===g?0:(o+w/2-m)/g;const C=wa(f,h,v),S=wa(_,p,v);T.push([C,S,w/2,b,k]),o+=w}return T}const Qw=[1/0,1/0,-1/0,-1/0],Jw=[],ek=[],tk=[],nk=[];function ik(e){return e[3].declutterBox}const rk=new RegExp("["+String.fromCharCode(1425)+"-"+String.fromCharCode(2303)+String.fromCharCode(64285)+"-"+String.fromCharCode(65023)+String.fromCharCode(65136)+"-"+String.fromCharCode(65276)+String.fromCharCode(67584)+"-"+String.fromCharCode(69631)+String.fromCharCode(124928)+"-"+String.fromCharCode(126975)+"]");function ok(e,t){return"start"===t?t=rk.test(e)?"right":"left":"end"===t&&(t=rk.test(e)?"left":"right"),Zw[t]}function sk(e,t,n){return n>0&&e.push("\n",""),e.push(t,""),e}const ak=class{constructor(e,t,n,i,r){this.overlaps=n,this.pixelRatio=t,this.resolution=e,this.alignAndScaleFill_,this.instructions=i.instructions,this.coordinates=i.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=i.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=i.fillStates||{},this.strokeStates=i.strokeStates||{},this.textStates=i.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=r?new Cb:null}getZIndexContext(){return this.zIndexContext_}createLabel(e,t,n,i){const r=e+t+n+i;if(this.labels_[r])return this.labels_[r];const o=i?this.strokeStates[i]:null,s=n?this.fillStates[n]:null,a=this.textStates[t],l=this.pixelRatio,c=[a.scale[0]*l,a.scale[1]*l],u=a.justify?Zw[a.justify]:ok(Array.isArray(e)?e[0]:e,a.textAlign||nh),d=i&&o.lineWidth?o.lineWidth:0,h=Array.isArray(e)?e:String(e).split("\n").reduce(sk,[]),{width:p,height:f,widths:_,heights:g,lineWidths:m}=function(e,t){const n=[],i=[],r=[];let o=0,s=0,a=0,l=0;for(let c=0,u=t.length;c<=u;c+=2){const d=t[c];if("\n"===d||c===u){o=Math.max(o,s),r.push(s),s=0,a+=l,l=0;continue}const h=t[c+1]||e.font,p=hh(h,d);n.push(p),s+=p;const f=uh(h);i.push(f),l=Math.max(l,f)}return{width:o,height:a,widths:n,heights:i,lineWidths:r}}(a,h),y=p+d,v=[],b=(y+2)*c[0],x=(f+d)*c[1],w={width:b<0?Math.floor(b):Math.ceil(b),height:x<0?Math.floor(x):Math.ceil(x),contextInstructions:v};1==c[0]&&1==c[1]||v.push("scale",c),i&&(v.push("strokeStyle",o.strokeStyle),v.push("lineWidth",d),v.push("lineCap",o.lineCap),v.push("lineJoin",o.lineJoin),v.push("miterLimit",o.miterLimit),v.push("setLineDash",[o.lineDash]),v.push("lineDashOffset",o.lineDashOffset)),n&&v.push("fillStyle",s.fillStyle),v.push("textBaseline","middle"),v.push("textAlign","center");const k=.5-u;let C=u*y+k*d;const S=[],A=[];let E,M=0,T=0,P=0,R=0;for(let e=0,t=h.length;e<t;e+=2){const t=h[e];if("\n"===t){T+=M,M=0,C=u*y+k*d,++R;continue}const r=h[e+1]||a.font;r!==E&&(i&&S.push("font",r),n&&A.push("font",r),E=r),M=Math.max(M,g[P]);const o=[t,C+k*_[P]+u*(_[P]-m[R]),.5*(d+M)+T];C+=_[P],i&&S.push("strokeText",o),n&&A.push("fillText",o),++P}return Array.prototype.push.apply(v,S),Array.prototype.push.apply(v,A),this.labels_[r]=w,w}replayTextBackground_(e,t,n,i,r,o,s){e.beginPath(),e.moveTo.apply(e,t),e.lineTo.apply(e,n),e.lineTo.apply(e,i),e.lineTo.apply(e,r),e.lineTo.apply(e,t),o&&(this.alignAndScaleFill_=o[2],this.fill_(e)),s&&(this.setStrokeStyle_(e,s),e.stroke())}calculateImageOrLabelDimensions_(e,t,n,i,r,o,s,a,l,c,u,d,h,p,f,_){let g=n-(s*=d[0]),m=i-(a*=d[1]);const y=r+l>e?e-l:r,v=o+c>t?t-c:o,b=p[3]+y*d[0]+p[1],x=p[0]+v*d[1]+p[2],w=g-p[3],k=m-p[0];let C;return(f||0!==u)&&(Jw[0]=w,nk[0]=w,Jw[1]=k,ek[1]=k,ek[0]=w+b,tk[0]=ek[0],tk[1]=k+x,nk[1]=tk[1]),0!==u?(C=Pc([1,0,0,1,0,0],n,i,1,1,u,-n,-i),Mc(C,Jw),Mc(C,ek),Mc(C,tk),Mc(C,nk),Ws(Math.min(Jw[0],ek[0],tk[0],nk[0]),Math.min(Jw[1],ek[1],tk[1],nk[1]),Math.max(Jw[0],ek[0],tk[0],nk[0]),Math.max(Jw[1],ek[1],tk[1],nk[1]),Qw)):Ws(Math.min(w,w+b),Math.min(k,k+x),Math.max(w,w+b),Math.max(k,k+x),Qw),h&&(g=Math.round(g),m=Math.round(m)),{drawImageX:g,drawImageY:m,drawImageW:y,drawImageH:v,originX:l,originY:c,declutterBox:{minX:Qw[0],minY:Qw[1],maxX:Qw[2],maxY:Qw[3],value:_},canvasTransform:C,scale:d}}replayImageOrLabel_(e,t,n,i,r,o,s){const a=!(!o&&!s),l=i.declutterBox,c=s?s[2]*i.scale[0]/2:0;return l.minX-c<=t[0]&&l.maxX+c>=0&&l.minY-c<=t[1]&&l.maxY+c>=0&&(a&&this.replayTextBackground_(e,Jw,ek,tk,nk,o,s),function(e,t,n,i,r,o,s,a,l,c,u){e.save(),1!==n&&(void 0===e.globalAlpha?e.globalAlpha=e=>e.globalAlpha*=n:e.globalAlpha*=n),t&&e.transform.apply(e,t),i.contextInstructions?(e.translate(l,c),e.scale(u[0],u[1]),function(e,t){const n=e.contextInstructions;for(let e=0,i=n.length;e<i;e+=2)Array.isArray(n[e+1])?t[n[e]].apply(t,n[e+1]):t[n[e]]=n[e+1]}(i,e)):u[0]<0||u[1]<0?(e.translate(l,c),e.scale(u[0],u[1]),e.drawImage(i,r,o,s,a,0,0,s,a)):e.drawImage(i,r,o,s,a,l,c,s*u[0],a*u[1]),e.restore()}(e,i.canvasTransform,r,n,i.originX,i.originY,i.drawImageW,i.drawImageH,i.drawImageX,i.drawImageY,i.scale)),!0}fill_(e){const t=this.alignAndScaleFill_;if(t){const n=Mc(this.renderedTransform_,[0,0]),i=512*this.pixelRatio;e.save(),e.translate(n[0]%i,n[1]%i),1!==t&&e.scale(t,t),e.rotate(this.viewRotation_)}e.fill(),t&&e.restore()}setStrokeStyle_(e,t){e.strokeStyle=t[1],e.lineWidth=t[2],e.lineCap=t[3],e.lineJoin=t[4],e.miterLimit=t[5],e.lineDashOffset=t[7],e.setLineDash(t[6])}drawLabelWithPointPlacement_(e,t,n,i){const r=this.textStates[t],o=this.createLabel(e,t,i,n),s=this.strokeStates[n],a=this.pixelRatio,l=ok(Array.isArray(e)?e[0]:e,r.textAlign||nh),c=Zw[r.textBaseline||ih],u=s&&s.lineWidth?s.lineWidth:0;return{label:o,anchorX:l*(o.width/a-2*r.scale[0])+2*(.5-l)*u,anchorY:c*o.height/a+2*(.5-c)*u}}execute_(e,t,n,i,r,o,s,a){const l=this.zIndexContext_;let c;var u,d;this.pixelCoordinates_&&bl(n,this.renderedTransform_)?c=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),c=Lc(this.coordinates,0,this.coordinates.length,2,n,this.pixelCoordinates_),d=n,(u=this.renderedTransform_)[0]=d[0],u[1]=d[1],u[2]=d[2],u[3]=d[3],u[4]=d[4],u[5]=d[5]);let h=0;const p=i.length;let f,_,g,m,y,v,b,x,w,k,C,S,A,E=0,M=0,T=0,P=null,R=null;const I=this.coordinateCache_,L=this.viewRotation_,z=Math.round(1e12*Math.atan2(-n[1],n[0]))/1e12,O={context:e,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:L},F=this.instructions!=i||this.overlaps?0:200;let j,D,N,q;for(;h<p;){const n=i[h];switch(n[0]){case Gw.BEGIN_GEOMETRY:j=n[1],q=n[3],j.getGeometry()?void 0===s||ha(s,q.getExtent())?++h:h=n[2]+1:h=n[2],l&&(l.zIndex=n[4]);break;case Gw.BEGIN_PATH:M>F&&(this.fill_(e),M=0),T>F&&(e.stroke(),T=0),M||T||(e.beginPath(),y=NaN,v=NaN),++h;break;case Gw.CIRCLE:E=n[1];const i=c[E],u=c[E+1],d=c[E+2]-i,p=c[E+3]-u,B=Math.sqrt(d*d+p*p);e.moveTo(i+B,u),e.arc(i,u,B,0,2*Math.PI,!0),++h;break;case Gw.CLOSE_PATH:e.closePath(),++h;break;case Gw.CUSTOM:E=n[1],f=n[2];const G=n[3],V=n[4],H=n[5];O.geometry=G,O.feature=j,h in I||(I[h]=[]);const W=I[h];H?H(c,E,f,2,W):(W[0]=c[E],W[1]=c[E+1],W.length=2),l&&(l.zIndex=n[6]),V(W,O),++h;break;case Gw.DRAW_IMAGE:E=n[1],f=n[2],w=n[3],_=n[4],g=n[5];let U=n[6];const $=n[7],Z=n[8],K=n[9],X=n[10];let Y=n[11];const Q=n[12];let J=n[13];m=n[14]||"declutter";const ee=n[15];if(!w&&n.length>=20){k=n[19],C=n[20],S=n[21],A=n[22];const e=this.drawLabelWithPointPlacement_(k,C,S,A);w=e.label,n[3]=w;const t=n[23];_=(e.anchorX-t)*this.pixelRatio,n[4]=_;const i=n[24];g=(e.anchorY-i)*this.pixelRatio,n[5]=g,U=w.height,n[6]=U,J=w.width,n[13]=J}let te,ne,ie,re;n.length>25&&(te=n[25]),n.length>17?(ne=n[16],ie=n[17],re=n[18]):(ne=rh,ie=!1,re=!1),X&&z?Y+=L:X||z||(Y-=L);let oe=0;for(;E<f;E+=2){if(te&&te[oe++]<J/this.pixelRatio)continue;const n=this.calculateImageOrLabelDimensions_(w.width,w.height,c[E],c[E+1],J,U,_,g,Z,K,Y,Q,r,ne,ie||re,j),i=[e,t,w,n,$,ie?P:null,re?R:null];if(a){let e,t,r,o,s;if(ee){const n=f-E;if(!ee[n]){ee[n]={args:i,declutterMode:m};continue}const o=ee[n];e=o.args,t=o.declutterMode,delete ee[n],r=ik(e)}if(!e||"declutter"===t&&a.collides(r)||(o=!0),"declutter"===m&&a.collides(n.declutterBox)||(s=!0),"declutter"===t&&"declutter"===m){const e=o&&s;o=e,s=e}o&&("none"!==t&&a.insert(r),this.replayImageOrLabel_.apply(this,e)),s&&("none"!==m&&a.insert(n.declutterBox),this.replayImageOrLabel_.apply(this,i))}else this.replayImageOrLabel_.apply(this,i)}++h;break;case Gw.DRAW_CHARS:const se=n[1],ae=n[2],le=n[3],ce=n[4];A=n[5];const ue=n[6],de=n[7],he=n[8];S=n[9];const pe=n[10];k=n[11],C=n[12];const fe=[n[13],n[13]];m=n[14]||"declutter";const _e=this.textStates[C],ge=_e.font,me=[_e.scale[0]*de,_e.scale[1]*de];let ye;ge in this.widths_?ye=this.widths_[ge]:(ye={},this.widths_[ge]=ye);const ve=Rx(c,se,ae,2),be=Math.abs(me[0])*ph(ge,k,ye);if(ce||be<=ve){const n=Yw(c,se,ae,2,k,(ve-be)*ok(k,this.textStates[C].textAlign),ue,Math.abs(me[0]),ph,ge,ye,z?0:this.viewRotation_);e:if(n){const i=[];let r,o,s,l,c;if(S)for(r=0,o=n.length;r<o;++r){c=n[r],s=c[4],l=this.createLabel(s,C,"",S),_=c[2]+(me[0]<0?-pe:pe),g=le*l.height+2*(.5-le)*pe*me[1]/me[0]-he;const o=this.calculateImageOrLabelDimensions_(l.width,l.height,c[0],c[1],l.width,l.height,_,g,0,0,c[3],fe,!1,rh,!1,j);if(a&&"declutter"===m&&a.collides(o.declutterBox))break e;i.push([e,t,l,o,1,null,null])}if(A)for(r=0,o=n.length;r<o;++r){c=n[r],s=c[4],l=this.createLabel(s,C,A,""),_=c[2],g=le*l.height-he;const o=this.calculateImageOrLabelDimensions_(l.width,l.height,c[0],c[1],l.width,l.height,_,g,0,0,c[3],fe,!1,rh,!1,j);if(a&&"declutter"===m&&a.collides(o.declutterBox))break e;i.push([e,t,l,o,1,null,null])}a&&"none"!==m&&a.load(i.map(ik));for(let e=0,t=i.length;e<t;++e)this.replayImageOrLabel_.apply(this,i[e])}}++h;break;case Gw.END_GEOMETRY:if(void 0!==o){j=n[1];const e=o(j,q,m);if(e)return e}++h;break;case Gw.FILL:F?M++:this.fill_(e),++h;break;case Gw.MOVE_TO_LINE_TO:for(E=n[1],f=n[2],D=c[E],N=c[E+1],e.moveTo(D,N),y=D+.5|0,v=N+.5|0,E+=2;E<f;E+=2)D=c[E],N=c[E+1],b=D+.5|0,x=N+.5|0,E!=f-2&&b===y&&x===v||(e.lineTo(D,N),y=b,v=x);++h;break;case Gw.SET_FILL_STYLE:P=n,this.alignAndScaleFill_=n[2],M&&(this.fill_(e),M=0,T&&(e.stroke(),T=0)),e.fillStyle=n[1],++h;break;case Gw.SET_STROKE_STYLE:R=n,T&&(e.stroke(),T=0),this.setStrokeStyle_(e,n),++h;break;case Gw.STROKE:F?T++:e.stroke(),++h;break;default:++h}}M&&this.fill_(e),T&&e.stroke()}execute(e,t,n,i,r,o){this.viewRotation_=i,this.execute_(e,t,n,this.instructions,r,void 0,void 0,o)}executeHitDetection(e,t,n,i,r){return this.viewRotation_=n,this.execute_(e,[e.canvas.width,e.canvas.height],t,this.hitDetectionInstructions,!0,i,r)}},lk=["Polygon","Circle","LineString","Image","Text","Default"],ck=["Image","Text"],uk=lk.filter((e=>!ck.includes(e))),dk={},hk=class{constructor(e,t,n,i,r,o,s){this.maxExtent_=e,this.overlaps_=i,this.pixelRatio_=n,this.resolution_=t,this.renderBuffer_=o,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=[1,0,0,1,0,0],this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(r,s)}clip(e,t){const n=this.getClipCoords(t);e.beginPath(),e.moveTo(n[0],n[1]),e.lineTo(n[2],n[3]),e.lineTo(n[4],n[5]),e.lineTo(n[6],n[7]),e.clip()}createExecutors_(e,t){for(const n in e){let i=this.executorsByZIndex_[n];void 0===i&&(i={},this.executorsByZIndex_[n]=i);const r=e[n];for(const e in r){const n=r[e];i[e]=new ak(this.resolution_,this.pixelRatio_,this.overlaps_,n,t)}}}hasExecutors(e){for(const t in this.executorsByZIndex_){const n=this.executorsByZIndex_[t];for(let t=0,i=e.length;t<i;++t)if(e[t]in n)return!0}return!1}forEachFeatureAtCoordinate(e,t,n,i,r,o){const s=2*(i=Math.round(i))+1,a=Pc(this.hitDetectionTransform_,i+.5,i+.5,1/t,-1/t,-n,-e[0],-e[1]),l=!this.hitDetectionContext_;l&&(this.hitDetectionContext_=Md(s,s,void 0,{willReadFrequently:!0}));const c=this.hitDetectionContext_;let u;c.canvas.width!==s||c.canvas.height!==s?(c.canvas.width=s,c.canvas.height=s):l||c.clearRect(0,0,s,s),void 0!==this.renderBuffer_&&(u=[1/0,1/0,-1/0,-1/0],Ys(u,e),Ds(u,t*(this.renderBuffer_+i),u));const d=function(e){if(void 0!==dk[e])return dk[e];const t=2*e+1,n=e*e,i=new Array(n+1);for(let r=0;r<=e;++r)for(let o=0;o<=e;++o){const s=r*r+o*o;if(s>n)break;let a=i[s];a||(a=[],i[s]=a),a.push(4*((e+r)*t+(e+o))+3),r>0&&a.push(4*((e-r)*t+(e+o))+3),o>0&&(a.push(4*((e+r)*t+(e-o))+3),r>0&&a.push(4*((e-r)*t+(e-o))+3))}const r=[];for(let e=0,t=i.length;e<t;++e)i[e]&&r.push(...i[e]);return dk[e]=r,r}(i);let h;function p(e,t,n){const a=c.getImageData(0,0,s,s).data;for(let l=0,u=d.length;l<u;l++)if(a[d[l]]>0){if(!o||"none"===n||"Image"!==h&&"Text"!==h||o.includes(e)){const n=(d[l]-3)/4,o=i-n%s,a=i-(n/s|0),c=r(e,t,o*o+a*a);if(c)return c}c.clearRect(0,0,s,s);break}}const f=Object.keys(this.executorsByZIndex_).map(Number);let _,g,m,y,v;for(f.sort(gl),_=f.length-1;_>=0;--_){const e=f[_].toString();for(m=this.executorsByZIndex_[e],g=lk.length-1;g>=0;--g)if(h=lk[g],y=m[h],void 0!==y&&(v=y.executeHitDetection(c,a,n,p,u),v))return v}}getClipCoords(e){const t=this.maxExtent_;if(!t)return null;const n=t[0],i=t[1],r=t[2],o=t[3],s=[n,i,n,o,r,o,r,i];return Lc(s,0,8,2,e,s),s}isEmpty(){return El(this.executorsByZIndex_)}execute(e,t,n,i,r,o,s){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(gl),o=o||lk;const l=lk.length;let c,u,d,h,p;for(s&&a.reverse(),c=0,u=a.length;c<u;++c){const u=a[c].toString();for(p=this.executorsByZIndex_[u],d=0,h=o.length;d<h;++d){const u=o[d],h=p[u];if(void 0!==h){const o=null===s?void 0:h.getZIndexContext(),p=o?o.getContext():e,f=this.maxExtent_&&"Image"!==u&&"Text"!==u;if(f&&(p.save(),this.clip(p,n)),o&&"Text"!==u&&"Image"!==u?o.pushFunction((e=>h.execute(e,t,n,i,r,s))):h.execute(p,t,n,i,r,s),f&&p.restore(),o){o.offset();const e=a[c]*l+d;this.deferredZIndexContexts_[e]||(this.deferredZIndexContexts_[e]=[]),this.deferredZIndexContexts_[e].push(o)}}}}this.renderedContext_=e}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){const e=this.deferredZIndexContexts_,t=Object.keys(e).map(Number).sort(gl);for(let n=0,i=t.length;n<i;++n)e[t[n]].forEach((e=>{e.draw(this.renderedContext_),e.clear()})),e[t[n]].length=0}},pk=class extends Vw{constructor(e,t,n,i,r,o,s){super(),this.context_=e,this.pixelRatio_=t,this.extent_=n,this.transform_=i,this.transformRotation_=i?ka(Math.atan2(i[1],i[0]),10):0,this.viewRotation_=r,this.squaredTolerance_=o,this.userTransform_=s,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=[1,0,0,1,0,0]}drawImages_(e,t,n,i){if(!this.image_)return;const r=Lc(e,t,n,i,this.transform_,this.pixelCoordinates_),o=this.context_,s=this.tmpLocalTransform_,a=o.globalAlpha;1!=this.imageOpacity_&&(o.globalAlpha=a*this.imageOpacity_);let l=this.imageRotation_;0===this.transformRotation_&&(l-=this.viewRotation_),this.imageRotateWithView_&&(l+=this.viewRotation_);for(let e=0,t=r.length;e<t;e+=2){const t=r[e]-this.imageAnchorX_,n=r[e+1]-this.imageAnchorY_;if(0!==l||1!=this.imageScale_[0]||1!=this.imageScale_[1]){const e=t+this.imageAnchorX_,i=n+this.imageAnchorY_;Pc(s,e,i,1,1,l,-e,-i),o.save(),o.transform.apply(o,s),o.translate(e,i),o.scale(this.imageScale_[0],this.imageScale_[1]),o.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,-this.imageAnchorX_,-this.imageAnchorY_,this.imageWidth_,this.imageHeight_),o.restore()}else o.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,t,n,this.imageWidth_,this.imageHeight_)}1!=this.imageOpacity_&&(o.globalAlpha=a)}drawText_(e,t,n,i){if(!this.textState_||""===this.text_)return;this.textFillState_&&this.setContextFillState_(this.textFillState_),this.textStrokeState_&&this.setContextStrokeState_(this.textStrokeState_),this.setContextTextState_(this.textState_);const r=Lc(e,t,n,i,this.transform_,this.pixelCoordinates_),o=this.context_;let s=this.textRotation_;for(0===this.transformRotation_&&(s-=this.viewRotation_),this.textRotateWithView_&&(s+=this.viewRotation_);t<n;t+=i){const e=r[t]+this.textOffsetX_,n=r[t+1]+this.textOffsetY_;0!==s||1!=this.textScale_[0]||1!=this.textScale_[1]?(o.save(),o.translate(e-this.textOffsetX_,n-this.textOffsetY_),o.rotate(s),o.translate(this.textOffsetX_,this.textOffsetY_),o.scale(this.textScale_[0],this.textScale_[1]),this.textStrokeState_&&o.strokeText(this.text_,0,0),this.textFillState_&&o.fillText(this.text_,0,0),o.restore()):(this.textStrokeState_&&o.strokeText(this.text_,e,n),this.textFillState_&&o.fillText(this.text_,e,n))}}moveToLineTo_(e,t,n,i,r){const o=this.context_,s=Lc(e,t,n,i,this.transform_,this.pixelCoordinates_);o.moveTo(s[0],s[1]);let a=s.length;r&&(a-=2);for(let e=2;e<a;e+=2)o.lineTo(s[e],s[e+1]);return r&&o.closePath(),n}drawRings_(e,t,n,i){for(let r=0,o=n.length;r<o;++r)t=this.moveToLineTo_(e,t,n[r],i,!0);return t}drawCircle(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),ha(this.extent_,e.getExtent())){if(this.fillState_||this.strokeState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const t=function(e,t,n){const i=e.getFlatCoordinates();if(!i)return null;const r=e.getStride();return Lc(i,0,i.length,r,t,n)}(e,this.transform_,this.pixelCoordinates_),n=t[2]-t[0],i=t[3]-t[1],r=Math.sqrt(n*n+i*i),o=this.context_;o.beginPath(),o.arc(t[0],t[1],r,0,2*Math.PI),this.fillState_&&o.fill(),this.strokeState_&&o.stroke()}""!==this.text_&&this.drawText_(e.getCenter(),0,2,2)}}setStyle(e){this.setFillStrokeStyle(e.getFill(),e.getStroke()),this.setImageStyle(e.getImage()),this.setTextStyle(e.getText())}setTransform(e){this.transform_=e}drawGeometry(e){switch(e.getType()){case"Point":this.drawPoint(e);break;case"LineString":this.drawLineString(e);break;case"Polygon":this.drawPolygon(e);break;case"MultiPoint":this.drawMultiPoint(e);break;case"MultiLineString":this.drawMultiLineString(e);break;case"MultiPolygon":this.drawMultiPolygon(e);break;case"GeometryCollection":this.drawGeometryCollection(e);break;case"Circle":this.drawCircle(e)}}drawFeature(e,t){const n=t.getGeometryFunction()(e);n&&(this.setStyle(t),this.drawGeometry(n))}drawGeometryCollection(e){const t=e.getGeometriesArray();for(let e=0,n=t.length;e<n;++e)this.drawGeometry(t[e])}drawPoint(e){this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const t=e.getFlatCoordinates(),n=e.getStride();this.image_&&this.drawImages_(t,0,t.length,n),""!==this.text_&&this.drawText_(t,0,t.length,n)}drawMultiPoint(e){this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const t=e.getFlatCoordinates(),n=e.getStride();this.image_&&this.drawImages_(t,0,t.length,n),""!==this.text_&&this.drawText_(t,0,t.length,n)}drawLineString(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),ha(this.extent_,e.getExtent())){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const t=this.context_,n=e.getFlatCoordinates();t.beginPath(),this.moveToLineTo_(n,0,n.length,e.getStride(),!1),t.stroke()}if(""!==this.text_){const t=e.getFlatMidpoint();this.drawText_(t,0,2,2)}}}drawMultiLineString(e){this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const t=e.getExtent();if(ha(this.extent_,t)){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const t=this.context_,n=e.getFlatCoordinates();let i=0;const r=e.getEnds(),o=e.getStride();t.beginPath();for(let e=0,t=r.length;e<t;++e)i=this.moveToLineTo_(n,i,r[e],o,!1);t.stroke()}if(""!==this.text_){const t=e.getFlatMidpoints();this.drawText_(t,0,t.length,2)}}}drawPolygon(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),ha(this.extent_,e.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const t=this.context_;t.beginPath(),this.drawRings_(e.getOrientedFlatCoordinates(),0,e.getEnds(),e.getStride()),this.fillState_&&t.fill(),this.strokeState_&&t.stroke()}if(""!==this.text_){const t=e.getFlatInteriorPoint();this.drawText_(t,0,2,2)}}}drawMultiPolygon(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),ha(this.extent_,e.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const t=this.context_,n=e.getOrientedFlatCoordinates();let i=0;const r=e.getEndss(),o=e.getStride();t.beginPath();for(let e=0,t=r.length;e<t;++e){const t=r[e];i=this.drawRings_(n,i,t,o)}this.fillState_&&t.fill(),this.strokeState_&&t.stroke()}if(""!==this.text_){const t=e.getFlatInteriorPoints();this.drawText_(t,0,t.length,2)}}}setContextFillState_(e){const t=this.context_,n=this.contextFillState_;n?n.fillStyle!=e.fillStyle&&(n.fillStyle=e.fillStyle,t.fillStyle=e.fillStyle):(t.fillStyle=e.fillStyle,this.contextFillState_={fillStyle:e.fillStyle})}setContextStrokeState_(e){const t=this.context_,n=this.contextStrokeState_;n?(n.lineCap!=e.lineCap&&(n.lineCap=e.lineCap,t.lineCap=e.lineCap),bl(n.lineDash,e.lineDash)||t.setLineDash(n.lineDash=e.lineDash),n.lineDashOffset!=e.lineDashOffset&&(n.lineDashOffset=e.lineDashOffset,t.lineDashOffset=e.lineDashOffset),n.lineJoin!=e.lineJoin&&(n.lineJoin=e.lineJoin,t.lineJoin=e.lineJoin),n.lineWidth!=e.lineWidth&&(n.lineWidth=e.lineWidth,t.lineWidth=e.lineWidth),n.miterLimit!=e.miterLimit&&(n.miterLimit=e.miterLimit,t.miterLimit=e.miterLimit),n.strokeStyle!=e.strokeStyle&&(n.strokeStyle=e.strokeStyle,t.strokeStyle=e.strokeStyle)):(t.lineCap=e.lineCap,t.setLineDash(e.lineDash),t.lineDashOffset=e.lineDashOffset,t.lineJoin=e.lineJoin,t.lineWidth=e.lineWidth,t.miterLimit=e.miterLimit,t.strokeStyle=e.strokeStyle,this.contextStrokeState_={lineCap:e.lineCap,lineDash:e.lineDash,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,lineWidth:e.lineWidth,miterLimit:e.miterLimit,strokeStyle:e.strokeStyle})}setContextTextState_(e){const t=this.context_,n=this.contextTextState_,i=e.textAlign?e.textAlign:nh;n?(n.font!=e.font&&(n.font=e.font,t.font=e.font),n.textAlign!=i&&(n.textAlign=i,t.textAlign=i),n.textBaseline!=e.textBaseline&&(n.textBaseline=e.textBaseline,t.textBaseline=e.textBaseline)):(t.font=e.font,t.textAlign=i,t.textBaseline=e.textBaseline,this.contextTextState_={font:e.font,textAlign:i,textBaseline:e.textBaseline})}setFillStrokeStyle(e,t){if(e){const t=e.getColor();this.fillState_={fillStyle:Gd(t||Yd)}}else this.fillState_=null;if(t){const e=t.getColor(),n=t.getLineCap(),i=t.getLineDash(),r=t.getLineDashOffset(),o=t.getLineJoin(),s=t.getWidth(),a=t.getMiterLimit(),l=i||Jd;this.strokeState_={lineCap:void 0!==n?n:Qd,lineDash:1===this.pixelRatio_?l:l.map((e=>e*this.pixelRatio_)),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==o?o:eh,lineWidth:(void 0!==s?s:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:Gd(e||th)}}else this.strokeState_=null}setImageStyle(e){let t;if(!e||!(t=e.getSize()))return void(this.image_=null);const n=e.getPixelRatio(this.pixelRatio_),i=e.getAnchor(),r=e.getOrigin();this.image_=e.getImage(this.pixelRatio_),this.imageAnchorX_=i[0]*n,this.imageAnchorY_=i[1]*n,this.imageHeight_=t[1]*n,this.imageOpacity_=e.getOpacity(),this.imageOriginX_=r[0],this.imageOriginY_=r[1],this.imageRotateWithView_=e.getRotateWithView(),this.imageRotation_=e.getRotation();const o=e.getScaleArray();this.imageScale_=[o[0]*this.pixelRatio_/n,o[1]*this.pixelRatio_/n],this.imageWidth_=t[0]*n}setTextStyle(e){if(e){const t=e.getFill();if(t){const e=t.getColor();this.textFillState_={fillStyle:Gd(e||Yd)}}else this.textFillState_=null;const n=e.getStroke();if(n){const e=n.getColor(),t=n.getLineCap(),i=n.getLineDash(),r=n.getLineDashOffset(),o=n.getLineJoin(),s=n.getWidth(),a=n.getMiterLimit();this.textStrokeState_={lineCap:void 0!==t?t:Qd,lineDash:i||Jd,lineDashOffset:r||0,lineJoin:void 0!==o?o:eh,lineWidth:void 0!==s?s:1,miterLimit:void 0!==a?a:10,strokeStyle:Gd(e||th)}}else this.textStrokeState_=null;const i=e.getFont(),r=e.getOffsetX(),o=e.getOffsetY(),s=e.getRotateWithView(),a=e.getRotation(),l=e.getScaleArray(),c=e.getText(),u=e.getTextAlign(),d=e.getTextBaseline();this.textState_={font:void 0!==i?i:Xd,textAlign:void 0!==u?u:nh,textBaseline:void 0!==d?d:ih},this.text_=void 0!==c?Array.isArray(c)?c.reduce(((e,t,n)=>e+(n%2?" ":t)),""):c:"",this.textOffsetX_=void 0!==r?this.pixelRatio_*r:0,this.textOffsetY_=void 0!==o?this.pixelRatio_*o:0,this.textRotateWithView_=void 0!==s&&s,this.textRotation_=void 0!==a?a:0,this.textScale_=[this.pixelRatio_*l[0],this.pixelRatio_*l[1]]}else this.text_=""}},fk=.5;function _k(e,t,n,i,r,o,s,a,l){const c=l?il(r):r,u=Md(e[0]*fk,e[1]*fk);u.imageSmoothingEnabled=!1;const d=u.canvas,h=new pk(u,fk,r,null,s,a,l?Ka(el(),l):null),p=n.length,f=Math.floor(16777215/p),_={};for(let e=1;e<=p;++e){const t=n[e-1],r=t.getStyleFunction()||i;if(!r)continue;let s=r(t,o);if(!s)continue;Array.isArray(s)||(s=[s]);const a=(e*f).toString(16).padStart(7,"#00000");for(let e=0,n=s.length;e<n;++e){const n=s[e],i=n.getGeometryFunction()(t);if(!i||!ha(c,i.getExtent()))continue;const r=n.clone(),o=r.getFill();o&&o.setColor(a);const l=r.getStroke();l&&(l.setColor(a),l.setLineDash(null)),r.setText(void 0);const u=n.getImage();if(u){const e=u.getImageSize();if(!e)continue;const t=Md(e[0],e[1],void 0,{alpha:!1}),n=t.canvas;t.fillStyle=a,t.fillRect(0,0,n.width,n.height),r.setImage(new Ph({img:n,anchor:u.getAnchor(),anchorXUnits:"pixels",anchorYUnits:"pixels",offset:u.getOrigin(),opacity:1,size:u.getSize(),scale:u.getScale(),rotation:u.getRotation(),rotateWithView:u.getRotateWithView()}))}const d=r.getZIndex()||0;let h=_[d];h||(h={},_[d]=h,h.Polygon=[],h.Circle=[],h.LineString=[],h.Point=[]);const p=i.getType();if("GeometryCollection"===p){const e=i.getGeometriesArrayRecursive();for(let t=0,n=e.length;t<n;++t){const n=e[t];h[n.getType().replace("Multi","")].push(n,r)}}else h[p.replace("Multi","")].push(i,r)}}const g=Object.keys(_).map(Number).sort(gl);for(let e=0,n=g.length;e<n;++e){const n=_[g[e]];for(const e in n){const i=n[e];for(let e=0,n=i.length;e<n;e+=2){h.setStyle(i[e+1]);for(let n=0,r=t.length;n<r;++n)h.setTransform(t[n]),h.drawGeometry(i[e])}}}return u.getImageData(0,0,d.width,d.height)}function gk(e,t,n){const i=[];if(n){const r=Math.floor(Math.round(e[0])*fk),o=Math.floor(Math.round(e[1])*fk),s=4*(ma(r,0,n.width-1)+ma(o,0,n.height-1)*n.width),a=n.data[s],l=n.data[s+1],c=n.data[s+2]+256*(l+256*a),u=Math.floor(16777215/t.length);c&&c%u==0&&i.push(t[c/u-1])}return i}const mk={Point:function(e,t,n,i,r,o){const s=n.getImage(),a=n.getText(),l=a&&a.getText(),c=o&&s&&l?{}:void 0;if(s){if(2!=s.getImageState())return;const o=e.getBuilder(n.getZIndex(),"Image");o.setImageStyle(s,c),o.drawPoint(t,i,r)}if(l){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(a,c),o.drawText(t,i,r)}},LineString:function(e,t,n,i,r){const o=n.getStroke();if(o){const s=e.getBuilder(n.getZIndex(),"LineString");s.setFillStrokeStyle(null,o),s.drawLineString(t,i,r)}const s=n.getText();if(s&&s.getText()){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(s),o.drawText(t,i,r)}},Polygon:function(e,t,n,i,r){const o=n.getFill(),s=n.getStroke();if(o||s){const a=e.getBuilder(n.getZIndex(),"Polygon");a.setFillStrokeStyle(o,s),a.drawPolygon(t,i,r)}const a=n.getText();if(a&&a.getText()){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(a),o.drawText(t,i,r)}},MultiPoint:function(e,t,n,i,r,o){const s=n.getImage(),a=s&&0!==s.getOpacity(),l=n.getText(),c=l&&l.getText(),u=o&&a&&c?{}:void 0;if(a){if(2!=s.getImageState())return;const o=e.getBuilder(n.getZIndex(),"Image");o.setImageStyle(s,u),o.drawMultiPoint(t,i,r)}if(c){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(l,u),o.drawText(t,i,r)}},MultiLineString:function(e,t,n,i,r){const o=n.getStroke();if(o){const s=e.getBuilder(n.getZIndex(),"LineString");s.setFillStrokeStyle(null,o),s.drawMultiLineString(t,i,r)}const s=n.getText();if(s&&s.getText()){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(s),o.drawText(t,i,r)}},MultiPolygon:function(e,t,n,i,r){const o=n.getFill(),s=n.getStroke();if(s||o){const a=e.getBuilder(n.getZIndex(),"Polygon");a.setFillStrokeStyle(o,s),a.drawMultiPolygon(t,i,r)}const a=n.getText();if(a&&a.getText()){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(a),o.drawText(t,i,r)}},GeometryCollection:function(e,t,n,i,r,o){const s=t.getGeometriesArray();let a,l;for(a=0,l=s.length;a<l;++a)(0,mk[s[a].getType()])(e,s[a],n,i,r,o)},Circle:function(e,t,n,i,r){const o=n.getFill(),s=n.getStroke();if(o||s){const a=e.getBuilder(n.getZIndex(),"Circle");a.setFillStrokeStyle(o,s),a.drawCircle(t,i,r)}const a=n.getText();if(a&&a.getText()){const r=e.getBuilder(n.getZIndex(),"Text");r.setTextStyle(a),r.drawText(t,i)}}};function yk(e,t){return parseInt(Vl(e),10)-parseInt(Vl(t),10)}function vk(e,t){const n=bk(e,t);return n*n}function bk(e,t){return.5*e/t}function xk(e,t,n,i,r,o,s,a){const l=[],c=n.getImage();if(c){let e=!0;const t=c.getImageState();2==t||3==t?e=!1:0==t&&c.load(),e&&l.push(c.ready())}const u=n.getFill();u&&u.loading()&&l.push(u.ready());const d=l.length>0;return d&&Promise.all(l).then((()=>r(null))),function(e,t,n,i,r,o,s){const a=n.getGeometryFunction()(t);if(!a)return;const l=a.simplifyTransformed(i,r);n.getRenderer()?wk(e,l,n,t,s):(0,mk[l.getType()])(e,l,n,t,s,o)}(e,t,n,i,o,s,a),d}function wk(e,t,n,i,r){if("GeometryCollection"!=t.getType())e.getBuilder(n.getZIndex(),"Default").drawCustom(t,i,n.getRenderer(),n.getHitDetectionRenderer(),r);else{const o=t.getGeometries();for(let t=0,s=o.length;t<s;++t)wk(e,o[t],n,i,r)}}const kk=class extends Eb{constructor(e){super(e),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=[1/0,1/0,-1/0,-1/0],this.wrappedRenderedExtent_=[1/0,1/0,-1/0,-1/0],this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(e,t,n){const i=t.extent,r=t.viewState,o=r.center,s=r.resolution,a=r.projection,l=r.rotation,c=a.getExtent(),u=this.getLayer().getSource(),d=this.getLayer().getDeclutter(),h=t.pixelRatio,p=t.viewHints,f=!(p[0]||p[1]),_=this.context,g=Math.round(da(i)/s*h),m=Math.round(aa(i)/s*h),y=u.getWrapX()&&a.canWrapX(),v=y?da(c):null,b=y?Math.ceil((i[2]-c[2])/v)+1:1;let x=y?Math.floor((i[0]-c[0])/v):0;do{let i=this.getRenderTransform(o,s,0,h,g,m,x*v);t.declutter&&(i=i.slice(0)),e.execute(_,[_.canvas.width,_.canvas.height],i,l,f,void 0===n?lk:n?ck:uk,n?d&&t.declutter[d]:void 0)}while(++x<b)}setDrawContext_(){1!==this.opacity_&&(this.targetContext_=this.context,this.context=Md(this.context.canvas.width,this.context.canvas.height,Sb))}resetDrawContext_(){if(1!==this.opacity_){const e=this.targetContext_.globalAlpha;this.targetContext_.globalAlpha=this.opacity_,this.targetContext_.drawImage(this.context.canvas,0,0),this.targetContext_.globalAlpha=e,Rd(this.context),Sb.push(this.context.canvas),this.context=this.targetContext_,this.targetContext_=null}}renderDeclutter(e){this.replayGroup_&&this.getLayer().getDeclutter()&&this.renderWorlds(this.replayGroup_,e,!0)}renderDeferredInternal(e){this.replayGroup_&&(this.replayGroup_.renderDeferred(),this.clipped_&&this.context.restore(),this.resetDrawContext_())}renderFrame(e,t){const n=e.layerStatesArray[e.layerIndex];this.opacity_=n.opacity;const i=e.viewState;this.prepareContainer(e,t);const r=this.context,o=this.replayGroup_;let s=o&&!o.isEmpty();if(!s&&!this.getLayer().hasListener(lc)&&!this.getLayer().hasListener(cc))return null;this.setDrawContext_(),this.preRender(r,e);i.projection;if(this.clipped_=!1,s&&n.extent&&this.clipping){const t=rl(n.extent);s=ha(t,e.extent),this.clipped_=s&&!Gs(t,e.extent),this.clipped_&&this.clipUnrotated(r,e,t)}return s&&this.renderWorlds(o,e,!this.getLayer().getDeclutter()&&void 0),!e.declutter&&this.clipped_&&r.restore(),this.postRender(r,e),this.renderedRotation_!==i.rotation&&(this.renderedRotation_=i.rotation,this.hitDetectionImageData_=null),e.declutter||this.resetDrawContext_(),this.container}getFeatures(e){return new Promise((t=>{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const e=this.frameState.size.slice(),t=this.renderedCenter_,n=this.renderedResolution_,i=this.renderedRotation_,r=this.renderedProjection_,o=this.wrappedRenderedExtent_,s=this.getLayer(),a=[],l=e[0]*fk,c=e[1]*fk;a.push(this.getRenderTransform(t,n,i,fk,l,c,0).slice());const u=s.getSource(),d=r.getExtent();if(u.getWrapX()&&r.canWrapX()&&!Gs(d,o)){let e=o[0];const r=da(d);let s,u=0;for(;e<d[0];)--u,s=r*u,a.push(this.getRenderTransform(t,n,i,fk,l,c,s).slice()),e+=r;for(u=0,e=o[2];e>d[2];)++u,s=r*u,a.push(this.getRenderTransform(t,n,i,fk,l,c,s).slice()),e-=r}const h=el();this.hitDetectionImageData_=_k(e,a,this.renderedFeatures_,s.getStyleFunction(),o,n,i,vk(n,this.renderedPixelRatio_),h?r:null)}t(gk(e,this.renderedFeatures_,this.hitDetectionImageData_))}))}forEachFeatureAtCoordinate(e,t,n,i,r){if(!this.replayGroup_)return;const o=t.viewState.resolution,s=t.viewState.rotation,a=this.getLayer(),l={},c=function(e,t,n){const o=Vl(e),s=l[o];if(s){if(!0!==s&&n<s.distanceSq){if(0===n)return l[o]=!0,r.splice(r.lastIndexOf(s),1),i(e,a,t);s.geometry=t,s.distanceSq=n}}else{if(0===n)return l[o]=!0,i(e,a,t);r.push(l[o]={feature:e,layer:a,geometry:t,distanceSq:n,callback:i})}};let u;const d=[this.replayGroup_],h=this.getLayer().getDeclutter();return d.some((i=>u=i.forEachFeatureAtCoordinate(e,o,s,n,c,h&&t.declutter[h]?t.declutter[h].all().map((e=>e.value)):null))),u}handleFontsChanged(){const e=this.getLayer();e.getVisible()&&this.replayGroup_&&e.changed()}handleStyleImageChange_(e){this.renderIfReadyAndVisible()}prepareFrame(e){const t=this.getLayer(),n=t.getSource();if(!n)return!1;const i=e.viewHints[0],r=e.viewHints[1],o=t.getUpdateWhileAnimating(),s=t.getUpdateWhileInteracting();if(this.ready&&!o&&i||!s&&r)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=e.extent,l=e.viewState,c=l.projection,u=l.resolution,d=e.pixelRatio,h=t.getRevision(),p=t.getRenderBuffer();let f=t.getRenderOrder();void 0===f&&(f=yk);const _=l.center.slice(),g=Ds(a,p*u),m=g.slice(),y=[g.slice()],v=c.getExtent();if(n.getWrapX()&&c.canWrapX()&&!Gs(v,e.extent)){const e=da(v),t=Math.max(da(g)/2,e);g[0]=v[0]-t,g[2]=v[2]+t,Ia(_,c);const n=_a(y[0],c);n[0]<v[0]&&n[2]<v[2]?y.push([n[0]+e,n[1],n[2]+e,n[3]]):n[0]>v[0]&&n[2]>v[2]&&y.push([n[0]-e,n[1],n[2]-e,n[3]])}if(this.ready&&this.renderedResolution_==u&&this.renderedRevision_==h&&this.renderedRenderOrder_==f&&this.renderedFrameDeclutter_===!!e.declutter&&Gs(this.wrappedRenderedExtent_,g))return bl(this.renderedExtent_,m)||(this.hitDetectionImageData_=null,this.renderedExtent_=m),this.renderedCenter_=_,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const b=new Xw(bk(u,d),g,u,d),x=el();let w;if(x){for(let e=0,t=y.length;e<t;++e){const t=il(y[e]);n.loadFeatures(t,ol(u),x)}w=Ka(x,c)}else for(let e=0,t=y.length;e<t;++e)n.loadFeatures(y[e],u,c);const k=vk(u,d);let C=!0;const S=(e,n)=>{let i;const r=e.getStyleFunction()||t.getStyleFunction();if(r&&(i=r(e,u)),i){const t=this.renderFeature(e,k,i,b,w,this.getLayer().getDeclutter(),n);C=C&&!t}},A=il(g),E=n.getFeaturesInExtent(A);f&&E.sort(f);for(let e=0,t=E.length;e<t;++e)S(E[e],e);this.renderedFeatures_=E,this.ready=C;const M=b.finish(),T=new hk(g,u,d,n.getOverlaps(),M,t.getRenderBuffer(),!!e.declutter);return this.renderedResolution_=u,this.renderedRevision_=h,this.renderedRenderOrder_=f,this.renderedFrameDeclutter_=!!e.declutter,this.renderedExtent_=m,this.wrappedRenderedExtent_=g,this.renderedCenter_=_,this.renderedProjection_=c,this.renderedPixelRatio_=d,this.replayGroup_=T,this.hitDetectionImageData_=null,this.replayGroupChanged=!0,!0}renderFeature(e,t,n,i,r,o,s){if(!n)return!1;let a=!1;if(Array.isArray(n))for(let l=0,c=n.length;l<c;++l)a=xk(i,e,n[l],t,this.boundHandleStyleImageChange_,r,o,s)||a;else a=xk(i,e,n,t,this.boundHandleStyleImageChange_,r,o,s);return a}},Ck=class extends Ef{constructor(e){super(e)}createRenderer(){return new kk(this)}},Sk=class{constructor(e){this.rbush_=new Du(e),this.items_={}}insert(e,t){const n={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3],value:t};this.rbush_.insert(n),this.items_[Vl(t)]=n}load(e,t){const n=new Array(t.length);for(let i=0,r=t.length;i<r;i++){const r=e[i],o=t[i],s={minX:r[0],minY:r[1],maxX:r[2],maxY:r[3],value:o};n[i]=s,this.items_[Vl(o)]=s}this.rbush_.load(n)}remove(e){const t=Vl(e),n=this.items_[t];return delete this.items_[t],null!==this.rbush_.remove(n)}update(e,t){const n=this.items_[Vl(t)];Ks([n.minX,n.minY,n.maxX,n.maxY],e)||(this.remove(t),this.insert(e,t))}getAll(){return this.rbush_.all().map((function(e){return e.value}))}getInExtent(e){const t={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]};return this.rbush_.search(t).map((function(e){return e.value}))}forEach(e){return this.forEach_(this.getAll(),e)}forEachInExtent(e,t){return this.forEach_(this.getInExtent(e),t)}forEach_(e,t){let n;for(let i=0,r=e.length;i<r;i++)if(n=t(e[i]),n)return n;return n}isEmpty(){return El(this.items_)}clear(){this.rbush_.clear(),this.items_={}}getExtent(e){const t=this.rbush_.toJSON();return Ws(t.minX,t.minY,t.maxX,t.maxY,e)}concat(e){this.rbush_.load(e.rbush_.all());for(const t in e.items_)this.items_[t]=e.items_[t]}},Ak="addfeature",Ek="removefeature";function Mk(e,t){return[[-1/0,-1/0,1/0,1/0]]}function Tk(e,t){return[e]}function Pk(e,t,n,i,r,o,s){const a=new XMLHttpRequest;a.open("GET","function"==typeof e?e(n,i,r):e,!0),"arraybuffer"==t.getType()&&(a.responseType="arraybuffer"),a.withCredentials=false,a.onload=function(e){if(!a.status||a.status>=200&&a.status<300){const e=t.getType();try{let i;"text"==e||"json"==e?i=a.responseText:"xml"==e?i=a.responseXML||a.responseText:"arraybuffer"==e&&(i=a.response),i?o(t.readFeatures(i,{extent:n,featureProjection:r}),t.readProjection(i)):s()}catch{s()}}else s()},a.onerror=s,a.send()}function Rk(e,t){return function(n,i,r,o,s){const a=this;Pk(e,t,n,i,r,(function(e,t){a.addFeatures(e),void 0!==o&&o(e)}),s||kl)}}class Ik extends pl{constructor(e,t,n){super(e),this.feature=t,this.features=n}}const Lk=class extends ix{constructor(e){super({attributions:(e=e||{}).attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===e.wrapX||e.wrapX}),this.on,this.once,this.un,this.loader_=kl,this.format_=e.format||null,this.overlaps_=void 0===e.overlaps||e.overlaps,this.url_=e.url,void 0!==e.loader?this.loader_=e.loader:void 0!==this.url_&&(sc(this.format_,"`format` must be set when `url` is set"),this.loader_=Rk(this.url_,this.format_)),this.strategy_=void 0!==e.strategy?e.strategy:Mk;const t=void 0===e.useSpatialIndex||e.useSpatialIndex;let n,i;this.featuresRtree_=t?new Sk:null,this.loadedExtentsRtree_=new Sk,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(e.features)?i=e.features:e.features&&(n=e.features,i=n.getArray()),t||void 0!==n||(n=new Xl(i)),void 0!==i&&this.addFeaturesInternal(i),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(e){this.addFeatureInternal(e),this.changed()}addFeatureInternal(e){const t=Vl(e);if(!this.addToIndex_(t,e))return void(this.featuresCollection_&&this.featuresCollection_.remove(e));this.setupChangeEvents_(t,e);const n=e.getGeometry();if(n){const t=n.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(t,e)}else this.nullGeometryFeatures_[t]=e;this.dispatchEvent(new Ik(Ak,e))}setupChangeEvents_(e,t){t instanceof Tx||(this.featureChangeKeys_[e]=[Fl(t,Tl,this.handleFeatureChange_,this),Fl(t,fl,this.handleFeatureChange_,this)])}addToIndex_(e,t){let n=!0;if(void 0!==t.getId()){const e=String(t.getId());if(e in this.idIndex_)if(t instanceof Tx){const i=this.idIndex_[e];i instanceof Tx?Array.isArray(i)?i.push(t):this.idIndex_[e]=[i,t]:n=!1}else n=!1;else this.idIndex_[e]=t}return n&&(sc(!(e in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[e]=t),n}addFeatures(e){this.addFeaturesInternal(e),this.changed()}addFeaturesInternal(e){const t=[],n=[],i=[];for(let t=0,i=e.length;t<i;t++){const i=e[t],r=Vl(i);this.addToIndex_(r,i)&&n.push(i)}for(let e=0,r=n.length;e<r;e++){const r=n[e],o=Vl(r);this.setupChangeEvents_(o,r);const s=r.getGeometry();if(s){const e=s.getExtent();t.push(e),i.push(r)}else this.nullGeometryFeatures_[o]=r}if(this.featuresRtree_&&this.featuresRtree_.load(t,i),this.hasListener(Ak))for(let e=0,t=n.length;e<t;e++)this.dispatchEvent(new Ik(Ak,n[e]))}bindFeaturesCollection_(e){let t=!1;this.addEventListener(Ak,(function(n){t||(t=!0,e.push(n.feature),t=!1)})),this.addEventListener(Ek,(function(n){t||(t=!0,e.remove(n.feature),t=!1)})),e.addEventListener(Ul,(e=>{t||(t=!0,this.addFeature(e.element),t=!1)})),e.addEventListener($l,(e=>{t||(t=!0,this.removeFeature(e.element),t=!1)})),this.featuresCollection_=e}clear(e){if(e){for(const e in this.featureChangeKeys_)this.featureChangeKeys_[e].forEach(Dl);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){const e=e=>{this.removeFeatureInternal(e)};this.featuresRtree_.forEach(e);for(const e in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[e])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const t=new Ik("clear");this.dispatchEvent(t),this.changed()}forEachFeature(e){if(this.featuresRtree_)return this.featuresRtree_.forEach(e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureAtCoordinateDirect(e,t){const n=[e[0],e[1],e[0],e[1]];return this.forEachFeatureInExtent(n,(function(n){const i=n.getGeometry();if(i instanceof Tx||i.intersectsCoordinate(e))return t(n)}))}forEachFeatureInExtent(e,t){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(e,t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureIntersectingExtent(e,t){return this.forEachFeatureInExtent(e,(function(n){const i=n.getGeometry();if(i instanceof Tx||i.intersectsExtent(e)){const e=t(n);if(e)return e}}))}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let e;return this.featuresCollection_?e=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(e=this.featuresRtree_.getAll(),El(this.nullGeometryFeatures_)||vl(e,Object.values(this.nullGeometryFeatures_))),e}getFeaturesAtCoordinate(e){const t=[];return this.forEachFeatureAtCoordinateDirect(e,(function(e){t.push(e)})),t}getFeaturesInExtent(e,t){if(this.featuresRtree_){if(!(t&&t.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(e);const n=ga(e,t);return[].concat(...n.map((e=>this.featuresRtree_.getInExtent(e))))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(e,t){const n=e[0],i=e[1];let r=null;const o=[NaN,NaN];let s=1/0;const a=[-1/0,-1/0,1/0,1/0];return t=t||xl,this.featuresRtree_.forEachInExtent(a,(function(e){if(t(e)){const t=e.getGeometry(),l=s;if(s=t instanceof Tx?0:t.closestPointXY(n,i,o,s),s<l){r=e;const t=Math.sqrt(s);a[0]=n-t,a[1]=i-t,a[2]=n+t,a[3]=i+t}}})),r}getExtent(e){return this.featuresRtree_.getExtent(e)}getFeatureById(e){const t=this.idIndex_[e.toString()];return void 0!==t?t:null}getFeatureByUid(e){const t=this.uidIndex_[e];return void 0!==t?t:null}getFormat(){return this.format_}getOverlaps(){return this.overlaps_}getUrl(){return this.url_}handleFeatureChange_(e){const t=e.target,n=Vl(t),i=t.getGeometry();if(i){const e=i.getExtent();n in this.nullGeometryFeatures_?(delete this.nullGeometryFeatures_[n],this.featuresRtree_&&this.featuresRtree_.insert(e,t)):this.featuresRtree_&&this.featuresRtree_.update(e,t)}else n in this.nullGeometryFeatures_||(this.featuresRtree_&&this.featuresRtree_.remove(t),this.nullGeometryFeatures_[n]=t);const r=t.getId();if(void 0!==r){const e=r.toString();this.idIndex_[e]!==t&&(this.removeFromIdIndex_(t),this.idIndex_[e]=t)}else this.removeFromIdIndex_(t),this.uidIndex_[n]=t;this.changed(),this.dispatchEvent(new Ik("changefeature",t))}hasFeature(e){const t=e.getId();return void 0!==t?t in this.idIndex_:Vl(e)in this.uidIndex_}isEmpty(){return this.featuresRtree_?this.featuresRtree_.isEmpty()&&El(this.nullGeometryFeatures_):!this.featuresCollection_||0===this.featuresCollection_.getLength()}loadFeatures(e,t,n){const i=this.loadedExtentsRtree_,r=this.strategy_(e,t,n);for(let e=0,o=r.length;e<o;++e){const o=r[e],s=i.forEachInExtent(o,(function(e){return Gs(e.extent,o)}));s||(++this.loadingExtentsCount_,this.dispatchEvent(new Ik("featuresloadstart")),this.loader_.call(this,o,t,n,(e=>{--this.loadingExtentsCount_,this.dispatchEvent(new Ik("featuresloadend",void 0,e))}),(()=>{--this.loadingExtentsCount_,this.dispatchEvent(new Ik("featuresloaderror"))})),i.insert(o,{extent:o.slice()}))}this.loading=!(this.loader_.length<4)&&this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(e){const t=this.loadedExtentsRtree_;let n;t.forEachInExtent(e,(function(t){if(Ks(t.extent,e))return n=t,!0})),n&&t.remove(n)}removeFeatures(e){let t=!1;for(let n=0,i=e.length;n<i;++n)t=this.removeFeatureInternal(e[n])||t;t&&this.changed()}removeFeature(e){e&&this.removeFeatureInternal(e)&&this.changed()}removeFeatureInternal(e){const t=Vl(e);if(!(t in this.uidIndex_))return!1;t in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[t]:this.featuresRtree_&&this.featuresRtree_.remove(e);const n=this.featureChangeKeys_[t];n?.forEach(Dl),delete this.featureChangeKeys_[t];const i=e.getId();if(void 0!==i){const t=i.toString(),n=this.idIndex_[t];n===e?delete this.idIndex_[t]:Array.isArray(n)&&(n.splice(n.indexOf(e),1),1===n.length&&(this.idIndex_[t]=n[0]))}return delete this.uidIndex_[t],this.hasListener(Ek)&&this.dispatchEvent(new Ik(Ek,e)),!0}removeFromIdIndex_(e){for(const t in this.idIndex_)if(this.idIndex_[t]===e){delete this.idIndex_[t];break}}setLoader(e){this.loader_=e}setUrl(e){sc(this.format_,"`format` must be set when `url` is set"),this.url_=e,this.setLoader(Rk(e,this.format_))}},zk={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},Ok={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]},Fk=class extends ex{constructor(e,t){super(e,t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.renderedLayerRevision_,this.renderedPixelToCoordinateTransform_=null,this.renderedRotation_,this.renderedOpacity_=1,this.tmpTransform_=[1,0,0,1,0,0],this.tileClipContexts_=null}drawTile(e,t,n,i,r,o,s,a){this.updateExecutorGroup_(e,t.pixelRatio,t.viewState.projection),this.tileImageNeedsRender_(e)&&this.renderTileImage_(e,t),super.drawTile(e,t,n,i,r,o,s,a)}getTile(e,t,n,i){const r=this.getOrCreateTile(e,t,n,i);if(!r)return null;const o=i.viewState.resolution,s=i.viewHints;return!(!s[0]&&!s[1])&&r.wantedResolution||(r.wantedResolution=o),r}prepareFrame(e){const t=this.getLayer().getRevision();return this.renderedLayerRevision_!==t&&(this.renderedLayerRevision_=t,this.renderedTiles.length=0),super.prepareFrame(e)}updateExecutorGroup_(e,t,n){const i=this.getLayer(),r=i.getRevision(),o=i.getRenderOrder()||null,s=e.wantedResolution,a=e.getReplayState(i);if(!a.dirty&&a.renderedResolution===s&&a.renderedRevision==r&&a.renderedRenderOrder==o)return;const l=i.getSource(),c=!!i.getDeclutter(),u=l.getTileGrid(),d=l.getTileGridForProjection(n).getTileCoordExtent(e.wrappedTileCoord),h=l.getSourceTiles(t,n,e),p=Vl(i);delete e.hitDetectionImageData[p],e.executorGroups[p]=[],a.dirty=!1;for(let n=0,r=h.length;n<r;++n){const r=h[n];if(2!=r.getState())continue;const f=r.tileCoord,_=u.getTileCoordExtent(f),g=la(d,_),m=Ds(g,i.getRenderBuffer()*s,this.tempExtent),y=Ks(_,g)?null:m,v=new Xw(0,g,s,t),b=vk(s,t),x=function(e,t){let n;const r=e.getStyleFunction()||i.getStyleFunction();if(r&&(n=r(e,s)),n){const i=this.renderFeature(e,b,n,v,c,t);a.dirty=a.dirty||i}},w=r.getFeatures();o&&o!==a.renderedRenderOrder&&w.sort(o);for(let e=0,t=w.length;e<t;++e){const t=w[e];y&&!ha(y,t.getGeometry().getExtent())||x.call(this,t,e)}const k=v.finish(),C="vector"!==i.getRenderMode()&&c&&1===h.length?null:g,S=new hk(C,s,t,l.getOverlaps(),k,i.getRenderBuffer(),!0);e.executorGroups[p].push(S)}a.renderedRevision=r,a.renderedRenderOrder=o,a.renderedResolution=s}forEachFeatureAtCoordinate(e,t,n,i,r){const o=t.viewState.resolution,s=t.viewState.rotation;n=null==n?0:n;const a=this.getLayer(),l=a.getSource().getTileGridForProjection(t.viewState.projection),c=js([e]);Ds(c,o*n,c);const u={},d=function(e,t,n){let o=e.getId();void 0===o&&(o=Vl(e));const s=u[o];if(s){if(!0!==s&&n<s.distanceSq){if(0===n)return u[o]=!0,r.splice(r.lastIndexOf(s),1),i(e,a,t);s.geometry=t,s.distanceSq=n}}else{if(0===n)return u[o]=!0,i(e,a,t);r.push(u[o]={feature:e,layer:a,geometry:t,distanceSq:n,callback:i})}},h=this.renderedTiles;let p;for(let i=0,r=h.length;!p&&i<r;++i){const r=h[i];if(!ha(l.getTileCoordExtent(r.wrappedTileCoord),c))continue;const u=Vl(a),f=[r.executorGroups[u]],_=a.getDeclutter();f.some((i=>{const r=_?t.declutter[_].all().map((e=>e.value)):null;for(let t=0,a=i.length;t<a;++t){const a=i[t];if(p=a.forEachFeatureAtCoordinate(e,o,s,n,d,r),p)return!0}}))}return p}getFeatures(e){return new Promise(((t,n)=>{const i=this.getLayer(),r=Vl(i),o=i.getSource(),s=this.renderedProjection,a=s.getExtent(),l=this.renderedResolution,c=o.getTileGridForProjection(s),u=Mc(this.renderedPixelToCoordinateTransform_,e.slice()),d=c.getTileCoordForCoordAndResolution(u,l);let h;for(let e=0,t=this.renderedTiles.length;e<t;++e)if(d.toString()===this.renderedTiles[e].tileCoord.toString()){if(h=this.renderedTiles[e],2===h.getState()){const e=c.getTileCoordExtent(h.tileCoord);o.getWrapX()&&s.canWrapX()&&!Gs(a,e)&&Ia(u,s);break}h=void 0}if(!h||h.loadingSourceTiles>0)return void t([]);const p=ca(c.getTileCoordExtent(h.wrappedTileCoord)),f=[(u[0]-p[0])/l,(p[1]-u[1])/l],_=h.getSourceTiles().reduce((function(e,t){return e.concat(t.getFeatures())}),[]);let g=h.hitDetectionImageData[r];if(!g){const e=Ju(c.getTileSize(c.getZForResolution(l,o.zDirection))),t=this.renderedRotation_;g=_k(e,[this.getRenderTransform(c.getTileCoordCenter(h.wrappedTileCoord),l,0,fk,e[0]*fk,e[1]*fk,0)],_,i.getStyleFunction(),c.getTileCoordExtent(h.wrappedTileCoord),h.getReplayState(i).renderedResolution,t),h.hitDetectionImageData[r]=g}t(gk(f,_,g))}))}getFeaturesInExtent(e){const t=[],n=this.getTileCache();if(0===n.getCount())return t;const i=this.getLayer().getSource().getTileGridForProjection(this.frameState.viewState.projection),r=i.getZForResolution(this.renderedResolution),o={};return n.forEach((n=>{if(n.tileCoord[0]!==r||2!==n.getState())return;const s=n.getSourceTiles();for(let n=0,r=s.length;n<r;++n){const r=s[n],a=r.getKey();if(a in o)continue;o[a]=!0;const l=r.tileCoord;if(ha(e,i.getTileCoordExtent(l))){const n=r.getFeatures();if(n)for(let i=0,r=n.length;i<r;++i){const r=n[i],o=r.getGeometry();ha(e,o.getExtent())&&t.push(r)}}}})),t}handleFontsChanged(){const e=this.getLayer();e.getVisible()&&void 0!==this.renderedLayerRevision_&&e.changed()}handleStyleImageChange_(e){this.renderIfReadyAndVisible()}renderDeclutter(e,t){const n=this.context,i=n.globalAlpha;n.globalAlpha=t.opacity;const r=e.viewHints,o=!(r[0]||r[1]),s=this.renderedTiles;for(let t=0,n=s.length;t<n;++t){const n=s[t],i=n.executorGroups[Vl(this.getLayer())],r=this.getLayer().getDeclutter();if(i)for(let t=i.length-1;t>=0;--t)i[t].execute(this.context,[this.context.canvas.width,this.context.canvas.height],this.getTileRenderTransform(n,e),e.viewState.rotation,o,ck,r?e.declutter[r]:void 0)}n.globalAlpha=i}renderDeferredInternal(e){const t=this.renderedTiles.reduce(((e,t,n)=>(t.executorGroups[Vl(this.getLayer())].forEach((t=>e.push({executorGroup:t,index:n}))),e)),[]),n=t.map((({executorGroup:e})=>e.getDeferredZIndexContexts())),i={};for(let e=0,n=t.length;e<n;++e){const n=t[e].executorGroup.getDeferredZIndexContexts();for(const e in n)i[e]=!0}Object.keys(i).sort(gl).map(Number).forEach((e=>{n.forEach(((n,i)=>{n[e]&&(n[e].forEach((e=>{const{executorGroup:n,index:r}=t[i],o=n.getRenderedContext(),s=o.globalAlpha;o.globalAlpha=this.renderedOpacity_;const a=this.tileClipContexts_[r];a&&a.draw(o),e.draw(o),a&&o.restore(),o.globalAlpha=s,e.clear()})),n[e].length=0)}))}))}getTileRenderTransform(e,t){const n=t.pixelRatio,i=t.viewState,r=i.center,o=i.resolution,s=i.rotation,a=t.size,l=Math.round(a[0]*n),c=Math.round(a[1]*n),u=this.getLayer().getSource().getTileGridForProjection(t.viewState.projection),d=e.tileCoord,h=u.getTileCoordExtent(e.wrappedTileCoord),p=u.getTileCoordExtent(d,this.tempExtent)[0]-h[0];return Ac(Tc(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(r,o,s,n,l,c,p))}postRender(e,t){const n=t.viewHints,i=!(n[0]||n[1]);this.renderedPixelToCoordinateTransform_=t.pixelToCoordinateTransform.slice(),this.renderedRotation_=t.viewState.rotation,this.renderedOpacity_=t.layerStatesArray[t.layerIndex].opacity;const r=this.getLayer(),o=r.getRenderMode(),s=e.globalAlpha;e.globalAlpha=this.renderedOpacity_;const a=r.getDeclutter(),l=a?Ok[o].filter((e=>!ck.includes(e))):Ok[o],c=t.viewState,u=c.rotation,d=r.getSource(),h=d.getTileGridForProjection(c.projection).getZForResolution(c.resolution,d.zDirection),p=this.renderedTiles,f=[],_=[],g=[];let m=!0;for(let n=p.length-1;n>=0;--n){const o=p[n];m=m&&!o.getReplayState(r).dirty;const s=o.executorGroups[Vl(r)].filter((e=>e.hasExecutors(l)));if(0===s.length)continue;const c=this.getTileRenderTransform(o,t),d=o.tileCoord[0];let y=!1;const v=s[0].getClipCoords(c);let b,x=e;if(v){b=new Cb,x=b.getContext();for(let e=0,t=f.length;e<t;++e)if(h!==d&&d<_[e]){const t=f[e];ha([v[0],v[3],v[4],v[7]],[t[0],t[3],t[4],t[7]])&&(y||(x.save(),y=!0),x.beginPath(),x.moveTo(v[0],v[1]),x.lineTo(v[2],v[3]),x.lineTo(v[4],v[5]),x.lineTo(v[6],v[7]),x.moveTo(t[6],t[7]),x.lineTo(t[4],t[5]),x.lineTo(t[2],t[3]),x.lineTo(t[0],t[1]),x.clip())}f.push(v),_.push(d)}for(let n=0,r=s.length;n<r;++n)s[n].execute(e,[e.canvas.width,e.canvas.height],c,u,i,l,t.declutter?.[a]);y&&(x===e?x.restore():g[n]=b)}e.globalAlpha=s,this.ready=m,this.tileClipContexts_=g,t.declutter||this.renderDeferredInternal(t),super.postRender(e,t)}renderFeature(e,t,n,i,r,o){if(!n)return!1;let s=!1;if(Array.isArray(n))for(let a=0,l=n.length;a<l;++a)s=xk(i,e,n[a],t,this.boundHandleStyleImageChange_,void 0,r,o)||s;else s=xk(i,e,n,t,this.boundHandleStyleImageChange_,void 0,r,o);return s}tileImageNeedsRender_(e){const t=this.getLayer();if("vector"===t.getRenderMode())return!1;const n=e.getReplayState(t),i=t.getRevision(),r=e.wantedResolution;return n.renderedTileResolution!==r||n.renderedTileRevision!==i}renderTileImage_(e,t){const n=this.getLayer(),i=e.getReplayState(n),r=n.getRevision(),o=e.executorGroups[Vl(n)];i.renderedTileRevision=r;const s=e.wrappedTileCoord,a=s[0],l=n.getSource();let c=t.pixelRatio;const u=t.viewState.projection,d=l.getTileGridForProjection(u),h=d.getResolution(e.tileCoord[0]),p=t.pixelRatio/e.wantedResolution*h,f=d.getResolution(a),_=e.getContext();c=Math.round(Math.max(c,p/c));const g=l.getTilePixelSize(a,c,u);_.canvas.width=g[0],_.canvas.height=g[1];const m=c/p;if(1!==m){const e=Sc(this.tmpTransform_);Tc(e,m,m),_.setTransform.apply(_,e)}const y=d.getTileCoordExtent(s,this.tempExtent),v=p/f,b=Sc(this.tmpTransform_);Tc(b,v,-v),function(e,t,n){Ac(e,Ec(Cc,1,0,0,1,t,n))}(b,-y[0],-y[3]);for(let e=0,t=o.length;e<t;++e)o[e].execute(_,[_.canvas.width*m,_.canvas.height*m],b,0,!0,zk[n.getRenderMode()],null);i.renderedTileResolution=e.wantedResolution}},jk=class extends Ef{constructor(e){e=e||{};const t=Object.assign({},e);delete t.preload;const n=void 0===e.cacheSize?0:e.cacheSize;delete e.cacheSize,delete t.useInterimTilesOnError,super(t),this.on,this.once,this.un,this.cacheSize_=n;const i=e.renderMode||"hybrid";sc("hybrid"==i||"vector"==i,"`renderMode` must be `'hybrid'` or `'vector'`"),this.renderMode_=i,this.setPreload(e.preload?e.preload:0),this.setUseInterimTilesOnError(void 0===e.useInterimTilesOnError||e.useInterimTilesOnError),this.getBackground,this.setBackground}createRenderer(){return new Fk(this,{cacheSize:this.cacheSize_})}getFeatures(e){return super.getFeatures(e)}getFeaturesInExtent(e){return this.getRenderer().getFeaturesInExtent(e)}getRenderMode(){return this.renderMode_}getPreload(){return this.get(bb)}getUseInterimTilesOnError(){return this.get(xb)}setPreload(e){this.set(bb,e)}setUseInterimTilesOnError(e){this.set(xb,e)}},Dk=[],Nk=class extends Mb{constructor(e,t,n,i,r){super(e,t,{transition:0}),this.context_=null,this.executorGroups=[],this.loadingSourceTiles=0,this.hitDetectionImageData={},this.replayState_={},this.sourceTiles=[],this.errorTileKeys={},this.wantedResolution,this.getSourceTiles=i.bind(void 0,this),this.removeSourceTiles_=r,this.wrappedTileCoord=n}getContext(){return this.context_||(this.context_=Md(1,1,Dk)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(e){const t=Vl(e);return t in this.replayState_||(this.replayState_[t]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[t]}load(){this.getSourceTiles()}release(){this.context_&&(Rd(this.context_),Dk.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}},qk=class extends bx{constructor(e){const t=e.projection||"EPSG:3857",n=e.extent||cx(t),i=e.tileGrid||ax({extent:n,maxResolution:e.maxResolution,maxZoom:void 0!==e.maxZoom?e.maxZoom:22,minZoom:e.minZoom,tileSize:e.tileSize||512});super({attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,cacheSize:e.cacheSize,interpolate:!0,projection:t,state:e.state,tileGrid:i,tileLoadFunction:e.tileLoadFunction?e.tileLoadFunction:Bk,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:void 0===e.zDirection?1:e.zDirection}),this.format_=e.format?e.format:null,this.tileKeysBySourceTileUrl_={},this.sourceTiles_={},this.overlaps_=null==e.overlaps||e.overlaps,this.tileClass=e.tileClass?e.tileClass:Px,this.tileGrids_={}}getOverlaps(){return this.overlaps_}getSourceTiles(e,t,n){if(0===n.getState()){n.setState(1);const i=n.wrappedTileCoord,r=this.getTileGridForProjection(t),o=r.getTileCoordExtent(i),s=i[0],a=r.getResolution(s);Ds(o,-a,o);const l=this.tileGrid,c=l.getExtent();c&&la(o,c,o);const u=l.getZForResolution(a,this.zDirection);l.forEachTileCoord(o,u,(i=>{const r=this.tileUrlFunction(i,e,t);this.sourceTiles_[r]||(this.sourceTiles_[r]=new this.tileClass(i,r?0:4,r,this.format_,this.tileLoadFunction));const o=this.sourceTiles_[r];n.sourceTiles.push(o),this.tileKeysBySourceTileUrl_[r]||(this.tileKeysBySourceTileUrl_[r]=[]),this.tileKeysBySourceTileUrl_[r].push(n.getKey());const s=o.getState();if(s<2){const e=t=>{this.handleTileChange(t);const i=o.getState();if(2===i||3===i){const t=o.getKey();t in n.errorTileKeys?2===o.getState()&&delete n.errorTileKeys[t]:n.loadingSourceTiles--,3===i?n.errorTileKeys[t]=!0:o.removeEventListener(Tl,e),0===n.loadingSourceTiles&&n.setState(El(n.errorTileKeys)?2:3)}};o.addEventListener(Tl,e),n.loadingSourceTiles++}0===s&&(o.extent=l.getTileCoordExtent(i),o.projection=t,o.resolution=l.getResolution(i[0]),o.load())})),n.loadingSourceTiles||n.setState(n.sourceTiles.some((e=>3===e.getState()))?3:2)}return n.sourceTiles}removeSourceTiles(e){const t=e.sourceTiles;for(let e=0,n=t.length;e<n;++e){const n=t[e].getTileUrl(),i=this.getKey();if(!this.tileKeysBySourceTileUrl_[n])return;const r=this.tileKeysBySourceTileUrl_[n][i];-1!==r&&(this.tileKeysBySourceTileUrl_[n].splice(r,1),0===this.tileKeysBySourceTileUrl_[n].length&&(delete this.tileKeysBySourceTileUrl_[n],delete this.sourceTiles_[n]))}}getTile(e,t,n,i,r){const o=[e,t,n];let s=this.getTileCoordForTileUrlFunction(o,r);const a=this.getTileGrid().getExtent(),l=this.getTileGridForProjection(r);if(s&&a){const t=l.getTileCoordExtent(s);Ds(t,-l.getResolution(e),t),ha(a,t)||(s=null)}let c=!0;if(null!==s){const t=this.tileGrid,n=l.getResolution(e),o=t.getZForResolution(n,1),a=l.getTileCoordExtent(s);Ds(a,-n,a),t.forEachTileCoord(a,o,(e=>{c=c&&!this.tileUrlFunction(e,i,r)}))}const u=new Nk(o,c?4:0,s,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return u.key=this.getKey(),u}getTileGridForProjection(e){const t=e.getCode();let n=this.tileGrids_[t];if(!n){const e=this.tileGrid,i=e.getResolutions().slice(),r=i.map((function(t,n){return e.getOrigin(n)})),o=i.map((function(t,n){return e.getTileSize(n)})),s=43;for(let e=i.length;e<s;++e)i.push(i[e-1]/2),r.push(r[e-1]),o.push(o[e-1]);n=new ox({extent:e.getExtent(),origins:r,resolutions:i,tileSizes:o}),this.tileGrids_[t]=n}return n}getTilePixelRatio(e){return e}getTilePixelSize(e,t,n){const i=Ju(this.getTileGridForProjection(n).getTileSize(e),this.tmpSize);return[Math.round(i[0]*t),Math.round(i[1]*t)]}};function Bk(e,t){e.setLoader((function(n,i,r){Pk(t,e.getFormat(),n,i,r,e.onLoad.bind(e),e.onError.bind(e))}))}function Gk(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Vk,Hk={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Wk(e){return(e=Math.round(e))<0?0:e>255?255:e}function Uk(e){return e<0?0:e>1?1:e}function $k(e){return"%"===e[e.length-1]?Wk(parseFloat(e)/100*255):Wk(parseInt(e))}function Zk(e){return"%"===e[e.length-1]?Uk(parseFloat(e)/100):Uk(parseFloat(e))}function Kk(e,t,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?e+(t-e)*n*6:2*n<1?t:3*n<2?e+(t-e)*(2/3-n)*6:e}try{Vk={}.parseCSSColor=function(e){var t,n=e.replace(/ /g,"").toLowerCase();if(n in Hk)return Hk[n].slice();if("#"===n[0])return 4===n.length?(t=parseInt(n.substr(1),16))>=0&&t<=4095?[(3840&t)>>4|(3840&t)>>8,240&t|(240&t)>>4,15&t|(15&t)<<4,1]:null:7===n.length&&(t=parseInt(n.substr(1),16))>=0&&t<=16777215?[(16711680&t)>>16,(65280&t)>>8,255&t,1]:null;var i=n.indexOf("("),r=n.indexOf(")");if(-1!==i&&r+1===n.length){var o=n.substr(0,i),s=n.substr(i+1,r-(i+1)).split(","),a=1;switch(o){case"rgba":if(4!==s.length)return null;a=Zk(s.pop());case"rgb":return 3!==s.length?null:[$k(s[0]),$k(s[1]),$k(s[2]),a];case"hsla":if(4!==s.length)return null;a=Zk(s.pop());case"hsl":if(3!==s.length)return null;var l=(parseFloat(s[0])%360+360)%360/360,c=Zk(s[1]),u=Zk(s[2]),d=u<=.5?u*(c+1):u+c-u*c,h=2*u-d;return[Wk(255*Kk(h,d,l+1/3)),Wk(255*Kk(h,d,l)),Wk(255*Kk(h,d,l-1/3)),a];default:return null}}return null}}catch(e){}class Xk{constructor(e,t,n,i=1){this.r=e,this.g=t,this.b=n,this.a=i}static parse(e){if(!e)return;if(e instanceof Xk)return e;if("string"!=typeof e)return;const t=Vk(e);return t?new Xk(t[0]/255*t[3],t[1]/255*t[3],t[2]/255*t[3],t[3]):void 0}toString(){const[e,t,n,i]=this.toArray();return`rgba(${Math.round(e)},${Math.round(t)},${Math.round(n)},${i})`}toArray(){const{r:e,g:t,b:n,a:i}=this;return 0===i?[0,0,0,0]:[255*e/i,255*t/i,255*n/i,i]}toArray01(){const{r:e,g:t,b:n,a:i}=this;return 0===i?[0,0,0,0]:[e/i,t/i,n/i,i]}toArray01PremultipliedAlpha(){const{r:e,g:t,b:n,a:i}=this;return[e,t,n,i]}}Xk.black=new Xk(0,0,0,1),Xk.white=new Xk(1,1,1,1),Xk.transparent=new Xk(0,0,0,0),Xk.red=new Xk(1,0,0,1),Xk.blue=new Xk(0,0,1,1);var Yk=Xk;function Qk(e){return"object"==typeof e?["literal",e]:e}function Jk(e){switch(e.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function eC(e,t){const n=Qk((i=e.default,r=t.default,void 0!==i?i:void 0!==r?r:void 0));var i,r;return void 0===n&&"resolvedImage"===t.type?"":n}function tC(e,t,n){const i=rC(e,t),r=["get",e.property];if("categorical"===i&&"boolean"==typeof n[0][0]){const i=["case"];for(const e of n)i.push(["==",r,e[0]],e[1]);return i.push(eC(e,t)),i}if("categorical"===i){const i=["match",r];for(const e of n)iC(i,e[0],e[1],!1);return i.push(eC(e,t)),i}if("interval"===i){const t=["step",["number",r]];for(const e of n)iC(t,e[0],e[1],!0);return nC(t),void 0===e.default?t:["case",["==",["typeof",r],"number"],t,Qk(e.default)]}if("exponential"===i){const t=void 0!==e.base?e.base:1,i=[Jk(e),1===t?["linear"]:["exponential",t],["number",r]];for(const e of n)iC(i,e[0],e[1],!1);return void 0===e.default?i:["case",["==",["typeof",r],"number"],i,Qk(e.default)]}throw new Error(`Unknown property function type ${i}`)}function nC(e){"step"===e[0]&&3===e.length&&(e.push(0),e.push(e[3]))}function iC(e,t,n,i){e.length>3&&t===e[e.length-2]||(i&&2===e.length||e.push(t),e.push(n))}function rC(e,t){return e.type?e.type:t.expression.interpolated?"exponential":"interval"}function oC(e){const t=["concat"],n=/{([^{}]+)}/g;let i=0;for(let r=n.exec(e);null!==r;r=n.exec(e)){const o=e.slice(i,n.lastIndex-r[0].length);i=n.lastIndex,o.length>0&&t.push(o),t.push(["get",r[1]])}if(1===t.length)return e;if(i<e.length)t.push(e.slice(i));else if(2===t.length)return["to-string",t[1]];return t}class sC extends Error{constructor(e,t){super(t),this.message=t,this.key=e}}var aC=sC;class lC{constructor(e,t=[]){this.parent=e,this.bindings={};for(const[e,n]of t)this.bindings[e]=n}concat(e){return new lC(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}var cC=lC;const uC={kind:"null"},dC={kind:"number"},hC={kind:"string"},pC={kind:"boolean"},fC={kind:"color"},_C={kind:"object"},gC={kind:"value"},mC={kind:"collator"},yC={kind:"formatted"},vC={kind:"resolvedImage"};function bC(e,t){return{kind:"array",itemType:e,N:t}}function xC(e){if("array"===e.kind){const t=xC(e.itemType);return"number"==typeof e.N?`array<${t}, ${e.N}>`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}const wC=[uC,dC,hC,pC,fC,yC,_C,bC(gC),vC];function kC(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!kC(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(const e of wC)if(!kC(e,t))return null}return`Expected ${xC(e)} but found ${xC(t)} instead.`}function CC(e,t){return t.some((t=>t.kind===e.kind))}function SC(e,t){return t.some((t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e))}class AC{constructor(e,t,n){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class EC{constructor(e,t,n,i,r){this.text=e.normalize?e.normalize():e,this.image=t,this.scale=n,this.fontStack=i,this.textColor=r}}class MC{constructor(e){this.sections=e}static fromString(e){return new MC([new EC(e,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((e=>0!==e.text.length||e.image&&0!==e.image.name.length))}static factory(e){return e instanceof MC?e:MC.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map((e=>e.text)).join("")}serialize(){const e=["format"];for(const t of this.sections){if(t.image){e.push(["image",t.image.name]);continue}e.push(t.text);const n={};t.fontStack&&(n["text-font"]=["literal",t.fontStack.split(",")]),t.scale&&(n["font-scale"]=t.scale),t.textColor&&(n["text-color"]=["rgba"].concat(t.textColor.toArray())),e.push(n)}return e}}class TC{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(e){return e?new TC({name:e,available:!1}):null}serialize(){return["image",this.name]}}function PC(e,t,n,i){return"number"==typeof e&&e>=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===i||"number"==typeof i&&i>=0&&i<=1?null:`Invalid rgba value [${[e,t,n,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof i?[e,t,n,i]:[e,t,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function RC(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof Yk)return!0;if(e instanceof AC)return!0;if(e instanceof MC)return!0;if(e instanceof TC)return!0;if(Array.isArray(e)){for(const t of e)if(!RC(t))return!1;return!0}if("object"==typeof e){for(const t in e)if(!RC(e[t]))return!1;return!0}return!1}function IC(e){if(null===e)return uC;if("string"==typeof e)return hC;if("boolean"==typeof e)return pC;if("number"==typeof e)return dC;if(e instanceof Yk)return fC;if(e instanceof AC)return mC;if(e instanceof MC)return yC;if(e instanceof TC)return vC;if(Array.isArray(e)){const t=e.length;let n;for(const t of e){const e=IC(t);if(n){if(n===e)continue;n=gC;break}n=e}return bC(n||gC,t)}return _C}function LC(e){const t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof Yk||e instanceof MC||e instanceof TC?e.toString():JSON.stringify(e)}class zC{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!RC(e[1]))return t.error("invalid value");const n=e[1];let i=IC(n);const r=t.expectedType;return"array"!==i.kind||0!==i.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(i=r),new zC(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}serialize(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Yk?["rgba"].concat(this.value.toArray()):this.value instanceof MC?this.value.serialize():this.value}}var OC=zC,FC=class{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}};const jC={string:hC,number:dC,boolean:pC,object:_C};class DC{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let n,i=1;const r=e[0];if("array"===r){let r,o;if(e.length>2){const n=e[1];if("string"!=typeof n||!(n in jC)||"object"===n)return t.error('The item type argument of "array" must be one of string, number, boolean',1);r=jC[n],i++}else r=gC;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);o=e[2],i++}n=bC(r,o)}else n=jC[r];const o=[];for(;i<e.length;i++){const n=t.parse(e[i],i,gC);if(!n)return null;o.push(n)}return new DC(n,o)}evaluate(e){for(let t=0;t<this.args.length;t++){const n=this.args[t].evaluate(e);if(!kC(this.type,IC(n)))return n;if(t===this.args.length-1)throw new FC(`Expected value to be of type ${xC(this.type)}, but found ${xC(IC(n))} instead.`)}return null}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){const e=this.type,t=[e.kind];if("array"===e.kind){const n=e.itemType;if("string"===n.kind||"number"===n.kind||"boolean"===n.kind){t.push(n.kind);const i=e.N;("number"==typeof i||this.args.length>1)&&t.push(i)}}return t.concat(this.args.map((e=>e.serialize())))}}var NC=DC;class qC{constructor(e){this.type=yC,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const n=e[1];if(!Array.isArray(n)&&"object"==typeof n)return t.error("First argument must be an image or text section.");const i=[];let r=!1;for(let n=1;n<=e.length-1;++n){const o=e[n];if(r&&"object"==typeof o&&!Array.isArray(o)){r=!1;let e=null;if(o["font-scale"]&&(e=t.parse(o["font-scale"],1,dC),!e))return null;let n=null;if(o["text-font"]&&(n=t.parse(o["text-font"],1,bC(hC)),!n))return null;let s=null;if(o["text-color"]&&(s=t.parse(o["text-color"],1,fC),!s))return null;const a=i[i.length-1];a.scale=e,a.font=n,a.textColor=s}else{const o=t.parse(e[n],1,gC);if(!o)return null;const s=o.type.kind;if("string"!==s&&"value"!==s&&"null"!==s&&"resolvedImage"!==s)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,i.push({content:o,scale:null,font:null,textColor:null})}}return new qC(i)}evaluate(e){return new MC(this.sections.map((t=>{const n=t.content.evaluate(e);return IC(n)===vC?new EC("",n,null,null,null):new EC(LC(n),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null)})))}eachChild(e){for(const t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor)}outputDefined(){return!1}serialize(){const e=["format"];for(const t of this.sections){e.push(t.content.serialize());const n={};t.scale&&(n["font-scale"]=t.scale.serialize()),t.font&&(n["text-font"]=t.font.serialize()),t.textColor&&(n["text-color"]=t.textColor.serialize()),e.push(n)}return e}}class BC{constructor(e){this.type=vC,this.input=e}static parse(e,t){if(2!==e.length)return t.error("Expected two arguments.");const n=t.parse(e[1],1,hC);return n?new BC(n):t.error("No image name provided.")}evaluate(e){const t=this.input.evaluate(e),n=TC.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){return["image",this.input.serialize()]}}const GC={"to-boolean":pC,"to-color":fC,"to-number":dC,"to-string":hC};class VC{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const n=e[0];if(("to-boolean"===n||"to-string"===n)&&2!==e.length)return t.error("Expected one argument.");const i=GC[n],r=[];for(let n=1;n<e.length;n++){const i=t.parse(e[n],n,gC);if(!i)return null;r.push(i)}return new VC(i,r)}evaluate(e){if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(e));if("color"===this.type.kind){let t,n;for(const i of this.args){if(t=i.evaluate(e),n=null,t instanceof Yk)return t;if("string"==typeof t){const n=e.parseColor(t);if(n)return n}else if(Array.isArray(t)&&(n=t.length<3||t.length>4?`Invalid rbga value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:PC(t[0],t[1],t[2],t[3]),!n))return new Yk(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new FC(n||`Could not parse color from value '${"string"==typeof t?t:String(JSON.stringify(t))}'`)}if("number"===this.type.kind){let t=null;for(const n of this.args){if(t=n.evaluate(e),null===t)return 0;const i=Number(t);if(!isNaN(i))return i}throw new FC(`Could not convert ${JSON.stringify(t)} to number.`)}return"formatted"===this.type.kind?MC.fromString(LC(this.args[0].evaluate(e))):"resolvedImage"===this.type.kind?TC.fromString(LC(this.args[0].evaluate(e))):LC(this.args[0].evaluate(e))}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){if("formatted"===this.type.kind)return new qC([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new BC(this.args[0]).serialize();const e=[`to-${this.type.kind}`];return this.eachChild((t=>{e.push(t.serialize())})),e}}var HC=VC;const WC=["Unknown","Point","LineString","Polygon"];var UC=class{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null,this.featureTileCoord=null,this.featureDistanceData=null}id(){return this.feature&&void 0!==this.feature.id?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?WC[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}distanceFromCenter(){if(this.featureTileCoord&&this.featureDistanceData){const e=this.featureDistanceData.center,t=this.featureDistanceData.scale,{x:n,y:i}=this.featureTileCoord,r=n*t-e[0],o=i*t-e[1];return this.featureDistanceData.bearing[0]*r+this.featureDistanceData.bearing[1]*o}return 0}parseColor(e){let t=this._parseColorCache[e];return t||(t=this._parseColorCache[e]=Yk.parse(e)),t}};class $C{constructor(e,t,n,i){this.name=e,this.type=t,this._evaluate=n,this.args=i}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}serialize(){return[this.name].concat(this.args.map((e=>e.serialize())))}static parse(e,t){const n=e[0],i=$C.definitions[n];if(!i)return t.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((([t])=>!Array.isArray(t)||t.length===e.length-1));let a=null;for(const[i,o]of s){a=new wS(t.registry,t.path,null,t.scope);const s=[];let l=!1;for(let t=1;t<e.length;t++){const n=e[t],r=Array.isArray(i)?i[t-1]:i.type,o=a.parse(n,1+s.length,r);if(!o){l=!0;break}s.push(o)}if(!l)if(Array.isArray(i)&&i.length!==s.length)a.error(`Expected ${i.length} arguments, but found ${s.length} instead.`);else{for(let e=0;e<s.length;e++){const t=Array.isArray(i)?i[e]:i.type,n=s[e];a.concat(e+1).checkSubtype(t,n.type)}if(0===a.errors.length)return new $C(n,r,o,s)}}if(1===s.length)t.errors.push(...a.errors);else{const n=(s.length?s:o).map((([e])=>{return t=e,Array.isArray(t)?`(${t.map(xC).join(", ")})`:`(${xC(t.type)}...)`;var t})).join(" | "),i=[];for(let n=1;n<e.length;n++){const r=t.parse(e[n],1+i.length);if(!r)return null;i.push(xC(r.type))}t.error(`Expected arguments of type ${n}, but found (${i.join(", ")}) instead.`)}return null}static register(e,t){$C.definitions=t;for(const n in t)e[n]=$C}}var ZC=$C;class KC{constructor(e,t,n){this.type=mC,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=t}static parse(e,t){if(2!==e.length)return t.error("Expected one argument.");const n=e[1];if("object"!=typeof n||Array.isArray(n))return t.error("Collator options argument must be an object.");const i=t.parse(void 0!==n["case-sensitive"]&&n["case-sensitive"],1,pC);if(!i)return null;const r=t.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,pC);if(!r)return null;let o=null;return n.locale&&(o=t.parse(n.locale,1,hC),!o)?null:new KC(i,r,o)}evaluate(e){return new AC(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}serialize(){const e={};return e["case-sensitive"]=this.caseSensitive.serialize(),e["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(e.locale=this.locale.serialize()),["collator",e]}}const XC=8192;function YC(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function QC(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function JC(e,t){const n=(180+e[0])/360,i=(r=e[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360);var r;const o=Math.pow(2,t.z);return[Math.round(n*o*XC),Math.round(i*o*XC)]}function eS(e,t,n){const i=e[0]-t[0],r=e[1]-t[1],o=e[0]-n[0],s=e[1]-n[1];return i*s-o*r==0&&i*o<=0&&r*s<=0}function tS(e,t,n){return t[1]>e[1]!=n[1]>e[1]&&e[0]<(n[0]-t[0])*(e[1]-t[1])/(n[1]-t[1])+t[0]}function nS(e,t){let n=!1;for(let i=0,r=t.length;i<r;i++){const r=t[i];for(let t=0,i=r.length;t<i-1;t++){if(eS(e,r[t],r[t+1]))return!1;tS(e,r[t],r[t+1])&&(n=!n)}}return n}function iS(e,t){for(let n=0;n<t.length;n++)if(nS(e,t[n]))return!0;return!1}function rS(e,t,n,i){const r=e[0]-n[0],o=e[1]-n[1],s=t[0]-n[0],a=t[1]-n[1],l=i[0]-n[0],c=i[1]-n[1],u=r*c-l*o,d=s*c-l*a;return u>0&&d<0||u<0&&d>0}function oS(e,t,n,i){const r=[t[0]-e[0],t[1]-e[1]];return 0!=(o=[i[0]-n[0],i[1]-n[1]])[0]*(s=r)[1]-o[1]*s[0]&&!(!rS(e,t,n,i)||!rS(n,i,e,t));var o,s}function sS(e,t,n){for(const i of n)for(let n=0;n<i.length-1;++n)if(oS(e,t,i[n],i[n+1]))return!0;return!1}function aS(e,t){for(let n=0;n<e.length;++n)if(!nS(e[n],t))return!1;for(let n=0;n<e.length-1;++n)if(sS(e[n],e[n+1],t))return!1;return!0}function lS(e,t){for(let n=0;n<t.length;n++)if(aS(e,t[n]))return!0;return!1}function cS(e,t,n){const i=[];for(let r=0;r<e.length;r++){const o=[];for(let i=0;i<e[r].length;i++){const s=JC(e[r][i],n);YC(t,s),o.push(s)}i.push(o)}return i}function uS(e,t,n){const i=[];for(let r=0;r<e.length;r++){const o=cS(e[r],t,n);i.push(o)}return i}function dS(e,t,n,i){if(e[0]<n[0]||e[0]>n[2]){const t=.5*i;let r=e[0]-n[0]>t?-i:n[0]-e[0]>t?i:0;0===r&&(r=e[0]-n[2]>t?-i:n[2]-e[0]>t?i:0),e[0]+=r}YC(t,e)}function hS(e,t,n,i){const r=Math.pow(2,i.z)*XC,o=[i.x*XC,i.y*XC],s=[];if(!e)return s;for(const i of e)for(const e of i){const i=[e.x+o[0],e.y+o[1]];dS(i,t,n,r),s.push(i)}return s}function pS(e,t,n,i){const r=Math.pow(2,i.z)*XC,o=[i.x*XC,i.y*XC],s=[];if(!e)return s;for(const n of e){const e=[];for(const i of n){const n=[i.x+o[0],i.y+o[1]];YC(t,n),e.push(n)}s.push(e)}if(t[2]-t[0]<=r/2){!function(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}(t);for(const e of s)for(const i of e)dS(i,t,n,r)}return s}class fS{constructor(e,t){this.type=pC,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(RC(e[1])){const t=e[1];if("FeatureCollection"===t.type)for(let e=0;e<t.features.length;++e){const n=t.features[e].geometry.type;if("Polygon"===n||"MultiPolygon"===n)return new fS(t,t.features[e].geometry)}else if("Feature"===t.type){const e=t.geometry.type;if("Polygon"===e||"MultiPolygon"===e)return new fS(t,t.geometry)}else if("Polygon"===t.type||"MultiPolygon"===t.type)return new fS(t,t)}return t.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=e.canonicalID();if(!r)return!1;if("Polygon"===t.type){const o=cS(t.coordinates,i,r),s=hS(e.geometry(),n,i,r);if(!QC(n,i))return!1;for(const e of s)if(!nS(e,o))return!1}if("MultiPolygon"===t.type){const o=uS(t.coordinates,i,r),s=hS(e.geometry(),n,i,r);if(!QC(n,i))return!1;for(const e of s)if(!iS(e,o))return!1}return!0}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=e.canonicalID();if(!r)return!1;if("Polygon"===t.type){const o=cS(t.coordinates,i,r),s=pS(e.geometry(),n,i,r);if(!QC(n,i))return!1;for(const e of s)if(!aS(e,o))return!1}if("MultiPolygon"===t.type){const o=uS(t.coordinates,i,r),s=pS(e.geometry(),n,i,r);if(!QC(n,i))return!1;for(const e of s)if(!lS(e,o))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}serialize(){return["within",this.geojson]}}var _S=fS;function gS(e){if(e instanceof ZC){if("get"===e.name&&1===e.args.length)return!1;if("feature-state"===e.name)return!1;if("has"===e.name&&1===e.args.length)return!1;if("properties"===e.name||"geometry-type"===e.name||"id"===e.name)return!1;if(/^filter-/.test(e.name))return!1}if(e instanceof _S)return!1;let t=!0;return e.eachChild((e=>{t&&!gS(e)&&(t=!1)})),t}function mS(e){if(e instanceof ZC&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild((e=>{t&&!mS(e)&&(t=!1)})),t}function yS(e,t){if(e instanceof ZC&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild((e=>{n&&!yS(e,t)&&(n=!1)})),n}class vS{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(e,t){if(2!==e.length||"string"!=typeof e[1])return t.error("'var' expression requires exactly one string literal argument.");const n=e[1];return t.scope.has(n)?new vS(n,t.scope.get(n)):t.error(`Unknown variable "${n}". Make sure "${n}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}serialize(){return["var",this.name]}}var bS=vS;class xS{constructor(e,t=[],n,i=new cC,r=[]){this.registry=e,this.path=t,this.key=t.map((e=>`[${e}]`)).join(""),this.scope=i,this.errors=r,this.expectedType=n}parse(e,t,n,i,r={}){return t?this.concat(t,n,i)._parse(e,r):this._parse(e,r)}_parse(e,t){function n(e,t,n){return"assert"===n?new NC(t,[e]):"coerce"===n?new HC(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const i=e[0];if("string"!=typeof i)return this.error(`Expression name must be a string, but found ${typeof i} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const r=this.registry[i];if(r){let i=r.parse(e,this);if(!i)return null;if(this.expectedType){const e=this.expectedType,r=i.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==r.kind)if("color"!==e.kind&&"formatted"!==e.kind&&"resolvedImage"!==e.kind||"value"!==r.kind&&"string"!==r.kind){if(this.checkSubtype(e,r))return null}else i=n(i,e,t.typeAnnotation||"coerce");else i=n(i,e,t.typeAnnotation||"assert")}if(!(i instanceof OC)&&"resolvedImage"!==i.type.kind&&kS(i)){const e=new UC;try{i=new OC(i.type,i.evaluate(e))}catch(e){return this.error(e.message),null}}return i}return this.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===e?this.error("'undefined' value invalid. Use null instead."):"object"==typeof e?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof e} instead.`)}concat(e,t,n){const i="number"==typeof e?this.path.concat(e):this.path,r=n?this.scope.concat(n):this.scope;return new xS(this.registry,i,t||null,r,this.errors)}error(e,...t){const n=`${this.key}${t.map((e=>`[${e}]`)).join("")}`;this.errors.push(new aC(n,e))}checkSubtype(e,t){const n=kC(e,t);return n&&this.error(n),n}}var wS=xS;function kS(e){if(e instanceof bS)return kS(e.boundExpression);if(e instanceof ZC&&"error"===e.name)return!1;if(e instanceof KC)return!1;if(e instanceof _S)return!1;const t=e instanceof HC||e instanceof NC;let n=!0;return e.eachChild((e=>{n=t?n&&kS(e):n&&e instanceof OC})),!!n&&gS(e)&&yS(e,["zoom","heatmap-density","line-progress","sky-radial-progress","accumulated","is-supported-script","pitch","distance-from-center"])}function CS(e,t){const n=e.length-1;let i,r,o=0,s=n,a=0;for(;o<=s;)if(a=Math.floor((o+s)/2),i=e[a],r=e[a+1],i<=t){if(a===n||t<r)return a;o=a+1}else{if(!(i>t))throw new FC("Input is not a number.");s=a-1}return 0}class SS{constructor(e,t,n){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(const[e,t]of n)this.labels.push(e),this.outputs.push(t)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");const n=t.parse(e[1],1,dC);if(!n)return null;const i=[];let r=null;t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType);for(let n=1;n<e.length;n+=2){const o=1===n?-1/0:e[n],s=e[n+1],a=n,l=n+1;if("number"!=typeof o)return t.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',a);if(i.length&&i[i.length-1][0]>=o)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const c=t.parse(s,l,r);if(!c)return null;r=r||c.type,i.push([o,c])}return new SS(r,n,i)}evaluate(e){const t=this.labels,n=this.outputs;if(1===t.length)return n[0].evaluate(e);const i=this.input.evaluate(e);if(i<=t[0])return n[0].evaluate(e);const r=t.length;return i>=t[r-1]?n[r-1].evaluate(e):n[CS(t,i)].evaluate(e)}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){const e=["step",this.input.serialize()];for(let t=0;t<this.labels.length;t++)t>0&&e.push(this.labels[t]),e.push(this.outputs[t].serialize());return e}}var AS=SS,ES=MS;function MS(e,t,n,i){this.cx=3*e,this.bx=3*(n-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(i-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=i,this.p2x=n,this.p2y=i}MS.prototype.sampleCurveX=function(e){return((this.ax*e+this.bx)*e+this.cx)*e},MS.prototype.sampleCurveY=function(e){return((this.ay*e+this.by)*e+this.cy)*e},MS.prototype.sampleCurveDerivativeX=function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},MS.prototype.solveCurveX=function(e,t){var n,i,r,o,s;for(void 0===t&&(t=1e-6),r=e,s=0;s<8;s++){if(o=this.sampleCurveX(r)-e,Math.abs(o)<t)return r;var a=this.sampleCurveDerivativeX(r);if(Math.abs(a)<1e-6)break;r-=o/a}if((r=e)<(n=0))return n;if(r>(i=1))return i;for(;n<i;){if(o=this.sampleCurveX(r),Math.abs(o-e)<t)return r;e>o?n=r:i=r,r=.5*(i-n)+n}return r},MS.prototype.solve=function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))};var TS=Gk(ES);function PS(e,t,n){return e*(1-n)+t*n}var RS=Object.freeze({__proto__:null,number:PS,color:function(e,t,n){return new Yk(PS(e.r,t.r,n),PS(e.g,t.g,n),PS(e.b,t.b,n),PS(e.a,t.a,n))},array:function(e,t,n){return e.map(((e,i)=>PS(e,t[i],n)))}});const IS=.95047,LS=1.08883,zS=4/29,OS=6/29,FS=3*OS*OS,jS=OS*OS*OS,DS=Math.PI/180,NS=180/Math.PI;function qS(e){return e>jS?Math.pow(e,1/3):e/FS+zS}function BS(e){return e>OS?e*e*e:FS*(e-zS)}function GS(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function VS(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function HS(e){const t=VS(e.r),n=VS(e.g),i=VS(e.b),r=qS((.4124564*t+.3575761*n+.1804375*i)/IS),o=qS((.2126729*t+.7151522*n+.072175*i)/1);return{l:116*o-16,a:500*(r-o),b:200*(o-qS((.0193339*t+.119192*n+.9503041*i)/LS)),alpha:e.a}}function WS(e){let t=(e.l+16)/116,n=isNaN(e.a)?t:t+e.a/500,i=isNaN(e.b)?t:t-e.b/200;return t=1*BS(t),n=IS*BS(n),i=LS*BS(i),new Yk(GS(3.2404542*n-1.5371385*t-.4985314*i),GS(-.969266*n+1.8760108*t+.041556*i),GS(.0556434*n-.2040259*t+1.0572252*i),e.alpha)}function US(e,t,n){const i=t-e;return e+n*(i>180||i<-180?i-360*Math.round(i/360):i)}const $S={forward:HS,reverse:WS,interpolate:function(e,t,n){return{l:PS(e.l,t.l,n),a:PS(e.a,t.a,n),b:PS(e.b,t.b,n),alpha:PS(e.alpha,t.alpha,n)}}},ZS=function(e){const{l:t,a:n,b:i}=HS(e),r=Math.atan2(i,n)*NS;return{h:r<0?r+360:r,c:Math.sqrt(n*n+i*i),l:t,alpha:e.a}},KS=function(e){const t=e.h*DS,n=e.c;return WS({l:e.l,a:Math.cos(t)*n,b:Math.sin(t)*n,alpha:e.alpha})},XS=function(e,t,n){return{h:US(e.h,t.h,n),c:PS(e.c,t.c,n),l:PS(e.l,t.l,n),alpha:PS(e.alpha,t.alpha,n)}};class YS{constructor(e,t,n,i,r){this.type=e,this.operator=t,this.interpolation=n,this.input=i,this.labels=[],this.outputs=[];for(const[e,t]of r)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,n,i){let r=0;if("exponential"===e.name)r=QS(t,e.base,n,i);else if("linear"===e.name)r=QS(t,1,n,i);else if("cubic-bezier"===e.name){const o=e.controlPoints;r=new TS(o[0],o[1],o[2],o[3]).solve(QS(t,1,n,i))}return r}static parse(e,t){let[n,i,r,...o]=e;if(!Array.isArray(i)||0===i.length)return t.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){const e=i[1];if("number"!=typeof e)return t.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:e}}else{if("cubic-bezier"!==i[0])return t.error(`Unknown interpolation type ${String(i[0])}`,1,0);{const e=i.slice(1);if(4!==e.length||e.some((e=>"number"!=typeof e||e<0||e>1)))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);i={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(r=t.parse(r,2,dC),!r)return null;const s=[];let a=null;"interpolate-hcl"===n||"interpolate-lab"===n?a=fC:t.expectedType&&"value"!==t.expectedType.kind&&(a=t.expectedType);for(let e=0;e<o.length;e+=2){const n=o[e],i=o[e+1],r=e+3,l=e+4;if("number"!=typeof n)return t.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',r);if(s.length&&s[s.length-1][0]>=n)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=t.parse(i,l,a);if(!c)return null;a=a||c.type,s.push([n,c])}return"number"===a.kind||"color"===a.kind||"array"===a.kind&&"number"===a.itemType.kind&&"number"==typeof a.N?new YS(a,n,i,r,s):t.error(`Type ${xC(a)} is not interpolatable.`)}evaluate(e){const t=this.labels,n=this.outputs;if(1===t.length)return n[0].evaluate(e);const i=this.input.evaluate(e);if(i<=t[0])return n[0].evaluate(e);const r=t.length;if(i>=t[r-1])return n[r-1].evaluate(e);const o=CS(t,i),s=t[o],a=t[o+1],l=YS.interpolationFactor(this.interpolation,i,s,a),c=n[o].evaluate(e),u=n[o+1].evaluate(e);return"interpolate"===this.operator?RS[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?KS(XS(ZS(c),ZS(u),l)):$S.reverse($S.interpolate($S.forward(c),$S.forward(u),l))}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))}serialize(){let e;e="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);const t=[this.operator,e,this.input.serialize()];for(let e=0;e<this.labels.length;e++)t.push(this.labels[e],this.outputs[e].serialize());return t}}function QS(e,t,n,i){const r=i-n,o=e-n;return 0===r?0:1===t?o/r:(Math.pow(t,o)-1)/(Math.pow(t,r)-1)}var JS=YS;class eA{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expectected at least one argument.");let n=null;const i=t.expectedType;i&&"value"!==i.kind&&(n=i);const r=[];for(const i of e.slice(1)){const e=t.parse(i,1+r.length,n,void 0,{typeAnnotation:"omit"});if(!e)return null;n=n||e.type,r.push(e)}const o=i&&r.some((e=>kC(i,e.type)));return new eA(o?gC:n,r)}evaluate(e){let t,n=null,i=0;for(const r of this.args){if(i++,n=r.evaluate(e),n&&n instanceof TC&&!n.available&&(t||(t=n),n=null,i===this.args.length))return t;if(null!==n)break}return n}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every((e=>e.outputDefined()))}serialize(){const e=["coalesce"];return this.eachChild((t=>{e.push(t.serialize())})),e}}var tA=eA;class nA{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const n=[];for(let i=1;i<e.length-1;i+=2){const r=e[i];if("string"!=typeof r)return t.error(`Expected string, but found ${typeof r} instead.`,i);if(/[^a-zA-Z0-9_]/.test(r))return t.error("Variable names must contain only alphanumeric characters or '_'.",i);const o=t.parse(e[i+1],i+1);if(!o)return null;n.push([r,o])}const i=t.parse(e[e.length-1],e.length-1,t.expectedType,n);return i?new nA(n,i):null}outputDefined(){return this.result.outputDefined()}serialize(){const e=["let"];for(const[t,n]of this.bindings)e.push(t,n.serialize());return e.push(this.result.serialize()),e}}var iA=nA;class rA{constructor(e,t,n){this.type=e,this.index=t,this.input=n}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const n=t.parse(e[1],1,dC),i=t.parse(e[2],2,bC(t.expectedType||gC));if(!n||!i)return null;const r=i.type;return new rA(r.itemType,n,i)}evaluate(e){const t=this.index.evaluate(e),n=this.input.evaluate(e);if(t<0)throw new FC(`Array index out of bounds: ${t} < 0.`);if(t>=n.length)throw new FC(`Array index out of bounds: ${t} > ${n.length-1}.`);if(t!==Math.floor(t))throw new FC(`Array index must be an integer, but found ${t} instead.`);return n[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}serialize(){return["at",this.index.serialize(),this.input.serialize()]}}var oA=rA;class sA{constructor(e,t){this.type=pC,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const n=t.parse(e[1],1,gC),i=t.parse(e[2],2,gC);return n&&i?CC(n.type,[pC,hC,dC,uC,gC])?new sA(n,i):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${xC(n.type)} instead`):null}evaluate(e){const t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(null==n)return!1;if(!SC(t,["boolean","string","number","null"]))throw new FC(`Expected first argument to be of type boolean, string, number or null, but found ${xC(IC(t))} instead.`);if(!SC(n,["string","array"]))throw new FC(`Expected second argument to be of type array or string, but found ${xC(IC(n))} instead.`);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}serialize(){return["in",this.needle.serialize(),this.haystack.serialize()]}}var aA=sA;class lA{constructor(e,t,n){this.type=dC,this.needle=e,this.haystack=t,this.fromIndex=n}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const n=t.parse(e[1],1,gC),i=t.parse(e[2],2,gC);if(!n||!i)return null;if(!CC(n.type,[pC,hC,dC,uC,gC]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${xC(n.type)} instead`);if(4===e.length){const r=t.parse(e[3],3,dC);return r?new lA(n,i,r):null}return new lA(n,i)}evaluate(e){const t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!SC(t,["boolean","string","number","null"]))throw new FC(`Expected first argument to be of type boolean, string, number or null, but found ${xC(IC(t))} instead.`);if(!SC(n,["string","array"]))throw new FC(`Expected second argument to be of type array or string, but found ${xC(IC(n))} instead.`);if(this.fromIndex){const i=this.fromIndex.evaluate(e);return n.indexOf(t,i)}return n.indexOf(t)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}serialize(){if(null!=this.fromIndex&&void 0!==this.fromIndex){const e=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),e]}return["index-of",this.needle.serialize(),this.haystack.serialize()]}}var cA=lA;class uA{constructor(e,t,n,i,r,o){this.inputType=e,this.type=t,this.input=n,this.cases=i,this.outputs=r,this.otherwise=o}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");let n,i;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);const r={},o=[];for(let s=2;s<e.length-1;s+=2){let a=e[s];const l=e[s+1];Array.isArray(a)||(a=[a]);const c=t.concat(s);if(0===a.length)return c.error("Expected at least one branch label.");for(const e of a){if("number"!=typeof e&&"string"!=typeof e)return c.error("Branch labels must be numbers or strings.");if("number"==typeof e&&Math.abs(e)>Number.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(n){if(c.checkSubtype(n,IC(e)))return null}else n=IC(e);if(void 0!==r[String(e)])return c.error("Branch labels must be unique.");r[String(e)]=o.length}const u=t.parse(l,s,i);if(!u)return null;i=i||u.type,o.push(u)}const s=t.parse(e[1],1,gC);if(!s)return null;const a=t.parse(e[e.length-1],e.length-1,i);return a?"value"!==s.type.kind&&t.concat(1).checkSubtype(n,s.type)?null:new uA(n,i,s,r,o,a):null}evaluate(e){const t=this.input.evaluate(e);return(IC(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every((e=>e.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const e=["match",this.input.serialize()],t=Object.keys(this.cases).sort(),n=[],i={};for(const e of t){const t=i[this.cases[e]];void 0===t?(i[this.cases[e]]=n.length,n.push([this.cases[e],[e]])):n[t][1].push(e)}const r=e=>"number"===this.inputType.kind?Number(e):e;for(const[t,i]of n)1===i.length?e.push(r(i[0])):e.push(i.map(r)),e.push(this.outputs[t].serialize());return e.push(this.otherwise.serialize()),e}}var dA=uA;class hA{constructor(e,t,n){this.type=e,this.branches=t,this.otherwise=n}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");let n;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);const i=[];for(let r=1;r<e.length-1;r+=2){const o=t.parse(e[r],r,pC);if(!o)return null;const s=t.parse(e[r+1],r+1,n);if(!s)return null;i.push([o,s]),n=n||s.type}const r=t.parse(e[e.length-1],e.length-1,n);return r?new hA(n,i,r):null}evaluate(e){for(const[t,n]of this.branches)if(t.evaluate(e))return n.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(const[t,n]of this.branches)e(t),e(n);e(this.otherwise)}outputDefined(){return this.branches.every((([e,t])=>t.outputDefined()))&&this.otherwise.outputDefined()}serialize(){const e=["case"];return this.eachChild((t=>{e.push(t.serialize())})),e}}var pA=hA;class fA{constructor(e,t,n,i){this.type=e,this.input=t,this.beginIndex=n,this.endIndex=i}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const n=t.parse(e[1],1,gC),i=t.parse(e[2],2,dC);if(!n||!i)return null;if(!CC(n.type,[bC(gC),hC,gC]))return t.error(`Expected first argument to be of type array or string, but found ${xC(n.type)} instead`);if(4===e.length){const r=t.parse(e[3],3,dC);return r?new fA(n.type,n,i,r):null}return new fA(n.type,n,i)}evaluate(e){const t=this.input.evaluate(e),n=this.beginIndex.evaluate(e);if(!SC(t,["string","array"]))throw new FC(`Expected first argument to be of type array or string, but found ${xC(IC(t))} instead.`);if(this.endIndex){const i=this.endIndex.evaluate(e);return t.slice(n,i)}return t.slice(n)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}serialize(){if(null!=this.endIndex&&void 0!==this.endIndex){const e=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),e]}return["slice",this.input.serialize(),this.beginIndex.serialize()]}}var _A=fA;function gA(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function mA(e,t,n,i){return 0===i.compare(t,n)}function yA(e,t,n){const i="=="!==e&&"!="!==e;return class r{constructor(e,t,n){this.type=pC,this.lhs=e,this.rhs=t,this.collator=n,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");const n=e[0];let o=t.parse(e[1],1,gC);if(!o)return null;if(!gA(n,o.type))return t.concat(1).error(`"${n}" comparisons are not supported for type '${xC(o.type)}'.`);let s=t.parse(e[2],2,gC);if(!s)return null;if(!gA(n,s.type))return t.concat(2).error(`"${n}" comparisons are not supported for type '${xC(s.type)}'.`);if(o.type.kind!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error(`Cannot compare types '${xC(o.type)}' and '${xC(s.type)}'.`);i&&("value"===o.type.kind&&"value"!==s.type.kind?o=new NC(s.type,[o]):"value"!==o.type.kind&&"value"===s.type.kind&&(s=new NC(o.type,[s])));let a=null;if(4===e.length){if("string"!==o.type.kind&&"string"!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error("Cannot use collator to compare non-string types.");if(a=t.parse(e[3],3,mC),!a)return null}return new r(o,s,a)}evaluate(r){const o=this.lhs.evaluate(r),s=this.rhs.evaluate(r);if(i&&this.hasUntypedArgument){const t=IC(o),n=IC(s);if(t.kind!==n.kind||"string"!==t.kind&&"number"!==t.kind)throw new FC(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${n.kind}) instead.`)}if(this.collator&&!i&&this.hasUntypedArgument){const e=IC(o),n=IC(s);if("string"!==e.kind||"string"!==n.kind)return t(r,o,s)}return this.collator?n(r,o,s,this.collator.evaluate(r)):t(r,o,s)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}serialize(){const t=[e];return this.eachChild((e=>{t.push(e.serialize())})),t}}}const vA=yA("==",(function(e,t,n){return t===n}),mA),bA=yA("!=",(function(e,t,n){return t!==n}),(function(e,t,n,i){return!mA(0,t,n,i)})),xA=yA("<",(function(e,t,n){return t<n}),(function(e,t,n,i){return i.compare(t,n)<0})),wA=yA(">",(function(e,t,n){return t>n}),(function(e,t,n,i){return i.compare(t,n)>0})),kA=yA("<=",(function(e,t,n){return t<=n}),(function(e,t,n,i){return i.compare(t,n)<=0})),CA=yA(">=",(function(e,t,n){return t>=n}),(function(e,t,n,i){return i.compare(t,n)>=0}));class SA{constructor(e,t,n,i,r,o){this.type=hC,this.number=e,this.locale=t,this.currency=n,this.unit=i,this.minFractionDigits=r,this.maxFractionDigits=o}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");const n=t.parse(e[1],1,dC);if(!n)return null;const i=e[2];if("object"!=typeof i||Array.isArray(i))return t.error("NumberFormat options argument must be an object.");let r=null;if(i.locale&&(r=t.parse(i.locale,1,hC),!r))return null;let o=null;if(i.currency&&(o=t.parse(i.currency,1,hC),!o))return null;let s=null;if(i.unit&&(s=t.parse(i.unit,1,hC),!s))return null;let a=null;if(i["min-fraction-digits"]&&(a=t.parse(i["min-fraction-digits"],1,dC),!a))return null;let l=null;return i["max-fraction-digits"]&&(l=t.parse(i["max-fraction-digits"],1,dC),!l)?null:new SA(n,r,o,s,a,l)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:(this.currency?"currency":this.unit&&"unit")||"decimal",currency:this.currency?this.currency.evaluate(e):void 0,unit:this.unit?this.unit.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.unit&&e(this.unit),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}serialize(){const e={};return this.locale&&(e.locale=this.locale.serialize()),this.currency&&(e.currency=this.currency.serialize()),this.unit&&(e.unit=this.unit.serialize()),this.minFractionDigits&&(e["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(e["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),e]}}class AA{constructor(e){this.type=dC,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);const n=t.parse(e[1],1);return n?"array"!==n.type.kind&&"string"!==n.type.kind&&"value"!==n.type.kind?t.error(`Expected argument of type string or array, but found ${xC(n.type)} instead.`):new AA(n):null}evaluate(e){const t=this.input.evaluate(e);if("string"==typeof t)return t.length;if(Array.isArray(t))return t.length;throw new FC(`Expected value to be of type string or array, but found ${xC(IC(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}serialize(){const e=["length"];return this.eachChild((t=>{e.push(t.serialize())})),e}}const EA={"==":vA,"!=":bA,">":wA,"<":xA,">=":CA,"<=":kA,array:NC,at:oA,boolean:NC,case:pA,coalesce:tA,collator:KC,format:qC,image:BC,in:aA,"index-of":cA,interpolate:JS,"interpolate-hcl":JS,"interpolate-lab":JS,length:AA,let:iA,literal:OC,match:dA,number:NC,"number-format":SA,object:NC,slice:_A,step:AS,string:NC,"to-boolean":HC,"to-color":HC,"to-number":HC,"to-string":HC,var:bS,within:_S};function MA(e,[t,n,i,r]){t=t.evaluate(e),n=n.evaluate(e),i=i.evaluate(e);const o=r?r.evaluate(e):1,s=PC(t,n,i,o);if(s)throw new FC(s);return new Yk(t/255*o,n/255*o,i/255*o,o)}function TA(e,t){return e in t}function PA(e,t){const n=t[e];return void 0===n?null:n}function RA(e){return{type:e}}ZC.register(EA,{error:[{kind:"error"},[hC],(e,[t])=>{throw new FC(t.evaluate(e))}],typeof:[hC,[gC],(e,[t])=>xC(IC(t.evaluate(e)))],"to-rgba":[bC(dC,4),[fC],(e,[t])=>t.evaluate(e).toArray()],rgb:[fC,[dC,dC,dC],MA],rgba:[fC,[dC,dC,dC,dC],MA],has:{type:pC,overloads:[[[hC],(e,[t])=>TA(t.evaluate(e),e.properties())],[[hC,_C],(e,[t,n])=>TA(t.evaluate(e),n.evaluate(e))]]},get:{type:gC,overloads:[[[hC],(e,[t])=>PA(t.evaluate(e),e.properties())],[[hC,_C],(e,[t,n])=>PA(t.evaluate(e),n.evaluate(e))]]},"feature-state":[gC,[hC],(e,[t])=>PA(t.evaluate(e),e.featureState||{})],properties:[_C,[],e=>e.properties()],"geometry-type":[hC,[],e=>e.geometryType()],id:[gC,[],e=>e.id()],zoom:[dC,[],e=>e.globals.zoom],pitch:[dC,[],e=>e.globals.pitch||0],"distance-from-center":[dC,[],e=>e.distanceFromCenter()],"heatmap-density":[dC,[],e=>e.globals.heatmapDensity||0],"line-progress":[dC,[],e=>e.globals.lineProgress||0],"sky-radial-progress":[dC,[],e=>e.globals.skyRadialProgress||0],accumulated:[gC,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[dC,RA(dC),(e,t)=>{let n=0;for(const i of t)n+=i.evaluate(e);return n}],"*":[dC,RA(dC),(e,t)=>{let n=1;for(const i of t)n*=i.evaluate(e);return n}],"-":{type:dC,overloads:[[[dC,dC],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[dC],(e,[t])=>-t.evaluate(e)]]},"/":[dC,[dC,dC],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[dC,[dC,dC],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[dC,[],()=>Math.LN2],pi:[dC,[],()=>Math.PI],e:[dC,[],()=>Math.E],"^":[dC,[dC,dC],(e,[t,n])=>Math.pow(t.evaluate(e),n.evaluate(e))],sqrt:[dC,[dC],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[dC,[dC],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[dC,[dC],(e,[t])=>Math.log(t.evaluate(e))],log2:[dC,[dC],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[dC,[dC],(e,[t])=>Math.sin(t.evaluate(e))],cos:[dC,[dC],(e,[t])=>Math.cos(t.evaluate(e))],tan:[dC,[dC],(e,[t])=>Math.tan(t.evaluate(e))],asin:[dC,[dC],(e,[t])=>Math.asin(t.evaluate(e))],acos:[dC,[dC],(e,[t])=>Math.acos(t.evaluate(e))],atan:[dC,[dC],(e,[t])=>Math.atan(t.evaluate(e))],min:[dC,RA(dC),(e,t)=>Math.min(...t.map((t=>t.evaluate(e))))],max:[dC,RA(dC),(e,t)=>Math.max(...t.map((t=>t.evaluate(e))))],abs:[dC,[dC],(e,[t])=>Math.abs(t.evaluate(e))],round:[dC,[dC],(e,[t])=>{const n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[dC,[dC],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[dC,[dC],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[pC,[hC,gC],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[pC,[gC],(e,[t])=>e.id()===t.value],"filter-type-==":[pC,[hC],(e,[t])=>e.geometryType()===t.value],"filter-<":[pC,[hC,gC],(e,[t,n])=>{const i=e.properties()[t.value],r=n.value;return typeof i==typeof r&&i<r}],"filter-id-<":[pC,[gC],(e,[t])=>{const n=e.id(),i=t.value;return typeof n==typeof i&&n<i}],"filter->":[pC,[hC,gC],(e,[t,n])=>{const i=e.properties()[t.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[pC,[gC],(e,[t])=>{const n=e.id(),i=t.value;return typeof n==typeof i&&n>i}],"filter-<=":[pC,[hC,gC],(e,[t,n])=>{const i=e.properties()[t.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[pC,[gC],(e,[t])=>{const n=e.id(),i=t.value;return typeof n==typeof i&&n<=i}],"filter->=":[pC,[hC,gC],(e,[t,n])=>{const i=e.properties()[t.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[pC,[gC],(e,[t])=>{const n=e.id(),i=t.value;return typeof n==typeof i&&n>=i}],"filter-has":[pC,[gC],(e,[t])=>t.value in e.properties()],"filter-has-id":[pC,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[pC,[bC(hC)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[pC,[bC(gC)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[pC,[hC,bC(gC)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[pC,[hC,bC(gC)],(e,[t,n])=>function(e,t,n,i){for(;n<=i;){const r=n+i>>1;if(t[r]===e)return!0;t[r]>e?i=r-1:n=r+1}return!1}(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:pC,overloads:[[[pC,pC],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[RA(pC),(e,t)=>{for(const n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:pC,overloads:[[[pC,pC],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[RA(pC),(e,t)=>{for(const n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[pC,[pC],(e,[t])=>!t.evaluate(e)],"is-supported-script":[pC,[hC],(e,[t])=>{const n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[hC,[hC],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[hC,[hC],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[hC,RA(gC),(e,t)=>t.map((t=>LC(t.evaluate(e)))).join("")],"resolved-locale":[hC,[mC],(e,[t])=>t.evaluate(e).resolvedLocale()]});var IA=EA;function LA(e){return{result:"success",value:e}}function zA(e){return{result:"error",value:e}}function OA(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}class FA{constructor(e,t){this.expression=e,this._warningHistory={},this._evaluator=new UC,this._defaultValue=t?function(e){return"color"===e.type&&(OA(e.default)||Array.isArray(e.default))?new Yk(0,0,0,0):"color"===e.type?Yk.parse(e.default)||null:void 0===e.default?null:e.default}(t):null,this._enumValues=t&&"enum"===t.type?t.values:null}evaluateWithoutErrorHandling(e,t,n,i,r,o,s,a){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=n,this._evaluator.canonical=i||null,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=o,this._evaluator.featureTileCoord=s||null,this._evaluator.featureDistanceData=a||null,this.expression.evaluate(this._evaluator)}evaluate(e,t,n,i,r,o,s,a){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=n||null,this._evaluator.canonical=i||null,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=o||null,this._evaluator.featureTileCoord=s||null,this._evaluator.featureDistanceData=a||null;try{const e=this.expression.evaluate(this._evaluator);if(null==e||"number"==typeof e&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new FC(`Expected value to be one of ${Object.keys(this._enumValues).map((e=>JSON.stringify(e))).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),this._defaultValue}}}function jA(e,t){const n=new wS(IA,[],t?function(e){const t={color:fC,string:hC,number:dC,enum:hC,boolean:pC,formatted:yC,resolvedImage:vC};return"array"===e.type?bC(t[e.value]||gC,e.length):t[e.type]}(t):void 0),i=n.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return i?LA(new FA(i,t)):zA(n.errors)}class DA{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!mS(t.expression)}evaluateWithoutErrorHandling(e,t,n,i,r,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,n,i,r,o)}evaluate(e,t,n,i,r,o){return this._styleExpression.evaluate(e,t,n,i,r,o)}}class NA{constructor(e,t,n,i){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent="camera"!==e&&!mS(t.expression),this.interpolationType=i}evaluateWithoutErrorHandling(e,t,n,i,r,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,n,i,r,o)}evaluate(e,t,n,i,r,o){return this._styleExpression.evaluate(e,t,n,i,r,o)}interpolationFactor(e,t,n){return this.interpolationType?JS.interpolationFactor(this.interpolationType,e,t,n):0}}function qA(e,t){if("error"===(e=jA(e,t)).result)return e;const n=e.value.expression,i=gS(n);if(!i&&!function(e){return"data-driven"===e["property-type"]}(t))return zA([new aC("","data expressions not supported")]);const r=yS(n,["zoom","pitch","distance-from-center"]);if(!r&&!function(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}(t))return zA([new aC("","zoom expressions not supported")]);const o=BA(n);if(!o&&!r)return zA([new aC("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(o instanceof aC)return zA([o]);if(o instanceof JS&&!function(e){return!!e.expression&&e.expression.interpolated}(t))return zA([new aC("",'"interpolate" expressions cannot be used with this property')]);if(!o)return LA(new DA(i?"constant":"source",e.value));const s=o instanceof JS?o.interpolation:void 0;return LA(new NA(i?"camera":"composite",e.value,o.labels,s))}function BA(e){let t=null;if(e instanceof iA)t=BA(e.result);else if(e instanceof tA){for(const n of e.args)if(t=BA(n),t)break}else(e instanceof AS||e instanceof JS)&&e.input instanceof ZC&&"zoom"===e.input.name&&(t=e);return t instanceof aC||e.eachChild((e=>{const n=BA(e);n instanceof aC?t=n:!t&&n?t=new aC("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&n&&t!==n&&(t=new aC("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),t}function GA(e){if(Array.isArray(e))return e.map(GA);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){const t={};for(const n in e)t[n]=GA(e[n]);return t}return function(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}(e)}var VA={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},terrain:{type:"terrain"},fog:{type:"fog"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},projection:{type:"projection"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{},sky:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background","layout_sky"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_sky:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"},"fill-extrusion-edge-radius":{type:"number",private:!0,default:0,minimum:0,maximum:1,"property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_symbol:{type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature","pitch","distance-from-center"]}},filter_fill:{type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}},filter_line:{type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}},filter_circle:{type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}},"filter_fill-extrusion":{type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}},filter_heatmap:{type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Camera"},pitch:{group:"Camera"},"distance-from-center":{group:"Camera"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},"sky-radial-progress":{group:"sky"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},fog:{range:{type:"array",default:[.5,10],minimum:-20,maximum:20,length:2,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"high-color":{type:"color","property-type":"data-constant",default:"#245cdf",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"space-color":{type:"color","property-type":"data-constant",default:["interpolate",["linear"],["zoom"],4,"#010b19",7,"#367ab9"],expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-blend":{type:"number","property-type":"data-constant",default:["interpolate",["linear"],["zoom"],4,.2,7,.1],minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"star-intensity":{type:"number","property-type":"data-constant",default:["interpolate",["linear"],["zoom"],5,.35,6,0],minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},projection:{name:{type:"enum",values:{albers:{},equalEarth:{},equirectangular:{},lambertConformalConic:{},mercator:{},naturalEarth:{},winkelTripel:{},globe:{}},default:"mercator",required:!0},center:{type:"array",length:2,value:"number","property-type":"data-constant",minimum:[-180,-90],maximum:[180,90],transition:!1,requires:[{name:["albers","lambertConformalConic"]}]},parallels:{type:"array",length:2,value:"number","property-type":"data-constant",minimum:[-90,-90],maximum:[90,90],transition:!1,requires:[{name:["albers","lambertConformalConic"]}]}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number","property-type":"data-constant",default:1,minimum:0,maximum:1e3,expression:{interpolated:!0,parameters:["zoom"]},transition:!0,requires:["source"]}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background","paint_sky"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!1,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!1,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-ambient-occlusion-intensity":{"property-type":"data-constant",type:"number",private:!0,default:0,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fill-extrusion-ambient-occlusion-radius":{"property-type":"data-constant",type:"number",private:!0,default:3,minimum:0,expression:{interpolated:!0,parameters:["zoom"]},transition:!0,requires:["fill-extrusion-edge-radius"]}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!1,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-pattern":{type:"resolvedImage",transition:!1,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"},"line-trim-offset":{type:"array",value:"number",length:2,default:[0,0],minimum:[0,0],maximum:[1,1],transition:!1,requires:[{source:"geojson",has:{lineMetrics:!0}}],"property-type":"constant"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_sky:{"sky-type":{type:"enum",values:{gradient:{},atmosphere:{}},default:"atmosphere",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun":{type:"array",value:"number",length:2,units:"degrees",minimum:[0,0],maximum:[360,180],transition:!1,requires:[{"sky-type":"atmosphere"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-atmosphere-sun-intensity":{type:"number",requires:[{"sky-type":"atmosphere"}],default:10,minimum:0,maximum:100,transition:!1,"property-type":"data-constant"},"sky-gradient-center":{type:"array",requires:[{"sky-type":"gradient"}],value:"number",default:[0,0],length:2,units:"degrees",minimum:[0,0],maximum:[360,180],transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-gradient-radius":{type:"number",requires:[{"sky-type":"gradient"}],default:90,minimum:0,maximum:180,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"sky-gradient":{type:"color",default:["interpolate",["linear"],["sky-radial-progress"],.8,"#87ceeb",1,"white"],transition:!1,requires:[{"sky-type":"gradient"}],expression:{interpolated:!0,parameters:["sky-radial-progress"]},"property-type":"color-ramp"},"sky-atmosphere-halo-color":{type:"color",default:"white",transition:!1,requires:[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-atmosphere-color":{type:"color",default:"white",transition:!1,requires:[{"sky-type":"atmosphere"}],"property-type":"data-constant"},"sky-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};function HA(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(const t of e.slice(1))if(!HA(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}function WA(e,t="fill"){if(null==e)return{filter:()=>!0,needGeometry:!1,needFeature:!1};HA(e)||(e=QA(e));const n=e;let i=!0;try{i=function(e){if(!ZA(e))return e;let t=GA(e);return $A(t),t=UA(t),t}(n)}catch(e){console.warn(`Failed to extract static filter. Filter will continue working, but at higher memory usage and slower framerate.\nThis is most likely a bug, please report this via https://github.com/mapbox/mapbox-gl-js/issues/new?assignees=&labels=&template=Bug_report.md\nand paste the contents of this message in the report.\nThank you!\nFilter Expression:\n${JSON.stringify(n,null,2)}\n `)}const r=VA[`filter_${t}`],o=jA(i,r);let s=null;if("error"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(", "));s=(e,t,n)=>o.value.evaluate(e,t,{},n);let a=null,l=null;if(i!==n){const e=jA(n,r);if("error"===e.result)throw new Error(e.value.map((e=>`${e.key}: ${e.message}`)).join(", "));a=(t,n,i,r,o)=>e.value.evaluate(t,n,{},i,void 0,void 0,r,o),l=!gS(e.value.expression)}return{filter:s,dynamicFilter:a||void 0,needGeometry:YA(i),needFeature:!!l}}function UA(e){if(!Array.isArray(e))return e;const t=function(e){if(KA.has(e[0]))for(let t=1;t<e.length;t++)if(ZA(e[t]))return!0;return e}(e);return!0===t?t:t.map((e=>UA(e)))}function $A(e){let t=!1;const n=[];if("case"===e[0]){for(let i=1;i<e.length-1;i+=2)t=t||ZA(e[i]),n.push(e[i+1]);n.push(e[e.length-1])}else if("match"===e[0]){t=t||ZA(e[1]);for(let t=2;t<e.length-1;t+=2)n.push(e[t+1]);n.push(e[e.length-1])}else if("step"===e[0]){t=t||ZA(e[1]);for(let t=1;t<e.length-1;t+=2)n.push(e[t+1])}t&&(e.length=0,e.push("any",...n));for(let t=1;t<e.length;t++)$A(e[t])}function ZA(e){if(!Array.isArray(e))return!1;if("pitch"===(t=e[0])||"distance-from-center"===t)return!0;var t;for(let t=1;t<e.length;t++)if(ZA(e[t]))return!0;return!1}const KA=new Set(["in","==","!=",">",">=","<","<=","to-boolean"]);function XA(e,t){return e<t?-1:e>t?1:0}function YA(e){if(!Array.isArray(e))return!1;if("within"===e[0])return!0;for(let t=1;t<e.length;t++)if(YA(e[t]))return!0;return!1}function QA(e){if(!e)return!0;const t=e[0];return e.length<=1?"any"!==t:"=="===t?JA(e[1],e[2],"=="):"!="===t?nE(JA(e[1],e[2],"==")):"<"===t||">"===t||"<="===t||">="===t?JA(e[1],e[2],t):"any"===t?(n=e.slice(1),["any"].concat(n.map(QA))):"all"===t?["all"].concat(e.slice(1).map(QA)):"none"===t?["all"].concat(e.slice(1).map(QA).map(nE)):"in"===t?eE(e[1],e.slice(2)):"!in"===t?nE(eE(e[1],e.slice(2))):"has"===t?tE(e[1]):"!has"===t?nE(tE(e[1])):"within"!==t||e;var n}function JA(e,t,n){switch(e){case"$type":return[`filter-type-${n}`,t];case"$id":return[`filter-id-${n}`,t];default:return[`filter-${n}`,e,t]}}function eE(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some((e=>typeof e!=typeof t[0]))?["filter-in-large",e,["literal",t.sort(XA)]]:["filter-in-small",e,["literal",t]]}}function tE(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function nE(e){return["!",e]}var iE=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function rE(e,t){const n={};for(const t in e)"ref"!==t&&(n[t]=e[t]);return iE.forEach((e=>{e in t&&(n[e]=t[e])})),n}function oE(e){e=e.slice();const t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)"ref"in e[n]&&(e[n]=rE(e[n],t[e[n].ref]));return e}var sE={thin:100,hairline:100,"ultra-light":200,"extra-light":200,light:300,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,"extra-bold":800,"ultra-bold":800,heavy:900,black:900,"heavy-black":900,fat:900,poster:900,"ultra-black":950,"extra-black":950},aE=" ",lE=/(italic|oblique)$/i,cE={},uE=Gk((function(e,t,n){var i=cE[e];if(!i){Array.isArray(e)||(e=[e]);for(var r,o,s=400,a="normal",l=[],c=0,u=e.length;c<u;++c){var d=e[c].split(" "),h=d[d.length-1].toLowerCase();for(var p in"normal"==h||"italic"==h||"oblique"==h?(a=o?a:h,o=!0,d.pop(),h=d[d.length-1].toLowerCase()):lE.test(h)&&(h=h.replace(lE,""),a=o?a:d[d.length-1].replace(h,""),o=!0),sE){var f=d.length>1?d[d.length-2].toLowerCase():"";if(h==p||h==p.replace("-","")||f+"-"+h==p){s=r?s:sE[p],d.pop(),f&&p.startsWith(f)&&d.pop();break}}r||"number"!=typeof h||(s=h,r=!0);var _=d.join(aE).replace("Klokantech Noto Sans","Noto Sans");-1!==_.indexOf(aE)&&(_='"'+_+'"'),l.push(_)}i=cE[e]=[a,s,l]}return i[0]+aE+i[1]+aE+t+"px"+(n?"/"+n:"")+aE+i[2]}));const dE="https://api.mapbox.com";function hE(e){return 0!==e.indexOf("mapbox://")?"":e.slice(9)}function pE(e,t){const n=hE(e);if(!n)return decodeURI(new URL(e,location.href).href);if(0!==n.indexOf("styles/"))throw new Error(`unexpected style url: ${e}`);const i=n.slice(7);return`${dE}/styles/v1/${i}?&access_token=${t}`}function fE(e,t,n,i){const r=new URL(e,i),o=hE(e);return o?"mapbox.satellite"===o?`https://api.mapbox.com/v4/${o}/{z}/{x}/{y}${window.devicePixelRatio>=1.5?"@2x":""}.webp?access_token=${t}`:`https://{a-d}.tiles.mapbox.com/v4/${o}/{z}/{x}/{y}.vector.pbf?access_token=${t}`:t?(r.searchParams.has(n)||r.searchParams.set(n,t),decodeURI(r.href)):decodeURI(r.href)}const _E={},gE={};let mE=0;function yE(e){return e.id||(e.id=mE++),e.id}function vE(e){let t=_E[e.id];return t||(t={},_E[yE(e)]=t),t}function bE(e){return e*Math.PI/180}const xE=function(){const e=[];for(let t=78271.51696402048;e.length<=24;t/=2)e.push(t);return e}();function wE(e,t){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(e,t);const n=document.createElement("canvas");return n.width=e,n.height=t,n}function kE(e,t){let n=0;const i=t.length;for(;n<i;++n)if(t[n]<e&&n+1<i){const i=t[n]/t[n+1];return n+Math.log(t[n]/e)/Math.log(i)}return i-1}function CE(e,t){const n=Math.floor(e),i=Math.pow(2,e-n);return t[n]/i}const SE={};function AE(e,t,n={},i){if(t in SE)return i&&(i.request=SE[t][0]),SE[t][1];const r=n.transformRequest&&n.transformRequest(t,e)||t,o=Sl((()=>r)).then((e=>(e instanceof Request||(e=new Request(e)),e.headers.get("Accept")||e.headers.set("Accept","application/json"),i&&(i.request=e),fetch(e).then((function(e){return delete SE[t],e.ok?e.json():Promise.reject(new Error("Error fetching source "+t))})).catch((function(e){return delete SE[t],Promise.reject(new Error("Error fetching source "+t))})))));return SE[t]=[r,o],o}function EE(e,t){if("string"!=typeof e)return Promise.resolve(e);if(!e.trim().startsWith("{"))return AE("Style",e=pE(e,t.accessToken),t);try{const t=JSON.parse(e);return Promise.resolve(t)}catch(e){return Promise.reject(e)}}const ME={};function TE(e,t,n={}){const i=[t,JSON.stringify(e)].toString();let r=ME[i];if(!r||n.transformRequest){let o;n.transformRequest&&(o=(e,t)=>{const i=n.transformRequest&&n.transformRequest(t,"Tiles")||t;if(e instanceof Px)e.setLoader(((t,n,r)=>{Sl((()=>i)).then((n=>{fetch(n).then((e=>e.arrayBuffer())).then((n=>{const i=e.getFormat().readFeatures(n,{extent:t,featureProjection:r});e.setFeatures(i)})).catch((t=>e.setState(3)))}))}));else{const t=e.getImage();Sl((()=>i)).then((n=>{n instanceof Request?fetch(n).then((e=>e.blob())).then((e=>{const n=URL.createObjectURL(e);t.addEventListener("load",(()=>URL.revokeObjectURL(n))),t.addEventListener("error",(()=>URL.revokeObjectURL(n))),t.src=n})).catch((t=>e.setState(3))):t.src=n}))}});const s=e.url;if(s&&!e.tiles){const i=fE(s,n.accessToken,n.accessTokenParam||"access_token",t||location.href);if(s.startsWith("mapbox://"))r=Promise.resolve({tileJson:Object.assign({},e,{url:void 0,tiles:gx(i)}),tileLoadFunction:o});else{const e={};r=AE("Source",i,n,e).then((function(t){return t.tiles=t.tiles.map((function(i){return"tms"===t.scheme&&(i=i.replace("{y}","{-y}")),fE(i,n.accessToken,n.accessTokenParam||"access_token",e.request.url)})),Promise.resolve({tileJson:t,tileLoadFunction:o})}))}}else e=Object.assign({},e,{tiles:e.tiles.map((function(i){return"tms"===e.scheme&&(i=i.replace("{y}","{-y}")),fE(i,n.accessToken,n.accessTokenParam||"access_token",t||location.href)}))}),r=Promise.resolve({tileJson:Object.assign({},e),tileLoadFunction:o});ME[i]=r}return r}function PE(e,t,n,i){const r=[2*n*t.pixelRatio+t.width,2*n*t.pixelRatio+t.height],o=wE(r[0],r[1]),s=o.getContext("2d");s.drawImage(e,t.x,t.y,t.width,t.height,n*t.pixelRatio,n*t.pixelRatio,t.width,t.height);const a=s.getImageData(0,0,r[0],r[1]);s.globalCompositeOperation="destination-over",s.fillStyle=`rgba(${255*i.r},${255*i.g},${255*i.b},${i.a})`;const l=a.data;for(let e=0,i=a.width;e<i;++e)for(let r=0,o=a.height;r<o;++r)l[4*(r*i+e)+3]>0&&s.arc(e,r,n*t.pixelRatio,0,2*Math.PI);return s.fill(),o}function RE(e,t,n){const i=Math.max(0,Math.min(1,(n-e)/(t-e)));return i*i*(3-2*i)}function IE(e,t,n){const i=wE(t.width,t.height),r=i.getContext("2d");r.drawImage(e,t.x,t.y,t.width,t.height,0,0,t.width,t.height);const o=r.getImageData(0,0,t.width,t.height),s=o.data;for(let e=0,t=o.width;e<t;++e)for(let i=0,r=o.height;i<r;++i){const r=4*(i*t+e),o=.75,a=.1,l=RE(o-a,o+a,s[r+3]/255);l>0?(s[r+0]=Math.round(255*n.r*l),s[r+1]=Math.round(255*n.g*l),s[r+2]=Math.round(255*n.b*l),s[r+3]=Math.round(255*l)):s[r+3]=0}return r.putImageData(o,0,0),i}const LE=Array(256).join(" ");function zE(e,t){if(t>=.05){let n="";const i=e.split("\n"),r=LE.slice(0,Math.round(t/.1));for(let e=0,t=i.length;e<t;++e)e>0&&(n+="\n"),n+=i[e].split("").join(r);return n}return e}let OE;function FE(){return OE||(OE=wE(1,1).getContext("2d")),OE}function jE(e,t){return FE().measureText(e).width+(e.length-1)*t}const DE={};function NE(e,t,n,i){if(-1!==e.indexOf("\n")){const r=e.split("\n"),o=[];for(let e=0,s=r.length;e<s;++e)o.push(NE(r[e],t,n,i));return o.join("\n")}const r=n+","+t+","+e+","+i;let o=DE[r];if(!o){const s=e.split(" ");if(s.length>1){const e=FE();e.font=t;const r=e.measureText("M").width*n;let a="";const l=[];for(let e=0,t=s.length;e<t;++e){const t=s[e],n=a+(a?" ":"")+t;jE(n,i)<=r?a=n:(a&&l.push(a),a=t)}a&&l.push(a);for(let e=0,t=l.length;e<t&&t>1;++e){const n=l[e];if(jE(n,i)<.35*r){const r=e>0?jE(l[e-1],i):1/0,o=e<t-1?jE(l[e+1],i):1/0;l.splice(e,1),t-=1,r<o?(l[e-1]+=" "+n,e-=1):l[e]=n+" "+l[e]}}for(let e=0,t=l.length-1;e<t;++e){const n=l[e],o=l[e+1];if(jE(n,i)>.7*r&&jE(o,i)<.6*r){const s=n.split(" "),a=s.pop();jE(a,i)<.2*r&&(l[e]=s.join(" "),l[e+1]=a+" "+o),t-=1}}o=l.join("\n")}else o=e;o=zE(o,i),DE[r]=o}return o}const qE=/font-family: ?([^;]*);/,BE=/("|')/g;let GE;function VE(e){if(!GE){GE={};const e=document.styleSheets;for(let t=0,n=e.length;t<n;++t){const n=e[t];try{const e=n.rules||n.cssRules;if(e)for(let t=0,n=e.length;t<n;++t){const n=e[t];if(5==n.type){const e=n.cssText.match(qE);GE[e[1].replace(BE,"")]=!0}}}catch(e){}}}return e in GE}const HE={},WE={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},UE={center:[.5,.5],left:[0,.5],right:[1,.5],top:[.5,0],bottom:[.5,1],"top-left":[0,0],"top-right":[1,0],"bottom-left":[0,1],"bottom-right":[1,1]},$E={},ZE={zoom:0};let KE,XE;function YE(e,t,n,i,r,o,s){const a=e.id;o||(o={},console.warn("No functionCache provided to getValue()")),o[a]||(o[a]={});const l=o[a];if(!l[n]){let i=(e[t]||$E)[n];const r=VA[`${t}_${e.type}`][n];void 0===i&&(i=r.default);let o=(c=i,Array.isArray(c)&&c.length>0&&"string"==typeof c[0]&&c[0]in IA);if(!o&&OA(i)&&(i=function(e,t){let n=e.stops;if(!n)return function(e,t){const n=["get",e.property];if(void 0===e.default)return"string"===t.type?["string",n]:n;if("enum"===t.type)return["match",n,Object.keys(t.values),n,e.default];{const i=["color"===t.type?"to-color":t.type,n,Qk(e.default)];return"array"===t.type&&i.splice(1,0,t.value,t.length||null),i}}(e,t);const i=n&&"object"==typeof n[0][0],r=i||void 0!==e.property,o=i||!r;return n=n.map((e=>!r&&t.tokens&&"string"==typeof e[1]?[e[0],oC(e[1])]:[e[0],Qk(e[1])])),i?function(e,t,n){const i={},r={},o=[];for(let t=0;t<n.length;t++){const s=n[t],a=s[0].zoom;void 0===i[a]&&(i[a]={zoom:a,type:e.type,property:e.property,default:e.default},r[a]=[],o.push(a)),r[a].push([s[0].value,s[1]])}if("exponential"===rC({},t)){const n=[Jk(e),["linear"],["zoom"]];for(const e of o)iC(n,e,tC(i[e],t,r[e]),!1);return n}{const e=["step",["zoom"]];for(const n of o)iC(e,n,tC(i[n],t,r[n]),!0);return nC(e),e}}(e,t,n):o?function(e,t,n,i=["zoom"]){const r=rC(e,t);let o,s=!1;if("interval"===r)o=["step",i],s=!0;else{if("exponential"!==r)throw new Error(`Unknown zoom function type "${r}"`);{const t=void 0!==e.base?e.base:1;o=[Jk(e),1===t?["linear"]:["exponential",t],i]}}for(const e of n)iC(o,e[0],e[1],s);return nC(o),o}(e,t,n):tC(e,t,n)}(i,r),o=!0),o){const e=function(e,t){const n=qA(e,t);if("error"===n.result)throw new Error(n.value.map((e=>`${e.key}: ${e.message}`)).join(", "));return n.value}(i,r);l[n]=e.evaluate.bind(e)}else"color"==r.type&&(i=Yk.parse(i)),l[n]=function(){return i}}var c;return ZE.zoom=i,l[n](ZE,r,s)}function QE(e,t,n,i,r){return YE(e,"layout",`${i}-allow-overlap`,t,n,r)?YE(e,"layout",`${i}-ignore-placement`,t,n,r)?"none":"obstacle":"declutter"}function JE(e,t,n,i,r){return r||console.warn("No filterCache provided to evaluateFilter()"),e in r||(r[e]=WA(t).filter),ZE.zoom=i,r[e](ZE,n)}function eM(e,t){if(e){if(0===e.a||0===t)return;const n=e.a;return t=void 0===t?1:t,0===n?"transparent":"rgba("+Math.round(255*e.r/n)+","+Math.round(255*e.g/n)+","+Math.round(255*e.b/n)+","+n*t+")"}return e}const tM=/\{[^{}}]*\}/g;function nM(e,t){return e.replace(tM,(function(e){return t[e.slice(1,-1)]||""}))}const iM={};function rM(e,t,n,i=xE,r=void 0,o=void 0,s=void 0,a=void 0){if("string"==typeof t&&(t=JSON.parse(t)),8!=t.version)throw new Error("glStyle version 8 required.");let l,c,u;if(iM[function(e,t){return yE(e)+"."+Vl(t)}(t,e)]=Array.from(arguments),o)if("undefined"!=typeof Image){const t=new Image;let n;Sl((()=>o)).then((e=>{e instanceof Request?fetch(e).then((e=>e.blob())).then((e=>{n=URL.createObjectURL(e),t.src=n})).catch((()=>{})):(t.crossOrigin="anonymous",t.src=e,n&&URL.revokeObjectURL(n))})),t.onload=function(){l=t,c=[t.width,t.height],e.changed(),t.onload=null}}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){const e=self;e.postMessage({action:"loadImage",src:o}),e.addEventListener("message",(function(e){"imageLoaded"===e.data.action&&e.data.src===o&&(l=e.data.image,c=[l.width,l.height])}))}const d=oE(t.layers),h={},p=[],f={},_={},g=vE(t),m=function(e){let t=gE[e.id];return t||(t={},gE[yE(e)]=t),t}(t);let y;for(let e=0,i=d.length;e<i;++e){const i=d[e],r=i.id;if("string"==typeof n&&i.source==n||Array.isArray(n)&&-1!==n.indexOf(r)){const n=i["source-layer"];if(y){if(i.source!==y)throw new Error(`Layer "${r}" does not use source "${y}`)}else{y=i.source;const e=t.sources[y];if(!e)throw new Error(`Source "${y}" is not defined`);const n=e.type;if("vector"!==n&&"geojson"!==n)throw new Error(`Source "${y}" is not of type "vector" or "geojson", but "${n}"`)}let o=h[n];o||(o=[],h[n]=o),o.push({layer:i,index:e}),p.push(r)}}const v=new xh,b=new vh,x=[],w=function(n,o,d){const p=n.getProperties(),y=h[p.layer];if(!y)return;let w=i.indexOf(o);-1==w&&(w=kE(o,i));const k=WE[n.getGeometry().getType()],C={id:n.getId(),properties:p,type:k},S=e.get("mapbox-featurestate")[n.getId()];let A,E=-1;for(let i=0,h=y.length;i<h;++i){const h=y[i],M=h.layer,T=M.id;if(void 0!==d&&d!==T)continue;const P=M.layout||$E,R=M.paint||$E;if("none"===P.visibility||"minzoom"in M&&w<M.minzoom||"maxzoom"in M&&w>=M.maxzoom)continue;const I=M.filter;if(!I||JE(T,I,C,w,m)){let i,d,m,y,T,I;A=M;const L=h.index;if(3==k&&("fill"==M.type||"fill-extrusion"==M.type))if(d=YE(M,"paint",M.type+"-opacity",w,C,g,S),M.type+"-pattern"in R){const e=YE(M,"paint",M.type+"-pattern",w,C,g,S);if(e){const t="string"==typeof e?nM(e,p):e.toString();if(l&&r&&r[t]){++E,I=x[E],I&&I.getFill()&&!I.getStroke()&&!I.getText()||(I=new Eh({fill:new vh}),x[E]=I),m=I.getFill(),I.setZIndex(L);const e=t+"."+d;let n=_[e];if(!n){const i=r[t],o=wE(i.width,i.height),s=o.getContext("2d");s.globalAlpha=d,s.drawImage(l,i.x,i.y,i.width,i.height,0,0,i.width,i.height),n=s.createPattern(o,"repeat"),_[e]=n}m.setColor(n)}}}else i=eM(YE(M,"paint",M.type+"-color",w,C,g,S),d),M.type+"-outline-color"in R&&(T=eM(YE(M,"paint",M.type+"-outline-color",w,C,g,S),d)),T||(T=i),(i||T)&&(++E,I=x[E],(!I||i&&!I.getFill()||!i&&I.getFill()||T&&!I.getStroke()||!T&&I.getStroke()||I.getText())&&(I=new Eh({fill:i?new vh:void 0,stroke:T?new xh:void 0}),x[E]=I),i&&(m=I.getFill(),m.setColor(i)),T&&(y=I.getStroke(),y.setColor(T),y.setWidth(.5)),I.setZIndex(L));if(1!=k&&"line"==M.type){i="line-pattern"in R?void 0:eM(YE(M,"paint","line-color",w,C,g,S),YE(M,"paint","line-opacity",w,C,g,S));const e=YE(M,"paint","line-width",w,C,g,S);i&&e>0&&(++E,I=x[E],I&&I.getStroke()&&!I.getFill()&&!I.getText()||(I=new Eh({stroke:new xh}),x[E]=I),y=I.getStroke(),y.setLineCap(YE(M,"layout","line-cap",w,C,g,S)),y.setLineJoin(YE(M,"layout","line-join",w,C,g,S)),y.setMiterLimit(YE(M,"layout","line-miter-limit",w,C,g,S)),y.setColor(i),y.setWidth(e),y.setLineDash(R["line-dasharray"]?YE(M,"paint","line-dasharray",w,C,g,S).map((function(t){return t*e})):null),I.setZIndex(L))}let z,O,F,j,D,N,q,B,G,V=!1,H=null,W=0;if((1==k||2==k)&&"icon-image"in P){const t=YE(M,"layout","icon-image",w,C,g,S);if(t){let i;z="string"==typeof t?nM(t,p):t.toString();const s=a?a(e,z):void 0;if(l&&r&&r[z]||s){const e=YE(M,"layout","icon-rotation-alignment",w,C,g,S);if(2==k){const t=n.getGeometry();if(t.getFlatMidpoint||t.getFlatMidpoints){const n=t.getExtent();if(Math.sqrt(Math.max(Math.pow((n[2]-n[0])/o,2),Math.pow((n[3]-n[1])/o,2)))>150){const n="MultiLineString"===t.getType()?t.getFlatMidpoints():t.getFlatMidpoint();if(XE||(KE=[NaN,NaN],XE=new Tx("Point",KE,[],2,{},void 0)),i=XE,KE[0]=n[0],KE[1]=n[1],"line"===YE(M,"layout","symbol-placement",w,C,g,S)&&"map"===e){const e=t.getStride(),i=t.getFlatCoordinates();for(let t=0,r=i.length-e;t<r;t+=e){const r=i[t],o=i[t+1],s=i[t+e],a=i[t+e+1],l=Math.min(r,s),c=Math.min(o,a),u=Math.max(r,s),d=Math.max(o,a);if(n[0]>=l&&n[0]<=u&&n[1]>=c&&n[1]<=d){W=Math.atan2(o-a,s-r);break}}}}}}if(2!==k||i){const t=YE(M,"layout","icon-size",w,C,g,S),n=void 0!==R["icon-color"]?YE(M,"paint","icon-color",w,C,g,S):null;if(!n||0!==n.a){const i=YE(M,"paint","icon-halo-color",w,C,g,S),o=YE(M,"paint","icon-halo-width",w,C,g,S);let a=`${z}.${t}.${o}.${i}`;if(null!==n&&(a+=`.${n}`),O=f[a],!O){const d=QE(M,w,C,"icon",g);let h;"icon-offset"in P&&(h=YE(M,"layout","icon-offset",w,C,g,S).slice(0),h[0]*=t,h[1]*=-t);let p=n?[255*n.r,255*n.g,255*n.b,n.a]:void 0;if(s){const n={color:p,rotateWithView:"map"===e,displacement:h,declutterMode:d,scale:t};"string"==typeof s?n.src=s:(n.img=s,n.imgSize=[s.width,s.height]),O=new Ph(n)}else{const s=r[z];let a,f,_;o?s.sdf?(a=PE(IE(l,s,n||[0,0,0,1]),{x:0,y:0,width:s.width,height:s.height,pixelRatio:s.pixelRatio},o,i),p=void 0):a=PE(l,s,o,i):(s.sdf?(u||(u=IE(l,{x:0,y:0,width:c[0],height:c[1]},{r:1,g:1,b:1,a:1})),a=u):a=l,f=[s.width,s.height],_=[s.x,s.y]),O=new Ph({color:p,img:a,imgSize:c,size:f,offset:_,rotateWithView:"map"===e,scale:t/s.pixelRatio,displacement:h,declutterMode:d})}f[a]=O}}O&&(++E,I=x[E],I&&I.getImage()&&!I.getFill()&&!I.getStroke()||(I=new Eh,x[E]=I),I.setGeometry(i),O.setRotation(W+bE(YE(M,"layout","icon-rotate",w,C,g,S))),O.setOpacity(YE(M,"paint","icon-opacity",w,C,g,S)),O.setAnchor(UE[YE(M,"layout","icon-anchor",w,C,g,S)]),I.setImage(O),H=I.getText(),I.setText(void 0),I.setZIndex(L),V=!0,F=!1)}else F=!0}}}if(1==k&&"circle"===M.type){++E,I=x[E],I&&I.getImage()&&!I.getFill()&&!I.getStroke()||(I=new Eh,x[E]=I);const e="circle-radius"in R?YE(M,"paint","circle-radius",w,C,g,S):5,t=eM(YE(M,"paint","circle-stroke-color",w,C,g,S),YE(M,"paint","circle-stroke-opacity",w,C,g,S)),n=YE(M,"paint","circle-translate",w,C,g,S),i=eM(YE(M,"paint","circle-color",w,C,g,S),YE(M,"paint","circle-opacity",w,C,g,S)),r=YE(M,"paint","circle-stroke-width",w,C,g,S),o=e+"."+t+"."+i+"."+r+"."+n[0]+"."+n[1];O=f[o],O||(O=new mh({radius:e,displacement:[n[0],-n[1]],stroke:t&&r>0?new xh({width:r,color:t}):void 0,fill:i?new vh({color:i}):void 0,declutterMode:"none"}),f[o]=O),I.setImage(O),H=I.getText(),I.setText(void 0),I.setGeometry(void 0),I.setZIndex(L),V=!0}if("text-field"in P){q=Math.round(YE(M,"layout","text-size",w,C,g,S));const e=YE(M,"layout","text-font",w,C,g,S);N=YE(M,"layout","text-line-height",w,C,g,S),D=uE(s?s(e,t.metadata?t.metadata["ol:webfonts"]:void 0):e,q,N),D.includes("sans-serif")||(D+=",sans-serif"),B=YE(M,"layout","text-letter-spacing",w,C,g,S),G=YE(M,"layout","text-max-width",w,C,g,S);const n=YE(M,"layout","text-field",w,C,g,S);j="object"==typeof n&&n.sections?1===n.sections.length?n.toString():n.sections.reduce(((t,n,i)=>{const r=n.fontStack?n.fontStack.split(","):e,o=uE(s?s(r):r,q*(n.scale||1),N);let a=n.text;if("\n"===a)return t.push("\n",""),t;if(2!=k){a=NE(a,o,G,B).split("\n");for(let e=0,n=a.length;e<n;++e)e>0&&t.push("\n",""),t.push(a[e],o);return t}t.push(zE(a,B),o)}),[]):nM(n,p).trim(),d=YE(M,"paint","text-opacity",w,C,g,S)}if(j&&d&&!F){V||(++E,I=x[E],I&&I.getText()&&!I.getFill()&&!I.getStroke()||(I=new Eh,x[E]=I),I.setImage(void 0),I.setGeometry(void 0));const e=QE(M,w,C,"text",g);I.getText()||I.setText(H),H=I.getText(),(!H||"getDeclutterMode"in H&&H.getDeclutterMode()!==e)&&(H=new Ih({padding:[2,2,2,2],declutterMode:e}),I.setText(H));const t=YE(M,"layout","text-transform",w,C,g,S);"uppercase"==t?j=Array.isArray(j)?j.map(((e,t)=>t%2?e:e.toUpperCase())):j.toUpperCase():"lowercase"==t&&(j=Array.isArray(j)?j.map(((e,t)=>t%2?e:e.toLowerCase())):j.toLowerCase());const n=Array.isArray(j)?j:2==k?zE(j,B):NE(j,D,G,B);H.setText(n),H.setFont(D),H.setRotation(bE(YE(M,"layout","text-rotate",w,C,g,S)));const i=YE(M,"layout","text-anchor",w,C,g,S),r=V||1==k?"point":YE(M,"layout","symbol-placement",w,C,g,S);let o;if("line-center"===r?(H.setPlacement("line"),o="center"):H.setPlacement(r),"line"===r&&"function"==typeof H.setRepeat){const e=YE(M,"layout","symbol-spacing",w,C,g,S);H.setRepeat(2*e)}H.setOverflow("point"===r);let s=YE(M,"paint","text-halo-width",w,C,g,S);const a=YE(M,"layout","text-offset",w,C,g,S),l=YE(M,"paint","text-translate",w,C,g,S);let c=0,u=0;if("point"==r){o="center",-1!==i.indexOf("left")?(o="left",u=s):-1!==i.indexOf("right")&&(o="right",u=-s);const e=YE(M,"layout","text-rotation-alignment",w,C,g,S);H.setRotateWithView("map"==e)}else H.setMaxAngle(bE(YE(M,"layout","text-max-angle",w,C,g,S))*j.length/n.length),H.setRotateWithView(!1);H.setTextAlign(o);let h="middle";0==i.indexOf("bottom")?(h="bottom",c=-s-.5*(N-1)*q):0==i.indexOf("top")&&(h="top",c=s+.5*(N-1)*q),H.setTextBaseline(h);const p=YE(M,"layout","text-justify",w,C,g,S);H.setJustify("auto"===p?void 0:p),H.setOffsetX(a[0]*q+u+l[0]),H.setOffsetY(a[1]*q+c+l[1]),b.setColor(eM(YE(M,"paint","text-color",w,C,g,S),d)),H.setFill(b);const f=eM(YE(M,"paint","text-halo-color",w,C,g,S),d);if(f&&s>0){v.setColor(f),s*=2;const e=.5*q;v.setWidth(s<=e?s:e),H.setStroke(v)}else H.setStroke(void 0);const _=YE(M,"layout","text-padding",w,C,g,S),m=H.getPadding();_!==m[0]&&(m[0]=_,m[1]=_,m[2]=_,m[3]=_),I.setZIndex(L)}}}return E>-1?(x.length=E+1,x):void 0};return e.setStyle(w),e.set("mapbox-source",y),e.set("mapbox-layers",p),e.set("mapbox-featurestate",e.get("mapbox-featurestate")||{}),w}function oM(e,t){const n=e[0],i=n.width,r=n.height,o=n.data,s=new Uint8ClampedArray(o.length),a=2*t.resolution,l=i-1,c=r-1,u=[0,0,0,0],d=2*Math.PI,h=Math.PI/2,p=Math.PI*t.sunEl/180,f=Math.PI*t.sunAz/180,_=Math.cos(p),g=Math.sin(p),m=t.highlightColor,y=t.shadowColor,v=t.accentColor,b=t.encoding;let x,w,k,C,S,A,E,M,T,P,R,I,L,z,O,F,j,D,N,q,B,G;function V(e,t="mapbox"){return"mapbox"===t?.1*(256*e[0]*256+256*e[1]+e[2])-1e4:"terrarium"===t?256*e[0]+e[1]+e[2]/256-32768:void 0}for(w=0;w<=c;++w)for(S=0===w?0:w-1,A=w===c?c:w+1,x=0;x<=l;++x)k=0===x?0:x-1,C=x===l?l:x+1,E=4*(w*i+k),u[0]=o[E],u[1]=o[E+1],u[2]=o[E+2],u[3]=o[E+3],M=t.vert*V(u,b),E=4*(w*i+C),u[0]=o[E],u[1]=o[E+1],u[2]=o[E+2],u[3]=o[E+3],T=t.vert*V(u,b),P=(T-M)/a,E=4*(S*i+x),u[0]=o[E],u[1]=o[E+1],u[2]=o[E+2],u[3]=o[E+3],M=t.vert*V(u,b),E=4*(A*i+x),u[0]=o[E],u[1]=o[E+1],u[2]=o[E+2],u[3]=o[E+3],T=t.vert*V(u,b),R=(T-M)/a,L=Math.atan2(R,-P),L=L<0?h-L:L>h?d-L+h:h-L,I=Math.atan(Math.sqrt(P*P+R*R)),G=g*Math.cos(I)+_*Math.sin(I)*Math.cos(f-L),z=Math.cos(I),O=255*G,N=Math.min(Math.max(2*t.sunEl,0),1),q=1.875-1.75*t.opacity,B=.5!==t.opacity?h*((Math.pow(q,I)-1)/(Math.pow(q,h)-1)):I,j={r:(1-z)*v.r*N*255,g:(1-z)*v.g*N*255,b:(1-z)*v.b*N*255,a:(1-z)*v.a*N*255},F=Math.abs(((L+f)/Math.PI+.5)%2-1),D={r:(m.r*(1-F)+y.r*F)*O,g:(m.g*(1-F)+y.g*F)*O,b:(m.b*(1-F)+y.b*F)*O,a:(m.a*(1-F)+y.a*F)*O},E=4*(w*i+x),s[E]=j.r*(1-F)+D.r,s[E+1]=j.g*(1-F)+D.g,s[E+2]=j.b*(1-F)+D.b,s[E+3]=o[E+3]*t.opacity*N*Math.sin(B);return new ImageData(s,i,r)}function sM(e,t=512){return e.getExtent()?ax({extent:e.getExtent(),tileSize:t,maxZoom:22}).getResolutions():xE}function aM(e,t){return t.accessToken||(t=Object.assign({},t),new URL(e).searchParams.forEach(((e,n)=>{t.accessToken=e,t.accessTokenParam=n}))),t}const lM={};function cM(e,t){let n;return e.some((function(e){if(e.id==t)return n=e.source,!0})),n}function uM(e,t,n){const i=new Fw({tileJSON:t,tileSize:e.tileSize||t.tileSize||512}),r=i.getTileJSON(),o=i.getTileGrid(),s=Ga(n.projection||"EPSG:3857"),a=function(e,t){const n=e.bounds;if(n){const e=Ua([n[0],n[1]],t),i=Ua([n[2],n[3]],t);return[e[0],e[1],i[0],i[1]]}return Ga(t).getExtent()}(r,s),l=s.getExtent(),c=r.minzoom||0,u=r.maxzoom||22,d={attributions:i.getAttributions(),projection:s,tileGrid:new ox({origin:l?ca(l):o.getOrigin(0),extent:a||o.getExtent(),minZoom:c,resolutions:sM(s,t.tileSize).slice(0,u+1),tileSize:o.getTileSize(0)})};return Array.isArray(r.tiles)?d.urls=r.tiles:d.url=r.tiles,d}function dM(e,t,n){const i=document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new zu({source:new ix({}),render(r){const o=function(e,t,n,i){const r={id:e.id,type:e.type},o=e.layout||{},s=e.paint||{};r.paint=s;const a=kE(t,n.resolutions||xE);let l;const c=YE(r,"paint","background-color",a,lM,i);return void 0!==s["background-opacity"]&&(l=YE(r,"paint","background-opacity",a,lM,i)),"none"==o.visibility?void 0:eM(c,l)}(e,r.viewState.resolution,t,n);return i.style.backgroundColor=o,i}})}function hM(e,t,n){return new Promise((function(i,r){TE(e,t,n).then((function({tileJson:t,tileLoadFunction:r}){const o=uM(e,t,n);o.tileLoadFunction=r,o.format=new xw,i(new qk(o))})).catch(r)}))}function pM(e){return`{bbox-${(e?e.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function fM(e,t,n){const i=new tx;return function(e,t,n){return new Promise((function(i,r){TE(e,t,n).then((function({tileJson:t,tileLoadFunction:r}){const o=new Fw({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:t});o.tileGrid=uM(e,t,n).tileGrid,n.projection&&(o.projection=Ga(n.projection));const s=o.getTileUrlFunction();r&&o.setTileLoadFunction(r),o.setTileUrlFunction((function(e,t,n){const i=pM(n);let r=s(e,t,n);if(-1!=r.indexOf(i)){const t=o.getTileGrid().getTileCoordExtent(e);r=r.replace(i,t.toString())}return r})),o.set("mapbox-source",e),i(o)})).catch((function(e){r(e)}))}))}(e,t,n).then((function(e){i.setSource(e)})).catch((function(){i.setSource(void 0)})),i}function _M(e,t,n){const i=n.projection?new Qx({dataProjection:n.projection}):new Qx,r=e.data,o={};if("string"==typeof r){const o=fE(r,n.accessToken,n.accessTokenParam||"access_token",t||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(o)){const t=(e,t,n)=>{const i=pM(n);return o.replace(i,`${e.join(",")}`)},r=new Lk({attributions:e.attribution,format:i,loader:(e,i,o,s,a)=>{AE("GeoJSON","function"==typeof t?t(e,i,o):t,n).then((e=>{const t=r.getFormat().readFeatures(e,{featureProjection:o});r.addFeatures(t),s(t)})).catch((t=>{r.removeLoadedExtent(e),a()}))},strategy:Tk});return r.set("mapbox-source",e),r}const s=new Lk({attributions:e.attribution,format:i,url:o,loader:(e,t,i,r,a)=>{AE("GeoJSON",o,n).then((e=>{const t=s.getFormat().readFeatures(e,{featureProjection:i});s.addFeatures(t),r(t)})).catch((t=>{s.removeLoadedExtent(e),a()}))}});return s}o.features=i.readFeatures(r,{featureProjection:el()||"EPSG:3857"});const s=new Lk(Object.assign({attributions:e.attribution,format:i},o));return s.set("mapbox-source",e),s}function gM(e,t,n,i){const r=vE(e),o=e.layers,s=n.type,a=n.source||cM(o,n.ref),l=e.sources[a];let c;if("background"==s)c=dM(n,i,r);else if("vector"==l.type)c=function(e,t,n){const i=new jk({declutter:!0,visible:!1});return hM(e,t,n).then((function(t){t.set("mapbox-source",e),i.setSource(t)})).catch((function(e){i.setSource(void 0)})),i}(l,t,i);else if("raster"==l.type)c=fM(l,t,i),c.setVisible(!n.layout||"none"!==n.layout.visibility),c.on("prerender",function(e,t,n){let i=null;return function(r){e.paint&&"raster-opacity"in e.paint&&r.frameState.viewState.zoom!==i&&(i=r.frameState.viewState.zoom,delete n[e.id],function(e,t,n,i){const r=YE(e,"paint","raster-opacity",n,lM,i);t.setOpacity(r)}(e,t,i,n))}}(n,c,r));else if("geojson"==l.type)c=function(e,t,n){return new Ck({declutter:!0,source:_M(e,t,n),visible:!1})}(l,t,i);else if("raster-dem"==l.type&&"hillshade"==n.type){const e=function(e,t,n){const i=fM(e,t,n);return new tw({source:new Ow({operationType:"image",operation:oM,sources:[i]})})}(l,t,i);c=e,e.getSource().on("beforeoperations",(function(e){const t=e.data;t.resolution=Va(i.projection||"EPSG:3857",e.resolution,ra(e.extent),"m");const o=kE(e.resolution,i.resolutions||xE);t.encoding=l.encoding,t.vert=5*YE(n,"paint","hillshade-exaggeration",o,lM,r),t.sunAz=YE(n,"paint","hillshade-illumination-direction",o,lM,r),t.sunEl=35,t.opacity=.3,t.highlightColor=YE(n,"paint","hillshade-highlight-color",o,lM,r),t.shadowColor=YE(n,"paint","hillshade-shadow-color",o,lM,r),t.accentColor=YE(n,"paint","hillshade-accent-color",o,lM,r)})),c.setVisible(!n.layout||"none"!==n.layout.visibility)}const u=a;return c&&c.set("mapbox-source",u),c}function mM(e,t,n,i){const r=[];let o=null;if(t instanceof N_){if(o=t.getView(),!o.isDef()&&!o.getRotation()&&!o.getResolutions()){const e=i.projection?Ga(i.projection):o.getProjection();o=new Iu(Object.assign(o.getProperties(),{maxResolution:xE[0]/xs[e.getUnits()],projection:i.projection||o.getProjection()})),t.setView(o)}"center"in e&&!o.getCenter()&&o.setCenter(Ua(e.center,o.getProjection())),"zoom"in e&&void 0===o.getZoom()&&o.setResolution(xE[0]/xs[o.getProjection().getUnits()]/Math.pow(2,e.zoom)),o.getCenter()&&void 0!==o.getZoom()||o.fit(o.getProjection().getExtent(),{nearest:!0,size:t.getSize()})}t.set("mapbox-style",e),t.set("mapbox-metadata",{styleUrl:n,options:i});const s=e.layers;let a,l,c,u=[];for(let o=0,d=s.length;o<d;++o){const d=s[o],h=d.type;"heatmap"!=h?(c=d.source||cM(s,d.ref),c&&c==l||(u.length&&(r.push(yM(a,u,e,n,t,i)),u=[]),a=gM(e,n,d,i),a instanceof Ck||a instanceof jk||(u=[]),l=a.get("mapbox-source")),u.push(d.id)):console.debug(`layers[${o}].type "${h}" not supported`)}return r.push(yM(a,u,e,n,t,i)),Promise.all(r)}function yM(e,t,n,i,r,o={}){let s=24,a=0;const l=n.layers;for(let e=0,n=l.length;e<n;++e){const n=l[e];-1!==t.indexOf(n.id)&&(s=Math.min("minzoom"in n?n.minzoom:0,s),a=Math.max("maxzoom"in n?n.maxzoom:24,a))}return new Promise((function(l,c){const u=function(){const u=e.getSource();if(u&&"error"!==u.getState()){if("getTileGrid"in u){const t=u.getTileGrid();if(t){const n=t.getMinZoom();(s>0||n>0)&&e.setMaxResolution(Math.min(CE(Math.max(0,s-1e-12),xE),CE(Math.max(0,n-1e-12),t.getResolutions()))),a<24&&e.setMinResolution(CE(a,xE))}}else s>0&&e.setMaxResolution(CE(Math.max(0,s-1e-12),xE));u instanceof Lk||u instanceof qk?function(e,t,n="",i={},r){let o,s,a,l,c=!0;return"string"==typeof n||Array.isArray(n)?l=n:(a=n,l=a.source||a.layers,i=a),"string"==typeof i?(o=i,a={}):(o=i.styleUrl,a=i),!1===a.updateSource&&(c=!1),r||(r=a.resolutions),o||"string"!=typeof t||t.trim().startsWith("{")||(o=t),o&&(o=o.startsWith("data:")?location.href:pE(o,a.accessToken),a=aM(o,a)),new Promise((function(n,i){EE(t,a).then((function(t){if(8!=t.version)return i(new Error("glStyle version 8 required."));if(!(e instanceof Ck||e instanceof jk))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const u=e instanceof jk?"vector":"geojson";if(l?s=Array.isArray(l)?t.layers.find((function(e){return e.id===l[0]})).source:l:(s=Object.keys(t.sources).find((function(e){return t.sources[e].type===u})),l=s),!s)return i(new Error(`No ${u} source found in the glStyle.`));function d(){if(!c)return Promise.resolve();if(e instanceof jk)return hM(t.sources[s],o,a).then((function(t){const n=e.getSource();n?t!==n&&(n.setTileUrlFunction(t.getTileUrlFunction()),"function"==typeof n.setUrls&&"function"==typeof t.getUrls&&n.setUrls(t.getUrls()),n.format_||(n.format_=t.format_),n.getAttributions()||n.setAttributions(t.getAttributions()),n.getTileLoadFunction()===Bk&&n.setTileLoadFunction(t.getTileLoadFunction()),Za(n.getProjection(),t.getProjection())&&(n.tileGrid=t.getTileGrid())):e.setSource(t);const i=e.getSource().getTileGrid();!isFinite(e.getMaxResolution())&&!isFinite(e.getMinZoom())&&i.getMinZoom()>0&&e.setMaxResolution(CE(Math.max(0,i.getMinZoom()-1e-12),i.getResolutions()))}));const n=t.sources[s];let i=e.getSource();i&&i.get("mapbox-source")===n||(i=_M(n,o,a));const r=e.getSource();return r?i!==r&&(r.getAttributions()||r.setAttributions(i.getAttributions()),r.format_||(r.format_=i.getFormat()),r.url_=i.getUrl()):e.setSource(i),Promise.resolve()}let h,p,f,_;function g(){if(_||t.sprite&&!p)_?(e.setStyle(_),d().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const e=Ga(a.projection).getUnits();"m"!==e&&(r=xE.map((t=>t/xs[e])))}_=rM(e,t,l,r,p,f,((e,t=a.webfonts)=>function(e,t="https://cdn.jsdelivr.net/npm/@fontsource/{font-family}/{fontweight}{-fontstyle}.css"){const n=e.toString();if(n in HE)return HE[n];const i=[];for(let t=0,n=e.length;t<n;++t){e[t]=e[t].replace("Arial Unicode MS","Arial");const n=e[t],r=uE(n,1);ch(r);const o=r.split(" ");i.push([o.slice(3).join(" ").replace(/"/g,""),o[1],o[0]])}for(let e=0,n=i.length;e<n;++e){const n=i[e],r=n[0];if(!VE(r)&&100!==oh.get(`${n[2]}\n${n[1]} \n${r}`)){const e=t.replace("{font-family}",r.replace(/ /g,"-").toLowerCase()).replace("{Font+Family}",r.replace(/ /g,"+")).replace("{fontweight}",n[1]).replace("{-fontstyle}",n[2].replace("normal","").replace(/(.+)/,"-$1")).replace("{fontstyle}",n[2]);if(!document.querySelector('link[href="'+e+'"]')){const t=document.createElement("link");t.href=e,t.rel="stylesheet",document.head.appendChild(t)}}}return HE[n]=e,e}(e,t)),a.getImage),e.getStyle()?d().then(n).catch(i):i(new Error(`Nothing to show for source [${s}]`))}}if(t.sprite){const e=new URL(function(e,t,n){const i=hE(e);if(!i)return decodeURI(new URL(e,n).href);if(0!==i.indexOf("sprites/"))throw new Error(`unexpected sprites url: ${e}`);const r=i.slice(8);return`${dE}/styles/v1/${r}/sprite?access_token=${t}`}(t.sprite,a.accessToken,o||location.href));h=window.devicePixelRatio>=1.5?.5:1;const n=.5==h?"@2x":"";let r=e.origin+e.pathname+n+".json"+e.search;new Promise((function(t,n){AE("Sprite",r,a).then(t).catch((function(i){r=e.origin+e.pathname+".json"+e.search,AE("Sprite",r,a).then(t).catch(n)}))})).then((function(t){if(void 0===t&&i(new Error("No sprites found.")),p=t,f=e.origin+e.pathname+n+".png"+e.search,a.transformRequest){const e=a.transformRequest(f,"SpriteImage")||f;(e instanceof Request||e instanceof Promise)&&(f=e)}g()})).catch((function(e){i(new Error(`Sprites cannot be loaded: ${r}: ${e.message}`))}))}else g()})).catch(i)}))}(e,n,t,Object.assign({styleUrl:i},o)).then((function(){!function(e,t){function n(){const n=t.get("mapbox-style");if(!n)return;const i=oE(n.layers),r=e.get("mapbox-layers"),o=i.filter((function(e){return r.includes(e.id)})).some((function(e){return!e.layout||!e.layout.visibility||"visible"===e.layout.visibility}));e.get("visible")!==o&&e.setVisible(o)}e.on("change",n),n()}(e,r),l()})).catch(c):l()}else c(new Error("Error accessing data for source "+e.get("mapbox-source")))};e.set("mapbox-layers",t);const d=r.getLayers();-1===d.getArray().indexOf(e)&&d.push(e),e.getSource()?u():e.once("change:source",u)}))}function vM(e){e.getLayers().getArray().filter((e=>e.get("mapbox-source")||e.get("background-raster-layer"))).forEach((t=>e.removeLayer(t)))}const bM=[0,0,0,0],xM=[],wM="modifyend";class kM extends pl{constructor(e,t,n){super(e),this.features=t,this.mapBrowserEvent=n}}function CM(e,t){return e.index-t.index}function SM(e,t,n){const i=t.geometry;if("Circle"===i.getType()){let r=i;if(1===t.index){const t=el();t&&(r=r.clone().transform(t,n));const i=Pa(r.getCenter(),nl(e)),o=Math.sqrt(i)-r.getRadius();return o*o}}const r=nl(e);return xM[0]=nl(t.segment[0]),xM[1]=nl(t.segment[1]),function(e,t){return Pa(e,Ea(e,t))}(r,xM)}function AM(e,t,n){const i=t.geometry;if("Circle"===i.getType()&&1===t.index){let t=i;const r=el();return r&&(t=t.clone().transform(r,n)),tl(t.getClosestPoint(nl(e)))}const r=nl(e);return xM[0]=nl(t.segment[0]),xM[1]=nl(t.segment[1]),tl(Ea(r,xM))}function EM(){const e=Sh();return function(t,n){return e.Point}}const MM=class extends a_{constructor(e){let t;if(super(e),this.on,this.once,this.un,this.boundHandleFeatureChange_=this.handleFeatureChange_.bind(this),this.condition_=e.condition?e.condition:b_,this.defaultDeleteCondition_=function(e){return function(e){const t=e.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey}(e)&&__(e)},this.deleteCondition_=e.deleteCondition?e.deleteCondition:this.defaultDeleteCondition_,this.insertVertexCondition_=e.insertVertexCondition?e.insertVertexCondition:d_,this.vertexFeature_=null,this.vertexSegments_=null,this.lastPixel_=[0,0],this.ignoreNextSingleClick_=!1,this.featuresBeingModified_=null,this.rBush_=new Sk,this.pixelTolerance_=void 0!==e.pixelTolerance?e.pixelTolerance:10,this.snappedToVertex_=!1,this.changingFeature_=!1,this.dragSegments_=[],this.overlay_=new Ck({source:new Lk({useSpatialIndex:!1,wrapX:!!e.wrapX}),style:e.style?e.style:EM(),updateWhileAnimating:!0,updateWhileInteracting:!0}),this.SEGMENT_WRITERS_={Point:this.writePointGeometry_.bind(this),LineString:this.writeLineStringGeometry_.bind(this),LinearRing:this.writeLineStringGeometry_.bind(this),Polygon:this.writePolygonGeometry_.bind(this),MultiPoint:this.writeMultiPointGeometry_.bind(this),MultiLineString:this.writeMultiLineStringGeometry_.bind(this),MultiPolygon:this.writeMultiPolygonGeometry_.bind(this),Circle:this.writeCircleGeometry_.bind(this),GeometryCollection:this.writeGeometryCollectionGeometry_.bind(this)},this.source_=null,this.hitDetection_=null,e.features?t=e.features:e.source&&(this.source_=e.source,t=new Xl(this.source_.getFeatures()),this.source_.addEventListener(Ak,this.handleSourceAdd_.bind(this)),this.source_.addEventListener(Ek,this.handleSourceRemove_.bind(this))),!t)throw new Error("The modify interaction requires features, a source or a layer");e.hitDetection&&(this.hitDetection_=e.hitDetection),this.features_=t,this.features_.forEach(this.addFeature_.bind(this)),this.features_.addEventListener(Ul,this.handleFeatureAdd_.bind(this)),this.features_.addEventListener($l,this.handleFeatureRemove_.bind(this)),this.lastPointerEvent_=null,this.delta_=[0,0],this.snapToPointer_=void 0===e.snapToPointer?!this.hitDetection_:e.snapToPointer}addFeature_(e){const t=e.getGeometry();if(t){const n=this.SEGMENT_WRITERS_[t.getType()];n&&n(e,t)}const n=this.getMap();n&&n.isRendered()&&this.getActive()&&this.handlePointerAtPixel_(this.lastPixel_,n),e.addEventListener(Tl,this.boundHandleFeatureChange_)}willModifyFeatures_(e,t){if(!this.featuresBeingModified_){this.featuresBeingModified_=new Xl;const n=this.featuresBeingModified_.getArray();for(let e=0,i=t.length;e<i;++e){const i=t[e];for(let e=0,t=i.length;e<t;++e){const t=i[e].feature;t&&!n.includes(t)&&this.featuresBeingModified_.push(t)}}0===this.featuresBeingModified_.getLength()?this.featuresBeingModified_=null:this.dispatchEvent(new kM("modifystart",this.featuresBeingModified_,e))}}removeFeature_(e){this.removeFeatureSegmentData_(e),this.vertexFeature_&&0===this.features_.getLength()&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),e.removeEventListener(Tl,this.boundHandleFeatureChange_)}removeFeatureSegmentData_(e){const t=this.rBush_,n=[];t.forEach((function(t){e===t.feature&&n.push(t)}));for(let e=n.length-1;e>=0;--e){const i=n[e];for(let e=this.dragSegments_.length-1;e>=0;--e)this.dragSegments_[e][0]===i&&this.dragSegments_.splice(e,1);t.remove(i)}}setActive(e){this.vertexFeature_&&!e&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),super.setActive(e)}setMap(e){this.overlay_.setMap(e),super.setMap(e)}getOverlay(){return this.overlay_}handleSourceAdd_(e){e.feature&&this.features_.push(e.feature)}handleSourceRemove_(e){e.feature&&this.features_.remove(e.feature)}handleFeatureAdd_(e){this.addFeature_(e.element)}handleFeatureChange_(e){if(!this.changingFeature_){const t=e.target;this.removeFeature_(t),this.addFeature_(t)}}handleFeatureRemove_(e){this.removeFeature_(e.element)}writePointGeometry_(e,t){const n=t.getCoordinates(),i={feature:e,geometry:t,segment:[n,n]};this.rBush_.insert(t.getExtent(),i)}writeMultiPointGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length;i<r;++i){const r=n[i],o={feature:e,geometry:t,depth:[i],index:i,segment:[r,r]};this.rBush_.insert(t.getExtent(),o)}}writeLineStringGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length-1;i<r;++i){const r=n.slice(i,i+2),o={feature:e,geometry:t,index:i,segment:r};this.rBush_.insert(js(r),o)}}writeMultiLineStringGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length;i<r;++i){const r=n[i];for(let n=0,o=r.length-1;n<o;++n){const o=r.slice(n,n+2),s={feature:e,geometry:t,depth:[i],index:n,segment:o};this.rBush_.insert(js(o),s)}}}writePolygonGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length;i<r;++i){const r=n[i];for(let n=0,o=r.length-1;n<o;++n){const o=r.slice(n,n+2),s={feature:e,geometry:t,depth:[i],index:n,segment:o};this.rBush_.insert(js(o),s)}}}writeMultiPolygonGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length;i<r;++i){const r=n[i];for(let n=0,o=r.length;n<o;++n){const o=r[n];for(let r=0,s=o.length-1;r<s;++r){const s=o.slice(r,r+2),a={feature:e,geometry:t,depth:[n,i],index:r,segment:s};this.rBush_.insert(js(s),a)}}}}writeCircleGeometry_(e,t){const n=t.getCenter(),i={feature:e,geometry:t,index:0,segment:[n,n]},r={feature:e,geometry:t,index:1,segment:[n,n]},o=[i,r];i.featureSegments=o,r.featureSegments=o,this.rBush_.insert($s(n),i);let s=t;const a=el();if(a&&this.getMap()){const e=this.getMap().getView().getProjection();s=s.clone().transform(a,e),s=Mu(s).transform(e,a)}this.rBush_.insert(s.getExtent(),r)}writeGeometryCollectionGeometry_(e,t){const n=t.getGeometriesArray();for(let t=0;t<n.length;++t){const i=n[t];(0,this.SEGMENT_WRITERS_[i.getType()])(e,i)}}createOrUpdateVertexFeature_(e,t,n){let i=this.vertexFeature_;return i?i.getGeometry().setCoordinates(e):(i=new vb(new lu(e)),this.vertexFeature_=i,this.overlay_.getSource().addFeature(i)),i.set("features",t),i.set("geometries",n),i}handleEvent(e){if(!e.originalEvent)return!0;let t;return this.lastPointerEvent_=e,e.map.getView().getInteracting()||e.type!=Df.POINTERMOVE||this.handlingDownUpSequence||this.handlePointerMove_(e),this.vertexFeature_&&this.deleteCondition_(e)&&(t=!(e.type!=Df.SINGLECLICK||!this.ignoreNextSingleClick_)||this.removePoint()),e.type==Df.SINGLECLICK&&(this.ignoreNextSingleClick_=!1),super.handleEvent(e)&&!t}handleDragEvent(e){this.ignoreNextSingleClick_=!1,this.willModifyFeatures_(e,this.dragSegments_);const t=[e.coordinate[0]+this.delta_[0],e.coordinate[1]+this.delta_[1]],n=[],i=[];for(let r=0,o=this.dragSegments_.length;r<o;++r){const o=this.dragSegments_[r],s=o[0],a=s.feature;n.includes(a)||n.push(a);const l=s.geometry;i.includes(l)||i.push(l);const c=s.depth;let u;const d=s.segment,h=o[1];for(;t.length<l.getStride();)t.push(d[h][t.length]);switch(l.getType()){case"Point":u=t,d[0]=t,d[1]=t;break;case"MultiPoint":u=l.getCoordinates(),u[s.index]=t,d[0]=t,d[1]=t;break;case"LineString":u=l.getCoordinates(),u[s.index+h]=t,d[h]=t;break;case"MultiLineString":case"Polygon":u=l.getCoordinates(),u[c[0]][s.index+h]=t,d[h]=t;break;case"MultiPolygon":u=l.getCoordinates(),u[c[1]][c[0]][s.index+h]=t,d[h]=t;break;case"Circle":if(d[0]=t,d[1]=t,0===s.index)this.changingFeature_=!0,l.setCenter(t),this.changingFeature_=!1;else{this.changingFeature_=!0;const n=e.map.getView().getProjection();let i=Ra(nl(l.getCenter()),nl(t));const r=el();if(r){const e=l.clone().transform(r,n);e.setRadius(i),i=e.transform(n,r).getRadius()}l.setRadius(i),this.changingFeature_=!1}}u&&this.setGeometryCoordinates_(l,u)}this.createOrUpdateVertexFeature_(t,n,i)}handleDownEvent(e){if(!this.condition_(e))return!1;const t=e.coordinate;this.handlePointerAtPixel_(e.pixel,e.map,t),this.dragSegments_.length=0,this.featuresBeingModified_=null;const n=this.vertexFeature_;if(n){const i=e.map.getView().getProjection(),r=[],o=n.getGeometry().getCoordinates(),s=js([o]),a=this.rBush_.getInExtent(s),l={};a.sort(CM);for(let n=0,s=a.length;n<s;++n){const s=a[n],c=s.segment;let u=Vl(s.geometry);const d=s.depth;if(d&&(u+="-"+d.join("-")),l[u]||(l[u]=new Array(2)),"Circle"!==s.geometry.getType()||1!==s.index)if(!Ma(c[0],o)||l[u][0])if(!Ma(c[1],o)||l[u][1])Vl(c)in this.vertexSegments_&&!l[u][0]&&!l[u][1]&&this.insertVertexCondition_(e)&&r.push(s);else{if(l[u][0]&&0===l[u][0].index){let e=s.geometry.getCoordinates();switch(s.geometry.getType()){case"LineString":case"MultiLineString":continue;case"MultiPolygon":e=e[d[1]];case"Polygon":if(s.index!==e[d[0]].length-2)continue}}this.dragSegments_.push([s,1]),l[u][1]=s}else this.dragSegments_.push([s,0]),l[u][0]=s;else Ma(AM(t,s,i),o)&&!l[u][0]&&(this.dragSegments_.push([s,0]),l[u][0]=s)}r.length&&this.willModifyFeatures_(e,[r]);for(let e=r.length-1;e>=0;--e)this.insertVertex_(r[e],o)}return!!this.vertexFeature_}handleUpEvent(e){for(let t=this.dragSegments_.length-1;t>=0;--t){const n=this.dragSegments_[t][0],i=n.geometry;if("Circle"===i.getType()){const t=i.getCenter(),r=n.featureSegments[0],o=n.featureSegments[1];r.segment[0]=t,r.segment[1]=t,o.segment[0]=t,o.segment[1]=t,this.rBush_.update($s(t),r);let s=i;const a=el();if(a){const t=e.map.getView().getProjection();s=s.clone().transform(a,t),s=Mu(s).transform(t,a)}this.rBush_.update(s.getExtent(),o)}else this.rBush_.update(js(n.segment),n)}return this.featuresBeingModified_&&(this.dispatchEvent(new kM(wM,this.featuresBeingModified_,e)),this.featuresBeingModified_=null),!1}handlePointerMove_(e){this.lastPixel_=e.pixel,this.handlePointerAtPixel_(e.pixel,e.map,e.coordinate)}handlePointerAtPixel_(e,t,n){const i=n||t.getCoordinateFromPixel(e),r=t.getView().getProjection(),o=function(e,t){return SM(i,e,r)-SM(i,t,r)};let s,a;if(this.hitDetection_){const n="object"==typeof this.hitDetection_?e=>e===this.hitDetection_:void 0;t.forEachFeatureAtPixel(e,((e,t,n)=>{n&&"Point"===n.getType()&&(n=new lu(tl(n.getCoordinates())));const i=n||e.getGeometry();if(e instanceof vb&&this.features_.getArray().includes(e)){a=i;const t=e.getGeometry().getFlatCoordinates().slice(0,2);s=[{feature:e,geometry:a,segment:[t,t]}]}return!0}),{layerFilter:n})}if(!s){const e=il(Ds(rl($s(i,bM)),t.getView().getResolution()*this.pixelTolerance_,bM));s=this.rBush_.getInExtent(e)}if(s&&s.length>0){const n=s.sort(o)[0],l=n.segment;let c=AM(i,n,r);const u=t.getPixelFromCoordinate(c);let d=Ra(e,u);if(a||d<=this.pixelTolerance_){const e={};if(e[Vl(l)]=!0,this.snapToPointer_||(this.delta_[0]=c[0]-i[0],this.delta_[1]=c[1]-i[1]),"Circle"===n.geometry.getType()&&1===n.index)this.snappedToVertex_=!0,this.createOrUpdateVertexFeature_(c,[n.feature],[n.geometry]);else{const i=t.getPixelFromCoordinate(l[0]),r=t.getPixelFromCoordinate(l[1]),o=Pa(u,i),a=Pa(u,r);d=Math.sqrt(Math.min(o,a)),this.snappedToVertex_=d<=this.pixelTolerance_,this.snappedToVertex_&&(c=o>a?l[1]:l[0]),this.createOrUpdateVertexFeature_(c,[n.feature],[n.geometry]);const h={};h[Vl(n.geometry)]=!0;for(let t=1,n=s.length;t<n;++t){const n=s[t].segment;if(!(Ma(l[0],n[0])&&Ma(l[1],n[1])||Ma(l[0],n[1])&&Ma(l[1],n[0])))break;{const i=Vl(s[t].geometry);i in h||(h[i]=!0,e[Vl(n)]=!0)}}}return void(this.vertexSegments_=e)}}this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null)}insertVertex_(e,t){const n=e.segment,i=e.feature,r=e.geometry,o=e.depth,s=e.index;let a;for(;t.length<r.getStride();)t.push(0);switch(r.getType()){case"MultiLineString":case"Polygon":a=r.getCoordinates(),a[o[0]].splice(s+1,0,t);break;case"MultiPolygon":a=r.getCoordinates(),a[o[1]][o[0]].splice(s+1,0,t);break;case"LineString":a=r.getCoordinates(),a.splice(s+1,0,t);break;default:return}this.setGeometryCoordinates_(r,a);const l=this.rBush_;l.remove(e),this.updateSegmentIndices_(r,s,o,1);const c={segment:[n[0],t],feature:i,geometry:r,depth:o,index:s};l.insert(js(c.segment),c),this.dragSegments_.push([c,1]);const u={segment:[t,n[1]],feature:i,geometry:r,depth:o,index:s+1};l.insert(js(u.segment),u),this.dragSegments_.push([u,0]),this.ignoreNextSingleClick_=!0}removePoint(){if(this.lastPointerEvent_&&this.lastPointerEvent_.type!=Df.POINTERDRAG){const e=this.lastPointerEvent_;this.willModifyFeatures_(e,this.dragSegments_);const t=this.removeVertex_();return this.featuresBeingModified_&&this.dispatchEvent(new kM(wM,this.featuresBeingModified_,e)),this.featuresBeingModified_=null,t}return!1}removeVertex_(){const e=this.dragSegments_,t={};let n,i,r,o,s,a,l,c,u,d,h,p=!1;for(s=e.length-1;s>=0;--s)r=e[s],d=r[0],h=Vl(d.feature),d.depth&&(h+="-"+d.depth.join("-")),h in t||(t[h]={}),0===r[1]?(t[h].right=d,t[h].index=d.index):1==r[1]&&(t[h].left=d,t[h].index=d.index+1);for(h in t){switch(u=t[h].right,l=t[h].left,a=t[h].index,c=a-1,d=void 0!==l?l:u,c<0&&(c=0),o=d.geometry,i=o.getCoordinates(),n=i,p=!1,o.getType()){case"MultiLineString":i[d.depth[0]].length>2&&(i[d.depth[0]].splice(a,1),p=!0);break;case"LineString":i.length>2&&(i.splice(a,1),p=!0);break;case"MultiPolygon":n=n[d.depth[1]];case"Polygon":n=n[d.depth[0]],n.length>4&&(a==n.length-1&&(a=0),n.splice(a,1),p=!0,0===a&&(n.pop(),n.push(n[0]),c=n.length-1))}if(p){this.setGeometryCoordinates_(o,i);const t=[];if(void 0!==l&&(this.rBush_.remove(l),t.push(l.segment[0])),void 0!==u&&(this.rBush_.remove(u),t.push(u.segment[1])),void 0!==l&&void 0!==u){const e={depth:d.depth,feature:d.feature,geometry:d.geometry,index:c,segment:t};this.rBush_.insert(js(e.segment),e)}this.updateSegmentIndices_(o,a,d.depth,-1),this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),e.length=0}}return p}setGeometryCoordinates_(e,t){this.changingFeature_=!0,e.setCoordinates(t),this.changingFeature_=!1}updateSegmentIndices_(e,t,n,i){this.rBush_.forEachInExtent(e.getExtent(),(function(r){r.geometry===e&&(void 0===n||void 0===r.depth||bl(r.depth,n))&&r.index>t&&(r.index+=i)}))}};function TM({color:e,number:t,size:n=0}){return`<svg aria-hidden="true" focusable="false" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 658" width="${n}" height="${n}" style="stroke: none; fill: ${function(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)throw new Error("invalid hex color: "+e);return`rgb(${parseInt(t[1],16)}, ${parseInt(t[2],16)}, ${parseInt(t[3],16)})`}(e)};">\n <path d="M 172.968 632.025 C 26.97 291.031 0 269.413 0 192 C 0 85.961 85.961 0 192 0 S 384 85.961 384 192 C 384 269.413 357.03 291.031 213 632 C 193.781 667.361 192.57 667.361 172.968 632.025 Z"/>${void 0===t?'<path d="M192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z" fill="white" />':'<circle cx="192" cy="190" r="120" fill="white" />'}<text x="50%" y="40%" text-anchor="middle" style="font-size: 180px" fill="black">${void 0!==t?t:""}</text></svg>`}function PM(e){e.getLayers().getArray().filter((e=>e.get("gh:query_points"))).forEach((t=>e.removeLayer(t)))}function RM(e){e.getInteractions().getArray().filter((e=>e.get("gh:drag_query_point"))).forEach((t=>e.removeInteraction(t)))}class IM extends pl{constructor(e,t,n,i){super(e),this.selected=t,this.deselected=n,this.mapBrowserEvent=i}}const LM={};class zM extends r_{constructor(e){let t;if(super(),this.on,this.once,this.un,e=e||{},this.boundAddFeature_=this.addFeature_.bind(this),this.boundRemoveFeature_=this.removeFeature_.bind(this),this.condition_=e.condition?e.condition:__,this.addCondition_=e.addCondition?e.addCondition:f_,this.removeCondition_=e.removeCondition?e.removeCondition:f_,this.toggleCondition_=e.toggleCondition?e.toggleCondition:m_,this.multi_=!!e.multi&&e.multi,this.filter_=e.filter?e.filter:xl,this.hitTolerance_=e.hitTolerance?e.hitTolerance:0,this.style_=void 0!==e.style?e.style:function(){const e=Sh();return vl(e.Polygon,e.LineString),vl(e.GeometryCollection,e.LineString),function(t){return t.getGeometry()?e[t.getGeometry().getType()]:null}}(),this.features_=e.features||new Xl,e.layers)if("function"==typeof e.layers)t=e.layers;else{const n=e.layers;t=function(e){return n.includes(e)}}else t=xl;this.layerFilter_=t,this.featureLayerAssociation_={}}addFeatureLayerAssociation_(e,t){this.featureLayerAssociation_[Vl(e)]=t}getFeatures(){return this.features_}getHitTolerance(){return this.hitTolerance_}getLayer(e){return this.featureLayerAssociation_[Vl(e)]}setHitTolerance(e){this.hitTolerance_=e}setMap(e){this.getMap()&&this.style_&&this.features_.forEach(this.restorePreviousStyle_.bind(this)),super.setMap(e),e?(this.features_.addEventListener(Ul,this.boundAddFeature_),this.features_.addEventListener($l,this.boundRemoveFeature_),this.style_&&this.features_.forEach(this.applySelectedStyle_.bind(this))):(this.features_.removeEventListener(Ul,this.boundAddFeature_),this.features_.removeEventListener($l,this.boundRemoveFeature_))}addFeature_(e){const t=e.element;if(this.style_&&this.applySelectedStyle_(t),!this.getLayer(t)){const e=this.getMap().getAllLayers().find((function(e){if(e instanceof Ck&&e.getSource()&&e.getSource().hasFeature(t))return e}));e&&this.addFeatureLayerAssociation_(t,e)}}removeFeature_(e){this.style_&&this.restorePreviousStyle_(e.element)}getStyle(){return this.style_}applySelectedStyle_(e){const t=Vl(e);t in LM||(LM[t]=e.getStyle()),e.setStyle(this.style_)}restorePreviousStyle_(e){const t=this.getMap().getInteractions().getArray();for(let n=t.length-1;n>=0;--n){const i=t[n];if(i!==this&&i instanceof zM&&i.getStyle()&&-1!==i.getFeatures().getArray().lastIndexOf(e))return void e.setStyle(i.getStyle())}const n=Vl(e);e.setStyle(LM[n]),delete LM[n]}removeFeatureLayerAssociation_(e){delete this.featureLayerAssociation_[Vl(e)]}handleEvent(e){if(!this.condition_(e))return!0;const t=this.addCondition_(e),n=this.removeCondition_(e),i=this.toggleCondition_(e),r=!t&&!n&&!i,o=e.map,s=this.getFeatures(),a=[],l=[];if(r){Al(this.featureLayerAssociation_),o.forEachFeatureAtPixel(e.pixel,((e,t)=>{if(e instanceof vb&&this.filter_(e,t))return this.addFeatureLayerAssociation_(e,t),l.push(e),!this.multi_}),{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let e=s.getLength()-1;e>=0;--e){const t=s.item(e),n=l.indexOf(t);n>-1?l.splice(n,1):(s.remove(t),a.push(t))}0!==l.length&&s.extend(l)}else{o.forEachFeatureAtPixel(e.pixel,((e,r)=>{if(e instanceof vb&&this.filter_(e,r))return!t&&!i||s.getArray().includes(e)?(n||i)&&s.getArray().includes(e)&&(a.push(e),this.removeFeatureLayerAssociation_(e)):(this.addFeatureLayerAssociation_(e,r),l.push(e)),!this.multi_}),{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let e=a.length-1;e>=0;--e)s.remove(a[e]);s.extend(l)}return(l.length>0||a.length>0)&&this.dispatchEvent(new IM("select",l,a,e)),!0}}const OM=zM,FM="pathsLayer",jM="selectedPathLayer",DM="accessNetworkLayer";function NM(e){e.getLayers().getArray().filter((e=>e.get(FM)||e.get(jM)||e.get(DM))).forEach((t=>e.removeLayer(t)))}function qM(e,t){const n=[],i=[(e[0]+t[0])/2,(e[1]+t[1])/2],r=Ra(e,t)/2,o=Math.atan2(e[1]-i[1],e[0]-i[0]),s=Math.atan2(t[1]-i[1],t[0]-i[0]),a=[i[0]+.5*r*Math.sin(o+.5*(s-o)),i[1]+.5*r*Math.cos(o+.5*(s-o))];n.push(e);for(let i=0;i<=1;i+=.1){const r=[(1-i)*(1-i)*e[0]+2*i*(1-i)*a[0]+i*i*t[0],(1-i)*(1-i)*e[1]+2*i*(1-i)*a[1]+i*i*t[1]];n.push(r)}return n.push(t),new Lx(n)}const BM="element",GM="map",VM="offset",HM="position",WM="positioning",UM=class extends Wl{constructor(e){super(),this.on,this.once,this.un,this.options=e,this.id=e.id,this.insertFirst=void 0===e.insertFirst||e.insertFirst,this.stopEvent=void 0===e.stopEvent||e.stopEvent,this.element=document.createElement("div"),this.element.className=void 0!==e.className?e.className:"ol-overlay-container ol-selectable",this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=!0===e.autoPan?{}:e.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(BM,this.handleElementChanged),this.addChangeListener(GM,this.handleMapChanged),this.addChangeListener(VM,this.handleOffsetChanged),this.addChangeListener(HM,this.handlePositionChanged),this.addChangeListener(WM,this.handlePositioningChanged),void 0!==e.element&&this.setElement(e.element),this.setOffset(void 0!==e.offset?e.offset:[0,0]),this.setPositioning(e.positioning||"top-left"),void 0!==e.position&&this.setPosition(e.position)}getElement(){return this.get(BM)}getId(){return this.id}getMap(){return this.get(GM)||null}getOffset(){return this.get(VM)}getPosition(){return this.get(HM)}getPositioning(){return this.get(WM)}handleElementChanged(){Od(this.element);const e=this.getElement();e&&this.element.appendChild(e)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),Dl(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const e=this.getMap();if(e){this.mapPostrenderListenerKey=Fl(e,Bf,this.render,this),this.updatePixelPosition();const t=this.stopEvent?e.getOverlayContainerStopEvent():e.getOverlayContainer();this.insertFirst?t.insertBefore(this.element,t.childNodes[0]||null):t.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(e){this.set(BM,e)}setMap(e){this.set(GM,e)}setOffset(e){this.set(VM,e)}setPosition(e){this.set(HM,e)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(e){const t=this.getMap();if(!t||!t.getTargetElement()||!this.get(HM))return;const n=this.getRect(t.getTargetElement(),t.getSize()),i=this.getElement(),r=this.getRect(i,[Id(i),Ld(i)]),o=void 0===(e=e||{}).margin?20:e.margin;if(!Gs(n,r)){const i=r[0]-n[0],s=n[2]-r[2],a=r[1]-n[1],l=n[3]-r[3],c=[0,0];if(i<0?c[0]=i-o:s<0&&(c[0]=Math.abs(s)+o),a<0?c[1]=a-o:l<0&&(c[1]=Math.abs(l)+o),0!==c[0]||0!==c[1]){const n=t.getView().getCenterInternal(),i=t.getPixelFromCoordinateInternal(n);if(!i)return;const r=[i[0]+c[0],i[1]+c[1]],o=e.animation||{};t.getView().animateInternal({center:t.getCoordinateFromPixelInternal(r),duration:o.duration,easing:o.easing})}}}getRect(e,t){const n=e.getBoundingClientRect(),i=n.left+window.pageXOffset,r=n.top+window.pageYOffset;return[i,r,i+t[0],r+t[1]]}setPositioning(e){this.set(WM,e)}setVisible(e){this.rendered.visible!==e&&(this.element.style.display=e?"":"none",this.rendered.visible=e)}updatePixelPosition(){const e=this.getMap(),t=this.getPosition();if(!e||!e.isRendered()||!t)return void this.setVisible(!1);const n=e.getPixelFromCoordinate(t),i=e.getSize();this.updateRenderedPosition(n,i)}updateRenderedPosition(e,t){const n=this.element.style,i=this.getOffset(),r=this.getPositioning();this.setVisible(!0);let o="0%",s="0%";"bottom-right"==r||"center-right"==r||"top-right"==r?o="-100%":"bottom-center"!=r&&"center-center"!=r&&"top-center"!=r||(o="-50%"),"bottom-left"==r||"bottom-center"==r||"bottom-right"==r?s="-100%":"center-left"!=r&&"center-center"!=r&&"center-right"!=r||(s="-50%");const a=`translate(${o}, ${s}) translate(${Math.round(e[0]+i[0])+"px"}, ${Math.round(e[1]+i[1])+"px"})`;this.rendered.transform_!=a&&(this.rendered.transform_=a,n.transform=a)}getOptions(){return this.options}};var $M=n(4825),ZM={};ZM.styleTagTransform=x(),ZM.setAttributes=m(),ZM.insert=_().bind(null,"head"),ZM.domAPI=p(),ZM.insertStyleElement=v(),d()($M.A,ZM);const KM=$M.A&&$M.A.locals?$M.A.locals:void 0;function XM({coordinate:t,queryPoints:n,route:i,onSelect:r}){const o=function(e,t){r(),Ii.dispatch(new zi({...e,coordinate:t,queryText:mr(t),isInitialized:!0},!1))},s=n.length>=2&&n[1].isInitialized;return(0,e.jsxs)("div",{className:KM.wrapper,onMouseUp:e=>{const t=new MouseEvent("click",{bubbles:!0});t.stopPropagation=()=>{},e.target.dispatchEvent(t)},children:[(0,e.jsxs)("button",{className:KM.entry,onClick:()=>o(n[0],t),children:[(0,e.jsx)("div",{children:(0,e.jsx)(K_,{size:16,color:Ir.getMarkerColor(Pr.From)})}),(0,e.jsx)("span",{children:l("set_start")})]}),(0,e.jsxs)("button",{className:KM.entry,disabled:function(e){const t=e.filter((e=>e.type===Pr.Via));return 0!==t.length&&t.every((e=>!e.isInitialized))}(n),onClick:()=>function(e,n){const i=e.filter((e=>e.type===Pr.Via)),s=i.find((e=>!e.isInitialized));if(r(),s)o(s,t);else{const e=function(e,t){if(e.length<1||e.some((e=>e.coordinates.length<2||e.wayPoints.length<2||e.wayPoints.length>e.coordinates.length)))throw new Error("Invalid input when trying to find the next way point");let n=Number.MAX_VALUE,i=0,r=0;return e.forEach(((e,o)=>{let s=0;e.coordinates.forEach((a=>{Sr(a,e.wayPoints[s])<1&&(s=Math.min(e.wayPoints.length-1,s+1));const l=Sr(a,t);l<n&&(n=l,i=o,r=s==e.wayPoints.length?s-1:s)}))})),{closestRoute:i,nextWayPoint:r,distance:n}}(n.routingResult.paths.map((e=>({coordinates:e.points.coordinates.map((e=>({lat:e[1],lng:e[0]}))),wayPoints:e.snapped_waypoints.coordinates.map((e=>({lat:e[1],lng:e[0]})))}))),t).nextWayPoint;Ii.dispatch(new Fi(e,t,!0,!1))}}(n,i),children:[(0,e.jsx)("div",{children:(0,e.jsx)(K_,{size:16,color:Ir.getMarkerColor(Pr.Via)})}),(0,e.jsx)("span",{children:l("set_intermediate")})]}),(0,e.jsxs)("button",{style:s?{}:{paddingBottom:"10px"},className:KM.entry,onClick:()=>o(n[n.length-1],t),children:[(0,e.jsx)("div",{children:(0,e.jsx)(K_,{size:16,color:Ir.getMarkerColor(Pr.To)})}),(0,e.jsx)("span",{children:l("set_end")})]}),s&&(0,e.jsxs)("button",{style:{paddingBottom:"10px"},className:KM.entry,onClick:()=>function(e){r(),Ii.dispatch(new Fi(n.length,e,!0,!1))}(t),children:[(0,e.jsx)("div",{children:(0,e.jsx)(K_,{size:16,color:Ir.getMarkerColor(Pr.To),number:"+"})}),(0,e.jsx)("span",{children:l("add_to_route")})]}),(0,e.jsx)("button",{style:{borderTop:"1px solid lightgray",paddingTop:"10px"},className:KM.entry,onClick:()=>{n.length>0&&Ii.dispatch(new zi(n[0],!0))},children:(0,e.jsx)("span",{children:l("zoom_to_route")})}),(0,e.jsx)("button",{className:KM.entry,onClick:()=>{r(),Ii.dispatch(new tr(t))},children:l("center_map")}),(0,e.jsx)("button",{className:KM.entry,onClick:()=>{r(),window.open(`https://www.openstreetmap.org/query?lat=${t.lat}&lon=${t.lng}`,"_blank","noopener,noreferrer")},children:l("query_osm")})]})}var YM=n(8766),QM={};QM.styleTagTransform=x(),QM.setAttributes=m(),QM.insert=_().bind(null,"head"),QM.domAPI=p(),QM.insertStyleElement=v(),d()(YM.A,QM);const JM=YM.A&&YM.A.locals?YM.A.locals:void 0,eT=new UM({autoPan:!0});function tT({map:t,route:n,queryPoints:i}){const[r,o]=(0,c.useState)(null),s=(0,c.useRef)(null),a=e=>{e.preventDefault();const n=$a(t.getEventCoordinate(e));o({lng:n[0],lat:n[1]})},l=()=>{o(null)};return(0,c.useEffect)((()=>{eT.setElement(s.current),t.addOverlay(eT);const e=new nT((e=>a(e)));function n(){t.getTargetElement().addEventListener("contextmenu",a),t.getTargetElement().addEventListener("touchstart",(t=>e.onTouchStart(t))),t.getTargetElement().addEventListener("touchmove",(()=>e.onTouchEnd())),t.getTargetElement().addEventListener("touchend",(()=>e.onTouchEnd())),t.getTargetElement().addEventListener("click",l)}return t.on("change:target",n),()=>{t.getTargetElement().removeEventListener("contextmenu",a),t.getTargetElement().removeEventListener("click",l),t.removeOverlay(eT),t.un("change:target",n)}}),[t]),(0,c.useEffect)((()=>{eT.setPosition(r?Ua([r.lng,r.lat]):void 0)}),[r]),(0,e.jsx)("div",{className:JM.contextMenu,ref:s,children:r&&(0,e.jsx)(XM,{coordinate:r,queryPoints:i,route:n,onSelect:l})})}class nT{constructor(e){this.currentTimeout=0,this.callback=e}onTouchStart(e){this.currentEvent=e,this.currentTimeout=window.setTimeout((()=>{console.log("long touch"),this.currentEvent&&this.callback(this.currentEvent)}),500)}onTouchEnd(){console.log("touch end"),window.clearTimeout(this.currentTimeout),this.currentEvent=void 0}}const iT="highlightedPathSegmentLayer";function rT(e){e.getLayers().getArray().filter((e=>e.get(iT))).forEach((t=>e.removeLayer(t)))}function oT(e){return{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiLineString",coordinates:e.map((e=>e.map((e=>Ua([e.lng,e.lat])))))},properties:{}}]}}const sT="urbanDensityLayer";function aT(e){e.getLayers().getArray().filter((e=>e.get(sT))).forEach((t=>e.removeLayer(t)))}const lT="borderLayer";function cT(e){e.getLayers().getArray().filter((e=>e.get(lT))).forEach((t=>e.removeLayer(t)))}var uT=n(9799),dT={};dT.styleTagTransform=x(),dT.setAttributes=m(),dT.insert=_().bind(null,"head"),dT.domAPI=p(),dT.insertStyleElement=v(),d()(uT.A,dT);const hT=uT.A&&uT.A.locals?uT.A.locals:void 0;function pT({map:t,coordinate:n,children:i}){const[r,o]=(0,c.useState)(),s=(0,c.useRef)(null);return(0,c.useEffect)((()=>{const e=new UM({element:s.current,autoPan:!1});o(e),t.addOverlay(e)}),[t]),(0,c.useEffect)((()=>{null==r||r.setPosition(n?Ua([n.lng,n.lat]):void 0)}),[n]),(0,e.jsx)("div",{ref:s,children:i})}function fT({map:t,pathDetails:n}){const i=(0,c.useContext)(Or);return(0,e.jsx)(pT,{map:t,coordinate:n.pathDetailsPoint?n.pathDetailsPoint.point:null,children:(0,e.jsx)("div",{className:hT.popup,children:n.pathDetailsPoint&&(0,e.jsxs)("p",{children:[pr(Math.round(n.pathDetailsPoint.elevation),i.showDistanceInMiles,!0),(0,e.jsx)("br",{}),n.pathDetailsPoint.description]})})})}var _T=n(7508),gT={};gT.styleTagTransform=x(),gT.setAttributes=m(),gT.insert=_().bind(null,"head"),gT.domAPI=p(),gT.insertStyleElement=v(),d()(_T.A,gT);const mT=_T.A&&_T.A.locals?_T.A.locals:void 0;function yT({map:t,properties:n,coordinate:i}){return(0,e.jsx)(pT,{map:t,coordinate:i,children:(0,e.jsx)("div",{className:mT.popup,children:(0,e.jsx)("ul",{children:Object.entries(n).sort().map((([t,n],i)=>(0,e.jsx)("li",{children:`${t}=${n}`},i)))})})})}function vT({map:t,instructionText:n,coordinate:i}){return(0,c.useEffect)((()=>{const e=()=>Ii.dispatch(new ar(null,""));return t.once("change:target",(()=>{var n;null===(n=t.getTargetElement())||void 0===n||n.addEventListener("click",e)})),()=>{var n;null===(n=t.getTargetElement())||void 0===n||n.removeEventListener("click",e)}}),[]),(0,e.jsx)(pT,{map:t,coordinate:i,children:(0,e.jsx)("div",{className:hT.popup,children:(0,e.jsx)("p",{children:n})})})}function bT(t){return(0,e.jsx)("table",{className:mT.poiPopupTable,children:(0,e.jsx)("tbody",{children:Object.entries(t.poi.tags).map((([n,i])=>{const r=i.startsWith("https://")||i.startsWith("http://"),o=n.toLowerCase().includes("phone"),s=n.toLowerCase().includes("email"),a=i.split(":").map((e=>e.trim())),l=n.toLowerCase().includes("wikipedia")&&2==a.length,c=l?"https://"+a[0]+".wikipedia.org/wiki/"+encodeURIComponent(a[1]):"";return!(t.poi.query.queries&&t.poi.query.queries.some((e=>e.phrases.some((e=>e.k==n&&e.v===i))))||"source"===n||"image"===n||"check_data"===n||n.includes("fax")||n.startsWith("addr")||n.startsWith("name")||n.startsWith("building"))&&(0,e.jsxs)("tr",{children:[(0,e.jsx)("td",{children:n}),(0,e.jsxs)("td",{children:[r&&(0,e.jsx)("a",{href:i,target:"_blank",children:i}),o&&(0,e.jsx)("a",{href:"tel:"+i,children:i}),s&&(0,e.jsx)("a",{href:"mailto:"+i,children:i}),l&&(0,e.jsx)("a",{href:c,target:"_blank",children:i}),!r&&!o&&!s&&!l&&i]})]},n)}))})})}function xT({map:t,poiState:n,points:i}){const r=n.selected,o=null==r?void 0:r.osm_type;function s(e){if(r&&e<i.length){const t={...i[e],queryText:null==r?void 0:r.name,coordinate:null==r?void 0:r.coordinate,isInitialized:!0};Ii.dispatch(new zi(t,!1)),Ii.dispatch(new cr(null)),Ii.dispatch(new ur([]))}}return(0,e.jsx)(pT,{map:t,coordinate:r?r.coordinate:null,children:(0,e.jsxs)("div",{className:mT.poiPopup,children:[(0,e.jsx)("div",{children:null==r?void 0:r.name}),(0,e.jsx)("div",{children:null==r?void 0:r.address}),(0,e.jsxs)("div",{className:mT.poiPopupButton,onClick:()=>s(0),children:[(0,e.jsx)(K_,{color:Ir.getMarkerColor(Pr.From),size:18}),(0,e.jsx)(So,{children:l("as_start")})]}),(0,e.jsxs)("div",{className:mT.poiPopupButton,onClick:()=>s(i.length-1),children:[(0,e.jsx)(K_,{color:Ir.getMarkerColor(Pr.To),size:18}),(0,e.jsx)(So,{children:l("as_destination")})]}),r&&(0,e.jsx)(bT,{poi:r}),(0,e.jsx)("div",{className:mT.osmLink,children:(0,e.jsx)("a",{href:"https://www.openstreetmap.org/"+o+"/"+(null==r?void 0:r.osm_id),target:"_blank",children:"OpenStreetMap.org"})})]})})}function wT({map:t,pathDetails:n,mapFeatures:i,poiState:r,query:o}){return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(fT,{map:t,pathDetails:n}),(0,e.jsx)(yT,{map:t,properties:i.roadAttributes,coordinate:i.roadAttributesCoordinate}),(0,e.jsx)(vT,{map:t,instructionText:i.instructionText,coordinate:i.instructionCoordinate}),(0,e.jsx)(xT,{map:t,poiState:r,points:o.queryPoints})]})}var kT;function CT(){return CT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},CT.apply(this,arguments)}const ST=function(e){return c.createElement("svg",CT({xmlns:"http://www.w3.org/2000/svg",width:50,height:40,viewBox:"0 0 48 44"},e),kT||(kT=c.createElement("path",{d:"M6 36v-3h36v3Zm0-10.5v-3h36v3ZM6 15v-3h36v3Z"})))};class AT extends Nc{constructor(e,t,n){super(),void 0!==n&&void 0===t?this.setFlatCoordinates(n,e):(t=t||0,this.setCenterAndRadius(e,t,n))}clone(){const e=new AT(this.flatCoordinates.slice(),void 0,this.layout);return e.applyProperties(this),e}closestPointXY(e,t,n,i){const r=this.flatCoordinates,o=e-r[0],s=t-r[1],a=o*o+s*s;if(a<i){if(0===a)for(let e=0;e<this.stride;++e)n[e]=r[e];else{const e=this.getRadius()/Math.sqrt(a);n[0]=r[0]+e*o,n[1]=r[1]+e*s;for(let e=2;e<this.stride;++e)n[e]=r[e]}return n.length=this.stride,a}return i}containsXY(e,t){const n=this.flatCoordinates,i=e-n[0],r=t-n[1];return i*i+r*r<=this.getRadiusSquared_()}getCenter(){return this.flatCoordinates.slice(0,this.stride)}computeExtent(e){const t=this.flatCoordinates,n=t[this.stride]-t[0];return Ws(t[0]-n,t[1]-n,t[0]+n,t[1]+n,e)}getRadius(){return Math.sqrt(this.getRadiusSquared_())}getRadiusSquared_(){const e=this.flatCoordinates[this.stride]-this.flatCoordinates[0],t=this.flatCoordinates[this.stride+1]-this.flatCoordinates[1];return e*e+t*t}getType(){return"Circle"}intersectsExtent(e){if(ha(e,this.getExtent())){const t=this.getCenter();return e[0]<=t[0]&&e[2]>=t[0]||e[1]<=t[1]&&e[3]>=t[1]||ea(e,this.intersectsCoordinate.bind(this))}return!1}setCenter(e){const t=this.stride,n=this.flatCoordinates[t]-this.flatCoordinates[0],i=e.slice();i[t]=i[0]+n;for(let n=1;n<t;++n)i[t+n]=e[n];this.setFlatCoordinates(this.layout,i),this.changed()}setCenterAndRadius(e,t,n){this.setLayout(n,e,0),this.flatCoordinates||(this.flatCoordinates=[]);const i=this.flatCoordinates;let r=Wc(i,0,e,this.stride);i[r++]=i[0]+t;for(let e=1,t=this.stride;e<t;++e)i[r++]=i[e];i.length=r,this.changed()}getCoordinates(){return null}setCoordinates(e,t){}setRadius(e){this.flatCoordinates[this.stride]=this.flatCoordinates[0]+e,this.changed()}rotate(e,t){const n=this.getCenter(),i=this.getStride();this.setCenter(zc(n,0,n.length,i,e,t,n)),this.changed()}}AT.prototype.transform;const ET=AT,MT="drawstart";class TT extends pl{constructor(e,t){super(e),this.feature=t}}function PT(e,t){return va(e[0],e[1],t[0],t[1])}function RT(e,t){const n=e.length;return t<0?e[t+n]:t>=n?e[t-n]:e[t]}function IT(e,t,n){let i,r;t<n?(i=t,r=n):(i=n,r=t);const o=Math.ceil(i),s=Math.floor(r);if(o>s)return PT(DT(e,i),DT(e,r));let a=0;i<o&&(a+=PT(DT(e,i),RT(e,o))),s<r&&(a+=PT(RT(e,s),DT(e,r)));for(let t=o;t<s-1;++t)a+=PT(RT(e,t),RT(e,t+1));return a}function LT(e,t,n){if(t instanceof Lx)OT(e,t.getCoordinates(),!1,n);else if(t instanceof jx){const i=t.getCoordinates();for(let t=0,r=i.length;t<r;++t)OT(e,i[t],!1,n)}else if(t instanceof Au){const i=t.getCoordinates();for(let t=0,r=i.length;t<r;++t)OT(e,i[t],!0,n)}else if(t instanceof Nx){const i=t.getCoordinates();for(let t=0,r=i.length;t<r;++t){const r=i[t];for(let t=0,i=r.length;t<i;++t)OT(e,r[t],!0,n)}}else if(t instanceof Gx){const i=t.getGeometries();for(let t=0;t<i.length;++t)LT(e,i[t],n)}}const zT={index:-1,endIndex:NaN};function OT(e,t,n,i){const r=e[0],o=e[1];for(let e=0,s=t.length-1;e<s;++e){const s=jT(r,o,t[e],t[e+1]);if(0===s.squaredDistance){const r=e+s.along;return void i.push({coordinates:t,ring:n,startIndex:r,endIndex:r})}}}const FT={along:0,squaredDistance:0};function jT(e,t,n,i){const r=n[0],o=n[1],s=i[0]-r,a=i[1]-o;let l=0,c=r,u=o;return 0===s&&0===a||(l=ma(((e-r)*s+(t-o)*a)/(s*s+a*a),0,1),c+=s*l,u+=a*l),FT.along=l,FT.squaredDistance=ka(va(e,t,c,u),10),FT}function DT(e,t){const n=e.length;let i=Math.floor(t);const r=t-i;i>=n?i-=n:i<0&&(i+=n);let o=i+1;o>=n&&(o-=n);const s=e[i],a=s[0],l=s[1],c=e[o];return[a+(c[0]-a)*r,l+(c[1]-l)*r]}function NT(){const e=Sh();return function(t,n){return e[t.getGeometry().getType()]}}const qT=class extends a_{constructor(e){const t=e;t.stopDown||(t.stopDown=wl),super(t),this.on,this.once,this.un,this.shouldHandle_=!1,this.downPx_=null,this.downTimeout_,this.lastDragTime_,this.pointerType_,this.freehand_=!1,this.source_=e.source?e.source:null,this.features_=e.features?e.features:null,this.snapTolerance_=e.snapTolerance?e.snapTolerance:12,this.type_=e.type,this.mode_=function(e){switch(e){case"Point":case"MultiPoint":return"Point";case"LineString":case"MultiLineString":return"LineString";case"Polygon":case"MultiPolygon":return"Polygon";case"Circle":return"Circle";default:throw new Error("Invalid type: "+e)}}(this.type_),this.stopClick_=!!e.stopClick,this.minPoints_=e.minPoints?e.minPoints:"Polygon"===this.mode_?3:2,this.maxPoints_="Circle"===this.mode_?2:e.maxPoints?e.maxPoints:1/0,this.finishCondition_=e.finishCondition?e.finishCondition:xl,this.geometryLayout_=e.geometryLayout?e.geometryLayout:"XY";let n=e.geometryFunction;if(!n){const e=this.mode_;if("Circle"===e)n=(e,t,n)=>{const i=t||new ET([NaN,NaN]),r=nl(e[0]),o=Pa(r,nl(e[e.length-1]));i.setCenterAndRadius(r,Math.sqrt(o),this.geometryLayout_);const s=el();return s&&i.transform(n,s),i};else{let t;"Point"===e?t=lu:"LineString"===e?t=Lx:"Polygon"===e&&(t=Au),n=(n,i,r)=>(i?"Polygon"===e?n[0].length?i.setCoordinates([n[0].concat([n[0][0]])],this.geometryLayout_):i.setCoordinates([],this.geometryLayout_):i.setCoordinates(n,this.geometryLayout_):i=new t(n,this.geometryLayout_),i)}}this.geometryFunction_=n,this.dragVertexDelay_=void 0!==e.dragVertexDelay?e.dragVertexDelay:500,this.finishCoordinate_=null,this.sketchFeature_=null,this.sketchPoint_=null,this.sketchCoords_=null,this.sketchLine_=null,this.sketchLineCoords_=null,this.squaredClickTolerance_=e.clickTolerance?e.clickTolerance*e.clickTolerance:36,this.overlay_=new Ck({source:new Lk({useSpatialIndex:!1,wrapX:!!e.wrapX&&e.wrapX}),style:e.style?e.style:NT(),updateWhileInteracting:!0}),this.geometryName_=e.geometryName,this.condition_=e.condition?e.condition:g_,this.freehandCondition_,e.freehand?this.freehandCondition_=d_:this.freehandCondition_=e.freehandCondition?e.freehandCondition:m_,this.traceCondition_,this.setTrace(e.trace||!1),this.traceState_={active:!1},this.traceSource_=e.traceSource||e.source||null,this.addChangeListener(n_,this.updateState_)}setTrace(e){let t;t=e?!0===e?d_:e:f_,this.traceCondition_=t}setMap(e){super.setMap(e),this.updateState_()}getOverlay(){return this.overlay_}handleEvent(e){e.originalEvent.type===Pl&&e.originalEvent.preventDefault(),this.freehand_="Point"!==this.mode_&&this.freehandCondition_(e);let t=e.type===Df.POINTERMOVE,n=!0;return!this.freehand_&&this.lastDragTime_&&e.type===Df.POINTERDRAG&&(Date.now()-this.lastDragTime_>=this.dragVertexDelay_?(this.downPx_=e.pixel,this.shouldHandle_=!this.freehand_,t=!0):this.lastDragTime_=void 0,this.shouldHandle_&&void 0!==this.downTimeout_&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0)),this.freehand_&&e.type===Df.POINTERDRAG&&null!==this.sketchFeature_?(this.addToDrawing_(e.coordinate),n=!1):this.freehand_&&e.type===Df.POINTERDOWN?n=!1:t&&this.getPointerCount()<2?(n=e.type===Df.POINTERMOVE,n&&this.freehand_?(this.handlePointerMove_(e),this.shouldHandle_&&e.originalEvent.preventDefault()):("mouse"===e.originalEvent.pointerType||e.type===Df.POINTERDRAG&&void 0===this.downTimeout_)&&this.handlePointerMove_(e)):e.type===Df.DBLCLICK&&(n=!1),super.handleEvent(e)&&n}handleDownEvent(e){return this.shouldHandle_=!this.freehand_,this.freehand_?(this.downPx_=e.pixel,this.finishCoordinate_||this.startDrawing_(e.coordinate),!0):this.condition_(e)?(this.lastDragTime_=Date.now(),this.downTimeout_=setTimeout((()=>{this.handlePointerMove_(new jf(Df.POINTERMOVE,e.map,e.originalEvent,!1,e.frameState))}),this.dragVertexDelay_),this.downPx_=e.pixel,!0):(this.lastDragTime_=void 0,!1)}deactivateTrace_(){this.traceState_={active:!1}}toggleTraceState_(e){if(!this.traceSource_||!this.traceCondition_(e))return;if(this.traceState_.active)return void this.deactivateTrace_();const t=this.getMap(),n=js([t.getCoordinateFromPixel([e.pixel[0]-this.snapTolerance_,e.pixel[1]+this.snapTolerance_]),t.getCoordinateFromPixel([e.pixel[0]+this.snapTolerance_,e.pixel[1]-this.snapTolerance_])]),i=this.traceSource_.getFeaturesInExtent(n);if(0===i.length)return;const r=function(e,t){const n=[];for(let i=0;i<t.length;++i)LT(e,t[i].getGeometry(),n);return n}(e.coordinate,i);r.length&&(this.traceState_={active:!0,startPx:e.pixel.slice(),targets:r,targetIndex:-1})}addOrRemoveTracedCoordinates_(e,t){const n=e.startIndex<=e.endIndex;n===e.startIndex<=t?n&&t>e.endIndex||!n&&t<e.endIndex?this.addTracedCoordinates_(e,e.endIndex,t):(n&&t<e.endIndex||!n&&t>e.endIndex)&&this.removeTracedCoordinates_(t,e.endIndex):(this.removeTracedCoordinates_(e.startIndex,e.endIndex),this.addTracedCoordinates_(e,e.startIndex,t))}removeTracedCoordinates_(e,t){if(e===t)return;let n=0;if(e<t){const i=Math.ceil(e);let r=Math.floor(t);r===t&&(r-=1),n=r-i+1}else{const i=Math.floor(e);let r=Math.ceil(t);r===t&&(r+=1),n=i-r+1}n>0&&this.removeLastPoints_(n)}addTracedCoordinates_(e,t,n){if(t===n)return;const i=[];if(t<n){const r=Math.ceil(t);let o=Math.floor(n);o===n&&(o-=1);for(let t=r;t<=o;++t)i.push(RT(e.coordinates,t))}else{const r=Math.floor(t);let o=Math.ceil(n);o===n&&(o+=1);for(let t=r;t>=o;--t)i.push(RT(e.coordinates,t))}i.length&&this.appendCoordinates(i)}updateTrace_(e){const t=this.traceState_;if(!t.active)return;if(-1===t.targetIndex&&Ra(t.startPx,e.pixel)<this.snapTolerance_)return;const n=function(e,t,n,i){const r=e[0],o=e[1];let s=1/0,a=-1,l=NaN;for(let e=0;e<t.targets.length;++e){const n=t.targets[e],i=n.coordinates;let c,u=1/0;for(let e=0;e<i.length-1;++e){const t=jT(r,o,i[e],i[e+1]);t.squaredDistance<u&&(u=t.squaredDistance,c=e+t.along)}u<s&&(s=u,n.ring&&t.targetIndex===e&&(n.endIndex>n.startIndex?c<n.startIndex&&(c+=i.length):n.endIndex<n.startIndex&&c>n.startIndex&&(c-=i.length)),l=c,a=e)}const c=t.targets[a];let u=c.ring;if(t.targetIndex===a&&u){const e=DT(c.coordinates,l);Ra(n.getPixelFromCoordinate(e),t.startPx)>i&&(u=!1)}if(u){const e=c.coordinates,t=e.length,n=c.startIndex,i=l;if(n<i){const r=IT(e,n,i);IT(e,n,i-t)<r&&(l-=t)}else{const r=IT(e,n,i);IT(e,n,i+t)<r&&(l+=t)}}return zT.index=a,zT.endIndex=l,zT}(e.coordinate,t,this.getMap(),this.snapTolerance_);if(t.targetIndex!==n.index){if(-1!==t.targetIndex){const e=t.targets[t.targetIndex];this.removeTracedCoordinates_(e.startIndex,e.endIndex)}const e=t.targets[n.index];this.addTracedCoordinates_(e,e.startIndex,n.endIndex)}else{const e=t.targets[t.targetIndex];this.addOrRemoveTracedCoordinates_(e,n.endIndex)}t.targetIndex=n.index;const i=t.targets[t.targetIndex];i.endIndex=n.endIndex;const r=DT(i.coordinates,i.endIndex),o=this.getMap().getPixelFromCoordinate(r);e.coordinate=r,e.pixel=[Math.round(o[0]),Math.round(o[1])]}handleUpEvent(e){let t=!0;if(0===this.getPointerCount()){this.downTimeout_&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0),this.handlePointerMove_(e);const n=this.traceState_.active;if(this.toggleTraceState_(e),this.shouldHandle_){const i=!this.finishCoordinate_;i&&this.startDrawing_(e.coordinate),!i&&this.freehand_?this.finishDrawing():this.freehand_||i&&"Point"!==this.mode_||(this.atFinish_(e.pixel,n)?this.finishCondition_(e)&&this.finishDrawing():this.addToDrawing_(e.coordinate)),t=!1}else this.freehand_&&this.abortDrawing()}return!t&&this.stopClick_&&e.preventDefault(),t}handlePointerMove_(e){if(this.pointerType_=e.originalEvent.pointerType,this.downPx_&&(!this.freehand_&&this.shouldHandle_||this.freehand_&&!this.shouldHandle_)){const t=this.downPx_,n=e.pixel,i=t[0]-n[0],r=t[1]-n[1],o=i*i+r*r;if(this.shouldHandle_=this.freehand_?o>this.squaredClickTolerance_:o<=this.squaredClickTolerance_,!this.shouldHandle_)return}this.finishCoordinate_?(this.updateTrace_(e),this.modifyDrawing_(e.coordinate)):this.createOrUpdateSketchPoint_(e.coordinate.slice())}atFinish_(e,t){let n=!1;if(this.sketchFeature_){let i=!1,r=[this.finishCoordinate_];const o=this.mode_;if("Point"===o)n=!0;else if("Circle"===o)n=2===this.sketchCoords_.length;else if("LineString"===o)i=!t&&this.sketchCoords_.length>this.minPoints_;else if("Polygon"===o){const e=this.sketchCoords_;i=e[0].length>this.minPoints_,r=[e[0][0],e[0][e[0].length-2]],r=t?[e[0][0]]:[e[0][0],e[0][e[0].length-2]]}if(i){const t=this.getMap();for(let i=0,o=r.length;i<o;i++){const o=r[i],s=t.getPixelFromCoordinate(o),a=e[0]-s[0],l=e[1]-s[1],c=this.freehand_?1:this.snapTolerance_;if(n=Math.sqrt(a*a+l*l)<=c,n){this.finishCoordinate_=o;break}}}}return n}createOrUpdateSketchPoint_(e){this.sketchPoint_?this.sketchPoint_.getGeometry().setCoordinates(e):(this.sketchPoint_=new vb(new lu(e)),this.updateSketchFeatures_())}createOrUpdateCustomSketchLine_(e){this.sketchLine_||(this.sketchLine_=new vb);const t=e.getLinearRing(0);let n=this.sketchLine_.getGeometry();n?(n.setFlatCoordinates(t.getLayout(),t.getFlatCoordinates()),n.changed()):(n=new Lx(t.getFlatCoordinates(),t.getLayout()),this.sketchLine_.setGeometry(n))}startDrawing_(e){const t=this.getMap().getView().getProjection(),n=Dc(this.geometryLayout_);for(;e.length<n;)e.push(0);this.finishCoordinate_=e,"Point"===this.mode_?this.sketchCoords_=e.slice():"Polygon"===this.mode_?(this.sketchCoords_=[[e.slice(),e.slice()]],this.sketchLineCoords_=this.sketchCoords_[0]):this.sketchCoords_=[e.slice(),e.slice()],this.sketchLineCoords_&&(this.sketchLine_=new vb(new Lx(this.sketchLineCoords_)));const i=this.geometryFunction_(this.sketchCoords_,void 0,t);this.sketchFeature_=new vb,this.geometryName_&&this.sketchFeature_.setGeometryName(this.geometryName_),this.sketchFeature_.setGeometry(i),this.updateSketchFeatures_(),this.dispatchEvent(new TT(MT,this.sketchFeature_))}modifyDrawing_(e){const t=this.getMap(),n=this.sketchFeature_.getGeometry(),i=t.getView().getProjection(),r=Dc(this.geometryLayout_);let o,s;for(;e.length<r;)e.push(0);"Point"===this.mode_?s=this.sketchCoords_:"Polygon"===this.mode_?(o=this.sketchCoords_[0],s=o[o.length-1],this.atFinish_(t.getPixelFromCoordinate(e))&&(e=this.finishCoordinate_.slice())):(o=this.sketchCoords_,s=o[o.length-1]),s[0]=e[0],s[1]=e[1],this.geometryFunction_(this.sketchCoords_,n,i),this.sketchPoint_&&this.sketchPoint_.getGeometry().setCoordinates(e),"Polygon"===n.getType()&&"Polygon"!==this.mode_?this.createOrUpdateCustomSketchLine_(n):this.sketchLineCoords_&&this.sketchLine_.getGeometry().setCoordinates(this.sketchLineCoords_),this.updateSketchFeatures_()}addToDrawing_(e){const t=this.sketchFeature_.getGeometry(),n=this.getMap().getView().getProjection();let i,r;const o=this.mode_;return"LineString"===o||"Circle"===o?(this.finishCoordinate_=e.slice(),r=this.sketchCoords_,r.length>=this.maxPoints_&&(this.freehand_?r.pop():i=!0),r.push(e.slice()),this.geometryFunction_(r,t,n)):"Polygon"===o&&(r=this.sketchCoords_[0],r.length>=this.maxPoints_&&(this.freehand_?r.pop():i=!0),r.push(e.slice()),i&&(this.finishCoordinate_=r[0]),this.geometryFunction_(this.sketchCoords_,t,n)),this.createOrUpdateSketchPoint_(e.slice()),this.updateSketchFeatures_(),i?this.finishDrawing():this.sketchFeature_}removeLastPoints_(e){if(!this.sketchFeature_)return;const t=this.sketchFeature_.getGeometry(),n=this.getMap().getView().getProjection(),i=this.mode_;for(let r=0;r<e;++r){let e;if("LineString"===i||"Circle"===i){if(e=this.sketchCoords_,e.splice(-2,1),e.length>=2){this.finishCoordinate_=e[e.length-2].slice();const t=this.finishCoordinate_.slice();e[e.length-1]=t,this.createOrUpdateSketchPoint_(t)}this.geometryFunction_(e,t,n),"Polygon"===t.getType()&&this.sketchLine_&&this.createOrUpdateCustomSketchLine_(t)}else if("Polygon"===i){e=this.sketchCoords_[0],e.splice(-2,1);const i=this.sketchLine_.getGeometry();if(e.length>=2){const t=e[e.length-2].slice();e[e.length-1]=t,this.createOrUpdateSketchPoint_(t)}i.setCoordinates(e),this.geometryFunction_(this.sketchCoords_,t,n)}if(1===e.length){this.abortDrawing();break}}this.updateSketchFeatures_()}removeLastPoint(){this.removeLastPoints_(1)}finishDrawing(){const e=this.abortDrawing_();if(!e)return null;let t=this.sketchCoords_;const n=e.getGeometry(),i=this.getMap().getView().getProjection();return"LineString"===this.mode_?(t.pop(),this.geometryFunction_(t,n,i)):"Polygon"===this.mode_&&(t[0].pop(),this.geometryFunction_(t,n,i),t=n.getCoordinates()),"MultiPoint"===this.type_?e.setGeometry(new Ox([t])):"MultiLineString"===this.type_?e.setGeometry(new jx([t])):"MultiPolygon"===this.type_&&e.setGeometry(new Nx([t])),this.dispatchEvent(new TT("drawend",e)),this.features_&&this.features_.push(e),this.source_&&this.source_.addFeature(e),e}abortDrawing_(){this.finishCoordinate_=null;const e=this.sketchFeature_;return this.sketchFeature_=null,this.sketchPoint_=null,this.sketchLine_=null,this.overlay_.getSource().clear(!0),this.deactivateTrace_(),e}abortDrawing(){const e=this.abortDrawing_();e&&this.dispatchEvent(new TT("drawabort",e))}appendCoordinates(e){const t=this.mode_,n=!this.sketchFeature_;let i;if(n&&this.startDrawing_(e[0]),"LineString"===t||"Circle"===t)i=this.sketchCoords_;else{if("Polygon"!==t)return;i=this.sketchCoords_&&this.sketchCoords_.length?this.sketchCoords_[0]:[]}n&&i.shift(),i.pop();for(let t=0;t<e.length;t++)this.addToDrawing_(e[t]);const r=e[e.length-1];this.sketchFeature_=this.addToDrawing_(r),this.modifyDrawing_(r)}extend(e){const t=e.getGeometry();this.sketchFeature_=e,this.sketchCoords_=t.getCoordinates();const n=this.sketchCoords_[this.sketchCoords_.length-1];this.finishCoordinate_=n.slice(),this.sketchCoords_.push(n.slice()),this.sketchPoint_=new vb(new lu(n)),this.updateSketchFeatures_(),this.dispatchEvent(new TT(MT,this.sketchFeature_))}updateSketchFeatures_(){const e=[];this.sketchFeature_&&e.push(this.sketchFeature_),this.sketchLine_&&e.push(this.sketchLine_),this.sketchPoint_&&e.push(this.sketchPoint_);const t=this.overlay_.getSource();t.clear(!0),t.addFeatures(e)}updateState_(){const e=this.getMap(),t=this.getActive();e&&t||this.abortDrawing(),this.overlay_.setMap(t?e:null)}};class BT extends pl{constructor(e,t){super(e),this.vertex=t.vertex,this.vertexPixel=t.vertexPixel,this.feature=t.feature,this.segment=t.segment}}function GT(e){return e.feature?e.feature:e.element?e.element:null}const VT=[],HT=class extends a_{constructor(e){const t=e=e||{};t.handleDownEvent||(t.handleDownEvent=xl),t.stopDown||(t.stopDown=wl),super(t),this.on,this.once,this.un,this.source_=e.source?e.source:null,this.vertex_=void 0===e.vertex||e.vertex,this.edge_=void 0===e.edge||e.edge,this.features_=e.features?e.features:null,this.featuresListenerKeys_=[],this.featureChangeListenerKeys_={},this.indexedFeaturesExtents_={},this.pendingFeatures_={},this.pixelTolerance_=void 0!==e.pixelTolerance?e.pixelTolerance:10,this.rBush_=new Sk,this.GEOMETRY_SEGMENTERS_={Point:this.segmentPointGeometry_.bind(this),LineString:this.segmentLineStringGeometry_.bind(this),LinearRing:this.segmentLineStringGeometry_.bind(this),Polygon:this.segmentPolygonGeometry_.bind(this),MultiPoint:this.segmentMultiPointGeometry_.bind(this),MultiLineString:this.segmentMultiLineStringGeometry_.bind(this),MultiPolygon:this.segmentMultiPolygonGeometry_.bind(this),GeometryCollection:this.segmentGeometryCollectionGeometry_.bind(this),Circle:this.segmentCircleGeometry_.bind(this)}}addFeature(e,t){t=void 0===t||t;const n=Vl(e),i=e.getGeometry();if(i){const t=this.GEOMETRY_SEGMENTERS_[i.getType()];if(t){this.indexedFeaturesExtents_[n]=i.getExtent([1/0,1/0,-1/0,-1/0]);const r=[];if(t(r,i),1===r.length)this.rBush_.insert(js(r[0]),{feature:e,segment:r[0]});else if(r.length>1){const t=r.map((e=>js(e))),n=r.map((t=>({feature:e,segment:t})));this.rBush_.load(t,n)}}}t&&(this.featureChangeListenerKeys_[n]=Fl(e,Tl,this.handleFeatureChange_,this))}getFeatures_(){let e;return this.features_?e=this.features_:this.source_&&(e=this.source_.getFeatures()),e}handleEvent(e){const t=this.snapTo(e.pixel,e.coordinate,e.map);return t&&(e.coordinate=t.vertex.slice(0,2),e.pixel=t.vertexPixel,this.dispatchEvent(new BT("snap",{vertex:e.coordinate,vertexPixel:e.pixel,feature:t.feature,segment:t.segment}))),super.handleEvent(e)}handleFeatureAdd_(e){const t=GT(e);t&&this.addFeature(t)}handleFeatureRemove_(e){const t=GT(e);t&&this.removeFeature(t)}handleFeatureChange_(e){const t=e.target;if(this.handlingDownUpSequence){const e=Vl(t);e in this.pendingFeatures_||(this.pendingFeatures_[e]=t)}else this.updateFeature_(t)}handleUpEvent(e){const t=Object.values(this.pendingFeatures_);return t.length&&(t.forEach(this.updateFeature_.bind(this)),this.pendingFeatures_={}),!1}removeFeature(e,t){const n=void 0===t||t,i=Vl(e),r=this.indexedFeaturesExtents_[i];if(r){const t=this.rBush_,n=[];t.forEachInExtent(r,(function(t){e===t.feature&&n.push(t)}));for(let e=n.length-1;e>=0;--e)t.remove(n[e])}n&&(Dl(this.featureChangeListenerKeys_[i]),delete this.featureChangeListenerKeys_[i])}setMap(e){const t=this.getMap(),n=this.featuresListenerKeys_,i=this.getFeatures_();t&&(n.forEach(Dl),n.length=0,this.rBush_.clear(),Object.values(this.featureChangeListenerKeys_).forEach(Dl),this.featureChangeListenerKeys_={}),super.setMap(e),e&&(this.features_?n.push(Fl(this.features_,Ul,this.handleFeatureAdd_,this),Fl(this.features_,$l,this.handleFeatureRemove_,this)):this.source_&&n.push(Fl(this.source_,Ak,this.handleFeatureAdd_,this),Fl(this.source_,Ek,this.handleFeatureRemove_,this)),i.forEach((e=>this.addFeature(e))))}snapTo(e,t,n){const i=n.getView().getProjection(),r=nl(t),o=il(Ds(js([r]),n.getView().getResolution()*this.pixelTolerance_)),s=this.rBush_.getInExtent(o),a=s.length;if(0===a)return null;let l,c,u=1/0,d=null;const h=this.pixelTolerance_*this.pixelTolerance_,p=()=>{if(l){const t=n.getPixelFromCoordinate(l);if(Pa(e,t)<=h)return{vertex:l,vertexPixel:[Math.round(t[0]),Math.round(t[1])],feature:c,segment:d}}return null};if(this.vertex_){for(let e=0;e<a;++e){const t=s[e];"Circle"!==t.feature.getGeometry().getType()&&t.segment.forEach((e=>{const n=nl(e),i=Pa(r,n);i<u&&(l=e,u=i,c=t.feature)}))}const e=p();if(e)return e}if(this.edge_){for(let e=0;e<a;++e){let t=null;const n=s[e];if("Circle"===n.feature.getGeometry().getType()){let e=n.feature.getGeometry();const o=el();o&&(e=e.clone().transform(o,i)),t=Aa(r,e)}else{const[e,i]=n.segment;i&&(VT[0]=nl(e),VT[1]=nl(i),t=Ea(r,VT))}if(t){const e=Pa(r,t);e<u&&(l=tl(t),d="Circle"===n.feature.getGeometry().getType()?null:n.segment,u=e,c=n.feature)}}const e=p();if(e)return e}return null}updateFeature_(e){this.removeFeature(e,!1),this.addFeature(e,!1)}segmentCircleGeometry_(e,t){const n=this.getMap().getView().getProjection();let i=t;const r=el();r&&(i=i.clone().transform(r,n));const o=Mu(i);r&&o.transform(n,r);const s=o.getCoordinates()[0];for(let t=0,n=s.length-1;t<n;++t)e.push(s.slice(t,t+2))}segmentGeometryCollectionGeometry_(e,t){const n=t.getGeometriesArray();for(let t=0;t<n.length;++t){const i=this.GEOMETRY_SEGMENTERS_[n[t].getType()];i&&i(e,n[t])}}segmentLineStringGeometry_(e,t){const n=t.getCoordinates();for(let t=0,i=n.length-1;t<i;++t)e.push(n.slice(t,t+2))}segmentMultiLineStringGeometry_(e,t){const n=t.getCoordinates();for(let t=0,i=n.length;t<i;++t){const i=n[t];for(let t=0,n=i.length-1;t<n;++t)e.push(i.slice(t,t+2))}}segmentMultiPointGeometry_(e,t){t.getCoordinates().forEach((t=>{e.push([t])}))}segmentMultiPolygonGeometry_(e,t){const n=t.getCoordinates();for(let t=0,i=n.length;t<i;++t){const i=n[t];for(let t=0,n=i.length;t<n;++t){const n=i[t];for(let t=0,i=n.length-1;t<i;++t)e.push(n.slice(t,t+2))}}}segmentPointGeometry_(e,t){e.push([t.getCoordinates()])}segmentPolygonGeometry_(e,t){const n=t.getCoordinates();for(let t=0,i=n.length;t<i;++t){const i=n[t];for(let t=0,n=i.length-1;t<n;++t)e.push(i.slice(t,t+2))}}},WT="areasLayer";function UT(e){try{return JSON.parse(e)}catch{return null}}function $T(e){var t;const n=null===(t=e.getGeometry())||void 0===t?void 0:t.clone().transform("EPSG:3857","EPSG:4326"),i=(new Qx).writeFeature(new vb(n)),r=JSON.parse(i);return r.properties={},r.geometry.coordinates[0]=r.geometry.coordinates[0].map((e=>[Math.round(1e6*e[0])/1e6,Math.round(1e6*e[1])/1e6])),r}function ZT(e){e.getLayers().getArray().filter((e=>e.get(WT))).forEach((t=>e.removeLayer(t)))}var KT=n(1211),XT={};XT.styleTagTransform=x(),XT.setAttributes=m(),XT.insert=_().bind(null,"head"),XT.domAPI=p(),XT.insertStyleElement=v(),d()(KT.A,XT);const YT=KT.A&&KT.A.locals?KT.A.locals:void 0;var QT;function JT(){return JT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},JT.apply(this,arguments)}const eP=function(e){return c.createElement("svg",JT({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 -960 960 960"},e),c.createElement("text",{x:"50%",y:-300,fill:"red",style:{fontSize:500},textAnchor:"middle"},"\n ?\n "),QT||(QT=c.createElement("path",{fill:"currentColor",d:"M450-40v-75q-137-14-228-105T117-448H42v-60h75q14-137 105-228t228-105v-75h60v75q137 14 228 105t105 228h75v60h-75q-14 137-105 228T510-115v75h-60Zm30-134q125 0 214.5-89.5T784-478q0-125-89.5-214.5T480-782q-125 0-214.5 89.5T176-478q0 125 89.5 214.5T480-174Z"})))};var tP,nP;function iP(){return iP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},iP.apply(this,arguments)}const rP=function(e){return c.createElement("svg",iP({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 -960 960 960"},e),tP||(tP=c.createElement("path",{fill:"currentColor",d:"M450-40v-75q-137-14-228-105T117-448H42v-60h75q14-137 105-228t228-105v-75h60v75q137 14 228 105t105 228h75v60h-75q-14 137-105 228T510-115v75h-60Zm30-134q125 0 214.5-89.5T784-478q0-125-89.5-214.5T480-782q-125 0-214.5 89.5T176-478q0 125 89.5 214.5T480-174Z"})),nP||(nP=c.createElement("circle",{cx:479.609,cy:-481.741,r:100,fill:"currentColor"},c.createElement("animate",{attributeName:"r",dur:"2s",repeatCount:"indefinite",values:"0;200;0"}))))};var oP,sP;function aP(){return aP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},aP.apply(this,arguments)}const lP=function(e){return c.createElement("svg",aP({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 -960 960 960"},e),oP||(oP=c.createElement("path",{fill:"currentColor",d:"M450-40v-75q-137-14-228-105T117-448H42v-60h75q14-137 105-228t228-105v-75h60v75q137 14 228 105t105 228h75v60h-75q-14 137-105 228T510-115v75h-60Zm30-134q125 0 214.5-89.5T784-478q0-125-89.5-214.5T480-782q-125 0-214.5 89.5T176-478q0 125 89.5 214.5T480-174Z"})),sP||(sP=c.createElement("circle",{cx:479.609,cy:-481.741,r:200,fill:"currentColor"})))};function cP(t){const[n,i]=(0,c.useState)("synched_map_or_initial");return(0,e.jsxs)("div",{className:YT.locationOnOff,onClick:()=>{i("search"),function(e){if(!navigator.geolocation)return Ii.dispatch(new Wi("Geolocation is not supported in this browser")),void e(void 0);navigator.geolocation.getCurrentPosition((t=>{e({lat:t.coords.latitude,lng:t.coords.longitude})}),(t=>{Ii.dispatch(new Wi(l("searching_location_failed")+": "+t.message)),e(void 0)}),{timeout:3e5,enableHighAccuracy:!0})}((e=>{e?(t.queryPoints[0]&&!t.queryPoints[0].isInitialized&&Ii.dispatch(new zi({...t.queryPoints[0],coordinate:e,queryText:l("current_location"),isInitialized:!0,type:Pr.From},!1)),Ii.dispatch(new tr(e)),i("synched_map_or_initial")):i("error")}))},children:["error"==n&&(0,e.jsx)(eP,{}),"search"==n&&(0,e.jsx)(rP,{}),"synched_map_or_initial"==n&&(0,e.jsx)(lP,{})]})}var uP;function dP(){return dP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},dP.apply(this,arguments)}var hP;function pP(){return pP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},pP.apply(this,arguments)}var fP;function _P(){return _P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_P.apply(this,arguments)}var gP,mP;function yP(){return yP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},yP.apply(this,arguments)}function vP(){return vP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},vP.apply(this,arguments)}var bP;function xP(){return xP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},xP.apply(this,arguments)}var wP;function kP(){return kP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},kP.apply(this,arguments)}var CP;function SP(){return SP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},SP.apply(this,arguments)}var AP;function EP(){return EP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},EP.apply(this,arguments)}var MP;function TP(){return TP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},TP.apply(this,arguments)}var PP;function RP(){return RP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},RP.apply(this,arguments)}var IP;function LP(){return LP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},LP.apply(this,arguments)}var zP;function OP(){return OP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},OP.apply(this,arguments)}var FP;function jP(){return jP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},jP.apply(this,arguments)}var DP;function NP(){return NP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},NP.apply(this,arguments)}var qP;function BP(){return BP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},BP.apply(this,arguments)}var GP;function VP(){return VP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},VP.apply(this,arguments)}var HP;function WP(){return WP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},WP.apply(this,arguments)}var UP;function $P(){return $P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},$P.apply(this,arguments)}var ZP;function KP(){return KP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},KP.apply(this,arguments)}var XP;function YP(){return YP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},YP.apply(this,arguments)}var QP;function JP(){return JP=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},JP.apply(this,arguments)}var eR;function tR(){return tR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},tR.apply(this,arguments)}var nR;function iR(){return iR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},iR.apply(this,arguments)}var rR;function oR(){return oR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},oR.apply(this,arguments)}var sR;function aR(){return aR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},aR.apply(this,arguments)}var lR;function cR(){return cR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},cR.apply(this,arguments)}var uR;function dR(){return dR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},dR.apply(this,arguments)}var hR;function pR(){return pR=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},pR.apply(this,arguments)}const fR={},_R={car_rental:c.createElement("svg",yP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},void 0),gP||(gP=c.createElement("path",{d:"M320-680q-50 0-85-35t-35-85q0-50 35-85t85-35q38 0 69 22.5t45 57.5h326v80h-40v80h-80v-80H434q-14 35-45 57.5T320-680Zm0-80q17 0 28.5-11.5T360-800q0-17-11.5-28.5T320-840q-17 0-28.5 11.5T280-800q0 17 11.5 28.5T320-760Zm40 500q17 0 28.5-11.5T400-300q0-17-11.5-28.5T360-340q-17 0-28.5 11.5T320-300q0 17 11.5 28.5T360-260Zm240 0q17 0 28.5-11.5T640-300q0-17-11.5-28.5T600-340q-17 0-28.5 11.5T560-300q0 17 11.5 28.5T600-260ZM200-376l66-192q5-14 16.5-23t25.5-9h344q14 0 25.5 9t16.5 23l66 192v264q0 14-9 23t-23 9h-16q-14 0-23-9t-9-23v-48H280v48q0 14-9 23t-23 9h-16q-14 0-23-9t-9-23v-264Zm106-64h348l-28-80H334l-28 80Zm-26 80v120-120Zm0 120h400v-120H280v120Z"}))),car_repair:c.createElement("svg",_P({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},gR),fP||(fP=c.createElement("path",{d:"M440-80v-120H160v-80h640v80H520v120h-80Zm-80-420q17 0 28.5-11.5T400-540q0-17-11.5-28.5T360-580q-17 0-28.5 11.5T320-540q0 17 11.5 28.5T360-500Zm240 0q17 0 28.5-11.5T640-540q0-17-11.5-28.5T600-580q-17 0-28.5 11.5T560-540q0 17 11.5 28.5T600-500ZM200-616l66-192q5-14 16.5-23t25.5-9h344q14 0 25.5 9t16.5 23l66 192v264q0 14-9 23t-23 9h-16q-14 0-23-9t-9-23v-48H280v48q0 14-9 23t-23 9h-16q-14 0-23-9t-9-23v-264Zm106-64h348l-28-80H334l-28 80Zm-26 80v120-120Zm0 120h400v-120H280v120Z"}))),charger:function(e){return c.createElement("svg",dP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),uP||(uP=c.createElement("path",{d:"m452-160 200-390H512v-250L312-410h140v250Zm28 80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-400Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z"})))}(),cinematic_blur:function(e){return c.createElement("svg",pP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),hP||(hP=c.createElement("path",{d:"m160-840 80 160h120l-80-160h80l80 160h120l-80-160h80l80 160h120l-80-160h120q33 0 56.5 23.5T880-760v560q0 33-23.5 56.5T800-120H160q-33 0-56.5-23.5T80-200v-560q0-33 23.5-56.5T160-840Zm0 240v400h640v-400H160Zm0 0v400-400Zm160 360h320v-22q0-44-44-71t-116-27q-72 0-116 27t-44 71v22Zm160-160q33 0 56.5-23.5T560-480q0-33-23.5-56.5T480-560q-33 0-56.5 23.5T400-480q0 33 23.5 56.5T480-400Z"})))}(),flight_takeoff:function(e){return c.createElement("svg",vP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),mP||(mP=c.createElement("path",{fill:"currentColor",d:"M120-120v-80h720v80H120Zm74-200L80-514l62-12 70 62 192-52-162-274 78-24 274 246 200-54q32-9 58 12t26 56q0 22-13.5 39T830-492L194-320Z"})))}(),home_and_garden:function(e){return c.createElement("svg",xP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),bP||(bP=c.createElement("path",{d:"M160-160v-375l-72 55-47-63 439-337 440 336-48 64-392-300-240 184v356h160v80H160Zm540 95q-42 29-92.5 24.5T521-81q-36-36-40.5-86.5T505-260q-29-42-24.5-92.5T521-439q36-36 86.5-40.5T700-455q42-29 92.5-24.5T879-439q36 36 40.5 86.5T895-260q29 42 24.5 92.5T879-81q-36 36-86.5 40.5T700-65Zm0-98 46 32q18 13 39 11t37-18q16-16 18-37t-11-39l-32-46 32-46q13-18 11-39t-18-37q-16-16-37-18t-39 11l-46 32-46-32q-18-13-39-11t-37 18q-16 16-18 37t11 39l32 46-32 46q-13 18-11 39t18 37q16 16 37 18t39-11l46-32Zm0-47q21 0 35.5-14.5T750-260q0-21-14.5-35.5T700-310q-21 0-35.5 14.5T650-260q0 21 14.5 35.5T700-210ZM480-470Zm220 210Z"})))}(),hotel:function(e){return c.createElement("svg",kP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),wP||(wP=c.createElement("path",{fill:"currentColor",d:"M40-200v-600h80v400h320v-320h320q66 0 113 47t47 113v360h-80v-120H120v120H40Zm240-240q-50 0-85-35t-35-85q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35Zm240 40h320v-160q0-33-23.5-56.5T760-640H520v240ZM280-520q17 0 28.5-11.5T320-560q0-17-11.5-28.5T280-600q-17 0-28.5 11.5T240-560q0 17 11.5 28.5T280-520Zm0-40Zm240-80v240-240Z"})))}(),local_atm:function(e){return c.createElement("svg",RP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),PP||(PP=c.createElement("path",{d:"M440-280h80v-40h40q17 0 28.5-11.5T600-360v-120q0-17-11.5-28.5T560-520H440v-40h160v-80h-80v-40h-80v40h-40q-17 0-28.5 11.5T360-600v120q0 17 11.5 28.5T400-440h120v40H360v80h80v40ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z"})))}(),local_gas_station:function(e){return c.createElement("svg",LP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),IP||(IP=c.createElement("path",{d:"M160-120v-640q0-33 23.5-56.5T240-840h240q33 0 56.5 23.5T560-760v280h40q33 0 56.5 23.5T680-400v180q0 17 11.5 28.5T720-180q17 0 28.5-11.5T760-220v-288q-9 5-19 6.5t-21 1.5q-42 0-71-29t-29-71q0-32 17.5-57.5T684-694l-84-84 42-42 148 144q15 15 22.5 35t7.5 41v380q0 42-29 71t-71 29q-42 0-71-29t-29-71v-200h-60v300H160Zm80-440h240v-200H240v200Zm480 0q17 0 28.5-11.5T760-600q0-17-11.5-28.5T720-640q-17 0-28.5 11.5T680-600q0 17 11.5 28.5T720-560ZM240-200h240v-280H240v280Zm240 0H240h240Z"})))}(),local_hospital:function(e){return c.createElement("svg",SP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),CP||(CP=c.createElement("path",{fill:"currentColor",d:"M420-280h120v-140h140v-120H540v-140H420v140H280v120h140v140ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"})))}(),local_parking:function(e){return c.createElement("svg",EP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),AP||(AP=c.createElement("path",{fill:"currentColor",d:"M240-120v-720h280q100 0 170 70t70 170q0 100-70 170t-170 70H400v240H240Zm160-400h128q33 0 56.5-23.5T608-600q0-33-23.5-56.5T528-680H400v160Z"})))}(),local_pharmacy:function(e){return c.createElement("svg",TP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),MP||(MP=c.createElement("path",{fill:"currentColor",d:"M120-120v-80l80-240-80-240v-80h508l58-160 94 34-46 126h106v80l-80 240 80 240v80H120Zm320-160h80v-120h120v-80H520v-120h-80v120H320v80h120v120Zm-236 80h552l-80-240 80-240H204l80 240-80 240Zm276-240Z"})))}(),local_post_office:function(e){return c.createElement("svg",OP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),zP||(zP=c.createElement("path",{d:"M640-200v80q0 17-11.5 28.5T600-80H120q-17 0-28.5-11.5T80-120v-320q0-17 11.5-28.5T120-480h120v-160q0-100 70-170t170-70h160q100 0 170 70t70 170v560h-80v-120H640Zm0-80h160v-360q0-66-47-113t-113-47H480q-66 0-113 47t-47 113v160h280q17 0 28.5 11.5T640-440v160ZM400-560v-80h320v80H400Zm-40 274 200-114H160l200 114Zm0 70L160-330v170h400v-170L360-216ZM160-400v240-240Z"})))}(),location_city:function(e){return c.createElement("svg",jP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),FP||(FP=c.createElement("path",{d:"M120-120v-560h240v-80l120-120 120 120v240h240v400H120Zm80-80h80v-80h-80v80Zm0-160h80v-80h-80v80Zm0-160h80v-80h-80v80Zm240 320h80v-80h-80v80Zm0-160h80v-80h-80v80Zm0-160h80v-80h-80v80Zm0-160h80v-80h-80v80Zm240 480h80v-80h-80v80Zm0-160h80v-80h-80v80Z"})))}(),luggage:function(e){return c.createElement("svg",NP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),DP||(DP=c.createElement("path",{fill:"currentColor",d:"M280-120q-33 0-56.5-23.5T200-200v-440q0-33 23.5-56.5T280-720h80v-100q0-25 17.5-42.5T420-880h120q25 0 42.5 17.5T600-820v100h80q33 0 56.5 23.5T760-640v440q0 33-23.5 56.5T680-120q0 17-11.5 28.5T640-80q-17 0-28.5-11.5T600-120H360q0 17-11.5 28.5T320-80q-17 0-28.5-11.5T280-120Zm0-80h400v-440H280v440Zm40-40h60v-360h-60v360Zm130 0h60v-360h-60v360Zm130 0h60v-360h-60v360ZM480-420Zm-60-300h120v-100H420v100Z"})))}(),museum:function(e){return c.createElement("svg",BP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),qP||(qP=c.createElement("path",{fill:"currentColor",d:"M80-80v-80h80v-360H80v-80l400-280 400 280v80h-80v360h80v80H80Zm160-80h480-480Zm80-80h80v-160l80 120 80-120v160h80v-280h-80l-80 120-80-120h-80v280Zm400 80v-454L480-782 240-614v454h480Z"})))}(),pedal_bike:function(e){return c.createElement("svg",VP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),GP||(GP=c.createElement("path",{d:"M200-160q-85 0-142.5-57.5T0-360q0-85 58.5-142.5T200-560q77 0 129.5 46T396-400h26l-72-200h-70v-80h200v80h-44l14 40h192l-58-160H480v-80h104q26 0 46.5 14t29.5 38l68 186h32q83 0 141.5 58.5T960-362q0 84-58 143t-142 59q-72 0-126.5-45T564-320H396q-14 69-68 114.5T200-160Zm0-80q41 0 70.5-22.5T312-320H200v-80h112q-12-36-41.5-58T200-480q-51 0-85.5 34.5T80-360q0 50 34.5 85t85.5 35Zm308-160h56q5-23 13.5-43t22.5-37H478l30 80Zm252 160q51 0 85.5-35t34.5-85q0-51-34.5-85.5T760-480h-4l40 106-76 28-38-106q-20 17-31 40t-11 52q0 50 34.5 85t85.5 35ZM196-360Zm564 0Z"})))}(),police:function(e){return c.createElement("svg",WP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),HP||(HP=c.createElement("path",{d:"m368-336 112-84 110 84-42-136 112-88H524l-44-136-44 136H300l110 88-42 136ZM480-80q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80Zm0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132Zm0-316Z"})))}(),recycling:function(e){return c.createElement("svg",KP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),ZP||(ZP=c.createElement("path",{d:"m368-592 89-147-59-98q-12-20-34.5-20T329-837l-98 163 137 82Zm387 272-89-148 139-80 64 107q11 17 12 38t-9 39q-10 20-29.5 32T800-320h-45ZM640-40 480-200l160-160v80h190l-58 116q-11 20-30 32t-42 12h-60v80Zm-387-80q-20 0-36.5-10.5T192-158q-8-16-7.5-33.5T194-224l34-56h172v160H253Zm-99-114L89-364q-9-18-8.5-38.5T92-441l16-27-68-41 219-55 55 220-69-42-91 152Zm540-342-219-55 69-41-125-208h141q21 0 39.5 10.5T629-841l52 87 68-42-55 220Z"})))}(),restaurant:function(e){return c.createElement("svg",YP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),XP||(XP=c.createElement("path",{fill:"currentColor",d:"M280-80v-366q-51-14-85.5-56T160-600v-280h80v280h40v-280h80v280h40v-280h80v280q0 56-34.5 98T360-446v366h-80Zm400 0v-320H560v-280q0-83 58.5-141.5T760-880v800h-80Z"})))}(),school:function(e){return c.createElement("svg",JP({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),QP||(QP=c.createElement("path",{fill:"currentColor",d:"M480-120 200-272v-240L40-600l440-240 440 240v320h-80v-276l-80 44v240L480-120Zm0-332 274-148-274-148-274 148 274 148Zm0 241 200-108v-151L480-360 280-470v151l200 108Zm0-241Zm0 90Zm0 0Z"})))}(),sports_handball:function(e){return c.createElement("svg",tR({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),eR||(eR=c.createElement("path",{fill:"currentColor",d:"m368-4-70-40 120-208-68-40-60 104-70-40 206-356q-38-39-57-89t-19-103q0-36 9-71.5t29-68.5l68 40q-14 23-20 47.5t-6 50.5q0 53 26 99.5t74 74.5l90 52q62 36 91 103.5T740-322q0 38-10 74t-28 68l-70-40q14-24 20-49t6-51q0-32-9-62t-29-56L368-4Zm272-596q-33 0-56.5-23.5T560-680q0-33 23.5-56.5T640-760q33 0 56.5 23.5T720-680q0 33-23.5 56.5T640-600ZM540-800q-26 0-43-18t-17-42q0-26 18-43t42-17q26 0 43 18t17 42q0 26-18 43t-42 17Z"})))}(),pool:function(e){return c.createElement("svg",$P({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),UP||(UP=c.createElement("path",{d:"M80-120v-80q38 0 57-20t75-20q56 0 77 20t57 20q36 0 57-20t77-20q56 0 77 20t57 20q36 0 57-20t77-20q56 0 75 20t57 20v80q-59 0-77.5-20T748-160q-36 0-57 20t-77 20q-56 0-77-20t-57-20q-36 0-57 20t-77 20q-56 0-77-20t-57-20q-36 0-54.5 20T80-120Zm0-180v-80q38 0 57-20t75-20q56 0 77.5 20t56.5 20q36 0 57-20t77-20q56 0 77 20t57 20q36 0 57-20t77-20q56 0 75 20t57 20v80q-59 0-77.5-20T748-340q-36 0-55.5 20T614-300q-57 0-77.5-20T480-340q-38 0-56.5 20T346-300q-59 0-78.5-20T212-340q-36 0-54.5 20T80-300Zm196-204 133-133-40-40q-33-33-70-48t-91-15v-100q75 0 124 16.5t96 63.5l256 256q-17 11-33 17.5t-37 6.5q-36 0-57-20t-77-20q-56 0-77 20t-57 20q-21 0-37-6.5T276-504Zm392-336q42 0 71 29.5t29 70.5q0 42-29 71t-71 29q-42 0-71-29t-29-71q0-41 29-70.5t71-29.5Z"})))}(),store:function(e){return c.createElement("svg",iR({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),nR||(nR=c.createElement("path",{fill:"currentColor",d:"M160-720v-80h640v80H160Zm0 560v-240h-40v-80l40-200h640l40 200v80h-40v240h-80v-240H560v240H160Zm80-80h240v-160H240v160Zm-38-240h556-556Zm0 0h556l-24-120H226l-24 120Z"})))}(),train:function(e){return c.createElement("svg",oR({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),rR||(rR=c.createElement("path",{fill:"currentColor",d:"M160-340v-380q0-53 27.5-84.5t72.5-48q45-16.5 102.5-22T480-880q66 0 124.5 5.5t102 22q43.5 16.5 68.5 48t25 84.5v380q0 59-40.5 99.5T660-200l60 60v20h-80l-80-80H400l-80 80h-80v-20l60-60q-59 0-99.5-40.5T160-340Zm320-460q-106 0-155 12.5T258-760h448q-15-17-64.5-28.5T480-800ZM240-560h200v-120H240v120Zm420 80H240h480-60Zm-140-80h200v-120H520v120ZM340-320q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm280 0q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm-320 40h360q26 0 43-17t17-43v-140H240v140q0 26 17 43t43 17Zm180-480h226-448 222Z"})))}(),universal_currency_alt:function(e){return c.createElement("svg",aR({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),sR||(sR=c.createElement("path",{fill:"currentColor",d:"M160-200q-33 0-56.5-23.5T80-280v-400q0-33 23.5-56.5T160-760h640q33 0 56.5 23.5T880-680v400q0 33-23.5 56.5T800-200H160Zm0-80h640v-400H160v400Zm440-40h160v-160h-60v100H600v60Zm-120-40q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35ZM200-480h60v-100h100v-60H200v160Zm-40 200v-400 400Z"})))}(),visibility:function(e){return c.createElement("svg",cR({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),lR||(lR=c.createElement("path",{d:"M480-320q75 0 127.5-52.5T660-500q0-75-52.5-127.5T480-680q-75 0-127.5 52.5T300-500q0 75 52.5 127.5T480-320Zm0-72q-45 0-76.5-31.5T372-500q0-45 31.5-76.5T480-608q45 0 76.5 31.5T588-500q0 45-31.5 76.5T480-392Zm0 192q-146 0-266-81.5T40-500q54-137 174-218.5T480-800q146 0 266 81.5T920-500q-54 137-174 218.5T480-200Zm0-300Zm0 220q113 0 207.5-59.5T832-500q-50-101-144.5-160.5T480-720q-113 0-207.5 59.5T128-500q50 101 144.5 160.5T480-280Z"})))}(),water_drop:function(e){return c.createElement("svg",pR({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),hR||(hR=c.createElement("path",{d:"M491-200q12-1 20.5-9.5T520-230q0-14-9-22.5t-23-7.5q-41 3-87-22.5T343-375q-2-11-10.5-18t-19.5-7q-14 0-23 10.5t-6 24.5q17 91 80 130t127 35ZM480-80q-137 0-228.5-94T160-408q0-100 79.5-217.5T480-880q161 137 240.5 254.5T800-408q0 140-91.5 234T480-80Zm0-80q104 0 172-70.5T720-408q0-73-60.5-165T480-774Q361-665 300.5-573T240-408q0 107 68 177.5T480-160Zm0-320Z"})))}(),wifi:function(e){return c.createElement("svg",dR({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),uR||(uR=c.createElement("path",{d:"M480-120q-42 0-71-29t-29-71q0-42 29-71t71-29q42 0 71 29t29 71q0 42-29 71t-71 29ZM254-346l-84-86q59-59 138.5-93.5T480-560q92 0 171.5 35T790-430l-84 84q-44-44-102-69t-124-25q-66 0-124 25t-102 69ZM84-516 0-600q92-94 215-147t265-53q142 0 265 53t215 147l-84 84q-77-77-178.5-120.5T480-680q-116 0-217.5 43.5T84-516Z"})))}()};var gR;for(const e in _R){const t=_R[e];fR[e]=`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 -1260 960 1560">\n <path color="rgb(249, 119, 119)" fill="currentColor" d="m -46.278793,-739.50038 c -0.119546,-249.77515 165.728493,-515.03832 526.428923,-516.08842 392.86041,-1.1438 528.51077,269.46826 528.84707,519.24315 0.3488,259.06981 -254.78805,473.49828 -382.7069,701.499743 C 519.97666,154.64661 509.30678,296.87227 479.27479,296.44795 444.1137,295.95116 422.98296,153.89016 311.80839,-41.049369 182.8093,-267.24338 -46.156365,-483.7031 -46.278793,-739.50038 Z" style="stroke-width:2.3555"/> \n <path color="white" fill="currentColor" d="${t.props.children.props.d}" transform="scale(0.8) translate(120, -450)"/>\n </svg>`}function mR(e){e.getLayers().getArray().filter((e=>e.get("gh:pois"))).forEach((t=>e.removeLayer(t)))}const yR="popup-container",vR="sidebar-content";function bR({query:t,route:n,map:i,error:r,mapOptions:o,encodedValues:s,drawAreas:a}){var l;const[u,d]=(0,c.useState)(!0),[h,p]=(0,c.useState)(!1);return(0,e.jsxs)(e.Fragment,{children:[u?(0,e.jsx)("div",{className:$r.sidebar,children:(0,e.jsxs)("div",{className:$r.sidebarContent,id:vR,children:[(0,e.jsx)(So,{onClick:()=>d(!1),className:$r.sidebarCloseButton,children:(0,e.jsx)(_g,{})}),(0,e.jsx)(Ng,{routingProfiles:t.profiles,selectedProfile:t.routingProfile,showCustomModelBox:h,toggleCustomModelBox:()=>p(!h),customModelBoxEnabled:t.customModelEnabled}),h&&(0,e.jsx)(Hy,{customModelEnabled:t.customModelEnabled,encodedValues:s,customModelStr:t.customModelStr,queryOngoing:(null===(l=t.currentRequest.subRequests[0])||void 0===l?void 0:l.state)===Rr.SENT,drawAreas:a}),(0,e.jsx)(lg,{points:t.queryPoints,map:i}),(0,e.jsx)("div",{children:!r.isDismissed&&(0,e.jsx)(gg,{error:r})}),(0,e.jsx)(Uv,{info:n.routingResult.info,paths:n.routingResult.paths,selectedPath:n.selectedPath,currentRequest:t.currentRequest,profile:t.routingProfile.name}),(0,e.jsx)("div",{children:(0,e.jsx)(mb,{})})]})}):(0,e.jsx)("div",{className:$r.sidebarWhenClosed,onClick:()=>d(!0),children:(0,e.jsx)(So,{className:$r.sidebarOpenButton,children:(0,e.jsx)(ST,{})})}),(0,e.jsx)("div",{className:$r.popupContainer,id:yR}),(0,e.jsxs)("div",{className:$r.onMapRightSide,children:[(0,e.jsx)(To,{...o}),(0,e.jsx)(cP,{queryPoints:t.queryPoints})]}),(0,e.jsx)("div",{className:$r.map,children:(0,e.jsx)(yo,{map:i})}),(0,e.jsx)("div",{className:$r.pathDetails,children:(0,e.jsx)(Fr,{selectedPath:n.selectedPath})})]})}function xR({query:t,route:n,map:i,error:r,mapOptions:o,encodedValues:s,drawAreas:a}){return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:$r.smallScreenSidebar,children:(0,e.jsx)(Wy,{query:t,route:n,error:r,encodedValues:s,drawAreas:a,map:i})}),(0,e.jsx)("div",{className:$r.smallScreenMap,children:(0,e.jsx)(yo,{map:i})}),(0,e.jsx)("div",{className:$r.smallScreenMapOptions,children:(0,e.jsxs)("div",{className:$r.onMapRightSide,children:[(0,e.jsx)(To,{...o}),(0,e.jsx)(cP,{queryPoints:t.queryPoints})]})}),(0,e.jsx)("div",{className:$r.smallScreenRoutingResult,children:(0,e.jsx)(Uv,{info:n.routingResult.info,paths:n.routingResult.paths,selectedPath:n.selectedPath,currentRequest:t.currentRequest,profile:t.routingProfile.name})}),(0,e.jsx)("div",{className:$r.smallScreenPoweredBy,children:(0,e.jsx)(mb,{})})]})}class wR extends Cr{static getEmptyPath(){return{bbox:void 0,instructions:[],points:{coordinates:[],type:"LineString"},points_encoded:!1,points_encoded_multiplier:1e5,snapped_waypoints:{type:"LineString",coordinates:[]},ascend:0,descend:0,details:{max_speed:[],street_name:[],toll:[],road_environment:[],road_class:[],road_access:[],access_conditional:[],foot_conditional:[],bike_conditional:[],track_type:[],country:[],get_off_bike:[],mtb_rating:[],hike_rating:[]},distance:0,points_order:[],time:0,description:""}}constructor(){super(wR.getInitialState())}reduce(e,t){return t instanceof Hi?this.reduceRouteReceived(e,t):t instanceof Zi?{...e,selectedPath:t.path}:t instanceof zi||t instanceof $i||t instanceof Di||t instanceof Ni?wR.getInitialState():e}static getInitialState(){return{routingResult:{paths:[],info:{copyright:[],road_data_timestamp:"",took:0}},selectedPath:wR.getEmptyPath()}}reduceRouteReceived(e,t){return wR.containsPaths(t.result.paths)?{routingResult:t.result,selectedPath:t.result.paths[0]}:wR.getInitialState()}static containsPaths(e){return e.length>0}}class kR extends Cr{constructor(){super(kR.getInitialState())}static getInitialState(){return{version:"",bbox:[0,0,0,0],profiles:[],elevation:!1,encoded_values:[]}}reduce(e,t){return t instanceof Li?t.result:e}}class CR extends Cr{constructor(){super(CR.getInitialState())}static getInitialState(){return{isDismissed:!0,lastError:""}}reduce(e,t){return t instanceof Wi?{lastError:t.message,isDismissed:!1}:t instanceof Ki||t instanceof Hi?{...e,isDismissed:!0}:e}}const SR=br().keys.omniscale,AR=br().keys.maptiler,ER=br().keys.thunderforest,MR=br().keys.kurviger,TR='© <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors',PR=window.devicePixelRatio>1||window.matchMedia&&window.matchMedia("(-webkit-min-device-pixel-ratio: 1.5),(min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),(min-resolution: 1.5dppx)").matches,RR=PR?2:1,IR=PR?"@2x":"",LR={name:"Omniscale",type:"raster",url:["https://maps.omniscale.net/v2/"+SR+"/style.default/{z}/{x}/{y}.png"+(PR?"?hq=true":"")],attribution:TR+', © <a href="https://maps.omniscale.com/" target="_blank">Omniscale</a>',tilePixelRatio:RR},zR="/raster/styles/kurviger-liberty/{z}/{x}/{y}"+IR+".png?key="+MR,OR=[LR,{name:"OpenStreetMap",type:"raster",url:["https://tile.openstreetmap.org/{z}/{x}/{y}.png"],attribution:TR,maxZoom:19},{name:"Cyclosm",type:"raster",url:["https://a.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png","https://b.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png","https://c.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png"],attribution:TR+', © <a href="https://github.com/cyclosm/cyclosm-cartocss-style/releases" target="_blank">CyclOSM</a>',maxZoom:19},{name:"Esri Satellite",type:"raster",url:["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],attribution:'© <a href="http://www.esri.com/" target="_blank">Esri</a> i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community',maxZoom:18},{name:"MapTiler Satellite",type:"vector",url:"https://api.maptiler.com/maps/hybrid/style.json?key="+AR,attribution:TR+', © <a href="https://www.maptiler.com/copyright/" target="_blank">MapTiler</a>'},{name:"TF Transport",type:"raster",url:["https://a.tile.thunderforest.com/transport/{z}/{x}/{y}"+IR+".png?apikey="+ER,"https://b.tile.thunderforest.com/transport/{z}/{x}/{y}"+IR+".png?apikey="+ER,"https://c.tile.thunderforest.com/transport/{z}/{x}/{y}"+IR+".png?apikey="+ER],attribution:TR+', <a href="https://www.thunderforest.com/maps/transport/" target="_blank">Thunderforest Transport</a>',tilePixelRatio:RR},{name:"TF Cycle",type:"raster",url:["https://a.tile.thunderforest.com/cycle/{z}/{x}/{y}"+IR+".png?apikey="+ER,"https://b.tile.thunderforest.com/cycle/{z}/{x}/{y}"+IR+".png?apikey="+ER,"https://c.tile.thunderforest.com/cycle/{z}/{x}/{y}"+IR+".png?apikey="+ER],attribution:TR+', <a href="https://www.thunderforest.com/maps/opencyclemap/" target="_blank">Thunderforest Cycle</a>',tilePixelRatio:RR},{name:"TF Outdoors",type:"raster",url:["https://a.tile.thunderforest.com/outdoors/{z}/{x}/{y}"+IR+".png?apikey="+ER,"https://b.tile.thunderforest.com/outdoors/{z}/{x}/{y}"+IR+".png?apikey="+ER,"https://c.tile.thunderforest.com/outdoors/{z}/{x}/{y}"+IR+".png?apikey="+ER],attribution:TR+', <a href="https://www.thunderforest.com/maps/outdoors/" target="_blank">Thunderforest Outdoors</a>',tilePixelRatio:RR},{name:"Kurviger Liberty",type:"raster",url:["https://a-tiles.mapilion.com"+zR,"https://b-tiles.mapilion.com"+zR,"https://c-tiles.mapilion.com"+zR,"https://d-tiles.mapilion.com"+zR,"https://e-tiles.mapilion.com"+zR],attribution:TR+',© <a href="https://kurviger.de/" target="_blank">Kurviger</a> © <a href="https://mapilion.com/attribution" target="_blank">Mapilion</a> <a href="http://www.openmaptiles.org/" target="_blank">© OpenMapTiles</a>',maxZoom:22,tilePixelRatio:RR},{name:"Mapilion",type:"vector",url:"https://tiles.mapilion.com/assets/osm-bright/style.json?key="+MR,attribution:TR+', © <a href="https://mapilion.com/attribution" target="_blank">Mapilion</a> <a href="http://www.openmaptiles.org/" target="_blank">© OpenMapTiles</a>'},{name:"Lyrk",type:"raster",url:["https://tiles.lyrk.org/lr/{z}/{x}/{y}?apikey=6e8cfef737a140e2a58c8122aaa26077"],attribution:TR+', <a href="https://geodienste.lyrk.de/">Lyrk</a>',maxZoom:15},{name:"WanderReitKarte",type:"raster",url:["https://topo.wanderreitkarte.de/topo/{z}/{x}/{y}.png","https://topo2.wanderreitkarte.de/topo/{z}/{x}/{y}.png","https://topo3.wanderreitkarte.de/topo/{z}/{x}/{y}.png","https://topo4.wanderreitkarte.de/topo/{z}/{x}/{y}.png"],attribution:TR+', <a href="https://wanderreitkarte.de" target="_blank">WanderReitKarte</a>',maxZoom:18}];class FR extends Cr{constructor(){super(FR.getInitialState())}static getInitialState(){const e=OR.find((e=>e.name===br().defaultTiles));return e||console.warn(`Could not find tile layer specified in config: '${br().defaultTiles}', using default instead`),{selectedStyle:e||LR,styleOptions:OR,routingGraphEnabled:!1,urbanDensityEnabled:!1,externalMVTEnabled:!1,isMapLoaded:!1}}reduce(e,t){if(t instanceof Xi){const n=e.styleOptions.find((e=>e.name===t.layer));if(n)return{...e,selectedStyle:n}}else{if(t instanceof Yi)return{...e,routingGraphEnabled:t.routingGraphEnabled};if(t instanceof Qi)return{...e,urbanDensityEnabled:t.urbanDensityEnabled};if(t instanceof Ji)return{...e,externalMVTEnabled:t.externalMVTLayerEnabled};if(t instanceof er)return{...e,isMapLoaded:!0}}return e}}class jR extends Cr{constructor(){super(jR.getInitialState())}static getInitialState(){return{pathDetailsPoint:null,pathDetailBbox:void 0,pathDetailsHighlightedSegments:[]}}reduce(e,t){return t instanceof ir?{...e,pathDetailsPoint:t.pathDetailsPoint}:t instanceof rr?{...e,pathDetailBbox:t.bbox?t.bbox:void 0}:t instanceof or?{...e,pathDetailsHighlightedSegments:t.segments}:e}}const DR=window;class NR{constructor(e,t){this.ignoreStateUpdates=!1,this.queryStore=e,this.mapStore=t,DR.addEventListener("popstate",(async()=>await this.updateStateFromUrl()))}async startSyncingUrlWithAppState(){DR.history.replaceState(null,"",this.createUrlFromState()),this.queryStore.register((()=>this.updateUrlFromState())),this.mapStore.register((()=>this.updateUrlFromState()))}static createUrl(e,t,n){const i=new URL(e);return t.queryPoints.filter((e=>e.isInitialized)).length>0&&t.queryPoints.map((e=>e.isInitialized?NR.pointToParam(e):"")).forEach((e=>i.searchParams.append("point",e))),i.searchParams.append("profile",t.routingProfile.name),i.searchParams.append("layer",n.selectedStyle.name),t.customModelEnabled&&i.searchParams.append("custom_model",t.customModelStr.replace(/\s+/g,"")),i}static pointToParam(e){const t=mr(e.coordinate);return t===e.queryText?t:t+"_"+e.queryText}static parsePoints(e){return e.searchParams.getAll("point").map(((e,t)=>{const n=e.split("_"),i={coordinate:{lat:0,lng:0},isInitialized:!1,id:t,queryText:e,color:"",type:Pr.Via};if(n.length>=1)try{i.coordinate=NR.parseCoordinate(n[0]),Number.isNaN(i.coordinate.lat)||Number.isNaN(i.coordinate.lng)||(i.queryText=n.length>=2?n[1]:mr(i.coordinate),i.isInitialized=!0)}catch(e){}return i}))}static parseCoordinate(e){const t=e.split(",");if(2!==t.length)throw Error('Could not parse coordinate with value: "'+e[0]+'"');return{lat:Number.parseFloat(t[0]),lng:Number.parseFloat(t[1])}}static parseProfile(e){return e.searchParams.has("profile")?e.searchParams.get("profile"):e.searchParams.has("vehicle")?e.searchParams.get("vehicle"):""}static parseLayer(e){return e.searchParams.get("layer")}async updateStateFromUrl(){this.ignoreStateUpdates=!0,Ii.dispatch(new Di);const e=new URL(DR.location.href),t=NR.parseProfile(e);t&&Ii.dispatch(new Oi({name:t}));const n=NR.parsePoints(e);if(n.some((e=>!e.isInitialized&&e.queryText.length>0))){const e=n.map((e=>{if(e.isInitialized)return Promise.resolve(e);const t=cl.parse(e.queryText,!1);return t.hasPOIs()&&t.location?wr().geocode(t.location,"nominatim").then((n=>(0==n.hits.length||wr().reverseGeocode(t.query,n.hits[0].extent).then((e=>cl.handleGeocodingResponse(e,t))),e))):wr().geocode(e.queryText,"nominatim").then((t=>0==t.hits.length?e:{...e,queryText:t.hits[0].name,coordinate:{lat:t.hits[0].point.lat,lng:t.hits[0].point.lng},isInitialized:!0})).catch((()=>e))})),t=await Promise.all(e);NR.dispatchQueryPoints(t)}else NR.dispatchQueryPoints(n);const i=NR.parseLayer(e);i&&Ii.dispatch(new Xi(i)),this.ignoreStateUpdates=!1}static dispatchQueryPoints(e){const t=e.filter((e=>e.isInitialized)),n=1==t.length?Tr(t[0].coordinate):kr.getBBoxPoints(t.map((e=>e.coordinate)));return n&&Ii.dispatch(new nr(n)),Ii.dispatch(new ji(e))}updateUrlFromState(){if(this.ignoreStateUpdates)return;const e=this.createUrlFromState();e!==DR.location.href&&DR.history.pushState(null,"",e)}createUrlFromState(){return NR.createUrl(DR.location.origin+DR.location.pathname,this.queryStore.state,this.mapStore.state).toString()}}function qR(e,t,n,i){const r=Ua([t[0],t[1]]),o=Ua([t[2],t[3]]);e.getView().fit([r[0],r[1],o[0],o[1]],{size:i||e.getSize(),padding:n?[200,16,32,16]:[100,100,200,500]})}console.log("Source code: https://github.com/graphhopper/graphhopper-maps/tree/0c925138828eeffeb4b9dbcc8f3a6868da30bbfd");const BR=new URL(window.location.href);var GR;!function(e,t=!1){if(o&&!t)throw new Error("translation already initialized");e=e.toLowerCase().replace("-","_");const n=i;let a=Object.keys(n).find((t=>e==t||e==s(t)));if(!a){const t=e.length>2?e.substring(0,2):e;a=Object.keys(n).find((e=>t==s(e))),a||(a="en_US",console.warn("cannot find language "+e+" fallback to "+a))}o=new r(a,n[a],n.en_US)}(BR.searchParams.get("locale")||navigator.language),GR=new Intl.NumberFormat(navigator.language,{maximumFractionDigits:1}),hr=GR,cl.setPOITriggerPhrases(a());const VR=BR.searchParams.has("key")?BR.searchParams.get("key"):vr.keys.graphhopper;!function(e,t,n){xr=new kr(e,t,n)}(vr.routingApi,vr.geocodingApi,VR||"");const HR=BR.searchParams.get("custom_model"),WR=new Ir(wr(),HR),UR=new wR;var $R;$R={settingsStore:new class extends Cr{constructor(){super(zr)}reduce(e,t){if(t instanceof Gi){if(!t.enabled&&e.drawAreasEnabled)return{...e,drawAreasEnabled:!1}}else if(t instanceof lr)return{...e,...t.updatedSettings};return e}},queryStore:WR,routeStore:UR,infoStore:new kR,errorStore:new CR,mapOptionsStore:new FR,pathDetailsStore:new jR,mapFeatureStore:new class extends Cr{constructor(){super({roadAttributesCoordinate:null,roadAttributes:{},instructionCoordinate:null,instructionText:""})}reduce(e,t){return t instanceof sr?{...e,roadAttributesCoordinate:t.point,roadAttributes:t.properties}:t instanceof ar?{...e,instructionCoordinate:t.coordinate,instructionText:t.text}:e}},poisStore:new class extends Cr{constructor(){super({pois:[],selected:null})}reduce(e,t){return t instanceof ur?{pois:t.pois,selected:null}:t instanceof cr?{...e,selected:t.selected}:e}}},Zr=$R.settingsStore,Kr=$R.queryStore,Xr=$R.routeStore,Yr=$R.infoStore,Qr=$R.errorStore,Jr=$R.mapOptionsStore,eo=$R.pathDetailsStore,to=$R.mapFeatureStore,no=$R.poisStore,q_=new N_({view:new Iu({enableRotation:!1,multiWorld:!1,constrainResolution:!0,center:Ua([10,10]),zoom:2}),controls:t_({zoom:!0,zoomOptions:{className:mo.customZoom},attribution:!0,attributionOptions:{className:mo.customAttribution,collapsible:!1}})}),q_.once("postrender",(()=>{Ii.dispatch(new er)})),Ii.register(io()),Ii.register(ro()),Ii.register(oo()),Ii.register(so()),Ii.register(ao()),Ii.register(lo()),Ii.register(co()),Ii.register(uo()),Ii.register(ho());const ZR=window.matchMedia("(max-width: 44rem)"),KR=new class{constructor(e,t,n){this.map=e,this.routeStore=t,this.isSmallScreenQuery=n}receive(e){const t=this.isSmallScreenQuery();if(e instanceof nr)qR(this.map,e.bbox,t,[window.innerWidth,window.innerHeight]);else if(e instanceof tr){let t=this.map.getView().getZoom();(null==t||t<8)&&(t=8),this.map.getView().animate({zoom:t,center:Ua([e.coordinate.lng,e.coordinate.lat]),duration:400})}else if(e instanceof Hi){const n=e.result.paths[0].bbox,i=[n[0],n[1],n[2],n[3]];e.request.points.forEach((e=>{i[0]=Math.min(e[0],i[0]),i[1]=Math.min(e[1],i[1]),i[2]=Math.max(e[0],i[2]),i[3]=Math.max(e[1],i[3])})),i[2]-i[0]<.001&&(i[0]-=5e-4,i[2]+=5e-4),i[3]-i[1]<.001&&(i[1]-=5e-4,i[3]+=5e-4),e.zoom&&qR(this.map,i,t)}else if(e instanceof Zi)qR(this.map,e.path.bbox,t);else if(e instanceof rr){const n=e.bbox?e.bbox:this.routeStore.state.selectedPath.bbox;n&&qR(this.map,n,t)}else e instanceof Li&&("[-180,-90,180,90]"===JSON.stringify(e.result.bbox)||qR(this.map,e.result.bbox,t))}}(B_(),UR,(()=>ZR.matches));Ii.register(KR);const XR=new NR(ro(),lo());wr().info().then((e=>{Ii.dispatch(new Li(e)),XR.updateStateFromUrl().then((()=>XR.startSyncingUrlWithAppState()))})).catch((e=>Ii.dispatch(new Wi(e.message))));const YR=document.createElement("div");YR.id="root",YR.style.height="100%",document.body.appendChild(YR),(0,t.H)(YR).render((0,e.jsx)((function(){const[t,n]=(0,c.useState)(io().state),[i,r]=(0,c.useState)(ro().state),[o,s]=(0,c.useState)(so().state),[a,l]=(0,c.useState)(oo().state),[u,d]=(0,c.useState)(ao().state),[h,p]=(0,c.useState)(lo().state),[f,_]=(0,c.useState)(co().state),[g,m]=(0,c.useState)(uo().state),[y,v]=(0,c.useState)(ho().state),b=B_();(0,c.useEffect)((()=>{const e=()=>n(io().state),t=()=>r(ro().state),i=()=>s(so().state),o=()=>l(oo().state),a=()=>d(ao().state),c=()=>p(lo().state),u=()=>_(co().state),h=()=>m(uo().state),f=()=>v(ho().state);return io().register(e),ro().register(t),so().register(i),oo().register(o),ao().register(a),lo().register(c),co().register(u),uo().register(h),ho().register(f),t(),i(),o(),a(),c(),u(),h(),f(),()=>{io().register(e),ro().deregister(t),so().deregister(i),oo().deregister(o),ao().deregister(a),lo().deregister(c),co().deregister(u),uo().deregister(h),ho().deregister(f)}}),[]),function(e,t){(0,c.useEffect)((()=>(vM(e),function(e,t){if("vector"===t.type)!function(e,t,n={}){let i,r;if(r="string"==typeof e||e instanceof HTMLElement?new N_({target:e}):e,"string"==typeof t){const e=t.startsWith("data:")?location.href:pE(t,n.accessToken);n=aM(e,n),i=new Promise((function(i,o){EE(t,n).then((function(t){mM(t,r,e,n).then((function(){i(r)})).catch(o)})).catch((function(e){o(new Error(`Could not load ${t}: ${e.message}`))}))}))}else i=new Promise((function(e,i){mM(t,r,!n.styleUrl||n.styleUrl.startsWith("data:")?location.href:pE(n.styleUrl,n.accessToken),n).then((function(){e(r)})).catch(i)}))}(e,t.url);else{const n=t,i=new tx({source:new kx({urls:n.url,maxZoom:n.maxZoom,attributions:[n.attribution],tilePixelRatio:n.tilePixelRatio})});i.set("background-raster-layer",!0),e.addLayer(i)}}(e,t),function(e){e.on("pointermove",(function(t){const n=e.getFeaturesAtPixel(t.pixel).some((e=>e instanceof vb));e.getTargetElement().style.cursor=n?"pointer":"default"}))}(e),()=>{vM(e)})),[e,t])}(b,h.selectedStyle),function(e,t){(0,c.useEffect)((()=>{const n=new jk({declutter:!0,source:new qk({attributions:"",format:new xw({featureClass:Tx}),url:vr.externalMVTLayer?vr.externalMVTLayer.url:"",maxZoom:vr.externalMVTLayer?vr.externalMVTLayer.maxZoom:14}),renderMode:"vector",zIndex:.6,style:e=>function(e){const t=vr.externalMVTLayer.styles[e.get("layer")];return t?new Eh({stroke:new xh({color:[...t.color,1],width:t.width}),fill:new vh({color:[...t.color,.3]})}):void 0}(e)}),i=new Lk,r=new Ck({source:i,zIndex:.7,style:e=>{const t=vr.externalMVTLayer.styles[e.get("layer")];return new Eh({stroke:new xh({color:[252,144,175],width:1.2*t.width})})}}),o=t=>{i.clear();const r=e.getFeaturesAtPixel(t.pixel,{layerFilter:e=>e===n,hitTolerance:5});if(r.length>0){i.addFeatures(r);const e=$a(t.coordinate),n=r[0].getProperties();Ii.dispatch(new sr({lat:e[1],lng:e[0]},n))}else Ii.dispatch(new sr(null,{}))};return e.removeLayer(n),e.removeLayer(r),t&&(e.addLayer(n),e.addLayer(r),e.on("pointermove",o)),()=>{e.un("pointermove",o),e.removeLayer(n),e.removeLayer(r)}}),[e,t])}(b,h.externalMVTEnabled),function(e,t){(0,c.useEffect)((()=>(cT(e),"[-180,-90,180,90]"!==JSON.stringify(t)&&function(e,t){const n=new Ck({source:new Lk({features:(new Qx).readFeatures({type:"Feature",geometry:{type:"LineString",coordinates:[[t[0],t[1]],[t[0],t[3]],[t[2],t[3]],[t[2],t[1]],[t[0],t[1]]].map((e=>Ua(e)))}})}),style:new Eh({stroke:new xh({color:"#AAAAAA",width:2})})});n.set(lT,!0),n.setZIndex(.1),e.addLayer(n)}(e,t),()=>{cT(e)})),[e,t])}(b,o.bbox),function(e,t,n,i){const r=(0,c.useRef)(n);(0,c.useEffect)((()=>(ZT(e),r.current=n,function(e,t,n){let i=UT(n.current);if(null==i)return;const r=new Eh({stroke:new xh({color:"#F97777",width:3}),fill:new vh({color:"rgba(229,229,229,0.5)"})}),o=function(e){try{return new Qx({featureProjection:"EPSG:3857"}).readFeatures(e)}catch(e){return null}}(null==i?void 0:i.areas),s=new Lk({features:o||[]}),a=new Ck({source:s,style:r});if(a.set(WT,!0),a.setZIndex(1),e.addLayer(a),!t)return void function(e){e.getInteractions().getArray().forEach((e=>{"gh:areas"==e.get("source")&&(e instanceof qT||e instanceof MM||e instanceof HT||e instanceof OM)&&e.setActive(!1)}))}(e);const l=new MM({source:s});l.set("source","gh:areas"),e.addInteraction(l),l.on("modifyend",(e=>{const t=UT(n.current);if(null==t)return;e.features.getArray().forEach((e=>{const n=$T(e);n.id=e.getId(),t.areas.features=t.areas.features.map((t=>t.id==e.getId()?n:t))}));const i=JSON.stringify(t,null,2);Ii.dispatch(new Vi(i,!0))}));const c=new qT({source:s,type:"Polygon"});c.set("source","gh:areas"),e.addInteraction(c),c.on("drawend",(e=>{var t;if(!e.feature)return;const i=UT(n.current);if(null==i)return;let r=0;if(null===(t=i.areas)||void 0===t?void 0:t.features){const e=i.areas.features.map((e=>e.id?parseInt(e.id.match(/\d+/)[0]):0));e.length>0&&(r=Math.max(...e))}else i.areas={type:"FeatureCollection",features:[]};const o=$T(e.feature);o.id="area"+(r+1),i.areas.features.push(o),i.priority.push({if:"in_"+o.id,multiply_by:"0"});const s=JSON.stringify(i,null,2);return Ii.dispatch(new Vi(s,!0)),!1}));const u=new HT({source:s});u.set("source","gh:areas"),e.addInteraction(u)}(e,t,r),()=>{ZT(e)})),[e,t,i,n])}(b,t.drawAreasEnabled,i.customModelStr,i.customModelEnabled),function(e,t){(0,c.useEffect)((()=>{const n=new jk({declutter:!0,source:new qk({attributions:"",format:new xw,url:`${vr.routingApi}mvt/{z}/{x}/{y}.mvt`}),zIndex:.5,style:(t,n)=>function(e,t){if("roads"===e.get("layer")){const n=e.get("road_class");let i="#aaa5a7",r=1;return"motorway"===n?(i="#dd504b",r=3):"primary"===n||"trunk"===n?(i="#e2a012",r=2):"secondary"===n&&(i="#f7c913",r=2),t>16?r+=3:t>15?r+=2:t>13&&(r+=1),new Eh({stroke:new xh({color:i,width:r})})}}(t,e.getView().getZoomForResolution(n))}),i=new jk({renderMode:"vector",source:n.getSource(),zIndex:.6}),r=t=>{const r=e.getFeaturesAtPixel(t.pixel,{layerFilter:e=>e===n,hitTolerance:5});if(r.length>0){const e=$a(t.coordinate),n=r[0].getProperties();i.setStyle((e=>{if(n.edge_id&&e.getProperties().edge_id===n.edge_id)return new Eh({stroke:new xh({color:"red",width:5})})})),Ii.dispatch(new sr({lat:e[1],lng:e[0]},n))}else i.setStyle((()=>{})),Ii.dispatch(new sr(null,{}))};return e.removeLayer(n),e.removeLayer(i),t&&(e.addLayer(n),e.addLayer(i),e.on("pointermove",r)),()=>{Ii.dispatch(new sr(null,{})),e.un("pointermove",r),e.removeLayer(n),e.removeLayer(i)}}),[e,t])}(b,h.routingGraphEnabled),function(e,t){(0,c.useEffect)((()=>(aT(e),t&&function(e){const t=new jk({declutter:!0,source:new qk({attributions:"",format:new xw,url:`${vr.routingApi}mvt/{z}/{x}/{y}.mvt?render_all=true`}),style:e=>function(e){if("roads"===e.get("layer")){const t=e.get("urban_density");let n="#0aaff1";return"residential"===t?n="#fd084a":"city"===t&&(n="#edf259"),new Eh({stroke:new xh({color:n,width:2})})}}(e)});t.set(sT,!0),t.setZIndex(.6),e.addLayer(t)}(e),()=>{aT(e)})),[e,t])}(b,h.urbanDensityEnabled),function(e,t,n,i){(0,c.useEffect)((()=>(NM(e),function(e,t){const n=[new Eh({stroke:new xh({color:"rgba(39,93,173,1)",width:6})}),new Eh({stroke:new xh({color:"rgba(201,217,241,0.8)",width:4})})],i=new Ck({source:new Lk({features:t.map(((e,t)=>{var n;const i=new vb({index:t});return(null===(n=e.points)||void 0===n?void 0:n.coordinates)&&i.setGeometry(new Lx(e.points.coordinates.map((e=>Ua(e))))),i}))}),style:n,opacity:.7,zIndex:1});i.set(FM,!0),e.addLayer(i),function(e){e.getInteractions().getArray().filter((e=>e.get("gh:select_path_interaction"))).forEach((t=>e.removeInteraction(t)))}(e);const r=new OM({condition:h_,layers:[i],style:null,hitTolerance:5});r.on("select",(e=>{const n=e.selected[0].getProperties().index;Ii.dispatch(new Zi(t[n]))})),r.set("gh:select_path_interaction",!0),e.addInteraction(r)}(e,t.filter((e=>e!=n))),function(e,t){const n=[new Eh({stroke:new xh({color:"rgba(255,255,255,1)",width:9})}),new Eh({stroke:new xh({color:"rgb(49,104,187)",width:7})})],i=new Ck({source:new Lk({features:[new vb(new Lx(t.points.coordinates.map((e=>Ua(e)))))]}),style:n,opacity:.8,zIndex:2});i.set(jM,!0),e.addLayer(i)}(e,n),function(e,t,n){var i;const r=new Eh({stroke:new xh({color:"#275DAD",width:4,lineDash:[1,10],lineCap:"round",lineJoin:"round"})}),o=new Ck({source:new Lk});o.setStyle(r);for(let e=0;e<t.snapped_waypoints.coordinates.length;e++){const r=Ua([n[e].coordinate.lng,n[e].coordinate.lat]),s=Ua(t.snapped_waypoints.coordinates[e]);null===(i=o.getSource())||void 0===i||i.addFeature(new vb(qM(r,s)))}o.set(DM,!0),o.setZIndex(1),e.addLayer(o)}(e,n,i),()=>{NM(e)})),[e,t,n])}(b,a.routingResult.paths,a.selectedPath,i.queryPoints),function(e,t){(0,c.useEffect)((()=>{PM(e);const n=function(e,t){const n=t.map(((e,t)=>({index:t,point:e}))).filter((e=>e.point.isInitialized)).map(((e,t)=>{const n=new vb({geometry:new lu(Ua([e.point.coordinate.lng,e.point.coordinate.lat]))});return n.set("gh:query_point",e.point),n.set("gh:marker_props",{color:e.point.color,number:e.point.type==Pr.Via?t:void 0,size:35}),n})),i=new Ck({source:new Lk({features:n})});i.set("gh:query_points",!0),i.setZIndex(3);const r={};return i.setStyle((e=>{const t=e.get("gh:marker_props"),n=t.number+"-"+t.color+"-"+t.size;let i=r[n];return i||(i=new Eh({image:new Ph({src:"data:image/svg+xml;utf8,"+TM(t),displacement:[0,17.5]})}),r[n]=i,i)})),e.addLayer(i),i}(e,t);return RM(e),function(e,t){let n=t.getSource();if(null==n)throw new Error("source must not be null");const i=new MM({hitDetection:t,source:n,style:[]});i.on("modifystart",(t=>{e.getViewport().style.cursor="grabbing"})),i.on("modifyend",(t=>{e.getViewport().style.cursor="default";const n=t.features.getArray()[0],i=n.get("gh:query_point"),r=$a(n.getGeometry().getCoordinates()),o={lng:r[0],lat:r[1]};Ii.dispatch(new zi({...i,coordinate:o,queryText:mr(o)},!1))})),i.set("gh:drag_query_point",!0),e.addInteraction(i)}(e,n),()=>{PM(e),RM(e)}}),[e,t])}(b,i.queryPoints),function(e,t){(0,c.useEffect)((()=>(rT(e),function(e,t){const n=new Eh({stroke:new xh({color:"red",width:4,lineCap:"round",lineJoin:"round"})}),i=new Ck({source:new Lk({features:(new Qx).readFeatures(oT(t.pathDetailsHighlightedSegments))}),style:()=>n});i.set(iT,!0),i.setZIndex(3),e.addLayer(i)}(e,t),()=>{rT(e)})),[e,t])}(b,f),function(e,t){(0,c.useEffect)((()=>{mR(e);let n=null;return function(e,t){if(0==t.length)return!1;const n=t.map(((e,t)=>{const n=new vb({geometry:new lu(Ua([e.coordinate.lng,e.coordinate.lat]))});return n.set("gh:marker_props",{icon:e.icon,poi:e}),n})),i=new Ck({source:new Lk({features:n})});i.set("gh:pois",!0);const r={};return i.setStyle((e=>{const t=e.get("gh:marker_props");let n=r[t.icon];return n||(n=new Eh({image:new Ph({src:"data:image/svg+xml;utf8,"+fR[t.icon],displacement:[0,18]})}),r[t.icon]=n,n)})),e.addLayer(i),!0}(e,t.pois)&&(n=function(e){const t=new OM;return e.addInteraction(t),t.on("select",(e=>{const t=e.selected;if(t.length>0){const e=t[0],n=e.get("gh:marker_props");e.setStyle(new Eh({zIndex:2,image:new Ph({scale:[1.4,1.4],src:"data:image/svg+xml;utf8,"+fR[n.icon],displacement:[0,18]})})),Ii.dispatch(new cr(n.poi))}else Ii.dispatch(new cr(null))})),t}(e)),()=>{mR(e),n&&e.removeInteraction(n)}}),[e,t.pois])}(b,y);const x=(0,_s.useMediaQuery)({query:"(max-width: 44rem)"});return(0,e.jsx)(Or.Provider,{value:t,children:(0,e.jsxs)("div",{className:$r.appWrapper,children:[(0,e.jsx)(wT,{map:b,pathDetails:f,mapFeatures:g,poiState:y,query:i}),(0,e.jsx)(tT,{map:b,route:a,queryPoints:i.queryPoints}),x?(0,e.jsx)(xR,{query:i,route:a,map:b,mapOptions:h,error:u,encodedValues:o.encoded_values,drawAreas:t.drawAreasEnabled}):(0,e.jsx)(bR,{query:i,route:a,map:b,mapOptions:h,error:u,encodedValues:o.encoded_values,drawAreas:t.drawAreasEnabled})]})})}),{}))})()})();
|